Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@squircle-js/react

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@squircle-js/react

  • 1.2.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
346
increased by90.11%
Maintainers
1
Weekly downloads
 
Created
Source

SquircleJS

This project aims to bring the iOS-style squircle to your front-end projects.

📕 Documentation

GitHub Repo stars npm

Features

  • 💃 Responsive squircle element that can be used any an intrinsic component.
  • 🙏 Fallback solution for No-JavaScript.
  • 👌 CommonJS and ES6 (tree-shakeable).
  • 🚀 Available for React (with react@18 support), with other frameworks coming later.
  • 🐁 Just 2.1kB gzipped.
  • 🧨 Documented usage examples.

Drawbacks

  • Uses JavaScript to apply corner smoothing (no way to do it with CSS only for now).
  • Does not currently support border-width. Works great with just background color.

What the 🤡 is a Squircle???

This is a valid question and not everyone is aware of what a Squircle is. A squircle is an intermediate shape between a square and a circle - Webflow Blog. If you've ever seen an iPhone home screen, you've seen a squircle. When you add additional corner smoothing to a regular rectangle with rounded corners, you get a squircle. It's a long story, but in short - you can't achieve Squircles in plain CSS, we have to do extra calculations for that, which is where the figma-squircle package comes in. Building on top of that package, this project adds bindings for UI libraries that make it possible to use it just like a regular html component, without worrying about layout-specific things.

Visually, this post from Figma Blog shows the difference really well:

preview-example

Usage

With React

Step 1

Star this repo ❤️

Step 2

Install the package

pnpm add @squircle-js/react
Step 3

Add to your project

import { Squircle } from "@squircle-js/react";

const YourComponent = () => {
  return (
    <Squircle
      cornerRadius={10}
      cornerSmoothing={1}
      className="p-4 bg-black text-white"
    >
      Squircle!
    </Squircle>
  );
};

Also, add a global component to ensure it still works when JavaScript is disabled.

// _app.tsx, or root-level layout.tsx
import { SquircleNoScript } from "@squircle-js/react";

...
<SquircleNoScript />
...

Websites using it

License

This project is licensed under MIT License

FAQs

Package last updated on 10 Nov 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc