second commit
This commit is contained in:
55
node_modules/flowbite-datepicker/js/lib/dom.js
generated
vendored
Normal file
55
node_modules/flowbite-datepicker/js/lib/dom.js
generated
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
let range = null;
|
||||
|
||||
export function parseHTML(html) {
|
||||
if (range == null) { range = document.createRange() }
|
||||
return range.createContextualFragment(html);
|
||||
}
|
||||
|
||||
// equivalent to jQuery's :visble
|
||||
export function isVisible(el) {
|
||||
return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length);
|
||||
}
|
||||
|
||||
export function hideElement(el) {
|
||||
if (el.style.display === 'none') {
|
||||
return;
|
||||
}
|
||||
// back up the existing display setting in data-style-display
|
||||
if (el.style.display) {
|
||||
el.dataset.styleDisplay = el.style.display;
|
||||
}
|
||||
el.style.display = 'none';
|
||||
}
|
||||
|
||||
export function showElement(el) {
|
||||
if (el.style.display !== 'none') {
|
||||
return;
|
||||
}
|
||||
if (el.dataset.styleDisplay) {
|
||||
// restore backed-up dispay property
|
||||
el.style.display = el.dataset.styleDisplay;
|
||||
delete el.dataset.styleDisplay;
|
||||
} else {
|
||||
el.style.display = '';
|
||||
}
|
||||
}
|
||||
|
||||
export function emptyChildNodes(el) {
|
||||
if (el.firstChild) {
|
||||
el.removeChild(el.firstChild);
|
||||
emptyChildNodes(el);
|
||||
}
|
||||
}
|
||||
|
||||
export function replaceChildNodes(el, newChildNodes) {
|
||||
emptyChildNodes(el);
|
||||
if (newChildNodes instanceof DocumentFragment) {
|
||||
el.appendChild(newChildNodes);
|
||||
} else if (typeof newChildNodes === 'string') {
|
||||
el.appendChild(parseHTML(newChildNodes));
|
||||
} else if (typeof newChildNodes.forEach === 'function') {
|
||||
newChildNodes.forEach((node) => {
|
||||
el.appendChild(node);
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user