@lunit/oui 1.0.0-alpha.9 → 1.0.1-alpha.10

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 (270) hide show
  1. package/dist/components/Alert/Alert.js +1 -1
  2. package/dist/components/Alert/Alert.utils.js +1 -1
  3. package/dist/components/Chip/Chip.js +1 -1
  4. package/dist/components/Chip/Chip.utils.js +1 -1
  5. package/dist/components/DatePicker/DatePicker.js +1 -1
  6. package/dist/components/Dialog/Dialog.js +1 -1
  7. package/dist/components/Dropdown/Dropdown.js +1 -1
  8. package/dist/components/Dropdown/DropdownItem.js +1 -1
  9. package/dist/components/Dropdown/IconDropdown.js +1 -1
  10. package/dist/components/List/List.js +1 -1
  11. package/dist/components/List/ListItem.styled.js +1 -1
  12. package/dist/components/Pagination/Pagination.js +65 -0
  13. package/dist/components/Pagination/Pagination.styled.js +64 -0
  14. package/dist/components/Pagination/Pagination.types.js +2 -0
  15. package/dist/components/Pagination/index.js +2 -0
  16. package/dist/components/ProductLabel/ProductLabel.js +1 -1
  17. package/dist/components/TextField/components/Buttons.js +1 -1
  18. package/dist/components/UploadManager/UploadManager.js +1 -1
  19. package/dist/components/index.js +1 -1
  20. package/dist/foundations/index.js +1 -0
  21. package/dist/foundations/palette.js +4 -0
  22. package/dist/foundations/styles.js +7 -0
  23. package/dist/types/components/Pagination/Pagination.d.ts +3 -0
  24. package/dist/types/components/Pagination/Pagination.styled.d.ts +24 -0
  25. package/dist/types/components/Pagination/Pagination.types.d.ts +35 -0
  26. package/dist/types/components/Pagination/index.d.ts +2 -0
  27. package/dist/types/components/index.d.ts +1 -1
  28. package/dist/types/foundations/index.d.ts +1 -0
  29. package/dist/types/foundations/palette.d.ts +8 -1
  30. package/dist/types/foundations/styles.d.ts +2 -0
  31. package/package.json +7 -11
  32. package/.git-ftp-include +0 -1
  33. package/dist/components/Icons/BellNoti/index.js +0 -14
  34. package/dist/components/Icons/CloseLarge/index.js +0 -14
  35. package/dist/components/Icons/CloseSmall/index.js +0 -14
  36. package/dist/components/Icons/DownloadPdf/index.js +0 -14
  37. package/dist/components/Icons/Ellipse/index.js +0 -14
  38. package/dist/components/Icons/FilterNoti/index.js +0 -14
  39. package/dist/components/Icons/HideLarge/index.js +0 -14
  40. package/dist/components/Icons/HideSmall/index.js +0 -14
  41. package/dist/components/Icons/InformationLarge/index.js +0 -14
  42. package/dist/components/Icons/InformationSmall/index.js +0 -14
  43. package/dist/components/Icons/Manufacturer/index.js +0 -14
  44. package/dist/components/Icons/Rectangle/index.js +0 -14
  45. package/dist/components/Icons/RefreshLeft/index.js +0 -14
  46. package/dist/components/Icons/RefreshRight/index.js +0 -14
  47. package/dist/components/Icons/ShowLarge/index.js +0 -14
  48. package/dist/components/Icons/ShowSmall/index.js +0 -14
  49. package/dist/components/Icons/index.js +0 -180
  50. package/dist/types/components/Icons/BellNoti/index.d.ts +0 -12
  51. package/dist/types/components/Icons/CloseLarge/index.d.ts +0 -12
  52. package/dist/types/components/Icons/CloseSmall/index.d.ts +0 -12
  53. package/dist/types/components/Icons/DownloadPdf/index.d.ts +0 -12
  54. package/dist/types/components/Icons/Ellipse/index.d.ts +0 -12
  55. package/dist/types/components/Icons/FilterNoti/index.d.ts +0 -12
  56. package/dist/types/components/Icons/HideLarge/index.d.ts +0 -12
  57. package/dist/types/components/Icons/HideSmall/index.d.ts +0 -12
  58. package/dist/types/components/Icons/InformationLarge/index.d.ts +0 -12
  59. package/dist/types/components/Icons/InformationSmall/index.d.ts +0 -12
  60. package/dist/types/components/Icons/Manufacturer/index.d.ts +0 -12
  61. package/dist/types/components/Icons/Rectangle/index.d.ts +0 -12
  62. package/dist/types/components/Icons/RefreshLeft/index.d.ts +0 -12
  63. package/dist/types/components/Icons/RefreshRight/index.d.ts +0 -12
  64. package/dist/types/components/Icons/ShowLarge/index.d.ts +0 -12
  65. package/dist/types/components/Icons/ShowSmall/index.d.ts +0 -12
  66. package/dist/types/components/Icons/index.d.ts +0 -179
  67. package/src/assets/ic-bell-noti-outlined-20px.tsx +0 -21
  68. package/src/assets/ic-close-large-outlined-20px.tsx +0 -17
  69. package/src/assets/ic-close-small-outlined-20px.tsx +0 -17
  70. package/src/assets/ic-download-pdf-outlined-20px.tsx +0 -18
  71. package/src/assets/ic-ellipse-outlined-20px.tsx +0 -17
  72. package/src/assets/ic-filter-noti-outlined-20px.tsx +0 -21
  73. package/src/assets/ic-hide-large-outlined-20px.tsx +0 -13
  74. package/src/assets/ic-hide-small-outlined-20px.tsx +0 -17
  75. package/src/assets/ic-information-large-outlined-20px.tsx +0 -17
  76. package/src/assets/ic-information-small-outlined-20px.tsx +0 -17
  77. package/src/assets/ic-manufacturer-outlined-20px.tsx +0 -19
  78. package/src/assets/ic-rectangle-outlined-20px.tsx +0 -17
  79. package/src/assets/ic-refresh-left-outlined-20px.tsx +0 -17
  80. package/src/assets/ic-refresh-right-outlined-20px.tsx +0 -13
  81. package/src/assets/ic-show-large-outlined-20px.tsx +0 -17
  82. package/src/assets/ic-show-small-outlined-20px.tsx +0 -17
  83. package/src/assets/ic_bell_noti=outlined_20px.svg +0 -5
  84. package/src/assets/ic_close_large=outlined_20px.svg +0 -4
  85. package/src/assets/ic_close_small=outlined_20px.svg +0 -4
  86. package/src/assets/ic_download_pdf=outlined_20px.svg +0 -7
  87. package/src/assets/ic_ellipse=outlined_20px.svg +0 -4
  88. package/src/assets/ic_filter_noti=outlined_20px.svg +0 -5
  89. package/src/assets/ic_hide_large=outlined_20px.svg +0 -4
  90. package/src/assets/ic_hide_small=outlined_20px.svg +0 -4
  91. package/src/assets/ic_information_large=outlined_20px.svg +0 -4
  92. package/src/assets/ic_information_small=outlined_20px.svg +0 -4
  93. package/src/assets/ic_manufacturer=outlined_20px.svg +0 -3
  94. package/src/assets/ic_rectangle=outlined_20px.svg +0 -4
  95. package/src/assets/ic_refresh_left=outlined_20px.svg +0 -4
  96. package/src/assets/ic_refresh_right=outlined_20px.svg +0 -4
  97. package/src/assets/ic_show_large=outlined_20px.svg +0 -4
  98. package/src/assets/ic_show_small=outlined_20px.svg +0 -4
  99. package/src/assets/index.ts +0 -16
  100. package/src/components/Alert/Alert.styled.ts +0 -44
  101. package/src/components/Alert/Alert.tsx +0 -39
  102. package/src/components/Alert/Alert.types.ts +0 -5
  103. package/src/components/Alert/Alert.utils.tsx +0 -43
  104. package/src/components/Alert/index.ts +0 -5
  105. package/src/components/BaseTextField/BaseTextField.styled.ts +0 -110
  106. package/src/components/BaseTextField/BaseTextField.types.ts +0 -25
  107. package/src/components/BaseTextField/BaseTextField.utils.ts +0 -10
  108. package/src/components/Button/BaseButton.tsx +0 -19
  109. package/src/components/Button/Button.tsx +0 -117
  110. package/src/components/Button/Button.types.ts +0 -36
  111. package/src/components/Button/Button.utils.ts +0 -13
  112. package/src/components/Button/index.ts +0 -6
  113. package/src/components/Button/styleds/BaseButton.styled.ts +0 -57
  114. package/src/components/Button/styleds/ContainedButton.styled.ts +0 -123
  115. package/src/components/Button/styleds/GhostButton.styled.ts +0 -139
  116. package/src/components/Button/styleds/IconButton.styled.ts +0 -25
  117. package/src/components/Button/styleds/OutlinedButton.styled.ts +0 -144
  118. package/src/components/Card/Card.styled.tsx +0 -18
  119. package/src/components/Card/Card.tsx +0 -18
  120. package/src/components/Card/Card.types.ts +0 -10
  121. package/src/components/Card/index.ts +0 -5
  122. package/src/components/Checkbox/Checkbox.styled.tsx +0 -27
  123. package/src/components/Checkbox/Checkbox.tsx +0 -64
  124. package/src/components/Checkbox/Checkbox.types.ts +0 -16
  125. package/src/components/Checkbox/Checkbox.utils.tsx +0 -42
  126. package/src/components/Checkbox/index.ts +0 -5
  127. package/src/components/Chip/Chip.styled.ts +0 -120
  128. package/src/components/Chip/Chip.tsx +0 -33
  129. package/src/components/Chip/Chip.types.ts +0 -18
  130. package/src/components/Chip/Chip.utils.tsx +0 -50
  131. package/src/components/Chip/index.ts +0 -4
  132. package/src/components/DataTable/DataTable.styled.ts +0 -66
  133. package/src/components/DataTable/DataTable.tsx +0 -29
  134. package/src/components/DataTable/index.ts +0 -1
  135. package/src/components/DatePicker/DatePicker.styled.ts +0 -19
  136. package/src/components/DatePicker/DatePicker.tsx +0 -194
  137. package/src/components/DatePicker/DatePicker.types.ts +0 -8
  138. package/src/components/DatePicker/index.ts +0 -4
  139. package/src/components/Dialog/Dialog.styled.ts +0 -87
  140. package/src/components/Dialog/Dialog.tsx +0 -111
  141. package/src/components/Dialog/Dialog.types.ts +0 -19
  142. package/src/components/Dialog/index.ts +0 -5
  143. package/src/components/Divider/Divider.styled.ts +0 -24
  144. package/src/components/Divider/Divider.tsx +0 -13
  145. package/src/components/Divider/Divider.types.ts +0 -7
  146. package/src/components/Divider/index.ts +0 -5
  147. package/src/components/Dropdown/Dropdown.styled.tsx +0 -127
  148. package/src/components/Dropdown/Dropdown.tsx +0 -116
  149. package/src/components/Dropdown/Dropdown.types.ts +0 -31
  150. package/src/components/Dropdown/Dropdown.utils.ts +0 -13
  151. package/src/components/Dropdown/DropdownItem.styled.tsx +0 -66
  152. package/src/components/Dropdown/DropdownItem.tsx +0 -45
  153. package/src/components/Dropdown/DropdownItem.types.ts +0 -14
  154. package/src/components/Dropdown/DropdownItem.utils.ts +0 -14
  155. package/src/components/Dropdown/DropdownSubtitle.styled.ts +0 -13
  156. package/src/components/Dropdown/DropdownSubtitle.tsx +0 -9
  157. package/src/components/Dropdown/DropdownSubtitle.types.ts +0 -6
  158. package/src/components/Dropdown/IconDropdown.styled.tsx +0 -82
  159. package/src/components/Dropdown/IconDropdown.tsx +0 -56
  160. package/src/components/Dropdown/IconDropdown.types.ts +0 -22
  161. package/src/components/Dropdown/index.ts +0 -22
  162. package/src/components/FileDnDZone/FileDnDZone.styled.ts +0 -43
  163. package/src/components/FileDnDZone/FileDnDZone.tsx +0 -81
  164. package/src/components/FileDnDZone/FileDnDZone.types.ts +0 -14
  165. package/src/components/FileDnDZone/FileDnDZone.utils.ts +0 -3
  166. package/src/components/FileDnDZone/index.ts +0 -5
  167. package/src/components/Icons/BellNoti/index.tsx +0 -22
  168. package/src/components/Icons/CloseLarge/index.tsx +0 -22
  169. package/src/components/Icons/CloseSmall/index.tsx +0 -22
  170. package/src/components/Icons/DownloadPdf/index.tsx +0 -22
  171. package/src/components/Icons/Ellipse/index.tsx +0 -22
  172. package/src/components/Icons/FilterNoti/index.tsx +0 -22
  173. package/src/components/Icons/HideLarge/index.tsx +0 -22
  174. package/src/components/Icons/HideSmall/index.tsx +0 -22
  175. package/src/components/Icons/InformationLarge/index.tsx +0 -22
  176. package/src/components/Icons/InformationSmall/index.tsx +0 -22
  177. package/src/components/Icons/Manufacturer/index.tsx +0 -22
  178. package/src/components/Icons/Rectangle/index.tsx +0 -22
  179. package/src/components/Icons/RefreshLeft/index.tsx +0 -22
  180. package/src/components/Icons/RefreshRight/index.tsx +0 -22
  181. package/src/components/Icons/ShowLarge/index.tsx +0 -22
  182. package/src/components/Icons/ShowSmall/index.tsx +0 -22
  183. package/src/components/Icons/index.ts +0 -180
  184. package/src/components/List/List.styled.ts +0 -31
  185. package/src/components/List/List.tsx +0 -71
  186. package/src/components/List/List.types.ts +0 -24
  187. package/src/components/List/List.utils.ts +0 -14
  188. package/src/components/List/ListItem.styled.tsx +0 -61
  189. package/src/components/List/ListItem.tsx +0 -66
  190. package/src/components/List/ListItem.types.ts +0 -40
  191. package/src/components/List/ListItemCaption.styled.tsx +0 -7
  192. package/src/components/List/ListItemCaption.tsx +0 -18
  193. package/src/components/List/ListItemCaption.types.ts +0 -2
  194. package/src/components/List/index.ts +0 -8
  195. package/src/components/LoadingIndicator/LoadingIndicator.styled.tsx +0 -40
  196. package/src/components/LoadingIndicator/LoadingIndicator.tsx +0 -44
  197. package/src/components/LoadingIndicator/LoadingIndicator.types.ts +0 -7
  198. package/src/components/LoadingIndicator/assets/DnaLoadingAnimation.json +0 -769
  199. package/src/components/LoadingIndicator/assets/DotLoadingAnimation.json +0 -426
  200. package/src/components/LoadingIndicator/index.ts +0 -5
  201. package/src/components/Menu/Menu.styled.tsx +0 -42
  202. package/src/components/Menu/Menu.tsx +0 -28
  203. package/src/components/Menu/Menu.types.ts +0 -18
  204. package/src/components/Menu/MenuItem.styled.ts +0 -62
  205. package/src/components/Menu/MenuItem.tsx +0 -45
  206. package/src/components/Menu/MenuItem.types.ts +0 -14
  207. package/src/components/Menu/index.ts +0 -5
  208. package/src/components/MuiCssBaseline.ts +0 -78
  209. package/src/components/MuiInputBase.ts +0 -25
  210. package/src/components/MuiOutlinedInput.ts +0 -57
  211. package/src/components/MuiTextField.ts +0 -17
  212. package/src/components/ProductLabel/ProductLabel.styled.ts +0 -61
  213. package/src/components/ProductLabel/ProductLabel.tsx +0 -57
  214. package/src/components/ProductLabel/ProductLabel.types.ts +0 -10
  215. package/src/components/ProductLabel/index.ts +0 -5
  216. package/src/components/Progress/CircularProgress.styled.ts +0 -10
  217. package/src/components/Progress/CircularProgress.tsx +0 -15
  218. package/src/components/Progress/CircularProgress.types.ts +0 -6
  219. package/src/components/Progress/LinearProgress.styled.ts +0 -15
  220. package/src/components/Progress/LinearProgress.tsx +0 -16
  221. package/src/components/Progress/LinearProgress.types.ts +0 -7
  222. package/src/components/Progress/index.ts +0 -4
  223. package/src/components/Radio/Radio.styled.ts +0 -35
  224. package/src/components/Radio/Radio.tsx +0 -60
  225. package/src/components/Radio/Radio.types.ts +0 -15
  226. package/src/components/Radio/RadioGroup.styled.ts +0 -6
  227. package/src/components/Radio/RadioGroup.tsx +0 -23
  228. package/src/components/Radio/RadioGroup.types.ts +0 -10
  229. package/src/components/Radio/index.ts +0 -7
  230. package/src/components/Stepper/Stepper.styled.ts +0 -38
  231. package/src/components/Stepper/Stepper.tsx +0 -24
  232. package/src/components/Stepper/Stepper.types.ts +0 -13
  233. package/src/components/Stepper/index.ts +0 -5
  234. package/src/components/TabbedPanel/TabbedPanel.styled.ts +0 -129
  235. package/src/components/TabbedPanel/TabbedPanel.tsx +0 -70
  236. package/src/components/TabbedPanel/TabbedPanel.types.ts +0 -36
  237. package/src/components/TabbedPanel/TabbedPanel.utils.ts +0 -21
  238. package/src/components/TabbedPanel/index.ts +0 -5
  239. package/src/components/TextField/TextArea.styled.tsx +0 -36
  240. package/src/components/TextField/TextArea.tsx +0 -35
  241. package/src/components/TextField/TextArea.types.ts +0 -28
  242. package/src/components/TextField/TextInput.styled.tsx +0 -115
  243. package/src/components/TextField/TextInput.tsx +0 -27
  244. package/src/components/TextField/TextInput.types.ts +0 -46
  245. package/src/components/TextField/TextInput.utils.ts +0 -7
  246. package/src/components/TextField/components/Buttons.tsx +0 -26
  247. package/src/components/TextField/components/NormalTextInput.tsx +0 -95
  248. package/src/components/TextField/components/PasswordInput.tsx +0 -92
  249. package/src/components/TextField/index.ts +0 -7
  250. package/src/components/Tooltip/Tooltip.styled.tsx +0 -36
  251. package/src/components/Tooltip/Tooltip.tsx +0 -58
  252. package/src/components/Tooltip/Tooltip.types.ts +0 -24
  253. package/src/components/Tooltip/Tooltip.utils.ts +0 -46
  254. package/src/components/Tooltip/index.ts +0 -5
  255. package/src/components/UploadManager/UploadManager.styled.ts +0 -49
  256. package/src/components/UploadManager/UploadManager.tsx +0 -271
  257. package/src/components/UploadManager/UploadManager.types.ts +0 -16
  258. package/src/components/UploadManager/index.ts +0 -5
  259. package/src/components/index.ts +0 -23
  260. package/src/foundations/index.ts +0 -3
  261. package/src/foundations/palette.ts +0 -407
  262. package/src/foundations/spacing.ts +0 -5
  263. package/src/foundations/typography.ts +0 -492
  264. package/src/index.ts +0 -4
  265. package/src/react-app-env.d.ts +0 -71
  266. package/src/reportWebVitals.ts +0 -15
  267. package/src/setupTests.ts +0 -5
  268. package/src/systems/drawer.ts +0 -27
  269. package/src/systems/index.ts +0 -7
  270. package/src/theme.ts +0 -22
