@crystaltech/hsms-shared-ui 0.0.1-ssmch
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/LICENSE +21 -0
- package/README.md +946 -0
- package/dist/App.d.ts +0 -0
- package/dist/components/AccountInfoWithAvatar.d.ts +8 -0
- package/dist/components/Cards.d.ts +2 -0
- package/dist/components/ColorPickerManageWithLabel.d.ts +7 -0
- package/dist/components/ColorSettings.d.ts +2 -0
- package/dist/components/ComponentRedirectManage.d.ts +2 -0
- package/dist/components/CustomAutoComplete.d.ts +11 -0
- package/dist/components/CustomFilter.d.ts +9 -0
- package/dist/components/DataTable.d.ts +23 -0
- package/dist/components/DynamicTable.d.ts +10 -0
- package/dist/components/Lists.d.ts +2 -0
- package/dist/components/LoginView.d.ts +6 -0
- package/dist/components/Logo.d.ts +8 -0
- package/dist/components/LogoWithTitle.d.ts +9 -0
- package/dist/components/ManageCheckbox.d.ts +2 -0
- package/dist/components/MultiDynamicTable/AddNewField.d.ts +10 -0
- package/dist/components/MultiDynamicTable/ColumnVisibilityManage.d.ts +7 -0
- package/dist/components/MultiDynamicTable/FieldContent.d.ts +7 -0
- package/dist/components/MultiDynamicTable/MultiDynamicTable.d.ts +10 -0
- package/dist/components/MultiDynamicTable/dynamicTableData.d.ts +22 -0
- package/dist/components/ProfilePage.d.ts +15 -0
- package/dist/components/ProfilePages.d.ts +2 -0
- package/dist/components/TableSetting.d.ts +2 -0
- package/dist/components/Tables.d.ts +2 -0
- package/dist/components/ThemeSetting.d.ts +2 -0
- package/dist/components/ThemeToggler.d.ts +2 -0
- package/dist/components/TypographySettings.d.ts +3 -0
- package/dist/components/UiFiles.d.ts +2 -0
- package/dist/components/layout/Customization/ThemeColorSet.d.ts +2 -0
- package/dist/components/layout/Customization/index.d.ts +2 -0
- package/dist/components/layout/MainLayout/index.d.ts +29 -0
- package/dist/components/layout/MainlayoutWithWrapper.d.ts +4 -0
- package/dist/components/layout/layoutConfig.d.ts +33 -0
- package/dist/components/styled-components/index.d.ts +5 -0
- package/dist/components/ui/AsyncAutocomplete.d.ts +10 -0
- package/dist/components/ui/CheckboxListWithAvatar.d.ts +11 -0
- package/dist/components/ui/ControlledDatePicker.d.ts +9 -0
- package/dist/components/ui/CustomButton.d.ts +9 -0
- package/dist/components/ui/CustomCheckbox.d.ts +8 -0
- package/dist/components/ui/CustomColorPicker.d.ts +7 -0
- package/dist/components/ui/CustomDatePicker.d.ts +9 -0
- package/dist/components/ui/CustomIconButton.d.ts +6 -0
- package/dist/components/ui/CustomInput.d.ts +10 -0
- package/dist/components/ui/CustomRadioGroup.d.ts +12 -0
- package/dist/components/ui/CustomScrollbar.d.ts +8 -0
- package/dist/components/ui/CustomSelect.d.ts +13 -0
- package/dist/components/ui/CustomSelectableList.d.ts +11 -0
- package/dist/components/ui/CustomSwitch.d.ts +6 -0
- package/dist/components/ui/CustomTabs.d.ts +12 -0
- package/dist/components/ui/CustomTextfield.d.ts +8 -0
- package/dist/components/ui/Footer.d.ts +6 -0
- package/dist/components/ui/Loader.d.ts +8 -0
- package/dist/components/ui/Navbar.d.ts +33 -0
- package/dist/components/ui/SideDrawer.d.ts +16 -0
- package/dist/components/ui/StatCard.d.ts +8 -0
- package/dist/contexts/ThemeContext.d.ts +12 -0
- package/dist/contexts/ThemeContextProvider.d.ts +7 -0
- package/dist/hooks/useLogout.d.ts +6 -0
- package/dist/hooks/useManageTheme.d.ts +8 -0
- package/dist/hsms-shared-ui.css +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.es.js +45097 -0
- package/dist/index.js +272 -0
- package/dist/main.d.ts +0 -0
- package/dist/manifest.webmanifest +1 -0
- package/dist/pages/index.d.ts +2 -0
- package/dist/pages/table/$id.d.ts +2 -0
- package/dist/pages/table/child/index.d.ts +2 -0
- package/dist/pages/table/index.d.ts +2 -0
- package/dist/pages/table/some/index.d.ts +2 -0
- package/dist/pages/table-setting/index.d.ts +2 -0
- package/dist/pages/ui/index.d.ts +2 -0
- package/dist/registerSW.js +1 -0
- package/dist/routes/403.d.ts +3 -0
- package/dist/routes/ProtectedRoute.d.ts +30 -0
- package/dist/routes/RoutesConfigLayout.d.ts +41 -0
- package/dist/routes/index.d.ts +1 -0
- package/dist/sw.js +1 -0
- package/dist/theme/ThemeCustomization.d.ts +6 -0
- package/dist/theme/base-theme-options.d.ts +2 -0
- package/dist/theme/dark-theme-options.d.ts +19 -0
- package/dist/theme/defaultTheme.d.ts +172 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/light-theme-options.d.ts +43 -0
- package/dist/vite.svg +1 -0
- package/dist/workbox-3e8df8c8.js +1 -0
- package/package.json +84 -0
package/dist/App.d.ts
ADDED
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { IUserManage } from './layout/MainLayout';
|
|
3
|
+
interface AccountInfoWithAvatarProps {
|
|
4
|
+
userManage: IUserManage;
|
|
5
|
+
logoutHandler: () => Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
declare const AccountInfoWithAvatar: React.FC<AccountInfoWithAvatarProps>;
|
|
8
|
+
export default AccountInfoWithAvatar;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CustomColorPickerProps } from './ui/CustomColorPicker';
|
|
3
|
+
interface ColorPickerManageWithLabelProps extends CustomColorPickerProps {
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
declare const ColorPickerManageWithLabel: React.FC<ColorPickerManageWithLabelProps>;
|
|
7
|
+
export default ColorPickerManageWithLabel;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface CustomAutoCompleteProps<T> {
|
|
2
|
+
options: T[];
|
|
3
|
+
defaultValue?: T[];
|
|
4
|
+
label: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
multiple?: boolean;
|
|
7
|
+
getOptionLabel: (option: T) => string;
|
|
8
|
+
onChange: (value: T[] | T | null) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const CustomAutoComplete: <T>({ options, defaultValue, label, placeholder, multiple, getOptionLabel, onChange, }: CustomAutoCompleteProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default CustomAutoComplete;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { JSX } from 'react';
|
|
2
|
+
interface FilterOptionsProps {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TableConfig<T = Record<string, string | number | boolean>> {
|
|
7
|
+
tableName: string;
|
|
8
|
+
headers: string[];
|
|
9
|
+
isSearchable: boolean;
|
|
10
|
+
showFilter: boolean;
|
|
11
|
+
filterOptions: FilterOptionsProps[];
|
|
12
|
+
searchBy?: string;
|
|
13
|
+
actions?: {
|
|
14
|
+
label: string;
|
|
15
|
+
onClick: (row: T) => void;
|
|
16
|
+
icon: JSX.Element;
|
|
17
|
+
}[];
|
|
18
|
+
}
|
|
19
|
+
export default function DynamicTable({ config, data, }: {
|
|
20
|
+
config: TableConfig;
|
|
21
|
+
data: Array<Record<string, string | number | boolean>>;
|
|
22
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default function DynamicTable({ onSave, }: {
|
|
2
|
+
onSave: (config: {
|
|
3
|
+
tableName: string;
|
|
4
|
+
headers: string[];
|
|
5
|
+
isSearchable: boolean;
|
|
6
|
+
showFilter: boolean;
|
|
7
|
+
searchBy: string;
|
|
8
|
+
filterOptions: string[];
|
|
9
|
+
}) => void;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface FieldData {
|
|
2
|
+
fieldName: string;
|
|
3
|
+
fieldContent: string;
|
|
4
|
+
}
|
|
5
|
+
interface AddNewFieldProps {
|
|
6
|
+
onCancel: () => void;
|
|
7
|
+
onSubmit: (addNewContentObj: FieldData) => void;
|
|
8
|
+
}
|
|
9
|
+
declare const AddNewField: React.FC<AddNewFieldProps>;
|
|
10
|
+
export default AddNewField;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DataStructure } from './dynamicTableData';
|
|
2
|
+
interface ColumnVisibilityManageProps {
|
|
3
|
+
data: DataStructure;
|
|
4
|
+
handleColumnVisibility: (columnVisibilityData: DataStructure) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const ColumnVisibilityManage: React.FC<ColumnVisibilityManageProps>;
|
|
7
|
+
export default ColumnVisibilityManage;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DataStructure } from './dynamicTableData';
|
|
2
|
+
type MultiDynamicTableProps = {
|
|
3
|
+
tableData: DataStructure;
|
|
4
|
+
rowsPerPage: number;
|
|
5
|
+
page: number;
|
|
6
|
+
handleChangePage: (event: unknown, newPage: number) => void;
|
|
7
|
+
handleChangeRowsPerPage: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
8
|
+
};
|
|
9
|
+
declare const MultiDynamicTable: React.FC<MultiDynamicTableProps>;
|
|
10
|
+
export default MultiDynamicTable;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface DatePickerProps {
|
|
2
|
+
date: string;
|
|
3
|
+
onChange: (parentItem: FieldItem, timeValue: Date) => void;
|
|
4
|
+
}
|
|
5
|
+
export interface FieldContentActionsProps {
|
|
6
|
+
label: string;
|
|
7
|
+
onClick: (data: FieldItem) => void;
|
|
8
|
+
icon: React.ReactNode;
|
|
9
|
+
variant: "contained" | "outlined";
|
|
10
|
+
}
|
|
11
|
+
export interface FieldItem {
|
|
12
|
+
id: number;
|
|
13
|
+
fieldName: string;
|
|
14
|
+
fieldType: string;
|
|
15
|
+
fieldContent: string | FieldContentActionsProps[] | DatePickerProps;
|
|
16
|
+
isDefault: boolean;
|
|
17
|
+
isVisible: boolean;
|
|
18
|
+
to?: string;
|
|
19
|
+
}
|
|
20
|
+
export type FieldItemArray = FieldItem[];
|
|
21
|
+
export type DataStructure = FieldItemArray[];
|
|
22
|
+
export declare const dynamicTableData: DataStructure;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
interface ProfileData {
|
|
3
|
+
imageUrl: string;
|
|
4
|
+
name: string;
|
|
5
|
+
bio: string;
|
|
6
|
+
email: string;
|
|
7
|
+
location: string;
|
|
8
|
+
phoneNumber: string;
|
|
9
|
+
}
|
|
10
|
+
interface ProfileProps {
|
|
11
|
+
profileData: ProfileData;
|
|
12
|
+
onEditClick?: () => void;
|
|
13
|
+
}
|
|
14
|
+
declare const ProfilePage: React.FC<ProfileProps>;
|
|
15
|
+
export default ProfilePage;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { UserInfo } from '../../../routes/ProtectedRoute';
|
|
3
|
+
import { IMenuConfig, ISettingsConfig } from '../layoutConfig';
|
|
4
|
+
export interface IUserManage {
|
|
5
|
+
user: UserInfo;
|
|
6
|
+
redirectUrl: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ILayoutConfig {
|
|
9
|
+
userManage?: IUserManage;
|
|
10
|
+
navbar: {
|
|
11
|
+
showHamburgerInMobile: boolean;
|
|
12
|
+
themeToggler: boolean;
|
|
13
|
+
};
|
|
14
|
+
sideDrawer: {
|
|
15
|
+
menuConfig: IMenuConfig[];
|
|
16
|
+
settingsConfig: ISettingsConfig;
|
|
17
|
+
isMinimized: boolean;
|
|
18
|
+
drawerWidth: number;
|
|
19
|
+
};
|
|
20
|
+
footerText: string;
|
|
21
|
+
}
|
|
22
|
+
export interface IMainLayout {
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
layoutConfig: ILayoutConfig;
|
|
25
|
+
logoutHandler?: () => Promise<void>;
|
|
26
|
+
title: string;
|
|
27
|
+
}
|
|
28
|
+
declare const MainLayout: React.FC<IMainLayout>;
|
|
29
|
+
export default MainLayout;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { default as moduleLogo } from '../../assets/images/ssmch-logo.svg';
|
|
2
|
+
export interface MenuItem {
|
|
3
|
+
clients: string[];
|
|
4
|
+
label: string;
|
|
5
|
+
icon: React.ReactNode;
|
|
6
|
+
link: string;
|
|
7
|
+
roles: string[];
|
|
8
|
+
children?: {
|
|
9
|
+
label: string;
|
|
10
|
+
icon: React.ReactNode;
|
|
11
|
+
link: string;
|
|
12
|
+
roles: string[];
|
|
13
|
+
clients: string[];
|
|
14
|
+
}[];
|
|
15
|
+
}
|
|
16
|
+
export interface IMenuConfig {
|
|
17
|
+
sectionName?: string;
|
|
18
|
+
items: MenuItem[];
|
|
19
|
+
}
|
|
20
|
+
export interface ISettingsConfig {
|
|
21
|
+
logo: string;
|
|
22
|
+
footerText: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ISettingsConfig {
|
|
25
|
+
logo: string;
|
|
26
|
+
title: string;
|
|
27
|
+
subTitle: string;
|
|
28
|
+
moduleName: string;
|
|
29
|
+
footerText: string;
|
|
30
|
+
moduleLogo: string;
|
|
31
|
+
}
|
|
32
|
+
export default moduleLogo;
|
|
33
|
+
export declare const settingsConfig: ISettingsConfig;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Theme } from '@mui/material/styles';
|
|
2
|
+
declare const StyledComponent: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<Theme>> & import('@mui/system').MUIStyledCommonProps<Theme> & import('@mui/material').ContainerOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "maxWidth" | "children" | "sx" | "style" | "className" | "fixed" | "classes" | "disableGutters"> & {
|
|
3
|
+
component?: React.ElementType;
|
|
4
|
+
}, {}, {}>;
|
|
5
|
+
export default StyledComponent;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface AutocompleteProps<T> {
|
|
2
|
+
label: string;
|
|
3
|
+
multiple?: boolean;
|
|
4
|
+
fetchOptions: () => Promise<T[]>;
|
|
5
|
+
getOptionLabel: (option: T) => string;
|
|
6
|
+
isOptionEqualToValue: (option: T, value: T) => boolean;
|
|
7
|
+
onChange?: (selectedOption: T | T[] | null) => void;
|
|
8
|
+
}
|
|
9
|
+
declare function AsyncAutocomplete<T>({ label, multiple, fetchOptions, getOptionLabel, isOptionEqualToValue, onChange, }: AutocompleteProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default AsyncAutocomplete;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface CheckboxListWithAvatarProps {
|
|
2
|
+
items: {
|
|
3
|
+
id: number;
|
|
4
|
+
label: string;
|
|
5
|
+
avatarSrc?: string;
|
|
6
|
+
}[];
|
|
7
|
+
checkedItems?: number[];
|
|
8
|
+
onChange: (checked: number[]) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const CheckboxListWithAvatar: ({ items, checkedItems, onChange, }: CheckboxListWithAvatarProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default CheckboxListWithAvatar;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Dayjs } from 'dayjs';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
type ControlledDatePickerProps = {
|
|
4
|
+
label?: string;
|
|
5
|
+
initialValue?: string;
|
|
6
|
+
onChange?: (date: Dayjs | null) => void;
|
|
7
|
+
};
|
|
8
|
+
declare const ControlledDatePicker: React.FC<ControlledDatePickerProps>;
|
|
9
|
+
export default ControlledDatePicker;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ButtonProps } from '@mui/material/Button';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
interface CustomButtonProps extends ButtonProps {
|
|
4
|
+
startIcon?: React.ReactNode;
|
|
5
|
+
endIcon?: React.ReactNode;
|
|
6
|
+
loading?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const CustomButton: React.FC<CustomButtonProps>;
|
|
9
|
+
export default CustomButton;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Dayjs } from 'dayjs';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
interface CustomDatePickerProps {
|
|
4
|
+
label: string;
|
|
5
|
+
value: Dayjs | null;
|
|
6
|
+
onChange: (date: Dayjs | null | undefined) => void;
|
|
7
|
+
}
|
|
8
|
+
declare const CustomDatePicker: React.FC<CustomDatePickerProps>;
|
|
9
|
+
export default CustomDatePicker;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface CustomInputProps {
|
|
3
|
+
startIcon?: React.ReactNode;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
onChange?: (value: string) => void;
|
|
6
|
+
count?: number;
|
|
7
|
+
onClear?: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare const CustomInput: React.FC<CustomInputProps>;
|
|
10
|
+
export default CustomInput;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface RadioOption {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
}
|
|
5
|
+
interface CustomRadioGroupProps {
|
|
6
|
+
label: string;
|
|
7
|
+
options: RadioOption[];
|
|
8
|
+
value: string;
|
|
9
|
+
onChange: (value: string) => void;
|
|
10
|
+
}
|
|
11
|
+
declare function CustomRadioGroup({ label, options, value, onChange, }: CustomRadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export default CustomRadioGroup;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SelectChangeEvent } from '@mui/material/Select';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
interface CustomSelectProps {
|
|
4
|
+
label: string;
|
|
5
|
+
value: string;
|
|
6
|
+
options: {
|
|
7
|
+
value: string | number;
|
|
8
|
+
label: string;
|
|
9
|
+
}[];
|
|
10
|
+
onChange: (event: SelectChangeEvent) => void;
|
|
11
|
+
}
|
|
12
|
+
declare const CustomSelect: React.FC<CustomSelectProps>;
|
|
13
|
+
export default CustomSelect;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
interface ListItem {
|
|
3
|
+
label: string;
|
|
4
|
+
icon?: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
interface CustomSelectableListProps {
|
|
7
|
+
items: ListItem[];
|
|
8
|
+
onSelect?: (index: number) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const CustomSelectableList: React.FC<CustomSelectableListProps>;
|
|
11
|
+
export default CustomSelectableList;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TabsProps } from '@mui/material/Tabs';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
interface CustomTabsProps extends TabsProps {
|
|
4
|
+
tabs: {
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}[];
|
|
8
|
+
value: string;
|
|
9
|
+
onChange: (event: React.SyntheticEvent, value: string) => void;
|
|
10
|
+
}
|
|
11
|
+
declare const CustomTabs: React.FC<CustomTabsProps>;
|
|
12
|
+
export default CustomTabs;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TextFieldProps } from '@mui/material/TextField';
|
|
2
|
+
type CustomTextFieldProps = Omit<TextFieldProps, "onChange" | "value"> & {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
label?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function CustomTextField({ value, onChange, label, ...props }: CustomTextFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default CustomTextField;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare module "@mui/material/styles/createPalette" {
|
|
2
|
+
interface Palette {
|
|
3
|
+
navbar: {
|
|
4
|
+
background: string;
|
|
5
|
+
foreground: string;
|
|
6
|
+
};
|
|
7
|
+
sidebar: {
|
|
8
|
+
background: string;
|
|
9
|
+
foreground: string;
|
|
10
|
+
};
|
|
11
|
+
neutral: {
|
|
12
|
+
100: string;
|
|
13
|
+
200: string;
|
|
14
|
+
300: string;
|
|
15
|
+
400: string;
|
|
16
|
+
500: string;
|
|
17
|
+
600: string;
|
|
18
|
+
700: string;
|
|
19
|
+
800: string;
|
|
20
|
+
900: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
interface PaletteOptions {
|
|
24
|
+
navbar?: {
|
|
25
|
+
background?: string;
|
|
26
|
+
foregound?: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
declare const Navbar: ({ children }: {
|
|
31
|
+
children: React.ReactNode;
|
|
32
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export default Navbar;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { UserInfo } from '../../routes/ProtectedRoute';
|
|
3
|
+
import { IMenuConfig } from '../layout/layoutConfig';
|
|
4
|
+
interface SideDrawerProps {
|
|
5
|
+
isSidebarOpen: boolean;
|
|
6
|
+
toggleSidebar: () => void;
|
|
7
|
+
variant: "permanent" | "temporary";
|
|
8
|
+
drawerWidth: number;
|
|
9
|
+
menuConfig: IMenuConfig[];
|
|
10
|
+
showOnlyIcons?: boolean;
|
|
11
|
+
toggleSidebarDesktop?: () => void;
|
|
12
|
+
userRoles: string[];
|
|
13
|
+
user?: UserInfo;
|
|
14
|
+
}
|
|
15
|
+
declare const SideDrawer: React.FC<SideDrawerProps>;
|
|
16
|
+
export default SideDrawer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ThemeType } from './ThemeContextProvider';
|
|
2
|
+
export interface IThemeType {
|
|
3
|
+
mode: ThemeType;
|
|
4
|
+
themeColor: string;
|
|
5
|
+
}
|
|
6
|
+
interface IThemeContextType {
|
|
7
|
+
theme: IThemeType;
|
|
8
|
+
toggleTheme: () => void;
|
|
9
|
+
setThemeColor: (color: string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const ThemeContext: import('react').Context<IThemeContextType | undefined>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:" ";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging,[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:"";background:#000;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{top:2px;bottom:2px;left:2px;right:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:0;bottom:0;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}
|