import { DOMEventNames, DOMPropNames } from "./chunk-RFWDHYLZ.mjs"; // src/filter-dom-props.ts var propRe = /^(data-.*)$/; var ariaRe = /^(aria-.*)$/; var funcRe = /^(on[A-Z].*)$/; function filterDOMProps(props, opts = {}) { let { labelable = true, enabled = true, propNames, omitPropNames, omitEventNames, omitDataProps, omitEventProps } = opts; let filteredProps = {}; if (!enabled) { return props; } for (const prop in props) { if (omitPropNames == null ? void 0 : omitPropNames.has(prop)) { continue; } if ((omitEventNames == null ? void 0 : omitEventNames.has(prop)) && funcRe.test(prop)) { continue; } if (funcRe.test(prop) && !DOMEventNames.has(prop)) { continue; } if (omitDataProps && propRe.test(prop)) { continue; } if (omitEventProps && funcRe.test(prop)) { continue; } if (Object.prototype.hasOwnProperty.call(props, prop) && (DOMPropNames.has(prop) || labelable && ariaRe.test(prop) || (propNames == null ? void 0 : propNames.has(prop)) || propRe.test(prop)) || funcRe.test(prop)) { filteredProps[prop] = props[prop]; } } return filteredProps; } export { filterDOMProps };