@gooddata/sdk-ui-kit 10.34.0-alpha.2 → 10.34.0-alpha.20
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/size.d.ts +8 -0
- package/esm/@ui/@types/size.d.ts.map +1 -1
- package/esm/@ui/@types/variant.d.ts +4 -0
- package/esm/@ui/@types/variant.d.ts.map +1 -1
- package/esm/@ui/@utils/size.d.ts +2 -2
- package/esm/@ui/@utils/size.d.ts.map +1 -1
- package/esm/@ui/@utils/size.js +4 -0
- package/esm/@ui/@utils/size.js.map +1 -1
- package/esm/@ui/UiBadge/UiBadge.d.ts +13 -0
- package/esm/@ui/UiBadge/UiBadge.d.ts.map +1 -0
- package/esm/@ui/UiBadge/UiBadge.js +12 -0
- package/esm/@ui/UiBadge/UiBadge.js.map +1 -0
- package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
- package/esm/@ui/UiButton/UiButton.js +1 -2
- package/esm/@ui/UiButton/UiButton.js.map +1 -1
- package/esm/@ui/UiCheckbox/UiCheckbox.d.ts +15 -0
- package/esm/@ui/UiCheckbox/UiCheckbox.d.ts.map +1 -0
- package/esm/@ui/UiCheckbox/UiCheckbox.js +11 -0
- package/esm/@ui/UiCheckbox/UiCheckbox.js.map +1 -0
- package/esm/@ui/UiIconButton/UiIconButtonRenderer.d.ts +5 -5
- package/esm/@ui/UiIconButton/UiIconButtonRenderer.d.ts.map +1 -1
- package/esm/@ui/UiIconButton/UiIconButtonRenderer.js.map +1 -1
- package/esm/@ui/UiMenu/UiMenu.d.ts.map +1 -1
- package/esm/@ui/UiMenu/UiMenu.js +6 -4
- package/esm/@ui/UiMenu/UiMenu.js.map +1 -1
- package/esm/@ui/UiMenu/hooks.d.ts.map +1 -1
- package/esm/@ui/UiMenu/hooks.js +1 -2
- package/esm/@ui/UiMenu/hooks.js.map +1 -1
- package/esm/@ui/UiMenu/types.d.ts +2 -8
- package/esm/@ui/UiMenu/types.d.ts.map +1 -1
- package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.d.ts +3 -0
- package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.d.ts.map +1 -1
- package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.js +21 -5
- package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.js.map +1 -1
- package/esm/@ui/UiSkeleton/UiSkeleton.d.ts +5 -1
- package/esm/@ui/UiSkeleton/UiSkeleton.d.ts.map +1 -1
- package/esm/@ui/UiSkeleton/UiSkeleton.js +4 -1
- package/esm/@ui/UiSkeleton/UiSkeleton.js.map +1 -1
- package/esm/Dialog/ShareDialog/ShareDialogBase/ShareLink.d.ts.map +1 -1
- package/esm/Dialog/ShareDialog/ShareDialogBase/ShareLink.js +1 -1
- package/esm/Dialog/ShareDialog/ShareDialogBase/ShareLink.js.map +1 -1
- package/esm/Dropdown/Dropdown.d.ts +1 -1
- package/esm/Dropdown/Dropdown.d.ts.map +1 -1
- package/esm/Form/InputPure.js +1 -1
- package/esm/Form/InputPure.js.map +1 -1
- package/esm/Table/AsyncTable.d.ts +9 -0
- package/esm/Table/AsyncTable.d.ts.map +1 -0
- package/esm/Table/AsyncTable.js +97 -0
- package/esm/Table/AsyncTable.js.map +1 -0
- package/esm/Table/AsyncTableBulkActions.d.ts +4 -0
- package/esm/Table/AsyncTableBulkActions.d.ts.map +1 -0
- package/esm/Table/AsyncTableBulkActions.js +21 -0
- package/esm/Table/AsyncTableBulkActions.js.map +1 -0
- package/esm/Table/AsyncTableCheckbox.d.ts +4 -0
- package/esm/Table/AsyncTableCheckbox.d.ts.map +1 -0
- package/esm/Table/AsyncTableCheckbox.js +9 -0
- package/esm/Table/AsyncTableCheckbox.js.map +1 -0
- package/esm/Table/AsyncTableDropdownItem.d.ts +5 -0
- package/esm/Table/AsyncTableDropdownItem.d.ts.map +1 -0
- package/esm/Table/AsyncTableDropdownItem.js +6 -0
- package/esm/Table/AsyncTableDropdownItem.js.map +1 -0
- package/esm/Table/AsyncTableEmptyState.d.ts +3 -0
- package/esm/Table/AsyncTableEmptyState.d.ts.map +1 -0
- package/esm/Table/AsyncTableEmptyState.js +14 -0
- package/esm/Table/AsyncTableEmptyState.js.map +1 -0
- package/esm/Table/AsyncTableFilter.d.ts +7 -0
- package/esm/Table/AsyncTableFilter.d.ts.map +1 -0
- package/esm/Table/AsyncTableFilter.js +32 -0
- package/esm/Table/AsyncTableFilter.js.map +1 -0
- package/esm/Table/AsyncTableHeader.d.ts +4 -0
- package/esm/Table/AsyncTableHeader.d.ts.map +1 -0
- package/esm/Table/AsyncTableHeader.js +58 -0
- package/esm/Table/AsyncTableHeader.js.map +1 -0
- package/esm/Table/AsyncTableRow.d.ts +6 -0
- package/esm/Table/AsyncTableRow.d.ts.map +1 -0
- package/esm/Table/AsyncTableRow.js +68 -0
- package/esm/Table/AsyncTableRow.js.map +1 -0
- package/esm/Table/AsyncTableTitle.d.ts +4 -0
- package/esm/Table/AsyncTableTitle.d.ts.map +1 -0
- package/esm/Table/AsyncTableTitle.js +36 -0
- package/esm/Table/AsyncTableTitle.js.map +1 -0
- package/esm/Table/AsyncTableToolbar.d.ts +6 -0
- package/esm/Table/AsyncTableToolbar.d.ts.map +1 -0
- package/esm/Table/AsyncTableToolbar.js +56 -0
- package/esm/Table/AsyncTableToolbar.js.map +1 -0
- package/esm/Table/SkeletonItemFactory.d.ts +7 -0
- package/esm/Table/SkeletonItemFactory.d.ts.map +1 -0
- package/esm/Table/SkeletonItemFactory.js +12 -0
- package/esm/Table/SkeletonItemFactory.js.map +1 -0
- package/esm/Table/asyncTableBem.d.ts +2 -0
- package/esm/Table/asyncTableBem.d.ts.map +1 -0
- package/esm/Table/asyncTableBem.js +4 -0
- package/esm/Table/asyncTableBem.js.map +1 -0
- package/esm/Table/constants.d.ts +10 -0
- package/esm/Table/constants.d.ts.map +1 -0
- package/esm/Table/constants.js +11 -0
- package/esm/Table/constants.js.map +1 -0
- package/esm/Table/index.d.ts +3 -0
- package/esm/Table/index.d.ts.map +1 -0
- package/esm/Table/index.js +3 -0
- package/esm/Table/index.js.map +1 -0
- package/esm/Table/locales.d.ts +3 -0
- package/esm/Table/locales.d.ts.map +1 -0
- package/esm/Table/locales.js +13 -0
- package/esm/Table/locales.js.map +1 -0
- package/esm/Table/types.d.ts +137 -0
- package/esm/Table/types.d.ts.map +1 -0
- package/esm/Table/types.js +3 -0
- package/esm/Table/types.js.map +1 -0
- package/esm/Table/utils.d.ts +2 -0
- package/esm/Table/utils.d.ts.map +1 -0
- package/esm/Table/utils.js +6 -0
- package/esm/Table/utils.js.map +1 -0
- package/esm/index.d.ts +7 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -1
- package/esm/sdk-ui-kit.d.ts +154 -15
- package/package.json +11 -10
- package/src/@ui/UiBadge/UiBadge.scss +16 -0
- package/src/@ui/UiCheckbox/UiCheckbox.scss +71 -0
- package/src/@ui/UiIconButton/UiIconButton.scss +37 -0
- package/src/@ui/UiMenu/UiMenu.scss +12 -0
- package/src/@ui/UiPagedVirtualList/UiPagedVirtualList.scss +17 -0
- package/src/@ui/UiSkeleton/UiSkeleton.scss +2 -1
- package/src/@ui/defaultTheme.scss +17 -0
- package/src/@ui/index.scss +2 -0
- package/styles/css/asyncTable.css +205 -0
- package/styles/css/asyncTable.css.map +1 -0
- package/styles/css/main.css +342 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/asyncTable.scss +261 -0
- package/styles/scss/main.scss +1 -0
package/esm/sdk-ui-kit.d.ts
CHANGED
@@ -55,7 +55,7 @@ import { default as React_2 } from 'react';
|
|
55
55
|
import * as React_3 from 'react';
|
56
56
|
import { ReactNode } from 'react';
|
57
57
|
import { ShareStatus } from '@gooddata/sdk-model';
|
58
|
-
import { SortDirection } from '@gooddata/sdk-model';
|
58
|
+
import { SortDirection as SortDirection_2 } from '@gooddata/sdk-model';
|
59
59
|
import { WeekStart } from '@gooddata/sdk-model';
|
60
60
|
import { WithIntlProps } from 'react-intl';
|
61
61
|
import { WrappedComponentProps } from 'react-intl';
|
@@ -141,6 +141,13 @@ export declare type ArrowOffsets = Record<string, ArrowOffset>;
|
|
141
141
|
*/
|
142
142
|
export declare function AsyncList<T>(props: IAsyncListProps<T>): React_2.JSX.Element;
|
143
143
|
|
144
|
+
/**
|
145
|
+
* @internal
|
146
|
+
*/
|
147
|
+
export declare const AsyncTable: <T extends {
|
148
|
+
id: string;
|
149
|
+
}>(props: IAsyncTableProps<T>) => React_2.JSX.Element;
|
150
|
+
|
144
151
|
/**
|
145
152
|
* @internal
|
146
153
|
*/
|
@@ -1364,6 +1371,64 @@ export declare interface IAsyncListProps<T> {
|
|
1364
1371
|
onLoadNextPage?: () => void;
|
1365
1372
|
}
|
1366
1373
|
|
1374
|
+
/**
|
1375
|
+
* @internal
|
1376
|
+
*/
|
1377
|
+
export declare interface IAsyncTableFilter {
|
1378
|
+
label: string;
|
1379
|
+
options: Array<IAsyncTableFilterOption>;
|
1380
|
+
onItemClick: (option: IAsyncTableFilterOption) => void;
|
1381
|
+
selected?: string;
|
1382
|
+
}
|
1383
|
+
|
1384
|
+
/**
|
1385
|
+
* @internal
|
1386
|
+
*/
|
1387
|
+
export declare interface IAsyncTableFilterOption {
|
1388
|
+
value: string;
|
1389
|
+
label?: string;
|
1390
|
+
isSelected?: boolean;
|
1391
|
+
}
|
1392
|
+
|
1393
|
+
/**
|
1394
|
+
* @internal
|
1395
|
+
*/
|
1396
|
+
export declare interface IAsyncTableProps<T extends {
|
1397
|
+
id: string;
|
1398
|
+
}> {
|
1399
|
+
items: T[];
|
1400
|
+
totalItemsCount?: number;
|
1401
|
+
columns: Array<IColumn<T>>;
|
1402
|
+
width?: number;
|
1403
|
+
maxHeight?: number;
|
1404
|
+
smallHeader?: boolean;
|
1405
|
+
skeletonItemsCount?: number;
|
1406
|
+
isLoading?: boolean;
|
1407
|
+
hasNextPage?: boolean;
|
1408
|
+
loadNextPage?: () => void;
|
1409
|
+
title: string;
|
1410
|
+
onSearch?: (search: string) => void;
|
1411
|
+
renderTitleIcon?: () => React.ReactNode;
|
1412
|
+
titleActions?: Array<IAsyncTableTitleAction>;
|
1413
|
+
filters?: Array<IAsyncTableFilter>;
|
1414
|
+
sortBy?: keyof T;
|
1415
|
+
sortDirection?: SortDirection;
|
1416
|
+
onSort?: (key: keyof T) => void;
|
1417
|
+
bulkActions?: Array<IBulkAction>;
|
1418
|
+
selectedItemIds?: Array<string>;
|
1419
|
+
setSelectedItemIds?: (items: Array<string>) => void;
|
1420
|
+
renderItem?: (item: T) => React.ReactNode;
|
1421
|
+
renderHeader?: () => React.ReactNode;
|
1422
|
+
locale?: string;
|
1423
|
+
}
|
1424
|
+
|
1425
|
+
/**
|
1426
|
+
* @internal
|
1427
|
+
*/
|
1428
|
+
export declare interface IAsyncTableTitleAction {
|
1429
|
+
renderAction: () => React.ReactNode;
|
1430
|
+
}
|
1431
|
+
|
1367
1432
|
/**
|
1368
1433
|
* @internal
|
1369
1434
|
*/
|
@@ -1514,6 +1579,14 @@ export declare interface IBucketItemDescriptors {
|
|
1514
1579
|
[localIdentifier: string]: IBucketItemDescriptor;
|
1515
1580
|
}
|
1516
1581
|
|
1582
|
+
/**
|
1583
|
+
* @internal
|
1584
|
+
*/
|
1585
|
+
export declare interface IBulkAction {
|
1586
|
+
label: string;
|
1587
|
+
onClick: () => void;
|
1588
|
+
}
|
1589
|
+
|
1517
1590
|
/**
|
1518
1591
|
* @internal
|
1519
1592
|
*/
|
@@ -1592,6 +1665,24 @@ export declare interface IColorPreviewProps {
|
|
1592
1665
|
className?: string;
|
1593
1666
|
}
|
1594
1667
|
|
1668
|
+
/**
|
1669
|
+
* @internal
|
1670
|
+
*/
|
1671
|
+
export declare interface IColumn<T> {
|
1672
|
+
key?: keyof T;
|
1673
|
+
label?: string;
|
1674
|
+
width?: number;
|
1675
|
+
renderMenu?: (item: T) => React.ReactNode;
|
1676
|
+
renderButton?: (item: T) => React.ReactNode;
|
1677
|
+
renderRoleIcon?: (item: T) => React.ReactNode;
|
1678
|
+
renderPrefixIcon?: (item: T) => React.ReactNode;
|
1679
|
+
renderSuffixIcon?: (item: T) => React.ReactNode;
|
1680
|
+
renderBadge?: (item: T) => React.ReactNode;
|
1681
|
+
getMultiLineContent?: (item: T) => Array<string>;
|
1682
|
+
bold?: boolean;
|
1683
|
+
sortable?: boolean;
|
1684
|
+
}
|
1685
|
+
|
1595
1686
|
/**
|
1596
1687
|
* @internal
|
1597
1688
|
*/
|
@@ -1997,7 +2088,7 @@ export declare interface IDropdownButtonRenderProps {
|
|
1997
2088
|
/**
|
1998
2089
|
* Props supporting accessibility that can be passed down to a <Button/>
|
1999
2090
|
*/
|
2000
|
-
accessibilityConfig: Pick<IButtonAccessibilityConfig, "role" | "isExpanded" | "popupId">;
|
2091
|
+
accessibilityConfig: Pick<IButtonAccessibilityConfig, "role" | "isExpanded" | "popupId" | "ariaLabel">;
|
2001
2092
|
}
|
2002
2093
|
|
2003
2094
|
/**
|
@@ -4449,7 +4540,7 @@ export declare interface ISnapPoints {
|
|
4449
4540
|
export declare interface ISortTypeItem {
|
4450
4541
|
id: SORT_TARGET_TYPE;
|
4451
4542
|
title: string;
|
4452
|
-
sortDirection:
|
4543
|
+
sortDirection: SortDirection_2;
|
4453
4544
|
type: "alphabetical" | "date" | "default" | "numerical";
|
4454
4545
|
localIdentifier: string;
|
4455
4546
|
}
|
@@ -5777,11 +5868,21 @@ export declare type SizeMedium = "medium";
|
|
5777
5868
|
*/
|
5778
5869
|
export declare type SizeSmall = "small";
|
5779
5870
|
|
5871
|
+
/**
|
5872
|
+
* @internal
|
5873
|
+
*/
|
5874
|
+
export declare type SizeXLarge = "xlarge";
|
5875
|
+
|
5780
5876
|
/**
|
5781
5877
|
* @internal
|
5782
5878
|
*/
|
5783
5879
|
export declare type SizeXSmall = "xsmall";
|
5784
5880
|
|
5881
|
+
/**
|
5882
|
+
* @internal
|
5883
|
+
*/
|
5884
|
+
export declare type SizeXXLarge = "xxlarge";
|
5885
|
+
|
5785
5886
|
/**
|
5786
5887
|
* @internal
|
5787
5888
|
*/
|
@@ -5815,6 +5916,11 @@ export declare enum SORT_TARGET_TYPE {
|
|
5815
5916
|
*/
|
5816
5917
|
export declare function sortDateDatasets<T extends IDateDataset>(dateDatasets: T[], recommendedDate?: T, unrelatedDate?: T): Array<T | IDateDatasetHeader>;
|
5817
5918
|
|
5919
|
+
/**
|
5920
|
+
* @internal
|
5921
|
+
*/
|
5922
|
+
export declare type SortDirection = "asc" | "desc";
|
5923
|
+
|
5818
5924
|
/**
|
5819
5925
|
* @internal
|
5820
5926
|
*/
|
@@ -6042,6 +6148,18 @@ export declare const UiAutofocus: React_2.FC<{
|
|
6042
6148
|
children: React_2.ReactNode;
|
6043
6149
|
} & IUiAutofocusOptions>;
|
6044
6150
|
|
6151
|
+
/**
|
6152
|
+
* @internal
|
6153
|
+
*/
|
6154
|
+
export declare const UiBadge: React_2.FC<UiBadgeProps>;
|
6155
|
+
|
6156
|
+
/**
|
6157
|
+
* @internal
|
6158
|
+
*/
|
6159
|
+
export declare interface UiBadgeProps {
|
6160
|
+
label: string;
|
6161
|
+
}
|
6162
|
+
|
6045
6163
|
/**
|
6046
6164
|
* @internal
|
6047
6165
|
*/
|
@@ -6067,6 +6185,21 @@ export declare interface UiButtonProps {
|
|
6067
6185
|
accessibilityConfig?: IUiButtonAccessibilityConfig;
|
6068
6186
|
}
|
6069
6187
|
|
6188
|
+
/**
|
6189
|
+
* @internal
|
6190
|
+
*/
|
6191
|
+
export declare const UiCheckbox: React_2.FC<UiCheckboxProps>;
|
6192
|
+
|
6193
|
+
/**
|
6194
|
+
* @internal
|
6195
|
+
*/
|
6196
|
+
export declare interface UiCheckboxProps {
|
6197
|
+
checked: boolean;
|
6198
|
+
onChange?: (e: React_2.ChangeEvent) => void;
|
6199
|
+
preventDefault?: boolean;
|
6200
|
+
indeterminate?: boolean;
|
6201
|
+
}
|
6202
|
+
|
6070
6203
|
/**
|
6071
6204
|
* @internal
|
6072
6205
|
*/
|
@@ -6135,8 +6268,8 @@ export declare type UiIconButtonProps = UiIconButtonPublicProps;
|
|
6135
6268
|
export declare interface UiIconButtonPublicProps {
|
6136
6269
|
icon: IconType;
|
6137
6270
|
label?: string;
|
6138
|
-
size?: SizeXSmall | SizeSmall | SizeMedium | SizeLarge;
|
6139
|
-
variant?: VariantPrimary | VariantSecondary | VariantTertiary | VariantPopOut | VariantDanger;
|
6271
|
+
size?: SizeXSmall | SizeSmall | SizeMedium | SizeLarge | SizeXLarge | SizeXXLarge;
|
6272
|
+
variant?: VariantPrimary | VariantSecondary | VariantTertiary | VariantPopOut | VariantDanger | VariantTable;
|
6140
6273
|
isDisabled?: boolean;
|
6141
6274
|
isActive?: boolean;
|
6142
6275
|
onClick?: (e: React_2.MouseEvent<HTMLButtonElement>) => void;
|
@@ -6144,7 +6277,7 @@ export declare interface UiIconButtonPublicProps {
|
|
6144
6277
|
dataId?: string;
|
6145
6278
|
dataTestId?: string;
|
6146
6279
|
ariaAttributes?: IDropdownButtonRenderProps["ariaAttributes"];
|
6147
|
-
accessibilityConfig?: IDropdownButtonRenderProps["accessibilityConfig"]
|
6280
|
+
accessibilityConfig?: IDropdownButtonRenderProps["accessibilityConfig"];
|
6148
6281
|
}
|
6149
6282
|
|
6150
6283
|
/**
|
@@ -6232,17 +6365,11 @@ export declare function UiMenu<T extends IUiMenuItemData = object, M extends obj
|
|
6232
6365
|
*/
|
6233
6366
|
export declare interface UiMenuProps<T extends IUiMenuItemData = object, M = object> extends Partial<IUiMenuPluggableComponents<T>> {
|
6234
6367
|
items: IUiMenuItem<T>[];
|
6235
|
-
/**
|
6236
|
-
* @deprecated use `dataTestId` instead. Prop will be removed.
|
6237
|
-
*/
|
6238
|
-
className?: ((context: IUiMenuContext<T>) => string | undefined) | string;
|
6239
6368
|
dataTestId?: ((context: IUiMenuContext<T>) => string | undefined) | string;
|
6240
|
-
/**
|
6241
|
-
* @deprecated use `itemDataTestId` instead. Prop will be removed.
|
6242
|
-
*/
|
6243
|
-
itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
|
6244
6369
|
itemDataTestId?: ((item: IUiMenuItem<T>) => string | undefined) | string;
|
6245
6370
|
maxWidth?: number;
|
6371
|
+
maxHeight?: ((context: IUiMenuContext<T>) => number | undefined) | number;
|
6372
|
+
containerBottomPadding?: "none" | "small" | "medium";
|
6246
6373
|
onSelect?: (item: IUiMenuInteractiveItem<T>) => void;
|
6247
6374
|
onLevelChange?: (level: number, item?: IUiMenuContentItem<T> | IUiMenuInteractiveItem<T>) => void;
|
6248
6375
|
onClose?: () => void;
|
@@ -6294,7 +6421,10 @@ export declare interface UiPagedVirtualListProps<T> {
|
|
6294
6421
|
* If not provided, object identity (`===`) is used for comparison.
|
6295
6422
|
*/
|
6296
6423
|
scrollToItemKeyExtractor?: (item: T) => string | number;
|
6424
|
+
scrollToIndex?: number;
|
6425
|
+
shouldLoadNextPage?: (lastItemIndex: number, itemsCount: number, skeletonItemsCount: number) => boolean;
|
6297
6426
|
children: (item: T) => React_2.ReactNode;
|
6427
|
+
scrollbarHoverEffect?: boolean;
|
6298
6428
|
SkeletonItem?: React_2.ComponentType<UiPagedVirtualListSkeletonItemProps>;
|
6299
6429
|
}
|
6300
6430
|
|
@@ -6315,7 +6445,7 @@ export declare const UiReturnFocusOnUnmount: React_2.FC<IUiReturnFocusOnUnmountO
|
|
6315
6445
|
/**
|
6316
6446
|
* @internal
|
6317
6447
|
*/
|
6318
|
-
export declare function UiSkeleton({ itemsCount, itemHeight, itemWidth, itemsGap, direction, itemBorderRadius, }: UiSkeletonProps): React_2.JSX.Element;
|
6448
|
+
export declare function UiSkeleton({ itemsCount, itemHeight, itemPadding, itemWidth, itemsGap, direction, itemBorderRadius, }: UiSkeletonProps): React_2.JSX.Element;
|
6319
6449
|
|
6320
6450
|
/**
|
6321
6451
|
* @internal
|
@@ -6333,6 +6463,10 @@ export declare interface UiSkeletonProps {
|
|
6333
6463
|
* Width of the item, or items.
|
6334
6464
|
*/
|
6335
6465
|
itemWidth?: (number | string) | (number | string)[];
|
6466
|
+
/**
|
6467
|
+
* Padding of the item, or items.
|
6468
|
+
*/
|
6469
|
+
itemPadding?: number | number[];
|
6336
6470
|
/**
|
6337
6471
|
* Gap between the items.
|
6338
6472
|
*/
|
@@ -6666,6 +6800,11 @@ export declare type VariantPrimary = "primary";
|
|
6666
6800
|
*/
|
6667
6801
|
export declare type VariantSecondary = "secondary";
|
6668
6802
|
|
6803
|
+
/**
|
6804
|
+
* @internal
|
6805
|
+
*/
|
6806
|
+
export declare type VariantTable = "table";
|
6807
|
+
|
6669
6808
|
/**
|
6670
6809
|
* @internal
|
6671
6810
|
*/
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@gooddata/sdk-ui-kit",
|
3
|
-
"version": "10.34.0-alpha.
|
3
|
+
"version": "10.34.0-alpha.20",
|
4
4
|
"description": "GoodData SDK - UI Building Components",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -75,11 +75,11 @@
|
|
75
75
|
"@floating-ui/dom": "1.6.13",
|
76
76
|
"@floating-ui/react-dom": "2.1.2",
|
77
77
|
"@floating-ui/react": "~0.27.12",
|
78
|
-
"@gooddata/sdk-backend-spi": "10.34.0-alpha.
|
79
|
-
"@gooddata/sdk-
|
80
|
-
"@gooddata/
|
81
|
-
"@gooddata/sdk-
|
82
|
-
"@gooddata/
|
78
|
+
"@gooddata/sdk-backend-spi": "10.34.0-alpha.20",
|
79
|
+
"@gooddata/sdk-ui-theme-provider": "10.34.0-alpha.20",
|
80
|
+
"@gooddata/sdk-ui": "10.34.0-alpha.20",
|
81
|
+
"@gooddata/sdk-model": "10.34.0-alpha.20",
|
82
|
+
"@gooddata/util": "10.34.0-alpha.20"
|
83
83
|
},
|
84
84
|
"peerDependencies": {
|
85
85
|
"react": "^16.10.0 || ^17.0.0 || ^18.0.0",
|
@@ -134,8 +134,8 @@
|
|
134
134
|
"typescript": "5.3.3",
|
135
135
|
"vitest": "3.0.8",
|
136
136
|
"vitest-dom": "0.1.1",
|
137
|
-
"@gooddata/reference-workspace": "10.34.0-alpha.
|
138
|
-
"@gooddata/sdk-backend-mockingbird": "10.34.0-alpha.
|
137
|
+
"@gooddata/reference-workspace": "10.34.0-alpha.20",
|
138
|
+
"@gooddata/sdk-backend-mockingbird": "10.34.0-alpha.20"
|
139
139
|
},
|
140
140
|
"scripts": {
|
141
141
|
"clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
|
@@ -155,11 +155,12 @@
|
|
155
155
|
"dep-cruiser-ci": "depcruise --validate .dependency-cruiser.cjs --output-type err-long src/",
|
156
156
|
"stylelint": "stylelint '**/*.scss'",
|
157
157
|
"stylelint-ci": "stylelint '**/*.scss' --custom-formatter=node_modules/stylelint-checkstyle-formatter > ./ci/results/stylelint-results.xml",
|
158
|
-
"validate": "npm run dep-cruiser && npm run eslint && npm run stylelint && npm run validate-locales && npm run prettier-check && npm run validate-theming",
|
159
|
-
"validate-ci": "export BROWSERSLIST_IGNORE_OLD_DATA=true && npm run dep-cruiser-ci && npm run eslint-ci && npm run stylelint-ci && npm run validate-locales-ci && npm run prettier-check && npm run validate-theming",
|
158
|
+
"validate": "npm run dep-cruiser && npm run eslint && npm run stylelint && npm run validate-locales && npm run prettier-check && npm run validate-theming && npm run validate-ui-components",
|
159
|
+
"validate-ci": "export BROWSERSLIST_IGNORE_OLD_DATA=true && npm run dep-cruiser-ci && npm run eslint-ci && npm run stylelint-ci && npm run validate-locales-ci && npm run prettier-check && npm run validate-theming && npm run validate-ui-components",
|
160
160
|
"validate-locales": "cd ../sdk-ui && npm run validate-locales",
|
161
161
|
"validate-locales-ci": "cd ../sdk-ui && npm run validate-locales-ci",
|
162
162
|
"validate-theming": "npm run scss && node scripts/validateCss.js",
|
163
|
+
"validate-ui-components": "node scripts/validateUiComponents.js",
|
163
164
|
"scss": "sass --load-path=node_modules --load-path=node_modules/fixed-data-table-2/dist styles/scss:styles/css"
|
164
165
|
}
|
165
166
|
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
2
|
+
|
3
|
+
.gd-ui-kit-badge {
|
4
|
+
display: flex;
|
5
|
+
padding: 0 var(--gd-spacing-10px);
|
6
|
+
justify-content: center;
|
7
|
+
align-items: center;
|
8
|
+
border-radius: 30px;
|
9
|
+
font-size: 12px;
|
10
|
+
|
11
|
+
font-weight: 400;
|
12
|
+
line-height: 20px;
|
13
|
+
|
14
|
+
background: var(--gd-palette-complementary-2);
|
15
|
+
color: var(--gd-palette-complementary-7);
|
16
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
2
|
+
|
3
|
+
.gd-ui-kit-checkbox {
|
4
|
+
display: inline-flex;
|
5
|
+
align-items: center;
|
6
|
+
cursor: pointer;
|
7
|
+
user-select: none;
|
8
|
+
|
9
|
+
&__input {
|
10
|
+
position: absolute;
|
11
|
+
opacity: 0;
|
12
|
+
width: 0;
|
13
|
+
height: 0;
|
14
|
+
}
|
15
|
+
|
16
|
+
&__box {
|
17
|
+
width: 12px;
|
18
|
+
height: 12px;
|
19
|
+
border: 1px solid var(--gd-palette-complementary-5);
|
20
|
+
border-radius: 2px;
|
21
|
+
position: relative;
|
22
|
+
transition: background-color 0.2s, border-color 0.2s;
|
23
|
+
background-color: var(--gd-palette-complementary-0);
|
24
|
+
|
25
|
+
&:hover {
|
26
|
+
border-color: var(--gd-palette-complementary-6);
|
27
|
+
box-shadow: 0 1px 2px 0 rgba(31, 53, 74, 0.15) inset;
|
28
|
+
}
|
29
|
+
|
30
|
+
&::after {
|
31
|
+
content: "";
|
32
|
+
position: absolute;
|
33
|
+
height: 3px;
|
34
|
+
top: 3px;
|
35
|
+
transform: scale(0) rotate(315deg) skew(-2deg);
|
36
|
+
transform-origin: center top;
|
37
|
+
transition: transform 0.2s ease-out;
|
38
|
+
width: 7px;
|
39
|
+
border-bottom: 2px solid var(--gd-palette-complementary-0);
|
40
|
+
border-left: 2px solid var(--gd-palette-complementary-0);
|
41
|
+
}
|
42
|
+
|
43
|
+
&--checked {
|
44
|
+
background-color: var(--gd-palette-primary-base);
|
45
|
+
box-shadow: none;
|
46
|
+
border-color: var(--gd-palette-primary-base);
|
47
|
+
|
48
|
+
&::after {
|
49
|
+
transform: scale(1) rotate(315deg) skew(-2deg);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
&--checked#{&}--indeterminate {
|
54
|
+
&::after {
|
55
|
+
content: "";
|
56
|
+
position: absolute;
|
57
|
+
top: 5px;
|
58
|
+
left: 2px;
|
59
|
+
width: 8px;
|
60
|
+
height: 2px;
|
61
|
+
background: var(--gd-palette-complementary-0);
|
62
|
+
border: none;
|
63
|
+
transform: scale(1) rotate(0deg);
|
64
|
+
}
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
&__input:focus-visible + &__box {
|
69
|
+
box-shadow: 0 0 0 2px var(--gd-palette-primary-focus);
|
70
|
+
}
|
71
|
+
}
|
@@ -55,6 +55,22 @@
|
|
55
55
|
width: var(--gd-button-L);
|
56
56
|
}
|
57
57
|
}
|
58
|
+
|
59
|
+
&-xlarge {
|
60
|
+
height: var(--gd-button-XL);
|
61
|
+
|
62
|
+
&#{$root}--type-button {
|
63
|
+
width: var(--gd-button-XL);
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
&-xxlarge {
|
68
|
+
height: var(--gd-button-XXL);
|
69
|
+
|
70
|
+
&#{$root}--type-button {
|
71
|
+
width: var(--gd-button-XXL);
|
72
|
+
}
|
73
|
+
}
|
58
74
|
}
|
59
75
|
|
60
76
|
/**
|
@@ -155,6 +171,27 @@
|
|
155
171
|
}
|
156
172
|
}
|
157
173
|
|
174
|
+
&-table {
|
175
|
+
--gd-icon-fill-color: var(--gd-palette-complementary-7);
|
176
|
+
background-color: inherit;
|
177
|
+
border: none;
|
178
|
+
border-radius: 0;
|
179
|
+
transition: inherit;
|
180
|
+
|
181
|
+
&:disabled {
|
182
|
+
--gd-icon-fill-color: var(--gd-palette-complementary-5);
|
183
|
+
}
|
184
|
+
|
185
|
+
&#{$root}--active,
|
186
|
+
&:hover {
|
187
|
+
background-color: var(--gd-palette-complementary-3);
|
188
|
+
}
|
189
|
+
|
190
|
+
&#{$root}--active {
|
191
|
+
--gd-icon-fill-color: var(--gd-palette-complementary-7);
|
192
|
+
}
|
193
|
+
}
|
194
|
+
|
158
195
|
&-danger {
|
159
196
|
--gd-icon-fill-color: var(--gd-palette-complementary-0);
|
160
197
|
background-color: var(--gd-palette-error-base);
|
@@ -14,11 +14,23 @@
|
|
14
14
|
flex-direction: column;
|
15
15
|
user-select: none;
|
16
16
|
|
17
|
+
&__content-container {
|
18
|
+
display: contents;
|
19
|
+
}
|
20
|
+
|
17
21
|
&__items-container {
|
18
22
|
width: 100%;
|
19
23
|
height: 100%;
|
20
24
|
overflow-y: auto;
|
21
25
|
overflow-x: hidden;
|
26
|
+
|
27
|
+
&--container-bottom-padding-small {
|
28
|
+
padding-bottom: 8px;
|
29
|
+
}
|
30
|
+
|
31
|
+
&--container-bottom-padding-medium {
|
32
|
+
padding-bottom: 10px;
|
33
|
+
}
|
22
34
|
}
|
23
35
|
|
24
36
|
@media #{variables.$small-only} {
|
@@ -39,6 +39,23 @@
|
|
39
39
|
background-color: var(--gd-palette-complementary-2);
|
40
40
|
border-radius: 3px;
|
41
41
|
}
|
42
|
+
|
43
|
+
&--hover {
|
44
|
+
&::-webkit-scrollbar {
|
45
|
+
width: 10px;
|
46
|
+
}
|
47
|
+
|
48
|
+
&::-webkit-scrollbar-thumb {
|
49
|
+
border: 2px solid transparent;
|
50
|
+
border-radius: 5px;
|
51
|
+
background-clip: padding-box;
|
52
|
+
|
53
|
+
&:hover {
|
54
|
+
border: 0;
|
55
|
+
background-color: var(--gd-palette-complementary-5);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
42
59
|
}
|
43
60
|
|
44
61
|
&__item {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2024 GoodData Corporation
|
1
|
+
// (C) 2024-2025 GoodData Corporation
|
2
2
|
@use "react-loading-skeleton/dist/skeleton.css";
|
3
3
|
|
4
4
|
.gd-ui-kit-skeleton {
|
@@ -24,6 +24,7 @@
|
|
24
24
|
border-radius: 3px;
|
25
25
|
width: 100%;
|
26
26
|
height: 100%;
|
27
|
+
box-sizing: border-box;
|
27
28
|
}
|
28
29
|
|
29
30
|
.react-loading-skeleton {
|
@@ -217,7 +217,10 @@
|
|
217
217
|
--gd-spacing-3px: 3px;
|
218
218
|
--gd-spacing-14px: 14px;
|
219
219
|
--gd-spacing-16px: 16px;
|
220
|
+
--gd-spacing-34px: 34px;
|
220
221
|
--gd-transition-all: all 0.25s ease-in-out;
|
222
|
+
--gd-button-XXL: 55px;
|
223
|
+
--gd-button-XL: 45px;
|
221
224
|
--gd-button-L: 38px;
|
222
225
|
--gd-button-M: 32px;
|
223
226
|
--gd-button-S: 27px;
|
@@ -225,4 +228,18 @@
|
|
225
228
|
--gd-tabs-height-L: 56px;
|
226
229
|
--gd-tabs-height-M: 27px;
|
227
230
|
--gd-tabs-height-S: 23px;
|
231
|
+
--gd-table-font-size: 14px;
|
232
|
+
--gd-table-row-height-normal: 45px;
|
233
|
+
--gd-table-row-height-large: 55px;
|
234
|
+
--gd-table-row-height-small: 27px;
|
235
|
+
--gd-table-row-line-height: 27px;
|
236
|
+
--gd-table-label-font-size: 11px;
|
237
|
+
--gd-table-counter-font-size: 12px;
|
238
|
+
--gd-table-dropdown-item-font-size: 12px;
|
239
|
+
--gd-table-multi-line-font-size: 12px;
|
240
|
+
--gd-table-multi-line-line-height: 17px;
|
241
|
+
--gd-table-multi-line-font-size-large: 14px;
|
242
|
+
--gd-table-multi-line-line-height-large: 23px;
|
243
|
+
--gd-table-dropdown-item-height: 28px;
|
244
|
+
--gd-table-title-font-size: 24px;
|
228
245
|
}
|