@@ -1,92 +0,0 @@
1
- import React, { forwardRef, useState } from 'react';
2
- import { InputMsg, BaseTextFieldContainer } from '../../BaseTextField/BaseTextField.styled';
3
- import { BaseTextInput, LeftIconContainer, RightIconContainer } from '../TextInput.styled';
4
- import { ShowHidePasswordButton } from './Buttons';
5
-
6
- import type { PasswordTextInputProps } from '../TextInput.types';
7
-
8
- interface PasswordInputContainerProps extends PasswordTextInputProps {
9
- children: React.ReactNode;
10
- hidePassword: boolean;
11
- handlePasswordShowHide: () => void;
12
- width?: string | number;
13
- }
14
-
15
- function PasswordInputContainer(props: PasswordInputContainerProps) {
16
- const {
17
- error,
18
- disabled,
19
- helperMsg,
20
- leftIcon,
21
- children,
22
- hidePassword,
23
- handlePasswordShowHide,
24
- width,
25
- OuterBoxProps,
26
- } = props;
27
-
28
- return (
29
- <BaseTextFieldContainer
30
- {...OuterBoxProps}
31
- width={width}
32
- >
33
- {leftIcon && (
34
- <LeftIconContainer sx={disabled ? { opacity: '0.8' } : undefined}>
35
- {leftIcon}
36
- </LeftIconContainer>
37
- )}
38
- {children}
39
- <RightIconContainer error={error}>
40
- {!disabled && (
41
- <ShowHidePasswordButton
42
- onClick={(event) => {
43
- event.preventDefault();
44
- handlePasswordShowHide();
45
- }}
46
- isHidden={hidePassword}
47
- />
48
- )}
49
- </RightIconContainer>
50
- {error ? (
51
- <InputMsg
52
- variant="body5"
53
- error
54
- >
55
- {error}
56
- </InputMsg>
57
- ) : (
58
- helperMsg && <InputMsg variant="body5">{helperMsg}</InputMsg>
59
- )}
60
- </BaseTextFieldContainer>
61
- );
62
- }
63
-
64
- const PasswordInput = forwardRef(
65
- (props: PasswordTextInputProps, ref: React.ForwardedRef<HTMLInputElement>) => {
66
- const { error, helperMsg, leftIcon, type, inputSX, ...otherInputProps } = props;
67
-
68
- const [hidePassword, setHidePassword] = useState(true);
69
-
70
- function handlePasswordShowHide() {
71
- setHidePassword(!hidePassword);
72
- }
73
-
74
- return (
75
- <PasswordInputContainer
76
- {...props}
77
- hidePassword={hidePassword}
78
- handlePasswordShowHide={() => handlePasswordShowHide()}
79
- >
80
- <BaseTextInput
81
- type={hidePassword ? 'password' : 'text'}
82
- ref={ref}
83
- {...otherInputProps}
84
- leftIcon={leftIcon}
85
- sx={inputSX}
86
- />
87
- </PasswordInputContainer>
88
- );
89
- },
90
- );
91
-
92
- export default PasswordInput;
@@ -1,7 +0,0 @@
1
- import TextInput from './TextInput';
2
- import type { TextInputProps } from './TextInput.types';
3
- import TextArea from './TextArea';
4
- import type { TextAreaProps } from './TextArea.types';
5
-
6
- export { TextInput, TextArea };
7
- export type { TextInputProps, TextAreaProps };
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { Tooltip as MuiTooltip, styled, tooltipClasses } from '@mui/material';
3
- import typographyOptions from '../../foundations/typography';
4
- import { resizeArrowBySize, setMarginByPlacement, setPaddingBySize } from './Tooltip.utils';
5
- import type { TooltipProps } from './Tooltip.types';
6
-
7
- const BaseTooltip = styled(
8
- ({ className, ref, ...props }: TooltipProps) => (
9
- <MuiTooltip
10
- {...props}
11
- ref={ref}
12
- classes={{ popper: className }}
13
- />
14
- ),
15
- {
16
- shouldForwardProp: (prop) => prop !== 'noPadding',
17
- },
18
- )(({ theme, size = 'small', placement = 'bottom', noPadding }) => ({
19
- [`& .${tooltipClasses.tooltip}`]: {
20
- ...typographyOptions.body5,
21
- margin: '0px !important',
22
- padding: noPadding ? '0px !important' : setPaddingBySize(size),
23
- backgroundColor: theme.palette.neutralGrey[75],
24
- borderRadius: size === 'small' ? '4px' : '8px',
25
- filter:
26
- 'drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.32)) drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.4))',
27
- },
28
- [`& .${tooltipClasses.arrow}`]: {
29
- color: theme.palette.neutralGrey[75],
30
- margin: `${setMarginByPlacement(placement, resizeArrowBySize(size, placement))} !important`,
31
- width: `${resizeArrowBySize(size, placement).width}px !important`,
32
- height: `${resizeArrowBySize(size, placement).height}px !important`,
33
- },
34
- }));
35
-
36
- export default BaseTooltip;
@@ -1,58 +0,0 @@
1
- import React from 'react';
2
- import { Box, Typography } from '@mui/material';
3
- import { forwardRef } from 'react';
4
- import BaseTooltip from './Tooltip.styled';
5
- import type { TooltipProps } from './Tooltip.types';
6
-
7
- const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
8
- (
9
- {
10
- icon,
11
- title,
12
- children,
13
- size = 'small',
14
- placement = 'bottom',
15
- noPadding = false,
16
- ...otherProps
17
- }: TooltipProps,
18
- ref,
19
- ) => {
20
- return (
21
- <BaseTooltip
22
- ref={ref}
23
- arrow
24
- size={size}
25
- PopperProps={{
26
- popperOptions: {
27
- modifiers: [
28
- {
29
- name: 'offset',
30
- enabled: true,
31
- options: {
32
- offset: [0, 6],
33
- },
34
- },
35
- ],
36
- },
37
- }}
38
- title={
39
- icon && size === 'small' ? (
40
- <Box sx={{ display: 'flex', flexDirection: 'row', gap: '8px' }}>
41
- {icon}
42
- {title && <Typography variant="body5">{title}</Typography>}
43
- </Box>
44
- ) : (
45
- title
46
- )
47
- }
48
- placement={placement}
49
- noPadding={noPadding}
50
- {...otherProps}
51
- >
52
- {children}
53
- </BaseTooltip>
54
- );
55
- },
56
- );
57
-
58
- export default Tooltip;
@@ -1,24 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import type { TooltipClasses, TooltipProps as MuiTooltipProps } from '@mui/material';
3
-
4
- export type Position = Pick<TooltipProps, 'placement'>;
5
-
6
- export type TooltipSizes = 'small' | 'large';
7
-
8
- export type TooltipSize = { width: number; height: number };
9
-
10
- export type TooltipPlacement =
11
- | TooltipClasses['tooltipPlacementBottom']
12
- | TooltipClasses['tooltipPlacementLeft']
13
- | TooltipClasses['tooltipPlacementRight']
14
- | TooltipClasses['tooltipPlacementTop'];
15
-
16
- export type ArrowSizeBySize = Record<TooltipSizes, TooltipSize>;
17
-
18
- export type TooltipPlacementToSize = Record<TooltipPlacement, ArrowSizeBySize>;
19
-
20
- export interface TooltipProps extends MuiTooltipProps {
21
- icon?: ReactNode;
22
- size?: TooltipSizes;
23
- noPadding?: boolean;
24
- }
@@ -1,46 +0,0 @@
1
- import type {
2
- TooltipPlacement,
3
- TooltipPlacementToSize,
4
- TooltipSize,
5
- ArrowSizeBySize,
6
- TooltipSizes,
7
- } from './Tooltip.types';
8
-
9
- // small(10px * 6px) -> (10/2)^2 + 6^2 = 7.8^2
10
- // large(16px * 8px) -> (16/2)^2 + 8^2 = 11.3^2
11
- const setArrowSizeBySize: ArrowSizeBySize = {
12
- small: { width: 11, height: 7.8 },
13
- large: { width: 16, height: 11.3 },
14
- };
15
-
16
- const tooltipPlacementToSize: TooltipPlacementToSize = {
17
- bottom: setArrowSizeBySize,
18
- left: setArrowSizeBySize,
19
- right: setArrowSizeBySize,
20
- top: setArrowSizeBySize,
21
- };
22
-
23
- export const resizeArrowBySize = (
24
- tooltipType: TooltipSizes,
25
- tooltipPlacement: TooltipPlacement,
26
- ): TooltipSize => {
27
- const size = tooltipPlacementToSize[tooltipPlacement][tooltipType];
28
- if (tooltipPlacement === 'left' || tooltipPlacement === 'right') {
29
- return { width: size.height, height: size.width };
30
- }
31
- return size;
32
- };
33
-
34
- export const setMarginByPlacement = (tooltipPlacement: TooltipPlacement, margin: TooltipSize) =>
35
- ({
36
- bottom: `-${margin.height}px 0 0 0`,
37
- right: `0 0 0 -${margin.width}px`,
38
- left: `0 -${margin.width}px 0 0`,
39
- top: `0 0 -${margin.height}px 0`,
40
- })[tooltipPlacement];
41
-
42
- export const setPaddingBySize = (tooltipSize: TooltipSizes) =>
43
- ({
44
- small: '6px 8px',
45
- large: '12px 16px',
46
- })[tooltipSize];
@@ -1,5 +0,0 @@
1
- import Tooltip from './Tooltip';
2
- import type { TooltipProps } from './Tooltip.types';
3
-
4
- export { Tooltip };
5
- export type { TooltipProps };
@@ -1,49 +0,0 @@
1
- import { Paper, Toolbar, Collapse } from '@mui/material';
2
- import { styled } from '@mui/material/styles';
3
-
4
- const StyledPaper = styled(Paper)(({ theme }) => ({
5
- overflow: 'hidden',
6
- borderRadius: '10px',
7
- width: '500px',
8
- backgroundColor: theme.palette.neutralGrey[90],
9
- }));
10
-
11
- const StyledToolbar = styled(Toolbar)({
12
- padding: '20px 40px 20px 32px',
13
- paddingRight: '40px !important',
14
- paddingLeft: '32px !important',
15
- color: '#fff',
16
- minHeight: 'unset !important',
17
- });
18
-
19
- const StyledToolbarButtonContainer = styled(Toolbar)({
20
- position: 'absolute',
21
- display: 'flex',
22
- gap: '12px',
23
- right: '30px',
24
- paddingRight: '4px !important',
25
- });
26
-
27
- const StyledCollapse = styled(Collapse)({
28
- maxHeight: '320px',
29
- overflowY: 'auto',
30
- overflowX: 'hidden',
31
- });
32
-
33
- const StyledUploadFile = styled('div')({
34
- display: 'flex',
35
- justifyContent: 'space-between',
36
- gap: '16px',
37
- alignItems: 'center',
38
- padding: '20px 30px 20px 32px',
39
- paddingRight: '30x !important',
40
- paddingLeft: '32px !important',
41
- });
42
-
43
- export {
44
- StyledPaper,
45
- StyledToolbar,
46
- StyledToolbarButtonContainer,
47
- StyledCollapse,
48
- StyledUploadFile,
49
- };
@@ -1,271 +0,0 @@
1
- import React from 'react';
2
- import { Grow, Typography, Box } from '@mui/material';
3
-
4
- import { ArrowUp, Close, Success, Error16, RefreshLeft } from '../Icons';
5
-
6
- import { useState, Fragment, useMemo } from 'react';
7
- import { Divider } from '../Divider';
8
- import { Button } from '../Button';
9
- import { LinearProgress } from '../Progress';
10
- import { Tooltip } from '../Tooltip';
11
- import theme from '../../theme';
12
- import {
13
- StyledPaper,
14
- StyledToolbar,
15
- StyledToolbarButtonContainer,
16
- StyledCollapse,
17
- StyledUploadFile,
18
- } from './UploadManager.styled';
19
-
20
- import type { UploadManagerProps, UploadFileProps } from './UploadManager.types';
21
-
22
- /**
23
- * Component used inside the UploadManager to display a file
24
- */
25
- const UploadFile = ({ file, onCancel, onRetry }: UploadFileProps) => {
26
- const [mouseOnErrorIconButton, setMouseOnErrorIconButton] = useState(false);
27
-
28
- const progress: number = useMemo(() => {
29
- if (file.meta?.calculatedProgress) {
30
- // return calculated progress for mrxs files
31
- return file.meta.calculatedProgress as number;
32
- }
33
- return file.progress?.percentage || 0;
34
- }, [file.meta, file.progress?.percentage]);
35
-
36
- const fileFormatConverting = useMemo(() => {
37
- if (file.extension === 'isyntax') {
38
- return 'iSyntax';
39
- }
40
- if (file.extension === 'i2syntax') {
41
- return 'i2Syntax';
42
- }
43
- return '';
44
- }, [file]);
45
-
46
- return (
47
- <>
48
- <StyledUploadFile>
49
- {!file.meta?.errorMessage && (
50
- <>
51
- <Typography
52
- variant="body5"
53
- sx={{
54
- overflow: 'hidden',
55
- textOverflow: 'ellipsis',
56
- }}
57
- >
58
- {file.name}
59
- </Typography>
60
- {progress < 100 && (
61
- <Tooltip title="Cancel">
62
- <Box>
63
- <Button
64
- onClick={() => onCancel && onCancel(file.id)}
65
- variant="ghost"
66
- color="secondary"
67
- icon={<Close style={{ color: theme.palette.neutralGrey[40] }} />}
68
- />
69
- </Box>
70
- </Tooltip>
71
- )}
72
- {progress === 100 && file.meta.postProcessComplete && (
73
- <Tooltip title="Done">
74
- <Box>
75
- <Button
76
- variant="ghost"
77
- icon={<Success />}
78
- />
79
- </Box>
80
- </Tooltip>
81
- )}
82
- </>
83
- )}
84
- {file.meta?.errorMessage! && (
85
- <>
86
- <Typography
87
- variant="body5"
88
- sx={{
89
- whiteSpace: 'nowrap',
90
- overflow: 'hidden',
91
- textOverflow: 'ellipsis',
92
- flexShrink: 6,
93
- }}
94
- >
95
- {file.name}
96
- </Typography>
97
- <Typography
98
- color="error"
99
- variant="body4"
100
- sx={{
101
- marginRight: '30px',
102
- flexGrow: 3,
103
- flexShrink: 0,
104
- flexBasis: 'auto',
105
- textAlign: 'right',
106
- maxWidth: '290px',
107
- whiteSpace: 'pre-wrap',
108
- }}
109
- >
110
- {file.meta?.errorMessage as string}
111
- </Typography>
112
-
113
- <Tooltip
114
- title={file.meta.retry ? 'Retry' : 'Retry by dragging and dropping the file again.'}
115
- placement="top"
116
- >
117
- <Box>
118
- <Button
119
- onMouseEnter={() => file.meta.retry && setMouseOnErrorIconButton(true)}
120
- onMouseLeave={() => file.meta.retry && setMouseOnErrorIconButton(false)}
121
- onClick={() => {
122
- if (file.meta.retry) {
123
- setMouseOnErrorIconButton(false);
124
- if (onRetry) onRetry(file.id);
125
- }
126
- }}
127
- icon={
128
- mouseOnErrorIconButton ? (
129
- <RefreshLeft style={{ color: theme.palette.neutralGrey[0] }} />
130
- ) : (
131
- <Error16 style={{ color: theme.palette.red[5] }} />
132
- )
133
- }
134
- variant="ghost"
135
- color="secondary"
136
- sx={{
137
- cursor: file.meta.retry ? 'pointer' : 'default',
138
- }}
139
- />
140
- </Box>
141
- </Tooltip>
142
- </>
143
- )}
144
- {!file.meta?.errorMessage && file.meta?.postProcessConverting! && (
145
- <Typography
146
- variant="body5"
147
- sx={{
148
- marginRight: '30px',
149
- flexGrow: 3,
150
- flexShrink: 0,
151
- flexBasis: 'auto',
152
- textAlign: 'right',
153
- maxWidth: '290px',
154
- whiteSpace: 'pre-wrap',
155
- }}
156
- >
157
- Converting {fileFormatConverting} file...
158
- </Typography>
159
- )}
160
- </StyledUploadFile>
161
-
162
- {!file.meta?.errorMessage && (
163
- <>
164
- {file.progress?.uploadStarted! > 0 && (
165
- <>
166
- {progress < 100 && (
167
- <LinearProgress
168
- variant="determinate"
169
- value={progress}
170
- />
171
- )}
172
- {progress >= 100 && !file.meta?.postProcessComplete && <LinearProgress />}
173
- </>
174
- )}
175
- </>
176
- )}
177
- </>
178
- );
179
- };
180
-
181
- /**
182
- * Component used to display a list of files
183
- */
184
- const UploadManager = ({
185
- title,
186
- subTitle,
187
- files,
188
- onClose,
189
- onCancel,
190
- onRetry,
191
- }: UploadManagerProps) => {
192
- const [expanded, setExpanded] = useState<boolean>(true);
193
-
194
- const handleExpandClick = () => {
195
- setExpanded((exp) => !exp);
196
- };
197
-
198
- return (
199
- <Grow
200
- in
201
- // Should this be configurable?
202
- style={{
203
- position: 'absolute',
204
- bottom: '20px',
205
- right: '20px',
206
- }}
207
- >
208
- <StyledPaper elevation={1}>
209
- <StyledToolbar>
210
- <Typography variant="h9">{title}</Typography>
211
- <Typography
212
- variant="body1"
213
- sx={{ marginLeft: '8px' }}
214
- >
215
- {subTitle}
216
- </Typography>
217
-
218
- <StyledToolbarButtonContainer>
219
- <Tooltip title={expanded ? 'Minimize' : 'Maximize'}>
220
- <Box>
221
- <Button
222
- onClick={handleExpandClick}
223
- variant="ghost"
224
- color="secondary"
225
- icon={<ArrowUp style={{ color: theme.palette.neutralGrey[40] }} />}
226
- size="small"
227
- sx={{
228
- transform: expanded ? 'rotate(0deg)' : 'rotate(180deg)',
229
- }}
230
- />
231
- </Box>
232
- </Tooltip>
233
-
234
- <Tooltip title="Close">
235
- <Box>
236
- <Button
237
- onClick={onClose}
238
- variant="ghost"
239
- color="secondary"
240
- icon={<Close style={{ color: theme.palette.neutralGrey[40] }} />}
241
- size="small"
242
- />
243
- </Box>
244
- </Tooltip>
245
- </StyledToolbarButtonContainer>
246
- </StyledToolbar>
247
-
248
- {expanded && <Divider orientation="horizontal" />}
249
-
250
- <StyledCollapse
251
- in={expanded}
252
- timeout="auto"
253
- unmountOnExit
254
- >
255
- {files.map((download, index) => (
256
- <Fragment key={download.id}>
257
- <UploadFile
258
- file={download}
259
- onCancel={onCancel}
260
- onRetry={onRetry}
261
- />
262
- {index !== files.length - 1 && <Divider orientation="horizontal" />}
263
- </Fragment>
264
- ))}
265
- </StyledCollapse>
266
- </StyledPaper>
267
- </Grow>
268
- );
269
- };
270
-
271
- export default UploadManager;
@@ -1,16 +0,0 @@
1
- import { UppyFile } from '@uppy/core';
2
-
3
- export interface UploadFileProps {
4
- file: UppyFile;
5
- onCancel?: (id: string) => void;
6
- onRetry?: (id: string) => void;
7
- }
8
-
9
- export interface UploadManagerProps {
10
- title: string;
11
- subTitle?: string;
12
- files: UppyFile[];
13
- onClose?: () => void;
14
- onCancel?: (id: string) => void;
15
- onRetry?: (id: string) => void;
16
- }
@@ -1,5 +0,0 @@
1
- import UploadManager from './UploadManager';
2
- import type { UploadManagerProps, UploadFileProps } from './UploadManager.types';
3
-
4
- export { UploadManager };
5
- export type { UploadManagerProps, UploadFileProps };
@@ -1,23 +0,0 @@
1
- export * from './Alert';
2
- export * from './Button';
3
- export * from './Card';
4
- export * from './Checkbox';
5
- export * from './Chip';
6
- export * from './DataTable';
7
- export * from './DatePicker';
8
- export * from './Dialog';
9
- export * from './Divider';
10
- export * from './Dropdown';
11
- export * from './FileDnDZone';
12
- export * from './Icons';
13
- export * from './List';
14
- export * from './LoadingIndicator';
15
- export * from './Menu';
16
- export * from './ProductLabel';
17
- export * from './Progress';
18
- export * from './Radio';
19
- export * from './Stepper';
20
- export * from './TabbedPanel';
21
- export * from './TextField';
22
- export * from './Tooltip';
23
- export * from './UploadManager';
@@ -1,3 +0,0 @@
1
- export { default as palette } from './palette';
2
- export { default as typography } from './typography';
3
- export { default as spacing } from './spacing';