@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.
Files changed (238) hide show
  1. package/esm/AttributeFilter/AttributeFilterDefaultComponents.d.ts.map +1 -1
  2. package/esm/AttributeFilter/Components/Addons/AttributeDatasetInfo.js +1 -3
  3. package/esm/AttributeFilter/Components/Addons/AttributeFilterConfigurationButton.js +1 -3
  4. package/esm/AttributeFilter/Components/Addons/AttributeFilterDeleteButton.js +1 -3
  5. package/esm/AttributeFilter/Components/Addons/AttributeFilterDependencyTooltip.js +1 -3
  6. package/esm/AttributeFilter/Components/Addons/hooks/useAutoOpenAttributeFilterDropdownButton.d.ts.map +1 -1
  7. package/esm/AttributeFilter/Components/Addons/hooks/useOnCloseAttributeFilterDropdownButton.d.ts.map +1 -1
  8. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.js +2 -16
  9. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.js +1 -4
  10. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.js +1 -2
  11. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.js +1 -4
  12. package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterButtonErrorTooltip.js +1 -2
  13. package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterButtonTooltip.js +1 -3
  14. package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterSimpleDropdownButton.js +1 -4
  15. package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItem.js +2 -8
  16. package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.js +1 -3
  17. package/esm/AttributeFilter/Components/ElementsSelect/EmptyResult/AttributeFilterEmptyFilteredResult.js +5 -15
  18. package/esm/AttributeFilter/Components/ElementsSelect/SingleSelectionAttributeFilterElementsSelectItem.js +1 -4
  19. package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterFilteredStatus.js +2 -6
  20. package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterIrrelevantSelectionStatus.js +2 -4
  21. package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterShowFilteredElements.js +2 -6
  22. package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterStatusBar.js +2 -4
  23. package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/SingleSelectionAttributeFilterStatusBar.js +1 -2
  24. package/esm/AttributeFilter/Components/FilterMenu/FilterMenuDropdownBody.js +2 -6
  25. package/esm/AttributeFilter/Components/FilterMenu/FilterMenuSectionHeader.js +1 -2
  26. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.js +3 -6
  27. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.js +4 -11
  28. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.js +1 -5
  29. package/esm/AttributeFilter/Components/TextFilterBody/useArbitraryValuesInput.d.ts +3 -3
  30. package/esm/AttributeFilter/Components/TextFilterBody/useArbitraryValuesInput.d.ts.map +1 -1
  31. package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.d.ts.map +1 -1
  32. package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.d.ts.map +1 -1
  33. package/esm/AttributeFilter/Context/AttributeFilterContext.d.ts.map +1 -1
  34. package/esm/AttributeFilter/hooks/useAttributeFilterController.d.ts.map +1 -1
  35. package/esm/AttributeFilter/hooks/useAttributeFilterHandler.d.ts.map +1 -1
  36. package/esm/AttributeFilter/hooks/useAttributeFilterHandlerState.d.ts.map +1 -1
  37. package/esm/AttributeFilter/hooks/useAttributeFilterSearch.d.ts.map +1 -1
  38. package/esm/AttributeFilter/hooks/useResolveDependentDateFiltersInput.d.ts +1 -1
  39. package/esm/AttributeFilter/hooks/useResolveDependentDateFiltersInput.d.ts.map +1 -1
  40. package/esm/AttributeFilter/hooks/useResolveFilterInput.d.ts +1 -1
  41. package/esm/AttributeFilter/hooks/useResolveFilterInput.d.ts.map +1 -1
  42. package/esm/AttributeFilter/hooks/useResolveParentFiltersInput.d.ts +1 -1
  43. package/esm/AttributeFilter/hooks/useResolveParentFiltersInput.d.ts.map +1 -1
  44. package/esm/AttributeFilter/utils.d.ts.map +1 -1
  45. package/esm/AttributeFilterHandler/AttributeFilterHandler.test.helpers.d.ts +4 -4
  46. package/esm/AttributeFilterHandler/AttributeFilterHandler.test.helpers.d.ts.map +1 -1
  47. package/esm/AttributeFilterHandler/internal/bridge.d.ts +13 -13
  48. package/esm/AttributeFilterHandler/internal/bridge.d.ts.map +1 -1
  49. package/esm/AttributeFilterHandler/internal/callbacks.d.ts +32 -32
  50. package/esm/AttributeFilterHandler/internal/callbacks.d.ts.map +1 -1
  51. package/esm/AttributeFilterHandler/internal/loader.d.ts +11 -11
  52. package/esm/AttributeFilterHandler/internal/loader.d.ts.map +1 -1
  53. package/esm/AttributeFilterHandler/internal/multiSelectHandler.d.ts.map +1 -1
  54. package/esm/AttributeFilterHandler/internal/redux/common/selectors.d.ts.map +1 -1
  55. package/esm/AttributeFilterHandler/internal/redux/displayForms/displayFormsReducers.d.ts +4 -3
  56. package/esm/AttributeFilterHandler/internal/redux/displayForms/displayFormsReducers.d.ts.map +1 -1
  57. package/esm/AttributeFilterHandler/internal/redux/elements/elementsReducers.d.ts +8 -7
  58. package/esm/AttributeFilterHandler/internal/redux/elements/elementsReducers.d.ts.map +1 -1
  59. package/esm/AttributeFilterHandler/internal/redux/elements/elementsSelectors.d.ts.map +1 -1
  60. package/esm/AttributeFilterHandler/internal/redux/elements/loadElementsFromBackend.d.ts.map +1 -1
  61. package/esm/AttributeFilterHandler/internal/redux/init/initReducers.d.ts +8 -7
  62. package/esm/AttributeFilterHandler/internal/redux/init/initReducers.d.ts.map +1 -1
  63. package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeByDisplayForm.d.ts.map +1 -1
  64. package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeByDisplayForm.js +30 -2
  65. package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeReducers.d.ts +6 -5
  66. package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeReducers.d.ts.map +1 -1
  67. package/esm/AttributeFilterHandler/internal/redux/loadCustomElements/loadCustomElementsReducers.d.ts +7 -6
  68. package/esm/AttributeFilterHandler/internal/redux/loadCustomElements/loadCustomElementsReducers.d.ts.map +1 -1
  69. package/esm/AttributeFilterHandler/internal/redux/loadInitialElementsPage/loadInitialElementsPageReducers.d.ts +6 -5
  70. package/esm/AttributeFilterHandler/internal/redux/loadInitialElementsPage/loadInitialElementsPageReducers.d.ts.map +1 -1
  71. package/esm/AttributeFilterHandler/internal/redux/loadIrrelevantElements/loadIrrelevantElementsReducers.d.ts +7 -6
  72. package/esm/AttributeFilterHandler/internal/redux/loadIrrelevantElements/loadIrrelevantElementsReducers.d.ts.map +1 -1
  73. package/esm/AttributeFilterHandler/internal/redux/loadNextElementsPage/loadNextElementsPageReducers.d.ts +6 -5
  74. package/esm/AttributeFilterHandler/internal/redux/loadNextElementsPage/loadNextElementsPageReducers.d.ts.map +1 -1
  75. package/esm/AttributeFilterHandler/internal/redux/selection/selectionReducers.d.ts +2 -2
  76. package/esm/AttributeFilterHandler/internal/redux/selection/selectionReducers.d.ts.map +1 -1
  77. package/esm/AttributeFilterHandler/internal/redux/store/rootReducers.d.ts +46 -46
  78. package/esm/AttributeFilterHandler/internal/redux/store/slice.d.ts +46 -46
  79. package/esm/AttributeFilterHandler/internal/singleSelectHandler.d.ts.map +1 -1
  80. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts +29 -2
  81. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts.map +1 -1
  82. package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.js +38 -5
  83. package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts +17 -1
  84. package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts.map +1 -1
  85. package/esm/DateFilter/AbsoluteDateFilterForm/conversions.js +17 -1
  86. package/esm/DateFilter/CheckboxSection/CheckboxSection.js +2 -6
  87. package/esm/DateFilter/DateFilter.d.ts +10 -0
  88. package/esm/DateFilter/DateFilter.d.ts.map +1 -1
  89. package/esm/DateFilter/DateFilter.js +2 -2
  90. package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts +1 -0
  91. package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts.map +1 -1
  92. package/esm/DateFilter/DateFilterBody/DateFilterBody.js +50 -30
  93. package/esm/DateFilter/DateFilterBody/DateFilterBodyContentFiltered.js +1 -3
  94. package/esm/DateFilter/DateFilterBody/DateFilterConfigurationButton.js +1 -3
  95. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts +3 -1
  96. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts.map +1 -1
  97. package/esm/DateFilter/DateFilterBody/DateFilterFormContent.js +4 -5
  98. package/esm/DateFilter/DateFilterBody/DateFilterFormNavigationWrapper.js +1 -2
  99. package/esm/DateFilter/DateFilterBody/DateFilterHeader.js +1 -3
  100. package/esm/DateFilter/DateFilterBody/EditModeMessage.js +2 -4
  101. package/esm/DateFilter/DateFilterBody/RelativePresetFilterItems.js +1 -2
  102. package/esm/DateFilter/DateFilterButton/DateFilterButton.js +1 -5
  103. package/esm/DateFilter/DateFilterCore.d.ts +1 -0
  104. package/esm/DateFilter/DateFilterCore.d.ts.map +1 -1
  105. package/esm/DateFilter/DateFilterCore.js +1 -4
  106. package/esm/DateFilter/DateFilterTextLocalized/DateFilterTextLocalized.d.ts +2 -2
  107. package/esm/DateFilter/DateFilterTextLocalized/DateFilterTextLocalized.d.ts.map +1 -1
  108. package/esm/DateFilter/DateRangePicker/DateInput.js +3 -7
  109. package/esm/DateFilter/DateRangePicker/DatePicker.d.ts +5 -5
  110. package/esm/DateFilter/DateRangePicker/DatePicker.d.ts.map +1 -1
  111. package/esm/DateFilter/DateRangePicker/DatePicker.js +1 -30
  112. package/esm/DateFilter/DateRangePicker/DateRangeHint.js +1 -2
  113. package/esm/DateFilter/DateRangePicker/DateRangePicker.js +2 -4
  114. package/esm/DateFilter/DateRangePicker/DateRangePickerInputFieldBody.js +1 -3
  115. package/esm/DateFilter/DateRangePicker/DateTimePicker.js +1 -2
  116. package/esm/DateFilter/DateRangePicker/TimeInput.js +2 -6
  117. package/esm/DateFilter/DateRangePicker/utils.d.ts.map +1 -1
  118. package/esm/DateFilter/DynamicSelect/DynamicSelect.js +1 -2
  119. package/esm/DateFilter/DynamicSelect/RelativeRangeDynamicSelect.js +1 -2
  120. package/esm/DateFilter/DynamicSelect/utils.d.ts.map +1 -1
  121. package/esm/DateFilter/EmptyValuesHandlingToggle/EmptyValuesHandlingToggle.js +1 -5
  122. package/esm/DateFilter/ExcludeCurrentPeriodToggle/ExcludeCurrentPeriodToggle.js +2 -7
  123. package/esm/DateFilter/GranularityTabs.d.ts +20 -0
  124. package/esm/DateFilter/GranularityTabs.d.ts.map +1 -0
  125. package/esm/DateFilter/{RelativeDateFilterForm/GranularityTabs.js → GranularityTabs.js} +6 -6
  126. package/esm/DateFilter/ListItemTooltip/ListItemTooltip.js +1 -3
  127. package/esm/DateFilter/Other/OtherPresetsSection.js +1 -3
  128. package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterForm.d.ts.map +1 -1
  129. package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterForm.js +4 -6
  130. package/esm/DateFilter/RelativeRangePicker/RelativeRangePicker.js +2 -5
  131. package/esm/DateFilter/Select/ScrollableSelectMenu.d.ts.map +1 -1
  132. package/esm/DateFilter/Select/utils.d.ts +1 -1
  133. package/esm/DateFilter/Select/utils.d.ts.map +1 -1
  134. package/esm/DateFilter/Tabs/Tabs.d.ts +6 -1
  135. package/esm/DateFilter/Tabs/Tabs.d.ts.map +1 -1
  136. package/esm/DateFilter/Tabs/Tabs.js +2 -3
  137. package/esm/DateFilter/accessibility/elementId.d.ts +4 -0
  138. package/esm/DateFilter/accessibility/elementId.d.ts.map +1 -1
  139. package/esm/DateFilter/accessibility/elementId.js +4 -0
  140. package/esm/DateFilter/accessibility/keyboardNavigation.d.ts +3 -3
  141. package/esm/DateFilter/accessibility/keyboardNavigation.d.ts.map +1 -1
  142. package/esm/DateFilter/extendedDateFilters.test.helpers.d.ts.map +1 -1
  143. package/esm/DateFilter/index.d.ts +2 -2
  144. package/esm/DateFilter/interfaces/index.d.ts.map +1 -1
  145. package/esm/DateFilter/utils/AFMConversions.d.ts.map +1 -1
  146. package/esm/DateFilter/utils/DateConversions.d.ts +2 -2
  147. package/esm/DateFilter/utils/DateConversions.d.ts.map +1 -1
  148. package/esm/DateFilter/utils/DateFilterOptionMapping.d.ts.map +1 -1
  149. package/esm/DateFilter/utils/DateFilterOptionMapping.js +1 -0
  150. package/esm/DateFilter/utils/FormattingUtils.d.ts.map +1 -1
  151. package/esm/DateFilter/utils/OptionUtils.d.ts.map +1 -1
  152. package/esm/DateFilter/utils/OptionUtils.js +7 -4
  153. package/esm/DateFilter/utils/PeriodExclusion.d.ts.map +1 -1
  154. package/esm/DateFilter/utils/Translations/DateFilterTitle.d.ts +2 -2
  155. package/esm/DateFilter/utils/Translations/DateFilterTitle.d.ts.map +1 -1
  156. package/esm/DateFilter/utils/Translations/DateFilterTitle.js +36 -2
  157. package/esm/DateFilter/utils/Translations/Translators.d.ts +1 -0
  158. package/esm/DateFilter/utils/Translations/Translators.d.ts.map +1 -1
  159. package/esm/DateFilter/utils/Translations/Translators.js +1 -0
  160. package/esm/DateFilter/utils/dateFnsLocale.d.ts +9 -0
  161. package/esm/DateFilter/utils/dateFnsLocale.d.ts.map +1 -0
  162. package/esm/DateFilter/utils/dateFnsLocale.js +37 -0
  163. package/esm/DateFilter/utils/presetFilterUtils.d.ts +21 -1
  164. package/esm/DateFilter/utils/presetFilterUtils.d.ts.map +1 -1
  165. package/esm/DateFilter/utils/presetFilterUtils.js +28 -0
  166. package/esm/DateFilter/validation/OptionValidation.d.ts.map +1 -1
  167. package/esm/FilterGroup/useFilterGroupStatus.d.ts.map +1 -1
  168. package/esm/MeasureValueFilter/AttributePicker.d.ts +1 -1
  169. package/esm/MeasureValueFilter/AttributePicker.d.ts.map +1 -1
  170. package/esm/MeasureValueFilter/ComparisonInput.js +2 -4
  171. package/esm/MeasureValueFilter/ConditionInputSection.d.ts +1 -1
  172. package/esm/MeasureValueFilter/ConditionInputSection.d.ts.map +1 -1
  173. package/esm/MeasureValueFilter/ConditionInputSection.js +1 -2
  174. package/esm/MeasureValueFilter/DimensionalitySection.d.ts +1 -1
  175. package/esm/MeasureValueFilter/DimensionalitySection.d.ts.map +1 -1
  176. package/esm/MeasureValueFilter/DimensionalitySection.js +2 -8
  177. package/esm/MeasureValueFilter/Dropdown.js +1 -2
  178. package/esm/MeasureValueFilter/DropdownBody.d.ts +2 -2
  179. package/esm/MeasureValueFilter/DropdownBody.d.ts.map +1 -1
  180. package/esm/MeasureValueFilter/DropdownBody.js +5 -11
  181. package/esm/MeasureValueFilter/MeasureValueFilter.js +1 -2
  182. package/esm/MeasureValueFilter/MeasureValueFilterDetailsBubble.js +1 -9
  183. package/esm/MeasureValueFilter/MeasureValueFilterDropdown.test.utils.d.ts.map +1 -1
  184. package/esm/MeasureValueFilter/MeasureValueFilterDropdownActions.js +1 -3
  185. package/esm/MeasureValueFilter/MeasureValueFilterDropdownHeader.js +1 -2
  186. package/esm/MeasureValueFilter/OperatorDropdown.d.ts +1 -1
  187. package/esm/MeasureValueFilter/OperatorDropdown.d.ts.map +1 -1
  188. package/esm/MeasureValueFilter/OperatorDropdown.js +1 -3
  189. package/esm/MeasureValueFilter/OperatorDropdownBody.d.ts +1 -1
  190. package/esm/MeasureValueFilter/OperatorDropdownBody.d.ts.map +1 -1
  191. package/esm/MeasureValueFilter/OperatorDropdownBody.js +3 -11
  192. package/esm/MeasureValueFilter/PreviewSection.d.ts +1 -1
  193. package/esm/MeasureValueFilter/PreviewSection.d.ts.map +1 -1
  194. package/esm/MeasureValueFilter/RangeInput.js +3 -7
  195. package/esm/MeasureValueFilter/TreatNullValuesAsZeroCheckbox.js +1 -5
  196. package/esm/MeasureValueFilter/helpers/measureValueFilterOperator.d.ts.map +1 -1
  197. package/esm/MeasureValueFilter/useDimensionalityEditor.d.ts +1 -1
  198. package/esm/MeasureValueFilter/useDimensionalityEditor.d.ts.map +1 -1
  199. package/esm/MeasureValueFilter/useDimensionalityEditor.js +1 -4
  200. package/esm/RankingFilter/AttributeDropdown/AttributeDropdown.js +1 -4
  201. package/esm/RankingFilter/AttributeDropdown/AttributeDropdownBody.js +1 -2
  202. package/esm/RankingFilter/AttributeDropdown/DropdownItems/AllRecordsItem.js +1 -5
  203. package/esm/RankingFilter/AttributeDropdown/DropdownItems/AttributeItem.js +1 -3
  204. package/esm/RankingFilter/MeasureDropdown/MeasureDropdown.js +1 -2
  205. package/esm/RankingFilter/MeasureDropdown/MeasureDropdownItem.js +1 -2
  206. package/esm/RankingFilter/OperatorDropdown/OperatorDropdown.js +1 -2
  207. package/esm/RankingFilter/OperatorDropdown/OperatorDropdownItem.js +1 -2
  208. package/esm/RankingFilter/RankingAttributesSection.d.ts +1 -1
  209. package/esm/RankingFilter/RankingAttributesSection.d.ts.map +1 -1
  210. package/esm/RankingFilter/RankingAttributesSection.js +2 -8
  211. package/esm/RankingFilter/RankingFilter.js +1 -2
  212. package/esm/RankingFilter/RankingFilterDropdown.d.ts.map +1 -1
  213. package/esm/RankingFilter/RankingFilterDropdown.test.utils.d.ts.map +1 -1
  214. package/esm/RankingFilter/RankingFilterDropdownBody.js +3 -19
  215. package/esm/RankingFilter/ValueDropdown/utils.d.ts.map +1 -1
  216. package/esm/sdk-ui-filters.d.ts +13 -2
  217. package/esm/shared/components/internal/FilterButtonCustomIcon.js +1 -3
  218. package/package.json +14 -14
  219. package/styles/css/attributeFilter.css.map +1 -1
  220. package/styles/css/attributeFilterNext/attributeFilter.css.map +1 -1
  221. package/styles/css/attributeFilterNext/attributeFilterAddons.css.map +1 -1
  222. package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css.map +1 -1
  223. package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css.map +1 -1
  224. package/styles/css/attributeFilterNext/attributeFilterElementsSelect.css.map +1 -1
  225. package/styles/css/attributeFilterNext/attributeFilterEmptyResult.css.map +1 -1
  226. package/styles/css/attributeFilterNext/attributeFilterStatusBar.css.map +1 -1
  227. package/styles/css/attributeFilterNext.css.map +1 -1
  228. package/styles/css/components/GranularityTabs.css +4 -2
  229. package/styles/css/components/GranularityTabs.css.map +1 -1
  230. package/styles/css/components/SelectMenu.css.map +1 -1
  231. package/styles/css/dateFilter.css +4 -2
  232. package/styles/css/dateFilter.css.map +1 -1
  233. package/styles/css/main.css +4 -2
  234. package/styles/css/main.css.map +1 -1
  235. package/styles/scss/components/GranularityTabs.scss +2 -1
  236. package/styles/scss/components/SelectMenu.scss +4 -4
  237. package/esm/DateFilter/RelativeDateFilterForm/GranularityTabs.d.ts +0 -10
  238. package/esm/DateFilter/RelativeDateFilterForm/GranularityTabs.d.ts.map +0 -1
