UNPKG

@nexusui/components

Version:

These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.

81 lines (80 loc) 2.42 kB
import * as React from 'react'; import { StackProps } from '@mui/material/Stack'; import { IPermissionLevel, IShareConfig, IOrgOption } from '../../model'; export type IOrgShareConfig = { /** * If true, the org-level permissions panel will be visible */ visible?: boolean; /** * If true, the org-level permissions will be editable */ editable?: boolean; /** * If true, the org-level permissions will be disabled */ disabled?: boolean; /** * The tooltip message if the org-level permissions disabled */ disabledMessage?: string; /** * The available permission levels that can be selected. */ permissionLevels?: ReadonlyArray<IPermissionLevel>; /** * The current permission level for the entire organization */ permissionLevel?: string; /** * Callback function triggered when the permission level of the group is updated. */ onPermissionChange?: (permission: string) => void; /** * The organizations the current user belongs to */ orgOptions?: ReadonlyArray<IOrgOption>; /** * The value of the selected organization */ selectedOrg?: string; /** * Callback function triggered when the organization selection changed. */ onOrgChange?: (org: string) => void; }; export type IOrgShare = { /** * The configuration properties for the organization-level permission panel * * ``` * * export type IPermissionLevel = { * value: string; * label: string; * }; * export type IOrgShareConfig = { * orgName?: string; * visible?: boolean; * editable?: boolean; * permissionLevels?: IPermissionLevel[]; * permissionLevel?: string; * onPermissionChange?: (permission: string) => void; * orgOptions?: ReadonlyArray<IOrgOption>; * selectedOrg?: string; * onOrgChange?: (org: string) => void; * } * ``` */ orgShareConfig?: IOrgShareConfig; /** * Value to determine whether the screen is mobile. * */ isMobile?: boolean; /** * Callback function triggered when the permission action si clicked, only available when screen size smaller than sm. */ onShowBottomSheet?: (shareConfig: IShareConfig) => void; }; export declare const OrgShare: React.FC<IOrgShare & StackProps>;