@lunit/oui 2.4.19 → 3.0.1

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 (332) hide show
  1. package/dist/components/Autocomplete/Autocomplete.js +22 -0
  2. package/dist/components/Autocomplete/Autocomplete.styled.js +36 -0
  3. package/dist/components/Autocomplete/Autocomplete.types.js +1 -0
  4. package/dist/components/Autocomplete/index.js +2 -0
  5. package/dist/components/Checkbox/Checkbox.js +1 -1
  6. package/dist/components/Collapse/Collapse.js +6 -0
  7. package/dist/components/Collapse/Collapse.types.js +1 -0
  8. package/dist/components/Collapse/index.js +2 -0
  9. package/dist/components/DataTable/DataTable.js +7 -5
  10. package/dist/components/DataTable/DataTable.styled.js +12 -13
  11. package/dist/components/DataTable/DataTable.types.js +1 -0
  12. package/dist/components/DatePicker/DatePicker.js +13 -17
  13. package/dist/components/DatePicker/DatePicker.styled.js +24 -6
  14. package/dist/components/Dialog/Dialog.js +4 -2
  15. package/dist/components/Drawer/Drawer.js +6 -0
  16. package/dist/components/Drawer/Drawer.styled.js +29 -0
  17. package/dist/components/Drawer/Drawer.types.js +1 -0
  18. package/dist/components/Drawer/index.js +2 -0
  19. package/dist/components/Dropdown/Dropdown.js +0 -1
  20. package/dist/components/EllipsisTypography/EllipsisTypography.js +51 -15
  21. package/dist/components/Menu/Menu.js +5 -2
  22. package/dist/components/MuiInputBase.js +2 -2
  23. package/dist/components/NoMatchContainer/NoMatchContainer.js +6 -3
  24. package/dist/components/Popover/Popover.js +6 -0
  25. package/dist/components/Popover/Popover.styled.js +10 -0
  26. package/dist/components/Popover/Popover.types.js +1 -0
  27. package/dist/components/Popover/index.js +2 -0
  28. package/dist/components/Progress/LinearProgress.styled.js +1 -1
  29. package/dist/components/Radio/Radio.js +1 -1
  30. package/dist/components/TabbedPanel/TabbedPanel.js +1 -1
  31. package/dist/components/TabbedPanel/TabbedPanel.styled.js +1 -1
  32. package/dist/components/Toggle/Toggle.js +8 -5
  33. package/dist/components/Tooltip/Tooltip.js +2 -2
  34. package/dist/components/UploadManager/UploadManager.js +7 -5
  35. package/dist/components/index.js +4 -0
  36. package/dist/foundations/palette.js +4 -0
  37. package/dist/presentations/AnalysisBar/AnalysisBar.styled.js +7 -4
  38. package/dist/presentations/FreeText/FreeText.js +40 -22
  39. package/dist/theme.js +1 -0
  40. package/dist/types/components/Autocomplete/Autocomplete.d.ts +3 -0
  41. package/dist/types/components/Autocomplete/Autocomplete.styled.d.ts +6 -0
  42. package/dist/types/components/Autocomplete/Autocomplete.types.d.ts +20 -0
  43. package/dist/types/components/Autocomplete/index.d.ts +4 -0
  44. package/dist/{components → types/components}/Checkbox/Checkbox.types.d.ts +2 -2
  45. package/dist/types/components/Collapse/Collapse.d.ts +3 -0
  46. package/dist/types/components/Collapse/Collapse.types.d.ts +4 -0
  47. package/dist/types/components/Collapse/index.d.ts +4 -0
  48. package/dist/types/components/DataTable/DataTable.d.ts +3 -0
  49. package/dist/types/components/DataTable/DataTable.types.d.ts +8 -0
  50. package/dist/types/components/DataTable/index.d.ts +2 -0
  51. package/dist/{components → types/components}/DatePicker/DatePicker.types.d.ts +1 -1
  52. package/dist/types/components/Drawer/Drawer.d.ts +3 -0
  53. package/dist/types/components/Drawer/Drawer.styled.d.ts +3 -0
  54. package/dist/types/components/Drawer/Drawer.types.d.ts +14 -0
  55. package/dist/types/components/Drawer/index.d.ts +4 -0
  56. package/dist/{components → types/components}/Dropdown/Dropdown.types.d.ts +1 -0
  57. package/dist/{components → types/components}/Dropdown/IconDropdown.types.d.ts +3 -4
  58. package/dist/types/components/EllipsisTypography/EllipsisTypography.d.ts +4 -0
  59. package/dist/{components → types/components}/Menu/Menu.types.d.ts +3 -1
  60. package/dist/types/components/Popover/Popover.d.ts +3 -0
  61. package/dist/types/components/Popover/Popover.styled.d.ts +2 -0
  62. package/dist/types/components/Popover/Popover.types.d.ts +4 -0
  63. package/dist/types/components/Popover/index.d.ts +4 -0
  64. package/dist/{components → types/components}/Radio/Radio.types.d.ts +2 -2
  65. package/dist/{components → types/components}/Toggle/Toggle.types.d.ts +2 -2
  66. package/dist/{components → types/components}/index.d.ts +4 -0
  67. package/dist/{foundations → types/foundations}/typography.d.ts +2 -2
  68. package/dist/{theme.d.ts → types/theme.d.ts} +1 -0
  69. package/docs/COMPONENTS.md +125 -0
  70. package/docs/TOKENS.md +60 -0
  71. package/llms.txt +58 -0
  72. package/package.json +35 -24
  73. package/dist/components/DataTable/DataTable.d.ts +0 -3
  74. package/dist/components/DataTable/index.d.ts +0 -1
  75. package/dist/components/EllipsisTypography/EllipsisTypography.d.ts +0 -3
  76. /package/dist/{assets → types/assets}/ic-bell-noti-outlined-20px.d.ts +0 -0
  77. /package/dist/{assets → types/assets}/ic-close-large-outlined-20px.d.ts +0 -0
  78. /package/dist/{assets → types/assets}/ic-close-small-outlined-20px.d.ts +0 -0
  79. /package/dist/{assets → types/assets}/ic-copy-coordinates-outlined-20px.d.ts +0 -0
  80. /package/dist/{assets → types/assets}/ic-copy-coordinates-url-outlined-20px.d.ts +0 -0
  81. /package/dist/{assets → types/assets}/ic-download-pdf-outlined-20px.d.ts +0 -0
  82. /package/dist/{assets → types/assets}/ic-ellipse-exclude-outlined-20px.d.ts +0 -0
  83. /package/dist/{assets → types/assets}/ic-ellipse-include-outlined-20px.d.ts +0 -0
  84. /package/dist/{assets → types/assets}/ic-ellipse-outlined-20px.d.ts +0 -0
  85. /package/dist/{assets → types/assets}/ic-filter-noti-outlined-20px.d.ts +0 -0
  86. /package/dist/{assets → types/assets}/ic-hide-large-outlined-20px.d.ts +0 -0
  87. /package/dist/{assets → types/assets}/ic-hide-small-outlined-20px.d.ts +0 -0
  88. /package/dist/{assets → types/assets}/ic-information-large-outlined-20px.d.ts +0 -0
  89. /package/dist/{assets → types/assets}/ic-information-small-outlined-20px.d.ts +0 -0
  90. /package/dist/{assets → types/assets}/ic-manufacturer-outlined-20px.d.ts +0 -0
  91. /package/dist/{assets → types/assets}/ic-rectangle-exclude-outlined-20px.d.ts +0 -0
  92. /package/dist/{assets → types/assets}/ic-rectangle-include-outlined-20px.d.ts +0 -0
  93. /package/dist/{assets → types/assets}/ic-rectangle-outlined-20px.d.ts +0 -0
  94. /package/dist/{assets → types/assets}/ic-refresh-left-outlined-20px.d.ts +0 -0
  95. /package/dist/{assets → types/assets}/ic-refresh-right-outlined-20px.d.ts +0 -0
  96. /package/dist/{assets → types/assets}/ic-show-large-outlined-20px.d.ts +0 -0
  97. /package/dist/{assets → types/assets}/ic-show-small-outlined-20px.d.ts +0 -0
  98. /package/dist/{assets → types/assets}/index.d.ts +0 -0
  99. /package/dist/{components → types/components}/Alert/Alert.d.ts +0 -0
  100. /package/dist/{components → types/components}/Alert/Alert.styled.d.ts +0 -0
  101. /package/dist/{components → types/components}/Alert/Alert.types.d.ts +0 -0
  102. /package/dist/{components → types/components}/Alert/Alert.utils.d.ts +0 -0
  103. /package/dist/{components → types/components}/Alert/index.d.ts +0 -0
  104. /package/dist/{components → types/components}/BaseTextField/BaseTextField.styled.d.ts +0 -0
  105. /package/dist/{components → types/components}/BaseTextField/BaseTextField.types.d.ts +0 -0
  106. /package/dist/{components → types/components}/BaseTextField/BaseTextField.utils.d.ts +0 -0
  107. /package/dist/{components → types/components}/Button/BaseButton.d.ts +0 -0
  108. /package/dist/{components → types/components}/Button/Button.d.ts +0 -0
  109. /package/dist/{components → types/components}/Button/Button.types.d.ts +0 -0
  110. /package/dist/{components → types/components}/Button/Button.utils.d.ts +0 -0
  111. /package/dist/{components → types/components}/Button/index.d.ts +0 -0
  112. /package/dist/{components → types/components}/Button/styleds/BaseButton.styled.d.ts +0 -0
  113. /package/dist/{components → types/components}/Button/styleds/ContainedButton.styled.d.ts +0 -0
  114. /package/dist/{components → types/components}/Button/styleds/GhostButton.styled.d.ts +0 -0
  115. /package/dist/{components → types/components}/Button/styleds/IconButton.styled.d.ts +0 -0
  116. /package/dist/{components → types/components}/Button/styleds/OutlinedButton.styled.d.ts +0 -0
  117. /package/dist/{components → types/components}/Card/Card.d.ts +0 -0
  118. /package/dist/{components → types/components}/Card/Card.styled.d.ts +0 -0
  119. /package/dist/{components → types/components}/Card/Card.types.d.ts +0 -0
  120. /package/dist/{components → types/components}/Card/index.d.ts +0 -0
  121. /package/dist/{components → types/components}/Checkbox/Checkbox.d.ts +0 -0
  122. /package/dist/{components → types/components}/Checkbox/Checkbox.styled.d.ts +0 -0
  123. /package/dist/{components → types/components}/Checkbox/Checkbox.utils.d.ts +0 -0
  124. /package/dist/{components → types/components}/Checkbox/index.d.ts +0 -0
  125. /package/dist/{components → types/components}/Chip/Chip.d.ts +0 -0
  126. /package/dist/{components → types/components}/Chip/Chip.styled.d.ts +0 -0
  127. /package/dist/{components → types/components}/Chip/Chip.types.d.ts +0 -0
  128. /package/dist/{components → types/components}/Chip/Chip.utils.d.ts +0 -0
  129. /package/dist/{components → types/components}/Chip/index.d.ts +0 -0
  130. /package/dist/{components → types/components}/DataTable/DataTable.styled.d.ts +0 -0
  131. /package/dist/{components → types/components}/DatePicker/DatePicker.d.ts +0 -0
  132. /package/dist/{components → types/components}/DatePicker/DatePicker.styled.d.ts +0 -0
  133. /package/dist/{components → types/components}/DatePicker/index.d.ts +0 -0
  134. /package/dist/{components → types/components}/Dialog/Dialog.d.ts +0 -0
  135. /package/dist/{components → types/components}/Dialog/Dialog.styled.d.ts +0 -0
  136. /package/dist/{components → types/components}/Dialog/Dialog.types.d.ts +0 -0
  137. /package/dist/{components → types/components}/Dialog/index.d.ts +0 -0
  138. /package/dist/{components → types/components}/Divider/Divider.d.ts +0 -0
  139. /package/dist/{components → types/components}/Divider/Divider.styled.d.ts +0 -0
  140. /package/dist/{components → types/components}/Divider/Divider.types.d.ts +0 -0
  141. /package/dist/{components → types/components}/Divider/index.d.ts +0 -0
  142. /package/dist/{components → types/components}/Dropdown/Dropdown.d.ts +0 -0
  143. /package/dist/{components → types/components}/Dropdown/Dropdown.styled.d.ts +0 -0
  144. /package/dist/{components → types/components}/Dropdown/Dropdown.utils.d.ts +0 -0
  145. /package/dist/{components → types/components}/Dropdown/DropdownItem.d.ts +0 -0
  146. /package/dist/{components → types/components}/Dropdown/DropdownItem.styled.d.ts +0 -0
  147. /package/dist/{components → types/components}/Dropdown/DropdownItem.types.d.ts +0 -0
  148. /package/dist/{components → types/components}/Dropdown/DropdownItem.utils.d.ts +0 -0
  149. /package/dist/{components → types/components}/Dropdown/DropdownSubtitle.d.ts +0 -0
  150. /package/dist/{components → types/components}/Dropdown/DropdownSubtitle.styled.d.ts +0 -0
  151. /package/dist/{components → types/components}/Dropdown/DropdownSubtitle.types.d.ts +0 -0
  152. /package/dist/{components → types/components}/Dropdown/IconDropdown.d.ts +0 -0
  153. /package/dist/{components → types/components}/Dropdown/IconDropdown.styled.d.ts +0 -0
  154. /package/dist/{components → types/components}/Dropdown/index.d.ts +0 -0
  155. /package/dist/{components → types/components}/EllipsisTypography/EllipsisTypography.styled.d.ts +0 -0
  156. /package/dist/{components → types/components}/EllipsisTypography/EllipsisTypography.types.d.ts +0 -0
  157. /package/dist/{components → types/components}/EllipsisTypography/index.d.ts +0 -0
  158. /package/dist/{components → types/components}/FileDnDZone/FileDnDZone.d.ts +0 -0
  159. /package/dist/{components → types/components}/FileDnDZone/FileDnDZone.styled.d.ts +0 -0
  160. /package/dist/{components → types/components}/FileDnDZone/FileDnDZone.types.d.ts +0 -0
  161. /package/dist/{components → types/components}/FileDnDZone/FileDnDZone.utils.d.ts +0 -0
  162. /package/dist/{components → types/components}/FileDnDZone/index.d.ts +0 -0
  163. /package/dist/{components → types/components}/List/List.d.ts +0 -0
  164. /package/dist/{components → types/components}/List/List.styled.d.ts +0 -0
  165. /package/dist/{components → types/components}/List/List.types.d.ts +0 -0
  166. /package/dist/{components → types/components}/List/List.utils.d.ts +0 -0
  167. /package/dist/{components → types/components}/List/ListItem.d.ts +0 -0
  168. /package/dist/{components → types/components}/List/ListItem.styled.d.ts +0 -0
  169. /package/dist/{components → types/components}/List/ListItem.types.d.ts +0 -0
  170. /package/dist/{components → types/components}/List/ListItemCaption.d.ts +0 -0
  171. /package/dist/{components → types/components}/List/ListItemCaption.styled.d.ts +0 -0
  172. /package/dist/{components → types/components}/List/ListItemCaption.types.d.ts +0 -0
  173. /package/dist/{components → types/components}/List/index.d.ts +0 -0
  174. /package/dist/{components → types/components}/LoadingIndicator/LoadingIndicator.d.ts +0 -0
  175. /package/dist/{components → types/components}/LoadingIndicator/LoadingIndicator.styled.d.ts +0 -0
  176. /package/dist/{components → types/components}/LoadingIndicator/LoadingIndicator.types.d.ts +0 -0
  177. /package/dist/{components → types/components}/LoadingIndicator/index.d.ts +0 -0
  178. /package/dist/{components → types/components}/Menu/Menu.d.ts +0 -0
  179. /package/dist/{components → types/components}/Menu/Menu.styled.d.ts +0 -0
  180. /package/dist/{components → types/components}/Menu/MenuItem.d.ts +0 -0
  181. /package/dist/{components → types/components}/Menu/MenuItem.styled.d.ts +0 -0
  182. /package/dist/{components → types/components}/Menu/MenuItem.types.d.ts +0 -0
  183. /package/dist/{components → types/components}/Menu/index.d.ts +0 -0
  184. /package/dist/{components → types/components}/MuiCssBaseline.d.ts +0 -0
  185. /package/dist/{components → types/components}/MuiInputBase.d.ts +0 -0
  186. /package/dist/{components → types/components}/MuiOutlinedInput.d.ts +0 -0
  187. /package/dist/{components → types/components}/MuiTextField.d.ts +0 -0
  188. /package/dist/{components → types/components}/NoMatchContainer/NoMatchContainer.d.ts +0 -0
  189. /package/dist/{components → types/components}/NoMatchContainer/index.d.ts +0 -0
  190. /package/dist/{components → types/components}/Pagination/Pagination.d.ts +0 -0
  191. /package/dist/{components → types/components}/Pagination/Pagination.styled.d.ts +0 -0
  192. /package/dist/{components → types/components}/Pagination/Pagination.types.d.ts +0 -0
  193. /package/dist/{components → types/components}/Pagination/index.d.ts +0 -0
  194. /package/dist/{components → types/components}/ProductLabel/ProductLabel.d.ts +0 -0
  195. /package/dist/{components → types/components}/ProductLabel/ProductLabel.styled.d.ts +0 -0
  196. /package/dist/{components → types/components}/ProductLabel/ProductLabel.types.d.ts +0 -0
  197. /package/dist/{components → types/components}/ProductLabel/index.d.ts +0 -0
  198. /package/dist/{components → types/components}/Progress/CircularProgress.d.ts +0 -0
  199. /package/dist/{components → types/components}/Progress/CircularProgress.styled.d.ts +0 -0
  200. /package/dist/{components → types/components}/Progress/CircularProgress.types.d.ts +0 -0
  201. /package/dist/{components → types/components}/Progress/LinearProgress.d.ts +0 -0
  202. /package/dist/{components → types/components}/Progress/LinearProgress.styled.d.ts +0 -0
  203. /package/dist/{components → types/components}/Progress/LinearProgress.types.d.ts +0 -0
  204. /package/dist/{components → types/components}/Progress/index.d.ts +0 -0
  205. /package/dist/{components → types/components}/Radio/Radio.d.ts +0 -0
  206. /package/dist/{components → types/components}/Radio/Radio.styled.d.ts +0 -0
  207. /package/dist/{components → types/components}/Radio/RadioGroup.d.ts +0 -0
  208. /package/dist/{components → types/components}/Radio/RadioGroup.styled.d.ts +0 -0
  209. /package/dist/{components → types/components}/Radio/RadioGroup.types.d.ts +0 -0
  210. /package/dist/{components → types/components}/Radio/index.d.ts +0 -0
  211. /package/dist/{components → types/components}/ResizeObserver/ResizeObserverContext.d.ts +0 -0
  212. /package/dist/{components → types/components}/ResizeObserver/index.d.ts +0 -0
  213. /package/dist/{components → types/components}/Stepper/Stepper.d.ts +0 -0
  214. /package/dist/{components → types/components}/Stepper/Stepper.styled.d.ts +0 -0
  215. /package/dist/{components → types/components}/Stepper/Stepper.types.d.ts +0 -0
  216. /package/dist/{components → types/components}/Stepper/index.d.ts +0 -0
  217. /package/dist/{components → types/components}/TabbedPanel/TabbedPanel.d.ts +0 -0
  218. /package/dist/{components → types/components}/TabbedPanel/TabbedPanel.styled.d.ts +0 -0
  219. /package/dist/{components → types/components}/TabbedPanel/TabbedPanel.types.d.ts +0 -0
  220. /package/dist/{components → types/components}/TabbedPanel/TabbedPanel.utils.d.ts +0 -0
  221. /package/dist/{components → types/components}/TabbedPanel/index.d.ts +0 -0
  222. /package/dist/{components → types/components}/TextField/TextArea.d.ts +0 -0
  223. /package/dist/{components → types/components}/TextField/TextArea.styled.d.ts +0 -0
  224. /package/dist/{components → types/components}/TextField/TextArea.types.d.ts +0 -0
  225. /package/dist/{components → types/components}/TextField/TextInput.d.ts +0 -0
  226. /package/dist/{components → types/components}/TextField/TextInput.styled.d.ts +0 -0
  227. /package/dist/{components → types/components}/TextField/TextInput.types.d.ts +0 -0
  228. /package/dist/{components → types/components}/TextField/TextInput.utils.d.ts +0 -0
  229. /package/dist/{components → types/components}/TextField/components/Buttons.d.ts +0 -0
  230. /package/dist/{components → types/components}/TextField/components/FileInput.d.ts +0 -0
  231. /package/dist/{components → types/components}/TextField/components/NormalTextInput.d.ts +0 -0
  232. /package/dist/{components → types/components}/TextField/components/PasswordInput.d.ts +0 -0
  233. /package/dist/{components → types/components}/TextField/index.d.ts +0 -0
  234. /package/dist/{components → types/components}/Toggle/Toggle.d.ts +0 -0
  235. /package/dist/{components → types/components}/Toggle/Toggle.styled.d.ts +0 -0
  236. /package/dist/{components → types/components}/Toggle/index.d.ts +0 -0
  237. /package/dist/{components → types/components}/Tooltip/Tooltip.d.ts +0 -0
  238. /package/dist/{components → types/components}/Tooltip/Tooltip.styled.d.ts +0 -0
  239. /package/dist/{components → types/components}/Tooltip/Tooltip.types.d.ts +0 -0
  240. /package/dist/{components → types/components}/Tooltip/Tooltip.utils.d.ts +0 -0
  241. /package/dist/{components → types/components}/Tooltip/index.d.ts +0 -0
  242. /package/dist/{components → types/components}/UploadManager/UploadManager.d.ts +0 -0
  243. /package/dist/{components → types/components}/UploadManager/UploadManager.styled.d.ts +0 -0
  244. /package/dist/{components → types/components}/UploadManager/UploadManager.types.d.ts +0 -0
  245. /package/dist/{components → types/components}/UploadManager/index.d.ts +0 -0
  246. /package/dist/{foundations → types/foundations}/index.d.ts +0 -0
  247. /package/dist/{foundations → types/foundations}/palette.d.ts +0 -0
  248. /package/dist/{foundations → types/foundations}/spacing.d.ts +0 -0
  249. /package/dist/{foundations → types/foundations}/styles.d.ts +0 -0
  250. /package/dist/{icons → types/icons}/BellNoti/index.d.ts +0 -0
  251. /package/dist/{icons → types/icons}/CloseLarge/index.d.ts +0 -0
  252. /package/dist/{icons → types/icons}/CloseSmall/index.d.ts +0 -0
  253. /package/dist/{icons → types/icons}/CopyCoordinates/index.d.ts +0 -0
  254. /package/dist/{icons → types/icons}/CopyCoordinatesUrl/index.d.ts +0 -0
  255. /package/dist/{icons → types/icons}/DownloadPdf/index.d.ts +0 -0
  256. /package/dist/{icons → types/icons}/Ellipse/index.d.ts +0 -0
  257. /package/dist/{icons → types/icons}/EllipseExclude/index.d.ts +0 -0
  258. /package/dist/{icons → types/icons}/EllipseInclude/index.d.ts +0 -0
  259. /package/dist/{icons → types/icons}/FilterNoti/index.d.ts +0 -0
  260. /package/dist/{icons → types/icons}/HideLarge/index.d.ts +0 -0
  261. /package/dist/{icons → types/icons}/HideSmall/index.d.ts +0 -0
  262. /package/dist/{icons → types/icons}/InformationLarge/index.d.ts +0 -0
  263. /package/dist/{icons → types/icons}/InformationSmall/index.d.ts +0 -0
  264. /package/dist/{icons → types/icons}/Manufacturer/index.d.ts +0 -0
  265. /package/dist/{icons → types/icons}/Rectangle/index.d.ts +0 -0
  266. /package/dist/{icons → types/icons}/RectangleExclude/index.d.ts +0 -0
  267. /package/dist/{icons → types/icons}/RectangleInclude/index.d.ts +0 -0
  268. /package/dist/{icons → types/icons}/RefreshLeft/index.d.ts +0 -0
  269. /package/dist/{icons → types/icons}/RefreshRight/index.d.ts +0 -0
  270. /package/dist/{icons → types/icons}/ShowLarge/index.d.ts +0 -0
  271. /package/dist/{icons → types/icons}/ShowSmall/index.d.ts +0 -0
  272. /package/dist/{icons → types/icons}/index.d.ts +0 -0
  273. /package/dist/{index.d.ts → types/index.d.ts} +0 -0
  274. /package/dist/{presentations → types/presentations}/Accordion/Accordion.d.ts +0 -0
  275. /package/dist/{presentations → types/presentations}/Accordion/Accordion.styled.d.ts +0 -0
  276. /package/dist/{presentations → types/presentations}/Accordion/Accordion.types.d.ts +0 -0
  277. /package/dist/{presentations → types/presentations}/Accordion/index.d.ts +0 -0
  278. /package/dist/{presentations → types/presentations}/AnalysisBar/AnalysisBar.d.ts +0 -0
  279. /package/dist/{presentations → types/presentations}/AnalysisBar/AnalysisBar.styled.d.ts +0 -0
  280. /package/dist/{presentations → types/presentations}/AnalysisBar/AnalysisBar.types.d.ts +0 -0
  281. /package/dist/{presentations → types/presentations}/AnalysisBar/AnalysisBar.utils.d.ts +0 -0
  282. /package/dist/{presentations → types/presentations}/AnalysisBar/HeatmapGraphIcon/HeatmapGraphSVG.d.ts +0 -0
  283. /package/dist/{presentations → types/presentations}/AnalysisBar/HeatmapGraphIcon/index.d.ts +0 -0
  284. /package/dist/{presentations → types/presentations}/AnalysisBar/index.d.ts +0 -0
  285. /package/dist/{presentations → types/presentations}/FreeText/FreeText.d.ts +0 -0
  286. /package/dist/{presentations → types/presentations}/FreeText/FreeText.types.d.ts +0 -0
  287. /package/dist/{presentations → types/presentations}/FreeText/index.d.ts +0 -0
  288. /package/dist/{presentations → types/presentations}/Histogram/Histogram.d.ts +0 -0
  289. /package/dist/{presentations → types/presentations}/Histogram/Histogram.styled.d.ts +0 -0
  290. /package/dist/{presentations → types/presentations}/Histogram/Histogram.types.d.ts +0 -0
  291. /package/dist/{presentations → types/presentations}/Histogram/Histogram.utils.d.ts +0 -0
  292. /package/dist/{presentations → types/presentations}/Histogram/HistogramCharts.d.ts +0 -0
  293. /package/dist/{presentations → types/presentations}/Histogram/HistogramTabs.d.ts +0 -0
  294. /package/dist/{presentations → types/presentations}/Histogram/index.d.ts +0 -0
  295. /package/dist/{presentations → types/presentations}/HorizonDivider/HorizonDivider.d.ts +0 -0
  296. /package/dist/{presentations → types/presentations}/HorizonDivider/HorizonDivider.types.d.ts +0 -0
  297. /package/dist/{presentations → types/presentations}/HorizonDivider/index.d.ts +0 -0
  298. /package/dist/{presentations → types/presentations}/ModelType/ModelType.d.ts +0 -0
  299. /package/dist/{presentations → types/presentations}/ModelType/ModelType.styled.d.ts +0 -0
  300. /package/dist/{presentations → types/presentations}/ModelType/ModelType.types.d.ts +0 -0
  301. /package/dist/{presentations → types/presentations}/ModelType/index.d.ts +0 -0
  302. /package/dist/{presentations → types/presentations}/Preview/ModelTypeControl.d.ts +0 -0
  303. /package/dist/{presentations → types/presentations}/Preview/Preview.d.ts +0 -0
  304. /package/dist/{presentations → types/presentations}/Preview/Preview.styled.d.ts +0 -0
  305. /package/dist/{presentations → types/presentations}/Preview/Preview.types.d.ts +0 -0
  306. /package/dist/{presentations → types/presentations}/Preview/ThresholdControl.d.ts +0 -0
  307. /package/dist/{presentations → types/presentations}/Preview/index.d.ts +0 -0
  308. /package/dist/{presentations → types/presentations}/Score/Score.d.ts +0 -0
  309. /package/dist/{presentations → types/presentations}/Score/Score.types.d.ts +0 -0
  310. /package/dist/{presentations → types/presentations}/Score/index.d.ts +0 -0
  311. /package/dist/{presentations → types/presentations}/Statistic/Statistic.d.ts +0 -0
  312. /package/dist/{presentations → types/presentations}/Statistic/Statistic.styled.d.ts +0 -0
  313. /package/dist/{presentations → types/presentations}/Statistic/Statistic.types.d.ts +0 -0
  314. /package/dist/{presentations → types/presentations}/Statistic/index.d.ts +0 -0
  315. /package/dist/{presentations → types/presentations}/Threshold/Threshold.d.ts +0 -0
  316. /package/dist/{presentations → types/presentations}/Threshold/Threshold.styled.d.ts +0 -0
  317. /package/dist/{presentations → types/presentations}/Threshold/Threshold.types.d.ts +0 -0
  318. /package/dist/{presentations → types/presentations}/Threshold/Threshold.utils.d.ts +0 -0
  319. /package/dist/{presentations → types/presentations}/Threshold/index.d.ts +0 -0
  320. /package/dist/{presentations → types/presentations}/ToggleControl/ToggleControl.d.ts +0 -0
  321. /package/dist/{presentations → types/presentations}/ToggleControl/ToggleControl.styled.d.ts +0 -0
  322. /package/dist/{presentations → types/presentations}/ToggleControl/ToggleControl.types.d.ts +0 -0
  323. /package/dist/{presentations → types/presentations}/ToggleControl/index.d.ts +0 -0
  324. /package/dist/{presentations → types/presentations}/ToggleControlGroup/ToggleControlGroup.d.ts +0 -0
  325. /package/dist/{presentations → types/presentations}/ToggleControlGroup/ToggleControlGroup.styled.d.ts +0 -0
  326. /package/dist/{presentations → types/presentations}/ToggleControlGroup/ToggleControlGroup.types.d.ts +0 -0
  327. /package/dist/{presentations → types/presentations}/ToggleControlGroup/index.d.ts +0 -0
  328. /package/dist/{presentations → types/presentations}/index.d.ts +0 -0
  329. /package/dist/{presentations → types/presentations}/presentations.styled.d.ts +0 -0
  330. /package/dist/{presentations → types/presentations}/presentations.types.d.ts +0 -0
  331. /package/dist/{systems → types/systems}/drawer.d.ts +0 -0
  332. /package/dist/{systems → types/systems}/index.d.ts +0 -0
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Autocomplete as MuiAutocomplete, TextField, useTheme } from '@mui/material';
3
+ import { Chip } from '../Chip';
4
+ import { Button } from '../Button';
5
+ import { CircularProgress } from '../Progress';
6
+ import { CloseSmall } from '../../icons';
7
+ import { autocompleteSx, paperSx } from './Autocomplete.styled';
8
+ const LOADING_SPINNER_SIZE = 20;
9
+ function Autocomplete({ placeholder = '', error, helperText, loading = false, noOptionsText, onDelete, onClearButtonClick, disabled, inputValue, sx, ...otherProps }) {
10
+ const theme = useTheme();
11
+ return (_jsx(MuiAutocomplete, { multiple: true, freeSolo: true, disableClearable: true, disabled: disabled, loading: loading, loadingText: noOptionsText, inputValue: inputValue, sx: [autocompleteSx(theme, disabled), ...(Array.isArray(sx) ? sx : [sx])], slotProps: {
12
+ listbox: { style: { maxHeight: '180px', overflow: 'auto' } },
13
+ paper: { sx: paperSx(theme) },
14
+ }, renderValue: (values) => values.map((option) => (_jsx(Chip, { disabled: disabled, label: option, onDelete: onDelete ? () => onDelete(option) : undefined }, option))), renderInput: (params) => (_jsx(TextField, { ...params, variant: "outlined", placeholder: placeholder, error: error, helperText: helperText, slotProps: {
15
+ ...params.slotProps,
16
+ input: {
17
+ ...params.slotProps?.input,
18
+ endAdornment: (_jsxs(_Fragment, { children: [loading ? (_jsx(CircularProgress, { size: LOADING_SPINNER_SIZE, sx: { color: theme.palette.neutralGrey[45] } })) : null, onClearButtonClick ? (_jsx(Button, { icon: _jsx(CloseSmall, { style: { color: theme.palette.neutralGrey[45] } }), size: "small", variant: "ghost", onClick: onClearButtonClick })) : null] })),
19
+ },
20
+ } })), ...otherProps }));
21
+ }
22
+ export default Autocomplete;
@@ -0,0 +1,36 @@
1
+ const MIN_INPUT_HEIGHT = '44px';
2
+ /** Tokenized styling for the underlying MUI Autocomplete. */
3
+ export const autocompleteSx = (theme, disabled) => ({
4
+ '.MuiAutocomplete-inputRoot': {
5
+ padding: `${theme.spacing(1.5, 3.5)} !important`,
6
+ gap: theme.spacing(1),
7
+ '& .MuiInputBase-input::placeholder': {
8
+ opacity: disabled ? 0.42 : 1,
9
+ },
10
+ '& .MuiAutocomplete-input': {
11
+ height: '100%',
12
+ },
13
+ },
14
+ '.MuiOutlinedInput-root': {
15
+ minHeight: MIN_INPUT_HEIGHT,
16
+ },
17
+ '.MuiInputBase-root.Mui-disabled': {
18
+ border: `1px solid ${theme.palette.neutralGrey[70]}`,
19
+ color: theme.palette.neutralGrey[45],
20
+ backgroundColor: theme.palette.neutralGrey[75],
21
+ pointerEvents: 'none',
22
+ opacity: 0.8,
23
+ },
24
+ '.MuiFormHelperText-root.Mui-error': {
25
+ ...theme.typography.body5,
26
+ color: theme.palette.error.main,
27
+ margin: 0,
28
+ paddingLeft: theme.spacing(1),
29
+ },
30
+ });
31
+ /** Tokenized styling for the listbox paper. */
32
+ export const paperSx = (theme) => ({
33
+ backgroundColor: theme.palette.neutralGrey[70],
34
+ borderRadius: theme.spacing(2),
35
+ backgroundImage: 'none',
36
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import Autocomplete from './Autocomplete';
2
+ export { Autocomplete };
@@ -5,6 +5,6 @@ import clsx from 'clsx';
5
5
  import { Container, StyledCheckbox } from './Checkbox.styled';
6
6
  import { UncheckedIcon, CheckedIcon, IndeterminateIcon } from './Checkbox.utils';
7
7
  const Checkbox = forwardRef(({ value, name, checked, defaultChecked, disabled, required, indeterminate, onChange, onChangeCapture, label, inputProps, inputRef, ...rootProps }, ref) => {
8
- return (_jsxs(Container, { ...rootProps, className: clsx('checkbox', rootProps.className), component: label != null ? 'label' : 'span', ref: ref, children: [_jsx(StyledCheckbox, { disableRipple: true, icon: _jsx(UncheckedIcon, {}), checkedIcon: _jsx(CheckedIcon, {}), indeterminateIcon: _jsx(IndeterminateIcon, {}), value: value, name: name, checked: indeterminate ? true : checked, defaultChecked: defaultChecked, disabled: disabled, required: required, indeterminate: indeterminate, onChange: onChange, onChangeCapture: onChangeCapture, inputProps: inputProps, inputRef: inputRef }), label && (_jsx(Typography, { variant: "body5", sx: { display: 'flex', alignItems: 'center' }, children: label }))] }));
8
+ return (_jsxs(Container, { ...rootProps, className: clsx('checkbox', rootProps.className), component: label != null ? 'label' : 'span', ref: ref, children: [_jsx(StyledCheckbox, { disableRipple: true, icon: _jsx(UncheckedIcon, {}), checkedIcon: _jsx(CheckedIcon, {}), indeterminateIcon: _jsx(IndeterminateIcon, {}), value: value, name: name, checked: indeterminate ? true : checked, defaultChecked: defaultChecked, disabled: disabled, required: required, indeterminate: indeterminate, onChange: onChange, onChangeCapture: onChangeCapture, slotProps: { input: { ...inputProps, ref: inputRef } } }), label && (_jsx(Typography, { variant: "body5", sx: { display: 'flex', alignItems: 'center' }, children: label }))] }));
9
9
  });
10
10
  export default Checkbox;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Collapse as MuiCollapse } from '@mui/material';
3
+ function Collapse({ children, ...otherProps }) {
4
+ return _jsx(MuiCollapse, { ...otherProps, children: children });
5
+ }
6
+ export default Collapse;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import Collapse from './Collapse';
2
+ export { Collapse };
@@ -1,11 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { DataGrid } from '@mui/x-data-grid';
2
+ import { DataGridPro } from '@mui/x-data-grid-pro';
3
3
  import DataGridContainer from './DataTable.styled';
4
4
  import { Checkbox } from '../Checkbox';
5
- function DataTable({ rows, columns, ...otherProps }) {
6
- return (_jsx(DataGridContainer, { children: _jsx(DataGrid, { rows: rows, columns: columns, columnHeaderHeight: 40, rowHeight: 40, showColumnVerticalBorder: true, showCellVerticalBorder: true, disableColumnMenu: true, hideFooter: true, slots: {
7
- noRowsOverlay: () => _jsx("div", {}),
5
+ const EmptyOverlay = () => _jsx("div", {});
6
+ function DataTable({ rows, columns, slots, ...otherProps }) {
7
+ return (_jsx(DataGridContainer, { children: _jsx(DataGridPro, { rows: rows, columns: columns, columnHeaderHeight: 40, rowHeight: 40, showColumnVerticalBorder: true, showCellVerticalBorder: true, disableColumnMenu: true, hideFooter: true, ...otherProps, slots: {
8
+ noRowsOverlay: EmptyOverlay,
8
9
  baseCheckbox: Checkbox,
9
- }, ...otherProps }) }));
10
+ ...slots,
11
+ } }) }));
10
12
  }
11
13
  export default DataTable;
@@ -6,15 +6,7 @@ const DataGridContainer = styled('div')(({ theme }) => ({
6
6
  border: 'none',
7
7
  overflowY: 'hidden',
8
8
  borderRadius: 0,
9
- '.MuiDataGrid-withBorderColor': {
10
- borderColor: theme.palette.neutralGrey[80],
11
- },
12
- '.MuiDataGrid-withBorder': {
13
- borderRight: `1px solid ${theme.palette.neutralGrey[80]}`,
14
- padding: theme.spacing(0, 2),
15
- height: '40px',
16
- '&:last-child': { borderRight: 'none' },
17
- },
9
+ '--DataGrid-rowBorderColor': theme.palette.neutralGrey[80],
18
10
  '.MuiDataGrid-row': {
19
11
  '&:last-child .MuiDataGrid-cell': {
20
12
  borderBottom: `1px solid ${theme.palette.neutralGrey[80]}`,
@@ -32,16 +24,23 @@ const DataGridContainer = styled('div')(({ theme }) => ({
32
24
  '&:hover .hover-shown, & .hover-shown.menu-active': { opacity: 1 },
33
25
  },
34
26
  '.MuiDataGrid-cell': {
35
- ...theme.typography.body5,
36
- borderBottom: `1px solid ${theme.palette.neutralGrey[80]}`,
27
+ fontWeight: theme.typography.body5.fontWeight,
28
+ fontSize: theme.typography.body5.fontSize,
37
29
  padding: theme.spacing(0, 2),
30
+ '&.MuiDataGrid-cell--withRightBorder:not(.MuiDataGrid-cellCheckbox)': {
31
+ borderRight: `1px solid ${theme.palette.neutralGrey[80]}`,
32
+ },
38
33
  '&:focus, &:focus-within, &:focus-visible': { outline: 'none' },
39
34
  },
40
- '.MuiDataGrid-columnSeparator': { position: 'relative' },
41
- '.MuiDataGrid-iconSeparator': { display: 'none' },
42
35
  '.MuiDataGrid-columnHeader': {
36
+ padding: theme.spacing(0, 2),
37
+ '&.MuiDataGrid-columnHeader--withRightBorder:not(.MuiDataGrid-columnHeaderCheckbox)': {
38
+ borderRight: `1px solid ${theme.palette.neutralGrey[80]}`,
39
+ },
43
40
  '&:focus': { outline: 'none' },
44
41
  },
42
+ '.MuiDataGrid-columnSeparator': { position: 'relative' },
43
+ '.MuiDataGrid-iconSeparator': { display: 'none' },
45
44
  '.MuiDataGrid-columnHeaderTitleContainer': {
46
45
  padding: 0,
47
46
  '&:focus': { outline: 'none' },
@@ -0,0 +1 @@
1
+ export {};
@@ -71,27 +71,23 @@ function DatePicker({ alignment, placeholder, onChange, value, ...props }) {
71
71
  textField: {
72
72
  variant: 'outlined',
73
73
  onClick: handleFieldClick,
74
- InputProps: {
75
- placeholder: placeholder || 'mm/dd/yyyy',
76
- sx: {
77
- borderRadius: '8px',
78
- // According to designer, the width of the date picker should be enforced at 320px
79
- // when the placement is bottom. that is why we have !important here.
80
- width: popperPlacement === 'bottom' ? '320px !important' : 'auto',
81
- borderColor: 'red',
82
- ...theme.typography.body5,
83
- '& input': {
74
+ slotProps: {
75
+ input: {
76
+ sx: {
77
+ borderRadius: '8px',
78
+ // According to designer, the width of the date picker should be enforced at 320px
79
+ // when the placement is bottom. that is why we have !important here.
80
+ width: popperPlacement === 'bottom' ? '320px !important' : 'auto',
81
+ borderColor: 'red',
82
+ ...theme.typography.body5,
84
83
  textTransform: 'lowercase',
85
84
  },
86
- '& ::placeholder': {
87
- textTransform: 'none',
88
- },
89
85
  },
90
- onMouseDown: (e) => {
91
- const element = e.target;
92
- if (element.tagName === 'INPUT') {
86
+ htmlInput: {
87
+ placeholder: placeholder || 'mm/dd/yyyy',
88
+ onMouseDown: (e) => {
93
89
  e.preventDefault();
94
- }
90
+ },
95
91
  },
96
92
  },
97
93
  },
@@ -1,15 +1,33 @@
1
1
  import { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';
2
2
  import { styled } from '@mui/material/styles';
3
+ // MUI X v8+ renders the picker field with the accessible DOM structure, so the
4
+ // field root is `.MuiPickersInputBase-root` (not `.MuiInputBase-root`) and the
5
+ // border lives on `.MuiPickersOutlinedInput-notchedOutline` (not a `fieldset`).
3
6
  const StyledDatePicker = styled(DesktopDatePicker)(({ theme }) => ({
4
- '.MuiInputBase-root': {
7
+ '.MuiPickersInputBase-root': {
5
8
  height: '36px',
6
9
  backgroundColor: theme.palette.neutralGrey[75],
7
- '&:hover fieldset': {
8
- borderColor: theme.palette.neutralGrey[45],
10
+ '&:hover .MuiPickersOutlinedInput-notchedOutline': {
11
+ borderColor: `${theme.palette.neutralGrey[45]} !important`,
9
12
  },
10
- '&.Mui-focused fieldset': {
11
- borderColor: theme.palette.lunitTeal[10],
12
- borderWidth: '1px',
13
+ // The library focus rule (`&.Mui-focused:not(.Mui-error) .notchedOutline`)
14
+ // has higher specificity and forces `primary.main` at 2px, so we need
15
+ // `!important` to keep the original teal 1px focus border.
16
+ '&.Mui-focused .MuiPickersOutlinedInput-notchedOutline': {
17
+ borderColor: `${theme.palette.lunitTeal[10]} !important`,
18
+ borderWidth: '1px !important',
19
+ },
20
+ // When the field is empty the hidden input shows its placeholder, so
21
+ // `:placeholder-shown` matches. In that state, stop clicking from
22
+ // selecting/highlighting the placeholder sections — restoring the original
23
+ // single-input behavior where the placeholder was never selectable.
24
+ '&:has(.MuiPickersInputBase-input:placeholder-shown)': {
25
+ '& .MuiPickersInputBase-sectionsContainer': {
26
+ userSelect: 'none',
27
+ },
28
+ '& .MuiPickersInputBase-sectionContent::selection': {
29
+ backgroundColor: 'transparent',
30
+ },
13
31
  },
14
32
  },
15
33
  }));
@@ -11,8 +11,10 @@ function Dialog({ open, title, icon, closable, isPrompt, cancelText, submitText,
11
11
  }
12
12
  };
13
13
  const displayChildren = !text && !!children;
14
- return (_jsxs(StyledDialog, { open: open, onClose: handleClose, displayChildren: displayChildren, isPrompt: isPrompt, sx: sx, className: "customDialog", PaperProps: {
15
- className: 'dialogPaper',
14
+ return (_jsxs(StyledDialog, { open: open, onClose: handleClose, displayChildren: displayChildren, isPrompt: isPrompt, sx: sx, className: "customDialog", slotProps: {
15
+ paper: {
16
+ className: 'dialogPaper',
17
+ },
16
18
  }, children: [_jsxs(StyledHeaderBox, { isPrompt: isPrompt, displayChildren: displayChildren, className: "dialogTitle", children: [_jsx(Box, { children: _jsxs(StyledDialogTitle, { children: [icon && _jsx("div", { className: "dialogIcon", children: icon }), title] }) }), closable && (_jsx(Button, { size: "small", variant: "ghost", label: "", disabled: loading, onClick: (event) => handleClose(event, 'cancel'), icon: _jsx(CloseSmall, { sx: { color: theme.palette.neutralGrey[0] } }) }))] }), !displayChildren && _jsx(StyledDialogContent, { children: text }), displayChildren && (_jsx(StyledDialogContent, { className: "childrenDialog", children: children })), dialogAction && _jsx(StyledDialogActions, { children: dialogAction }), !dialogAction && (cancelText || submitText) && (_jsxs(StyledDialogActions, { children: [cancelText && (_jsx(Button, { label: cancelText, size: buttonSize, disabled: loading, variant: "ghost", onClick: () => handleClose(null, 'cancel') })), submitText && (_jsx(Button, { disabled: disableSubmit || loading, loading: loading, label: submitText, size: buttonSize, sx: loading ? { width: '75px' } : null, onClick: () => handleClose(null, 'submit') }))] }))] }));
17
19
  }
18
20
  export default Dialog;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import BaseDrawer from './Drawer.styled';
3
+ function Drawer({ children, open = true, wide, variant = 'permanent', ...otherProps }) {
4
+ return (_jsx(BaseDrawer, { variant: variant, open: open, wide: wide, ...otherProps, children: children }));
5
+ }
6
+ export default Drawer;
@@ -0,0 +1,29 @@
1
+ import { Drawer as MuiDrawer, paperClasses } from '@mui/material';
2
+ import { styled } from '@mui/material/styles';
3
+ const DEFAULT_CLOSED_WIDTH = '52px';
4
+ const DEFAULT_OPEN_WIDTH = '240px';
5
+ const DEFAULT_WIDE_WIDTH = '280px';
6
+ const WIDTH_TRANSITION = 'width 0.2s';
7
+ const FORWARDED_EXCLUDES = ['wide', 'closedWidth', 'openWidth', 'wideWidth'];
8
+ const BaseDrawer = styled(MuiDrawer, {
9
+ shouldForwardProp: (prop) => !FORWARDED_EXCLUDES.includes(prop.toString()),
10
+ })(({ theme, open, wide, closedWidth, openWidth, wideWidth }) => {
11
+ const resolvedClosed = closedWidth ?? DEFAULT_CLOSED_WIDTH;
12
+ const resolvedOpen = openWidth ?? DEFAULT_OPEN_WIDTH;
13
+ const resolvedWide = wideWidth ?? DEFAULT_WIDE_WIDTH;
14
+ const width = !open ? resolvedClosed : wide ? resolvedWide : resolvedOpen;
15
+ return {
16
+ width,
17
+ background: theme.palette.neutralGrey[90],
18
+ boxSizing: 'border-box',
19
+ transition: WIDTH_TRANSITION,
20
+ [`& .${paperClasses.root}`]: {
21
+ width,
22
+ background: theme.palette.neutralGrey[90],
23
+ boxSizing: 'border-box',
24
+ transition: WIDTH_TRANSITION,
25
+ overflowY: 'hidden',
26
+ },
27
+ };
28
+ });
29
+ export default BaseDrawer;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import Drawer from './Drawer';
2
+ export { Drawer };
@@ -40,7 +40,6 @@ const Dropdown = (({ children, placeholder, value, error, helperMsg, onChange, s
40
40
  : isOpen,
41
41
  // MUI expects a value of '' if undefined :S
42
42
  value: value ?? '', MenuProps: MenuProps ?? {
43
- disablePortal: true,
44
43
  sx: {
45
44
  '.MuiPaper-root': {
46
45
  marginTop: '4px',
@@ -1,33 +1,69 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useContext, useEffect, useRef, useState } from 'react';
2
+ import { forwardRef, useCallback, useContext, useEffect, useRef, useState } from 'react';
3
3
  import StyledTypography from './EllipsisTypography.styled';
4
4
  import { Tooltip } from '../Tooltip';
5
5
  import { ResizeObserverContext } from '../ResizeObserver/ResizeObserverContext';
6
- function EllipsisTypography({ children, heightThreshold: heightThresholdProp, tooltipPlacement = 'bottom', maxLines = 1, ...otherProps }) {
7
- const typographyRef = useRef(null);
6
+ const MAX_RETRY_COUNT = 10;
7
+ const RETRY_DELAY_MS = 50;
8
+ const DEFAULT_HEIGHT_THRESHOLD = 1;
9
+ const EllipsisTypography = forwardRef(({ children, heightThreshold: heightThresholdProp, tooltipPlacement = 'bottom', maxLines = 1, ...otherProps }, forwardedRef) => {
10
+ const internalRef = useRef(null);
11
+ const retryCountRef = useRef(0);
12
+ const timeoutRef = useRef(null);
8
13
  const direction = otherProps.direction || 'row';
9
- const heightThreshold = heightThresholdProp != null ? heightThresholdProp : 1;
14
+ const heightThreshold = heightThresholdProp ?? DEFAULT_HEIGHT_THRESHOLD;
10
15
  const [showTooltip, setShowTooltip] = useState(false);
11
16
  const { addResizeHandler, removeResizeHandler } = useContext(ResizeObserverContext);
17
+ const heightThresholdRef = useRef(heightThreshold);
18
+ heightThresholdRef.current = heightThreshold;
19
+ const checkOverflow = useCallback((target) => {
20
+ if (!target)
21
+ return;
22
+ const { scrollHeight, clientHeight, scrollWidth, clientWidth } = target;
23
+ // The element may not be laid out yet (all metrics 0); retry until it is.
24
+ if (scrollHeight === 0 && clientHeight === 0 && scrollWidth === 0 && clientWidth === 0) {
25
+ if (retryCountRef.current < MAX_RETRY_COUNT) {
26
+ retryCountRef.current += 1;
27
+ timeoutRef.current = setTimeout(() => checkOverflow(target), RETRY_DELAY_MS);
28
+ }
29
+ return;
30
+ }
31
+ retryCountRef.current = 0;
32
+ const threshold = heightThresholdRef.current;
33
+ // Single-line ellipsis truncates horizontally (scrollHeight === clientHeight), so width must
34
+ // also be compared. Multi-line clamp still overflows vertically.
35
+ const isOverflowing = scrollWidth > clientWidth + threshold || scrollHeight > clientHeight + threshold;
36
+ setShowTooltip(isOverflowing);
37
+ }, []);
38
+ const setRefs = useCallback((node) => {
39
+ internalRef.current = node;
40
+ if (typeof forwardedRef === 'function') {
41
+ forwardedRef(node);
42
+ }
43
+ else if (forwardedRef) {
44
+ forwardedRef.current = node;
45
+ }
46
+ }, [forwardedRef]);
12
47
  useEffect(() => {
13
- if (!typographyRef.current)
48
+ const target = internalRef.current;
49
+ if (!target)
14
50
  return;
15
- const target = typographyRef.current;
16
- const checkOverflow = () => {
17
- const isOverflowing = target.scrollHeight - target.clientHeight > heightThreshold;
18
- setShowTooltip(isOverflowing);
19
- };
51
+ const run = () => checkOverflow(target);
20
52
  if (addResizeHandler) {
21
- addResizeHandler(target, checkOverflow);
53
+ addResizeHandler(target, run);
22
54
  }
23
- checkOverflow();
55
+ run();
24
56
  return () => {
57
+ if (timeoutRef.current) {
58
+ clearTimeout(timeoutRef.current);
59
+ }
25
60
  if (removeResizeHandler) {
26
61
  removeResizeHandler(target);
27
62
  }
28
63
  };
29
- }, [heightThreshold, addResizeHandler, removeResizeHandler]);
30
- const TypographyComponent = (_jsx(StyledTypography, { ...otherProps, ref: typographyRef, direction: direction, maxLines: maxLines, children: children }));
64
+ }, [children, maxLines, checkOverflow, addResizeHandler, removeResizeHandler]);
65
+ const TypographyComponent = (_jsx(StyledTypography, { ...otherProps, ref: setRefs, direction: direction, maxLines: maxLines, children: children }));
31
66
  return showTooltip ? (_jsx(Tooltip, { title: children, placement: tooltipPlacement, size: "small", children: TypographyComponent })) : (TypographyComponent);
32
- }
67
+ });
68
+ EllipsisTypography.displayName = 'EllipsisTypography';
33
69
  export default EllipsisTypography;
@@ -5,8 +5,11 @@ export const MenuContext = createContext({
5
5
  size: 'small',
6
6
  showCheck: false,
7
7
  });
8
- const Menu = forwardRef(({ subheader, size = 'small', showCheck = false, children, ...props }, ref) => {
8
+ const Menu = forwardRef(({ subheader, size = 'small', showCheck = false, children, PaperProps: paperProps, slotProps, ...props }, ref) => {
9
9
  const contextValue = useMemo(() => ({ size, showCheck }), [size, showCheck]);
10
- return (_jsx(MenuContext.Provider, { value: contextValue, children: _jsxs(StyledMenu, { size: size, ref: ref, ...props, children: [subheader && _jsx(StyledListSubheader, { children: subheader }), children] }) }));
10
+ const mergedSlotProps = paperProps
11
+ ? { ...slotProps, paper: { ...paperProps, ...slotProps?.paper } }
12
+ : slotProps;
13
+ return (_jsx(MenuContext.Provider, { value: contextValue, children: _jsxs(StyledMenu, { size: size, ref: ref, slotProps: mergedSlotProps, ...props, children: [subheader && _jsx(StyledListSubheader, { children: subheader }), children] }) }));
11
14
  });
12
15
  export default Menu;
@@ -7,12 +7,12 @@ const styleOverrides = {
7
7
  input: {
8
8
  height: '36px',
9
9
  },
10
- inputAdornedStart: {
10
+ adornedStart: {
11
11
  'html &': {
12
12
  paddingLeft: 0,
13
13
  },
14
14
  },
15
- inputAdornedEnd: {
15
+ adornedEnd: {
16
16
  'html &': {
17
17
  paddingRight: 0,
18
18
  },
@@ -11,9 +11,12 @@ const NoMatchContainer = () => {
11
11
  display: 'flex',
12
12
  flexDirection: 'column',
13
13
  alignItems: 'center',
14
- }, children: [_jsx(Typography, { variant: "h7", color: "neutralGrey.25", sx: {
14
+ }, children: [_jsx(Typography, { variant: "h7", sx: {
15
+ color: "neutralGrey.25",
15
16
  mt: '100px',
16
- mb: '16px',
17
- }, children: "Nothing matches your search" }), _jsx(Typography, { variant: "h9", color: "neutralGrey.25", children: "Please try again!" })] }) }));
17
+ mb: '16px'
18
+ }, children: "Nothing matches your search" }), _jsx(Typography, { variant: "h9", sx: {
19
+ color: "neutralGrey.25"
20
+ }, children: "Please try again!" })] }) }));
18
21
  };
19
22
  export default NoMatchContainer;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import StyledPopover from './Popover.styled';
3
+ function Popover({ children, ...otherProps }) {
4
+ return _jsx(StyledPopover, { ...otherProps, children: children });
5
+ }
6
+ export default Popover;
@@ -0,0 +1,10 @@
1
+ import { Popover as MuiPopover } from '@mui/material';
2
+ import { styled } from '@mui/material/styles';
3
+ const StyledPopover = styled(MuiPopover)(({ theme }) => ({
4
+ '& .MuiPopover-paper': {
5
+ backgroundColor: theme.palette.neutralGrey[70],
6
+ borderRadius: theme.spacing(2),
7
+ backgroundImage: 'none',
8
+ },
9
+ }));
10
+ export default StyledPopover;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import Popover from './Popover';
2
+ export { Popover };
@@ -5,7 +5,7 @@ const BaseLinearProgress = styled(MuiLinearProgress, {
5
5
  width: '100%',
6
6
  height,
7
7
  backgroundColor: 'transparent',
8
- [`& .${linearProgressClasses.barColorPrimary}`]: {
8
+ [`& .${linearProgressClasses.bar}`]: {
9
9
  backgroundColor: barColor || theme.palette.lunitTeal[40],
10
10
  },
11
11
  }));
@@ -4,6 +4,6 @@ import clsx from 'clsx';
4
4
  import { forwardRef } from 'react';
5
5
  import { Container, StyledRadio, UncheckedIcon, CheckedIcon } from './Radio.styled';
6
6
  const Radio = forwardRef(({ value, name, checked, defaultChecked, disabled, required, onChange, onChangeCapture, inputProps, inputRef, label, ...rootProps }, ref) => {
7
- return (_jsxs(Container, { ...rootProps, className: clsx('radio', rootProps.className), component: label != null ? 'label' : 'span', ref: ref, children: [_jsx(StyledRadio, { disableRipple: true, icon: _jsx(UncheckedIcon, {}), checkedIcon: _jsx(CheckedIcon, {}), value: value, name: name, checked: checked, defaultChecked: defaultChecked, disabled: disabled, required: required, onChange: onChange, onChangeCapture: onChangeCapture, inputProps: inputProps, inputRef: inputRef }), label && (_jsx(Typography, { variant: "body_m1", sx: { display: 'flex', alignItems: 'center' }, children: label }))] }));
7
+ return (_jsxs(Container, { ...rootProps, className: clsx('radio', rootProps.className), component: label != null ? 'label' : 'span', ref: ref, children: [_jsx(StyledRadio, { disableRipple: true, icon: _jsx(UncheckedIcon, {}), checkedIcon: _jsx(CheckedIcon, {}), value: value, name: name, checked: checked, defaultChecked: defaultChecked, disabled: disabled, required: required, onChange: onChange, onChangeCapture: onChangeCapture, slotProps: { input: { ...inputProps, ref: inputRef } } }), label && (_jsx(Typography, { variant: "body_m1", sx: { display: 'flex', alignItems: 'center' }, children: label }))] }));
8
8
  });
9
9
  export default Radio;
@@ -12,6 +12,6 @@ const TabbedPanel = ({ tabs, size = 'medium', buttonVariant = 'normal', activate
12
12
  // If prop is not explicitly set, use standard when there is only one tab
13
13
  // This means by default, it will left-align when there is only one tab.
14
14
  const menuVariantSetting = menuVariant || tabs.length < 2 ? 'standard' : 'fullWidth';
15
- return (_jsx(Box, { children: _jsxs(TabContext, { value: activatedTab, children: [_jsx(BaseTabMenu, { size: size, value: activatedTab, onChange: handleChange, variant: menuVariantSetting, buttonVariant: buttonVariant, TabIndicatorProps: { sx: { display: 'none' } }, ...TabsProps, children: tabs.map((t) => (_jsx(BaseTab, { buttonVariant: buttonVariant, size: size, disabled: t.disabled, disableTouchRipple: true, disableRipple: true, label: _jsx(Typography, { variant: "body_sb1", children: t.value }), value: t.value, ...TabProps }, t.value))) }), tabs.map((t) => (_jsx(BaseTabPanel, { value: t.value, ...TabPanelProps, children: t.element }, t.value)))] }) }));
15
+ return (_jsx(Box, { children: _jsxs(TabContext, { value: activatedTab, children: [_jsx(BaseTabMenu, { size: size, value: activatedTab, onChange: handleChange, variant: menuVariantSetting, buttonVariant: buttonVariant, slotProps: { indicator: { sx: { display: 'none' } } }, ...TabsProps, children: tabs.map((t) => (_jsx(BaseTab, { buttonVariant: buttonVariant, size: size, disabled: t.disabled, disableTouchRipple: true, disableRipple: true, label: _jsx(Typography, { variant: "body_sb1", children: t.value }), value: t.value, ...TabProps }, t.value))) }), tabs.map((t) => (_jsx(BaseTabPanel, { value: t.value, ...TabPanelProps, children: t.element }, t.value)))] }) }));
16
16
  };
17
17
  export default TabbedPanel;
@@ -1,4 +1,4 @@
1
- import TabPanel from '@mui/lab/TabPanel/TabPanel';
1
+ import TabPanel from '@mui/lab/TabPanel';
2
2
  import { Tab, Tabs, styled } from '@mui/material';
3
3
  const tabSizeStyle = (size) => {
4
4
  return {
@@ -7,10 +7,13 @@ const Toggle = ({ value, name, checked, defaultChecked, disabled, required, onCh
7
7
  return (_jsxs(Container, { ...rootProps, className: clsx('toggle', { 'is-disabled': disabled }, rootProps.className), component: label != null ? 'label' : 'span', children: [_jsx(ToggleComponent, { disableRipple: true, value: true, name: name,
8
8
  // indeterminate가 true인 Toggle을 클릭했을 때
9
9
  // 발생하는 change event target의 checked property의 일관성을 보장함
10
- checked: indeterminate ? true : checked, defaultChecked: defaultChecked, disabled: disabled, required: required, onChange: onChange, onChangeCapture: onChangeCapture, inputProps: inputProps, inputRef: inputRef, focusRipple: false, toggleColor: toggleColor }), label && (_jsx(Typography, { variant: "body_m1", sx: {
11
- display: 'flex',
12
- alignItems: 'center',
13
- order: labelPlacement === 'left' ? -1 : 1,
14
- }, children: label }))] }));
10
+ checked: indeterminate ? true : checked, defaultChecked: defaultChecked, disabled: disabled, required: required, onChange: onChange, onChangeCapture: onChangeCapture, slotProps: { input: { ...inputProps, ref: inputRef } }, focusRipple: false, toggleColor: toggleColor }), label && (_jsx(Typography, { variant: "body_m1", sx: [{
11
+ display: 'flex',
12
+ alignItems: 'center'
13
+ }, labelPlacement === 'left' ? {
14
+ order: -1
15
+ } : {
16
+ order: 1
17
+ }], children: label }))] }));
15
18
  };
16
19
  export default Toggle;
@@ -3,8 +3,8 @@ import { Box, Typography } from '@mui/material';
3
3
  import { forwardRef } from 'react';
4
4
  import BaseTooltip from './Tooltip.styled';
5
5
  const Tooltip = forwardRef(({ icon, title, children, size = 'small', placement = 'bottom', noPadding = false, ...otherProps }, ref) => {
6
- return (_jsx(BaseTooltip, { ref: ref, arrow: true, size: size, PopperProps: {
7
- popperOptions: {
6
+ return (_jsx(BaseTooltip, { ref: ref, arrow: true, size: size, slotProps: {
7
+ popper: {
8
8
  modifiers: [
9
9
  {
10
10
  name: 'offset',
@@ -36,7 +36,7 @@ const UploadFile = ({ file, onCancel, onRetry }) => {
36
36
  marginRight: '16px',
37
37
  overflow: 'hidden',
38
38
  textOverflow: 'ellipsis',
39
- }, children: file.name }), progress < 100 && (_jsx(Tooltip, { title: "Cancel", children: _jsx(Box, { children: _jsx(Button, { onClick: () => onCancel && onCancel(file.id), variant: "ghost", color: "secondary", icon: _jsx(Close, { style: { color: theme.palette.neutralGrey[40] } }) }) }) })), progress === 100 && file.meta.postProcessComplete && (_jsx(Tooltip, { title: "Done", children: _jsx(Box, { children: _jsx(Button, { variant: "ghost", icon: _jsx(Success, {}) }) }) }))] })), file.meta.errorMessage && (_jsxs(_Fragment, { children: [_jsx(Typography, { variant: "body5", sx: {
39
+ }, children: file.name }), progress < 100 && (_jsx(Tooltip, { title: "Cancel", children: _jsx(Box, { children: _jsx(Button, { onClick: () => onCancel && onCancel(file.id), variant: "ghost", color: "secondary", icon: _jsx(Close, { style: { color: theme.palette.neutralGrey[40] } }) }) }) })), progress === 100 && !!file.meta.postProcessComplete && (_jsx(Tooltip, { title: "Done", children: _jsx(Box, { children: _jsx(Button, { variant: "ghost", icon: _jsx(Success, {}) }) }) }))] })), !!file.meta.errorMessage && (_jsxs(_Fragment, { children: [_jsx(Typography, { variant: "body5", sx: {
40
40
  width: '79px',
41
41
  marginRight: '16px',
42
42
  whiteSpace: 'nowrap',
@@ -59,7 +59,7 @@ const UploadFile = ({ file, onCancel, onRetry }) => {
59
59
  }
60
60
  }, icon: mouseOnErrorIconButton ? (_jsx(RefreshLeft, { style: { color: theme.palette.neutralGrey[0] } })) : (_jsx(Warning16, { style: { color: theme.palette.red[5] } })), variant: "ghost", color: "secondary", sx: {
61
61
  cursor: file.meta.retry ? 'pointer' : 'default',
62
- } }) }) })] })), !file.meta.errorMessage && file.meta.postProcessConverting && (_jsxs(Typography, { variant: "body5", sx: {
62
+ } }) }) })] })), !file.meta.errorMessage && !!file.meta.postProcessConverting && (_jsxs(Typography, { variant: "body5", sx: {
63
63
  flexGrow: 3,
64
64
  flexShrink: 0,
65
65
  flexBasis: 'auto',
@@ -83,8 +83,10 @@ const UploadManager = ({ title, subTitle, files, onClose, onCancel, onRetry, })
83
83
  bottom: '20px',
84
84
  right: '20px',
85
85
  zIndex: 10,
86
- }, children: _jsxs(StyledPaper, { elevation: 1, children: [_jsxs(StyledToolbar, { children: [_jsx(Typography, { variant: "h9", children: title }), _jsx(Typography, { variant: "body1", sx: { marginLeft: '8px' }, children: subTitle }), _jsxs(StyledToolbarButtonContainer, { children: [_jsx(Tooltip, { title: expanded ? 'Minimize' : 'Maximize', children: _jsx(Box, { children: _jsx(Button, { onClick: handleExpandClick, variant: "ghost", color: "secondary", icon: _jsx(ArrowUp, { style: { color: theme.palette.neutralGrey[40] } }), size: "small", sx: {
87
- transform: expanded ? 'rotate(0deg)' : 'rotate(180deg)',
88
- } }) }) }), _jsx(Tooltip, { title: "Close", children: _jsx(Box, { children: _jsx(Button, { onClick: onClose, variant: "ghost", color: "secondary", icon: _jsx(Close, { style: { color: theme.palette.neutralGrey[40] } }), size: "small" }) }) })] })] }), expanded && _jsx(Divider, { orientation: "horizontal" }), _jsx(StyledCollapse, { in: expanded, timeout: "auto", unmountOnExit: true, children: files.map((download, index) => (_jsxs(Fragment, { children: [_jsx(UploadFile, { file: download, onCancel: onCancel, onRetry: onRetry }), index !== files.length - 1 && _jsx(Divider, { orientation: "horizontal" })] }, download.id))) })] }) }));
86
+ }, children: _jsxs(StyledPaper, { elevation: 1, children: [_jsxs(StyledToolbar, { children: [_jsx(Typography, { variant: "h9", children: title }), _jsx(Typography, { variant: "body1", sx: { marginLeft: '8px' }, children: subTitle }), _jsxs(StyledToolbarButtonContainer, { children: [_jsx(Tooltip, { title: expanded ? 'Minimize' : 'Maximize', children: _jsx(Box, { children: _jsx(Button, { onClick: handleExpandClick, variant: "ghost", color: "secondary", icon: _jsx(ArrowUp, { style: { color: theme.palette.neutralGrey[40] } }), size: "small", sx: [expanded ? {
87
+ transform: 'rotate(0deg)'
88
+ } : {
89
+ transform: 'rotate(180deg)'
90
+ }] }) }) }), _jsx(Tooltip, { title: "Close", children: _jsx(Box, { children: _jsx(Button, { onClick: onClose, variant: "ghost", color: "secondary", icon: _jsx(Close, { style: { color: theme.palette.neutralGrey[40] } }), size: "small" }) }) })] })] }), expanded && _jsx(Divider, { orientation: "horizontal" }), _jsx(StyledCollapse, { in: expanded, timeout: "auto", unmountOnExit: true, children: files.map((download, index) => (_jsxs(Fragment, { children: [_jsx(UploadFile, { file: download, onCancel: onCancel, onRetry: onRetry }), index !== files.length - 1 && _jsx(Divider, { orientation: "horizontal" })] }, download.id))) })] }) }));
89
91
  };
90
92
  export default UploadManager;
@@ -1,16 +1,20 @@
1
1
  export * from './Alert';
2
+ export * from './Autocomplete';
2
3
  export * from './Button';
3
4
  export * from './Card';
4
5
  export * from './Checkbox';
5
6
  export * from './Chip';
7
+ export * from './Collapse';
6
8
  export * from './DataTable';
7
9
  export * from './DatePicker';
8
10
  export * from './Dialog';
9
11
  export * from './Divider';
12
+ export * from './Drawer';
10
13
  export * from './Dropdown';
11
14
  export * from './EllipsisTypography';
12
15
  export * from './FileDnDZone';
13
16
  export * from './List';
17
+ export * from './Popover';
14
18
  export * from './LoadingIndicator';
15
19
  export * from './Menu';
16
20
  export * from './Pagination';