@gooddata/sdk-ui-semantic-search 10.38.0 → 10.39.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 (98) hide show
  1. package/esm/FooterButtonAiAssistant.d.ts +1 -1
  2. package/esm/FooterButtonAiAssistant.d.ts.map +1 -1
  3. package/esm/FooterButtonAiAssistant.js +6 -6
  4. package/esm/FooterButtonAiAssistant.js.map +1 -1
  5. package/esm/SearchItem.d.ts +5 -2
  6. package/esm/SearchItem.d.ts.map +1 -1
  7. package/esm/SearchItem.js +3 -2
  8. package/esm/SearchItem.js.map +1 -1
  9. package/esm/SemanticSearch.d.ts +7 -3
  10. package/esm/SemanticSearch.d.ts.map +1 -1
  11. package/esm/SemanticSearch.js +73 -58
  12. package/esm/SemanticSearch.js.map +1 -1
  13. package/esm/SemanticSearchItem.d.ts.map +1 -1
  14. package/esm/SemanticSearchItem.js +5 -2
  15. package/esm/SemanticSearchItem.js.map +1 -1
  16. package/esm/SemanticSearchTreeView.d.ts +22 -0
  17. package/esm/SemanticSearchTreeView.d.ts.map +1 -0
  18. package/esm/SemanticSearchTreeView.js +65 -0
  19. package/esm/SemanticSearchTreeView.js.map +1 -0
  20. package/esm/hooks/index.d.ts +2 -2
  21. package/esm/hooks/index.d.ts.map +1 -1
  22. package/esm/hooks/index.js +2 -2
  23. package/esm/hooks/index.js.map +1 -1
  24. package/esm/hooks/usSearchKeyboard.d.ts +7 -0
  25. package/esm/hooks/usSearchKeyboard.d.ts.map +1 -0
  26. package/esm/hooks/usSearchKeyboard.js +19 -0
  27. package/esm/hooks/usSearchKeyboard.js.map +1 -0
  28. package/esm/hooks/useSearchIds.d.ts +9 -0
  29. package/esm/hooks/useSearchIds.d.ts.map +1 -0
  30. package/esm/hooks/useSearchIds.js +13 -0
  31. package/esm/hooks/useSearchIds.js.map +1 -0
  32. package/esm/hooks/useSemanticSearch.d.ts +4 -0
  33. package/esm/hooks/useSemanticSearch.d.ts.map +1 -1
  34. package/esm/hooks/useSemanticSearch.js +4 -1
  35. package/esm/hooks/useSemanticSearch.js.map +1 -1
  36. package/esm/internal/GroupResultCounter.js +1 -1
  37. package/esm/internal/GroupResultCounter.js.map +1 -1
  38. package/esm/internal/HistorySearchTreeView.d.ts +3 -1
  39. package/esm/internal/HistorySearchTreeView.d.ts.map +1 -1
  40. package/esm/internal/HistorySearchTreeView.js +6 -5
  41. package/esm/internal/HistorySearchTreeView.js.map +1 -1
  42. package/esm/internal/HistorySearchTreeViewItem.d.ts.map +1 -1
  43. package/esm/internal/HistorySearchTreeViewItem.js +6 -3
  44. package/esm/internal/HistorySearchTreeViewItem.js.map +1 -1
  45. package/esm/internal/LeveledSearchTreeView.d.ts +4 -1
  46. package/esm/internal/LeveledSearchTreeView.d.ts.map +1 -1
  47. package/esm/internal/LeveledSearchTreeView.js +14 -5
  48. package/esm/internal/LeveledSearchTreeView.js.map +1 -1
  49. package/esm/internal/LeveledSearchTreeViewItem.d.ts.map +1 -1
  50. package/esm/internal/LeveledSearchTreeViewItem.js +7 -4
  51. package/esm/internal/LeveledSearchTreeViewItem.js.map +1 -1
  52. package/esm/internal/SearchItemDetails.d.ts.map +1 -1
  53. package/esm/internal/SearchItemDetails.js +1 -1
  54. package/esm/internal/SearchItemDetails.js.map +1 -1
  55. package/esm/internal/SearchOverlay.d.ts +12 -0
  56. package/esm/internal/SearchOverlay.d.ts.map +1 -1
  57. package/esm/internal/SearchOverlay.js +46 -31
  58. package/esm/internal/SearchOverlay.js.map +1 -1
  59. package/esm/localization/bundles/en-US.json +2 -2
  60. package/esm/localization/bundles/en-US.localization-bundle.js +1 -1
  61. package/esm/localization/bundles/en-US.localization-bundle.js.map +1 -1
  62. package/esm/permissions/PermissionsContext.d.ts +13 -0
  63. package/esm/permissions/PermissionsContext.d.ts.map +1 -0
  64. package/esm/permissions/PermissionsContext.js +14 -0
  65. package/esm/permissions/PermissionsContext.js.map +1 -0
  66. package/esm/permissions/index.d.ts +4 -0
  67. package/esm/permissions/index.d.ts.map +1 -0
  68. package/esm/permissions/index.js +5 -0
  69. package/esm/permissions/index.js.map +1 -0
  70. package/esm/permissions/usePermissions.d.ts +6 -0
  71. package/esm/permissions/usePermissions.d.ts.map +1 -0
  72. package/esm/permissions/usePermissions.js +6 -0
  73. package/esm/permissions/usePermissions.js.map +1 -0
  74. package/esm/permissions/useWorkspacePermissions.d.ts +8 -0
  75. package/esm/permissions/useWorkspacePermissions.d.ts.map +1 -0
  76. package/esm/permissions/useWorkspacePermissions.js +16 -0
  77. package/esm/permissions/useWorkspacePermissions.js.map +1 -0
  78. package/esm/permissions/utils.d.ts +3 -0
  79. package/esm/permissions/utils.d.ts.map +1 -0
  80. package/esm/permissions/utils.js +4 -0
  81. package/esm/permissions/utils.js.map +1 -0
  82. package/esm/sdk-ui-semantic-search.d.ts +10 -2
  83. package/esm/utils/getAriaLabel.js +1 -1
  84. package/package.json +9 -9
  85. package/styles/css/internal.css +11 -31
  86. package/styles/css/internal.css.map +1 -1
  87. package/styles/css/main.css +11 -28
  88. package/styles/css/main.css.map +1 -1
  89. package/styles/scss/internal.scss +0 -6
  90. package/styles/scss/main.scss +15 -33
  91. package/esm/hooks/useListScroll.d.ts +0 -2
  92. package/esm/hooks/useListScroll.d.ts.map +0 -1
  93. package/esm/hooks/useListScroll.js +0 -29
  94. package/esm/hooks/useListScroll.js.map +0 -1
  95. package/esm/hooks/useListSelector.d.ts +0 -7
  96. package/esm/hooks/useListSelector.d.ts.map +0 -1
  97. package/esm/hooks/useListSelector.js +0 -47
  98. package/esm/hooks/useListSelector.js.map +0 -1
