diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2024-01-05 23:18:49 -0500 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2024-01-05 23:18:49 -0500 |
| commit | bd5a00c61b355c857b5c99323592ca432dea5d0a (patch) | |
| tree | 7e8ac7730527c1ad71e3fdac85840948fd23f45f /htmx/static/pico-1.5.11/docs/src/modal.html | |
| parent | c71b37eb23d4c8af7ab983de34c6da5be9363f3a (diff) | |
| download | paste-bd5a00c61b355c857b5c99323592ca432dea5d0a.tar.gz paste-bd5a00c61b355c857b5c99323592ca432dea5d0a.tar.xz | |
wip
Diffstat (limited to 'htmx/static/pico-1.5.11/docs/src/modal.html')
| -rw-r--r-- | htmx/static/pico-1.5.11/docs/src/modal.html | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/htmx/static/pico-1.5.11/docs/src/modal.html b/htmx/static/pico-1.5.11/docs/src/modal.html new file mode 100644 index 0000000..5feb1ce --- /dev/null +++ b/htmx/static/pico-1.5.11/docs/src/modal.html @@ -0,0 +1,206 @@ +<!doctype html> +<html lang="en"> + <head> + ${require('./_head.html') + title=`Modal` + description=`A flexible container with graceful spacings across devices and viewports.` + canonical=`modal.html` + } + </head> + + <body> + ${require('./_nav.html')} + + <main class="container" id="docs"> + ${require('./_sidebar.html') active=`modal-link`} + + <div role="document"> + <section id="modal"> + <hgroup> + <h1>Modal</h1> + <h2>The classic modal element with graceful spacings across devices and viewports.</h2> + </hgroup> + + <p>Modals are built with <code><<b>dialog</b>></code> as a wrapper and <code><<b>article</b>></code> as a content container.</p> + <p>Inside <code><<b>header</b>></code>, <code><<b>a</b> <i>class</i>=<u>"close"</u>></code> is defined to <code><i>float</i>: <u>right</u>;</code> allowing a close icon to be top aligned with a title.</p> + + <dialog class="example" open> + <article> + <header> + <a href="#close" aria-label="Close" class="close" onclick="event.preventDefault()"></a> + <p>Modal title</p> + </header> + <p> + Nunc nec ligula a tortor sollicitudin dictum in vel enim. + Quisque facilisis turpis vel eros dictum aliquam et nec turpis. + Sed eleifend a dui nec ullamcorper. + Praesent vehicula lacus ac justo accumsan ullamcorper. + </p> + </article> + </dialog> + +<pre><code><<b>dialog</b> <i>open</i>> + <<b>article</b>> + <<b>header</b>> + <<b>a</b> <i>href</i>=<u>"#close"</u> <i>aria-label</i>=<u>"Close"</u> <i>class</i>=<u>"close"</u>></<b>a</b>> + Modal title + </<b>header</b>> + <<b>p</b>> + Nunc nec ligula a tortor sollicitudin dictum in vel enim. + Quisque facilisis turpis vel eros dictum aliquam et nec turpis. + Sed eleifend a dui nec ullamcorper. + Praesent vehicula lacus ac justo accumsan ullamcorper. + </<b>p</b>> + </<b>article</b>> +</<b>dialog</b>></code></pre> + + <p>Inside <code><<b>footer</b>></code>, the content is right aligned by default.</p> + + <dialog class="example" open> + <article> + <h3>Confirm your action!</h3> + <p> + Mauris non nibh vel nisi sollicitudin malesuada. + Donec ut sagittis erat. Praesent eu eros felis. + Ut consectetur placerat pulvinar. + </p> + <footer> + <a href="#cancel" role="button" class="secondary" onclick="event.preventDefault()">Cancel</a><a href="#confirm" role="button" onclick="event.preventDefault()">Confirm</a> + </footer> + </article> + </dialog> + +<pre><code><<b>dialog</b> <i>open</i>> + <<b>article</b>> + <<b>h3</b>>Confirm your action!</<b>h3</b>> + <<b>p</b>> + Mauris non nibh vel nisi sollicitudin malesuada. + Donec ut sagittis erat. Praesent eu eros felis. + Ut consectetur placerat pulvinar. + </<b>p</b>> + <<b>footer</b>> + <<b>a</b> <i>href</i>=<u>"#cancel"</u> <i>role</i>=<u>"button"</u> <i>class</i>=<u>"secondary"</u>>Cancel</<b>a</b>> + <<b>a</b> <i>href</i>=<u>"#confirm"</u> <i>role</i>=<u>"button"</u>>Confirm</<b>a</b>> + </<b>footer</b>> + </<b>article</b>> +</<b>dialog</b>></code></pre> + + <hgroup> + <h2>Live demo</h2> + <h3>Toggle a modal by clicking the button below.</h3> + </hgroup> + + <article> + <button class="contrast" data-target="modal-example" onclick="toggleModal(event)">Launch demo modal</button> + <footer class="code"> + +<pre><code><em><!-- Button to trigger the modal --></em> +<<b>button</b> <i>class</i>=<u>"contrast"</u> + <i>data-target</i>=<u>"modal-example"</u> + <i>onClick</i>=<u>"toggleModal(event)"</u>> + Launch demo modal +</<b>button</b>> + +<em><!-- Modal --></em> +<<b>dialog</b> <i>id</i>=<u>"modal-example"</u>> + <<b>article</b>> + <<b>a</b> <i>href</i>=<u>"#close"</u> + <i>aria-label</i>=<u>"Close"</u> + <i>class</i>=<u>"close"</u> + <i>data-target</i>=<u>"modal-example"</u> + <i>onClick</i>=<u>"toggleModal(event)"</u>> + </<b>a</b>> + <<b>h3</b>>Confirm your action!</<b>h3</b>> + <<b>p</b>> + Cras sit amet maximus risus. + Pellentesque sodales odio sit amet augue finibus pellentesque. + Nullam finibus risus non semper euismod. + </<b>p</b>> + <<b>footer</b>> + <<b>a</b> <i>href</i>=<u>"#cancel"</u> + <i>role</i>=<u>"button"</u> + <i>class</i>=<u>"secondary"</u> + <i>data-target</i>=<u>"modal-example"</u> + <i>onClick</i>=<u>"toggleModal(event)"</u>> + Cancel + </<b>a</b>> + <<b>a</b> <i>href</i>=<u>"#confirm"</u> + <i>role</i>=<u>"button"</u> + <i>data-target</i>=<u>"modal-example"</u> + <i>onClick</i>=<u>"toggleModal(event)"</u>> + Confirm + </<b>a</b>> + </<b>footer</b>> + </<b>article</b>> +</<b>dialog</b>></code></pre> + + </footer> + </article> + + <p>Pico does not include JavaScript code. You will need to implement your JS to interact with modals.</p> + <p>As a starting point, you can look at this example: <a href="https://github.com/picocss/examples/blob/master/v1-preview/js/modal.js">modal.js</a>.</p> + <p>To make a modal appear, add the <code><i>open</i></code> attribute to the <code><<b>dialog</b></u>></code> container.</p> + +<pre><code><em><!-- Open modal--></em> +<<b>dialog</b> <i>open</i>> + <<b>article</b>> + <em>…</em> + </<b>article</b>> +</<b>dialog</b>> + +<em><!-- Modal closed --></em> +<<b>dialog</b>> + <<b>article</b>> + <em>…</em> + </<b>article</b>> +</<b>dialog</b>> +</code></pre> + + <h2>Utilities</h2> + <p>Modals come with 3 utility classes.</p> + <p>ℹ️ These classes are not available in the <a href="classless.html">class-less version</a>.</p> + <p><code>.modal-is-open</code> prevents any scrolling and interactions below the modal.</p> + +<pre><code><em><!doctype html></em> +<<b>html</b> <i>class</i>=<u>"modal-is-open"</u>> + <em>…</em> +</<b>html</b>></code></pre> + + <p><code>.modal-is-opening</code> brings an opening animation.</p> + +<pre><code><em><!doctype html></em> +<<b>html</b> <i>class</i>=<u>"modal-is-open modal-is-opening"</u>> + <em>…</em> +</<b>html</b>></code></pre> + + <p><code>.modal-is-closing</code> brings a closing animation.</p> + +<pre><code><em><!doctype html></em> +<<b>html</b> <i>class</i>=<u>"modal-is-open modal-is-closing"</u>> + <em>…</em> +</<b>html</b>></code></pre> + + </section> + + ${require('./_footer.html')} + + </div> + </main> + + <dialog id="modal-example"> + <article> + <a href="#close" aria-label="Close" class="close" data-target="modal-example" onclick="toggleModal(event)"></a> + <h3>Confirm your action!</h3> + <p>Cras sit amet maximus risus. Pellentesque sodales odio sit amet augue finibus pellentesque. Nullam finibus risus non semper euismod.</p> + <footer> + <a href="#cancel" role="button" class="secondary" data-target="modal-example" onclick="toggleModal(event)">Cancel</a><a href="#confirm" role="button" data-target="modal-example" onclick="toggleModal(event)">Confirm</a> + </footer> + </article> + </dialog> + + <script src="js/commons.min.js"></script> + <script src="js/modal.min.js"></script> + + </script> + </body> +</html>
\ No newline at end of file |
