@central-ui/react
v1.0.0
Published
Accessible React components with optional Tailwind CSS style presets
Maintainers
Readme
Central UI
Accessible, unstyled React components with optional Shopify Polaris style presets and virtualization hooks. Compose the parts you need, use a preset for a ready-made appearance, or style them yourself with className.
Built on semantic HTML, Base UI, and other accessibility primitives. Style presets are raw Tailwind CSS v4 stylesheets, processed by your application's build. Maintained primarily for internal team use and available publicly under the MIT license.
Install
npm install @central-ui/reactUse
import { Button, Combobox } from '@central-ui/react'With Tailwind CSS v4.2.1 or later within v4, import the optional raw preset in your application's Tailwind stylesheet:
@import 'tailwindcss';
@import '@central-ui/react/presets/shopify-polaris-legacy.css';For the new Polaris appearance, use @central-ui/react/presets/shopify-polaris.css instead. It currently includes the global foundation and styles for Button, Input, NumberInput, Textarea, PasswordInput, OTPInput, Autocomplete, Combobox, Select, Menu, DatePicker, Checkbox, Radio, RatingInput, Slider, Switch, Toggle, FileUpload, Stepper, Splitter, Tabs, Accordion, Tooltip, Dialog, Drawer, Banner, Page, Badge, Chip, TextLink, Empty, Spinner, Popover, Table, Card, Skeleton, Avatar, Metric, Divider, Breadcrumb, Form, and Toast; other components will be added separately. The demo layout's style preset selector switches between the two presets on the same routes.
The preset includes global fonts, scrollbar styles, and animations. It sets the font family to Inter; load that font in your application if desired. Component styles are organized in internal files imported by the preset; those files are not public package imports.
Import no preset to omit the extracted visual styles. Core inline styles needed for positioning remain. Set disableStyle on an individual styleable part to replace its preset rules with your own className. This does not disable other parts or global preset styles. Behavior-only handlers do not have a disableStyle prop.
License
MIT. See LICENSE.
