@gooddata/sdk-ui-ext 9.8.0-beta.0 → 9.8.0-beta.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/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.js +12 -15
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js +4 -3
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.d.ts +9 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.js +33 -18
- package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.js.map +1 -1
- package/package.json +19 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddUserSelect.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"AddUserSelect.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAM1E,OAAO,EAAqB,WAAW,EAAc,MAAM,aAAa,CAAC;AAiBzE,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkFvD,CAAC"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
// (C) 2023 GoodData Corporation
|
|
2
|
-
import React, { useCallback,
|
|
3
|
-
import debounce from "debounce-promise";
|
|
1
|
+
// (C) 2023-2024 GoodData Corporation
|
|
2
|
+
import React, { useCallback, useMemo } from "react";
|
|
4
3
|
import { useIntl } from "react-intl";
|
|
5
|
-
import AsyncSelect from "react-select/async";
|
|
6
4
|
import { useBackendStrict } from "@gooddata/sdk-ui";
|
|
5
|
+
import { AsyncPaginate } from "react-select-async-paginate";
|
|
7
6
|
import { isUserItem } from "../types.js";
|
|
8
7
|
import { useOrganizationId } from "../OrganizationIdContext.js";
|
|
9
8
|
import { messages } from "../locales.js";
|
|
10
|
-
import { EmptyRenderer, GroupHeadingRenderer, InputRendered, LoadingMessageRenderer,
|
|
9
|
+
import { EmptyRenderer, GroupHeadingRenderer, InputRendered, LoadingMessageRenderer, MenuListRenderer, NoOptionsMessageRenderer, OptionRenderer, } from "./AsyncSelectComponents.js";
|
|
11
10
|
import { loadUsersOptionsPromise } from "./backend/loadUsersOptionsPromise.js";
|
|
12
11
|
const SEARCH_INTERVAL = 400;
|
|
13
12
|
export const AddUserSelect = ({ addedUsers, grantedUsers, onSelect }) => {
|
|
14
13
|
const intl = useIntl();
|
|
15
|
-
const selectRef = useRef(null);
|
|
16
14
|
const backend = useBackendStrict();
|
|
17
15
|
const organizationId = useOrganizationId();
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
selectRef.current.focus();
|
|
20
|
-
}, []);
|
|
21
16
|
const onChange = useCallback((value) => {
|
|
22
17
|
const user = value.value;
|
|
23
18
|
if (isUserItem(user)) {
|
|
@@ -25,9 +20,9 @@ export const AddUserSelect = ({ addedUsers, grantedUsers, onSelect }) => {
|
|
|
25
20
|
}
|
|
26
21
|
}, [onSelect]);
|
|
27
22
|
const noOptionsMessage = useMemo(() => () => intl.formatMessage(messages.searchUserNoMatch), [intl]);
|
|
28
|
-
const loadOptions = useMemo(() =>
|
|
29
|
-
|
|
30
|
-
}
|
|
23
|
+
const loadOptions = useMemo(() => {
|
|
24
|
+
return loadUsersOptionsPromise(backend, organizationId, intl);
|
|
25
|
+
}, [backend, organizationId, intl]);
|
|
31
26
|
const onKeyDownCallback = useCallback((e) => {
|
|
32
27
|
const target = e.target;
|
|
33
28
|
// react-select has default behavior on space and tab key - open menu / select first option etc.
|
|
@@ -49,7 +44,7 @@ export const AddUserSelect = ({ addedUsers, grantedUsers, onSelect }) => {
|
|
|
49
44
|
});
|
|
50
45
|
};
|
|
51
46
|
return (React.createElement("div", { className: "gd-share-dialog-content-select s-user-management-user-select" },
|
|
52
|
-
React.createElement(
|
|
47
|
+
React.createElement(AsyncPaginate, { autoFocus: true, defaultMenuIsOpen: true, classNamePrefix: "gd-share-dialog", components: {
|
|
53
48
|
DropdownIndicator: EmptyRenderer,
|
|
54
49
|
IndicatorSeparator: EmptyRenderer,
|
|
55
50
|
Input: InputRendered,
|
|
@@ -57,8 +52,10 @@ export const AddUserSelect = ({ addedUsers, grantedUsers, onSelect }) => {
|
|
|
57
52
|
GroupHeading: GroupHeadingRenderer,
|
|
58
53
|
LoadingMessage: LoadingMessageRenderer,
|
|
59
54
|
LoadingIndicator: EmptyRenderer,
|
|
60
|
-
MenuList:
|
|
55
|
+
MenuList: MenuListRenderer,
|
|
61
56
|
NoOptionsMessage: NoOptionsMessageRenderer,
|
|
62
|
-
}, loadOptions: loadOptions, defaultOptions: true, placeholder: intl.formatMessage(messages.searchUserPlaceholder), onKeyDown: onKeyDownCallback, noOptionsMessage: noOptionsMessage, onChange: onChange, value: null, filterOption: filterOption
|
|
57
|
+
}, loadOptions: loadOptions, defaultOptions: true, placeholder: intl.formatMessage(messages.searchUserPlaceholder), onKeyDown: onKeyDownCallback, noOptionsMessage: noOptionsMessage, onChange: onChange, value: null, filterOption: filterOption, additional: {
|
|
58
|
+
page: 0,
|
|
59
|
+
}, debounceTimeout: SEARCH_INTERVAL })));
|
|
63
60
|
};
|
|
64
61
|
//# sourceMappingURL=AddUserSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddUserSelect.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"AddUserSelect.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.tsx"],"names":[],"mappings":"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"}
|
package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { IUserSelectOption, ISelectErrorOption } from "../types.js";
|
|
|
4
4
|
export declare const EmptyRenderer: () => JSX.Element;
|
|
5
5
|
export declare const LoadingMessageRenderer: () => JSX.Element;
|
|
6
6
|
export declare const NoOptionsMessageRenderer: (props: NoticeProps) => JSX.Element;
|
|
7
|
-
export declare const
|
|
7
|
+
export declare const MenuListRenderer: (props: MenuListProps<IUserSelectOption, false, import("react-select").GroupBase<IUserSelectOption>>) => JSX.Element;
|
|
8
8
|
export declare const InputRendered: (props: InputProps) => JSX.Element;
|
|
9
9
|
export declare const ErrorOptionRenderer: (errorOption: ISelectErrorOption) => JSX.Element;
|
|
10
10
|
export declare const OptionRenderer: (props: OptionProps<IUserSelectOption, false>) => JSX.Element;
|
package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncSelectComponents.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEH,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,WAAW,EACd,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"AsyncSelectComponents.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEH,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,WAAW,EACd,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,iBAAiB,EAAc,kBAAkB,EAAuB,MAAM,aAAa,CAAC;AAGrG,eAAO,MAAM,aAAa,QAAO,WAEhC,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,WAMzC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAW,WAAW,KAAG,WAM7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,sHAU5B,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,UAAU,KAAG,WAMjD,CAAC;AAWF,eAAO,MAAM,mBAAmB,gBAAiB,kBAAkB,KAAG,WASrE,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,YAAY,iBAAiB,EAAE,KAAK,CAAC,KAAG,WAsB7E,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,iBAAiB,KAAG,WAO/D,CAAC"}
|
package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
// (C) 2023 GoodData Corporation
|
|
1
|
+
// (C) 2023-2024 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { components as ReactSelectComponents, } from "react-select";
|
|
4
4
|
import { Typography, LoadingMask } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { wrapMenuList } from "react-select-async-paginate";
|
|
5
6
|
import { isUserItem, isSelectErrorOption } from "../types.js";
|
|
6
7
|
import { getUserItemTestId } from "../utils.js";
|
|
7
8
|
export const EmptyRenderer = () => {
|
|
@@ -15,10 +16,10 @@ export const NoOptionsMessageRenderer = (props) => {
|
|
|
15
16
|
return (React.createElement("div", { className: "s-user-management-no-option", "aria-label": "Share dialog no match" },
|
|
16
17
|
React.createElement(ReactSelectComponents.NoOptionsMessage, { ...props })));
|
|
17
18
|
};
|
|
18
|
-
export const
|
|
19
|
+
export const MenuListRenderer = wrapMenuList((props) => {
|
|
19
20
|
return (React.createElement(ReactSelectComponents.MenuList, { ...props },
|
|
20
21
|
React.createElement("div", { className: "s-user-management-dialog-menu", "aria-label": "Share dialog menu list" }, props.children)));
|
|
21
|
-
};
|
|
22
|
+
});
|
|
22
23
|
export const InputRendered = (props) => {
|
|
23
24
|
return (React.createElement("div", { className: "gd-share-dialog-input s-user-management-input" },
|
|
24
25
|
React.createElement(ReactSelectComponents.Input, { ...props })));
|
package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncSelectComponents.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"AsyncSelectComponents.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { IntlShape } from "react-intl";
|
|
2
2
|
import { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
3
3
|
import { IUserSelectOption, ISelectErrorOption } from "../../types.js";
|
|
4
|
-
export declare const loadUsersOptionsPromise: (backend: IAnalyticalBackend, organizationId: string, intl: IntlShape) => (
|
|
4
|
+
export declare const loadUsersOptionsPromise: (backend: IAnalyticalBackend, organizationId: string, intl: IntlShape) => (search: string, _options: any, { page }: {
|
|
5
|
+
page: number;
|
|
6
|
+
}) => Promise<{
|
|
7
|
+
options: IUserSelectOption[] | ISelectErrorOption[];
|
|
8
|
+
hasMore: boolean;
|
|
9
|
+
additional: {
|
|
10
|
+
page: number;
|
|
11
|
+
};
|
|
12
|
+
}>;
|
|
5
13
|
//# sourceMappingURL=loadUsersOptionsPromise.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadUsersOptionsPromise.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAe,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAcpF,eAAO,MAAM,uBAAuB,YACtB,kBAAkB,kBAAkB,MAAM,QAAQ,SAAS,
|
|
1
|
+
{"version":3,"file":"loadUsersOptionsPromise.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAe,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAcpF,eAAO,MAAM,uBAAuB,YACtB,kBAAkB,kBAAkB,MAAM,QAAQ,SAAS,cAEzD,MAAM,YACJ,GAAG;UACK,MAAM;;aAEf,iBAAiB,EAAE,GAAG,kBAAkB,EAAE;aAC1C,OAAO;;cAEN,MAAM;;EAyCnB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// (C) 2023 GoodData Corporation
|
|
2
|
-
import { sortByName, extractUserName } from "../../utils.js";
|
|
1
|
+
// (C) 2023-2024 GoodData Corporation
|
|
3
2
|
import { messages } from "../../locales.js";
|
|
3
|
+
import { extractUserName } from "../../utils.js";
|
|
4
4
|
const createErrorOption = (intl) => {
|
|
5
5
|
return [
|
|
6
6
|
{
|
|
@@ -10,30 +10,45 @@ const createErrorOption = (intl) => {
|
|
|
10
10
|
},
|
|
11
11
|
];
|
|
12
12
|
};
|
|
13
|
-
export const loadUsersOptionsPromise = (backend, organizationId, intl) => async (
|
|
13
|
+
export const loadUsersOptionsPromise = (backend, organizationId, intl) => async (search, _options, { page }) => {
|
|
14
14
|
try {
|
|
15
15
|
return await backend
|
|
16
16
|
.organization(organizationId)
|
|
17
17
|
.users()
|
|
18
|
-
.
|
|
19
|
-
.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
email: user.email,
|
|
26
|
-
}))
|
|
27
|
-
.sort(sortByName))
|
|
28
|
-
.then((matchingUsers) => matchingUsers.map((user) => {
|
|
18
|
+
.getUsersQuery()
|
|
19
|
+
.withFilter({
|
|
20
|
+
name: search,
|
|
21
|
+
})
|
|
22
|
+
.withPage(page)
|
|
23
|
+
.query()
|
|
24
|
+
.then((result) => {
|
|
29
25
|
return {
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
options: result.items.map((item) => {
|
|
27
|
+
const userMember = {
|
|
28
|
+
id: item.id,
|
|
29
|
+
title: extractUserName(item),
|
|
30
|
+
email: item.email,
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
label: item.fullName || item.id,
|
|
34
|
+
value: userMember,
|
|
35
|
+
};
|
|
36
|
+
}),
|
|
37
|
+
hasMore: result.items.length > 0,
|
|
38
|
+
additional: {
|
|
39
|
+
page: page + 1,
|
|
40
|
+
},
|
|
32
41
|
};
|
|
33
|
-
})
|
|
42
|
+
});
|
|
34
43
|
}
|
|
35
44
|
catch {
|
|
36
|
-
return
|
|
45
|
+
return {
|
|
46
|
+
options: createErrorOption(intl),
|
|
47
|
+
hasMore: false,
|
|
48
|
+
additional: {
|
|
49
|
+
page: 0,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
37
52
|
}
|
|
38
53
|
};
|
|
39
54
|
//# sourceMappingURL=loadUsersOptionsPromise.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadUsersOptionsPromise.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"loadUsersOptionsPromise.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAMrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAwB,EAAE;IAChE,OAAO;QACH;YACI,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC;SACtD;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAChC,CAAC,OAA2B,EAAE,cAAsB,EAAE,IAAe,EAAE,EAAE,CACzE,KAAK,EACD,MAAc,EACd,QAAa,EACb,EAAE,IAAI,EAAoB,EAO3B,EAAE;IACD,IAAI,CAAC;QACD,OAAO,MAAM,OAAO;aACf,YAAY,CAAC,cAAc,CAAC;aAC5B,KAAK,EAAE;aACP,aAAa,EAAE;aACf,UAAU,CAAC;YACR,IAAI,EAAE,MAAM;SACf,CAAC;aACD,QAAQ,CAAC,IAAI,CAAC;aACd,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACb,OAAO;gBACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/B,MAAM,UAAU,GAAgB;wBAC5B,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;qBACpB,CAAC;oBACF,OAAO;wBACH,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE;wBAC/B,KAAK,EAAE,UAAU;qBACpB,CAAC;gBACN,CAAC,CAAC;gBACF,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAChC,UAAU,EAAE;oBACR,IAAI,EAAE,IAAI,GAAG,CAAC;iBACjB;aACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACL,OAAO;YACH,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC;YAChC,OAAO,EAAE,KAAK;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,CAAC;aACV;SACJ,CAAC;IACN,CAAC;AACL,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-ext",
|
|
3
|
-
"version": "9.8.0-beta.
|
|
3
|
+
"version": "9.8.0-beta.2",
|
|
4
4
|
"description": "GoodData.UI SDK - Extensions",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,25 +43,26 @@
|
|
|
43
43
|
"react-lines-ellipsis": "^0.15.0",
|
|
44
44
|
"react-measure": "^2.5.2",
|
|
45
45
|
"react-select": "^5.7.3",
|
|
46
|
+
"react-select-async-paginate": "^0.7.3",
|
|
46
47
|
"react-transition-group": "^4.4.2",
|
|
47
48
|
"ts-invariant": "^0.7.3",
|
|
48
49
|
"tslib": "^2.5.0",
|
|
49
50
|
"uuid": "^8.3.2",
|
|
50
51
|
"debounce-promise": "^3.1.2",
|
|
51
52
|
"json-stable-stringify": "^1.0.1",
|
|
52
|
-
"@gooddata/sdk-backend-
|
|
53
|
-
"@gooddata/sdk-
|
|
54
|
-
"@gooddata/sdk-
|
|
55
|
-
"@gooddata/sdk-model": "9.8.0-beta.
|
|
56
|
-
"@gooddata/sdk-ui": "9.8.0-beta.
|
|
57
|
-
"@gooddata/sdk-ui-charts": "9.8.0-beta.
|
|
58
|
-
"@gooddata/sdk-ui-
|
|
59
|
-
"@gooddata/sdk-ui-
|
|
60
|
-
"@gooddata/sdk-ui-
|
|
61
|
-
"@gooddata/sdk-ui-pivot": "9.8.0-beta.
|
|
62
|
-
"@gooddata/sdk-ui-
|
|
63
|
-
"@gooddata/
|
|
64
|
-
"@gooddata/
|
|
53
|
+
"@gooddata/sdk-backend-spi": "9.8.0-beta.2",
|
|
54
|
+
"@gooddata/sdk-embedding": "9.8.0-beta.2",
|
|
55
|
+
"@gooddata/sdk-backend-base": "9.8.0-beta.2",
|
|
56
|
+
"@gooddata/sdk-model": "9.8.0-beta.2",
|
|
57
|
+
"@gooddata/sdk-ui": "9.8.0-beta.2",
|
|
58
|
+
"@gooddata/sdk-ui-charts": "9.8.0-beta.2",
|
|
59
|
+
"@gooddata/sdk-ui-geo": "9.8.0-beta.2",
|
|
60
|
+
"@gooddata/sdk-ui-kit": "9.8.0-beta.2",
|
|
61
|
+
"@gooddata/sdk-ui-filters": "9.8.0-beta.2",
|
|
62
|
+
"@gooddata/sdk-ui-pivot": "9.8.0-beta.2",
|
|
63
|
+
"@gooddata/sdk-ui-vis-commons": "9.8.0-beta.2",
|
|
64
|
+
"@gooddata/util": "9.8.0-beta.2",
|
|
65
|
+
"@gooddata/sdk-ui-theme-provider": "9.8.0-beta.2"
|
|
65
66
|
},
|
|
66
67
|
"peerDependencies": {
|
|
67
68
|
"react": "^16.10.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -116,10 +117,10 @@
|
|
|
116
117
|
"vitest-dom": "0.1.1",
|
|
117
118
|
"@types/debounce-promise": "^3.1.4",
|
|
118
119
|
"@types/json-stable-stringify": "^1.0.32",
|
|
119
|
-
"@gooddata/i18n-toolkit": "9.8.0-beta.
|
|
120
|
-
"@gooddata/
|
|
121
|
-
"@gooddata/
|
|
122
|
-
"@gooddata/sdk-backend-mockingbird": "9.8.0-beta.
|
|
120
|
+
"@gooddata/i18n-toolkit": "9.8.0-beta.2",
|
|
121
|
+
"@gooddata/live-examples-workspace": "9.8.0-beta.2",
|
|
122
|
+
"@gooddata/reference-workspace": "9.8.0-beta.2",
|
|
123
|
+
"@gooddata/sdk-backend-mockingbird": "9.8.0-beta.2"
|
|
123
124
|
},
|
|
124
125
|
"scripts": {
|
|
125
126
|
"clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",
|