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

@ryangjchandler/alpine-toggle

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ryangjchandler/alpine-toggle

Quickly toggle / negate a property in your Alpine.js components.

  • 0.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

✨ Help support the maintenance of this package by sponsoring me.

Alpine Toggle

Quickly toggle / negate a property in your Alpine.js components.

GitHub tag (latest by date) GitHub file size in bytes Monthly downloads via CDN

About

When you need to toggle a property in your code, you probably have something like this inside of your action:

<button>very.deeply.nested[0].property = ! very.deeply.nested[0].property</button>

Wouldn't it be nice if you could do this instead:

<button @click="$toggle('very.deeply.nested.0.property')"></button>

Installation

CDN

Include the following <script> tag in the <head> of your document:

<script src="https://insert-cdn-link-here.com"></script>

Important: This must be added before loading Alpine.js when using CDN links.

Usage

This plugin provides a single $toggle magic property that can be invoked and accepts a single argument - the dot-notation of the property you wish to toggle.

<div x-data="{ foo: true }">
    <p x-text="JSON.stringify(foo)"></p>
    <button @click="$toggle('foo')">Toggle</button>
</div>

When the button is clicked, the value of foo will be flipped and become false.

Nested properties

You can also negate nested properties inside of objects:

<div x-data="{ foo: { bar: true } }">
    <p x-text="JSON.stringify(foo.bar)"></p>
    <button @click="$toggle('foo.bar')">Toggle (nested)</button>
</div>

Just pass in the dot-notation path for the property and the plugin will handle the rest.

Nested arrays

If you have an array of objects, you might wish to use the index of the array too. Use the syntax below, as part of the dot-notation, to toggle something inside of an array.

<div x-data="{ foo: { bar: { boo: [true] } } }">
    <p x-text="JSON.stringify(foo.bar.boo[0])"></p>
    <button @click="$toggle('foo.bar.boo.0')">Toggle (nested array)</button>
</div>

Versioning

This projects follow the Semantic Versioning guidelines. This means that there could be breaking changes on minor version changes, up until v1.x is reached.

For example, 0.1 -> 0.2 might introduce a breaking change.

License

Copyright (c) 2020 Ryan Chandler and contributors

Licensed under the MIT license, see LICENSE.md for details.

FAQs

Package last updated on 30 Aug 2020

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