UNPKG

@zeix/ui-element

Version:

UIElement - minimal reactive framework based on Web Components

367 lines 58.2 kB
<tab-group>
	<div role="tablist">
		<button type="button" role="tab" id="trigger_my-slider.html" aria-controls="panel_my-slider.html" aria-selected="false" tabindex="-1">HTML</button>
		<button type="button" role="tab" id="trigger_my-slider.css" aria-controls="panel_my-slider.css" aria-selected="false" tabindex="-1">CSS</button>
		<button type="button" role="tab" id="trigger_my-slider.ts" aria-controls="panel_my-slider.ts" aria-selected="true" tabindex="0">TypeScript</button>
	</div>
	
<div role="tabpanel" id="panel_my-slider.html" aria-labelledby="trigger_my-slider.html" hidden>
	<code-block language="html" copy-success="Copied!" copy-error="Error trying to copy to clipboard!">
		<p class="meta">
			<span class="file">my-slider.html</span>
			<span class="language">html</span>
		</p>
		<pre class="shiki monokai" style="background-color:#272822;color:#F8F8F2" tabindex="0"><code><span class="line"><span style="color:#F8F8F2">&#x3C;</span><span style="color:#F92672">my-slider</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">	&#x3C;</span><span style="color:#F92672">h2</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"visually-hidden"</span><span style="color:#F8F8F2">>Slides&#x3C;/</span><span style="color:#F92672">h2</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">	&#x3C;</span><span style="color:#F92672">div</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"slides"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;</span><span style="color:#F92672">div</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"slide active"</span><span style="color:#A6E22E"> data-index</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"0"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;</span><span style="color:#F92672">h3</span><span style="color:#F8F8F2">>Slide 1&#x3C;/</span><span style="color:#F92672">h3</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;</span><span style="color:#F92672">hello-world</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">label</span></span>
<span class="line"><span style="color:#F8F8F2">					>Your name&#x3C;</span><span style="color:#F92672">br</span><span style="color:#F8F8F2"> /></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">input</span><span style="color:#A6E22E"> type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"text"</span><span style="color:#F8F8F2"> /></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;/</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">>Hello, &#x3C;</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">>World&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">>!&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;/</span><span style="color:#F92672">hello-world</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;/</span><span style="color:#F92672">div</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;</span><span style="color:#F92672">div</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"slide"</span><span style="color:#A6E22E"> data-index</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"1"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;</span><span style="color:#F92672">h3</span><span style="color:#F8F8F2">>Slide 2&#x3C;/</span><span style="color:#F92672">h3</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;</span><span style="color:#F92672">calc-table</span><span style="color:#A6E22E"> rows</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"3"</span><span style="color:#A6E22E"> columns</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"3"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">div</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"rows"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">>Number of rows:&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">spin-button</span></span>
<span class="line"><span style="color:#A6E22E">						value</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"3"</span></span>
<span class="line"><span style="color:#A6E22E">						zero-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Add Row"</span></span>
<span class="line"><span style="color:#A6E22E">						increment-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Increment"</span></span>
<span class="line"><span style="color:#F8F8F2">					></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">button</span></span>
<span class="line"><span style="color:#A6E22E">							type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"button"</span></span>
<span class="line"><span style="color:#A6E22E">							class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"decrement"</span></span>
<span class="line"><span style="color:#A6E22E">							aria-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Decrement"</span></span>
<span class="line"><span style="color:#F8F8F2">						></span></span>
<span class="line"><span style="color:#F8F8F2">							−</span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">p</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"value"</span><span style="color:#F8F8F2">>3&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">button</span></span>
<span class="line"><span style="color:#A6E22E">							type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"button"</span></span>
<span class="line"><span style="color:#A6E22E">							class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"increment"</span></span>
<span class="line"><span style="color:#A6E22E">							aria-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Increment"</span></span>
<span class="line"><span style="color:#F8F8F2">						></span></span>
<span class="line"><span style="color:#F8F8F2">							+</span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;/</span><span style="color:#F92672">spin-button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;/</span><span style="color:#F92672">div</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">div</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"columns"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">>Number of columns:&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">spin-button</span></span>
<span class="line"><span style="color:#A6E22E">						value</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"3"</span></span>
<span class="line"><span style="color:#A6E22E">						zero-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Add Column"</span></span>
<span class="line"><span style="color:#A6E22E">						increment-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Increment"</span></span>
<span class="line"><span style="color:#F8F8F2">					></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">button</span></span>
<span class="line"><span style="color:#A6E22E">							type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"button"</span></span>
<span class="line"><span style="color:#A6E22E">							class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"decrement"</span></span>
<span class="line"><span style="color:#A6E22E">							aria-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Decrement"</span></span>
<span class="line"><span style="color:#F8F8F2">						></span></span>
<span class="line"><span style="color:#F8F8F2">							−</span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">p</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"value"</span><span style="color:#F8F8F2">>3&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">button</span></span>
<span class="line"><span style="color:#A6E22E">							type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"button"</span></span>
<span class="line"><span style="color:#A6E22E">							class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"increment"</span></span>
<span class="line"><span style="color:#A6E22E">							aria-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Increment"</span></span>
<span class="line"><span style="color:#F8F8F2">						></span></span>
<span class="line"><span style="color:#F8F8F2">							+</span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;/</span><span style="color:#F92672">spin-button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;/</span><span style="color:#F92672">div</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">table</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">thead</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">tr</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">th</span><span style="color:#A6E22E"> scope</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"col"</span><span style="color:#F8F8F2">>Row&#x3C;/</span><span style="color:#F92672">th</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">tr</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;/</span><span style="color:#F92672">thead</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">tbody</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">tbody</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">tfoot</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">tr</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">th</span><span style="color:#A6E22E"> scope</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"row"</span><span style="color:#F8F8F2">>Sum&#x3C;/</span><span style="color:#F92672">th</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">tr</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;/</span><span style="color:#F92672">tfoot</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;/</span><span style="color:#F92672">table</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">template</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"calc-table-row"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">tr</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">th</span><span style="color:#A6E22E"> scope</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"row"</span><span style="color:#F8F8F2">>&#x3C;</span><span style="color:#F92672">slot</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">slot</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">th</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;/</span><span style="color:#F92672">tr</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;/</span><span style="color:#F92672">template</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">template</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"calc-table-colhead"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">th</span><span style="color:#A6E22E"> scope</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"col"</span><span style="color:#F8F8F2">>&#x3C;</span><span style="color:#F92672">slot</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">slot</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">th</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;/</span><span style="color:#F92672">template</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">template</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"calc-table-cell"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">td</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">span</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"visually-hidden"</span><span style="color:#F8F8F2">>&#x3C;</span><span style="color:#F92672">slot</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">slot</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">input</span></span>
<span class="line"><span style="color:#A6E22E">								type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"number"</span></span>
<span class="line"><span style="color:#A6E22E">								min</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"0"</span></span>
<span class="line"><span style="color:#A6E22E">								max</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"100"</span></span>
<span class="line"><span style="color:#A6E22E">								step</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"1"</span></span>
<span class="line"><span style="color:#A6E22E">								value</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">""</span></span>
<span class="line"><span style="color:#F8F8F2">							/></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;/</span><span style="color:#F92672">td</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;/</span><span style="color:#F92672">template</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;/</span><span style="color:#F92672">calc-table</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;/</span><span style="color:#F92672">div</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;</span><span style="color:#F92672">div</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"slide"</span><span style="color:#A6E22E"> data-index</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"2"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;</span><span style="color:#F92672">h3</span><span style="color:#F8F8F2">>Slide 3&#x3C;/</span><span style="color:#F92672">h3</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;</span><span style="color:#F92672">rating-feedback</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;</span><span style="color:#F92672">form</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">rating-stars</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">fieldset</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">legend</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"visually-hidden"</span><span style="color:#F8F8F2">>Rate&#x3C;/</span><span style="color:#F92672">legend</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">input</span></span>
<span class="line"><span style="color:#A6E22E">									type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"radio"</span></span>
<span class="line"><span style="color:#A6E22E">									class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"visually-hidden"</span></span>
<span class="line"><span style="color:#A6E22E">									name</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"rating"</span></span>
<span class="line"><span style="color:#A6E22E">									value</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"1"</span></span>
<span class="line"><span style="color:#F8F8F2">								/></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">span</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"label"</span><span style="color:#F8F8F2">>☆&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">input</span></span>
<span class="line"><span style="color:#A6E22E">									type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"radio"</span></span>
<span class="line"><span style="color:#A6E22E">									class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"visually-hidden"</span></span>
<span class="line"><span style="color:#A6E22E">									name</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"rating"</span></span>
<span class="line"><span style="color:#A6E22E">									value</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"2"</span></span>
<span class="line"><span style="color:#F8F8F2">								/></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">span</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"label"</span><span style="color:#F8F8F2">>☆&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">input</span></span>
<span class="line"><span style="color:#A6E22E">									type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"radio"</span></span>
<span class="line"><span style="color:#A6E22E">									class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"visually-hidden"</span></span>
<span class="line"><span style="color:#A6E22E">									name</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"rating"</span></span>
<span class="line"><span style="color:#A6E22E">									value</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"3"</span></span>
<span class="line"><span style="color:#F8F8F2">								/></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">span</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"label"</span><span style="color:#F8F8F2">>☆&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">input</span></span>
<span class="line"><span style="color:#A6E22E">									type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"radio"</span></span>
<span class="line"><span style="color:#A6E22E">									class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"visually-hidden"</span></span>
<span class="line"><span style="color:#A6E22E">									name</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"rating"</span></span>
<span class="line"><span style="color:#A6E22E">									value</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"4"</span></span>
<span class="line"><span style="color:#F8F8F2">								/></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">span</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"label"</span><span style="color:#F8F8F2">>☆&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">input</span></span>
<span class="line"><span style="color:#A6E22E">									type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"radio"</span></span>
<span class="line"><span style="color:#A6E22E">									class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"visually-hidden"</span></span>
<span class="line"><span style="color:#A6E22E">									name</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"rating"</span></span>
<span class="line"><span style="color:#A6E22E">									value</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"5"</span></span>
<span class="line"><span style="color:#F8F8F2">								/></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">span</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"label"</span><span style="color:#F8F8F2">>☆&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">label</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">fieldset</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;/</span><span style="color:#F92672">rating-stars</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;</span><span style="color:#F92672">div</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"feedback"</span><span style="color:#A6E22E"> hidden</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">header</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">button</span></span>
<span class="line"><span style="color:#A6E22E">								button</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"button"</span></span>
<span class="line"><span style="color:#A6E22E">								class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"hide"</span></span>
<span class="line"><span style="color:#A6E22E">								aria-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Hide"</span></span>
<span class="line"><span style="color:#F8F8F2">							></span></span>
<span class="line"><span style="color:#F8F8F2">								×</span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">p</span><span style="color:#A6E22E"> hidden</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								We're sorry to hear that! Your feedback is</span></span>
<span class="line"><span style="color:#F8F8F2">								important, and we'd love to improve. Let us know</span></span>
<span class="line"><span style="color:#F8F8F2">								how we can do better.</span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">p</span><span style="color:#A6E22E"> hidden</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								Thank you for your honesty. We appreciate your</span></span>
<span class="line"><span style="color:#F8F8F2">								feedback and will work on making things better.</span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">p</span><span style="color:#A6E22E"> hidden</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								Thanks for your rating! If there's anything we</span></span>
<span class="line"><span style="color:#F8F8F2">								can improve, we'd love to hear your thoughts.</span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">p</span><span style="color:#A6E22E"> hidden</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								We're glad you had a good experience! If there's</span></span>
<span class="line"><span style="color:#F8F8F2">								anything that could make it even better, let us</span></span>
<span class="line"><span style="color:#F8F8F2">								know.</span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">p</span><span style="color:#A6E22E"> hidden</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								Thank you for your support! We're thrilled you</span></span>
<span class="line"><span style="color:#F8F8F2">								had a great experience. Your feedback keeps us</span></span>
<span class="line"><span style="color:#F8F8F2">								motivated!</span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">p</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">header</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;</span><span style="color:#F92672">fieldset</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">label</span><span style="color:#A6E22E"> for</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"rating-feedback"</span></span>
<span class="line"><span style="color:#F8F8F2">								>Describe your experience (optional)&#x3C;/</span><span style="color:#F92672">label</span></span>
<span class="line"><span style="color:#F8F8F2">							></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">textarea</span><span style="color:#A6E22E"> id</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"rating-feedback"</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">textarea</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;</span><span style="color:#F92672">input-button</span><span style="color:#A6E22E"> disabled</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;</span><span style="color:#F92672">button</span><span style="color:#A6E22E"> type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"submit"</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"primary"</span><span style="color:#A6E22E"> disabled</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">									Submit</span></span>
<span class="line"><span style="color:#F8F8F2">								&#x3C;/</span><span style="color:#F92672">button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">							&#x3C;/</span><span style="color:#F92672">input-button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">						&#x3C;/</span><span style="color:#F92672">fieldset</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">					&#x3C;/</span><span style="color:#F92672">div</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">				&#x3C;/</span><span style="color:#F92672">form</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">			&#x3C;/</span><span style="color:#F92672">rating-feedback</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;/</span><span style="color:#F92672">div</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">	&#x3C;/</span><span style="color:#F92672">div</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">	&#x3C;</span><span style="color:#F92672">button</span><span style="color:#A6E22E"> type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"button"</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"prev"</span><span style="color:#A6E22E"> aria-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Previous"</span><span style="color:#F8F8F2">>‹&#x3C;/</span><span style="color:#F92672">button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">	&#x3C;</span><span style="color:#F92672">button</span><span style="color:#A6E22E"> type</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"button"</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"next"</span><span style="color:#A6E22E"> aria-label</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"Next"</span><span style="color:#F8F8F2">>›&#x3C;/</span><span style="color:#F92672">button</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">	&#x3C;</span><span style="color:#F92672">div</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"dots"</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;</span><span style="color:#F92672">span</span><span style="color:#A6E22E"> class</span><span style="color:#F8F8F2">=</span><span style="color:#E6DB74">"active"</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">		&#x3C;</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">>&#x3C;/</span><span style="color:#F92672">span</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">	&#x3C;/</span><span style="color:#F92672">div</span><span style="color:#F8F8F2">></span></span>
<span class="line"><span style="color:#F8F8F2">&#x3C;/</span><span style="color:#F92672">my-slider</span><span style="color:#F8F8F2">></span></span>
<span class="line"></span></code></pre>
		<input-button class="copy">
			<button type="button" class="secondary small">
				<span class="label">Copy</span>
			</button>
		</input-button>
	</code-block>
</div>

<div role="tabpanel" id="panel_my-slider.css" aria-labelledby="trigger_my-slider.css" hidden>
	<code-block language="css" copy-success="Copied!" copy-error="Error trying to copy to clipboard!">
		<p class="meta">
			<span class="file">my-slider.css</span>
			<span class="language">css</span>
		</p>
		<pre class="shiki monokai" style="background-color:#272822;color:#F8F8F2" tabindex="0"><code><span class="line"><span style="color:#F92672">my-slider</span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">	display</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">flex</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">	overflow</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">hidden</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">	aspect-ratio</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">16</span><span style="color:#F8F8F2"> / </span><span style="color:#AE81FF">9</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">	position</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">relative</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#F8F8F2">	</span></span>
<span class="line"><span style="color:#F8F8F2">	.slides {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		display</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">flex</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		align-items</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">center</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		justify-content</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">center</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		width</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">100</span><span style="color:#F92672">%</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#F8F8F2">	}</span></span>
<span class="line"><span style="color:#F8F8F2">	</span></span>
<span class="line"><span style="color:#A6E22E">	.slide</span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		min-width</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">100</span><span style="color:#F92672">%</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		text-align</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">center</span><span style="color:#F8F8F2">;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F8F8F2">		&#x26;:not(.</span><span style="color:#66D9EF">active</span><span style="color:#F8F8F2">) {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">			display</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">none</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#F8F8F2">		}</span></span>
<span class="line"><span style="color:#F8F8F2">	}</span></span>
<span class="line"><span style="color:#F8F8F2">	</span></span>
<span class="line"><span style="color:#A6E22E">	.dots</span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		position</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">absolute</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		bottom</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		left</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		width</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">100</span><span style="color:#F92672">%</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		display</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">flex</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		justify-content</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">center</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		gap</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--space-xs);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		padding-block</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--space-s);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F8F8F2">		> </span><span style="color:#66D9EF;font-style:italic">span</span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">            width</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--space-s);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">            height</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--space-s);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">            border-radius</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">50</span><span style="color:#F92672">%</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">            background-color</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--color-text);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">			opacity</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--opacity-translucent);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F8F8F2">            &#x26;.active {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">                opacity</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--opacity-solid);</span></span>
<span class="line"><span style="color:#F8F8F2">            }</span></span>
<span class="line"><span style="color:#F8F8F2">		}</span></span>
<span class="line"><span style="color:#F8F8F2">	}</span></span>
<span class="line"><span style="color:#F8F8F2">	</span></span>
<span class="line"><span style="color:#F92672">	></span><span style="color:#F92672"> button</span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		position</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">absolute</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		top</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">2</span><span style="color:#F92672">%</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		height</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">96</span><span style="color:#F92672">%</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		border</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		border-radius</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--space-xs);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		background</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">transparent</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		padding</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--space-m);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		font-size</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--font-size-xxl);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		color</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--color-text);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		opacity</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--opacity-dimmed);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">		transition</span><span style="color:#F8F8F2">: opacity </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--transition-short) </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--easing-inout);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F8F8F2">		&#x26;:hover,</span></span>
<span class="line"><span style="color:#F8F8F2">		&#x26;:</span><span style="color:#66D9EF">active</span><span style="color:#F8F8F2">,</span></span>
<span class="line"><span style="color:#F8F8F2">		&#x26;:focus {</span></span>
<span class="line"><span style="color:#F8F8F2">            opacity: </span><span style="color:#66D9EF">var</span><span style="color:#F8F8F2">(--opacity-solid);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">			background-color</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">rgba</span><span style="color:#F8F8F2">(</span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">, </span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">, </span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">, </span><span style="color:#AE81FF">0.05</span><span style="color:#F8F8F2">);</span></span>
<span class="line"><span style="color:#F8F8F2">        }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F8F8F2">		&#x26;</span><span style="color:#A6E22E">:active</span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">			background-color</span><span style="color:#F8F8F2">: </span><span style="color:#66D9EF">rgba</span><span style="color:#F8F8F2">(</span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">, </span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">, </span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">, </span><span style="color:#AE81FF">0.1</span><span style="color:#F8F8F2">);</span></span>
<span class="line"><span style="color:#F8F8F2">		}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F8F8F2">		&#x26;</span><span style="color:#A6E22E">.prev</span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">			left</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">1</span><span style="color:#F92672">%</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#F8F8F2">		}</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F8F8F2">		&#x26;</span><span style="color:#A6E22E">.next</span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">            right</span><span style="color:#F8F8F2">: </span><span style="color:#AE81FF">1</span><span style="color:#F92672">%</span><span style="color:#F8F8F2">;</span></span>
<span class="line"><span style="color:#F8F8F2">        }</span></span>
<span class="line"><span style="color:#F8F8F2">	}</span></span>
<span class="line"><span style="color:#F8F8F2">}</span></span></code></pre>
		<input-button class="copy">
			<button type="button" class="secondary small">
				<span class="label">Copy</span>
			</button>
		</input-button>
	</code-block>
</div>

<div role="tabpanel" id="panel_my-slider.ts" aria-labelledby="trigger_my-slider.ts">
	<code-block language="ts" copy-success="Copied!" copy-error="Error trying to copy to clipboard!">
		<p class="meta">
			<span class="file">my-slider.ts</span>
			<span class="language">ts</span>
		</p>
		<pre class="shiki monokai" style="background-color:#272822;color:#F8F8F2" tabindex="0"><code><span class="line"><span style="color:#F92672">import</span><span style="color:#F8F8F2"> { all, component, first, on, state, toggleClass } </span><span style="color:#F92672">from</span><span style="color:#E6DB74"> "../../../"</span><span style="color:#F8F8F2">;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F92672">export</span><span style="color:#F92672"> default</span><span style="color:#A6E22E"> component</span><span style="color:#F8F8F2">(</span><span style="color:#E6DB74">"my-slider"</span><span style="color:#F8F8F2">, {}, (</span><span style="color:#FD971F;font-style:italic">el</span><span style="color:#F8F8F2">) </span><span style="color:#66D9EF;font-style:italic">=></span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">	const</span><span style="color:#F8F8F2"> active </span><span style="color:#F92672">=</span><span style="color:#A6E22E"> state</span><span style="color:#F8F8F2">(</span><span style="color:#AE81FF">0</span><span style="color:#F8F8F2">);</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">	const</span><span style="color:#F8F8F2"> total </span><span style="color:#F92672">=</span><span style="color:#F8F8F2"> el.</span><span style="color:#A6E22E">querySelectorAll</span><span style="color:#F8F8F2">(</span><span style="color:#E6DB74">".slide"</span><span style="color:#F8F8F2">).length;</span></span>
<span class="line"><span style="color:#66D9EF;font-style:italic">	const</span><span style="color:#A6E22E"> isActive</span><span style="color:#F92672"> =</span><span style="color:#F8F8F2"> (</span><span style="color:#FD971F;font-style:italic">target</span><span style="color:#F92672">:</span><span> </span><span style="color:#A6E22E;text-decoration:underline">HTMLElement</span><span style="color:#F8F8F2">)</span><span style="color:#F92672">:</span><span style="color:#66D9EF;font-style:italic"> boolean</span><span style="color:#66D9EF;font-style:italic"> =></span></span>
<span class="line"><span style="color:#A6E22E">		String</span><span style="color:#F8F8F2">(active.</span><span style="color:#A6E22E">get</span><span style="color:#F8F8F2">()) </span><span style="color:#F92672">===</span><span style="color:#F8F8F2"> target.dataset[</span><span style="color:#E6DB74">"index"</span><span style="color:#F8F8F2">];</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F92672">	return</span><span style="color:#F8F8F2"> [</span></span>
<span class="line"><span style="color:#A6E22E">		first</span><span style="color:#F8F8F2">(</span></span>
<span class="line"><span style="color:#E6DB74">			".prev"</span><span style="color:#F8F8F2">,</span></span>
<span class="line"><span style="color:#A6E22E">			on</span><span style="color:#F8F8F2">(</span><span style="color:#E6DB74">"click"</span><span style="color:#F8F8F2">, () </span><span style="color:#66D9EF;font-style:italic">=></span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#F8F8F2">				active.</span><span style="color:#A6E22E">update</span><span style="color:#F8F8F2">((</span><span style="color:#FD971F;font-style:italic">v</span><span style="color:#F8F8F2">) </span><span style="color:#66D9EF;font-style:italic">=></span><span style="color:#F8F8F2"> (v </span><span style="color:#F92672">-</span><span style="color:#AE81FF"> 1</span><span style="color:#F92672"> +</span><span style="color:#F8F8F2"> total) </span><span style="color:#F92672">%</span><span style="color:#F8F8F2"> total);</span></span>
<span class="line"><span style="color:#F8F8F2">			}),</span></span>
<span class="line"><span style="color:#F8F8F2">		),</span></span>
<span class="line"><span style="color:#A6E22E">		first</span><span style="color:#F8F8F2">(</span></span>
<span class="line"><span style="color:#E6DB74">			".next"</span><span style="color:#F8F8F2">,</span></span>
<span class="line"><span style="color:#A6E22E">			on</span><span style="color:#F8F8F2">(</span><span style="color:#E6DB74">"click"</span><span style="color:#F8F8F2">, () </span><span style="color:#66D9EF;font-style:italic">=></span><span style="color:#F8F8F2"> {</span></span>
<span class="line"><span style="color:#F8F8F2">				active.</span><span style="color:#A6E22E">update</span><span style="color:#F8F8F2">((</span><span style="color:#FD971F;font-style:italic">v</span><span style="color:#F8F8F2">) </span><span style="color:#66D9EF;font-style:italic">=></span><span style="color:#F8F8F2"> (v </span><span style="color:#F92672">+</span><span style="color:#AE81FF"> 1</span><span style="color:#F92672"> +</span><span style="color:#F8F8F2"> total) </span><span style="color:#F92672">%</span><span style="color:#F8F8F2"> total);</span></span>
<span class="line"><span style="color:#F8F8F2">			}),</span></span>
<span class="line"><span style="color:#F8F8F2">		),</span></span>
<span class="line"><span style="color:#A6E22E">		all</span><span style="color:#F8F8F2">(</span><span style="color:#E6DB74">".slide"</span><span style="color:#F8F8F2">, </span><span style="color:#A6E22E">toggleClass</span><span style="color:#F8F8F2">(</span><span style="color:#E6DB74">"active"</span><span style="color:#F8F8F2">, isActive)),</span></span>
<span class="line"><span style="color:#A6E22E">		all</span><span style="color:#F8F8F2">(</span><span style="color:#E6DB74">".dots span"</span><span style="color:#F8F8F2">, </span><span style="color:#A6E22E">toggleClass</span><span style="color:#F8F8F2">(</span><span style="color:#E6DB74">"active"</span><span style="color:#F8F8F2">, isActive)),</span></span>
<span class="line"><span style="color:#F8F8F2">	];</span></span>
<span class="line"><span style="color:#F8F8F2">});</span></span>
<span class="line"></span></code></pre>
		<input-button class="copy">
			<button type="button" class="secondary small">
				<span class="label">Copy</span>
			</button>
		</input-button>
	</code-block>
</div>
</tab-group>