@gooddata/sdk-ui-ext 11.43.0-alpha.0 → 11.43.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 +130 -130
- package/esm/index.d.ts +4 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -0
- package/esm/internal/assets/radar/bucket-title-measures.svg +1 -1
- package/esm/internal/assets/radar/bucket-title-segment.svg +1 -1
- package/esm/internal/assets/radar/bucket-title-trend.svg +1 -1
- package/esm/internal/components/configurationControls/customTooltip/CustomTooltipSection.d.ts.map +1 -1
- package/esm/internal/components/configurationControls/customTooltip/CustomTooltipSection.js +3 -2
- package/esm/internal/translations/en-US.localization-bundle.d.ts +44 -0
- package/esm/internal/translations/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/en-US.localization-bundle.js +44 -0
- package/esm/sdk-ui-ext.d.ts +274 -0
- package/esm/share/ObjectShareDialog.d.ts +67 -0
- package/esm/share/ObjectShareDialog.d.ts.map +1 -0
- package/esm/share/ObjectShareDialog.js +102 -0
- package/esm/share/accessSummary.d.ts +20 -0
- package/esm/share/accessSummary.d.ts.map +1 -0
- package/esm/share/accessSummary.js +26 -0
- package/esm/share/messages.d.ts +44 -0
- package/esm/share/messages.d.ts.map +1 -0
- package/esm/share/messages.js +23 -0
- package/esm/share/objectShareController.helpers.d.ts +80 -0
- package/esm/share/objectShareController.helpers.d.ts.map +1 -0
- package/esm/share/objectShareController.helpers.js +152 -0
- package/esm/share/objectShareController.types.d.ts +110 -0
- package/esm/share/objectShareController.types.d.ts.map +1 -0
- package/esm/share/objectShareController.types.js +2 -0
- package/esm/share/types.d.ts +47 -0
- package/esm/share/types.d.ts.map +1 -0
- package/esm/share/types.js +2 -0
- package/esm/share/useAccessList.d.ts +51 -0
- package/esm/share/useAccessList.d.ts.map +1 -0
- package/esm/share/useAccessList.js +263 -0
- package/esm/share/useLabelScope.d.ts +54 -0
- package/esm/share/useLabelScope.d.ts.map +1 -0
- package/esm/share/useLabelScope.js +160 -0
- package/esm/share/useObjectShare.d.ts +50 -0
- package/esm/share/useObjectShare.d.ts.map +1 -0
- package/esm/share/useObjectShare.js +17 -0
- package/esm/share/useObjectShareController.d.ts +24 -0
- package/esm/share/useObjectShareController.d.ts.map +1 -0
- package/esm/share/useObjectShareController.js +347 -0
- package/esm/tsdoc-metadata.json +1 -1
- package/package.json +21 -21
package/esm/index.d.ts
CHANGED
|
@@ -75,4 +75,8 @@ export type { INotificationsPanelView } from "./notificationsPanel/types.js";
|
|
|
75
75
|
*/
|
|
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
|
+
export { ObjectShareDialog, type IObjectShareDialogProps } from "./share/ObjectShareDialog.js";
|
|
79
|
+
export { useObjectShare, type IUseObjectShareOptions } from "./share/useObjectShare.js";
|
|
80
|
+
export type { IObjectAccessSummary, IObjectShareLabel } from "./share/types.js";
|
|
81
|
+
export type { IObjectShareController, IObjectShareControllerActions, IObjectShareControllerState, IObjectShareGrantee, ObjectSharePermissionLevel, } from "./share/objectShareController.types.js";
|
|
78
82
|
//# 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
|
@@ -69,3 +69,5 @@ export function provideCreateRoot(_fn) {
|
|
|
69
69
|
// no-op, kept for backward compatibility
|
|
70
70
|
}
|
|
71
71
|
export { useInsightPagedList, } from "./internal/components/insightList/useInsightPagedList.js";
|
|
72
|
+
export { ObjectShareDialog } from "./share/ObjectShareDialog.js";
|
|
73
|
+
export { useObjectShare } from "./share/useObjectShare.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg width="18" height="18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m17 7-3 9H4L1 7l8-6 8 6Zm-13.647.734L5.44 14h7.118l2.088-6.266L9 3.5 3.353 7.734Z" fill="#B0BECA"/><path d="m12.552 8.389-1.277 3.83h-4.55L5.447 8.39 9 5.725l3.552 2.664Zm-5.014.652.468 1.401h1.988l.466-1.401-1.461-1.096-1.46 1.096Z" fill="#DDE4EB"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg width="18" height="18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m17 7-3 9H4L1 7l8-6 8 6Zm-13.647.734L5.44 14h7.118l2.088-6.266L9 3.5 3.353 7.734Z" fill="#DDE4EB"/><path d="m12.552 8.389-1.277 3.83h-4.55L5.447 8.39 9 5.725l3.552 2.664Z" fill="#B0BECA"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg width="18" height="18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m17 7-3 9H4L1 7l8-6 8 6Zm-13.647.734L5.44 14h7.118l2.088-6.266L9 3.5 3.353 7.734Z" fill="#DDE4EB"/><path d="M10 1.75v6.361l5.872-1.957L17 7l-.333.996-6.019 2.007 3.733 4.852L14 16h-1.262L9 11.14 5.262 16H4l-.382-1.145 3.733-4.853-6.019-2.006L1 7l1.127-.846L8 8.111V1.75L9 1l1 .75Z" fill="#B0BECA"/></svg>
|
package/esm/internal/components/configurationControls/customTooltip/CustomTooltipSection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomTooltipSection.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/configurationControls/customTooltip/CustomTooltipSection.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAarF,MAAM,WAAW,0BAA0B;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,oBAAoB,CAAC,EACjC,gBAAwB,EACxB,UAAe,EACf,cAAmB,EACnB,QAAmB,EACtB,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"CustomTooltipSection.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/configurationControls/customTooltip/CustomTooltipSection.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAarF,MAAM,WAAW,0BAA0B;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,oBAAoB,CAAC,EACjC,gBAAwB,EACxB,UAAe,EACf,cAAmB,EACnB,QAAmB,EACtB,EAAE,0BAA0B,2CA2H5B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2026 GoodData Corporation
|
|
3
|
-
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { useEffect, useId, useRef, useState } from "react";
|
|
4
4
|
import { cloneDeep, set } from "lodash-es";
|
|
5
5
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
6
6
|
import { useDebounce } from "@gooddata/sdk-ui";
|
|
@@ -71,9 +71,10 @@ export function CustomTooltipSection({ controlsDisabled = false, properties = {}
|
|
|
71
71
|
const onContentBlur = () => {
|
|
72
72
|
debouncedPushContent.flush();
|
|
73
73
|
};
|
|
74
|
+
const textareaId = useId();
|
|
74
75
|
const placementItems = getTranslatedDropdownItems(customTooltipPlacementDropdownItems, intl);
|
|
75
76
|
return (_jsxs(ConfigSection, { id: "custom_tooltip_section", valuePath: "customTooltip.enabled", className: "gd-custom-tooltip-section", title: messages.customTooltipTitle.id, propertiesMeta: propertiesMeta, properties: properties, canBeToggled: true, toggleDisabled: toggleDisabled, toggledOn: enabled, pushData: pushData, children: [
|
|
76
|
-
_jsx(DropdownControl, { value: placement, valuePath: "customTooltip.placement", labelText: messages.customTooltipPlacement.id, disabled: contentDisabled, showDisabledMessage: contentDisabled, properties: properties, pushData: pushData, items: placementItems, width: 220 }), _jsx("
|
|
77
|
+
_jsx(DropdownControl, { value: placement, valuePath: "customTooltip.placement", labelText: messages.customTooltipPlacement.id, disabled: contentDisabled, showDisabledMessage: contentDisabled, properties: properties, pushData: pushData, items: placementItems, width: 220 }), _jsx("label", { className: "input-label-text", htmlFor: textareaId, children: _jsx(FormattedMessage, { id: messages.customTooltipContentLabel.id }) }), _jsx(DisabledBubbleMessage, { showDisabledMessage: contentDisabled, children: _jsx("textarea", { id: textareaId, className: "gd-input-field gd-custom-tooltip-textarea s-custom-tooltip-textarea", value: localContent, onChange: onContentChange, onBlur: onContentBlur, disabled: contentDisabled, placeholder: intl.formatMessage({ id: messages.customTooltipPlaceholder.id }), rows: 8 }) }), _jsx("div", { className: "gd-custom-tooltip-formatting-link", children: _jsxs(UiLink, { variant: "secondary", href: FORMATTING_OPTIONS_DOC_URL, rel: "noopener noreferrer", target: "_blank", children: [
|
|
77
78
|
_jsx(UiIcon, { type: "question", size: 12, color: "currentColor" }), _jsx(FormattedMessage, { id: messages.customTooltipFormattingOptions.id })
|
|
78
79
|
] }) })
|
|
79
80
|
] }));
|
|
@@ -2375,5 +2375,49 @@ export declare const en_US: {
|
|
|
2375
2375
|
text: string;
|
|
2376
2376
|
crowdinContext: string;
|
|
2377
2377
|
};
|
|
2378
|
+
"objectShare.confirm.restrict.title": {
|
|
2379
|
+
text: string;
|
|
2380
|
+
crowdinContext: string;
|
|
2381
|
+
};
|
|
2382
|
+
"objectShare.confirm.restrict.description": {
|
|
2383
|
+
text: string;
|
|
2384
|
+
crowdinContext: string;
|
|
2385
|
+
};
|
|
2386
|
+
"objectShare.confirm.grantWorkspace.title": {
|
|
2387
|
+
text: string;
|
|
2388
|
+
crowdinContext: string;
|
|
2389
|
+
};
|
|
2390
|
+
"objectShare.confirm.grantWorkspace.description": {
|
|
2391
|
+
text: string;
|
|
2392
|
+
crowdinContext: string;
|
|
2393
|
+
};
|
|
2394
|
+
"objectShare.confirm.button": {
|
|
2395
|
+
text: string;
|
|
2396
|
+
crowdinContext: string;
|
|
2397
|
+
};
|
|
2398
|
+
"objectShare.toast.granteeAdded": {
|
|
2399
|
+
text: string;
|
|
2400
|
+
crowdinContext: string;
|
|
2401
|
+
};
|
|
2402
|
+
"objectShare.toast.accessUpdated": {
|
|
2403
|
+
text: string;
|
|
2404
|
+
crowdinContext: string;
|
|
2405
|
+
};
|
|
2406
|
+
"objectShare.toast.generalAccessUpdated": {
|
|
2407
|
+
text: string;
|
|
2408
|
+
crowdinContext: string;
|
|
2409
|
+
};
|
|
2410
|
+
"objectShare.toast.error": {
|
|
2411
|
+
text: string;
|
|
2412
|
+
crowdinContext: string;
|
|
2413
|
+
};
|
|
2414
|
+
"objectShare.toast.labelScopePartial": {
|
|
2415
|
+
text: string;
|
|
2416
|
+
crowdinContext: string;
|
|
2417
|
+
};
|
|
2418
|
+
"objectShare.loadError": {
|
|
2419
|
+
text: string;
|
|
2420
|
+
crowdinContext: string;
|
|
2421
|
+
};
|
|
2378
2422
|
};
|
|
2379
2423
|
//# sourceMappingURL=en-US.localization-bundle.d.ts.map
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAq3EjB,CAAC"}
|
|
@@ -2376,5 +2376,49 @@ export const en_US = {
|
|
|
2376
2376
|
"insightPicker.resetFilters": {
|
|
2377
2377
|
"text": "Reset filters",
|
|
2378
2378
|
"crowdinContext": "Button/tooltip to reset all filters in the insight picker to their defaults."
|
|
2379
|
+
},
|
|
2380
|
+
"objectShare.confirm.restrict.title": {
|
|
2381
|
+
"text": "Restrict access?",
|
|
2382
|
+
"crowdinContext": "Title of the confirm dialog shown when the user is about to switch general access from workspace-wide to restricted."
|
|
2383
|
+
},
|
|
2384
|
+
"objectShare.confirm.restrict.description": {
|
|
2385
|
+
"text": "This will restrict access to only the people and groups listed above.",
|
|
2386
|
+
"crowdinContext": "Body text of the confirm dialog explaining what restricting access does."
|
|
2387
|
+
},
|
|
2388
|
+
"objectShare.confirm.grantWorkspace.title": {
|
|
2389
|
+
"text": "Grant workspace-wide access?",
|
|
2390
|
+
"crowdinContext": "Title of the confirm dialog shown when the user is about to switch general access from restricted to workspace-wide."
|
|
2391
|
+
},
|
|
2392
|
+
"objectShare.confirm.grantWorkspace.description": {
|
|
2393
|
+
"text": "This will grant all workspace members access to \"{title}\".",
|
|
2394
|
+
"crowdinContext": "Body text of the confirm dialog explaining what granting workspace-wide access does. Placeholder is the object's title."
|
|
2395
|
+
},
|
|
2396
|
+
"objectShare.confirm.button": {
|
|
2397
|
+
"text": "Confirm",
|
|
2398
|
+
"crowdinContext": "Primary action label in the general-access confirm dialog."
|
|
2399
|
+
},
|
|
2400
|
+
"objectShare.toast.granteeAdded": {
|
|
2401
|
+
"text": "Access added.",
|
|
2402
|
+
"crowdinContext": "Toast shown after a new user or group is granted access via the share dialog."
|
|
2403
|
+
},
|
|
2404
|
+
"objectShare.toast.accessUpdated": {
|
|
2405
|
+
"text": "Access updated.",
|
|
2406
|
+
"crowdinContext": "Toast shown after a grantee's permission level was changed or the grantee was removed."
|
|
2407
|
+
},
|
|
2408
|
+
"objectShare.toast.generalAccessUpdated": {
|
|
2409
|
+
"text": "General access updated.",
|
|
2410
|
+
"crowdinContext": "Toast shown after toggling general access between restricted and all workspace members."
|
|
2411
|
+
},
|
|
2412
|
+
"objectShare.toast.error": {
|
|
2413
|
+
"text": "Access could not be updated.",
|
|
2414
|
+
"crowdinContext": "Toast shown when an access change fails."
|
|
2415
|
+
},
|
|
2416
|
+
"objectShare.toast.labelScopePartial": {
|
|
2417
|
+
"text": "Some label access could not be saved.",
|
|
2418
|
+
"crowdinContext": "Warning toast when sharing an attribute succeeded but one or more of its per-label permission writes failed."
|
|
2419
|
+
},
|
|
2420
|
+
"objectShare.loadError": {
|
|
2421
|
+
"text": "Sharing settings couldn't be loaded. Please close and try again.",
|
|
2422
|
+
"crowdinContext": "Shown inside the share dialog when the object's access list failed to load, so the empty state isn't mistaken for a real policy."
|
|
2379
2423
|
}
|
|
2380
2424
|
};
|
package/esm/sdk-ui-ext.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import { CopyCodeOriginType } from '@gooddata/sdk-ui-kit';
|
|
|
17
17
|
import { Dispatch } from 'react';
|
|
18
18
|
import { EmbedType } from '@gooddata/sdk-ui-kit';
|
|
19
19
|
import { ExplicitDrill } from '@gooddata/sdk-ui';
|
|
20
|
+
import type { GeneralAccessValue } from '@gooddata/sdk-ui-kit';
|
|
20
21
|
import { GoodDataSdkError } from '@gooddata/sdk-ui';
|
|
21
22
|
import { IAlertComparisonOperator } from '@gooddata/sdk-model';
|
|
22
23
|
import { IAlertRelativeArithmeticOperator } from '@gooddata/sdk-model';
|
|
@@ -40,10 +41,13 @@ import { ILoadingProps } from '@gooddata/sdk-ui';
|
|
|
40
41
|
import { ILocale } from '@gooddata/sdk-ui';
|
|
41
42
|
import { INotification } from '@gooddata/sdk-model';
|
|
42
43
|
import { IntlShape } from 'react-intl';
|
|
44
|
+
import type { IObjectPermissionsObject } from '@gooddata/sdk-backend-spi';
|
|
43
45
|
import { IPivotTableConfig } from '@gooddata/sdk-ui-pivot';
|
|
44
46
|
import { ISettings } from '@gooddata/sdk-model';
|
|
45
47
|
import { ITab } from '@gooddata/sdk-ui-kit';
|
|
46
48
|
import { ITheme } from '@gooddata/sdk-model';
|
|
49
|
+
import type { IUiGranteeAsyncOptions } from '@gooddata/sdk-ui-kit';
|
|
50
|
+
import type { IUiPickedGrantee } from '@gooddata/sdk-ui-kit';
|
|
47
51
|
import { IUserWorkspaceSettings } from '@gooddata/sdk-backend-spi';
|
|
48
52
|
import { IVisualizationCallbacks } from '@gooddata/sdk-ui';
|
|
49
53
|
import { IWidgetUrlBuilder } from '@gooddata/sdk-ui';
|
|
@@ -1411,6 +1415,201 @@ export declare function InsightRenderer(props: IInsightRendererProps): JSX.Eleme
|
|
|
1411
1415
|
*/
|
|
1412
1416
|
export declare function InsightView(props: IInsightViewProps): JSX.Element;
|
|
1413
1417
|
|
|
1418
|
+
/**
|
|
1419
|
+
* Aggregated, read-only access state for an object — what the inline access row
|
|
1420
|
+
* in a host UI needs to render the current sharing state without opening the
|
|
1421
|
+
* full share dialog.
|
|
1422
|
+
*
|
|
1423
|
+
* - `generalAccess` — `RESTRICTED` if only named grantees can access the object;
|
|
1424
|
+
* `WORKSPACE` if the workspace-wide rule grant is present with non-empty permissions.
|
|
1425
|
+
* - `workspaceLevel` — the rule grant's permission level; `VIEW` by default,
|
|
1426
|
+
* `SHARE` when the rule explicitly permits `SHARE`. EDIT is intentionally not
|
|
1427
|
+
* surfaced (the UI caps at VIEW/SHARE).
|
|
1428
|
+
* - `granteeCount` — number of named grantees (users + groups). Excludes the
|
|
1429
|
+
* workspace-wide rule grant itself.
|
|
1430
|
+
*
|
|
1431
|
+
* @internal
|
|
1432
|
+
*/
|
|
1433
|
+
export declare interface IObjectAccessSummary {
|
|
1434
|
+
generalAccess: GeneralAccessValue;
|
|
1435
|
+
workspaceLevel: "VIEW" | "SHARE";
|
|
1436
|
+
granteeCount: number;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
/**
|
|
1440
|
+
* @internal
|
|
1441
|
+
*/
|
|
1442
|
+
export declare interface IObjectShareController {
|
|
1443
|
+
state: IObjectShareControllerState;
|
|
1444
|
+
actions: IObjectShareControllerActions;
|
|
1445
|
+
}
|
|
1446
|
+
|
|
1447
|
+
/**
|
|
1448
|
+
* @internal
|
|
1449
|
+
*/
|
|
1450
|
+
export declare interface IObjectShareControllerActions {
|
|
1451
|
+
/** Reset transient dialog state (subview + pending buffers). Call on dialog close. */
|
|
1452
|
+
reset: () => void;
|
|
1453
|
+
openAddGrantee: () => void;
|
|
1454
|
+
closeAddGrantee: () => void;
|
|
1455
|
+
setPendingGrantees: (next: IUiPickedGrantee[]) => void;
|
|
1456
|
+
/**
|
|
1457
|
+
* Loader for the add-grantee picker. Wraps `getAvailableAssignees` with
|
|
1458
|
+
* client-side search + already-picked filtering, returning the picker's
|
|
1459
|
+
* `{ groups, users }` shape.
|
|
1460
|
+
*/
|
|
1461
|
+
loadOptions: (search: string) => Promise<IUiGranteeAsyncOptions>;
|
|
1462
|
+
/** Commit all pending grantees to the backend. */
|
|
1463
|
+
confirmAddGrantees: () => Promise<void>;
|
|
1464
|
+
/** Change the permission level for a single grantee. Auto-saves. */
|
|
1465
|
+
changePermissionLevel: (granteeId: string, level: ObjectSharePermissionLevel) => Promise<void>;
|
|
1466
|
+
/** Remove a grantee. Auto-saves. */
|
|
1467
|
+
removeGrantee: (granteeId: string) => Promise<void>;
|
|
1468
|
+
/**
|
|
1469
|
+
* Scope a grantee's access to the given label ids (the primary label is always
|
|
1470
|
+
* kept). Sends a per-label VIEW/none grant for each label that changed. Auto-saves.
|
|
1471
|
+
*/
|
|
1472
|
+
changeGranteeLabels: (granteeId: string, selectedLabelIds: string[]) => Promise<void>;
|
|
1473
|
+
/** Stage a general access change; opens the confirm dialog. */
|
|
1474
|
+
requestGeneralAccessChange: (next: GeneralAccessValue) => void;
|
|
1475
|
+
cancelGeneralAccessChange: () => void;
|
|
1476
|
+
/** Commit the pending general access change. Auto-saves. */
|
|
1477
|
+
confirmGeneralAccessChange: () => Promise<void>;
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
/**
|
|
1481
|
+
* @internal
|
|
1482
|
+
*/
|
|
1483
|
+
export declare interface IObjectShareControllerState {
|
|
1484
|
+
subview: "main" | "addGrantee";
|
|
1485
|
+
status: "idle" | "loading" | "success" | "error" | "saving";
|
|
1486
|
+
error?: Error;
|
|
1487
|
+
summary: IObjectAccessSummary | undefined;
|
|
1488
|
+
grantees: IObjectShareGrantee[];
|
|
1489
|
+
generalAccess: GeneralAccessValue;
|
|
1490
|
+
/**
|
|
1491
|
+
* Labels (display forms) of the shared attribute, in source order. Empty for
|
|
1492
|
+
* objects without labels (e.g. facts) — the labels picker is then hidden.
|
|
1493
|
+
*/
|
|
1494
|
+
labels: IObjectShareLabel[];
|
|
1495
|
+
/**
|
|
1496
|
+
* Whether per-label scope resolution has finished. While false, a grantee's
|
|
1497
|
+
* label scope is not yet known: consumers must not treat a missing
|
|
1498
|
+
* `selectedLabelIdsByGrantee` entry as "all selected" for editing, and should
|
|
1499
|
+
* keep the Add action disabled.
|
|
1500
|
+
*/
|
|
1501
|
+
labelsResolved: boolean;
|
|
1502
|
+
/**
|
|
1503
|
+
* Per-grantee label scope: grantee id → the label ids that grantee can access.
|
|
1504
|
+
* The primary label is always included. Empty entry means "all labels" has not
|
|
1505
|
+
* yet been resolved; consumers should treat a missing entry as all-selected.
|
|
1506
|
+
*/
|
|
1507
|
+
selectedLabelIdsByGrantee: Record<string, string[]>;
|
|
1508
|
+
/** Pending confirm — when set, the confirm dialog is visible. */
|
|
1509
|
+
pendingGeneralAccess?: GeneralAccessValue;
|
|
1510
|
+
/** Grantees staged in the add-grantee dialog before confirmation. */
|
|
1511
|
+
pendingGrantees: IUiPickedGrantee[];
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
/**
|
|
1515
|
+
* Props for {@link ObjectShareDialog}.
|
|
1516
|
+
*
|
|
1517
|
+
* @internal
|
|
1518
|
+
*/
|
|
1519
|
+
export declare interface IObjectShareDialogProps {
|
|
1520
|
+
/** The object whose access is being managed. */
|
|
1521
|
+
target: IObjectPermissionsObject | undefined;
|
|
1522
|
+
/** Object title rendered in the dialog header ('Share "\{title\}"'). */
|
|
1523
|
+
objectTitle: string;
|
|
1524
|
+
/** Whether the dialog is shown. Owned by the consumer. */
|
|
1525
|
+
isOpen: boolean;
|
|
1526
|
+
/** Called when the dialog requests to close (backdrop, close button, after share). */
|
|
1527
|
+
onClose: () => void;
|
|
1528
|
+
/** Fires after each successful access mutation — e.g. to refresh an inline access row. */
|
|
1529
|
+
onSaved?: () => void;
|
|
1530
|
+
/**
|
|
1531
|
+
* Labels (display forms) of the shared attribute, enabling the per-grantee
|
|
1532
|
+
* label-scope picker. Omit for objects without labels (e.g. facts). Ignored
|
|
1533
|
+
* when `controller` is supplied (pass `labels` to {@link useObjectShare} instead).
|
|
1534
|
+
*/
|
|
1535
|
+
labels?: IObjectShareLabel[];
|
|
1536
|
+
/**
|
|
1537
|
+
* Whether the object's labels are still loading. While true the Add action is
|
|
1538
|
+
* disabled, so a grantee can't be added before its labels are known (a new
|
|
1539
|
+
* grantee defaults to all labels, which can't be written until they resolve).
|
|
1540
|
+
* Omit for objects without labels (e.g. facts).
|
|
1541
|
+
*/
|
|
1542
|
+
labelsLoading?: boolean;
|
|
1543
|
+
/**
|
|
1544
|
+
* Whether loading the object's labels failed. While true every access-changing
|
|
1545
|
+
* control (Add, row controls, general access) is disabled: the label set is
|
|
1546
|
+
* unknown, so any access change would diff against an empty scope and silently
|
|
1547
|
+
* orphan real per-label grants. Omit for objects without labels (e.g. facts).
|
|
1548
|
+
* Ignored when `controller` is supplied (pass `labelsError` to
|
|
1549
|
+
* {@link useObjectShare} instead).
|
|
1550
|
+
*/
|
|
1551
|
+
labelsError?: boolean;
|
|
1552
|
+
/**
|
|
1553
|
+
* Escape hatch: supply a controller from {@link useObjectShare} to share its
|
|
1554
|
+
* single access-list fetch with an inline summary row. When omitted, the
|
|
1555
|
+
* dialog manages its own controller from `target`/`onSaved`/`labels`.
|
|
1556
|
+
*/
|
|
1557
|
+
controller?: IObjectShareController;
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
/**
|
|
1561
|
+
* Dialog row derived from a backend grant.
|
|
1562
|
+
*
|
|
1563
|
+
* @internal
|
|
1564
|
+
*/
|
|
1565
|
+
export declare interface IObjectShareGrantee {
|
|
1566
|
+
/** Stable id used as the dialog row's React key. `user:<ref>` / `group:<ref>`. */
|
|
1567
|
+
id: string;
|
|
1568
|
+
kind: "user" | "group";
|
|
1569
|
+
granteeRef: ObjRef;
|
|
1570
|
+
name: string;
|
|
1571
|
+
email?: string;
|
|
1572
|
+
level: ObjectSharePermissionLevel;
|
|
1573
|
+
/**
|
|
1574
|
+
* Effective permission when it is *higher* than the directly-granted `level`
|
|
1575
|
+
* because the grantee inherits a stronger permission (e.g. via a group).
|
|
1576
|
+
* Undefined when the direct grant already is the effective permission. Drives
|
|
1577
|
+
* the row's "effective permission" warning badge.
|
|
1578
|
+
*/
|
|
1579
|
+
effectivePermission?: ObjectSharePermissionLevel;
|
|
1580
|
+
/**
|
|
1581
|
+
* Row-level in-flight state for optimistic updates: `"saving"` while a level
|
|
1582
|
+
* change or freshly-added grant is being committed, `"removing"` while a
|
|
1583
|
+
* removal is in flight. Undefined when the row reflects committed state.
|
|
1584
|
+
*/
|
|
1585
|
+
pending?: "saving" | "removing";
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
/**
|
|
1589
|
+
* A label (attribute display form) of the shared attribute. The share dialog
|
|
1590
|
+
* scopes a grantee's access to a subset of these via per-label permission grants.
|
|
1591
|
+
*
|
|
1592
|
+
* @internal
|
|
1593
|
+
*/
|
|
1594
|
+
export declare interface IObjectShareLabel {
|
|
1595
|
+
/** Backend ref of the label, used as the `kind: "label"` permission target. */
|
|
1596
|
+
ref: ObjRef;
|
|
1597
|
+
/** Stable id (serialized ref) — the picker's item id and selection key. */
|
|
1598
|
+
id: string;
|
|
1599
|
+
/** Display title shown in the labels picker. */
|
|
1600
|
+
title: string;
|
|
1601
|
+
/**
|
|
1602
|
+
* The primary (key) label. It is always accessible and cannot be unchecked —
|
|
1603
|
+
* rendered locked in the picker. Sharing an attribute always includes it.
|
|
1604
|
+
*/
|
|
1605
|
+
isPrimary: boolean;
|
|
1606
|
+
/**
|
|
1607
|
+
* The default display label — the one shown by default in visualizations.
|
|
1608
|
+
* At most one label is the default. Distinct from the primary (key) label.
|
|
1609
|
+
*/
|
|
1610
|
+
isDefault: boolean;
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1414
1613
|
/**
|
|
1415
1614
|
* Type-guard testing whether the provided object is an instance of {@link IDrillDownDefinition}.
|
|
1416
1615
|
* @beta
|
|
@@ -1498,6 +1697,40 @@ export declare interface ITabsIds {
|
|
|
1498
1697
|
all: string;
|
|
1499
1698
|
}
|
|
1500
1699
|
|
|
1700
|
+
/**
|
|
1701
|
+
* Options for {@link useObjectShare}.
|
|
1702
|
+
*
|
|
1703
|
+
* @internal
|
|
1704
|
+
*/
|
|
1705
|
+
export declare interface IUseObjectShareOptions {
|
|
1706
|
+
/**
|
|
1707
|
+
* Fires after each successful access mutation (add grantee, change level,
|
|
1708
|
+
* remove, general access toggle). Use it to keep UI outside the dialog in
|
|
1709
|
+
* sync with edits made inside it (e.g. refresh an inline access row).
|
|
1710
|
+
*/
|
|
1711
|
+
onSaved?: () => void;
|
|
1712
|
+
/**
|
|
1713
|
+
* Labels (display forms) of the shared attribute, enabling the per-grantee
|
|
1714
|
+
* label-scope picker. Omit for objects without labels (e.g. facts).
|
|
1715
|
+
*/
|
|
1716
|
+
labels?: IObjectShareLabel[];
|
|
1717
|
+
/**
|
|
1718
|
+
* Whether loading the object's labels failed. While true the controller stays
|
|
1719
|
+
* label-unresolved so every access-changing control is disabled: with the
|
|
1720
|
+
* label set unknown, reconciling access would diff against an empty set and
|
|
1721
|
+
* silently orphan any real per-label grants. Distinct from an object that
|
|
1722
|
+
* genuinely has no labels (omit `labels`), where editing is safe.
|
|
1723
|
+
*/
|
|
1724
|
+
labelsError?: boolean;
|
|
1725
|
+
/**
|
|
1726
|
+
* Whether the object's labels are still loading. While true the controller stays
|
|
1727
|
+
* label-unresolved (same gating as `labelsError`): the labels aren't passed yet,
|
|
1728
|
+
* so an empty list must not be mistaken for a label-free object — otherwise row
|
|
1729
|
+
* controls would reconcile against an empty set and orphan real per-label grants.
|
|
1730
|
+
*/
|
|
1731
|
+
labelsLoading?: boolean;
|
|
1732
|
+
}
|
|
1733
|
+
|
|
1501
1734
|
/**
|
|
1502
1735
|
* Config for useInsightPagedList hook
|
|
1503
1736
|
* @internal
|
|
@@ -1662,6 +1895,33 @@ export declare const MIN_VISUALIZATION_WIDTH = 2;
|
|
|
1662
1895
|
*/
|
|
1663
1896
|
export declare function NotificationsPanel(props: INotificationsPanelProps): JSX.Element;
|
|
1664
1897
|
|
|
1898
|
+
/**
|
|
1899
|
+
* Connected share dialog. Renders the main share modal, the add-grantee
|
|
1900
|
+
* sub-dialog and the general-access confirm dialog, all driven by one
|
|
1901
|
+
* controller. Each underlying dialog manages its own open state, so they can
|
|
1902
|
+
* be safely co-mounted; focus, backdrop and portal lifecycles are owned by
|
|
1903
|
+
* `UiModalDialog` inside the kit.
|
|
1904
|
+
*
|
|
1905
|
+
* Mount unconditionally and toggle via `isOpen`; the contents stay invisible
|
|
1906
|
+
* while closed. For the common case pass plain props and let the dialog own its
|
|
1907
|
+
* controller:
|
|
1908
|
+
*
|
|
1909
|
+
* ```tsx
|
|
1910
|
+
* <ObjectShareDialog target={ref} objectTitle={title} isOpen={open} onClose={close} />
|
|
1911
|
+
* ```
|
|
1912
|
+
*
|
|
1913
|
+
* @internal
|
|
1914
|
+
*/
|
|
1915
|
+
export declare function ObjectShareDialog({ target, objectTitle, isOpen, onClose, onSaved, labels, labelsLoading, labelsError, controller }: IObjectShareDialogProps): JSX.Element;
|
|
1916
|
+
|
|
1917
|
+
/**
|
|
1918
|
+
* Permission level surfaced in the share dialog. `EDIT` is intentionally
|
|
1919
|
+
* not represented — the underlying permission menu caps at VIEW/SHARE.
|
|
1920
|
+
*
|
|
1921
|
+
* @internal
|
|
1922
|
+
*/
|
|
1923
|
+
export declare type ObjectSharePermissionLevel = "VIEW" | "SHARE";
|
|
1924
|
+
|
|
1665
1925
|
/**
|
|
1666
1926
|
* @alpha
|
|
1667
1927
|
*/
|
|
@@ -1767,6 +2027,20 @@ export declare function useInsightPickerState(author?: string): {
|
|
|
1767
2027
|
onTagFilterChange: Dispatch<SetStateAction<string[]>>;
|
|
1768
2028
|
};
|
|
1769
2029
|
|
|
2030
|
+
/**
|
|
2031
|
+
* Connected controller hook backing {@link ObjectShareDialog}. Most consumers
|
|
2032
|
+
* do not need this — render `ObjectShareDialog` with plain props and it owns
|
|
2033
|
+
* its controller. Use this hook directly only to share a single access-list
|
|
2034
|
+
* fetch between the dialog and an inline summary row: call it once, read
|
|
2035
|
+
* `state.summary` for the row, and pass the controller into the dialog.
|
|
2036
|
+
*
|
|
2037
|
+
* The hook eagerly fetches the access list on mount so `state.summary` is
|
|
2038
|
+
* usable while the dialog is closed.
|
|
2039
|
+
*
|
|
2040
|
+
* @internal
|
|
2041
|
+
*/
|
|
2042
|
+
export declare function useObjectShare(target: IObjectPermissionsObject | undefined, options?: IUseObjectShareOptions): IObjectShareController;
|
|
2043
|
+
|
|
1770
2044
|
/**
|
|
1771
2045
|
* @internal
|
|
1772
2046
|
*/
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { IObjectPermissionsObject } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import type { IObjectShareController } from "./objectShareController.types.js";
|
|
3
|
+
import type { IObjectShareLabel } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Props for {@link ObjectShareDialog}.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export interface IObjectShareDialogProps {
|
|
10
|
+
/** The object whose access is being managed. */
|
|
11
|
+
target: IObjectPermissionsObject | undefined;
|
|
12
|
+
/** Object title rendered in the dialog header ('Share "\{title\}"'). */
|
|
13
|
+
objectTitle: string;
|
|
14
|
+
/** Whether the dialog is shown. Owned by the consumer. */
|
|
15
|
+
isOpen: boolean;
|
|
16
|
+
/** Called when the dialog requests to close (backdrop, close button, after share). */
|
|
17
|
+
onClose: () => void;
|
|
18
|
+
/** Fires after each successful access mutation — e.g. to refresh an inline access row. */
|
|
19
|
+
onSaved?: () => void;
|
|
20
|
+
/**
|
|
21
|
+
* Labels (display forms) of the shared attribute, enabling the per-grantee
|
|
22
|
+
* label-scope picker. Omit for objects without labels (e.g. facts). Ignored
|
|
23
|
+
* when `controller` is supplied (pass `labels` to {@link useObjectShare} instead).
|
|
24
|
+
*/
|
|
25
|
+
labels?: IObjectShareLabel[];
|
|
26
|
+
/**
|
|
27
|
+
* Whether the object's labels are still loading. While true the Add action is
|
|
28
|
+
* disabled, so a grantee can't be added before its labels are known (a new
|
|
29
|
+
* grantee defaults to all labels, which can't be written until they resolve).
|
|
30
|
+
* Omit for objects without labels (e.g. facts).
|
|
31
|
+
*/
|
|
32
|
+
labelsLoading?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Whether loading the object's labels failed. While true every access-changing
|
|
35
|
+
* control (Add, row controls, general access) is disabled: the label set is
|
|
36
|
+
* unknown, so any access change would diff against an empty scope and silently
|
|
37
|
+
* 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
|
+
*/
|
|
41
|
+
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
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Connected share dialog. Renders the main share modal, the add-grantee
|
|
51
|
+
* sub-dialog and the general-access confirm dialog, all driven by one
|
|
52
|
+
* controller. Each underlying dialog manages its own open state, so they can
|
|
53
|
+
* be safely co-mounted; focus, backdrop and portal lifecycles are owned by
|
|
54
|
+
* `UiModalDialog` inside the kit.
|
|
55
|
+
*
|
|
56
|
+
* Mount unconditionally and toggle via `isOpen`; the contents stay invisible
|
|
57
|
+
* while closed. For the common case pass plain props and let the dialog own its
|
|
58
|
+
* controller:
|
|
59
|
+
*
|
|
60
|
+
* ```tsx
|
|
61
|
+
* <ObjectShareDialog target={ref} objectTitle={title} isOpen={open} onClose={close} />
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
export declare function ObjectShareDialog({ target, objectTitle, isOpen, onClose, onSaved, labels, labelsLoading, labelsError, controller }: IObjectShareDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
//# sourceMappingURL=ObjectShareDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectShareDialog.d.ts","sourceRoot":"","sources":["../../src/share/ObjectShareDialog.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAS1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,gDAAgD;IAChD,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACb,EAAE,uBAAuB,2CAwIzB"}
|