UNPKG

uikit

Version:

UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.

498 lines (391 loc) • 26.7 kB
<!DOCTYPE html> <html lang="en-gb" dir="ltr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Drop - UIkit tests</title> <script src="js/test.js"></script> <style> .boundary { padding: 15px; border: 1px dashed rgba(0,0,0,0.2); overflow: auto; -webkit-overflow-scrolling: touch; } .boundary-overflow { width: 200%; } </style> </head> <body> <div class="uk-container"> <h1>Drop</h1> <div class="uk-margin" uk-margin> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Hover, Click</button> <div id="parent-drop" uk-drop> <div id="parent-drop-card" class="uk-card uk-card-body uk-card-default"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> <button class="uk-button uk-button-primary uk-width-1-1" type="button">Hover</button> <div id="child-drop" uk-drop="pos: right-center; offset: 50"> <div id="child-drop-card" class="uk-card uk-card-body uk-card-default"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> <button class="uk-button uk-button-primary uk-width-1-1" type="button">Hover</button> <div id="child-child-drop" uk-drop="pos: right-center; offset: 50"> <div id="child-child-drop-card" class="uk-card uk-card-body uk-card-default"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <button class="uk-button uk-button-primary uk-width-1-1" type="button">Hover</button> <div id="child-child-child-drop" uk-drop="pos: right-center; offset: 50"> <div id="child-child-child-drop-card" class="uk-card uk-card-body uk-card-default"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Click only</button> <div id="parent-drop-click" uk-drop="mode: click"> <div id="parent-drop-card-click" class="uk-card uk-card-body uk-card-default"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> <button class="uk-button uk-button-primary uk-width-1-1" type="button">Click</button> <div id="child-drop-click" uk-drop="pos: right-center; offset: 50; mode: click"> <div id="child-drop-card-click" class="uk-card uk-card-body uk-card-default"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> <button class="uk-button uk-button-primary uk-width-1-1" type="button">Click</button> <div id="child-child-drop-click" uk-drop="pos: right-center; offset: 50; mode: click"> <div id="child-child-drop-card-click" class="uk-card uk-card-body uk-card-default"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <button class="uk-button uk-button-primary uk-width-1-1" type="button">Click</button> <div id="child-child-child-drop-click" uk-drop="pos: right-center; offset: 50; mode: click"> <div id="child-child-child-drop-card-click" class="uk-card uk-card-body uk-card-default"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Hover only</button> <div uk-drop="mode: hover; delay-hide: 0"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> <h2>Position</h2> <div class="uk-margin" uk-margin> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Bottom Left</button> <div uk-drop> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Bottom Center</button> <div uk-drop="pos: bottom-center"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Bottom Right</button> <div uk-drop="pos: bottom-right"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Bottom Justify</button> <div uk-drop="pos: bottom-justify"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> <div class="uk-margin" uk-margin> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Top Left</button> <div uk-drop="pos: top-left"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Top Center</button> <div uk-drop="pos: top-center"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Top Right</button> <div uk-drop="pos: top-right"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Top Justify</button> <div uk-drop="pos: top-justify"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> <div class="uk-margin" uk-margin> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Left Top</button> <div uk-drop="pos: left-top"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Left Center</button> <div uk-drop="pos: left-center"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Left Bottom</button> <div uk-drop="pos: left-bottom"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> <div class="uk-margin" uk-margin> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Right Top</button> <div uk-drop="pos: right-top"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Right Center</button> <div uk-drop="pos: right-center"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button">Right Bottom</button> <div uk-drop="pos: right-bottom"> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> <h2>Shift and Flip</h2> <div class="uk-margin"> <select id="js-boundary-overflow-switcher" class="uk-select uk-form-width-small"> <option value="">Resize</option> <option value="boundary-overflow">Scroll</option> </select> </div> <div uk-grid> <div class="uk-width-1-2@m"> <div class="boundary uk-height-large uk-resize-horizontal uk-margin"> <div class="js-boundary-overflow uk-flex uk-flex-center"> <div> <button class="uk-button uk-button-default" type="button">Click</button> <div class="uk-width-medium" uk-dropdown="pos: bottom-left; boundary: !.boundary; mode: click">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> </div> <div class="uk-width-1-2@m"> <div class="boundary uk-height-large uk-resize-horizontal uk-margin"> <div class="js-boundary-overflow uk-flex uk-flex-center"> <div> <button class="uk-button uk-button-default" style="margin-left: 40px" type="button">Click</button> <div class="uk-width-small" uk-dropdown="pos: right-top; boundary: !.boundary; mode: click">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> </div> </div> <h2>Boundary</h2> <div class="uk-child-width-1-2@m" uk-grid> <div> <div class="boundary uk-height-medium uk-margin uk-flex uk-flex-between uk-flex-wrap"> <div> <button class="uk-button uk-button-default" type="button">Bottom Right</button> <div class="uk-width-medium" uk-dropdown="pos: bottom-right; boundary: !.boundary">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Bottom Center</button> <div class="uk-width-medium" uk-dropdown="pos: bottom-center; boundary: !.boundary">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Bottom Left</button> <div class="uk-width-medium" uk-dropdown="pos: bottom-left; boundary: !.boundary">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> <div> <div class="boundary uk-height-medium uk-flex uk-flex-column uk-flex-between uk-flex-wrap"> <div> <button class="uk-button uk-button-default" type="button">Right Bottom</button> <div class="uk-width-medium" uk-dropdown="pos: right-bottom; boundary: !.boundary">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Right Center</button> <div class="uk-width-medium" uk-dropdown="pos: right-center; boundary: !.boundary">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Right Top</button> <div class="uk-width-medium" uk-dropdown="pos: right-top; boundary: !.boundary">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> </div> <h2>Boundary Align</h2> <div class="uk-child-width-1-2@m" uk-grid> <div> <div class="boundary uk-margin uk-flex uk-flex-around uk-flex-wrap" uk-margin> <div> <button class="uk-button uk-button-default" type="button">Bottom Right</button> <div class="uk-width-medium" uk-dropdown="pos: bottom-right; boundary: !.boundary; boundary-align: true">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Bottom Center</button> <div class="uk-width-medium" uk-dropdown="pos: bottom-center; boundary: !.boundary; boundary-align: true">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Bottom Left</button> <div class="uk-width-medium" uk-dropdown="pos: bottom-left; boundary: !.boundary; boundary-align: true">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Bottom Justify</button> <div class="uk-width-medium" uk-dropdown="pos: bottom-justify; boundary: ! .boundary; boundary-align: true">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> <div class="uk-width-auto"> <div class="boundary uk-height-medium uk-flex uk-flex-column uk-flex-around"> <div> <button class="uk-button uk-button-default" type="button">Right Bottom</button> <div class="uk-width-medium" uk-dropdown="pos: right-bottom; boundary: !.boundary; boundary-align: true">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Right Center</button> <div class="uk-width-medium" uk-dropdown="pos: right-center; boundary: !.boundary; boundary-align: true">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Right Top</button> <div class="uk-width-medium" uk-dropdown="pos: right-top; boundary: !.boundary; boundary-align: true">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> <div> <button class="uk-button uk-button-default" type="button">Right Justify</button> <div class="uk-width-medium" uk-dropdown="pos: right-justify; boundary: ! .boundary; boundary-align: true">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> </div> <h2>Multiple Toggles</h2> <div class="uk-margin" uk-margin> <div class="uk-inline"> <button class="uk-button uk-button-default" type="button" uk-toggle="target: ~div; mode: click,hover">Same</button> <button class="uk-button uk-button-default" type="button" uk-toggle="target: ~div; mode: click,hover">Same</button> <button class="uk-button uk-button-default" type="button">Target</button> <div uk-drop> <div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> </div> </div> </div> <h2>JavaScript Options</h2> <div class="uk-overflow-auto"> <table class="uk-table uk-table-striped"> <thead> <tr> <th>Option</th> <th>Value</th> <th>Default</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>toggle</code></td> <td>String, Boolean</td> <td>'- *'</td> <td>CSS selector for the element to be used as toggle. By default, the preceding element is used.</td> </tr> <tr> <td><code>pos</code></td> <td>String</td> <td>'bottom-left'</td> <td>Drop position.</td> </tr> <tr> <td><code>mode</code></td> <td>hover | click</td> <td>click,hover</td> <td>Comma separated list of drop trigger behaviour modes.</td> </tr> <tr> <td><code>delay-show</code></td> <td>Number</td> <td>0</td> <td>Delay time in hover mode before a Drop is shown in ms.</td> </tr> <tr> <td><code>delay-hide</code></td> <td>Number</td> <td>800</td> <td>Delay time in hover mode before a Drop is hidden in ms.</td> </tr> <tr> <td><code>display</code></td> <td>`dynamic`|`static`</td> <td>`dynamic`</td> <td>Disable dynamic positioning while scrolling by setting this option to `static`.</td> </tr> <tr> <td><code>boundary</code></td> <td>CSS selector</td> <td>true</td> <td>The area that the element will be checked for overflow, causing the Drop to flip. By default, it's the scrolling containers of the Drop's element.</td> </tr> <tr> <td><code>boundary-align</code></td> <td>Boolean</td> <td>false</td> <td>Align Drop to boundary.</td> </tr> <tr> <td><code>flip</code></td> <td>false|true|'x'|'y'</td> <td>true</td> <td>Automatic Drop flip.</td> </tr> <tr> <td><code>offset</code></td> <td>Number</td> <td>0</td> <td>The offset of the Drop container.</td> </tr> <tr> <td><code>animation</code></td> <td>String</td> <td>false</td> <td>The space separated names of animations to use.</td> </tr> <tr> <td><code>duration</code></td> <td>Number</td> <td>200</td> <td>The animation duration.</td> </tr> </tbody> </table> </div> </div> <script> var options = UIkit.util.$$('#js-boundary-overflow-switcher option').map(function (option) { return option.value; }); UIkit.util.on('#js-boundary-overflow-switcher', 'change', function () { var value = this.value; UIkit.util.$$('.js-boundary-overflow').forEach(function (table) { UIkit.util.removeClass(table, options); UIkit.util.addClass(table, value); }); }); </script> </body> </html>