@gooddata/sdk-ui-filters 11.23.0 → 11.24.0-alpha.2

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 (213) hide show
  1. package/esm/AttributeFilter/AttributeFilterDefaultComponents.d.ts.map +1 -1
  2. package/esm/AttributeFilter/AttributeFilterDefaultComponents.js +5 -1
  3. package/esm/AttributeFilter/AttributeFilterDefaultComponents.js.map +1 -1
  4. package/esm/AttributeFilter/AttributeFilterProviders.d.ts.map +1 -1
  5. package/esm/AttributeFilter/AttributeFilterProviders.js +2 -2
  6. package/esm/AttributeFilter/AttributeFilterProviders.js.map +1 -1
  7. package/esm/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.d.ts.map +1 -1
  8. package/esm/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.js +3 -2
  9. package/esm/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.js.map +1 -1
  10. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.d.ts +25 -0
  11. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.d.ts.map +1 -0
  12. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.js +54 -0
  13. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.js.map +1 -0
  14. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.d.ts.map +1 -1
  15. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.js +14 -5
  16. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.js.map +1 -1
  17. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.d.ts +7 -1
  18. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.d.ts.map +1 -1
  19. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.js +4 -4
  20. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.js.map +1 -1
  21. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.d.ts.map +1 -1
  22. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.js +57 -5
  23. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.js.map +1 -1
  24. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.d.ts +59 -0
  25. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.d.ts.map +1 -0
  26. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.js +19 -0
  27. package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.js.map +1 -0
  28. package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.js.map +1 -1
  29. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenu.d.ts +41 -0
  30. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenu.d.ts.map +1 -0
  31. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenu.js +49 -0
  32. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenu.js.map +1 -0
  33. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuButton.d.ts +22 -0
  34. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuButton.d.ts.map +1 -0
  35. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuButton.js +21 -0
  36. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuButton.js.map +1 -0
  37. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuItem.d.ts +27 -0
  38. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuItem.d.ts.map +1 -0
  39. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuItem.js +21 -0
  40. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuItem.js.map +1 -0
  41. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuLabelItem.d.ts +27 -0
  42. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuLabelItem.d.ts.map +1 -0
  43. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuLabelItem.js +12 -0
  44. package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuLabelItem.js.map +1 -0
  45. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.d.ts +60 -0
  46. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.d.ts.map +1 -0
  47. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.js +158 -0
  48. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.js.map +1 -0
  49. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesTooltip.d.ts +7 -0
  50. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesTooltip.d.ts.map +1 -0
  51. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesTooltip.js +22 -0
  52. package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesTooltip.js.map +1 -0
  53. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.d.ts +90 -0
  54. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.d.ts.map +1 -0
  55. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.js +42 -0
  56. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.js.map +1 -0
  57. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterOperatorDropdown.d.ts +33 -0
  58. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterOperatorDropdown.d.ts.map +1 -0
  59. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterOperatorDropdown.js +56 -0
  60. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterOperatorDropdown.js.map +1 -0
  61. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.d.ts +29 -0
  62. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.d.ts.map +1 -0
  63. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.js +50 -0
  64. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.js.map +1 -0
  65. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterValidationMessages.d.ts +34 -0
  66. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterValidationMessages.d.ts.map +1 -0
  67. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterValidationMessages.js +14 -0
  68. package/esm/AttributeFilter/Components/TextFilterBody/TextFilterValidationMessages.js.map +1 -0
  69. package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.d.ts +12 -0
  70. package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.d.ts.map +1 -0
  71. package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.js +25 -0
  72. package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.js.map +1 -0
  73. package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.d.ts +4 -0
  74. package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.d.ts.map +1 -1
  75. package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.js +3 -1
  76. package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.js.map +1 -1
  77. package/esm/AttributeFilter/filterModeTypes.d.ts +21 -0
  78. package/esm/AttributeFilter/filterModeTypes.d.ts.map +1 -0
  79. package/esm/AttributeFilter/filterModeTypes.js +3 -0
  80. package/esm/AttributeFilter/filterModeTypes.js.map +1 -0
  81. package/esm/AttributeFilter/filterModeUtils.d.ts +45 -0
  82. package/esm/AttributeFilter/filterModeUtils.d.ts.map +1 -0
  83. package/esm/AttributeFilter/filterModeUtils.js +104 -0
  84. package/esm/AttributeFilter/filterModeUtils.js.map +1 -0
  85. package/esm/AttributeFilter/hooks/types.d.ts +270 -38
  86. package/esm/AttributeFilter/hooks/types.d.ts.map +1 -1
  87. package/esm/AttributeFilter/hooks/types.js +1 -1
  88. package/esm/AttributeFilter/hooks/useAttributeFilterController.d.ts.map +1 -1
  89. package/esm/AttributeFilter/hooks/useAttributeFilterController.js +210 -595
  90. package/esm/AttributeFilter/hooks/useAttributeFilterController.js.map +1 -1
  91. package/esm/AttributeFilter/hooks/useAttributeFilterControllerData.d.ts.map +1 -1
  92. package/esm/AttributeFilter/hooks/useAttributeFilterControllerData.js +2 -0
  93. package/esm/AttributeFilter/hooks/useAttributeFilterControllerData.js.map +1 -1
  94. package/esm/AttributeFilter/hooks/useAttributeFilterDetails.d.ts +26 -0
  95. package/esm/AttributeFilter/hooks/useAttributeFilterDetails.d.ts.map +1 -0
  96. package/esm/AttributeFilter/hooks/useAttributeFilterDetails.js +59 -0
  97. package/esm/AttributeFilter/hooks/useAttributeFilterDetails.js.map +1 -0
  98. package/esm/AttributeFilter/hooks/useAttributeFilterHandler.d.ts +1 -1
  99. package/esm/AttributeFilter/hooks/useAttributeFilterHandler.d.ts.map +1 -1
  100. package/esm/AttributeFilter/hooks/useAttributeFilterHandler.js +12 -2
  101. package/esm/AttributeFilter/hooks/useAttributeFilterHandler.js.map +1 -1
  102. package/esm/AttributeFilter/hooks/useAttributeFilterHandlerMethods.d.ts +1 -1
  103. package/esm/AttributeFilter/hooks/useElementsFilterController.d.ts +49 -0
  104. package/esm/AttributeFilter/hooks/useElementsFilterController.d.ts.map +1 -0
  105. package/esm/AttributeFilter/hooks/useElementsFilterController.js +672 -0
  106. package/esm/AttributeFilter/hooks/useElementsFilterController.js.map +1 -0
  107. package/esm/AttributeFilter/hooks/useFilterDetailRequestHandler.d.ts +13 -0
  108. package/esm/AttributeFilter/hooks/useFilterDetailRequestHandler.d.ts.map +1 -0
  109. package/esm/AttributeFilter/hooks/useFilterDetailRequestHandler.js +22 -0
  110. package/esm/AttributeFilter/hooks/useFilterDetailRequestHandler.js.map +1 -0
  111. package/esm/AttributeFilter/hooks/useResolveAttributeFilterSubtitle.d.ts +2 -2
  112. package/esm/AttributeFilter/hooks/useResolveAttributeFilterSubtitle.d.ts.map +1 -1
  113. package/esm/AttributeFilter/hooks/useResolveAttributeFilterSubtitle.js +10 -3
  114. package/esm/AttributeFilter/hooks/useResolveAttributeFilterSubtitle.js.map +1 -1
  115. package/esm/AttributeFilter/hooks/useResolveFilterInput.d.ts.map +1 -1
  116. package/esm/AttributeFilter/hooks/useResolveFilterInput.js +1 -1
  117. package/esm/AttributeFilter/hooks/useResolveFilterInput.js.map +1 -1
  118. package/esm/AttributeFilter/hooks/useTextFilterController.d.ts +33 -0
  119. package/esm/AttributeFilter/hooks/useTextFilterController.d.ts.map +1 -0
  120. package/esm/AttributeFilter/hooks/useTextFilterController.js +116 -0
  121. package/esm/AttributeFilter/hooks/useTextFilterController.js.map +1 -0
  122. package/esm/AttributeFilter/hooks/useTextFilterInnerController.d.ts +60 -0
  123. package/esm/AttributeFilter/hooks/useTextFilterInnerController.d.ts.map +1 -0
  124. package/esm/AttributeFilter/hooks/useTextFilterInnerController.js +209 -0
  125. package/esm/AttributeFilter/hooks/useTextFilterInnerController.js.map +1 -0
  126. package/esm/AttributeFilter/parseArbitraryValues.d.ts +12 -0
  127. package/esm/AttributeFilter/parseArbitraryValues.d.ts.map +1 -0
  128. package/esm/AttributeFilter/parseArbitraryValues.js +38 -0
  129. package/esm/AttributeFilter/parseArbitraryValues.js.map +1 -0
  130. package/esm/AttributeFilter/textFilterOperatorUtils.d.ts +66 -0
  131. package/esm/AttributeFilter/textFilterOperatorUtils.d.ts.map +1 -0
  132. package/esm/AttributeFilter/textFilterOperatorUtils.js +131 -0
  133. package/esm/AttributeFilter/textFilterOperatorUtils.js.map +1 -0
  134. package/esm/AttributeFilter/textFilterStateSummaryUtils.d.ts +24 -0
  135. package/esm/AttributeFilter/textFilterStateSummaryUtils.d.ts.map +1 -0
  136. package/esm/AttributeFilter/textFilterStateSummaryUtils.js +75 -0
  137. package/esm/AttributeFilter/textFilterStateSummaryUtils.js.map +1 -0
  138. package/esm/AttributeFilter/types.d.ts +52 -3
  139. package/esm/AttributeFilter/types.d.ts.map +1 -1
  140. package/esm/AttributeFilter/utils.d.ts +9 -0
  141. package/esm/AttributeFilter/utils.d.ts.map +1 -1
  142. package/esm/AttributeFilter/utils.js +28 -1
  143. package/esm/AttributeFilter/utils.js.map +1 -1
  144. package/esm/AttributeFilterHandler/internal/bridge.d.ts +1 -1
  145. package/esm/AttributeFilterHandler/internal/bridge.d.ts.map +1 -1
  146. package/esm/AttributeFilterHandler/internal/bridge.js +2 -1
  147. package/esm/AttributeFilterHandler/internal/bridge.js.map +1 -1
  148. package/esm/AttributeFilterHandler/internal/loader.d.ts +1 -1
  149. package/esm/AttributeFilterHandler/internal/loader.d.ts.map +1 -1
  150. package/esm/AttributeFilterHandler/internal/loader.js +2 -2
  151. package/esm/AttributeFilterHandler/internal/loader.js.map +1 -1
  152. package/esm/AttributeFilterHandler/internal/redux/init/initReducers.d.ts +1 -0
  153. package/esm/AttributeFilterHandler/internal/redux/init/initReducers.d.ts.map +1 -1
  154. package/esm/AttributeFilterHandler/internal/redux/init/initReducers.js.map +1 -1
  155. package/esm/AttributeFilterHandler/internal/redux/init/initSaga.d.ts.map +1 -1
  156. package/esm/AttributeFilterHandler/internal/redux/init/initSaga.js +7 -1
  157. package/esm/AttributeFilterHandler/internal/redux/init/initSaga.js.map +1 -1
  158. package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSaga.d.ts.map +1 -1
  159. package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSaga.js +23 -18
  160. package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSaga.js.map +1 -1
  161. package/esm/AttributeFilterHandler/internal/redux/store/createStore.d.ts.map +1 -1
  162. package/esm/AttributeFilterHandler/internal/redux/store/createStore.js +3 -0
  163. package/esm/AttributeFilterHandler/internal/redux/store/createStore.js.map +1 -1
  164. package/esm/AttributeFilterHandler/internal/redux/store/rootReducers.d.ts +1 -0
  165. package/esm/AttributeFilterHandler/internal/redux/store/rootReducers.d.ts.map +1 -1
  166. package/esm/AttributeFilterHandler/internal/redux/store/slice.d.ts +1 -0
  167. package/esm/AttributeFilterHandler/internal/redux/store/slice.d.ts.map +1 -1
  168. package/esm/AttributeFilterHandler/internal/singleSelectHandler.d.ts.map +1 -1
  169. package/esm/AttributeFilterHandler/internal/singleSelectHandler.js +3 -0
  170. package/esm/AttributeFilterHandler/internal/singleSelectHandler.js.map +1 -1
  171. package/esm/AttributeFilterHandler/types/attributeFilterLoader.d.ts +2 -1
  172. package/esm/AttributeFilterHandler/types/attributeFilterLoader.d.ts.map +1 -1
  173. package/esm/AttributeFilterHandler/types/attributeFilterLoader.js +1 -0
  174. package/esm/AttributeFilterHandler/types/attributeFilterLoader.js.map +1 -1
  175. package/esm/AttributeFilterHandler/types/common.d.ts.map +1 -1
  176. package/esm/AttributeFilterHandler/types/common.js +1 -2
  177. package/esm/AttributeFilterHandler/types/common.js.map +1 -1
  178. package/esm/AttributeFilterHandler/types/elementsLoader.d.ts +1 -1
  179. package/esm/AttributeFilterHandler/types/elementsLoader.d.ts.map +1 -1
  180. package/esm/AttributeFilterHandler/types/elementsLoader.js +1 -1
  181. package/esm/MeasureValueFilter/useLazyCatalogDimensionality.js +0 -1
  182. package/esm/MeasureValueFilter/useLazyCatalogDimensionality.js.map +1 -1
  183. package/esm/index.d.ts +13 -3
  184. package/esm/index.d.ts.map +1 -1
  185. package/esm/index.js +12 -1
  186. package/esm/index.js.map +1 -1
  187. package/esm/locales.d.ts.map +1 -1
  188. package/esm/locales.js +7 -0
  189. package/esm/locales.js.map +1 -1
  190. package/esm/sdk-ui-filters.d.ts +880 -189
  191. package/package.json +12 -12
  192. package/styles/css/attributeFilter.css +503 -0
  193. package/styles/css/attributeFilter.css.map +1 -1
  194. package/styles/css/attributeFilterNext/attributeFilterDetailsBubble.css +104 -0
  195. package/styles/css/attributeFilterNext/attributeFilterDetailsBubble.css.map +1 -0
  196. package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css +35 -0
  197. package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css.map +1 -1
  198. package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css +2 -0
  199. package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css.map +1 -1
  200. package/styles/css/attributeFilterNext/filterModeMenu.css +102 -0
  201. package/styles/css/attributeFilterNext/filterModeMenu.css.map +1 -0
  202. package/styles/css/attributeFilterNext/textFilterBody.css +265 -0
  203. package/styles/css/attributeFilterNext/textFilterBody.css.map +1 -0
  204. package/styles/css/attributeFilterNext.css +503 -0
  205. package/styles/css/attributeFilterNext.css.map +1 -1
  206. package/styles/css/main.css +503 -0
  207. package/styles/css/main.css.map +1 -1
  208. package/styles/scss/attributeFilterNext/attributeFilterDetailsBubble.scss +108 -0
  209. package/styles/scss/attributeFilterNext/attributeFilterDropdownBody.scss +35 -0
  210. package/styles/scss/attributeFilterNext/attributeFilterDropdownButton.scss +2 -0
  211. package/styles/scss/attributeFilterNext/filterModeMenu.scss +122 -0
  212. package/styles/scss/attributeFilterNext/textFilterBody.scss +323 -0
  213. package/styles/scss/attributeFilterNext.scss +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterDefaultComponents.d.ts","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterDefaultComponents.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,oCAAoC,CAc3F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mCAAmC,mGAc/C,CAAC"}
1
+ {"version":3,"file":"AttributeFilterDefaultComponents.d.ts","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterDefaultComponents.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,oCAAoC,CAgB3F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mCAAmC,mGAc/C,CAAC"}
@@ -1,4 +1,4 @@
1
- // (C) 2022-2025 GoodData Corporation
1
+ // (C) 2022-2026 GoodData Corporation
2
2
  import { AttributeFilterError } from "./Components/AttributeFilterError.js";
3
3
  import { AttributeFilterLoading } from "./Components/AttributeFilterLoading.js";
4
4
  import { AttributeFilterDropdownActions } from "./Components/Dropdown/AttributeFilterDropdownActions.js";
@@ -16,6 +16,8 @@ import { SingleSelectionAttributeFilterElementsSelectActions } from "./Component
16
16
  import { SingleSelectionAttributeFilterElementsSelectItem } from "./Components/ElementsSelect/SingleSelectionAttributeFilterElementsSelectItem.js";
17
17
  import { AttributeFilterStatusBar } from "./Components/ElementsSelect/StatusBar/AttributeFilterStatusBar.js";
18
18
  import { SingleSelectionAttributeFilterStatusBar } from "./Components/ElementsSelect/StatusBar/SingleSelectionAttributeFilterStatusBar.js";
19
+ import { FilterModeMenu } from "./Components/FilterModeMenu/FilterModeMenu.js";
20
+ import { TextFilterBody } from "./Components/TextFilterBody/TextFilterBody.js";
19
21
  /**
20
22
  * @internal
21
23
  */
@@ -33,6 +35,8 @@ export const AttributeFilterDefaultComponents = {
33
35
  ElementsSelectActionsComponent: AttributeFilterElementsActions,
34
36
  EmptyResultComponent: AttributeFilterEmptyResult,
35
37
  StatusBarComponent: AttributeFilterStatusBar,
38
+ FilterModeMenuComponent: FilterModeMenu,
39
+ TextFilterBodyComponent: TextFilterBody,
36
40
  };
