@gooddata/sdk-ui-ext 11.49.0-alpha.0 → 11.49.0
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/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsWorkspaceItem.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsWorkspaceItem.js +1 -0
- package/esm/internal/translations/de-DE.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/de-DE.localization-bundle.js +1 -0
- package/esm/internal/translations/en-AU.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/en-AU.localization-bundle.js +1 -0
- package/esm/internal/translations/en-GB.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/en-GB.localization-bundle.js +1 -0
- package/esm/internal/translations/en-US.localization-bundle.d.ts +5 -9
- package/esm/internal/translations/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/en-US.localization-bundle.js +15 -19
- package/esm/internal/translations/es-419.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/es-419.localization-bundle.js +1 -0
- package/esm/internal/translations/es-ES.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/es-ES.localization-bundle.js +1 -0
- package/esm/internal/translations/fi-FI.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/fi-FI.localization-bundle.js +1 -0
- package/esm/internal/translations/fr-CA.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/fr-CA.localization-bundle.js +1 -0
- package/esm/internal/translations/fr-FR.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/fr-FR.localization-bundle.js +1 -0
- package/esm/internal/translations/id-ID.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/id-ID.localization-bundle.js +1 -0
- package/esm/internal/translations/it-IT.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/it-IT.localization-bundle.js +1 -0
- package/esm/internal/translations/ja-JP.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/ja-JP.localization-bundle.js +1 -0
- package/esm/internal/translations/ko-KR.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/ko-KR.localization-bundle.js +1 -0
- package/esm/internal/translations/nl-NL.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/nl-NL.localization-bundle.js +1 -0
- package/esm/internal/translations/pl-PL.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/pl-PL.localization-bundle.js +1 -0
- package/esm/internal/translations/pt-BR.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/pt-BR.localization-bundle.js +1 -0
- package/esm/internal/translations/pt-PT.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/pt-PT.localization-bundle.js +1 -0
- package/esm/internal/translations/ru-RU.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/ru-RU.localization-bundle.js +1 -0
- package/esm/internal/translations/sl-SI.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/sl-SI.localization-bundle.js +1 -0
- package/esm/internal/translations/th-TH.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/th-TH.localization-bundle.js +1 -0
- package/esm/internal/translations/tr-TR.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/tr-TR.localization-bundle.js +2 -1
- package/esm/internal/translations/uk-UA.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/uk-UA.localization-bundle.js +1 -0
- package/esm/internal/translations/vi-VN.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/vi-VN.localization-bundle.js +1 -0
- package/esm/internal/translations/zh-HK.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/zh-HK.localization-bundle.js +1 -0
- package/esm/internal/translations/zh-Hans.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/zh-Hans.localization-bundle.js +1 -0
- package/esm/internal/translations/zh-Hant.localization-bundle.d.ts +1 -0
- package/esm/internal/translations/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/zh-Hant.localization-bundle.js +1 -0
- package/esm/sdk-ui-ext.d.ts +45 -53
- package/esm/share/ObjectShareDialog.d.ts.map +1 -1
- package/esm/share/ObjectShareDialog.js +118 -58
- package/esm/share/messages.d.ts +10 -8
- package/esm/share/messages.d.ts.map +1 -1
- package/esm/share/messages.js +10 -6
- package/esm/share/objectShareController.types.d.ts +45 -53
- package/esm/share/objectShareController.types.d.ts.map +1 -1
- package/esm/share/useAccessList.d.ts +20 -24
- package/esm/share/useAccessList.d.ts.map +1 -1
- package/esm/share/useAccessList.js +39 -30
- package/esm/share/useObjectShareController.d.ts.map +1 -1
- package/esm/share/useObjectShareController.js +10 -201
- package/package.json +21 -21
- package/styles/css/main.css +5 -0
- package/styles/css/main.css.map +1 -1
- package/styles/internal/css/user_management_dialogs.css +5 -0
- package/styles/internal/css/user_management_dialogs.css.map +1 -1
- package/styles/internal/scss/user_management_dialogs.scss +10 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
-
import { idRef, objRefToString, } from "@gooddata/sdk-model";
|
|
3
|
+
import { idRef, objRefToString, serializeObjRef, } from "@gooddata/sdk-model";
|
|
4
4
|
import { useBackendStrict, useCancelablePromise, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
5
5
|
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
import { isPermissionsNotAvailable } from "./accessErrors.js";
|
|
@@ -28,6 +28,9 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
28
28
|
const toast = useToastMessage();
|
|
29
29
|
// Authoritative local state, seeded from the fetch below.
|
|
30
30
|
const [grantees, setGrantees] = useState([]);
|
|
31
|
+
// Load-time fact, deliberately NOT derived from the live list: local mutations
|
|
32
|
+
// must not change it (see the IAccessList doc).
|
|
33
|
+
const [seededWithoutGrants, setSeededWithoutGrants] = useState(false);
|
|
31
34
|
const [generalAccess, setGeneralAccess] = useState("RESTRICTED");
|
|
32
35
|
const [workspaceLevel, setWorkspaceLevel] = useState("VIEW");
|
|
33
36
|
const [inheritedWorkspaceLevel, setInheritedWorkspaceLevel] = useState(undefined);
|
|
@@ -44,7 +47,11 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
44
47
|
// Memoized current-user fetch — the profile doesn't change while mounted,
|
|
45
48
|
// so resolve it at most once and share the promise across callers.
|
|
46
49
|
const currentUserCache = useRef(undefined);
|
|
47
|
-
|
|
50
|
+
// Kind-qualified: distinct permission targets can share an identifier (e.g. an
|
|
51
|
+
// attribute and a metric), and every target-scoped guard — the seed stamp, the
|
|
52
|
+
// async-finalizer bail-outs, the dialog's staged-confirm reset — compares this
|
|
53
|
+
// key. serializeObjRef keeps the ref's own `type` qualifier too.
|
|
54
|
+
const targetKey = target ? `${target.kind}:${serializeObjRef(target.ref)}` : undefined;
|
|
48
55
|
// Written from both the picker (loadOptions) and the on-open resolve. Must not
|
|
49
56
|
// depend on the cache it writes, or it would re-trigger loadOptions' fetch.
|
|
50
57
|
const cacheAssignees = useCallback((assignees) => {
|
|
@@ -80,7 +87,9 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
80
87
|
useEffect(() => {
|
|
81
88
|
if (fetchStatus === "success" && fetchedList) {
|
|
82
89
|
// The cancelable promise is keyed on targetKey, so this list is for it.
|
|
83
|
-
|
|
90
|
+
const seededGrantees = granteesFromAccessList(fetchedList);
|
|
91
|
+
setGrantees(seededGrantees);
|
|
92
|
+
setSeededWithoutGrants(seededGrantees.length === 0);
|
|
84
93
|
setGeneralAccess(deriveGeneralAccess(fetchedList.grants));
|
|
85
94
|
setWorkspaceLevel(deriveWorkspacePermissionLevel(fetchedList.grants));
|
|
86
95
|
setInheritedWorkspaceLevel(deriveInheritedWorkspaceLevel(fetchedList.grants));
|
|
@@ -104,7 +113,7 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
104
113
|
.getUser()
|
|
105
114
|
.catch((error) => {
|
|
106
115
|
// Don't cache a rejected promise, or a transient profile-read
|
|
107
|
-
// failure would
|
|
116
|
+
// failure would stick for the rest of the session.
|
|
108
117
|
currentUserCache.current = undefined;
|
|
109
118
|
throw error;
|
|
110
119
|
});
|
|
@@ -112,16 +121,27 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
112
121
|
return currentUserCache.current;
|
|
113
122
|
}, [backend]);
|
|
114
123
|
// Resolve the current user only while the dialog is open — keeps the summary-only
|
|
115
|
-
// path free of a profile request (the
|
|
116
|
-
|
|
117
|
-
const { result: currentUser } = useCancelablePromise({
|
|
124
|
+
// path free of a profile request (the self-row facts it feeds aren't shown there).
|
|
125
|
+
const { result: currentUser, status: currentUserStatus } = useCancelablePromise({
|
|
118
126
|
promise: dialogOpen && targetKey ? () => getCurrentUser() : undefined,
|
|
119
127
|
onError: () => { },
|
|
120
128
|
},
|
|
121
129
|
// Key on target presence, not identity — the resolved user is
|
|
122
130
|
// target-independent, so a target switch must not reset it.
|
|
123
131
|
[getCurrentUser, targetKey !== undefined, dialogOpen]);
|
|
132
|
+
// Success only: while pending OR after a (silently swallowed) failure the
|
|
133
|
+
// rows' isSelf is just its unresolved default, and consumers must not treat
|
|
134
|
+
// an unidentified row as safe to mutate. Retried naturally on dialog reopen
|
|
135
|
+
// (the promise is keyed on `dialogOpen`; the failure isn't cached).
|
|
136
|
+
const selfIdentityResolved = currentUserStatus === "success";
|
|
124
137
|
const selfId = currentUser ? granteeId("user", idRef(currentUser.login)) : undefined;
|
|
138
|
+
// De-collapsed like every listing fact — on tiger the user id is often the email.
|
|
139
|
+
const selfIdentity = useMemo(() => currentUser
|
|
140
|
+
? {
|
|
141
|
+
...userIdentityFacts(idRef(currentUser.login), currentUser.fullName, currentUser.email),
|
|
142
|
+
id: currentUser.login,
|
|
143
|
+
}
|
|
144
|
+
: undefined, [currentUser]);
|
|
125
145
|
// Rows with identity facts backfilled from the assignee cache — or, for the
|
|
126
146
|
// signed-in user's own row (absent from the listing by design), from the
|
|
127
147
|
// profile. Empty until the current target's list is seeded; a derivation, so
|
|
@@ -130,15 +150,14 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
130
150
|
if (!hasList) {
|
|
131
151
|
return [];
|
|
132
152
|
}
|
|
133
|
-
// De-collapsed like every listing fact — on tiger the user id is often the email.
|
|
134
|
-
const selfFacts = currentUser
|
|
135
|
-
? userIdentityFacts(idRef(currentUser.login), currentUser.fullName, currentUser.email)
|
|
136
|
-
: undefined;
|
|
137
153
|
return grantees.map((g) => {
|
|
138
|
-
const known = knownAssignees[g.id]?.facts ?? (g.id === selfId ?
|
|
139
|
-
|
|
154
|
+
const known = knownAssignees[g.id]?.facts ?? (g.id === selfId ? selfIdentity : undefined);
|
|
155
|
+
const isSelf = g.id === selfId;
|
|
156
|
+
return known
|
|
157
|
+
? { ...g, isSelf, name: g.name ?? known.name, email: g.email ?? known.email }
|
|
158
|
+
: { ...g, isSelf };
|
|
140
159
|
});
|
|
141
|
-
}, [hasList, grantees, knownAssignees,
|
|
160
|
+
}, [hasList, grantees, knownAssignees, selfIdentity, selfId]);
|
|
142
161
|
// Resolve identity facts on dialog open — grants often carry only raw ids
|
|
143
162
|
// (the post-reload state). Unconditional: no missing-facts gate to keep in
|
|
144
163
|
// sync with the cache, and summary-only consumers never fetch. Keyed on the
|
|
@@ -211,14 +230,10 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
211
230
|
}
|
|
212
231
|
}, [backend, workspace, target, toast, onSaved]);
|
|
213
232
|
// Picker loader — fetches available assignees on demand, filters by the typed
|
|
214
|
-
// query, and
|
|
233
|
+
// query, and excludes anything already granted. Depends only on the
|
|
215
234
|
// granted set (grantees), so its identity changes only when that set actually
|
|
216
235
|
// changes. It must NOT write state that feeds its own deps.
|
|
217
|
-
|
|
218
|
-
// `includeGranted` keeps already-granted grantees in the result. The
|
|
219
|
-
// transfer-ownership picker needs this: promoting an existing viewer to owner
|
|
220
|
-
// is a primary case, and the add-grantee exclusion would otherwise hide them.
|
|
221
|
-
const loadOptions = useCallback(async (search, includeGranted = false) => {
|
|
236
|
+
const loadOptions = useCallback(async (search) => {
|
|
222
237
|
if (!target) {
|
|
223
238
|
return { groups: [], users: [] };
|
|
224
239
|
}
|
|
@@ -235,7 +250,7 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
235
250
|
// even when the access-list grant later returns only a raw id. Safe here:
|
|
236
251
|
// the caches aren't dependencies of loadOptions, so this won't re-trigger it.
|
|
237
252
|
cacheAssignees(assignees);
|
|
238
|
-
const excluded = new Set(
|
|
253
|
+
const excluded = new Set(excludedIdsKey ? excludedIdsKey.split(",") : []);
|
|
239
254
|
const selectable = withIds
|
|
240
255
|
.filter(({ id }) => !excluded.has(id)) // hide anyone already granted
|
|
241
256
|
.filter(({ assignee }) => assigneeMatchesQuery(assignee, query));
|
|
@@ -256,17 +271,13 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
256
271
|
// Reuse the picker's original ref (preserves UriRef vs IdentifierRef);
|
|
257
272
|
// fall back to the serialized id only if it wasn't cached.
|
|
258
273
|
const refForId = useCallback((id) => knownAssignees[id]?.ref ?? { identifier: id.split(":", 2)[1] }, [knownAssignees]);
|
|
259
|
-
const getCurrentUserRef = useCallback(
|
|
260
|
-
// Not `user.ref`: the profile resolves it as a uriRef while access-list
|
|
261
|
-
// grantee refs are idRefs keyed by user id (= profile login), and
|
|
262
|
-
// areObjRefsEqual never matches mixed shapes — self-row matching and
|
|
263
|
-
// the self grant write need the permission API's id space.
|
|
264
|
-
() => getCurrentUser().then((user) => idRef(user.login)), [getCurrentUser]);
|
|
265
|
-
const canTransferOwnership = selfId !== undefined && namedGrantees.some((g) => g.id === selfId && g.level === "EDIT");
|
|
266
274
|
return {
|
|
267
275
|
targetKey,
|
|
268
276
|
hasList,
|
|
269
277
|
grantees: namedGrantees,
|
|
278
|
+
seededWithoutGrants,
|
|
279
|
+
selfIdentity,
|
|
280
|
+
selfIdentityResolved,
|
|
270
281
|
generalAccess,
|
|
271
282
|
workspaceLevel,
|
|
272
283
|
inheritedWorkspaceLevel,
|
|
@@ -277,8 +288,6 @@ export function useAccessList(target, onSaved, dialogOpen) {
|
|
|
277
288
|
commit,
|
|
278
289
|
loadOptions,
|
|
279
290
|
refForId,
|
|
280
|
-
getCurrentUserRef,
|
|
281
|
-
canTransferOwnership,
|
|
282
291
|
setGrantees,
|
|
283
292
|
setGeneralAccess,
|
|
284
293
|
setWorkspaceLevel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useObjectShareController.d.ts","sourceRoot":"","sources":["../../src/share/useObjectShareController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useObjectShareController.d.ts","sourceRoot":"","sources":["../../src/share/useObjectShareController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAc1E,OAAO,EACH,KAAK,sBAAsB,EAI3B,KAAK,sBAAsB,EAE9B,MAAM,kCAAkC,CAAC;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,wBAAwB,GAAG,SAAS,EAC5C,OAAO,CAAC,EAAE,sBAAsB,GACjC,sBAAsB,CAmmBxB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
import { useCallback, useMemo, useRef, useState } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import { useToastMessage, } from "@gooddata/sdk-ui-kit";
|
|
3
|
+
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
5
4
|
import { composeEffectiveWorkspaceAccess } from "./accessSummary.js";
|
|
6
5
|
import { objectShareMessages } from "./messages.js";
|
|
7
6
|
import { EMPTY_IDS, NO_LABELS, effectivePermissionAbove, granularGranteeFor, toGranularGrantee, } from "./objectShareController.helpers.js";
|
|
@@ -39,10 +38,6 @@ export function useObjectShareController(target, options) {
|
|
|
39
38
|
const [subview, setSubview] = useState("main");
|
|
40
39
|
const [pendingGrantees, setPendingGrantees] = useState([]);
|
|
41
40
|
const [pendingGeneralAccess, setPendingGeneralAccess] = useState(undefined);
|
|
42
|
-
// Transfer-ownership buffers. Cleared on close and on target switch.
|
|
43
|
-
const [transferTarget, setTransferTargetState] = useState(undefined);
|
|
44
|
-
const [transferAlsoRemoveSelf, setTransferAlsoRemoveSelf] = useState(false);
|
|
45
|
-
const [transferSaving, setTransferSaving] = useState(false);
|
|
46
41
|
// True while a workspace-level re-grade is committing. The workspace rule has no
|
|
47
42
|
// grantee row to carry a `pending` flag (unlike named grantees), so this gates
|
|
48
43
|
// re-entry and disables the dropdown to keep rapid VIEW↔SHARE toggles from issuing
|
|
@@ -50,7 +45,7 @@ export function useObjectShareController(target, options) {
|
|
|
50
45
|
const [workspaceLevelSaving, setWorkspaceLevelSaving] = useState(false);
|
|
51
46
|
// The backend access list, seeded into local state (rows, general access,
|
|
52
47
|
// summary, the commit/picker primitives) lives in its own hook.
|
|
53
|
-
const { targetKey, hasList, grantees, generalAccess, workspaceLevel, inheritedWorkspaceLevel, summary, status, loadError, accessUnavailable, commit, loadOptions, refForId,
|
|
48
|
+
const { targetKey, hasList, grantees, seededWithoutGrants, selfIdentity, selfIdentityResolved, generalAccess, workspaceLevel, inheritedWorkspaceLevel, summary, status, loadError, accessUnavailable, commit, loadOptions, refForId, setGrantees, setGeneralAccess, setWorkspaceLevel, } = useAccessList(target, onSaved, isOpen);
|
|
54
49
|
// Always-current target key, read inside async mutation finalizers that captured
|
|
55
50
|
// an older one. A write started for object A resolves after the user navigated to
|
|
56
51
|
// object B; because local state is authoritative (no refetch), applying A's
|
|
@@ -77,21 +72,12 @@ export function useObjectShareController(target, options) {
|
|
|
77
72
|
setPendingGrantees([]);
|
|
78
73
|
setPendingGeneralAccess(undefined);
|
|
79
74
|
setWorkspaceLevelSaving(false);
|
|
80
|
-
setTransferTargetState(undefined);
|
|
81
|
-
setTransferAlsoRemoveSelf(false);
|
|
82
|
-
setTransferSaving(false);
|
|
83
75
|
}
|
|
84
76
|
const reset = useCallback(() => {
|
|
85
77
|
setSubview("main");
|
|
86
78
|
setPendingGrantees([]);
|
|
87
79
|
setPendingGeneralAccess(undefined);
|
|
88
80
|
setWorkspaceLevelSaving(false);
|
|
89
|
-
setTransferTargetState(undefined);
|
|
90
|
-
setTransferAlsoRemoveSelf(false);
|
|
91
|
-
// Deliberately NOT clearing transferSaving here: closing the dialog must not
|
|
92
|
-
// release the transfer lock while the write is still in flight, or a reopened
|
|
93
|
-
// dialog could mutate concurrently with the unfinished transfer. The in-flight
|
|
94
|
-
// confirmTransferOwnership clears it itself once the write settles.
|
|
95
81
|
}, []);
|
|
96
82
|
const openAddGrantee = useCallback(() => {
|
|
97
83
|
setSubview("addGrantee");
|
|
@@ -457,172 +443,6 @@ export function useObjectShareController(target, options) {
|
|
|
457
443
|
commit,
|
|
458
444
|
setWorkspaceLevel,
|
|
459
445
|
]);
|
|
460
|
-
const openTransferOwnership = useCallback(() => {
|
|
461
|
-
setSubview("transferOwnership");
|
|
462
|
-
setTransferTargetState(undefined);
|
|
463
|
-
setTransferAlsoRemoveSelf(false);
|
|
464
|
-
}, []);
|
|
465
|
-
const closeTransferOwnership = useCallback(() => {
|
|
466
|
-
setSubview("main");
|
|
467
|
-
setTransferTargetState(undefined);
|
|
468
|
-
setTransferAlsoRemoveSelf(false);
|
|
469
|
-
}, []);
|
|
470
|
-
const setTransferTarget = useCallback((owner) => {
|
|
471
|
-
setTransferTargetState(owner);
|
|
472
|
-
}, []);
|
|
473
|
-
// The picked user already owns the object when a grantee row for them holds
|
|
474
|
-
// EDIT — then there's nothing to transfer (the dialog offers to remove the
|
|
475
|
-
// current user's own access instead).
|
|
476
|
-
const transferTargetIsOwner = useMemo(() => transferTarget ? grantees.some((g) => g.id === transferTarget.id && g.level === "EDIT") : false, [transferTarget, grantees]);
|
|
477
|
-
// Insert a brand-new grantee row with its label scope — the shared seed for a
|
|
478
|
-
// freshly-granted principal (used when a transfer promotes a user who wasn't
|
|
479
|
-
// already a grantee; the same row shape the add flow creates). Identity
|
|
480
|
-
// renders from the facts cache.
|
|
481
|
-
const seedNewGranteeRow = useCallback((row, labelIds) => {
|
|
482
|
-
setGrantees((prev) => [...prev, row]);
|
|
483
|
-
setSelectedLabelIdsByGrantee((prev) => ({ ...prev, [row.id]: labelIds }));
|
|
484
|
-
}, [setGrantees, setSelectedLabelIdsByGrantee]);
|
|
485
|
-
const confirmTransferOwnership = useCallback(async () => {
|
|
486
|
-
if (!transferTarget || transferSaving) {
|
|
487
|
-
return;
|
|
488
|
-
}
|
|
489
|
-
const startedFor = targetKey;
|
|
490
|
-
const ownerRef = refForId(transferTarget.id);
|
|
491
|
-
let selfRef;
|
|
492
|
-
try {
|
|
493
|
-
selfRef = await getCurrentUserRef();
|
|
494
|
-
}
|
|
495
|
-
catch {
|
|
496
|
-
toast.addError(objectShareMessages.toastError);
|
|
497
|
-
return;
|
|
498
|
-
}
|
|
499
|
-
if (targetKeyRef.current !== startedFor) {
|
|
500
|
-
return;
|
|
501
|
-
}
|
|
502
|
-
// Guard against transferring to yourself: the picker's loader already
|
|
503
|
-
// excludes the current user, but if a backend ever returned self the batch
|
|
504
|
-
// below would emit conflicting grants for one ref (EDIT + VIEW/none). Bail
|
|
505
|
-
// and just close — there is nothing to transfer to oneself.
|
|
506
|
-
if (areObjRefsEqual(ownerRef, selfRef)) {
|
|
507
|
-
closeTransferOwnership();
|
|
508
|
-
return;
|
|
509
|
-
}
|
|
510
|
-
// Build the write. A real transfer grants the picked user EDIT and changes
|
|
511
|
-
// the current user's own grant: kept as VIEW by default, or removed when
|
|
512
|
-
// "Also remove my access" is set. When the picked user already owns the
|
|
513
|
-
// object there's nothing to transfer — only the self-access choice applies,
|
|
514
|
-
// and "keep" is then a pure no-op (don't downgrade an existing owner-self to
|
|
515
|
-
// VIEW just for confirming).
|
|
516
|
-
const mutations = [];
|
|
517
|
-
if (!transferTargetIsOwner) {
|
|
518
|
-
mutations.push(toGranularGrantee("user", ownerRef, "EDIT"));
|
|
519
|
-
mutations.push(toGranularGrantee("user", selfRef, transferAlsoRemoveSelf ? "none" : "VIEW"));
|
|
520
|
-
}
|
|
521
|
-
else if (transferAlsoRemoveSelf) {
|
|
522
|
-
mutations.push(toGranularGrantee("user", selfRef, "none"));
|
|
523
|
-
}
|
|
524
|
-
if (mutations.length === 0) {
|
|
525
|
-
closeTransferOwnership();
|
|
526
|
-
return;
|
|
527
|
-
}
|
|
528
|
-
// Whether the new owner already has a grantee row (was granted before this
|
|
529
|
-
// transfer). A brand-new owner needs a row seeded and their labels mirrored,
|
|
530
|
-
// exactly like the add-grantee flow; an existing grantee already has both.
|
|
531
|
-
const existingOwnerRow = transferTargetIsOwner
|
|
532
|
-
? undefined
|
|
533
|
-
: grantees.find((g) => g.id === transferTarget.id);
|
|
534
|
-
const ownerIsNew = !transferTargetIsOwner && !existingOwnerRow;
|
|
535
|
-
const allLabelIds = effectiveLabels.map((l) => l.id);
|
|
536
|
-
setTransferSaving(true);
|
|
537
|
-
// "Ownership transferred" only when ownership actually moves; the
|
|
538
|
-
// already-owner path just changes the current user's own access.
|
|
539
|
-
const successMessage = transferTargetIsOwner
|
|
540
|
-
? objectShareMessages.toastAccessUpdated
|
|
541
|
-
: objectShareMessages.toastOwnershipTransferred;
|
|
542
|
-
const ok = await commit(mutations, successMessage);
|
|
543
|
-
if (targetKeyRef.current !== startedFor) {
|
|
544
|
-
return;
|
|
545
|
-
}
|
|
546
|
-
if (!ok) {
|
|
547
|
-
setTransferSaving(false);
|
|
548
|
-
return;
|
|
549
|
-
}
|
|
550
|
-
// Mirror per-label grants for the same reason add/remove do: label
|
|
551
|
-
// permissions are independent access-list entries, so the object write
|
|
552
|
-
// alone would leave a new owner without label access, or leave a removed
|
|
553
|
-
// self with orphaned label grants. A failed label write is non-fatal here
|
|
554
|
-
// (the object grant is what matters) — surfaced as a warning, like remove.
|
|
555
|
-
//
|
|
556
|
-
// Do every backend label write first, then apply all local state behind a
|
|
557
|
-
// single target guard. Since no local write happens before that guard, a
|
|
558
|
-
// target switch during a label await can't land a half-applied transfer on
|
|
559
|
-
// the next object's seeded list — unlike the optimistic finalizers, which
|
|
560
|
-
// write before committing and so must re-guard after each await.
|
|
561
|
-
let labelsOk = true;
|
|
562
|
-
if (ownerIsNew) {
|
|
563
|
-
// Grant the brand-new owner every label — the add-grantee default scope.
|
|
564
|
-
const granted = await reconcileLabelScope({ kind: "user", granteeRef: ownerRef }, new Set(allLabelIds), EMPTY_IDS);
|
|
565
|
-
labelsOk = labelsOk && granted;
|
|
566
|
-
}
|
|
567
|
-
if (transferAlsoRemoveSelf) {
|
|
568
|
-
// Self lost object access — revoke their per-label grants too.
|
|
569
|
-
const revoked = await reconcileLabelScope({ kind: "user", granteeRef: selfRef }, EMPTY_IDS, new Set(allLabelIds));
|
|
570
|
-
labelsOk = labelsOk && revoked;
|
|
571
|
-
}
|
|
572
|
-
if (targetKeyRef.current !== startedFor) {
|
|
573
|
-
return;
|
|
574
|
-
}
|
|
575
|
-
// Reflect the object-grant changes locally (authoritative, no refetch).
|
|
576
|
-
if (!transferTargetIsOwner) {
|
|
577
|
-
const nextEffective = effectivePermissionAbove("EDIT", []);
|
|
578
|
-
if (ownerIsNew) {
|
|
579
|
-
seedNewGranteeRow({
|
|
580
|
-
id: transferTarget.id,
|
|
581
|
-
kind: "user",
|
|
582
|
-
granteeRef: ownerRef,
|
|
583
|
-
level: "EDIT",
|
|
584
|
-
effectivePermission: nextEffective,
|
|
585
|
-
}, allLabelIds);
|
|
586
|
-
}
|
|
587
|
-
else {
|
|
588
|
-
// Existing grantee: their label scope is unchanged by an
|
|
589
|
-
// object-level promotion, so only the row's level is raised.
|
|
590
|
-
setGrantees((prev) => prev.map((g) => g.id === transferTarget.id
|
|
591
|
-
? { ...g, level: "EDIT", effectivePermission: nextEffective }
|
|
592
|
-
: g));
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
// The current user may have their own grantee row (the access list keeps
|
|
596
|
-
// every grant, including self) — reflect their object-grant change locally
|
|
597
|
-
// too: dropped when "remove my access", otherwise downgraded to VIEW. Match
|
|
598
|
-
// by ref since self isn't tied to a picker-derived row id.
|
|
599
|
-
setGrantees((prev) => transferAlsoRemoveSelf
|
|
600
|
-
? prev.filter((g) => !areObjRefsEqual(g.granteeRef, selfRef))
|
|
601
|
-
: prev.map((g) => areObjRefsEqual(g.granteeRef, selfRef)
|
|
602
|
-
? { ...g, level: "VIEW", effectivePermission: undefined }
|
|
603
|
-
: g));
|
|
604
|
-
if (!labelsOk) {
|
|
605
|
-
toast.addWarning(objectShareMessages.toastLabelScopePartial);
|
|
606
|
-
}
|
|
607
|
-
setTransferSaving(false);
|
|
608
|
-
closeTransferOwnership();
|
|
609
|
-
}, [
|
|
610
|
-
transferTarget,
|
|
611
|
-
transferSaving,
|
|
612
|
-
transferTargetIsOwner,
|
|
613
|
-
transferAlsoRemoveSelf,
|
|
614
|
-
targetKey,
|
|
615
|
-
grantees,
|
|
616
|
-
effectiveLabels,
|
|
617
|
-
refForId,
|
|
618
|
-
getCurrentUserRef,
|
|
619
|
-
commit,
|
|
620
|
-
reconcileLabelScope,
|
|
621
|
-
toast,
|
|
622
|
-
setGrantees,
|
|
623
|
-
seedNewGranteeRow,
|
|
624
|
-
closeTransferOwnership,
|
|
625
|
-
]);
|
|
626
446
|
const actions = useMemo(() => ({
|
|
627
447
|
reset,
|
|
628
448
|
openAddGrantee,
|
|
@@ -637,11 +457,6 @@ export function useObjectShareController(target, options) {
|
|
|
637
457
|
cancelGeneralAccessChange: () => setPendingGeneralAccess(undefined),
|
|
638
458
|
confirmGeneralAccessChange,
|
|
639
459
|
changeWorkspaceLevel,
|
|
640
|
-
openTransferOwnership,
|
|
641
|
-
closeTransferOwnership,
|
|
642
|
-
setTransferTarget,
|
|
643
|
-
setTransferAlsoRemoveSelf,
|
|
644
|
-
confirmTransferOwnership,
|
|
645
460
|
}), [
|
|
646
461
|
reset,
|
|
647
462
|
openAddGrantee,
|
|
@@ -654,10 +469,6 @@ export function useObjectShareController(target, options) {
|
|
|
654
469
|
requestGeneralAccessChange,
|
|
655
470
|
confirmGeneralAccessChange,
|
|
656
471
|
changeWorkspaceLevel,
|
|
657
|
-
openTransferOwnership,
|
|
658
|
-
closeTransferOwnership,
|
|
659
|
-
setTransferTarget,
|
|
660
|
-
confirmTransferOwnership,
|
|
661
472
|
]);
|
|
662
473
|
const state = useMemo(() => ({
|
|
663
474
|
subview,
|
|
@@ -665,6 +476,10 @@ export function useObjectShareController(target, options) {
|
|
|
665
476
|
error: loadError,
|
|
666
477
|
accessUnavailable,
|
|
667
478
|
summary,
|
|
479
|
+
targetKey,
|
|
480
|
+
selfIdentity,
|
|
481
|
+
selfIdentityResolved,
|
|
482
|
+
seededWithoutGrants,
|
|
668
483
|
grantees,
|
|
669
484
|
// Effective access: the direct state composed with inherited rule
|
|
670
485
|
// access. Also pins the level to VIEW while restricted, so the (hidden)
|
|
@@ -680,17 +495,16 @@ export function useObjectShareController(target, options) {
|
|
|
680
495
|
selectedLabelIdsByGrantee,
|
|
681
496
|
pendingGeneralAccess,
|
|
682
497
|
pendingGrantees,
|
|
683
|
-
transferTarget,
|
|
684
|
-
transferAlsoRemoveSelf,
|
|
685
|
-
transferTargetIsOwner,
|
|
686
|
-
transferSaving,
|
|
687
|
-
canTransferOwnership,
|
|
688
498
|
}), [
|
|
689
499
|
subview,
|
|
690
500
|
status,
|
|
691
501
|
loadError,
|
|
692
502
|
accessUnavailable,
|
|
693
503
|
summary,
|
|
504
|
+
targetKey,
|
|
505
|
+
selfIdentity,
|
|
506
|
+
selfIdentityResolved,
|
|
507
|
+
seededWithoutGrants,
|
|
694
508
|
grantees,
|
|
695
509
|
generalAccess,
|
|
696
510
|
workspaceLevel,
|
|
@@ -701,11 +515,6 @@ export function useObjectShareController(target, options) {
|
|
|
701
515
|
selectedLabelIdsByGrantee,
|
|
702
516
|
pendingGeneralAccess,
|
|
703
517
|
pendingGrantees,
|
|
704
|
-
transferTarget,
|
|
705
|
-
transferAlsoRemoveSelf,
|
|
706
|
-
transferTargetIsOwner,
|
|
707
|
-
transferSaving,
|
|
708
|
-
canTransferOwnership,
|
|
709
518
|
]);
|
|
710
519
|
return useMemo(() => ({ state, actions }), [state, actions]);
|
|
711
520
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-ext",
|
|
3
|
-
"version": "11.49.0
|
|
3
|
+
"version": "11.49.0",
|
|
4
4
|
"description": "GoodData.UI SDK - Extensions",
|
|
5
5
|
"license": "LicenseRef-LICENSE",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -63,20 +63,20 @@
|
|
|
63
63
|
"ts-invariant": "0.10.3",
|
|
64
64
|
"tslib": "2.8.1",
|
|
65
65
|
"uuid": "11.1.1",
|
|
66
|
-
"@gooddata/sdk-backend-base": "11.49.0
|
|
67
|
-
"@gooddata/sdk-backend-spi": "11.49.0
|
|
68
|
-
"@gooddata/sdk-embedding": "11.49.0
|
|
69
|
-
"@gooddata/sdk-
|
|
70
|
-
"@gooddata/sdk-
|
|
71
|
-
"@gooddata/sdk-ui-
|
|
72
|
-
"@gooddata/sdk-ui-
|
|
73
|
-
"@gooddata/sdk-ui-
|
|
74
|
-
"@gooddata/sdk-ui-
|
|
75
|
-
"@gooddata/sdk-ui-
|
|
76
|
-
"@gooddata/sdk-ui-semantic-search": "11.49.0
|
|
77
|
-
"@gooddata/sdk-ui-
|
|
78
|
-
"@gooddata/sdk-ui-
|
|
79
|
-
"@gooddata/util": "11.49.0
|
|
66
|
+
"@gooddata/sdk-backend-base": "11.49.0",
|
|
67
|
+
"@gooddata/sdk-backend-spi": "11.49.0",
|
|
68
|
+
"@gooddata/sdk-embedding": "11.49.0",
|
|
69
|
+
"@gooddata/sdk-model": "11.49.0",
|
|
70
|
+
"@gooddata/sdk-ui": "11.49.0",
|
|
71
|
+
"@gooddata/sdk-ui-filters": "11.49.0",
|
|
72
|
+
"@gooddata/sdk-ui-charts": "11.49.0",
|
|
73
|
+
"@gooddata/sdk-ui-geo": "11.49.0",
|
|
74
|
+
"@gooddata/sdk-ui-kit": "11.49.0",
|
|
75
|
+
"@gooddata/sdk-ui-pivot": "11.49.0",
|
|
76
|
+
"@gooddata/sdk-ui-semantic-search": "11.49.0",
|
|
77
|
+
"@gooddata/sdk-ui-vis-commons": "11.49.0",
|
|
78
|
+
"@gooddata/sdk-ui-theme-provider": "11.49.0",
|
|
79
|
+
"@gooddata/util": "11.49.0"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
82
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -124,12 +124,12 @@
|
|
|
124
124
|
"typescript": "5.9.3",
|
|
125
125
|
"vitest": "4.1.8",
|
|
126
126
|
"vitest-dom": "0.1.1",
|
|
127
|
-
"@gooddata/eslint-config": "11.49.0
|
|
128
|
-
"@gooddata/
|
|
129
|
-
"@gooddata/
|
|
130
|
-
"@gooddata/reference-workspace": "11.49.0
|
|
131
|
-
"@gooddata/sdk-backend-mockingbird": "11.49.0
|
|
132
|
-
"@gooddata/stylelint-config": "11.49.0
|
|
127
|
+
"@gooddata/eslint-config": "11.49.0",
|
|
128
|
+
"@gooddata/oxlint-config": "11.49.0",
|
|
129
|
+
"@gooddata/i18n-toolkit": "11.49.0",
|
|
130
|
+
"@gooddata/reference-workspace": "11.49.0",
|
|
131
|
+
"@gooddata/sdk-backend-mockingbird": "11.49.0",
|
|
132
|
+
"@gooddata/stylelint-config": "11.49.0"
|
|
133
133
|
},
|
|
134
134
|
"peerDependencies": {
|
|
135
135
|
"react": "^18.0.0 || ^19.0.0",
|
package/styles/css/main.css
CHANGED
|
@@ -583,6 +583,11 @@
|
|
|
583
583
|
line-height: 20px;
|
|
584
584
|
}
|
|
585
585
|
|
|
586
|
+
.gd-share-dialog-grantee-item.is-clickable .gd-grantee-content,
|
|
587
|
+
.gd-share-dialog-grantee-item.is-clickable .gd-grantee-content-label {
|
|
588
|
+
cursor: pointer;
|
|
589
|
+
}
|
|
590
|
+
|
|
586
591
|
.gd-share-dialog-grantee-item.is-inherited .gd-grantee-content {
|
|
587
592
|
cursor: default;
|
|
588
593
|
}
|
package/styles/css/main.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../internal/scss/dashboard_embedding.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../internal/scss/variables.scss","../internal/scss/user_management_dialogs.scss","../internal/scss/attribute_hierarchies.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Bubble/_variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/bubble.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/overlay.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/typo-mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/tabs.scss","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/UiIcon/UiIcon.scss","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/UiButton/UiButton.scss","../../node_modules/react-loading-skeleton/dist/skeleton.css","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/UiSkeleton/UiSkeleton.scss","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/UiPagedVirtualList/UiPagedVirtualList.scss","../../src/notificationsPanel/components/DetailsDialog.scss","../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.scss","../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.scss","../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelButton.scss","../../src/notificationsPanel/NotificationsList/DefaultNotificationsList.scss","../../src/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.scss","../../src/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.scss","../../src/notificationsPanel/Notification/DefaultNotification.scss","../../src/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetailDialog.scss","../../src/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetailDialog.scss","../automations/automations.scss","../internal/scss/insightPicker.scss","../internal/scss/conditional_formatting.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;AAAA;AAAA;AAAA;EAIA;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;AAAA;AAAA;AAAA;EAIA;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;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;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;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;;;ACjVJ;EACI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA,aCmFc;EDlFd,kBCEa;;;ADCjB;EACI;EACA;EACA;EACA;EACA;;AAEA;EAPJ;IAQQ;IACA;;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,aEqBuB;EFpBvB;EACA,YEtB2C;EFuB3C,OE3BuC;;;ACnB3C;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAIA;EACI,OFoBkB;;;AEftB;EACI;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA,OF5CoB;;;AE+CxB;EACI;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;;;AAGJ;EACI,OFrEgB;EEsEhB;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAIR;EACI;EACA,OFzHgB;EE0HhB;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA,OFvJe;EEwJf;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OFvNmB;EEwNnB;EACA;EACA;EACA;;;AAMA;EACI;;AAIJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AC1QR;EACI;EACA;EACA;EACA;EACA,OH4BY;;AG1BZ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA,OH6LS;EG5LT;;AAGJ;EACI;EACA;EACA;EACA;EACA,OHCe;;AGEnB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAIR;EACI;EAGA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;;AAIA;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;AAAA;AAAA;AAAA;EAII;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;;;AAMhB;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;;AAKZ;EACI;;AAEA;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAQR;AAAA;AAAA;EACI;EACA;EACA;EACA;;AAGJ;AAAA;AAAA;EACI;EACA;EACA;EACA;;AAGJ;AAAA;AAAA;EACI;EACA;EACA;EACA;;;AAKJ;EACI;;AAEA;EACI;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA,YACI;EAEJ;;;ACpNJ;AA4DA;ACjLA;AAAA;AAAA;ACAA;AAAA;AAAA;AAIA;EACI;EACA;;;AAIJ;EACI;EACA;EACA;EACA,ODFgB;;ACIhB;EACI;;AFwJJ;EEpJI;;AF4IJ;EExII,ODZkB;ECalB;;;AAIR;EACI;EACA,WD5Be;ED0Df,0BE5B2B;EF6B3B,6BE7B2B;EF8B3B,qBE9B2B;EFkC3B,0BElCoC;EFmCpC,6BEnCoC;EFoCpC,qBEpCoC;EFwCpC,iCExC0C;EFyC1C,oCEzC0C;EF0C1C,4BE1C0C;;AAE1C;EACI,WDhCiB;;ACmCrB;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EFVA,SEYwB;;AAG5B;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI,ONpCM;EMqCN;EACA;EFXZ,0BEauC;EFZvC,6BEYuC;EFXvC,qBEWuC;EFPvC,0BEO4C;EFN5C,6BEM4C;EFL5C,qBEK4C;EFD5C,iCECmD;EFAnD;EACA,4BEDmD;;AAIvC;EACI;;AAIR;AAAA;AAAA;EAGI;;AAGJ;EACI;;AAGJ;EACI;;AA2CR;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDhIM;EDEV;;AEyIQ;EACI;;AAOZ;EACI,ODjIW;ECkIX,YDrJM;;ACuJN;AAAA;EAEI;;AAKJ;EACI,kBD/JE;;ACkKN;EACI,kBDnKE;;ACwKN;EACI,qBDzKE;;AC4KN;EACI,qBD7KE;;ACkLN;EACI,oBDnLE;;ACsLN;EACI,oBDvLE;;AC4LN;EACI,mBD7LE;;ACgMN;EACI,mBDjME;;AC2HV;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDzHY;EDLhB;;AEyIQ;EACI;;AAOZ;EACI,ONhIU;EMiIV,YD9IY;;ACgJZ;AAAA;EAEI;;AAKJ;EACI,kBDxJQ;;AC2JZ;EACI,kBD5JQ;;ACiKZ;EACI,qBDlKQ;;ACqKZ;EACI,qBDtKQ;;AC2KZ;EACI,oBD5KQ;;AC+KZ;EACI,oBDhLQ;;ACqLZ;EACI,mBDtLQ;;ACyLZ;EACI,mBD1LQ;;ACoHhB;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDhIM;EDEV;;AEyIQ;EACI;;AAOZ;EACI,ODjIW;ECkIX,YDrJM;;ACuJN;AAAA;EAEI;;AAKJ;EACI,kBD/JE;;ACkKN;EACI,kBDnKE;;ACwKN;EACI,qBDzKE;;AC4KN;EACI,qBD7KE;;ACkLN;EACI,oBDnLE;;ACsLN;EACI,oBDvLE;;AC4LN;EACI,mBD7LE;;ACgMN;EACI,mBDjME;;AC2HV;EACI;EACA;EACA;EACA,cDhGe;ECiGf,cD/Ge;EDfnB;;AEiJA;EACI,ODpHS;ECqHT,YD1IQ;;AC4IR;AAAA;EAEI;;AAKJ;EACI,kBD9IW;;ACiJf;EACI,kBDxJI;;AC6JR;EACI,qBDxJW;;AC2Jf;EACI,qBDlKI;;ACuKR;EACI,oBDlKW;;ACqKf;EACI,oBD5KI;;ACiLR;EACI,mBD5KW;;AC+Kf;EACI,mBDtLI;;ACgHZ;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDpHU;EDVd;;AEyIQ;EACI;;AAOZ;EACI,ONhIU;EMiIV,YDzIU;;AC2IV;AAAA;EAEI;;AAKJ;EACI,kBDnJM;;ACsJV;EACI,kBDvJM;;AC4JV;EACI,qBD7JM;;ACgKV;EACI,qBDjKM;;ACsKV;EACI,oBDvKM;;AC0KV;EACI,oBD3KM;;ACgLV;EACI,mBDjLM;;ACoLV;EACI,mBDrLM;;AC+Gd;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDnFW;ED3Cf;;AEyIQ;EACI;;AAOZ;EACI,ONhIU;EMiIV,YDxGW;;AC0GX;AAAA;EAEI;;AAKJ;EACI,kBDlHO;;ACqHX;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I;;AAIR;EAEI;EACA;EACA;EACA;EACA;;AAGI;EAII;;AAIR;EACI;;AAGJ;EACI;;AAEJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGI;EAKI;EAEA;;AAIR;EACI;;AAGJ;EACI;;AAEJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAGI;EAEI;EACA;EACA;;AAIJ;EAEI;EACA;EACA;;AAKR;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EAEA;EACA;EACA;EACA;;AAGI;EAII;EACA;EAEA;;AAIR;EACI;EACA;EACA;;;ACtUhB;EACE;IACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EASA;EAEA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;ACnDJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAIA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;ACzCR;EAGI;EACA;EACA;EACA;EACA;EACA;;AAGI;EACI;;AAEA;EV4NR;EACA;EACA;;AU1NY;EAJJ;IAKQ;;;AAMhB;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAIA;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAMhB;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AChFR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;ACjDR;EACI;EACA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EAEA;;;AClBJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACI;EACA;EAEA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AC5BR;EACI;EACA;EACA;EACA;EACA;;AAEA;EAEI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC9BR;EACI;EACA;EACA;EACA;EACA;EACA;;;ACNJ;EACI;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;;;ACjBJ;EACI;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;;;ACjBJ;EAGI;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EACA;EAEA;EAEA;;AAGI;EACI;;AAIA;EACI;;AAGJ;EACI;;AAIR;EACI;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;EAEA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EAEA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGJ;EACI;EACA;EACA;EAEA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;ACjLR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EAEA;EACA;EACA;;AAGJ;EACI;EAEA;EACA;EACA;;;ACxBR;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EAEA;EACA;EAEA;EACA;EACA;EAEA;EAEA;;AAGJ;EACI;EACA;EAEA;EAEA;EACA;EACA;EAEA;;AAGJ;EAEI;EACA;EACA;EAEA;EAEA;EACA;EACA;EAEA;EAEA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;;ACxER;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIA;EACI;;AAKZ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EAEI;EACA;EACA;;;AAIR;EACI;EACA;;AAGI;EACI;;;ACvEZ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGA;EACI;;AAMR;EACI;;AAEA;EACI;;;AAKZ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAKR;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;;;AAIA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACI;EACA;EACA;EACA,YACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAKJ;EAEI;EACA;;;ACxLR;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AAEA;EACI;;;AAKR;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAaJ;EACI;EACA;EACA;EACA;EACA;EACA,YACI;;AAKJ;EACI;EACA;EACA;;AAKJ;EA3BA;EACA;EACA,YACI;EA2BA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAKJ;EACI;EACA;EACA;EACA;;AAGJ;EAEI;;;AAIR;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACI;;AAMJ;EACI;;AAGJ;EACI;EACA;;AAKJ;EAlLA;EACA;EACA,YACI;EAkLA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI","file":"main.css"}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../internal/scss/dashboard_embedding.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../internal/scss/variables.scss","../internal/scss/user_management_dialogs.scss","../internal/scss/attribute_hierarchies.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Bubble/_variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/bubble.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/overlay.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/typo-mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/tabs.scss","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/UiIcon/UiIcon.scss","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/UiButton/UiButton.scss","../../node_modules/react-loading-skeleton/dist/skeleton.css","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/UiSkeleton/UiSkeleton.scss","../../node_modules/@gooddata/sdk-ui-kit/src/@ui/UiPagedVirtualList/UiPagedVirtualList.scss","../../src/notificationsPanel/components/DetailsDialog.scss","../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.scss","../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.scss","../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelButton.scss","../../src/notificationsPanel/NotificationsList/DefaultNotificationsList.scss","../../src/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.scss","../../src/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.scss","../../src/notificationsPanel/Notification/DefaultNotification.scss","../../src/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetailDialog.scss","../../src/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetailDialog.scss","../automations/automations.scss","../internal/scss/insightPicker.scss","../internal/scss/conditional_formatting.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;AAAA;AAAA;AAAA;EAIA;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;AAAA;AAAA;AAAA;EAIA;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;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;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;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;;;ACjVJ;EACI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA,aCmFc;EDlFd,kBCEa;;;ADCjB;EACI;EACA;EACA;EACA;EACA;;AAEA;EAPJ;IAQQ;IACA;;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,aEqBuB;EFpBvB;EACA,YEtB2C;EFuB3C,OE3BuC;;;ACnB3C;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAIA;EACI,OFoBkB;;;AEftB;EACI;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA,OF5CoB;;;AE+CxB;EACI;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;;;AAGJ;EACI,OFrEgB;EEsEhB;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAIR;EACI;EACA,OFzHgB;EE0HhB;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA,OFvJe;EEwJf;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OFvNmB;EEwNnB;EACA;EACA;EACA;;;AAOA;AAAA;EAEI;;;AAOJ;EACI;;AAIJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;ACpRR;EACI;EACA;EACA;EACA;EACA,OH4BY;;AG1BZ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA,OH6LS;EG5LT;;AAGJ;EACI;EACA;EACA;EACA;EACA,OHCe;;AGEnB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAIR;EACI;EAGA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;;AAIA;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;AAAA;AAAA;AAAA;EAII;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;;;AAMhB;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;;AAKZ;EACI;;AAEA;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAQR;AAAA;AAAA;EACI;EACA;EACA;EACA;;AAGJ;AAAA;AAAA;EACI;EACA;EACA;EACA;;AAGJ;AAAA;AAAA;EACI;EACA;EACA;EACA;;;AAKJ;EACI;;AAEA;EACI;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA,YACI;EAEJ;;;ACpNJ;AA4DA;ACjLA;AAAA;AAAA;ACAA;AAAA;AAAA;AAIA;EACI;EACA;;;AAIJ;EACI;EACA;EACA;EACA,ODFgB;;ACIhB;EACI;;AFwJJ;EEpJI;;AF4IJ;EExII,ODZkB;ECalB;;;AAIR;EACI;EACA,WD5Be;ED0Df,0BE5B2B;EF6B3B,6BE7B2B;EF8B3B,qBE9B2B;EFkC3B,0BElCoC;EFmCpC,6BEnCoC;EFoCpC,qBEpCoC;EFwCpC,iCExC0C;EFyC1C,oCEzC0C;EF0C1C,4BE1C0C;;AAE1C;EACI,WDhCiB;;ACmCrB;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EFVA,SEYwB;;AAG5B;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI,ONpCM;EMqCN;EACA;EFXZ,0BEauC;EFZvC,6BEYuC;EFXvC,qBEWuC;EFPvC,0BEO4C;EFN5C,6BEM4C;EFL5C,qBEK4C;EFD5C,iCECmD;EFAnD;EACA,4BEDmD;;AAIvC;EACI;;AAIR;AAAA;AAAA;EAGI;;AAGJ;EACI;;AAGJ;EACI;;AA2CR;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDhIM;EDEV;;AEyIQ;EACI;;AAOZ;EACI,ODjIW;ECkIX,YDrJM;;ACuJN;AAAA;EAEI;;AAKJ;EACI,kBD/JE;;ACkKN;EACI,kBDnKE;;ACwKN;EACI,qBDzKE;;AC4KN;EACI,qBD7KE;;ACkLN;EACI,oBDnLE;;ACsLN;EACI,oBDvLE;;AC4LN;EACI,mBD7LE;;ACgMN;EACI,mBDjME;;AC2HV;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDzHY;EDLhB;;AEyIQ;EACI;;AAOZ;EACI,ONhIU;EMiIV,YD9IY;;ACgJZ;AAAA;EAEI;;AAKJ;EACI,kBDxJQ;;AC2JZ;EACI,kBD5JQ;;ACiKZ;EACI,qBDlKQ;;ACqKZ;EACI,qBDtKQ;;AC2KZ;EACI,oBD5KQ;;AC+KZ;EACI,oBDhLQ;;ACqLZ;EACI,mBDtLQ;;ACyLZ;EACI,mBD1LQ;;ACoHhB;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDhIM;EDEV;;AEyIQ;EACI;;AAOZ;EACI,ODjIW;ECkIX,YDrJM;;ACuJN;AAAA;EAEI;;AAKJ;EACI,kBD/JE;;ACkKN;EACI,kBDnKE;;ACwKN;EACI,qBDzKE;;AC4KN;EACI,qBD7KE;;ACkLN;EACI,oBDnLE;;ACsLN;EACI,oBDvLE;;AC4LN;EACI,mBD7LE;;ACgMN;EACI,mBDjME;;AC2HV;EACI;EACA;EACA;EACA,cDhGe;ECiGf,cD/Ge;EDfnB;;AEiJA;EACI,ODpHS;ECqHT,YD1IQ;;AC4IR;AAAA;EAEI;;AAKJ;EACI,kBD9IW;;ACiJf;EACI,kBDxJI;;AC6JR;EACI,qBDxJW;;AC2Jf;EACI,qBDlKI;;ACuKR;EACI,oBDlKW;;ACqKf;EACI,oBD5KI;;ACiLR;EACI,mBD5KW;;AC+Kf;EACI,mBDtLI;;ACgHZ;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDpHU;EDVd;;AEyIQ;EACI;;AAOZ;EACI,ONhIU;EMiIV,YDzIU;;AC2IV;AAAA;EAEI;;AAKJ;EACI,kBDnJM;;ACsJV;EACI,kBDvJM;;AC4JV;EACI,qBD7JM;;ACgKV;EACI,qBDjKM;;ACsKV;EACI,oBDvKM;;AC0KV;EACI,oBD3KM;;ACgLV;EACI,mBDjLM;;ACoLV;EACI,mBDrLM;;AC+Gd;EACI;EACA;EACA;EACA,cDhIS;ECiIT,cDnFW;ED3Cf;;AEyIQ;EACI;;AAOZ;EACI,ONhIU;EMiIV,YDxGW;;AC0GX;AAAA;EAEI;;AAKJ;EA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CI;EACA;;AAEA;EACI;;AAIR;EAEI;EACA;EACA;EACA;EACA;;AAGI;EAII;;AAIR;EACI;;AAGJ;EACI;;AAEJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGI;EAKI;EAEA;;AAIR;EACI;;AAGJ;EACI;;AAEJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAGI;EAEI;EACA;EACA;;AAIJ;EAEI;EACA;EACA;;AAKR;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EAEA;EACA;EACA;EACA;;AAGI;EAII;EACA;EAEA;;AAIR;EACI;EACA;EACA;;;ACtUhB;EACE;IACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EASA;EAEA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;ACnDJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAIA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;ACzCR;EAGI;EACA;EACA;EACA;EACA;EACA;;AAGI;EACI;;AAEA;EV4NR;EACA;EACA;;AU1NY;EAJJ;IAKQ;;;AAMhB;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAIA;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAMhB;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AChFR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;ACjDR;EACI;EACA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EAEA;;;AClBJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACI;EACA;EAEA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AC5BR;EACI;EACA;EACA;EACA;EACA;;AAEA;EAEI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC9BR;EACI;EACA;EACA;EACA;EACA;EACA;;;ACNJ;EACI;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;;;ACjBJ;EACI;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;;;ACjBJ;EAGI;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EACA;EAEA;EAEA;;AAGI;EACI;;AAIA;EACI;;AAGJ;EACI;;AAIR;EACI;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;EAEA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EAEA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGJ;EACI;EACA;EACA;EAEA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;ACjLR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EAEA;EACA;EACA;;AAGJ;EACI;EAEA;EACA;EACA;;;ACxBR;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EAEA;EACA;EAEA;EACA;EACA;EAEA;EAEA;;AAGJ;EACI;EACA;EAEA;EAEA;EACA;EACA;EAEA;;AAGJ;EAEI;EACA;EACA;EAEA;EAEA;EACA;EACA;EAEA;EAEA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;;ACxER;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIA;EACI;;AAKZ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EAEI;EACA;EACA;;;AAIR;EACI;EACA;;AAGI;EACI;;;ACvEZ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGA;EACI;;AAMR;EACI;;AAEA;EACI;;;AAKZ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAKR;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;;;AAIA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACI;EACA;EACA;EACA,YACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAKJ;EAEI;EACA;;;ACxLR;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AAEA;EACI;;;AAKR;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAaJ;EACI;EACA;EACA;EACA;EACA;EACA,YACI;;AAKJ;EACI;EACA;EACA;;AAKJ;EA3BA;EACA;EACA,YACI;EA2BA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAKJ;EACI;EACA;EACA;EACA;;AAGJ;EAEI;;;AAIR;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACI;;AAMJ;EACI;;AAGJ;EACI;EACA;;AAKJ;EAlLA;EACA;EACA,YACI;EAkLA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI","file":"main.css"}
|
|
@@ -219,6 +219,11 @@
|
|
|
219
219
|
line-height: 20px;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
+
.gd-share-dialog-grantee-item.is-clickable .gd-grantee-content,
|
|
223
|
+
.gd-share-dialog-grantee-item.is-clickable .gd-grantee-content-label {
|
|
224
|
+
cursor: pointer;
|
|
225
|
+
}
|
|
226
|
+
|
|
222
227
|
.gd-share-dialog-grantee-item.is-inherited .gd-grantee-content {
|
|
223
228
|
cursor: default;
|
|
224
229
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../scss/user_management_dialogs.scss","../../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AAIA;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAIA;EACI,OCoBkB;;;ADftB;EACI;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA,OC5CoB;;;AD+CxB;EACI;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;;;AAGJ;EACI,OCrEgB;EDsEhB;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAIR;EACI;EACA,OCzHgB;ED0HhB;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA,OCvJe;EDwJf;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OCvNmB;EDwNnB;EACA;EACA;EACA;;;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../scss/user_management_dialogs.scss","../../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AAIA;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAIA;EACI,OCoBkB;;;ADftB;EACI;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA,OC5CoB;;;AD+CxB;EACI;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;;;AAGJ;EACI,OCrEgB;EDsEhB;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAIR;EACI;EACA,OCzHgB;ED0HhB;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA,OCvJe;EDwJf;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OCvNmB;EDwNnB;EACA;EACA;EACA;;;AAOA;AAAA;EAEI;;;AAOJ;EACI;;AAIJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA","file":"user_management_dialogs.css"}
|
|
@@ -249,6 +249,16 @@
|
|
|
249
249
|
line-height: 20px;
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
+
// Unlocked workspace rows are clickable (navigate to the permissions edit view). Pointer cursor is
|
|
253
|
+
// set on both the content area and the label, since the label has its own cursor: default in
|
|
254
|
+
// shareDialog.scss that would otherwise take precedence over the inherited cursor.
|
|
255
|
+
.gd-share-dialog-grantee-item.is-clickable {
|
|
256
|
+
.gd-grantee-content,
|
|
257
|
+
.gd-grantee-content-label {
|
|
258
|
+
cursor: pointer;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
252
262
|
// Workspaces accessible only indirectly (via a user group or a parent workspace) are read-only here,
|
|
253
263
|
// so their row must not look interactive and shows a non-actionable lock icon instead of remove.
|
|
254
264
|
.gd-share-dialog-grantee-item.is-inherited {
|