import{__require as e}from"../../utils/isCustomPropertySet.mjs";import{__require as r}from"../../utils/isStandardSyntaxProperty.mjs";import{__require as t}from"../../utils/isStandardSyntaxDeclaration.mjs";import{__require as s}from"../../utils/isType.mjs";import{__require as o}from"../../utils/optionsMatches.mjs";import{__require as i}from"../../utils/namespace.mjs";import{__require as n}from"../../utils/ruleUrl.mjs";import{__require as a}from"../../utils/hasInterpolation.mjs";import{__require as l}from"../../../../known-css-properties/index.mjs";import u from"../../../../../_virtual/index13.mjs";import{__require as p}from"../../utils/validateTypes.mjs";var m,c;function f(){if(c)return m;c=1;const f=e(),_=r(),d=t(),g=s(),j=o(),q=i(),x=n(),y=a(),S=l().all,{utils:h}=u,{isBoolean:w,isRegExp:k,isString:P}=p(),v=q("property-no-unknown");const N=h.ruleMessages(v,{rejected:e=>`Unexpected unknown property "${e}"`}),R={url:x(v)};function b(e,r){const t=new Set(S);return(s,o)=>{if(!h.validateOptions(o,v,{actual:e},{actual:r,possible:{ignoreProperties:[P,k],checkPrefixed:[w],ignoreSelectors:[P,k],ignoreAtRules:[P,k]},optional:!0}))return;const i=r&&r.checkPrefixed;s.walkDecls(e=>{const s=e.prop.indexOf(".");let n=s>-1?e.prop.slice(s+1):e.prop;if(!_(n)||!d(e)||f(n)||n.startsWith("--")||y(n)||!i&&function(e){const r=e.match(/^(-\w+-)/);return r&&r[0]||""}(n)||j(r,"ignoreProperties",n))return;const a=e.parent;if(a&&g(a,"rule")&&j(r,"ignoreSelectors",a.selector))return;let l=a;for(;l&&"root"!==l.type;){if(g(l,"atrule")&&j(r,"ignoreAtRules",l.name))return;l=l.parent}let u=a;for(;u&&g(u,"rule")&&u.selector&&":"===u.selector[u.selector.length-1]&&"--"!==u.selector.substring(0,2);)n=u.selector.replace(":","")+"-"+n,u=u.parent;for(;u&&g(u,"decl")&&u.isNested&&u.prop;)n=u.prop+"-"+n,u=u.parent;t.has(n.toLowerCase())||h.report({message:N.rejected(n),node:e,word:n,result:o,ruleName:v})})}}return b.ruleName=v,b.messages=N,b.meta=R,m=b}export{f as __require};