UNPKG

@adobe/coral-spectrum

Version:

Coral Spectrum is a JavaScript library of Web Components following Spectrum design patterns.

155 lines (136 loc) 6.66 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Coral.Radio</title> <script>document.addEventListener('click', function(event) {if (event.target.nodeName === 'A' || event.matchedTarget && event.matchedTarget.nodeName === 'A') {event.preventDefault();}});</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css"> <style>.hljs{background:#fff;font-size:12px;border-radius:4px;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;}</style> <script> document.addEventListener('DOMContentLoaded', function() { const markup = document.body.querySelectorAll('.markup'); for (var i = 0; i < markup.length; i++) { const code = markup[i].innerHTML; const id = 'markup-code-' + i; markup[i].insertAdjacentHTML('afterend', '<div style="margin:10px 0">' + '<a onclick="this.nextElementSibling.hidden = !this.nextElementSibling.hidden" class="coral-Link" href="#">Toggle markup</a>' + '<pre hidden>' + '<code id="'+ id +'" class="html">' + '</code>' + '</pre>' + '</div>'); document.getElementById(id).textContent = code; } window.hljs.initHighlightingOnLoad(); }); </script> <link rel="stylesheet" href="../css/coral.css"> <script> document.addEventListener('DOMContentLoaded', function() { const script = document.createElement('script'); script.src = '../js/coral.js'; script.dataset.coralIcons = '../resources/'; document.head.appendChild(script); }); </script> </head> <body class="coral--lightest"> <main class="u-coral-margin"> <div style="position:absolute;top:16px;right:16px;"> <strong style="padding-right:8px"><span class="u-coral-hiddenS">Theme:</span></strong> <a href="#" class="coral-Link theme" onclick="document.body.className='coral--light'">Light</a> | <a href="#" class="coral-Link theme" onclick="document.body.className='coral--lightest'">Lightest</a> | <a href="#" class="coral-Link theme" onclick="document.body.className='coral--dark'">Dark</a> | <a href="#" class="coral-Link theme" onclick="document.body.className='coral--darkest'">Darkest</a> <strong style="padding:0 8px 0 16px"><span class="u-coral-hiddenS">Scale:</span></strong> <a href="#" class="coral-Link scale" onclick="document.body.classList.remove('coral--large')">Medium</a> | <a href="#" class="coral-Link scale" onclick="document.body.classList.add('coral--large')">Large</a> </div> <h1 class="coral-Heading--XXL">Radio</h1> <h2 class="coral-Heading--M">Usage notes</h2> <hr class="coral-Divider--L"> <p class="coral-Body--M u-coral-padding-vertical"> Radio buttons allow users to select a single option from a list of mutually exclusive options. All possible options are exposed up front for users to compare. </p> <h2 class="coral--Heading--S">Default</h2> <div class="markup"> <coral-radio name="radio1"></coral-radio> </div> <h2 class="coral--Heading--S">Checked</h2> <div class="markup"> <coral-radio name="radio3" checked>Checked radio</coral-radio> </div> <h2 class="coral--Heading--S">Disabled</h2> <div class="markup"> <coral-radio name="radio5" disabled>Disabled radio</coral-radio> </div> <h2 class="coral--Heading--S">Checked and disabled</h2> <div class="markup"> <coral-radio name="radio6" checked disabled>Checked and disabled</coral-radio> </div> <h2 class="coral--Heading--S">With the same name</h2> <div class="markup"> <coral-radio name="radio7">Checked and disabled</coral-radio> <coral-radio name="radio8">Checked and disabled</coral-radio> </div> <h2 class="coral--Heading--S">Labelled</h2> <div class="markup"> <coral-radio>Check</coral-radio> <coral-radio labelled="Check"></coral-radio> </div> <h2 class="coral--Heading--S">From JavaScript</h2> <div class="markup"> <div id="from-javascript"></div> <script> var radioFromJS = document.createElement('coral-radio'); radioFromJS.textContent = 'Add Adobe Stock. Get one month free.*'; radioFromJS.style.width = '149px'; document.getElementById('from-javascript').appendChild(radioFromJS); </script> </div> <h2 class="coral--Heading--S">Getting values from Named Radios</h2> <fieldset class="coral-Form-fieldset" id="container"> <legend class="coral-Form-fieldset-legend">Greetings</legend> </fieldset> <label for="output">Result:</label> <output id="output">...</output> <script type="text/javascript"> window.addEventListener('load', function() { var helloRadio = new Coral.Radio(); helloRadio.label.innerHTML = 'Hello From JavaScript'; helloRadio.name = 'jsExample'; helloRadio.value = 'hello'; var goodbyeRadio = new Coral.Radio(); goodbyeRadio.label.innerHTML = 'Bye From JavaScript'; goodbyeRadio.name = 'jsExample'; goodbyeRadio.value = 'bye'; var salutRadio = new Coral.Radio(); salutRadio.label.innerHTML = 'Salut! From JavaScript'; salutRadio.name = 'jsExample'; salutRadio.value = 'salut'; var container = document.querySelector('#container'); container.appendChild(helloRadio); container.appendChild(goodbyeRadio); container.appendChild(salutRadio); container.addEventListener('change', function(event) { document.querySelector('#output').textContent = event.target.value; }); window.addChecked = function(event) { event.preventDefault(); var checkedRadio = new Coral.Radio(); checkedRadio.label.innerHTML = 'Checked'; checkedRadio.name = 'jsExample'; checkedRadio.value = Coral.commons.getUID(); checkedRadio.checked = true; container.appendChild(checkedRadio); }; }); </script> <br/> <a href="#" class="coral-Link" onclick="addChecked(event);">Add checked radio</a> </main> </body> </html>