37
41
  /**
38
42
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterDefaultComponents.js","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterDefaultComponents.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yDAAyD,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,6CAA6C,EAAE,MAAM,wEAAwE,CAAC;AACvI,OAAO,EAAE,6BAA6B,EAAE,MAAM,8DAA8D,CAAC;AAC7G,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,EAAE,gCAAgC,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,EAAE,6BAA6B,EAAE,MAAM,8DAA8D,CAAC;AAC7G,OAAO,EAAE,kCAAkC,EAAE,MAAM,mEAAmE,CAAC;AACvH,OAAO,EAAE,iCAAiC,EAAE,MAAM,kEAAkE,CAAC;AACrH,OAAO,EAAE,oCAAoC,EAAE,MAAM,qEAAqE,CAAC;AAC3H,OAAO,EAAE,0BAA0B,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,EAAE,mDAAmD,EAAE,MAAM,8EAA8E,CAAC;AACnJ,OAAO,EAAE,gDAAgD,EAAE,MAAM,iFAAiF,CAAC;AACnJ,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,uCAAuC,EAAE,MAAM,kFAAkF,CAAC;AAG3I;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAmD;IAC5F,cAAc,EAAE,oBAAoB;IACpC,gBAAgB,EAAE,sBAAsB;IACxC,uBAAuB,EAAE,6BAA6B;IACtD,qBAAqB,EAAE,2BAA2B;IAClD,wBAAwB,EAAE,8BAA8B;IACxD,0BAA0B,EAAE,gCAAgC;IAC5D,uBAAuB,EAAE,6BAA6B;IACtD,2BAA2B,EAAE,iCAAiC;IAC9D,4BAA4B,EAAE,kCAAkC;IAChE,8BAA8B,EAAE,oCAAoC;IACpE,8BAA8B,EAAE,8BAA8B;IAC9D,oBAAoB,EAAE,0BAA0B;IAChD,kBAAkB,EAAE,wBAAwB;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,EAChD,aAAa,GACW,EAAkD,EAAE,CAAC;IAC7E,OAAO;QACH,GAAG,gCAAgC;QACnC,GAAG,CAAC,aAAa,KAAK,QAAQ;YAC1B,CAAC,CAAC;gBACI,2BAA2B,EAAE,gDAAgD;gBAC7E,8BAA8B,EAAE,mDAAmD;gBACnF,kBAAkB,EAAE,uCAAuC;gBAC3D,wBAAwB,EAAE,6CAA6C;aAC1E;YACH,CAAC,CAAC,EAAE,CAAC;KACZ,CAAC;AAAA,CACL,CAAC"}
1
+ {"version":3,"file":"AttributeFilterDefaultComponents.js","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterDefaultComponents.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yDAAyD,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,6CAA6C,EAAE,MAAM,wEAAwE,CAAC;AACvI,OAAO,EAAE,6BAA6B,EAAE,MAAM,8DAA8D,CAAC;AAC7G,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,EAAE,gCAAgC,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,EAAE,6BAA6B,EAAE,MAAM,8DAA8D,CAAC;AAC7G,OAAO,EAAE,kCAAkC,EAAE,MAAM,mEAAmE,CAAC;AACvH,OAAO,EAAE,iCAAiC,EAAE,MAAM,kEAAkE,CAAC;AACrH,OAAO,EAAE,oCAAoC,EAAE,MAAM,qEAAqE,CAAC;AAC3H,OAAO,EAAE,0BAA0B,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,EAAE,mDAAmD,EAAE,MAAM,8EAA8E,CAAC;AACnJ,OAAO,EAAE,gDAAgD,EAAE,MAAM,iFAAiF,CAAC;AACnJ,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,uCAAuC,EAAE,MAAM,kFAAkF,CAAC;AAC3I,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAG/E;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAmD;IAC5F,cAAc,EAAE,oBAAoB;IACpC,gBAAgB,EAAE,sBAAsB;IACxC,uBAAuB,EAAE,6BAA6B;IACtD,qBAAqB,EAAE,2BAA2B;IAClD,wBAAwB,EAAE,8BAA8B;IACxD,0BAA0B,EAAE,gCAAgC;IAC5D,uBAAuB,EAAE,6BAA6B;IACtD,2BAA2B,EAAE,iCAAiC;IAC9D,4BAA4B,EAAE,kCAAkC;IAChE,8BAA8B,EAAE,oCAAoC;IACpE,8BAA8B,EAAE,8BAA8B;IAC9D,oBAAoB,EAAE,0BAA0B;IAChD,kBAAkB,EAAE,wBAAwB;IAC5C,uBAAuB,EAAE,cAAc;IACvC,uBAAuB,EAAE,cAAc;CAC1C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,EAChD,aAAa,GACW,EAAkD,EAAE,CAAC;IAC7E,OAAO;QACH,GAAG,gCAAgC;QACnC,GAAG,CAAC,aAAa,KAAK,QAAQ;YAC1B,CAAC,CAAC;gBACI,2BAA2B,EAAE,gDAAgD;gBAC7E,8BAA8B,EAAE,mDAAmD;gBACnF,kBAAkB,EAAE,uCAAuC;gBAC3D,wBAAwB,EAAE,6CAA6C;aAC1E;YACH,CAAC,CAAC,EAAE,CAAC;KACZ,CAAC;AAAA,CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterProviders.d.ts","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterProviders.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAiHlG"}
1
+ {"version":3,"file":"AttributeFilterProviders.d.ts","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterProviders.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAwHlG"}
@@ -7,8 +7,8 @@ import { AttributeFilterContextProvider } from "./Context/AttributeFilterContext
7
7
  * @internal
8
8
  */
9
9
  export function AttributeFilterProviders(props) {
10
- const { resetOnParentFilterChange = true, children, locale, backend, workspace, title, filter, workingFilter, displayAsLabel, connectToPlaceholder, parentFilters, dependentDateFilters, parentFilterOverAttribute, validateElementsBy, hiddenElements, staticElements, fullscreenOnMobile = false, selectionMode = "multi", selectFirst = false, disabled, customIcon, withoutApply = false, overlayPositionType, alignPoints, onApply, onSelect, onError, onInitLoadingChanged, ErrorComponent, LoadingComponent, DropdownButtonComponent, DropdownBodyComponent, DropdownActionsComponent, ElementsSearchBarComponent, ElementsSelectComponent, ElementsSelectItemComponent, ElementsSelectErrorComponent, ElementsSelectLoadingComponent, ElementsSelectActionsComponent, EmptyResultComponent, StatusBarComponent, enableImmediateAttributeFilterDisplayAsLabelMigration = false, } = props;
10
+ const { resetOnParentFilterChange = true, children, locale, backend, workspace, title, filter, workingFilter, displayAsLabel, connectToPlaceholder, parentFilters, dependentDateFilters, parentFilterOverAttribute, validateElementsBy, hiddenElements, staticElements, fullscreenOnMobile = false, selectionMode = "multi", selectFirst = false, disabled, customIcon, withoutApply = false, overlayPositionType, alignPoints, availableFilterModes, onApply, onChange, onSelect, onError, onInitLoadingChanged, ErrorComponent, LoadingComponent, DropdownButtonComponent, DropdownBodyComponent, DropdownActionsComponent, ElementsSearchBarComponent, ElementsSelectComponent, ElementsSelectItemComponent, ElementsSelectErrorComponent, ElementsSelectLoadingComponent, ElementsSelectActionsComponent, EmptyResultComponent, StatusBarComponent, FilterModeMenuComponent, TextFilterBodyComponent, enableImmediateAttributeFilterDisplayAsLabelMigration = false, } = props;
11
11
  const DefaultComponents = getAttributeFilterDefaultComponents(props);
12
- return (_jsx(IntlWrapper, { locale: locale, children: _jsx(AttributeFilterComponentsProvider, { ErrorComponent: ErrorComponent ?? DefaultComponents.ErrorComponent, LoadingComponent: LoadingComponent ?? DefaultComponents.LoadingComponent, DropdownButtonComponent: DropdownButtonComponent ?? DefaultComponents.DropdownButtonComponent, DropdownBodyComponent: DropdownBodyComponent ?? DefaultComponents.DropdownBodyComponent, DropdownActionsComponent: DropdownActionsComponent ?? DefaultComponents.DropdownActionsComponent, ElementsSearchBarComponent: ElementsSearchBarComponent ?? DefaultComponents.ElementsSearchBarComponent, ElementsSelectComponent: ElementsSelectComponent ?? DefaultComponents.ElementsSelectComponent, ElementsSelectItemComponent: ElementsSelectItemComponent ?? DefaultComponents.ElementsSelectItemComponent, ElementsSelectErrorComponent: ElementsSelectErrorComponent ?? DefaultComponents.ElementsSelectErrorComponent, ElementsSelectLoadingComponent: ElementsSelectLoadingComponent ?? DefaultComponents.ElementsSelectLoadingComponent, ElementsSelectActionsComponent: ElementsSelectActionsComponent ?? DefaultComponents.ElementsSelectActionsComponent, EmptyResultComponent: EmptyResultComponent ?? DefaultComponents.EmptyResultComponent, StatusBarComponent: StatusBarComponent ?? DefaultComponents.StatusBarComponent, children: _jsx(AttributeFilterContextProvider, { backend: backend, workspace: workspace, title: title, filter: filter, workingFilter: workingFilter, displayAsLabel: displayAsLabel, connectToPlaceholder: connectToPlaceholder, resetOnParentFilterChange: resetOnParentFilterChange, parentFilters: parentFilters, dependentDateFilters: dependentDateFilters, parentFilterOverAttribute: parentFilterOverAttribute, validateElementsBy: validateElementsBy, onApply: onApply, onSelect: onSelect, onError: onError, onInitLoadingChanged: onInitLoadingChanged, hiddenElements: hiddenElements, staticElements: staticElements, fullscreenOnMobile: fullscreenOnMobile, selectionMode: selectionMode, selectFirst: selectFirst, disabled: disabled, customIcon: customIcon, enableImmediateAttributeFilterDisplayAsLabelMigration: enableImmediateAttributeFilterDisplayAsLabelMigration, withoutApply: withoutApply, overlayPositionType: overlayPositionType, alignPoints: alignPoints, children: children }) }) }));
12
+ return (_jsx(IntlWrapper, { locale: locale, children: _jsx(AttributeFilterComponentsProvider, { ErrorComponent: ErrorComponent ?? DefaultComponents.ErrorComponent, LoadingComponent: LoadingComponent ?? DefaultComponents.LoadingComponent, DropdownButtonComponent: DropdownButtonComponent ?? DefaultComponents.DropdownButtonComponent, DropdownBodyComponent: DropdownBodyComponent ?? DefaultComponents.DropdownBodyComponent, DropdownActionsComponent: DropdownActionsComponent ?? DefaultComponents.DropdownActionsComponent, ElementsSearchBarComponent: ElementsSearchBarComponent ?? DefaultComponents.ElementsSearchBarComponent, ElementsSelectComponent: ElementsSelectComponent ?? DefaultComponents.ElementsSelectComponent, ElementsSelectItemComponent: ElementsSelectItemComponent ?? DefaultComponents.ElementsSelectItemComponent, ElementsSelectErrorComponent: ElementsSelectErrorComponent ?? DefaultComponents.ElementsSelectErrorComponent, ElementsSelectLoadingComponent: ElementsSelectLoadingComponent ?? DefaultComponents.ElementsSelectLoadingComponent, ElementsSelectActionsComponent: ElementsSelectActionsComponent ?? DefaultComponents.ElementsSelectActionsComponent, EmptyResultComponent: EmptyResultComponent ?? DefaultComponents.EmptyResultComponent, StatusBarComponent: StatusBarComponent ?? DefaultComponents.StatusBarComponent, FilterModeMenuComponent: FilterModeMenuComponent ?? DefaultComponents.FilterModeMenuComponent, TextFilterBodyComponent: TextFilterBodyComponent ?? DefaultComponents.TextFilterBodyComponent, children: _jsx(AttributeFilterContextProvider, { backend: backend, workspace: workspace, title: title, filter: filter, workingFilter: workingFilter, displayAsLabel: displayAsLabel, connectToPlaceholder: connectToPlaceholder, resetOnParentFilterChange: resetOnParentFilterChange, parentFilters: parentFilters, dependentDateFilters: dependentDateFilters, parentFilterOverAttribute: parentFilterOverAttribute, validateElementsBy: validateElementsBy, onApply: onApply, onChange: onChange ?? onSelect, onError: onError, onInitLoadingChanged: onInitLoadingChanged, hiddenElements: hiddenElements, staticElements: staticElements, fullscreenOnMobile: fullscreenOnMobile, selectionMode: selectionMode, selectFirst: selectFirst, disabled: disabled, customIcon: customIcon, enableImmediateAttributeFilterDisplayAsLabelMigration: enableImmediateAttributeFilterDisplayAsLabelMigration, withoutApply: withoutApply, overlayPositionType: overlayPositionType, alignPoints: alignPoints, availableFilterModes: availableFilterModes, children: children }) }) }));
13
13
  }
