@gooddata/sdk-ui-kit 11.41.0 → 11.42.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/@ui/UiAddGranteeDialog/UiAddGranteeDialog.d.ts +6 -4
- package/esm/@ui/UiAddGranteeDialog/UiAddGranteeDialog.d.ts.map +1 -1
- package/esm/@ui/UiAddGranteeDialog/UiAddGranteeDialog.js +6 -6
- package/esm/@ui/UiConfirmDialog/UiConfirmDialog.d.ts +10 -30
- package/esm/@ui/UiConfirmDialog/UiConfirmDialog.d.ts.map +1 -1
- package/esm/@ui/UiConfirmDialog/UiConfirmDialog.js +10 -22
- package/esm/@ui/UiConfirmDialog/UiConfirmDialogCard.d.ts +40 -0
- package/esm/@ui/UiConfirmDialog/UiConfirmDialogCard.d.ts.map +1 -0
- package/esm/@ui/UiConfirmDialog/UiConfirmDialogCard.js +26 -0
- package/esm/@ui/UiGranteeRowControls/UiGranteeRowControls.js +1 -1
- package/esm/@ui/UiModalDialog/UiDialogBody.d.ts +17 -0
- package/esm/@ui/UiModalDialog/UiDialogBody.d.ts.map +1 -0
- package/esm/@ui/UiModalDialog/UiDialogBody.js +24 -0
- package/esm/@ui/{UiDialogShell → UiModalDialog}/UiDialogFooter.d.ts.map +1 -1
- package/esm/@ui/{UiDialogShell → UiModalDialog}/UiDialogHeader.d.ts.map +1 -1
- package/esm/@ui/{UiDialogShell → UiModalDialog}/UiDialogHeader.js +1 -1
- package/esm/@ui/UiModalDialog/UiModalDialog.d.ts +51 -0
- package/esm/@ui/UiModalDialog/UiModalDialog.d.ts.map +1 -0
- package/esm/@ui/UiModalDialog/UiModalDialog.js +135 -0
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialog.d.ts +8 -49
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialog.d.ts.map +1 -1
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialog.js +9 -23
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialogCard.d.ts +59 -0
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialogCard.d.ts.map +1 -0
- package/esm/@ui/UiObjectShareDialog/UiObjectShareDialogCard.js +26 -0
- package/esm/@ui/UiTextInput/UiTextInput.d.ts +10 -1
- package/esm/@ui/UiTextInput/UiTextInput.d.ts.map +1 -1
- package/esm/@ui/UiTextInput/UiTextInput.js +3 -3
- package/esm/Overlay/OverlayContext.d.ts +1 -1
- package/esm/Overlay/OverlayContext.d.ts.map +1 -1
- package/esm/Overlay/OverlayContext.js +13 -5
- package/esm/index.d.ts +8 -5
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +7 -4
- package/esm/sdk-ui-kit.d.ts +138 -90
- package/esm/typings/utilities.d.ts.map +1 -1
- package/esm/typings/utilities.js +3 -1
- package/package.json +11 -11
- package/src/@ui/UiConfirmDialog/UiConfirmDialog.scss +0 -7
- package/src/@ui/{UiDialogShell/UiDialogShell.scss → UiModalDialog/UiModalDialog.scss} +23 -6
- package/src/@ui/UiPermissionMenu/UiPermissionMenu.scss +15 -2
- package/src/@ui/index.scss +1 -1
- package/styles/css/main.css +74 -58
- package/styles/css/main.css.map +1 -1
- package/esm/@ui/UiDialogShell/UiDialogShell.d.ts +0 -59
- package/esm/@ui/UiDialogShell/UiDialogShell.d.ts.map +0 -1
- package/esm/@ui/UiDialogShell/UiDialogShell.js +0 -36
- /package/esm/@ui/{UiDialogShell → UiModalDialog}/UiDialogFooter.d.ts +0 -0
- /package/esm/@ui/{UiDialogShell → UiModalDialog}/UiDialogFooter.js +0 -0
- /package/esm/@ui/{UiDialogShell → UiModalDialog}/UiDialogHeader.d.ts +0 -0
package/esm/sdk-ui-kit.d.ts
CHANGED
|
@@ -76,6 +76,7 @@ import type { MetricType } from '@gooddata/sdk-model';
|
|
|
76
76
|
import { Middleware } from '@floating-ui/react';
|
|
77
77
|
import { ModifierKey } from 'react';
|
|
78
78
|
import { MouseEvent as MouseEvent_2 } from 'react';
|
|
79
|
+
import { MouseEventHandler } from 'react';
|
|
79
80
|
import { MutableRefObject } from 'react';
|
|
80
81
|
import { NamedExoticComponent } from 'react';
|
|
81
82
|
import { ObjRef } from '@gooddata/sdk-model';
|
|
@@ -6295,6 +6296,8 @@ export declare interface ITypographyProps {
|
|
|
6295
6296
|
* @internal
|
|
6296
6297
|
*/
|
|
6297
6298
|
export declare interface IUiAddGranteeDialogProps {
|
|
6299
|
+
/** Whether the dialog is shown. */
|
|
6300
|
+
isOpen: boolean;
|
|
6298
6301
|
/** Object title shown in the header — wrapped into `Share "\{title\}"`. */
|
|
6299
6302
|
objectTitle: string;
|
|
6300
6303
|
/** Current search query. */
|
|
@@ -6310,7 +6313,7 @@ export declare interface IUiAddGranteeDialogProps {
|
|
|
6310
6313
|
selectedGrantee?: ReactNode;
|
|
6311
6314
|
/** Fires when the user clicks the header back-arrow button. */
|
|
6312
6315
|
onBack: () => void;
|
|
6313
|
-
/** Fires when the user clicks the header X close button. */
|
|
6316
|
+
/** Fires when the user clicks the header X close button or dismisses the modal. */
|
|
6314
6317
|
onClose: () => void;
|
|
6315
6318
|
/** Fires when the user clicks Cancel in the footer. */
|
|
6316
6319
|
onCancel: () => void;
|
|
@@ -6318,7 +6321,7 @@ export declare interface IUiAddGranteeDialogProps {
|
|
|
6318
6321
|
onAdd: () => void;
|
|
6319
6322
|
/** When true, the primary Add button is disabled. */
|
|
6320
6323
|
isAddDisabled?: boolean;
|
|
6321
|
-
/** Test id forwarded to the
|
|
6324
|
+
/** Test id forwarded to the modal overlay. */
|
|
6322
6325
|
dataTestId?: string;
|
|
6323
6326
|
}
|
|
6324
6327
|
|
|
@@ -6737,7 +6740,7 @@ export declare interface IUiComboboxState {
|
|
|
6737
6740
|
/**
|
|
6738
6741
|
* @internal
|
|
6739
6742
|
*/
|
|
6740
|
-
export declare interface
|
|
6743
|
+
export declare interface IUiConfirmDialogCardProps {
|
|
6741
6744
|
/** Dialog title rendered inside the header. */
|
|
6742
6745
|
title: string;
|
|
6743
6746
|
/** Body content — typically a sentence or two of description. */
|
|
@@ -6752,10 +6755,18 @@ export declare interface IUiConfirmDialogProps {
|
|
|
6752
6755
|
onCancel: () => void;
|
|
6753
6756
|
/** Fires when the user clicks the footer confirm button. */
|
|
6754
6757
|
onConfirm: () => void;
|
|
6755
|
-
/** Test id forwarded to the root
|
|
6758
|
+
/** Test id forwarded to the root of the card composition. */
|
|
6756
6759
|
dataTestId?: string;
|
|
6757
6760
|
}
|
|
6758
6761
|
|
|
6762
|
+
/**
|
|
6763
|
+
* @internal
|
|
6764
|
+
*/
|
|
6765
|
+
export declare interface IUiConfirmDialogProps extends IUiConfirmDialogCardProps {
|
|
6766
|
+
/** Whether the dialog is shown. */
|
|
6767
|
+
isOpen: boolean;
|
|
6768
|
+
}
|
|
6769
|
+
|
|
6759
6770
|
/**
|
|
6760
6771
|
* @internal
|
|
6761
6772
|
*/
|
|
@@ -6818,6 +6829,14 @@ export declare interface IUiDateProps {
|
|
|
6818
6829
|
allowRelative?: boolean;
|
|
6819
6830
|
}
|
|
6820
6831
|
|
|
6832
|
+
/**
|
|
6833
|
+
* @internal
|
|
6834
|
+
*/
|
|
6835
|
+
export declare interface IUiDialogBodyProps {
|
|
6836
|
+
/** Description content — typically a sentence or two of body text. */
|
|
6837
|
+
children: ReactNode;
|
|
6838
|
+
}
|
|
6839
|
+
|
|
6821
6840
|
/**
|
|
6822
6841
|
* @internal
|
|
6823
6842
|
*/
|
|
@@ -6846,48 +6865,6 @@ export declare interface IUiDialogHeaderProps {
|
|
|
6846
6865
|
leading?: ReactNode;
|
|
6847
6866
|
}
|
|
6848
6867
|
|
|
6849
|
-
/**
|
|
6850
|
-
* Accessibility config for a dialog. By default the shell wires
|
|
6851
|
-
* `aria-labelledby` to the `UiDialogHeader` title via
|
|
6852
|
-
* context — no config is needed when a header is present. For headerless
|
|
6853
|
-
* dialogs, pass `ariaLabel`; to point at an external title
|
|
6854
|
-
* element, pass `ariaLabelledBy`.
|
|
6855
|
-
*
|
|
6856
|
-
* @internal
|
|
6857
|
-
*/
|
|
6858
|
-
export declare interface IUiDialogShellAccessibilityConfig {
|
|
6859
|
-
ariaLabel?: string;
|
|
6860
|
-
ariaLabelledBy?: string;
|
|
6861
|
-
ariaDescribedBy?: string;
|
|
6862
|
-
}
|
|
6863
|
-
|
|
6864
|
-
/**
|
|
6865
|
-
* @internal
|
|
6866
|
-
*/
|
|
6867
|
-
export declare interface IUiDialogShellProps {
|
|
6868
|
-
/** Header / body / footer composed by the caller. */
|
|
6869
|
-
children: ReactNode;
|
|
6870
|
-
/** Dialog width in px. Defaults to 540. */
|
|
6871
|
-
width?: number;
|
|
6872
|
-
/**
|
|
6873
|
-
* When true, the dialog acts as a modal: focus is trapped inside,
|
|
6874
|
-
* autofocus + return-focus-on-unmount apply, ESC fires `onClose`,
|
|
6875
|
-
* and `aria-modal="true"` is set. Leave off for inline
|
|
6876
|
-
* non-blocking dialog cards.
|
|
6877
|
-
*/
|
|
6878
|
-
isModal?: boolean;
|
|
6879
|
-
/** Fires when the user dismisses via ESC. Only active when `isModal`. */
|
|
6880
|
-
onClose?: () => void;
|
|
6881
|
-
/**
|
|
6882
|
-
* Accessibility config. Usually unnecessary — when `UiDialogHeader`
|
|
6883
|
-
* is used as a child the shell auto-wires `aria-labelledby` to
|
|
6884
|
-
* the header's title.
|
|
6885
|
-
*/
|
|
6886
|
-
accessibilityConfig?: IUiDialogShellAccessibilityConfig;
|
|
6887
|
-
/** Test id forwarded to the root element. */
|
|
6888
|
-
dataTestId?: string;
|
|
6889
|
-
}
|
|
6890
|
-
|
|
6891
6868
|
/**
|
|
6892
6869
|
* @internal
|
|
6893
6870
|
*/
|
|
@@ -7774,6 +7751,30 @@ export declare interface IUiMenuSubview {
|
|
|
7774
7751
|
payload?: Record<string, unknown>;
|
|
7775
7752
|
}
|
|
7776
7753
|
|
|
7754
|
+
/**
|
|
7755
|
+
* @internal
|
|
7756
|
+
*/
|
|
7757
|
+
export declare interface IUiModalDialogProps {
|
|
7758
|
+
/** Dialog content composed by the caller — typically `UiDialogHeader`,
|
|
7759
|
+
* an optional `UiDialogBody`, and `UiDialogFooter`. */
|
|
7760
|
+
children: ReactNode;
|
|
7761
|
+
/** Whether the modal is shown. */
|
|
7762
|
+
isOpen: boolean;
|
|
7763
|
+
/** Fires when the user dismisses via Esc, backdrop click, or `onClose` from inside. */
|
|
7764
|
+
onClose: () => void;
|
|
7765
|
+
/** Card width in px. Defaults to 540. */
|
|
7766
|
+
width?: number;
|
|
7767
|
+
/**
|
|
7768
|
+
* Overrides for the dialog landmark's accessible name. Usually unnecessary —
|
|
7769
|
+
* the landmark auto-wires `aria-labelledby` to the `UiDialogHeader` title
|
|
7770
|
+
* via context. For headerless dialogs, pass `ariaLabel`; to point at an
|
|
7771
|
+
* external title, pass `ariaLabelledBy`.
|
|
7772
|
+
*/
|
|
7773
|
+
accessibilityConfig?: Pick<IAccessibilityConfigBase, "ariaLabel" | "ariaLabelledBy">;
|
|
7774
|
+
/** Test id forwarded to the overlay element. */
|
|
7775
|
+
dataTestId?: string;
|
|
7776
|
+
}
|
|
7777
|
+
|
|
7777
7778
|
/**
|
|
7778
7779
|
* @internal
|
|
7779
7780
|
*/
|
|
@@ -7794,6 +7795,32 @@ export declare interface IUiNavigationItem {
|
|
|
7794
7795
|
tabIndex?: number;
|
|
7795
7796
|
}
|
|
7796
7797
|
|
|
7798
|
+
/**
|
|
7799
|
+
* @internal
|
|
7800
|
+
*/
|
|
7801
|
+
export declare interface IUiObjectShareDialogCardProps {
|
|
7802
|
+
/** Object title shown in the header — wrapped into `Share "\{title\}"`. */
|
|
7803
|
+
objectTitle: string;
|
|
7804
|
+
/** Fires when the user clicks the header X button OR the footer Close button. */
|
|
7805
|
+
onClose: () => void;
|
|
7806
|
+
/** Grantee rows shown inside the SHARED WITH section, in render order. */
|
|
7807
|
+
grantees: IUiObjectShareDialogGrantee[];
|
|
7808
|
+
/** Fires when the user clicks the + Add link in the SHARED WITH heading. */
|
|
7809
|
+
onAddClick: () => void;
|
|
7810
|
+
/** Selected general-access option. */
|
|
7811
|
+
generalAccess: GeneralAccessValue;
|
|
7812
|
+
/** Fires when the user picks a different general-access option. */
|
|
7813
|
+
onGeneralAccessChange: (value: GeneralAccessValue) => void;
|
|
7814
|
+
/**
|
|
7815
|
+
* Optional slot rendered next to the "All workspace members" row — typically a
|
|
7816
|
+
* `UiGranteeRowControls` pair for the workspace-wide labels picker
|
|
7817
|
+
* and permission level.
|
|
7818
|
+
*/
|
|
7819
|
+
workspaceControls?: ReactNode;
|
|
7820
|
+
/** Test id forwarded to the root element. */
|
|
7821
|
+
dataTestId?: string;
|
|
7822
|
+
}
|
|
7823
|
+
|
|
7797
7824
|
/**
|
|
7798
7825
|
* Visual data for a single grantee row inside the dialog. The `controls`
|
|
7799
7826
|
* slot lets the caller plug in the per-row controls (typically
|
|
@@ -7819,27 +7846,9 @@ export declare interface IUiObjectShareDialogGrantee {
|
|
|
7819
7846
|
/**
|
|
7820
7847
|
* @internal
|
|
7821
7848
|
*/
|
|
7822
|
-
export declare interface IUiObjectShareDialogProps {
|
|
7823
|
-
/**
|
|
7824
|
-
|
|
7825
|
-
/** Fires when the user clicks the header X button OR the footer Close button. */
|
|
7826
|
-
onClose: () => void;
|
|
7827
|
-
/** Grantee rows shown inside the SHARED WITH section, in render order. */
|
|
7828
|
-
grantees: IUiObjectShareDialogGrantee[];
|
|
7829
|
-
/** Fires when the user clicks the + Add link in the SHARED WITH heading. */
|
|
7830
|
-
onAddClick: () => void;
|
|
7831
|
-
/** Selected general-access option. */
|
|
7832
|
-
generalAccess: GeneralAccessValue;
|
|
7833
|
-
/** Fires when the user picks a different general-access option. */
|
|
7834
|
-
onGeneralAccessChange: (value: GeneralAccessValue) => void;
|
|
7835
|
-
/**
|
|
7836
|
-
* Optional slot rendered next to the "All workspace members" row — typically a
|
|
7837
|
-
* `UiGranteeRowControls` pair for the workspace-wide labels picker
|
|
7838
|
-
* and permission level.
|
|
7839
|
-
*/
|
|
7840
|
-
workspaceControls?: ReactNode;
|
|
7841
|
-
/** Test id forwarded to the root element. */
|
|
7842
|
-
dataTestId?: string;
|
|
7849
|
+
export declare interface IUiObjectShareDialogProps extends IUiObjectShareDialogCardProps {
|
|
7850
|
+
/** Whether the dialog is shown. */
|
|
7851
|
+
isOpen: boolean;
|
|
7843
7852
|
}
|
|
7844
7853
|
|
|
7845
7854
|
/**
|
|
@@ -8434,6 +8443,14 @@ export declare interface IUiTextInputProps {
|
|
|
8434
8443
|
accessibilityConfig?: IAccessibilityConfigBase;
|
|
8435
8444
|
disabled?: boolean;
|
|
8436
8445
|
autoFocus?: boolean;
|
|
8446
|
+
/** Forwarded to the input element. Use for autocomplete / combobox patterns. */
|
|
8447
|
+
onKeyDown?: KeyboardEventHandler<HTMLInputElement>;
|
|
8448
|
+
/** Forwarded to the input element. */
|
|
8449
|
+
onFocus?: FocusEventHandler<HTMLInputElement>;
|
|
8450
|
+
/** Forwarded to the input element. */
|
|
8451
|
+
onBlur?: FocusEventHandler<HTMLInputElement>;
|
|
8452
|
+
/** Forwarded to the input element. */
|
|
8453
|
+
onClick?: MouseEventHandler<HTMLInputElement>;
|
|
8437
8454
|
/** Test id forwarded to the input element. */
|
|
8438
8455
|
dataTestId?: string;
|
|
8439
8456
|
}
|
|
@@ -9945,13 +9962,13 @@ export declare function Typography({ tagName: Tag, children, className, title, i
|
|
|
9945
9962
|
export declare type TypographyTagName = "h1" | "h2" | "h3" | "p";
|
|
9946
9963
|
|
|
9947
9964
|
/**
|
|
9948
|
-
*
|
|
9965
|
+
* Modal dialog for adding a grantee, opened from the share dialog's
|
|
9949
9966
|
* "+ Add" action. Lets the author search for a user or group, preview the
|
|
9950
9967
|
* grantee they picked, and confirm adding them with the footer Add button.
|
|
9951
9968
|
*
|
|
9952
9969
|
* @internal
|
|
9953
9970
|
*/
|
|
9954
|
-
export declare function UiAddGranteeDialog({ objectTitle, searchQuery, onSearchQueryChange, selectedGrantee, onBack, onClose, onCancel, onAdd, isAddDisabled, dataTestId }: IUiAddGranteeDialogProps): JSX.Element;
|
|
9971
|
+
export declare function UiAddGranteeDialog({ isOpen, objectTitle, searchQuery, onSearchQueryChange, selectedGrantee, onBack, onClose, onCancel, onAdd, isAddDisabled, dataTestId }: IUiAddGranteeDialogProps): JSX.Element;
|
|
9955
9972
|
|
|
9956
9973
|
/**
|
|
9957
9974
|
* @internal
|
|
@@ -10172,14 +10189,26 @@ export declare function UiComboboxPopup({ style, className, children, ...htmlPro
|
|
|
10172
10189
|
export declare type UiComboboxPopupProps = HTMLAttributes<HTMLDivElement>;
|
|
10173
10190
|
|
|
10174
10191
|
/**
|
|
10175
|
-
*
|
|
10176
|
-
*
|
|
10177
|
-
*
|
|
10178
|
-
*
|
|
10192
|
+
* Modal confirm dialog used for actions that need explicit user confirmation
|
|
10193
|
+
* (granting workspace access, restricting access, removing a grantee,
|
|
10194
|
+
* transferring ownership). Wraps `UiConfirmDialogCard` in `UiModalDialog`
|
|
10195
|
+
* for the full modal contract — portal, dimmed backdrop, focus trap,
|
|
10196
|
+
* Esc and backdrop dismiss.
|
|
10179
10197
|
*
|
|
10180
10198
|
* @internal
|
|
10181
10199
|
*/
|
|
10182
|
-
export declare function UiConfirmDialog({
|
|
10200
|
+
export declare function UiConfirmDialog({ isOpen, ...cardProps }: IUiConfirmDialogProps): JSX.Element;
|
|
10201
|
+
|
|
10202
|
+
/**
|
|
10203
|
+
* Confirm dialog composition — header, description body, footer with Cancel
|
|
10204
|
+
* and Confirm buttons. Designed to be rendered inside `UiModalDialog`, which
|
|
10205
|
+
* provides the modal chrome (portal, backdrop, card surface, focus trap,
|
|
10206
|
+
* dismiss). `UiConfirmDialog` wraps this composition in `UiModalDialog`
|
|
10207
|
+
* with the right width and exposes the combined surface to callers.
|
|
10208
|
+
*
|
|
10209
|
+
* @internal
|
|
10210
|
+
*/
|
|
10211
|
+
export declare function UiConfirmDialogCard({ title, description, confirmLabel, confirmVariant, onClose, onCancel, onConfirm, dataTestId }: IUiConfirmDialogCardProps): JSX.Element;
|
|
10183
10212
|
|
|
10184
10213
|
/**
|
|
10185
10214
|
* Generic chip-shaped dropdown trigger primitive. One source of truth for filter-bar chip
|
|
@@ -10204,29 +10233,28 @@ export declare function UiCopyButton({ label, clipboardContent, successMessage,
|
|
|
10204
10233
|
export declare function UiDate({ date, locale, relativeThresholdMs, absoluteOptions, allowRelative }: IUiDateProps): JSX.Element;
|
|
10205
10234
|
|
|
10206
10235
|
/**
|
|
10207
|
-
* Dialog
|
|
10208
|
-
*
|
|
10236
|
+
* Dialog description body — slot for cards whose meaning lives in a single
|
|
10237
|
+
* block of text (confirm dialogs). Carries the dialog's `descriptionId` so
|
|
10238
|
+
* the modal landmark's `aria-describedby` resolves to this element.
|
|
10209
10239
|
*
|
|
10210
10240
|
* @internal
|
|
10211
10241
|
*/
|
|
10212
|
-
export declare function
|
|
10242
|
+
export declare function UiDialogBody({ children }: IUiDialogBodyProps): JSX.Element;
|
|
10213
10243
|
|
|
10214
10244
|
/**
|
|
10215
|
-
* Dialog
|
|
10245
|
+
* Dialog footer: right-aligned cluster of action buttons. Optionally renders
|
|
10246
|
+
* a 1px divider above the actions.
|
|
10216
10247
|
*
|
|
10217
10248
|
* @internal
|
|
10218
10249
|
*/
|
|
10219
|
-
export declare function
|
|
10250
|
+
export declare function UiDialogFooter({ children, divider }: IUiDialogFooterProps): JSX.Element;
|
|
10220
10251
|
|
|
10221
10252
|
/**
|
|
10222
|
-
*
|
|
10223
|
-
* 20px padding. Holds whatever the caller composes inside. Set
|
|
10224
|
-
* `isModal` for blocking dialogs (adds focus trap, autofocus,
|
|
10225
|
-
* return-focus, ESC handling and `aria-modal`).
|
|
10253
|
+
* Dialog header: optional leading slot + title + optional close X.
|
|
10226
10254
|
*
|
|
10227
10255
|
* @internal
|
|
10228
10256
|
*/
|
|
10229
|
-
export declare function
|
|
10257
|
+
export declare function UiDialogHeader({ title, titleSize, onClose, leading }: IUiDialogHeaderProps): JSX.Element;
|
|
10230
10258
|
|
|
10231
10259
|
/**
|
|
10232
10260
|
* @internal
|
|
@@ -10445,19 +10473,39 @@ export declare type UiListboxAriaAttributes = Omit<IDropdownBodyRenderProps["ari
|
|
|
10445
10473
|
*/
|
|
10446
10474
|
export declare function UiMenu<T extends IUiMenuItemData = object, M extends object = object>(props: IUiMenuProps<T, M>): ReactNode;
|
|
10447
10475
|
|
|
10476
|
+
/**
|
|
10477
|
+
* Modal dialog — portal, dimmed backdrop, card chrome (radius, shadow, fill,
|
|
10478
|
+
* padding), focus management, dismiss-on-outside / Esc, and the dialog
|
|
10479
|
+
* landmark (`role="dialog"`, `aria-modal="true"`). Compose `UiDialogHeader`,
|
|
10480
|
+
* an optional `UiDialogBody`, and `UiDialogFooter` as children.
|
|
10481
|
+
*
|
|
10482
|
+
* @internal
|
|
10483
|
+
*/
|
|
10484
|
+
export declare function UiModalDialog({ children, isOpen, onClose, width, accessibilityConfig, dataTestId }: IUiModalDialogProps): JSX.Element | null;
|
|
10485
|
+
|
|
10448
10486
|
/**
|
|
10449
10487
|
* @internal
|
|
10450
10488
|
*/
|
|
10451
10489
|
export declare function UiNavigationBypass({ label, items, onItemClick, style }: IUiNavigationBypassProps): JSX.Element;
|
|
10452
10490
|
|
|
10453
10491
|
/**
|
|
10454
|
-
*
|
|
10455
|
-
*
|
|
10456
|
-
*
|
|
10492
|
+
* Object share dialog — wraps `UiObjectShareDialogCard` in `UiModalDialog`
|
|
10493
|
+
* for the full modal contract (portal, dimmed backdrop, focus trap, Esc
|
|
10494
|
+
* and backdrop dismiss).
|
|
10495
|
+
*
|
|
10496
|
+
* @internal
|
|
10497
|
+
*/
|
|
10498
|
+
export declare function UiObjectShareDialog({ isOpen, ...cardProps }: IUiObjectShareDialogProps): JSX.Element;
|
|
10499
|
+
|
|
10500
|
+
/**
|
|
10501
|
+
* Object share dialog card — header, grantee list, general-access radio,
|
|
10502
|
+
* footer Close button. Renders inline as a plain card. For modal behavior
|
|
10503
|
+
* (portal, backdrop, focus trap, dismiss), use `UiObjectShareDialog`
|
|
10504
|
+
* which wraps this in `UiModalDialog`.
|
|
10457
10505
|
*
|
|
10458
10506
|
* @internal
|
|
10459
10507
|
*/
|
|
10460
|
-
export declare function
|
|
10508
|
+
export declare function UiObjectShareDialogCard({ objectTitle, onClose, grantees, onAddClick, generalAccess, onGeneralAccessChange, workspaceControls, dataTestId }: IUiObjectShareDialogCardProps): JSX.Element;
|
|
10461
10509
|
|
|
10462
10510
|
/**
|
|
10463
10511
|
* @internal
|
|
@@ -10636,7 +10684,7 @@ export declare function UiTags({ tags, tagOptions, addLabel, nameLabel, cancelLa
|
|
|
10636
10684
|
*
|
|
10637
10685
|
* @internal
|
|
10638
10686
|
*/
|
|
10639
|
-
export declare function UiTextInput({ type, value, onChange, label, placeholder, iconBefore, iconAfter, onIconAfter, accessibilityConfig, disabled, autoFocus, dataTestId }: IUiTextInputProps): JSX.Element;
|
|
10687
|
+
export declare function UiTextInput({ type, value, onChange, label, placeholder, iconBefore, iconAfter, onIconAfter, accessibilityConfig, disabled, autoFocus, onKeyDown, onFocus, onBlur, onClick, dataTestId }: IUiTextInputProps): JSX.Element;
|
|
10640
10688
|
|
|
10641
10689
|
/**
|
|
10642
10690
|
* Interpolation values accepted by `react-intl`'s `formatMessage`, **narrowed
|
|
@@ -11077,7 +11125,7 @@ export declare const useOverlayZIndex: (uuid: string) => number | undefined;
|
|
|
11077
11125
|
*
|
|
11078
11126
|
* @internal
|
|
11079
11127
|
*/
|
|
11080
|
-
export declare function useOverlayZIndexWithRegister(): number
|
|
11128
|
+
export declare function useOverlayZIndexWithRegister(): number;
|
|
11081
11129
|
|
|
11082
11130
|
/**
|
|
11083
11131
|
* Hook to consume responsive context.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/typings/utilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;GAGG;AACH,oBAAY,aAAa;IACrB,cAAc,KAAK;IACnB,eAAe,KAAK;CACvB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC3C,mBAAmB,CAAC,EAAE,wBAAwB,GAC/C,cAAc,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/typings/utilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;GAGG;AACH,oBAAY,aAAa;IACrB,cAAc,KAAK;IACnB,eAAe,KAAK;CACvB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC3C,mBAAmB,CAAC,EAAE,wBAAwB,GAC/C,cAAc,CAAC,WAAW,CAAC,CAiB7B"}
|
package/esm/typings/utilities.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2020-
|
|
1
|
+
// (C) 2020-2026 GoodData Corporation
|
|
2
2
|
export { ENUM_KEY_CODE };
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated use `event.key` or `event.code`. See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
|
|
@@ -25,5 +25,7 @@ export function accessibilityConfigToAttributes(accessibilityConfig) {
|
|
|
25
25
|
"aria-controls": accessibilityConfig.ariaControls,
|
|
26
26
|
"aria-haspopup": accessibilityConfig.ariaHaspopup,
|
|
27
27
|
"aria-pressed": accessibilityConfig.ariaPressed,
|
|
28
|
+
"aria-autocomplete": accessibilityConfig.ariaAutocomplete,
|
|
29
|
+
"aria-activedescendant": accessibilityConfig.ariaActiveDescendant,
|
|
28
30
|
};
|
|
29
31
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-kit",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.42.0-alpha.0",
|
|
4
4
|
"description": "GoodData SDK - UI Building Components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -75,11 +75,11 @@
|
|
|
75
75
|
"tslib": "2.8.1",
|
|
76
76
|
"unified": "^11.0.5",
|
|
77
77
|
"uuid": "11.1.1",
|
|
78
|
-
"@gooddata/sdk-backend-spi": "11.
|
|
79
|
-
"@gooddata/sdk-model": "11.
|
|
80
|
-
"@gooddata/sdk-ui": "11.
|
|
81
|
-
"@gooddata/
|
|
82
|
-
"@gooddata/
|
|
78
|
+
"@gooddata/sdk-backend-spi": "11.42.0-alpha.0",
|
|
79
|
+
"@gooddata/sdk-model": "11.42.0-alpha.0",
|
|
80
|
+
"@gooddata/sdk-ui": "11.42.0-alpha.0",
|
|
81
|
+
"@gooddata/util": "11.42.0-alpha.0",
|
|
82
|
+
"@gooddata/sdk-ui-theme-provider": "11.42.0-alpha.0"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -128,11 +128,11 @@
|
|
|
128
128
|
"typescript": "5.9.3",
|
|
129
129
|
"vitest": "4.1.8",
|
|
130
130
|
"vitest-dom": "0.1.1",
|
|
131
|
-
"@gooddata/eslint-config": "11.
|
|
132
|
-
"@gooddata/
|
|
133
|
-
"@gooddata/
|
|
134
|
-
"@gooddata/
|
|
135
|
-
"@gooddata/
|
|
131
|
+
"@gooddata/eslint-config": "11.42.0-alpha.0",
|
|
132
|
+
"@gooddata/oxlint-config": "11.42.0-alpha.0",
|
|
133
|
+
"@gooddata/reference-workspace": "11.42.0-alpha.0",
|
|
134
|
+
"@gooddata/sdk-backend-mockingbird": "11.42.0-alpha.0",
|
|
135
|
+
"@gooddata/stylelint-config": "11.42.0-alpha.0"
|
|
136
136
|
},
|
|
137
137
|
"peerDependencies": {
|
|
138
138
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
|
|
3
|
-
.gd-ui-kit-dialog
|
|
3
|
+
.gd-ui-kit-modal-dialog {
|
|
4
4
|
display: flex;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
background
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
align-items: center;
|
|
6
|
+
justify-content: center;
|
|
7
|
+
background: var(--gd-modal-outsideBackgroundColor);
|
|
8
|
+
|
|
9
|
+
&__card {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
max-height: calc(100vh - 80px);
|
|
13
|
+
overflow-y: auto;
|
|
14
|
+
overscroll-behavior: contain;
|
|
15
|
+
padding: var(--gd-spacing-20px);
|
|
16
|
+
background-color: var(--gd-palette-complementary-0);
|
|
17
|
+
border-radius: var(--gd-modal-borderRadius);
|
|
18
|
+
box-shadow: 0 2px 8px var(--gd-shadow-color);
|
|
19
|
+
}
|
|
10
20
|
}
|
|
11
21
|
|
|
12
22
|
.gd-ui-kit-dialog-header {
|
|
@@ -43,6 +53,13 @@
|
|
|
43
53
|
}
|
|
44
54
|
}
|
|
45
55
|
|
|
56
|
+
.gd-ui-kit-dialog-body {
|
|
57
|
+
font-size: 14px;
|
|
58
|
+
line-height: 20px;
|
|
59
|
+
color: var(--gd-palette-complementary-7);
|
|
60
|
+
margin-bottom: var(--gd-spacing-20px);
|
|
61
|
+
}
|
|
62
|
+
|
|
46
63
|
.gd-ui-kit-dialog-footer {
|
|
47
64
|
display: flex;
|
|
48
65
|
justify-content: flex-end;
|
|
@@ -24,6 +24,14 @@
|
|
|
24
24
|
&__item-row {
|
|
25
25
|
display: flex;
|
|
26
26
|
align-items: stretch;
|
|
27
|
+
|
|
28
|
+
// Hover/focus highlight covers the full row (label button + adjacent
|
|
29
|
+
// tooltip-icon button), not just the label button. The two buttons
|
|
30
|
+
// are siblings — a partial highlight would look broken.
|
|
31
|
+
&:hover,
|
|
32
|
+
&:focus-within {
|
|
33
|
+
background: var(--gd-palette-complementary-2);
|
|
34
|
+
}
|
|
27
35
|
}
|
|
28
36
|
|
|
29
37
|
&__item {
|
|
@@ -40,11 +48,16 @@
|
|
|
40
48
|
font: inherit;
|
|
41
49
|
color: var(--gd-palette-complementary-8);
|
|
42
50
|
|
|
43
|
-
&:hover,
|
|
44
51
|
&:focus-visible {
|
|
45
|
-
background: var(--gd-palette-complementary-2);
|
|
46
52
|
outline: none;
|
|
47
53
|
}
|
|
54
|
+
|
|
55
|
+
// Selected radio item — same convention as the legacy share dialog,
|
|
56
|
+
// which renders the active permission level in primary-base.
|
|
57
|
+
&[aria-checked="true"] {
|
|
58
|
+
color: var(--gd-palette-primary-base);
|
|
59
|
+
font-weight: 700;
|
|
60
|
+
}
|
|
48
61
|
}
|
|
49
62
|
|
|
50
63
|
&__item-label {
|
package/src/@ui/index.scss
CHANGED
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
@use "./UiInlineTextGenerator/UiInlineTextGenerator.scss";
|
|
32
32
|
@use "./UiErrorPage/UiErrorPage.scss";
|
|
33
33
|
@use "./UiSectionHeading/UiSectionHeading.scss";
|
|
34
|
-
@use "./UiDialogShell/UiDialogShell.scss";
|
|
35
34
|
@use "./UiConfirmDialog/UiConfirmDialog.scss";
|
|
36
35
|
@use "./UiTextInput/UiTextInput.scss";
|
|
37
36
|
@use "./UiRadio/UiRadio.scss";
|
|
38
37
|
@use "./UiRadioRow/UiRadioRow.scss";
|
|
39
38
|
@use "./UiAvatar/UiAvatar.scss";
|
|
40
39
|
@use "./UiGranteeRow/UiGranteeRow.scss";
|
|
40
|
+
@use "./UiModalDialog/UiModalDialog.scss";
|
|
41
41
|
@use "./UiObjectShareDialog/UiObjectShareDialog.scss";
|
|
42
42
|
@use "./UiAddGranteeDialog/UiAddGranteeDialog.scss";
|
|
43
43
|
@use "./UiGeneralAccessRadio/UiGeneralAccessRadio.scss";
|