@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
@@ -200,6 +200,10 @@ const palette = {
200
200
  InvalidHover: '#A7A7A7',
201
201
  InvalidSelected: '#6E6E74',
202
202
  },
203
+ DataGrid: {
204
+ bg: 'transparent',
205
+ headerBg: 'transparent',
206
+ },
203
207
  scope1: '#7292FD',
204
208
  scope2: '#587EFC',
205
209
  scope3: '#B0C0F4',
@@ -52,10 +52,13 @@ export const GraphScoreIndicator = ({ value, isCutoff, isJet, }) => {
52
52
  leftPos = '20px';
53
53
  }
54
54
  }
55
- return (_jsxs(GraphScoreIndicatorContainer, { className: "analysis-bar-score-indicator", sx: {
56
- left: leftPos,
57
- transform: isJet ? 'translateX(-50%) translateY(8px)' : 'translateX(-50%)',
58
- }, isJet: isJet, children: [_jsx(Typography, { variant: "small_body_sb1", sx: { textAlign: 'center' }, children: value }), _jsx(GraphScoreIndicatorPip, {})] }));
55
+ return (_jsxs(GraphScoreIndicatorContainer, { className: "analysis-bar-score-indicator", sx: [{
56
+ left: leftPos
57
+ }, isJet ? {
58
+ transform: 'translateX(-50%) translateY(8px)'
59
+ } : {
60
+ transform: 'translateX(-50%)'
61
+ }], isJet: isJet, children: [_jsx(Typography, { variant: "small_body_sb1", sx: { textAlign: 'center' }, children: value }), _jsx(GraphScoreIndicatorPip, {})] }));
59
62
  };
60
63
  const GraphAxisLabelContainer = styled('span')(() => {
61
64
  return {
@@ -7,27 +7,45 @@ const FreeText = ({ componentType = 'freeText', size = 'medium', content, height
7
7
  throw new Error("The 'componentType' prop is required.");
8
8
  if (!content)
9
9
  throw new Error("The 'content' prop is required.");
10
- return (_jsx(Box, { sx: {
11
- padding: background ? '8px 6px 8px 16px' : 0,
12
- borderRadius: background ? '8px' : 0,
13
- backgroundColor: background ? theme.palette.neutralGrey[75] : 'transparent',
14
- height: height ? height : 'auto',
15
- display: 'flex',
16
- overflowY: 'auto',
17
- }, children: _jsx(PresentationTypography, { size: size, sx: {
18
- display: 'block',
19
- whiteSpace: 'pre-wrap',
20
- overflow: 'auto',
21
- color: background ? '#FFFFFF' : 'inherit',
22
- height: height ? '100%' : 'auto',
23
- '&::-webkit-scrollbar': {
24
- width: '12px',
25
- },
26
- '&::-webkit-scrollbar-thumb': {
27
- width: '6px',
28
- backgroundColor: theme.palette.neutralGrey[65],
29
- borderRadius: '6px',
30
- },
31
- }, children: content }) }));
10
+ return (_jsx(Box, { sx: [{
11
+ display: 'flex',
12
+ overflowY: 'auto'
13
+ }, background ? {
14
+ padding: '8px 6px 8px 16px'
15
+ } : {
16
+ padding: 0
17
+ }, background ? {
18
+ borderRadius: '8px'
19
+ } : {
20
+ borderRadius: 0
21
+ }, background ? {
22
+ backgroundColor: theme.palette.neutralGrey[75]
23
+ } : {
24
+ backgroundColor: 'transparent'
25
+ }, height ? {
26
+ height: height
27
+ } : {
28
+ height: 'auto'
29
+ }], children: _jsx(PresentationTypography, { size: size, sx: [{
30
+ display: 'block',
31
+ whiteSpace: 'pre-wrap',
32
+ overflow: 'auto',
33
+ '&::-webkit-scrollbar': {
34
+ width: '12px',
35
+ },
36
+ '&::-webkit-scrollbar-thumb': {
37
+ width: '6px',
38
+ backgroundColor: theme.palette.neutralGrey[65],
39
+ borderRadius: '6px',
40
+ }
41
+ }, background ? {
42
+ color: '#FFFFFF'
43
+ } : {
44
+ color: 'inherit'
45
+ }, height ? {
46
+ height: '100%'
47
+ } : {
48
+ height: 'auto'
49
+ }], children: content }) }));
32
50
  };
33
51
  export default FreeText;
package/dist/theme.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { createTheme } from '@mui/material/styles';
2
+ import '@mui/x-data-grid/themeAugmentation';
2
3
  import MuiCssBaseline from './components/MuiCssBaseline';
3
4
  import MuiInputBase from './components/MuiInputBase';
4
5
  import MuiOutlinedInput from './components/MuiOutlinedInput';
@@ -0,0 +1,3 @@
1
+ import type { AutocompleteProps } from './Autocomplete.types';
2
+ declare function Autocomplete({ placeholder, error, helperText, loading, noOptionsText, onDelete, onClearButtonClick, disabled, inputValue, sx, ...otherProps }: AutocompleteProps): import("react/jsx-runtime").JSX.Element;
3
+ export default Autocomplete;
@@ -0,0 +1,6 @@
1
+ import type { Theme } from '@mui/material/styles';
2
+ import type { SxProps } from '@mui/system';
3
+ /** Tokenized styling for the underlying MUI Autocomplete. */
4
+ export declare const autocompleteSx: (theme: Theme, disabled?: boolean) => SxProps<Theme>;
5
+ /** Tokenized styling for the listbox paper. */
6
+ export declare const paperSx: (theme: Theme) => SxProps<Theme>;
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { AutocompleteProps as MuiAutocompleteProps } from '@mui/material';
3
+ type MuiBase = MuiAutocompleteProps<string, true, true, true>;
4
+ export interface AutocompleteProps extends Omit<MuiBase, 'renderInput' | 'renderValue' | 'renderTags' | 'multiple' | 'freeSolo' | 'disableClearable'> {
5
+ /** Placeholder shown in the text input. */
6
+ placeholder?: string;
7
+ /** Whether the field is in an error state. */
8
+ error?: boolean;
9
+ /** Helper / error message shown below the input. */
10
+ helperText?: string;
11
+ /** Shows a loading indicator and `noOptionsText` while fetching options. */
12
+ loading?: boolean;
13
+ /** Message shown when there are no matching options. */
14
+ noOptionsText?: ReactNode;
15
+ /** Called when a selected chip's delete icon is clicked. */
16
+ onDelete?: (value: string) => void;
17
+ /** When provided, renders a clear button in the input adornment. */
18
+ onClearButtonClick?: () => void;
19
+ }
20
+ export {};
@@ -0,0 +1,4 @@
1
+ import Autocomplete from './Autocomplete';
2
+ import type { AutocompleteProps } from './Autocomplete.types';
3
+ export { Autocomplete };
4
+ export type { AutocompleteProps };
@@ -10,6 +10,6 @@ export interface CheckboxProps extends Omit<BoxProps<'span'>, 'onChange' | 'onCh
10
10
  onChange?: MuiCheckboxProps['onChange'];
11
11
  onChangeCapture?: MuiCheckboxProps['onChangeCapture'];
12
12
  label?: string;
13
- inputProps?: MuiCheckboxProps['inputProps'];
14
- inputRef?: MuiCheckboxProps['inputRef'];
13
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
14
+ inputRef?: React.Ref<HTMLInputElement>;
15
15
  }
@@ -0,0 +1,3 @@
1
+ import type { CollapseProps } from './Collapse.types';
2
+ declare function Collapse({ children, ...otherProps }: CollapseProps): import("react/jsx-runtime").JSX.Element;
3
+ export default Collapse;
@@ -0,0 +1,4 @@
1
+ import type { CollapseProps as MuiCollapseProps } from '@mui/material';
2
+ /** Props for Collapse. Re-exports MUI Collapse props for expand/collapse transitions. */
3
+ export interface CollapseProps extends MuiCollapseProps {
4
+ }
@@ -0,0 +1,4 @@
1
+ import Collapse from './Collapse';
2
+ import type { CollapseProps } from './Collapse.types';
3
+ export { Collapse };
4
+ export type { CollapseProps };
@@ -0,0 +1,3 @@
1
+ import type { DataTableProps } from './DataTable.types';
2
+ declare function DataTable({ rows, columns, slots, ...otherProps }: DataTableProps): import("react/jsx-runtime").JSX.Element;
3
+ export default DataTable;
@@ -0,0 +1,8 @@
1
+ import type { DataGridProProps } from '@mui/x-data-grid-pro';
2
+ /**
3
+ * Props for the DataTable component. Extends MUI X DataGridPro props; OUI sets
4
+ * sensible defaults (header/row height, borders, base checkbox, empty overlay)
5
+ * that consumers can still override, including per-key `slots` merging.
6
+ */
7
+ export interface DataTableProps extends DataGridProProps {
8
+ }
@@ -0,0 +1,2 @@
1
+ export { default as DataTable } from './DataTable';
2
+ export type { DataTableProps } from './DataTable.types';
@@ -1,6 +1,6 @@
1
1
  import type { DatePickerProps as MuiDatePickerProps } from '@mui/x-date-pickers/DatePicker';
2
2
  export type DatePickerAlignment = 'left' | 'center' | 'right';
3
- export interface DatePickerProps extends MuiDatePickerProps<Date> {
3
+ export interface DatePickerProps extends MuiDatePickerProps {
4
4
  alignment?: DatePickerAlignment;
5
5
  placeholder?: string;
6
6
  }
@@ -0,0 +1,3 @@
1
+ import type { DrawerProps } from './Drawer.types';
2
+ declare function Drawer({ children, open, wide, variant, ...otherProps }: DrawerProps): import("react/jsx-runtime").JSX.Element;
3
+ export default Drawer;
@@ -0,0 +1,3 @@
1
+ import type { BaseDrawerProps } from './Drawer.types';
2
+ declare const BaseDrawer: import("@emotion/styled").StyledComponent<import("@mui/material").DrawerProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & BaseDrawerProps, {}, {}>;
3
+ export default BaseDrawer;
@@ -0,0 +1,14 @@
1
+ import type { DrawerProps as MuiDrawerProps } from '@mui/material';
2
+ export interface BaseDrawerProps extends MuiDrawerProps {
3
+ /** Whether the drawer is expanded. When false, collapses to `closedWidth`. */
4
+ open?: boolean;
5
+ /** Whether to use the wider expanded width (`wideWidth`) instead of `openWidth`. */
6
+ wide?: boolean;
7
+ /** Width when collapsed (`open=false`). Defaults to 52px. */
8
+ closedWidth?: number | string;
9
+ /** Width when expanded. Defaults to 240px. */
10
+ openWidth?: number | string;
11
+ /** Width when expanded and `wide` is set. Defaults to 280px. */
12
+ wideWidth?: number | string;
13
+ }
14
+ export type DrawerProps = BaseDrawerProps;
@@ -0,0 +1,4 @@
1
+ import Drawer from './Drawer';
2
+ import type { BaseDrawerProps, DrawerProps } from './Drawer.types';
3
+ export { Drawer };
4
+ export type { BaseDrawerProps, DrawerProps };
@@ -7,6 +7,7 @@ type BaseDropdownProps<T = unknown> = SelectProps<T>;
7
7
  interface DropdownProps<T = unknown> extends Omit<BaseDropdownProps<T>, 'IconComponent' | 'error' | 'sx' | 'style'> {
8
8
  error?: string;
9
9
  helperMsg?: string;
10
+ placeholder?: string;
10
11
  ContainerProps?: BoxProps;
11
12
  sx?: SelectProps['sx'];
12
13
  style?: SelectProps['style'];
@@ -1,10 +1,9 @@
1
1
  import type { TypographyProps } from '@mui/system';
2
2
  import type { BaseDropdownProps } from '../Dropdown/Dropdown.types';
3
- interface BaseIconDropdownProps extends BaseDropdownProps {
3
+ type BaseIconDropdownProps = BaseDropdownProps & {
4
4
  isToggled?: boolean;
5
- }
6
- interface IconDropdownProps extends BaseIconDropdownProps {
7
- }
5
+ };
6
+ type IconDropdownProps = BaseIconDropdownProps;
8
7
  interface PlaceholderProps extends TypographyProps {
9
8
  disabled?: boolean;
10
9
  }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { EllipsisTypographyProps } from './EllipsisTypography.types';
3
+ declare const EllipsisTypography: React.ForwardRefExoticComponent<Omit<EllipsisTypographyProps, "ref"> & React.RefAttributes<HTMLElement>>;
4
+ export default EllipsisTypography;
@@ -1,4 +1,4 @@
1
- import type { MenuProps as MuiMenuProps } from '@mui/material';
1
+ import type { MenuProps as MuiMenuProps, PaperProps } from '@mui/material';
2
2
  export type MenuSize = 'small' | 'medium';
3
3
  export interface MenuProps extends StyledMenuProps {
4
4
  size?: MenuSize;
@@ -7,6 +7,8 @@ export interface MenuProps extends StyledMenuProps {
7
7
  }
8
8
  export interface StyledMenuProps extends MuiMenuProps {
9
9
  size?: MenuSize;
10
+ /** @deprecated Use slotProps={{ paper: ... }} instead */
11
+ PaperProps?: PaperProps;
10
12
  }
11
13
  export interface MenuContextValue {
12
14
  size: MenuSize;
@@ -0,0 +1,3 @@
1
+ import type { PopoverProps } from './Popover.types';
2
+ declare function Popover({ children, ...otherProps }: PopoverProps): import("react/jsx-runtime").JSX.Element;
3
+ export default Popover;
@@ -0,0 +1,2 @@
1
+ declare const StyledPopover: import("@emotion/styled").StyledComponent<import("@mui/material").PopoverProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
2
+ export default StyledPopover;
@@ -0,0 +1,4 @@
1
+ import type { PopoverProps as MuiPopoverProps } from '@mui/material';
2
+ /** Props for Popover. Extends MUI Popover with OUI's tokenized paper styling. */
3
+ export interface PopoverProps extends MuiPopoverProps {
4
+ }
@@ -0,0 +1,4 @@
1
+ import Popover from './Popover';
2
+ import type { PopoverProps } from './Popover.types';
3
+ export { Popover };
4
+ export type { PopoverProps };
@@ -9,6 +9,6 @@ export interface RadioProps extends Omit<BoxProps<'span'>, 'onChange' | 'onChang
9
9
  onChange?: MuiRadioProps['onChange'];
10
10
  onChangeCapture?: MuiRadioProps['onChangeCapture'];
11
11
  label?: string;
12
- inputProps?: MuiRadioProps['inputProps'];
13
- inputRef?: MuiRadioProps['inputRef'];
12
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
13
+ inputRef?: React.Ref<HTMLInputElement>;
14
14
  }
@@ -8,8 +8,8 @@ export interface ToggleProps extends Omit<BoxProps<'span'>, 'onChange' | 'onChan
8
8
  required?: MuiSwitchProps['required'];
9
9
  onChange?: MuiSwitchProps['onChange'];
10
10
  onChangeCapture?: MuiSwitchProps['onChangeCapture'];
11
- inputProps?: MuiSwitchProps['inputProps'];
12
- inputRef?: MuiSwitchProps['inputRef'];
11
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
12
+ inputRef?: React.Ref<HTMLInputElement>;
13
13
  indeterminate?: boolean;
14
14
  label?: string;
15
15
  labelPlacement?: 'left' | 'right';
@@ -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';
@@ -1,4 +1,4 @@
1
- import { TypographyOptions } from '@mui/material/styles/createTypography';
1
+ import type { TypographyVariantsOptions } from '@mui/material/styles';
2
2
  export interface LunitTypographyVariants {
3
3
  h7: React.CSSProperties;
4
4
  h8: React.CSSProperties;
@@ -153,5 +153,5 @@ declare module '@mui/material/Typography' {
153
153
  interface TypographyPropsVariantOverrides extends LunitTypographyPropsVariantOverrides {
154
154
  }
155
155
  }
156
- declare const typographyOptions: TypographyOptions;
156
+ declare const typographyOptions: TypographyVariantsOptions;
157
157
  export default typographyOptions;
@@ -1,3 +1,4 @@
1
+ import '@mui/x-data-grid/themeAugmentation';
1
2
  import { LunitPalette, LunitTypographyPropsVariantOverrides, LunitTypographyVariants, LunitTypographyVariantsOptions } from './foundations';
2
3
  declare module '@mui/material/styles' {
3
4
  interface Palette extends LunitPalette {
@@ -0,0 +1,125 @@
1
+ # @lunit/oui — Component Catalog
2
+
3
+ A scannable index of components for AI/developers. Each entry: **what it is · key props · example**.
4
+ The exact props are defined by each component's `*.types.ts` (source of truth). When you add a new component, add a line here too.
5
+
6
+ ## Install & Setup
7
+
8
+ ```bash
9
+ npm i --save @lunit/oui
10
+ ```
11
+
12
+ Wrap your app root with `ThemeProvider` to inject the OUI theme so every component renders correctly.
13
+
14
+ ```tsx
15
+ import { ThemeProvider, CssBaseline } from '@mui/material';
16
+ import { theme } from '@lunit/oui';
17
+
18
+ <ThemeProvider theme={theme}>
19
+ <CssBaseline />
20
+ <App />
21
+ </ThemeProvider>;
22
+ ```
23
+
24
+ ## Import paths
25
+
26
+ ```ts
27
+ import { Button, Dialog, TextField } from '@lunit/oui'; // components
28
+ import { ArrowDoubleDown } from '@lunit/oui/icons'; // icons
29
+ import { theme, palette, typography, spacing } from '@lunit/oui'; // theme & tokens
30
+ ```
31
+
32
+ ❌ Do not import Button/TextField etc. directly from `@mui/material`. ✅ Prefer the equivalent `@lunit/oui` component.
33
+
34
+ ---
35
+
36
+ ## Components
37
+
38
+ ### Input / Form
39
+
40
+ | Component | Purpose | Key props |
41
+ | --------------------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42
+ | **Button** | Trigger actions. Supports label/icon buttons and loading | `variant: 'contained' \| 'ghost' \| 'outlined'`, `color: 'primary' \| 'secondary' \| 'error'`, `size: 'small' \| 'medium' \| 'large'`, `label`, `icon`, `loading` |
43
+ | **TextField** / **BaseTextField** | Text input | extends MUI TextField |
44
+ | **Checkbox** | Checkbox | — |
45
+ | **Radio** | Radio button | — |
46
+ | **Toggle** | on/off switch | — |
47
+ | **Dropdown** | Selection dropdown | — |
48
+ | **Autocomplete** | Multi-select chip input with clear button + loading | `placeholder`, `error`, `helperText`, `loading`, `noOptionsText`, `onDelete`, `onClearButtonClick` |
49
+ | **DatePicker** | Date selection (based on `@mui/x-date-pickers`) | — |
50
+ | **FileDnDZone** | File drag-and-drop area | — |
51
+ | **UploadManager** | Upload progress/management UI | — |
52
+
53
+ ### Display / Layout
54
+
55
+ | Component | Purpose | Key props |
56
+ | ---------------------- | ----------------------------------------------- | ------------------------------------------------------- |
57
+ | **Card** | Content card container | `size: 'small' \| 'large'` |
58
+ | **Divider** | Separator line | `orientation: 'horizontal' \| 'vertical'` |
59
+ | **Drawer** | Side drawer with collapsed/expanded/wide widths | `open`, `wide`, `closedWidth`, `openWidth`, `wideWidth` |
60
+ | **Collapse** | Expand/collapse transition wrapper | extends MUI Collapse (`in`, `orientation`, `timeout`) |
61
+ | **List** | List | `size: 'small' \| 'medium' \| 'large'` |
62
+ | **DataTable** | Data table (based on `@mui/x-data-grid`) | — |
63
+ | **EllipsisTypography** | Text with ellipsis (...) truncation | — |
64
+ | **ProductLabel** | Product label badge | — |
65
+ | **NoMatchContainer** | Empty state (e.g. no search results) | — |
66
+
67
+ ### Feedback / Overlay
68
+
69
+ | Component | Purpose | Key props |
70
+ | -------------------- | ------------------------------------------------ | -------------------------------------------------------- |
71
+ | **Alert** | Inline notification (info/success/error/warning) | — |
72
+ | **Dialog** | Modal dialog | — |
73
+ | **Popover** | Anchored overlay with tokenized paper styling | extends MUI Popover (`open`, `anchorEl`, `anchorOrigin`) |
74
+ | **Tooltip** | Tooltip | `size: 'small' \| 'large'`, `placement` |
75
+ | **Progress** | Progress indicator (Circular/Linear) | `CircularProgress`: `size`, `circleColor` |
76
+ | **LoadingIndicator** | Loading spinner | — |
77
+ | **Chip** | Chip/tag | `preset` (ChipsPreset) |
78
+
79
+ ### Navigation / Structure
80
+
81
+ | Component | Purpose | Key props |
82
+ | --------------- | ----------------------- | ------------------------------------------------------------ |
83
+ | **Menu** | Menu | `size: 'small' \| 'medium'` |
84
+ | **Pagination** | Pagination | `size: number` |
85
+ | **Stepper** | Step progress indicator | — |
86
+ | **TabbedPanel** | Tab panel | `size: 'small' \| 'medium'`, `variant: 'normal' \| 'toggle'` |
87
+
88
+ ### Utility
89
+
90
+ | Component | Purpose |
91
+ | ------------------ | ----------------------------- |
92
+ | **ResizeObserver** | Size-change detection wrapper |
93
+
94
+ ---
95
+
96
+ ## Presentations (domain-specific components)
97
+
98
+ Exported together from `@lunit/oui`. Composite components for the oncology analysis domain.
99
+
100
+ `Accordion`, `AnalysisBar`, `FreeText`, `Histogram`, `HorizonDivider`, `ModelType`, `Preview`, `Score`, `Statistic`, `Threshold`, `ToggleControl`, `ToggleControlGroup`
101
+
102
+ ---
103
+
104
+ ## Usage examples
105
+
106
+ ```tsx
107
+ import { Button, Dialog } from '@lunit/oui';
108
+
109
+ // basic button
110
+ <Button variant="contained" color="primary" size="medium" label="Save" onClick={save} />
111
+
112
+ // loading state
113
+ <Button variant="contained" loading label="Processing" />
114
+
115
+ // icon button
116
+ import { Close } from '@lunit/oui/icons';
117
+ <Button icon={<Close />} onClick={close} />
118
+ ```
119
+
120
+ ### Do / Don't
121
+
122
+ - ✅ Use only the union values defined above for variant/size/color.
123
+ - ✅ Use `theme.palette.*` / `theme.spacing()` tokens for color and spacing (→ [TOKENS.md](TOKENS.md)).
124
+ - ❌ Do not use the equivalent `@mui/material` component directly.
125
+ - ❌ Do not hardcode magic values like `#fff` or `16px` in `sx`.
package/docs/TOKENS.md ADDED
@@ -0,0 +1,60 @@
1
+ # @lunit/oui — Design Tokens
2
+
3
+ Always use tokens for color, spacing, and typography. Never hardcode magic values (`#3BC9DB`, `16px`).
4
+ The source of truth is `src/foundations/` (palette.ts / spacing.ts / typography.ts).
5
+
6
+ ```ts
7
+ import { palette, spacing, typography, theme } from '@lunit/oui';
8
+ // Inside a component's styled, access via the theme arg: (theme) => ({ color: theme.palette.lunitTeal[40] })
9
+ ```
10
+
11
+ ## Usage rules
12
+
13
+ | Kind | ❌ Don't | ✅ Do |
14
+ |---|---|---|
15
+ | Color | `color: '#3BC9DB'` | `color: theme.palette.lunitTeal[30]` |
16
+ | Spacing | `padding: '16px'` | `padding: theme.spacing(4)` |
17
+ | Typography | `fontSize: 14, fontWeight: 600` | `<Typography variant="body_sb1">` |
18
+
19
+ ## Color (palette)
20
+
21
+ Form: `theme.palette.<group>[<key>]`. The key is a brightness scale (lower = brighter).
22
+
23
+ | Group | Key scale | Purpose |
24
+ |---|---|---|
25
+ | `brand` | `primary`, `secondary` | Brand colors (`#3BC9DB`, `#96EDFF`) |
26
+ | `lunitTeal` | 5–90 | Main teal palette (primary actions) |
27
+ | `neutralGrey` | 0–100 | Grayscale (0 = white, 100 = black). Backgrounds, text, borders |
28
+ | `red` | 5–50 | Error/danger |
29
+ | `blue` | 5–75 | Info |
30
+ | `green` | 10–50 | Success |
31
+ | `yellow` / `orange` | 5–20 | Caution/warning |
32
+ | `magenta` / `purple` | — | Secondary accents |
33
+ | `text` | `primary`, `secondary`, `disabled` | Text colors |
34
+ | `alert` | `InfoBG`, `SuccessBG`, `ErrorBG`, `WarningBG` | Alert backgrounds |
35
+
36
+ ### Domain (histology) colors
37
+
38
+ Color groups exclusive to tumor analysis — do not use them for general UI.
39
+ `pdl1Tps`, `pdl1Cps`, `io`, `tumorPurity`, `her2`, `erpr`, `analysisStatus`
40
+
41
+ ## Spacing
42
+
43
+ base unit = **4px**. `theme.spacing(n)` = `n * 4px`.
44
+
45
+ ```
46
+ spacing(1)=4px spacing(2)=8px spacing(3)=12px spacing(4)=16px spacing(6)=24px
47
+ ```
48
+
49
+ ## Typography (variants)
50
+
51
+ Use via `<Typography variant="...">`, or `theme.typography.<variant>` in styled. Custom variants:
52
+
53
+ - **Heading**: `h7`, `h8`, `h9`, `h10`, `subtitle3`
54
+ - **Body (weight suffix)**: `b`=bold, `sb`=semibold, `m`=medium, none=regular, `l`=light
55
+ - `body_b1~2`, `body_sb1~5`, `body_m1~2`, `body1~8`
56
+ - `small_body_b1~5`, `small_body_sb1`, `small_body_m1~7`, `small_body1~5`, `small_body_l1~2`
57
+ - **Other**: `button1`, `button2`, `overline`, `caption`
58
+
59
+ > If you need a new token, define it in `src/foundations/` first. When you extend palette/typography,
60
+ > also update the `declare module '@mui/material/styles'` type augmentation in `theme.ts`.
package/llms.txt ADDED
@@ -0,0 +1,58 @@
1
+ # @lunit/oui
2
+
3
+ > React UI component library for Lunit Scope applications. Built on MUI v9.
4
+ > When building UI in an app that uses this package, do not use MUI directly —
5
+ > use the OUI components and design tokens below.
6
+
7
+ ## Setup
8
+
9
+ Wrap your app root with the OUI theme:
10
+
11
+ ```tsx
12
+ import { ThemeProvider, CssBaseline } from '@mui/material';
13
+ import { theme } from '@lunit/oui';
14
+
15
+ <ThemeProvider theme={theme}>
16
+ <CssBaseline />
17
+ <App />
18
+ </ThemeProvider>
19
+ ```
20
+
21
+ ## Import rules
22
+
23
+ - Components: `import { Button, Dialog, TextField } from '@lunit/oui'`
24
+ - Icons: `import { ArrowDoubleDown } from '@lunit/oui/icons'`
25
+ - Tokens/theme: `import { theme, palette, spacing, typography } from '@lunit/oui'`
26
+
27
+ ## Core rules (must follow)
28
+
29
+ - ❌ Do not import equivalent components (Button/TextField/Dialog, etc.) directly from `@mui/material`.
30
+ ✅ Use the `@lunit/oui` component for the same functionality.
31
+ - ❌ Do not hardcode magic values like `#fff` or `16px` in `sx`/styles.
32
+ ✅ Use tokens: color `theme.palette.lunitTeal[40]`, spacing `theme.spacing(n)` (base 4px), typography `<Typography variant="body_b1">`.
33
+ - For variant/size/color, use only the union values each component allows (e.g. Button `variant: contained|ghost|outlined`).
34
+
35
+ ## Common components
36
+
37
+ - Button: `variant` contained|ghost|outlined, `color` primary|secondary|error, `size` small|medium|large, `label`, `icon`, `loading`
38
+ - TextField, Checkbox, Radio, Toggle, Dropdown, DatePicker — input/form
39
+ - Card(`size` small|large), List, Divider, DataTable, EllipsisTypography — display/layout
40
+ - Alert, Dialog, Tooltip, Progress, LoadingIndicator, Chip — feedback/overlay
41
+ - Menu, Pagination, Stepper, TabbedPanel — navigation
42
+
43
+ ## Examples
44
+
45
+ ```tsx
46
+ import { Button } from '@lunit/oui';
47
+ import { Close } from '@lunit/oui/icons';
48
+
49
+ <Button variant="contained" color="primary" size="medium" label="Save" onClick={save} />
50
+ <Button variant="contained" loading label="Processing" />
51
+ <Button icon={<Close />} onClick={close} />
52
+ ```
53
+
54
+ ## See also
55
+
56
+ - Full component catalog: docs/COMPONENTS.md
57
+ - Design tokens (color/spacing/typography): docs/TOKENS.md
58
+ - Interactive docs: Storybook (`npm run storybook`)