14
14
  //# sourceMappingURL=AttributeFilterProviders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterProviders.js","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterProviders.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AttributeFilterProviders.js","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterProviders.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeDisplayFormSelectItem.d.ts","sourceRoot":"","sources":["../../../../../src/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAwB7B;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACjD,WAAW,EAAE,mCAAmC,CAAC;IACjD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,oCAAoC,2CA6BzF"}
1
+ {"version":3,"file":"AttributeDisplayFormSelectItem.d.ts","sourceRoot":"","sources":["../../../../../src/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAyB7B;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACjD,WAAW,EAAE,mCAAmC,CAAC;IACjD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,oCAAoC,2CA6BzF"}
@@ -11,6 +11,7 @@ const getDisplayFormIcon = (type) => {
11
11
  case "GDC.geo.pin":
12
12
  case "GDC.geo.pin_latitude":
13
13
  case "GDC.geo.pin_longitude":
14
+ case "GDC.geo.area":
14
15
  return "gd-icon-earth";
15
16
  default:
16
17
  return "gd-icon-label-warning";
@@ -25,8 +26,8 @@ const tooltipAlignPoints = [
25
26
  */
26
27
  export function AttributeDisplayFormSelectItem(props) {
27
28
  const { displayForm, selected } = props;
28
- const { title, type } = displayForm;
29
- const className = classNames("gd-list-item", "gd-attribute-display-form", "s-attribute-display-form-name", `s-attribute-display-form-name-${simplifyText(title)}`, getDisplayFormIcon(type), {
29
+ const { title, displayFormType } = displayForm;
30
+ const className = classNames("gd-list-item", "gd-attribute-display-form", "s-attribute-display-form-name", `s-attribute-display-form-name-${simplifyText(title)}`, getDisplayFormIcon(displayFormType), {
30
31
  "is-selected": selected,
31
32
  });
32
33
  const handleOnClick = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeDisplayFormSelectItem.js","sourceRoot":"","sources":["../../../../../src/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.tsx"],"names":[],"mappings":";AAIA,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,CAAC,IAA8B,EAAE,EAAE,CAAC;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,UAAU;YACX,OAAO,2BAA2B,CAAC;QACvC,KAAK,WAAW;YACZ,OAAO,eAAe,CAAC;QAC3B,KAAK,aAAa,CAAC;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,uBAAuB;YACxB,OAAO,eAAe,CAAC;QAC3B;YACI,OAAO,uBAAuB,CAAC;IACvC,CAAC;AAAA,CACJ,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACvB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAC5C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;CAC9C,CAAC;AAWF;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAA2C,EAAE;IACxF,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAEpC,MAAM,SAAS,GAAG,UAAU,CACxB,cAAc,EACd,2BAA2B,EAC3B,+BAA+B,EAC/B,iCAAiC,YAAY,CAAC,KAAK,CAAC,EAAE,EACtD,kBAAkB,CAAC,IAAgC,CAAC,EACpD;QACI,aAAa,EAAE,QAAQ;KAC1B,CACJ,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAA6B,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAEvC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,cAAc,EAAE,CAAC;IAAA,CACtB,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,YAC7C,KAAC,aAAa,IAAC,SAAS,EAAC,gCAAgC,EAAC,kBAAkB,EAAE,kBAAkB,YAC3F,KAAK,GACM,GACd,CACT,CAAC;AAAA,CACL"}
1
+ {"version":3,"file":"AttributeDisplayFormSelectItem.js","sourceRoot":"","sources":["../../../../../src/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.tsx"],"names":[],"mappings":";AAIA,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,CAAC,IAAwC,EAAE,EAAE,CAAC;IACrE,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,UAAU;YACX,OAAO,2BAA2B,CAAC;QACvC,KAAK,WAAW;YACZ,OAAO,eAAe,CAAC;QAC3B,KAAK,aAAa,CAAC;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,cAAc;YACf,OAAO,eAAe,CAAC;QAC3B;YACI,OAAO,uBAAuB,CAAC;IACvC,CAAC;AAAA,CACJ,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACvB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAC5C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;CAC9C,CAAC;AAWF;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAA2C,EAAE;IACxF,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC;IAE/C,MAAM,SAAS,GAAG,UAAU,CACxB,cAAc,EACd,2BAA2B,EAC3B,+BAA+B,EAC/B,iCAAiC,YAAY,CAAC,KAAK,CAAC,EAAE,EACtD,kBAAkB,CAAC,eAAe,CAAC,EACnC;QACI,aAAa,EAAE,QAAQ;KAC1B,CACJ,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAA6B,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAEvC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,cAAc,EAAE,CAAC;IAAA,CACtB,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,YAC7C,KAAC,aAAa,IAAC,SAAS,EAAC,gCAAgC,EAAC,kBAAkB,EAAE,kBAAkB,YAC3F,KAAK,GACM,GACd,CACT,CAAC;AAAA,CACL"}
@@ -0,0 +1,25 @@
1
+ import { type IAttributeDisplayFormMetadataObject, type IAttributeElement, type IAttributeMetadataObject, type ObjRef } from "@gooddata/sdk-model";
2
+ /**
3
+ * Props for AttributeFilterDetailsBubble component.
4
+ *
5
+ * @internal
6
+ */
7
+ export interface IAttributeFilterDetailsBubbleProps {
8
+ /** The attribute metadata object (loaded by root component) */
9
+ attribute: IAttributeMetadataObject;
10
+ /** The display form (label) currently used by the filter */
11
+ label: IAttributeDisplayFormMetadataObject;
12
+ /** Callback triggered on bubble open; loads up to 5 sample elements */
13
+ requestHandler: (labelRef: ObjRef) => Promise<{
14
+ elements: IAttributeElement[];
15
+ totalCount: number;
16
+ }>;
17
+ }
18
+ /**
19
+ * Info bubble showing attribute details when the question mark icon is clicked.
20
+ * Displays attribute title, description, label name, and sample element values.
21
+ *
22
+ * @internal
23
+ */
24
+ export declare function AttributeFilterDetailsBubble({ attribute, label, requestHandler }: IAttributeFilterDetailsBubbleProps): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=AttributeFilterDetailsBubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeFilterDetailsBubble.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAM7B;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IAC/C,+DAA+D;IAC/D,SAAS,EAAE,wBAAwB,CAAC;IACpC,4DAA4D;IAC5D,KAAK,EAAE,mCAAmC,CAAC;IAC3C,uEAAuE;IACvE,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxG;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EACzC,SAAS,EACT,KAAK,EACL,cAAc,EACjB,EAAE,kCAAkC,2CAwIpC"}
@@ -0,0 +1,54 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025-2026 GoodData Corporation
3
+ import { useCallback, useState } from "react";
4
+ import { FormattedMessage, useIntl } from "react-intl";
5
+ import { UiIconButton, UiTooltip } from "@gooddata/sdk-ui-kit";
6
+ import { messages } from "../../../locales.js";
7
+ import { useAttributeFilterDetails } from "../../hooks/useAttributeFilterDetails.js";
8
+ /**
9
+ * Info bubble showing attribute details when the question mark icon is clicked.
10
+ * Displays attribute title, description, label name, and sample element values.
11
+ *
12
+ * @internal
13
+ */
14
+ export function AttributeFilterDetailsBubble({ attribute, label, requestHandler, }) {
15
+ const [isOpen, setIsOpen] = useState(false);
16
+ const intl = useIntl();
17
+ const { elements, totalCount, isLoading, error } = useAttributeFilterDetails({
18
+ isOpen,
19
+ labelRef: label.ref,
20
+ requestHandler,
21
+ });
22
+ const handleOpen = useCallback(() => {
23
+ setIsOpen(true);
24
+ }, []);
25
+ const handleClose = useCallback(() => {
26
+ setIsOpen(false);
27
+ }, []);
28
+ const getElementDisplayText = (element) => {
29
+ const title = element.formattedTitle ?? element.title;
30
+ return title ?? `(${intl.formatMessage({ id: "empty_value" })})`;
31
+ };
32
+ const remainingCount = totalCount - elements.length;
33
+ const tooltipContent = (_jsx("div", { className: "gd-attribute-filter-details-bubble s-attribute-filter-details-bubble", children: _jsxs("div", { className: "gd-attribute-filter-details-bubble__content", children: [
34
+ _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
35
+ _jsx("h3", { className: "gd-attribute-filter-details-bubble__title", children: attribute.title }), attribute.description ? (_jsx("p", { className: "gd-attribute-filter-details-bubble__description", children: attribute.description })) : null] }), _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
36
+ _jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsType"] }) }), _jsx("span", { className: "gd-attribute-filter-details-bubble__value", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsTypeValue"] }) })
37
+ ] }), _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
38
+ _jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsLabel"] }) }), _jsx("span", { className: "gd-attribute-filter-details-bubble__value", children: label.title })
39
+ ] }), attribute.dataSet ? (_jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
40
+ _jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsDataset"] }) }), _jsx("span", { className: "gd-attribute-filter-details-bubble__value", children: attribute.dataSet.title })
41
+ ] })) : null, _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
42
+ _jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { id: "attributeFilter.text.arbitrary.values" }) }), _jsx("div", { className: "gd-attribute-filter-details-bubble__value gd-attribute-filter-details-bubble__elements", children: isLoading ? (_jsx("span", { className: "gd-attribute-filter-details-bubble__loading", children: _jsx(FormattedMessage, { id: "loading" }) })) : error ? (_jsx("span", { className: "gd-attribute-filter-details-bubble__error", children: error.message })) : (_jsxs(_Fragment, { children: [elements.map((element, idx) => (_jsxs("span", { className: "gd-attribute-filter-details-bubble__element s-attribute-filter-details-element", children: [getElementDisplayText(element), _jsx("br", {})
43
+ ] }, element.uri ?? idx))), remainingCount > 0 && (_jsx("span", { className: "gd-attribute-filter-details-bubble__more", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsElementsMore"], values: {
44
+ count: remainingCount,
45
+ } }) }))] })) })
46
+ ] }), _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
47
+ _jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsId"] }) }), _jsx("span", { className: "gd-attribute-filter-details-bubble__value", children: attribute.id })
48
+ ] })
49
+ ] }) }));
50
+ return (_jsx("span", { className: "gd-attribute-filter-details-bubble__trigger", children: _jsx(UiTooltip, { anchor: _jsx("span", { className: "s-attribute-filter-details-trigger", children: _jsx(UiIconButton, { icon: "question", size: "xsmall", variant: "tertiary", iconColor: "complementary-7", label: intl.formatMessage(messages["attributeFilterDetailsInfoButtonLabel"]), accessibilityConfig: { ariaExpanded: isOpen }, dataTestId: "attribute-filter-details-trigger" }) }), content: tooltipContent, triggerBy: ["hover", "focus"], onOpen: handleOpen, onClose: handleClose, arrowPlacement: "left", showArrow: false, behaviour: "tooltip", variant: "none", accessibilityConfig: {
51
+ ariaLabel: intl.formatMessage(messages["attributeFilterDetailsInfoButtonLabel"]),
52
+ } }) }));
53
+ }
54
+ //# sourceMappingURL=AttributeFilterDetailsBubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeFilterDetailsBubble.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterDropdown.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.tsx"],"names":[],"mappings":"AA2BA;;GAEG;AACH,wBAAgB,uBAAuB,4CAiHtC"}
1
+ {"version":3,"file":"AttributeFilterDropdown.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.tsx"],"names":[],"mappings":"AA4BA;;GAEG;AACH,wBAAgB,uBAAuB,4CA2ItC"}
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // (C) 2022-2025 GoodData Corporation
2
+ // (C) 2022-2026 GoodData Corporation
3
3
  import { useCallback, useRef } from "react";
