@gooddata/sdk-ui-kit 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/esm/@ui/@types/icon.d.ts +1 -1
- package/esm/@ui/@types/icon.d.ts.map +1 -1
- package/esm/@ui/UiGeneralAccessRadio/UiGeneralAccessRadio.d.ts +3 -1
- package/esm/@ui/UiGeneralAccessRadio/UiGeneralAccessRadio.d.ts.map +1 -1
- package/esm/@ui/UiGeneralAccessRadio/UiGeneralAccessRadio.js +2 -2
- package/esm/@ui/UiGranteeAsyncPicker/UiGranteeAsyncPicker.d.ts.map +1 -1
- package/esm/@ui/UiGranteeAsyncPicker/UiGranteeAsyncPicker.js +7 -4
- package/esm/@ui/UiGranteeRow/UiGranteeRow.d.ts +3 -1
- package/esm/@ui/UiGranteeRow/UiGranteeRow.d.ts.map +1 -1
- package/esm/@ui/UiGranteeRow/UiGranteeRow.js +2 -2
- package/esm/@ui/UiGranteeRowControls/UiGranteeRowControls.d.ts +15 -15
- package/esm/@ui/UiGranteeRowControls/UiGranteeRowControls.d.ts.map +1 -1
- package/esm/@ui/UiGranteeRowControls/UiGranteeRowControls.js +20 -18
- package/esm/@ui/UiIcon/icons.d.ts.map +1 -1
- package/esm/@ui/UiIcon/icons.js +1 -0
- package/esm/@ui/UiLabelsChecklist/UiLabelsChecklist.d.ts +44 -0
- package/esm/@ui/UiLabelsChecklist/UiLabelsChecklist.d.ts.map +1 -0
- package/esm/@ui/UiLabelsChecklist/UiLabelsChecklist.js +58 -0
- package/esm/@ui/UiLabelsList/UiLabelsList.d.ts +6 -1
- package/esm/@ui/UiLabelsList/UiLabelsList.d.ts.map +1 -1
- package/esm/@ui/UiLabelsList/UiLabelsList.js +2 -3
- package/esm/@ui/UiMoreOptionsMenu/UiMoreOptionsMenu.d.ts +23 -0
- package/esm/@ui/UiMoreOptionsMenu/UiMoreOptionsMenu.d.ts.map +1 -0
- package/esm/@ui/UiMoreOptionsMenu/UiMoreOptionsMenu.js +83 -0
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialogCard.d.ts +14 -1
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialogCard.d.ts.map +1 -1
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialogCard.js +5 -3
- package/esm/@ui/UiPermissionMenu/UiPermissionMenu.d.ts +4 -15
- package/esm/@ui/UiPermissionMenu/UiPermissionMenu.d.ts.map +1 -1
- package/esm/@ui/UiPermissionMenu/UiPermissionMenu.js +11 -23
- package/esm/@ui/UiPopover/UiPopover.d.ts +29 -1
- package/esm/@ui/UiPopover/UiPopover.d.ts.map +1 -1
- package/esm/@ui/UiPopover/UiPopover.js +4 -4
- package/esm/@ui/UiTag/UiTag.d.ts +1 -0
- package/esm/@ui/UiTag/UiTag.d.ts.map +1 -1
- package/esm/@ui/UiTag/UiTag.js +10 -4
- package/esm/@ui/UiTags/UiTag.d.ts +0 -2
- package/esm/@ui/UiTags/UiTag.d.ts.map +1 -1
- package/esm/@ui/UiTags/UiTag.js +14 -9
- package/esm/@ui/UiTags/UiTags.d.ts.map +1 -1
- package/esm/@ui/UiTags/UiTags.js +38 -24
- package/esm/@ui/UiTags/interactions.d.ts +4 -9
- package/esm/@ui/UiTags/interactions.d.ts.map +1 -1
- package/esm/@ui/UiTags/interactions.js +58 -228
- package/esm/@ui/UiTooltip/UiTooltip.d.ts +1 -1
- package/esm/@ui/UiTooltip/UiTooltip.d.ts.map +1 -1
- package/esm/@ui/UiTooltip/UiTooltip.js +17 -9
- package/esm/@ui/UiTooltip/types.d.ts +10 -1
- package/esm/@ui/UiTooltip/types.d.ts.map +1 -1
- package/esm/Button/Button.d.ts.map +1 -1
- package/esm/Button/Button.js +2 -2
- package/esm/Datepicker/Datepicker.d.ts.map +1 -1
- package/esm/Datepicker/Datepicker.js +1 -1
- package/esm/Icon/icons/InsightIcons/Radar.d.ts.map +1 -1
- package/esm/Icon/icons/InsightIcons/Radar.js +3 -1
- package/esm/List/MenuList.d.ts +2 -1
- package/esm/List/MenuList.d.ts.map +1 -1
- package/esm/List/MenuList.js +2 -2
- package/esm/index.d.ts +2 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -1
- package/esm/locales.d.ts +11 -4
- package/esm/locales.d.ts.map +1 -1
- package/esm/locales.js +5 -4
- package/esm/sdk-ui-kit.d.ts +139 -85
- package/esm/tsdoc-metadata.json +1 -1
- package/package.json +11 -11
- package/src/@ui/UiGranteeAsyncPicker/UiGranteeAsyncPicker.scss +12 -0
- package/src/@ui/UiGranteeRow/UiGranteeRow.scss +5 -0
- package/src/@ui/UiGranteeRowControls/UiGranteeRowControls.scss +7 -0
- package/src/@ui/UiLabelsChecklist/UiLabelsChecklist.scss +31 -0
- package/src/@ui/UiLabelsList/UiLabelsList.scss +3 -0
- package/src/@ui/UiModalDialog/UiModalDialog.scss +11 -1
- package/src/@ui/UiMoreOptionsMenu/UiMoreOptionsMenu.scss +10 -0
- package/src/@ui/UiObjectShareDialog/UiObjectShareDialog.scss +7 -0
- package/src/@ui/UiPermissionMenu/UiPermissionMenu.scss +0 -7
- package/src/@ui/UiPopover/UiPopover.scss +7 -0
- package/src/@ui/UiTabs/UiTabs.scss +0 -1
- package/src/@ui/UiTag/UiTag.scss +4 -0
- package/src/@ui/UiTags/UiTags.scss +5 -1
- package/src/@ui/index.scss +2 -1
- package/styles/css/main.css +66 -21
- package/styles/css/main.css.map +1 -1
- package/styles/images/visualization-types/radar-active.svg +10 -6
- package/styles/images/visualization-types/radar.svg +16 -5
- package/esm/@ui/UiLabelsPicker/UiLabelsPicker.d.ts +0 -64
- package/esm/@ui/UiLabelsPicker/UiLabelsPicker.d.ts.map +0 -1
- package/esm/@ui/UiLabelsPicker/UiLabelsPicker.js +0 -89
- package/src/@ui/UiLabelsPicker/UiLabelsPicker.scss +0 -29
package/esm/@ui/@types/icon.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @internal
|
|
3
3
|
*/
|
|
4
|
-
export type IconType = "aiAgent" | "aiAgentDisabled" | "brain" | "brainDisabled" | "check" | "checkCircle" | "certification" | "plus" | "plusCircle" | "sync" | "alert" | "alertPaused" | "close" | "cross" | "edit" | "crossCircle" | "question" | "chevronUp" | "chevronRight" | "chevronDown" | "chevronLeft" | "date" | "navigateUp" | "navigateDown" | "navigateRight" | "navigateLeft" | "download" | "slack" | "expand" | "exclamationCircle" | "infoCircle" | "book" | "visible" | "invisible" | "lock" | "unlock" | "ai" | "aiFill" | "drawer" | "drawerEmpty" | "prohibited" | "dropDown" | "dropRight" | "clock" | "clockPaused" | "questionMark" | "upload" | "expandRectangle" | "file" | "number" | "code" | "user" | "userPlus" | "users" | "magic" | "tab" | "pauseCircle" | "filter" | "timer" | "mail" | "envelope" | "copy" | "rain" | "earth" | "geoCollection" | "geoCollectionUpload" | "minimize" | "shrink" | "copyright" | "ellipsis" | "pencil" | "folder" | "folderSmall" | "folderPlus" | "trash" | "arrowUp" | "arrowRight" | "arrowDown" | "arrowLeft" | "undo" | "redo" | "trendDown" | "trendUp" | "save" | "minus" | "minusCircle" | "percent" | "enter" | "enterRight" | "money" | "ghost" | "warning" | "home" | "settings" | "search" | "university" | "printer" | "picture" | "visualization" | "dashboard" | "metric" | "fact" | "ldmAttribute" | "ldmKey" | "ldmLabel" | "sharp" | "attribute" | "horn" | "cw" | "ccw" | "table" | "directionColumn" | "directionRow" | "header" | "genai" | "genai2" | "explainai" | "hiddenForAi" | "box" | "ellipsisVertical" | "list" | "drillTo" | "hierarchy" | "history" | "history2" | "thumbsUp" | "thumbsDown" | "send" | "visualizationArea" | "visualizationTable" | "visualizationTreemap" | "visualizationScatter" | "visualizationDonut" | "visualizationHeadline" | "visualizationColumn" | "visualizationLine" | "visualizationPyramid" | "visualizationFunnel" | "visualizationHeatmap" | "visualizationBubble" | "visualizationPie" | "visualizationBar" | "visualizationCombo" | "visualizationBullet" | "visualizationWaterfall" | "visualizationDependencywheel" | "visualizationSankey" | "visualizationPushpin" | "visualizationRepeater" | "visualizationXirr" | "link" | "externalLink" | "click" | "fileXlsx" | "filePptx" | "filePdf" | "fileImage" | "fileCsvFormatted" | "fileCsvRaw" | "aiDocument" | "recommendation" | "streamUp" | "streamDown" | "stream" | "density" | "parameter" | "pin" | "unpin" | "speechBubble" | "pieChart";
|
|
4
|
+
export type IconType = "aiAgent" | "aiAgentDisabled" | "brain" | "brainDisabled" | "check" | "checkCircle" | "certification" | "plus" | "plusCircle" | "sync" | "alert" | "alertPaused" | "close" | "cross" | "edit" | "crossCircle" | "question" | "chevronUp" | "chevronRight" | "chevronDown" | "chevronLeft" | "date" | "navigateUp" | "navigateDown" | "navigateRight" | "navigateLeft" | "download" | "slack" | "expand" | "exclamationCircle" | "infoCircle" | "book" | "visible" | "invisible" | "lock" | "unlock" | "ai" | "aiFill" | "drawer" | "drawerEmpty" | "prohibited" | "dropDown" | "dropRight" | "clock" | "clockPaused" | "questionMark" | "upload" | "expandRectangle" | "file" | "number" | "code" | "user" | "userPlus" | "users" | "magic" | "tab" | "pauseCircle" | "filter" | "timer" | "mail" | "envelope" | "copy" | "rain" | "earth" | "geoCollection" | "geoCollectionUpload" | "minimize" | "shrink" | "copyright" | "ellipsis" | "pencil" | "folder" | "folderSmall" | "folderPlus" | "trash" | "arrowUp" | "arrowRight" | "arrowDown" | "arrowLeft" | "undo" | "redo" | "trendDown" | "trendUp" | "save" | "minus" | "minusCircle" | "percent" | "enter" | "enterRight" | "money" | "ghost" | "warning" | "home" | "settings" | "search" | "university" | "building" | "printer" | "picture" | "visualization" | "dashboard" | "metric" | "fact" | "ldmAttribute" | "ldmKey" | "ldmLabel" | "sharp" | "attribute" | "horn" | "cw" | "ccw" | "table" | "directionColumn" | "directionRow" | "header" | "genai" | "genai2" | "explainai" | "hiddenForAi" | "box" | "ellipsisVertical" | "list" | "drillTo" | "hierarchy" | "history" | "history2" | "thumbsUp" | "thumbsDown" | "send" | "visualizationArea" | "visualizationTable" | "visualizationTreemap" | "visualizationScatter" | "visualizationDonut" | "visualizationHeadline" | "visualizationColumn" | "visualizationLine" | "visualizationPyramid" | "visualizationFunnel" | "visualizationHeatmap" | "visualizationBubble" | "visualizationPie" | "visualizationBar" | "visualizationCombo" | "visualizationBullet" | "visualizationWaterfall" | "visualizationDependencywheel" | "visualizationSankey" | "visualizationPushpin" | "visualizationRepeater" | "visualizationXirr" | "link" | "externalLink" | "click" | "fileXlsx" | "filePptx" | "filePdf" | "fileImage" | "fileCsvFormatted" | "fileCsvRaw" | "aiDocument" | "recommendation" | "streamUp" | "streamDown" | "stream" | "density" | "parameter" | "pin" | "unpin" | "speechBubble" | "pieChart";
|
|
5
5
|
//# sourceMappingURL=icon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/@ui/@types/icon.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,eAAe,GACf,OAAO,GACP,aAAa,GACb,eAAe,GACf,MAAM,GACN,YAAY,GACZ,MAAM,GACN,OAAO,GACP,aAAa,GACb,OAAO,GACP,OAAO,GACP,MAAM,GACN,aAAa,GACb,UAAU,GACV,WAAW,GACX,cAAc,GACd,aAAa,GACb,aAAa,GACb,MAAM,GACN,YAAY,GACZ,cAAc,GACd,eAAe,GACf,cAAc,GACd,UAAU,GACV,OAAO,GACP,QAAQ,GACR,mBAAmB,GACnB,YAAY,GACZ,MAAM,GACN,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,UAAU,GACV,WAAW,GACX,OAAO,GACP,aAAa,GACb,cAAc,GACd,QAAQ,GACR,iBAAiB,GACjB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,OAAO,GACP,KAAK,GACL,aAAa,GACb,QAAQ,GACR,OAAO,GACP,MAAM,GACN,UAAU,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,eAAe,GACf,qBAAqB,GACrB,UAAU,GACV,QAAQ,GACR,WAAW,GACX,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,OAAO,GACP,SAAS,GACT,YAAY,GACZ,WAAW,GACX,WAAW,GACX,MAAM,GACN,MAAM,GACN,WAAW,GACX,SAAS,GACT,MAAM,GACN,OAAO,GACP,aAAa,GACb,SAAS,GACT,OAAO,GACP,YAAY,GACZ,OAAO,GACP,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,SAAS,GACT,eAAe,GACf,WAAW,GACX,QAAQ,GACR,MAAM,GACN,cAAc,GACd,QAAQ,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,MAAM,GACN,IAAI,GACJ,KAAK,GACL,OAAO,GACP,iBAAiB,GACjB,cAAc,GACd,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,WAAW,GACX,aAAa,GACb,KAAK,GACL,kBAAkB,GAClB,MAAM,GACN,SAAS,GACT,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,YAAY,GACZ,MAAM,GACN,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,GACtB,oBAAoB,GACpB,uBAAuB,GACvB,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,wBAAwB,GACxB,8BAA8B,GAC9B,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,mBAAmB,GACnB,MAAM,GACN,cAAc,GACd,OAAO,GACP,UAAU,GACV,UAAU,GACV,SAAS,GACT,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,WAAW,GACX,KAAK,GACL,OAAO,GACP,cAAc,GACd,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/@ui/@types/icon.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,eAAe,GACf,OAAO,GACP,aAAa,GACb,eAAe,GACf,MAAM,GACN,YAAY,GACZ,MAAM,GACN,OAAO,GACP,aAAa,GACb,OAAO,GACP,OAAO,GACP,MAAM,GACN,aAAa,GACb,UAAU,GACV,WAAW,GACX,cAAc,GACd,aAAa,GACb,aAAa,GACb,MAAM,GACN,YAAY,GACZ,cAAc,GACd,eAAe,GACf,cAAc,GACd,UAAU,GACV,OAAO,GACP,QAAQ,GACR,mBAAmB,GACnB,YAAY,GACZ,MAAM,GACN,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,UAAU,GACV,WAAW,GACX,OAAO,GACP,aAAa,GACb,cAAc,GACd,QAAQ,GACR,iBAAiB,GACjB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,OAAO,GACP,KAAK,GACL,aAAa,GACb,QAAQ,GACR,OAAO,GACP,MAAM,GACN,UAAU,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,eAAe,GACf,qBAAqB,GACrB,UAAU,GACV,QAAQ,GACR,WAAW,GACX,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,OAAO,GACP,SAAS,GACT,YAAY,GACZ,WAAW,GACX,WAAW,GACX,MAAM,GACN,MAAM,GACN,WAAW,GACX,SAAS,GACT,MAAM,GACN,OAAO,GACP,aAAa,GACb,SAAS,GACT,OAAO,GACP,YAAY,GACZ,OAAO,GACP,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,SAAS,GACT,SAAS,GACT,eAAe,GACf,WAAW,GACX,QAAQ,GACR,MAAM,GACN,cAAc,GACd,QAAQ,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,MAAM,GACN,IAAI,GACJ,KAAK,GACL,OAAO,GACP,iBAAiB,GACjB,cAAc,GACd,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,WAAW,GACX,aAAa,GACb,KAAK,GACL,kBAAkB,GAClB,MAAM,GACN,SAAS,GACT,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,YAAY,GACZ,MAAM,GACN,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,GACtB,oBAAoB,GACpB,uBAAuB,GACvB,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,wBAAwB,GACxB,8BAA8B,GAC9B,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,mBAAmB,GACnB,MAAM,GACN,cAAc,GACd,OAAO,GACP,UAAU,GACV,UAAU,GACV,SAAS,GACT,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,WAAW,GACX,KAAK,GACL,OAAO,GACP,cAAc,GACd,UAAU,CAAC"}
|
|
@@ -13,6 +13,8 @@ export interface IUiGeneralAccessRadioProps {
|
|
|
13
13
|
value: GeneralAccessValue;
|
|
14
14
|
/** Fired when the user picks a different option. */
|
|
15
15
|
onChange: (value: GeneralAccessValue) => void;
|
|
16
|
+
/** Disables both rows — e.g. while the access list is still loading. */
|
|
17
|
+
disabled?: boolean;
|
|
16
18
|
/**
|
|
17
19
|
* Optional slot rendered to the right of the `All workspace members`
|
|
18
20
|
* row — typically the `UiGranteeRowControls` pair that lets the
|
|
@@ -29,5 +31,5 @@ export interface IUiGeneralAccessRadioProps {
|
|
|
29
31
|
*
|
|
30
32
|
* @internal
|
|
31
33
|
*/
|
|
32
|
-
export declare function UiGeneralAccessRadio({ value, onChange, workspaceControls, dataTestId }: IUiGeneralAccessRadioProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export declare function UiGeneralAccessRadio({ value, onChange, disabled, workspaceControls, dataTestId }: IUiGeneralAccessRadioProps): import("react/jsx-runtime").JSX.Element;
|
|
33
35
|
//# sourceMappingURL=UiGeneralAccessRadio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiGeneralAccessRadio.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiGeneralAccessRadio/UiGeneralAccessRadio.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AAU9C;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,WAAW,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,uBAAuB;IACvB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACb,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"UiGeneralAccessRadio.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiGeneralAccessRadio/UiGeneralAccessRadio.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AAU9C;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,WAAW,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,uBAAuB;IACvB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C,0EAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACb,EAAE,0BAA0B,2CA+B5B"}
|
|
@@ -13,10 +13,10 @@ const { b } = bem("gd-ui-kit-general-access-radio");
|
|
|
13
13
|
*
|
|
14
14
|
* @internal
|
|
15
15
|
*/
|
|
16
|
-
export function UiGeneralAccessRadio({ value, onChange, workspaceControls, dataTestId, }) {
|
|
16
|
+
export function UiGeneralAccessRadio({ value, onChange, disabled, workspaceControls, dataTestId, }) {
|
|
17
17
|
const intl = useIntl();
|
|
18
18
|
const name = useId();
|
|
19
19
|
return (_jsxs("div", { className: b(), "data-testid": dataTestId, role: "radiogroup", "aria-label": intl.formatMessage(olpGeneralAccessMessages.groupLabel), children: [
|
|
20
|
-
_jsx(UiRadioRow, { name: name, value: "RESTRICTED", checked: value === "RESTRICTED", title: intl.formatMessage(olpGeneralAccessMessages.restrictedTitle), description: intl.formatMessage(olpGeneralAccessMessages.restrictedDescription), onChange: () => onChange("RESTRICTED") }), _jsx(UiRadioRow, { name: name, value: "WORKSPACE", checked: value === "WORKSPACE", title: intl.formatMessage(olpGeneralAccessMessages.workspaceTitle), description: intl.formatMessage(olpGeneralAccessMessages.workspaceDescription), onChange: () => onChange("WORKSPACE"), trailing: workspaceControls })
|
|
20
|
+
_jsx(UiRadioRow, { name: name, value: "RESTRICTED", checked: value === "RESTRICTED", disabled: disabled, title: intl.formatMessage(olpGeneralAccessMessages.restrictedTitle), description: intl.formatMessage(olpGeneralAccessMessages.restrictedDescription), onChange: () => onChange("RESTRICTED") }), _jsx(UiRadioRow, { name: name, value: "WORKSPACE", checked: value === "WORKSPACE", disabled: disabled, title: intl.formatMessage(olpGeneralAccessMessages.workspaceTitle), description: intl.formatMessage(olpGeneralAccessMessages.workspaceDescription), onChange: () => onChange("WORKSPACE"), trailing: workspaceControls })
|
|
21
21
|
] }));
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiGranteeAsyncPicker.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiGranteeAsyncPicker/UiGranteeAsyncPicker.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,yCAAyC,CAAC;AAIrG;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,yFAAuF;IACvF,EAAE,EAAE,MAAM,CAAC;IACX,sBAAsB;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC3D,gGAAgG;IAChG,eAAe,EAAE,mBAAmB,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC;;;;;OAKG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACjE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnD,6DAA6D;IAC7D,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAClD,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpF,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,WAAW,EACX,gBAAqB,EACrB,QAAQ,EACR,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACb,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"UiGranteeAsyncPicker.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiGranteeAsyncPicker/UiGranteeAsyncPicker.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,yCAAyC,CAAC;AAIrG;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,yFAAuF;IACvF,EAAE,EAAE,MAAM,CAAC;IACX,sBAAsB;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC3D,gGAAgG;IAChG,eAAe,EAAE,mBAAmB,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC;;;;;OAKG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACjE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnD,6DAA6D;IAC7D,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAClD,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpF,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,WAAW,EACX,gBAAqB,EACrB,QAAQ,EACR,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACb,EAAE,0BAA0B,2CAgH5B"}
|
|
@@ -55,14 +55,17 @@ export function UiGranteeAsyncPicker({ loadOptions, selectedGrantees = [], onSel
|
|
|
55
55
|
onSelect(option.grantee);
|
|
56
56
|
}, [onSelect]);
|
|
57
57
|
const autocompleteMessages = useMemo(() => ({
|
|
58
|
-
searchPlaceholder: intl.formatMessage(
|
|
58
|
+
searchPlaceholder: intl.formatMessage(olpAddGranteeDialogMessages.searchPlaceholder),
|
|
59
59
|
stateError: intl.formatMessage(uiGranteeAsyncPickerMessages.stateError),
|
|
60
60
|
stateNoMatch: intl.formatMessage(uiGranteeAsyncPickerMessages.stateNoMatch),
|
|
61
61
|
}), [intl]);
|
|
62
|
+
const fieldLabel = intl.formatMessage(olpAddGranteeDialogMessages.userOrGroup);
|
|
62
63
|
return (_jsxs("div", { className: b(), "data-testid": dataTestId, children: [
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
_jsxs("div", { className: e("field"), children: [
|
|
65
|
+
_jsx("div", { className: e("field-label"), children: fieldLabel }), _jsx(UiAutocomplete, { loadOptions: adaptedLoadOptions, selectedIds: selectedIds, onSelect: handleSelect, messages: autocompleteMessages, accessibilityConfig: {
|
|
66
|
+
ariaLabel: fieldLabel,
|
|
67
|
+
} })
|
|
68
|
+
] }), selectedGrantees.length === 0 ? (_jsx("div", { className: e("empty-state"), children: intl.formatMessage(olpAddGranteeDialogMessages.emptyState) })) : null, selectedGrantees.length > 0 ? (_jsx("ul", { className: e("picked-list"), children: selectedGrantees.map((g) => {
|
|
66
69
|
const triggerLabel = g.permissionLevel === "SHARE" ? canShareLabel : canViewLabel;
|
|
67
70
|
return (_jsx("li", { className: e("picked-item"), children: _jsx(UiGranteeRow, { kind: g.kind, name: g.name, email: g.email, controls: _jsx(UiPermissionMenu, { selectedLevel: g.permissionLevel, onPermissionChange: (next) => onPermissionChange?.(g, next), onRemoveAccess: onRemove ? () => onRemove(g) : undefined, anchor: _jsx(UiButton, { label: triggerLabel, variant: "dropdownInline", size: "small", iconAfter: "navigateDown" }) }) }) }, g.id));
|
|
68
71
|
}) })) : null] }));
|
|
@@ -12,6 +12,8 @@ export interface IUiGranteeRowProps {
|
|
|
12
12
|
email?: string;
|
|
13
13
|
/** When true, an "Owner" tag is rendered between the text block and the controls slot. */
|
|
14
14
|
isOwner?: boolean;
|
|
15
|
+
/** When true, the row is visually muted to signal an in-flight save. */
|
|
16
|
+
isPending?: boolean;
|
|
15
17
|
/** Trailing controls slot — typically the `UiGranteeRowControls` trigger pair. */
|
|
16
18
|
controls?: ReactNode;
|
|
17
19
|
/** Test id forwarded to the root element. */
|
|
@@ -23,5 +25,5 @@ export interface IUiGranteeRowProps {
|
|
|
23
25
|
*
|
|
24
26
|
* @internal
|
|
25
27
|
*/
|
|
26
|
-
export declare function UiGranteeRow({ kind, name, email, isOwner, controls, dataTestId }: IUiGranteeRowProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function UiGranteeRow({ kind, name, email, isOwner, isPending, controls, dataTestId }: IUiGranteeRowProps): import("react/jsx-runtime").JSX.Element;
|
|
27
29
|
//# sourceMappingURL=UiGranteeRow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiGranteeRow.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiGranteeRow/UiGranteeRow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,uCAAuC,CAAC;AAKhG;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oDAAkD;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oFAAkF;IAClF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"UiGranteeRow.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiGranteeRow/UiGranteeRow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,uCAAuC,CAAC;AAKhG;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oDAAkD;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oFAAkF;IAClF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EACzB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACb,EAAE,kBAAkB,2CAyBpB"}
|
|
@@ -11,9 +11,9 @@ const { b, e } = bem("gd-ui-kit-grantee-row");
|
|
|
11
11
|
*
|
|
12
12
|
* @internal
|
|
13
13
|
*/
|
|
14
|
-
export function UiGranteeRow({ kind, name, email, isOwner, controls, dataTestId }) {
|
|
14
|
+
export function UiGranteeRow({ kind, name, email, isOwner, isPending, controls, dataTestId, }) {
|
|
15
15
|
const intl = useIntl();
|
|
16
|
-
return (_jsxs("div", { className: b(), "data-testid": dataTestId, children: [
|
|
16
|
+
return (_jsxs("div", { className: b({ pending: Boolean(isPending) }), "data-testid": dataTestId, children: [
|
|
17
17
|
_jsx(UiGranteeAvatar, { kind: kind, decorative: true }), _jsxs("div", { className: e("text"), children: [
|
|
18
18
|
_jsx("span", { className: e("name"), title: name, children: name }), email ? (_jsx("span", { className: e("email"), title: email, children: email })) : null] }), isOwner ? (_jsx(UiTag, { label: intl.formatMessage(olpGranteeRowMessages.ownerTag), size: "small", variant: "solid" })) : null, controls] }));
|
|
19
19
|
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type IUiLabelsChecklistItem } from "../UiLabelsChecklist/UiLabelsChecklist.js";
|
|
2
2
|
import { type PermissionMenuLevel } from "../UiPermissionMenu/UiPermissionMenu.js";
|
|
3
3
|
/**
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
6
6
|
export interface IUiGranteeRowControlsProps {
|
|
7
|
-
/**
|
|
8
|
-
labels: ReadonlyArray<
|
|
9
|
-
/** Currently selected label ids. Locked items are always treated as selected. */
|
|
7
|
+
/** Locked items are always treated as selected. */
|
|
8
|
+
labels: ReadonlyArray<IUiLabelsChecklistItem>;
|
|
10
9
|
selectedLabelIds: ReadonlyArray<string>;
|
|
11
|
-
/** Current permission level for the grantee. */
|
|
12
10
|
permissionLevel: PermissionMenuLevel;
|
|
13
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Set only when the grantee inherits a higher permission than `permissionLevel`
|
|
13
|
+
* (e.g. from a group); drives the warning badge. Undefined when not elevated.
|
|
14
|
+
*/
|
|
15
|
+
effectivePermission?: PermissionMenuLevel;
|
|
14
16
|
onLabelsChange: (selectedIds: string[]) => void;
|
|
15
|
-
/** Fires when the user picks a new permission level. */
|
|
16
17
|
onPermissionChange: (level: PermissionMenuLevel) => void;
|
|
17
|
-
/** Fires when the user picks Transfer ownership in the permission menu. */
|
|
18
18
|
onTransferOwnership?: () => void;
|
|
19
|
-
/** Fires when the user picks Remove access in the permission menu. */
|
|
20
19
|
onRemoveAccess?: () => void;
|
|
21
|
-
/**
|
|
20
|
+
/** Disables both triggers, e.g. while the row's change is saving. */
|
|
21
|
+
isDisabled?: boolean;
|
|
22
22
|
dataTestId?: string;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
25
|
+
* Per-row controls in the OLP share dialog: a permission trigger
|
|
26
|
+
* ({@link UiPermissionMenu}) plus a "⋯" menu ({@link UiMoreOptionsMenu}) for
|
|
27
|
+
* labels access and Transfer ownership, with an optional inherited-permission
|
|
28
|
+
* warning badge.
|
|
29
29
|
*
|
|
30
30
|
* @internal
|
|
31
31
|
*/
|
|
32
|
-
export declare function UiGranteeRowControls({ labels, selectedLabelIds, permissionLevel, onLabelsChange, onPermissionChange, onTransferOwnership, onRemoveAccess, dataTestId }: IUiGranteeRowControlsProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export declare function UiGranteeRowControls({ labels, selectedLabelIds, permissionLevel, effectivePermission, onLabelsChange, onPermissionChange, onTransferOwnership, onRemoveAccess, isDisabled, dataTestId }: IUiGranteeRowControlsProps): import("react/jsx-runtime").JSX.Element;
|
|
33
33
|
//# sourceMappingURL=UiGranteeRowControls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiGranteeRowControls.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiGranteeRowControls/UiGranteeRowControls.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UiGranteeRowControls.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiGranteeRowControls/UiGranteeRowControls.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAExF,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,yCAAyC,CAAC;AAKrG;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,mDAAmD;IACnD,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC9C,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,eAAe,EAAE,mBAAmB,CAAC;IACrC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACzD,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,UAAU,EACb,EAAE,0BAA0B,2CAgE5B"}
|
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2026 GoodData Corporation
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
|
-
import {
|
|
4
|
+
import { olpPermissionMessages } from "../../locales.js";
|
|
5
5
|
import { bem } from "../@utils/bem.js";
|
|
6
6
|
import { UiButton } from "../UiButton/UiButton.js";
|
|
7
|
-
import {
|
|
7
|
+
import { UiIcon } from "../UiIcon/UiIcon.js";
|
|
8
|
+
import { UiMoreOptionsMenu } from "../UiMoreOptionsMenu/UiMoreOptionsMenu.js";
|
|
8
9
|
import { UiPermissionMenu } from "../UiPermissionMenu/UiPermissionMenu.js";
|
|
9
|
-
|
|
10
|
+
import { UiTooltip } from "../UiTooltip/UiTooltip.js";
|
|
11
|
+
const { b, e } = bem("gd-ui-kit-grantee-row-controls");
|
|
10
12
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* Per-row controls in the OLP share dialog: a permission trigger
|
|
14
|
+
* ({@link UiPermissionMenu}) plus a "⋯" menu ({@link UiMoreOptionsMenu}) for
|
|
15
|
+
* labels access and Transfer ownership, with an optional inherited-permission
|
|
16
|
+
* warning badge.
|
|
15
17
|
*
|
|
16
18
|
* @internal
|
|
17
19
|
*/
|
|
18
|
-
export function UiGranteeRowControls({ labels, selectedLabelIds, permissionLevel, onLabelsChange, onPermissionChange, onTransferOwnership, onRemoveAccess, dataTestId, }) {
|
|
20
|
+
export function UiGranteeRowControls({ labels, selectedLabelIds, permissionLevel, effectivePermission, onLabelsChange, onPermissionChange, onTransferOwnership, onRemoveAccess, isDisabled, dataTestId, }) {
|
|
19
21
|
const intl = useIntl();
|
|
20
|
-
const
|
|
21
|
-
// Locked labels always count as selected. Reuse the picker's predicate so the
|
|
22
|
-
// trigger never shows "N-1 of N" when a locked id is omitted from selectedLabelIds.
|
|
23
|
-
const selected = labels.filter((label) => isLabelsPickerItemChecked(label, selectedLabelIds)).length;
|
|
24
|
-
const labelsTriggerText = selected === total
|
|
25
|
-
? intl.formatMessage(olpGranteeControlsMessages.allLabels)
|
|
26
|
-
: intl.formatMessage(olpGranteeControlsMessages.labelsCount, { selected, total });
|
|
22
|
+
const hasLabels = labels.length > 0;
|
|
27
23
|
const permissionTriggerText = intl.formatMessage(permissionLevel === "SHARE" ? olpPermissionMessages.canViewAndShare : olpPermissionMessages.canView);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
// No labels and no transfer → nothing in the ⋯ menu, so drop it.
|
|
25
|
+
const hasMoreOptions = hasLabels || !!onTransferOwnership;
|
|
26
|
+
// Guard on permissionLevel too, so the badge can't show when the assigned
|
|
27
|
+
// level already matches the inherited one.
|
|
28
|
+
const isInheritedHigherPermission = permissionLevel === "VIEW" && effectivePermission === "SHARE";
|
|
29
|
+
const effectiveTooltip = isInheritedHigherPermission
|
|
30
|
+
? intl.formatMessage(olpPermissionMessages.effectivePermissionTooltipShare)
|
|
31
|
+
: undefined;
|
|
32
|
+
return (_jsxs("div", { className: b(), "data-testid": dataTestId, children: [effectiveTooltip ? (_jsx(UiTooltip, { triggerBy: ["hover", "focus"], content: effectiveTooltip, anchor: _jsx("span", { className: e("effective-warning"), role: "img", "aria-label": intl.formatMessage(olpPermissionMessages.effectivePermissionAriaLabel), tabIndex: 0, children: _jsx(UiIcon, { type: "warning", size: 16, color: "warning" }) }) })) : null, _jsx(UiPermissionMenu, { anchor: _jsx(UiButton, { label: permissionTriggerText, size: "small", variant: "dropdownInline", iconAfter: "navigateDown", isDisabled: isDisabled }), selectedLevel: permissionLevel, onPermissionChange: onPermissionChange, onRemoveAccess: onRemoveAccess }), hasMoreOptions ? (_jsx(UiMoreOptionsMenu, { labels: hasLabels ? labels : undefined, selectedLabelIds: selectedLabelIds, onLabelsChange: onLabelsChange, onTransferOwnership: onTransferOwnership, isDisabled: isDisabled })) : null] }));
|
|
31
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiIcon/icons.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiIcon/icons.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAu/BjD,CAAC"}
|
package/esm/@ui/UiIcon/icons.js
CHANGED
|
@@ -110,6 +110,7 @@ export const iconPaths = {
|
|
|
110
110
|
settings: (_jsx("path", { d: "M12.4908 0.315796C12.9399 0.426445 13.3796 0.573021 13.8092 0.755248C14.2387 0.930989 14.6556 1.13617 15.0592 1.37048C15.1763 1.43559 15.2512 1.53324 15.2838 1.66345C15.3228 1.79366 15.3098 1.92061 15.2447 2.04431C15.1666 2.18746 15.1047 2.34063 15.0592 2.50329C15.0201 2.66599 15.0006 2.83214 15.0006 3.00134C15.0006 3.27472 15.0527 3.53524 15.1568 3.78259C15.2609 4.0234 15.4043 4.2351 15.5865 4.41735C15.7687 4.59306 15.9805 4.73312 16.2213 4.83728C16.462 4.94139 16.7227 4.99347 17.0025 4.99353C17.1651 4.99353 17.3282 4.97393 17.4908 4.93493C17.6534 4.8959 17.8099 4.83391 17.9595 4.74938C18.0766 4.69085 18.2006 4.68115 18.3306 4.72009C18.4608 4.75263 18.5585 4.82432 18.6236 4.93493C18.8645 5.33856 19.0728 5.75527 19.2486 6.18493C19.4244 6.61461 19.5709 7.05407 19.6881 7.50329C19.7206 7.6335 19.7043 7.75719 19.6392 7.87438C19.5806 7.98492 19.4894 8.05996 19.3658 8.09899C18.9558 8.23574 18.6235 8.47997 18.3697 8.83141C18.1224 9.1764 17.9986 9.56394 17.9986 9.99352C17.9986 10.4231 18.1224 10.8139 18.3697 11.1654C18.6235 11.5103 18.9558 11.7513 19.3658 11.888C19.4895 11.9336 19.5806 12.0151 19.6392 12.1322C19.7043 12.2429 19.7206 12.3633 19.6881 12.4935C19.5709 12.9427 19.4244 13.3823 19.2486 13.8119C19.0728 14.2415 18.8644 14.655 18.6236 15.0521C18.5585 15.1692 18.4607 15.2474 18.3306 15.2865C18.2006 15.3189 18.0766 15.3027 17.9595 15.2377C17.8099 15.1596 17.6534 15.1009 17.4908 15.0619C17.3282 15.0164 17.1651 14.9935 17.0025 14.9935C16.7227 14.9936 16.462 15.0489 16.2213 15.1595C15.9805 15.2637 15.7687 15.407 15.5865 15.5892C15.4043 15.7649 15.2609 15.9767 15.1568 16.224C15.0527 16.4648 15.0006 16.7221 15.0006 16.9955C15.0006 17.1647 15.0201 17.3308 15.0592 17.4935C15.1047 17.6562 15.1666 17.8093 15.2447 17.9525C15.3098 18.0697 15.3228 18.1934 15.2838 18.3236C15.2512 18.4537 15.1763 18.5547 15.0592 18.6263C14.6556 18.8606 14.2387 19.0658 13.8092 19.2416C13.3796 19.4238 12.9399 19.5704 12.4908 19.681C12.3672 19.7134 12.2465 19.6972 12.1295 19.6322C12.0124 19.5736 11.9341 19.4823 11.8951 19.3587C11.7584 18.9486 11.5142 18.6198 11.1627 18.3724C10.8177 18.1251 10.4302 18.0013 10.0006 18.0013C9.57104 18.0014 9.18013 18.1251 8.82869 18.3724C8.48381 18.6198 8.24271 18.9487 8.10603 19.3587C8.07346 19.4628 8.01157 19.5443 7.92049 19.6029C7.83593 19.6678 7.73806 19.7005 7.62752 19.7005L7.51033 19.681C7.06125 19.5703 6.62154 19.4238 6.19197 19.2416C5.7624 19.0658 5.34552 18.8606 4.94198 18.6263C4.82494 18.5547 4.74663 18.4537 4.7076 18.3236C4.67507 18.1935 4.69145 18.0696 4.75643 17.9525C4.83452 17.8093 4.89315 17.6562 4.93221 17.4935C4.97777 17.3308 5.00056 17.1647 5.00057 16.9955C5.00057 16.722 4.94849 16.4649 4.84432 16.224C4.74016 15.9766 4.59691 15.765 4.41463 15.5892C4.23238 15.407 4.02068 15.2637 3.77987 15.1595C3.53907 15.0489 3.27844 14.9935 2.99862 14.9935C2.836 14.9936 2.67296 15.0163 2.51034 15.0619C2.34773 15.1009 2.1912 15.1596 2.04159 15.2377C1.92451 15.3026 1.80057 15.319 1.6705 15.2865C1.54047 15.2474 1.44257 15.1692 1.37753 15.0521C1.13667 14.655 0.928292 14.2415 0.752528 13.8119C0.576758 13.3822 0.430257 12.9427 0.313075 12.4935C0.28055 12.3634 0.29366 12.2428 0.352138 12.1322C0.41717 12.0151 0.511844 11.9337 0.635341 11.888C1.04539 11.7514 1.37429 11.5103 1.62167 11.1654C1.87555 10.8139 2.00251 10.4232 2.00253 9.99352C2.00253 9.56383 1.87557 9.17646 1.62167 8.83141C1.37428 8.47992 1.04544 8.23569 0.635341 8.09899C0.51182 8.0599 0.417179 7.98495 0.352138 7.87438C0.293612 7.75728 0.280594 7.63339 0.313075 7.50329C0.430241 7.05415 0.57679 6.61454 0.752528 6.18493C0.928271 5.75534 1.13671 5.33849 1.37753 4.93493C1.44256 4.82438 1.5405 4.75269 1.6705 4.72009C1.80059 4.68106 1.92449 4.69093 2.04159 4.74938C2.19121 4.83395 2.34772 4.89586 2.51034 4.93493C2.67296 4.97396 2.836 4.99349 2.99862 4.99353C3.27841 4.99353 3.53909 4.94133 3.77987 4.83728C4.02063 4.73316 4.2324 4.59301 4.41463 4.41735C4.59686 4.23512 4.74016 4.02337 4.84432 3.78259C4.94847 3.53522 5.00056 3.27474 5.00057 3.00134C5.00057 2.83207 4.97778 2.66605 4.93221 2.50329C4.89315 2.34053 4.83455 2.18754 4.75643 2.04431C4.6914 1.9207 4.67512 1.79356 4.7076 1.66345C4.74662 1.53338 4.82499 1.43559 4.94198 1.37048C5.3455 1.13618 5.76243 0.930993 6.19197 0.755248C6.62153 0.573015 7.06126 0.42646 7.51033 0.315796C7.63393 0.28327 7.75456 0.299651 7.87166 0.364624C7.98884 0.423213 8.06697 0.514379 8.10603 0.638061C8.24272 1.04162 8.48376 1.37051 8.82869 1.62439C9.18013 1.8717 9.57104 1.9954 10.0006 1.99548C10.4301 1.99548 10.8177 1.87163 11.1627 1.62439C11.5142 1.37053 11.7584 1.04161 11.8951 0.638061C11.9341 0.514498 12.0125 0.423224 12.1295 0.364624C12.2465 0.299586 12.3672 0.283375 12.4908 0.315796ZM12.6568 1.39978C12.5266 1.64056 12.367 1.86209 12.1783 2.06384C11.9961 2.25904 11.7876 2.42523 11.5533 2.56189C11.3255 2.6985 11.0779 2.80607 10.8111 2.88415C10.5508 2.96219 10.2804 3.00134 10.0006 3.00134C9.72076 3.0013 9.44704 2.96224 9.18025 2.88415C8.91997 2.80604 8.67233 2.69854 8.43806 2.56189C8.21031 2.4252 8.00179 2.25908 7.81307 2.06384C7.63084 1.86206 7.47449 1.6406 7.34432 1.39978C7.08404 1.47788 6.8266 1.56911 6.57283 1.67322C6.32557 1.77734 6.08117 1.89138 5.84041 2.01501C5.8925 2.17126 5.93156 2.33402 5.9576 2.50329C5.98364 2.66604 5.99666 2.83208 5.99666 3.00134C5.99665 3.41146 5.91852 3.79889 5.76229 4.16345C5.60605 4.52793 5.39113 4.8471 5.11776 5.12048C4.85089 5.38728 4.53495 5.6023 4.17049 5.76501C3.80602 5.92114 3.41513 5.99938 2.99862 5.99938C2.836 5.99936 2.66969 5.98634 2.50057 5.96032C2.33795 5.92778 2.17818 5.88541 2.02206 5.83337C1.89191 6.07417 1.77462 6.32174 1.6705 6.57555C1.56637 6.82938 1.47516 7.0867 1.39706 7.34704C1.64438 7.4707 1.86585 7.62706 2.06112 7.81579C2.2564 8.00456 2.42246 8.21297 2.55917 8.44079C2.70239 8.66865 2.80982 8.91605 2.88143 9.18297C2.95956 9.44339 2.99862 9.71357 2.99862 9.99352C2.99861 10.2799 2.95955 10.5567 2.88143 10.8236C2.80982 11.0839 2.70236 11.3282 2.55917 11.556C2.42248 11.7838 2.25636 11.9923 2.06112 12.181C1.86587 12.3697 1.64434 12.5261 1.39706 12.6498C1.47518 12.9102 1.56634 13.1674 1.6705 13.4213C1.77465 13.6751 1.89187 13.9226 2.02206 14.1634C2.17817 14.1114 2.33796 14.0723 2.50057 14.0462C2.66969 14.0137 2.836 13.9975 2.99862 13.9974C3.41516 13.9974 3.806 14.0756 4.17049 14.2318C4.535 14.388 4.85086 14.603 5.11776 14.8763C5.39118 15.1497 5.60604 15.4688 5.76229 15.8334C5.91854 16.1979 5.99666 16.5853 5.99666 16.9955C5.99666 17.1647 5.98364 17.3308 5.9576 17.4935C5.93156 17.6562 5.89248 17.8191 5.84041 17.9818C6.08119 18.1054 6.32555 18.2195 6.57283 18.3236C6.82662 18.4277 7.08402 18.5189 7.34432 18.597C7.47447 18.3563 7.63088 18.138 7.81307 17.9427C8.00177 17.741 8.21034 17.5716 8.43806 17.4349C8.67231 17.2918 8.91999 17.1843 9.18025 17.1127C9.44704 17.0346 9.72076 16.9955 10.0006 16.9955C10.2804 16.9955 10.5508 17.0346 10.8111 17.1127C11.0779 17.1842 11.3255 17.2918 11.5533 17.4349C11.7876 17.5716 11.996 17.741 12.1783 17.9427C12.3671 18.138 12.5266 18.3562 12.6568 18.597C12.9171 18.5189 13.1713 18.4277 13.4185 18.3236C13.6723 18.2195 13.9199 18.1054 14.1607 17.9818C14.1086 17.8191 14.0696 17.6563 14.0435 17.4935C14.0175 17.3308 14.0045 17.1647 14.0045 16.9955C14.0045 16.5854 14.0827 16.1979 14.2388 15.8334C14.395 15.4689 14.6068 15.1497 14.8736 14.8763C15.1469 14.603 15.4662 14.388 15.8306 14.2318C16.1951 14.0756 16.586 13.9975 17.0025 13.9974C17.1651 13.9974 17.3282 14.0138 17.4908 14.0462C17.6599 14.0723 17.8229 14.1114 17.9791 14.1634C18.1092 13.9226 18.2265 13.6751 18.3306 13.4213C18.4348 13.1674 18.526 12.9101 18.6041 12.6498C18.3568 12.5261 18.1352 12.3697 17.94 12.181C17.7448 11.9923 17.5754 11.7838 17.4322 11.556C17.2955 11.3282 17.188 11.084 17.1099 10.8236C17.0383 10.5567 17.0025 10.2799 17.0025 9.99352C17.0025 9.71365 17.0384 9.44333 17.1099 9.18297C17.188 8.91615 17.2956 8.66858 17.4322 8.44079C17.5754 8.21303 17.7448 8.00452 17.94 7.81579C18.1352 7.62708 18.3568 7.47071 18.6041 7.34704C18.5259 7.08663 18.4348 6.82945 18.3306 6.57555C18.2265 6.32167 18.1093 6.07423 17.9791 5.83337C17.8229 5.88539 17.6599 5.9278 17.4908 5.96032C17.3282 5.98632 17.1651 5.99938 17.0025 5.99938C16.586 5.99933 16.1951 5.92121 15.8306 5.76501C15.4662 5.60227 15.147 5.38733 14.8736 5.12048C14.6068 4.84708 14.3951 4.52796 14.2388 4.16345C14.0826 3.79892 14.0045 3.41143 14.0045 3.00134C14.0045 2.83213 14.0175 2.666 14.0435 2.50329C14.0696 2.3341 14.1087 2.1712 14.1607 2.01501C13.9199 1.89137 13.6723 1.77734 13.4185 1.67322C13.1712 1.56911 12.9171 1.47787 12.6568 1.39978ZM10.0006 6.99548C10.4171 6.99548 10.8047 7.07695 11.1627 7.23962C11.5272 7.39584 11.8463 7.61079 12.1197 7.88415C12.3931 8.15106 12.608 8.46686 12.7642 8.83141C12.9205 9.19599 12.9986 9.58336 12.9986 9.99352C12.9986 10.4101 12.9205 10.8008 12.7642 11.1654C12.608 11.5299 12.3931 11.849 12.1197 12.1224C11.8463 12.3892 11.5271 12.6042 11.1627 12.767C10.8047 12.9231 10.4171 13.0013 10.0006 13.0013C9.58406 13.0013 9.19315 12.9232 8.82869 12.767C8.47075 12.6042 8.15478 12.3893 7.88143 12.1224C7.60807 11.849 7.39311 11.5299 7.23689 11.1654C7.08068 10.8009 7.00253 10.4101 7.00252 9.99352C7.00252 9.58345 7.08071 9.19592 7.23689 8.83141C7.39309 8.46695 7.60812 8.15102 7.88143 7.88415C8.15476 7.61081 8.47078 7.39585 8.82869 7.23962C9.19315 7.07691 9.58406 6.99553 10.0006 6.99548ZM10.0006 8.00133C9.72728 8.00139 9.46658 8.05347 9.21931 8.15758C8.97859 8.26174 8.76674 8.40508 8.58455 8.58727C8.40239 8.763 8.25898 8.97476 8.15486 9.22204C8.05077 9.46285 7.99861 9.72017 7.99861 9.99352C7.99863 10.2734 8.05073 10.5339 8.15486 10.7748C8.259 11.0156 8.40234 11.2273 8.58455 11.4095C8.76676 11.5917 8.97856 11.7351 9.21931 11.8392C9.46658 11.9433 9.72728 11.9954 10.0006 11.9955C10.2738 11.9955 10.5313 11.9433 10.772 11.8392C11.0193 11.7351 11.2343 11.5917 11.4166 11.4095C11.5988 11.2273 11.7421 11.0156 11.8463 10.7748C11.9504 10.5339 12.0025 10.2734 12.0025 9.99352C12.0025 9.72008 11.9504 9.46292 11.8463 9.22204C11.7421 8.97467 11.5989 8.76304 11.4166 8.58727C11.2343 8.40506 11.0194 8.26172 10.772 8.15758C10.5313 8.05351 10.2739 8.00133 10.0006 8.00133Z" })),
|
|
111
111
|
search: (_jsx("path", { d: "M8.00261 0C8.5038 2.12983e-05 8.99555 0.0488494 9.47722 0.146484C9.95888 0.244139 10.4246 0.387411 10.8737 0.576172C11.3228 0.758444 11.7527 0.986385 12.1628 1.25977C12.5728 1.53317 12.9538 1.84577 13.3053 2.19727C13.6568 2.55529 13.9694 2.93952 14.2428 3.34961C14.5162 3.75321 14.7474 4.17974 14.9362 4.62891C15.125 5.07809 15.265 5.54366 15.3561 6.02539C15.4538 6.50714 15.5026 6.99872 15.5026 7.5C15.5026 7.98826 15.457 8.46682 15.3659 8.93555C15.2748 9.40426 15.1413 9.86006 14.9655 10.3027C14.7897 10.7389 14.5716 11.1589 14.3112 11.5625C14.0573 11.9596 13.7643 12.334 13.4323 12.6855L19.3698 19.1699C19.4608 19.2675 19.5033 19.3848 19.4967 19.5215C19.4967 19.6646 19.4445 19.7819 19.3405 19.873C19.295 19.9185 19.2427 19.9512 19.1842 19.9707C19.1258 19.9902 19.0637 20 18.9987 20C18.9337 20 18.8684 19.9869 18.8034 19.9609C18.7384 19.9349 18.6829 19.8958 18.6374 19.8438L12.6901 13.3594C12.3582 13.6262 12.0064 13.864 11.6354 14.0723C11.2709 14.274 10.8899 14.4434 10.4928 14.5801C10.1023 14.7168 9.6952 14.821 9.27214 14.8926C8.85558 14.9642 8.43218 15 8.00261 15C7.50142 15 7.00967 14.9544 6.528 14.8633C6.04633 14.7656 5.58065 14.6256 5.13152 14.4434C4.68238 14.2546 4.25254 14.0234 3.84245 13.75C3.43236 13.4766 3.05139 13.1607 2.69987 12.8027C2.34836 12.4512 2.03579 12.0703 1.76237 11.6602C1.48896 11.25 1.25781 10.8203 1.06902 10.3711C0.880222 9.92189 0.736984 9.45636 0.639328 8.97461C0.548182 8.49284 0.502609 8.0013 0.502609 7.5C0.502609 6.9987 0.548182 6.50716 0.639328 6.02539C0.736984 5.54364 0.880222 5.07811 1.06902 4.62891C1.25781 4.17973 1.48896 3.75322 1.76237 3.34961C2.03579 2.93951 2.34836 2.55529 2.69987 2.19727C3.05139 1.84577 3.43236 1.53316 3.84245 1.25977C4.25254 0.986395 4.68238 0.75843 5.13152 0.576172C5.58065 0.387428 6.04633 0.24412 6.528 0.146484C7.00967 0.0488707 7.50142 0 8.00261 0ZM8.00261 1.00586C7.10428 1.00586 6.26099 1.17847 5.47331 1.52344C4.68563 1.86195 3.99541 2.3243 3.403 2.91016C2.81709 3.49606 2.35156 4.18625 2.00652 4.98047C1.66797 5.76823 1.4987 6.60807 1.4987 7.5C1.4987 8.39844 1.66797 9.24154 2.00652 10.0293C2.35156 10.817 2.81709 11.5072 3.403 12.0996C3.99541 12.6855 4.68563 13.1511 5.47331 13.4961C6.26099 13.8346 7.10428 14.0039 8.00261 14.0039C8.90092 14.0039 9.74424 13.8346 10.5319 13.4961C11.3196 13.1511 12.0066 12.6855 12.5925 12.0996C13.1848 11.5072 13.6504 10.817 13.9889 10.0293C14.334 9.24157 14.5065 8.39839 14.5065 7.5C14.5065 6.60812 14.334 5.76819 13.9889 4.98047C13.6504 4.18627 13.1848 3.49606 12.5925 2.91016C12.0066 2.32429 11.3196 1.86197 10.5319 1.52344C9.74424 1.17843 8.90092 1.0059 8.00261 1.00586Z" })),
|
|
112
112
|
university: (_jsx("path", { d: "M18.9941 19.0039C19.1374 19.0039 19.2578 19.0527 19.3555 19.1504C19.4531 19.248 19.502 19.3652 19.502 19.502C19.502 19.6387 19.4531 19.7559 19.3555 19.8535C19.2578 19.9512 19.1374 20 18.9941 20H0.996094C0.859375 20 0.742188 19.9512 0.644531 19.8535C0.546875 19.7559 0.498047 19.6387 0.498047 19.502C0.498047 19.3652 0.546875 19.248 0.644531 19.1504C0.742188 19.0527 0.859375 19.0039 0.996094 19.0039H18.9941ZM5.99609 7.00195C6.13281 7.00195 6.25 7.05078 6.34766 7.14844C6.44531 7.24609 6.49414 7.36328 6.49414 7.5C6.49414 7.64323 6.44531 7.76367 6.34766 7.86133C6.25 7.95898 6.13281 8.00781 5.99609 8.00781H5.49805V17.002H5.99609C6.13281 17.002 6.25 17.0508 6.34766 17.1484C6.44531 17.2461 6.49414 17.3633 6.49414 17.5C6.49414 17.6432 6.44531 17.7637 6.34766 17.8613C6.25 17.959 6.13281 18.0078 5.99609 18.0078H2.00195C1.85872 18.0078 1.73828 17.959 1.64062 17.8613C1.54297 17.7637 1.49414 17.6432 1.49414 17.5C1.49414 17.3633 1.54297 17.2461 1.64062 17.1484C1.73828 17.0508 1.85872 17.002 2.00195 17.002H2.5V8.00781H2.00195C1.85872 8.00781 1.73828 7.95898 1.64062 7.86133C1.54297 7.76367 1.49414 7.64323 1.49414 7.5C1.49414 7.36328 1.54297 7.24609 1.64062 7.14844C1.73828 7.05078 1.85872 7.00195 2.00195 7.00195H5.99609ZM12.002 7.00195C12.1387 7.00195 12.2559 7.05078 12.3535 7.14844C12.4512 7.24609 12.5 7.36328 12.5 7.5C12.5 7.64323 12.4512 7.76367 12.3535 7.86133C12.2559 7.95898 12.1387 8.00781 12.002 8.00781H11.4941V17.002H12.002C12.1387 17.002 12.2559 17.0508 12.3535 17.1484C12.4512 17.2461 12.5 17.3633 12.5 17.5C12.5 17.6432 12.4512 17.7637 12.3535 17.8613C12.2559 17.959 12.1387 18.0078 12.002 18.0078H7.99805C7.86133 18.0078 7.74414 17.959 7.64648 17.8613C7.54883 17.7637 7.5 17.6432 7.5 17.5C7.5 17.3633 7.54883 17.2461 7.64648 17.1484C7.74414 17.0508 7.86133 17.002 7.99805 17.002H8.49609V8.00781H7.99805C7.86133 8.00781 7.74414 7.95898 7.64648 7.86133C7.54883 7.76367 7.5 7.64323 7.5 7.5C7.5 7.36328 7.54883 7.24609 7.64648 7.14844C7.74414 7.05078 7.86133 7.00195 7.99805 7.00195H12.002ZM17.998 7.00195C18.1348 7.00195 18.252 7.05078 18.3496 7.14844C18.4473 7.24609 18.4961 7.36328 18.4961 7.5C18.4961 7.64323 18.4473 7.76367 18.3496 7.86133C18.252 7.95898 18.1348 8.00781 17.998 8.00781H17.5V17.002H17.998C18.1348 17.002 18.252 17.0508 18.3496 17.1484C18.4473 17.2461 18.4961 17.3633 18.4961 17.5C18.4961 17.6432 18.4473 17.7637 18.3496 17.8613C18.252 17.959 18.1348 18.0078 17.998 18.0078H13.9941C13.8574 18.0078 13.7402 17.959 13.6426 17.8613C13.5449 17.7637 13.4961 17.6432 13.4961 17.5C13.4961 17.3633 13.5449 17.2461 13.6426 17.1484C13.7402 17.0508 13.8574 17.002 13.9941 17.002H14.502V8.00781H13.9941C13.8574 8.00781 13.7402 7.95898 13.6426 7.86133C13.5449 7.76367 13.4961 7.64323 13.4961 7.5C13.4961 7.36328 13.5449 7.24609 13.6426 7.14844C13.7402 7.05078 13.8574 7.00195 13.9941 7.00195H17.998ZM3.49609 17.002H4.50195V8.00781H3.49609V17.002ZM9.50195 17.002H10.498V8.00781H9.50195V17.002ZM15.498 17.002H16.4941V8.00781H15.498V17.002ZM9.99023 0C10.0879 0 10.179 0.0260417 10.2637 0.078125L18.2617 5.07812C18.3594 5.13672 18.4277 5.2181 18.4668 5.32227C18.5059 5.42643 18.5091 5.53385 18.4766 5.64453C18.444 5.7487 18.3822 5.83659 18.291 5.9082C18.2064 5.97331 18.1087 6.00586 17.998 6.00586H2.00195C1.88477 6.00586 1.7806 5.97331 1.68945 5.9082C1.60482 5.83659 1.54622 5.7487 1.51367 5.64453C1.48763 5.53385 1.49414 5.42643 1.5332 5.32227C1.57227 5.2181 1.63737 5.13672 1.72852 5.07812L9.73633 0.078125C9.81445 0.0260417 9.89909 0 9.99023 0ZM3.74023 5H16.25L10 1.09375L3.74023 5Z" })),
|
|
113
|
+
building: (_jsx("g", { transform: "scale(1.4285714285714286)", children: _jsx("path", { d: "M9.80273 4.20182V4.89909H10.5V4.20182H9.80273ZM9.80273 5.60319V6.30046H10.5V5.60319H9.80273ZM9.80273 6.99772V7.70182H10.5V6.99772H9.80273ZM9.80273 8.39909V9.10319H10.5V8.39909H9.80273ZM9.80273 11.2018V11.8991H10.5V11.2018H9.80273ZM9.80273 9.80046V10.4977H10.5V9.80046H9.80273ZM4.19727 4.20182V4.89909H4.90137V4.20182H4.19727ZM4.19727 5.60319V6.30046H4.90137V5.60319H4.19727ZM4.19727 6.99772V7.70182H4.90137V6.99772H4.19727ZM4.19727 8.39909V9.10319H4.90137V8.39909H4.19727ZM4.19727 11.2018V11.8991H4.90137V11.2018H4.19727ZM4.19727 9.80046V10.4977H4.90137V9.80046H4.19727ZM2.80273 4.20182V4.89909H3.5V4.20182H2.80273ZM2.80273 5.60319V6.30046H3.5V5.60319H2.80273ZM2.80273 6.99772V7.70182H3.5V6.99772H2.80273ZM2.80273 8.39909V9.10319H3.5V8.39909H2.80273ZM2.80273 11.2018V11.8991H3.5V11.2018H2.80273ZM2.80273 9.80046V10.4977H3.5V9.80046H2.80273ZM5.59863 4.20182V4.89909H6.30273V4.20182H5.59863ZM5.59863 5.60319V6.30046H6.30273V5.60319H5.59863ZM5.59863 6.99772V7.70182H6.30273V6.99772H5.59863ZM5.59863 8.39909V9.10319H6.30273V8.39909H5.59863ZM5.59863 11.2018V11.8991H6.30273V11.2018H5.59863ZM5.59863 9.80046V10.4977H6.30273V9.80046H5.59863ZM12.9473 13.3005C13.0475 13.3005 13.1318 13.3346 13.2002 13.403C13.2686 13.4714 13.3027 13.5534 13.3027 13.6491C13.3027 13.7448 13.2686 13.8268 13.2002 13.8952C13.1318 13.9635 13.0475 13.9977 12.9473 13.9977H0.348633C0.25293 13.9977 0.170898 13.9635 0.102539 13.8952C0.0341797 13.8268 0 13.7448 0 13.6491C0 13.5534 0.0341797 13.4714 0.102539 13.403C0.170898 13.3346 0.25293 13.3005 0.348633 13.3005H0.697266V3.14909C0.697266 2.88021 0.786133 2.62728 0.963867 2.3903C1.1416 2.14876 1.36035 1.98926 1.62012 1.91178L7.9502 0.0182292C8.00488 0 8.05729 -0.00455729 8.10742 0.00455729C8.16211 0.0136719 8.21224 0.0364583 8.25781 0.0729167C8.30339 0.104818 8.33756 0.145833 8.36035 0.195964C8.3877 0.241536 8.40137 0.293945 8.40137 0.35319V1.49479L11.6963 2.59538C11.9515 2.68197 12.1657 2.84603 12.3389 3.08756C12.512 3.3291 12.5986 3.58431 12.5986 3.85319V13.3005H12.9473ZM11.4775 3.25846L8.40137 2.23307V13.3005H11.9014V3.85319C11.9014 3.7347 11.8581 3.61621 11.7715 3.49772C11.6849 3.37923 11.5869 3.29948 11.4775 3.25846ZM1.40137 3.14909V13.3005H7.69727V0.818034L1.81836 2.58171C1.70898 2.61816 1.611 2.69336 1.52441 2.80729C1.44238 2.92122 1.40137 3.03516 1.40137 3.14909Z" }) })),
|
|
113
114
|
printer: (_jsx("path", { d: "M15.498 0C15.9147 0 16.2695 0.146484 16.5625 0.439453C16.8555 0.732422 17.002 1.08724 17.002 1.50391V4.00391H18.4961C18.9128 4.00391 19.2676 4.15039 19.5605 4.44336C19.8535 4.73633 20 5.09115 20 5.50781V14.502C20 14.9186 19.8535 15.2734 19.5605 15.5664C19.2676 15.8594 18.9128 16.0059 18.4961 16.0059H17.002V18.5059C17.002 18.916 16.8555 19.2676 16.5625 19.5605C16.2695 19.8535 15.9147 20 15.498 20H4.50195C4.08529 20 3.73047 19.8535 3.4375 19.5605C3.14453 19.2676 2.99805 18.916 2.99805 18.5059V16.0059H1.50391C1.08724 16.0059 0.732422 15.8594 0.439453 15.5664C0.146484 15.2734 0 14.9186 0 14.502V5.50781C0 5.09115 0.146484 4.73633 0.439453 4.44336C0.732422 4.15039 1.08724 4.00391 1.50391 4.00391H2.99805V1.50391C2.99805 1.08724 3.14453 0.732422 3.4375 0.439453C3.73047 0.146484 4.08529 0 4.50195 0H15.498ZM4.00391 18.5059C4.00391 18.6426 4.05273 18.7598 4.15039 18.8574C4.24805 18.9551 4.36523 19.0039 4.50195 19.0039H15.498C15.6348 19.0039 15.752 18.9551 15.8496 18.8574C15.9473 18.7598 15.9961 18.6426 15.9961 18.5059V12.002H4.00391V18.5059ZM14.502 17.002C14.6387 17.002 14.7559 17.0508 14.8535 17.1484C14.9512 17.2461 15 17.3633 15 17.5C15 17.6432 14.9512 17.7637 14.8535 17.8613C14.7559 17.959 14.6387 18.0078 14.502 18.0078H5.49805C5.36133 18.0078 5.24414 17.959 5.14648 17.8613C5.04883 17.7637 5 17.6432 5 17.5C5 17.3633 5.04883 17.2461 5.14648 17.1484C5.24414 17.0508 5.36133 17.002 5.49805 17.002H14.502ZM14.502 15C14.6387 15 14.7559 15.0488 14.8535 15.1465C14.9512 15.2441 15 15.3646 15 15.5078C15 15.6445 14.9512 15.7617 14.8535 15.8594C14.7559 15.957 14.6387 16.0059 14.502 16.0059H5.49805C5.36133 16.0059 5.24414 15.957 5.14648 15.8594C5.04883 15.7617 5 15.6445 5 15.5078C5 15.3646 5.04883 15.2441 5.14648 15.1465C5.24414 15.0488 5.36133 15 5.49805 15H14.502ZM1.50391 5C1.36068 5 1.24023 5.04883 1.14258 5.14648C1.04492 5.24414 0.996094 5.36458 0.996094 5.50781V14.502C0.996094 14.6387 1.04492 14.7559 1.14258 14.8535C1.24023 14.9512 1.36068 15 1.50391 15H2.99805V12.002H2.5C2.36328 12.002 2.24609 11.9531 2.14844 11.8555C2.05078 11.7578 2.00195 11.6406 2.00195 11.5039C2.00195 11.3672 2.05078 11.25 2.14844 11.1523C2.24609 11.0547 2.36328 11.0059 2.5 11.0059H17.5C17.6367 11.0059 17.7539 11.0547 17.8516 11.1523C17.9492 11.25 17.998 11.3672 17.998 11.5039C17.998 11.6406 17.9492 11.7578 17.8516 11.8555C17.7539 11.9531 17.6367 12.002 17.5 12.002H17.002V15H18.4961C18.6393 15 18.7598 14.9512 18.8574 14.8535C18.9551 14.7559 19.0039 14.6387 19.0039 14.502V5.50781C19.0039 5.36458 18.9551 5.24414 18.8574 5.14648C18.7598 5.04883 18.6393 5 18.4961 5H1.50391ZM14.502 13.0078C14.6387 13.0078 14.7559 13.0566 14.8535 13.1543C14.9512 13.252 15 13.3691 15 13.5059C15 13.6426 14.9512 13.7598 14.8535 13.8574C14.7559 13.9551 14.6387 14.0039 14.502 14.0039H5.49805C5.36133 14.0039 5.24414 13.9551 5.14648 13.8574C5.04883 13.7598 5 13.6426 5 13.5059C5 13.3691 5.04883 13.252 5.14648 13.1543C5.24414 13.0566 5.36133 13.0078 5.49805 13.0078H14.502ZM16.5039 6.00586C16.9141 6.00586 17.2656 6.15234 17.5586 6.44531C17.8516 6.73828 17.998 7.08984 17.998 7.5C17.998 7.91667 17.8516 8.27148 17.5586 8.56445C17.2656 8.85742 16.9141 9.00391 16.5039 9.00391C16.0872 9.00391 15.7324 8.85742 15.4395 8.56445C15.1465 8.27148 15 7.91667 15 7.5C15 7.08984 15.1465 6.73828 15.4395 6.44531C15.7324 6.15234 16.0872 6.00586 16.5039 6.00586ZM16.5039 7.00195C16.3607 7.00195 16.2402 7.05078 16.1426 7.14844C16.0449 7.24609 15.9961 7.36328 15.9961 7.5C15.9961 7.64323 16.0449 7.76367 16.1426 7.86133C16.2402 7.95898 16.3607 8.00781 16.5039 8.00781C16.6406 8.00781 16.7578 7.95898 16.8555 7.86133C16.9531 7.76367 17.002 7.64323 17.002 7.5C17.002 7.36328 16.9531 7.24609 16.8555 7.14844C16.7578 7.05078 16.6406 7.00195 16.5039 7.00195ZM4.50195 1.00586C4.36523 1.00586 4.24805 1.05469 4.15039 1.15234C4.05273 1.25 4.00391 1.36719 4.00391 1.50391V4.00391H15.9961V1.50391C15.9961 1.36719 15.9473 1.25 15.8496 1.15234C15.752 1.05469 15.6348 1.00586 15.498 1.00586H4.50195Z" })),
|
|
114
115
|
picture: (_jsx("path", { d: "M18.4961 0C18.9128 0 19.2676 0.146484 19.5605 0.439453C19.8535 0.732422 20 1.08724 20 1.50391V18.5059C20 18.916 19.8535 19.2676 19.5605 19.5605C19.2676 19.8535 18.9128 20 18.4961 20H1.50391C1.08724 20 0.732422 19.8535 0.439453 19.5605C0.146484 19.2676 0 18.916 0 18.5059V1.50391C0 1.08724 0.146484 0.732422 0.439453 0.439453C0.732422 0.146484 1.08724 0 1.50391 0H18.4961ZM5.50781 8.93555C5.44922 8.93555 5.39388 8.94857 5.3418 8.97461C5.28971 9.00065 5.24089 9.03646 5.19531 9.08203L0.996094 13.7012V18.5059C0.996094 18.6426 1.04492 18.7598 1.14258 18.8574C1.24023 18.9551 1.36068 19.0039 1.50391 19.0039H15.332L5.83008 9.07227C5.78451 9.02669 5.73242 8.99414 5.67383 8.97461C5.62174 8.94857 5.56641 8.93555 5.50781 8.93555ZM1.50391 1.00586C1.36068 1.00586 1.24023 1.05469 1.14258 1.15234C1.04492 1.25 0.996094 1.36719 0.996094 1.50391V12.207L4.45312 8.4082C4.58984 8.25846 4.74609 8.14453 4.92188 8.06641C5.10417 7.98177 5.29622 7.9362 5.49805 7.92969C5.69987 7.92969 5.88867 7.96875 6.06445 8.04688C6.24674 8.125 6.40951 8.23568 6.55273 8.37891L16.709 19.0039H18.4961C18.6393 19.0039 18.7598 18.9551 18.8574 18.8574C18.9551 18.7598 19.0039 18.6426 19.0039 18.5059V1.50391C19.0039 1.36719 18.9551 1.25 18.8574 1.15234C18.7598 1.05469 18.6393 1.00586 18.4961 1.00586H1.50391ZM13.4961 4.00391C13.8411 4.00391 14.1667 4.06901 14.4727 4.19922C14.7786 4.32943 15.0423 4.50846 15.2637 4.73633C15.4915 4.96419 15.6706 5.23112 15.8008 5.53711C15.931 5.83659 15.9961 6.15885 15.9961 6.50391C15.9961 6.84896 15.931 7.17448 15.8008 7.48047C15.6706 7.77995 15.4915 8.04362 15.2637 8.27148C15.0423 8.49935 14.7786 8.67839 14.4727 8.80859C14.1667 8.9388 13.8411 9.00391 13.4961 9.00391C13.151 9.00391 12.8255 8.9388 12.5195 8.80859C12.2201 8.67839 11.9564 8.49935 11.7285 8.27148C11.5072 8.04362 11.3281 7.77995 11.1914 7.48047C11.0612 7.17448 10.9961 6.84896 10.9961 6.50391C10.9961 6.15885 11.0612 5.83659 11.1914 5.53711C11.3281 5.23112 11.5072 4.96419 11.7285 4.73633C11.9564 4.50846 12.2201 4.32943 12.5195 4.19922C12.8255 4.06901 13.151 4.00391 13.4961 4.00391ZM13.4961 5C13.0859 5 12.7344 5.14648 12.4414 5.43945C12.1484 5.73242 12.002 6.08724 12.002 6.50391C12.002 6.92057 12.1484 7.27539 12.4414 7.56836C12.7344 7.86133 13.0859 8.00781 13.4961 8.00781C13.9128 8.00781 14.2676 7.86133 14.5605 7.56836C14.8535 7.27539 15 6.92057 15 6.50391C15 6.08724 14.8535 5.73242 14.5605 5.43945C14.2676 5.14648 13.9128 5 13.4961 5Z" })),
|
|
115
116
|
visualization: (_jsx("path", { d: "M5.10254 10.0049C5.60667 10.0562 6 10.4823 6 11V17C6 17.5523 5.55228 18 5 18H3L2.89746 17.9951C2.39333 17.9438 2 17.5177 2 17V11C2 10.4477 2.44772 10 3 10H5L5.10254 10.0049ZM11.1025 6.00488C11.6067 6.05621 12 6.48232 12 7V17L11.9951 17.1025C11.9438 17.6067 11.5177 18 11 18H9L8.89746 17.9951C8.42703 17.9472 8.05278 17.573 8.00488 17.1025L8 17V7C8 6.44772 8.44772 6 9 6H11L11.1025 6.00488ZM17.1025 2.00488C17.6067 2.05621 18 2.48232 18 3V17L17.9951 17.1025C17.9438 17.6067 17.5177 18 17 18H15L14.8975 17.9951C14.427 17.9472 14.0528 17.573 14.0049 17.1025L14 17V3C14 2.44772 14.4477 2 15 2H17L17.1025 2.00488ZM3 17H5V11H3V17ZM9 17H11V7H9V17ZM15 17H17V3H15V17Z" })),
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type LabelRowKind } from "../UiLabelRow/UiLabelRow.js";
|
|
2
|
+
/**
|
|
3
|
+
* One label entry in the checklist.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface IUiLabelsChecklistItem {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
kind?: LabelRowKind;
|
|
11
|
+
/** Locked rows render checked + disabled and are always included (the primary key). */
|
|
12
|
+
locked?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Whether an item counts as selected: locked items always do, otherwise
|
|
16
|
+
* membership in `selectedIds`. Exported so callers apply the same rule.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare const isLabelsChecklistItemChecked: (item: IUiLabelsChecklistItem, selectedIds: readonly string[]) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export interface IUiLabelsChecklistProps {
|
|
25
|
+
items: ReadonlyArray<IUiLabelsChecklistItem>;
|
|
26
|
+
/** Locked items are always selected regardless of this. */
|
|
27
|
+
defaultSelectedIds: ReadonlyArray<string>;
|
|
28
|
+
/** Fires on Apply with the locked-augmented selection (staged internally until then). */
|
|
29
|
+
onApply: (selectedIds: string[]) => void;
|
|
30
|
+
/** Back arrow — returns to the parent view. */
|
|
31
|
+
onBack: () => void;
|
|
32
|
+
/** Dismisses the menu; Cancel and (post-commit) Apply both call it. */
|
|
33
|
+
onClose: () => void;
|
|
34
|
+
dataTestId?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Per-label checklist drill-in for the grantee "⋯" menu. Stages selection
|
|
38
|
+
* internally, commits via `onApply`, and renders its own back-only header so it
|
|
39
|
+
* slots into {@link UiMenu} as a `showComponentOnly` content item.
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export declare function UiLabelsChecklist({ items, defaultSelectedIds, onApply, onBack, onClose, dataTestId }: IUiLabelsChecklistProps): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
//# sourceMappingURL=UiLabelsChecklist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiLabelsChecklist.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiLabelsChecklist/UiLabelsChecklist.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,2EAG0B,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC7C,2DAA2D;IAC3D,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,yFAAyF;IACzF,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzC,iDAA+C;IAC/C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,uEAAuE;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAC9B,KAAK,EACL,kBAAkB,EAClB,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACb,EAAE,uBAAuB,2CAoFzB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useId, useState } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { commonDialogMessages, olpLabelMessages } from "../../locales.js";
|
|
6
|
+
import { bem } from "../@utils/bem.js";
|
|
7
|
+
import { UiButton } from "../UiButton/UiButton.js";
|
|
8
|
+
import { UiLabelChecklistRow } from "../UiLabelChecklistRow/UiLabelChecklistRow.js";
|
|
9
|
+
import { UiSubmenuHeader } from "../UiSubmenuHeader/UiSubmenuHeader.js";
|
|
10
|
+
const { b, e } = bem("gd-ui-kit-labels-checklist");
|
|
11
|
+
/**
|
|
12
|
+
* Whether an item counts as selected: locked items always do, otherwise
|
|
13
|
+
* membership in `selectedIds`. Exported so callers apply the same rule.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export const isLabelsChecklistItemChecked = (item, selectedIds) => item.locked === true || selectedIds.includes(item.id);
|
|
18
|
+
/**
|
|
19
|
+
* Per-label checklist drill-in for the grantee "⋯" menu. Stages selection
|
|
20
|
+
* internally, commits via `onApply`, and renders its own back-only header so it
|
|
21
|
+
* slots into {@link UiMenu} as a `showComponentOnly` content item.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export function UiLabelsChecklist({ items, defaultSelectedIds, onApply, onBack, onClose, dataTestId, }) {
|
|
26
|
+
const intl = useIntl();
|
|
27
|
+
const groupId = useId();
|
|
28
|
+
// Staged toggles only; locked ids are folded in by the predicate, not stored here.
|
|
29
|
+
const [selected, setSelected] = useState(() => [...defaultSelectedIds]);
|
|
30
|
+
const toggle = (id, next) => {
|
|
31
|
+
setSelected((prev) => next ? (prev.includes(id) ? prev : [...prev, id]) : prev.filter((x) => x !== id));
|
|
32
|
+
};
|
|
33
|
+
const handleApply = () => {
|
|
34
|
+
onApply(items.filter((item) => isLabelsChecklistItemChecked(item, selected)).map((item) => item.id));
|
|
35
|
+
onClose();
|
|
36
|
+
};
|
|
37
|
+
// Dirty when any row's checked-state differs from its initial. Locked rows are
|
|
38
|
+
// checked on both sides, so they never count as a change.
|
|
39
|
+
const isDirty = items.some((item) => isLabelsChecklistItemChecked(item, defaultSelectedIds) !==
|
|
40
|
+
isLabelsChecklistItemChecked(item, selected));
|
|
41
|
+
const handleKeyDown = (event) => {
|
|
42
|
+
// Enter commits — scoped to the rows so the footer buttons keep native Enter.
|
|
43
|
+
if (event.key === "Enter" && isDirty) {
|
|
44
|
+
event.preventDefault();
|
|
45
|
+
handleApply();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const suffixFor = (kind) => {
|
|
49
|
+
if (!kind)
|
|
50
|
+
return undefined;
|
|
51
|
+
return intl.formatMessage(kind === "primary" ? olpLabelMessages.suffixPrimary : olpLabelMessages.suffixDefault);
|
|
52
|
+
};
|
|
53
|
+
return (_jsxs("div", { className: b(), "data-testid": dataTestId, children: [
|
|
54
|
+
_jsx(UiSubmenuHeader, { title: intl.formatMessage(olpLabelMessages.popoverTitle), backAriaLabel: intl.formatMessage(olpLabelMessages.backAriaLabel), height: "medium", onBack: onBack }), _jsx("div", { id: groupId, className: e("items"), role: "group", "aria-label": intl.formatMessage(olpLabelMessages.popoverTitle), onKeyDown: handleKeyDown, children: items.map((item) => (_jsx(UiLabelChecklistRow, { label: item.label, kind: item.kind, suffix: suffixFor(item.kind), checked: isLabelsChecklistItemChecked(item, selected), disabled: item.locked, onChange: (next) => toggle(item.id, next) }, item.id))) }), _jsxs("div", { className: e("actions"), children: [
|
|
55
|
+
_jsx(UiButton, { variant: "secondary", size: "small", label: intl.formatMessage(commonDialogMessages.cancel), onClick: onClose }), _jsx(UiButton, { variant: "primary", size: "small", label: intl.formatMessage(commonDialogMessages.apply), onClick: handleApply, isDisabled: !isDirty })
|
|
56
|
+
] })
|
|
57
|
+
] }));
|
|
58
|
+
}
|
|
@@ -18,6 +18,11 @@ export interface IUiLabelsListItem {
|
|
|
18
18
|
export interface IUiLabelsListProps {
|
|
19
19
|
/** Label items to render in source order. */
|
|
20
20
|
items: ReadonlyArray<IUiLabelsListItem>;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to render the uppercase "LABELS" heading. Defaults to `true`.
|
|
23
|
+
* Set `false` when a wrapping popover already supplies the title.
|
|
24
|
+
*/
|
|
25
|
+
showHeading?: boolean;
|
|
21
26
|
/** Test id forwarded to the root element. */
|
|
22
27
|
dataTestId?: string;
|
|
23
28
|
}
|
|
@@ -27,5 +32,5 @@ export interface IUiLabelsListProps {
|
|
|
27
32
|
*
|
|
28
33
|
* @internal
|
|
29
34
|
*/
|
|
30
|
-
export declare function UiLabelsList({ items, dataTestId }: IUiLabelsListProps): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export declare function UiLabelsList({ items, showHeading, dataTestId }: IUiLabelsListProps): import("react/jsx-runtime").JSX.Element;
|
|
31
36
|
//# sourceMappingURL=UiLabelsList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiLabelsList.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiLabelsList/UiLabelsList.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,6BAA6B,CAAC;AAI5E;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACxC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"UiLabelsList.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiLabelsList/UiLabelsList.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,6BAA6B,CAAC;AAI5E;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACxC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,WAAkB,EAAE,UAAU,EAAE,EAAE,kBAAkB,2CAsBzF"}
|
|
@@ -11,14 +11,13 @@ const { b, e } = bem("gd-ui-kit-labels-list");
|
|
|
11
11
|
*
|
|
12
12
|
* @internal
|
|
13
13
|
*/
|
|
14
|
-
export function UiLabelsList({ items, dataTestId }) {
|
|
14
|
+
export function UiLabelsList({ items, showHeading = true, dataTestId }) {
|
|
15
15
|
const intl = useIntl();
|
|
16
16
|
const suffixFor = (kind) => {
|
|
17
17
|
if (!kind)
|
|
18
18
|
return undefined;
|
|
19
19
|
return intl.formatMessage(kind === "primary" ? olpLabelMessages.suffixPrimary : olpLabelMessages.suffixDefault);
|
|
20
20
|
};
|
|
21
|
-
return (_jsxs("div", { className: b(), "data-testid": dataTestId, children: [
|
|
22
|
-
_jsx("div", { className: e("heading"), children: intl.formatMessage(olpLabelMessages.listHeading) }), _jsx("div", { className: e("items"), role: "list", children: items.map((item) => (_jsx("div", { role: "listitem", children: _jsx(UiLabelRow, { label: item.label, kind: item.kind, suffix: suffixFor(item.kind) }) }, item.id))) })
|
|
21
|
+
return (_jsxs("div", { className: b(), "data-testid": dataTestId, children: [showHeading ? (_jsx("div", { className: e("heading"), children: intl.formatMessage(olpLabelMessages.listHeading) })) : null, _jsx("div", { className: e("items"), role: "list", children: items.map((item) => (_jsx("div", { role: "listitem", children: _jsx(UiLabelRow, { label: item.label, kind: item.kind, suffix: suffixFor(item.kind) }) }, item.id))) })
|
|
23
22
|
] }));
|
|
24
23
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type IUiLabelsChecklistItem } from "../UiLabelsChecklist/UiLabelsChecklist.js";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export interface IUiMoreOptionsMenuProps {
|
|
6
|
+
/** Empty/omitted hides the "Manage labels access" row (e.g. facts have no labels). */
|
|
7
|
+
labels?: ReadonlyArray<IUiLabelsChecklistItem>;
|
|
8
|
+
/** Locked items are always treated as selected. */
|
|
9
|
+
selectedLabelIds?: ReadonlyArray<string>;
|
|
10
|
+
onLabelsChange?: (selectedIds: string[]) => void;
|
|
11
|
+
/** Omit to hide the row (Transfer ownership is gated until wired). */
|
|
12
|
+
onTransferOwnership?: () => void;
|
|
13
|
+
isDisabled?: boolean;
|
|
14
|
+
dataTestId?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Per-grantee "⋯" menu: "Manage labels access" (drills into {@link UiLabelsChecklist})
|
|
18
|
+
* and "Transfer ownership". Each row shows only when its data/handler is given.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare function UiMoreOptionsMenu({ labels, selectedLabelIds, onLabelsChange, onTransferOwnership, isDisabled, dataTestId }: IUiMoreOptionsMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=UiMoreOptionsMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiMoreOptionsMenu.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMoreOptionsMenu/UiMoreOptionsMenu.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,sBAAsB,EAAqB,MAAM,2CAA2C,CAAC;AAO3G;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,sFAAsF;IACtF,MAAM,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC/C,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACjD,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAuCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAC9B,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,UAAU,EACb,EAAE,uBAAuB,2CAwFzB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useId, useMemo, useRef } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { olpPermissionMessages } from "../../locales.js";
|
|
6
|
+
import { bem } from "../@utils/bem.js";
|
|
7
|
+
import { UiIcon } from "../UiIcon/UiIcon.js";
|
|
8
|
+
import { UiIconButton } from "../UiIconButton/UiIconButton.js";
|
|
9
|
+
import { UiLabelsChecklist } from "../UiLabelsChecklist/UiLabelsChecklist.js";
|
|
10
|
+
import { UiMenu } from "../UiMenu/UiMenu.js";
|
|
11
|
+
import { UiPopover } from "../UiPopover/UiPopover.js";
|
|
12
|
+
const { b } = bem("gd-ui-kit-more-options-menu");
|
|
13
|
+
// Defined at module scope, and reading data through a ref, so its identity never
|
|
14
|
+
// changes across renders — UiMenu remounts the drill-in on a new component type,
|
|
15
|
+
// which would drop the checklist's staged edits.
|
|
16
|
+
function LabelsChecklistContent({ onBack, onClose, dataRef }) {
|
|
17
|
+
const data = dataRef.current;
|
|
18
|
+
return (_jsx(UiLabelsChecklist, { items: data.labels, defaultSelectedIds: data.selectedLabelIds, onApply: (ids) => data.onLabelsChange?.(ids), onBack: onBack, onClose: onClose, dataTestId: data.dataTestId }));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Per-grantee "⋯" menu: "Manage labels access" (drills into {@link UiLabelsChecklist})
|
|
22
|
+
* and "Transfer ownership". Each row shows only when its data/handler is given.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export function UiMoreOptionsMenu({ labels, selectedLabelIds, onLabelsChange, onTransferOwnership, isDisabled, dataTestId, }) {
|
|
27
|
+
const intl = useIntl();
|
|
28
|
+
const menuId = useId();
|
|
29
|
+
const hasLabels = (labels?.length ?? 0) > 0;
|
|
30
|
+
// Feed the live inputs to the stable content component through a ref so the
|
|
31
|
+
// component itself never has to change (see LabelsChecklistContent).
|
|
32
|
+
const dataRef = useRef({
|
|
33
|
+
labels: labels ?? [],
|
|
34
|
+
selectedLabelIds: selectedLabelIds ?? [],
|
|
35
|
+
onLabelsChange,
|
|
36
|
+
dataTestId,
|
|
37
|
+
});
|
|
38
|
+
dataRef.current = {
|
|
39
|
+
labels: labels ?? [],
|
|
40
|
+
selectedLabelIds: selectedLabelIds ?? [],
|
|
41
|
+
onLabelsChange,
|
|
42
|
+
dataTestId,
|
|
43
|
+
};
|
|
44
|
+
const labelsContentRef = useRef(undefined);
|
|
45
|
+
if (!labelsContentRef.current) {
|
|
46
|
+
labelsContentRef.current = (props) => _jsx(LabelsChecklistContent, { ...props, dataRef: dataRef });
|
|
47
|
+
}
|
|
48
|
+
const items = useMemo(() => {
|
|
49
|
+
const result = [];
|
|
50
|
+
if (hasLabels) {
|
|
51
|
+
result.push({
|
|
52
|
+
type: "content",
|
|
53
|
+
id: "labels",
|
|
54
|
+
stringTitle: intl.formatMessage(olpPermissionMessages.labels),
|
|
55
|
+
showComponentOnly: true,
|
|
56
|
+
// UiMenu adds the trailing drill-in chevron itself; we only set the leading icon.
|
|
57
|
+
iconLeft: _jsx(UiIcon, { type: "ldmLabel", size: 16, color: "complementary-7" }),
|
|
58
|
+
data: undefined,
|
|
59
|
+
Component: labelsContentRef.current,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if (onTransferOwnership) {
|
|
63
|
+
result.push({
|
|
64
|
+
type: "interactive",
|
|
65
|
+
id: "transfer",
|
|
66
|
+
stringTitle: intl.formatMessage(olpPermissionMessages.transferOwnership),
|
|
67
|
+
iconLeft: _jsx(UiIcon, { type: "sync", size: 16, color: "complementary-7" }),
|
|
68
|
+
data: undefined,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}, [hasLabels, onTransferOwnership, intl]);
|
|
73
|
+
return (_jsx(UiPopover, { anchor: _jsx(UiIconButton, { icon: "ellipsis", variant: "tertiary", size: "large", iconColor: "complementary-6", isDisabled: isDisabled, accessibilityConfig: {
|
|
74
|
+
ariaLabel: intl.formatMessage(olpPermissionMessages.moreOptionsAriaLabel),
|
|
75
|
+
} }), anchorAccessibilityConfig: { ariaHaspopup: "menu" }, width: 200, content: ({ onClose }) => (_jsx("div", { className: b(), "data-testid": dataTestId, children: _jsx(UiMenu, { items: items, size: "small", onSelect: (item) => {
|
|
76
|
+
if (item.id === "transfer") {
|
|
77
|
+
onTransferOwnership?.();
|
|
78
|
+
}
|
|
79
|
+
}, onClose: onClose, ariaAttributes: {
|
|
80
|
+
id: menuId,
|
|
81
|
+
"aria-label": intl.formatMessage(olpPermissionMessages.moreOptionsMenuLabel),
|
|
82
|
+
} }) })) }));
|
|
83
|
+
}
|