device-agnostic-ui

Device agnostic styles, components and hooks for React and Next.js apps.

Usage no npm install needed!

<script type="module">
  import deviceAgnosticUi from 'https://cdn.skypack.dev/device-agnostic-ui';
</script>

README

Device Agnostic UI logo

Device Agnostic UI

npm version CI status

Device agnostic styles, components and hooks for React and Next.js apps β€” deviceagnosticui.com. One design for any viewport (size, orientation, resolution), input method (touch, mouse) or network speed. Simple to build, test and use.

  • πŸ“¦ Tiny bundle size. The minified and gzipped bundle size of individual modules are tested.
  • πŸ“± Mobile first. Intuitive layouts suitable for any screen size, without media queries.
  • ⌨️ Keyboard ok. Interactive components have clearly discernable :focus styles.
  • 🚨 Native UI. Lightweight, pretty and accessible form field validation messages.
  • πŸŒ— Dark mode. The color scheme adapts to the operating system’s light or dark mode.
  • 🎨 CSS variables. Easily tweak the theme globally or in your components.
  • 🌏 Few global styles. No intrusive normalization or resets; just the :root essentials.
  • πŸ–Œ Style raw HTML. Special <Html> component to style rendered markdown.
  • 🧠 Semantic markup. Lean use of semantically appropriate HTML elements.
  • βš›οΈ Modern React. Elegant use of React hooks, refs and fragments makes for a great DX.
  • β›‘ Type safety. Modules are typed via TypeScript JSDoc comments.

Installation

To install with npm, run:

npm install device-agnostic-ui

Theme, global, component, and syntax highlighting styles are exported in vanilla CSS files that must be manually loaded in your app, as necessary.

Requirements

  • Node.js: ^12.22.0 || ^14.17.0 || >= 16.0.0
  • Browsers: > 0.5%, not OperaMini all, not IE > 0, not dead

Exports

These ECMAScript modules and CSS files are published to npm and exported via the package.json exports field: