@esnet/packets-ui-react
v0.9.1
Published
The Packets Design System React Package
Downloads
464
Readme
@esnet/packets-ui-react
React components for the Packets Design System, a cross-organizational UI library from ESnet.
Installation
npm install @esnet/packets-ui-css @esnet/packets-ui-reactPackets ships styles separately. You must install @esnet/packets-ui-css alongside the React package.
Peer dependencies
npm install react react-dom antd lucide-reactSetup
1. Add the fonts
Add this to your <head>:
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Signika:[email protected]&family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap"
rel="stylesheet"
/>2. Import the styles
import '@esnet/packets-ui-css/styles.css';3. Add the root class
Add the packets class to your app's root element:
<body class="packets">Optionally add dark or light:
<body class="packets dark">Usage
import { PktsButton, PktsAlert, PktsAvatar } from '@esnet/packets-ui-react';
function App() {
return (
<div>
<PktsButton variant="primary">Save</PktsButton>
<PktsAlert variant="success">Changes saved.</PktsAlert>
<PktsAvatar initials="JD" size="medium" color="grape" />
</div>
);
}Available Components
PktsAlert: alert messages (error, warning, success, info)PktsAvatar: user avatar with initialsPktsBreadcrumbs: breadcrumb navigationPktsButton: button (primary, secondary, branded, tertiary, destructive)PktsButtonGroup: horizontal or vertical button groupPktsChip/PktsChipGroup: chip tagsPktsDataTable: data tablePktsDatum: label/value pairPktsDivider: horizontal dividerPktsFormSection: form section layoutPktsIconButton: icon-only buttonPktsInputCheckbox: checkbox inputPktsInputDate/PktsInputDatePicker/PktsInputDateRange: date inputsPktsInputEmail: email inputPktsInputNumber: number inputPktsInputPassword: password inputPktsInputRadioButton: radio buttonPktsInputSearch: search inputPktsInputSwitch: toggle switchPktsInputText/PktsInputTextArea: text inputsPktsLabel: form labelPktsListTreeView: tree view listPktsModule: module containerPktsSpinner: loading spinner
Dark Mode
Toggle dark mode by adding or removing the dark class on the root element:
document.body.classList.toggle('dark');Related Packages
| Package | Description |
|---|---|
| @esnet/packets-ui-css | CSS-only components, no framework required |
| @esnet/packets-ui-web | Web Components, framework-agnostic |
License
MIT. See the root repository for full license details.