@@ -1,4 +1,4 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  import { useState, useEffect } from "react";
3
3
  import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
4
4
  /**
@@ -7,6 +7,7 @@ import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
7
7
  const DEFAULT_STATE = {
8
8
  searchStatus: "idle",
9
9
  searchError: "",
10
+ searchMessage: "",
10
11
  searchResults: [],
11
12
  relationships: [],
12
13
  };
@@ -55,6 +56,7 @@ export const useSemanticSearch = ({ searchTerm, objectTypes = DEFAULT_OBJECT_TYP
55
56
  setState({
56
57
  searchStatus: "success",
57
58
  searchError: "",
59
+ searchMessage: res.reasoning ?? "",
58
60
  searchResults: res.results,
59
61
  relationships: res.relationships,
60
62
  });
@@ -66,6 +68,7 @@ export const useSemanticSearch = ({ searchTerm, objectTypes = DEFAULT_OBJECT_TYP
66
68
  setState({
67
69
  searchStatus: "error",
68
70
  searchError: errorMessage(e),
71
+ searchMessage: "",
69
72
  searchResults: [],
70
73
  relationships: [],
71
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useSemanticSearch.js","sourceRoot":"","sources":["../../src/hooks/useSemanticSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSemanticSearch.js","sourceRoot":"","sources":["../../src/hooks/useSemanticSearch.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,6 @@ export function GroupResultCounter({ count, isExpanded }) {
10
10
  return (React.createElement("div", { className: "gd-semantic-search__results-item__counter" },
11
11
  React.createElement(FormattedMessage, { tagName: "span", id: "semantic-search.results.count", values: { count } }),
12
12
  React.createElement("div", { className: cx("gd-semantic-search__results-item__counter__icon", isExpanded && "gd-semantic-search__results-item__counter__icon--expanded") },
13
- React.createElement(UiIcon, { type: "navigateRight", size: 16, color: "complementary-6" }))));
13
+ React.createElement(UiIcon, { type: "navigateRight", size: 16, color: "complementary-6", ariaHidden: true }))));
14
14
  }
15
15
  //# sourceMappingURL=GroupResultCounter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupResultCounter.js","sourceRoot":"","sources":["../../src/internal/GroupResultCounter.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAO9C,MAAM,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAS;IAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CACH,6BAAK,SAAS,EAAC,2CAA2C;QACtD,oBAAC,gBAAgB,IAAC,OAAO,EAAC,MAAM,EAAC,EAAE,EAAC,+BAA+B,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAI;QACzF,6BACI,SAAS,EAAE,EAAE,CACT,iDAAiD,EACjD,UAAU,IAAI,2DAA2D,CAC5E;YAED,oBAAC,MAAM,IAAC,IAAI,EAAC,eAAe,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,CAC/D,CACJ,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"GroupResultCounter.js","sourceRoot":"","sources":["../../src/internal/GroupResultCounter.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAO9C,MAAM,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAS;IAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CACH,6BAAK,SAAS,EAAC,2CAA2C;QACtD,oBAAC,gBAAgB,IAAC,OAAO,EAAC,MAAM,EAAC,EAAE,EAAC,+BAA+B,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAI;QACzF,6BACI,SAAS,EAAE,EAAE,CACT,iDAAiD,EACjD,UAAU,IAAI,2DAA2D,CAC5E;YAED,oBAAC,MAAM,IAAC,IAAI,EAAC,eAAe,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,EAAC,UAAU,EAAE,IAAI,GAAI,CACjF,CACJ,CACT,CAAC;AACN,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import React from "react";
2
2
  type Props = {
3
+ id: string;
3
4
  searchHistory: string[];
4
5
  onSelect: (value: string) => void;
6
+ onFocus: (nodeId: string) => void;
5
7
  };
6
8
  /**
7
9
  * A tree view component for history search results.
8
10
  * @internal
9
11
  */
10
- export declare function HistorySearchTreeView({ searchHistory, onSelect }: Props): React.JSX.Element;
12
+ export declare function HistorySearchTreeView({ id, searchHistory, onSelect, onFocus }: Props): React.JSX.Element;
11
13
  export {};
12
14
  //# sourceMappingURL=HistorySearchTreeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HistorySearchTreeView.d.ts","sourceRoot":"","sources":["../../src/internal/HistorySearchTreeView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,KAAK,KAAK,GAAG;IACT,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,KAAK,qBAuBvE"}
1
+ {"version":3,"file":"HistorySearchTreeView.d.ts","sourceRoot":"","sources":["../../src/internal/HistorySearchTreeView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,KAAK,KAAK,GAAG;IACT,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,qBAyBpF"}
@@ -7,21 +7,22 @@ import { HistorySearchTreeViewItem } from "./HistorySearchTreeViewItem.js";
7
7
  * A tree view component for history search results.
8
8
  * @internal
9
9
  */
10
- export function HistorySearchTreeView({ searchHistory, onSelect }) {
10
+ export function HistorySearchTreeView({ id, searchHistory, onSelect, onFocus }) {
11
11
  const intl = useIntl();
12
12
  const items = buildItems(searchHistory);
13
13
  const handleSelect = useCallback((item) => {
14
14
  onSelect(item.data);
15
15
  }, [onSelect]);
16
16
  return (React.createElement(UiStaticTreeview, { items: items, ariaAttributes: {
17
- id: "semantic-search-tree-history",
17
+ id,
18
+ tabIndex: -1,
18
19
  "aria-label": intl.formatMessage({ id: "semantic-search.tree.history" }),
19
- }, onSelect: handleSelect, ItemComponent: HistorySearchTreeViewItem, shouldKeyboardActionPreventDefault: false }));
20
+ }, onSelect: handleSelect, onFocus: onFocus, ItemComponent: HistorySearchTreeViewItem, shouldKeyboardActionPreventDefault: false }));
20
21
  }
