import{isString as e,isRegExp as t}from"../../utils/validateTypes.mjs";import r from"../../utils/eachDeclarationBlock.mjs";import s from"../../utils/isCustomProperty.mjs";import o from"../../utils/isStandardSyntaxProperty.mjs";import i from"../../utils/optionsMatches.mjs";import a from"../../utils/report.mjs";import m from"../../utils/ruleMessages.mjs";import l from"../../utils/validateOptions.mjs";const p="declaration-block-no-duplicate-custom-properties",u=m(p,{rejected:e=>`Unexpected duplicate "${e}"`}),n=(m,n)=>(c,d)=>{l(d,p,{actual:m},{actual:n,possible:{ignoreProperties:[e,t]},optional:!0})&&r(c,e=>{const t=new Set;e(e=>{const r=e.prop;if(!o(r))return;if(!s(r))return;if(i(n,"ignoreProperties",r))return;t.has(r)?a({message:u.rejected,messageArgs:[r],node:e,result:d,ruleName:p,word:r}):t.add(r)})})};n.ruleName=p,n.messages=u,n.meta={url:"https://stylelint.io/user-guide/rules/declaration-block-no-duplicate-custom-properties"};export{n as default};