<?xml version="1.0"?>
<ruleset name="WordPress.Elementor">
	<description>Elementor Coding Standard</description>

	<arg value="ps" />
	<arg name="parallel" value="8" />

	<config name="text_domain" value="elementor" />

	<exclude-pattern>vendor/</exclude-pattern>
	<exclude-pattern>vendor_prefixed/</exclude-pattern>
	<exclude-pattern>tmp/</exclude-pattern>
	<exclude-pattern>build/</exclude-pattern>
	<exclude-pattern>node_modules/</exclude-pattern>
	<exclude-pattern>includes/libraries/</exclude-pattern>
	<exclude-pattern>assets/js/packages/</exclude-pattern>
	<exclude-pattern>tests/*.php</exclude-pattern>

	<rule ref="Generic.Arrays.DisallowLongArraySyntax" />

	<rule ref="WordPress">
		<exclude name="Universal.Arrays.DisallowShortArraySyntax" />
	</rule>

	<rule ref="WordPress.Security" />

	<!-- Include WordPress-Extra rules but exclude specific rules -->
	<rule ref="WordPress-Extra">
		<exclude name="Generic.Commenting.DocComment.MissingShort" />
		<exclude name="Generic.Formatting.MultipleStatementAlignment" />
		<exclude name="Squiz.Commenting.ClassComment.Missing" />
		<exclude name="Squiz.Commenting.FileComment.Missing" />
		<exclude name="Squiz.Commenting.FunctionComment.Missing" />
		<exclude name="Squiz.Commenting.FunctionComment.MissingParamComment" />
		<exclude name="Squiz.Commenting.VariableComment.Missing" />
		<exclude name="Squiz.Commenting.FunctionComment.MissingParamTag" />
		<exclude name="Squiz.Commenting.FunctionComment.SpacingAfterParamType" />
		<exclude name="Squiz.Commenting.FunctionComment.ParamCommentFullStop" />
		<exclude name="Squiz.Commenting.FunctionCommentThrowTag.Missing" />
		<exclude name="Squiz.Commenting.FunctionComment.EmptyThrows" />
		<exclude name="Squiz.Commenting.InlineComment.InvalidEndChar" />
		<exclude name="Squiz.Functions.MultiLineFunctionDeclaration.SpaceAfterFunction" />
		<exclude name="Squiz.Commenting.FunctionComment.MissingParamType" />
		<exclude name="Squiz.PHP.EmbeddedPhp.ContentBeforeOpen" />
		<exclude name="Squiz.PHP.EmbeddedPhp.ContentAfterOpen" />
		<exclude name="Squiz.PHP.EmbeddedPhp.ContentBeforeEnd" />
		<exclude name="Squiz.PHP.EmbeddedPhp.ContentAfterEnd" />
		<exclude name="WordPress.Arrays.MultipleStatementAlignment" />
		<exclude name="WordPress.Files.FileName.InvalidClassFileName" />
		<exclude name="WordPress.WP.I18n.MissingTranslatorsComment" />
		<exclude name="WordPress.WP.I18n.NonSingularStringLiteralSingle" />
		<exclude name="WordPress.WP.I18n.NonSingularStringLiteralPlural" />
		<exclude name="WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet" />
		<exclude name="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket" />
		<exclude name="PEAR.Functions.FunctionCallSignature.MultipleArguments" />
		<exclude name="PEAR.Functions.FunctionCallSignature.CloseBracketLine" />
	</rule>

	<rule ref="WordPress.NamingConventions.ValidHookName">
		<properties>
			<property name="additionalWordDelimiters" value="/-" />
		</properties>
	</rule>
</ruleset>