4
4
  import cx from "classnames";
5
5
  import { Dropdown, isArrowKey, useMediaQuery } from "@gooddata/sdk-ui-kit";
6
6
  import { useAttributeFilterComponentsContext } from "../../Context/AttributeFilterComponentsContext.js";
7
7
  import { useAttributeFilterContext } from "../../Context/AttributeFilterContext.js";
8
8
  import { useResolveAttributeFilterSubtitle } from "../../hooks/useResolveAttributeFilterSubtitle.js";
9
+ import { createFilterFromOperator, isArbitraryOperator } from "../../textFilterOperatorUtils.js";
9
10
  import { AttributeFilterButtonErrorTooltip } from "../DropdownButton/AttributeFilterButtonErrorTooltip.js";
10
11
  const ALIGN_POINTS = [
11
12
  { align: "bl tl" },
@@ -23,13 +24,21 @@ const ALIGN_POINTS = [
23
24
  */
24
25
  export function AttributeFilterDropdown() {
25
26
  const { DropdownButtonComponent, DropdownBodyComponent, LoadingComponent, ErrorComponent } = useAttributeFilterComponentsContext();
26
- const { title, isInitializing, initError, isFiltering, committedSelectionElements, workingSelectionElements, onReset, onApply, onOpen, fullscreenOnMobile, isCommittedSelectionInverted, isWorkingSelectionInverted, selectionMode, disabled, customIcon, withoutApply, isSelectionInvalid, overlayPositionType, alignPoints, } = useAttributeFilterContext();
27
+ const { title, isInitializing, initError, isFiltering, committedSelectionElements, workingSelectionElements, onReset, onApply, onOpen, fullscreenOnMobile, isCommittedSelectionInverted, isWorkingSelectionInverted, currentFilterMode, textFilterOperator, textFilterValues, textFilterLiteral, textFilterCaseSensitive, textFilterCommittedFilter, currentDisplayFormRef, selectionMode, disabled, customIcon, withoutApply, isSelectionInvalid, overlayPositionType, alignPoints, } = useAttributeFilterContext();
27
28
  const isMobile = useMediaQuery("mobileDevice");
28
29
  const isSelectionInverted = useLastValidValue(withoutApply ? isWorkingSelectionInverted : isCommittedSelectionInverted, !isSelectionInvalid || !withoutApply);
29
30
  const selectionElements = withoutApply ? workingSelectionElements : committedSelectionElements;
30
- const subtitle = useResolveAttributeFilterSubtitle(isSelectionInverted, selectionElements);
31
+ const operator = textFilterOperator ?? "is";
32
+ const subtitleFilter = currentFilterMode === "text"
33
+ ? withoutApply && currentDisplayFormRef
34
+ ? createFilterFromOperator(operator, isArbitraryOperator(operator) ? (textFilterValues ?? []) : (textFilterLiteral ?? ""), currentDisplayFormRef, undefined, textFilterCaseSensitive ?? false)
35
+ : textFilterCommittedFilter
36
+ : undefined;
37
+ const subtitle = useResolveAttributeFilterSubtitle(isSelectionInverted, selectionElements, subtitleFilter);
31
38
  const isMultiselect = selectionMode !== "single";
32
- const showSelectionCount = isMultiselect && selectionElements.length !== 0;
39
+ const textSelectionCount = isArbitraryOperator(operator) ? (textFilterValues?.length ?? 0) : 0;
40
+ const selectionCount = currentFilterMode === "text" ? textSelectionCount : selectionElements.length;
41
+ const showSelectionCount = isMultiselect && selectionCount !== 0;
33
42
  const handleKeyDown = useCallback((e) => {
34
43
  //stop arrow keys from leaking to filter bar
35
44
  if (isArrowKey(e)) {
@@ -38,7 +47,7 @@ export function AttributeFilterDropdown() {
38
47
  }, []);
39
48
  return (_jsx(Dropdown, { className: "gd-attribute-filter__next", closeOnParentScroll: true, closeOnMouseDrag: true, closeOnOutsideClick: true, enableEventPropagation: true, alignPoints: alignPoints ?? ALIGN_POINTS, fullscreenOnMobile: fullscreenOnMobile, autofocusOnOpen: true, overlayPositionType: overlayPositionType, renderButton: ({ toggleDropdown, isOpen, buttonRef, dropdownId }) => {
40
49
  const handleClickAction = disabled ? () => { } : toggleDropdown;
41
- return (_jsxs("div", { className: cx({ "gd-is-mobile": fullscreenOnMobile && isMobile && isOpen }), children: [!!isInitializing && _jsx(LoadingComponent, { onClick: handleClickAction, isOpen: isOpen }), !isInitializing && !!initError && !title && (_jsx(ErrorComponent, { message: initError.message, error: initError })), !isInitializing && !!title && (_jsx(AttributeFilterButtonErrorTooltip, { errorMessage: initError?.message, children: _jsx(DropdownButtonComponent, { title: title, subtitle: subtitle, isFiltering: isFiltering, isLoaded: !isInitializing, isLoading: isInitializing, isOpen: isOpen, selectedItemsCount: selectionElements.length, showSelectionCount: showSelectionCount, disabled: disabled, customIcon: customIcon, onClick: handleClickAction, isError: !!initError, buttonRef: buttonRef, dropdownId: dropdownId }) }))] }));
50
+ return (_jsxs("div", { className: cx({ "gd-is-mobile": fullscreenOnMobile && isMobile && isOpen }), children: [!!isInitializing && _jsx(LoadingComponent, { onClick: handleClickAction, isOpen: isOpen }), !isInitializing && !!initError && !title && (_jsx(ErrorComponent, { message: initError.message, error: initError })), !isInitializing && !!title && (_jsx(AttributeFilterButtonErrorTooltip, { errorMessage: initError?.message, children: _jsx(DropdownButtonComponent, { title: title, subtitle: subtitle, isFiltering: isFiltering, isLoaded: !isInitializing, isLoading: isInitializing, isOpen: isOpen, selectedItemsCount: selectionCount, showSelectionCount: showSelectionCount, disabled: disabled, customIcon: customIcon, onClick: handleClickAction, isError: !!initError, buttonRef: buttonRef, dropdownId: dropdownId }) }))] }));
42
51
  }, onOpenStateChanged: (isOpen) => {
43
52
  if (isOpen) {
44
53
  onOpen();
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterDropdown.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AttributeFilterDropdown.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAA6B,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAC;AACxG,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,iCAAiC,EAAE,MAAM,wDAAwD,CAAC;AAE3G,MAAM,YAAY,GAAG;IACjB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAEtC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAE1C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAC5C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;IAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;IAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;IAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,uBAAuB,GAAG;IACtC,MAAM,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACtF,mCAAmC,EAAE,CAAC;IAE1C,MAAM,EACF,KAAK,EACL,cAAc,EACd,SAAS,EACT,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,OAAO,EACP,OAAO,EACP,MAAM,EACN,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,GACd,GAAG,yBAAyB,EAAE,CAAC;IAEhC,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAE/C,MAAM,mBAAmB,GAAG,iBAAiB,CACzC,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,4BAA4B,EACxE,CAAC,kBAAkB,IAAI,CAAC,YAAY,CACvC,CAAC;IACF,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAC/F,MAAM,QAAQ,GAAG,kBAAkB,IAAI,IAAI,CAAC;IAC5C,MAAM,cAAc,GAChB,iBAAiB,KAAK,MAAM;QACxB,CAAC,CAAC,YAAY,IAAI,qBAAqB;YACnC,CAAC,CAAC,wBAAwB,CACpB,QAAQ,EACR,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,EACpF,qBAAqB,EACrB,SAAS,EACT,uBAAuB,IAAI,KAAK,CACnC;YACH,CAAC,CAAC,yBAAyB;QAC/B,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,QAAQ,GAAG,iCAAiC,CAC9C,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,CACjB,CAAC;IAEF,MAAM,aAAa,GAAG,aAAa,KAAK,QAAQ,CAAC;IACjD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,cAAc,GAAG,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACpG,MAAM,kBAAkB,GAAG,aAAa,IAAI,cAAc,KAAK,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,WAAW,CAAuC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3E,4CAA4C;QAC5C,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,CAAC,eAAe,EAAE,CAAC;QACxB,CAAC;IAAA,CACJ,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,KAAC,QAAQ,IACL,SAAS,EAAC,2BAA2B,EACrC,mBAAmB,QACnB,gBAAgB,QAChB,mBAAmB,QACnB,sBAAsB,QACtB,WAAW,EAAE,WAAW,IAAI,YAAY,EACxC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,QACf,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACjE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAC/D,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC,aAC3E,CAAC,CAAC,cAAc,IAAI,KAAC,gBAAgB,IAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAI,EACpF,CAAC,cAAc,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CACzC,KAAC,cAAc,IAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAI,CACnE,EACA,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI,CAC3B,KAAC,iCAAiC,IAAC,YAAY,EAAE,SAAS,EAAE,OAAO,YAC/D,KAAC,uBAAuB,IACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,cAAc,EACzB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,cAAc,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,CAAC,CAAC,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACxB,GAC8B,CACvC,IACC,CACT,CAAC;QAAA,CACL,EACD,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5B,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAC;YACd,CAAC;QAAA,CACJ,EACD,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAC/C,cACI,IAAI,EAAC,QAAQ,gBACD,KAAK,EACjB,EAAE,EAAE,cAAc,CAAC,EAAE,EACrB,SAAS,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,IAAI,QAAQ,EAAE,CAAC,EACjE,KAAK,EAAE,EAAE,MAAM,EAAE,kBAAkB,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EACnE,SAAS,EAAE,aAAa,YAExB,KAAC,qBAAqB,IAClB,kBAAkB,EAAE,GAAG,EAAE,CAAC;oBACtB,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBAC5B,aAAa,EAAE,CAAC;gBAAA,CACnB,EACD,mBAAmB,EAAE,aAAa,GACpC,GACA,CACT,GACH,CACL,CAAC;AAAA,CACL;AAED,SAAS,iBAAiB,CAAI,KAAQ,EAAE,OAAgB,EAAK;IACzD,MAAM,cAAc,GAAG,MAAM,CAAgB,SAAS,CAAC,CAAC;IACxD,IAAI,OAAO,EAAE,CAAC;QACV,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,IAAI,KAAK,CAAC;AAAA,CAC1C"}
@@ -27,6 +27,12 @@ export interface IAttributeFilterDropdownActionsProps {
27
27
  * @beta
28
28
  */
29
29
  isSelectionChanged?: boolean;
30
+ /**
31
+ * Tooltip shown when Apply button is disabled.
32
+ *
33
+ * @alpha
34
+ */
35
+ applyDisabledTooltip?: string;
30
36
  /**
31
37
  * If true, the Apply button is not rendered, Cancel button is renamed to Close and status bar is not rendered.
32
38
  *
@@ -41,5 +47,5 @@ export interface IAttributeFilterDropdownActionsProps {
41
47
  *
42
48
  * @beta
43
49
  */
44
- export declare function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonClick, onCancelButtonClick, withoutApply }: IAttributeFilterDropdownActionsProps): import("react/jsx-runtime").JSX.Element;
50
+ export declare function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonClick, onCancelButtonClick, applyDisabledTooltip, withoutApply }: IAttributeFilterDropdownActionsProps): import("react/jsx-runtime").JSX.Element;
45
51
  //# sourceMappingURL=AttributeFilterDropdownActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterDropdownActions.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.tsx"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACjD;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAE/B;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACf,EAAE,oCAAoC,2CAiCtC"}
1
+ {"version":3,"file":"AttributeFilterDropdownActions.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.tsx"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACjD;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAE/B;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACf,EAAE,oCAAoC,2CA0CtC"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // (C) 2019-2025 GoodData Corporation
2
+ // (C) 2019-2026 GoodData Corporation
3
3
  import cx from "classnames";
4
4
  import { useIntl } from "react-intl";
5
- import { Button } from "@gooddata/sdk-ui-kit";
5
+ import { Button, UiTooltip } from "@gooddata/sdk-ui-kit";
6
6
  /**
7
7
  * This component displays two buttons Apply and Cancel.
8
8
  * Apply button is disabled when selection is not changed.
@@ -10,7 +10,7 @@ import { Button } from "@gooddata/sdk-ui-kit";
10
10
  *
11
11
  * @beta
12
12
  */
13
- export function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonClick, onCancelButtonClick, withoutApply, }) {
13
+ export function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonClick, onCancelButtonClick, applyDisabledTooltip, withoutApply, }) {
14
14
  const intl = useIntl();
15
15
  const cancelText = intl.formatMessage({ id: "gs.list.cancel" });
16
16
  const closeText = intl.formatMessage({ id: "close" });
@@ -20,7 +20,7 @@ export function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonC
20
20
  : "gd-attribute-filter-cancel-button__next cancel-button s-cancel";
21
21
  return (_jsxs("div", { className: "gd-attribute-filter-dropdown-actions__next", children: [
22
22
  _jsx("div", { className: "gd-attribute-filter-dropdown-actions-left-content__next" }), _jsxs("div", { className: "gd-attribute-filter-dropdown-actions-right-content__next", children: [
23
- _jsx(Button, { className: cx(cancelClassNames, "gd-button-secondary gd-button-small"), onClick: onCancelButtonClick, value: withoutApply ? closeText : cancelText, title: withoutApply ? closeText : cancelText }), !withoutApply && (_jsx(Button, { disabled: isApplyDisabled, className: "gd-attribute-filter-apply-button__next gd-button-action gd-button-small s-apply", onClick: onApplyButtonClick, value: applyText, title: applyText }))] })
23
+ _jsx(Button, { className: cx(cancelClassNames, "gd-button-secondary gd-button-small"), onClick: onCancelButtonClick, value: withoutApply ? closeText : cancelText, title: withoutApply ? closeText : cancelText }), !withoutApply && (_jsx(UiTooltip, { content: applyDisabledTooltip, triggerBy: ["hover"], disabled: !isApplyDisabled || !applyDisabledTooltip, arrowPlacement: "left", optimalPlacement: true, anchor: _jsx(Button, { disabled: isApplyDisabled, className: "gd-attribute-filter-apply-button__next gd-button-action gd-button-small s-apply", onClick: onApplyButtonClick, value: applyText, title: applyText }) }))] })
24
24
  ] }));
25
25
  }
26
26
  //# sourceMappingURL=AttributeFilterDropdownActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterDropdownActions.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA2C9C;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAC3C,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACuB,EAAE;IACrC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IAE9D,MAAM,gBAAgB,GAAG,YAAY;QACjC,CAAC,CAAC,6DAA6D;QAC/D,CAAC,CAAC,gEAAgE,CAAC;IAEvE,OAAO,CACH,eAAK,SAAS,EAAC,4CAA4C;YACvD,cAAK,SAAS,EAAC,yDAAyD,GAAG,EAC3E,eAAK,SAAS,EAAC,0DAA0D;oBACrE,KAAC,MAAM,IACH,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,qCAAqC,CAAC,EACtE,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAC5C,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAC9C,EACD,CAAC,YAAY,IAAI,CACd,KAAC,MAAM,IACH,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAC,iFAAiF,EAC3F,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,GAClB,CACL,IACC;YACJ,CACT,CAAC;AAAA,CACL"}
1
+ {"version":3,"file":"AttributeFilterDropdownActions.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAkDzD;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAC3C,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,GACuB,EAAE;IACrC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IAE9D,MAAM,gBAAgB,GAAG,YAAY;QACjC,CAAC,CAAC,6DAA6D;QAC/D,CAAC,CAAC,gEAAgE,CAAC;IAEvE,OAAO,CACH,eAAK,SAAS,EAAC,4CAA4C;YACvD,cAAK,SAAS,EAAC,yDAAyD,GAAG,EAC3E,eAAK,SAAS,EAAC,0DAA0D;oBACrE,KAAC,MAAM,IACH,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,qCAAqC,CAAC,EACtE,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAC5C,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAC9C,EACD,CAAC,YAAY,IAAI,CACd,KAAC,SAAS,IACN,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,CAAC,OAAO,CAAC,EACpB,QAAQ,EAAE,CAAC,eAAe,IAAI,CAAC,oBAAoB,EACnD,cAAc,EAAC,MAAM,EACrB,gBAAgB,QAChB,MAAM,EACF,KAAC,MAAM,IACH,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAC,iFAAiF,EAC3F,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,GAClB,GAER,CACL,IACC;YACJ,CACT,CAAC;AAAA,CACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterDropdownBody.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAKpE;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,EACxC,kBAAkB,EAClB,mBAAmB,EACnB,KAAmC,EACtC,EAAE,iCAAiC,2CAoGnC"}
1
+ {"version":3,"file":"AttributeFilterDropdownBody.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAMpE;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,EACxC,kBAAkB,EAClB,mBAAmB,EACnB,KAAmC,EACtC,EAAE,iCAAiC,2CAyOnC"}
@@ -1,10 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2022-2026 GoodData Corporation
3
3
  import { useCallback, useMemo } from "react";
4
+ import { useIntl } from "react-intl";
5
+ import { areObjRefsEqual } from "@gooddata/sdk-model";
4
6
  import { isEscapeKey, useMediaQuery } from "@gooddata/sdk-ui-kit";
7
+ import { AttributeFilterDropdownHeader } from "./AttributeFilterDropdownHeader.js";
5
8
  import { ATTRIBUTE_FILTER_DROPDOWN_BODY_CLASS, DEFAULT_DROPDOWN_BODY_WIDTH } from "../../constants.js";
6
9
  import { useAttributeFilterComponentsContext } from "../../Context/AttributeFilterComponentsContext.js";
7
10
  import { useAttributeFilterContext } from "../../Context/AttributeFilterContext.js";
11
+ import { MAX_SELECTION_SIZE } from "../../hooks/constants.js";
8
12
  /**
9
13
  * Component showing a list of elements and controls for manipulating the selection.
10
14
  *
@@ -15,13 +19,47 @@ import { useAttributeFilterContext } from "../../Context/AttributeFilterContext.
15
19
  * @beta
16
20
  */
17
21
  export function AttributeFilterDropdownBody({ onApplyButtonClick, onCancelButtonClick, width = DEFAULT_DROPDOWN_BODY_WIDTH, }) {
18
- const { DropdownActionsComponent, ElementsSelectComponent } = useAttributeFilterComponentsContext();
19
- const { withoutApply } = useAttributeFilterContext();
22
+ const { DropdownActionsComponent, ElementsSelectComponent, TextFilterBodyComponent } = useAttributeFilterComponentsContext();
23
+ const { withoutApply, attribute, displayForms, currentDisplayFormRef, currentDisplayAsDisplayFormRef, filterDetailRequestHandler, setDisplayForm, } = useAttributeFilterContext();
24
+ const intl = useIntl();
20
25
  const isMobile = useMediaQuery("mobileDevice");
21
- const { initialElementsPageError, nextElementsPageError, isApplyDisabled, isWorkingSelectionChanged, isWorkingSelectionInverted, isLoadingInitialElementsPage, isLoadingNextElementsPage, onLoadNextElementsPage, elements, onSearch, onSelect, nextElementsPageSize, searchString, totalElementsCount, totalElementsCountWithCurrentSettings, workingSelectionElements, parentFilterAttributes, isFilteredByParentFilters, isFilteredByDependentDateFilters, isFilteredByLimitingValidationItems, fullscreenOnMobile, selectionMode, title, enableShowingFilteredElements, onShowFilteredElements, irrelevantSelection, onClearIrrelevantSelection, } = useAttributeFilterContext();
26
+ const { initialElementsPageError, nextElementsPageError, isApplyDisabled, isSelectionInvalid, isWorkingSelectionChanged = false, isWorkingSelectionInverted, isLoadingInitialElementsPage, isLoadingNextElementsPage, onLoadNextElementsPage, elements, onSearch, onSelect, nextElementsPageSize, searchString, totalElementsCount, totalElementsCountWithCurrentSettings, workingSelectionElements, parentFilterAttributes, isFilteredByParentFilters, isFilteredByDependentDateFilters, isFilteredByLimitingValidationItems, fullscreenOnMobile, selectionMode, title, enableShowingFilteredElements, onShowFilteredElements, irrelevantSelection, onClearIrrelevantSelection, disabled,
27
+ // New mode-related fields
28
+ currentFilterMode, availableInternalFilterModes, availableTextFilterModes, textFilterOperator, textFilterValues, textFilterLiteral, textFilterLiteralEmptyError, textFilterValuesEmptyError, textFilterValuesLimitReachedWarning, textFilterValuesLimitExceededError, textFilterCaseSensitive, onFilterModeChange, onTextFilterOperatorChange, onTextFilterValuesChange, onTextFilterValuesBlur, onTextFilterLiteralChange, onTextFilterLiteralBlur, onToggleTextFilterCaseSensitive, } = useAttributeFilterContext();
22
29
  const parentFilterTitles = useMemo(() => {
23
30
  return parentFilterAttributes.map((attr) => attr.title);
24
31
  }, [parentFilterAttributes]);
32
+ const currentLabel = useMemo(() => {
33
+ return displayForms.find((df) => areObjRefsEqual(df.ref, currentDisplayFormRef));
34
+ }, [displayForms, currentDisplayFormRef]);
35
+ const applyDisabledTooltip = useMemo(() => {
36
+ if (!isApplyDisabled) {
37
+ return undefined;
38
+ }
39
+ if (!isWorkingSelectionChanged) {
40
+ return intl.formatMessage({
41
+ id: "attributeFilter.text.applyButton.tooltip.noChanges",
42
+ });
43
+ }
44
+ if (currentFilterMode === "text" && textFilterValuesLimitExceededError) {
45
+ return intl.formatMessage({
46
+ id: "attributeFilter.text.applyButton.tooltip.valuesLimitExceeded",
47
+ }, { maxValues: MAX_SELECTION_SIZE });
48
+ }
49
+ if (currentFilterMode === "text" && isSelectionInvalid) {
50
+ return intl.formatMessage({
51
+ id: "attributeFilter.text.applyButton.tooltip.emptyValue",
52
+ });
53
+ }
54
+ return undefined;
55
+ }, [
56
+ currentFilterMode,
57
+ intl,
58
+ isApplyDisabled,
59
+ isSelectionInvalid,
60
+ isWorkingSelectionChanged,
61
+ textFilterValuesLimitExceededError,
62
+ ]);
25
63
  const usedWidth = isMobile && fullscreenOnMobile ? "100%" : width;
26
64
  const style = { width: usedWidth };
27
65
  const onSelectWithPotentialClose = useCallback((selectedItems, isInverted) => {
@@ -36,8 +74,22 @@ export function AttributeFilterDropdownBody({ onApplyButtonClick, onCancelButton
36
74
  onCancelButtonClick();
37
75
  }
38
76
  }, [onCancelButtonClick]);
39
- return (_jsxs("div", { className: ATTRIBUTE_FILTER_DROPDOWN_BODY_CLASS, style: style, onKeyDown: handleKeyDown, children: [
40
- _jsx(ElementsSelectComponent, { isInverted: isWorkingSelectionInverted, isLoading: isLoadingInitialElementsPage, isLoadingNextPage: isLoadingNextElementsPage, items: elements, onLoadNextPage: onLoadNextElementsPage, onSearch: onSearch, onSelect: onSelectWithPotentialClose, onApplyButtonClick: onApplyButtonClick, isApplyDisabled: isApplyDisabled, nextPageSize: nextElementsPageSize, searchString: searchString, selectedItems: workingSelectionElements, totalItemsCount: totalElementsCount, totalItemsCountWithCurrentSettings: totalElementsCountWithCurrentSettings, parentFilterTitles: parentFilterTitles, isFilteredByParentFilters: isFilteredByParentFilters, error: initialElementsPageError ?? nextElementsPageError, attributeTitle: title, enableShowingFilteredElements: enableShowingFilteredElements, isFilteredByDependentDateFilters: isFilteredByDependentDateFilters, isFilteredByLimitingValidationItems: isFilteredByLimitingValidationItems, onShowFilteredElements: onShowFilteredElements, irrelevantSelection: irrelevantSelection, onClearIrrelevantSelection: onClearIrrelevantSelection, withoutApply: withoutApply }), _jsx(DropdownActionsComponent, { onApplyButtonClick: onApplyButtonClick, onCancelButtonClick: onCancelButtonClick, isApplyDisabled: isApplyDisabled, isSelectionChanged: isWorkingSelectionChanged, withoutApply: withoutApply })
77
+ const autocompleteOptions = useMemo(() => elements
78
+ .map((el) => el.formattedTitle ?? el.title)
79
+ .filter((t) => t !== null && t !== undefined), [elements]);
80
+ // Render filter body based on mode
81
+ const renderFilterBody = () => {
82
+ if (currentFilterMode === "text") {
83
+ return (_jsx(TextFilterBodyComponent, { operator: textFilterOperator ?? "is", values: textFilterValues ?? [], literal: textFilterLiteral ?? "", hasLiteralEmptyError: textFilterLiteralEmptyError, hasValuesEmptyError: textFilterValuesEmptyError, hasValuesLimitReachedWarning: textFilterValuesLimitReachedWarning, hasValuesLimitExceededError: textFilterValuesLimitExceededError, caseSensitive: textFilterCaseSensitive ?? false, onOperatorChange: onTextFilterOperatorChange ?? (() => { }), onValuesChange: onTextFilterValuesChange ?? (() => { }), onValuesBlur: onTextFilterValuesBlur, onLiteralChange: onTextFilterLiteralChange ?? (() => { }), onLiteralBlur: onTextFilterLiteralBlur, onToggleCaseSensitive: onToggleTextFilterCaseSensitive ?? (() => { }), attributeTitle: title ?? "", disabled: disabled, availableTextModes: availableTextFilterModes, autocompleteOptions: autocompleteOptions }));
84
+ }
85
+ // Default: elements mode
86
+ return (_jsx(ElementsSelectComponent, { isInverted: isWorkingSelectionInverted, isLoading: isLoadingInitialElementsPage, isLoadingNextPage: isLoadingNextElementsPage, items: elements, onLoadNextPage: onLoadNextElementsPage, onSearch: onSearch, onSelect: onSelectWithPotentialClose, onApplyButtonClick: onApplyButtonClick, isApplyDisabled: isApplyDisabled, nextPageSize: nextElementsPageSize, searchString: searchString, selectedItems: workingSelectionElements, totalItemsCount: totalElementsCount, totalItemsCountWithCurrentSettings: totalElementsCountWithCurrentSettings, parentFilterTitles: parentFilterTitles, isFilteredByParentFilters: isFilteredByParentFilters, error: initialElementsPageError ?? nextElementsPageError, attributeTitle: title, enableShowingFilteredElements: enableShowingFilteredElements, isFilteredByDependentDateFilters: isFilteredByDependentDateFilters, isFilteredByLimitingValidationItems: isFilteredByLimitingValidationItems, onShowFilteredElements: onShowFilteredElements, irrelevantSelection: irrelevantSelection, onClearIrrelevantSelection: onClearIrrelevantSelection, withoutApply: withoutApply }));
87
+ };
88
+ const totalAvailableModes = availableInternalFilterModes?.length ?? 0;
89
+ const showFilterHeader = totalAvailableModes > 1 &&
90
+ ((onFilterModeChange && (availableInternalFilterModes?.length ?? 0) > 1) ||
91
+ (displayForms.length > 1 && setDisplayForm));
92
+ return (_jsxs("div", { className: ATTRIBUTE_FILTER_DROPDOWN_BODY_CLASS, style: style, onKeyDown: handleKeyDown, children: [showFilterHeader ? (_jsx(AttributeFilterDropdownHeader, { title: title, currentFilterMode: currentFilterMode, availableInternalFilterModes: availableInternalFilterModes, onFilterModeChange: onFilterModeChange, attribute: attribute, label: currentLabel, requestHandler: filterDetailRequestHandler, labels: displayForms, selectedLabelRef: currentDisplayAsDisplayFormRef ?? currentDisplayFormRef, onLabelChange: setDisplayForm })) : null, renderFilterBody(), _jsx(DropdownActionsComponent, { onApplyButtonClick: onApplyButtonClick, onCancelButtonClick: onCancelButtonClick, isApplyDisabled: isApplyDisabled, isSelectionChanged: isWorkingSelectionChanged, applyDisabledTooltip: applyDisabledTooltip, withoutApply: withoutApply })
41
93
  ] }));
42
94
  }
43
95
  //# sourceMappingURL=AttributeFilterDropdownBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeFilterDropdownBody.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AttributeFilterDropdownBody.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { type IAttributeDisplayFormMetadataObject, type IAttributeElement, type IAttributeMetadataObject, type ObjRef } from "@gooddata/sdk-model";
2
+ import { type AttributeFilterMode } from "../../filterModeTypes.js";
3
+ /**
4
+ * Props for AttributeFilterDropdownHeader component.
5
+ *
6
+ * @internal
7
+ */
8
+ export interface IAttributeFilterDropdownHeaderProps {
9
+ /**
10
+ * Title of the attribute filter.
11
+ */
12
+ title?: string;
13
+ /**
14
+ * Current filter mode (elements or text).
15
+ */
16
+ currentFilterMode?: AttributeFilterMode;
17
+ /**
18
+ * Available filter modes.
19
+ */
20
+ availableInternalFilterModes?: AttributeFilterMode[];
21
+ /**
22
+ * Callback when filter mode changes.
23
+ */
24
+ onFilterModeChange?: (mode: AttributeFilterMode) => void;
25
+ /**
26
+ * Attribute metadata (for details bubble).
27
+ */
28
+ attribute?: IAttributeMetadataObject;
29
+ /**
30
+ * Display form (label) used by the filter (for details bubble).
31
+ */
32
+ label?: IAttributeDisplayFormMetadataObject;
33
+ /**
34
+ * Callback to load sample elements when the details bubble opens.
35
+ */
36
+ requestHandler?: (labelRef: ObjRef) => Promise<{
37
+ elements: IAttributeElement[];
38
+ totalCount: number;
39
+ }>;
40
+ /**
41
+ * Labels for "Values as" menu section.
42
+ */
43
+ labels?: IAttributeDisplayFormMetadataObject[];
44
+ /**
45
+ * Currently selected label ref.
46
+ */
47
+ selectedLabelRef?: ObjRef;
48
+ /**
49
+ * Callback when label is changed.
50
+ */
51
+ onLabelChange?: (labelRef: ObjRef) => void;
52
+ }
53
+ /**
54
+ * Header of the attribute filter dropdown with title and filter mode menu.
55
+ *
56
+ * @internal
57
+ */
58
+ export declare function AttributeFilterDropdownHeader({ title, currentFilterMode, availableInternalFilterModes, onFilterModeChange, attribute, label, requestHandler, labels, selectedLabelRef, onLabelChange }: IAttributeFilterDropdownHeaderProps): import("react/jsx-runtime").JSX.Element;
59
+ //# sourceMappingURL=AttributeFilterDropdownHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeFilterDropdownHeader.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,mCAAmC;IAChD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IAExC;;OAEG;IACH,4BAA4B,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAErD;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEzD;;OAEG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IAErC;;OAEG;IACH,KAAK,CAAC,EAAE,mCAAmC,CAAC;IAE5C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEtG;;OAEG;IACH,MAAM,CAAC,EAAE,mCAAmC,EAAE,CAAC;IAE/C;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,EAC1C,KAAK,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,SAAS,EACT,KAAK,EACL,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,aAAa,EAChB,EAAE,mCAAmC,2CAoCrC"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { UiIcon } from "@gooddata/sdk-ui-kit";
3
+ import { AttributeFilterDetailsBubble } from "./AttributeFilterDetailsBubble.js";
4
+ import { useAttributeFilterComponentsContext } from "../../Context/AttributeFilterComponentsContext.js";
5
+ /**
6
+ * Header of the attribute filter dropdown with title and filter mode menu.
7
+ *
8
+ * @internal
9
+ */
10
+ export function AttributeFilterDropdownHeader({ title, currentFilterMode, availableInternalFilterModes, onFilterModeChange, attribute, label, requestHandler, labels, selectedLabelRef, onLabelChange, }) {
11
+ const { FilterModeMenuComponent } = useAttributeFilterComponentsContext();
12
+ const showDetailsBubble = attribute && label && requestHandler;
13
+ return (_jsxs("div", { className: "gd-attribute-filter-dropdown-header s-attribute-filter-dropdown-header", children: [
14
+ _jsxs("div", { className: "gd-attribute-filter-dropdown-header__title", children: [
15
+ _jsx("span", { className: "gd-attribute-filter-dropdown-header__title-text", children: title ?? "" }), _jsx("span", { className: "gd-attribute-filter-dropdown-header__title-icon", children: showDetailsBubble ? (_jsx(AttributeFilterDetailsBubble, { attribute: attribute, label: label, requestHandler: requestHandler })) : (_jsx(UiIcon, { type: "question", size: 12, color: "complementary-7", accessibilityConfig: { ariaHidden: true } })) })
16
+ ] }), _jsx(FilterModeMenuComponent, { currentMode: currentFilterMode ?? "elements", availableModes: availableInternalFilterModes, onModeChange: onFilterModeChange ?? (() => { }), labels: labels, selectedLabelRef: selectedLabelRef, onLabelChange: onLabelChange })
17
+ ] }));
18
+ }
19
+ //# sourceMappingURL=AttributeFilterDropdownHeader.js.map