Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
63 lines
No EOL
1.9 KiB
Text
63 lines
No EOL
1.9 KiB
Text
"use strict";
|
|
/**
|
|
* @license
|
|
* Copyright 2022 Google Inc.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.pierceQuerySelectorAll = exports.pierceQuerySelector = void 0;
|
|
/**
|
|
* @internal
|
|
*/
|
|
const pierceQuerySelector = (root, selector) => {
|
|
let found = null;
|
|
const search = (root) => {
|
|
const iter = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT);
|
|
do {
|
|
const currentNode = iter.currentNode;
|
|
if (currentNode.shadowRoot) {
|
|
search(currentNode.shadowRoot);
|
|
}
|
|
if (currentNode instanceof ShadowRoot) {
|
|
continue;
|
|
}
|
|
if (currentNode !== root && !found && currentNode.matches(selector)) {
|
|
found = currentNode;
|
|
}
|
|
} while (!found && iter.nextNode());
|
|
};
|
|
if (root instanceof Document) {
|
|
root = root.documentElement;
|
|
}
|
|
search(root);
|
|
return found;
|
|
};
|
|
exports.pierceQuerySelector = pierceQuerySelector;
|
|
/**
|
|
* @internal
|
|
*/
|
|
const pierceQuerySelectorAll = (element, selector) => {
|
|
const result = [];
|
|
const collect = (root) => {
|
|
const iter = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT);
|
|
do {
|
|
const currentNode = iter.currentNode;
|
|
if (currentNode.shadowRoot) {
|
|
collect(currentNode.shadowRoot);
|
|
}
|
|
if (currentNode instanceof ShadowRoot) {
|
|
continue;
|
|
}
|
|
if (currentNode !== root && currentNode.matches(selector)) {
|
|
result.push(currentNode);
|
|
}
|
|
} while (iter.nextNode());
|
|
};
|
|
if (element instanceof Document) {
|
|
element = element.documentElement;
|
|
}
|
|
collect(element);
|
|
return result;
|
|
};
|
|
exports.pierceQuerySelectorAll = pierceQuerySelectorAll;
|
|
//# sourceMappingURL=PierceQuerySelector.js.map |