Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@cpt2/cpt2-common-ui
Advanced tools
Common UI components styled with Tailwindcss
The CPT2 Common UI package exposes a collection of Tailwind CSS formatted UI components.
npm i @cpt2/cpt2-common-ui
I'm going to assume you have react
and react-dom
installed, but you will need the following FontAwesome
libraries.
npm i @fortawesome/fontawesome-svg-core @fortawesome/free-solid-svg-icons @fortawesome/react-fontawesome
You'll also need react-router-dom
, as we use its Link
component.
npm i react-router-dom
Standard components
import {
ActionCard,
ActivityCard,
AdminCard,
Alert,
AlertFloating,
Avatar,
AvatarGroup,
Badge,
BadgeGroup,
Banner,
Breadcrumbs,
Button,
Checkbox,
CollapsibleCard,
DateCard,
DraggableCardsWrapper,
DropdownMenu,
EventCard,
FormInput,
FormSelect,
GenericCard,
Icon,
InfoCard,
InlineEditor,
Modal,
Navbar,
Notification,
NotificationBadge,
Questionnaire,
RadioGroup,
Ratio,
RoleCard,
SectionTitle,
SelectMenu,
Sidebar,
SlideOver,
SquareButton,
StackedEditor,
Stepper,
SubHeader,
TabNav,
Table,
TaskCard,
Timeline,
Toggle,
Tooltip,
UserCard
} from '@cpt2/cpt2-common-ui'
We also export some so-called 'pure' components, which are display only versions of components that otherwise manage their own state. We do this so that external component users can manage the state of these components themselves.
import {
PureAlertFloating,
PureBanner,
PureCollapsibleCard,
PureInlineEditor,
PureNotification,
PureToggle
} from '@cpt2/cpt2-common-ui'
import { utils } from '@cpt2/cpt2-common-ui'
classNames
— combines various individual class names together into a single string, and eliminates any that are null, empty or otherwise falsy.clickable
— a wrapper around a component that applies a clickable button if there is an onClick
handler in the props.makeGroupReducer
— handy when you need to group an array of objects by their id
, name
, slug
, or whatever, into a set of ordered arraysmakeIndexReducer
— handy when you need to index an array of objects by their id
, name
, slug
, or whatever.makeVariantFinder
— a factory for making variant finders given a set of variants and an optional default key.noop
- a function that does nothingreorder
- a function that reorders an arrayserialCommaList
— a function that formats a list of words separated by commas, including an Oxford comma as appropriate.import { hooks } from '@cpt2/cpt2-common-ui'
useViewport
— returns a current width
and attaches a window.resize
handler to maintain that width
.You can preview the components via the following storybooks.
name | branch | deploys on | status | url |
---|---|---|---|---|
storybook-dev | develop | PRs and Merge | cpt2-common-ui.netlify.app | |
storybook-prod | main | PRs and Merge | n/a | n/a |
Please review the contributing notes before proceeding.
branch | ci status | coverage | notes |
---|---|---|---|
develop | work in progress | ||
main | production release |
14.17.5
(LTS) (I use nvm
to manage Node versions — brew install nvm
.)6.x
This is installed with NodeJS on mac and linux systems by default.credible-platform
DNS configuration via GoDaddy (You'll need the correct permissions for this to work).CPT2
account on Netlify.npm ci
If you find yourself needing to do a complete wipe and reinstall of dependencies you'll discover that the versions of babel-loader
and webpack
that Storybook uses are not aligned with the versions in react-scripts
. This will cause all kinds of errors.
To fix this:
rm -rf node_modules
to nuke your node_modules
folder, thenrm package-lock.json
to get rid of the broken package-lock.json
file.npm i --package-lock-only babel-loader@8.1.0 webpack@4.44.2
.package.json
file and remove babel-loader
and webpack
from dependencies
and save it.npm install
and the dependencies will be correctly aligned.npm start
Open localhost:6006 to view it in the browser.
The site will reload if you make edits. You will also see any lint errors in the console.
npm test
Launches the test runner in interactive watch mode.
npm run build
You must be a member of the cpt2
organisation on npmjs.com.
Read the section on creating a production release in the contributing notes.
Please see the contributing notes.
FAQs
cpt's Common UI components styled with Tailwind CSS
We found that @cpt2/cpt2-common-ui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.