Socket
Socket
Sign inDemoInstall

@cicciosgamino/color-scheme-button

Package Overview
Dependencies
6
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @cicciosgamino/color-scheme-button

Simple button to handle the color-scheme auto / light / dark / dim


Version published
Weekly downloads
3
increased by200%
Maintainers
1
Created
Weekly downloads
 

Changelog

Source

[2.0.0] - 27-10-2021

Changed

  • Remove the auto mode because we detect the light/dark mode as starting point
  • Less animations

Add

  • Completely new click and prefers-color-scheme handling
  • Sync between click and media query changes

Readme

Source

GitHub issues npm version Published on webcomponents.org

☀️ <color-scheme-button>

Simple button to handle the color-scheme auto / light / dark / dim . This custom elment it's a button with 4 SVG icons each for schema (auto, light, dark, dim). Dim schema it about orchestrating lightness and saturation, need to have enough saturation to still have a hue visible, but also just barely pass contrast scores. Check the very well done Adam Argyle intro about the shema / theme.

Little animation when button:hover and button:focus

https://web.dev/building-a-color-scheme/

examplesusageapiaccessibilitytodo

🕹️ Examples

Color Scheme Button

<style>
  color-scheme-button {
      width: 128px;
      height: 128px;

      --icon-color: purple;
    }
</style>

<color-scheme-button
  id="btn"
  title="Color Scheme"
  aria-label="Color Scheme">
</color-scheme-button>

🚀 Usage

  1. Install package
npm install --save @cicciosgamino/color-scheme-button
  1. Import
<!-- Import Js Module -->
<script type="module">
  // Importing this module registers <progress-ring> as an element that you
  // can use in this page.
  //
  // Note this import is a bare module specifier, so it must be converted
  // to a path using a server such as @web/dev-server.
  import '@cicciosgamino/color-scheme-button'
</script>
  1. Place in your HTML
<color-scheme-button
  id="btn"
  title="Color Scheme"
  aria-label="Color Scheme">
</color-scheme-button>

🐝 API

📒 Properties/Attributes

NameTypeDefaultDescription
titleString''Button title
ariaLabelString''Button aria-label

Methods

None

Events

None events dispatched by default but you can uncomment the code to dispatch the schema-event. This event is dispateched with both, bubble and composed. In the detail.schema field you can retrieve the value of the schema.

Event NameTargetDetailDescription
schema-eventcolor-schema-button`{ schema: 'autolight

🧁 CSS Custom Properties

NameDefaultDescription
--icon-color#000SVG fill attribute

💪 Accessibility

Acessibility is guaranted with the use of a button with the title and aria-label set on it.SVG icons inside the inner button are set role=img,aria-hidden="true",focusable="false" .

🔧 TODO

  • Better Documentation
  • More Examples

🧑‍💻 Author

@cicciosgamino
@cicciosgamino

Support

Reach out to me at one of the following places:

Donate

Donate help and contibutions!

License

GNU General Public License v3.0

Made 🧑‍💻 by @cicciosgamino

Keywords

FAQs

Last updated on 27 Oct 2021

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc