@zesty-io/material 0.2.4 → 0.3.0

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 (115) hide show
  1. package/cjs/ConfirmDialog/ConfirmDialog.stories.d.ts +6 -0
  2. package/cjs/ConfirmDialog/ConfirmDialog.stories.js +27 -0
  3. package/cjs/ConfirmDialog/index.d.ts +18 -0
  4. package/cjs/ConfirmDialog/index.js +13 -0
  5. package/cjs/CopyButton/CopyButton.stories.d.ts +5 -0
  6. package/cjs/CopyButton/CopyButton.stories.js +17 -0
  7. package/cjs/CopyButton/index.d.ts +10 -0
  8. package/cjs/CopyButton/index.js +28 -0
  9. package/cjs/FieldTypeColor/FieldTypeColor.stories.d.ts +5 -0
  10. package/cjs/FieldTypeColor/FieldTypeColor.stories.js +24 -0
  11. package/cjs/FieldTypeColor/index.d.ts +6 -0
  12. package/cjs/FieldTypeColor/index.js +18 -0
  13. package/cjs/FieldTypeDate/FieldTypeDate.stories.d.ts +5 -0
  14. package/cjs/FieldTypeDate/FieldTypeDate.stories.js +20 -0
  15. package/cjs/FieldTypeDate/index.d.ts +9 -0
  16. package/cjs/FieldTypeDate/index.js +12 -0
  17. package/cjs/FieldTypeDateTime/FieldTypeDateTime.stories.d.ts +5 -0
  18. package/cjs/FieldTypeDateTime/FieldTypeDateTime.stories.js +20 -0
  19. package/cjs/FieldTypeDateTime/index.d.ts +9 -0
  20. package/cjs/FieldTypeDateTime/index.js +12 -0
  21. package/cjs/FieldTypeNumber/FieldTypeNumber.stories.d.ts +5 -0
  22. package/cjs/FieldTypeNumber/FieldTypeNumber.stories.js +24 -0
  23. package/cjs/FieldTypeNumber/index.d.ts +6 -0
  24. package/cjs/FieldTypeNumber/index.js +9 -0
  25. package/cjs/FieldTypeOneToMany/FieldTypeOneToMany.stories.d.ts +5 -0
  26. package/cjs/FieldTypeOneToMany/FieldTypeOneToMany.stories.js +31 -0
  27. package/cjs/FieldTypeOneToMany/index.d.ts +32 -0
  28. package/cjs/FieldTypeOneToMany/index.js +31 -0
  29. package/cjs/FieldTypeOneToOne/FieldTypeOneToOne.stories.d.ts +5 -0
  30. package/cjs/FieldTypeOneToOne/FieldTypeOneToOne.stories.js +31 -0
  31. package/cjs/FieldTypeOneToOne/index.d.ts +34 -0
  32. package/cjs/FieldTypeOneToOne/index.js +35 -0
  33. package/cjs/FieldTypeSort/FieldTypeSort.stories.d.ts +5 -0
  34. package/cjs/FieldTypeSort/FieldTypeSort.stories.js +25 -0
  35. package/cjs/FieldTypeSort/index.d.ts +7 -0
  36. package/cjs/FieldTypeSort/index.js +36 -0
  37. package/cjs/FieldTypeText/FieldTypeText.stories.d.ts +6 -0
  38. package/cjs/FieldTypeText/FieldTypeText.stories.js +32 -0
  39. package/cjs/FieldTypeText/index.d.ts +12 -0
  40. package/cjs/FieldTypeText/index.js +9 -0
  41. package/cjs/FieldTypeUrl/FieldTypeUrl.stories.d.ts +5 -0
  42. package/cjs/FieldTypeUrl/FieldTypeUrl.stories.js +24 -0
  43. package/cjs/FieldTypeUrl/index.d.ts +12 -0
  44. package/cjs/FieldTypeUrl/index.js +16 -0
  45. package/cjs/LegacyTheme/index.d.ts +3 -0
  46. package/cjs/LegacyTheme/index.js +83 -0
  47. package/cjs/LegacyTheme/palette.d.ts +3 -0
  48. package/cjs/LegacyTheme/palette.js +25 -0
  49. package/{src/LegacyTheme/typography.ts → cjs/LegacyTheme/typography.d.ts} +1 -5
  50. package/cjs/LegacyTheme/typography.js +6 -0
  51. package/cjs/VitualizedAutocomplete/VirtualizedAutocomplete.stories.d.ts +5 -0
  52. package/cjs/VitualizedAutocomplete/VirtualizedAutocomplete.stories.js +30 -0
  53. package/cjs/VitualizedAutocomplete/index.d.ts +28 -0
  54. package/cjs/VitualizedAutocomplete/index.js +23 -0
  55. package/{src/index.ts → cjs/index.d.ts} +3 -3
  56. package/cjs/index.js +31 -0
  57. package/cjs/theme/Theme.stories.d.ts +4 -0
  58. package/cjs/theme/Theme.stories.js +13 -0
  59. package/cjs/theme/index.d.ts +3 -0
  60. package/cjs/theme/index.js +52 -0
  61. package/cjs/theme/palette.d.ts +15 -0
  62. package/cjs/theme/palette.js +138 -0
  63. package/cjs/theme/typography.d.ts +9 -0
  64. package/cjs/theme/typography.js +59 -0
  65. package/cjs/utils/virtualization.d.ts +2 -0
  66. package/cjs/utils/virtualization.js +66 -0
  67. package/es/LegacyTheme/index.js +2 -0
  68. package/es/TextField.stories.d.ts +5 -0
  69. package/es/TextField.stories.js +18 -0
  70. package/es/icons/FolderGlobal.d.ts +3 -0
  71. package/es/icons/FolderGlobal.js +3 -0
  72. package/es/icons/index.d.ts +1 -0
  73. package/es/icons/index.js +1 -0
  74. package/es/index.d.ts +1 -0
  75. package/es/index.js +1 -0
  76. package/es/theme/index.d.ts +8 -0
  77. package/es/theme/index.js +95 -2
  78. package/es/theme/palette.d.ts +1 -0
  79. package/es/theme/palette.js +3 -1
  80. package/package.json +11 -7
  81. package/.storybook/main.js +0 -25
  82. package/.storybook/preview-head.html +0 -1
  83. package/.storybook/preview.js +0 -15
  84. package/src/ConfirmDialog/ConfirmDialog.stories.tsx +0 -35
  85. package/src/ConfirmDialog/index.tsx +0 -50
  86. package/src/CopyButton/CopyButton.stories.tsx +0 -20
  87. package/src/CopyButton/index.tsx +0 -55
  88. package/src/FieldTypeColor/FieldTypeColor.stories.tsx +0 -35
  89. package/src/FieldTypeColor/index.tsx +0 -43
  90. package/src/FieldTypeDate/FieldTypeDate.stories.tsx +0 -23
  91. package/src/FieldTypeDate/index.tsx +0 -35
  92. package/src/FieldTypeDateTime/FieldTypeDateTime.stories.tsx +0 -23
  93. package/src/FieldTypeDateTime/index.tsx +0 -36
  94. package/src/FieldTypeNumber/FieldTypeNumber.stories.tsx +0 -35
  95. package/src/FieldTypeNumber/index.tsx +0 -22
  96. package/src/FieldTypeOneToMany/FieldTypeOneToMany.stories.tsx +0 -47
  97. package/src/FieldTypeOneToMany/index.tsx +0 -90
  98. package/src/FieldTypeOneToOne/FieldTypeOneToOne.stories.tsx +0 -46
  99. package/src/FieldTypeOneToOne/index.tsx +0 -96
  100. package/src/FieldTypeSort/FieldTypeSort.stories.tsx +0 -36
  101. package/src/FieldTypeSort/index.tsx +0 -70
  102. package/src/FieldTypeText/FieldTypeText.stories.tsx +0 -45
  103. package/src/FieldTypeText/index.tsx +0 -35
  104. package/src/FieldTypeUrl/FieldTypeUrl.stories.tsx +0 -33
  105. package/src/FieldTypeUrl/index.tsx +0 -44
  106. package/src/LegacyTheme/index.ts +0 -88
  107. package/src/LegacyTheme/palette.ts +0 -25
  108. package/src/VitualizedAutocomplete/VirtualizedAutocomplete.stories.tsx +0 -45
  109. package/src/VitualizedAutocomplete/index.tsx +0 -69
  110. package/src/theme/Theme.stories.tsx +0 -16
  111. package/src/theme/index.ts +0 -53
  112. package/src/theme/palette.ts +0 -153
  113. package/src/theme/typography.ts +0 -69
  114. package/src/utils/virtualization.tsx +0 -107
  115. package/tsconfig.json +0 -22
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const TextField_1 = require("@mui/material/TextField");
5
+ const material_1 = require("@mui/material");
6
+ const Add_1 = require("@mui/icons-material/Add");
7
+ const Remove_1 = require("@mui/icons-material/Remove");
8
+ const FieldTypeSort = ({ label, value, InputProps, required, onChange, ...props }) => {
9
+ return ((0, jsx_runtime_1.jsxs)(material_1.FormControl, { fullWidth: true, required: required, children: [(0, jsx_runtime_1.jsx)(material_1.FormLabel, { children: label }), (0, jsx_runtime_1.jsx)(TextField_1.default, { size: "small", variant: 'outlined', type: 'number', value: value, onChange: onChange, InputProps: {
10
+ startAdornment: ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "start", children: (0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", variant: "contained", onClick: (e) => {
11
+ e.stopPropagation();
12
+ // References input via click event in order to obtain its value
13
+ const input = e.currentTarget?.parentElement?.parentElement?.childNodes?.[1];
14
+ const newValue = String(+input.value - 1);
15
+ // Updates internal input value in case component is not controlled
16
+ input.value = newValue;
17
+ // Mocks an event change
18
+ const event = { target: { value: newValue } };
19
+ onChange && onChange(event);
20
+ }, children: (0, jsx_runtime_1.jsx)(Remove_1.default, { fontSize: 'small' }) }) })),
21
+ endAdornment: ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "end", children: (0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", variant: "contained", onClick: (e) => {
22
+ e.stopPropagation();
23
+ // References input via click event in order to obtain its value
24
+ const input = e.currentTarget?.parentElement?.parentElement?.childNodes?.[1];
25
+ const newValue = String(+input.value + 1);
26
+ // Updates internal input value in case component is not controlled
27
+ input.value = newValue;
28
+ // Mocks an event change
29
+ const event = { target: { value: newValue } };
30
+ onChange && onChange(event);
31
+ }, children: (0, jsx_runtime_1.jsx)(Add_1.default, { fontSize: 'small' }) }) })),
32
+ // Spread props at the end to allow Input prop overrides
33
+ ...InputProps,
34
+ }, ...props })] }));
35
+ };
36
+ exports.default = FieldTypeSort;
@@ -0,0 +1,6 @@
1
+ import { Story, Meta } from '@storybook/react/types-6-0';
2
+ import { FieldTypeTextProps } from './';
3
+ declare const _default: Meta<import("@storybook/react/types-6-0").Args>;
4
+ export default _default;
5
+ export declare const Default: Story<FieldTypeTextProps>;
6
+ export declare const TextArea: Story<FieldTypeTextProps>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextArea = exports.Default = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const _1 = require("./");
7
+ exports.default = {
8
+ title: 'FieldTypeText',
9
+ component: _1.default,
10
+ argType: {},
11
+ };
12
+ const Template = (args) => {
13
+ const [value, setValue] = (0, react_1.useState)('');
14
+ const handleOnChange = (e) => {
15
+ setValue(e.target.value);
16
+ };
17
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(_1.default, { ...args, value: value, onChange: handleOnChange }) }));
18
+ };
19
+ exports.Default = Template.bind({});
20
+ exports.Default.args = {
21
+ placeholder: 'Placeholder Text...',
22
+ label: 'Text label',
23
+ helperText: 'Text helper text',
24
+ };
25
+ exports.TextArea = Template.bind({});
26
+ exports.TextArea.args = {
27
+ multiline: true,
28
+ rows: 4,
29
+ placeholder: 'Placeholder Text...',
30
+ label: 'Text Label',
31
+ helperText: 'Text helper text',
32
+ };
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { OutlinedTextFieldProps } from '@mui/material/TextField';
3
+ export interface FieldTypeTextProps extends Omit<OutlinedTextFieldProps, 'variant'> {
4
+ /**
5
+ * Max length of the field
6
+ * @default 150
7
+ */
8
+ maxLength?: number;
9
+ value: string;
10
+ }
11
+ declare const FieldTypeText: ({ label, maxLength, value, helperText, required, ...props }: FieldTypeTextProps) => JSX.Element;
12
+ export default FieldTypeText;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const TextField_1 = require("@mui/material/TextField");
5
+ const material_1 = require("@mui/material");
6
+ const FieldTypeText = ({ label, maxLength = 150, value, helperText, required, ...props }) => {
7
+ return ((0, jsx_runtime_1.jsxs)(material_1.FormControl, { fullWidth: true, required: required, children: [(0, jsx_runtime_1.jsxs)(material_1.FormLabel, { sx: { display: 'flex', justifyContent: 'space-between', '& .MuiFormLabel-asterisk': { order: 2 } }, children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: { order: 1 }, children: label }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { order: 3, flex: 1, textAlign: 'right' }, children: [value?.length, "/", maxLength] })] }), (0, jsx_runtime_1.jsx)(TextField_1.default, { size: "small", variant: 'outlined', value: value, error: value?.length > maxLength, helperText: value?.length > maxLength ? 'Your input is over the specified limit' : helperText, ...props })] }));
8
+ };
9
+ exports.default = FieldTypeText;
@@ -0,0 +1,5 @@
1
+ import { Story, Meta } from '@storybook/react/types-6-0';
2
+ import { FieldTypeUrlProps } from './';
3
+ declare const _default: Meta<import("@storybook/react/types-6-0").Args>;
4
+ export default _default;
5
+ export declare const Default: Story<FieldTypeUrlProps>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Default = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const _1 = require("./");
7
+ exports.default = {
8
+ title: 'FieldTypeUrl',
9
+ component: _1.default,
10
+ argType: {},
11
+ };
12
+ const Template = (args) => {
13
+ const [value, setValue] = (0, react_1.useState)('');
14
+ const handleOnChange = (e) => {
15
+ setValue(e.target.value);
16
+ };
17
+ return ((0, jsx_runtime_1.jsx)(_1.default, { ...args, value: value, onChange: handleOnChange }));
18
+ };
19
+ exports.Default = Template.bind({});
20
+ exports.Default.args = {
21
+ placeholder: 'Placeholder Text...',
22
+ label: 'Some label',
23
+ fullWidth: true,
24
+ };
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { OutlinedTextFieldProps } from '@mui/material/TextField';
3
+ export interface FieldTypeUrlProps extends Omit<OutlinedTextFieldProps, 'variant'> {
4
+ /**
5
+ * Max length of the field
6
+ * @default 2000
7
+ */
8
+ maxLength?: number;
9
+ value: string;
10
+ }
11
+ declare const FieldTypeUrl: ({ label, maxLength, value, helperText, required, inputProps, ...props }: FieldTypeUrlProps) => JSX.Element;
12
+ export default FieldTypeUrl;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
5
+ const TextField_1 = require("@mui/material/TextField");
6
+ const material_1 = require("@mui/material");
7
+ const FieldTypeUrl = ({ label, maxLength = 2000, value, helperText, required, inputProps, ...props }) => {
8
+ // Use state to hold input reference to re-render once ref changes in case error needs to be shown on mount
9
+ const [inputRef, setInputRef] = (0, react_1.useState)();
10
+ return ((0, jsx_runtime_1.jsxs)(material_1.FormControl, { fullWidth: true, required: required, children: [(0, jsx_runtime_1.jsxs)(material_1.FormLabel, { sx: { display: 'flex', justifyContent: 'space-between', '& .MuiFormLabel-asterisk': { order: 2 } }, children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: { order: 1 }, children: label }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { order: 3, flex: 1, textAlign: 'right' }, children: [value?.length, "/", maxLength] })] }), (0, jsx_runtime_1.jsx)(TextField_1.default, { size: "small", type: 'url', variant: 'outlined', value: value, inputProps: {
11
+ ref: (inputRef) => setInputRef(inputRef),
12
+ // Spread props at the end to allow inputProps prop overrides
13
+ ...inputProps,
14
+ }, error: (value && !inputRef?.validity.valid) || value?.length > maxLength, helperText: value?.length > maxLength ? 'Your input is over the specified limit' : (value && !inputRef?.validity.valid) ? 'Your input is not a valid url' : helperText, ...props })] }));
15
+ };
16
+ exports.default = FieldTypeUrl;
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@mui/material/styles';
2
+ declare let theme: Theme;
3
+ export default theme;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const palette_1 = require("./palette");
4
+ const typography_1 = require("./typography");
5
+ const styles_1 = require("@mui/material/styles");
6
+ let theme = (0, styles_1.createTheme)({
7
+ palette: palette_1.default,
8
+ typography: typography_1.default,
9
+ });
10
+ theme = (0, styles_1.createTheme)(theme, {
11
+ components: {
12
+ MuiAccordionSummary: {
13
+ styleOverrides: {
14
+ root: {
15
+ backgroundColor: '#e4e9f1',
16
+ },
17
+ },
18
+ },
19
+ MuiButton: {
20
+ styleOverrides: {
21
+ root: {
22
+ minWidth: 'auto',
23
+ },
24
+ },
25
+ },
26
+ MuiTooltip: {
27
+ styleOverrides: {
28
+ tooltip: {
29
+ color: theme.palette.primary.contrastText,
30
+ backgroundColor: theme.palette.primary.main,
31
+ fontSize: '14px',
32
+ lineHeight: '20px',
33
+ },
34
+ arrow: {
35
+ color: theme.palette.primary.main,
36
+ },
37
+ },
38
+ },
39
+ MuiInputBase: {
40
+ styleOverrides: {
41
+ root: {
42
+ backgroundColor: theme.palette.primary.contrastText,
43
+ },
44
+ },
45
+ },
46
+ MuiFormLabel: {
47
+ styleOverrides: {
48
+ root: {
49
+ color: theme.palette.primary.dark,
50
+ },
51
+ asterisk: {
52
+ color: theme.palette.error.main,
53
+ },
54
+ },
55
+ },
56
+ MuiCard: {
57
+ styleOverrides: {
58
+ root: {
59
+ overflow: 'visible',
60
+ },
61
+ },
62
+ },
63
+ MuiCardHeader: {
64
+ styleOverrides: {
65
+ root: {
66
+ backgroundColor: '#e4e9f1',
67
+ },
68
+ },
69
+ },
70
+ MuiToggleButton: {
71
+ styleOverrides: {
72
+ root: ({ ownerState, theme }) => ({
73
+ backgroundColor: `${theme.palette[ownerState.color].contrastText} !important`,
74
+ ...(ownerState.selected && {
75
+ color: `${theme.palette[ownerState.color].contrastText} !important`,
76
+ backgroundColor: `${theme.palette[ownerState.color].main} !important`,
77
+ }),
78
+ }),
79
+ },
80
+ },
81
+ },
82
+ });
83
+ exports.default = theme;
@@ -0,0 +1,3 @@
1
+ import { PaletteOptions } from '@mui/material/styles';
2
+ declare const palette: PaletteOptions;
3
+ export default palette;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const palette = {
4
+ primary: {
5
+ main: '#404759',
6
+ contrastText: '#ffffff',
7
+ },
8
+ secondary: {
9
+ main: '#497edf',
10
+ contrastText: '#ffffff',
11
+ },
12
+ success: {
13
+ main: '#75bf25',
14
+ contrastText: '#ffffff',
15
+ },
16
+ warning: {
17
+ main: '#f17829',
18
+ contrastText: '#ffffff',
19
+ },
20
+ error: {
21
+ main: '#e53c05',
22
+ contrastText: '#ffffff',
23
+ },
24
+ };
25
+ exports.default = palette;
@@ -1,7 +1,3 @@
1
1
  import { TypographyVariantsOptions } from '@mui/material/styles';
2
-
3
- const typography: TypographyVariantsOptions = {
4
- fontFamily: "'Mulish'",
5
- };
6
-
2
+ declare const typography: TypographyVariantsOptions;
7
3
  export default typography;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const typography = {
4
+ fontFamily: "'Mulish'",
5
+ };
6
+ exports.default = typography;
@@ -0,0 +1,5 @@
1
+ import { Story, Meta } from '@storybook/react/types-6-0';
2
+ import { VirtualizedAutocompleteProps } from './';
3
+ declare const _default: Meta<import("@storybook/react/types-6-0").Args>;
4
+ export default _default;
5
+ export declare const Default: Story<VirtualizedAutocompleteProps>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Default = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const _1 = require("./");
7
+ exports.default = {
8
+ title: 'VirtualizedAutocomplete',
9
+ component: _1.default,
10
+ argType: {},
11
+ };
12
+ const Template = (args) => {
13
+ const [value, setValue] = (0, react_1.useState)({ component: '- None -', value: '0', inputLabel: '- None -' });
14
+ const [options, setOptions] = (0, react_1.useState)([]);
15
+ const handleOnOpen = async () => {
16
+ const largeArr = new Array(1000).fill(null);
17
+ await new Promise((resolve) => setTimeout(resolve, 3000));
18
+ const data = largeArr.map((_, idx) => ({ component: (0, jsx_runtime_1.jsx)("div", { children: `Test ${idx}` }), value: String(Math.random()), inputLabel: `Test ${idx}` }));
19
+ setOptions(data);
20
+ };
21
+ const handleOnChange = (e, option) => {
22
+ setValue(option);
23
+ };
24
+ return ((0, jsx_runtime_1.jsx)(_1.default, { ...args, value: value, onChange: handleOnChange, options: options, onOpen: handleOnOpen }));
25
+ };
26
+ exports.Default = Template.bind({});
27
+ exports.Default.args = {
28
+ helperText: 'OneToOne helperText',
29
+ placeholder: 'OneToOne placeholder'
30
+ };
@@ -0,0 +1,28 @@
1
+ import { ReactNode } from 'react';
2
+ import { AutocompleteProps } from '@mui/material';
3
+ export interface VirtualizedAutocompleteProps extends Omit<AutocompleteProps<any, false, false, false>, 'renderInput'> {
4
+ helperText?: string;
5
+ placeholder?: string;
6
+ error?: boolean;
7
+ startAdornment?: ReactNode;
8
+ endAdornment?: ReactNode;
9
+ /**
10
+ * Structure for option
11
+ */
12
+ options: {
13
+ /**
14
+ * Component to be rendered in the dropdown
15
+ */
16
+ component: ReactNode | string;
17
+ /**
18
+ * Value of option
19
+ */
20
+ value: string;
21
+ /**
22
+ * Label that should display in the input when selected
23
+ */
24
+ inputLabel: string;
25
+ }[];
26
+ }
27
+ declare const VirtualizedAutocomplete: ({ helperText, placeholder, error, startAdornment, endAdornment, ...props }: VirtualizedAutocompleteProps) => JSX.Element;
28
+ export default VirtualizedAutocomplete;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const material_1 = require("@mui/material");
5
+ const Autocomplete_1 = require("@mui/material/Autocomplete");
6
+ const virtualization_1 = require("../utils/virtualization");
7
+ const VirtualizedAutocomplete = ({ helperText, placeholder, error, startAdornment, endAdornment, ...props }) => {
8
+ return ((0, jsx_runtime_1.jsx)(Autocomplete_1.default, { fullWidth: true, disableListWrap: true, size: 'small', PopperComponent: StyledPopper, ListboxComponent: virtualization_1.ListboxComponent, renderInput: (params) => ((0, jsx_runtime_1.jsx)(material_1.TextField, { ...params, helperText: helperText, error: error, placeholder: placeholder, InputProps: {
9
+ ...params.InputProps,
10
+ startAdornment: (0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: 'end', children: startAdornment }),
11
+ endAdornment: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [params.InputProps.endAdornment, (0, jsx_runtime_1.jsx)(material_1.InputAdornment, { sx: { position: 'relative', right: '40px' }, position: 'end', children: endAdornment })] })
12
+ } })), getOptionLabel: (option) => option.inputLabel, renderOption: (props, option) => [props, option.component], ...props }));
13
+ };
14
+ exports.default = VirtualizedAutocomplete;
15
+ const StyledPopper = (0, material_1.styled)(material_1.Popper)({
16
+ [`& .${Autocomplete_1.autocompleteClasses.listbox}`]: {
17
+ boxSizing: 'border-box',
18
+ '& ul': {
19
+ padding: 0,
20
+ margin: 0,
21
+ },
22
+ },
23
+ });
@@ -7,8 +7,8 @@ export { default as FieldTypeDate } from './FieldTypeDate';
7
7
  export { default as FieldTypeDateTime } from './FieldTypeDateTime';
8
8
  export { default as FieldTypeColor } from './FieldTypeColor';
9
9
  export { default as FieldTypeNumber } from './FieldTypeNumber';
10
- export { default as FieldTypeOneToOne} from './FieldTypeOneToOne';
11
- export { default as FieldTypeOneToMany} from './FieldTypeOneToMany';
10
+ export { default as FieldTypeOneToOne } from './FieldTypeOneToOne';
11
+ export { default as FieldTypeOneToMany } from './FieldTypeOneToMany';
12
12
  export { default as CopyButton } from './CopyButton';
13
13
  export { default as ConfirmDialog } from './ConfirmDialog';
14
- export { default as VirtualizedAutocomplete } from './VitualizedAutocomplete';
14
+ export { default as VirtualizedAutocomplete } from './VitualizedAutocomplete';
package/cjs/index.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VirtualizedAutocomplete = exports.ConfirmDialog = exports.CopyButton = exports.FieldTypeOneToMany = exports.FieldTypeOneToOne = exports.FieldTypeNumber = exports.FieldTypeColor = exports.FieldTypeDateTime = exports.FieldTypeDate = exports.FieldTypeUrl = exports.FieldTypeSort = exports.FieldTypeText = exports.theme = exports.legacyTheme = void 0;
4
+ var LegacyTheme_1 = require("./LegacyTheme");
5
+ Object.defineProperty(exports, "legacyTheme", { enumerable: true, get: function () { return LegacyTheme_1.default; } });
6
+ var theme_1 = require("./theme");
7
+ Object.defineProperty(exports, "theme", { enumerable: true, get: function () { return theme_1.default; } });
8
+ var FieldTypeText_1 = require("./FieldTypeText");
9
+ Object.defineProperty(exports, "FieldTypeText", { enumerable: true, get: function () { return FieldTypeText_1.default; } });
10
+ var FieldTypeSort_1 = require("./FieldTypeSort");
11
+ Object.defineProperty(exports, "FieldTypeSort", { enumerable: true, get: function () { return FieldTypeSort_1.default; } });
12
+ var FieldTypeUrl_1 = require("./FieldTypeUrl");
13
+ Object.defineProperty(exports, "FieldTypeUrl", { enumerable: true, get: function () { return FieldTypeUrl_1.default; } });
14
+ var FieldTypeDate_1 = require("./FieldTypeDate");
15
+ Object.defineProperty(exports, "FieldTypeDate", { enumerable: true, get: function () { return FieldTypeDate_1.default; } });
16
+ var FieldTypeDateTime_1 = require("./FieldTypeDateTime");
17
+ Object.defineProperty(exports, "FieldTypeDateTime", { enumerable: true, get: function () { return FieldTypeDateTime_1.default; } });
18
+ var FieldTypeColor_1 = require("./FieldTypeColor");
19
+ Object.defineProperty(exports, "FieldTypeColor", { enumerable: true, get: function () { return FieldTypeColor_1.default; } });
20
+ var FieldTypeNumber_1 = require("./FieldTypeNumber");
21
+ Object.defineProperty(exports, "FieldTypeNumber", { enumerable: true, get: function () { return FieldTypeNumber_1.default; } });
22
+ var FieldTypeOneToOne_1 = require("./FieldTypeOneToOne");
23
+ Object.defineProperty(exports, "FieldTypeOneToOne", { enumerable: true, get: function () { return FieldTypeOneToOne_1.default; } });
24
+ var FieldTypeOneToMany_1 = require("./FieldTypeOneToMany");
25
+ Object.defineProperty(exports, "FieldTypeOneToMany", { enumerable: true, get: function () { return FieldTypeOneToMany_1.default; } });
26
+ var CopyButton_1 = require("./CopyButton");
27
+ Object.defineProperty(exports, "CopyButton", { enumerable: true, get: function () { return CopyButton_1.default; } });
28
+ var ConfirmDialog_1 = require("./ConfirmDialog");
29
+ Object.defineProperty(exports, "ConfirmDialog", { enumerable: true, get: function () { return ConfirmDialog_1.default; } });
30
+ var VitualizedAutocomplete_1 = require("./VitualizedAutocomplete");
31
+ Object.defineProperty(exports, "VirtualizedAutocomplete", { enumerable: true, get: function () { return VitualizedAutocomplete_1.default; } });
@@ -0,0 +1,4 @@
1
+ import { Story, Meta } from '@storybook/react/types-6-0';
2
+ declare const _default: Meta<import("@storybook/react/types-6-0").Args>;
3
+ export default _default;
4
+ export declare const Default: Story<import("@storybook/react/types-6-0").Args>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Default = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_json_view_1 = require("react-json-view");
6
+ const _1 = require(".");
7
+ exports.default = {
8
+ title: 'Theme',
9
+ };
10
+ const Template = (args) => {
11
+ return ((0, jsx_runtime_1.jsx)(react_json_view_1.default, { src: _1.default }));
12
+ };
13
+ exports.Default = Template.bind({});
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@mui/material/styles';
2
+ declare let theme: Theme;
3
+ export default theme;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const palette_1 = require("./palette");
4
+ const typography_1 = require("./typography");
5
+ const styles_1 = require("@mui/material/styles");
6
+ let theme = (0, styles_1.createTheme)({
7
+ palette: palette_1.default,
8
+ typography: typography_1.default,
9
+ });
10
+ theme = (0, styles_1.createTheme)(theme, {
11
+ components: {
12
+ MuiFormLabel: {
13
+ styleOverrides: {
14
+ root: {
15
+ ...theme.typography.body2,
16
+ },
17
+ },
18
+ },
19
+ MuiTab: {
20
+ styleOverrides: {
21
+ root: {
22
+ borderBottom: 2,
23
+ borderColor: theme.palette.grey[100],
24
+ borderStyle: "solid",
25
+ },
26
+ },
27
+ },
28
+ MuiCardHeader: {
29
+ styleOverrides: {
30
+ root: {
31
+ padding: "16px 16px 0px",
32
+ },
33
+ },
34
+ },
35
+ MuiCardContent: {
36
+ styleOverrides: {
37
+ root: {
38
+ padding: "8px 16px 16px",
39
+ ":last-child": {
40
+ paddingBottom: "16px",
41
+ },
42
+ },
43
+ },
44
+ },
45
+ MuiButton: {
46
+ defaultProps: {
47
+ disableElevation: true,
48
+ },
49
+ },
50
+ },
51
+ });
52
+ exports.default = theme;
@@ -0,0 +1,15 @@
1
+ import { Color } from '@mui/material';
2
+ import { PaletteOptions } from '@mui/material/styles';
3
+ declare module '@mui/material/styles' {
4
+ interface PaletteOptions {
5
+ red?: Partial<Color>;
6
+ deepPurple?: Partial<Color>;
7
+ deepOrange?: Partial<Color>;
8
+ pink?: Partial<Color>;
9
+ blue?: Partial<Color>;
10
+ green?: Partial<Color>;
11
+ purple?: Partial<Color>;
12
+ }
13
+ }
14
+ declare const palette: PaletteOptions;
15
+ export default palette;