The most advanced frontend drag & drop page builder. Create high-end, pixel perfect websites at record speeds. Any theme, any page, any design.
This report summarizes scanner evidence for elementor/elementor, a PHP project with 7,103 GitHub stars. SynthScan examined 1,055,915 lines of code across 8387 source files, recording 989 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 1.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 457 finding(s).
Are imports declared and package/API names verified? 492 finding(s).
Are wrappers, guards, and repeated structures necessary? 417 finding(s).
Which changes need focused human review? 989 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 989 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/kits/documents/tabs/settings-site-identity.php | 73 | 'placeholder' => esc_html__( 'Choose name', 'elementor' ), | CODE |
| LOW | core/kits/documents/tabs/settings-site-identity.php | 84 | 'placeholder' => esc_html__( 'Choose description', 'elementor' ), | CODE |
| LOW | core/kits/documents/tabs/settings-layout.php | 114 | 'placeholder' => [ | CODE |
| LOW | core/kits/documents/tabs/settings-layout.php | 142 | 'placeholder' => 'h1.entry-title', | CODE |
| LOW | core/kits/documents/tabs/settings-layout.php | 160 | 'placeholder' => 'body', | CODE |
| LOW | core/kits/documents/tabs/settings-layout.php | 352 | 'placeholder' => $default_breakpoint_config['default_value'], | CODE |
| LOW | …es/onboarding/assets/js/utils/modules/click-tracker.js | 269 | element.getAttribute( 'placeholder' ), | CODE |
| LOW | tests/elements-regression/tests/templates/alert.json | 56 | "alert_description": "What is Lorem Ipsum?\nLorem Ipsum is simply dummy text of the printing and | CODE |
| LOW | …s/elements-regression/tests/templates/text_editor.json | 10 | "editor": "<ul><li><strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tell | CODE |
| LOW | …s/elements-regression/tests/templates/text_editor.json | 10 | "editor": "<ul><li><strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tell | CODE |
| LOW | …s/elements-regression/tests/templates/text_editor.json | 58 | "editor": "<p><strong>Testing 4 columns: <\/strong><\/p><p>Lorem ipsum dolor sit amet, consectet | CODE |
| LOW | …s/elements-regression/tests/templates/text_editor.json | 58 | "editor": "<p><strong>Testing 4 columns: <\/strong><\/p><p>Lorem ipsum dolor sit amet, consectet | CODE |
| LOW | …s/elements-regression/tests/templates/text_editor.json | 74 | "editor": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus ne | CODE |
| LOW | …s/elements-regression/tests/templates/text_editor.json | 74 | "editor": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus ne | CODE |
| LOW | …ements-regression/tests/templates/image_box_hover.json | 25 | "description_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit te | CODE |
| LOW | …ements-regression/tests/templates/image_box_hover.json | 25 | "description_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit te | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 13 | "tab_content": "<p style=\"text-align: left;\"><span style=\"text-decoration: underline; | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 13 | "tab_content": "<p style=\"text-align: left;\"><span style=\"text-decoration: underline; | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 18 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 18 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 77 | "tab_content": "<ul><li><span style=\"color: #ff6600;\">Lorem ipsum dolor sit amet, cons | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 77 | "tab_content": "<ul><li><span style=\"color: #ff6600;\">Lorem ipsum dolor sit amet, cons | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 82 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 82 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 166 | "tab_content": "<ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 166 | "tab_content": "<ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 171 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 171 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 221 | "tab_content": "<blockquote><p style=\"padding-left: 40px;\"><del>Lorem ipsum dolor sit | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 221 | "tab_content": "<blockquote><p style=\"padding-left: 40px;\"><del>Lorem ipsum dolor sit | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 226 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …sts/elements-regression/tests/templates/accordion.json | 226 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW | tests/elements-regression/tests/templates/tabs.json | 18 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW | tests/elements-regression/tests/templates/tabs.json | 18 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 50 | "tab_content": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tell | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 50 | "tab_content": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tell | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 55 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 55 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 90 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 90 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 95 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 95 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 138 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 138 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 143 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 143 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 186 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 186 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 191 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | tests/elements-regression/tests/templates/tabs.json | 191 | "tab_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …s/elements-regression/tests/templates/testimonial.json | 82 | "testimonial_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …s/elements-regression/tests/templates/testimonial.json | 82 | "testimonial_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …s/elements-regression/tests/templates/testimonial.json | 91 | "testimonial_name": "John Doe", | CODE |
| LOW⚡ | …s/elements-regression/tests/templates/testimonial.json | 205 | "testimonial_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …s/elements-regression/tests/templates/testimonial.json | 205 | "testimonial_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, | CODE |
| LOW⚡ | …s/elements-regression/tests/templates/testimonial.json | 206 | "testimonial_name": "John Doe", | CODE |
| LOW | tests/elements-regression/tests/templates/icon_box.json | 59 | "description_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, lu | CODE |
| LOW | tests/elements-regression/tests/templates/icon_box.json | 59 | "description_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, lu | CODE |
| LOW | tests/elements-regression/tests/templates/icon_box.json | 117 | "description_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, lu | CODE |
| LOW | tests/elements-regression/tests/templates/icon_box.json | 117 | "description_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, lu | CODE |
| 391 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …/common/modules/finder/assets/js/modal/views/layout.js | 39 | this.modalContent.currentView.ui.searchInput.focus(); | CODE |
| CRITICAL | …dules/floating-buttons/floating-elements-admin.test.ts | 45 | EditorSelectors.floatingElements.floatingButtons.controls.advanced.sections.forEach( async ( control ) => { | CODE |
| CRITICAL | …ssets/js/shared/components/kit-parts-selection.test.js | 128 | window.elementorModules.importExport.customizationDialogsRegistry.get.mockImplementation( ( sectionKey ) => { | CODE |
| CRITICAL | …les/kit-elements-defaults/assets/js/editor/api.test.js | 39 | $e.data.cache.storage.getItem.mockReturnValue( { | CODE |
| CRITICAL | …les/kit-elements-defaults/assets/js/editor/api.test.js | 49 | $e.data.cache.storage.getItem.mockReturnValue( { | CODE |
| CRITICAL | …vas/src/legacy/create-nested-templated-element-type.ts | 113 | const AtomicElementBaseView = legacyWindow.elementor.modules.elements.views.createAtomicElementBase( type ); | CODE |
| CRITICAL | …ements-color-picker/assets/js/editor/commands/start.js | 22 | this.component.currentPicker.trigger.classList.add( 'e-control-tool-disabled' ); | CODE |
| CRITICAL | …ooks/ui/panel/state-ready/notes-add-panel-menu-item.js | 11 | elementor.modules.layouts.panel.pages.menu.Menu.addItem( { | CODE |
| CRITICAL | modules/ai/assets/js/media-library/index.js | 63 | wp.media.view.Attachment.Details = wp.media.view.Attachment.Details.extend( { | CODE |
| CRITICAL | modules/ai/assets/js/media-library/index.js | 86 | wp.media.view.Attachment.Details.TwoColumn = wp.media.view.Attachment.Details.TwoColumn.extend( { | CODE |
| CRITICAL | modules/ai/assets/js/editor/module.js | 244 | elementType: view.options.container.args.model.get( 'elType' ), | CODE |
| CRITICAL | modules/ai/assets/js/editor/module.js | 246 | widgetType: view.options.container.args.model.get( 'widgetType' ), | CODE |
| CRITICAL | modules/nested-elements/assets/js/editor/index.js | 11 | elementor.modules.elements.types.NestedElementBase.then( ( nestedElementBaseModule ) => { | CODE |
| CRITICAL | …s/dev/js/frontend/handlers/container/grid-container.js | 255 | elementorModules.frontend.handlers.Base.prototype.onDestroy.apply( this, arguments ); | CODE |
| CRITICAL | assets/dev/js/admin/beta-tester/layout.js | 34 | elementorModules.common.views.modal.Layout.prototype.initialize.apply( this, arguments ); | CODE |
| CRITICAL | assets/dev/js/admin/beta-tester/layout.js | 42 | this.modalHeader.currentView.ui.closeModal.after( jQuery( '<div>', { class: 'elementor-beta-tester-do-not-show-again' | CODE |
| CRITICAL | assets/dev/js/admin/new-template/layout.js | 4 | module.exports = elementorModules.common.views.modal.Layout.extend( { | CODE |
| CRITICAL | assets/dev/js/admin/new-template/layout.js | 19 | elementorModules.common.views.modal.Layout.prototype.initialize.apply( this, arguments ); | CODE |
| CRITICAL | assets/dev/js/admin/hints/media.js | 10 | wp.media.view.Attachment.Details = wp.media.view.Attachment.Details.extend( { | CODE |
| CRITICAL | assets/dev/js/editor/regions/panel/pages/editor.js | 23 | var eventNamespace = elementorModules.editor.views.ControlsStack.prototype.getNamespaceArray(); | CODE |
| CRITICAL | …dev/js/editor/regions/panel/pages/elements/elements.js | 328 | this.search.currentView.ui.input.trigger( 'focus' ); | CODE |
| CRITICAL | …dev/js/editor/regions/navigator/commands/expand-all.js | 15 | this.component.manager.currentView.elements.currentView.recursiveChildInvoke( | CODE |
| CRITICAL | …ocument/command-bases/command-history-debounce-base.js | 55 | $e.modules.CommandBase.prototype.onBeforeRun.call( this, args ); | CODE |
| CRITICAL | …ocument/command-bases/command-history-debounce-base.js | 63 | $e.modules.CommandBase.prototype.onAfterRun.call( this, args, result ); | CODE |
| CRITICAL | …ocument/command-bases/command-history-debounce-base.js | 75 | $e.modules.CommandBase.prototype.onCatchApply.call( this, e ); | CODE |
| CRITICAL | …sets/dev/js/editor/components/settings/base/manager.js | 207 | elementor.modules.layouts.panel.pages.menu.Menu.addItem( menuItemOptions, 'settings', menuSettings.beforeItem ); | CODE |
| CRITICAL | …s/dev/js/editor/components/template-library/manager.js | 506 | self.layout.modalContent.currentView.ui.addNewFolder.remove(); | CODE |
| CRITICAL | …s/dev/js/editor/components/template-library/manager.js | 507 | self.layout.modalContent.currentView.ui.addNewFolderDivider.remove(); | CODE |
| CRITICAL | …or/components/template-library/views/library-layout.js | 27 | module.exports = elementorModules.common.views.modal.Layout.extend( { | CODE |
| CRITICAL | …or/components/template-library/views/library-layout.js | 43 | elementorModules.common.views.modal.Layout.prototype.initModal.call( this ); | CODE |
| CRITICAL | …or/components/template-library/views/library-layout.js | 198 | this.modalContent.currentView.ui.navigationContainer.html( ( new TemplateLibraryNavigationContainerView() ).render()?. | CODE |
| CRITICAL⚡ | …or/components/template-library/views/library-layout.js | 306 | this.modalContent.currentView.ui.bulkSelectedCount.html( countText ); | CODE |
| CRITICAL⚡ | …or/components/template-library/views/library-layout.js | 308 | this.modalContent.currentView.ui.bulkSelectedCount.attr( 'aria-label', announcementText ); | CODE |
| CRITICAL⚡ | …or/components/template-library/views/library-layout.js | 310 | this.modalContent.currentView.ui.bulkSelectionActionBar.css( 'display', display ); | CODE |
| CRITICAL⚡ | …or/components/template-library/views/library-layout.js | 314 | this.modalContent.currentView.ui.navigationContainer.css( 'display', displayNavigationContainer ); | CODE |
| CRITICAL⚡ | …or/components/template-library/views/library-layout.js | 319 | this.modalContent.currentView.ui.bulkSelectAllCheckbox.addClass( 'checkbox-minus' ); | CODE |
| CRITICAL⚡ | …or/components/template-library/views/library-layout.js | 325 | this.modalContent.currentView.ui.bulkSelectAllCheckbox.removeClass( 'checkbox-minus' ); | CODE |
| CRITICAL | assets/dev/js/editor/components/validator/breakpoint.js | 22 | const panelBreakpoints = elementor.documents.currentDocument.config.settings.settings.active_breakpoints.map( ( breakp | CODE |
| CRITICAL | assets/dev/js/editor/elements/models/column-settings.js | 1 | module.exports = elementorModules.editor.elements.models.BaseSettings.extend( { | CODE |
| CRITICAL | assets/dev/js/editor/elements/views/base.js | 1113 | elementorFrontend.elements.window.document.activeElement.blur(); | CODE |
| CRITICAL | assets/dev/js/editor/views/controls-popover.js | 63 | if ( this.child.options.container.globals.get( groupControlName ) ) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …events-manager/assets/js/install-events-proxy-fetch.js | 3 | function buildMixpanelAuthorization( token ) { | CODE |
| LOW | …events-manager/assets/js/install-events-proxy-fetch.js | 33 | function stripMixpanelAuthorization( input, init, token ) { | CODE |
| LOW | …-kit/hooks/use-import-kit-library-apply-all-plugins.js | 6 | export function useImportKitLibraryApplyAllPlugins( plugins ) { | CODE |
| LOW | …/import-export-customization/assets/js/shared/utils.js | 7 | export function isAtomicElementsFeatureActive() { | CODE |
| LOW | …/import-export-customization/assets/js/shared/utils.js | 13 | export function isImportExportCustomizationDebugEnabled() { | CODE |
| LOW | …/import-export-customization/assets/js/shared/utils.js | 24 | export function getCustomizationDialogsRegistry() { | CODE |
| LOW | …/import-export-customization/assets/js/shared/utils.js | 32 | export function getCustomizationDialogSnapshot( dialogKey ) { | CODE |
| LOW | …/import-export-customization/assets/js/shared/utils.js | 55 | export function getCustomizationDialogChildren( dialogKey ) { | CODE |
| LOW | …/import-export-customization/assets/js/shared/utils.js | 61 | export function getAvailableCustomizationDialogChildren( dialogKey ) { | CODE |
| LOW | …/import-export-customization/assets/js/shared/utils.js | 115 | export function isContentSettingsExported( contextData ) { | CODE |
| LOW | …/import-export-customization/assets/js/shared/utils.js | 128 | export function getImportedVariablesCount( contextData ) { | CODE |
| LOW | …/shared/components/kit-plugins-customization-dialog.js | 148 | export function KitPluginsCustomizationDialog( { open, handleClose, handleSaveChanges } ) { | CODE |
| LOW | …hared/components/kit-templates-customization-dialog.js | 49 | export function KitTemplatesCustomizationDialog( { open, handleClose, handleSaveChanges } ) { | CODE |
| LOW | …s/js/shared/components/override-confirmation-dialog.js | 34 | export function OverrideConfirmationDialog( { | CODE |
| LOW | …shared/components/kit-settings-customization-dialog.js | 89 | function getRegisteredSettingsChildren( parentKey ) { | CODE |
| LOW | …shared/components/kit-settings-customization-dialog.js | 133 | export function KitSettingsCustomizationDialog( { open, handleClose, handleSaveChanges } ) { | CODE |
| LOW | …/shared/components/kit-content-customization-dialog.js | 220 | export function KitContentCustomizationDialog( { | CODE |
| LOW | …ion/assets/js/shared/components/kit-parts-selection.js | 39 | function DefaultKitPartSelectionSection( { | CODE |
| LOW | …s/shared/components/settings-customization-sections.js | 62 | export function DesignSystemSettingsSection( { | CODE |
| LOW | …s/shared/components/settings-customization-sections.js | 153 | export function GlobalVariablesSettingsRow( { | CODE |
| LOW | …hared/hooks/use-kit-customization-custom-post-types.js | 4 | export function useKitCustomizationCustomPostTypes( { data } ) { | CODE |
| LOW | …assets/js/shared/hooks/use-classes-variables-limits.js | 16 | export function useClassesVariablesLimits( { open, isImport } ) { | CODE |
| LOW | …ssets/js/shared/registry/customization-dialogs-base.js | 20 | function createSiteSettingsInitialStateResolver( manifestKey ) { | CODE |
| LOW | …ssets/js/shared/registry/customization-dialogs-base.js | 30 | export function createCustomizationDialogsRegistry() { | CODE |
| LOW | …ion/assets/js/shared/registry/customization-dialogs.js | 85 | export function registerCustomizationDialogs( registry ) { | CODE |
| LOW | …ion/assets/js/shared/registry/customization-dialogs.js | 118 | export function initializeCustomizationDialogsRegistration( registry = getCustomizationDialogsRegistry() ) { | CODE |
| LOW⚡ | …ion/assets/js/shared/registry/customization-dialogs.js | 130 | export function isCustomizationDialogsUiRegistered( registry = getCustomizationDialogsRegistry() ) { | CODE |
| LOW⚡ | …ion/assets/js/shared/registry/customization-dialogs.js | 134 | export function createRegisteredCustomizationDialogsRegistry() { | CODE |
| LOW⚡ | …ion/assets/js/shared/registry/customization-dialogs.js | 138 | export function prepareCustomizationDialogsForRender( registry = getCustomizationDialogsRegistry() ) { | CODE |
| LOW | app/modules/kit-library/assets/js/hooks/use-kit.js | 23 | function usePlaceholderDataCallback( id ) { | CODE |
| LOW | …assets/js/pages/preview/preview-responsive-controls.js | 6 | export default function PreviewResponsiveControls( props ) { | CODE |
| LOW | …onboarding/assets/js/utils/modules/event-dispatcher.js | 57 | export function initializeAndEnableTracking( onReady ) { | CODE |
| LOW | …s/onboarding/assets/js/utils/modules/timing-manager.js | 8 | export function initializeOnboardingStartTime() { | CODE |
| LOW | …ding/assets/js/utils/modules/onboarding-event-names.js | 34 | export function createCoreOnboardingPayload( partial ) { | CODE |
| LOW | …dules/onboarding/assets/js/components/layout/layout.js | 12 | function getCurrentStepForTracking( pageId, currentStep ) { | CODE |
| LOW | …dules/onboarding/assets/js/components/layout/layout.js | 16 | function shouldResetupButtonTracking( buttonRef, pageId, currentStep ) { | CODE |
| LOW | app/assets/js/utils/cloud-kits.js | 6 | export async function fetchCloudKitsEligibility() { | CODE |
| LOW | tests/playwright/utils/screenshot-name.ts | 1 | export function getWpVersionedScreenshotName( name: string ): string { | CODE |
| LOW | tests/playwright/sanity/core/app/app-overlay.test.ts | 15 | async function openThemeBuilderFromFrontendAdminBar( page: Page ): Promise<void> { | CODE |
| LOW | …sanity/core/app/modules/onboarding/onboarding-utils.ts | 81 | export async function navigateToSiteFeaturesStep( page: Page ) { | CODE |
| LOW | …wright/sanity/modules/v4-tests/css-grid-editor.test.ts | 952 | async function dragPanelHeadingToCoordinates( | CODE |
| LOW | …wright/sanity/modules/v4-tests/css-grid-editor.test.ts | 998 | function getGridFirstAddDropTarget( editor: EditorPage, gridId: string ): Locator { | CODE |
| LOW | …wright/sanity/modules/v4-tests/css-grid-editor.test.ts | 1021 | async function assertOccupiedCellPlaceholder( | CODE |
| LOW | …right/sanity/modules/v4-tests/interactions-tab.test.ts | 6 | function waitForNestedSelectMenuToClose( page: Page ) { | CODE |
| LOW | …right/sanity/modules/v4-tests/interactions-tab.test.ts | 13 | function getElementInteractionsData( elementId: string ) { | CODE |
| LOW | …modules/v4-tests/atomic-flexbox-wrap-drag-drop.test.ts | 91 | async function assertPanelDropIntoWrappedFlexbox( editor: EditorPage, page: Page, { flexboxId, imageIds }: WrappedFlexbo | CODE |
| LOW | …modules/v4-tests/atomic-flexbox-wrap-drag-drop.test.ts | 204 | function assertBoundingBoxesStable( before: ( BoundingBox | null )[], after: ( BoundingBox | null )[] ) { | CODE |
| LOW | …es/v4-tests/inline-text-editing/canvas-editing.test.ts | 15 | async function returnToEditorFromPublishedPage( | CODE |
| LOW | …modules/v4-tests/typography/typography-test-helpers.ts | 7 | export async function addWidgetWithOpenTypographySection( | CODE |
| LOW | …modules/v4-tests/typography/typography-test-helpers.ts | 129 | export async function verifyFontFamilyOnFrontend( | CODE |
| LOW | …es/v4-tests/typography/v4-typography-font-size.test.ts | 33 | async function testFontSizeFunctionality( params: { | CODE |
| LOW | …/v4-tests/typography/v4-typography-font-family.test.ts | 33 | async function testFontFamilyFunctionality( params: { | CODE |
| LOW | …sts/global-classes/global-classes-delete-class.test.ts | 15 | async function addWidgetWithStyledGlobalClass( editor: EditorPage, className: string ): Promise< string > { | CODE |
| LOW | …sts/global-classes/global-classes-delete-class.test.ts | 26 | async function openClassManagerFromStyleTab( page: Page ): Promise< void > { | CODE |
| LOW | …sts/global-classes/global-classes-delete-class.test.ts | 35 | async function assertEditingPanelRestoredAfterClose( | CODE |
| LOW | …wright/sanity/modules/v4-tests/global-classes/utils.ts | 104 | export async function publishAndWaitForClassesSave( editor: EditorPage, page: Page ): Promise< void > { | CODE |
| LOW | …wright/sanity/modules/v4-tests/global-classes/utils.ts | 186 | export async function deleteClassFromClassManager( page: Page, className: string ): Promise<void> { | CODE |
| LOW | …wright/sanity/modules/v4-tests/global-classes/utils.ts | 209 | export async function saveAndCloseClassManagerViaDialog( page: Page ): Promise<void> { | CODE |
| LOW | …wright/sanity/modules/v4-tests/global-classes/utils.ts | 221 | export async function reorderClassInClassManager( | CODE |
| LOW | …ests/global-classes/global-classes-unpublished.test.ts | 30 | async function saveDraftAndWaitForClassesSave( page: Page, editor: EditorPage ): Promise< void > { | CODE |
| 317 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …punit/elementor/modules/mcp/events/test-mcp-events.php | 42 | // ── Helpers ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …punit/elementor/modules/mcp/events/test-mcp-events.php | 68 | // ── Envelope standard ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …punit/elementor/modules/mcp/events/test-mcp-events.php | 147 | // ── class_created fan-out ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …punit/elementor/modules/mcp/events/test-mcp-events.php | 206 | // ── variable events fan-out ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …punit/elementor/modules/mcp/events/test-mcp-events.php | 347 | // ── element_added — duplicate path ─────────────────────────────────────── | COMMENT |
| MEDIUM | …punit/elementor/modules/mcp/events/test-mcp-events.php | 373 | // ── interactions_managed diff logic ────────────────────────────────────── | COMMENT |
| MEDIUM | …punit/elementor/modules/mcp/events/test-mcp-events.php | 447 | // ── component_created ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …punit/elementor/modules/mcp/events/test-mcp-events.php | 471 | // ── Factories ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …odules/mcp/events/test-mcp-tool-performance-events.php | 41 | // ── Helpers ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …odules/mcp/events/test-mcp-tool-performance-events.php | 107 | // ── manage-classes: emits exactly once per execute() ───────────────────── | COMMENT |
| MEDIUM | …odules/mcp/events/test-mcp-tool-performance-events.php | 195 | // ── manage-global-variable: emits exactly once per execute() ───────────── | COMMENT |
| MEDIUM | …odules/mcp/events/test-mcp-tool-performance-events.php | 273 | // ── perf events do not interfere with per-entity events ────────────────── | COMMENT |
| MEDIUM | …odules/mcp/events/test-mcp-tool-performance-events.php | 319 | // ── warning_codes: stable codes emitted on warning paths ───────────────── | COMMENT |
| MEDIUM | …odules/mcp/events/test-mcp-tool-performance-events.php | 335 | // ── emit once per execute() regardless of outcome ──────────────────────── | COMMENT |
| MEDIUM | …odules/mcp/events/test-mcp-tool-performance-events.php | 361 | // ── dispatch failure must not affect ability return value ───────────────── | COMMENT |
| MEDIUM | …anel/src/utils/__tests__/prop-dependency-utils.test.ts | 27 | // ─── tests ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 25 | # ── Job 1 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 28 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 43 | # ── Job 2 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 48 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 60 | # ── Job 3 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 62 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 74 | # ── Job 4 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 78 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 104 | # ── Job 5 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 106 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 118 | # ── Job 6 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 121 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 152 | # ── Job 7 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 155 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 167 | # ── Job 7b ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 172 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 203 | # ── Job 8 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/controlled-release.yml | 206 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/build-draft-release.yml | 39 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/build-draft-release.yml | 42 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/publish-release.yml | 70 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/publish-release.yml | 75 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/publish-release.yml | 204 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/publish-release.yml | 207 | # ───────────────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/assets/styles/mixins/_create-atom.scss | 1 | // MIXIN: Create Atom | COMMENT |
| LOW | app/assets/styles/functions/_border.scss | 1 | // Function: Border | COMMENT |
| LOW | app/assets/styles/functions/_size.scss | 1 | // Function: size | COMMENT |
| LOW | app/assets/styles/tokens/_colors.scss | 1 | // *********************************************************************************************** | COMMENT |
| LOW | bin/check-twig-safety.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | bin/includes.sh | 1 | #!/bin/bash | COMMENT |
| LOW | bin/includes.sh | 41 | COMMENT | |
| LOW | …right/sanity/modules/v4-tests/atomic-accordion.test.ts | 361 | test( 'Icon stays flush with the header trailing edge, including after the SVG is replaced', async () => { | COMMENT |
| LOW | …right/sanity/modules/v4-tests/atomic-accordion.test.ts | 441 | // '.e-accordion-item-base::details-content { block-size: 0; overflow: hidden; | COMMENT |
| LOW | …right/sanity/modules/v4-tests/atomic-accordion.test.ts | 601 | // in this repo's Playwright version — `node_modules/playwright-core/types/types.d.ts`; the | COMMENT |
| LOW | …right/sanity/modules/v4-tests/atomic-accordion.test.ts | 681 | // — and this suite has no existing e2e coverage of it anywhere (checked across | COMMENT |
| LOW | tests/phpunit/run-unit.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …sets/dev/js/editor/document/elements/component.spec.js | 21 | // eColumn2 = eSection.view.children.findByIndex( 1 ).getContainer(), | COMMENT |
| LOW | …sets/dev/js/editor/document/elements/component.spec.js | 41 | // | COMMENT |
| LOW | …/data/document/elements/create/section-columns.spec.js | 21 | assert.equal( eSectionInitial.children[ 0 ].settings.get( '_column_size' ), 50 ); | COMMENT |
| LOW | …ssets/dev/js/editor/document/history/component.spec.js | 21 | // settings: { | COMMENT |
| LOW | …ssets/dev/js/editor/document/history/component.spec.js | 41 | // // Redo. | COMMENT |
| LOW | …ssets/dev/js/editor/document/history/component.spec.js | 61 | // | COMMENT |
| LOW | …lement-controls/accordion-items-control/use-actions.ts | 61 | COMMENT | |
| LOW | …accordion-items-control/use-show-icon-write-through.ts | 81 | // `undoable()`'s debounce only delays when the *history entry* is pushed onto the undo stack - | COMMENT |
| LOW | …-control/__tests__/use-show-icon-write-through.test.ts | 141 | // Act. | COMMENT |
| LOW | .github/workflows/publish-packages.yml | 1 | # Publish Packages with Build Number | COMMENT |
| LOW | modules/atomic-widgets/module.php | 661 | '.e-background-video__controls { z-index: 2; }', | COMMENT |
| LOW | modules/atomic-widgets/module.php | 681 | // Animated expand/collapse via `::details-content` (block-size 0 -> auto) needs | COMMENT |
| LOW | …widgets/elements/atomic-accordion/atomic-accordion.php | 281 | 'title' => esc_html__( 'Header', 'elementor' ), | COMMENT |
| LOW | …mic-accordion-item-icon/atomic-accordion-item-icon.php | 121 | // wider than the icon it holds (200px, so it stays a usable drop target once | COMMENT |
| LOW | …ts/atomic-accordion/handlers/editor-accordion-state.js | 41 | const belongsToThisAccordion = ( node ) => getOwnAccordion( node ) === element; | COMMENT |
| LOW | assets/lib/e-select2/js/e-select2.full.js | 2021 | }); | COMMENT |
| LOW | assets/lib/backbone/backbone.marionette.js | 41 | /* istanbul ignore next */ | COMMENT |
| LOW | assets/lib/backbone/backbone.marionette.js | 761 | COMMENT | |
| LOW | assets/lib/backbone/backbone.marionette.js | 1361 | COMMENT | |
| LOW | assets/lib/backbone/backbone.marionette.js | 1641 | // this method if you do not need to pre-compile a template | COMMENT |
| LOW | assets/lib/backbone/backbone.marionette.js | 2041 | // --------- | COMMENT |
| LOW | assets/lib/backbone/backbone.marionette.js | 2961 | var template = this.getTemplate(); | COMMENT |
| LOW | assets/lib/backbone/backbone.marionette.js | 3241 | // user interactions that can be mixed into any View. | COMMENT |
| LOW | assets/lib/backbone/backbone.marionette.js | 3361 | // i.e. | COMMENT |
| LOW | assets/lib/backbone/backbone.marionette.js | 3461 | COMMENT | |
| LOW | assets/lib/e-gallery/js/e-gallery.js | 1301 | //# sourceMappingURL=e-gallery.js.map | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/utils/assets-translation-loader.php | 27 | * The purpose of this function is to replace the requested translation file | COMMENT |
| LOW | scripts/setup-test-environment.sh | 11 | # Step 1: Stop and remove existing Elementor test containers | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 35 | # Step 2: Prepare environment | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 39 | # Step 3: Build project from current branch | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 47 | # Step 4: Download hello-elementor theme | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 59 | # Step 5: Start local servers | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 63 | # Step 6: Setup WordPress environments | COMMENT |
| LOW | …editor-components/src/utils/resolve-overrides-chain.ts | 55 | // Step 1: Find the intermediate component instance and read its settings. | COMMENT |
| LOW | …editor-components/src/utils/resolve-overrides-chain.ts | 88 | // Step 4: Recurse into the next nesting level. | COMMENT |
| LOW | …r-components/src/utils/format-component-elements-id.ts | 5 | // The purpose of this function is to solve the issue of component inner elements having the same ID | COMMENT |
| LOW | assets/lib/nouislider/nouislider.js | 1994 | // Step 1: get the maximum percentage that any of the handles can move | COMMENT |
| LOW⚡ | assets/lib/nouislider/nouislider.js | 2023 | // Step 2: Try to set the handles with the found percentage | COMMENT |
| LOW⚡ | assets/lib/nouislider/nouislider.js | 2028 | // Step 3: If a handle moved, fire events | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/setup-test-environment.sh | 11 | # Step 1: Stop and remove existing Elementor test containers | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 35 | # Step 2: Prepare environment | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 39 | # Step 3: Build project from current branch | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 47 | # Step 4: Download hello-elementor theme | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 59 | # Step 5: Start local servers | COMMENT |
| LOW⚡ | scripts/setup-test-environment.sh | 63 | # Step 6: Setup WordPress environments | COMMENT |
| LOW | …editor-components/src/utils/resolve-overrides-chain.ts | 55 | // Step 1: Find the intermediate component instance and read its settings. | COMMENT |
| LOW | …editor-components/src/utils/resolve-overrides-chain.ts | 88 | // Step 4: Recurse into the next nesting level. | COMMENT |
| LOW | assets/lib/nouislider/nouislider.js | 1994 | // Step 1: get the maximum percentage that any of the handles can move | COMMENT |
| LOW⚡ | assets/lib/nouislider/nouislider.js | 2023 | // Step 2: Try to set the handles with the found percentage | COMMENT |
| LOW⚡ | assets/lib/nouislider/nouislider.js | 2028 | // Step 3: If a handle moved, fire events | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bin/includes.sh | 43 | # Check if the command exists as some sort of executable. | COMMENT |
| LOW | scripts/setup-testing.sh | 8 | # Check if restart flag is provided | COMMENT |
| LOW⚡ | scripts/setup-testing.sh | 39 | # Check if Docker is running | COMMENT |
| LOW⚡ | scripts/setup-testing.sh | 46 | # Check if Node.js is installed | COMMENT |
| LOW⚡ | scripts/setup-testing.sh | 53 | # Check if npm is installed | COMMENT |
| LOW | scripts/setup-testing.sh | 114 | # Check if WordPress is accessible | COMMENT |
| LOW | .github/workflows/cherry-pick-pr.yml | 209 | # Check if PR already exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/assets/styles/tokens/_colors.scss | 2 | // This file is deprecated and is kept here for BC with 3rd party plugins that utilize it. | COMMENT |
| MEDIUM | …right/sanity/modules/v4-tests/atomic-accordion.test.ts | 478 | // numerically (rather than matched as a literal string) to stay robust to browser-specific | COMMENT |
| MEDIUM | assets/dev/js/editor/components/validator/breakpoint.js | 48 | // Validate both numeric and empty values, since breakpoints utilize default values when empty. | COMMENT |
| MEDIUM | assets/dev/scss/frontend/breakpoints/breakpoints.scss | 1 | // This file is deprecated and is kept here for BC with 3rd party plugins that utilize it. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ules/ai/assets/js/editor/pages/form-code/code-block.js | 21 | helperText={ __( 'Code generated by AI may be inaccurate.', 'elementor' ) } | CODE |
| HIGH | modules/ai/assets/js/editor/pages/form-text/index.js | 179 | helperText={ __( 'Text generated by AI may be inaccurate or offensive.', 'elementor' ) } | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bin/check-twig-safety.sh | 14 | # Usage: | COMMENT |
| LOW | tests/phpunit/run-unit.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/cherry-pick-pr.yml | 113 | # Create a conflict resolution branch | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | modules/agents/classes/scanner-client.php | 11 | const DEFAULT_API_URL = 'https://my.elementor.com/apps/api/v1/is-agentic/wordpress/scan'; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/phpunit/elementor/data/base/test-endpoint.php | 203 | // TODO: Add test_get_permission_callback(), when get_permission_callback() function is completed. | COMMENT |