21
22
  function buildItems(searchHistory) {
22
- return searchHistory.map((value) => ({
23
+ return searchHistory.map((value, idx) => ({
23
24
  item: {
24
- id: value,
25
+ id: String(idx),
25
26
  stringTitle: value,
26
27
  data: value,
27
28
  },
@@ -1 +1 @@
1
- {"version":3,"file":"HistorySearchTreeView.js","sourceRoot":"","sources":["../../src/internal/HistorySearchTreeView.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAA+C,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAO3E;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAS;IACpE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,IAA6B,EAAE,EAAE;QAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,OAAO,CACH,oBAAC,gBAAgB,IACb,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE;YACZ,EAAE,EAAE,8BAA8B;YAClC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,8BAA8B,EAAE,CAAC;SAC3E,EACD,QAAQ,EAAE,YAAY,EACtB,aAAa,EAAE,yBAAyB,EACxC,kCAAkC,EAAE,KAAK,GAC3C,CACL,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,aAAuB;IACvC,OAAO,aAAa,CAAC,GAAG,CACpB,CAAC,KAAK,EAA4B,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE;YACF,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,KAAK;SACd;KACJ,CAAC,CACL,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"HistorySearchTreeView.js","sourceRoot":"","sources":["../../src/internal/HistorySearchTreeView.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAA+C,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAS3E;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAS;IACjF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,IAA6B,EAAE,EAAE;QAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,OAAO,CACH,oBAAC,gBAAgB,IACb,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE;YACZ,EAAE;YACF,QAAQ,EAAE,CAAC,CAAC;YACZ,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,8BAA8B,EAAE,CAAC;SAC3E,EACD,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,yBAAyB,EACxC,kCAAkC,EAAE,KAAK,GAC3C,CACL,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,aAAuB;IACvC,OAAO,aAAa,CAAC,GAAG,CACpB,CAAC,KAAK,EAAE,GAAG,EAA4B,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE;YACF,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;YACf,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,KAAK;SACd;KACJ,CAAC,CACL,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HistorySearchTreeViewItem.d.ts","sourceRoot":"","sources":["../../src/internal/HistorySearchTreeViewItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAQ,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAKvE;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,qBAoB5E"}
1
+ {"version":3,"file":"HistorySearchTreeViewItem.d.ts","sourceRoot":"","sources":["../../src/internal/HistorySearchTreeViewItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAQ,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAKvE;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,qBA0B5E"}
@@ -8,11 +8,14 @@ import { useIntl } from "react-intl";
8
8
  * @internal
9
9
  */
10
10
  export function HistorySearchTreeViewItem(props) {
11
- const { item, isFocused, level, onSelect, onHover } = props;
11
+ const { item, isFocused, level, onSelect, onHover, ariaAttributes } = props;
12
12
  const theme = useTheme();
13
13
  const intl = useIntl();
14
- const ariaLabel = intl.formatMessage({ id: "semantic-search.previous-search" });
15
- return (React.createElement(SearchItem, { ariaLabel: ariaLabel, level: level, onClick: onSelect, onHover: onHover, isFocused: isFocused, icon: React.createElement(Icon.HistoryBack, { color: theme?.palette?.complementary?.c5 ?? "#B0BECA" }) },
14
+ const ariaLabel = intl.formatMessage({ id: "semantic-search.previous-search" }, { query: item.stringTitle });
15
+ return (React.createElement(SearchItem, { ariaAttributes: {
16
+ ...ariaAttributes,
17
+ "aria-label": ariaLabel,
18
+ }, level: level, onClick: onSelect, onHover: onHover, isFocused: isFocused, icon: React.createElement(Icon.HistoryBack, { color: theme?.palette?.complementary?.c5 ?? "#B0BECA" }) },
16
19
  React.createElement("span", { className: "gd-semantic-search__results-item__text__row" },
17
20
  React.createElement("span", { className: "gd-semantic-search__results-item__text__ellipsis" }, item.stringTitle))));
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HistorySearchTreeViewItem.js","sourceRoot":"","sources":["../../src/internal/HistorySearchTreeViewItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAA6B,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAmC;IACzE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC5D,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAEhF,OAAO,CACH,oBAAC,UAAU,IACP,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,oBAAC,IAAI,CAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,SAAS,GAAI;QAEjF,8BAAM,SAAS,EAAC,6CAA6C;YACzD,8BAAM,SAAS,EAAC,kDAAkD,IAAE,IAAI,CAAC,WAAW,CAAQ,CACzF,CACE,CAChB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"HistorySearchTreeViewItem.js","sourceRoot":"","sources":["../../src/internal/HistorySearchTreeViewItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAA6B,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAmC;IACzE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC5E,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAChC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EACzC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAC9B,CAAC;IAEF,OAAO,CACH,oBAAC,UAAU,IACP,cAAc,EAAE;YACZ,GAAG,cAAc;YACjB,YAAY,EAAE,SAAS;SAC1B,EACD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,oBAAC,IAAI,CAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,SAAS,GAAI;QAEjF,8BAAM,SAAS,EAAC,6CAA6C;YACzD,8BAAM,SAAS,EAAC,kDAAkD,IAAE,IAAI,CAAC,WAAW,CAAQ,CACzF,CACE,CAChB,CAAC;AACN,CAAC"}
@@ -4,16 +4,19 @@ import { type UiLeveledTreeView, type OnLeveledSelectFn } from "@gooddata/sdk-ui
4
4
  export type SearchTreeViewLevels = [ISemanticSearchResultItem, ISemanticSearchRelationship];
5
5
  export type SearchTreeViewItem = UiLeveledTreeView<SearchTreeViewLevels>;
6
6
  type Props = {
7
+ id: string;
7
8
  workspace: string;
8
9
  searchResults: ISemanticSearchResultItem[];
9
10
  searchRelationships: ISemanticSearchRelationship[];
11
+ canEdit?: boolean;
10
12
  threshold?: number;
11
13
  onSelect: OnLeveledSelectFn<SearchTreeViewLevels>;
14
+ onFocus: (nodeId: string) => void;
12
15
  };
13
16
  /**
14
17
  * A tree view component for semantic search results.
15
18
  * @internal
16
19
  */
17
- export declare function LeveledSearchTreeView(props: Props): React.JSX.Element;
20
+ export declare function LeveledSearchTreeView({ id, onSelect, onFocus, ...props }: Props): React.JSX.Element;
18
21
  export {};
19
22
  //# sourceMappingURL=LeveledSearchTreeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LeveledSearchTreeView.d.ts","sourceRoot":"","sources":["../../src/internal/LeveledSearchTreeView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAqB,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzG,MAAM,MAAM,oBAAoB,GAAG,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC;AAC5F,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAEzE,KAAK,KAAK,GAAG;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,mBAAmB,EAAE,2BAA2B,EAAE,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;CACrD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,qBAoBjD"}
1
+ {"version":3,"file":"LeveledSearchTreeView.d.ts","sourceRoot":"","sources":["../../src/internal/LeveledSearchTreeView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAqB,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzG,MAAM,MAAM,oBAAoB,GAAG,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC;AAC5F,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAEzE,KAAK,KAAK,GAAG;IACT,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,mBAAmB,EAAE,2BAA2B,EAAE,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,qBAsB/E"}
@@ -9,16 +9,17 @@ import { getUIPath } from "../utils/getUIPath.js";
9
9
  * A tree view component for semantic search results.
10
10
  * @internal
11
11
  */
12
- export function LeveledSearchTreeView(props) {
12
+ export function LeveledSearchTreeView({ id, onSelect, onFocus, ...props }) {
13
13
  const intl = useIntl();
14
14
  const items = buildItems(props, intl);
15
15
  return (React.createElement(UiLeveledTreeview, { items: items, maxHeight: 500, ariaAttributes: {
16
- id: "leveled-semantic-search-tree",
16
+ id,
17
+ tabIndex: -1,
17
18
  "aria-label": intl.formatMessage({ id: "semantic-search.tree" }),
18
- }, expandedMode: "default-collapsed", selectionMode: "leafs-only", expansionMode: "single", onSelect: props.onSelect, ItemComponent: LeveledSearchTreeViewItemMemo, shouldKeyboardActionPreventDefault: false, isDisabledFocusable // For displaying locked items
19
+ }, expandedMode: "default-collapsed", selectionMode: "leafs-only", expansionMode: "single", onSelect: onSelect, onFocus: onFocus, ItemComponent: LeveledSearchTreeViewItemMemo, shouldKeyboardActionPreventDefault: false, isDisabledFocusable // For displaying locked items
19
20
  : true }));
20
21
  }
21
- function buildItems({ workspace, searchResults, searchRelationships, threshold = 0.8 }, intl) {
22
+ function buildItems({ workspace, searchResults, searchRelationships, threshold = 0.8, canEdit }, intl) {
22
23
  return searchResults
23
24
  .filter((item) => {
24
25
  // Filter out items with similarity score below the threshold
@@ -57,7 +58,7 @@ function buildItems({ workspace, searchResults, searchRelationships, threshold =
57
58
  };
58
59
  });
59
60
  // Add artificial "Edit" action item when there are relationships to display
60
- if (children.length > 0) {
61
+ if (children.length > 0 && canEdit) {
61
62
  children.push({
62
63
  item: {
63
64
  id: item.id,
@@ -88,6 +89,14 @@ function buildItems({ workspace, searchResults, searchRelationships, threshold =
88
89
  },
89
90
  children,
90
91
  };
92
+ })
93
+ .filter((item) => {
94
+ //NOTE: This is a workaround for a permissions, if user has only view permission on the dashboard
95
+ // and we found object that is not dashboard has no relationships, we don't want to show it
96
+ if (!canEdit && item.item.data.type !== "dashboard") {
97
+ return (item.children?.length ?? 0) > 0;
98
+ }
99
+ return true;
91
100
  });
92
101
  }
93
102
  //# sourceMappingURL=LeveledSearchTreeView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LeveledSearchTreeView.js","sourceRoot":"","sources":["../../src/internal/LeveledSearchTreeView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LeveledSearchTreeView.js","sourceRoot":"","sources":["../../src/internal/LeveledSearchTreeView.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LeveledSearchTreeViewItem.d.ts","sourceRoot":"","sources":["../../src/internal/LeveledSearchTreeViewItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAQ,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AASvE,KAAK,KAAK,GAAG,oBAAoB,CAAC,yBAAyB,GAAG,2BAA2B,CAAC,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,6BAA6B,mCA6BxC,CAAC"}
1
+ {"version":3,"file":"LeveledSearchTreeViewItem.d.ts","sourceRoot":"","sources":["../../src/internal/LeveledSearchTreeViewItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAU,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AASzE,KAAK,KAAK,GAAG,oBAAoB,CAAC,yBAAyB,GAAG,2BAA2B,CAAC,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,6BAA6B,mCAgCxC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // (C) 2024-2025 GoodData Corporation
2
2
  import * as React from "react";
3
3
  import { isSemanticSearchResultItem, } from "@gooddata/sdk-model";
4
- import { Icon } from "@gooddata/sdk-ui-kit";
4
+ import { UiIcon } from "@gooddata/sdk-ui-kit";
5
5
  import { SearchItemDetails } from "./SearchItemDetails.js";
6
6
  import { SearchItemIcon } from "./SearchItemIcon.js";
7
7
  import { UpdatedDate } from "./UpdateDate.js";
@@ -13,11 +13,14 @@ import { GroupResultCounter } from "./GroupResultCounter.js";
13
13
  * @internal
14
14
  */
15
15
  export const LeveledSearchTreeViewItemMemo = React.memo(function LeveledSearchTreeViewItem(props) {
16
- const { item, type, level, isFocused, isExpanded, childCount, onSelect, onHover } = props;
16
+ const { item, type, level, isFocused, isExpanded, childCount, onSelect, onHover, ariaAttributes } = props;
17
17
  const href = type === "leaf" ? item.url : undefined;
18
- return (React.createElement(SearchItem, { ariaLabel: getAriaLabel(item.data), level: level, href: href, onClick: onSelect, onHover: onHover, isFocused: isFocused, icon: React.createElement(SearchItemIcon, { item: item.data, icon: item.icon }), details: React.createElement(SearchItemDetails, { item: item.data }), resultCounter: React.createElement(GroupResultCounter, { count: childCount, isExpanded: isExpanded }) },
18
+ return (React.createElement(SearchItem, { ariaAttributes: {
19
+ ...ariaAttributes,
20
+ "aria-label": getAriaLabel(item.data),
21
+ }, level: level, href: href, onClick: onSelect, onHover: onHover, isFocused: isFocused, icon: React.createElement(SearchItemIcon, { item: item.data, icon: item.icon }), details: React.createElement(SearchItemDetails, { item: item.data }), resultCounter: React.createElement(GroupResultCounter, { count: childCount, isExpanded: isExpanded }) },
19
22
  React.createElement("span", { className: "gd-semantic-search__results-item__text__row" },
20
- item.isDisabled ? (React.createElement(Icon.Lock, { className: "gd-semantic-search__results-item__text__lock-icon" })) : null,
23
+ item.isDisabled ? (React.createElement(UiIcon, { type: "lock", color: "complementary-7", size: 16, ariaHidden: true })) : null,
21
24
  React.createElement("span", { className: "gd-semantic-search__results-item__text__ellipsis" }, item.stringTitle)),
22
25
  React.createElement("span", { className: "gd-semantic-search__results-item__text__row" }, isSemanticSearchResultItem(item.data) && level === 1 && (React.createElement(UpdatedDate, { createdAt: item.data.createdAt, modifiedAt: item.data.modifiedAt })))));
23
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LeveledSearchTreeViewItem.js","sourceRoot":"","sources":["../../src/internal/LeveledSearchTreeViewItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACH,0BAA0B,GAG7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAA6B,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,yBAAyB,CAAC,KAAY;IACnG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1F,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpD,OAAO,CACH,oBAAC,UAAU,IACP,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAClC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC1D,OAAO,EAAE,oBAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC/C,aAAa,EAAE,oBAAC,kBAAkB,IAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI;QAEhF,8BAAM,SAAS,EAAC,6CAA6C;YACxD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,oBAAC,IAAI,CAAC,IAAI,IAAC,SAAS,EAAC,mDAAmD,GAAG,CAC9E,CAAC,CAAC,CAAC,IAAI;YACR,8BAAM,SAAS,EAAC,kDAAkD,IAAE,IAAI,CAAC,WAAW,CAAQ,CACzF;QACP,8BAAM,SAAS,EAAC,6CAA6C,IACxD,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CACrD,oBAAC,WAAW,IAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAI,CACpF,CACE,CACE,CAChB,CAAC;AACN,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"LeveledSearchTreeViewItem.js","sourceRoot":"","sources":["../../src/internal/LeveledSearchTreeViewItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACH,0BAA0B,GAG7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAA6B,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,yBAAyB,CAAC,KAAY;IACnG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC1G,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpD,OAAO,CACH,oBAAC,UAAU,IACP,cAAc,EAAE;YACZ,GAAG,cAAc;YACjB,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;SACxC,EACD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC1D,OAAO,EAAE,oBAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC/C,aAAa,EAAE,oBAAC,kBAAkB,IAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI;QAEhF,8BAAM,SAAS,EAAC,6CAA6C;YACxD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,oBAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAI,CAC7E,CAAC,CAAC,CAAC,IAAI;YACR,8BAAM,SAAS,EAAC,kDAAkD,IAAE,IAAI,CAAC,WAAW,CAAQ,CACzF;QACP,8BAAM,SAAS,EAAC,6CAA6C,IACxD,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CACrD,oBAAC,WAAW,IAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAI,CACpF,CACE,CACE,CAChB,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchItemDetails.d.ts","sourceRoot":"","sources":["../../src/internal/SearchItemDetails.tsx"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAmB,MAAM,OAAO,CAAC;AAoBxC,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,yBAAyB,GAAG,2BAA2B,CAAC;CACjE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,4BAiChD"}
1
+ {"version":3,"file":"SearchItemDetails.d.ts","sourceRoot":"","sources":["../../src/internal/SearchItemDetails.tsx"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAmB,MAAM,OAAO,CAAC;AAoBxC,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,yBAAyB,GAAG,2BAA2B,CAAC;CACjE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,4BAkChD"}
@@ -27,7 +27,7 @@ export function SearchItemDetails({ item }) {
27
27
  if (!isSemanticSearchResultItem(item)) {
28
28
  return null;
29
29
  }
30
- return (React.createElement("div", { className: "gd-semantic-search__results-item__details", onPointerEnter: () => setIsHovered(true), onPointerLeave: () => setIsHovered(false) },
30
+ return (React.createElement("div", { "aria-hidden": true, className: "gd-semantic-search__results-item__details", onPointerEnter: () => setIsHovered(true), onPointerLeave: () => setIsHovered(false) },
31
31
  React.createElement(BubbleHoverTrigger, { eventsOnBubble: true, className: "gd-semantic-search__bubble_trigger" },
32
32
  React.createElement(UiIcon, { type: "question", size: 16, color: isHovered ? "complementary-7" : "complementary-6" }),
33
33
  React.createElement(Bubble, { className: "bubble-light gd-semantic-search__bubble", alignPoints: BUBBLE_ALIGN_POINTS, arrowStyle: ARROW_STYLE },
@@ -1 +1 @@
1
- {"version":3,"file":"SearchItemDetails.js","sourceRoot":"","sources":["../../src/internal/SearchItemDetails.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchItemDetails.js","sourceRoot":"","sources":["../../src/internal/SearchItemDetails.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EACH,0BAA0B,GAG7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpG;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB;;GAEG;AACH,MAAM,mBAAmB,GAAG;IACxB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAC1C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;CAC7C,CAAC;AACF;;GAEG;AACH,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAMxC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAS;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,4CACiB,IAAI,EACjB,SAAS,EAAC,2CAA2C,EACrD,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACxC,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAEzC,oBAAC,kBAAkB,IAAC,cAAc,QAAC,SAAS,EAAC,oCAAoC;YAC7E,oBAAC,MAAM,IAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,GAAI;YAC9F,oBAAC,MAAM,IACH,SAAS,EAAC,yCAAyC,EACnD,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,WAAW;gBAGvB,6BAAK,SAAS,EAAC,qDAAqD;oBAChE,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,IAAE,IAAI,CAAC,KAAK,CAAc;oBAClD,oBAAC,WAAW,IAAC,IAAI,EAAE,IAAI,GAAI;oBAC3B,oBAAC,gBAAgB,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAC,oBAAoB,GAAG;oBACzD,oBAAC,UAAU,IAAC,OAAO,EAAE,GAAG,IAAG,IAAI,CAAC,EAAE,CAAc;oBAChD,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI;oBACpB,oBAAC,KAAK,IAAC,IAAI,EAAE,IAAI,GAAI,CACnB,CACD,CACQ,CACnB,CACT,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,EAAE,IAAI,EAAuC;IACvD,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,CACH,oBAAC,KAAK,CAAC,QAAQ;YACX,oBAAC,gBAAgB,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAC,sBAAsB,GAAG;YAC3D,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,IAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAc,CAC9C,CACpB,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,EAAE,IAAI,EAAuC;IAC9D,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACtD,OAAO,oBAAC,YAAY,IAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,GAAI,CAAC;IACzE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,EAAE,IAAI,EAAuC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtF,OAAO,CACH,6BAAK,SAAS,EAAC,4DAA4D;QACvE,+BAAM;QACN,oBAAC,gBAAgB,IAAC,EAAE,EAAC,uBAAuB,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAI,CAC7E,CACT,CAAC;AACN,CAAC"}
@@ -57,6 +57,18 @@ export type SearchOverlayProps = {
57
57
  * Timezone in which metadata created and updated dates are saved.
58
58
  */
59
59
  metadataTimezone?: string;
60
+ /**
61
+ * Can manage objects
62
+ */
63
+ canManage?: boolean;
64
+ /**
65
+ * Can analyze objects
66
+ */
67
+ canAnalyze?: boolean;
68
+ /**
69
+ * Can full controls
70
+ */
71
+ canFullControl?: boolean;
60
72
  /**
61
73
  * A function to render the footer of the search overlay.
62
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SearchOverlay.d.ts","sourceRoot":"","sources":["../../src/internal/SearchOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EACH,eAAe,EACf,yBAAyB,EACzB,KAAK,2BAA2B,EACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA8C/D,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,yBAAyB,GAAG,2BAA2B,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,QAAQ,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,yBAAyB,EAAE,KAAK,IAAI,CAAC;IAChF;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,CACX,KAAK,EAAE,kBAAkB,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAC/F,QAAQ,EAAE;QACN,WAAW,EAAE,MAAM,IAAI,CAAC;KAC3B,KACA,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AAiMF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAUtD,CAAC"}
1
+ {"version":3,"file":"SearchOverlay.d.ts","sourceRoot":"","sources":["../../src/internal/SearchOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,EACH,eAAe,EACf,yBAAyB,EACzB,KAAK,2BAA2B,EACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA+C/D,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,yBAAyB,GAAG,2BAA2B,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,QAAQ,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,yBAAyB,EAAE,KAAK,IAAI,CAAC;IAChF;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,CACX,KAAK,EAAE,kBAAkB,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAC/F,QAAQ,EAAE;QACN,WAAW,EAAE,MAAM,IAAI,CAAC;KAC3B,KACA,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AA2NF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAUtD,CAAC"}
@@ -1,13 +1,14 @@
1
1
  // (C) 2024-2025 GoodData Corporation
2
- import React, { useMemo, useCallback, useEffect } from "react";
2
+ import React, { useMemo, useCallback, useEffect, useState, useRef } from "react";
3
3
  import classnames from "classnames";
4
- import { FormattedMessage, injectIntl } from "react-intl";
5
- import { Input, LoadingMask, Message, useHeaderSearch, UiTreeViewEventsProvider, useUiTreeViewEventPublisher, } from "@gooddata/sdk-ui-kit";
4
+ import { FormattedMessage, useIntl } from "react-intl";
5
+ import { Input, LoadingMask, Message, useHeaderSearch, UiTreeViewEventsProvider, } from "@gooddata/sdk-ui-kit";
6
6
  import { useWorkspaceStrict, useLocalStorage, useDebouncedState } from "@gooddata/sdk-ui";
7
- import { useSemanticSearch } from "../hooks/index.js";
7
+ import { useSemanticSearch, useSearchIds } from "../hooks/index.js";
8
8
  import { IntlWrapper } from "../localization/IntlWrapper.js";
9
9
  import { MetadataTimezoneProvider } from "./metadataTimezoneContext.js";
10
10
  import { LeveledSearchTreeView } from "./LeveledSearchTreeView.js";
11
+ import { useSearchKeyboard } from "../hooks/usSearchKeyboard.js";
11
12
  import { HistorySearchTreeView } from "./HistorySearchTreeView.js";
12
13
  /**
13
14
  * A time in milliseconds to wait before sending a search request after the user stops typing.
@@ -40,14 +41,21 @@ const THRESHOLD = 0.5;
40
41
  /**
41
42
  * Core implementation of the SemanticSearchOverlay component.
42
43
  */
43
- const SearchOverlayCore = (props) => {
44
- const { onSelect, onSearch, backend, workspace, objectTypes, deepSearch, limit = LIMIT, className, intl, threshold = THRESHOLD, renderFooter, } = props;
44
+ function SearchOverlayCore(props) {
45
+ const { onSelect, onSearch, backend, workspace, objectTypes, deepSearch, canManage, canFullControl, canAnalyze, limit = LIMIT, className, threshold = THRESHOLD, renderFooter, } = props;
46
+ const canEdit = canFullControl || canManage || canAnalyze;
47
+ const intl = useIntl();
45
48
  const { toggleOpen } = useHeaderSearch();
46
49
  // Input value handling
50
+ const inputRef = useRef(null);
47
51
  const [value, setValue, searchTerm, setImmediate] = useDebouncedState("", DEBOUNCE);
52
+ const isModified = value.length > 0;
53
+ const { inputId, treeViewId } = useSearchIds();
54
+ const handleKeyDown = useSearchKeyboard();
55
+ const [activeNodeId, setActiveNodeId] = useState();
48
56
  // Search results
49
57
  const effectiveWorkspace = useWorkspaceStrict(workspace);
50
- const { searchStatus, searchResults, searchError, relationships } = useSemanticSearch({
58
+ const { searchStatus, searchResults, searchError, searchMessage, relationships } = useSemanticSearch({
51
59
  backend,
52
60
  workspace: effectiveWorkspace,
53
61
  searchTerm,
@@ -57,7 +65,7 @@ const SearchOverlayCore = (props) => {
57
65
  });
58
66
  // Search history
59
67
  const [searchHistory, setSearchHistory] = useLocalStorage(SEARCH_HISTORY_KEY, SEARCH_HISTORY_EMPTY);
60
- const onResultSelect = useCallback((item, { newTab }, event) => {
68
+ const handleLeveledSelect = useCallback((item, { newTab }, event) => {
61
69
  setSearchHistory([...new Set([searchTerm, ...searchHistory])].slice(0, MAX_SEARCH_HISTORY_LENGTH));
62
70
  const itemData = item.data;
63
71
  const itemUrl = item.url;
@@ -83,23 +91,31 @@ const SearchOverlayCore = (props) => {
83
91
  if (!newTab) {
84
92
  toggleOpen();
85
93
  }
94
+ // Force prevent default on end of runtime
95
+ if (event.nativeEvent instanceof KeyboardEvent) {
96
+ event.preventDefault();
97
+ event.stopPropagation();
98
+ }
86
99
  }, [searchTerm, searchHistory, onSelect, setSearchHistory, toggleOpen, searchResults]);
87
- const inputAccessibilityConfig = useMemo(() => ({ ariaLabel: intl.formatMessage({ id: "semantic-search.label" }) }), [intl]);
100
+ const handleHistorySelect = useCallback((value) => {
101
+ setImmediate(value);
102
+ // The input element is loosing focus after the selection,
103
+ // therefore it needs to be focused explicitly.
104
+ inputRef.current?.inputNodeRef.inputNodeRef.focus();
105
+ }, [setImmediate]);
106
+ const inputAccessibilityConfig = useMemo(() => ({
107
+ role: "combobox",
108
+ ariaLabel: intl.formatMessage({ id: "semantic-search.label" }),
109
+ ariaControls: treeViewId,
110
+ ariaExpanded: true, // Always expanded
111
+ ariaActiveDescendant: activeNodeId,
112
+ }), [intl, activeNodeId, treeViewId]);
88
113
  const onValueChange = useCallback((value) => setValue(String(value)), [setValue]);
89
- const onEscKeyPress = useCallback((e) => {
90
- if (value.length > 0) {
91
- e.stopPropagation();
92
- }
93
- }, [value]);
94
- // Send input keydown events to the tree view
95
- const onKeyDown = useUiTreeViewEventPublisher("keydown");
96
- const handleKeyDown = useCallback((event) => {
97
- // Ignore the Space key when the input is focused
98
- if (event.code === "Space") {
99
- return;
114
+ const onEscKeyPress = useCallback((event) => {
115
+ if (isModified) {
116
+ event.stopPropagation();
100
117
  }
101
- onKeyDown(event);
102
- }, [onKeyDown]);
118
+ }, [isModified]);
103
119
  // Report metrics
104
120
  useEffect(() => {
105
121
  onSearch?.(searchTerm, searchResults);
@@ -115,7 +131,7 @@ const SearchOverlayCore = (props) => {
115
131
  }
116
132
  }, [searchStatus, searchError]);
117
133
  return (React.createElement("div", { className: classnames("gd-semantic-search__overlay", className) },
118
- React.createElement(Input, { className: "gd-semantic-search__overlay-input", autofocus: true, placeholder: intl.formatMessage({ id: "semantic-search.placeholder" }), accessibilityConfig: inputAccessibilityConfig, isSearch: true, clearOnEsc: true, value: value, onChange: onValueChange, onEscKeyPress: onEscKeyPress, onKeyDown: handleKeyDown }),
134
+ React.createElement(Input, { ref: inputRef, className: "gd-semantic-search__overlay-input", id: inputId, type: "search", autofocus: true, placeholder: intl.formatMessage({ id: "semantic-search.placeholder" }), accessibilityConfig: inputAccessibilityConfig, isSearch: true, clearOnEsc: true, value: value, onChange: onValueChange, onEscKeyPress: onEscKeyPress, onKeyDown: handleKeyDown }),
119
135
  (() => {
120
136
  switch (searchStatus) {
121
137
  case "loading":
@@ -127,14 +143,17 @@ const SearchOverlayCore = (props) => {
127
143
  " ",
128
144
  React.createElement(FormattedMessage, { id: "semantic-search.error.text" }))));
129
145
  case "success":
146
+ if (!searchResults.length && searchMessage) {
147
+ return (React.createElement("div", { className: "gd-semantic-search__overlay-no-results" }, searchMessage));
148
+ }
130
149
  if (!searchResults.length) {
131
150
  return (React.createElement("div", { className: "gd-semantic-search__overlay-no-results" },
132
151
  React.createElement(FormattedMessage, { id: "semantic-search.no-results", values: { query: searchTerm } })));
133
152
  }
134
- return (React.createElement(LeveledSearchTreeView, { workspace: effectiveWorkspace, searchResults: searchResults, searchRelationships: relationships, threshold: threshold, onSelect: onResultSelect }));
153
+ return (React.createElement(LeveledSearchTreeView, { id: treeViewId, workspace: effectiveWorkspace, searchResults: searchResults, searchRelationships: relationships, threshold: threshold, onSelect: handleLeveledSelect, onFocus: setActiveNodeId, canEdit: canEdit }));
135
154
  case "idle":
136
155
  if (searchHistory.length) {
137
- return (React.createElement(HistorySearchTreeView, { searchHistory: searchHistory, onSelect: setImmediate }));
156
+ return (React.createElement(HistorySearchTreeView, { id: treeViewId, searchHistory: searchHistory, onSelect: handleHistorySelect, onFocus: setActiveNodeId }));
138
157
  }
139
158
  // fallthrough
140
159
  default:
@@ -142,11 +161,7 @@ const SearchOverlayCore = (props) => {
142
161
  }
143
162
  })(),
144
163
  renderFooter?.({ ...props, status: searchStatus, value }, { closeSearch: toggleOpen })));
145
- };
146
- /**
147
- * Inject `intl` prop to the component.
148
- */
149
- const SearchOverlayWithIntl = injectIntl(SearchOverlayCore);
164
+ }
150
165
  /**
151
166
  * A component that allows users to search for insights, metrics, attributes, and other objects using semantic search.
152
167
  * The internal version is meant to be used in an overlay inside the Header.
@@ -156,6 +171,6 @@ export const SearchOverlay = ({ locale, metadataTimezone, ...props }) => {
156
171
  return (React.createElement(MetadataTimezoneProvider, { value: metadataTimezone },
157
172
  React.createElement(IntlWrapper, { locale: locale },
158
173
  React.createElement(UiTreeViewEventsProvider, null,
159
- React.createElement(SearchOverlayWithIntl, { ...props })))));
174
+ React.createElement(SearchOverlayCore, { ...props })))));
160
175
  };
161
176
  //# sourceMappingURL=SearchOverlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchOverlay.js","sourceRoot":"","sources":["../../src/internal/SearchOverlay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchOverlay.js","sourceRoot":"","sources":["../../src/internal/SearchOverlay.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAOvD,OAAO,EACH,KAAK,EACL,WAAW,EACX,OAAO,EACP,eAAe,EACf,wBAAwB,GAG3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAA6B,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB;;GAEG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC;;GAEG;AACH,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AACxD;;GAEG;AACH,MAAM,oBAAoB,GAAa,EAAE,CAAC;AAC1C;;GAEG;AACH,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB;;GAEG;AACH,MAAM,SAAS,GAAG,GAAG,CAAC;AAkFtB;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAA8D;IACrF,MAAM,EACF,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,KAAK,GAAG,KAAK,EACb,SAAS,EACT,SAAS,GAAG,SAAS,EACrB,YAAY,GACf,GAAG,KAAK,CAAC;IAEV,MAAM,OAAO,GAAG,cAAc,IAAI,SAAS,IAAI,UAAU,CAAC;IAE1D,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IAEzC,uBAAuB;IACvB,MAAM,QAAQ,GAAG,MAAM,CAAQ,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAE1C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAU,CAAC;IAE3D,iBAAiB;IACjB,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;QACjG,OAAO;QACP,SAAS,EAAE,kBAAkB;QAC7B,UAAU;QACV,WAAW;QACX,UAAU;QACV,KAAK;KACR,CAAC,CAAC;IAEH,iBAAiB;IACjB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAe,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAEpG,MAAM,mBAAmB,GAA4C,WAAW,CAC5E,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE;QACxB,gBAAgB,CACZ,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CACnF,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QACzB,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7E,6BAA6B;QAC7B,QAAQ,CAAC;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,SAAS;YAChB,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YAChD,OAAO,EAAE,OAAO;YAChB,MAAM;SACT,CAAC,CAAC;QAEH,oFAAoF;QACpF,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,WAAW,YAAY,aAAa,EAAE,CAAC;YACnF,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;YACnC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;QACjB,CAAC;QAED,0CAA0C;QAC1C,IAAI,KAAK,CAAC,WAAW,YAAY,aAAa,EAAE,CAAC;YAC7C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,CAAC,CACrF,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACnC,CAAC,KAAa,EAAE,EAAE;QACd,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,0DAA0D;QAC1D,+CAA+C;QAC/C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACxD,CAAC,EACD,CAAC,YAAY,CAAC,CACjB,CAAC;IAEF,MAAM,wBAAwB,GAAG,OAAO,CACpC,GAA6B,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,CAAC;QAC9D,YAAY,EAAE,UAAU;QACxB,YAAY,EAAE,IAAI,EAAE,kBAAkB;QACtC,oBAAoB,EAAE,YAAY;KACrC,CAAC,EACF,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CACnC,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnG,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,KAA0B,EAAE,EAAE;QAC3B,IAAI,UAAU,EAAE,CAAC;YACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC,EACD,CAAC,UAAU,CAAC,CACf,CAAC;IAEF,iBAAiB;IACjB,SAAS,CAAC,GAAG,EAAE;QACX,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACtC,kEAAkE;QAClE,+DAA+D;QAC/D,uDAAuD;IAC3D,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC3B,8BAA8B;YAC9B,0CAA0C;YAC1C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhC,OAAO,CACH,6BAAK,SAAS,EAAE,UAAU,CAAC,6BAA6B,EAAE,SAAS,CAAC;QAChE,oBAAC,KAAK,IACF,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,mCAAmC,EAC7C,EAAE,EAAE,OAAO,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,QACT,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,6BAA6B,EAAE,CAAC,EACtE,mBAAmB,EAAE,wBAAwB,EAC7C,QAAQ,QACR,UAAU,QACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,aAAa,GAC1B;QACD,CAAC,GAAG,EAAE;YACH,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,SAAS;oBACV,OAAO,oBAAC,WAAW,IAAC,MAAM,EAAE,cAAc,GAAI,CAAC;gBACnD,KAAK,OAAO;oBACR,OAAO,CACH,6BAAK,SAAS,EAAC,mCAAmC;wBAC9C,oBAAC,OAAO,IAAC,IAAI,EAAC,OAAO;4BACjB,oBAAC,gBAAgB,IAAC,OAAO,EAAC,QAAQ,EAAC,EAAE,EAAC,6BAA6B,GAAG;4BAAC,GAAG;4BAC1E,oBAAC,gBAAgB,IAAC,EAAE,EAAC,4BAA4B,GAAG,CAC9C,CACR,CACT,CAAC;gBACN,KAAK,SAAS;oBACV,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;wBACzC,OAAO,CACH,6BAAK,SAAS,EAAC,wCAAwC,IAAE,aAAa,CAAO,CAChF,CAAC;oBACN,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;wBACxB,OAAO,CACH,6BAAK,SAAS,EAAC,wCAAwC;4BACnD,oBAAC,gBAAgB,IACb,EAAE,EAAC,4BAA4B,EAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAC/B,CACA,CACT,CAAC;oBACN,CAAC;oBACD,OAAO,CACH,oBAAC,qBAAqB,IAClB,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,kBAAkB,EAC7B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,aAAa,EAClC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,OAAO,GAClB,CACL,CAAC;gBACN,KAAK,MAAM;oBACP,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;wBACvB,OAAO,CACH,oBAAC,qBAAqB,IAClB,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,eAAe,GAC1B,CACL,CAAC;oBACN,CAAC;gBACL,cAAc;gBACd;oBACI,OAAO,IAAI,CAAC;YACpB,CAAC;QACL,CAAC,CAAC,EAAE;QACH,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CACrF,CACT,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAClG,OAAO,CACH,oBAAC,wBAAwB,IAAC,KAAK,EAAE,gBAAgB;QAC7C,oBAAC,WAAW,IAAC,MAAM,EAAE,MAAM;YACvB,oBAAC,wBAAwB;gBACrB,oBAAC,iBAAiB,OAAK,KAAK,GAAI,CACT,CACjB,CACS,CAC9B,CAAC;AACN,CAAC,CAAC"}
@@ -36,8 +36,8 @@
36
36
  "comment": "Label showing match percentage in search results. The {score} placeholder displays the relevance score as a number."
37
37
  },
38
38
  "semantic-search.previous-search": {
39
- "value": "Previous search",
40
- "comment": "Area-label for the search history icon."
39
+ "value": "Previous search: {query}",
40
+ "comment": "ARIA label for the search history item."
41
41
  },
42
42
  "semantic-search.tree": {
43
43
  "value": "Semantic search tree",
@@ -10,7 +10,7 @@ export const en_US = {
10
10
  "semantic-search.id": "ID",
11
11
  "semantic-search.tags": "Tags",
12
12
  "semantic-search.match": "{score}% match",
13
- "semantic-search.previous-search": "Previous search",
13
+ "semantic-search.previous-search": "Previous search: {query}",
14
14
  "semantic-search.tree": "Semantic search tree",
15
15
  "semantic-search.tree.history": "Semantic search tree history",
16
16
  "semantic-search.edit": "Edit",
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.localization-bundle.js","sourceRoot":"","sources":["../../../src/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,6BAA6B,EAAE,yCAAyC;IACxE,4BAA4B,EAAE,sCAAsC;IACpE,4BAA4B,EAAE,iCAAiC;IAC/D,+BAA+B,EAAE,mDAAmD;IACpF,uBAAuB,EAAE,oCAAoC;IAC7D,6BAA6B,EAAE,qCAAqC;IACpE,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,MAAM;IAC9B,uBAAuB,EAAE,gBAAgB;IACzC,iCAAiC,EAAE,iBAAiB;IACpD,sBAAsB,EAAE,sBAAsB;IAC9C,8BAA8B,EAAE,8BAA8B;IAC9D,sBAAsB,EAAE,MAAM;IAC9B,yBAAyB,EAAE,IAAI;IAC/B,kCAAkC,EAAE,kBAAkB;IACtD,eAAe,EAAE,OAAO;IACxB,mBAAmB,EAAE,WAAW;CACnC,CAAC"}
1
+ {"version":3,"file":"en-US.localization-bundle.js","sourceRoot":"","sources":["../../../src/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,6BAA6B,EAAE,yCAAyC;IACxE,4BAA4B,EAAE,sCAAsC;IACpE,4BAA4B,EAAE,iCAAiC;IAC/D,+BAA+B,EAAE,mDAAmD;IACpF,uBAAuB,EAAE,oCAAoC;IAC7D,6BAA6B,EAAE,qCAAqC;IACpE,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,MAAM;IAC9B,uBAAuB,EAAE,gBAAgB;IACzC,iCAAiC,EAAE,0BAA0B;IAC7D,sBAAsB,EAAE,sBAAsB;IAC9C,8BAA8B,EAAE,8BAA8B;IAC9D,sBAAsB,EAAE,MAAM;IAC9B,yBAAyB,EAAE,IAAI;IAC/B,kCAAkC,EAAE,kBAAkB;IACtD,eAAe,EAAE,OAAO;IACxB,mBAAmB,EAAE,WAAW;CACnC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { AnalyticalBackendError, IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
2
+ import { IWorkspacePermissions } from "@gooddata/sdk-model";
3
+ import React from "react";
4
+ export declare const PermissionsContext: React.Context<{
5
+ loading: boolean;
6
+ permissions: Partial<IWorkspacePermissions>;
7
+ error?: AnalyticalBackendError;
8
+ }>;
9
+ export declare const PermissionsProvider: React.FC<React.PropsWithChildren<{
10
+ workspace?: string;
11
+ backend?: IAnalyticalBackend;
12
+ }>>;
13
+ //# sourceMappingURL=PermissionsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionsContext.d.ts","sourceRoot":"","sources":["../../src/permissions/PermissionsContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAiC,MAAM,OAAO,CAAC;AAKtD,eAAO,MAAM,kBAAkB;aAClB,OAAO;iBACH,OAAO,CAAC,qBAAqB,CAAC;YACnC,sBAAsB;EAKhC,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CACtC,KAAK,CAAC,iBAAiB,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAMhF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React, { createContext, useMemo } from "react";
2
+ import { useWorkspacePermissions } from "./useWorkspacePermissions.js";
3
+ import { emptyWorkspacePermissions } from "./utils.js";
4
+ export const PermissionsContext = createContext({
5
+ loading: true,
6
+ permissions: emptyWorkspacePermissions(),
7
+ error: undefined,
8
+ });
9
+ export const PermissionsProvider = ({ children, workspace, backend }) => {
10
+ const { result, loading, error } = useWorkspacePermissions(backend, workspace);
11
+ const value = useMemo(() => ({ permissions: result, loading, error }), [error, loading, result]);
12
+ return React.createElement(PermissionsContext.Provider, { value: value }, children);
13
+ };
14
+ //# sourceMappingURL=PermissionsContext.js.map