0.3.3 • Published 3 years ago

gniben v0.3.3

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

Gniben

A batteries included js optional popover

Installation

npm i gniben

Usage

<script>
	import Gniben from 'gniben';
</script>

<Gniben>
	<button slot="target">Use to me toggle the popover</button>
	<div slot="content">
		Whatever you put here will be hidden/shown by pressing the button even without js enabled
	</div>
</Gniben>

Attributes

Gniben will check certain attributes on the content within the slots in order to provide better functionality

data-gniben-close

Click events on elements with the data attribute gniben-close will automatically close the popover

<Gniben>
	<button slot="target">Toggle</button>
	<div slot="content">
		<button data-gniben-close>Clicking me will close the popover</button>
	</div>
</Gniben>

autofocus

When opening the popover Gniben will automatically focus the first element in the content slot that has the attribute autofocus (if any).

<Gniben>
	<button slot="target">Toggle</button>
	<div slot="content">
		<input autofocus />
	</div>
</Gniben>

Slots

Open

The open slot can be used for example to change content or styling based on whether or not the popover is open

<Gniben let:open>
	<button slot="target">{#if open} i am now open {:else} i am closed {/if}</button>
	<div slot="content">...</div>
</Gniben>

Elements

under the hood Gniben renders a details and summary element it exposes all relevant elements as slots so that you can reference them for focus management and what else you may need

<!-- This -->
<Gniben let:element let:target let:content>
	<button slot="target">...</button>
	<div slot="content">...</div>
</Gniben>

<!-- Becomes -->
<details bind:this="{element}">
	<summary bind:this="{target}">
		<button>...</button>
	</summary>
	<div bind:this="{content}">...</div>
</details>
0.3.3

3 years ago

0.2.12

3 years ago

0.3.0

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.2.11

3 years ago

0.2.10

4 years ago

0.2.7

4 years ago

0.2.9

4 years ago

0.2.8

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.1

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.0

4 years ago

0.0.14

4 years ago

0.1.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.3

4 years ago

0.0.13

4 years ago

0.0.10

4 years ago

0.0.11

4 years ago

0.0.12

4 years ago

0.0.9

4 years ago

0.0.3

4 years ago

0.0.8

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago