@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.
- package/dist/components/Autocomplete/Autocomplete.js +22 -0
- package/dist/components/Autocomplete/Autocomplete.styled.js +36 -0
- package/dist/components/Autocomplete/Autocomplete.types.js +1 -0
- package/dist/components/Autocomplete/index.js +2 -0
- package/dist/components/Checkbox/Checkbox.js +1 -1
- package/dist/components/Collapse/Collapse.js +6 -0
- package/dist/components/Collapse/Collapse.types.js +1 -0
- package/dist/components/Collapse/index.js +2 -0
- package/dist/components/DataTable/DataTable.js +7 -5
- package/dist/components/DataTable/DataTable.styled.js +12 -13
- package/dist/components/DataTable/DataTable.types.js +1 -0
- package/dist/components/DatePicker/DatePicker.js +13 -17
- package/dist/components/DatePicker/DatePicker.styled.js +24 -6
- package/dist/components/Dialog/Dialog.js +4 -2
- package/dist/components/Drawer/Drawer.js +6 -0
- package/dist/components/Drawer/Drawer.styled.js +29 -0
- package/dist/components/Drawer/Drawer.types.js +1 -0
- package/dist/components/Drawer/index.js +2 -0
- package/dist/components/Dropdown/Dropdown.js +0 -1
- package/dist/components/EllipsisTypography/EllipsisTypography.js +51 -15
- package/dist/components/Menu/Menu.js +5 -2
- package/dist/components/MuiInputBase.js +2 -2
- package/dist/components/NoMatchContainer/NoMatchContainer.js +6 -3
- package/dist/components/Popover/Popover.js +6 -0
- package/dist/components/Popover/Popover.styled.js +10 -0
- package/dist/components/Popover/Popover.types.js +1 -0
- package/dist/components/Popover/index.js +2 -0
- package/dist/components/Progress/LinearProgress.styled.js +1 -1
- package/dist/components/Radio/Radio.js +1 -1
- package/dist/components/TabbedPanel/TabbedPanel.js +1 -1
- package/dist/components/TabbedPanel/TabbedPanel.styled.js +1 -1
- package/dist/components/Toggle/Toggle.js +8 -5
- package/dist/components/Tooltip/Tooltip.js +2 -2
- package/dist/components/UploadManager/UploadManager.js +7 -5
- package/dist/components/index.js +4 -0
- package/dist/foundations/palette.js +4 -0
- package/dist/presentations/AnalysisBar/AnalysisBar.styled.js +7 -4
- package/dist/presentations/FreeText/FreeText.js +40 -22
- package/dist/theme.js +1 -0
- package/dist/types/components/Autocomplete/Autocomplete.d.ts +3 -0
- package/dist/types/components/Autocomplete/Autocomplete.styled.d.ts +6 -0
- package/dist/types/components/Autocomplete/Autocomplete.types.d.ts +20 -0
- package/dist/types/components/Autocomplete/index.d.ts +4 -0
- package/dist/{components → types/components}/Checkbox/Checkbox.types.d.ts +2 -2
- package/dist/types/components/Collapse/Collapse.d.ts +3 -0
- package/dist/types/components/Collapse/Collapse.types.d.ts +4 -0
- package/dist/types/components/Collapse/index.d.ts +4 -0
- package/dist/types/components/DataTable/DataTable.d.ts +3 -0
- package/dist/types/components/DataTable/DataTable.types.d.ts +8 -0
- package/dist/types/components/DataTable/index.d.ts +2 -0
- package/dist/{components → types/components}/DatePicker/DatePicker.types.d.ts +1 -1
- package/dist/types/components/Drawer/Drawer.d.ts +3 -0
- package/dist/types/components/Drawer/Drawer.styled.d.ts +3 -0
- package/dist/types/components/Drawer/Drawer.types.d.ts +14 -0
- package/dist/types/components/Drawer/index.d.ts +4 -0
- package/dist/{components → types/components}/Dropdown/Dropdown.types.d.ts +1 -0
- package/dist/{components → types/components}/Dropdown/IconDropdown.types.d.ts +3 -4
- package/dist/types/components/EllipsisTypography/EllipsisTypography.d.ts +4 -0
- package/dist/{components → types/components}/Menu/Menu.types.d.ts +3 -1
- package/dist/types/components/Popover/Popover.d.ts +3 -0
- package/dist/types/components/Popover/Popover.styled.d.ts +2 -0
- package/dist/types/components/Popover/Popover.types.d.ts +4 -0
- package/dist/types/components/Popover/index.d.ts +4 -0
- package/dist/{components → types/components}/Radio/Radio.types.d.ts +2 -2
- package/dist/{components → types/components}/Toggle/Toggle.types.d.ts +2 -2
- package/dist/{components → types/components}/index.d.ts +4 -0
- package/dist/{foundations → types/foundations}/typography.d.ts +2 -2
- package/dist/{theme.d.ts → types/theme.d.ts} +1 -0
- package/docs/COMPONENTS.md +125 -0
- package/docs/TOKENS.md +60 -0
- package/llms.txt +58 -0
- package/package.json +35 -24
- package/dist/components/DataTable/DataTable.d.ts +0 -3
- package/dist/components/DataTable/index.d.ts +0 -1
- package/dist/components/EllipsisTypography/EllipsisTypography.d.ts +0 -3
- /package/dist/{assets → types/assets}/ic-bell-noti-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-close-large-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-close-small-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-copy-coordinates-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-copy-coordinates-url-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-download-pdf-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-ellipse-exclude-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-ellipse-include-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-ellipse-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-filter-noti-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-hide-large-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-hide-small-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-information-large-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-information-small-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-manufacturer-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-rectangle-exclude-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-rectangle-include-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-rectangle-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-refresh-left-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-refresh-right-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-show-large-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/ic-show-small-outlined-20px.d.ts +0 -0
- /package/dist/{assets → types/assets}/index.d.ts +0 -0
- /package/dist/{components → types/components}/Alert/Alert.d.ts +0 -0
- /package/dist/{components → types/components}/Alert/Alert.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Alert/Alert.types.d.ts +0 -0
- /package/dist/{components → types/components}/Alert/Alert.utils.d.ts +0 -0
- /package/dist/{components → types/components}/Alert/index.d.ts +0 -0
- /package/dist/{components → types/components}/BaseTextField/BaseTextField.styled.d.ts +0 -0
- /package/dist/{components → types/components}/BaseTextField/BaseTextField.types.d.ts +0 -0
- /package/dist/{components → types/components}/BaseTextField/BaseTextField.utils.d.ts +0 -0
- /package/dist/{components → types/components}/Button/BaseButton.d.ts +0 -0
- /package/dist/{components → types/components}/Button/Button.d.ts +0 -0
- /package/dist/{components → types/components}/Button/Button.types.d.ts +0 -0
- /package/dist/{components → types/components}/Button/Button.utils.d.ts +0 -0
- /package/dist/{components → types/components}/Button/index.d.ts +0 -0
- /package/dist/{components → types/components}/Button/styleds/BaseButton.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Button/styleds/ContainedButton.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Button/styleds/GhostButton.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Button/styleds/IconButton.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Button/styleds/OutlinedButton.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Card/Card.d.ts +0 -0
- /package/dist/{components → types/components}/Card/Card.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Card/Card.types.d.ts +0 -0
- /package/dist/{components → types/components}/Card/index.d.ts +0 -0
- /package/dist/{components → types/components}/Checkbox/Checkbox.d.ts +0 -0
- /package/dist/{components → types/components}/Checkbox/Checkbox.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Checkbox/Checkbox.utils.d.ts +0 -0
- /package/dist/{components → types/components}/Checkbox/index.d.ts +0 -0
- /package/dist/{components → types/components}/Chip/Chip.d.ts +0 -0
- /package/dist/{components → types/components}/Chip/Chip.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Chip/Chip.types.d.ts +0 -0
- /package/dist/{components → types/components}/Chip/Chip.utils.d.ts +0 -0
- /package/dist/{components → types/components}/Chip/index.d.ts +0 -0
- /package/dist/{components → types/components}/DataTable/DataTable.styled.d.ts +0 -0
- /package/dist/{components → types/components}/DatePicker/DatePicker.d.ts +0 -0
- /package/dist/{components → types/components}/DatePicker/DatePicker.styled.d.ts +0 -0
- /package/dist/{components → types/components}/DatePicker/index.d.ts +0 -0
- /package/dist/{components → types/components}/Dialog/Dialog.d.ts +0 -0
- /package/dist/{components → types/components}/Dialog/Dialog.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Dialog/Dialog.types.d.ts +0 -0
- /package/dist/{components → types/components}/Dialog/index.d.ts +0 -0
- /package/dist/{components → types/components}/Divider/Divider.d.ts +0 -0
- /package/dist/{components → types/components}/Divider/Divider.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Divider/Divider.types.d.ts +0 -0
- /package/dist/{components → types/components}/Divider/index.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/Dropdown.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/Dropdown.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/Dropdown.utils.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/DropdownItem.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/DropdownItem.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/DropdownItem.types.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/DropdownItem.utils.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/DropdownSubtitle.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/DropdownSubtitle.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/DropdownSubtitle.types.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/IconDropdown.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/IconDropdown.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Dropdown/index.d.ts +0 -0
- /package/dist/{components → types/components}/EllipsisTypography/EllipsisTypography.styled.d.ts +0 -0
- /package/dist/{components → types/components}/EllipsisTypography/EllipsisTypography.types.d.ts +0 -0
- /package/dist/{components → types/components}/EllipsisTypography/index.d.ts +0 -0
- /package/dist/{components → types/components}/FileDnDZone/FileDnDZone.d.ts +0 -0
- /package/dist/{components → types/components}/FileDnDZone/FileDnDZone.styled.d.ts +0 -0
- /package/dist/{components → types/components}/FileDnDZone/FileDnDZone.types.d.ts +0 -0
- /package/dist/{components → types/components}/FileDnDZone/FileDnDZone.utils.d.ts +0 -0
- /package/dist/{components → types/components}/FileDnDZone/index.d.ts +0 -0
- /package/dist/{components → types/components}/List/List.d.ts +0 -0
- /package/dist/{components → types/components}/List/List.styled.d.ts +0 -0
- /package/dist/{components → types/components}/List/List.types.d.ts +0 -0
- /package/dist/{components → types/components}/List/List.utils.d.ts +0 -0
- /package/dist/{components → types/components}/List/ListItem.d.ts +0 -0
- /package/dist/{components → types/components}/List/ListItem.styled.d.ts +0 -0
- /package/dist/{components → types/components}/List/ListItem.types.d.ts +0 -0
- /package/dist/{components → types/components}/List/ListItemCaption.d.ts +0 -0
- /package/dist/{components → types/components}/List/ListItemCaption.styled.d.ts +0 -0
- /package/dist/{components → types/components}/List/ListItemCaption.types.d.ts +0 -0
- /package/dist/{components → types/components}/List/index.d.ts +0 -0
- /package/dist/{components → types/components}/LoadingIndicator/LoadingIndicator.d.ts +0 -0
- /package/dist/{components → types/components}/LoadingIndicator/LoadingIndicator.styled.d.ts +0 -0
- /package/dist/{components → types/components}/LoadingIndicator/LoadingIndicator.types.d.ts +0 -0
- /package/dist/{components → types/components}/LoadingIndicator/index.d.ts +0 -0
- /package/dist/{components → types/components}/Menu/Menu.d.ts +0 -0
- /package/dist/{components → types/components}/Menu/Menu.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Menu/MenuItem.d.ts +0 -0
- /package/dist/{components → types/components}/Menu/MenuItem.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Menu/MenuItem.types.d.ts +0 -0
- /package/dist/{components → types/components}/Menu/index.d.ts +0 -0
- /package/dist/{components → types/components}/MuiCssBaseline.d.ts +0 -0
- /package/dist/{components → types/components}/MuiInputBase.d.ts +0 -0
- /package/dist/{components → types/components}/MuiOutlinedInput.d.ts +0 -0
- /package/dist/{components → types/components}/MuiTextField.d.ts +0 -0
- /package/dist/{components → types/components}/NoMatchContainer/NoMatchContainer.d.ts +0 -0
- /package/dist/{components → types/components}/NoMatchContainer/index.d.ts +0 -0
- /package/dist/{components → types/components}/Pagination/Pagination.d.ts +0 -0
- /package/dist/{components → types/components}/Pagination/Pagination.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Pagination/Pagination.types.d.ts +0 -0
- /package/dist/{components → types/components}/Pagination/index.d.ts +0 -0
- /package/dist/{components → types/components}/ProductLabel/ProductLabel.d.ts +0 -0
- /package/dist/{components → types/components}/ProductLabel/ProductLabel.styled.d.ts +0 -0
- /package/dist/{components → types/components}/ProductLabel/ProductLabel.types.d.ts +0 -0
- /package/dist/{components → types/components}/ProductLabel/index.d.ts +0 -0
- /package/dist/{components → types/components}/Progress/CircularProgress.d.ts +0 -0
- /package/dist/{components → types/components}/Progress/CircularProgress.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Progress/CircularProgress.types.d.ts +0 -0
- /package/dist/{components → types/components}/Progress/LinearProgress.d.ts +0 -0
- /package/dist/{components → types/components}/Progress/LinearProgress.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Progress/LinearProgress.types.d.ts +0 -0
- /package/dist/{components → types/components}/Progress/index.d.ts +0 -0
- /package/dist/{components → types/components}/Radio/Radio.d.ts +0 -0
- /package/dist/{components → types/components}/Radio/Radio.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Radio/RadioGroup.d.ts +0 -0
- /package/dist/{components → types/components}/Radio/RadioGroup.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Radio/RadioGroup.types.d.ts +0 -0
- /package/dist/{components → types/components}/Radio/index.d.ts +0 -0
- /package/dist/{components → types/components}/ResizeObserver/ResizeObserverContext.d.ts +0 -0
- /package/dist/{components → types/components}/ResizeObserver/index.d.ts +0 -0
- /package/dist/{components → types/components}/Stepper/Stepper.d.ts +0 -0
- /package/dist/{components → types/components}/Stepper/Stepper.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Stepper/Stepper.types.d.ts +0 -0
- /package/dist/{components → types/components}/Stepper/index.d.ts +0 -0
- /package/dist/{components → types/components}/TabbedPanel/TabbedPanel.d.ts +0 -0
- /package/dist/{components → types/components}/TabbedPanel/TabbedPanel.styled.d.ts +0 -0
- /package/dist/{components → types/components}/TabbedPanel/TabbedPanel.types.d.ts +0 -0
- /package/dist/{components → types/components}/TabbedPanel/TabbedPanel.utils.d.ts +0 -0
- /package/dist/{components → types/components}/TabbedPanel/index.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/TextArea.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/TextArea.styled.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/TextArea.types.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/TextInput.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/TextInput.styled.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/TextInput.types.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/TextInput.utils.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/components/Buttons.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/components/FileInput.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/components/NormalTextInput.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/components/PasswordInput.d.ts +0 -0
- /package/dist/{components → types/components}/TextField/index.d.ts +0 -0
- /package/dist/{components → types/components}/Toggle/Toggle.d.ts +0 -0
- /package/dist/{components → types/components}/Toggle/Toggle.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Toggle/index.d.ts +0 -0
- /package/dist/{components → types/components}/Tooltip/Tooltip.d.ts +0 -0
- /package/dist/{components → types/components}/Tooltip/Tooltip.styled.d.ts +0 -0
- /package/dist/{components → types/components}/Tooltip/Tooltip.types.d.ts +0 -0
- /package/dist/{components → types/components}/Tooltip/Tooltip.utils.d.ts +0 -0
- /package/dist/{components → types/components}/Tooltip/index.d.ts +0 -0
- /package/dist/{components → types/components}/UploadManager/UploadManager.d.ts +0 -0
- /package/dist/{components → types/components}/UploadManager/UploadManager.styled.d.ts +0 -0
- /package/dist/{components → types/components}/UploadManager/UploadManager.types.d.ts +0 -0
- /package/dist/{components → types/components}/UploadManager/index.d.ts +0 -0
- /package/dist/{foundations → types/foundations}/index.d.ts +0 -0
- /package/dist/{foundations → types/foundations}/palette.d.ts +0 -0
- /package/dist/{foundations → types/foundations}/spacing.d.ts +0 -0
- /package/dist/{foundations → types/foundations}/styles.d.ts +0 -0
- /package/dist/{icons → types/icons}/BellNoti/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/CloseLarge/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/CloseSmall/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/CopyCoordinates/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/CopyCoordinatesUrl/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/DownloadPdf/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/Ellipse/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/EllipseExclude/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/EllipseInclude/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/FilterNoti/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/HideLarge/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/HideSmall/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/InformationLarge/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/InformationSmall/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/Manufacturer/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/Rectangle/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/RectangleExclude/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/RectangleInclude/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/RefreshLeft/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/RefreshRight/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/ShowLarge/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/ShowSmall/index.d.ts +0 -0
- /package/dist/{icons → types/icons}/index.d.ts +0 -0
- /package/dist/{index.d.ts → types/index.d.ts} +0 -0
- /package/dist/{presentations → types/presentations}/Accordion/Accordion.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Accordion/Accordion.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Accordion/Accordion.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Accordion/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/AnalysisBar/AnalysisBar.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/AnalysisBar/AnalysisBar.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/AnalysisBar/AnalysisBar.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/AnalysisBar/AnalysisBar.utils.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/AnalysisBar/HeatmapGraphIcon/HeatmapGraphSVG.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/AnalysisBar/HeatmapGraphIcon/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/AnalysisBar/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/FreeText/FreeText.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/FreeText/FreeText.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/FreeText/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Histogram/Histogram.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Histogram/Histogram.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Histogram/Histogram.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Histogram/Histogram.utils.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Histogram/HistogramCharts.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Histogram/HistogramTabs.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Histogram/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/HorizonDivider/HorizonDivider.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/HorizonDivider/HorizonDivider.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/HorizonDivider/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ModelType/ModelType.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ModelType/ModelType.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ModelType/ModelType.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ModelType/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Preview/ModelTypeControl.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Preview/Preview.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Preview/Preview.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Preview/Preview.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Preview/ThresholdControl.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Preview/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Score/Score.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Score/Score.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Score/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Statistic/Statistic.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Statistic/Statistic.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Statistic/Statistic.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Statistic/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Threshold/Threshold.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Threshold/Threshold.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Threshold/Threshold.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Threshold/Threshold.utils.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/Threshold/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ToggleControl/ToggleControl.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ToggleControl/ToggleControl.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ToggleControl/ToggleControl.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ToggleControl/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ToggleControlGroup/ToggleControlGroup.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ToggleControlGroup/ToggleControlGroup.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ToggleControlGroup/ToggleControlGroup.types.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/ToggleControlGroup/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/index.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/presentations.styled.d.ts +0 -0
- /package/dist/{presentations → types/presentations}/presentations.types.d.ts +0 -0
- /package/dist/{systems → types/systems}/drawer.d.ts +0 -0
- /package/dist/{systems → types/systems}/index.d.ts +0 -0
|
@@ -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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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 {};
|
|
@@ -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?:
|
|
14
|
-
inputRef?:
|
|
13
|
+
inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
|
|
14
|
+
inputRef?: React.Ref<HTMLInputElement>;
|
|
15
15
|
}
|
|
@@ -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
|
+
}
|
|
@@ -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
|
|
3
|
+
export interface DatePickerProps extends MuiDatePickerProps {
|
|
4
4
|
alignment?: DatePickerAlignment;
|
|
5
5
|
placeholder?: string;
|
|
6
6
|
}
|
|
@@ -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;
|
|
@@ -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
|
-
|
|
3
|
+
type BaseIconDropdownProps = BaseDropdownProps & {
|
|
4
4
|
isToggled?: boolean;
|
|
5
|
-
}
|
|
6
|
-
|
|
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;
|
|
@@ -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?:
|
|
13
|
-
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?:
|
|
12
|
-
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 {
|
|
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:
|
|
156
|
+
declare const typographyOptions: TypographyVariantsOptions;
|
|
157
157
|
export default typographyOptions;
|
|
@@ -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`)
|