@gooddata/sdk-ui-semantic-search 10.38.0 → 10.39.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.
- package/esm/FooterButtonAiAssistant.d.ts +1 -1
- package/esm/FooterButtonAiAssistant.d.ts.map +1 -1
- package/esm/FooterButtonAiAssistant.js +6 -6
- package/esm/FooterButtonAiAssistant.js.map +1 -1
- package/esm/SearchItem.d.ts +5 -2
- package/esm/SearchItem.d.ts.map +1 -1
- package/esm/SearchItem.js +3 -2
- package/esm/SearchItem.js.map +1 -1
- package/esm/SemanticSearch.d.ts +7 -3
- package/esm/SemanticSearch.d.ts.map +1 -1
- package/esm/SemanticSearch.js +73 -58
- package/esm/SemanticSearch.js.map +1 -1
- package/esm/SemanticSearchItem.d.ts.map +1 -1
- package/esm/SemanticSearchItem.js +5 -2
- package/esm/SemanticSearchItem.js.map +1 -1
- package/esm/SemanticSearchTreeView.d.ts +22 -0
- package/esm/SemanticSearchTreeView.d.ts.map +1 -0
- package/esm/SemanticSearchTreeView.js +65 -0
- package/esm/SemanticSearchTreeView.js.map +1 -0
- package/esm/hooks/index.d.ts +2 -2
- package/esm/hooks/index.d.ts.map +1 -1
- package/esm/hooks/index.js +2 -2
- package/esm/hooks/index.js.map +1 -1
- package/esm/hooks/usSearchKeyboard.d.ts +7 -0
- package/esm/hooks/usSearchKeyboard.d.ts.map +1 -0
- package/esm/hooks/usSearchKeyboard.js +19 -0
- package/esm/hooks/usSearchKeyboard.js.map +1 -0
- package/esm/hooks/useSearchIds.d.ts +9 -0
- package/esm/hooks/useSearchIds.d.ts.map +1 -0
- package/esm/hooks/useSearchIds.js +13 -0
- package/esm/hooks/useSearchIds.js.map +1 -0
- package/esm/hooks/useSemanticSearch.d.ts +4 -0
- package/esm/hooks/useSemanticSearch.d.ts.map +1 -1
- package/esm/hooks/useSemanticSearch.js +4 -1
- package/esm/hooks/useSemanticSearch.js.map +1 -1
- package/esm/internal/GroupResultCounter.js +1 -1
- package/esm/internal/GroupResultCounter.js.map +1 -1
- package/esm/internal/HistorySearchTreeView.d.ts +3 -1
- package/esm/internal/HistorySearchTreeView.d.ts.map +1 -1
- package/esm/internal/HistorySearchTreeView.js +6 -5
- package/esm/internal/HistorySearchTreeView.js.map +1 -1
- package/esm/internal/HistorySearchTreeViewItem.d.ts.map +1 -1
- package/esm/internal/HistorySearchTreeViewItem.js +6 -3
- package/esm/internal/HistorySearchTreeViewItem.js.map +1 -1
- package/esm/internal/LeveledSearchTreeView.d.ts +4 -1
- package/esm/internal/LeveledSearchTreeView.d.ts.map +1 -1
- package/esm/internal/LeveledSearchTreeView.js +14 -5
- package/esm/internal/LeveledSearchTreeView.js.map +1 -1
- package/esm/internal/LeveledSearchTreeViewItem.d.ts.map +1 -1
- package/esm/internal/LeveledSearchTreeViewItem.js +7 -4
- package/esm/internal/LeveledSearchTreeViewItem.js.map +1 -1
- package/esm/internal/SearchItemDetails.d.ts.map +1 -1
- package/esm/internal/SearchItemDetails.js +1 -1
- package/esm/internal/SearchItemDetails.js.map +1 -1
- package/esm/internal/SearchOverlay.d.ts +12 -0
- package/esm/internal/SearchOverlay.d.ts.map +1 -1
- package/esm/internal/SearchOverlay.js +46 -31
- package/esm/internal/SearchOverlay.js.map +1 -1
- package/esm/localization/bundles/en-US.json +2 -2
- package/esm/localization/bundles/en-US.localization-bundle.js +1 -1
- package/esm/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/esm/permissions/PermissionsContext.d.ts +13 -0
- package/esm/permissions/PermissionsContext.d.ts.map +1 -0
- package/esm/permissions/PermissionsContext.js +14 -0
- package/esm/permissions/PermissionsContext.js.map +1 -0
- package/esm/permissions/index.d.ts +4 -0
- package/esm/permissions/index.d.ts.map +1 -0
- package/esm/permissions/index.js +5 -0
- package/esm/permissions/index.js.map +1 -0
- package/esm/permissions/usePermissions.d.ts +6 -0
- package/esm/permissions/usePermissions.d.ts.map +1 -0
- package/esm/permissions/usePermissions.js +6 -0
- package/esm/permissions/usePermissions.js.map +1 -0
- package/esm/permissions/useWorkspacePermissions.d.ts +8 -0
- package/esm/permissions/useWorkspacePermissions.d.ts.map +1 -0
- package/esm/permissions/useWorkspacePermissions.js +16 -0
- package/esm/permissions/useWorkspacePermissions.js.map +1 -0
- package/esm/permissions/utils.d.ts +3 -0
- package/esm/permissions/utils.d.ts.map +1 -0
- package/esm/permissions/utils.js +4 -0
- package/esm/permissions/utils.js.map +1 -0
- package/esm/sdk-ui-semantic-search.d.ts +10 -2
- package/esm/utils/getAriaLabel.js +1 -1
- package/package.json +9 -9
- package/styles/css/internal.css +11 -31
- package/styles/css/internal.css.map +1 -1
- package/styles/css/main.css +11 -28
- package/styles/css/main.css.map +1 -1
- package/styles/scss/internal.scss +0 -6
- package/styles/scss/main.scss +15 -33
- package/esm/hooks/useListScroll.d.ts +0 -2
- package/esm/hooks/useListScroll.d.ts.map +0 -1
- package/esm/hooks/useListScroll.js +0 -29
- package/esm/hooks/useListScroll.js.map +0 -1
- package/esm/hooks/useListSelector.d.ts +0 -7
- package/esm/hooks/useListSelector.d.ts.map +0 -1
- package/esm/hooks/useListSelector.js +0 -47
- package/esm/hooks/useListSelector.js.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PermissionsContext.js","sourceRoot":"","sources":["../../src/permissions/PermissionsContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAI5C;IACC,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,yBAAyB,EAAE;IACxC,KAAK,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAE5B,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IACrC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjG,OAAO,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAA+B,CAAC;AAC/F,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAEA,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"usePermissions.d.ts","sourceRoot":"","sources":["../../src/permissions/usePermissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAK5D,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;CAAE,CAElG"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"usePermissions.js","sourceRoot":"","sources":["../../src/permissions/usePermissions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,UAAU,cAAc;IAC1B,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAC1C,CAAC"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { AnalyticalBackendError, IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
2
|
+
import { IWorkspacePermissions } from "@gooddata/sdk-model";
|
3
|
+
export declare function useWorkspacePermissions(backendProvided?: IAnalyticalBackend, workspaceIdProvided?: string): {
|
4
|
+
result: Partial<IWorkspacePermissions>;
|
5
|
+
error?: AnalyticalBackendError;
|
6
|
+
loading: boolean;
|
7
|
+
};
|
8
|
+
//# sourceMappingURL=useWorkspacePermissions.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useWorkspacePermissions.d.ts","sourceRoot":"","sources":["../../src/permissions/useWorkspacePermissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAK5D,wBAAgB,uBAAuB,CACnC,eAAe,CAAC,EAAE,kBAAkB,EACpC,mBAAmB,CAAC,EAAE,MAAM,GAC7B;IACC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;CACpB,CAgBA"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { useBackendStrict, useCancelablePromise, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
2
|
+
import { emptyWorkspacePermissions } from "./utils.js";
|
3
|
+
export function useWorkspacePermissions(backendProvided, workspaceIdProvided) {
|
4
|
+
const backend = useBackendStrict(backendProvided);
|
5
|
+
const workspaceId = useWorkspaceStrict(workspaceIdProvided);
|
6
|
+
const promise = () => workspaceId
|
7
|
+
? backend.workspace(workspaceId).permissions().getPermissionsForCurrentUser()
|
8
|
+
: Promise.resolve(undefined);
|
9
|
+
const { result, status, error } = useCancelablePromise({ promise }, [backend, workspaceId]);
|
10
|
+
return {
|
11
|
+
error,
|
12
|
+
result: result || emptyWorkspacePermissions(),
|
13
|
+
loading: status === "loading" || status === "pending",
|
14
|
+
};
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=useWorkspacePermissions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useWorkspacePermissions.js","sourceRoot":"","sources":["../../src/permissions/useWorkspacePermissions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,UAAU,uBAAuB,CACnC,eAAoC,EACpC,mBAA4B;IAM5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,GAAG,EAAE,CACjB,WAAW;QACP,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,4BAA4B,EAAE;QAC7E,CAAC,CAAC,OAAO,CAAC,OAAO,CAAY,SAAS,CAAC,CAAC;IAEhD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5F,OAAO;QACH,KAAK;QACL,MAAM,EAAE,MAAM,IAAI,yBAAyB,EAAE;QAC7C,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;KACxD,CAAC;AACN,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/permissions/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAE1E"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/permissions/utils.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,yBAAyB;IACrC,OAAO,EAAE,CAAC;AACd,CAAC"}
|
@@ -8,7 +8,7 @@ import { GenAIObjectType } from '@gooddata/sdk-model';
|
|
8
8
|
import { IAnalyticalBackend } from '@gooddata/sdk-backend-spi';
|
9
9
|
import { ISemanticSearchRelationship } from '@gooddata/sdk-model';
|
10
10
|
import { ISemanticSearchResultItem } from '@gooddata/sdk-model';
|
11
|
-
import
|
11
|
+
import { default as React_2 } from 'react';
|
12
12
|
|
13
13
|
/**
|
14
14
|
* @public
|
@@ -79,6 +79,10 @@ export declare type SemanticSearchInputResult = {
|
|
79
79
|
* Error message if the search failed.
|
80
80
|
*/
|
81
81
|
searchError: string;
|
82
|
+
/**
|
83
|
+
* The message to show to the user that came from the backend.
|
84
|
+
*/
|
85
|
+
searchMessage: string;
|
82
86
|
/**
|
83
87
|
* The search results.
|
84
88
|
*/
|
@@ -106,7 +110,7 @@ export declare type SemanticSearchProps = {
|
|
106
110
|
/**
|
107
111
|
* A function called when the user selects an item from the search results.
|
108
112
|
*/
|
109
|
-
onSelect: (item: ISemanticSearchResultItem) => void;
|
113
|
+
onSelect: (item: ISemanticSearchResultItem | ISemanticSearchRelationship) => void;
|
110
114
|
/**
|
111
115
|
* A function called when an error occurs during the search.
|
112
116
|
*/
|
@@ -127,6 +131,10 @@ export declare type SemanticSearchProps = {
|
|
127
131
|
* A limit of search results to return.
|
128
132
|
*/
|
129
133
|
limit?: number;
|
134
|
+
/**
|
135
|
+
* A minimum similarity score for search result to be shown to user.
|
136
|
+
*/
|
137
|
+
threshold?: number;
|
130
138
|
/**
|
131
139
|
* Placeholder text for the search input.
|
132
140
|
*/
|
@@ -13,7 +13,7 @@ export function getItemAriaLabel(item) {
|
|
13
13
|
return `${item.title}, ${getTypeLabel(item)}`;
|
14
14
|
}
|
15
15
|
export function getRelationshipAriaLabel(item) {
|
16
|
-
return `${item.sourceObjectTitle}, ${item.
|
16
|
+
return `${item.sourceObjectTitle}, ${item.sourceObjectType}`;
|
17
17
|
}
|
18
18
|
function getTypeLabel(item) {
|
19
19
|
if (item.type === "visualization") {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@gooddata/sdk-ui-semantic-search",
|
3
|
-
"version": "10.
|
3
|
+
"version": "10.39.0-alpha.2",
|
4
4
|
"description": "GoodData SDK TypeScript & React skeleton",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -38,12 +38,12 @@
|
|
38
38
|
"react-intl": "6.8.9",
|
39
39
|
"tslib": "2.8.1",
|
40
40
|
"classnames": "^2.3.1",
|
41
|
-
"@gooddata/sdk-model": "10.
|
42
|
-
"@gooddata/sdk-ui": "10.
|
43
|
-
"@gooddata/sdk-
|
44
|
-
"@gooddata/sdk-ui-theme-provider": "10.
|
45
|
-
"@gooddata/sdk-
|
46
|
-
"@gooddata/util": "10.
|
41
|
+
"@gooddata/sdk-model": "10.39.0-alpha.2",
|
42
|
+
"@gooddata/sdk-ui": "10.39.0-alpha.2",
|
43
|
+
"@gooddata/sdk-backend-spi": "10.39.0-alpha.2",
|
44
|
+
"@gooddata/sdk-ui-theme-provider": "10.39.0-alpha.2",
|
45
|
+
"@gooddata/sdk-ui-kit": "10.39.0-alpha.2",
|
46
|
+
"@gooddata/util": "10.39.0-alpha.2"
|
47
47
|
},
|
48
48
|
"peerDependencies": {
|
49
49
|
"react": "^16.10.0 || ^17.0.0 || ^18.0.0",
|
@@ -87,8 +87,8 @@
|
|
87
87
|
"stylelint": "^13.8.0",
|
88
88
|
"stylelint-checkstyle-formatter": "^0.1.2",
|
89
89
|
"stylelint-config-prettier": "^9.0.5",
|
90
|
-
"@gooddata/i18n-toolkit": "10.
|
91
|
-
"@gooddata/sdk-backend-mockingbird": "10.
|
90
|
+
"@gooddata/i18n-toolkit": "10.39.0-alpha.2",
|
91
|
+
"@gooddata/sdk-backend-mockingbird": "10.39.0-alpha.2"
|
92
92
|
},
|
93
93
|
"scripts": {
|
94
94
|
"clean": "../../common/scripts/clean-command-state.sh && rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",
|
package/styles/css/internal.css
CHANGED
@@ -293,6 +293,7 @@
|
|
293
293
|
.gd-semantic-search__results-item__text__row {
|
294
294
|
display: flex;
|
295
295
|
flex-direction: row;
|
296
|
+
align-items: center;
|
296
297
|
gap: 5px;
|
297
298
|
}
|
298
299
|
.gd-semantic-search__results-item__text__row:not(:first-child) {
|
@@ -355,6 +356,7 @@
|
|
355
356
|
align-self: end;
|
356
357
|
align-items: center;
|
357
358
|
gap: 5px;
|
359
|
+
line-height: 16px;
|
358
360
|
}
|
359
361
|
.gd-semantic-search__results-item__counter__icon {
|
360
362
|
width: 16px;
|
@@ -374,44 +376,25 @@
|
|
374
376
|
}
|
375
377
|
.gd-semantic-search__ai_assistant_button {
|
376
378
|
display: flex;
|
377
|
-
width: 100%;
|
378
379
|
height: 50px;
|
379
|
-
padding: 5px 12px;
|
380
380
|
align-items: center;
|
381
|
-
|
381
|
+
margin-bottom: -10px;
|
382
382
|
border: 1px solid var(--gd-palette-complementary-0, #fff);
|
383
383
|
border-top-color: var(--gd-palette-complementary-3, #dde4eb);
|
384
384
|
background: var(--gd-palette-complementary-0, #fff);
|
385
|
-
margin-
|
386
|
-
cursor: pointer;
|
385
|
+
margin-top: 10px;
|
387
386
|
}
|
388
|
-
.gd-semantic-search__ai_assistant_button
|
389
|
-
|
390
|
-
|
391
|
-
border: 1px solid var(--gd-palette-complementary-2, #ebeff4);
|
392
|
-
border-top-color: var(--gd-palette-complementary-3, #dde4eb);
|
387
|
+
.gd-semantic-search__ai_assistant_button button {
|
388
|
+
width: 100%;
|
389
|
+
justify-content: flex-start;
|
393
390
|
}
|
394
|
-
.gd-semantic-
|
391
|
+
.gd-semantic-search__message {
|
395
392
|
display: flex;
|
396
|
-
height: 20px;
|
397
|
-
padding: 6px 0;
|
398
393
|
justify-content: center;
|
399
394
|
align-items: center;
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
color: var(--gd-palette-complementary-7, #6d7680);
|
404
|
-
text-align: center;
|
405
|
-
font-size: 14px;
|
406
|
-
font-style: normal;
|
407
|
-
font-weight: 400;
|
408
|
-
line-height: normal;
|
409
|
-
text-decoration-line: underline;
|
410
|
-
text-decoration-style: solid;
|
411
|
-
text-decoration-skip-ink: none;
|
412
|
-
text-decoration-thickness: auto;
|
413
|
-
text-underline-offset: auto;
|
414
|
-
text-underline-position: from-font;
|
395
|
+
color: var(--gd-palette-complementary-6, #94a1ad);
|
396
|
+
height: 100px;
|
397
|
+
padding: 0 10px;
|
415
398
|
}
|
416
399
|
|
417
400
|
.gd-ui-kit-treeview {
|
@@ -444,8 +427,5 @@
|
|
444
427
|
height: 100px;
|
445
428
|
padding: 0 10px;
|
446
429
|
}
|
447
|
-
.gd-semantic-search__results-item__text__lock-icon {
|
448
|
-
align-self: center;
|
449
|
-
}
|
450
430
|
|
451
431
|
/*# sourceMappingURL=internal.css.map */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../scss/main.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/internal.scss"],"names":[],"mappings":"AA0HA;AA4DA;AClLA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AClOA;EAEI;EACA;EACA;EAEA;EACA;EACA;;AAEA;EAEI,QADc;;AAGd;EACI;;AAEJ;EA5BR,OA6B0B;EA5B1B,QA4B0B;;AA1B1B;EAEI,OAwBsB;EAvBtB,QAuBsB;;AAItB;EAEI,QADc;EAEd;;AAEA;EACI;;AAEJ;EAzCR,OA0C0B;EAzC1B,QAyC0B;;AAvC1B;EAEI,OAqCsB;EApCtB,QAoCsB;;AAItB;EACI,OClBI;EDmBJ,YCyDY;;ADtDhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,OCzDI;ED0DJ;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI,
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../scss/main.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/internal.scss"],"names":[],"mappings":"AA0HA;AA4DA;AClLA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AClOA;EAEI;EACA;EACA;EAEA;EACA;EACA;;AAEA;EAEI,QADc;;AAGd;EACI;;AAEJ;EA5BR,OA6B0B;EA5B1B,QA4B0B;;AA1B1B;EAEI,OAwBsB;EAvBtB,QAuBsB;;AAItB;EAEI,QADc;EAEd;;AAEA;EACI;;AAEJ;EAzCR,OA0C0B;EAzC1B,QAyC0B;;AAvC1B;EAEI,OAqCsB;EApCtB,QAoCsB;;AAItB;EACI,OClBI;EDmBJ,YCyDY;;ADtDhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,OCzDI;ED0DJ;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI,OC5EO;;AD+EX;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA,OC5FW;;AD+Ff;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA,OC/HO;;ADkIX;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAKZ;EACI,YC1KS;;AD6Kb;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA,kBCjKU;EDkKV,YCxLS;EDyLT;;AAEA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA,OC/Le;EDgMf;EACA;;;AAIR;EACI;;;AEpNA;EACI,YDOS;ECNT;;AAGA;EACI;;AAKA;EACI;;AAKZ;EACI;;AAGJ;EAEI;EACA;EACA;EACA,ODZe;;ACenB;EACI;;AAGJ;EACI;EACA","file":"internal.css"}
|
package/styles/css/main.css
CHANGED
@@ -291,6 +291,7 @@
|
|
291
291
|
.gd-semantic-search__results-item__text__row {
|
292
292
|
display: flex;
|
293
293
|
flex-direction: row;
|
294
|
+
align-items: center;
|
294
295
|
gap: 5px;
|
295
296
|
}
|
296
297
|
.gd-semantic-search__results-item__text__row:not(:first-child) {
|
@@ -353,6 +354,7 @@
|
|
353
354
|
align-self: end;
|
354
355
|
align-items: center;
|
355
356
|
gap: 5px;
|
357
|
+
line-height: 16px;
|
356
358
|
}
|
357
359
|
.gd-semantic-search__results-item__counter__icon {
|
358
360
|
width: 16px;
|
@@ -372,44 +374,25 @@
|
|
372
374
|
}
|
373
375
|
.gd-semantic-search__ai_assistant_button {
|
374
376
|
display: flex;
|
375
|
-
width: 100%;
|
376
377
|
height: 50px;
|
377
|
-
padding: 5px 12px;
|
378
378
|
align-items: center;
|
379
|
-
|
379
|
+
margin-bottom: -10px;
|
380
380
|
border: 1px solid var(--gd-palette-complementary-0, #fff);
|
381
381
|
border-top-color: var(--gd-palette-complementary-3, #dde4eb);
|
382
382
|
background: var(--gd-palette-complementary-0, #fff);
|
383
|
-
margin-
|
384
|
-
cursor: pointer;
|
383
|
+
margin-top: 10px;
|
385
384
|
}
|
386
|
-
.gd-semantic-search__ai_assistant_button
|
387
|
-
|
388
|
-
|
389
|
-
border: 1px solid var(--gd-palette-complementary-2, #ebeff4);
|
390
|
-
border-top-color: var(--gd-palette-complementary-3, #dde4eb);
|
385
|
+
.gd-semantic-search__ai_assistant_button button {
|
386
|
+
width: 100%;
|
387
|
+
justify-content: flex-start;
|
391
388
|
}
|
392
|
-
.gd-semantic-
|
389
|
+
.gd-semantic-search__message {
|
393
390
|
display: flex;
|
394
|
-
height: 20px;
|
395
|
-
padding: 6px 0;
|
396
391
|
justify-content: center;
|
397
392
|
align-items: center;
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
color: var(--gd-palette-complementary-7, #6d7680);
|
402
|
-
text-align: center;
|
403
|
-
font-size: 14px;
|
404
|
-
font-style: normal;
|
405
|
-
font-weight: 400;
|
406
|
-
line-height: normal;
|
407
|
-
text-decoration-line: underline;
|
408
|
-
text-decoration-style: solid;
|
409
|
-
text-decoration-skip-ink: none;
|
410
|
-
text-decoration-thickness: auto;
|
411
|
-
text-underline-offset: auto;
|
412
|
-
text-underline-position: from-font;
|
393
|
+
color: var(--gd-palette-complementary-6, #94a1ad);
|
394
|
+
height: 100px;
|
395
|
+
padding: 0 10px;
|
413
396
|
}
|
414
397
|
|
415
398
|
.gd-ui-kit-treeview {
|
package/styles/css/main.css.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../scss/main.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AAIA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AClOA;EAEI;EACA;EACA;EAEA;EACA;EACA;;AAEA;EAEI,QADc;;AAGd;EACI;;AAEJ;EA5BR,OA6B0B;EA5B1B,QA4B0B;;AA1B1B;EAEI,OAwBsB;EAvBtB,QAuBsB;;AAItB;EAEI,QADc;EAEd;;AAEA;EACI;;AAEJ;EAzCR,OA0C0B;EAzC1B,QAyC0B;;AAvC1B;EAEI,OAqCsB;EApCtB,QAoCsB;;AAItB;EACI,OClBI;EDmBJ,YCyDY;;ADtDhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,OCzDI;ED0DJ;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI,
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../scss/main.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AAIA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AClOA;EAEI;EACA;EACA;EAEA;EACA;EACA;;AAEA;EAEI,QADc;;AAGd;EACI;;AAEJ;EA5BR,OA6B0B;EA5B1B,QA4B0B;;AA1B1B;EAEI,OAwBsB;EAvBtB,QAuBsB;;AAItB;EAEI,QADc;EAEd;;AAEA;EACI;;AAEJ;EAzCR,OA0C0B;EAzC1B,QAyC0B;;AAvC1B;EAEI,OAqCsB;EApCtB,QAoCsB;;AAItB;EACI,OClBI;EDmBJ,YCyDY;;ADtDhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,OCzDI;ED0DJ;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI,OC5EO;;AD+EX;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA,OC5FW;;AD+Ff;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA,OC/HO;;ADkIX;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAKZ;EACI,YC1KS;;AD6Kb;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA,kBCjKU;EDkKV,YCxLS;EDyLT;;AAEA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA,OC/Le;EDgMf;EACA;;;AAIR;EACI","file":"main.css"}
|
package/styles/scss/main.scss
CHANGED
@@ -92,6 +92,7 @@
|
|
92
92
|
&__row {
|
93
93
|
display: flex;
|
94
94
|
flex-direction: row;
|
95
|
+
align-items: center;
|
95
96
|
gap: 5px;
|
96
97
|
}
|
97
98
|
|
@@ -167,6 +168,7 @@
|
|
167
168
|
align-self: end;
|
168
169
|
align-items: center;
|
169
170
|
gap: 5px;
|
171
|
+
line-height: 16px;
|
170
172
|
}
|
171
173
|
|
172
174
|
&__counter__icon {
|
@@ -192,47 +194,27 @@
|
|
192
194
|
|
193
195
|
&__ai_assistant_button {
|
194
196
|
display: flex;
|
195
|
-
width: 100%;
|
196
197
|
height: 50px;
|
197
|
-
padding: 5px 12px;
|
198
198
|
align-items: center;
|
199
|
-
|
199
|
+
margin-bottom: -10px;
|
200
200
|
border: 1px solid kit-variables.$gd-color-white;
|
201
201
|
border-top-color: kit-variables.$gd-border-color;
|
202
202
|
background: kit-variables.$gd-color-white;
|
203
|
-
margin-
|
204
|
-
cursor: pointer;
|
203
|
+
margin-top: 10px;
|
205
204
|
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
border: 1px solid kit-variables.$is-focused-background;
|
210
|
-
border-top-color: kit-variables.$gd-border-color;
|
211
|
-
}
|
212
|
-
|
213
|
-
&_content {
|
214
|
-
display: flex;
|
215
|
-
height: 20px;
|
216
|
-
padding: 6px 0;
|
217
|
-
justify-content: center;
|
218
|
-
align-items: center;
|
219
|
-
gap: 5px;
|
205
|
+
button {
|
206
|
+
width: 100%;
|
207
|
+
justify-content: flex-start;
|
220
208
|
}
|
209
|
+
}
|
221
210
|
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
text-decoration-line: underline;
|
230
|
-
text-decoration-style: solid;
|
231
|
-
text-decoration-skip-ink: none;
|
232
|
-
text-decoration-thickness: auto;
|
233
|
-
text-underline-offset: auto;
|
234
|
-
text-underline-position: from-font;
|
235
|
-
}
|
211
|
+
&__message {
|
212
|
+
display: flex;
|
213
|
+
justify-content: center;
|
214
|
+
align-items: center;
|
215
|
+
color: kit-variables.$gd-color-state-blank;
|
216
|
+
height: 100px;
|
217
|
+
padding: 0 10px;
|
236
218
|
}
|
237
219
|
}
|
238
220
|
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useListScroll.d.ts","sourceRoot":"","sources":["../../src/hooks/useListScroll.ts"],"names":[],"mappings":"AAWA,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAmB1B,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAChE"}
|
@@ -1,29 +0,0 @@
|
|
1
|
-
// (C) 2025 GoodData Corporation
|
2
|
-
import * as React from "react";
|
3
|
-
import { useLayoutEffect } from "react";
|
4
|
-
/*
|
5
|
-
* This is the timeout used to wait for the list to change state
|
6
|
-
* before scrolling to the selected item. It will feel more
|
7
|
-
* natural to the user.
|
8
|
-
*/
|
9
|
-
const timeout = 30;
|
10
|
-
export function useListScroll(selected, direction) {
|
11
|
-
const [scrollTo, setScrollTo] = React.useState(undefined);
|
12
|
-
const [scrollDirection, setScrollDirection] = React.useState(1);
|
13
|
-
useLayoutEffect(() => {
|
14
|
-
const tm = setTimeout(() => {
|
15
|
-
if (direction === 0) {
|
16
|
-
setScrollTo(undefined);
|
17
|
-
setScrollDirection(1);
|
18
|
-
return;
|
19
|
-
}
|
20
|
-
setScrollTo(selected);
|
21
|
-
setScrollDirection(direction ?? 1);
|
22
|
-
}, timeout);
|
23
|
-
return () => {
|
24
|
-
clearTimeout(tm);
|
25
|
-
};
|
26
|
-
}, [selected, direction]);
|
27
|
-
return [scrollTo, scrollDirection];
|
28
|
-
}
|
29
|
-
//# sourceMappingURL=useListScroll.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useListScroll.js","sourceRoot":"","sources":["../../src/hooks/useListScroll.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC;;;;GAIG;AACH,MAAM,OAAO,GAAG,EAAE,CAAC;AAEnB,MAAM,UAAU,aAAa,CAAI,QAAW,EAAE,SAAsB;IAChE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,SAAS,CAAC,CAAC;IACzE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAExE,eAAe,CAAC,GAAG,EAAE;QACjB,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;YACvB,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBAClB,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvB,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACtB,OAAO;YACX,CAAC;YACD,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,kBAAkB,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,OAAO,GAAG,EAAE;YACR,YAAY,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAE1B,OAAO,CAAC,QAAQ,EAAE,eAAe,CAA4B,CAAC;AAClE,CAAC"}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* This hook provides keyboard navigation for a list of items. It listens to ArrowUp, ArrowDown and Enter keys and
|
3
|
-
* calls the onSelect callback when Enter is pressed.
|
4
|
-
* @internal
|
5
|
-
*/
|
6
|
-
export declare const useListSelector: <T>(items: Array<T>, onSelect: (item: T, e: MouseEvent | KeyboardEvent) => void) => [T, (item: T) => void, -1 | 0 | 1];
|
7
|
-
//# sourceMappingURL=useListSelector.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useListSelector.d.ts","sourceRoot":"","sources":["../../src/hooks/useListSelector.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,EACf,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,KAgDF,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAC5F,CAAC"}
|
@@ -1,47 +0,0 @@
|
|
1
|
-
// (C) 2024-2025 GoodData Corporation
|
2
|
-
import * as React from "react";
|
3
|
-
/**
|
4
|
-
* This hook provides keyboard navigation for a list of items. It listens to ArrowUp, ArrowDown and Enter keys and
|
5
|
-
* calls the onSelect callback when Enter is pressed.
|
6
|
-
* @internal
|
7
|
-
*/
|
8
|
-
export const useListSelector = (items, onSelect) => {
|
9
|
-
const [selected, setSelected] = React.useState(0);
|
10
|
-
const [direction, setDirection] = React.useState(0);
|
11
|
-
React.useEffect(() => {
|
12
|
-
setSelected(0);
|
13
|
-
setDirection(0);
|
14
|
-
}, [items]);
|
15
|
-
const setSelectedItem = React.useCallback((item) => {
|
16
|
-
setDirection(0);
|
17
|
-
setSelected(Math.max(Math.min(items.indexOf(item), items.length - 1), 0));
|
18
|
-
}, [items]);
|
19
|
-
React.useEffect(() => {
|
20
|
-
const listener = (event) => {
|
21
|
-
if (["ArrowDown", "ArrowUp", "Enter"].indexOf(event.key) === -1)
|
22
|
-
return;
|
23
|
-
const setIndex = (index) => setSelected(Math.max(Math.min(index, items.length - 1), 0));
|
24
|
-
switch (event.key) {
|
25
|
-
case "ArrowDown":
|
26
|
-
setIndex(selected + 1);
|
27
|
-
setDirection(1);
|
28
|
-
break;
|
29
|
-
case "ArrowUp":
|
30
|
-
setIndex(selected - 1);
|
31
|
-
setDirection(-1);
|
32
|
-
break;
|
33
|
-
case "Enter":
|
34
|
-
onSelect(items[selected], event);
|
35
|
-
}
|
36
|
-
event.stopImmediatePropagation();
|
37
|
-
event.preventDefault();
|
38
|
-
};
|
39
|
-
// Listen to keyboard events while the component is mounted
|
40
|
-
document.addEventListener("keydown", listener);
|
41
|
-
return () => {
|
42
|
-
document.removeEventListener("keydown", listener);
|
43
|
-
};
|
44
|
-
}, [items, onSelect, selected]);
|
45
|
-
return [items[selected], setSelectedItem, direction];
|
46
|
-
};
|
47
|
-
//# sourceMappingURL=useListSelector.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useListSelector.js","sourceRoot":"","sources":["../../src/hooks/useListSelector.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,KAAe,EACf,QAA0D,EAC5D,EAAE;IACA,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAa,CAAC,CAAC,CAAC;IAEhE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,YAAY,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,IAAO,EAAE,EAAE;QACR,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC,EACD,CAAC,KAAK,CAAC,CACV,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;YACtC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO;YAExE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEhG,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;gBAChB,KAAK,WAAW;oBACZ,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;oBACvB,YAAY,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM;gBACV,KAAK,SAAS;oBACV,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;oBACvB,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjB,MAAM;gBACV,KAAK,OAAO;oBACR,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;YAED,KAAK,CAAC,wBAAwB,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,2DAA2D;QAC3D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE/C,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAuC,CAAC;AAC/F,CAAC,CAAC"}
|