UNPKG

@material/web

Version:
30 lines 917 B
/** * @license * Copyright 2024 Google LLC * SPDX-License-Identifier: Apache-2.0 */ const HAS_ARIA_ATTRIBUTE_REGEX = /\[(aria-|role)/g; /** * Patches a CSS selector string to include `data-*` shifting `role` and * `aria-*` attributes. Use this with `querySelector()` and `querySelectorAll()` * for MWC elements. * * @example * ```ts * const agreeCheckbox = document.querySelector( * ariaSelector('md-checkbox[aria-label="Agree"]') * ); * ``` * * @param selector A CSS selector string. * @return A CSS selector string that includes `data-*` shifting aria * attributes. */ export function ariaSelector(selector) { if (!HAS_ARIA_ATTRIBUTE_REGEX.test(selector)) { return selector; } const selectorWithDataShifted = selector.replaceAll(HAS_ARIA_ATTRIBUTE_REGEX, '[data-$1'); return `${selector},${selectorWithDataShifted}`; } //# sourceMappingURL=query-selector-aria.js.map