import e from"../../utils/eachDeclarationBlock.mjs";import r from"../../utils/report.mjs";import t from"../../utils/ruleMessages.mjs";import o from"../../utils/uniteSets.mjs";import s from"../../utils/validateOptions.mjs";import i from"../../utils/vendor.mjs";import{longhandSubPropertiesOfShorthandProperties as a,shorthandToResetToInitialProperty as m}from"../../reference/properties.mjs";const l="declaration-block-no-shorthand-property-overrides",p=t(l,{rejected:(e,r)=>`Unexpected shorthand "${e}" after "${r}"`}),n=t=>(n,u)=>{s(u,l,{actual:t})&&e(n,e=>{const t=new Map;e(e=>{const s=e.prop,n=i.unprefixed(s).toLowerCase(),c=i.prefix(s).toLowerCase(),d=a.get(n),f=m.get(n),g=o(d??[],f??[]);if(t.set(s.toLowerCase(),s),0!==g.size)for(const o of g){const i=t.get(c+o);i&&r({ruleName:l,result:u,node:e,message:p.rejected,messageArgs:[s,i||""],word:s})}})})};n.ruleName=l,n.messages=p,n.meta={url:"https://stylelint.io/user-guide/rules/declaration-block-no-shorthand-property-overrides"};export{n as default};