backend.ai-ui 25.18.0-canary-6f4e98c30-20251217 → 25.18.0-canary-2e72edfbc-20251219

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.
Files changed (26) hide show
  1. package/dist/__generated__/BAIAllowedVfolderHostsWithPermissionFromGroupFragment.graphql.d.ts +11 -0
  2. package/dist/__generated__/BAIAllowedVfolderHostsWithPermissionFromKeyPairResourcePolicyFragment.graphql.d.ts +11 -0
  3. package/dist/__generated__/BAIAllowedVfolderHostsWithPermissionQuery.graphql.d.ts +13 -0
  4. package/dist/__generated__/BAIProjectTableFragment.graphql.d.ts +24 -0
  5. package/dist/backend.ai-ui.js +17060 -16407
  6. package/dist/backend.ai-ui.js.map +1 -1
  7. package/dist/components/BAINumberWithUnit.d.ts +9 -0
  8. package/dist/components/BAIResourceNumberWithIcon.d.ts +21 -0
  9. package/dist/components/Table/BAITable.d.ts +5 -2
  10. package/dist/components/fragments/BAIAllowedVfolderHostsWithPermission.d.ts +12 -0
  11. package/dist/components/fragments/BAIProjectTable.d.ts +12 -0
  12. package/dist/components/fragments/index.d.ts +4 -0
  13. package/dist/components/index.d.ts +3 -0
  14. package/dist/components/provider/BAIMetaDataProvider/BAIMetaDataProvider.d.ts +8 -0
  15. package/dist/components/provider/BAIMetaDataProvider/context.d.ts +2 -0
  16. package/dist/components/provider/BAIMetaDataProvider/hooks/useBAIDeviceMetaData.d.ts +2 -0
  17. package/dist/components/provider/BAIMetaDataProvider/index.d.ts +5 -0
  18. package/dist/components/provider/BAIMetaDataProvider/types.d.ts +19 -0
  19. package/dist/components/provider/index.d.ts +1 -0
  20. package/dist/icons/BAIFuriosaIcon.d.ts +5 -0
  21. package/dist/icons/BAIGaudiIcon.d.ts +5 -0
  22. package/dist/icons/BAIIpuIcon.d.ts +5 -0
  23. package/dist/icons/BAIRebelIcon.d.ts +5 -0
  24. package/dist/icons/BAIRocmIcon.d.ts +5 -0
  25. package/dist/icons/BAITpuIcon.d.ts +5 -0
  26. package/package.json +2 -1
@@ -0,0 +1,9 @@
1
+ import { SizeUnit } from '../helper';
2
+ interface BAINumberWithUnitProps {
3
+ numberUnit: string;
4
+ targetUnit: SizeUnit;
5
+ unitType: 'binary' | 'decimal';
6
+ postfix?: string;
7
+ }
8
+ declare const BAINumberWithUnit: ({ numberUnit, targetUnit, unitType, postfix, }: BAINumberWithUnitProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default BAINumberWithUnit;
@@ -0,0 +1,21 @@
1
+ import { ResourceSlotName } from './provider';
2
+ import { ReactNode } from 'react';
3
+ export type ResourceOpts = {
4
+ shmem?: number;
5
+ };
6
+ export interface BAIResourceNumberWithIconProps {
7
+ type: string;
8
+ extra?: ReactNode;
9
+ opts?: ResourceOpts;
10
+ value: string;
11
+ hideTooltip?: boolean;
12
+ max?: string;
13
+ }
14
+ declare const BAIResourceNumberWithIcon: ({ type, extra, opts, value: amount, max, hideTooltip, }: BAIResourceNumberWithIconProps) => import("react/jsx-runtime").JSX.Element;
15
+ interface ResourceTypeIconProps {
16
+ type: ResourceSlotName | string;
17
+ showTooltip?: boolean;
18
+ size?: number;
19
+ }
20
+ export declare const ResourceTypeIcon: ({ type, showTooltip, size, }: ResourceTypeIconProps) => import("react/jsx-runtime").JSX.Element;
21
+ export default BAIResourceNumberWithIcon;
@@ -1,6 +1,6 @@
1
1
  import { TablePaginationConfig, TableProps } from 'antd';
2
2
  import { AnyObject } from 'antd/es/_util/type';
3
- import { ColumnType } from 'antd/es/table';
3
+ import { ColumnType, ColumnsType } from 'antd/es/table';
4
4
  import { ReactNode } from 'react';
5
5
  /**
6
6
  * Configuration interface for BAITable pagination
@@ -44,10 +44,13 @@ export interface BAIColumnType<RecordType = any> extends ColumnType<RecordType>
44
44
  /** Whether this column is required and cannot be hidden by users */
45
45
  required?: boolean;
46
46
  }
47
+ export interface BAIColumnGroupType<RecordType = AnyObject> extends Omit<BAIColumnType<RecordType>, 'dataIndex'> {
48
+ children: ColumnsType<RecordType>;
49
+ }
47
50
  /**
48
51
  * Array type for BAI table columns
49
52
  */
50
- export type BAIColumnsType<RecordType = any> = BAIColumnType<RecordType>[];
53
+ export type BAIColumnsType<RecordType = any> = (BAIColumnGroupType<RecordType> | BAIColumnType<RecordType>)[];
51
54
  /**
52
55
  * Utility function to determine if a column should be visible
53
56
  * Takes into account required columns, overrides, and default visibility
@@ -0,0 +1,12 @@
1
+ import { BAIAllowedVfolderHostsWithPermissionFromGroupFragment$key } from '../../__generated__/BAIAllowedVfolderHostsWithPermissionFromGroupFragment.graphql';
2
+ import { BAIAllowedVfolderHostsWithPermissionFromKeyPairResourcePolicyFragment$key } from '../../__generated__/BAIAllowedVfolderHostsWithPermissionFromKeyPairResourcePolicyFragment.graphql';
3
+ import { default as React } from 'react';
4
+ export type BAIAllowedVfolderHostsWithPermissionProps = {
5
+ allowedHostPermissionFrgmtFromKeyPair: BAIAllowedVfolderHostsWithPermissionFromKeyPairResourcePolicyFragment$key;
6
+ allowedHostPermissionFrgmtFromGroup?: never;
7
+ } | {
8
+ allowedHostPermissionFrgmtFromKeyPair?: never;
9
+ allowedHostPermissionFrgmtFromGroup: BAIAllowedVfolderHostsWithPermissionFromGroupFragment$key;
10
+ };
11
+ declare const BAIAllowedVfolderHostsWithPermission: React.FC<BAIAllowedVfolderHostsWithPermissionProps>;
12
+ export default BAIAllowedVfolderHostsWithPermission;
@@ -0,0 +1,12 @@
1
+ import { BAIProjectTableFragment$data, BAIProjectTableFragment$key } from '../../__generated__/BAIProjectTableFragment.graphql';
2
+ import { BAITableProps } from '../Table';
3
+ export declare const availableProjectSorterKeys: readonly ["name", "id", "domain_name", "created_at", "is_active", "resource_policy"];
4
+ export declare const availableProjectSorterValues: readonly ["name", "id", "domain_name", "created_at", "is_active", "resource_policy", ...("-id" | "-name" | "-domain_name" | "-created_at" | "-is_active" | "-resource_policy")[]];
5
+ type Project = NonNullable<NonNullable<BAIProjectTableFragment$data>[number]>;
6
+ export interface BAIProjectTableProps extends Omit<BAITableProps<Project>, 'dataSource' | 'columns' | 'rowKey' | 'onChangeOrder'> {
7
+ projectFragment: BAIProjectTableFragment$key;
8
+ onChangeOrder?: (order: (typeof availableProjectSorterValues)[number] | null) => void;
9
+ onEditProject: (project: Project) => void;
10
+ }
11
+ declare const BAIProjectTable: ({ projectFragment, onChangeOrder, ...tableProps }: BAIProjectTableProps) => import("react/jsx-runtime").JSX.Element;
12
+ export default BAIProjectTable;
@@ -33,3 +33,7 @@ export type { BAIActivateArtifactsModalProps, BAIActivateArtifactsModalArtifacts
33
33
  export { default as BAIVFolderDeleteButton } from './BAIVFolderDeleteButton';
34
34
  export { default as BAIAdminResourceGroupSelect } from './BAIAdminResourceGroupSelect';
35
35
  export type { BAIAdminResourceGroupSelectProps } from './BAIAdminResourceGroupSelect';
36
+ export { default as BAIProjectTable, availableProjectSorterKeys, availableProjectSorterValues, } from './BAIProjectTable';
37
+ export type { BAIProjectTableProps } from './BAIProjectTable';
38
+ export { default as BAIAllowedVfolderHostsWithPermission } from './BAIAllowedVfolderHostsWithPermission';
39
+ export type { BAIAllowedVfolderHostsWithPermissionProps } from './BAIAllowedVfolderHostsWithPermission';
@@ -34,6 +34,9 @@ export type { BAIConfirmModalWithInputProps } from './BAIConfirmModalWithInput';
34
34
  export { default as BAIButton } from './BAIButton';
35
35
  export type { BAIButtonProps } from './BAIButton';
36
36
  export { default as BAIFetchKeyButton } from './BAIFetchKeyButton';
37
+ export { default as BAIResourceNumberWithIcon, ResourceTypeIcon, } from './BAIResourceNumberWithIcon';
38
+ export type { BAIResourceNumberWithIconProps } from './BAIResourceNumberWithIcon';
39
+ export { default as BAINumberWithUnit } from './BAINumberWithUnit';
37
40
  export * from './Table';
38
41
  export * from './fragments';
39
42
  export * from './provider';
@@ -0,0 +1,8 @@
1
+ import { DeviceMetaData } from './types';
2
+ import { ReactNode } from 'react';
3
+ export interface BAIMetaDataProviderProps {
4
+ deviceMetaData?: DeviceMetaData;
5
+ children?: ReactNode;
6
+ }
7
+ declare const BAIMetaDataProvider: ({ deviceMetaData, children, }: BAIMetaDataProviderProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default BAIMetaDataProvider;
@@ -0,0 +1,2 @@
1
+ import { DeviceMetaData } from './types';
2
+ export declare const BAIDeviceMetaDataContext: import('react').Context<DeviceMetaData | undefined>;
@@ -0,0 +1,2 @@
1
+ declare const useBAIDeviceMetaData: () => import('..').DeviceMetaData;
2
+ export default useBAIDeviceMetaData;
@@ -0,0 +1,5 @@
1
+ export { default as BAIMetaDataProvider } from './BAIMetaDataProvider';
2
+ export type { BAIMetaDataProviderProps } from './BAIMetaDataProvider';
3
+ export { BAIDeviceMetaDataContext } from './context';
4
+ export { default as useBAIDeviceMetaData } from './hooks/useBAIDeviceMetaData';
5
+ export type * from './types';
@@ -0,0 +1,19 @@
1
+ export type DeviceMetaData = {
2
+ [name: string]: ResourceSlotDetail | undefined;
3
+ };
4
+ export type ResourceSlotDetail = {
5
+ slot_name: string;
6
+ description: string;
7
+ human_readable_name: string;
8
+ display_unit: string;
9
+ number_format: {
10
+ binary: boolean;
11
+ round_length: number;
12
+ };
13
+ display_icon: string;
14
+ };
15
+ export declare const baseResourceSlotNames: readonly ["cpu", "mem"];
16
+ export type BaseResourceSlotName = (typeof baseResourceSlotNames)[number];
17
+ export declare const knownAcceleratorResourceSlotNames: readonly ["cuda.device", "cuda.shares", "rocm.device", "tpu.device", "ipu.device", "atom.device", "atom-plus.device", "atom-max.device", "gaudi2.device", "warboy.device", "rngd.device", "hyperaccel-lpu.device"];
18
+ export type KnownAcceleratorResourceSlotName = (typeof knownAcceleratorResourceSlotNames)[number];
19
+ export type ResourceSlotName = BaseResourceSlotName | KnownAcceleratorResourceSlotName;
@@ -1,2 +1,3 @@
1
1
  export * from './BAIConfigProvider';
2
2
  export * from './BAIClientProvider';
3
+ export * from './BAIMetaDataProvider';
@@ -0,0 +1,5 @@
1
+ import { CustomIconComponentProps } from '@ant-design/icons/lib/components/Icon';
2
+ interface BAIFuriosaIconProps extends Omit<CustomIconComponentProps, 'width' | 'height' | 'fill'> {
3
+ }
4
+ declare const BAIFuriosaIcon: React.FC<BAIFuriosaIconProps>;
5
+ export default BAIFuriosaIcon;
@@ -0,0 +1,5 @@
1
+ import { CustomIconComponentProps } from '@ant-design/icons/lib/components/Icon';
2
+ interface BAIGaudiIconProps extends Omit<CustomIconComponentProps, 'width' | 'height' | 'fill'> {
3
+ }
4
+ declare const BAIGaudiIcon: React.FC<BAIGaudiIconProps>;
5
+ export default BAIGaudiIcon;
@@ -0,0 +1,5 @@
1
+ import { CustomIconComponentProps } from '@ant-design/icons/lib/components/Icon';
2
+ interface BAIIpuIconProps extends Omit<CustomIconComponentProps, 'width' | 'height' | 'fill'> {
3
+ }
4
+ declare const BAIIpuIcon: React.FC<BAIIpuIconProps>;
5
+ export default BAIIpuIcon;
@@ -0,0 +1,5 @@
1
+ import { CustomIconComponentProps } from '@ant-design/icons/lib/components/Icon';
2
+ interface BAIRebelIconProps extends Omit<CustomIconComponentProps, 'width' | 'height' | 'fill'> {
3
+ }
4
+ declare const BAIRebelIcon: React.FC<BAIRebelIconProps>;
5
+ export default BAIRebelIcon;
@@ -0,0 +1,5 @@
1
+ import { CustomIconComponentProps } from '@ant-design/icons/lib/components/Icon';
2
+ interface BAIRocmIconProps extends Omit<CustomIconComponentProps, 'width' | 'height' | 'fill'> {
3
+ }
4
+ declare const BAIRocmIcon: React.FC<BAIRocmIconProps>;
5
+ export default BAIRocmIcon;
@@ -0,0 +1,5 @@
1
+ import { CustomIconComponentProps } from '@ant-design/icons/lib/components/Icon';
2
+ interface BAITpuIconProps extends Omit<CustomIconComponentProps, 'width' | 'height' | 'fill'> {
3
+ }
4
+ declare const BAITpuIcon: React.FC<BAITpuIconProps>;
5
+ export default BAITpuIcon;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "backend.ai-ui",
3
- "version": "25.18.0-canary-6f4e98c30-20251217",
3
+ "version": "25.18.0-canary-2e72edfbc-20251219",
4
4
  "description": "React components for Backend.AI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -148,6 +148,7 @@
148
148
  "@storybook/react-vite": "^9.1.1",
149
149
  "@testing-library/jest-dom": "^6.6.3",
150
150
  "@testing-library/react": "^16.2.0",
151
+ "@testing-library/user-event": "^14.6.1",
151
152
  "@trivago/prettier-plugin-sort-imports": "^4.3.0",
152
153
  "@types/big.js": "^6.2.2",
153
154
  "@types/lodash": "^4.17.20",