diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-24 12:33:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-24 12:33:51 +0000 |
commit | 3ea39841c8049525e31e9f4d6300f0c60cdb42de (patch) | |
tree | 855de60a8872eafb5911acd303aedcdbfe713a73 /js/tests/visual/tooltip.html | |
parent | Inital commit. (diff) | |
download | bootstrap-html-3ea39841c8049525e31e9f4d6300f0c60cdb42de.tar.xz bootstrap-html-3ea39841c8049525e31e9f4d6300f0c60cdb42de.zip |
Adding upstream version 5.2.3+dfsg.upstream/5.2.3+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/tests/visual/tooltip.html')
-rw-r--r-- | js/tests/visual/tooltip.html | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/js/tests/visual/tooltip.html b/js/tests/visual/tooltip.html new file mode 100644 index 0000000..1a3b9f2 --- /dev/null +++ b/js/tests/visual/tooltip.html @@ -0,0 +1,138 @@ +<!doctype html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link href="../../../dist/css/bootstrap.min.css" rel="stylesheet"> + <title>Tooltip</title> + <style> + #target { + border: 1px solid; + width: 100px; + height: 50px; + margin-left: 50px; + transform: rotate(270deg); + margin-top: 100px; + } + </style> + </head> + <body> + <div class="container"> + <h1>Tooltip <small>Bootstrap Visual Test</small></h1> + + <p class="text-muted">Tight pants next level keffiyeh <a href="#" data-bs-toggle="tooltip" title="Default tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" data-bs-toggle="tooltip" title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" data-bs-toggle="tooltip" title="Another one here too">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" data-bs-toggle="tooltip" title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral.</p> + + <hr> + + <div class="row"> + <p> + <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="auto" title="Tooltip on auto"> + Tooltip on auto + </button> + <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top"> + Tooltip on top + </button> + <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right"> + Tooltip on end + </button> + <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom"> + Tooltip on bottom + </button> + <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left"> + Tooltip on start + </button> + </p> + </div> + <div class="row"> + <p> + <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip with container (selector)" data-bs-container="#customContainer"> + Tooltip with container (selector) + </button> + <button id="tooltipElement" type="button" class="btn btn-secondary" data-bs-placement="left" title="Tooltip with container (element)"> + Tooltip with container (element) + </button> + <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>"> + Tooltip with HTML + </button> + <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip with XSS" data-bs-container="<img src=1 onerror=alert(123)>"> + Tooltip with XSS + </button> + </p> + </div> + <div class="row"> + <div class="col-sm-3"> + <div id="target" title="Test tooltip on transformed element"></div> + </div> + <div id="shadow" class="pt-5"></div> + </div> + <div id="customContainer"></div> + + <div class="row mt-4 border-top"> + <hr> + <div class="h4">Test Selector triggered tooltips</div> + <div id="wrapperTriggeredBySelector"> + <div class="py-2 selectorButtonsBlock"> + <button type="button" class="btn btn-secondary bs-dynamic-tooltip" title="random title">Using title</button> + <button type="button" class="btn btn-secondary bs-dynamic-tooltip" data-bs-title="random title">Using bs-title</button> + </div> + + </div> + <div class="mt-3"> + <button type="button" class="btn btn-primary" onclick="duplicateButtons()">Duplicate above two buttons</button> + </div> + </div> + </div> + + <script src="../../../dist/js/bootstrap.bundle.js"></script> + <script> + /* global bootstrap: false */ + + if (typeof document.body.attachShadow === 'function') { + const shadowRoot = document.getElementById('shadow').attachShadow({ mode: 'open' }) + shadowRoot.innerHTML = + '<button id="firstShadowTooltip" type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top in a shadow dom">' + + ' Tooltip on top in a shadow dom' + + '</button>' + + '<button id="secondShadowTooltip" type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top in a shadow dom with container option">' + + ' Tooltip on top in a shadow dom' + + '</button>' + + new bootstrap.Tooltip(shadowRoot.firstChild) + new bootstrap.Tooltip(shadowRoot.getElementById('secondShadowTooltip'), { + container: shadowRoot + }) + } + + new bootstrap.Tooltip('#tooltipElement', { + container: '#customContainer' + }) + + const targetTooltip = new bootstrap.Tooltip('#target', { + placement: 'top', + trigger: 'manual' + }) + targetTooltip.show() + + document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(tooltipEl => new bootstrap.Tooltip(tooltipEl)) + </script> + + <script> + /* global bootstrap: false */ + + new bootstrap.Tooltip('#wrapperTriggeredBySelector', { + animation: false, + selector: '.bs-dynamic-tooltip' + }) + + /* eslint-disable no-unused-vars */ + function duplicateButtons() { + const buttonsBlock = document.querySelector('.selectorButtonsBlock')// get first + const buttonsBlockClone = buttonsBlock.cloneNode(true) + buttonsBlockClone.innerHTML += new Date().toLocaleString() + document.querySelector('#wrapperTriggeredBySelector').append(buttonsBlockClone) + } + /* eslint-enable no-unused-vars */ + </script> + + </body> +</html> |