@@ -24,7 +24,5 @@ export function MeasureValueFilterDropdownActions({ onApplyButtonClick, onCancel
24
24
  // visually hidden element referenced by aria-describedby (WCAG 4.1.2 / 1.3.1).
25
25
  const applyDescriptionId = useIdPrefixed("mvf-apply-disabled-desc");
26
26
  const showApplyDescription = !!isApplyDisabled && !!applyDisabledTooltip;
27
- return (_jsxs("div", { className: "gd-mvf-dropdown-footer", children: [
28
- _jsx(Button, { className: "gd-button-secondary gd-button-small s-mvf-dropdown-cancel", onClick: onCancelButtonClick, value: withoutApply ? closeText : cancelText, title: withoutApply ? closeText : cancelText }), withoutApply ? null : (_jsxs(_Fragment, { children: [
29
- _jsx(UiTooltip, { content: applyDisabledTooltip, triggerBy: ["hover", "focus"], disabled: !isApplyDisabled || !applyDisabledTooltip, arrowPlacement: "left", optimalPlacement: true, anchor: _jsx(Button, { className: "gd-button-action gd-button-small s-mvf-dropdown-apply", onClick: onApplyButtonClick, value: intl.formatMessage({ id: "apply" }), disabled: isApplyDisabled, accessibilityConfig: showApplyDescription ? { ariaDescribedBy: applyDescriptionId } : undefined }) }), showApplyDescription ? (_jsx("span", { id: applyDescriptionId, className: "sr-only", children: applyDisabledTooltip })) : null] }))] }));
27
+ return (_jsxs("div", { className: "gd-mvf-dropdown-footer", children: [_jsx(Button, { className: "gd-button-secondary gd-button-small s-mvf-dropdown-cancel", onClick: onCancelButtonClick, value: withoutApply ? closeText : cancelText, title: withoutApply ? closeText : cancelText }), withoutApply ? null : (_jsxs(_Fragment, { children: [_jsx(UiTooltip, { content: applyDisabledTooltip, triggerBy: ["hover", "focus"], disabled: !isApplyDisabled || !applyDisabledTooltip, arrowPlacement: "left", optimalPlacement: true, anchor: _jsx(Button, { className: "gd-button-action gd-button-small s-mvf-dropdown-apply", onClick: onApplyButtonClick, value: intl.formatMessage({ id: "apply" }), disabled: isApplyDisabled, accessibilityConfig: showApplyDescription ? { ariaDescribedBy: applyDescriptionId } : undefined }) }), showApplyDescription ? (_jsx("span", { id: applyDescriptionId, className: "sr-only", children: applyDisabledTooltip })) : null] }))] }));
30
28
  }
@@ -8,6 +8,5 @@ import { MeasureValueFilterDetailsBubble } from "./MeasureValueFilterDetailsBubb
8
8
  * @internal
9
9
  */
10
10
  export function MeasureValueFilterDropdownHeader({ title, loadMetricDetails, }) {
11
- return (_jsx("div", { className: "gd-mvf-dropdown-header s-mvf-dropdown-header", children: _jsxs("div", { className: "gd-mvf-dropdown-header__title", children: [
12
- _jsx(ShortenedText, { className: "gd-mvf-dropdown-header__title-text", tooltipAlignPoints: [{ align: "tc bc" }], ellipsisPosition: "end", children: title }), loadMetricDetails ? (_jsx("span", { className: "gd-mvf-dropdown-header__title-icon", children: _jsx(MeasureValueFilterDetailsBubble, { title: title, requestHandler: loadMetricDetails }) })) : null] }) }));
11
+ return (_jsx("div", { className: "gd-mvf-dropdown-header s-mvf-dropdown-header", children: _jsxs("div", { className: "gd-mvf-dropdown-header__title", children: [_jsx(ShortenedText, { className: "gd-mvf-dropdown-header__title-text", tooltipAlignPoints: [{ align: "tc bc" }], ellipsisPosition: "end", children: title }), loadMetricDetails ? (_jsx("span", { className: "gd-mvf-dropdown-header__title-icon", children: _jsx(MeasureValueFilterDetailsBubble, { title: title, requestHandler: loadMetricDetails }) })) : null] }) }));
13
12
  }
@@ -7,6 +7,6 @@ interface IOperatorDropdownProps {
7
7
  isMobile?: boolean;
8
8
  isViewMode?: boolean;
9
9
  }
10
- export declare const OperatorDropdown: import("react").NamedExoticComponent<IOperatorDropdownProps>;
10
+ export declare const OperatorDropdown: import("react").MemoExoticComponent<(props: IOperatorDropdownProps) => import("react/jsx-runtime").JSX.Element>;
11
11
  export {};
12
12
  //# sourceMappingURL=OperatorDropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OperatorDropdown.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/OperatorDropdown.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D,UAAU,sBAAsB;IAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,0BAA0B,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,8DAoF3B,CAAC"}
1
+ {"version":3,"file":"OperatorDropdown.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/OperatorDropdown.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D,UAAU,sBAAsB;IAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,0BAA0B,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,8CAAyC,sBAAsB,6CAoF1F,CAAC"}
@@ -40,7 +40,5 @@ export const OperatorDropdown = memo(function OperatorDropdown(props) {
40
40
  };
41
41
  const closeOperatorDropdown = () => setOpened(false);
42
42
  const handleOperatorDropdownButtonClick = () => setOpened((state) => !state);
43
- return (_jsxs(_Fragment, { children: [
44
- _jsxs("div", { className: "gd-mvf-operator-dropdown", "data-testid": "mvf-operator-section", children: [
45
- _jsx("div", { className: "gd-mvf-operator-dropdown-label", id: labelId, children: intl.formatMessage({ id: "mvf.condition" }) }), renderDropdownButton()] }), opened ? (_jsx(OperatorDropdownBody, { alignTo: `#${buttonId}`, onSelect: handleOperatorSelected, selectedOperator: props.operator, onClose: closeOperatorDropdown, listboxId: listboxId, labelId: labelId, isAllOperatorDisabled: props.isAllOperatorDisabled, isMobile: props.isMobile, isViewMode: props.isViewMode })) : null] }));
43
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "gd-mvf-operator-dropdown", "data-testid": "mvf-operator-section", children: [_jsx("div", { className: "gd-mvf-operator-dropdown-label", id: labelId, children: intl.formatMessage({ id: "mvf.condition" }) }), renderDropdownButton()] }), opened ? (_jsx(OperatorDropdownBody, { alignTo: `#${buttonId}`, onSelect: handleOperatorSelected, selectedOperator: props.operator, onClose: closeOperatorDropdown, listboxId: listboxId, labelId: labelId, isAllOperatorDisabled: props.isAllOperatorDisabled, isMobile: props.isMobile, isViewMode: props.isViewMode })) : null] }));
46
44
  });
@@ -12,6 +12,6 @@ interface IOperatorDropdownBodyProps {
12
12
  isMobile?: boolean;
13
13
  isViewMode?: boolean;
14
14
  }
15
- export declare const OperatorDropdownBody: import("react").NamedExoticComponent<IOperatorDropdownBodyProps>;
15
+ export declare const OperatorDropdownBody: import("react").MemoExoticComponent<({ onSelect, onClose, selectedOperator, alignTo, listboxId, labelId, isAllOperatorDisabled, isMobile, isViewMode, }: IOperatorDropdownBodyProps) => import("react/jsx-runtime").JSX.Element>;
16
16
  export {};
17
17
  //# sourceMappingURL=OperatorDropdownBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OperatorDropdownBody.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/OperatorDropdownBody.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D,UAAU,0BAA0B;IAChC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAyFD,eAAO,MAAM,oBAAoB,kEA0I/B,CAAC"}
1
+ {"version":3,"file":"OperatorDropdownBody.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/OperatorDropdownBody.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D,UAAU,0BAA0B;IAChC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAyFD,eAAO,MAAM,oBAAoB,2JAU9B,0BAA0B,6CAgI3B,CAAC"}
@@ -46,8 +46,7 @@ function OperatorListItem({ item, isSelected, isFocused, onSelect, }) {
46
46
  "is-disabled": isDisabled,
47
47
  }), title: item.stringTitle, icon: iconClass, info: bubbleText, isSelected: isSelected, isFocused: isFocused, onClick: isDisabled ? undefined : onSelect }));
48
48
  if (isDisabled && disabledTooltip) {
49
- return (_jsxs(BubbleHoverTrigger, { tagName: "div", showDelay: 400, hideDelay: 200, children: [listItem, _jsx(Bubble, { className: "bubble-primary", alignPoints: DISABLED_BUBBLE_ALIGN_POINTS, children: disabledTooltip })
50
- ] }));
49
+ return (_jsxs(BubbleHoverTrigger, { tagName: "div", showDelay: 400, hideDelay: 200, children: [listItem, _jsx(Bubble, { className: "bubble-primary", alignPoints: DISABLED_BUBBLE_ALIGN_POINTS, children: disabledTooltip })] }));
51
50
  }
52
51
  return listItem;
53
52
  }
@@ -103,10 +102,7 @@ export const OperatorDropdownBody = memo(function OperatorDropdownBody({ onSelec
103
102
  id: listboxId,
104
103
  "aria-labelledby": labelId,
105
104
  };
106
- const body = (
107
- // Focus moves into the listbox on open and returns to the trigger on close, while Tab
108
- // stays inside the popup — matching the listbox APG pattern used by the text filter.
109
- _jsx(UiFocusManager, { enableFocusTrap: true, enableAutofocus: true, enableReturnFocusOnUnmount: true, children: _jsx("div", { className: cx(MEASURE_VALUE_FILTER_OPERATOR_DROPDOWN_BODY_CLASS, "s-mvf-operator-dropdown-body", { "gd-is-mobile": isMobile }), children: _jsx(UiListbox, { shouldKeyboardActionPreventDefault: true, shouldKeyboardActionStopPropagation: true, isDisabledFocusable: true, maxHeight: isMobile ? undefined : DESKTOP_LISTBOX_MAX_HEIGHT, dataTestId: "mvf-operator-dropdown-body",
105
+ const body = (_jsx(UiFocusManager, { enableFocusTrap: true, enableAutofocus: true, enableReturnFocusOnUnmount: true, children: _jsx("div", { className: cx(MEASURE_VALUE_FILTER_OPERATOR_DROPDOWN_BODY_CLASS, "s-mvf-operator-dropdown-body", { "gd-is-mobile": isMobile }), children: _jsx(UiListbox, { shouldKeyboardActionPreventDefault: true, shouldKeyboardActionStopPropagation: true, isDisabledFocusable: true, maxHeight: isMobile ? undefined : DESKTOP_LISTBOX_MAX_HEIGHT, dataTestId: "mvf-operator-dropdown-body",
110
106
  // Put the per-operator testid on the role="option" <li> (which carries
111
107
  // aria-disabled) rather than the inner item, so disabled-state assertions read
112
108
  // the attribute off the element that actually exposes it.
@@ -114,11 +110,7 @@ export const OperatorDropdownBody = memo(function OperatorDropdownBody({ onSelec
114
110
  ? `mvf-operator-${simplifyText(item.data.operator)}`
115
111
  : undefined, items: items, selectedItemId: selectedOperator, onSelect: (item) => onSelect(item.data.operator), onClose: onClose, ariaAttributes: ariaAttributes, InteractiveItemComponent: OperatorListItem, StaticItemComponent: OperatorSeparatorItem }) }) }));
116
112
  if (isMobile) {
117
- return (_jsx(FullScreenOverlay, { alignTo: "body", alignPoints: MOBILE_DROPDOWN_ALIGN_POINTS, onClose: onClose, children: _jsxs("div", { className: "gd-mobile-dropdown-overlay overlay gd-flex-row-container gd-mvf-mobile-dropdown", children: [
118
- _jsx("div", { className: "gd-mobile-dropdown-header gd-flex-item gd-mvf-mobile-dropdown-header", children: _jsxs("button", { type: "button", className: "gd-mvf-operator-mobile-header s-mvf-operator-mobile-header", onClick: onClose, children: [
119
- _jsx("span", { className: "gd-mvf-operator-mobile-header__label", children: intl.formatMessage({ id: "mvf.condition" }) }), _jsx("span", { className: "gd-mvf-operator-mobile-header__value", children: selectedOperatorTitle }), _jsx("span", { className: "gd-mvf-operator-mobile-header__chevron gd-icon-navigateup" })
120
- ] }) }), _jsx("div", { className: "gd-mobile-dropdown-content gd-flex-item-stretch gd-mvf-mobile-dropdown-content", children: body })
121
- ] }) }));
113
+ return (_jsx(FullScreenOverlay, { alignTo: "body", alignPoints: MOBILE_DROPDOWN_ALIGN_POINTS, onClose: onClose, children: _jsxs("div", { className: "gd-mobile-dropdown-overlay overlay gd-flex-row-container gd-mvf-mobile-dropdown", children: [_jsx("div", { className: "gd-mobile-dropdown-header gd-flex-item gd-mvf-mobile-dropdown-header", children: _jsxs("button", { type: "button", className: "gd-mvf-operator-mobile-header s-mvf-operator-mobile-header", onClick: onClose, children: [_jsx("span", { className: "gd-mvf-operator-mobile-header__label", children: intl.formatMessage({ id: "mvf.condition" }) }), _jsx("span", { className: "gd-mvf-operator-mobile-header__value", children: selectedOperatorTitle }), _jsx("span", { className: "gd-mvf-operator-mobile-header__chevron gd-icon-navigateup" })] }) }), _jsx("div", { className: "gd-mobile-dropdown-content gd-flex-item-stretch gd-mvf-mobile-dropdown-content", children: body })] }) }));
122
114
  }
123
115
  return (_jsx(Overlay, { closeOnOutsideClick: true, alignTo: alignTo, alignPoints: [{ align: "bl tl" }], onClose: onClose, children: _jsx("div", { className: "gd-dropdown overlay", children: body }) }));
124
116
  });
@@ -27,6 +27,6 @@ interface IPreviewSectionProps {
27
27
  };
28
28
  }>;
29
29
  }
30
- export declare const PreviewSection: import("react").NamedExoticComponent<IPreviewSectionProps>;
30
+ export declare const PreviewSection: import("react").MemoExoticComponent<({ measureTitle, showSimplifiedSummary, usePercentage, separators, format, useShortFormat, dimensionality, showAllPreview, conditions, }: IPreviewSectionProps) => import("react/jsx-runtime").JSX.Element | null>;
31
31
  export {};
32
32
  //# sourceMappingURL=PreviewSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewSection.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/PreviewSection.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,WAAW,EAGnB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA6IxD,UAAU,oBAAoB;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,0BAA0B,CAAC;QACrC,KAAK,EAAE;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,EAAE,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACL,CAAC,CAAC;CACN;AAED,eAAO,MAAM,cAAc,4DA6SzB,CAAC"}
1
+ {"version":3,"file":"PreviewSection.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/PreviewSection.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,WAAW,EAGnB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA6IxD,UAAU,oBAAoB;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,0BAA0B,CAAC;QACrC,KAAK,EAAE;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,EAAE,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACL,CAAC,CAAC;CACN;AAED,eAAO,MAAM,cAAc,gLAUxB,oBAAoB,oDAmSrB,CAAC"}
@@ -17,9 +17,7 @@ export function RangeInput({ from, to, usePercentage, disableAutofocus, onFromCh
17
17
  : intl.formatMessage({ id: "mvf.input.ariaLabel.withCondition" }, { label, number: conditionNumber });
18
18
  const fromLabelText = withCondition(intl.formatMessage({ id: "mvf.rangeInput.from.ariaLabel" }));
19
19
  const toLabelText = withCondition(intl.formatMessage({ id: "mvf.rangeInput.to.ariaLabel" }));
20
- return (_jsxs("div", { className: "gd-mvf-range-input", "data-testid": "mvf-range-input", children: [
21
- _jsxs("div", { className: "gd-mvf-range-input__field gd-mvf-range-input__field--from", children: [
22
- _jsx(InputWithNumberFormat, { className: "s-mvf-range-from-input", dataTestId: "mvf-range-from-input", autocomplete: "off", value: from, onChange: (val) => onFromChange(val), onEnterKeyPress: onEnterKeyPress, onBlur: onFromBlur ? () => onFromBlur() : undefined, hasError: fromHasError, isSmall: true, autofocus: !disableAutofocus, suffix: usePercentage ? "%" : "", accessibilityConfig: {
20
+ return (_jsxs("div", { className: "gd-mvf-range-input", "data-testid": "mvf-range-input", children: [_jsxs("div", { className: "gd-mvf-range-input__field gd-mvf-range-input__field--from", children: [_jsx(InputWithNumberFormat, { className: "s-mvf-range-from-input", dataTestId: "mvf-range-from-input", autocomplete: "off", value: from, onChange: (val) => onFromChange(val), onEnterKeyPress: onEnterKeyPress, onBlur: onFromBlur ? () => onFromBlur() : undefined, hasError: fromHasError, isSmall: true, autofocus: !disableAutofocus, suffix: usePercentage ? "%" : "", accessibilityConfig: {
23
21
  ariaLabelledBy: fromLabelId,
24
22
  suffixAriaLabel: usePercentage
25
23
  ? intl.formatMessage({
@@ -28,8 +26,7 @@ export function RangeInput({ from, to, usePercentage, disableAutofocus, onFromCh
28
26
  : undefined,
29
27
  ariaDescribedBy: fromHasError ? fromErrorId : undefined,
30
28
  ariaInvalid: fromHasError ? true : undefined,
31
- }, separators: separators }), _jsx("span", { className: "sr-only", id: fromLabelId, children: fromLabelText }), fromField?.errorText ? (_jsx("div", { id: fromErrorId, className: "gd-mvf-input-error gd-mvf-input-error--range s-mvf-input-error", children: fromField?.errorText })) : null] }), _jsxs("div", { className: "gd-mvf-range-input__field gd-mvf-range-input__field--to", children: [
32
- _jsx(InputWithNumberFormat, { className: "s-mvf-range-to-input", dataTestId: "mvf-range-to-input", autocomplete: "off", value: to, onChange: (val) => onToChange(val), onEnterKeyPress: onEnterKeyPress, onBlur: onToBlur ? () => onToBlur() : undefined, isSmall: true, suffix: usePercentage ? "%" : "", hasError: toHasError, accessibilityConfig: {
29
+ }, separators: separators }), _jsx("span", { className: "sr-only", id: fromLabelId, children: fromLabelText }), fromField?.errorText ? (_jsx("div", { id: fromErrorId, className: "gd-mvf-input-error gd-mvf-input-error--range s-mvf-input-error", children: fromField?.errorText })) : null] }), _jsxs("div", { className: "gd-mvf-range-input__field gd-mvf-range-input__field--to", children: [_jsx(InputWithNumberFormat, { className: "s-mvf-range-to-input", dataTestId: "mvf-range-to-input", autocomplete: "off", value: to, onChange: (val) => onToChange(val), onEnterKeyPress: onEnterKeyPress, onBlur: onToBlur ? () => onToBlur() : undefined, isSmall: true, suffix: usePercentage ? "%" : "", hasError: toHasError, accessibilityConfig: {
33
30
  ariaLabelledBy: toLabelId,
34
31
  suffixAriaLabel: usePercentage
35
32
  ? intl.formatMessage({
@@ -38,6 +35,5 @@ export function RangeInput({ from, to, usePercentage, disableAutofocus, onFromCh
38
35
  : undefined,
39
36
  ariaDescribedBy: toHasError ? toErrorId : undefined,
40
37
  ariaInvalid: toHasError ? true : undefined,
41
- }, separators: separators }), _jsx("span", { className: "sr-only", id: toLabelId, children: toLabelText }), toField?.errorText ? (_jsx("div", { id: toErrorId, className: "gd-mvf-input-error gd-mvf-input-error--range s-mvf-input-error", children: toField?.errorText })) : null] })
42
- ] }));
38
+ }, separators: separators }), _jsx("span", { className: "sr-only", id: toLabelId, children: toLabelText }), toField?.errorText ? (_jsx("div", { id: toErrorId, className: "gd-mvf-input-error gd-mvf-input-error--range s-mvf-input-error", children: toField?.errorText })) : null] })] }));
43
39
  }
@@ -5,9 +5,5 @@ export function TreatNullValuesAsZeroCheckbox({ checked = false, onChange, isMob
5
5
  const tooltipText = intl.formatMessage({ id: "mvf.treatNullValuesAsZeroTooltip" });
6
6
  const tooltipId = useIdPrefixed("mvf-treat-null-values-as-zero-tooltip");
7
7
  const showTooltip = !isMobile && !isViewMode;
8
- return (_jsxs("label", { className: "input-checkbox-label gd-mvf-treat-null-values-as-zero s-treat-null-values-as-zero", "data-testid": "mvf-treat-null-values-as-zero", children: [
9
- _jsx("input", { type: "checkbox", name: "treat-null-values-as", className: "input-checkbox", checked: checked, onChange: handleOnChange, "aria-describedby": tooltipId }), _jsxs("span", { className: "input-label-text", children: [intl.formatMessage({ id: "mvf.treatNullValuesAsZeroLabel" }), showTooltip ? (_jsxs(BubbleHoverTrigger, { showDelay: 400, hideDelay: 200, children: [
10
- _jsx("span", { className: "inlineBubbleHelp", "aria-hidden": "true" }), _jsx(Bubble, { className: "bubble-primary", alignPoints: [{ align: "tc bl" }], children: tooltipText })
11
- ] })) : null] }), _jsx("span", { className: "sr-only", id: tooltipId, children: tooltipText })
12
- ] }));
8
+ return (_jsxs("label", { className: "input-checkbox-label gd-mvf-treat-null-values-as-zero s-treat-null-values-as-zero", "data-testid": "mvf-treat-null-values-as-zero", children: [_jsx("input", { type: "checkbox", name: "treat-null-values-as", className: "input-checkbox", checked: checked, onChange: handleOnChange, "aria-describedby": tooltipId }), _jsxs("span", { className: "input-label-text", children: [intl.formatMessage({ id: "mvf.treatNullValuesAsZeroLabel" }), showTooltip ? (_jsxs(BubbleHoverTrigger, { showDelay: 400, hideDelay: 200, children: [_jsx("span", { className: "inlineBubbleHelp", "aria-hidden": "true" }), _jsx(Bubble, { className: "bubble-primary", alignPoints: [{ align: "tc bl" }], children: tooltipText })] })) : null] }), _jsx("span", { className: "sr-only", id: tooltipId, children: tooltipText })] }));
13
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"measureValueFilterOperator.d.ts","sourceRoot":"","sources":["../../../src/MeasureValueFilter/helpers/measureValueFilterOperator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,eAAO,MAAM,yBAAyB,8DAuBrC,CAAC;AAEF,eAAO,MAAM,kCAAkC,8DAyB9C,CAAC;AAEF,eAAO,MAAM,eAAe,kDAgB3B,CAAC"}
1
+ {"version":3,"file":"measureValueFilterOperator.d.ts","sourceRoot":"","sources":["../../../src/MeasureValueFilter/helpers/measureValueFilterOperator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,eAAO,MAAM,yBAAyB,aAAc,0BAA0B,KAAG,MAAM,GAAG,SAuBzF,CAAC;AAEF,eAAO,MAAM,kCAAkC,aACjC,0BAA0B,KACrC,MAAM,GAAG,SAuBX,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,0BAA0B,KAAG,MAgBtE,CAAC"}
@@ -64,7 +64,7 @@ export declare function useDimensionalityEditor({ items, insightItems, catalogIt
64
64
  handleRemove: (index: number) => void;
65
65
  handleReset: () => void;
66
66
  handleOpenInlinePicker: () => void;
67
- handleOpenStandalonePicker: (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => void;
67
+ handleOpenStandalonePicker: (event: MouseEvent<HTMLButtonElement>) => void;
68
68
  handleClosePicker: () => void;
69
69
  handleAddItems: (added: IDimensionalityItem[]) => void;
70
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useDimensionalityEditor.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/useDimensionalityEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EAKjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,aAAa,EAAmC,MAAM,qBAAqB,CAAC;AAG1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,yFAetC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,qHAG+C,CAAC;AAkBzF,UAAU,mBAAmB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACxD,0GAA0G;IAC1G,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC1B,QAAQ,EACR,eAAe,EACf,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAO,EACP,UAAU,EACb,EAAE,mBAAmB,GAAG,SAAS,CAsBjC;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC3C,mDAAmD;IACnD,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,yGAAyG;IACzG,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,yGAAyG;IACzG,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,mFAAmF;IACnF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACzE,yGAAyG;IACzG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,EACpC,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACX,EAAE,8BAA8B;;;;;;;;;;;;;;EAmHhC"}
1
+ {"version":3,"file":"useDimensionalityEditor.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/useDimensionalityEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EAKjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,aAAa,EAAmC,MAAM,qBAAqB,CAAC;AAG1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,MAChC,mBAAmB,EAAE,GAAG,SAAS,KACjC,mBAAmB,EAAE,GAAG,SAAS,KACrC,OAYF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,cAC1B,mBAAmB,EAAE,GAAG,SAAS,yBACrB,mBAAmB,EAAE,GAAG,SAAS,KACzD,OAAqF,CAAC;AAkBzF,UAAU,mBAAmB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACxD,0GAA0G;IAC1G,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC1B,QAAQ,EACR,eAAe,EACf,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAO,EACP,UAAU,EACb,EAAE,mBAAmB,GAAG,SAAS,CAsBjC;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC3C,mDAAmD;IACnD,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,yGAAyG;IACzG,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,yGAAyG;IACzG,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,mFAAmF;IACnF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACzE,yGAAyG;IACzG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,EACpC,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACX,EAAE,8BAA8B;;;;;;;;0BA8DjB,MAAM;;;wCAeqC,UAAU,CAAC,iBAAiB,CAAC;;4BAYxE,mBAAmB,EAAE;EA0BpC"}
@@ -44,10 +44,7 @@ export function WithAddButton({ children, appendAddButton, isDisabled, tooltip,
44
44
  if (!appendAddButton) {
45
45
  return children;
46
46
  }
47
- return (_jsxs("div", { className: "gd-mvf-dimensionality-add-wrapper", children: [children, _jsxs(BubbleHoverTrigger, { children: [
48
- _jsx(UiIconButton, { ref: buttonRef, icon: "plus", size: "small", variant: "tertiary", isDisabled: isDisabled, onClick: onClick, dataTestId: dataTestId }), _jsx(Bubble, { alignPoints: [{ align: "bc tc" }], children: tooltip })
49
- ] })
50
- ] }));
47
+ return (_jsxs("div", { className: "gd-mvf-dimensionality-add-wrapper", children: [children, _jsxs(BubbleHoverTrigger, { children: [_jsx(UiIconButton, { ref: buttonRef, icon: "plus", size: "small", variant: "tertiary", isDisabled: isDisabled, onClick: onClick, dataTestId: dataTestId }), _jsx(Bubble, { alignPoints: [{ align: "bc tc" }], children: tooltip })] })] }));
51
48
  }
52
49
  /**
53
50
  * Shared state and logic for the dimensionality-items editor used by both the measure value filter
@@ -33,8 +33,5 @@ export function AttributeDropdown({ items, selectedItemRef, onSelect, onDropDown
33
33
  }, "gd-rf-attribute-dropdown-button", "s-rf-attribute-dropdown-button");
34
34
  const selectedAttributeItem = items.find((item) => areObjRefsEqual(item.ref, selectedItemRef));
35
35
  const itemTitle = getItemTitle(selectedAttributeItem, intl);
36
- return isDisabled ? (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [
37
- _jsx(Button, { className: buttonClassNames, value: itemTitle, disabled: true }), _jsx(Bubble, { className: `bubble-primary gd-rf-tooltip-bubble s-rf-attribute-no-options-bubble`, alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: _jsx(FormattedMessage, { id: "rankingFilter.attributeDropdown.oneAttributeTooltip" }) })
38
- ] })) : (_jsxs(_Fragment, { children: [
39
- _jsx(Button, { className: buttonClassNames, value: itemTitle, onClick: onButtonClick, iconLeft: getItemIcon(selectedAttributeItem) }), isOpen ? (_jsx(AttributeDropdownBody, { items: items, selectedItemRef: selectedItemRef, onSelect: onItemSelect, onClose: () => setIsOpen(false), onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection })) : null] }));
36
+ return isDisabled ? (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [_jsx(Button, { className: buttonClassNames, value: itemTitle, disabled: true }), _jsx(Bubble, { className: `bubble-primary gd-rf-tooltip-bubble s-rf-attribute-no-options-bubble`, alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: _jsx(FormattedMessage, { id: "rankingFilter.attributeDropdown.oneAttributeTooltip" }) })] })) : (_jsxs(_Fragment, { children: [_jsx(Button, { className: buttonClassNames, value: itemTitle, onClick: onButtonClick, iconLeft: getItemIcon(selectedAttributeItem) }), isOpen ? (_jsx(AttributeDropdownBody, { items: items, selectedItemRef: selectedItemRef, onSelect: onItemSelect, onClose: () => setIsOpen(false), onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection })) : null] }));
40
37
  }
@@ -8,6 +8,5 @@ export function AttributeDropdownBody({ items, selectedItemRef, onSelect, onClos
8
8
  return (_jsx(Overlay, { closeOnOutsideClick: true, alignTo: ".gd-rf-attribute-dropdown-button", alignPoints: [{ align: "bl tl" }, { align: "tl bl" }], onClose: onClose, children: _jsxs("div", { className: "gd-dropdown overlay gd-rf-inner-overlay-dropdown gd-rf-attribute-dropdown-body s-rf-attribute-dropdown-body", children: [items.map((item) => {
9
9
  const { type, ref } = item;
10
10
  return (_jsx(AttributeItem, { iconClass: type === "DATE" ? "gd-icon-date" : "gd-icon-attribute", item: item, isSelected: areObjRefsEqual(ref, selectedItemRef), onSelect: onSelect, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection }, objRefToString(ref)));
11
- }), _jsx("div", { className: "gd-rf-attribute-dropdown-separator" }), _jsx(AllRecordsItem, { isSelected: !selectedItemRef, onSelect: onSelect })
12
- ] }) }));
11
+ }), _jsx("div", { className: "gd-rf-attribute-dropdown-separator" }), _jsx(AllRecordsItem, { isSelected: !selectedItemRef, onSelect: onSelect })] }) }));
13
12
  }
@@ -8,9 +8,5 @@ export function AllRecordsItem({ isSelected, onSelect }) {
8
8
  const className = cx("gd-list-item", "gd-list-item-shortened", {
9
9
  "is-selected": isSelected,
10
10
  }, "gd-button-link", "s-rf-attribute-all-records");
11
- return (_jsxs("button", { className: className, onClick: () => onSelect(), children: [
12
- _jsx(FormattedMessage, { id: "rankingFilter.allRecords" }), _jsx("div", { children: _jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [
13
- _jsx("span", { className: "gd-icon-circle-question gd-rf-attribute-all-records-icon s-rf-attribute-all-records-icon" }), _jsx(Bubble, { className: `bubble-primary gd-rf-tooltip-bubble s-rf-attribute-all-records-bubble`, arrowOffsets: { "cr cl": [BUBBLE_OFFSET_X, 0], "cl cr": [-BUBBLE_OFFSET_X, 0] }, alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: _jsx(FormattedMessage, { id: "rankingFilter.allRecords.tooltip" }) })
14
- ] }) })
15
- ] }));
11
+ return (_jsxs("button", { className: className, onClick: () => onSelect(), children: [_jsx(FormattedMessage, { id: "rankingFilter.allRecords" }), _jsx("div", { children: _jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [_jsx("span", { className: "gd-icon-circle-question gd-rf-attribute-all-records-icon s-rf-attribute-all-records-icon" }), _jsx(Bubble, { className: `bubble-primary gd-rf-tooltip-bubble s-rf-attribute-all-records-bubble`, arrowOffsets: { "cr cl": [BUBBLE_OFFSET_X, 0], "cl cr": [-BUBBLE_OFFSET_X, 0] }, alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: _jsx(FormattedMessage, { id: "rankingFilter.allRecords.tooltip" }) })] }) })] }));
16
12
  }
@@ -23,7 +23,5 @@ export function AttributeItem({ item, iconClass, isSelected, onSelect, onDropDow
23
23
  if (!isDisabled) {
24
24
  return (_jsx("button", { className: className, onClick: () => onSelect(ref), onMouseOver: onMouseOver, onMouseOut: onMouseOut, title: title, children: _jsx("span", { children: title }) }));
25
25
  }
26
- return (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [
27
- _jsx(Button, { className: className, value: title, title: title, disabled: true }), _jsx(Bubble, { className: "bubble-primary gd-rf-tooltip-bubble s-rf-disabled-attribute-bubble", alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: customGranularitySelection.warningMessage })
28
- ] }));
26
+ return (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [_jsx(Button, { className: className, value: title, title: title, disabled: true }), _jsx(Bubble, { className: "bubble-primary gd-rf-tooltip-bubble s-rf-disabled-attribute-bubble", alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: customGranularitySelection.warningMessage })] }));
29
27
  }
@@ -21,8 +21,7 @@ export function MeasureDropdown({ items, selectedItemRef, onSelect, onDropDownIt
21
21
  }, "gd-rf-measure-dropdown-button", "s-rf-measure-dropdown-button");
22
22
  const selectedItem = items.find((item) => areObjRefsEqual(item.ref, selectedItemRef));
23
23
  const title = selectedItem?.title;
24
- return (_jsxs(_Fragment, { children: [
25
- _jsx(Button, { className: buttonClassNames, value: title, onClick: onButtonClick, iconLeft: "gd-icon-metric" }), isOpen
24
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { className: buttonClassNames, value: title, onClick: onButtonClick, iconLeft: "gd-icon-metric" }), isOpen
26
25
  ? (renderMeasureDropdownBody?.({
27
26
  selectedItemRef,
28
27
  onSelect: onItemSelect,
@@ -17,6 +17,5 @@ export function MeasureDropdownItem({ item, isSelected, onSelect, onDropDownItem
17
17
  onDropDownItemMouseOut();
18
18
  }
19
19
  };
20
- return (_jsxs("button", { className: className, onClick: () => onSelect(ref), onMouseOver: onMouseOver, onMouseOut: onMouseOut, title: title, children: [
21
- _jsx("span", { className: "gd-rf-measure-title", children: title }), sequenceNumber ? _jsx("span", { className: "gd-rf-sequence-number", children: sequenceNumber }) : null] }));
20
+ return (_jsxs("button", { className: className, onClick: () => onSelect(ref), onMouseOver: onMouseOver, onMouseOut: onMouseOut, title: title, children: [_jsx("span", { className: "gd-rf-measure-title", children: title }), sequenceNumber ? _jsx("span", { className: "gd-rf-sequence-number", children: sequenceNumber }) : null] }));
22
21
  }
@@ -67,6 +67,5 @@ export function OperatorDropdown({ selectedValue, selectedStrictLimitOfRows, ena
67
67
  const title = intl.formatMessage({
68
68
  id: getSelectedItemTranslation(items, selectedValue, selectedStrictLimitOfRows, enableRankingStrictLimit),
69
69
  });
70
- return (_jsxs(_Fragment, { children: [
71
- _jsx(Button, { className: buttonClassNames, value: title, onClick: onButtonClick }), isOpen ? (_jsx(OperatorDropdownBody, { items: items, selectedValue: selectedValue, selectedStrictLimitOfRows: selectedStrictLimitOfRows, enableRankingStrictLimit: enableRankingStrictLimit, limitValue: limitValue, onSelect: onItemSelect, onClose: () => setIsOpen(false) })) : null] }));
70
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { className: buttonClassNames, value: title, onClick: onButtonClick }), isOpen ? (_jsx(OperatorDropdownBody, { items: items, selectedValue: selectedValue, selectedStrictLimitOfRows: selectedStrictLimitOfRows, enableRankingStrictLimit: enableRankingStrictLimit, limitValue: limitValue, onSelect: onItemSelect, onClose: () => setIsOpen(false) })) : null] }));
72
71
  }
@@ -9,6 +9,5 @@ export function OperatorDropdownItem({ title, value, strictLimitOfRows, isSelect
9
9
  const className = cx("gd-list-item", "gd-list-item-shortened", {
10
10
  "is-selected": isSelected,
11
11
  }, "gd-button-link", `s-rf-operator-${simplifyText(title)}`);
12
- return (_jsxs("button", { className: className, onClick: () => onSelect(value, strictLimitOfRows), children: [
13
- _jsx("span", { children: title }), tooltipId ? (_jsx("span", { className: "gd-rf-operator-tooltip s-rf-operator-tooltip", children: _jsx(UiTooltip, { triggerBy: ["hover", "focus"], hoverOpenDelay: 0, hoverCloseDelay: 0, arrowPlacement: "left", optimalPlacement: true, width: 200, anchor: _jsx("span", { className: "gd-rf-operator-tooltip-icon s-rf-operator-tooltip-icon", children: _jsx(UiIcon, { type: "question", size: 14, color: "currentColor", layout: "block" }) }), content: intl.formatMessage({ id: tooltipId }, { n: limitValue }) }) })) : null] }));
12
+ return (_jsxs("button", { className: className, onClick: () => onSelect(value, strictLimitOfRows), children: [_jsx("span", { children: title }), tooltipId ? (_jsx("span", { className: "gd-rf-operator-tooltip s-rf-operator-tooltip", children: _jsx(UiTooltip, { triggerBy: ["hover", "focus"], hoverOpenDelay: 0, hoverCloseDelay: 0, arrowPlacement: "left", optimalPlacement: true, width: 200, anchor: _jsx("span", { className: "gd-rf-operator-tooltip-icon s-rf-operator-tooltip-icon", children: _jsx(UiIcon, { type: "question", size: 14, color: "currentColor", layout: "block" }) }), content: intl.formatMessage({ id: tooltipId }, { n: limitValue }) }) })) : null] }));
14
13
  }
@@ -40,5 +40,5 @@ export interface IRankingAttributesSectionProps {
40
40
  * "Out of" attributes section for the ranking filter dropdown. Allows users to rank "out of" the insight's
41
41
  * own attributes (default) or custom attributes picked from the catalog, with a reset to defaults.
42
42
  */
43
- export declare const RankingAttributesSection: import("react").NamedExoticComponent<IRankingAttributesSectionProps>;
43
+ export declare const RankingAttributesSection: import("react").MemoExoticComponent<({ attributes, insightAttributes, catalogAttributes, loadCatalogAttributes, isLoadingCatalogAttributes, onAttributesChange, isMigratedFilter, }: IRankingAttributesSectionProps) => import("react/jsx-runtime").JSX.Element>;
44
44
  //# sourceMappingURL=RankingAttributesSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RankingAttributesSection.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingAttributesSection.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAIzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C;;OAEG;IACH,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxF;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;OAEG;IACH,kBAAkB,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IAChE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,sEA0InC,CAAC"}
1
+ {"version":3,"file":"RankingAttributesSection.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingAttributesSection.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAIzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C;;OAEG;IACH,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxF;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;OAEG;IACH,kBAAkB,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IAChE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,uLAQlC,8BAA8B,6CAkI/B,CAAC"}
@@ -23,16 +23,10 @@ export const RankingAttributesSection = memo(function RankingAttributesSection({
23
23
  });
24
24
  const addButtonTooltip = intl.formatMessage({ id: "mvf.dimensionality.addButton.tooltip" });
25
25
  const resetButtonTooltip = intl.formatMessage({ id: "mvf.dimensionality.reset.tooltip" });
26
- return (_jsxs("div", { className: "gd-mvf-dimensionality gd-rf-attributes s-rf-attributes", "data-testid": "rf-attributes", children: [
27
- _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.outOf" }) }), attributes.length > 0 ? (_jsxs("div", { className: "gd-mvf-dimensionality-items", children: [attributes.map((item, index) => {
26
+ return (_jsxs("div", { className: "gd-mvf-dimensionality gd-rf-attributes s-rf-attributes", "data-testid": "rf-attributes", children: [_jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.outOf" }) }), attributes.length > 0 ? (_jsxs("div", { className: "gd-mvf-dimensionality-items", children: [attributes.map((item, index) => {
28
27
  const isDateItem = item.type === "chronologicalDate" || item.type === "genericDate";
29
28
  const icon = isDateItem ? "date" : "ldmAttribute";
30
29
  const iconColor = isDateItem ? "primary" : "warning";
31
30
  return (_jsx(WithAddButton, { appendAddButton: index === attributes.length - 1, isDisabled: false, tooltip: addButtonTooltip, buttonRef: inlineAddButtonRef, onClick: handleOpenInlineAttributePicker, dataTestId: "rf-attributes-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: () => handleRemoveAttribute(index), dataTestId: `rf-attributes-tag-${index}` }) }) }, objRefToString(item.identifier)));
32
- }), shouldShowResetButton ? (_jsx("div", { className: "gd-mvf-dimensionality-reset-button", children: _jsxs(BubbleHoverTrigger, { children: [
33
- _jsx(UiIconButton, { icon: "history", size: "small", variant: "tertiary", onClick: handleResetAttributes, label: resetButtonTooltip, dataTestId: "rf-attributes-reset" }), _jsx(Bubble, { alignPoints: [{ align: "cr cl" }], children: resetButtonTooltip })
34
- ] }) })) : null] })) : (_jsxs("div", { className: "gd-mvf-dimensionality-empty-actions", children: [
35
- _jsx(UiButton, { label: intl.formatMessage({ id: "mvf.dimensionality.addAttributes" }), variant: "tertiary", size: "small", iconBefore: "plus", onClick: handleOpenStandaloneAttributePicker }), shouldShowResetButton ? (_jsxs(BubbleHoverTrigger, { children: [
36
- _jsx(UiButton, { size: "small", variant: "tertiary", iconBefore: "history", label: intl.formatMessage({ id: "mvf.dimensionality.reset" }), onClick: handleResetAttributes, dataTestId: "rf-attributes-reset" }), _jsx(Bubble, { alignPoints: [{ align: "cr cl" }], children: resetButtonTooltip })
37
- ] })) : null] })), isMigratedFilter ? null : (_jsx("div", { role: "status", "aria-live": "polite", className: "gd-message information gd-rf-attributes-backward-compatibility-message", "data-testid": "rf-backward-compatibility-note", children: _jsx("div", { className: "gd-message-text", children: intl.formatMessage({ id: "rankingFilter.outOf.backwardCompatibilityNote" }) }) })), isAttributePickerOpen && actualAnchor ? (_jsx(AttributePicker, { anchorElement: actualAnchor, onAdd: handleAddAttributeItems, onCancel: handleCloseAttributePicker, availableInsightItems: availableInsightItems, availableCatalogItems: availableCatalogItems, isLoadingCatalogDimensionality: isLoadingCatalogForPicker })) : null] }));
31
+ }), shouldShowResetButton ? (_jsx("div", { className: "gd-mvf-dimensionality-reset-button", children: _jsxs(BubbleHoverTrigger, { children: [_jsx(UiIconButton, { icon: "history", size: "small", variant: "tertiary", onClick: handleResetAttributes, label: resetButtonTooltip, dataTestId: "rf-attributes-reset" }), _jsx(Bubble, { alignPoints: [{ align: "cr cl" }], children: resetButtonTooltip })] }) })) : null] })) : (_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: handleResetAttributes, dataTestId: "rf-attributes-reset" }), _jsx(Bubble, { alignPoints: [{ align: "cr cl" }], children: resetButtonTooltip })] })) : null] })), isMigratedFilter ? null : (_jsx("div", { role: "status", "aria-live": "polite", className: "gd-message information gd-rf-attributes-backward-compatibility-message", "data-testid": "rf-backward-compatibility-note", children: _jsx("div", { className: "gd-message-text", children: intl.formatMessage({ id: "rankingFilter.outOf.backwardCompatibilityNote" }) }) })), isAttributePickerOpen && actualAnchor ? (_jsx(AttributePicker, { anchorElement: actualAnchor, onAdd: handleAddAttributeItems, onCancel: handleCloseAttributePicker, availableInsightItems: availableInsightItems, availableCatalogItems: availableCatalogItems, isLoadingCatalogDimensionality: isLoadingCatalogForPicker })) : null] }));
38
32
  });
@@ -19,6 +19,5 @@ export function RankingFilter({ measureItems, attributeItems, filter, onApply, o
19
19
  onCancel();
20
20
  setIsOpen(false);
21
21
  };
22
- return (_jsxs(_Fragment, { children: [
23
- _jsx(RankingFilterButton, { isActive: isOpen, onClick: onButtonClick, title: buttonTitle, className: "gd-rf-dropdown-button" }), isOpen ? (_jsx(RankingFilterDropdown, { measureItems: measureItems, attributeItems: attributeItems, filter: filter, onApply: handleApply, onCancel: handleCancel, anchorEl: ".gd-rf-dropdown-button", onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection, locale: locale })) : null] }));
22
+ return (_jsxs(_Fragment, { children: [_jsx(RankingFilterButton, { isActive: isOpen, onClick: onButtonClick, title: buttonTitle, className: "gd-rf-dropdown-button" }), isOpen ? (_jsx(RankingFilterDropdown, { measureItems: measureItems, attributeItems: attributeItems, filter: filter, onApply: handleApply, onCancel: handleCancel, anchorEl: ".gd-rf-dropdown-button", onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection, locale: locale })) : null] }));
24
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RankingFilterDropdown.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingFilterDropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAI9E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EACjC,MAAM,YAAY,CAAC;AAKpB,eAAO,MAAM,yBAAyB,yEAqBrC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,2BAA2B,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IAItD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,oGAAoG;IACpG,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C,iGAAiG;IACjG,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAC3F;AA8DD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,2CAMvE"}
1
+ {"version":3,"file":"RankingFilterDropdown.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingFilterDropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAI9E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EACjC,MAAM,YAAY,CAAC;AAKpB,eAAO,MAAM,yBAAyB,WAC1B,cAAc,kCAEvB,cAkBF,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,2BAA2B,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IAItD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,oGAAoG;IACpG,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C,iGAAiG;IACjG,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAC3F;AA8DD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,2CAMvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"RankingFilterDropdown.test.utils.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingFilterDropdown.test.utils.tsx"],"names":[],"mappings":"AAiBA,qBAAa,6BAA6B;IAC/B,WAAW,sCAGhB;IAEK,UAAU,sCAGf;IAEK,cAAc,2BAAiD;IAE/D,qBAAqB,gBAA+D;IAEpF,sBAAsB,gBAAmE;IAEzF,yBAAyB,uBAA0D;IAEnF,oBAAoB,sCAKzB;IAEK,WAAW,mDAGhB;IAEK,WAAW,eAA+E;IAE1F,gBAAgB,uBAA2D;IAE3E,qBAAqB,4BAC+C;IAEpE,sBAAsB,gBAAmC;IAEzD,gBAAgB,mDAIrB;IAEK,QAAQ,mDAIb;IAEK,cAAc,mDAInB;IAEK,QAAQ,eAAkF;IAE1F,qBAAqB,gBAAkE;IAEvF,wBAAwB,uBAAyD;IAEjF,mBAAmB,sCAKxB;IAEK,cAAc,oCAEnB;IAEK,cAAc,mDAGnB;IAEK,UAAU,eAA8E;IAExF,yBAAyB,gBACsC;IAE/D,uBAAuB,gBAAoE;IAE3F,qBAAqB,sCAK1B;IAEK,mCAAmC,4BAExC;IAEK,gBAAgB,oCAErB;IAEK,gBAAgB,mDAGrB;IAEK,wBAAwB,sCAG7B;IAEK,0BAA0B,uBAA2D;IAErF,YAAY,eAAgE;IAE5E,UAAU,eAAmE;CACvF"}
1
+ {"version":3,"file":"RankingFilterDropdown.test.utils.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingFilterDropdown.test.utils.tsx"],"names":[],"mappings":"AAiBA,qBAAa,6BAA6B;IAC/B,WAAW,QAAO,6BAA6B,CAGpD;IAEK,UAAU,QAAO,6BAA6B,CAGnD;IAEK,cAAc,2BAAiD;IAE/D,qBAAqB,gBAA+D;IAEpF,sBAAsB,QAAO,OAAO,CAAqD;IAEzF,yBAAyB,uBAA0D;IAEnF,oBAAoB,QAAO,6BAA6B,CAK7D;IAEK,WAAW,UAAW,MAAM,KAAG,6BAA6B,CAGjE;IAEK,WAAW,QAAO,MAAM,CAAkE;IAE1F,gBAAgB,uBAA2D;IAE3E,qBAAqB,4BAC+C;IAEpE,sBAAsB,gBAAmC;IAEzD,gBAAgB,UAAW,MAAM,KAAG,6BAA6B,CAItE;IAEK,QAAQ,UAAW,MAAM,KAAG,6BAA6B,CAI9D;IAEK,cAAc,UAAW,MAAM,KAAG,6BAA6B,CAIpE;IAEK,QAAQ,eAAkF;IAE1F,qBAAqB,QAAO,OAAO,CAAoD;IAEvF,wBAAwB,uBAAyD;IAEjF,mBAAmB,QAAO,6BAA6B,CAK5D;IAEK,cAAc,UAAW,MAAM,oBAEpC;IAEK,cAAc,UAAW,MAAM,KAAG,6BAA6B,CAGpE;IAEK,UAAU,QAAO,MAAM,CAAiE;IAExF,yBAAyB,QAAO,OAAO,CACwB;IAE/D,uBAAuB,QAAO,OAAO,CAAsD;IAE3F,qBAAqB,QAAO,6BAA6B,CAK9D;IAEK,mCAAmC,4BAExC;IAEK,gBAAgB,UAAW,MAAM,oBAEtC;IAEK,gBAAgB,UAAW,MAAM,KAAG,6BAA6B,CAGtE;IAEK,wBAAwB,QAAO,6BAA6B,CAGjE;IAEK,0BAA0B,uBAA2D;IAErF,YAAY,QAAO,MAAM,CAAmD;IAE5E,UAAU,QAAO,MAAM,CAAsD;CACvF"}
@@ -128,23 +128,9 @@ export function RankingFilterDropdownBody({ measureItems, attributeItems, filter
128
128
  }, [setApplyOnResult]);
129
129
  return (_jsxs("div", { className: "gd-dialog gd-dropdown overlay gd-rf-dropdown-body s-rf-dropdown-body", children: [isAttributesSectionEnabled ? null : (_jsx("div", { className: "gd-rf-dropdown-header", children: _jsx(FormattedMessage, { id: "rankingFilter.topBottom" }) })), _jsxs("div", { className: "gd-rf-dropdown-section", children: [enableRankingStrictLimit ? (_jsx("div", { className: "gd-rf-dropdown-section-title gd-rf-dropdown-section-title-first", children: _jsx(FormattedMessage, { id: "rankingFilter.condition" }) })) : null, _jsxs("div", { className: cx("gd-rf-value-section", {
130
130
  "gd-rf-value-section--strict-limit": enableRankingStrictLimit,
131
- }), children: [
132
- _jsx(OperatorDropdown, { selectedValue: operator, selectedStrictLimitOfRows: strictLimitOfRows, enableRankingStrictLimit: enableRankingStrictLimit, limitValue: value, onSelect: handleConditionSelect }), _jsx(ValueDropdown, { selectedValue: value, onSelect: setValue }), enableRankingStrictLimit ? null : (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [
133
- _jsx("span", { className: "gd-icon-circle-question gd-rf-value-tooltip-icon s-rf-value-tooltip-icon" }), _jsx(Bubble, { className: `bubble-primary gd-rf-tooltip-bubble s-rf-value-tooltip`, alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: _jsx(FormattedMessage, { id: "rankingFilter.valueTooltip" }) })
134
- ] }))] }), isAttributesSectionEnabled ? (
135
- // The growing "out of" pills scroll in a single dedicated container so that wheel
136
- // events over the pills always scroll them. The condition row stays outside: the
137
- // value input's suggestion menu renders inline (not portaled), so a scrollable
138
- // ancestor around it would clip the open menu.
139
- _jsx("div", { className: "gd-rf-attributes-scroll-container", children: _jsx(RankingAttributesSection, { attributes: attributeItemsState, insightAttributes: insightAttributes, catalogAttributes: catalogAttributes, loadCatalogAttributes: loadCatalogAttributes, onAttributesChange: handleAttributesChange, isMigratedFilter: isMigratedFilter }) })) : (_jsxs(_Fragment, { children: [
140
- _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.outOf" }) }), _jsx(AttributeDropdown, { items: attributeItems, selectedItemRef: attribute, onSelect: setAttribute, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection })
141
- ] })), _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.basedOn" }) }), _jsx(MeasureDropdown, { items: measureItems, selectedItemRef: measure, onSelect: setMeasureIdentifier, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, renderMeasureDropdownBody: renderMeasureDropdownBody }), enableRankingWithMvf ? (_jsx("div", { className: "gd-rf-apply-on-result", children: _jsxs("label", { className: "input-checkbox-label gd-rf-apply-on-result-checkbox", "data-testid": "rf-apply-on-result", children: [
142
- _jsx("input", { type: "checkbox", name: "apply-on-result", className: "input-checkbox", checked: applyOnResult, onChange: handleApplyOnResultChange }), _jsx("span", { className: "input-label-text", children: intl.formatMessage({
131
+ }), children: [_jsx(OperatorDropdown, { selectedValue: operator, selectedStrictLimitOfRows: strictLimitOfRows, enableRankingStrictLimit: enableRankingStrictLimit, limitValue: value, onSelect: handleConditionSelect }), _jsx(ValueDropdown, { selectedValue: value, onSelect: setValue }), enableRankingStrictLimit ? null : (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [_jsx("span", { className: "gd-icon-circle-question gd-rf-value-tooltip-icon s-rf-value-tooltip-icon" }), _jsx(Bubble, { className: `bubble-primary gd-rf-tooltip-bubble s-rf-value-tooltip`, alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: _jsx(FormattedMessage, { id: "rankingFilter.valueTooltip" }) })] }))] }), isAttributesSectionEnabled ? (_jsx("div", { className: "gd-rf-attributes-scroll-container", children: _jsx(RankingAttributesSection, { attributes: attributeItemsState, insightAttributes: insightAttributes, catalogAttributes: catalogAttributes, loadCatalogAttributes: loadCatalogAttributes, onAttributesChange: handleAttributesChange, isMigratedFilter: isMigratedFilter }) })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.outOf" }) }), _jsx(AttributeDropdown, { items: attributeItems, selectedItemRef: attribute, onSelect: setAttribute, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection })] })), _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.basedOn" }) }), _jsx(MeasureDropdown, { items: measureItems, selectedItemRef: measure, onSelect: setMeasureIdentifier, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, renderMeasureDropdownBody: renderMeasureDropdownBody }), enableRankingWithMvf ? (_jsx("div", { className: "gd-rf-apply-on-result", children: _jsxs("label", { className: "input-checkbox-label gd-rf-apply-on-result-checkbox", "data-testid": "rf-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({
143
132
  id: "rankingFilter.applyOnResultLabel",
144
- }) })
145
- ] }) })) : null, _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.preview" }) }), _jsx(Preview, { measure: selectedMeasure, attribute: previewAttribute, operator: operator, value: value, enableRankingStrictLimit: enableRankingStrictLimit, strictLimitOfRows: strictLimitOfRows })
146
- ] }), _jsxs("div", { className: "gd-rf-dropdown-footer", children: [
147
- _jsx(Button, { className: "gd-button-secondary gd-button-small s-rf-dropdown-cancel", onClick: () => onCancel(), value: intl.formatMessage({ id: "cancel" }) }), _jsx(Button, { className: "gd-button-action gd-button-small s-rf-dropdown-apply", onClick: applyHandler, value: intl.formatMessage({ id: "apply" }), disabled: isAttributesSelectionInvalid ||
133
+ }) })] }) })) : null, _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.preview" }) }), _jsx(Preview, { measure: selectedMeasure, attribute: previewAttribute, operator: operator, value: value, enableRankingStrictLimit: enableRankingStrictLimit, strictLimitOfRows: strictLimitOfRows })] }), _jsxs("div", { className: "gd-rf-dropdown-footer", children: [_jsx(Button, { className: "gd-button-secondary gd-button-small s-rf-dropdown-cancel", onClick: () => onCancel(), value: intl.formatMessage({ id: "cancel" }) }), _jsx(Button, { className: "gd-button-action gd-button-small s-rf-dropdown-apply", onClick: applyHandler, value: intl.formatMessage({ id: "apply" }), disabled: isAttributesSelectionInvalid ||
148
134
  isApplyButtonDisabled(
149
135
  // Compare against the seeded baseline so reusing the insight defaults (unchanged)
150
136
  // keeps Apply disabled and does not persist the defaults.
@@ -153,7 +139,5 @@ export function RankingFilterDropdownBody({ measureItems, attributeItems, filter
153
139
  ...rankingFilter,
154
140
  attributes: baselineAttributes.length ? baselineAttributes : undefined,
155
141
  },
156
- }, getFilterState(), enableRankingWithMvf, applyOnResult, enableRankingStrictLimit, strictLimitOfRows) })
157
- ] })
158
- ] }));
142
+ }, getFilterState(), enableRankingWithMvf, applyOnResult, enableRankingStrictLimit, strictLimitOfRows) })] })] }));
159
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/RankingFilter/ValueDropdown/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAwBjF,eAAO,MAAM,mBAAmB,4BAM/B,CAAC;AAEF,eAAO,MAAM,aAAa,yDAezB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/RankingFilter/ValueDropdown/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAwBjF,eAAO,MAAM,mBAAmB,UAAW,MAAM,KAAG,OAMnD,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,MAAM,QAAQ,SAAS,KAAG,iBAAiB,EAe/E,CAAC"}
@@ -538,8 +538,8 @@ export declare const DateFilterHelpers: {
538
538
  defaultDateFilterOptions: IDateFilterOptionsByType;
539
539
  canExcludeCurrentPeriod: (dateFilterOption: DateFilterOption) => boolean;
540
540
  mapOptionToAfm: (value: DateFilterOption, dateDataSet: ObjRef, excludeCurrentPeriod: boolean) => IDateFilter | null;
541
- formatAbsoluteDateRange: (from: string | Date, to: string | Date, dateFormat: string, splitter?: string) => string;
542
- formatRelativeDateRange: (from: number, to: number, granularity: DateFilterGranularity, translator: IDateAndMessageTranslator, labelMode: DateFilterLabelMode, boundedFilter?: ILowerBoundedFilter | IUpperBoundedFilter | undefined) => string;
541
+ formatAbsoluteDateRange: (from: Date | string, to: Date | string, dateFormat: string, splitter?: string) => string;
542
+ formatRelativeDateRange: (from: number, to: number, granularity: DateFilterGranularity, translator: IDateAndMessageTranslator, labelMode: DateFilterLabelMode, boundedFilter?: IUpperBoundedFilter | ILowerBoundedFilter) => string;
543
543
  filterVisibleDateFilterOptions: typeof filterVisibleDateFilterOptions;
544
544
  };
545
545
 
@@ -3244,6 +3244,16 @@ export declare interface IDateFilterOwnProps extends IDateFilterStatePropsInters
3244
3244
  * @defaultValue false
3245
3245
  */
3246
3246
  isSecondsForAbsoluteRangeEnabled?: boolean;
3247
+ /**
3248
+ * Enables Day/Week/Month/Quarter/Year granularity switching for the absolute (static) date filter.
3249
+ *
3250
+ * @remarks
3251
+ * Defaults to `false` to keep backward compatibility. Dashboard apps should control this
3252
+ * via a feature flag and explicitly opt-in.
3253
+ *
3254
+ * @alpha
3255
+ */
3256
+ isAbsoluteDateFilterGranularityEnabled?: boolean;
3247
3257
  showDropDownHeaderMessage?: boolean;
3248
3258
  weekStart?: WeekStart;
3249
3259
  /**
@@ -3389,6 +3399,7 @@ export declare interface IDateFilterStatePropsIntersection {
3389
3399
  */
3390
3400
  export declare interface IDateTranslator {
3391
3401
  formatDate: IntlShape["formatDate"];
3402
+ locale?: string;
3392
3403
  }
3393
3404
 
3394
3405
  /**
@@ -17,7 +17,5 @@ export function FilterButtonCustomIcon({ customIcon, disabled }) {
17
17
  const classNames = cx(["gd-filter-button-custom-icon-wrapper", "s-gd-filter-button-custom-icon-wrapper"], {
18
18
  "disabled s-disabled": disabled,
19
19
  });
20
- return (_jsx("div", { className: classNames, children: _jsxs(BubbleHoverTrigger, { children: [
21
- _jsx("i", { className: `gd-filter-button-custom-icon s-gd-filter-button-custom-icon ${icon}` }), _jsx(Bubble, { className: `bubble-primary ${bubbleClassNames || ""}`, alignPoints: bubbleAlignPoints || DEFAULT_BUBBLE_ALIGN_POINTS, children: tooltip })
22
- ] }) }));
20
+ return (_jsx("div", { className: classNames, children: _jsxs(BubbleHoverTrigger, { children: [_jsx("i", { className: `gd-filter-button-custom-icon s-gd-filter-button-custom-icon ${icon}` }), _jsx(Bubble, { className: `bubble-primary ${bubbleClassNames || ""}`, alignPoints: bubbleAlignPoints || DEFAULT_BUBBLE_ALIGN_POINTS, children: tooltip })] }) }));
23
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-filters",
3
- "version": "11.55.0",
3
+ "version": "11.56.0-alpha.1",
4
4
  "description": "GoodData.UI SDK - Filter Components",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -47,11 +47,11 @@
47
47
  "ts-invariant": "0.10.3",
48
48
  "tslib": "2.8.1",
49
49
  "uuid": "11.1.1",
50
- "@gooddata/sdk-ui": "11.55.0",
51
- "@gooddata/sdk-model": "11.55.0",
52
- "@gooddata/sdk-ui-kit": "11.55.0",
53
- "@gooddata/sdk-backend-spi": "11.55.0",
54
- "@gooddata/util": "11.55.0"
50
+ "@gooddata/sdk-backend-spi": "11.56.0-alpha.1",
51
+ "@gooddata/sdk-model": "11.56.0-alpha.1",
52
+ "@gooddata/sdk-ui": "11.56.0-alpha.1",
53
+ "@gooddata/sdk-ui-kit": "11.56.0-alpha.1",
54
+ "@gooddata/util": "11.56.0-alpha.1"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@microsoft/api-documenter": "7.30.10",
@@ -65,7 +65,7 @@
65
65
  "@types/react-dom": "19.1.7",
66
66
  "@typescript-eslint/eslint-plugin": "8.58.0",
67
67
  "@typescript-eslint/parser": "8.58.0",
68
- "@typescript/native-preview": "7.0.0-dev.20260202.1",
68
+ "@typescript/native-preview": "7.0.0-dev.20260501.1",
69
69
  "dependency-cruiser": "17.3.10",
70
70
  "eslint": "^9.39.2",
71
71
  "eslint-plugin-headers": "1.3.3",
@@ -85,17 +85,17 @@
85
85
  "raf": "3.4.1",
86
86
  "react": "19.1.1",
87
87
  "react-dom": "19.1.1",
88
- "sass": "1.77.1",
88
+ "sass": "1.78.0",
89
89
  "stylelint": "16.26.1",
90
90
  "typescript": "5.9.3",
91
91
  "vitest": "4.1.8",
92
92
  "vitest-dom": "0.1.1",
93
- "@gooddata/oxlint-config": "11.55.0",
94
- "@gooddata/sdk-backend-mockingbird": "11.55.0",
95
- "@gooddata/eslint-config": "11.55.0",
96
- "@gooddata/sdk-ui-theme-provider": "11.55.0",
97
- "@gooddata/stylelint-config": "11.55.0",
98
- "@gooddata/reference-workspace": "11.55.0"
93
+ "@gooddata/eslint-config": "11.56.0-alpha.1",
94
+ "@gooddata/oxlint-config": "11.56.0-alpha.1",
95
+ "@gooddata/reference-workspace": "11.56.0-alpha.1",
96
+ "@gooddata/sdk-backend-mockingbird": "11.56.0-alpha.1",
97
+ "@gooddata/sdk-ui-theme-provider": "11.56.0-alpha.1",
98
+ "@gooddata/stylelint-config": "11.56.0-alpha.1"
99
99
  },
100
100
  "peerDependencies": {
101
101
  "react": "^18.0.0 || ^19.0.0",