@lunit/oui 1.0.1-alpha.13 → 1.0.1-alpha.2

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 (212) hide show
  1. package/dist/index.js +0 -1
  2. package/dist/types/index.d.ts +0 -1
  3. package/package.json +7 -20
  4. package/src/assets/ic-bell-noti-outlined-20px.tsx +21 -0
  5. package/src/assets/ic-close-large-outlined-20px.tsx +17 -0
  6. package/src/assets/ic-close-small-outlined-20px.tsx +17 -0
  7. package/src/assets/ic-download-pdf-outlined-20px.tsx +18 -0
  8. package/src/assets/ic-ellipse-outlined-20px.tsx +17 -0
  9. package/src/assets/ic-filter-noti-outlined-20px.tsx +21 -0
  10. package/src/assets/ic-hide-large-outlined-20px.tsx +13 -0
  11. package/src/assets/ic-hide-small-outlined-20px.tsx +17 -0
  12. package/src/assets/ic-information-large-outlined-20px.tsx +17 -0
  13. package/src/assets/ic-information-small-outlined-20px.tsx +17 -0
  14. package/src/assets/ic-manufacturer-outlined-20px.tsx +19 -0
  15. package/src/assets/ic-rectangle-outlined-20px.tsx +17 -0
  16. package/src/assets/ic-refresh-left-outlined-20px.tsx +17 -0
  17. package/src/assets/ic-refresh-right-outlined-20px.tsx +13 -0
  18. package/src/assets/ic-show-large-outlined-20px.tsx +17 -0
  19. package/src/assets/ic-show-small-outlined-20px.tsx +17 -0
  20. package/src/assets/ic_bell_noti=outlined_20px.svg +5 -0
  21. package/src/assets/ic_close_large=outlined_20px.svg +4 -0
  22. package/src/assets/ic_close_small=outlined_20px.svg +4 -0
  23. package/src/assets/ic_download_pdf=outlined_20px.svg +7 -0
  24. package/src/assets/ic_ellipse=outlined_20px.svg +4 -0
  25. package/src/assets/ic_filter_noti=outlined_20px.svg +5 -0
  26. package/src/assets/ic_hide_large=outlined_20px.svg +4 -0
  27. package/src/assets/ic_hide_small=outlined_20px.svg +4 -0
  28. package/src/assets/ic_information_large=outlined_20px.svg +4 -0
  29. package/src/assets/ic_information_small=outlined_20px.svg +4 -0
  30. package/src/assets/ic_manufacturer=outlined_20px.svg +3 -0
  31. package/src/assets/ic_rectangle=outlined_20px.svg +4 -0
  32. package/src/assets/ic_refresh_left=outlined_20px.svg +4 -0
  33. package/src/assets/ic_refresh_right=outlined_20px.svg +4 -0
  34. package/src/assets/ic_show_large=outlined_20px.svg +4 -0
  35. package/src/assets/ic_show_small=outlined_20px.svg +4 -0
  36. package/src/assets/index.ts +16 -0
  37. package/src/components/Alert/Alert.styled.ts +44 -0
  38. package/src/components/Alert/Alert.tsx +39 -0
  39. package/src/components/Alert/Alert.types.ts +5 -0
  40. package/src/components/Alert/Alert.utils.tsx +43 -0
  41. package/src/components/Alert/index.ts +5 -0
  42. package/src/components/BaseTextField/BaseTextField.styled.ts +110 -0
  43. package/src/components/BaseTextField/BaseTextField.types.ts +25 -0
  44. package/src/components/BaseTextField/BaseTextField.utils.ts +10 -0
  45. package/src/components/Button/BaseButton.tsx +19 -0
  46. package/src/components/Button/Button.tsx +117 -0
  47. package/src/components/Button/Button.types.ts +36 -0
  48. package/src/components/Button/Button.utils.ts +13 -0
  49. package/src/components/Button/index.ts +6 -0
  50. package/src/components/Button/styleds/BaseButton.styled.ts +57 -0
  51. package/src/components/Button/styleds/ContainedButton.styled.ts +123 -0
  52. package/src/components/Button/styleds/GhostButton.styled.ts +139 -0
  53. package/src/components/Button/styleds/IconButton.styled.ts +25 -0
  54. package/src/components/Button/styleds/OutlinedButton.styled.ts +144 -0
  55. package/src/components/Card/Card.styled.tsx +18 -0
  56. package/src/components/Card/Card.tsx +18 -0
  57. package/src/components/Card/Card.types.ts +10 -0
  58. package/src/components/Card/index.ts +5 -0
  59. package/src/components/Checkbox/Checkbox.styled.tsx +27 -0
  60. package/src/components/Checkbox/Checkbox.tsx +64 -0
  61. package/src/components/Checkbox/Checkbox.types.ts +16 -0
  62. package/src/components/Checkbox/Checkbox.utils.tsx +42 -0
  63. package/src/components/Checkbox/index.ts +5 -0
  64. package/src/components/Chip/Chip.styled.ts +120 -0
  65. package/src/components/Chip/Chip.tsx +33 -0
  66. package/src/components/Chip/Chip.types.ts +18 -0
  67. package/src/components/Chip/Chip.utils.tsx +50 -0
  68. package/src/components/Chip/index.ts +4 -0
  69. package/src/components/DataTable/DataTable.styled.ts +66 -0
  70. package/src/components/DataTable/DataTable.tsx +29 -0
  71. package/src/components/DataTable/index.ts +1 -0
  72. package/src/components/DatePicker/DatePicker.styled.ts +19 -0
  73. package/src/components/DatePicker/DatePicker.tsx +194 -0
  74. package/src/components/DatePicker/DatePicker.types.ts +8 -0
  75. package/src/components/DatePicker/index.ts +4 -0
  76. package/src/components/Dialog/Dialog.styled.ts +87 -0
  77. package/src/components/Dialog/Dialog.tsx +111 -0
  78. package/src/components/Dialog/Dialog.types.ts +19 -0
  79. package/src/components/Dialog/index.ts +5 -0
  80. package/src/components/Divider/Divider.styled.ts +24 -0
  81. package/src/components/Divider/Divider.tsx +13 -0
  82. package/src/components/Divider/Divider.types.ts +7 -0
  83. package/src/components/Divider/index.ts +5 -0
  84. package/src/components/Dropdown/Dropdown.styled.tsx +127 -0
  85. package/src/components/Dropdown/Dropdown.tsx +116 -0
  86. package/src/components/Dropdown/Dropdown.types.ts +31 -0
  87. package/src/components/Dropdown/Dropdown.utils.ts +13 -0
  88. package/src/components/Dropdown/DropdownItem.styled.tsx +66 -0
  89. package/src/components/Dropdown/DropdownItem.tsx +45 -0
  90. package/src/components/Dropdown/DropdownItem.types.ts +14 -0
  91. package/src/components/Dropdown/DropdownItem.utils.ts +14 -0
  92. package/src/components/Dropdown/DropdownSubtitle.styled.ts +13 -0
  93. package/src/components/Dropdown/DropdownSubtitle.tsx +9 -0
  94. package/src/components/Dropdown/DropdownSubtitle.types.ts +6 -0
  95. package/src/components/Dropdown/IconDropdown.styled.tsx +82 -0
  96. package/src/components/Dropdown/IconDropdown.tsx +56 -0
  97. package/src/components/Dropdown/IconDropdown.types.ts +22 -0
  98. package/src/components/Dropdown/index.ts +22 -0
  99. package/src/components/FileDnDZone/FileDnDZone.styled.ts +43 -0
  100. package/src/components/FileDnDZone/FileDnDZone.tsx +81 -0
  101. package/src/components/FileDnDZone/FileDnDZone.types.ts +14 -0
  102. package/src/components/FileDnDZone/FileDnDZone.utils.ts +3 -0
  103. package/src/components/FileDnDZone/index.ts +5 -0
  104. package/src/components/List/List.styled.ts +31 -0
  105. package/src/components/List/List.tsx +71 -0
  106. package/src/components/List/List.types.ts +24 -0
  107. package/src/components/List/List.utils.ts +14 -0
  108. package/src/components/List/ListItem.styled.tsx +61 -0
  109. package/src/components/List/ListItem.tsx +66 -0
  110. package/src/components/List/ListItem.types.ts +40 -0
  111. package/src/components/List/ListItemCaption.styled.tsx +7 -0
  112. package/src/components/List/ListItemCaption.tsx +18 -0
  113. package/src/components/List/ListItemCaption.types.ts +2 -0
  114. package/src/components/List/index.ts +8 -0
  115. package/src/components/LoadingIndicator/LoadingIndicator.styled.tsx +40 -0
  116. package/src/components/LoadingIndicator/LoadingIndicator.tsx +44 -0
  117. package/src/components/LoadingIndicator/LoadingIndicator.types.ts +7 -0
  118. package/src/components/LoadingIndicator/assets/DnaLoadingAnimation.json +769 -0
  119. package/src/components/LoadingIndicator/assets/DotLoadingAnimation.json +426 -0
  120. package/src/components/LoadingIndicator/index.ts +5 -0
  121. package/src/components/Menu/Menu.styled.tsx +42 -0
  122. package/src/components/Menu/Menu.tsx +28 -0
  123. package/src/components/Menu/Menu.types.ts +18 -0
  124. package/src/components/Menu/MenuItem.styled.ts +62 -0
  125. package/src/components/Menu/MenuItem.tsx +45 -0
  126. package/src/components/Menu/MenuItem.types.ts +14 -0
  127. package/src/components/Menu/index.ts +5 -0
  128. package/src/components/MuiCssBaseline.ts +78 -0
  129. package/src/components/MuiInputBase.ts +25 -0
  130. package/src/components/MuiOutlinedInput.ts +57 -0
  131. package/src/components/MuiTextField.ts +17 -0
  132. package/src/components/Pagination/Pagination.styled.tsx +71 -0
  133. package/src/components/Pagination/Pagination.tsx +182 -0
  134. package/src/components/Pagination/Pagination.types.ts +39 -0
  135. package/src/components/Pagination/index.ts +2 -0
  136. package/src/components/ProductLabel/ProductLabel.styled.ts +61 -0
  137. package/src/components/ProductLabel/ProductLabel.tsx +57 -0
  138. package/src/components/ProductLabel/ProductLabel.types.ts +10 -0
  139. package/src/components/ProductLabel/index.ts +5 -0
  140. package/src/components/Progress/CircularProgress.styled.ts +10 -0
  141. package/src/components/Progress/CircularProgress.tsx +15 -0
  142. package/src/components/Progress/CircularProgress.types.ts +6 -0
  143. package/src/components/Progress/LinearProgress.styled.ts +15 -0
  144. package/src/components/Progress/LinearProgress.tsx +16 -0
  145. package/src/components/Progress/LinearProgress.types.ts +7 -0
  146. package/src/components/Progress/index.ts +4 -0
  147. package/src/components/Radio/Radio.styled.ts +35 -0
  148. package/src/components/Radio/Radio.tsx +60 -0
  149. package/src/components/Radio/Radio.types.ts +15 -0
  150. package/src/components/Radio/RadioGroup.styled.ts +6 -0
  151. package/src/components/Radio/RadioGroup.tsx +23 -0
  152. package/src/components/Radio/RadioGroup.types.ts +10 -0
  153. package/src/components/Radio/index.ts +7 -0
  154. package/src/components/Stepper/Stepper.styled.ts +38 -0
  155. package/src/components/Stepper/Stepper.tsx +24 -0
  156. package/src/components/Stepper/Stepper.types.ts +13 -0
  157. package/src/components/Stepper/index.ts +5 -0
  158. package/src/components/TabbedPanel/TabbedPanel.styled.ts +129 -0
  159. package/src/components/TabbedPanel/TabbedPanel.tsx +70 -0
  160. package/src/components/TabbedPanel/TabbedPanel.types.ts +36 -0
  161. package/src/components/TabbedPanel/TabbedPanel.utils.ts +21 -0
  162. package/src/components/TabbedPanel/index.ts +5 -0
  163. package/src/components/TextField/TextArea.styled.tsx +36 -0
  164. package/src/components/TextField/TextArea.tsx +35 -0
  165. package/src/components/TextField/TextArea.types.ts +28 -0
  166. package/src/components/TextField/TextInput.styled.tsx +115 -0
  167. package/src/components/TextField/TextInput.tsx +27 -0
  168. package/src/components/TextField/TextInput.types.ts +46 -0
  169. package/src/components/TextField/TextInput.utils.ts +7 -0
  170. package/src/components/TextField/components/Buttons.tsx +26 -0
  171. package/src/components/TextField/components/NormalTextInput.tsx +95 -0
  172. package/src/components/TextField/components/PasswordInput.tsx +92 -0
  173. package/src/components/TextField/index.ts +7 -0
  174. package/src/components/Tooltip/Tooltip.styled.tsx +36 -0
  175. package/src/components/Tooltip/Tooltip.tsx +58 -0
  176. package/src/components/Tooltip/Tooltip.types.ts +24 -0
  177. package/src/components/Tooltip/Tooltip.utils.ts +46 -0
  178. package/src/components/Tooltip/index.ts +5 -0
  179. package/src/components/UploadManager/UploadManager.styled.ts +49 -0
  180. package/src/components/UploadManager/UploadManager.tsx +271 -0
  181. package/src/components/UploadManager/UploadManager.types.ts +16 -0
  182. package/src/components/UploadManager/index.ts +5 -0
  183. package/src/components/index.ts +23 -0
  184. package/src/foundations/index.ts +4 -0
  185. package/src/foundations/palette.ts +418 -0
  186. package/src/foundations/spacing.ts +5 -0
  187. package/src/foundations/styles.ts +9 -0
  188. package/src/foundations/typography.ts +492 -0
  189. package/src/icons/BellNoti/index.tsx +28 -0
  190. package/src/icons/CloseLarge/index.tsx +28 -0
  191. package/src/icons/CloseSmall/index.tsx +28 -0
  192. package/src/icons/DownloadPdf/index.tsx +28 -0
  193. package/src/icons/Ellipse/index.tsx +28 -0
  194. package/src/icons/FilterNoti/index.tsx +28 -0
  195. package/src/icons/HideLarge/index.tsx +28 -0
  196. package/src/icons/HideSmall/index.tsx +28 -0
  197. package/src/icons/InformationLarge/index.tsx +28 -0
  198. package/src/icons/InformationSmall/index.tsx +28 -0
  199. package/src/icons/Manufacturer/index.tsx +28 -0
  200. package/src/icons/Rectangle/index.tsx +28 -0
  201. package/src/icons/RefreshLeft/index.tsx +28 -0
  202. package/src/icons/RefreshRight/index.tsx +28 -0
  203. package/src/icons/ShowLarge/index.tsx +28 -0
  204. package/src/icons/ShowSmall/index.tsx +28 -0
  205. package/src/icons/index.ts +180 -0
  206. package/src/index.ts +4 -0
  207. package/src/react-app-env.d.ts +71 -0
  208. package/src/reportWebVitals.ts +15 -0
  209. package/src/setupTests.ts +5 -0
  210. package/src/systems/drawer.ts +27 -0
  211. package/src/systems/index.ts +7 -0
  212. package/src/theme.ts +22 -0
@@ -0,0 +1,426 @@
1
+ {
2
+ "nm": "Loading",
3
+ "ddd": 0,
4
+ "h": 500,
5
+ "w": 500,
6
+ "meta": { "g": "@lottiefiles/toolkit-js 0.25.4" },
7
+ "layers": [
8
+ {
9
+ "ty": 4,
10
+ "nm": "Shape Layer 4",
11
+ "sr": 1,
12
+ "st": 0,
13
+ "op": 30.0000012219251,
14
+ "ip": 0,
15
+ "hd": false,
16
+ "ddd": 0,
17
+ "bm": 0,
18
+ "hasMask": false,
19
+ "ao": 0,
20
+ "ks": {
21
+ "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
22
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 },
23
+ "sk": { "a": 0, "k": 0 },
24
+ "p": {
25
+ "a": 1,
26
+ "k": [
27
+ {
28
+ "o": { "x": 0.167, "y": 0 },
29
+ "i": { "x": 0.833, "y": 1 },
30
+ "s": [546, 266, 0],
31
+ "t": 13,
32
+ "ti": [0, 0, 0],
33
+ "to": [0, -11, 0]
34
+ },
35
+ {
36
+ "o": { "x": 0.167, "y": 0 },
37
+ "i": { "x": 0.833, "y": 1 },
38
+ "s": [546, 200, 0],
39
+ "t": 17,
40
+ "ti": [0, -11, 0],
41
+ "to": [0, 0, 0]
42
+ },
43
+ { "s": [546, 266, 0], "t": 21.0000008553475 }
44
+ ],
45
+ "ix": 2
46
+ },
47
+ "r": { "a": 0, "k": 0, "ix": 10 },
48
+ "sa": { "a": 0, "k": 0 },
49
+ "o": { "a": 0, "k": 100, "ix": 11 }
50
+ },
51
+ "ef": [],
52
+ "shapes": [
53
+ {
54
+ "ty": "gr",
55
+ "bm": 0,
56
+ "hd": false,
57
+ "mn": "ADBE Vector Group",
58
+ "nm": "Ellipse 1",
59
+ "ix": 1,
60
+ "cix": 2,
61
+ "np": 3,
62
+ "it": [
63
+ {
64
+ "ty": "el",
65
+ "bm": 0,
66
+ "hd": false,
67
+ "mn": "ADBE Vector Shape - Ellipse",
68
+ "nm": "Ellipse Path 1",
69
+ "d": 1,
70
+ "p": { "a": 0, "k": [0, 0], "ix": 3 },
71
+ "s": { "a": 0, "k": [45.137, 45.137], "ix": 2 }
72
+ },
73
+ {
74
+ "ty": "st",
75
+ "bm": 0,
76
+ "hd": false,
77
+ "mn": "ADBE Vector Graphic - Stroke",
78
+ "nm": "Stroke 1",
79
+ "lc": 1,
80
+ "lj": 1,
81
+ "ml": 4,
82
+ "o": { "a": 0, "k": 100, "ix": 4 },
83
+ "w": { "a": 0, "k": 8, "ix": 5 },
84
+ "c": { "a": 0, "k": [0, 0.7882, 0.9176], "ix": 3 }
85
+ },
86
+ {
87
+ "ty": "fl",
88
+ "bm": 0,
89
+ "hd": false,
90
+ "mn": "ADBE Vector Graphic - Fill",
91
+ "nm": "Fill 1",
92
+ "c": { "a": 0, "k": [0, 0.7882, 0.9176], "ix": 4 },
93
+ "r": 1,
94
+ "o": { "a": 0, "k": 100, "ix": 5 }
95
+ },
96
+ {
97
+ "ty": "tr",
98
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
99
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
100
+ "sk": { "a": 0, "k": 0, "ix": 4 },
101
+ "p": { "a": 0, "k": [-167.432, -17.432], "ix": 2 },
102
+ "r": { "a": 0, "k": 0, "ix": 6 },
103
+ "sa": { "a": 0, "k": 0, "ix": 5 },
104
+ "o": { "a": 0, "k": 100, "ix": 7 }
105
+ }
106
+ ]
107
+ }
108
+ ],
109
+ "ind": 1
110
+ },
111
+ {
112
+ "ty": 4,
113
+ "nm": "Shape Layer 3",
114
+ "sr": 1,
115
+ "st": -359.00001462237,
116
+ "op": 30.0000012219251,
117
+ "ip": 0,
118
+ "hd": false,
119
+ "ddd": 0,
120
+ "bm": 0,
121
+ "hasMask": false,
122
+ "ao": 0,
123
+ "ks": {
124
+ "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
125
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 },
126
+ "sk": { "a": 0, "k": 0 },
127
+ "p": {
128
+ "a": 1,
129
+ "k": [
130
+ {
131
+ "o": { "x": 0.167, "y": 0 },
132
+ "i": { "x": 0.833, "y": 1 },
133
+ "s": [454, 266, 0],
134
+ "t": 9,
135
+ "ti": [0, 0, 0],
136
+ "to": [0, -11, 0]
137
+ },
138
+ {
139
+ "o": { "x": 0.167, "y": 0 },
140
+ "i": { "x": 0.833, "y": 1 },
141
+ "s": [454, 200, 0],
142
+ "t": 13,
143
+ "ti": [0, -11, 0],
144
+ "to": [0, 0, 0]
145
+ },
146
+ { "s": [454, 266, 0], "t": 17.0000006924242 }
147
+ ],
148
+ "ix": 2
149
+ },
150
+ "r": { "a": 0, "k": 0, "ix": 10 },
151
+ "sa": { "a": 0, "k": 0 },
152
+ "o": { "a": 0, "k": 100, "ix": 11 }
153
+ },
154
+ "ef": [],
155
+ "shapes": [
156
+ {
157
+ "ty": "gr",
158
+ "bm": 0,
159
+ "hd": false,
160
+ "mn": "ADBE Vector Group",
161
+ "nm": "Ellipse 1",
162
+ "ix": 1,
163
+ "cix": 2,
164
+ "np": 3,
165
+ "it": [
166
+ {
167
+ "ty": "el",
168
+ "bm": 0,
169
+ "hd": false,
170
+ "mn": "ADBE Vector Shape - Ellipse",
171
+ "nm": "Ellipse Path 1",
172
+ "d": 1,
173
+ "p": { "a": 0, "k": [0, 0], "ix": 3 },
174
+ "s": { "a": 0, "k": [45.137, 45.137], "ix": 2 }
175
+ },
176
+ {
177
+ "ty": "st",
178
+ "bm": 0,
179
+ "hd": false,
180
+ "mn": "ADBE Vector Graphic - Stroke",
181
+ "nm": "Stroke 1",
182
+ "lc": 1,
183
+ "lj": 1,
184
+ "ml": 4,
185
+ "o": { "a": 0, "k": 100, "ix": 4 },
186
+ "w": { "a": 0, "k": 8, "ix": 5 },
187
+ "c": { "a": 0, "k": [0, 0.7882, 0.9176], "ix": 3 }
188
+ },
189
+ {
190
+ "ty": "fl",
191
+ "bm": 0,
192
+ "hd": false,
193
+ "mn": "ADBE Vector Graphic - Fill",
194
+ "nm": "Fill 1",
195
+ "c": { "a": 0, "k": [0, 0.7882, 0.9176], "ix": 4 },
196
+ "r": 1,
197
+ "o": { "a": 0, "k": 100, "ix": 5 }
198
+ },
199
+ {
200
+ "ty": "tr",
201
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
202
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
203
+ "sk": { "a": 0, "k": 0, "ix": 4 },
204
+ "p": { "a": 0, "k": [-167.432, -17.432], "ix": 2 },
205
+ "r": { "a": 0, "k": 0, "ix": 6 },
206
+ "sa": { "a": 0, "k": 0, "ix": 5 },
207
+ "o": { "a": 0, "k": 100, "ix": 7 }
208
+ }
209
+ ]
210
+ }
211
+ ],
212
+ "ind": 2
213
+ },
214
+ {
215
+ "ty": 4,
216
+ "nm": "Shape Layer 2",
217
+ "sr": 1,
218
+ "st": 0,
219
+ "op": 30.0000012219251,
220
+ "ip": 0,
221
+ "hd": false,
222
+ "ddd": 0,
223
+ "bm": 0,
224
+ "hasMask": false,
225
+ "ao": 0,
226
+ "ks": {
227
+ "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
228
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 },
229
+ "sk": { "a": 0, "k": 0 },
230
+ "p": {
231
+ "a": 1,
232
+ "k": [
233
+ {
234
+ "o": { "x": 0.167, "y": 0 },
235
+ "i": { "x": 0.833, "y": 1 },
236
+ "s": [365, 266, 0],
237
+ "t": 4,
238
+ "ti": [0, 0, 0],
239
+ "to": [0, -11, 0]
240
+ },
241
+ {
242
+ "o": { "x": 0.167, "y": 0 },
243
+ "i": { "x": 0.833, "y": 1 },
244
+ "s": [365, 200, 0],
245
+ "t": 9,
246
+ "ti": [0, -11, 0],
247
+ "to": [0, 0, 0]
248
+ },
249
+ { "s": [365, 266, 0], "t": 13.0000005295009 }
250
+ ],
251
+ "ix": 2
252
+ },
253
+ "r": { "a": 0, "k": 0, "ix": 10 },
254
+ "sa": { "a": 0, "k": 0 },
255
+ "o": { "a": 0, "k": 100, "ix": 11 }
256
+ },
257
+ "ef": [],
258
+ "shapes": [
259
+ {
260
+ "ty": "gr",
261
+ "bm": 0,
262
+ "hd": false,
263
+ "mn": "ADBE Vector Group",
264
+ "nm": "Ellipse 1",
265
+ "ix": 1,
266
+ "cix": 2,
267
+ "np": 3,
268
+ "it": [
269
+ {
270
+ "ty": "el",
271
+ "bm": 0,
272
+ "hd": false,
273
+ "mn": "ADBE Vector Shape - Ellipse",
274
+ "nm": "Ellipse Path 1",
275
+ "d": 1,
276
+ "p": { "a": 0, "k": [0, 0], "ix": 3 },
277
+ "s": { "a": 0, "k": [45.137, 45.137], "ix": 2 }
278
+ },
279
+ {
280
+ "ty": "st",
281
+ "bm": 0,
282
+ "hd": false,
283
+ "mn": "ADBE Vector Graphic - Stroke",
284
+ "nm": "Stroke 1",
285
+ "lc": 1,
286
+ "lj": 1,
287
+ "ml": 4,
288
+ "o": { "a": 0, "k": 100, "ix": 4 },
289
+ "w": { "a": 0, "k": 8, "ix": 5 },
290
+ "c": { "a": 0, "k": [0, 0.7882, 0.9176], "ix": 3 }
291
+ },
292
+ {
293
+ "ty": "fl",
294
+ "bm": 0,
295
+ "hd": false,
296
+ "mn": "ADBE Vector Graphic - Fill",
297
+ "nm": "Fill 1",
298
+ "c": { "a": 0, "k": [0, 0.7882, 0.9176], "ix": 4 },
299
+ "r": 1,
300
+ "o": { "a": 0, "k": 100, "ix": 5 }
301
+ },
302
+ {
303
+ "ty": "tr",
304
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
305
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
306
+ "sk": { "a": 0, "k": 0, "ix": 4 },
307
+ "p": { "a": 0, "k": [-167.432, -17.432], "ix": 2 },
308
+ "r": { "a": 0, "k": 0, "ix": 6 },
309
+ "sa": { "a": 0, "k": 0, "ix": 5 },
310
+ "o": { "a": 0, "k": 100, "ix": 7 }
311
+ }
312
+ ]
313
+ }
314
+ ],
315
+ "ind": 3
316
+ },
317
+ {
318
+ "ty": 4,
319
+ "nm": "Shape Layer 1",
320
+ "sr": 1,
321
+ "st": 0,
322
+ "op": 30.0000012219251,
323
+ "ip": 0,
324
+ "hd": false,
325
+ "ddd": 0,
326
+ "bm": 0,
327
+ "hasMask": false,
328
+ "ao": 0,
329
+ "ks": {
330
+ "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
331
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 },
332
+ "sk": { "a": 0, "k": 0 },
333
+ "p": {
334
+ "a": 1,
335
+ "k": [
336
+ {
337
+ "o": { "x": 0.167, "y": 0 },
338
+ "i": { "x": 0.833, "y": 1 },
339
+ "s": [277, 266, 0],
340
+ "t": 0,
341
+ "ti": [0, 0, 0],
342
+ "to": [0, -11, 0]
343
+ },
344
+ {
345
+ "o": { "x": 0.167, "y": 0 },
346
+ "i": { "x": 0.833, "y": 1 },
347
+ "s": [277, 200, 0],
348
+ "t": 4,
349
+ "ti": [0, -11, 0],
350
+ "to": [0, 0, 0]
351
+ },
352
+ { "s": [277, 266, 0], "t": 9.00000036657752 }
353
+ ],
354
+ "ix": 2
355
+ },
356
+ "r": { "a": 0, "k": 0, "ix": 10 },
357
+ "sa": { "a": 0, "k": 0 },
358
+ "o": { "a": 0, "k": 100, "ix": 11 }
359
+ },
360
+ "ef": [],
361
+ "shapes": [
362
+ {
363
+ "ty": "gr",
364
+ "bm": 0,
365
+ "hd": false,
366
+ "mn": "ADBE Vector Group",
367
+ "nm": "Ellipse 1",
368
+ "ix": 1,
369
+ "cix": 2,
370
+ "np": 3,
371
+ "it": [
372
+ {
373
+ "ty": "el",
374
+ "bm": 0,
375
+ "hd": false,
376
+ "mn": "ADBE Vector Shape - Ellipse",
377
+ "nm": "Ellipse Path 1",
378
+ "d": 1,
379
+ "p": { "a": 0, "k": [0, 0], "ix": 3 },
380
+ "s": { "a": 0, "k": [45.137, 45.137], "ix": 2 }
381
+ },
382
+ {
383
+ "ty": "st",
384
+ "bm": 0,
385
+ "hd": false,
386
+ "mn": "ADBE Vector Graphic - Stroke",
387
+ "nm": "Stroke 1",
388
+ "lc": 1,
389
+ "lj": 1,
390
+ "ml": 4,
391
+ "o": { "a": 0, "k": 100, "ix": 4 },
392
+ "w": { "a": 0, "k": 8, "ix": 5 },
393
+ "c": { "a": 0, "k": [0, 0.7882, 0.9176], "ix": 3 }
394
+ },
395
+ {
396
+ "ty": "fl",
397
+ "bm": 0,
398
+ "hd": false,
399
+ "mn": "ADBE Vector Graphic - Fill",
400
+ "nm": "Fill 1",
401
+ "c": { "a": 0, "k": [0, 0.7882, 0.9176], "ix": 4 },
402
+ "r": 1,
403
+ "o": { "a": 0, "k": 100, "ix": 5 }
404
+ },
405
+ {
406
+ "ty": "tr",
407
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
408
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
409
+ "sk": { "a": 0, "k": 0, "ix": 4 },
410
+ "p": { "a": 0, "k": [-167.432, -17.432], "ix": 2 },
411
+ "r": { "a": 0, "k": 0, "ix": 6 },
412
+ "sa": { "a": 0, "k": 0, "ix": 5 },
413
+ "o": { "a": 0, "k": 100, "ix": 7 }
414
+ }
415
+ ]
416
+ }
417
+ ],
418
+ "ind": 4
419
+ }
420
+ ],
421
+ "v": "5.7.8",
422
+ "fr": 29.9700012207031,
423
+ "op": 30.0000012219251,
424
+ "ip": 0,
425
+ "assets": []
426
+ }
@@ -0,0 +1,5 @@
1
+ import LoadingIndicator from './LoadingIndicator';
2
+ import type { LoadingIndicatorProps } from './LoadingIndicator.types';
3
+
4
+ export { LoadingIndicator };
5
+ export type { LoadingIndicatorProps };
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { styled, Menu, listClasses, ListSubheader, dividerClasses } from '@mui/material';
3
+ import { forwardRef } from 'react';
4
+ import type { StyledMenuProps } from './Menu.types';
5
+
6
+ const ForwardRefMenu = forwardRef<HTMLDivElement, StyledMenuProps>(
7
+ ({ size, className, ...props }: StyledMenuProps, ref) => (
8
+ <Menu
9
+ {...props}
10
+ ref={ref}
11
+ PopoverClasses={{ paper: className }}
12
+ />
13
+ ),
14
+ );
15
+
16
+ export const StyledMenu = styled(ForwardRefMenu)(({ size, theme }) => ({
17
+ backgroundColor: theme.palette.neutralGrey[90],
18
+ borderRadius: '8px',
19
+ [`& > .${listClasses.root}`]: {
20
+ display: 'flex',
21
+ flexDirection: 'column',
22
+ padding: size === 'small' ? theme.spacing(3, 4) : theme.spacing(5, 7),
23
+ gap: size === 'small' ? theme.spacing(0) : theme.spacing(2),
24
+ },
25
+ [`& > .${listClasses.root} > .${dividerClasses.root}`]: {
26
+ marginTop: 0,
27
+ marginBottom: 0,
28
+ marginLeft: size === 'small' ? theme.spacing(-4) : theme.spacing(-7),
29
+ marginRight: size === 'small' ? theme.spacing(-4) : theme.spacing(-7),
30
+ width: 'auto',
31
+ },
32
+ }));
33
+
34
+ export const StyledListSubheader = styled(ListSubheader)(({ theme }) => ({
35
+ ...theme.typography.small_body_m1,
36
+ display: 'flex',
37
+ alignItems: 'center',
38
+ backgroundColor: 'transparent',
39
+ height: '28px',
40
+ padding: 0,
41
+ color: theme.palette.neutralGrey[40],
42
+ }));
@@ -0,0 +1,28 @@
1
+ import React, { createContext, forwardRef, useMemo } from 'react';
2
+ import { StyledListSubheader, StyledMenu } from './Menu.styled';
3
+ import type { MenuContextValue, MenuProps } from './Menu.types';
4
+
5
+ export const MenuContext = createContext<MenuContextValue>({
6
+ size: 'small',
7
+ showCheck: false,
8
+ });
9
+
10
+ const Menu = forwardRef<HTMLDivElement, MenuProps>(
11
+ ({ subheader, size = 'small', showCheck = false, children, ...props }: MenuProps, ref) => {
12
+ const contextValue = useMemo<MenuContextValue>(() => ({ size, showCheck }), [size, showCheck]);
13
+ return (
14
+ <MenuContext.Provider value={contextValue}>
15
+ <StyledMenu
16
+ size={size}
17
+ ref={ref}
18
+ {...props}
19
+ >
20
+ {subheader && <StyledListSubheader>{subheader}</StyledListSubheader>}
21
+ {children}
22
+ </StyledMenu>
23
+ </MenuContext.Provider>
24
+ );
25
+ },
26
+ );
27
+
28
+ export default Menu;
@@ -0,0 +1,18 @@
1
+ import type { MenuProps as MuiMenuProps } from '@mui/material';
2
+
3
+ export type MenuSize = 'small' | 'medium';
4
+
5
+ export interface MenuProps extends StyledMenuProps {
6
+ size?: MenuSize;
7
+ subheader?: React.ReactNode;
8
+ showCheck?: boolean;
9
+ }
10
+
11
+ export interface StyledMenuProps extends MuiMenuProps {
12
+ size?: MenuSize;
13
+ }
14
+
15
+ export interface MenuContextValue {
16
+ size: MenuSize;
17
+ showCheck: boolean;
18
+ }
@@ -0,0 +1,62 @@
1
+ import {
2
+ MenuItem,
3
+ styled,
4
+ buttonBaseClasses,
5
+ ListItemIcon,
6
+ menuItemClasses,
7
+ ListItemText,
8
+ typographyClasses,
9
+ } from '@mui/material';
10
+ import type { StyledMenuItemProps } from './MenuItem.types';
11
+
12
+ export { CheckIcon, EmptyIcon } from '../List/ListItem.styled';
13
+
14
+ export const StyledMenuItem = styled(MenuItem)<StyledMenuItemProps>(({ size, theme }) => {
15
+ return {
16
+ [`&.${buttonBaseClasses.root}`]: {
17
+ padding: size === 'small' ? theme.spacing(2) : theme.spacing(2, 4),
18
+ margin: size === 'small' ? theme.spacing(0, -2) : theme.spacing(0, -4),
19
+ '&.Mui-selected': {
20
+ background: 'transparent',
21
+ },
22
+ '&:hover, &.Mui-selected:hover, &.Mui-focusVisible, &.Mui-selected.Mui-focusVisible': {
23
+ borderRadius: '8px',
24
+ backgroundColor: theme.palette.neutralGrey[75],
25
+ },
26
+ },
27
+ };
28
+ });
29
+
30
+ const iconStyles = {
31
+ minWidth: '20px',
32
+ width: '20px',
33
+ height: '20px',
34
+ color: 'currentColor',
35
+ svg: {
36
+ width: '100%',
37
+ height: '100%',
38
+ color: 'currentColor !important',
39
+ },
40
+ };
41
+
42
+ export const StyledMenuItemStartIcon = styled(ListItemIcon)(({ theme }) => ({
43
+ [`.${menuItemClasses.root} &`]: {
44
+ ...iconStyles,
45
+ marginRight: theme.spacing(2),
46
+ },
47
+ }));
48
+
49
+ export const StyledMenuItemEndIcon = styled(ListItemIcon)(({ theme }) => ({
50
+ [`.${menuItemClasses.root} &`]: {
51
+ ...iconStyles,
52
+ justifyContent: 'flex-end',
53
+ marginLeft: theme.spacing(2),
54
+ },
55
+ }));
56
+
57
+ export const StyledMenuItemText = styled(ListItemText)(({ theme }) => ({
58
+ margin: 0,
59
+ [`& .${typographyClasses.body1}`]: {
60
+ ...theme.typography.body5,
61
+ },
62
+ }));
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { useContext } from 'react';
3
+ import ListItemCaption from '../List/ListItemCaption';
4
+ import { MenuContext } from '../Menu/Menu';
5
+ import {
6
+ StyledMenuItem,
7
+ StyledMenuItemStartIcon,
8
+ StyledMenuItemText,
9
+ StyledMenuItemEndIcon,
10
+ CheckIcon,
11
+ EmptyIcon,
12
+ } from './MenuItem.styled';
13
+ import type { MenuItemProps } from './MenuItem.types';
14
+
15
+ const MenuItem = ({ icon: iconProp, caption, label, selected, ...props }: MenuItemProps) => {
16
+ const { size, showCheck } = useContext(MenuContext);
17
+
18
+ const icon = (() => {
19
+ if (showCheck) {
20
+ if (selected) {
21
+ return <CheckIcon />;
22
+ }
23
+ return iconProp || <EmptyIcon />;
24
+ }
25
+ return iconProp;
26
+ })();
27
+
28
+ return (
29
+ <StyledMenuItem
30
+ {...props}
31
+ size={size}
32
+ disableRipple
33
+ >
34
+ {icon && <StyledMenuItemStartIcon>{icon}</StyledMenuItemStartIcon>}
35
+ <StyledMenuItemText primary={label} />
36
+ {caption && (
37
+ <StyledMenuItemEndIcon>
38
+ <ListItemCaption>{caption}</ListItemCaption>
39
+ </StyledMenuItemEndIcon>
40
+ )}
41
+ </StyledMenuItem>
42
+ );
43
+ };
44
+
45
+ export default MenuItem;
@@ -0,0 +1,14 @@
1
+ import type { MenuItemProps as MuiMenuItemProps } from '@mui/material';
2
+ import type { MenuSize } from '../Menu/Menu.types';
3
+
4
+ export interface MenuItemProps extends MuiMenuItemProps {
5
+ icon?: React.ReactNode;
6
+ caption?: React.ReactNode;
7
+ label?: React.ReactNode;
8
+ open?: boolean;
9
+ children?: React.ReactNode;
10
+ }
11
+
12
+ export interface StyledMenuItemProps extends MuiMenuItemProps {
13
+ size: MenuSize;
14
+ }
@@ -0,0 +1,5 @@
1
+ export { default as Menu } from './Menu';
2
+ export type { MenuProps } from './Menu.types';
3
+
4
+ export { default as MenuItem } from './MenuItem';
5
+ export type { MenuItemProps } from './MenuItem.types';