@gooddata/sdk-ui-ext 11.51.0-alpha.0 → 11.51.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/NOTICE +4 -4
- package/esm/index.d.ts +3 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -1
- package/esm/internal/translations/en-US.localization-bundle.d.ts +4 -0
- package/esm/internal/translations/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/en-US.localization-bundle.js +4 -0
- package/esm/sdk-ui-ext.d.ts +56 -305
- package/esm/share/ObjectShareDialog.d.ts +19 -23
- package/esm/share/ObjectShareDialog.d.ts.map +1 -1
- package/esm/share/ObjectShareDialog.js +85 -171
- package/esm/share/accessSummary.d.ts +18 -8
- package/esm/share/accessSummary.d.ts.map +1 -1
- package/esm/share/accessSummary.js +25 -13
- package/esm/share/messages.d.ts +7 -0
- package/esm/share/messages.d.ts.map +1 -1
- package/esm/share/messages.js +5 -0
- package/esm/share/objectShareController.helpers.d.ts +83 -5
- package/esm/share/objectShareController.helpers.d.ts.map +1 -1
- package/esm/share/objectShareController.helpers.js +144 -10
- package/esm/share/objectShareController.types.d.ts +63 -64
- package/esm/share/objectShareController.types.d.ts.map +1 -1
- package/esm/share/types.d.ts +4 -5
- package/esm/share/types.d.ts.map +1 -1
- package/esm/share/useAccessList.d.ts +64 -63
- package/esm/share/useAccessList.d.ts.map +1 -1
- package/esm/share/useAccessList.js +174 -221
- package/esm/share/useLabelScope.d.ts +18 -13
- package/esm/share/useLabelScope.d.ts.map +1 -1
- package/esm/share/useLabelScope.js +112 -123
- package/esm/share/useObjectShareController.d.ts +14 -17
- package/esm/share/useObjectShareController.d.ts.map +1 -1
- package/esm/share/useObjectShareController.js +211 -224
- package/esm/share/useObjectShareDialog.d.ts +90 -0
- package/esm/share/useObjectShareDialog.d.ts.map +1 -0
- package/esm/share/useObjectShareDialog.js +82 -0
- package/package.json +21 -21
- package/src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelButton.scss +4 -1
- package/styles/css/main.css +1 -1
- package/styles/css/main.css.map +1 -1
package/NOTICE
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
|
|
9
9
|
|
|
10
|
-
Date generated: 2026-7-
|
|
10
|
+
Date generated: 2026-7-31
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
12
|
+
Revision ID: 3d75430be0b9befd6c149fcb1b67712aeb5192fb
|
|
13
13
|
|
|
14
14
|
================================================================================
|
|
15
15
|
================================================================================
|
|
@@ -11521,7 +11521,7 @@ Package Title: require-from-string (2.0.2)
|
|
|
11521
11521
|
|
|
11522
11522
|
Package Locator: npm+require-from-string$2.0.2
|
|
11523
11523
|
|
|
11524
|
-
Package Depth:
|
|
11524
|
+
Package Depth: Transitive
|
|
11525
11525
|
--------------------------------------------------------------------------------
|
|
11526
11526
|
|
|
11527
11527
|
* Declared Licenses *
|
|
@@ -29285,4 +29285,4 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
|
29285
29285
|
--------------------------------------------------------------------------------
|
|
29286
29286
|
--------------------------------------------------------------------------------
|
|
29287
29287
|
|
|
29288
|
-
Report Generated by FOSSA on 2026-7-
|
|
29288
|
+
Report Generated by FOSSA on 2026-7-31
|
package/esm/index.d.ts
CHANGED
|
@@ -76,7 +76,8 @@ export type { INotificationsPanelView } from "./notificationsPanel/types.js";
|
|
|
76
76
|
export declare function provideCreateRoot(_fn: any): void;
|
|
77
77
|
export { useInsightPagedList, type IUsePagedDropdownConfig, type IUsePagedDropdownResult, type ITabsIds, type InsightListSortBy, type InsightListSortDirection, } from "./internal/components/insightList/useInsightPagedList.js";
|
|
78
78
|
export { ObjectShareDialog, type IObjectShareDialogProps } from "./share/ObjectShareDialog.js";
|
|
79
|
-
export {
|
|
79
|
+
export { sortShareableLabels } from "./share/objectShareController.helpers.js";
|
|
80
|
+
export { accessListToSummary } from "./share/accessSummary.js";
|
|
81
|
+
export { isPermissionsNotAvailable } from "./share/accessErrors.js";
|
|
80
82
|
export type { IObjectAccessSummary, IObjectShareLabel } from "./share/types.js";
|
|
81
|
-
export type { IGranteeIdentityFacts, IObjectShareController, IObjectShareControllerActions, IObjectShareControllerState, IObjectShareGrantee, ISelfIdentity, IUseObjectShareOptions, ObjectSharePermissionLevel, } from "./share/objectShareController.types.js";
|
|
82
83
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -70,4 +70,6 @@ export function provideCreateRoot(_fn) {
|
|
|
70
70
|
}
|
|
71
71
|
export { useInsightPagedList, } from "./internal/components/insightList/useInsightPagedList.js";
|
|
72
72
|
export { ObjectShareDialog } from "./share/ObjectShareDialog.js";
|
|
73
|
-
export {
|
|
73
|
+
export { sortShareableLabels } from "./share/objectShareController.helpers.js";
|
|
74
|
+
export { accessListToSummary } from "./share/accessSummary.js";
|
|
75
|
+
export { isPermissionsNotAvailable } from "./share/accessErrors.js";
|
|
@@ -2511,6 +2511,10 @@ export declare const en_US: {
|
|
|
2511
2511
|
text: string;
|
|
2512
2512
|
crowdinContext: string;
|
|
2513
2513
|
};
|
|
2514
|
+
"objectShare.workspaceLevel.inherited": {
|
|
2515
|
+
text: string;
|
|
2516
|
+
crowdinContext: string;
|
|
2517
|
+
};
|
|
2514
2518
|
"objectShare.grantee.you": {
|
|
2515
2519
|
text: string;
|
|
2516
2520
|
crowdinContext: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/internal/translations/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/internal/translations/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAitFjB,CAAC"}
|
|
@@ -2513,6 +2513,10 @@ export const en_US = {
|
|
|
2513
2513
|
"text": "You can't set higher permissions for yourself.",
|
|
2514
2514
|
"crowdinContext": "Warning that lowering your own permission is one-way. Shown both as the body of the self-restrict confirm dialog and as the tooltip on permission options that are disabled because they are higher than the user's current level — the copy is identical in both places by design."
|
|
2515
2515
|
},
|
|
2516
|
+
"objectShare.workspaceLevel.inherited": {
|
|
2517
|
+
"text": "This permission is granted from a parent workspace and cannot be lowered here.",
|
|
2518
|
+
"crowdinContext": "Tooltip on permission options in the all-workspace-members permission menu that are disabled because a parent workspace already grants a higher workspace-wide level, so picking a lower level here could not take effect."
|
|
2519
|
+
},
|
|
2516
2520
|
"objectShare.grantee.you": {
|
|
2517
2521
|
"text": "{name} (you)",
|
|
2518
2522
|
"crowdinContext": "Display name of the signed-in user's own row in the share dialog grantee list. {name} is the user's full name."
|
package/esm/sdk-ui-ext.d.ts
CHANGED
|
@@ -43,13 +43,12 @@ import { ILoadingProps } from '@gooddata/sdk-ui';
|
|
|
43
43
|
import { ILocale } from '@gooddata/sdk-ui';
|
|
44
44
|
import { INotification } from '@gooddata/sdk-model';
|
|
45
45
|
import { IntlShape } from 'react-intl';
|
|
46
|
+
import type { IObjectAccessList } from '@gooddata/sdk-model';
|
|
46
47
|
import type { IObjectPermissionsObject } from '@gooddata/sdk-backend-spi';
|
|
47
48
|
import { IPivotTableConfig } from '@gooddata/sdk-ui-pivot';
|
|
48
49
|
import { ISettings } from '@gooddata/sdk-model';
|
|
49
50
|
import { ITab } from '@gooddata/sdk-ui-kit';
|
|
50
51
|
import { ITheme } from '@gooddata/sdk-model';
|
|
51
|
-
import type { IUiGranteeAsyncOptions } from '@gooddata/sdk-ui-kit';
|
|
52
|
-
import type { IUiPickedGrantee } from '@gooddata/sdk-ui-kit';
|
|
53
52
|
import { IUserWorkspaceSettings } from '@gooddata/sdk-backend-spi';
|
|
54
53
|
import { IVisualizationCallbacks } from '@gooddata/sdk-ui';
|
|
55
54
|
import { IWidgetUrlBuilder } from '@gooddata/sdk-ui';
|
|
@@ -67,6 +66,16 @@ import { UiAsyncTableVariant } from '@gooddata/sdk-ui-kit';
|
|
|
67
66
|
import { UiSkeleton } from '@gooddata/sdk-ui-kit';
|
|
68
67
|
import { UseCancelablePromiseStatus } from '@gooddata/sdk-ui';
|
|
69
68
|
|
|
69
|
+
/**
|
|
70
|
+
* The access summary of a fetched access list — effective workspace access plus the
|
|
71
|
+
* explicit grantee count. The single derivation shared by an inline access row (a
|
|
72
|
+
* consumer's own page-level fetch) and {@link ObjectShareDialog}'s `onSummaryChange`,
|
|
73
|
+
* so the two can never disagree on what a list means.
|
|
74
|
+
*
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
export declare function accessListToSummary(list: IObjectAccessList): IObjectAccessSummary;
|
|
78
|
+
|
|
70
79
|
/**
|
|
71
80
|
* @internal
|
|
72
81
|
*/
|
|
@@ -668,19 +677,6 @@ export declare interface IGrantedDataSource {
|
|
|
668
677
|
accessSource?: DataSourceAccessSource;
|
|
669
678
|
}
|
|
670
679
|
|
|
671
|
-
/**
|
|
672
|
-
* Known identity facts of a grantee: real name/email only, never an id fallback.
|
|
673
|
-
* Undefined fields are unknown and may be backfilled.
|
|
674
|
-
*
|
|
675
|
-
* @internal
|
|
676
|
-
*/
|
|
677
|
-
export declare interface IGranteeIdentityFacts {
|
|
678
|
-
/** Real full name (users) / group name, when known. */
|
|
679
|
-
name?: string;
|
|
680
|
-
/** Real email, when known (users only). */
|
|
681
|
-
email?: string;
|
|
682
|
-
}
|
|
683
|
-
|
|
684
680
|
/**
|
|
685
681
|
* @internal
|
|
686
682
|
*/
|
|
@@ -1444,9 +1440,8 @@ export declare function InsightView(props: IInsightViewProps): JSX.Element;
|
|
|
1444
1440
|
*
|
|
1445
1441
|
* - `generalAccess` — `RESTRICTED` if only named grantees can access the object;
|
|
1446
1442
|
* `WORKSPACE` if the workspace-wide rule grant is present with non-empty permissions.
|
|
1447
|
-
* - `workspaceLevel` — the rule grant's permission level
|
|
1448
|
-
*
|
|
1449
|
-
* surfaced (the UI caps at VIEW/SHARE).
|
|
1443
|
+
* - `workspaceLevel` — the rule grant's permission level: the strongest level the
|
|
1444
|
+
* rule permits, `VIEW` by default.
|
|
1450
1445
|
* - `granteeCount` — number of named grantees (users + groups). Excludes the
|
|
1451
1446
|
* workspace-wide rule grant itself.
|
|
1452
1447
|
*
|
|
@@ -1454,153 +1449,10 @@ export declare function InsightView(props: IInsightViewProps): JSX.Element;
|
|
|
1454
1449
|
*/
|
|
1455
1450
|
export declare interface IObjectAccessSummary {
|
|
1456
1451
|
generalAccess: GeneralAccessValue;
|
|
1457
|
-
workspaceLevel:
|
|
1452
|
+
workspaceLevel: AccessGranularPermission;
|
|
1458
1453
|
granteeCount: number;
|
|
1459
1454
|
}
|
|
1460
1455
|
|
|
1461
|
-
/**
|
|
1462
|
-
* @internal
|
|
1463
|
-
*/
|
|
1464
|
-
export declare interface IObjectShareController {
|
|
1465
|
-
state: IObjectShareControllerState;
|
|
1466
|
-
actions: IObjectShareControllerActions;
|
|
1467
|
-
}
|
|
1468
|
-
|
|
1469
|
-
/**
|
|
1470
|
-
* @internal
|
|
1471
|
-
*/
|
|
1472
|
-
export declare interface IObjectShareControllerActions {
|
|
1473
|
-
/** Reset transient dialog state (subview + pending buffers). Call on dialog close. */
|
|
1474
|
-
reset: () => void;
|
|
1475
|
-
openAddGrantee: () => void;
|
|
1476
|
-
closeAddGrantee: () => void;
|
|
1477
|
-
setPendingGrantees: (next: IUiPickedGrantee[]) => void;
|
|
1478
|
-
/**
|
|
1479
|
-
* Loader for the add-grantee picker. Wraps `getAvailableAssignees` with
|
|
1480
|
-
* client-side search + already-picked filtering, returning the picker's
|
|
1481
|
-
* `{ groups, users }` shape. Excludes already-granted grantees.
|
|
1482
|
-
*/
|
|
1483
|
-
loadOptions: (search: string) => Promise<IUiGranteeAsyncOptions>;
|
|
1484
|
-
/** Commit all pending grantees to the backend. */
|
|
1485
|
-
confirmAddGrantees: () => Promise<void>;
|
|
1486
|
-
/** Change the permission level for a single grantee. Auto-saves. */
|
|
1487
|
-
changePermissionLevel: (granteeId: string, level: ObjectSharePermissionLevel) => Promise<void>;
|
|
1488
|
-
/** Remove a grantee. Auto-saves. */
|
|
1489
|
-
removeGrantee: (granteeId: string) => Promise<void>;
|
|
1490
|
-
/**
|
|
1491
|
-
* Scope a grantee's access to the given label ids (the primary label is always
|
|
1492
|
-
* kept). Sends a per-label VIEW/none grant for each label that changed. Auto-saves.
|
|
1493
|
-
*/
|
|
1494
|
-
changeGranteeLabels: (granteeId: string, selectedLabelIds: string[]) => Promise<void>;
|
|
1495
|
-
/** Stage a general access change; opens the confirm dialog. */
|
|
1496
|
-
requestGeneralAccessChange: (next: GeneralAccessValue) => void;
|
|
1497
|
-
cancelGeneralAccessChange: () => void;
|
|
1498
|
-
/** Commit the pending general access change. Auto-saves. */
|
|
1499
|
-
confirmGeneralAccessChange: () => Promise<void>;
|
|
1500
|
-
/**
|
|
1501
|
-
* Change the all-workspace-members rule's permission level (VIEW/SHARE).
|
|
1502
|
-
* Only meaningful while general access is WORKSPACE. Auto-saves, no confirm —
|
|
1503
|
-
* unlike the high-impact RESTRICTED↔WORKSPACE toggle, this only re-grades an
|
|
1504
|
-
* already-granted rule.
|
|
1505
|
-
*/
|
|
1506
|
-
changeWorkspaceLevel: (level: "VIEW" | "SHARE") => Promise<void>;
|
|
1507
|
-
}
|
|
1508
|
-
|
|
1509
|
-
/**
|
|
1510
|
-
* @internal
|
|
1511
|
-
*/
|
|
1512
|
-
export declare interface IObjectShareControllerState {
|
|
1513
|
-
subview: "main" | "addGrantee";
|
|
1514
|
-
status: "idle" | "loading" | "success" | "error" | "saving";
|
|
1515
|
-
error?: Error;
|
|
1516
|
-
/**
|
|
1517
|
-
* Whether object-level permissions are unavailable to the current user — the
|
|
1518
|
-
* manage-gated access-list endpoint returned 404, the backend's signal that
|
|
1519
|
-
* the caller cannot manage this object's sharing. Distinct from a transient
|
|
1520
|
-
* load error (5xx / network), which may still resolve: consumers use this to
|
|
1521
|
-
* hide the share UI entirely rather than to retry.
|
|
1522
|
-
*/
|
|
1523
|
-
accessUnavailable: boolean;
|
|
1524
|
-
summary: IObjectAccessSummary | undefined;
|
|
1525
|
-
/**
|
|
1526
|
-
* Stable serialized key of the current target's ref, or undefined when none.
|
|
1527
|
-
* Consumers key target-scoped transient UI (e.g. a staged confirmation) on it,
|
|
1528
|
-
* so nothing staged for one object can be applied to another.
|
|
1529
|
-
*/
|
|
1530
|
-
targetKey: string | undefined;
|
|
1531
|
-
/**
|
|
1532
|
-
* Signed-in user's identity, once the profile resolves. Feeds their
|
|
1533
|
-
* synthesized row when they can manage the object without holding any
|
|
1534
|
-
* grant (administrator access) and the grantee list is empty.
|
|
1535
|
-
*/
|
|
1536
|
-
selfIdentity: ISelfIdentity | undefined;
|
|
1537
|
-
/**
|
|
1538
|
-
* Whether the profile request resolved successfully. Until then — or after a
|
|
1539
|
-
* silently-swallowed failure — `isSelf` on the rows is only its unresolved
|
|
1540
|
-
* default, so a sole grantee row cannot be told apart from the caller's own
|
|
1541
|
-
* grant and must not be offered destructive controls.
|
|
1542
|
-
*/
|
|
1543
|
-
selfIdentityResolved: boolean;
|
|
1544
|
-
/**
|
|
1545
|
-
* Whether the manage-gated access list was LOADED with zero explicit grants —
|
|
1546
|
-
* the caller reached it without holding a grant of their own. A load-time
|
|
1547
|
-
* fact (never recomputed from the live list): removing your own sole grant
|
|
1548
|
-
* empties the list but does not make this true.
|
|
1549
|
-
*/
|
|
1550
|
-
seededWithoutGrants: boolean;
|
|
1551
|
-
grantees: IObjectShareGrantee[];
|
|
1552
|
-
generalAccess: GeneralAccessValue;
|
|
1553
|
-
/**
|
|
1554
|
-
* Permission level of the all-workspace-members rule when general access is
|
|
1555
|
-
* WORKSPACE. Drives the workspace row's permission dropdown. Meaningless (and
|
|
1556
|
-
* not shown) while general access is RESTRICTED. Capped at VIEW/SHARE — EDIT is
|
|
1557
|
-
* never offered for the workspace rule.
|
|
1558
|
-
*/
|
|
1559
|
-
workspaceLevel: "VIEW" | "SHARE";
|
|
1560
|
-
/**
|
|
1561
|
-
* Whether workspace-wide access is (at least partly) inherited from a parent
|
|
1562
|
-
* workspace. Inherited rule access grants every user of this workspace access
|
|
1563
|
-
* too, yet cannot be revoked from here — consumers disable the Restricted
|
|
1564
|
-
* option and explain why. `generalAccess` and `workspaceLevel` are effective
|
|
1565
|
-
* values that already account for it.
|
|
1566
|
-
*/
|
|
1567
|
-
workspaceAccessInherited: boolean;
|
|
1568
|
-
/**
|
|
1569
|
-
* Whether the workspace-rule level dropdown must be read-only: this workspace
|
|
1570
|
-
* holds no rule of its own to re-grade (access is inherited-only), or an
|
|
1571
|
-
* inherited SHARE pins the effective level regardless of the direct grant.
|
|
1572
|
-
*/
|
|
1573
|
-
workspaceLevelLocked: boolean;
|
|
1574
|
-
/**
|
|
1575
|
-
* Whether a workspace-level re-grade is in flight. Consumers disable the
|
|
1576
|
-
* workspace permission dropdown while true so rapid toggles can't issue
|
|
1577
|
-
* overlapping writes that settle out of order.
|
|
1578
|
-
*/
|
|
1579
|
-
workspaceLevelSaving: boolean;
|
|
1580
|
-
/**
|
|
1581
|
-
* Labels (display forms) of the shared attribute, in source order. Empty for
|
|
1582
|
-
* objects without labels (e.g. facts) — the labels picker is then hidden.
|
|
1583
|
-
*/
|
|
1584
|
-
labels: IObjectShareLabel[];
|
|
1585
|
-
/**
|
|
1586
|
-
* Whether per-label scope resolution has finished. While false, a grantee's
|
|
1587
|
-
* label scope is not yet known: consumers must not treat a missing
|
|
1588
|
-
* `selectedLabelIdsByGrantee` entry as "all selected" for editing, and should
|
|
1589
|
-
* keep the Add action disabled.
|
|
1590
|
-
*/
|
|
1591
|
-
labelsResolved: boolean;
|
|
1592
|
-
/**
|
|
1593
|
-
* Per-grantee label scope: grantee id → the label ids that grantee can access.
|
|
1594
|
-
* The primary label is always included. Empty entry means "all labels" has not
|
|
1595
|
-
* yet been resolved; consumers should treat a missing entry as all-selected.
|
|
1596
|
-
*/
|
|
1597
|
-
selectedLabelIdsByGrantee: Record<string, string[]>;
|
|
1598
|
-
/** Pending confirm — when set, the confirm dialog is visible. */
|
|
1599
|
-
pendingGeneralAccess?: GeneralAccessValue;
|
|
1600
|
-
/** Grantees staged in the add-grantee dialog before confirmation. */
|
|
1601
|
-
pendingGrantees: IUiPickedGrantee[];
|
|
1602
|
-
}
|
|
1603
|
-
|
|
1604
1456
|
/**
|
|
1605
1457
|
* Props for {@link ObjectShareDialog}.
|
|
1606
1458
|
*
|
|
@@ -1611,16 +1463,23 @@ export declare interface IObjectShareDialogProps {
|
|
|
1611
1463
|
target: IObjectPermissionsObject | undefined;
|
|
1612
1464
|
/** Object title rendered in the dialog header ('Share "\{title\}"'). */
|
|
1613
1465
|
objectTitle: string;
|
|
1614
|
-
/**
|
|
1466
|
+
/**
|
|
1467
|
+
* Whether the dialog is shown. Owned by the consumer. While false nothing is
|
|
1468
|
+
* mounted — each open starts a fresh dialog session and closing discards it
|
|
1469
|
+
* (see the component doc).
|
|
1470
|
+
*/
|
|
1615
1471
|
isOpen: boolean;
|
|
1616
1472
|
/** Called when the dialog requests to close (backdrop, close button, after share). */
|
|
1617
1473
|
onClose: () => void;
|
|
1618
|
-
/**
|
|
1619
|
-
|
|
1474
|
+
/**
|
|
1475
|
+
* Fires with the current access summary whenever the displayed access changes —
|
|
1476
|
+
* when the list loads, and after each summary-affecting mutation. Lets a consumer
|
|
1477
|
+
* keep an inline access row in sync without refetching.
|
|
1478
|
+
*/
|
|
1479
|
+
onSummaryChange?: (summary: IObjectAccessSummary) => void;
|
|
1620
1480
|
/**
|
|
1621
1481
|
* Labels (display forms) of the shared attribute, enabling the per-grantee
|
|
1622
|
-
* label-scope picker. Omit for objects without labels (e.g. facts).
|
|
1623
|
-
* when `controller` is supplied (pass `labels` to {@link useObjectShare} instead).
|
|
1482
|
+
* label-scope picker. Omit for objects without labels (e.g. facts).
|
|
1624
1483
|
*/
|
|
1625
1484
|
labels?: IObjectShareLabel[];
|
|
1626
1485
|
/**
|
|
@@ -1635,54 +1494,8 @@ export declare interface IObjectShareDialogProps {
|
|
|
1635
1494
|
* control (Add, row controls, general access) is disabled: the label set is
|
|
1636
1495
|
* unknown, so any access change would diff against an empty scope and silently
|
|
1637
1496
|
* orphan real per-label grants. Omit for objects without labels (e.g. facts).
|
|
1638
|
-
* Ignored when `controller` is supplied (pass `labelsError` to
|
|
1639
|
-
* {@link useObjectShare} instead).
|
|
1640
1497
|
*/
|
|
1641
1498
|
labelsError?: boolean;
|
|
1642
|
-
/**
|
|
1643
|
-
* Escape hatch: supply a controller from {@link useObjectShare} to share its
|
|
1644
|
-
* single access-list fetch with an inline summary row. When omitted, the
|
|
1645
|
-
* dialog manages its own controller from `target`/`onSaved`/`labels`.
|
|
1646
|
-
*/
|
|
1647
|
-
controller?: IObjectShareController;
|
|
1648
|
-
}
|
|
1649
|
-
|
|
1650
|
-
/**
|
|
1651
|
-
* Dialog row derived from a backend grant. `name`/`email` are real facts only;
|
|
1652
|
-
* display fallbacks are `granteeDisplayPair`'s concern.
|
|
1653
|
-
*
|
|
1654
|
-
* @internal
|
|
1655
|
-
*/
|
|
1656
|
-
export declare interface IObjectShareGrantee extends IGranteeIdentityFacts {
|
|
1657
|
-
/** Stable id used as the dialog row's React key. `user:<ref>` / `group:<ref>`. */
|
|
1658
|
-
id: string;
|
|
1659
|
-
kind: "user" | "group";
|
|
1660
|
-
granteeRef: ObjRef;
|
|
1661
|
-
/**
|
|
1662
|
-
* Whether this row is the signed-in user's own grant. Derived from the
|
|
1663
|
-
* profile, so it holds for rows of any origin (fetched or optimistic).
|
|
1664
|
-
*/
|
|
1665
|
-
isSelf?: boolean;
|
|
1666
|
-
level: ObjectSharePermissionLevel;
|
|
1667
|
-
/**
|
|
1668
|
-
* Effective permission when it is *higher* than the directly-granted `level`
|
|
1669
|
-
* because the grantee inherits a stronger permission (e.g. via a group).
|
|
1670
|
-
* Undefined when the direct grant already is the effective permission. Drives
|
|
1671
|
-
* the row's "effective permission" warning badge.
|
|
1672
|
-
*/
|
|
1673
|
-
effectivePermission?: ObjectSharePermissionLevel;
|
|
1674
|
-
/**
|
|
1675
|
-
* Whether the grantee inherits SHARE (e.g. via a group), regardless of the
|
|
1676
|
-
* current direct `level`. Retained from the fetch so `effectivePermission` can
|
|
1677
|
-
* be recomputed locally when the direct level changes (no refetch).
|
|
1678
|
-
*/
|
|
1679
|
-
inheritsShare?: boolean;
|
|
1680
|
-
/**
|
|
1681
|
-
* Row-level in-flight state for optimistic updates: `"saving"` while a level
|
|
1682
|
-
* change or freshly-added grant is being committed, `"removing"` while a
|
|
1683
|
-
* removal is in flight. Undefined when the row reflects committed state.
|
|
1684
|
-
*/
|
|
1685
|
-
pending?: "saving" | "removing";
|
|
1686
1499
|
}
|
|
1687
1500
|
|
|
1688
1501
|
/**
|
|
@@ -1716,16 +1529,6 @@ export declare interface IObjectShareLabel {
|
|
|
1716
1529
|
*/
|
|
1717
1530
|
export declare function isDrillDownDefinition(obj: unknown): obj is IDrillDownDefinition;
|
|
1718
1531
|
|
|
1719
|
-
/**
|
|
1720
|
-
* Signed-in user's identity: real facts plus the stable `id` (profile login)
|
|
1721
|
-
* used as the display fallback, mirroring grantee rows.
|
|
1722
|
-
*
|
|
1723
|
-
* @internal
|
|
1724
|
-
*/
|
|
1725
|
-
export declare interface ISelfIdentity extends IGranteeIdentityFacts {
|
|
1726
|
-
id: string;
|
|
1727
|
-
}
|
|
1728
|
-
|
|
1729
1532
|
/**
|
|
1730
1533
|
* @alpha
|
|
1731
1534
|
*/
|
|
@@ -1777,6 +1580,18 @@ export declare type ISizeInfoDefault = ISizeInfo & {
|
|
|
1777
1580
|
default: number;
|
|
1778
1581
|
};
|
|
1779
1582
|
|
|
1583
|
+
/**
|
|
1584
|
+
* Whether an access-list error means object-level permissions aren't available to
|
|
1585
|
+
* the caller: the manage-gated permissions endpoint returns **404** for an object
|
|
1586
|
+
* (or label) the caller can't manage. We match that exact status and nothing else
|
|
1587
|
+
* — a transient failure (5xx / 403 / network) may still resolve, so it must not be
|
|
1588
|
+
* read as a permanent "no". If the backend ever signals this with a different
|
|
1589
|
+
* status, widen here deliberately, in coordination with the backend.
|
|
1590
|
+
*
|
|
1591
|
+
* @internal
|
|
1592
|
+
*/
|
|
1593
|
+
export declare function isPermissionsNotAvailable(error: unknown): boolean;
|
|
1594
|
+
|
|
1780
1595
|
/**
|
|
1781
1596
|
* Type guard for ISizeInfoDefault
|
|
1782
1597
|
*
|
|
@@ -1807,42 +1622,6 @@ export declare interface ITabsIds {
|
|
|
1807
1622
|
all: string;
|
|
1808
1623
|
}
|
|
1809
1624
|
|
|
1810
|
-
/**
|
|
1811
|
-
* Options for {@link useObjectShare}.
|
|
1812
|
-
*
|
|
1813
|
-
* @internal
|
|
1814
|
-
*/
|
|
1815
|
-
export declare interface IUseObjectShareOptions {
|
|
1816
|
-
/**
|
|
1817
|
-
* Fires after each successful access mutation (add grantee, change level,
|
|
1818
|
-
* remove, general access toggle). Use it to keep UI outside the dialog in
|
|
1819
|
-
* sync with edits made inside it (e.g. refresh an inline access row).
|
|
1820
|
-
*/
|
|
1821
|
-
onSaved?: () => void;
|
|
1822
|
-
/**
|
|
1823
|
-
* Labels (display forms) of the shared attribute, enabling the per-grantee
|
|
1824
|
-
* label-scope picker. Omit for objects without labels (e.g. facts).
|
|
1825
|
-
*/
|
|
1826
|
-
labels?: IObjectShareLabel[];
|
|
1827
|
-
/**
|
|
1828
|
-
* Whether loading the object's labels failed. While true the controller stays
|
|
1829
|
-
* label-unresolved so every access-changing control is disabled: with the
|
|
1830
|
-
* label set unknown, reconciling access would diff against an empty set and
|
|
1831
|
-
* silently orphan any real per-label grants. Distinct from an object that
|
|
1832
|
-
* genuinely has no labels (omit `labels`), where editing is safe.
|
|
1833
|
-
*/
|
|
1834
|
-
labelsError?: boolean;
|
|
1835
|
-
/**
|
|
1836
|
-
* Whether the object's labels are still loading. While true the controller stays
|
|
1837
|
-
* label-unresolved (same gating as `labelsError`): the labels aren't passed yet,
|
|
1838
|
-
* so an empty list must not be mistaken for a label-free object — otherwise row
|
|
1839
|
-
* controls would reconcile against an empty set and orphan real per-label grants.
|
|
1840
|
-
*/
|
|
1841
|
-
labelsLoading?: boolean;
|
|
1842
|
-
/** Whether the share dialog is open; a summary-only consumer leaves it false. */
|
|
1843
|
-
isOpen?: boolean;
|
|
1844
|
-
}
|
|
1845
|
-
|
|
1846
1625
|
/**
|
|
1847
1626
|
* Config for useInsightPagedList hook
|
|
1848
1627
|
* @internal
|
|
@@ -2012,28 +1791,15 @@ export declare function NotificationsPanel(props: INotificationsPanelProps): JSX
|
|
|
2012
1791
|
* be safely co-mounted; focus, backdrop and portal lifecycles are owned by
|
|
2013
1792
|
* `UiModalDialog` inside the kit.
|
|
2014
1793
|
*
|
|
2015
|
-
*
|
|
2016
|
-
*
|
|
2017
|
-
*
|
|
2018
|
-
*
|
|
2019
|
-
*
|
|
2020
|
-
* <ObjectShareDialog target={ref} objectTitle={title} isOpen={open} onClose={close} />
|
|
2021
|
-
* ```
|
|
1794
|
+
* One open = one dialog session over one fixed `target`: the session (the
|
|
1795
|
+
* controller, its fetches, every transient — pending rows, staged confirms,
|
|
1796
|
+
* optimistic edits) exists only while `isOpen`, enforced here, so the component
|
|
1797
|
+
* may safely stay mounted across open/close cycles. Do not swap the target —
|
|
1798
|
+
* or the backend/workspace context — while open; close and reopen instead.
|
|
2022
1799
|
*
|
|
2023
1800
|
* @internal
|
|
2024
1801
|
*/
|
|
2025
|
-
export declare function ObjectShareDialog(
|
|
2026
|
-
|
|
2027
|
-
/**
|
|
2028
|
-
* Permission level surfaced in the share dialog — the model's granular access
|
|
2029
|
-
* permission (VIEW / EDIT / SHARE). `EDIT` is display-only: the dialog reflects
|
|
2030
|
-
* an EDIT grant as a read-only "Can edit" row but cannot assign or change it
|
|
2031
|
-
* (granting EDIT is not part of the share UI), so only VIEW and SHARE are
|
|
2032
|
-
* selectable in the permission menu.
|
|
2033
|
-
*
|
|
2034
|
-
* @internal
|
|
2035
|
-
*/
|
|
2036
|
-
export declare type ObjectSharePermissionLevel = AccessGranularPermission;
|
|
1802
|
+
export declare function ObjectShareDialog(props: IObjectShareDialogProps): JSX.Element | null;
|
|
2037
1803
|
|
|
2038
1804
|
/**
|
|
2039
1805
|
* @alpha
|
|
@@ -2094,6 +1860,18 @@ export declare const RICH_TEXT_WIDGET_SIZE_INFO_NEW_DEFAULT: IVisualizationDefau
|
|
|
2094
1860
|
*/
|
|
2095
1861
|
export declare type ScheduleAutomationsColumnName = "nextRun" | "attachments";
|
|
2096
1862
|
|
|
1863
|
+
/**
|
|
1864
|
+
* Deterministic display order for an attribute's labels — the backend returns
|
|
1865
|
+
* display forms in an order that isn't guaranteed stable. Primary (key) label
|
|
1866
|
+
* first, then the rest case-insensitive by title with the label id as a stable
|
|
1867
|
+
* tiebreaker. Shared by the detail-page labels popup and the share dialog's
|
|
1868
|
+
* label-access checklist so the two never disagree. Returns a new array; the
|
|
1869
|
+
* input is not mutated.
|
|
1870
|
+
*
|
|
1871
|
+
* @internal
|
|
1872
|
+
*/
|
|
1873
|
+
export declare function sortShareableLabels(labels: readonly IObjectShareLabel[]): IObjectShareLabel[];
|
|
1874
|
+
|
|
2097
1875
|
/**
|
|
2098
1876
|
* @internal
|
|
2099
1877
|
*/
|
|
@@ -2140,33 +1918,6 @@ export declare function useInsightPickerState(author?: string): {
|
|
|
2140
1918
|
onTagFilterChange: Dispatch<SetStateAction<string[]>>;
|
|
2141
1919
|
};
|
|
2142
1920
|
|
|
2143
|
-
/**
|
|
2144
|
-
* Manages the share dialog state and backend I/O for a single shareable object.
|
|
2145
|
-
*
|
|
2146
|
-
* The access list is fetched once and seeded into local state, which is the
|
|
2147
|
-
* source of truth while the dialog/summary is mounted. Each access change is
|
|
2148
|
-
* written through to local state immediately and sent to the backend; on failure
|
|
2149
|
-
* the one changed entry is rolled back. There is no post-write refetch, so the
|
|
2150
|
-
* grantee list never blanks and never fights the backend's read-after-write lag.
|
|
2151
|
-
* Top-level open/close is the consumer's concern (see {@link ObjectShareDialog}).
|
|
2152
|
-
*
|
|
2153
|
-
* Mutations follow a **commit-on-interaction** model: each access change is sent
|
|
2154
|
-
* immediately; the general-access toggle goes through a confirm step because it
|
|
2155
|
-
* is high-impact. There is no batched Save. The list is fetched eagerly so
|
|
2156
|
-
* `state.summary` also drives an inline access row while closed.
|
|
2157
|
-
*
|
|
2158
|
-
* Most consumers do not call this directly — render {@link ObjectShareDialog} with
|
|
2159
|
-
* plain props and it owns its controller. Call this (exported as `useObjectShare`)
|
|
2160
|
-
* only to share a single access-list fetch between the dialog and an inline summary
|
|
2161
|
-
* row: call it once, read `state.summary` for the row, and pass the controller into
|
|
2162
|
-
* the dialog. Grantee rows carry identity facts only (`name`/`email` are undefined
|
|
2163
|
-
* when unknown); the display fallback order is not exposed, so {@link ObjectShareDialog}
|
|
2164
|
-
* is the only sanctioned row renderer.
|
|
2165
|
-
*
|
|
2166
|
-
* @internal
|
|
2167
|
-
*/
|
|
2168
|
-
export declare function useObjectShare(target: IObjectPermissionsObject | undefined, options?: IUseObjectShareOptions): IObjectShareController;
|
|
2169
|
-
|
|
2170
1921
|
/**
|
|
2171
1922
|
* @internal
|
|
2172
1923
|
*/
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { IObjectPermissionsObject } from "@gooddata/sdk-backend-spi";
|
|
2
|
-
import type {
|
|
3
|
-
import type { IObjectShareLabel } from "./types.js";
|
|
2
|
+
import type { IObjectAccessSummary, IObjectShareLabel } from "./types.js";
|
|
4
3
|
/**
|
|
5
4
|
* Props for {@link ObjectShareDialog}.
|
|
6
5
|
*
|
|
@@ -11,16 +10,23 @@ export interface IObjectShareDialogProps {
|
|
|
11
10
|
target: IObjectPermissionsObject | undefined;
|
|
12
11
|
/** Object title rendered in the dialog header ('Share "\{title\}"'). */
|
|
13
12
|
objectTitle: string;
|
|
14
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Whether the dialog is shown. Owned by the consumer. While false nothing is
|
|
15
|
+
* mounted — each open starts a fresh dialog session and closing discards it
|
|
16
|
+
* (see the component doc).
|
|
17
|
+
*/
|
|
15
18
|
isOpen: boolean;
|
|
16
19
|
/** Called when the dialog requests to close (backdrop, close button, after share). */
|
|
17
20
|
onClose: () => void;
|
|
18
|
-
/**
|
|
19
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Fires with the current access summary whenever the displayed access changes —
|
|
23
|
+
* when the list loads, and after each summary-affecting mutation. Lets a consumer
|
|
24
|
+
* keep an inline access row in sync without refetching.
|
|
25
|
+
*/
|
|
26
|
+
onSummaryChange?: (summary: IObjectAccessSummary) => void;
|
|
20
27
|
/**
|
|
21
28
|
* Labels (display forms) of the shared attribute, enabling the per-grantee
|
|
22
|
-
* label-scope picker. Omit for objects without labels (e.g. facts).
|
|
23
|
-
* when `controller` is supplied (pass `labels` to {@link useObjectShare} instead).
|
|
29
|
+
* label-scope picker. Omit for objects without labels (e.g. facts).
|
|
24
30
|
*/
|
|
25
31
|
labels?: IObjectShareLabel[];
|
|
26
32
|
/**
|
|
@@ -35,16 +41,8 @@ export interface IObjectShareDialogProps {
|
|
|
35
41
|
* control (Add, row controls, general access) is disabled: the label set is
|
|
36
42
|
* unknown, so any access change would diff against an empty scope and silently
|
|
37
43
|
* orphan real per-label grants. Omit for objects without labels (e.g. facts).
|
|
38
|
-
* Ignored when `controller` is supplied (pass `labelsError` to
|
|
39
|
-
* {@link useObjectShare} instead).
|
|
40
44
|
*/
|
|
41
45
|
labelsError?: boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Escape hatch: supply a controller from {@link useObjectShare} to share its
|
|
44
|
-
* single access-list fetch with an inline summary row. When omitted, the
|
|
45
|
-
* dialog manages its own controller from `target`/`onSaved`/`labels`.
|
|
46
|
-
*/
|
|
47
|
-
controller?: IObjectShareController;
|
|
48
46
|
}
|
|
49
47
|
/**
|
|
50
48
|
* Connected share dialog. Renders the main share modal, the add-grantee
|
|
@@ -53,15 +51,13 @@ export interface IObjectShareDialogProps {
|
|
|
53
51
|
* be safely co-mounted; focus, backdrop and portal lifecycles are owned by
|
|
54
52
|
* `UiModalDialog` inside the kit.
|
|
55
53
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* <ObjectShareDialog target={ref} objectTitle={title} isOpen={open} onClose={close} />
|
|
62
|
-
* ```
|
|
54
|
+
* One open = one dialog session over one fixed `target`: the session (the
|
|
55
|
+
* controller, its fetches, every transient — pending rows, staged confirms,
|
|
56
|
+
* optimistic edits) exists only while `isOpen`, enforced here, so the component
|
|
57
|
+
* may safely stay mounted across open/close cycles. Do not swap the target —
|
|
58
|
+
* or the backend/workspace context — while open; close and reopen instead.
|
|
63
59
|
*
|
|
64
60
|
* @internal
|
|
65
61
|
*/
|
|
66
|
-
export declare function ObjectShareDialog(
|
|
62
|
+
export declare function ObjectShareDialog(props: IObjectShareDialogProps): import("react/jsx-runtime").JSX.Element | null;
|
|
67
63
|
//# sourceMappingURL=ObjectShareDialog.d.ts.map
|