@evoke-platform/ui-components 1.0.0-dev.114 → 1.0.0-dev.115

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.
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { AvatarProps } from '@mui/material';
3
- declare type MyAvatarProps = AvatarProps & {
3
+ export declare type CustomAvatarProps = AvatarProps & {
4
4
  isSelected?: boolean;
5
5
  backgroundColor?: string;
6
6
  };
7
- declare const Avatar: (props: MyAvatarProps) => JSX.Element;
7
+ declare const Avatar: (props: CustomAvatarProps) => JSX.Element;
8
8
  export default Avatar;
@@ -1,6 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { DataGridProps as MuiDataGridProps, GridValidRowModel } from '@mui/x-data-grid';
3
+ import { Theme } from '@mui/material';
3
4
  export declare type DataGridProps<T extends GridValidRowModel> = MuiDataGridProps<T> & {
4
5
  onRefresh?: () => void;
6
+ theme?: Theme;
5
7
  };
6
8
  export default function <T extends GridValidRowModel>(props: DataGridProps<T>): JSX.Element;
@@ -14,10 +14,10 @@ import React, { useMemo, useState } from 'react';
14
14
  import Toolbar from './Toolbar';
15
15
  import UIThemeProvider from '../../../theme';
16
16
  export default function (props) {
17
- const { onRefresh, loading } = props, rest = __rest(props, ["onRefresh", "loading"]);
17
+ const { onRefresh, loading, theme } = props, rest = __rest(props, ["onRefresh", "loading", "theme"]);
18
18
  const [anchorEl, setAnchorEl] = useState();
19
- const toolbar = useMemo(() => () => React.createElement(Toolbar, { onRefresh: onRefresh, setAnchorEl: setAnchorEl, loading: loading }), [onRefresh, loading]);
20
- return (React.createElement(UIThemeProvider, null,
19
+ const toolbar = useMemo(() => () => React.createElement(Toolbar, { onRefresh: onRefresh, setAnchorEl: setAnchorEl, loading: loading, theme: theme }), [onRefresh, loading]);
20
+ return (React.createElement(UIThemeProvider, { args: { theme: theme } },
21
21
  React.createElement(MuiDataGrid, Object.assign({ loading: loading }, rest, { sx: {
22
22
  borderRadius: '8px',
23
23
  border: 'none',
@@ -44,6 +44,23 @@ export default function (props) {
44
44
  border: '1px solid #eee',
45
45
  borderRadius: '0 0 8px 8px'
46
46
  },
47
+ '.css-17hki28-MuiButtonBase-root-MuiButton-root': {
48
+ padding: '7px',
49
+ color: '#757575',
50
+ '&:hover': {
51
+ backgroundColor: '#f2f3f5',
52
+ }
53
+ },
54
+ '.css-1pe4mpk-MuiButtonBase-root-MuiIconButton-root': {
55
+ marginRight: '3px',
56
+ marginLeft: '3px'
57
+ },
58
+ '.css-aqict8-MuiButtonBase-root-MuiButton-root': {
59
+ color: '#378043',
60
+ '&:hover': {
61
+ backgroundColor: '#D3E3D5',
62
+ },
63
+ },
47
64
  height: 'calc(100vh - 240px)'
48
65
  }, localeText: {
49
66
  toolbarColumns: '',
@@ -4,6 +4,7 @@ export declare type GridToolbarProps = MuiGridToolbarProps & {
4
4
  onRefresh?: () => void;
5
5
  setAnchorEl?: (anchorEl: HTMLAnchorElement | null) => void;
6
6
  loading?: boolean;
7
+ theme?: any;
7
8
  };
8
9
  declare function Toolbar(props: GridToolbarProps): JSX.Element;
9
10
  export default Toolbar;
@@ -4,33 +4,38 @@ import React from 'react';
4
4
  import { Grid } from '../../layout';
5
5
  import { IconButton } from '../../core';
6
6
  import UIThemeProvider from '../../../theme';
7
- const styles = {
8
- container: { display: 'flex', justifyContent: 'space-between', margin: '0 0 15px 0' },
9
- iconButton: {
10
- minWidth: '36px',
11
- height: '36px',
12
- backgroundColor: 'rgba(145, 158, 171, 0.12)',
13
- },
14
- icon: {
15
- marginLeft: '8px',
16
- },
17
- quickFilter: {
18
- '& fieldset': {
19
- borderRadius: '8px',
20
- color: '#919EAB',
21
- borderColor: 'rgba(145, 158, 171, 0.32)',
22
- },
23
- },
24
- };
25
7
  function Toolbar(props) {
26
- const { onRefresh, setAnchorEl, loading } = props;
8
+ const { onRefresh, setAnchorEl, loading, theme } = props;
9
+ const styles = {
10
+ container: { display: 'flex', justifyContent: 'space-between', margin: '0 0 15px 0' },
11
+ iconButton: {
12
+ minWidth: '36px',
13
+ height: '36px',
14
+ backgroundColor: 'rgba(145, 158, 171, 0.12)',
15
+ },
16
+ icon: {
17
+ marginLeft: '8px',
18
+ },
19
+ quickFilter: {
20
+ '& .MuiOutlinedInput-root': {
21
+ '&.Mui-focused fieldset': {
22
+ borderColor: theme.palette.primary.main,
23
+ },
24
+ },
25
+ '& fieldset': {
26
+ borderRadius: '8px',
27
+ color: '#919EAB',
28
+ borderColor: 'rgba(145, 158, 171, 0.32)',
29
+ }
30
+ },
31
+ };
27
32
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
33
  const setAnchor = (event) => {
29
34
  if (setAnchorEl) {
30
35
  setAnchorEl(event.target);
31
36
  }
32
37
  };
33
- return (React.createElement(UIThemeProvider, null,
38
+ return (React.createElement(UIThemeProvider, { args: { theme: theme } },
34
39
  React.createElement(GridToolbarContainer, { sx: { padding: '0' } },
35
40
  React.createElement(Grid, { container: true, sx: styles.container },
36
41
  React.createElement(Grid, { item: true, xs: 6 },
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { CustomAvatarProps } from '../../core/Avatar/Avatar';
3
+ export declare type UserAvatarProps = CustomAvatarProps & {
4
+ user?: string;
5
+ imageUrl?: string;
6
+ };
7
+ declare const UserAvatar: (props: UserAvatarProps) => JSX.Element;
8
+ export default UserAvatar;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { Avatar } from '../../core';
3
+ const UserAvatar = (props) => {
4
+ var _a, _b;
5
+ const { user, imageUrl } = props;
6
+ const determineColor = (user) => {
7
+ const availableColors = ['#A10E0E', '#EB6B0A', '#FFC107', '#BCD340', '#547B29', '#0075A7', '#52437E'];
8
+ if (!user) {
9
+ return '#bdbdbd';
10
+ }
11
+ else {
12
+ let sum = 0;
13
+ [...user].forEach((v, index) => sum += user.charCodeAt(index));
14
+ return availableColors[sum % availableColors.length];
15
+ }
16
+ };
17
+ return (React.createElement(Avatar, Object.assign({}, props, { src: imageUrl !== null && imageUrl !== void 0 ? imageUrl : '', sx: Object.assign(Object.assign({}, props.sx), { backgroundColor: determineColor(user) }) }), user ? (_b = (_a = user.match(/(\b\S)?/g)) === null || _a === void 0 ? void 0 : _a.join('').match(/(^\S|\S$)?/g)) === null || _b === void 0 ? void 0 : _b.join('').toUpperCase() : undefined));
18
+ };
19
+ export default UserAvatar;
@@ -0,0 +1,3 @@
1
+ import UserAvatar from './UserAvatar';
2
+ export { UserAvatar };
3
+ export default UserAvatar;
@@ -0,0 +1,3 @@
1
+ import UserAvatar from './UserAvatar';
2
+ export { UserAvatar };
3
+ export default UserAvatar;
@@ -4,3 +4,4 @@ export { FormField } from './FormField';
4
4
  export { MenuBar } from './Menubar';
5
5
  export { MultiSelect } from './MultiSelect';
6
6
  export { RepeatableField } from './RepeatableField';
7
+ export { UserAvatar } from './UserAvatar';
@@ -4,3 +4,4 @@ export { FormField } from './FormField';
4
4
  export { MenuBar } from './Menubar';
5
5
  export { MultiSelect } from './MultiSelect';
6
6
  export { RepeatableField } from './RepeatableField';
7
+ export { UserAvatar } from './UserAvatar';
@@ -1,4 +1,4 @@
1
- export { ClickAwayListener, FormControlProps, FormHelperTextProps, GridSize, Toolbar } from '@mui/material';
1
+ export { ClickAwayListener, FormControlProps, FormHelperTextProps, GridSize, Toolbar, createTheme } from '@mui/material';
2
2
  export { CalendarPicker, DateTimePicker, MonthPicker, PickersDay, StaticDateTimePicker, StaticTimePicker, TimePicker, YearPicker, } from '@mui/x-date-pickers';
3
3
  export * from './components/core';
4
4
  export { CriteriaBuilder, DataGrid, FormField, MenuBar, MultiSelect, RepeatableField } from './components/custom';
@@ -1,4 +1,4 @@
1
- export { ClickAwayListener, Toolbar } from '@mui/material';
1
+ export { ClickAwayListener, Toolbar, createTheme } from '@mui/material';
2
2
  export { CalendarPicker, DateTimePicker, MonthPicker, PickersDay, StaticDateTimePicker, StaticTimePicker, TimePicker, YearPicker, } from '@mui/x-date-pickers';
3
3
  export * from './components/core';
4
4
  export { CriteriaBuilder, DataGrid, FormField, MenuBar, MultiSelect, RepeatableField } from './components/custom';
@@ -1,39 +1,5 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { ComponentStory, ComponentMeta } from '@storybook/react';
3
- declare const _default: ComponentMeta<(props: {
4
- alt?: string | undefined;
5
- children?: React.ReactNode;
6
- classes?: Partial<import("@mui/material").AvatarClasses> | undefined;
7
- imgProps?: (React.ImgHTMLAttributes<HTMLImageElement> & {
8
- sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
9
- }) | undefined;
10
- sizes?: string | undefined;
11
- src?: string | undefined;
12
- srcSet?: string | undefined;
13
- sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
14
- variant?: "square" | "rounded" | "circular" | undefined;
15
- } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
16
- ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
17
- }, keyof import("@mui/material/OverridableComponent").CommonProps | "children" | "sx" | "variant" | "alt" | "src" | "sizes" | "srcSet" | "imgProps"> & {
18
- isSelected?: boolean | undefined;
19
- backgroundColor?: string | undefined;
20
- }) => JSX.Element>;
3
+ declare const _default: ComponentMeta<(props: import("../components/core/Avatar/Avatar").CustomAvatarProps) => JSX.Element>;
21
4
  export default _default;
22
- export declare const Avatar: ComponentStory<(props: {
23
- alt?: string | undefined;
24
- children?: React.ReactNode;
25
- classes?: Partial<import("@mui/material").AvatarClasses> | undefined;
26
- imgProps?: (React.ImgHTMLAttributes<HTMLImageElement> & {
27
- sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
28
- }) | undefined;
29
- sizes?: string | undefined;
30
- src?: string | undefined;
31
- srcSet?: string | undefined;
32
- sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
33
- variant?: "square" | "rounded" | "circular" | undefined;
34
- } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
35
- ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
36
- }, keyof import("@mui/material/OverridableComponent").CommonProps | "children" | "sx" | "variant" | "alt" | "src" | "sizes" | "srcSet" | "imgProps"> & {
37
- isSelected?: boolean | undefined;
38
- backgroundColor?: string | undefined;
39
- }) => JSX.Element>;
5
+ export declare const Avatar: ComponentStory<(props: import("../components/core/Avatar/Avatar").CustomAvatarProps) => JSX.Element>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evoke-platform/ui-components",
3
- "version": "1.0.0-dev.114",
3
+ "version": "1.0.0-dev.115",
4
4
  "description": "",
5
5
  "main": "dist/published/index.js",
6
6
  "module": "dist/published/index.js",