diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 68abe2de6c..84837c7ec7 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Request to build Docker image - uses: actions/github-script@v8.0.0 + uses: actions/github-script@v9.0.0 with: github-token: ${{ secrets.WPCOM_VIP_BOT_TOKEN }} script: | diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 9bd8b3e4d8..fa73684dfc 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -12,7 +12,7 @@ jobs: name: Review Dependencies steps: - name: Harden Runner - uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1 + uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0 with: egress-policy: block allowed-endpoints: > diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c74240764d..fc916db921 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -38,7 +38,7 @@ jobs: contents: read steps: - name: Harden Runner - uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1 + uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0 with: egress-policy: block allowed-endpoints: @@ -140,7 +140,7 @@ jobs: contents: read steps: - name: Harden Runner - uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1 + uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0 with: egress-policy: audit diff --git a/.github/workflows/release-prod.yml b/.github/workflows/release-prod.yml index 22a986fa55..56cc741156 100644 --- a/.github/workflows/release-prod.yml +++ b/.github/workflows/release-prod.yml @@ -19,7 +19,7 @@ jobs: id: ${{ steps.id-generator.outputs.id }} steps: - name: Harden Runner - uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1 + uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0 with: egress-policy: audit @@ -49,7 +49,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2.6.1 + - uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0 with: generate_release_notes: true tag_name: ${{ steps.id-generator.outputs.id }} diff --git a/__tests__/e2e/package-lock.json b/__tests__/e2e/package-lock.json index a83af185fc..6ba23b5513 100644 --- a/__tests__/e2e/package-lock.json +++ b/__tests__/e2e/package-lock.json @@ -822,13 +822,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", - "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.18.0" + "undici-types": "~7.19.0" } }, "node_modules/@typescript-eslint/parser": { @@ -5946,9 +5946,9 @@ } }, "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", "dev": true, "license": "MIT" }, diff --git a/integrations/real-time-collaboration.php b/integrations/real-time-collaboration.php index 688b4efc2b..fd65088bf3 100644 --- a/integrations/real-time-collaboration.php +++ b/integrations/real-time-collaboration.php @@ -25,7 +25,7 @@ class RealTimeCollaborationIntegration extends Integration { * Empty string means load from the unversioned 'gutenberg' folder. * A version number (e.g., '1.0') loads from 'gutenberg-1.0' folder. */ - const VIP_RTC_GUTENBERG_VERSION = '0.2'; + const VIP_RTC_GUTENBERG_VERSION = '0.2-20260414'; /** * Enable Pendo tracking for this integration. diff --git a/jetpack b/jetpack index 6b6e0ef863..d1331c375e 160000 --- a/jetpack +++ b/jetpack @@ -1 +1 @@ -Subproject commit 6b6e0ef86331ef2551b0ff82a4e12cad2e638220 +Subproject commit d1331c375e3fc00beeca12ff9b4f5957ebd14f23 diff --git a/jetpack.php b/jetpack.php index 9e24c6bc61..4752b5f95c 100644 --- a/jetpack.php +++ b/jetpack.php @@ -4,12 +4,12 @@ * Plugin URI: https://jetpack.com * Description: Security, performance, and marketing tools made by WordPress experts. Jetpack keeps your site protected so you can focus on more important things. * Author: Automattic - * Version: 15.5 + * Version: 15.7 * Author URI: https://jetpack.com * License: GPL2+ * Text Domain: jetpack - * Requires at least: 5.7 - * Requires PHP: 5.6 + * Requires at least: 6.4 + * Requires PHP: 8.0 * * @package automattic/jetpack */ @@ -19,13 +19,7 @@ function vip_default_jetpack_version() { global $wp_version; - if ( version_compare( $wp_version, '6.3', '<' ) ) { - // WordPress 6.2.x. - return '12.8'; - } elseif ( version_compare( $wp_version, '6.4', '<' ) ) { - // WordPress 6.3.x - return '13.1'; - } elseif ( version_compare( $wp_version, '6.5', '<' ) ) { + if ( version_compare( $wp_version, '6.5', '<' ) ) { // WordPress 6.4.x return '13.6'; } elseif ( version_compare( $wp_version, '6.6', '<' ) ) { @@ -39,7 +33,7 @@ function vip_default_jetpack_version() { return '15.4'; } else { // WordPress 6.8 and newer. - return '15.5'; + return '15.7'; } } diff --git a/qm-plugins/qm-limited-header-php-errors/output/headers/php-errors.php b/qm-plugins/qm-limited-header-php-errors/output/headers/php-errors.php index b4b085a590..24a5d43af8 100644 --- a/qm-plugins/qm-limited-header-php-errors/output/headers/php-errors.php +++ b/qm-plugins/qm-limited-header-php-errors/output/headers/php-errors.php @@ -34,33 +34,24 @@ public function get_output() { $count = 0; - foreach ( $data->errors as $type => $errors ) { - - foreach ( $errors as $error_key => $error ) { - - // phpcs:ignore Universal.Operators.DisallowStandalonePostIncrementDecrement.PostIncrementFound - $count++; - - $stack = array(); - - if ( ! empty( $error['filtered_trace'] ) ) { - $stack = array_column( $error['filtered_trace'], 'display' ); - } - - $output_error = array( - 'key' => $error_key, - 'type' => $error['type'], - 'message' => $error['message'], - 'file' => QM_Util::standard_dir( $error['file'], '' ), - 'line' => $error['line'], - 'stack' => $stack, - 'component' => $error['component']->name, - ); - - $key = sprintf( 'error-%d', $count ); - $headers[ $key ] = json_encode( $output_error ); // phpcs:ignore WordPress.WP.AlternativeFunctions.json_encode_json_encode - - } + foreach ( $data->errors as $error ) { + ++$count; + + $stack = isset( $error->trace ) ? $error->trace->get_stack() : array(); + $component = isset( $error->trace ) ? $error->trace->get_component()->name : ''; + $callsite = isset( $error->trace ) ? $error->trace->get_callsite() : null; + + $output_error = array( + 'level' => $error->level, + 'message' => $error->message, + 'file' => $callsite ? QM_Util::standard_dir( $callsite->file, '' ) : '', + 'line' => $callsite->line ?? null, + 'stack' => $stack, + 'component' => $component, + ); + + $key = sprintf( 'error-%d', $count ); + $headers[ $key ] = json_encode( $output_error ); // phpcs:ignore WordPress.WP.AlternativeFunctions.json_encode_json_encode } // VIP: hack to avoid failed requests due to headers being too large @@ -94,7 +85,7 @@ public function get_output() { return array_merge( array( - 'error-count' => $count, + 'count' => $count, ), $headers ); diff --git a/query-monitor/SECURITY.md b/query-monitor/SECURITY.md index 838101c3bb..51a7f43081 100644 --- a/query-monitor/SECURITY.md +++ b/query-monitor/SECURITY.md @@ -2,6 +2,6 @@ ## How can I report a security bug? -[You can report security bugs through the official Query Monitor Vulnerability Disclosure Program on Patchstack](https://patchstack.com/database/vdp/query-monitor). The Patchstack team helps validate, triage, and handle any security vulnerabilities. +You can submit a private security vulnerability report to Query Monitor via [the Security tab on the GitHub repo](https://github.com/johnbillion/query-monitor/security). The GitHub Security Advisory process facilitates private collaboration on security issues. You'll receive credit for a valid report and a CVE if necessary. -Do not report security issues on GitHub, on the WordPress.org support forums, or via email. Thank you. +Do not report security issues on the WordPress.org support forums or via email. Thank you. diff --git a/query-monitor/assets/build/query-monitor.css b/query-monitor/assets/build/query-monitor.css new file mode 100644 index 0000000000..c4e8e8746f --- /dev/null +++ b/query-monitor/assets/build/query-monitor.css @@ -0,0 +1 @@ +.qm-container{color-scheme:light dark;--qm-wp-fresh: #2271b1;--qm-wp-modern: #3858e9;--qm-container-fg: light-dark( #1e1e1e, #eaeef2 );--qm-container-bg: light-dark( #f0f0f0, #32373c );--qm-container-overflow: light-dark( #ececec, #3e444a );--qm-panel-border: light-dark( #c3c4c7, #50626f );--qm-panel-fg: light-dark( #1e1e1e, #eaeef2 );--qm-panel-bg: light-dark( #fff, #23282d );--qm-panel-separator: light-dark( #dcdcde, #50626f );--qm-panel-menu-fg: light-dark( #3c434a, #eaeef2 );--qm-panel-menu-bg: light-dark( #ececec, #3e444a );--qm-panel-menu-fg-hover: light-dark( #fff, #fff );--qm-panel-menu-bg-selected: light-dark( var( --qm-wp-color ), var( --qm-wp-color ) );--qm-panel-menu-bg-hover: var( --qm-panel-menu-bg-selected );--qm-panel-menu-shadow: var( --qm-panel-menu-bg-selected );--qm-panel-menu-fg-current: light-dark( #1e1e1e, #eaeef2 );--qm-panel-menu-bg-current: light-dark( #e2e4e7, #32373c );--qm-panel-menu-bg-current-focus: light-dark( #f0f3f7, #3e444a );--qm-panel-menu-fg-selected: light-dark( #fff, #fff );--qm-cell-border: light-dark( #e9e9eb, #23282d );--qm-cell-bg-hover: light-dark( #f0f6fc, #373c42 );--qm-cell-fg-highlight: light-dark( #1e1e1e, #eaeef2 );--qm-cell-bg-highlight: light-dark( #ffd, #57572a );--qm-cell-bg-highlight-alt: light-dark( #ffffc9, #4a4a24 );--qm-cell-bg-highlight-dark: light-dark( #ffffaa, #353519 );--qm-cell-bg-stripe: light-dark( #f9f9f9, #32373c );--qm-table-header-bg: light-dark( #ececec, #3e444a );--qm-table-footer-bg: light-dark( #f6f7f7, #32373c );--qm-link-fg: light-dark( var( --qm-wp-color ), #30ceff );--qm-link-fg-hover: oklch(from var( --qm-link-fg ) calc(l - .2) c h);--qm-link-fg-active: light-dark( #0a4b78, #69aadc );--qm-button-fg: light-dark( #fff, #fff );--qm-button-bg: light-dark( var( --qm-wp-color ), var( --qm-wp-color ) );--qm-button-fg-hover: var( --qm-button-fg );--qm-button-bg-hover: oklch(from var( --qm-button-bg ) calc(l - .2) c h);--qm-button-fg-active: light-dark( #fff, #fff );--qm-button-bg-active: light-dark( #0a4b78, #0a4b78 );--qm-title-button-fg: light-dark( #444, #bbc8d4 );--qm-title-button-bg: light-dark( transparent, transparent );--qm-title-button-fg-hover: light-dark( #1e1e1e, #32373c );--qm-title-button-bg-hover: light-dark( #dcdcde, #bbc8d4 );--qm-title-button-bg-active: light-dark( #c8c8ca, #a3b0bc );--qm-info-fg: light-dark( #50575e, #aaa );--qm-warn-fg: light-dark( #8a2424, #fff0f0 );--qm-warn-bg: light-dark( #fcf0f1, #622 );--qm-warn-bg-dark: light-dark( #fceced, #6c2424 );--qm-warn-bg-hover: light-dark( #fdeced, #7a2a2a );--qm-warn-border: light-dark( #facfd2, #ffd6d6 );--qm-nonselect-fg: light-dark( #a0a, #a6a );--qm-title-bg: light-dark( #ececec, #3e444a );--qm-selection-fg: light-dark( #1e1e1e, #32373c );--qm-selection-bg: light-dark( #B9D6FB, #B9D6FB );--qm-badge-fg: light-dark( #50575e, #c3c4c7 );--qm-badge-bg: light-dark( #dcdcde, #50626f );--qm-badge-warn-fg: light-dark( #8a2424, #f0c0c0 );--qm-badge-warn-bg: light-dark( #facfd2, #6c2424 );--qm-sql-keyword-fg: light-dark( var( --qm-wp-color ), #30ceff );--qm-sql-value-fg: light-dark( #a44, #ce9178 );--qm-timeline-db: #3858e9;--qm-timeline-http: #888888;--qm-timeline-php-error: #d63638;--qm-timeline-timing: #2e7d32;--qm-timeline-action: #9c27b0;--qm-timeline-log: #ff9800;--qm-font-default-face: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--qm-font-default-size: 12.5px;--qm-font-default-line-height: 19px;--qm-font-code-face: Menlo, Monaco, Consolas, monospace;--qm-font-code-size: 11px;--qm-font-code-line-height: 20px;--qm-admin-toolbar-height: 32px;--qm-fabulous-gradient: repeating-linear-gradient( 135deg, #FFFFFF 0px, #FFFFFF 20px, #F5A9B8 20px, #F5A9B8 40px, #5BCEFA 40px, #5BCEFA 60px, #613915 60px, #613915 80px, #000000 80px, #000000 100px, #E40303 100px, #E40303 120px, #FF8D00 120px, #FF8D00 140px, #FFED00 140px, #FFED00 160px, #008026 160px, #008026 180px, #004DFF 180px, #004DFF 200px, #750787 200px, #750787 220px );background:var( --qm-panel-bg );box-sizing:border-box;color:var( --qm-container-fg );direction:ltr;font-family:var( --qm-font-default-face );font-size:var( --qm-font-default-size );font-style:normal;font-weight:400;line-height:var( --qm-font-default-line-height );text-align:left;&[data-color-scheme=fresh]{--qm-wp-color: var( --qm-wp-fresh )}&[data-color-scheme=modern]{--qm-wp-color: var( --qm-wp-modern )}&[data-theme=light]{color-scheme:light}&[data-theme=dark]{color-scheme:dark}}#query-monitor-main{border-top:1px solid var( --qm-panel-border );border-radius:8px 8px 0 0;bottom:0;contain:layout paint;left:0;position:fixed;right:0;box-shadow:0 -4px 20px #00000014;z-index:9989;&:not(.qm-show-right){width:100%!important;&.wp-admin{left:unset;width:calc(100% - 160px)!important}&.wp-admin.rtl{left:0;right:unset}&.wp-admin.folded{width:calc(100% - 36px)!important}@media(width<=960px){&.wp-admin.auto-fold{width:calc(100% - 36px)!important}}@media(width<=782px){&.wp-admin.auto-fold{left:0;right:0;width:100%!important}}&.wp-admin.fullscreen-mode{left:0;width:100%!important}}&.qm-show-right{height:calc(100vh - var( --qm-admin-toolbar-height ))!important;top:var( --qm-admin-toolbar-height );left:unset;bottom:unset;border-top:0;border-left:1px solid var( --qm-panel-border );#qm-title h1.qm-title-heading{display:none}#qm-title div.qm-title-heading{display:block;cursor:default}}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}button,select{background:transparent;border:none;border-radius:0;font:inherit;color:inherit}a{color:inherit}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}th,caption{font-weight:inherit;text-align:inherit}td,th{vertical-align:baseline}::selection{background-color:var( --qm-selection-bg );color:var( --qm-selection-fg )}strong,b{font-weight:700}em,i{font-style:italic}.qm-cell-sql b{color:var( --qm-sql-keyword-fg )}.qm-cell-sql .qm-sql-value{color:var( --qm-sql-value-fg )}.qm-show{display:flex;flex-direction:column;height:60%}.qm-show-right.qm-show{width:40%}#qm-panels-wrapper{display:flex;flex-grow:1;min-height:0}#qm-title{align-items:center;background:var( --qm-title-bg );border-bottom:1px solid var( --qm-panel-border );display:flex;flex-shrink:0;height:30px;padding-left:12px;-webkit-user-select:none;user-select:none;.qm-title-heading{align-content:center;align-self:stretch;cursor:ns-resize;flex-grow:1;margin-right:6px;font-size:11px;font-weight:500}&.qm-fabulous .qm-title-heading{&:before{content:"";display:block;width:100%;height:8px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);animation:qm-fabulous-swipe .5s ease-out;background:var( --qm-fabulous-gradient )}span{display:none}}div.qm-title-heading{display:none}.qm-icon{display:inline-block;height:20px;width:20px;fill:var( --qm-title-button-fg )}.qm-button-container-close{margin-right:10px;.qm-icon{width:18px;height:18px}}.qm-button-container-position{.qm-icon{width:12px;height:12px;transform:scaleX(-1) rotate(90deg)}}.qm-button-container-settings{.qm-icon{width:14px;height:14px}}@media(width<=960px){.qm-button-container-position{display:none}}button{flex-shrink:0;align-self:stretch;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;width:28px;&:focus *,&:hover *,&:focus,&:hover{background:var( --qm-title-button-bg-hover );.qm-icon{fill:var( --qm-title-button-fg-hover )}}&:active *,&:active{background:var( --qm-title-button-bg-active )}}}.qm-show-right #qm-title .qm-button-container-position .qm-icon{margin:1px 1px 0;transform:none}#qm-panel-menu{background:var( --qm-container-overflow );flex-shrink:0;overflow-y:scroll;overscroll-behavior:contain;min-width:180px;ul{display:block;list-style:none;margin:0;padding:0}li{display:list-item;margin:0;padding:0;ul{display:none}button{align-items:center;background:var( --qm-panel-menu-bg );color:var( --qm-panel-menu-fg );cursor:pointer;display:flex;gap:4px;padding:7px 12px;position:relative;text-align:start;width:100%;&:focus-visible,&:hover{background:var( --qm-panel-menu-bg-hover );color:var( --qm-panel-menu-fg-hover )}&:focus-visible{text-decoration:underline}&:active{text-decoration:none;background:var( --qm-panel-menu-bg-selected );color:var( --qm-panel-menu-fg-selected )}}&.qm-current-menu{ul{display:block}button{background:var( --qm-panel-menu-bg-current );color:var( --qm-panel-menu-fg-current );&:focus-visible{background:var( --qm-panel-menu-bg-current-focus );color:var( --qm-panel-menu-fg-current )}&:hover{background:var( --qm-panel-menu-bg-hover );color:var( --qm-panel-menu-fg-hover )}}}li button{&:before{content:"└";display:inline-block;margin-right:8px;opacity:.3}}button[aria-selected=true]{background:var( --qm-panel-menu-bg-selected );color:var( --qm-panel-menu-fg-selected );font-weight:500;text-shadow:0 -1px 1px var( --qm-panel-menu-shadow ),1px 0 1px var( --qm-panel-menu-shadow ),0 1px 1px var( --qm-panel-menu-shadow ),-1px 0 1px var( --qm-panel-menu-shadow );&:after{border:solid 8px transparent;border-right-color:var( --qm-panel-bg );content:" ";display:inline-block;height:0;margin-top:-8px;pointer-events:none;position:absolute;right:-1px;top:50%;width:0}.qm-menu-badge{background:#ffffff40;color:#fff}.qm-menu-badge-warning{background:var( --qm-badge-warn-bg );color:var( --qm-badge-warn-fg )}}.qm-menu-badge{background:var( --qm-badge-bg );border-radius:99px;color:var( --qm-badge-fg );font-size:10.5px;font-weight:600;line-height:1;margin-left:auto;min-width:18px;padding:3px 7px;text-align:center;text-shadow:none}.qm-menu-badge-warning{background:var( --qm-badge-warn-bg );color:var( --qm-badge-warn-fg );margin-left:auto}.qm-menu-badge-new{background:var( --qm-panel-menu-bg-hover );color:var( --qm-panel-menu-fg-hover )}.qm-menu-badge+.qm-menu-badge-warning{margin-left:0}}}#qm-panels{flex-grow:1;overflow-y:scroll;overscroll-behavior:contain;border:6px solid var( --qm-panel-bg );border-bottom:none}.qm-boxed{display:flex;flex-wrap:wrap;gap:10px;+.qm-grid,+.qm-boxed{padding-top:10px}}.qm-grid{display:flex;flex-wrap:wrap;gap:10px;section{width:22em}}.qm{.qm-none{margin:2em}.qm-none p{font-style:italic;text-align:center}table{border:none;border-collapse:collapse;box-shadow:0 1px 0 0 var( --qm-panel-border );color:var( --qm-panel-fg );margin:0;table-layout:auto;width:100%}table+table{border-top:1px solid var( --qm-cell-border );margin-top:5px}thead,tbody,tfoot,tr{border:none;background-color:inherit}tbody th,tbody td,tfoot th,tfoot td{border:1px solid var( --qm-cell-border );padding:7px 8px 6px;vertical-align:top}tbody th,tbody td{border-bottom:none;border-top:none}thead th{background:var( --qm-table-header-bg );box-shadow:0 2px 4px #0000000f;font-weight:600;letter-spacing:.01em;padding:7px 7px 7px 8px;position:sticky;top:0;z-index:1}.qm-table-header th{padding:0;box-shadow:none}thead th,thead td{vertical-align:top}thead .qm-th{display:flex}tfoot tr td,tfoot tr th{background:var( --qm-table-footer-bg );border:none;bottom:0;box-shadow:inset 0 1px 0 var( --qm-cell-border );position:sticky}th:first-child,td:first-child{border-left:none}th:last-child,td:last-child{border-right:none}tfoot td.qm-num,tfoot th.qm-num,thead td.qm-num,thead th.qm-num{width:5.5em}th.qm-num,td.qm-num{text-align:right}td.qm-num{font-family:var( --qm-font-code-face );font-size:var( --qm-font-code-size );line-height:var( --qm-font-code-line-height )}th.qm-col-sql{min-width:25em}th.qm-col-attrs,th.qm-col-context,th.qm-col-html{max-width:40em}th.qm-col-attrs,th.qm-col-context,th.qm-col-html,tr.qm-warn td.qm-cell-status,th.qm-col-url,th.qm-col-message,th.qm-col-component{min-width:15em}td.qm-has-toggle{padding-right:28px;position:relative}.qm-inner-toggle{padding:4px 6px}.qm-has-inner .qm-toggled>table{border-bottom:none;border-top:1px solid var( --qm-cell-border )}td.qm-has-inner .qm-toggler,td.qm-has-inner{padding:0}caption h2{font-size:14px;margin:20px}}.qm-concerns table{border-top:1px solid var( --qm-cell-border );margin-bottom:20px}.qm-table-children,.qm-non-tabular{padding:10px;h3{font-size:14px;margin:0 0 15px}h4{font-size:12px;margin:20px 0 10px}p{margin-bottom:10px}dl{display:flex;flex-wrap:wrap;max-width:60em}dt{border-top:1px solid var( --qm-panel-separator );flex-grow:0;flex:1 0 16em;padding:10px 10px 10px 0}dd{border-top:1px solid var( --qm-panel-separator );flex:1 0 calc(100% - 10px - 16em);padding:10px 0}section,.qm-section{margin:0 0 30px}table{box-shadow:none}}.qm-grid section,.qm-boxed section,.qm-boxed .qm-section{border:1px solid var( --qm-panel-border );border-radius:6px;padding:14px 18px;margin:0}#qm-conditionals li{display:inline-block;margin:0 20px 5px 0}.qm{ol,ul{list-style:none}li{display:list-item;list-style:none;line-height:20px}code,pre{font-family:var( --qm-font-code-face );font-size:var( --qm-font-code-size );line-height:var( --qm-font-code-line-height )}pre{background:transparent;height:auto;margin:0;padding:0;width:auto}.qm-true code,p.qm-true,span.qm-true,td.qm-true{color:#282}.qm-false code,span.qm-false,td.qm-false{color:#767676}.qm-num,code,.qm-nowrap{white-space:nowrap}.qm-wrap code,.qm-wrap{white-space:normal;word-break:break-all;word-wrap:break-word}.qm-pre-wrap code{white-space:pre-wrap;word-break:break-all;word-wrap:break-word}.qm-sticky{position:sticky;top:36px}.qm-current,td.qm-has-toggle p,.qm-nonselectsql code,.qm-nonselectsql{color:var( --qm-nonselect-fg )}.qm-info{color:var( --qm-info-fg )}.qm-supplemental{margin-left:.75em;margin-right:.75em}button.qm-button,.qm-toggle{background:var( --qm-button-bg );border:1px solid var( --qm-button-bg );border-radius:4px;color:var( --qm-button-fg );cursor:pointer;font-weight:400;text-shadow:none}.qm-toggle{font-family:var( --qm-font-code-face );height:18px;inset:7px 7px auto auto;line-height:16px;padding:0;position:absolute;text-align:center;-webkit-user-select:none;user-select:none;width:18px}button{cursor:pointer}button.qm-button{padding:4px 10px}.qm-has-inner .qm-toggle{right:7px;top:7px}button.qm-button:hover,.qm-toggle:hover{background:var( --qm-button-bg-hover );border-color:var( --qm-button-bg-hover );color:var( --qm-button-fg-hover );text-decoration:none}button.qm-button:focus-visible,.qm-toggle:focus-visible{background:var( --qm-button-bg-hover );border-color:var( --qm-button-bg-hover );color:var( --qm-button-fg-hover );box-shadow:0 0 0 1px #fff,0 0 0 3px var( --qm-button-bg-hover )}button.qm-button:active,.qm-toggle:active{background:var( --qm-button-bg-active );border-color:var( --qm-button-bg-active );color:var( --qm-button-fg-active );box-shadow:none}input[type=radio].qm-radio,input[type=radio].qm-radio:checked,input[type=radio].qm-radio:focus-visible,input[type=radio].qm-radio:checked:focus-visible,input[type=radio].qm-radio:hover,input[type=radio].qm-radio:checked:hover,input[type=checkbox].qm-checkbox,input[type=checkbox].qm-checkbox:checked,input[type=checkbox].qm-checkbox:focus-visible,input[type=checkbox].qm-checkbox:checked:focus-visible,input[type=checkbox].qm-checkbox:hover,input[type=checkbox].qm-checkbox:checked:hover{all:revert;accent-color:var( --qm-button-bg );vertical-align:-2px;margin-right:5px;&:before,&:after{display:none}}.qm-fabulous-toggle{margin-top:10px}tbody tr td,tbody tr th{background:var( --qm-panel-bg )}tbody tr:nth-child(2n) td,tbody tr:nth-child(2n) th{background:var( --qm-cell-bg-stripe )}}.qm-warning-wrapper{display:flex;align-items:start;>.qm-icon{flex-shrink:0}}.qm-non-tabular .qm-warn,.qm thead tr .qm-warn,.qm tbody tr:not(.qm-warn) .qm-warn{background-color:var( --qm-warn-bg );color:var( --qm-warn-fg );.qm-icon{fill:var( --qm-warn-fg )}}.qm{tbody tr th.qm-warn,tbody tr td.qm-warn,tbody tr.qm-warn td,tbody tr.qm-warn th{background-color:var( --qm-warn-bg );color:var( --qm-warn-fg );.qm-icon{fill:var( --qm-warn-fg )}}tbody tr:nth-child(odd) .qm-warn,tbody tr:nth-child(odd) th.qm-warn,tbody tr:nth-child(odd) td.qm-warn,tbody tr:nth-child(odd).qm-warn td,tbody tr:nth-child(odd).qm-warn th{background-color:var( --qm-warn-bg-dark )}tbody tr.qm-warn .qm-warn{background-color:transparent}}.qm-non-tabular .qm-warn code,.qm tbody .qm-warn li,.qm tbody .qm-warn .qm-info,.qm tbody .qm-warn code{background-color:transparent;color:var( --qm-warn-fg );.qm-icon{fill:var( --qm-warn-fg )}}.qm{.qm-empty{background:var( --qm-panel-bg );border:1px solid var( --qm-panel-menu-bg-hover );margin:0 0 10px;max-width:40em;padding:20px 30px 10px}.qm-error{background:var( --qm-warn-bg );border:1px solid var( --qm-warn-border );color:var( --qm-warn-fg );margin:0 0 10px;padding:10px 20px}.qm-icon{margin-top:.1em;margin-right:.3em;display:inline-block;height:16px;width:16px;fill:var( --qm-container-fg );vertical-align:top}.qm-icon-yes-alt{fill:#0a0}tbody tr td.qm-highlight,tbody tr.qm-highlight th,tbody tr.qm-highlight td:not(.qm-cell-hook){background-color:var( --qm-cell-bg-highlight );color:var( --qm-cell-fg-highlight )}tbody tr:nth-child(odd) td.qm-highlight,tbody tr:nth-child(odd).qm-highlight th,tbody tr:nth-child(odd).qm-highlight td:not(.qm-cell-hook){background-color:var( --qm-cell-bg-highlight-alt );color:var( --qm-cell-fg-highlight )}tbody tr:not(.qm-warn-notice):nth-child(odd):hover th,tbody tr:not(.qm-warn-notice):nth-child(odd):hover td,tbody tr:not(.qm-warn-notice):hover th,tbody tr:not(.qm-warn-notice):hover td{background:var( --qm-cell-bg-hover )}tbody tr.qm-warn:not(.qm-warn-notice):hover th,tbody tr.qm-warn:not(.qm-warn-notice):hover td{background:var( --qm-warn-bg-hover )}tbody tr.qm-highlight:hover th,tbody tr.qm-highlight:hover td:not(.qm-cell-hook){background:var( --qm-cell-bg-highlight-dark )}tbody tr.qm-jump-highlight th,tbody tr.qm-jump-highlight td{animation:qm-jump-fade 4s ease-out}thead th.qm-filtered select.qm-filter{background-color:var( --qm-cell-bg-highlight );color:var( --qm-cell-fg-highlight )}button.qm-filter-trigger,button.qm-filter-trigger code,tbody .qm-warn a code,a code,a{color:var( --qm-link-fg );cursor:pointer;&:after,&:focus-visible,&:hover{color:var( --qm-link-fg-hover )}&:active{color:var( --qm-link-fg-active )}}a.qm-external-link,a.qm-link,a.qm-edit-link,button.qm-filter-trigger{white-space:nowrap;text-decoration:none;.qm-icon{fill:var( --qm-link-fg-hover )!important;width:16px;height:16px;left:2px;position:relative;text-decoration:none;top:2px;visibility:hidden}}a.qm-external-link{text-decoration:underline}a.qm-external-link,a.qm-link:hover,a.qm-link:focus-visible,a.qm-edit-link:hover,a.qm-edit-link:focus-visible,button.qm-filter-trigger:hover,button.qm-filter-trigger:focus-visible{.qm-icon{visibility:visible}}}button,select{background:none;cursor:pointer}.qm{label{color:var( --qm-panel-fg );cursor:pointer;font-size:12px}.qm-filter-container{display:flex}.qm-filter-container label{cursor:default;white-space:nowrap}}.qm-title-heading select,.qm-select,.qm-filter{appearance:menulist;background:var( --qm-panel-bg );border:none;border-radius:4px;color:var( --qm-panel-fg );cursor:pointer;display:block;margin:0 0 0 5px;outline:1px solid var( --qm-panel-border );padding:0}.qm-select,.qm-filter{max-width:12em}.qm-select:hover,.qm-filter:hover{background:var( --qm-cell-bg-hover )}.qm-screen-reader-text,.screen-reader-text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media(width<=782px){#qm-panel-menu,#qm-title h1.qm-title-heading{display:none}#qm-title div.qm-title-heading{display:block}}.qm.qm-debug-bar{textarea,pre{border:1px solid var( --qm-panel-separator );margin:4px 0;padding:10px}textarea{resize:vertical}.left{float:left}.right{float:right}h2{font-size:14px;margin:4px 6px 15px}h3{border-left:1px solid var( --qm-panel-separator );clear:none;float:left;font-size:14px;margin:3px 0 15px;min-width:150px;padding:5px 15px 15px;text-align:center;&:first-child{border-left:none}small{font-size:14px}span{display:block;margin-bottom:8px;white-space:nowrap}}h4{font-size:13px;margin:15px 6px 5px}.qm-debug-bar-output{position:relative;table{margin-bottom:4px;margin-top:4px}}}#debug-menu-target-Debug_Bar_Console{min-height:400px}#debug-menu-target-Debug_Bar_Cache_Lookup,#debug-menu-target-Debug_Bar_Rewrite_Rules,#debug-menu-target-Debug_Bar_Widgets{margin:4px 6px}#debug-menu-target-Debug_Bar_Rewrite_Rules_Panel .filterui,#debug-menu-target-Debug_Bar_Rewrite_Rules_Panel .dbrr{margin:0}#debug-menu-target-Debug_Bar_Rewrite_Testing_Panel{padding:10px 0}#debug-menu-target-EP_Debug_Bar_ElasticPress{li{border-top:1px solid var( --qm-panel-separator );line-height:20px;padding:20px 0;.dashicons:hover{background-color:var( --qm-panel-menu-bg-hover )}}}#qm-logger tr pre{-webkit-user-select:all;user-select:all}#qm-timeline table{width:100%;td{background:var(--qm-panel-bg);padding:0}tr:hover td{background:var( --qm-cell-bg-hover )}}.timeline-header{display:flex;align-items:center;justify-content:space-between;margin:0;padding:10px 20px;border-bottom:5px solid var( --qm-panel-bg )}.timeline-header h3{margin:0}.timeline-filters{display:flex;gap:12px}.timeline-filter{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer;color:var( --qm-container-fg )}.timeline-filter input{margin:0}.timeline-axis{position:relative;height:18px;pointer-events:none;background-color:var( --qm-button-bg );color:var( --qm-button-fg );border-radius:4px}.timeline-tick{position:absolute;bottom:0;transform:translate(-50%);font-size:11px;padding:3px;line-height:1;white-space:nowrap}.timeline-tick:first-child{transform:none}.timeline-tick:last-child{transform:translate(-100%)}.qm-cell-timeline{height:28px;position:relative;padding:0}.timeline-bar{position:absolute;top:6px;height:16px;border-radius:4px;min-width:2px;cursor:default}.timeline-point{width:3px!important;border-radius:3px}.timeline-bar-label{position:absolute;top:5px;padding:0 5px;white-space:nowrap;right:0;max-width:30%;display:flex;gap:4px}.timeline-bar-label-text{overflow:hidden;text-overflow:ellipsis;min-width:0}.timeline-bar-label-text .qm-filter-trigger{max-width:100%;overflow:hidden;text-overflow:ellipsis}.timeline-bar-label-time{flex-shrink:0}@keyframes qm-jump-fade{0%,50%{background:var( --qm-cell-bg-highlight-dark )}}@keyframes qm-fabulous-swipe{0%{clip-path:polygon(6px 0,6px 0,0 100%,0 100%)}to{clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}}@media(prefers-reduced-motion:reduce){.qm-fabulous .qm-title-heading:before{animation:none}tbody tr.qm-jump-highlight th,tbody tr.qm-jump-highlight td{animation:none;background:var( --qm-cell-bg-highlight-dark )}} diff --git a/query-monitor/assets/build/query-monitor.js b/query-monitor/assets/build/query-monitor.js new file mode 100644 index 0000000000..24fd12d894 --- /dev/null +++ b/query-monitor/assets/build/query-monitor.js @@ -0,0 +1,64 @@ +/* This is the built version of the Preact app for Query Monitor. The source code is available here: https://github.com/johnbillion/query-monitor */ +var e,n,t,r,i,o,l,a,s,c,d,u,m={},h=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=Array.isArray;function _(e,n){for(var t in n)e[t]=n[t];return e}function y(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function g(e,r,i,o,l){var a={type:e,props:r,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==l?++t:l,__i:-1,__u:0};return null==l&&null!=n.vnode&&n.vnode(a),a}function b(e){return e.children}function q(e,n){this.props=e,this.context=n}function v(e,n){if(null==n)return e.__?v(e.__,e.__i+1):null;for(var t;nn&&r.sort(l),e=r.shift(),n=r.length,w(e);x.__r=0}function S(e,n,t,r,i,o,l,a,s,c,d){var u,p,_,y,q,w,k,N=r&&r.__k||h,x=n.length;for(s=function(e,n,t,r,i){var o,l,a,s,c,d=t.length,u=d,m=0;for(e.__k=new Array(i),o=0;o0?l=e.__k[o]=g(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):e.__k[o]=l,s=o+m,l.__=e,l.__b=e.__b+1,a=null,-1!=(c=l.__i=C(l,t,s,u))&&(u--,(a=t[c])&&(a.__u|=2)),null==a||null==a.__v?(-1==c&&(i>d?m--:is?m--:m++,l.__u|=4))):e.__k[o]=null;if(u)for(o=0;o(d?1:0))for(i=t-1,o=t+1;i>=0||o=0?i--:o++])&&!(2&c.__u)&&a==c.key&&s==c.type)return l;return-1}function $(e,n,t){"-"==n[0]?e.setProperty(n,null==t?"":t):e[n]=null==t?"":"number"!=typeof t||p.test(n)?t:t+"px"}function E(e,n,t,r,i){var o,l;e:if("style"==n)if("string"==typeof t)e.style.cssText=t;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(n in r)t&&n in t||$(e.style,n,"");if(t)for(n in t)r&&t[n]==r[n]||$(e.style,n,t[n])}else if("o"==n[0]&&"n"==n[1])o=n!=(n=n.replace(a,"$1")),l=n.toLowerCase(),n=l in e||"onFocusOut"==n||"onFocusIn"==n?l.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+o]=t,t?r?t.u=r.u:(t.u=s,e.addEventListener(n,o?d:c,o)):e.removeEventListener(n,o?d:c,o);else{if("http://www.w3.org/2000/svg"==i)n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=n&&"height"!=n&&"href"!=n&&"list"!=n&&"form"!=n&&"tabIndex"!=n&&"download"!=n&&"rowSpan"!=n&&"colSpan"!=n&&"role"!=n&&"popover"!=n&&n in e)try{e[n]=null==t?"":t;break e}catch(u){}"function"==typeof t||(null==t||!1===t&&"-"!=n[4]?e.removeAttribute(n):e.setAttribute(n,"popover"==n&&1==t?"":t))}}function O(e){return function(t){if(this.l){var r=this.l[t.type+e];if(null==t.t)t.t=s++;else if(t.t0?e:f(e)?e.map(A):_({},e)}function I(e,t,r){try{if("function"==typeof e){var i="function"==typeof e.__u;i&&e.__u(),i&&null==t||(e.__u=e(t))}else e.current=t}catch(o){n.__e(o,r)}}function F(e,t,r){var i,o;if(n.unmount&&n.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||I(i,null,t)),null!=(i=e.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(l){n.__e(l,t)}i.base=i.__P=null}if(i=e.__k)for(o=0;o2&&(a.children=arguments.length>3?e.call(arguments,2):r),"function"==typeof n&&null!=n.defaultProps)for(l in n.defaultProps)void 0===a[l]&&(a[l]=n.defaultProps[l]);return g(n,a,i,o,null)}(b,null,[t]),o||m,m,r.namespaceURI,o?null:r.firstChild?e.call(r.childNodes):null,l,o?o.__e:r.firstChild,false,a),j(l,t,a)}function D(e){function n(e){var t,r;return this.getChildContext||(t=new Set,(r={})[n.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){t=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&t.forEach(function(e){e.__e=!0,N(e)})},this.sub=function(e){t.add(e);var n=e.componentWillUnmount;e.componentWillUnmount=function(){t&&t.delete(e),n&&n.call(e)}}),e.children}return n.__c="__cC"+u++,n.__=e,n.Provider=n.__l=(n.Consumer=function(e,n){return e.children(n)}).contextType=n,n}e=h.slice,n={__e:function(e,n,t,r){for(var i,o,l;n=n.__;)if((i=n.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),l=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),l=i.__d),l)return i.__E=i}catch(a){e=a}throw e}},t=0,q.prototype.setState=function(e,n){var t;t=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=_({},this.state),"function"==typeof e&&(e=e(_({},t),this.props)),e&&_(t,e),null!=e&&this.__v&&(n&&this._sb.push(n),N(this))},q.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),N(this))},q.prototype.render=b,r=[],o="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,l=function(e,n){return e.__v.__b-n.__v.__b},x.__r=0,a=/(PointerCapture)$|Capture$/i,s=0,c=O(!1),d=O(!0),u=0;var R,U,z=0;function Q(e,t,r,i,o,l){t||(t={});var a,s,c=t;if("ref"in c)for(s in c={},t)"ref"==s?a=t[s]:c[s]=t[s];var d={type:e,props:c,key:r,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--z,__i:-1,__u:0,__source:o,__self:l};if("function"==typeof e&&(a=e.defaultProps))for(s in a)void 0===c[s]&&(c[s]=a[s]);return n.vnode&&n.vnode(d),d}function B(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var W=function(){if(U)return R;else return U=1,R=function(e,n){var t,r,i=0;function o(){var o,l,a=t,s=arguments.length;e:for(;a;)if(a.args.length===arguments.length){for(l=0;l=0;switch(a.type){case"b":i=parseInt(i,10).toString(2);break;case"c":i=String.fromCharCode(parseInt(i,10));break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,a.width?parseInt(a.width):0);break;case"e":i=a.precision?parseFloat(i).toExponential(a.precision):parseFloat(i).toExponential();break;case"f":i=a.precision?parseFloat(i).toFixed(a.precision):parseFloat(i);break;case"g":i=a.precision?String(Number(i.toPrecision(a.precision))):parseFloat(i);break;case"o":i=(parseInt(i,10)>>>0).toString(8);break;case"s":i=String(i),i=a.precision?i.substring(0,a.precision):i;break;case"t":i=String(!!i),i=a.precision?i.substring(0,a.precision):i;break;case"T":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=a.precision?i.substring(0,a.precision):i;break;case"u":i=parseInt(i,10)>>>0;break;case"v":i=i.valueOf(),i=a.precision?i.substring(0,a.precision):i;break;case"x":i=(parseInt(i,10)>>>0).toString(16);break;case"X":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}if(n.json.test(a.type))f+=i;else{if(n.number.test(a.type)&&(!u||a.sign))m=u?"+":"-",i=i.toString().replace(n.sign,"");else m="";c=a.pad_char?"0"===a.pad_char?"0":a.pad_char.charAt(1):" ",d=a.width-(m+i).length,s=a.width?d>0?c.repeat(d):"":"",f+=a.align?m+i+s:"0"===c?m+s+i:s+m+i}}return f}(function(e){if(i[e])return i[e];for(var t,r=e,o=[],l=0;r;){if(null!==(t=n.text.exec(r)))o.push(t[0]);else if(null!==(t=n.modulo.exec(r)))o.push("%");else if(null!==(t=n.placeholder.exec(r))){if(t[2]){l|=1;var a=[],s=t[2],c=[];if(null!==(c=n.key.exec(s)))for(a.push(c[1]);""!==(s=s.substring(c[0].length));)if(null!==(c=n.key_access.exec(s)))a.push(c[1]);else if(null!==(c=n.index_access.exec(s)))a.push(c[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");t[2]=a}else l|=2;if(3===l)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");o.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");r=r.substring(t[0].length)}return i[e]=o}(e),arguments)}function r(e,n){return t.apply(null,[e].concat(n||[]))}var i=Object.create(null);if(e.sprintf=t,e.vsprintf=r,"undefined"!=typeof window)window.sprintf=t,window.vsprintf=r}(),K;var e}());var Y,X,Z,ee,ne=V(console.error);function sprintf(e){try{for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},X=["(","?"],Z={")":["("],":":["?","?:"]},ee=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var ie={"!":function(e){return!e},"*":function(e,n){return e*n},"/":function(e,n){return e/n},"%":function(e,n){return e%n},"+":function(e,n){return e+n},"-":function(e,n){return e-n},"<":function(e,n){return e":function(e,n){return e>n},">=":function(e,n){return e>=n},"==":function(e,n){return e===n},"!=":function(e,n){return e!==n},"&&":function(e,n){return e&&n},"||":function(e,n){return e||n},"?:":function(e,n,t){if(e)throw n;return t}};function oe(e){var n=function(e){for(var n,t,r,i,o=[],l=[];n=e.match(ee);){if(t=n[0],r=e.substr(0,n.index).trim())o.push(r);for(;i=l.pop();){if(Z[t]){if(Z[t][0]===i){t=Z[t][1]||t;break}}else if(X.indexOf(i)>=0||Y[i]3&&void 0!==arguments[3]?arguments[3]:10,l=e[n];if(he(t))if(me(r))if("function"==typeof i)if("number"==typeof o){var a={callback:i,priority:o,namespace:r};if(l[t]){var s,c=l[t].handlers;for(s=c.length;s>0&&!(o>=c[s-1].priority);s--);if(s===c.length)c[s]=a;else c.splice(s,0,a);l.__current.forEach(function(e){if(e.name===t&&e.currentIndex>=s)e.currentIndex++})}else l[t]={handlers:[a],runs:0};if("hookAdded"!==t)e.doAction("hookAdded",t,r,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}function fe(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:!1;return function(r,i){var o=e[n];if(he(r))if(t||me(i)){if(!o[r])return 0;var l=0;if(t)l=o[r].handlers.length,o[r]={runs:o[r].runs,handlers:[]};else for(var a=o[r].handlers,s=function(e){if(a[e].namespace===i)a.splice(e,1),l++,o.__current.forEach(function(n){if(n.name===r&&n.currentIndex>=e)n.currentIndex--})},c=a.length-1;c>=0;c--)s(c);if("hookRemoved"!==r)e.doAction("hookRemoved",r,i);return l}}}function _e(e,n){return function(t,r){var i=e[n];if(void 0!==r)return t in i&&i[t].handlers.some(function(e){return e.namespace===r});else return t in i}}function ye(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:!1;return function(r){var i=e[n];if(!i[r])i[r]={handlers:[],runs:0};i[r].runs++;for(var o=i[r].handlers,l=arguments.length,a=new Array(l>1?l-1:0),s=1;s1&&void 0!==arguments[1]?arguments[1]:"default";r.data[n]=ce(ce(ce({},de),r.data[n]),e),r.data[n][""]=ce(ce({},de[""]),r.data[n][""])},a=function(e,n){l(e,n),o()},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",n=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;if(!r.data[e])l(void 0,e);return r.dcnpgettext(e,n,t,i,o)},c=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},d=function(e,n,r){var i=s(r,n,e);if(!t)return i;else return i=t.applyFilters("i18n.gettext_with_context",i,e,n,r),t.applyFilters("i18n.gettext_with_context_"+c(r),i,e,n,r)};if(t){var u=function(e){if(ue.test(e))o()};t.addAction("hookAdded","core/i18n",u),t.addAction("hookRemoved","core/i18n",u)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[e]},setLocaleData:a,resetLocaleData:function(e,n){r.data={},r.pluralForms={},a(e,n)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,n){var r=s(n,void 0,e);if(!t)return r;else return r=t.applyFilters("i18n.gettext",r,e,n),t.applyFilters("i18n.gettext_"+c(n),r,e,n)},_x:d,_n:function(e,n,r,i){var o=s(i,void 0,e,n,r);if(!t)return o;else return o=t.applyFilters("i18n.ngettext",o,e,n,r,i),t.applyFilters("i18n.ngettext_"+c(i),o,e,n,r,i)},_nx:function(e,n,r,i,o){var l=s(o,i,e,n,r);if(!t)return l;else return l=t.applyFilters("i18n.ngettext_with_context",l,e,n,r,i,o),t.applyFilters("i18n.ngettext_with_context_"+c(o),l,e,n,r,i,o)},isRTL:function(){return"rtl"===d("ltr","text direction")},hasTranslation:function(e,n,i){var o,l,a=n?n+""+e:e,s=!(null===(o=r.data)||void 0===o||null===(l=o[null!=i?i:"default"])||void 0===l||!l[a]);if(t)s=t.applyFilters("i18n.has_translation",s,e,n,i),s=t.applyFilters("i18n.has_translation_"+c(i),s,e,n,i);return s}}}(0,0,ve);we.getLocaleData.bind(we);var ke=we.setLocaleData.bind(we);we.resetLocaleData.bind(we),we.subscribe.bind(we);var __=we.__.bind(we),_x=we._x.bind(we),_n=we._n.bind(we),_nx=we._nx.bind(we);function Ne(e){var n,t,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(n=0;nQ("svg",{xmlns:"http://www.w3.org/2000/svg",style:{display:"none"},children:Q("defs",{children:Object.entries(Se).map(([e,n])=>Q("symbol",{id:`qm-icon-${e}`,viewBox:"0 0 20 20",children:Q("path",{d:n})},e))})}),Ce=({name:e})=>{if("blank"===e)return Q("span",{className:"qm-icon qm-icon-blank"});if(!Se[e])return null;else return Q("svg",{"aria-hidden":"true",className:`qm-icon qm-icon-${e}`,height:"20",viewBox:"0 0 20 20",width:"20",children:Q("use",{href:`#qm-icon-${e}`})})},$e=D({editor:"",setEditor:e=>{},theme:"auto",setTheme:e=>{},fabulous:!1,setFabulous:e=>{},filters:{},setFilters:e=>{},switchToPanel:(e,n,t)=>{},jumpToRow:null,timelineHiddenCategories:[],setTimelineHiddenCategories:e=>{},durationUnit:"s",setDurationUnit:e=>{},settings:{extended_query_prompt_reason:null,file_path_map:{},file_link_format:!1,abspath:"",contentpath:""}});var Ee,Oe,Pe,Me,je=0,Ae=[],Ie=n,Fe=Ie.__b,He=Ie.__r,Le=Ie.diffed,De=Ie.__c,Re=Ie.unmount,Ue=Ie.__;function ze(e,n){Ie.__h&&Ie.__h(Oe,e,je||n),je=0;var t=Oe.__H||(Oe.__H={__:[],__h:[]});return e>=t.__.length&&t.__.push({}),t.__[e]}function Qe(e){return je=1,function(e,n){var t=ze(Ee++,2);if(t.t=e,!t.__c&&(t.__=[tn(void 0,n),function(e){var n=t.__N?t.__N[0]:t.__[0],r=t.t(n,e);n!==r&&(t.__N=[r,t.__[1]],t.__c.setState({}))}],t.__c=Oe,!Oe.__f)){var r=function(e,n,r){if(!t.__c.__H)return!0;var o=t.__c.__H.__.filter(function(e){return e.__c});if(o.every(function(e){return!e.__N}))return!i||i.call(this,e,n,r);var l=t.__c.props!==e;return o.some(function(e){if(e.__N){var n=e.__[0];e.__=e.__N,e.__N=void 0,n!==e.__[0]&&(l=!0)}}),i&&i.call(this,e,n,r)||l};Oe.__f=!0;var i=Oe.shouldComponentUpdate,o=Oe.componentWillUpdate;Oe.componentWillUpdate=function(e,n,t){if(this.__e){var l=i;i=void 0,r(e,n,t),i=l}o&&o.call(this,e,n,t)},Oe.shouldComponentUpdate=r}return t.__N||t.__}(tn,e)}function Be(e,n){var t=ze(Ee++,3);!Ie.__s&&nn(t.__H,n)&&(t.__=e,t.u=n,Oe.__H.__h.push(t))}function We(e,n){var t=ze(Ee++,4);!Ie.__s&&nn(t.__H,n)&&(t.__=e,t.u=n,Oe.__h.push(t))}function Ve(e){return je=5,Je(function(){return{current:e}},[])}function Je(e,n){var t=ze(Ee++,7);return nn(t.__H,n)&&(t.__=e(),t.__H=n,t.__h=e),t.__}function Ke(e){var n=Oe.context[e.__c],t=ze(Ee++,9);return t.c=e,n?(null==t.__&&(t.__=!0,n.sub(Oe)),n.props.value):e.__}function Ge(){for(var e;e=Ae.shift();){var n=e.__H;if(e.__P&&n)try{n.__h.some(Ze),n.__h.some(en),n.__h=[]}catch(t){n.__h=[],Ie.__e(t,e.__v)}}}Ie.__b=function(e){Oe=null,Fe&&Fe(e)},Ie.__=function(e,n){e&&n.__k&&n.__k.__m&&(e.__m=n.__k.__m),Ue&&Ue(e,n)},Ie.__r=function(e){He&&He(e),Ee=0;var n=(Oe=e.__c).__H;n&&(Pe===Oe?(n.__h=[],Oe.__h=[],n.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(n.__h.some(Ze),n.__h.some(en),n.__h=[],Ee=0)),Pe=Oe},Ie.diffed=function(e){Le&&Le(e);var n=e.__c;n&&n.__H&&(n.__H.__h.length&&(1!==Ae.push(n)&&Me===Ie.requestAnimationFrame||((Me=Ie.requestAnimationFrame)||Xe)(Ge)),n.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),Pe=Oe=null},Ie.__c=function(e,n){n.some(function(e){try{e.__h.some(Ze),e.__h=e.__h.filter(function(e){return!e.__||en(e)})}catch(t){n.some(function(e){e.__h&&(e.__h=[])}),n=[],Ie.__e(t,e.__v)}}),De&&De(e,n)},Ie.unmount=function(e){Re&&Re(e);var n,t=e.__c;t&&t.__H&&(t.__H.__.some(function(e){try{Ze(e)}catch(t){n=t}}),t.__H=void 0,n&&Ie.__e(n,t.__v))};var Ye="function"==typeof requestAnimationFrame;function Xe(e){var n,t=function(){clearTimeout(r),Ye&&cancelAnimationFrame(n),setTimeout(e)},r=setTimeout(t,35);Ye&&(n=requestAnimationFrame(t))}function Ze(e){var n=Oe,t=e.__c;"function"==typeof t&&(e.__c=void 0,t()),Oe=n}function en(e){var n=Oe;e.__c=e.__(),Oe=n}function nn(e,n){return!e||e.length!==n.length||n.some(function(n,t){return n!==e[t]})}function tn(e,n){return"function"==typeof n?n(e):n}const rn=QueryMonitorData.l10n;function on(e){return e.split(/('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*")/).map((e,n)=>n%2==1?Q("span",{className:"qm-sql-value",children:e},n):e)}function ln(e){let n=e.replace(/[\r\n\t]+/g," ").trim(),t="",r="";const i=n.match(/^(\/\*.*?\*\/)\s*/);if(i)t=i[1],n=n.slice(i[0].length);const o=n.match(/\s*(\/\*.*?\*\/)$/);if(o)r=o[1],n=n.slice(0,-o[0].length);const l=" "+n,a=" (ADD|AFTER|ALTER|AND|BEGIN|CASE|COMMIT|CREATE|DELETE|DESCRIBE|DO|DROP|ELSE|END|EXCEPT|EXPLAIN|FROM|GROUP BY|GROUP|HAVING|INNER JOIN|INSERT|INTERSECT|JOIN|LEFT JOIN|LIMIT|ON|OR|ORDER BY|ORDER|OUTER JOIN|RENAME|REPLACE|RIGHT JOIN|ROLLBACK|SELECT|SET|SHOW|START|THEN|TRUNCATE|UNION|UPDATE|USE|USING|VALUES|WHEN|WHERE|XOR) ",s=l.split(new RegExp(a)),c=[];let d=0;if(t)c.push(Q(b,{children:t},"leading-comment"));if(s[0].trim())c.push(Q(b,{children:[c.length>0&&Q("br",{}),on(s[0].trim())]},"preamble"));if(l.replace(new RegExp(a,"g"),(e,n)=>(d+=2,c.push(Q(b,{children:[(d>2||t||s[0].trim())&&Q("br",{}),Q("b",{children:n})," ",on(s[d])]},d)),"")),0===c.length)c.push(Q(b,{children:Q("b",{children:e})},0));if(r)c.push(Q(b,{children:[Q("br",{}),r]},"trailing-comment"));return c}function an(e){const n="(\\?|&)",t=e.split(new RegExp(n));if(t.length<=3)return[Q(b,{children:e})];const r=[Q(b,{children:t[0]},0)];let i=0;return e.replace(new RegExp(n,"g"),(e,n)=>(i+=2,r.push(Q(b,{children:[Q("br",{}),`${n}${t[i]}`]},i)),"")),r}function sn(e){return"object"==typeof e&&null!==e&&"errors"in e}function cn(e){if("object"!=typeof e||null===e||!("errors"in e))return null;const n=e;if(Array.isArray(n.errors))return null;if(n.errors)for(const t in n.errors)for(const e in n.errors[t])return n.errors[t][e];return null}function dn(e){return`${e.id}(${e.args??""})`}function un(e,n){if(n.abspath&&e.startsWith(n.abspath))return e.slice(n.abspath.length);if(n.contentpath&&e.startsWith(n.contentpath))return e.slice(n.contentpath.length);else return e}function mn(e,n=0){if(isNaN(e))return"";if(!n)n=0;const t=e.toFixed(n),r=Math.floor(e).toString(),i=t.substring(t.indexOf(".")+1,t.length);let o="";if(r.length>3){let e=0;for(e=r.length;e>3;e-=3)o=QueryMonitorData.number_format.thousands_sep+r.slice(e-3,e)+o;o=r.slice(0,e)+o}else o=r;if(n)o=o+QueryMonitorData.number_format.decimal_point+i;return o}function hn(e,n){return n?`${e} (${n})`:e}function pn(e,n="wp_template_part"){const t=new URLSearchParams({postType:n,postId:e,canvas:"edit"});return`${rn.admin_url}site-editor.php?${t.toString()}`}function fn(e){let n=e.replace(/^[\s(]+/,"");n=n.replace(/^\/\*[^*]*\*\/\s*/,"");const t=n.match(/^(\w+)/);return t?t[1].toUpperCase():"Unknown"}function yn(e){const n={};for(const t of e){const e=fn(t.sql);n[e]=(n[e]||0)+1}return n}function gn(e){if(null!=e.count)return e;const n=e.title.match(/^(.+)\s\((\d+)\)$/);if(!n)return e;else return{...e,title:n[1],count:parseInt(n[2],10)||null}}function bn(e){const n={};for(const[t,r]of Object.entries(e)){const e=gn(r);n[t]=e.children?{...e,children:bn(e.children)}:e}return n}const qn=({item:e,seen:n})=>Q(b,{children:[e.new&&!n&&Q("span",{"aria-hidden":"true",className:"qm-menu-badge qm-menu-badge-new",children:_x("New","badge","query-monitor")}),!!e.count&&e.count!==e.warning_count&&Q("span",{"aria-hidden":"true",className:"qm-menu-badge",children:mn(e.count)}),!!e.warning_count&&Q("span",{"aria-hidden":"true",className:"qm-menu-badge qm-menu-badge-warning",children:mn(e.warning_count)})]});function vn(e){const n=[e.title];if(e.count||e.warning_count){const t=[];if(e.warning_count)t.push(`${e.warning_count}!`);if(e.count&&e.count!==e.warning_count)t.push(`${e.count}`);n.push(`(${t.join(", ")})`)}return n.join(" ")}const wn=(e,n)=>!e.new||e.panel===n,kn=({menu:e,onSwitch:n,active:t,seen:r=""})=>{const i=bn(e);return Q("nav",{"aria-labelledby":"qm-panel-menu-caption",id:"qm-panel-menu",children:[Q("h2",{className:"qm-screen-reader-text",id:"qm-panel-menu-caption",children:__("Query Monitor Menu","query-monitor")}),Q("ul",{role:"tablist",children:[Q("li",{className:xe({"qm-current-menu":"overview"===t}),role:"presentation",children:Q("button",{"aria-selected":"overview"===t,role:"tab",onClick:()=>{n("overview")},children:__("Overview","query-monitor")})},"overview"),Object.entries(i).map(([e,i])=>{const o=i.children;return Q("li",{className:xe({"qm-current-menu":t===i.panel||o&&Object.keys(o).map(e=>o[e].panel).includes(t)}),role:"presentation",children:[Q("button",{"aria-selected":t===i.panel,role:"tab",onClick:()=>{n(i.panel)},children:[i.title,Q(qn,{item:i,seen:wn(i,r)})]}),o&&Q("ul",{role:"presentation",children:Object.keys(o).map(i=>Q("li",{role:"presentation",children:Q("button",{"aria-selected":t===o[i].panel,role:"tab",onClick:()=>{n(o[i].panel)},children:[o[i].title,Q(qn,{item:o[i],seen:wn(o[i],r)})]})},`${e}-${i}`))})]},e)})]})]})},Nn=({menu:e,onSwitch:n,active:t})=>{const r=bn(e);return Q("select",{"aria-label":__("Select panel","query-monitor"),value:t,onChange:e=>{n(e.currentTarget.value)},children:[Q("option",{value:"overview",children:__("Overview","query-monitor")},"overview"),Object.entries(r).map(([e,n])=>{const t=n.children;return Q(b,{children:[Q("option",{value:n.panel,children:vn(n)}),t&&Q(b,{children:Object.keys(t).map(n=>Q("option",{value:t[n].panel,children:`└ ${vn(t[n])}`},`${e}-${n}`))})]},e)})]})},xn=D({id:"",filters:{},setFilter:(e,n)=>{}}),Sn=({title:e,children:n})=>{const{id:t}=Ke(xn);return Q("div",{"aria-labelledby":"qm-panel-title",className:"qm qm-panel-show qm-non-tabular",id:`qm-${t}`,role:"tabpanel",tabIndex:-1,children:Q("div",{className:"qm-boxed",children:[Q("h2",{className:"qm-screen-reader-text",id:"qm-panel-title",children:e}),n]})})},Tn=({children:e})=>Q(Sn,{title:__("Error","query-monitor"),children:Q("section",{children:Q("div",{className:"qm-error",children:e})})}),Cn=({children:e})=>Q("span",{className:"qm-warn qm-warning-wrapper",children:[Q(Ce,{name:"warning"}),Q("div",{children:e??null})]}),$n=({children:e})=>{const[n]=(r=ze(Ee++,10),i=Qe(),r.__=t,Oe.componentDidCatch||(Oe.componentDidCatch=function(e,n){r.__&&r.__(e,n),i[1](e)}),[i[0],function(){i[1](void 0)}]);var t,r,i;const[o,l]=Qe(!1);if(!n)return Q(b,{children:e});else return Q(Tn,{children:n instanceof Error?Q("div",{style:{position:"relative"},children:[Q("button",{"aria-label":__("Copy error to clipboard","query-monitor"),onClick:()=>{if(n instanceof Error)navigator.clipboard.writeText(n.stack||"").then(()=>{l(!0),setTimeout(()=>l(!1),2e3)})},style:{position:"absolute",top:0,right:0},children:o?__("Copied!","query-monitor"):__("Copy","query-monitor")}),Q("p",{children:Q(Cn,{children:__("An error occurred in this panel:","query-monitor")})}),Q("pre",{children:n.stack})]}):Q("p",{children:Q(Cn,{children:__("An unknown error occurred in this panel.","query-monitor")})})})},En={},On=(e,n)=>{En[e]={...n,type:"standard"}},Pn=(e,n)=>{En[e]={...n,type:"overview"}},Mn=({panelId:e})=>{const n=Ve(null),t=Ve(null),[r,i]=Qe(null);if(Be(()=>{const r=document.getElementById(`qm-${e}-container`);if(r){if(i(!0),n.current){if(r.parentNode)t.current={parent:r.parentNode,nextSibling:r.nextSibling};n.current.appendChild(r)}return()=>{if(r&&t.current){const{parent:e,nextSibling:n}=t.current;if(n)e.insertBefore(r,n);else e.appendChild(r)}}}else i(!1)},[e]),!1===r)return Q(Tn,{children:Q("p",{children:Q(Cn,{children:["Panel not found: ",Q("code",{children:e})]})})});else return Q("div",{ref:n,className:"qm-php-panel-container"})},jn=e=>{const{filters:n,setFilters:t}=Ke($e),r=e.active??"",i={id:r,filters:n[r]||{},setFilter:(e,i)=>{const o={...n};if(!(r in o))o[r]={};if(""===i)delete o[r][e];else o[r][e]=i;if(0===Object.keys(o[r]).length)delete o[r];t(o)}},o=En[r]??null;let l=null;if(o)if((e=>"overview"===e?.type)(o))l=o.render(e.data,e.settings);else if((e=>"settings"===e?.type)(o))l=o.render(e.settings);else{const n=e.data[o.data]??null;l=n?o.render(n.data,n.enabled):null}return Q("div",{id:"qm-panels",tabIndex:0,children:Q($n,{children:Q(xn.Provider,{value:i,children:o?l??Q(Tn,{children:Q("p",{children:Q(Cn,{children:["Data not found for panel: ",Q("code",{children:r})]})})}):Q(Mn,{panelId:r})})},r)})},An=e=>{const[n,t]=Qe(e.active),[r,i]=Qe(e.side),[o,l]=Qe(e.theme),[a,s]=Qe(e.fabulous),[c,d]=Qe(e.editor),[u,m]=Qe(e.filters),[h,p]=Qe(e.seen),[f,_]=Qe(e.timelineHiddenCategories),[y,g]=Qe(e.durationUnit),[b,q]=Qe(null),v=Ve(b);v.current=b;const w=Je(()=>{const n=new Set,t=e=>{for(const r of Object.values(e)){if(r.new)n.add(r.panel);if(r.children)t(r.children)}};return t(e.panel_menu),n},[e.panel_menu]),k=n=>{if(t(n),w.has(n)&&n!==h)r=n,e.onSeenChange(r),p(r);var r},N=e.adminMenuElement;let x=o;if(!["light","dark"].includes(x))x=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";const S=xe("qm-container","qm-show",{"qm-show-right":r,"wp-admin":e.isWpAdmin,folded:e.isFolded,"auto-fold":e.isAutoFold,"fullscreen-mode":e.isFullscreenMode,rtl:e.isRtl}),T={theme:o,setTheme:n=>{e.onThemeChange(n),l(n)},fabulous:a,setFabulous:n=>{e.onFabulousChange(n),s(n)},editor:c,setEditor:n=>{e.onEditorChange(n),d(n)},filters:u,setFilters:n=>{e.onFiltersChange(n),m(n)},switchToPanel:(n,t,r)=>{k(n),m(r=>{const i={...r};if(t&&Object.keys(t).length>0)i[n]=t;else delete i[n];return e.onFiltersChange(i),i}),q(void 0!==r?{panel:n,row:r}:null)},jumpToRow:b,timelineHiddenCategories:f,setTimelineHiddenCategories:n=>{e.onTimelineHiddenChange(n),_(n)},durationUnit:y,setDurationUnit:n=>{e.onDurationUnitChange(n),g(n)},settings:{extended_query_prompt_reason:e.settings.extended_query_prompt_reason,file_path_map:e.settings.file_path_map,file_link_format:e.settings.file_link_format,abspath:e.settings.abspath,contentpath:e.settings.contentpath}};Be(()=>{if(N&&e.menu.top.classname){const n=e.menu.top.classname.split(" ").filter(Boolean);return n.forEach(e=>N.classList.add(e)),()=>{n.forEach(e=>N.classList.remove(e))}}},[N,e.menu.top.classname]);const C=Ve(null),{onContainerResize:$,onPanelChange:E,containerHeight:O}=e,P=Ve(!1);Be(()=>{if(E(n),null===v.current)C.current?.querySelector("#qm-panels")?.scrollTo(0,0);else v.current=null},[n,E]),Be(()=>{if(!n)return;let e=!1;const t=C.current;if(!t)return;const r=t.getElementsByClassName("qm-resizer")[0];if(O&&!P.current){const e=window.innerHeight-32;t.style.height=`${Math.min(O,e)}px`,P.current=!0}let i=0,o=0;const l=n=>{if(0===n.button)i=n.clientY,o=t.getBoundingClientRect().height,e=!0,r.setPointerCapture(n.pointerId)},a=n=>{if(!e)return;const r=window.innerHeight;let l=o-(n.clientY-i);l=Math.max(27,l),l=Math.min(r-32,l),t.style.height=`${l}px`},s=n=>{if(e){const e=t.getBoundingClientRect();$(e.height)}e=!1},c=e=>e.preventDefault(),d=()=>{const e=window.innerHeight-32;if(t.getBoundingClientRect().height>e)t.style.height=`${e}px`};return r.addEventListener("pointerdown",l),r.addEventListener("pointermove",a),r.addEventListener("pointerup",s),r.addEventListener("pointercancel",s),r.addEventListener("touchstart",c,{passive:!1}),window.addEventListener("resize",d),()=>{r.removeEventListener("pointerdown",l),r.removeEventListener("pointermove",a),r.removeEventListener("pointerup",s),r.removeEventListener("pointercancel",s),r.removeEventListener("touchstart",c),window.removeEventListener("resize",d)}},[n,O,$]);const[M,j]=Qe(0);Be(()=>{},[]);const A=e.cssUrl;return Q($e.Provider,{value:T,children:[Q(Te,{}),Q("link",{rel:"stylesheet",href:A}),n&&Q("div",{ref:C,className:S,"data-theme":x,"data-color-scheme":e.colorScheme,dir:"ltr",id:"query-monitor-main",children:[Q("div",{id:"qm-title",className:xe({"qm-fabulous":a}),children:[Q("h1",{className:"qm-title-heading qm-resizer",children:Q("span",{children:__("Query Monitor","query-monitor")})}),r&&Q("div",{className:"qm-title-heading",children:Q(Nn,{active:n,menu:e.panel_menu,onSwitch:k})}),Q("button",{"aria-label":__("Settings","query-monitor"),className:"qm-button-container-settings",onClick:()=>{k("settings")},children:Q(Ce,{name:"admin-generic"})}),Q("button",{"aria-label":__("Toggle panel position","query-monitor"),className:"qm-button-container-position",onClick:()=>{i(!r),e.onSideChange(!r)},children:Q(Ce,{name:"image-rotate-left"})}),Q("button",{"aria-label":__("Close Panel","query-monitor"),className:"qm-button-container-close",onClick:()=>{k("")},children:Q(Ce,{name:"no-alt"})})]}),Q("div",{id:"qm-panels-wrapper",children:[!r&&Q(kn,{active:n,menu:e.panel_menu,onSwitch:k,seen:h}),Q(jn,{data:e.data,active:n,settings:e.settings})]})]}),N&&Q(In,{element:N,children:[Q("a",{className:"ab-item",href:"#qm-overview",onClick:e=>{k(n?"":"overview"),N.classList.remove("hover"),e.preventDefault()},children:Q("span",{dangerouslySetInnerHTML:{__html:e.menu.top.title.join("  ")}})}),Q("div",{className:"ab-sub-wrapper",children:Q("ul",{className:"ab-submenu",children:Object.values(e.menu.sub).map(e=>Q("li",{className:xe(e.meta&&e.meta.classname),children:Q("a",{className:"ab-item",href:`#qm-${e.panel}`,onClick:n=>{k(e.panel),N.classList.remove("hover"),n.preventDefault()},children:e.title})},e.id))})})]})]})},In=e=>(Je(()=>(e.element.innerHTML="",e.element.classList.add("menupop"),!0),[e.element]),We(()=>(L(Q(b,{children:e.children}),e.element),()=>L(null,e.element))),null),Fn=e=>{const n=e.adminMenuElement;if(!n)return null;else return Q(Hn,{element:n,children:Q("a",{className:"ab-item",href:"#qm-fatal",children:"PHP Fatal Error"})})},Hn=e=>(Je(()=>(e.element.innerHTML="",e.element.classList.add("qm-error"),!0),[e.element]),We(()=>(L(Q(b,{children:e.children}),e.element),()=>L(null,e.element))),null);let Ln=[];function Dn(e){const[n,t]=e,r=Ln[n];return{id:r.id,args:r.args,file:r.file,line:t}}const Rn=({data:e})=>{if(!e.current_screen)return null;else return Q(Sn,{title:__("Admin Screen","query-monitor"),children:[Q("section",{children:[Q("h3",{children:"get_current_screen()"}),Q("table",{children:[Q("thead",{className:"qm-screen-reader-text",children:Q("tr",{children:[Q("th",{scope:"col",children:__("Property","query-monitor")}),Q("th",{scope:"col",children:__("Value","query-monitor")})]})}),Q("tbody",{children:Object.entries(e.current_screen).map(([e,n])=>Q("tr",{children:[Q("th",{scope:"row",children:e}),Q("td",{children:"string"==typeof n?n:n?"true":"false"})]},e))})]})]}),Q("section",{children:[Q("h3",{children:__("Globals","query-monitor")}),Q("table",{children:[Q("thead",{className:"qm-screen-reader-text",children:Q("tr",{children:[Q("th",{scope:"col",children:__("Global Variable","query-monitor")}),Q("th",{scope:"col",children:__("Value","query-monitor")})]})}),Q("tbody",{children:[Q("tr",{children:[Q("th",{scope:"row",children:"$pagenow"}),Q("td",{children:e.pagenow})]}),Q("tr",{children:[Q("th",{scope:"row",children:"$typenow"}),Q("td",{children:e.typenow})]}),Q("tr",{children:[Q("th",{scope:"row",children:"$taxnow"}),Q("td",{children:e.taxnow})]}),Q("tr",{children:[Q("th",{scope:"row",children:"$hook_suffix"}),Q("td",{children:e.hook_suffix})]})]})]})]}),e.list_table&&Q("section",{children:[Q("h3",{children:__("List Table","query-monitor")}),e.list_table.class_name&&Q(b,{children:[Q("h4",{children:__("Class:","query-monitor")}),Q("p",{children:Q("code",{children:e.list_table.class_name})})]}),Q("h4",{children:__("Column Filters:","query-monitor")}),Q("p",{children:Q("code",{children:e.list_table.columns_filter})}),Q("p",{children:Q("code",{children:e.list_table.sortables_filter})}),Q("h4",{children:__("Column Action:","query-monitor")}),Q("p",{children:Q("code",{children:e.list_table.column_action})})]})]})},Un=({children:e})=>Q(Sn,{title:__("No Data","query-monitor"),children:Q("section",{className:"qm-empty",children:e})}),zn=({text:e,file:n,line:t=0,isFileName:r=!1,expanded:i=!1})=>{const{editor:o,settings:l}=Ke($e),a=r||i?e:function(e){if((e.match(/\\/g)||[]).length<3)return e;else return e.replace(/\\[a-zA-Z0-9_\\]{4,}\\/g,e=>(e.match(/\\([a-zA-Z0-9_])/g)||[]).join("")+"\\")}(e);if(!n)return r?Q(b,{children:a}):Q("code",{children:a});let s=n;for(const[u,m]of Object.entries(l.file_path_map))if(s.startsWith(u)){s=m+s.slice(u.length);break}const c=t||1,d=function(e){const n=[{label:"Atom",name:"atom",format:"atom://open/?url=file://%1$s&line=%2$s"},{label:"Cursor",name:"cursor",format:"cursor://file/%1$s:%2$s"},{label:"Netbeans",name:"netbeans",format:"nbopen://%1$s:%2$s"},{label:"Nova",name:"nova",format:"nova://open?path=%1$s&line=%2$s"},{label:"PhpStorm",name:"phpstorm",format:"phpstorm://open?file=%1$s&line=%2$s"},{label:"Sublime Text",name:"sublime",format:"subl://open/?url=file://%1$s&line=%2$s"},{label:"TextMate",name:"textmate",format:"txmt://open/?url=file://%1$s&line=%2$s"},{label:"Visual Studio Code",name:"vscode",format:"vscode://file/%1$s:%2$s"},{label:"Zed",name:"zed",format:"zed://file/%1$s:%2$s"}];for(const t of n)if(t.name===e)return t.format;return""}(o)||l.file_link_format||"";if(!d)if(r)return Q(b,{children:t?`${a}:${t}`:a});else return Q(b,{children:[Q("code",{children:a}),i&&Q(b,{children:[Q("br",{}),Q("span",{className:"qm-info qm-supplemental",children:`${un(n,l)}:${t}`})]})]});return Q("a",{className:"qm-edit-link",href:sprintf(d,encodeURIComponent(s),c),children:[r?Q(b,{children:a}):Q("code",{children:a}),Q(Ce,{name:"edit"})]})},Qn=e=>Q(zn,{...e,isFileName:!0}),Bn=({expanded:e,onToggle:n,context:t})=>Q("button",{"aria-expanded":e?"true":"false","aria-label":t?sprintf( +/* translators: %s: Context for the toggle button, e.g. a function name */ +__("Toggle full call stack for %s","query-monitor"),t):__("Toggle full call stack","query-monitor"),className:"qm-toggle",onClick:n,children:Q("span",{"aria-hidden":"true",children:e?"-":"+"})}),Wn=({trace:e,defaultExpanded:n=!1})=>{const t=e?.callsite,{settings:r}=Ke($e),[i,o]=Qe(n),l=e?.frames?function(e){return e.map(Dn)}(e.frames):[],a=l.shift()??null,s=l.length>0;if(!t&&!a)return __("Unknown","query-monitor");else return Q(b,{children:[s&&!n&&Q(Bn,{expanded:i,onToggle:()=>o(!i),context:(t?.file?un(t.file,r):void 0)??(a?dn(a):void 0)}),Q("ol",{children:[t&&Q("li",{children:Q(Qn,{text:t.file?un(t.file,r):"",file:t.file,line:t.line,expanded:i||!s})}),!t&&a&&Q("li",{children:Q(zn,{text:dn(a),file:a.file,line:a.line,expanded:i||!s})}),s&&i&&l.map(e=>Q("li",{children:Q(zn,{text:dn(e),file:e.file,line:e.line,expanded:!0})},e.id))]})]})},Vn=({targetPanel:e,filterName:n,filterValue:t,children:r})=>{const{switchToPanel:i}=Ke($e);return Q("button",{"aria-label":sprintf(__("Filter by %s","query-monitor"),t),className:"qm-filter-trigger",onClick:()=>{i(e,{[n]:t})},children:[r,Q(Ce,{name:"filter"})]})},Jn=({component:e,targetPanel:n})=>{if(!e)return null;if(n)return Q(Vn,{targetPanel:n,filterName:"component",filterValue:`${e.type}-${e.context}`,children:e.name});else return Q(b,{children:e.name})},Kn=({value:e,secondsLabel:n=!1})=>{const{durationUnit:t}=Ke($e);if("ms"===t)return Q(b,{children:[mn(1e3*e,1)," ms"]});const r=mn(e,4);return n?`${r} seconds`:r},Gn=({children:e,cols:n,count:t,total:r=t})=>Q("tfoot",{children:Q("tr",{children:[Q("td",{colSpan:n,children:[__("Total:","query-monitor")," ",Q("span",{className:"qm-items-number",children:r===t?mn(t):sprintf("%1$s / %2$s",mn(t),mn(r))})]}),e]})}),Yn=({stack:e,defaultExpanded:n=!1})=>{const[t,r]=Qe(n);if(!e?.length)return __("Unknown","query-monitor");const[i,...o]=e,l=o.length>0;return Q(b,{children:[l&&!n&&Q(Bn,{expanded:t,onToggle:()=>r(!t),context:i}),Q("ol",{children:[Q("li",{children:Q("code",{children:i})}),l&&t&&o.map((e,n)=>Q("li",{children:Q("code",{children:e})},n))]})]})},Xn=(e,n)=>e.label.localeCompare(n.label),Zn=(e,n)=>{const t=new Set,r=[];for(const i of e){const e=n(i);if(e&&!t.has(e.key))t.add(e.key),r.push(e)}return r.sort(Xn),r},et=(e,n)=>{if(!e)return!1;if("non-core"===n)return"core"!==e.context;if("core"===n)return"core"===e.context;else return`${e.type}-${e.context}`===n},nt=(e,n)=>{let t=!1;const r=Zn(e,e=>{const r=n(e);if(!r)return null;if("core"===r.context)return t=!0,null;else return{key:`${r.type}-${r.context}`,label:r.name}}),i=[];if(r.length>0)if(i.push(r),t)i.push([{key:"non-core",label:__("Non-WordPress Core","query-monitor")},{key:"core",label:__("WordPress Core","query-monitor")}]);return i},tt=e=>{const n=nt(e,e=>e.trace?.component);return{heading:__("Component","query-monitor"),render:e=>Q(Jn,{component:e.trace?.component}),filters:n.length?{options:n,callback:(e,n)=>et(e.trace?.component,n)}:void 0}},rt=(e,n=()=>!1)=>({className:"qm-num",heading:__("Time","query-monitor"),render:e=>Q(Kn,{value:e.ltime??0}),cellHasError:(e,t)=>n&&n(e,t),sorting:{field:"ltime",default:"desc"}}),it=(e,n)=>{const t=Zn(e,e=>{if(e.trace?.callsite?.file)return{key:e.trace.callsite.file,label:un(e.trace.callsite.file,n)};if(!e.trace?.frames?.length)return null;const t=Dn(e.trace.frames[0]);return{key:t.id,label:`${t.id}()`}});return{heading:__("Caller","query-monitor"),render:n=>Q(Wn,{trace:n.trace,defaultExpanded:1===e.length}),className:"qm-has-toggle",filters:t.length?{options:[t],callback:(e,n)=>{if(e.trace?.callsite?.file)return e.trace.callsite.file===n;if(!e.trace?.frames?.length)return!1;else return Dn(e.trace.frames[0]).id===n}}:void 0}},ot=e=>{const n=Zn(e,e=>{if(!e.stack?.length)return null;else return{key:e.stack[0],label:e.stack[0]}});return{heading:__("Caller","query-monitor"),render:n=>Q(Yn,{stack:n.stack,defaultExpanded:1===e.length}),className:"qm-has-toggle",filters:n.length?{options:[n],callback:(e,n)=>{if(!e.stack?.length)return!1;else return e.stack[0]===n}}:void 0}},lt=e=>e.reduce((e,n)=>{if("count"in n)return e+n.count;else return e+1},0),at=({title:e,cols:n,data:t,rowHasError:r,id:i,footer:o,warning:l,orderby:a,order:s="desc",groupKey:c,header:d,children:u})=>{const{id:m,filters:h,setFilter:p}=Ke(xn),{jumpToRow:f}=Ke($e),_=Ve(null),y=lt(t),g=Object.entries(n).filter(e=>e[1]?!0:!1),q=new Set;for(const[b,C]of Object.entries(h)){if(!(b in n))continue;const e=n[b];if(!e||!e.filters)continue;const r=e.filters;if(r.options.flat().filter(e=>e.key===C).length)if(c){const e=new Set;for(const n of t)if(r.callback(n,C))e.add(c(n));if(t=t.filter(n=>e.has(c(n))),"component"===b)for(let n=0;nr.callback(e,C))}const v=null!==f&&f.panel===m,w=t.map((e,n)=>n),k=lt(t),[N,x]=Qe({orderby:a,order:s});if(N.orderby){const e=n[N.orderby],r=e&&e.sorting?.field;if(r){const e=t.map((e,n)=>({row:e,idx:w[n]}));e.sort((e,n)=>{if(e.row[r]n.row[r])return"asc"===N.order?1:-1;else return 0});for(let n=0;n{if(!v||!_.current)return;const e=w.indexOf(f.row);if(-1===e)return;const n=l?1:0,t=_.current.rows[e+n];if(t)t.scrollIntoView({block:"center"})},[v,f,w,l]);const S=o||Gn,T=Q("table",{children:[Q("caption",{className:"qm-screen-reader-text",children:Q("h2",{id:i,children:e})}),Q("thead",{children:d?Q("tr",{className:"qm-table-header",children:Q("th",{colSpan:g.length,children:d})}):Q("tr",{children:g.map(([e,n])=>{const t=n.filters?n.filters.options:[],r=e in h?h[e]:"";return Q("th",{className:xe(`qm-col-${e}`,"string"==typeof n.className?n.className:void 0,{"qm-filterable-column":t.length,"qm-filtered":""!==r}),role:"columnheader",scope:"col",children:t.length&&y>1?Q("div",{className:"qm-filter-container",children:[Q("label",{htmlFor:`qm-filter-${e}`,children:n.heading}),Q("select",{id:`qm-filter-${e}`,className:"qm-filter",value:r,onChange:n=>p(e,n.currentTarget.value),children:[Q("option",{value:"",children:"All"}),t.map((e,n)=>Q(b,{children:[Q("hr",{}),e.map(e=>Q("option",{value:e.key,children:e.label},`${n}-${e.key}`))]}))]})]}):n.heading},e)})})}),Q("tbody",{ref:_,children:[l&&Q("tr",{className:"qm-warn qm-warn-notice",children:Q("td",{colSpan:g.length,children:Q(Cn,{children:l()})})}),t.map((e,n)=>Q("tr",{className:xe({"qm-warn":r&&r(e),"qm-highlight":q.has(n),"qm-jump-highlight":v&&w[n]===f.row}),children:g.map(([r,i])=>{const o=i.rowSpan?i.rowSpan(e,n,t):1;if(0===o)return null;else return Q("td",{className:xe(`qm-cell-${r}`,"function"==typeof i.className?i.className(e,n):i.className,{"qm-warn":i.cellHasError&&i.cellHasError(e,n),"qm-wrap":i.wrap}),rowSpan:o>1?o:void 0,children:i.render(e,n)},r)})},n))]}),S({cols:g.length,count:k,total:y,data:t})]});return Q(b,{children:[u&&Q("div",{className:"qm-table-children",children:Q("div",{className:"qm-boxed",children:u})}),T]})},st=({cols:e,data:n,footer:t,warning:r,orderby:i,order:o="desc",rowHasError:l,title:a,groupKey:s,header:c,children:d})=>{const{id:u}=Ke(xn);return Q("div",{"aria-labelledby":"qm-panel-table",className:"qm qm-panel-show",id:`qm-${u}`,role:"tabpanel",tabIndex:-1,children:Q(at,{cols:e,data:n,id:"qm-panel-table",footer:t,warning:r,rowHasError:l,title:a,orderby:i,order:o,groupKey:s,header:c,children:d})})},ct=({data:e})=>Q("pre",{className:"qm-pre-wrap",children:Q("code",{children:JSON.stringify(e,null,2)})}),dt=(e,n="")=>{const t=[];return e.forEach((e,r)=>{const i=n?`${n}.${r+1}`:(r+1).toString();if(t.push({...e,index:i}),e.innerBlocks&&e.innerBlocks.length>0)t.push(...dt(e.innerBlocks,i))}),t},ut=({data:e})=>{if(!e.post_blocks)return null;if(!e.post_has_blocks)return Q(Un,{children:Q("p",{children:__("This post contains no blocks.","query-monitor")})});const n=dt(e.post_blocks),t=e=>!Array.isArray(e.attrs)||e.attrs.length>0,r={index:{heading:"#",render:e=>e.index},blockName:{heading:__("Block Name","query-monitor"),className:"qm-nowrap",render:e=>e.blockName},attrs:{heading:__("Attributes","query-monitor"),render:e=>t(e)&&Q(ct,{data:e.attrs})}};return r.context={heading:__("Context","query-monitor"),render:e=>e.context&&t(e)&&Q(ct,{data:e.context})},r.callback={heading:__("Render Callback","query-monitor"),render:e=>e.dynamic&&e.callback?.name&&Q(zn,{text:e.callback.name,file:e.callback.file||null,line:e.callback.line||null,expanded:!0})},r.timing={heading:__("Render Time","query-monitor"),className:"qm-num",render:e=>e.dynamic?Q(Kn,{value:e.timing}):null},r.innerHTML={heading:__("Inner HTML","query-monitor"),render:e=>Q("pre",{className:"qm-pre-wrap",children:Q("code",{children:e.innerHTML})})},Q(st,{title:__("Blocks","query-monitor"),cols:r,data:n})},mt=({enabled:e,data:n})=>{const{settings:t}=Ke($e);if(!e)return Q(Un,{children:[Q("p",{children:sprintf( +/* translators: %s: Configuration file name. */ +__("For performance reasons, this panel is not enabled by default. To enable it, add the following code to your %s file:","query-monitor"),"wp-config.php")}),Q("p",{children:Q("code",{children:"define( 'QM_ENABLE_CAPS_PANEL', true );"})})]});if(!n.caps.length)return Q(Un,{children:Q("p",{children:__("No capability checks were recorded.","query-monitor")})});else return Q(st,{title:__("Capability Checks","query-monitor"),cols:{cap:{heading:__("Capability Check","query-monitor"),render:e=>Q("code",{children:[e.name,e.args.map(e=>Q(b,{children:[", ",e]}))]})},user:{heading:__("User","query-monitor"),render:e=>Q(b,{children:[e.user,0===e.user&&Q(b,{children:[Q("br",{}),Q("br",{}),Q(Cn,{children:__("Invalid user ID. WordPress silently converts this to 0 before the capability check runs.","query-monitor")})]})]}),filters:{options:[(()=>{const e=[...new Set(n.caps.map(e=>e.user))];return e.sort(),e.map(e=>({key:String(e),label:String(e)}))})()],callback:(e,n)=>e.user===Number(n)}},result:{heading:__("Result","query-monitor"),render:e=>e.result?Q("span",{className:"qm-true",children:"true ✓"}):"false"},caller:it(n.caps,t),component:tt(n.caps)},data:n.caps})},ht=({data:e})=>{const n=e.conds.true,t=e.conds.false;return Q(Sn,{title:__("Conditionals","query-monitor"),children:[Q("div",{className:"qm-boxed",children:Q("section",{children:[Q("h3",{children:__("True Conditionals","query-monitor")}),Q("ul",{children:n.map(e=>Q("li",{className:"qm-ltr qm-true",children:Q("code",{children:[e,"()"]})},e))})]})}),Q("div",{className:"qm-boxed",children:Q("section",{children:[Q("h3",{children:__("False Conditionals","query-monitor")}),Q("ul",{children:t.map(e=>Q("li",{className:"qm-ltr qm-false",children:Q("code",{children:[e,"()"]})},e))})]})})]})},pt=({rows:e})=>Q(Kn,{value:e.reduce((e,n)=>e+n.ltime,0)}),ft=({data:e})=>{if(!e.rows?.length)return Q(Un,{children:Q("p",{children:__("None","query-monitor")})});const n=(e=>{const n={};for(const t of e){let e;if(t.trace?.frames?.length)e=Dn(t.trace.frames[0]).id;else if(t.stack?.length)e=t.stack[0];if(!e)continue;if(!n[e])n[e]={caller:e,ltime:0,types:{}};const r=fn(t.sql);n[e].ltime+=t.ltime,n[e].types[r]=(n[e].types[r]||0)+1}return Object.values(n)})(e.rows),t=yn(e.rows);return Q(st,{title:__("Queries by Caller","query-monitor"),cols:{caller:{heading:__("Caller","query-monitor"),render:e=>Q(Vn,{targetPanel:"db_queries",filterName:"caller",filterValue:e.caller,children:Q("code",{children:e.caller})})},...Object.keys(t).reduce((e,n)=>({...e,[n]:{heading:n,render:e=>e.types[n]||"",className:"qm-num"}}),{}),time:rt()},orderby:"time",order:"desc",data:n,footer:()=>Q("tfoot",{children:Q("tr",{children:[Q("td",{}),Object.entries(t).map(([e,n])=>Q("td",{className:"qm-num",children:n},e)),Q("td",{className:"qm-num",children:Q(pt,{rows:n})})]})})})},_t=({data:e})=>{if(!e.rows?.length)return Q(Un,{children:Q("p",{children:__("None","query-monitor")})});const n=(e=>{const n={};for(const t of e){if(!t.trace?.component)continue;const e=`${t.trace.component.type}-${t.trace.component.context}`;if(!n[e])n[e]={component:t.trace.component,ltime:0,types:{}};const r=fn(t.sql);n[e].ltime+=t.ltime,n[e].types[r]=(n[e].types[r]||0)+1}return Object.values(n)})(e.rows),t=yn(e.rows);return Q(st,{title:__("Queries by Component","query-monitor"),cols:{component:{heading:__("Component","query-monitor"),render:e=>Q(Jn,{component:e.component,targetPanel:"db_queries"})},...Object.keys(t).reduce((e,n)=>({...e,[n]:{heading:n,render:e=>e.types[n]||"",className:"qm-num"}}),{}),time:rt()},orderby:"time",order:"desc",data:n,footer:()=>Q("tfoot",{children:Q("tr",{children:[Q("td",{}),Object.entries(t).map(([e,n])=>Q("td",{className:"qm-num",children:n},e)),Q("td",{className:"qm-num",children:Q(pt,{rows:n})})]})})})},yt=({data:e})=>{if(!e.dupes.length)return null;else return Q(st,{title:__("Duplicate Queries","query-monitor"),cols:{sql:{heading:__("Query","query-monitor"),render:e=>Q("code",{children:ln(e.query)})},count:{heading:__("Count","query-monitor"),render:e=>e.count},time:{className:"qm-num",heading:__("Time","query-monitor"),render:e=>Q(Kn,{value:e.ltime})},callers:{heading:__("Callers","query-monitor"),render:e=>Object.entries(e.callers).map(([e,n])=>Q(b,{children:[Q(Vn,{targetPanel:"db_queries",filterName:"caller",filterValue:e,children:Q("code",{children:e})}),Q("br",{}),Q("span",{className:"qm-info qm-supplemental",children:sprintf( +/* translators: %s: Number of function calls */ +_n("%s call","%s calls",n,"query-monitor"),n)}),Q("br",{})]},e))},components:{heading:__("Components","query-monitor"),render:e=>Object.entries(e.components).map(([e,n])=>Q(b,{children:[e,Q("br",{}),Q("span",{className:"qm-info qm-supplemental",children:sprintf( +/* translators: %s: Number of function calls */ +_n("%s call","%s calls",n,"query-monitor"),n)}),Q("br",{})]},e))},sources:{heading:__("Potential Troublemakers","query-monitor"),render:e=>Object.entries(e.sources).map(([e,n])=>Q(b,{children:[Q("code",{children:e}),Q("br",{}),Q("span",{className:"qm-info qm-supplemental",children:sprintf( +/* translators: %s: Number of function calls */ +_n("%s call","%s calls",n,"query-monitor"),n)}),Q("br",{})]},e))}},data:e.dupes})},gt=({data:e})=>{const{settings:n}=Ke($e);if(!e.errors?.length)return null;const t=(e.rows??[]).filter((n,t)=>e.errors.includes(t));return Q(st,{title:__("Database Errors","query-monitor"),cols:{sql:{heading:__("Query","query-monitor"),render:e=>Q(b,{children:[Q("code",{children:ln(e.sql)}),Q("br",{}),Q("br",{}),Q(Cn,{children:cn(e.result)})]})},caller:it(t,n),component:tt(t)},data:t,rowHasError:()=>!0})},bt=({data:e})=>{const{settings:n}=Ke($e);if(!e.expensive?.length||!e.rows)return null;const t=e.expensive,r=e.rows.filter((e,n)=>t.includes(n));return Q(st,{title:__("Slow Database Queries","query-monitor"),cols:{sql:{heading:__("Query","query-monitor"),render:e=>Q(b,{children:[Q("code",{children:ln(e.sql)}),sn(e.result)&&Q(b,{children:[Q("br",{}),Q("br",{}),Q(Cn,{children:cn(e.result)})]})]})},caller:it(r,n),component:tt(r),result:{className:"qm-num",heading:__("Rows","query-monitor"),render:e=>sn(e.result)?"":e.result},time:rt(0,()=>!0)},data:r,rowHasError:e=>sn(e.result)})},qt=e=>{switch(e){case"conflict":return sprintf( +/* translators: %s: File name */ +__("Extended query information such as the component and affected rows is not available. A conflicting %s file is present.","query-monitor"),"db.php");case"disabled":return sprintf( +/* translators: 1: File name, 2: Configuration constant name */ +__("Extended query information such as the component and affected rows is not available. Query Monitor was prevented from symlinking its %1$s file into place by the %2$s constant.","query-monitor"),"db.php","QM_DB_SYMLINK");case"failed":return sprintf( +/* translators: %s: File name */ +__("Extended query information such as the component and affected rows is not available. Query Monitor was unable to symlink its %s file into place.","query-monitor"),"db.php")}},vt=({data:e})=>{const{settings:n}=Ke($e);if(!e.total_qs)return Q(Un,{children:Q("p",{children:__("No queries! Nice work.","query-monitor")})});if(!e.rows?.length)return Q(Un,{children:Q("p",{children:sprintf( +/* translators: %s: Number of database queries */ +__("%s database queries were performed, but none were logged.","query-monitor"),mn(e.total_qs))})});const t=yn(e.rows),r=!e.has_trace?n.extended_query_prompt_reason:null;return Q(st,{title:__("Database Queries","query-monitor"),warning:r?()=>Q(b,{children:[qt(r)," ",Q("a",{href:"https://querymonitor.com/help/db-php-symlink/",target:"_blank",rel:"noopener noreferrer",className:"qm-external-link",children:__("See this help page for more information.","query-monitor")})]}):void 0,cols:{i:{className:"qm-num",heading:"#",render:(e,n)=>n+1},sql:{className:e=>"SELECT"!==fn(e.sql)?"qm-nonselectsql":"",heading:__("Query","query-monitor"),render:e=>Q(b,{children:[Q("code",{children:ln(e.sql)}),sn(e.result)&&Q(b,{children:[Q("br",{}),Q("br",{}),Q(Cn,{children:cn(e.result)})]})]}),filters:{options:(()=>{const e=Object.keys(t).map(e=>({key:e,label:e})),n=[];if(e.length>1)n.push(e),n.push([{key:"non-select",label:__("Non-SELECT","query-monitor")}]);return n})(),callback:(e,n)=>{const t=fn(e.sql);if("non-select"===n)return"SELECT"!==t;else return t===n}},wrap:!0},caller:e.has_trace?it(e.rows,n):ot(e.rows),component:e.has_trace?tt(e.rows):null,result:e.has_result?{className:"qm-num",heading:__("Rows","query-monitor"),render:e=>!sn(e.result)&&e.result}:null,time:rt(e.rows,(n,t)=>e.expensive?.includes(t)??!1)},data:e.rows,rowHasError:e=>sn(e.result),footer:({cols:e,count:n,total:t,data:r})=>Q(Gn,{cols:e-1,count:n,total:t,children:Q("td",{className:"qm-num",children:Q(pt,{rows:r})})})})},wt=({data:e})=>{const{settings:n}=Ke($e);if(!e.actions?.length)return Q(Un,{children:Q("p",{children:__("No occurrences.","query-monitor")})});else return Q(st,{title:__("Doing it Wrong","query-monitor"),cols:{message:{heading:__("Message","query-monitor"),render:e=>e.message},caller:it(e.actions,n),component:tt(e.actions)},data:e.actions})},kt=({value:e})=>Q("code",{children:e<1024?sprintf("~%s B",mn(e)):sprintf("~%s kB",mn(e/1024))}),Nt=({db:e})=>{const n={"server-version":__("Server Version","query-monitor"),extension:__("Extension","query-monitor"),"client-version":__("Client Version","query-monitor"),user:__("User","query-monitor"),host:__("Host","query-monitor"),database:__("Database","query-monitor")};return Q("section",{children:[Q("h3",{children:__("Database","query-monitor")}),Q("table",{children:Q("tbody",{children:[Object.keys(n).map(t=>Q("tr",{children:[Q("th",{scope:"row",children:n[t]}),Q("td",{children:e.info[t]||Q(Cn,{children:__("Unknown","query-monitor")})})]},t)),e.variables.map(e=>{const n=Number(e.Value),t=!isNaN(n)&&n>=1048576;return Q("tr",{children:[Q("th",{scope:"row",children:e.Variable_name}),Q("td",{children:[e.Value,t&&Q(b,{children:[" ",Q("span",{className:"qm-info",children:["(",Q(kt,{value:n}),")"]})]})]})]},e.Variable_name)})]})})]})},xt=({summary:e,children:n})=>{const[t,r]=Qe(!1);return Q(b,{children:[Q(Bn,{expanded:t,onToggle:()=>r(!t)}),e,t&&n]})},St=({php:e})=>Q("section",{children:[Q("h3",{children:"PHP"}),Q("table",{children:Q("tbody",{children:[Q("tr",{className:xe({"qm-warn":e.old}),children:[Q("th",{scope:"row",children:__("Version","query-monitor")}),Q("td",{children:e.old?Q(Cn,{children:[e.version," (",Q("a",{className:"qm-external-link",href:"https://wordpress.org/support/update-php/",children:__("Help","query-monitor")}),")"]}):e.version})]}),Q("tr",{children:[Q("th",{scope:"row",children:"SAPI"}),Q("td",{children:e.sapi||__("Unknown","query-monitor")})]}),Q("tr",{children:[Q("th",{scope:"row",children:__("User","query-monitor")}),Q("td",{children:e.user||__("Unknown","query-monitor")})]}),Object.keys(e.variables).map(n=>Q("tr",{children:[Q("th",{scope:"row",children:n}),Q("td",{children:e.variables[n]})]},n)),Q("tr",{children:[Q("th",{scope:"row",children:__("Error Reporting","query-monitor")}),Q("td",{className:"qm-has-toggle qm-ltr",children:Q(xt,{summary:e.error_reporting,children:Q("ul",{children:Object.keys(e.error_levels).map(n=>Q("li",{children:e.error_levels[n]?Q(b,{children:[n," ✓"]}):Q("span",{className:"qm-false",children:n})},n))})})})]}),e.extensions&&Q("tr",{children:[Q("th",{scope:"row",children:__("Extensions","query-monitor")}),Q("td",{className:"qm-has-toggle qm-ltr",children:Q(xt,{summary:Q(b,{children:[Object.keys(e.extensions).length," ",__("extensions","query-monitor")]}),children:Q("ul",{children:Object.keys(e.extensions).map(n=>Q("li",{children:[n," ",e.extensions[n]||""]},n))})})})]})]})})]}),Tt=({server:e})=>{const n={name:__("Software","query-monitor"),version:__("Version","query-monitor"),address:__("IP Address","query-monitor"),host:__("Host","query-monitor"), +/* translators: OS stands for Operating System */ +OS:__("OS","query-monitor"),arch:__("Architecture","query-monitor"),basicauth:__("Basic Auth","query-monitor")};return Q("section",{children:[Q("h3",{children:__("Server","query-monitor")}),Q("table",{children:Q("tbody",{children:Object.keys(n).map(t=>Q("tr",{children:[Q("th",{scope:"row",children:n[t]}),Q("td",{children:e[t]||Q(Cn,{children:__("Unknown","query-monitor")})})]},t))})})]})},Ct=({wordpress:e})=>Q("section",{children:[Q("h3",{children:"WordPress"}),Q("table",{children:Q("tbody",{children:[Q("tr",{children:[Q("th",{scope:"row",children:__("Version","query-monitor")}),Q("td",{children:e.version})]}),Q("tr",{children:[Q("th",{scope:"row",children:[__("Environment Type","query-monitor")," ",Q("span",{className:"qm-info",children:["(",Q("a",{className:"qm-external-link",href:"https://make.wordpress.org/core/2020/07/24/new-wp_get_environment_type-function-in-wordpress-5-5/",children:__("Help","query-monitor")}),")"]})]}),Q("td",{children:e.environment_type})]}),void 0!==e.development_mode&&Q("tr",{children:[Q("th",{scope:"row",children:[__("Development Mode","query-monitor")," ",Q("span",{className:"qm-info",children:["(",Q("a",{className:"qm-external-link",href:"https://make.wordpress.org/core/2023/07/14/configuring-development-mode-in-6-3/",children:__("Help","query-monitor")}),")"]})]}),Q("td",{children:e.development_mode||__("empty string","query-monitor")})]}),Object.entries(e.constants).map(([e,n])=>Q("tr",{children:[Q("th",{scope:"row",children:e}),Q("td",{children:n})]},e))]})})]}),$t=({data:e})=>Q(Sn,{title:__("Environment","query-monitor"),children:[Q(St,{php:e.php}),Q(Nt,{db:e.db}),Q(Ct,{wordpress:e.wp}),Q(Tt,{server:e.server})]}),Et=({data:e})=>{const{settings:n}=Ke($e);if(!e.hooks?.length)return Q(Un,{children:Q("p",{children:__("No hooks were recorded.","query-monitor")})});const t=(e=>{const n=[];for(const t of e)if(!t.actions.length)n.push({hookName:t.name,priority:null,callback:null,component:null});else for(const e of t.actions)n.push({hookName:t.name,priority:e.priority,callback:e.callback,component:e.callback.component??null});return n})(e.hooks),r=nt(t,e=>e.component),i=new Set,o=[];for(const l of t)for(const e of l.hookName.split(/[-_/.]/))if(e&&!i.has(e))i.add(e),o.push({key:e,label:e});return o.sort((e,n)=>e.label.localeCompare(n.label)),Q(st,{title:__("Hooks","query-monitor"),cols:{hook:{heading:__("Hook","query-monitor"),render:e=>Q("span",{className:"qm-sticky",children:[Q("code",{children:e.hookName}),"all"===e.hookName&&Q(Cn,{children:sprintf( +/* translators: %s: Action name */ +__("Warning: The %s action is extremely resource intensive. Try to avoid using it.","query-monitor"),"all")})]}),rowSpan:(e,n,t)=>{if(n>0&&t[n-1].hookName===e.hookName)return 0;let r=1;for(;n+re.hookName.includes(n)}:void 0},priority:{heading:__("Priority","query-monitor"),className:"qm-num",render:n=>{if(null===n.priority)return"";let t=null;if(n.priority===e.php_int_max)t="PHP_INT_MAX";else if(n.priority===e.php_int_min)t="PHP_INT_MIN";else if(n.priority===-e.php_int_max)t="-PHP_INT_MAX";return Q(b,{children:[n.priority,t&&Q(b,{children:[Q("br",{}),Q("span",{className:"qm-info",children:["(",t,")"]})]})]})}},callback:{heading:__("Action","query-monitor"),className:"qm-nowrap",render:e=>{if(!e.callback)return"";let t;if("closure"===e.callback.callback_type)t=sprintf( +/* translators: A closure is an anonymous PHP function. 1: Line number, 2: File name */ +__("Closure on line %1$d of %2$s","query-monitor"),e.callback.line||0,e.callback.file?un(e.callback.file,n):"");else if("unknown_closure"===e.callback.callback_type)t=__("Unknown closure","query-monitor");else t=e.callback.name||"";if(!t)return"";else return Q(zn,{text:t,file:e.callback.file||null,line:e.callback.line||0,expanded:!0})}},component:{heading:__("Component","query-monitor"),render:e=>e.component?Q(Jn,{component:e.component}):null,filters:r.length?{options:r,callback:(e,n)=>et(e.component,n)}:void 0}},data:t,groupKey:e=>e.hookName})},Ot=e=>!e.url.startsWith("https://"),Pt=e=>e.url.startsWith("https://")&&!1===e.args.sslverify,Mt=e=>null!==e.redirected_to,jt=e=>!0===e.intercepted,At=({data:e})=>{const{settings:n}=Ke($e);if(!e.http)return Q(Un,{children:Q("p",{children:__("No HTTP API calls.","query-monitor")})});else return Q(st,{title:__("HTTP API","query-monitor"),cols:{method:{heading:__("Method","query-monitor"),render:e=>e.args.method},url:{heading:__("URL","query-monitor"),render:e=>Q(b,{children:[Ot(e)&&Q("div",{children:Q(Cn,{children:__("Request to a non-HTTPS URL","query-monitor")})}),Pt(e)&&Q("div",{children:Q(Cn,{children:sprintf( +/* translators: An HTTP API request has disabled certificate verification. 1: Relevant argument name */ +__("Certificate verification disabled (%s)","query-monitor"),"sslverify=false")})}),jt(e)&&Q("div",{children:Q(Cn,{children:sprintf( +/* translators: %s: WordPress filter name */ +__("Request was short-circuited by the %s filter and was not sent","query-monitor"),"pre_http_request")})}),"GET"===e.args.method?Q("a",{href:e.url,target:"_blank",rel:"noreferrer",children:an(e.url)}):an(e.url),Mt(e)&&Q("div",{children:Q(Cn,{children:sprintf( +/* translators: %s: Redirect target URL */ +__("Redirected to: %s","query-monitor"),e.redirected_to)})})]}),filters:{options:[Array.from(new Set(e.http.map(e=>e.host))).map(e=>({key:e,label:e}))],callback:(e,n)=>e.host===n}},status:{heading:__("Status","query-monitor"),className:"qm-has-toggle",render:e=>{if(sn(e.result))return Q(Cn,{children:sprintf( +/* translators: %s: Error message text */ +__("Error: %s","query-monitor"),cn(e.result))});if(e.intercepted)return"";const n=!1===e.args.blocking?__("Non-blocking","query-monitor"):`${e.result.code} ${e.result.message}`,t=e.info&&"object"==typeof e.info?e.info:null;if(!(t&&("namelookup_time"in t||"connect_time"in t||"starttransfer_time"in t||"size_download"in t||"content_type"in t||"primary_ip"in t)))return n;const r=[{key:"namelookup_time",label:__("DNS Resolution Time","query-monitor")},{key:"connect_time",label:__("Connection Time","query-monitor")},{key:"starttransfer_time",label:__("Transfer Start Time (TTFB)","query-monitor")}],i=[{key:"content_type",label:__("Response Content Type","query-monitor")}],o="size_download"in t?t.size_download:null;return Q(xt,{summary:n,children:Q("ul",{className:"qm-toggled",children:["primary_ip"in t&&Q("li",{className:"qm-info qm-supplemental",children:[__("IP Address","query-monitor"),": ",t.primary_ip]},"primary_ip"),r.map(({key:e,label:n})=>{if(!(e in t))return null;else return Q("li",{className:"qm-info qm-supplemental",children:[n,": ",Q(Kn,{value:t[e]})]},e)}),null!==o&&Q("li",{className:"qm-info qm-supplemental",children:[__("Response Size","query-monitor"),": ",mn(o/1024,2)," KB"]},"size_download"),i.map(({key:e,label:n})=>{if(!(e in t))return null;else return Q("li",{className:"qm-info qm-supplemental",children:[n,": ",t[e]]},e)})]})})},filters:{options:[Object.keys(e.types).sort().map(e=>({key:e,label:e}))],callback:(e,n)=>{switch(n){case"non-blocking":return!1===e.args.blocking;case"error":return sn(e.result);default:if(sn(e.result))return!1;else return`HTTP ${e.result.code}`===n}}}},caller:it(e.http,n),component:tt(e.http),timeout:{heading:__("Timeout","query-monitor"),className:"qm-num",render:e=>e.intercepted?"":e.args.timeout},time:{heading:__("Time","query-monitor"),className:"qm-num",render:e=>e.intercepted?"":Q(Kn,{value:e.ltime})}},data:e.http,rowHasError:e=>sn(e.result)||!e.intercepted&&e.result.code>=400,footer:({cols:e,count:n,total:t,data:r})=>Q(Gn,{cols:e-1,count:n,total:t,children:Q("td",{className:"qm-num",children:Q(pt,{rows:r.filter(e=>!e.intercepted)})})})})},It=({data:e})=>{const{settings:n}=Ke($e);return Q(st,{title:__("Languages","query-monitor"),cols:{domain:{heading:__("Text Domain","query-monitor"),className:"qm-nowrap",render:e=>e.handle?`${e.domain} (${e.handle})`:e.domain},type:{heading:__("Type","query-monitor"),render:e=>e.type},frame:{heading:__("Caller","query-monitor"),render:e=>e.caller?Q(zn,{text:dn(e.caller),file:e.caller.file,line:e.caller.line}):__("Unknown","query-monitor")},file:{heading:__("Translation File","query-monitor"),render:e=>e.file?e.found?Q(Qn,{text:un(e.file,n),file:e.file}):un(e.file,n):__("None","query-monitor")},found:{heading:__("Size","query-monitor"),className:"qm-nowrap",render:e=>e.found?Q(kt,{value:e.found}):__("Not Found","query-monitor")}},data:e.languages,footer:({cols:e,count:n,total:t,data:r})=>Q(Gn,{cols:e-1,count:n,total:t,children:Q("td",{children:Q(kt,{value:r.reduce((e,n)=>e+(n.found?n.found:0),0)})})}),children:[Q("section",{children:[Q("h3",{children:Q("code",{children:"get_locale()"})}),Q("p",{children:e.locale})]}),Q("section",{children:[Q("h3",{children:Q("code",{children:"get_user_locale()"})}),Q("p",{children:e.user_locale})]}),Q("section",{children:[Q("h3",{children:Q("code",{children:"determine_locale()"})}),Q("p",{children:e.determined_locale})]}),e.mlp_language&&Q("section",{children:[Q("h3",{children:sprintf( +/* translators: %s: Name of a multilingual plugin */ +__("%s Language","query-monitor"),"MultilingualPress")}),Q("p",{children:e.mlp_language})]}),e.pll_language&&Q("section",{children:[Q("h3",{children:sprintf( +/* translators: %s: Name of a multilingual plugin */ +__("%s Language","query-monitor"),"Polylang")}),Q("p",{children:e.pll_language})]}),Q("section",{children:[Q("h3",{children:Q("code",{children:"get_language_attributes()"})}),Q("p",{children:Q("code",{children:e.language_attributes})})]})]})},Ft=["emergency","alert","critical","error","warning"],Ht=({data:e})=>{const{settings:n}=Ke($e);if(!e.logs||!e.logs.length)return Q(Un,{children:[Q("p",{children:__("No data logged.","query-monitor")}),Q("p",{children:Q("a",{href:"https://querymonitor.com/wordpress-debugging/profiling-and-logging/",children:__("Read about profiling and logging in Query Monitor.","query-monitor")})})]});const t=e.logs.reduce((e,n)=>(e[n.level]=(e[n.level]||0)+1,e),{}),r=[{label:hn("Emergency",t.emergency),key:"emergency"},{label:hn("Alert",t.alert),key:"alert"},{label:hn("Critical",t.critical),key:"critical"},{label:hn("Error",t.error),key:"error"},{label:hn("Warning",t.warning),key:"warning"},{label:hn("Notice",t.notice),key:"notice"},{label:hn("Info",t.info),key:"info"},{label:hn("Debug",t.debug),key:"debug"}];return Q(st,{title:__("Logs","query-monitor"),cols:{level:{heading:__("Level","query-monitor"),render:e=>Ft.includes(e.level)?Q(Cn,{children:e.level}):e.level,filters:{options:[r],callback:(e,n)=>e.level===n}},message:{heading:__("Message","query-monitor"),render:e=>Q("pre",{children:e.message})},context:{heading:__("Context","query-monitor"),className:"qm-has-toggle",render:e=>{if(!e.context||0===Object.keys(e.context).length)return"";else return Q(xt,{summary:sprintf( +/* translators: %d: Number of items */ +_n("%d item","%d items",Object.keys(e.context).length,"query-monitor"),Object.keys(e.context).length),children:Q(ct,{data:e.context})})}},caller:it(e.logs,n),component:tt(e.logs)},data:e.logs,rowHasError:e=>Ft.includes(e.level)})},Lt=({data:e})=>{const{settings:n}=Ke($e);if(!e.switches.length)return Q(Un,{children:Q("p",{children:__("No data logged.","query-monitor")})});else return Q(st,{title:__("Multisite","query-monitor"),cols:{i:{className:"qm-num",heading:"#",render:(e,n)=>n+1},function:{heading:__("Function","query-monitor"),render:e=>Q("code",{children:e.to?sprintf("switch_to_blog(%d)",e.new):"restore_current_blog()"})},site:{heading:__("Site Switch","query-monitor"),render:e=>Q("code",{children:[e.prev," → ",e.new]})},caller:it(e.switches,n),component:tt(e.switches)},data:e.switches})},Dt=({data:e,settings:n})=>{const t=e.db_queries?.data,r=t?.rows?yn(t.rows):{},i=e.cache?.data,o=e.http?.data,l=e.raw_request?.data;if(!e.overview)return null;const a=e.overview.data,s=a.time_taken||0,c=a.memory||0,d=a.time_limit||0,u=a.memory_limit||0,m=a.time_usage||0,h=a.memory_usage||0,p=m>=75,f=h>=75;return Q(Sn,{title:__("Overview","query-monitor"),children:[Q("div",{className:"qm-boxed",children:l&&null!=l.response?.status&&Q("section",{id:"qm-overview-raw-request",children:Q("h3",{children:sprintf("%1$s %2$s → %3$s",l.request.method,l.request.url,l.response.status||__("Unknown HTTP Response Code","query-monitor"))})})}),Q("div",{className:"qm-grid",children:[Q("section",{children:[Q("h3",{children:__("Page Generation Time","query-monitor")}),Q("p",{children:[Q(Kn,{value:s,secondsLabel:!0}),d>0?Q(b,{children:[Q("br",{}),Q("span",{className:p?"qm-warn":"qm-info",children:[p&&Q(Ce,{name:"warning"}),sprintf( +/* translators: 1: Percentage of time limit used, 2: Time limit in seconds */ +__("%1$s%% of %2$ss limit","query-monitor"),mn(m,1),mn(d))]})]}):Q(b,{children:[Q("br",{}),Q("span",{className:"qm-warn",children:[Q(Ce,{name:"warning"}),sprintf( +/* translators: 1: Name of the PHP directive, 2: Value of the PHP directive */ +__("No execution time limit. The %1$s PHP configuration directive is set to %2$s.","query-monitor"),"max_execution_time","0")]})]})]})]}),Q("section",{children:[Q("h3",{children:__("Peak Memory Usage","query-monitor")}),Q("p",{children:0===c?__("Unknown","query-monitor"):Q(b,{children:[sprintf( +/* translators: 1: Memory used in bytes, 2: Memory used in megabytes */ +__("%1$s bytes (%2$s MB)","query-monitor"),mn(c),mn(c/1024/1024,1)),u>0?Q(b,{children:[Q("br",{}),Q("span",{className:f?"qm-warn":"qm-info",children:[f&&Q(Ce,{name:"warning"}),sprintf( +/* translators: 1: Percentage of memory limit used, 2: Memory limit in megabytes */ +__("%1$s%% of %2$s MB server limit","query-monitor"),mn(h,1),mn(u/1024/1024))]})]}):Q(b,{children:[Q("br",{}),Q("span",{className:"qm-warn",children:[Q(Ce,{name:"warning"}),sprintf( +/* translators: 1: Name of the PHP directive, 2: Value of the PHP directive */ +__("No memory limit. The %1$s PHP configuration directive is set to %2$s.","query-monitor"),"memory_limit","0")]})]})]})})]}),Q("section",{children:[Q("h3",{children:__("Database Queries","query-monitor")}),t?.rows?.length?Q(b,{children:[Q("p",{children:Q(Kn,{value:t.rows.reduce((e,n)=>e+n.ltime,0),secondsLabel:!0})}),Q("p",{children:[Object.keys(r).length>1&&Object.entries(r).map(([e,n])=>Q(b,{children:[Q(Vn,{targetPanel:"db_queries",filterName:"sql",filterValue:e,children:sprintf("%1$s: %2$s",e,mn(n))}),Q("br",{})]},e)),Q(Vn,{targetPanel:"db_queries",filterName:"type",filterValue:"",children:sprintf("%1$s: %2$s",_x("Total","database queries","query-monitor"),mn(t.total_qs))})]})]}):Q("p",{children:t?.total_qs?sprintf("%1$s: %2$s",_x("Total","database queries","query-monitor"),mn(t.total_qs)):Q("em",{children:__("None","query-monitor")})})]}),o&&Q("section",{children:[Q("h3",{children:__("HTTP API Calls","query-monitor")}),o.http?.length?Q(b,{children:[Q("p",{children:Q(Kn,{value:o.ltime,secondsLabel:!0})}),Q(Vn,{targetPanel:"http",filterName:"type",filterValue:"",children:sprintf("%1$s: %2$s",_x("Total","HTTP API calls","query-monitor"),mn(o.http.length))})]}):Q("p",{children:Q("em",{children:__("None","query-monitor")})})]}),Q("section",{children:[Q("h3",{children:__("Object Cache","query-monitor")}),i?Q(b,{children:[i.stats&&void 0!==i.cache_hit_percentage&&Q("p",{children:sprintf( +/* translators: 1: Cache hit rate percentage, 2: number of cache hits, 3: number of cache misses */ +__("%1$s%% hit rate (%2$s hits, %3$s misses)","query-monitor"),mn(i.cache_hit_percentage,1),mn(i.stats.cache_hits,0),mn(i.stats.cache_misses,0))}),i.has_object_cache?Q("p",{children:Q("span",{className:"qm-info",children:Q("a",{href:`${n.admin_url}network/plugins.php?plugin_status=dropins`,target:"_blank",rel:"noopener noreferrer",children:__("Persistent object cache plugin in use","query-monitor")})})}):Q(b,{children:[Q("p",{children:__("Persistent object cache plugin not in use","query-monitor")}),Object.entries(i.object_cache_extensions).some(([,e])=>e)&&Object.entries(i.object_cache_extensions).filter(([,e])=>e).map(([e])=>Q("p",{children:sprintf( +/* translators: 1: PHP extension name */ +__("The %1$s object cache extension for PHP is installed but is not in use by WordPress. You should install a %1$s plugin.","query-monitor"),e)},e))]})]}):Q("p",{children:__("Object cache statistics are not available","query-monitor")})]}),i&&Q("section",{children:[Q("h3",{children:__("Opcode Cache","query-monitor")}),i.has_opcode_cache?Object.entries(i.opcode_cache_extensions).filter(([,e])=>e).map(([e])=>Q("p",{children:sprintf( +/* translators: %s: Name of cache driver */ +__("Opcode cache in use: %s","query-monitor"),e)},e)):Q(b,{children:[Q("p",{children:Q("span",{className:"qm-warn",children:[Q(Ce,{name:"warning"}),__("Opcode cache not in use","query-monitor")]})}),Q("p",{children:__("Speak to your web host about enabling an opcode cache such as OPcache.","query-monitor")})]})]})]})]})},Rt=({data:e})=>{const{settings:n}=Ke($e);if(!e.errors)return Q(Un,{children:Q("p",{children:__("No errors logged.","query-monitor")})});const t=Object.values(e.errors),r=t.reduce((e,n)=>(e[n.level]=(e[n.level]||0)+1,e),{}),i=[{label:hn("Warning",r.warning),key:"warning"},{label:hn("Notice",r.notice),key:"notice"},{label:hn("Strict",r.strict),key:"strict"},{label:hn("Deprecated",r.deprecated),key:"deprecated"}];return Q(st,{title:__("PHP Errors","query-monitor"),cols:{level:{heading:__("Level","query-monitor"),render:e=>{const n=e.suppressed?`${e.level} (${__("suppressed","query-monitor")})`:e.level;return"warning"===e.level?Q(Cn,{children:n}):n},filters:{options:[i],callback:(e,n)=>e.level===n}},message:{heading:__("Message","query-monitor"),render:e=>e.message},caller:it(t,n),count:{className:"qm-num",heading:__("Count","query-monitor"),render:e=>e.count},component:tt(t)},rowHasError:e=>"warning"===e.level,data:t})},Ut=({data:e})=>{const n={request:__("Request","query-monitor"),matched_rule:__("Matched Rule","query-monitor"),matched_query:__("Matched Query","query-monitor"),query_string:__("Query String","query-monitor")},t={request:!1,matched_rule:!1,matched_query:!0,query_string:!0};return Q(Sn,{title:__("Request","query-monitor"),children:[Q("section",{children:Object.keys(n).map(r=>{const i=n[r],o=e.request[r],l=t[r];return Q(b,{children:[Q("h3",{children:i}),o?Q("p",{className:"qm-ltr",children:Q("code",{children:l?an(o):o})}):Q("p",{children:__("None","query-monitor")})]},r)})}),e.matching_rewrites&&Object.keys(e.matching_rewrites).length>0&&Q("section",{children:[Q("h3",{children:__("All Matching Rewrite Rules","query-monitor")}),Q("table",{children:Q("tbody",{children:Object.keys(e.matching_rewrites).map(n=>{const t=e.matching_rewrites[n].replace("index.php?","");return Q("tr",{children:[Q("td",{className:"qm-ltr",children:Q("code",{children:n})}),Q("td",{className:"qm-ltr",children:Q("code",{children:an(t)})})]},n)})})})]}),Q("section",{children:[Q("h3",{children:__("Query Vars","query-monitor")}),e.qvars?Q("table",{children:Q("tbody",{children:Object.keys(e.qvars).map(n=>{const t=e.qvars[n];return Q("tr",{children:[Q("th",{className:"qm-ltr",scope:"row",children:n}),Q("td",{className:"qm-ltr qm-wrap",children:"string"==typeof t?t:Q(ct,{data:t})})]},n)})})}):Q("p",{children:__("None","query-monitor")})]}),Q("section",{children:[Q("h3",{children:__("Queried Object","query-monitor")}),e.queried_object?Q("p",{children:[e.queried_object.title," (",e.queried_object.type,")"]}):Q("p",{children:__("None","query-monitor")}),Q("h3",{children:__("Current User","query-monitor")}),e.user.id?Q("p",{children:sprintf( +/* translators: %d: User ID */ +__("Current User: #%d","query-monitor"),e.user.id)}):Q("p",{children:__("None","query-monitor")})]}),e.multisite?.current_site&&Q("section",{children:[Q("h3",{children:__("Multisite","query-monitor")}),Q("p",{children:sprintf( +/* translators: %d: Multisite site ID */ +__("Current Site: #%d","query-monitor"),e.multisite.current_site.data.blog_id)})]})]})},zt=({data:e,type:n})=>{const t=e[n]?.headers;if(!t||0===Object.keys(t).length)return Q(Un,{children:Q("p",{children:"request"===n?__("No request headers found","query-monitor"):__("No response headers found","query-monitor")})});const r=Object.entries(t).map(([e,n])=>({name:e,value:n})),i="request"===n?__("Request Headers","query-monitor"):__("Response Headers","query-monitor"),o="request"===n?__("Request Header Name","query-monitor"):__("Response Header Name","query-monitor");return Q(st,{title:i,cols:{name:{heading:o,render:e=>Q("code",{children:e.name.split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join("-")})},value:{heading:__("Value","query-monitor"),render:e=>Q("pre",{className:"qm-pre-wrap",children:Q("code",{children:e.value})})}},data:r,footer:()=>Q("tfoot",{children:Q("tr",{children:Q("td",{colSpan:2,children:__("Note that header names are not case-sensitive.","query-monitor")})})})})},Qt=({settings:e})=>{const[n,t]=Qe(e.verified),{editor:r,setEditor:i,theme:o,setTheme:l,fabulous:a,setFabulous:s,durationUnit:c,setDurationUnit:d}=Ke($e),u={auto:_x("Auto","colour scheme","query-monitor"),light:_x("Light","colour scheme","query-monitor"),dark:_x("Dark","colour scheme","query-monitor")};return Q(Sn,{title:__("Settings","query-monitor"),children:Q("div",{className:"qm-grid",children:[Q("section",{children:[Q("h3",{children:__("Authentication","query-monitor")}),Q("p",{children:__("You can set an authentication cookie which allows you to view Query Monitor output when you are not logged in, or when you are logged in as a different user.","query-monitor")}),Q("p",{children:Q("button",{className:"qm-button",onClick:()=>{const r=n?"off":"on",i=new FormData;i.append("action",`qm_auth_${r}`),i.append("nonce",e.auth_nonce[r]),window.fetch(e.ajaxurl,{method:"POST",body:i,credentials:"same-origin"}).then(()=>{t(!n)})},children:n?__("Clear authentication cookie","query-monitor"):__("Set authentication cookie","query-monitor")})}),n&&Q("p",{children:[Q(Ce,{name:"yes-alt"}),__("Authentication cookie is set","query-monitor")]})]}),Q("section",{children:[Q("h3",{children:__("Editor","query-monitor")}),Q("p",{children:__("You can set your editor here, so that when you click on stack trace links the file opens in your editor.","query-monitor")}),Q("p",{children:Q("select",{className:"qm-filter",id:"qm-editor-select",name:"qm-editor-select",value:r??"",onChange:e=>{i(e.currentTarget.value)},children:[Q("option",{value:"",children:e.file_link_format?_x("Default","editor option","query-monitor"):_x("None","editor option","query-monitor")},""),Q("hr",{}),[{label:"Atom",name:"atom",format:"atom://open/?url=file://%1$s&line=%2$s"},{label:"Cursor",name:"cursor",format:"cursor://file/%1$s:%2$s"},{label:"Netbeans",name:"netbeans",format:"nbopen://%1$s:%2$s"},{label:"Nova",name:"nova",format:"nova://open?path=%1$s&line=%2$s"},{label:"PhpStorm",name:"phpstorm",format:"phpstorm://open?file=%1$s&line=%2$s"},{label:"Sublime Text",name:"sublime",format:"subl://open/?url=file://%1$s&line=%2$s"},{label:"TextMate",name:"textmate",format:"txmt://open/?url=file://%1$s&line=%2$s"},{label:"Visual Studio Code",name:"vscode",format:"vscode://file/%1$s:%2$s"},{label:"Zed",name:"zed",format:"zed://file/%1$s:%2$s"}].map(({label:e,name:n})=>Q("option",{value:n,children:e},e))]})}),r&&Q("p",{children:[Q(Ce,{name:"yes-alt"}),__("Editor is set","query-monitor")]})]}),Q("section",{children:[Q("h3",{children:__("Appearance","query-monitor")}),Q("p",{children:__("Your browser color scheme is respected by default. You can override it here.","query-monitor")}),Q("ul",{children:Object.entries(u).map(([e,n])=>Q("li",{children:Q("label",{children:[Q("input",{type:"radio",className:"qm-theme-toggle qm-radio",name:"qm-theme",value:e,defaultChecked:(o||"auto")===e,onChange:e=>{l(e.currentTarget.value)}}),n]})},e))}),Q("p",{className:"qm-fabulous-toggle",children:Q("label",{children:[Q("input",{type:"checkbox",className:"qm-checkbox",name:"qm-fabulous",defaultChecked:a,onChange:e=>{s(e.currentTarget.checked)}}),__("Fabulous","query-monitor")]})})]}),Q("section",{children:[Q("h3",{children:__("Duration units","query-monitor")}),Q("ul",{children:[Q("li",{children:Q("label",{children:[Q("input",{type:"radio",className:"qm-radio",name:"qm-duration-unit",value:"seconds",checked:"s"===c,onChange:()=>d("s")}),__("Seconds","query-monitor")]})}),Q("li",{children:Q("label",{children:[Q("input",{type:"radio",className:"qm-radio",name:"qm-duration-unit",value:"ms",checked:"ms"===c,onChange:()=>d("ms")}),__("Milliseconds","query-monitor")]})})]})]})]})})},Bt=({data:e})=>{const{settings:n}=Ke($e),t=e.concerned_actions,r=e.concerned_filters,i=[],o=e=>{if(e)Object.values(e).forEach(e=>{e.actions.forEach(n=>{i.push({...n,name:e.name,type:e.type})})})};if(o(t),o(r),0===i.length)return Q(Un,{children:Q("p",{children:__("No hooks in use.","query-monitor")})});const l=__("Related Hooks with Filters or Actions Attached","query-monitor");return Q(st,{title:l,cols:{hook:{heading:__("Hook","query-monitor"),render:e=>Q("span",{className:"qm-sticky",children:Q("code",{children:e.name})}),rowSpan:(e,n,t)=>{if(n>0&&t[n-1].name===e.name)return 0;let r=1;for(;n+re.priority},callback:{heading:__("Callback","query-monitor"),render:e=>{const t=e.callback.name||(e.callback.file?un(e.callback.file,n):"");if(!t)return"";else return Q(zn,{text:t,file:e.callback.file||"",line:e.callback.line||0,expanded:!0})}},component:{heading:__("Component","query-monitor"),render:e=>e.callback.component?.name||""}},data:i,groupKey:e=>e.name})},Wt=({asset:e})=>{const n=function(e){if("object"!=typeof e||null===e||!("error_data"in e))return null;const n=e;if(Array.isArray(n.error_data))return null;if(n.error_data)for(const t in n.error_data)return n.error_data[t];return null}(e.source),t=cn(e.source);if("object"==typeof n&&null!==n&&"src"in n){const e=n.src;return Q(b,{children:[Q(Cn,{children:t}),Q("br",{}),Q("a",{href:e,target:"_blank",rel:"noreferrer",children:e})]})}if(t)return Q(Cn,{children:t});const r=function(e){try{const n=new window.URL(e.absolute);return n.searchParams.delete("ver"),(n.pathname+n.search).replace(/^\//,"")}catch{return e.absolute}}(e.url);return r?Q("a",{href:e.url.absolute,target:"_blank",rel:"noreferrer",children:r}):""},Vt=({data:e,labels:n})=>{const t={missing:__("Missing","query-monitor"),broken:__("Missing Dependencies","query-monitor"),modules:__("Module","query-monitor"),header:__("Header","query-monitor"),footer:__("Footer","query-monitor")};if(!e.assets)return Q(Un,{children:Q("p",{children:n.none})});else return Q(st,{title:__("Assets","query-monitor"),cols:{position:{heading:__("Position","query-monitor"),className:"qm-nowrap",render:e=>t[e.position]},handle:{heading:__("Handle","query-monitor"),render:e=>e.handle,className:"qm-nowrap"},hostname:{heading:__("Host","query-monitor"),render:e=>e.url.host,filters:{options:[[{key:"local",label:e.url.host},{key:"other",label:__("Other","query-monitor")}]],callback:(e,n)=>"local"===n?e.url.local:!e.url.local}},source:{heading:__("Source","query-monitor"),render:e=>Q(Wt,{asset:e})},dependencies:{heading:__("Dependencies","query-monitor"),render:n=>Q(b,{children:n.dependencies.map((n,t)=>[t>0&&", ",Q("span",{className:"qm-nowrap",children:e.missing_dependencies[n]?Q(Cn,{children:[" ",sprintf( +/* translators: %s: Name of missing script or style dependency */ +__("%s (missing)","query-monitor"),n)]}):n},n)])})},dependents:{heading:__("Dependents","query-monitor"),render:e=>Q(b,{children:e.dependents.map((e,n)=>[n>0&&", ",Q("span",{className:"qm-nowrap",children:e},e)])})},version:{heading:__("Version","query-monitor"),render:e=>e.ver}},data:e.assets,rowHasError:e=>e.warning})},Jt=e=>Q(Vt,{...e,labels:{none:__("No JavaScript files were enqueued.","query-monitor")}}),Kt=e=>Q(Vt,{...e,labels:{none:__("No CSS files were enqueued.","query-monitor")}}),Gt=({data:e})=>{let n=null;if(e.template_parts)if(e.is_child_theme)n=e.theme_template_parts;else n=e.template_parts;return Q(Sn,{title:__("Template","query-monitor"),children:[Q("section",{children:[Q("h3",{children:__("Theme","query-monitor")}),Q("p",{children:e.stylesheet}),Q("p",{children:Q(Qn,{text:"style.css",file:`${e.theme_dirs[e.stylesheet]}/style.css`})}),e.stylesheet_theme_json&&Q("p",{children:Q(Qn,{text:"theme.json",file:e.stylesheet_theme_json})}),e.is_child_theme&&Q(b,{children:[Q("h3",{children:__("Parent Theme","query-monitor")}),Q("p",{children:e.template}),Q("p",{children:Q(Qn,{text:"style.css",file:`${e.theme_dirs[e.template]}/style.css`})}),e.template_theme_json&&Q("p",{children:Q(Qn,{text:"theme.json",file:e.template_theme_json})})]})]}),Q("section",{children:[e.block_template?Q(b,{children:[Q("h3",{children:__("Block Template","query-monitor")}),Q("p",{className:"qm-ltr",children:e.block_template.wp_id?Q("a",{href:pn(e.block_template.id,"wp_template"),children:e.block_template.id}):Q(Qn,{text:`${e.theme_folders[e.block_template.type]}/${e.block_template.slug}.html`,file:`${e.theme_dirs[e.block_template.theme]}/${e.theme_folders[e.block_template.type]}/${e.block_template.slug}.html`})})]}):Q(b,{children:[Q("h3",{children:__("Template File","query-monitor")}),e.template_path?Q("p",{className:"qm-ltr",children:Q(Qn,{text:(e.is_child_theme?e.theme_template_file:e.template_file)??"",file:e.template_path})}):Q("p",{children:Q("em",{children:__("Unknown","query-monitor")})})]}),e.template_hierarchy&&Q(b,{children:[Q("h3",{children:__("Template Hierarchy","query-monitor")}),Q("ol",{className:"qm-ltr",children:e.template_hierarchy.map(e=>Q("li",{children:e},e))})]})]}),Q("section",{children:[Q("h3",{children:__("Template Parts","query-monitor")}),n?Q("ul",{className:"qm-ltr",children:Object.keys(n).map(t=>Q("li",{children:["number"==typeof t?Q("a",{href:pn(n[t]),children:n[t]}):Q(Qn,{text:n[t],file:t}),e.count_template_parts[t]>1&&Q("span",{className:"qm-info qm-supplemental",children:[Q("br",{})," - ",sprintf( +/* translators: %s: The number of times that a template part file was included in the page */ +_nx("Included %s time","Included %s times",e.count_template_parts[t],"template parts","query-monitor"),mn(e.count_template_parts[t]))]})]},t))}):Q("p",{children:Q("em",{children:__("None","query-monitor")})}),e.unsuccessful_template_parts&&e.unsuccessful_template_parts.length>0&&Q(b,{children:[Q("h4",{children:__("Not Loaded","query-monitor")}),Q("ul",{children:e.unsuccessful_template_parts.map((e,n)=>Q(b,{children:[e.name&&Q("li",{children:Q(Qn,{text:`${e.slug}-${e.name}.php`,file:e.caller?.file,line:e.caller?.line})}),Q("li",{children:Q(Qn,{text:`${e.slug}.php`,file:e.caller?.file,line:e.caller?.line})})]},n))})]})]}),e.timber_files&&Q("section",{children:[Q("h3",{children:__("Twig Template Files","query-monitor")}),Q("ul",{className:"qm-ltr",children:e.timber_files.map(e=>Q("li",{children:e},e))})]}),e.body_class&&Q("section",{children:[Q("h3",{children:__("Body Classes","query-monitor")}),Q("ul",{className:"qm-ltr",children:e.body_class.map(e=>Q("li",{children:e},e))})]})]})},Yt=({data:e})=>{const{settings:n}=Ke($e);if(!(e.timing&&0!==e.timing.length||e.warning&&0!==e.warning.length))return Q(Un,{children:[Q("p",{children:__("No data logged.","query-monitor")}),Q("p",{children:Q("a",{href:"https://querymonitor.com/wordpress-debugging/profiling-and-logging/",children:__("Read about profiling and logging in Query Monitor.","query-monitor")})})]});const t=[];if(e.timing)e.timing.forEach(e=>{if(t.push(e),e.laps&&Object.keys(e.laps).length>0)Object.entries(e.laps).forEach(([n,r])=>{t.push({...e,isLap:!0,lapName:n,lapData:r,function:`${e.function}: ${n}`})})});if(e.warning)t.push(...e.warning);return Q(st,{title:__("Timing","query-monitor"),cols:{function:{heading:__("Tracked Function","query-monitor"),render:e=>{if("message"in e)return Q(b,{children:[Q("code",{children:e.function}),Q("br",{}),Q(Cn,{children:e.message})]});if(e.isLap)return Q("code",{children:["— ",e.function]});else return Q("code",{children:e.function})}},start_time:{className:"qm-num",heading:__("Started","query-monitor"),render:e=>{if("isLap"in e&&e.isLap)return"";else return"start_time"in e?Q(Kn,{value:e.start_time}):""}},end_time:{className:"qm-num",heading:__("Stopped","query-monitor"),render:e=>{if("isLap"in e&&e.isLap)return"";else return"end_time"in e?Q(Kn,{value:e.end_time}):""}},function_time:{className:"qm-num",heading:__("Time","query-monitor"),render:e=>{if("isLap"in e&&e.isLap&&e.lapData)return Q(Kn,{value:e.lapData.time_used});else return"function_time"in e?Q(Kn,{value:e.function_time}):""}},function_memory:{className:"qm-num",heading:__("Memory","query-monitor"),render:e=>{if("isLap"in e&&e.isLap&&e.lapData)return Q(kt,{value:e.lapData.memory_used});else return"function_memory"in e?Q(kt,{value:e.function_memory}):""}},caller:{...it(t,n),render:(e,r)=>{if("isLap"in e&&e.isLap)return"";else return it(t,n).render(e,r)}},component:{...tt(t),render:(e,n)=>{if("isLap"in e&&e.isLap)return"";else return tt(t).render(e,n)}}},data:t,rowHasError:e=>"message"in e})},Xt=({data:e})=>{const{settings:n}=Ke($e);if(!e.trans?.length)return Q(Un,{children:Q("p",{children:__("No transients set.","query-monitor")})});else return Q(st,{title:__("Transients","query-monitor"),cols:{name:{heading:__("Updated Transient","query-monitor"),render:e=>Q("code",{children:e.name})},type:e.has_type&&{heading:_x("Type","transient type","query-monitor"),render:e=>e.type},expiration:{heading:__("Expiration","query-monitor"),render:e=>Q(b,{children:e.expiration?Q(b,{children:[e.expiration,Q("span",{className:"qm-info",children:[" (~",e.exp_diff,")"]})]}):Q("em",{children:__("none","query-monitor")})})},size:{className:"qm-num",heading:_x("Size","size of transient value","query-monitor"),render:e=>Q(kt,{value:e.size})},caller:it(e.trans,n),component:tt(e.trans)},data:e.trans})},Zt=({targetPanel:e,rowIndex:n,children:t})=>{const{switchToPanel:r}=Ke($e);return Q("button",{className:"qm-filter-trigger",onClick:()=>{r(e,{},n)},children:t})},er={db:"var(--qm-timeline-db)",http:"var(--qm-timeline-http)","php-error":"var(--qm-timeline-php-error)",timing:"var(--qm-timeline-timing)",action:"var(--qm-timeline-action)",log:"var(--qm-timeline-log)"},nr={db:__("Database Queries","query-monitor"),http:__("HTTP Requests","query-monitor"),"php-error":__("PHP Errors","query-monitor"),timing:__("Timings","query-monitor"),action:__("Notable Actions","query-monitor"),log:__("Logs","query-monitor")},tr={init:__("Initialization","query-monitor"),request:__("Request","query-monitor"),query:__("Query","query-monitor"),template:__("Template","query-monitor"),shutdown:__("Shutdown","query-monitor")},rr=({data:e})=>{const{filters:n,setFilter:t}=Ke(xn),r=n.component??"",{timelineHiddenCategories:i,setTimelineHiddenCategories:o}=Ke($e),l=new Set(i),a=e.db_queries?.data,s=e.http?.data,c=e.php_errors?.data,d=e.timing?.data,u=e.logger?.data;if(!e.overview)return null;const m=e.overview.data,h=m.time_taken||0,p=m.actions,f=m.segments,_=[...((e,n,t,r,i)=>{const o=[];if(e)for(let l=0;le.category))],g=nt(_,e=>e.component);if(!_.length||!h)return null;const q=1e3*h,v=[..._.filter(e=>!l.has(e.category)&&(!r||!e.component||et(e.component,r)))].sort((e,n)=>e.time-n.time),w=[];if(f){for(const[e,n]of Object.entries(f))if(void 0!==n&&tr[e])w.push({time:n,label:tr[e]});w.sort((e,n)=>e.time-n.time)}const k=[];for(let b=0;b<=5;b++)k.push(b/5*q);const N={timeline:{heading:__("Timeline","query-monitor"),render:e=>{const n=e.time/q*99,t=1e3*(e.duration??0),r=t/q*100,i=null===e.duration||r<.3,o=er[e.category],l=n>60||n>100-n-r;return Q(b,{children:[Q("span",{className:"timeline-bar "+(i?"timeline-point":""),style:{left:`${n}%`,width:i?void 0:`${Math.max(r,.3)}%`,backgroundColor:o}}),Q("span",{className:"timeline-bar-label",style:l?{right:100-n+"%",textAlign:"right"}:{left:`${n+(i?.3:Math.max(r,.3))}%`},children:[Q("span",{className:"timeline-bar-label-text",children:void 0!==e.rowIndex?Q(Zt,{targetPanel:e.panel,rowIndex:e.rowIndex,children:e.label}):e.label}),null!==e.duration&&Q("span",{className:"timeline-bar-label-time",children:Q(Kn,{value:t/1e3})})]})]})}}},x=Q(b,{children:[Q("div",{className:"timeline-header",children:Q("div",{className:"timeline-filters",children:[g.length>0&&Q("div",{className:"qm-filter-container",children:[Q("label",{htmlFor:"qm-filter-timeline-component",className:"qm-screen-reader-text",children:__("Component","query-monitor")}),Q("select",{id:"qm-filter-timeline-component",className:"qm-filter",value:r,onChange:e=>t("component",e.currentTarget.value),children:[Q("option",{value:"",children:__("All components","query-monitor")}),g.map((e,n)=>Q(b,{children:[Q("hr",{}),e.map(e=>Q("option",{value:e.key,children:e.label},`${n}-${e.key}`))]}))]})]}),y.map(e=>Q("label",{className:"timeline-filter",children:[Q("input",{type:"checkbox",checked:!l.has(e),onChange:()=>(e=>{const n=new Set(l);if(n.has(e))n.delete(e);else n.add(e);o([...n])})(e),style:{accentColor:er[e]}}),nr[e]]},e))]})}),w.length>0&&Q("div",{className:"timeline-segments",children:w.map((e,n)=>{const t=nQ("span",{className:"timeline-tick",style:{left:e/q*100+"%"},children:Q(Kn,{value:e/1e3})},n))})]});return Q(st,{title:__("Timeline","query-monitor"),cols:N,data:v,footer:()=>null,header:x})};var ir,or;if(ir=QueryMonitorData.frames,Ln=ir,QueryMonitorData.locale_data)ke(QueryMonitorData.locale_data,"query-monitor");Pn("overview",{render:(e,n)=>Q(Dt,{data:e,settings:n})}),Pn("timeline",{render:(e,n)=>Q(rr,{data:e,settings:n})}),On("admin",{render:(e,n)=>Q(Rn,{data:e,enabled:n}),data:"admin"}),On("block_editor",{render:(e,n)=>Q(ut,{data:e,enabled:n}),data:"block_editor"}),On("caps",{render:(e,n)=>Q(mt,{data:e,enabled:n}),data:"caps"}),On("conditionals",{render:(e,n)=>Q(ht,{data:e,enabled:n}),data:"conditionals"}),On("db_callers",{render:(e,n)=>Q(ft,{data:e,enabled:n}),data:"db_queries"}),On("db_components",{render:(e,n)=>Q(_t,{data:e,enabled:n}),data:"db_queries"}),On("db_dupes",{render:(e,n)=>Q(yt,{data:e,enabled:n}),data:"db_queries"}),On("db_errors",{render:(e,n)=>Q(gt,{data:e,enabled:n}),data:"db_queries"}),On("db_expensive",{render:(e,n)=>Q(bt,{data:e,enabled:n}),data:"db_queries"}),On("db_queries",{render:(e,n)=>Q(vt,{data:e,enabled:n}),data:"db_queries"}),On("doing_it_wrong",{render:(e,n)=>Q(wt,{data:e,enabled:n}),data:"doing_it_wrong"}),On("environment",{render:(e,n)=>Q($t,{data:e,enabled:n}),data:"environment"}),On("hooks",{render:(e,n)=>Q(Et,{data:e,enabled:n}),data:"hooks"}),On("http",{render:(e,n)=>Q(At,{data:e,enabled:n}),data:"http"}),On("languages",{render:(e,n)=>Q(It,{data:e,enabled:n}),data:"languages"}),On("logger",{render:(e,n)=>Q(Ht,{data:e,enabled:n}),data:"logger"}),On("multisite",{render:(e,n)=>Q(Lt,{data:e,enabled:n}),data:"multisite"}),On("php_errors",{render:(e,n)=>Q(Rt,{data:e,enabled:n}),data:"php_errors"}),On("request",{render:(e,n)=>Q(Ut,{data:e,enabled:n}),data:"request"}),On("raw_request",{render:(e,n)=>Q(zt,{data:e,enabled:n,type:"request"}),data:"raw_request"}),On("raw_request-response",{render:(e,n)=>Q(zt,{data:e,enabled:n,type:"response"}),data:"raw_request"}),On("assets_scripts",{render:(e,n)=>Q(Jt,{data:e,enabled:n}),data:"assets_scripts"}),On("assets_styles",{render:(e,n)=>Q(Kt,{data:e,enabled:n}),data:"assets_styles"}),On("response",{render:(e,n)=>Q(Gt,{data:e,enabled:n}),data:"response"}),On("timing",{render:(e,n)=>Q(Yt,{data:e,enabled:n}),data:"timing"}),On("transients",{render:(e,n)=>Q(Xt,{data:e,enabled:n}),data:"transients"}),or={render:e=>Q(Qt,{settings:e})},En.settings={...or,type:"settings"};Object.keys({admin:"Admin",assets_scripts:"Scripts",assets_styles:"Styles",block_editor:"Block Editor",caps:"Capability Checks",doing_it_wrong:"Doing It Wrong",http:"HTTP API Calls",languages:"Languages",request:"Request",response:"Template"}).forEach(e=>{On(`${e}-concerned_hooks`,{render:(e,n)=>Q(Bt,{data:e,enabled:n}),data:e})}),document.addEventListener("DOMContentLoaded",function(){const e=document.getElementById("qm-fatal"),n=document.getElementById("query-monitor-container"),t=document.getElementById("wp-admin-bar-query-monitor");if(e)return void L(Q(Fn,{adminMenuElement:t??void 0}),e);const r=document.body.classList.contains("wp-admin"),i="rtl"===document.documentElement.dir,o=`qm-${r?"admin":"front"}-panel`,l="qm-container-position",a="qm-theme",s="qm-fabulous",c="qm-editor",d="qm-filters",u="qm-container-height",m="qm-seen",h="qm-timeline-hidden",p="qm-duration-unit",f=e=>{localStorage.setItem(o,e),localStorage.removeItem("qm-admin-container-pinned"),localStorage.removeItem("qm-front-container-pinned")},_=e=>{localStorage.setItem(l,e?"right":"")},y=e=>{localStorage.setItem(a,e)},g=e=>{if(e)localStorage.setItem(s,"1");else localStorage.removeItem(s)},b=e=>{localStorage.setItem(c,e)},q=e=>{sessionStorage.setItem(d,JSON.stringify(e))},v=e=>{localStorage.setItem(u,e.toString())},w=e=>{localStorage.setItem(m,e)},k=e=>{sessionStorage.setItem(h,JSON.stringify(e))},N=e=>{localStorage.setItem(p,e)},x=localStorage.getItem(o)??"",S="right"===localStorage.getItem(l),T=localStorage.getItem(c)??"",C=localStorage.getItem(a)??"auto",$=!!localStorage.getItem(s),E=sessionStorage.getItem(d),O=E?JSON.parse(E):{},P=localStorage.getItem(u),M=P?parseFloat(P):null,j=localStorage.getItem(m)??"",A=sessionStorage.getItem(h),I=A?JSON.parse(A):[],F=localStorage.getItem(p)??"s",H={...QueryMonitorData.settings,ajaxurl:QueryMonitorData.l10n.ajaxurl,admin_url:QueryMonitorData.l10n.admin_url,auth_nonce:QueryMonitorData.l10n.auth_nonce,file_path_map:QueryMonitorData.l10n.file_path_map,file_link_format:QueryMonitorData.l10n.file_link_format,abspath:QueryMonitorData.l10n.abspath,contentpath:QueryMonitorData.l10n.contentpath};if(!n)return;const D=n.attachShadow({mode:"open"}),R=document.createElement("div");D.appendChild(R);const U=()=>{L(Q(An,{isWpAdmin:r,isRtl:i,active:x,adminMenuElement:t??void 0,cssUrl:n.dataset.cssUrl,menu:QueryMonitorData.menu,panel_menu:QueryMonitorData.panel_menu,data:QueryMonitorData.data,settings:H,side:S,colorScheme:H.color_scheme,theme:C,fabulous:$,editor:T,filters:O,containerHeight:M,onPanelChange:f,onContainerResize:v,onSideChange:_,onThemeChange:y,onFabulousChange:g,onEditorChange:b,onFiltersChange:q,seen:j,onSeenChange:w,timelineHiddenCategories:I,onTimelineHiddenChange:k,durationUnit:F,onDurationUnitChange:N,isFolded:document.body.classList.contains("folded"),isAutoFold:document.body.classList.contains("auto-fold"),isFullscreenMode:document.body.classList.contains("is-fullscreen-mode")}),R)};U();new MutationObserver(U).observe(document.body,{attributes:!0,attributeFilter:["class"]})}); diff --git a/query-monitor/assets/build/toolbar.css b/query-monitor/assets/build/toolbar.css new file mode 100644 index 0000000000..05821fe147 --- /dev/null +++ b/query-monitor/assets/build/toolbar.css @@ -0,0 +1 @@ +#query-monitor-fallbacks{display:none!important}#wpadminbar{--qm-menu-icon: #aaa;--qm-menu-alert-bg: #f60;--qm-menu-notice-bg: #740;--qm-menu-notice-bg-hover: #5e3500;--qm-menu-expensive-bg: #b60;--qm-menu-warning-bg: #c00;--qm-menu-warning-bg-hover: #b30000;--qm-menu-fg: #eee;--qm-menu-true-fg: #8c8;--qm-menu-true-fg-hover: #47a747;.quicklinks .menupop ul li.qm-true>a{color:var( --qm-menu-true-fg )!important;&:focus,&:hover{color:var( --qm-menu-true-fg-hover )!important}}#wp-admin-bar-query-monitor-doing_it_wrong a,#wp-admin-bar-query-monitor-stricts a,#wp-admin-bar-query-monitor-deprecateds a,#wp-admin-bar-query-monitor-notices a,.qm-strict,.qm-deprecated,.qm-notice{background-color:var( --qm-menu-notice-bg );&:focus,&:hover{background-color:var( --qm-menu-notice-bg-hover )}}#wp-admin-bar-query-monitor-expensive a,.qm-expensive{background-color:var( --qm-menu-expensive-bg );&:focus,&:hover{background-color:#a25800}}.qm-alert{background-color:var( --qm-menu-alert-bg )}#wp-admin-bar-query-monitor-logger-warning a,#wp-admin-bar-query-monitor-warnings a,#wp-admin-bar-query-monitor-errors a,.qm-error,.qm-warning{background-color:var( --qm-menu-warning-bg );&:focus,&:hover{background-color:var( --qm-menu-warning-bg-hover )}}#wp-admin-bar-query-monitor .ab-icon{color:var( --qm-menu-icon )!important;display:none!important;font:18px/44px Arial!important;padding:0 10px!important;width:auto!important}@media screen and (max-width:782px){#wp-admin-bar-query-monitor .ab-icon{display:block!important}#wp-admin-bar-query-monitor .ab-label{display:none!important}}}#wp-admin-bar-query-monitor *,#wp-admin-bar-query-monitor{direction:ltr!important;text-align:left!important}body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover):not(.hover) .ab-label,#wp-admin-bar-query-monitor-default .qm-alert a,#wp-admin-bar-query-monitor-default .qm-error a,#wp-admin-bar-query-monitor-default .qm-warning a,#wp-admin-bar-query-monitor-doing_it_wrong a,#wp-admin-bar-query-monitor-deprecateds a,#wp-admin-bar-query-monitor-stricts a,#wp-admin-bar-query-monitor-notices a,#wp-admin-bar-query-monitor-expensive a,#wp-admin-bar-query-monitor-logger-warning a,#wp-admin-bar-query-monitor-warnings a,#wp-admin-bar-query-monitor-errors a{color:var( --qm-menu-fg )!important}#wp-admin-bar-query-monitor small{font-size:11px!important}#wp-admin-bar-query-monitor.hover a small,#wp-admin-bar-query-monitor.hover a .ab-label{text-shadow:none!important}#qm-fatal{margin:1em!important;border:2px solid #c00!important;box-shadow:0 0 0 2px #fff;background:#fff!important;max-width:700px!important;clear:both!important;position:absolute!important;z-index:99999!important;h2{font-size:12px!important;font-weight:400!important;padding:5px!important;background:#f3f3f3!important;margin:0!important}.qm-icon path{fill:#c00!important}ol,p{font-size:12px!important;padding:0!important;margin:1em!important}ol{padding:0 0 1em 1em!important}li{margin:0 0 .7em 1em!important}.qm-info{color:#666!important}a.qm-edit-link svg{display:none}}body#error-page{#qm-fatal{margin:0!important;border:none!important}} diff --git a/query-monitor/assets/icons/admin-generic.svg b/query-monitor/assets/icons/admin-generic.svg deleted file mode 100644 index 655fa65bf9..0000000000 --- a/query-monitor/assets/icons/admin-generic.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/arrow-down.svg b/query-monitor/assets/icons/arrow-down.svg deleted file mode 100644 index e4e089d806..0000000000 --- a/query-monitor/assets/icons/arrow-down.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/edit.svg b/query-monitor/assets/icons/edit.svg deleted file mode 100644 index da59ca6782..0000000000 --- a/query-monitor/assets/icons/edit.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/external.svg b/query-monitor/assets/icons/external.svg deleted file mode 100644 index 71bc85cffe..0000000000 --- a/query-monitor/assets/icons/external.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/filter.svg b/query-monitor/assets/icons/filter.svg deleted file mode 100644 index de47232e04..0000000000 --- a/query-monitor/assets/icons/filter.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/image-rotate-left.svg b/query-monitor/assets/icons/image-rotate-left.svg deleted file mode 100644 index d629493559..0000000000 --- a/query-monitor/assets/icons/image-rotate-left.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/image-rotate-right.svg b/query-monitor/assets/icons/image-rotate-right.svg deleted file mode 100644 index 6d53a79466..0000000000 --- a/query-monitor/assets/icons/image-rotate-right.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/info.svg b/query-monitor/assets/icons/info.svg deleted file mode 100644 index 5a956d5231..0000000000 --- a/query-monitor/assets/icons/info.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/no-alt.svg b/query-monitor/assets/icons/no-alt.svg deleted file mode 100644 index fe342361d9..0000000000 --- a/query-monitor/assets/icons/no-alt.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/warning.svg b/query-monitor/assets/icons/warning.svg deleted file mode 100644 index f71fb1cfb7..0000000000 --- a/query-monitor/assets/icons/warning.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/query-monitor/assets/icons/yes-alt.svg b/query-monitor/assets/icons/yes-alt.svg deleted file mode 100644 index 081b9f5bd0..0000000000 --- a/query-monitor/assets/icons/yes-alt.svg +++ /dev/null @@ -1,2 +0,0 @@ - diff --git a/query-monitor/assets/query-monitor.css b/query-monitor/assets/query-monitor.css deleted file mode 100644 index 55e7cc4ecb..0000000000 --- a/query-monitor/assets/query-monitor.css +++ /dev/null @@ -1,1500 +0,0 @@ -@charset "UTF-8"; -/** - * All the styles for Query Monitor. - * - * @package query-monitor - */ -#query-monitor-main { - --qm-container-fg: #333; - --qm-container-bg: #f3f3f3; - --qm-container-overflow: #ececec; - --qm-panel-border: #aaa; - --qm-panel-fg: #333; - --qm-panel-bg: #fff; - --qm-panel-separator: #ddd; - --qm-panel-menu-border: #ddd; - --qm-panel-menu-fg: #333; - --qm-panel-menu-bg: #f3f3f3; - --qm-panel-menu-fg-hover: #333; - --qm-panel-menu-bg-hover: #cde; - --qm-panel-menu-fg-current: #333; - --qm-panel-menu-bg-current: #def; - --qm-panel-menu-bg-current-focus: #f7fbff; - --qm-panel-menu-fg-selected: #fff; - --qm-panel-menu-bg-selected: #0073aa; - --qm-panel-menu-bg-selected-focus: #0084c4; - --qm-panel-menu-shadow: #006291; - --qm-cell-border: #e0e0e0; - --qm-cell-bg-hover: #eef3fa; - --qm-cell-fg-highlight: #333; - --qm-cell-bg-highlight: #ffd; - --qm-cell-bg-highlight-dark: #ffffaa; - --qm-cell-bg-stripe: #f9f9f9; - --qm-table-header-bg: #fff; - --qm-table-footer-bg: #f3f3f3; - --qm-link-fg: #0073aa; - --qm-link-fg-hover: #0096dd; - --qm-link-fg-active: #11b2ff; - --qm-button-fg: #fff; - --qm-button-bg: #007cba; - --qm-button-fg-hover: #fff; - --qm-button-bg-hover: #0072ab; - --qm-button-fg-active: #fff; - --qm-button-bg-active: #00689b; - --qm-title-button-fg: #666; - --qm-title-button-bg: transparent; - --qm-title-button-fg-hover: #000; - --qm-title-button-bg-hover: #e6e6e6; - --qm-info-fg: #666; - --qm-warn-fg: #900; - --qm-warn-bg: #fff0f0; - --qm-warn-bg-dark: #ffe8e8; - --qm-warn-border: #ffd6d6; - --qm-nonselect-fg: #a0a; - --qm-selection-fg: #333; - --qm-selection-bg: #B9D6FB; -} - -@media (prefers-color-scheme: dark) { - #query-monitor-main[data-theme=auto] { - --qm-container-fg: #eaeef2; - --qm-container-bg: #32373c; - --qm-container-overflow: #23282d; - --qm-panel-border: #50626f; - --qm-panel-fg: #eaeef2; - --qm-panel-bg: #23282d; - --qm-panel-separator: #50626f; - --qm-panel-menu-border: #32373c; - --qm-panel-menu-fg: #eaeef2; - --qm-panel-menu-bg: #23282d; - --qm-panel-menu-fg-hover: #bbc8d4; - --qm-panel-menu-bg-hover: #3e444a; - --qm-panel-menu-fg-current: #eaeef2; - --qm-panel-menu-bg-current: #32373c; - --qm-panel-menu-bg-current-focus: #3e444a; - --qm-panel-menu-fg-selected: #fff; - --qm-panel-menu-bg-selected: #0073aa; - --qm-panel-menu-bg-selected-focus: #0084c4; - --qm-panel-menu-shadow: #006291; - --qm-cell-border: #23282d; - --qm-cell-bg-hover: #373c42; - --qm-cell-fg-highlight: #eaeef2; - --qm-cell-bg-highlight: #57572a; - --qm-cell-bg-highlight-dark: #353519; - --qm-cell-bg-stripe: #32373c; - --qm-table-header-bg: #32373c; - --qm-table-footer-bg: #32373c; - --qm-link-fg: #30ceff; - --qm-link-fg-hover: #4092d2; - --qm-link-fg-active: #69aadc; - --qm-button-fg: #fff; - --qm-button-bg: #0085ba; - --qm-button-fg-hover: #fff; - --qm-button-bg-hover: #007aab; - --qm-button-fg-active: #fff; - --qm-button-bg-active: #006f9b; - --qm-title-button-fg: #bbc8d4; - --qm-title-button-bg: transparent; - --qm-title-button-fg-hover: #32373c; - --qm-title-button-bg-hover: #bbc8d4; - --qm-info-fg: #aaa; - --qm-warn-fg: #fff0f0; - --qm-warn-bg: #622; - --qm-warn-bg-dark: #6c2424; - --qm-warn-border: #ffd6d6; - --qm-nonselect-fg: #a6a; - --qm-selection-fg: #32373c; - --qm-selection-bg: #B9D6FB; - } -} -#query-monitor-main[data-theme=dark] { - --qm-container-fg: #eaeef2; - --qm-container-bg: #32373c; - --qm-container-overflow: #23282d; - --qm-panel-border: #50626f; - --qm-panel-fg: #eaeef2; - --qm-panel-bg: #23282d; - --qm-panel-separator: #50626f; - --qm-panel-menu-border: #32373c; - --qm-panel-menu-fg: #eaeef2; - --qm-panel-menu-bg: #23282d; - --qm-panel-menu-fg-hover: #bbc8d4; - --qm-panel-menu-bg-hover: #3e444a; - --qm-panel-menu-fg-current: #eaeef2; - --qm-panel-menu-bg-current: #32373c; - --qm-panel-menu-bg-current-focus: #3e444a; - --qm-panel-menu-fg-selected: #fff; - --qm-panel-menu-bg-selected: #0073aa; - --qm-panel-menu-bg-selected-focus: #0084c4; - --qm-panel-menu-shadow: #006291; - --qm-cell-border: #23282d; - --qm-cell-bg-hover: #373c42; - --qm-cell-fg-highlight: #eaeef2; - --qm-cell-bg-highlight: #57572a; - --qm-cell-bg-highlight-dark: #353519; - --qm-cell-bg-stripe: #32373c; - --qm-table-header-bg: #32373c; - --qm-table-footer-bg: #32373c; - --qm-link-fg: #30ceff; - --qm-link-fg-hover: #4092d2; - --qm-link-fg-active: #69aadc; - --qm-button-fg: #fff; - --qm-button-bg: #0085ba; - --qm-button-fg-hover: #fff; - --qm-button-bg-hover: #007aab; - --qm-button-fg-active: #fff; - --qm-button-bg-active: #006f9b; - --qm-title-button-fg: #bbc8d4; - --qm-title-button-bg: transparent; - --qm-title-button-fg-hover: #32373c; - --qm-title-button-bg-hover: #bbc8d4; - --qm-info-fg: #aaa; - --qm-warn-fg: #fff0f0; - --qm-warn-bg: #622; - --qm-warn-bg-dark: #6c2424; - --qm-warn-border: #ffd6d6; - --qm-nonselect-fg: #a6a; - --qm-selection-fg: #32373c; - --qm-selection-bg: #B9D6FB; -} - -#wpadminbar .quicklinks .menupop ul li.qm-true > a { - color: #8c8 !important; -} -#wpadminbar .quicklinks .menupop ul li.qm-true > a:focus, #wpadminbar .quicklinks .menupop ul li.qm-true > a:hover { - color: #47a747 !important; -} -#wpadminbar #wp-admin-bar-query-monitor-doing_it_wrong a, -#wpadminbar #wp-admin-bar-query-monitor-stricts a, -#wpadminbar #wp-admin-bar-query-monitor-deprecateds a, -#wpadminbar #wp-admin-bar-query-monitor-notices a, -#wpadminbar .qm-strict, -#wpadminbar .qm-deprecated, -#wpadminbar .qm-notice { - background-color: #740; -} -#wpadminbar #wp-admin-bar-query-monitor-doing_it_wrong a:focus, #wpadminbar #wp-admin-bar-query-monitor-doing_it_wrong a:hover, -#wpadminbar #wp-admin-bar-query-monitor-stricts a:focus, -#wpadminbar #wp-admin-bar-query-monitor-stricts a:hover, -#wpadminbar #wp-admin-bar-query-monitor-deprecateds a:focus, -#wpadminbar #wp-admin-bar-query-monitor-deprecateds a:hover, -#wpadminbar #wp-admin-bar-query-monitor-notices a:focus, -#wpadminbar #wp-admin-bar-query-monitor-notices a:hover, -#wpadminbar .qm-strict:focus, -#wpadminbar .qm-strict:hover, -#wpadminbar .qm-deprecated:focus, -#wpadminbar .qm-deprecated:hover, -#wpadminbar .qm-notice:focus, -#wpadminbar .qm-notice:hover { - background-color: #5e3500; -} -#wpadminbar #wp-admin-bar-query-monitor-expensive a, -#wpadminbar .qm-expensive { - background-color: #b60; -} -#wpadminbar #wp-admin-bar-query-monitor-expensive a:focus, #wpadminbar #wp-admin-bar-query-monitor-expensive a:hover, -#wpadminbar .qm-expensive:focus, -#wpadminbar .qm-expensive:hover { - background-color: #a25800; -} -#wpadminbar .qm-alert { - background-color: #f60; -} -#wpadminbar #wp-admin-bar-query-monitor-logger-warning a, -#wpadminbar #wp-admin-bar-query-monitor-warnings a, -#wpadminbar #wp-admin-bar-query-monitor-errors a, -#wpadminbar .qm-error, -#wpadminbar .qm-warning { - background-color: #c00; -} -#wpadminbar #wp-admin-bar-query-monitor-logger-warning a:focus, #wpadminbar #wp-admin-bar-query-monitor-logger-warning a:hover, -#wpadminbar #wp-admin-bar-query-monitor-warnings a:focus, -#wpadminbar #wp-admin-bar-query-monitor-warnings a:hover, -#wpadminbar #wp-admin-bar-query-monitor-errors a:focus, -#wpadminbar #wp-admin-bar-query-monitor-errors a:hover, -#wpadminbar .qm-error:focus, -#wpadminbar .qm-error:hover, -#wpadminbar .qm-warning:focus, -#wpadminbar .qm-warning:hover { - background-color: #b30000; -} -#wpadminbar #wp-admin-bar-query-monitor .ab-icon { - color: #aaa !important; - display: none !important; - font: 18px/44px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important; - padding: 0 10px !important; - width: auto !important; -} -@media screen and (max-width: 782px) { - #wpadminbar #wp-admin-bar-query-monitor .ab-icon { - display: block !important; - } - #wpadminbar #wp-admin-bar-query-monitor .ab-label { - display: none !important; - } -} - -#wp-admin-bar-query-monitor *, -#wp-admin-bar-query-monitor { - direction: ltr !important; - text-align: left !important; -} - -body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover):not(.hover) .ab-label, -#wp-admin-bar-query-monitor-default .qm-alert a, -#wp-admin-bar-query-monitor-default .qm-error a, -#wp-admin-bar-query-monitor-default .qm-warning a, -#wp-admin-bar-query-monitor-doing_it_wrong a, -#wp-admin-bar-query-monitor-deprecateds a, -#wp-admin-bar-query-monitor-stricts a, -#wp-admin-bar-query-monitor-notices a, -#wp-admin-bar-query-monitor-expensive a, -#wp-admin-bar-query-monitor-logger-warning a, -#wp-admin-bar-query-monitor-warnings a, -#wp-admin-bar-query-monitor-errors a { - color: #eee !important; -} - -#wp-admin-bar-query-monitor small { - font-size: 11px !important; -} - -#wp-admin-bar-query-monitor.hover a small, -#wp-admin-bar-query-monitor.hover a .ab-label { - text-shadow: none !important; -} - -#wp-admin-bar-query-monitor-placeholder, -#wp-admin-bar-query-monitor-default { - display: none; -} - -#qm-icon-container { - display: none !important; -} - -#query-monitor-main dl, -#query-monitor-main dt, -#query-monitor-main dd, -#query-monitor-main button, -#query-monitor-main caption, -#query-monitor-main label, -#query-monitor-main select, -#query-monitor-main table, -#query-monitor-main td, -#query-monitor-main th, -#query-monitor-main ul, -#query-monitor-main ol, -#query-monitor-main li, -#query-monitor-main code, -#query-monitor-main pre, -#query-monitor-main a, -#query-monitor-main h1, -#query-monitor-main h2, -#query-monitor-main h3, -#query-monitor-main h4, -#query-monitor-main h5, -#query-monitor-main h6, -#query-monitor-main section, -#query-monitor-main nav, -#query-monitor-main p { - background: transparent !important; - border: none !important; - border-radius: 0 !important; - box-shadow: none !important; - box-sizing: border-box !important; - clear: both !important; - color: var(--qm-container-fg) !important; - float: none !important; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important; - font-size: 12px !important; - -webkit-font-smoothing: auto !important; - font-style: normal !important; - font-weight: normal !important; - letter-spacing: -0.1px !important; - line-height: 18px !important; - margin: 0 !important; - min-height: auto !important; - outline: none !important; - padding: 0 !important; - text-align: left !important; - text-decoration: none !important; - text-indent: 0 !important; - text-shadow: none !important; - text-transform: none !important; - transition: none !important; - vertical-align: baseline !important; - word-break: normal !important; - word-wrap: normal !important; - width: auto !important; -} -#query-monitor-main dl::before, #query-monitor-main dl::after, -#query-monitor-main dt::before, -#query-monitor-main dt::after, -#query-monitor-main dd::before, -#query-monitor-main dd::after, -#query-monitor-main button::before, -#query-monitor-main button::after, -#query-monitor-main caption::before, -#query-monitor-main caption::after, -#query-monitor-main label::before, -#query-monitor-main label::after, -#query-monitor-main select::before, -#query-monitor-main select::after, -#query-monitor-main table::before, -#query-monitor-main table::after, -#query-monitor-main td::before, -#query-monitor-main td::after, -#query-monitor-main th::before, -#query-monitor-main th::after, -#query-monitor-main ul::before, -#query-monitor-main ul::after, -#query-monitor-main ol::before, -#query-monitor-main ol::after, -#query-monitor-main li::before, -#query-monitor-main li::after, -#query-monitor-main code::before, -#query-monitor-main code::after, -#query-monitor-main pre::before, -#query-monitor-main pre::after, -#query-monitor-main a::before, -#query-monitor-main a::after, -#query-monitor-main h1::before, -#query-monitor-main h1::after, -#query-monitor-main h2::before, -#query-monitor-main h2::after, -#query-monitor-main h3::before, -#query-monitor-main h3::after, -#query-monitor-main h4::before, -#query-monitor-main h4::after, -#query-monitor-main h5::before, -#query-monitor-main h5::after, -#query-monitor-main h6::before, -#query-monitor-main h6::after, -#query-monitor-main section::before, -#query-monitor-main section::after, -#query-monitor-main nav::before, -#query-monitor-main nav::after, -#query-monitor-main p::before, -#query-monitor-main p::after { - display: none !important; -} -#query-monitor-main { - background: transparent !important; - border: none !important; - border-radius: 0 !important; - box-shadow: none !important; - box-sizing: border-box !important; - clear: both !important; - color: var(--qm-container-fg) !important; - float: none !important; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important; - font-size: 12px !important; - -webkit-font-smoothing: auto !important; - font-style: normal !important; - font-weight: normal !important; - letter-spacing: -0.1px !important; - line-height: 18px !important; - margin: 0 !important; - min-height: auto !important; - outline: none !important; - padding: 0 !important; - text-align: left !important; - text-decoration: none !important; - text-indent: 0 !important; - text-shadow: none !important; - text-transform: none !important; - transition: none !important; - vertical-align: baseline !important; - word-break: normal !important; - word-wrap: normal !important; - background: var(--qm-panel-bg) !important; - border-top: 1px solid var(--qm-panel-border) !important; - bottom: 0 !important; - contain: layout paint; - direction: ltr !important; - display: none; - left: 0 !important; - margin: 0 !important; - position: fixed; - right: 0 !important; - text-align: left !important; - z-index: 99998 !important; -} -#query-monitor-main::before, #query-monitor-main::after { - display: none !important; -} -#query-monitor-main ::selection { - background-color: var(--qm-selection-bg) !important; - color: var(--qm-selection-fg) !important; -} -#query-monitor-main strong, -#query-monitor-main b { - font-weight: bold !important; -} -#query-monitor-main em, -#query-monitor-main i { - font-style: italic !important; -} -#query-monitor-main.qm-show, #query-monitor-main.qm-peek { - display: flex; - flex-direction: column !important; - height: 27px; -} -#query-monitor-main.qm-show { - height: 60%; - width: 60%; -} -#query-monitor-main:not(.qm-show-right) { - width: 100% !important; -} -#query-monitor-main.qm-show-right { - height: calc( 100vh - 32px ) !important; - top: 32px !important; - left: unset !important; - border-top: 0 !important; - border-left: 1px solid var(--qm-panel-border) !important; -} -#query-monitor-main.qm-show-right #qm-panel-menu, -#query-monitor-main.qm-show-right #qm-title h1.qm-title-heading { - display: none; -} -#query-monitor-main.qm-show-right #qm-title div.qm-title-heading { - display: block; -} -#query-monitor-main.qm-show-right #qm-title { - cursor: default !important; -} -#query-monitor-main.qm-show-right #qm-side-resizer { - background: transparent !important; - cursor: ew-resize !important; - display: block !important; - height: 100% !important; - position: absolute !important; - left: -2px !important; - top: 0 !important; - width: 4px !important; - z-index: 2 !important; -} -#query-monitor-main.qm-show-right.qm-peek { - height: 100vh !important; - top: 0 !important; -} -#query-monitor-main #qm-wrapper { - display: flex; - flex-grow: 1 !important; - /* Fix nested scrolling in Firefox. See https://bugzilla.mozilla.org/show_bug.cgi?id=1043520: */ - min-height: 0; -} -#query-monitor-main #qm-title { - align-items: center !important; - background: var(--qm-container-bg) !important; - border-bottom: 1px solid var(--qm-panel-border) !important; - cursor: ns-resize !important; - display: flex !important; - flex-shrink: 0 !important; - height: 27px !important; - padding: 0 0 0 10px !important; - -moz-user-select: none !important; - -ms-user-select: none !important; - -webkit-user-select: none !important; - user-select: none !important; -} -#query-monitor-main #qm-title .qm-title-heading { - border-right: 1px solid #bbb !important; - flex-grow: 1 !important; - margin-right: 6px !important; -} -#query-monitor-main #qm-title div.qm-title-heading { - display: none; -} -#query-monitor-main #qm-title .qm-title-button { - flex-shrink: 0 !important; -} -#query-monitor-main #qm-title .qm-icon { - display: inline-block !important; - height: 20px !important; - width: 20px !important; - fill: var(--qm-title-button-fg) !important; -} -#query-monitor-main #qm-title .qm-button-container-close { - margin-right: 10px !important; -} -#query-monitor-main #qm-title .qm-button-container-close .qm-icon { - margin: 4px 0 0 !important; - width: 18px !important; - height: 18px !important; -} -#query-monitor-main #qm-title .qm-button-container-position { - transform: scaleX(-1) rotate(90deg) !important; - padding-top: 5px !important; -} -#query-monitor-main #qm-title .qm-button-container-position .qm-icon { - width: 14px !important; - height: 14px !important; -} -#query-monitor-main #qm-title .qm-button-container-settings .qm-icon { - margin: 4px 0 0 !important; - width: 16px !important; - height: 16px !important; -} -@media screen and (max-width: 960px) { - #query-monitor-main #qm-title .qm-button-container-position { - display: none !important; - } -} -#query-monitor-main #qm-title button { - background: var(--qm-title-button-bg) !important; - cursor: pointer !important; - display: inline-block !important; - margin: 0 !important; - min-width: auto !important; - padding: 0 5px !important; -} -#query-monitor-main #qm-title button:focus *, -#query-monitor-main #qm-title button:hover *, -#query-monitor-main #qm-title button:focus, -#query-monitor-main #qm-title button:hover { - background: var(--qm-title-button-bg-hover) !important; -} -#query-monitor-main #qm-title button:focus * svg, -#query-monitor-main #qm-title button:hover * svg, -#query-monitor-main #qm-title button:focus svg, -#query-monitor-main #qm-title button:hover svg { - fill: var(--qm-title-button-fg-hover) !important; -} -#query-monitor-main #qm-title button:active *, -#query-monitor-main #qm-title button:active { - background: #ccc !important; -} -#query-monitor-main.qm-show-right #qm-title .qm-button-container-position .qm-icon { - margin: 4px 1px 0 1px !important; - transform: none !important; -} -#query-monitor-main .qm { - display: none !important; -} -#query-monitor-main #qm-panel-menu { - background: var(--qm-container-overflow) !important; - flex-shrink: 0 !important; - overflow-y: scroll !important; - overscroll-behavior: contain !important; - height: auto !important; - min-width: 160px !important; -} -#query-monitor-main #qm-panel-menu ul { - display: block !important; - list-style: none !important; - margin: 0 !important; - padding: 0 !important; - width: auto !important; - height: auto !important; -} -#query-monitor-main #qm-panel-menu li { - display: list-item !important; - margin: 0 !important; - padding: 0 !important; - height: auto !important; -} -#query-monitor-main #qm-panel-menu li ul { - display: none !important; -} -#query-monitor-main #qm-panel-menu li button { - background: var(--qm-panel-menu-bg) !important; - border-bottom: 1px solid var(--qm-panel-menu-border) !important; - border-right: 1px solid var(--qm-panel-border) !important; - color: var(--qm-panel-menu-fg) !important; - cursor: pointer !important; - display: block !important; - padding: 7px 32px 7px 10px !important; - position: relative !important; - text-decoration: none !important; - width: 100% !important; -} -#query-monitor-main #qm-panel-menu li button:focus, -#query-monitor-main #qm-panel-menu li button:hover { - background: var(--qm-panel-menu-bg-hover) !important; - color: var(--qm-panel-menu-fg-hover) !important; -} -#query-monitor-main #qm-panel-menu li button:focus { - text-decoration: underline !important; -} -#query-monitor-main #qm-panel-menu li button:active { - text-decoration: none !important; - background: var(--qm-panel-menu-bg-selected) !important; - color: var(--qm-panel-menu-fg-selected) !important; - text-shadow: 0 -1px 1px var(--qm-panel-menu-shadow), 1px 0 1px var(--qm-panel-menu-shadow), 0 1px 1px var(--qm-panel-menu-shadow), -1px 0 1px var(--qm-panel-menu-shadow) !important; -} -#query-monitor-main #qm-panel-menu li.qm-current-menu ul { - display: block !important; -} -#query-monitor-main #qm-panel-menu li.qm-current-menu button { - background: var(--qm-panel-menu-bg-current) !important; - color: var(--qm-panel-menu-fg-current) !important; -} -#query-monitor-main #qm-panel-menu li.qm-current-menu button:focus { - background: var(--qm-panel-menu-bg-current-focus) !important; - color: var(--qm-panel-menu-fg-current) !important; -} -#query-monitor-main #qm-panel-menu li.qm-current-menu button:hover { - background: var(--qm-panel-menu-bg-hover) !important; - color: var(--qm-panel-menu-fg-hover) !important; -} -#query-monitor-main #qm-panel-menu li li button::before { - content: "└" !important; - display: inline-block !important; - margin-right: 5px !important; -} -#query-monitor-main #qm-panel-menu li button[aria-selected=true] { - background: var(--qm-panel-menu-bg-selected) !important; - color: var(--qm-panel-menu-fg-selected) !important; - text-shadow: 0 -1px 1px var(--qm-panel-menu-shadow), 1px 0 1px var(--qm-panel-menu-shadow), 0 1px 1px var(--qm-panel-menu-shadow), -1px 0 1px var(--qm-panel-menu-shadow) !important; -} -#query-monitor-main #qm-panel-menu li button[aria-selected=true]:focus { - background: var(--qm-panel-menu-bg-selected-focus) !important; - color: var(--qm-panel-menu-fg-selected) !important; -} -#query-monitor-main #qm-panel-menu li button[aria-selected=true]:hover { - background: var(--qm-panel-menu-bg-selected) !important; - color: var(--qm-panel-menu-fg-selected) !important; -} -#query-monitor-main #qm-panel-menu li button[aria-selected=true]:after { - border: solid 8px transparent; - border-right-color: var(--qm-panel-bg); - content: " "; - display: inline-block !important; - height: 0; - margin-top: -8px; - pointer-events: none; - position: absolute; - right: -1px; - top: 50%; - width: 0; -} -#query-monitor-main #qm-panels { - flex-grow: 1 !important; - overflow-y: scroll !important; - overscroll-behavior: contain !important; -} -#query-monitor-main .qm.qm-panel-show { - display: block !important; -} -#query-monitor-main .qm:focus { - outline: 0 !important; - /* @TODO might not need this any more */ -} -#query-monitor-main .qm-boxed { - display: flex !important; - flex-wrap: wrap !important; -} -#query-monitor-main .qm-boxed:not(#qm-broken) + .qm-grid, #query-monitor-main .qm-boxed:not(#qm-broken) + .qm-boxed { - border-top: 1px solid var(--qm-panel-separator) !important; - padding-top: 10px !important; -} -#query-monitor-main .qm-grid { - display: flex !important; - flex-wrap: wrap !important; -} -#query-monitor-main .qm-grid section { - width: 22em !important; -} -#query-monitor-main .qm .qm-none { - margin: 2em !important; -} -#query-monitor-main .qm .qm-none p { - font-style: italic !important; - text-align: center !important; -} -#query-monitor-main .qm table { - border: none !important; - border-collapse: collapse !important; - box-shadow: 0 1px 0 0 var(--qm-panel-border) !important; - color: var(--qm-panel-fg) !important; - margin: 0 !important; - table-layout: auto !important; - width: 100% !important; -} -#query-monitor-main .qm table + table { - border-top: 1px solid var(--qm-cell-border) !important; - margin-top: 5px !important; -} -#query-monitor-main .qm thead, -#query-monitor-main .qm tbody, -#query-monitor-main .qm tfoot { - border: none !important; - background-color: inherit !important; -} -#query-monitor-main .qm tr { - border: none !important; - background-color: inherit !important; -} -#query-monitor-main .qm tbody th, -#query-monitor-main .qm tbody td, -#query-monitor-main .qm tfoot th, -#query-monitor-main .qm tfoot td { - border: 1px solid var(--qm-cell-border) !important; - padding: 6px 6px 5px 6px !important; - vertical-align: top !important; -} -#query-monitor-main .qm tbody th, -#query-monitor-main .qm tbody td { - border-bottom: none !important; - border-top: none !important; -} -#query-monitor-main .qm thead th { - background: var(--qm-table-header-bg) !important; - border: 1px solid var(--qm-cell-border) !important; - border-top: none !important; - box-shadow: 0 1px 0 var(--qm-cell-border) !important; - padding: 5px 5px 5px 6px !important; - position: -webkit-sticky !important; - position: sticky !important; - top: 0 !important; - z-index: 1 !important; -} -#query-monitor-main .qm thead th, -#query-monitor-main .qm thead td { - vertical-align: top !important; -} -#query-monitor-main .qm thead .qm-th { - display: flex !important; -} -#query-monitor-main .qm tfoot tr td, -#query-monitor-main .qm tfoot tr th { - background: var(--qm-table-footer-bg) !important; - border: none !important; - bottom: 0 !important; - box-shadow: inset 0 1px 0 var(--qm-cell-border) !important; - position: -webkit-sticky !important; - position: sticky !important; -} -#query-monitor-main .qm th:first-child, -#query-monitor-main .qm td:first-child { - border-left: none !important; -} -#query-monitor-main .qm th:last-child, -#query-monitor-main .qm td:last-child { - border-right: none !important; -} -#query-monitor-main .qm tfoot td.qm-num, -#query-monitor-main .qm tfoot th.qm-num, -#query-monitor-main .qm thead td.qm-num, -#query-monitor-main .qm thead th.qm-num { - width: 5.5em !important; -} -#query-monitor-main .qm th.qm-num, -#query-monitor-main .qm td.qm-num { - text-align: right !important; -} -#query-monitor-main .qm td.qm-num { - font-family: Menlo, Monaco, Consolas, monospace !important; - font-size: 11px !important; - line-height: 20px !important; -} -#query-monitor-main .qm td.qm-row-sql { - min-width: 25em !important; -} -#query-monitor-main .qm td.qm-row-block-attrs, -#query-monitor-main .qm td.qm-row-block-context, -#query-monitor-main .qm td.qm-row-block-html { - max-width: 40em !important; -} -#query-monitor-main .qm td.qm-row-block-attrs, -#query-monitor-main .qm td.qm-row-block-context, -#query-monitor-main .qm td.qm-row-block-html, -#query-monitor-main .qm tr.qm-warn td.qm-col-status, -#query-monitor-main .qm td.qm-url, -#query-monitor-main .qm th.qm-col-message, -#query-monitor-main .qm td.qm-row-component { - min-width: 15em !important; -} -#query-monitor-main .qm td.qm-has-toggle { - padding-right: 28px !important; - position: relative !important; -} -#query-monitor-main .qm td.qm-has-toggle:not(.qm-toggled-on) .qm-supplemental { - display: none; -} -#query-monitor-main .qm .qm-inner-toggle { - padding: 4px 6px !important; -} -#query-monitor-main .qm .qm-has-inner .qm-toggled > table { - border-bottom: none !important; - border-top: 1px solid var(--qm-cell-border) !important; -} -#query-monitor-main .qm td.qm-has-inner .qm-toggler, -#query-monitor-main .qm td.qm-has-inner { - padding: 0 !important; -} -#query-monitor-main .qm caption h2 { - font-size: 14px !important; - margin: 20px !important; -} -#query-monitor-main .qm-concerns table { - border-top: 1px solid var(--qm-cell-border) !important; - margin-bottom: 20px !important; -} -#query-monitor-main .qm-non-tabular { - padding: 10px 20px !important; -} -#query-monitor-main .qm-non-tabular h3 { - font-size: 14px !important; - margin: 0 0 15px 0 !important; -} -#query-monitor-main .qm-non-tabular h4 { - font-size: 12px !important; - margin: 20px 0 10px !important; -} -#query-monitor-main .qm-non-tabular p { - margin-bottom: 10px !important; -} -#query-monitor-main .qm-non-tabular dl { - display: flex !important; - flex-wrap: wrap !important; - max-width: 60em !important; -} -#query-monitor-main .qm-non-tabular dt { - border-top: 1px solid var(--qm-panel-separator) !important; - flex-grow: 0; - flex: 1 0 16em; - padding: 10px 10px 10px 0 !important; -} -#query-monitor-main .qm-non-tabular dd { - border-top: 1px solid var(--qm-panel-separator) !important; - flex: 1 0 calc(100% - 10px - 16em); - padding: 10px 0 !important; -} -#query-monitor-main .qm-non-tabular section, -#query-monitor-main .qm-non-tabular .qm-section { - margin: 0 0 30px 0 !important; -} -#query-monitor-main .qm-non-tabular .qm-grid section, -#query-monitor-main .qm-non-tabular .qm-boxed section, -#query-monitor-main .qm-non-tabular .qm-boxed .qm-section { - border-right: 1px solid var(--qm-panel-separator) !important; - margin: 0 20px 10px 0 !important; - padding: 10px 20px 10px 0 !important; -} -#query-monitor-main .qm-non-tabular .qm-grid section:last-child, -#query-monitor-main .qm-non-tabular .qm-boxed section:last-child, -#query-monitor-main .qm-non-tabular .qm-boxed .qm-section:last-child { - border-right: none !important; - margin-right: 0 !important; -} -#query-monitor-main .qm-non-tabular table { - border-bottom-color: var(--qm-cell-border) !important; -} -#query-monitor-main .qm-non-tabular .qm-full-width { - border-top: 1px solid var(--qm-cell-border) !important; - margin-right: -20px !important; - margin-left: -20px !important; - width: calc(100% + 40px) !important; -} -#query-monitor-main #qm-conditionals li { - display: inline-block !important; - margin: 0 20px 5px 0 !important; -} -#query-monitor-main .qm ol, -#query-monitor-main .qm ul { - list-style: none !important; -} -#query-monitor-main .qm li { - display: list-item !important; - list-style: none !important; - line-height: 20px !important; -} -#query-monitor-main .qm li::before { - content: "" !important; -} -#query-monitor-main .qm code, -#query-monitor-main .qm pre { - font-family: Menlo, Monaco, Consolas, monospace !important; - font-size: 11px !important; - line-height: 20px !important; -} -#query-monitor-main .qm pre { - background: transparent !important; - height: auto !important; - margin: 0 !important; - padding: 0 !important; - width: auto !important; -} -#query-monitor-main .qm .qm-true code, -#query-monitor-main .qm p.qm-true, -#query-monitor-main .qm span.qm-true, -#query-monitor-main .qm td.qm-true { - /* @TODO */ - color: #282 !important; -} -#query-monitor-main .qm .qm-false code, -#query-monitor-main .qm span.qm-false, -#query-monitor-main .qm td.qm-false { - /* @TODO */ - color: #767676 !important; -} -#query-monitor-main .qm .qm-num, -#query-monitor-main .qm code, -#query-monitor-main .qm .qm-nowrap { - white-space: nowrap !important; -} -#query-monitor-main .qm .qm-wrap code, -#query-monitor-main .qm .qm-wrap { - white-space: normal !important; - word-break: break-all !important; - word-wrap: break-word !important; -} -#query-monitor-main .qm .qm-pre-wrap code { - white-space: pre-wrap !important; - word-break: break-all !important; - word-wrap: break-word !important; -} -#query-monitor-main .qm .qm-sticky { - position: sticky !important; - top: 36px !important; -} -#query-monitor-main .qm .qm-current, -#query-monitor-main .qm td.qm-has-toggle p, -#query-monitor-main .qm .qm-nonselectsql code, -#query-monitor-main .qm .qm-nonselectsql { - color: var(--qm-nonselect-fg) !important; -} -#query-monitor-main .qm .qm-info { - color: var(--qm-info-fg) !important; -} -#query-monitor-main .qm .qm-supplemental { - margin-left: 0.75em !important; - margin-right: 0.75em !important; -} -#query-monitor-main .qm td.qm-toggled-on .qm-inverse-toggled, -#query-monitor-main .qm td .qm-toggled { - display: none; -} -#query-monitor-main .qm button.qm-button, -#query-monitor-main .qm .qm-toggle { - background: var(--qm-button-bg) !important; - border: 1px solid var(--qm-button-bg) !important; - border-radius: 3px !important; - color: var(--qm-button-fg) !important; - cursor: pointer !important; - font-weight: normal !important; - text-shadow: none !important; -} -#query-monitor-main .qm .qm-toggle { - bottom: auto !important; - font-family: Menlo, Monaco, Consolas, monospace !important; - height: 18px !important; - left: auto !important; - line-height: 16px !important; - padding: 0 !important; - position: absolute !important; - right: 5px !important; - text-align: center !important; - top: 5px !important; - user-select: none; - width: 18px !important; -} -#query-monitor-main .qm button { - cursor: pointer !important; -} -#query-monitor-main .qm button.qm-button { - padding: 4px 10px !important; -} -#query-monitor-main .qm .qm-has-inner .qm-toggle { - right: 5px !important; - top: 5px !important; -} -#query-monitor-main .qm button.qm-button:hover, -#query-monitor-main .qm .qm-toggle:hover { - background: var(--qm-button-bg-hover) !important; - border-color: var(--qm-button-bg-hover) !important; - color: var(--qm-button-fg-hover) !important; - text-decoration: none !important; -} -#query-monitor-main .qm button.qm-button:focus, -#query-monitor-main .qm .qm-toggle:focus { - background: var(--qm-button-bg-hover) !important; - border-color: var(--qm-button-bg-hover) !important; - color: var(--qm-button-fg-hover) !important; - box-shadow: 0 0 0 1px #fff, 0 0 0 3px var(--qm-button-bg-hover) !important; -} -#query-monitor-main .qm button.qm-button:active, -#query-monitor-main .qm .qm-toggle:active { - background: var(--qm-button-bg-active) !important; - border-color: var(--qm-button-bg-active) !important; - color: var(--qm-button-fg-active) !important; - box-shadow: none !important; -} -#query-monitor-main .qm input[type=radio].qm-radio, -#query-monitor-main .qm input[type=radio].qm-radio:checked, -#query-monitor-main .qm input[type=radio].qm-radio:focus, -#query-monitor-main .qm input[type=radio].qm-radio:checked:focus, -#query-monitor-main .qm input[type=radio].qm-radio:hover, -#query-monitor-main .qm input[type=radio].qm-radio:checked:hover { - all: revert !important; - accent-color: var(--qm-button-bg) !important; -} -#query-monitor-main .qm input[type=radio].qm-radio::before, #query-monitor-main .qm input[type=radio].qm-radio::after, -#query-monitor-main .qm input[type=radio].qm-radio:checked::before, -#query-monitor-main .qm input[type=radio].qm-radio:checked::after, -#query-monitor-main .qm input[type=radio].qm-radio:focus::before, -#query-monitor-main .qm input[type=radio].qm-radio:focus::after, -#query-monitor-main .qm input[type=radio].qm-radio:checked:focus::before, -#query-monitor-main .qm input[type=radio].qm-radio:checked:focus::after, -#query-monitor-main .qm input[type=radio].qm-radio:hover::before, -#query-monitor-main .qm input[type=radio].qm-radio:hover::after, -#query-monitor-main .qm input[type=radio].qm-radio:checked:hover::before, -#query-monitor-main .qm input[type=radio].qm-radio:checked:hover::after { - display: none !important; -} -#query-monitor-main .qm tbody tr.qm-odd td, -#query-monitor-main .qm tbody tr.qm-odd th { - background: var(--qm-cell-bg-stripe) !important; -} -#query-monitor-main .qm-non-tabular .qm-warn, -#query-monitor-main .qm thead tr .qm-warn, -#query-monitor-main .qm tbody tr .qm-warn { - background-color: var(--qm-warn-bg) !important; - color: var(--qm-warn-fg) !important; -} -#query-monitor-main .qm-non-tabular .qm-warn .qm-icon, -#query-monitor-main .qm thead tr .qm-warn .qm-icon, -#query-monitor-main .qm tbody tr .qm-warn .qm-icon { - fill: var(--qm-warn-fg) !important; -} -#query-monitor-main .qm tbody tr th.qm-warn, -#query-monitor-main .qm tbody tr td.qm-warn, -#query-monitor-main .qm tbody tr.qm-warn td, -#query-monitor-main .qm tbody tr.qm-warn th { - background-color: var(--qm-warn-bg) !important; - color: var(--qm-warn-fg) !important; -} -#query-monitor-main .qm tbody tr th.qm-warn .qm-icon, -#query-monitor-main .qm tbody tr td.qm-warn .qm-icon, -#query-monitor-main .qm tbody tr.qm-warn td .qm-icon, -#query-monitor-main .qm tbody tr.qm-warn th .qm-icon { - fill: var(--qm-warn-fg) !important; -} -#query-monitor-main .qm tbody tr.qm-odd th.qm-warn, -#query-monitor-main .qm tbody tr.qm-odd td.qm-warn, -#query-monitor-main .qm tbody tr.qm-odd.qm-warn td, -#query-monitor-main .qm tbody tr.qm-odd.qm-warn th { - background-color: var(--qm-warn-bg-dark) !important; -} -#query-monitor-main .qm-non-tabular .qm-warn code, -#query-monitor-main .qm tbody .qm-warn li, -#query-monitor-main .qm tbody .qm-warn .qm-info, -#query-monitor-main .qm tbody .qm-warn code { - background-color: transparent !important; - color: var(--qm-warn-fg) !important; -} -#query-monitor-main .qm-non-tabular .qm-warn code .qm-icon, -#query-monitor-main .qm tbody .qm-warn li .qm-icon, -#query-monitor-main .qm tbody .qm-warn .qm-info .qm-icon, -#query-monitor-main .qm tbody .qm-warn code .qm-icon { - fill: var(--qm-warn-fg) !important; -} -#query-monitor-main .qm .qm-notice { - background: var(--qm-panel-menu-bg-current) !important; - border: 1px solid var(--qm-panel-menu-bg-hover) !important; - margin: 0 0 10px 0 !important; - max-width: 40em !important; - padding: 10px 20px 0 !important; -} -#query-monitor-main .qm .qm-icon { - margin-right: 0.3em !important; - display: inline-block !important; - height: 16px !important; - width: 16px !important; - height: 16px !important; - width: 16px !important; - fill: var(--qm-container-fg) !important; - vertical-align: top !important; -} -#query-monitor-main .qm .qm-icon-yes-alt { - fill: #0a0 !important; -} -#query-monitor-main .qm tbody tr td.qm-highlight, -#query-monitor-main .qm tbody tr.qm-highlight th, -#query-monitor-main .qm tbody tr.qm-highlight td { - background-color: var(--qm-cell-bg-highlight) !important; - color: var(--qm-cell-fg-highlight) !important; -} -#query-monitor-main .qm tbody tr.qm-odd td.qm-highlight, -#query-monitor-main .qm tbody tr.qm-odd.qm-highlight th, -#query-monitor-main .qm tbody tr.qm-odd.qm-highlight td { - background-color: var(--qm-cell-bg-highlight-dark) !important; - color: var(--qm-cell-fg-highlight) !important; -} -#query-monitor-main .qm tbody tr.qm-odd.qm-hovered th, -#query-monitor-main .qm tbody tr.qm-odd.qm-hovered td, -#query-monitor-main .qm tbody tr.qm-odd:hover th, -#query-monitor-main .qm tbody tr.qm-odd:hover td, -#query-monitor-main .qm tbody tr.qm-hovered th, -#query-monitor-main .qm tbody tr.qm-hovered td, -#query-monitor-main .qm tbody tr:hover th, -#query-monitor-main .qm tbody tr:hover td { - background: var(--qm-cell-bg-hover) !important; -} -#query-monitor-main .qm thead th.qm-filtered select.qm-filter { - background-color: var(--qm-cell-bg-highlight) !important; - color: var(--qm-cell-fg-highlight) !important; -} -#query-monitor-main .qm button.qm-filter-trigger, -#query-monitor-main .qm button.qm-filter-trigger code, -#query-monitor-main .qm tbody .qm-warn a code, -#query-monitor-main .qm a code, -#query-monitor-main .qm a { - color: var(--qm-link-fg) !important; - cursor: pointer !important; - text-decoration: none !important; -} -#query-monitor-main .qm button.qm-filter-trigger:after, #query-monitor-main .qm button.qm-filter-trigger:focus, #query-monitor-main .qm button.qm-filter-trigger:hover, -#query-monitor-main .qm button.qm-filter-trigger code:after, -#query-monitor-main .qm button.qm-filter-trigger code:focus, -#query-monitor-main .qm button.qm-filter-trigger code:hover, -#query-monitor-main .qm tbody .qm-warn a code:after, -#query-monitor-main .qm tbody .qm-warn a code:focus, -#query-monitor-main .qm tbody .qm-warn a code:hover, -#query-monitor-main .qm a code:after, -#query-monitor-main .qm a code:focus, -#query-monitor-main .qm a code:hover, -#query-monitor-main .qm a:after, -#query-monitor-main .qm a:focus, -#query-monitor-main .qm a:hover { - color: var(--qm-link-fg-hover) !important; - text-decoration: underline !important; -} -#query-monitor-main .qm button.qm-filter-trigger:active, -#query-monitor-main .qm button.qm-filter-trigger code:active, -#query-monitor-main .qm tbody .qm-warn a code:active, -#query-monitor-main .qm a code:active, -#query-monitor-main .qm a:active { - color: var(--qm-link-fg-active) !important; - text-decoration: underline !important; -} -#query-monitor-main .qm a.qm-external-link svg, -#query-monitor-main .qm a.qm-link svg, -#query-monitor-main .qm a.qm-edit-link svg, -#query-monitor-main .qm button.qm-filter-trigger svg { - fill: var(--qm-link-fg-hover) !important; - width: 16px; - height: 16px; - left: 2px !important; - position: relative !important; - text-decoration: none !important; - top: 2px !important; - visibility: hidden !important; -} -#query-monitor-main .qm a.qm-external-link svg, -#query-monitor-main .qm a.qm-link:hover svg, -#query-monitor-main .qm a.qm-link:focus svg, -#query-monitor-main .qm a.qm-edit-link:hover svg, -#query-monitor-main .qm a.qm-edit-link:focus svg, -#query-monitor-main .qm button.qm-filter-trigger:hover svg, -#query-monitor-main .qm button.qm-filter-trigger:focus svg { - visibility: visible !important; -} -#query-monitor-main #qm-ajax-errors { - display: none; -} -#query-monitor-main button, -#query-monitor-main select { - background: none !important; - cursor: pointer !important; - height: auto !important; - margin: 0 !important; - width: auto !important; -} -#query-monitor-main .qm label { - color: var(--qm-panel-fg) !important; - cursor: pointer !important; - font-size: 12px !important; - font-style: normal !important; - font-weight: normal !important; - margin: 0 !important; -} -#query-monitor-main .qm thead label { - flex-grow: 1 !important; -} -#query-monitor-main .qm .qm-filter-container { - display: flex !important; -} -#query-monitor-main .qm .qm-filter-container label { - cursor: default !important; - white-space: nowrap !important; -} -#query-monitor-main .qm .qm-filter-container div { - /* Some themes use Select2 etc on all selects. This hides that. */ - display: none !important; -} -#query-monitor-main .qm-title-heading select, -#query-monitor-main .qm select.qm-select, -#query-monitor-main .qm select.qm-filter { - -webkit-appearance: menulist !important; - -moz-appearance: menulist !important; - appearance: menulist !important; - background: var(--qm-table-header-bg) !important; - border: none !important; - color: var(--qm-panel-fg) !important; - cursor: pointer !important; - display: block !important; - float: none !important; - height: auto !important; - letter-spacing: -0.1px !important; - margin: 0 0 0 5px !important; - max-width: 12em !important; - outline: 1px solid var(--qm-panel-border) !important; - padding: 0 !important; - width: auto !important; -} -#query-monitor-main .qm-title-heading select { - max-width: unset !important; -} -#query-monitor-main .qm select.qm-select:hover, -#query-monitor-main .qm select.qm-filter:hover { - background: var(--qm-cell-bg-hover) !important; -} -#query-monitor-main .qm select.qm-select { - margin: 0 !important; - padding: 4px 10px 4px 4px !important; - border-radius: 2px !important; - max-width: none !important; -} -#query-monitor-main .qm-hide, -#query-monitor-main .qm-hide-scripts-dependencies, -#query-monitor-main .qm-hide-styles-dependencies, -#query-monitor-main .qm-hide-scripts-dependents, -#query-monitor-main .qm-hide-styles-dependents, -#query-monitor-main .qm-hide-scripts-host, -#query-monitor-main .qm-hide-styles-host, -#query-monitor-main .qm-hide-user, -#query-monitor-main .qm-hide-result, -#query-monitor-main .qm-hide-name, -#query-monitor-main .qm-hide-type, -#query-monitor-main .qm-hide-caller, -#query-monitor-main .qm-hide-component, -#query-monitor-main .qm-hide-host { - display: none !important; -} -#query-monitor-main .qm thead th.qm-sortable-column { - cursor: pointer !important; -} -#query-monitor-main .qm thead th.qm-sortable-column:hover { - background: var(--qm-container-bg) !important; -} -#query-monitor-main .qm .qm-sort-heading { - flex-grow: 1 !important; -} -#query-monitor-main .qm .qm-sort-controls { - flex-shrink: 0 !important; - text-align: right !important; -} -#query-monitor-main .qm .qm-sort-controls .qm-icon { - margin-right: 0 !important; - fill: #ccc !important; -} -#query-monitor-main .qm .qm-sorted-desc .qm-sort-controls svg, -#query-monitor-main .qm .qm-sorted-asc .qm-sort-controls svg { - fill: var(--qm-container-fg) !important; -} -#query-monitor-main .qm thead th.qm-sortable-column:hover .qm-sort-controls svg { - fill: var(--qm-panel-menu-bg-selected) !important; -} -#query-monitor-main .qm .qm-sortable-column.qm-sorted-asc .qm-sort-controls { - transform: scaleY(-1) !important; -} -#query-monitor-main .qm button:focus, -#query-monitor-main .qm a:focus, -#query-monitor-main .qm select:focus { - box-shadow: 0 0 0 1px #fff, 0 0 0 3px var(--qm-button-bg-hover) !important; -} -#query-monitor-main .qm button:active, -#query-monitor-main .qm a:active, -#query-monitor-main .qm select:active { - box-shadow: none !important; -} -#query-monitor-main .qm-screen-reader-text, -#query-monitor-main .screen-reader-text { - border: 0 !important; - clip: rect(0 0 0 0) !important; - height: 1px !important; - margin: -1px !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; -} -@media screen and (max-width: 782px) { - #query-monitor-main #qm-panel-menu, -#query-monitor-main #qm-title h1.qm-title-heading { - display: none; - } - #query-monitor-main #qm-title div.qm-title-heading { - display: block; - } -} -#query-monitor-main [data-qm-state=off] [data-qm-state-visibility=on], -#query-monitor-main [data-qm-state=on] [data-qm-state-visibility=off] { - display: none; -} -#query-monitor-main.qm-no-js .qm-sort-controls, #query-monitor-main.qm-no-js .qm-toggle, #query-monitor-main.qm-no-js select.qm-filter { - display: none !important; -} -#query-monitor-main .qm.qm-debug-bar textarea, -#query-monitor-main .qm.qm-debug-bar pre { - border: 1px solid var(--qm-panel-separator) !important; - margin: 4px 0 !important; - padding: 10px !important; -} -#query-monitor-main .qm.qm-debug-bar textarea { - resize: vertical !important; -} -#query-monitor-main .qm.qm-debug-bar .left { - float: left !important; -} -#query-monitor-main .qm.qm-debug-bar .right { - float: right !important; -} -#query-monitor-main .qm.qm-debug-bar h2 { - font-size: 14px !important; - margin: 4px 6px 15px !important; -} -#query-monitor-main .qm.qm-debug-bar h3 { - border-left: 1px solid var(--qm-panel-separator) !important; - clear: none !important; - float: left !important; - font-size: 14px !important; - margin: 3px 0 15px !important; - min-width: 150px !important; - padding: 5px 15px 15px !important; - text-align: center !important; -} -#query-monitor-main .qm.qm-debug-bar h3:first-child { - border-left: none !important; -} -#query-monitor-main .qm.qm-debug-bar h3 small { - font-size: 14px !important; -} -#query-monitor-main .qm.qm-debug-bar h3 span { - display: block !important; - margin-bottom: 8px !important; - white-space: nowrap !important; -} -#query-monitor-main .qm.qm-debug-bar h4 { - font-size: 13px !important; - margin: 15px 6px 5px !important; -} -#query-monitor-main .qm.qm-debug-bar .qm-debug-bar-output { - position: relative !important; -} -#query-monitor-main .qm.qm-debug-bar .qm-debug-bar-output table { - margin-bottom: 4px !important; - margin-top: 4px !important; -} -#query-monitor-main #debug-menu-target-Debug_Bar_Console { - min-height: 400px !important; -} -#query-monitor-main #debug-menu-target-Debug_Bar_Cache_Lookup, -#query-monitor-main #debug-menu-target-Debug_Bar_Rewrite_Rules, -#query-monitor-main #debug-menu-target-Debug_Bar_Widgets { - margin: 4px 6px !important; -} -#query-monitor-main #debug-menu-target-Debug_Bar_Rewrite_Rules_Panel .filterui, -#query-monitor-main #debug-menu-target-Debug_Bar_Rewrite_Rules_Panel .dbrr { - margin: 0 !important; -} -#query-monitor-main #debug-menu-target-Debug_Bar_Rewrite_Testing_Panel { - padding: 10px 0 !important; -} -#query-monitor-main #debug-menu-target-EP_Debug_Bar_ElasticPress li { - border-top: 1px solid var(--qm-panel-separator) !important; - line-height: 20px !important; - padding: 20px 0 !important; -} -#query-monitor-main #debug-menu-target-EP_Debug_Bar_ElasticPress li .dashicons:hover { - background-color: var(--qm-panel-menu-bg-hover) !important; -} -#query-monitor-main #qm-broken { - display: none !important; -} -#query-monitor-main.qm-broken #qm-title { - cursor: default !important; -} -#query-monitor-main.qm-broken #qm-title .qm-title-heading { - border-right: none !important; -} -#query-monitor-main.qm-broken .qm td .qm-toggled, #query-monitor-main.qm-broken #qm-broken, #query-monitor-main.qm-broken .qm { - display: block !important; -} -#query-monitor-main.qm-broken #qm-panel-menu, #query-monitor-main.qm-broken #qm-settings, #query-monitor-main.qm-broken #qm-title .qm-title-button { - display: none !important; -} -#query-monitor-main.qm-broken .qm { - margin-bottom: 50px !important; -} -#query-monitor-main.qm-broken .qm button.qm-filter-trigger { - color: var(--qm-container-fg) !important; - cursor: text !important; -} -#query-monitor-main.qm-broken .qm button.qm-filter-trigger:after { - display: none !important; -} -#query-monitor-main.qm-broken .qm button.qm-filter-trigger:focus, #query-monitor-main.qm-broken .qm button.qm-filter-trigger:hover, #query-monitor-main.qm-broken .qm button.qm-filter-trigger:active { - text-decoration: none !important; -} -#query-monitor-main.qm-broken #qm-broken h2 { - padding: 20px !important; -} - -#qm-fatal { - margin: 1em !important; - /* @TODO */ - border: 2px solid #c00 !important; - /* @TODO */ - box-shadow: 0 0 0 2px #fff; - /* @TODO */ - background: #fff !important; - max-width: 700px !important; - clear: both !important; - position: absolute !important; - z-index: 99999 !important; -} -#qm-fatal h2 { - font-size: 12px !important; - font-weight: normal !important; - padding: 5px !important; - /* @TODO */ - background: #f3f3f3 !important; - margin: 0 !important; -} -#qm-fatal .qm-icon path { - fill: #c00 !important; -} -#qm-fatal ol, -#qm-fatal p { - font-size: 12px !important; - padding: 0 !important; - margin: 1em !important; -} -#qm-fatal ol { - padding: 0 0 1em 1em !important; -} -#qm-fatal li { - margin: 0 0 0.7em 1em !important; -} -#qm-fatal .qm-info { - /* @TODO */ - color: #666 !important; -} -#qm-fatal a.qm-edit-link svg { - display: none; -} - -body#error-page #qm-fatal { - margin: 0 !important; - border: none !important; -} - -#qm-logger tr pre { - user-select: all; -} diff --git a/query-monitor/assets/query-monitor.js b/query-monitor/assets/query-monitor.js deleted file mode 100644 index 7485fba813..0000000000 --- a/query-monitor/assets/query-monitor.js +++ /dev/null @@ -1,792 +0,0 @@ -/** - * Front-end functionality for Query Monitor. - * - * @package query-monitor - */ - -var QM_i18n = { - - // https://core.trac.wordpress.org/ticket/20491 - - number_format : function( number, decimals ) { - - if ( isNaN( number ) ) { - return; - } - - if ( ! decimals ) { - decimals = 0; - } - - number = parseFloat( number ); - - var num_float = number.toFixed( decimals ), - num_int = Math.floor( number ), - num_str = num_int.toString(), - fraction = num_float.substring( num_float.indexOf( '.' ) + 1, num_float.length ), - o = ''; - - if ( num_str.length > 3 ) { - for ( i = num_str.length; i > 3; i -= 3 ) { - o = qm_number_format.thousands_sep + num_str.slice( i - 3, i ) + o; - } - o = num_str.slice( 0, i ) + o; - } else { - o = num_str; - } - - if ( decimals ) { - o = o + qm_number_format.decimal_point + fraction; - } - - return o; - - } - -}; - -if ( window.jQuery ) { - - jQuery( function($) { - var toolbarHeight = $('#wpadminbar').length ? $('#wpadminbar').outerHeight() : 0; - var minheight = 100; - var maxheight = ( $(window).height() - toolbarHeight ); - var minwidth = 300; - var maxwidth = $(window).width(); - var container = $('#query-monitor-main'); - var body = $('body'); - var body_margin = body.css('margin-bottom'); - var container_height_key = 'qm-container-height'; - var container_pinned_key = 'qm-' + ( $('body').hasClass('wp-admin') ? 'admin' : 'front' ) + '-container-pinned'; - var container_position_key = 'qm-container-position'; - var container_width_key = 'qm-container-width'; - - if ( container.hasClass('qm-peek') ) { - minheight = 27; - } - - container.removeClass('qm-no-js').addClass('qm-js'); - - var theme = localStorage.getItem( 'qm-theme' ); - if ( theme ) { - container.attr('data-theme', theme); - $('.qm-theme-toggle[value="' + theme + '"]').prop('checked', true); - } - - if ( $('#qm-fatal').length ) { - console.error(qm_l10n.fatal_error + ': ' + $('#qm-fatal').attr('data-qm-message') ); - - if ( $('#wp-admin-bar-query-monitor').length ) { - $('#wp-admin-bar-query-monitor') - .addClass('qm-error') - .find('a').eq(0) - .text(qm_l10n.fatal_error) - .attr('href','#qm-fatal'); - - var fatal_container = document.createDocumentFragment(); - - var fatal_message_menu = $('#wp-admin-bar-query-monitor-placeholder') - .clone() - .attr('id','wp-admin-bar-qm-fatal-message'); - - fatal_message_menu - .find('a').eq(0) - .text($('#qm-fatal').attr('data-qm-message')) - .attr('href','#qm-fatal'); - - fatal_container.appendChild( fatal_message_menu.get(0) ); - - var fatal_file_menu = $('#wp-admin-bar-query-monitor-placeholder') - .clone() - .attr('id','wp-admin-bar-qm-fatal-file'); - - fatal_file_menu - .find('a').eq(0) - .text($('#qm-fatal').attr('data-qm-file') + ':' + $('#qm-fatal').attr('data-qm-line')) - .attr('href','#qm-fatal'); - - fatal_container.appendChild( fatal_file_menu.get(0) ); - - $('#wp-admin-bar-query-monitor ul').append(fatal_container); - } - } - - var link_click = function(e){ - var href = $( this ).attr('href') || $( this ).data('qm-href'); - - if ( '#qm-fatal' === href ) { - return; - } - - show_panel( href ); - $(href).trigger('focus'); - $('#wp-admin-bar-query-monitor').removeClass('hover'); - e.preventDefault(); - }; - - var stripes = function( table ) { - table.each(function() { - $(this).find('tbody tr').removeClass('qm-odd').not('[class*="qm-hide-"]').filter(':even').addClass('qm-odd'); - } ); - }; - - var show_panel = function( panel ) { - container.addClass('qm-show').removeClass('qm-hide'); - $( '.qm' ).removeClass('qm-panel-show'); - $('#qm-panels').scrollTop(0); - $( panel ).addClass('qm-panel-show'); - - if ( container.height() < minheight ) { - container.height( minheight ); - } - - if ( container.hasClass('qm-show-right') ) { - body.css( 'margin-bottom', '' ); - } else { - body.css( 'margin-bottom', 'calc( ' + body_margin + ' + ' + container.height() + 'px )' ); - } - - $('#qm-panel-menu').find('button').removeAttr('aria-selected'); - $('#qm-panel-menu').find('li').removeClass('qm-current-menu'); - var selected_menu = $('#qm-panel-menu').find('[data-qm-href="' + panel + '"]').attr('aria-selected',true); - - if ( selected_menu.length ) { - var selected_menu_top = selected_menu.position().top - 27; - var menu_height = $('#qm-panel-menu').height(); - var menu_scroll = $('#qm-panel-menu').scrollTop(); - selected_menu.closest('#qm-panel-menu > ul > li').addClass('qm-current-menu'); - - var selected_menu_off_bottom = ( selected_menu_top > ( menu_height ) ); - var selected_menu_off_top = ( selected_menu_top < 0 ); - - if ( selected_menu_off_bottom || selected_menu_off_top ) { - $('#qm-panel-menu').scrollTop( selected_menu_top + menu_scroll - ( menu_height / 2 ) + ( selected_menu.outerHeight() / 2 ) ); - } - } - - $('.qm-title-heading select').val(panel); - - localStorage.setItem( container_pinned_key, panel ); - - var filters = $( panel ).find('.qm-filter'); - - if ( filters.length ) { - filters.trigger('change'); - } else { - stripes( $(panel).find('table') ); - } - - }; - - if ( $('#wp-admin-bar-query-monitor').length ) { - - var admin_bar_menu_container = document.createDocumentFragment(); - - if ( window.QueryMonitorData && window.QueryMonitorData.menu ) { - $('#wp-admin-bar-query-monitor') - .addClass(QueryMonitorData.menu.top.classname) - .attr('dir','ltr') - .find('a').eq(0) - .html(QueryMonitorData.menu.top.title); - - $.each( QueryMonitorData.menu.sub, function( i, el ) { - - var new_menu = $('#wp-admin-bar-query-monitor-placeholder') - .clone() - .attr('id','wp-admin-bar-' + el.id); - new_menu - .find('a').eq(0) - .html(el.title) - .attr('href',el.href); - - if ( ( typeof el.meta != 'undefined' ) && ( typeof el.meta.classname != 'undefined' ) ) { - new_menu.addClass(el.meta.classname); - } - - admin_bar_menu_container.appendChild( new_menu.get(0) ); - - } ); - - $('#wp-admin-bar-query-monitor ul').append(admin_bar_menu_container); - } - - $('#wp-admin-bar-query-monitor').find('a').on('click',link_click); - - $('#wp-admin-bar-query-monitor,#wp-admin-bar-query-monitor-default').show(); - - } else { - container.addClass('qm-peek').removeClass('qm-hide'); - $('#qm-overview').addClass('qm-panel-show'); - } - - $('#qm-panel-menu').find('button').on('click',link_click); - - container.find('.qm-filter').on('change',function(e){ - - var filter = $(this).attr('data-filter'), - table = $(this).closest('table'), - tr = table.find('tbody tr[data-qm-' + filter + ']'), - // Escape the following chars with a backslash before passing into jQ selectors: [ ] ( ) ' " \ - val = $(this).val().replace(/[[\]()'"\\]/g, "\\$&"), - total = tr.removeClass('qm-hide-' + filter).length, - hilite = $(this).attr('data-highlight'), - time = 0; - - key = $(this).attr('id'); - if ( val ) { - sessionStorage.setItem( key, $(this).val() ); - } else { - sessionStorage.removeItem( key ); - } - - if ( hilite ) { - table.find('tr').removeClass('qm-highlight'); - } - - if ( $(this).val() !== '' ) { - if ( hilite ) { - tr.filter('[data-qm-' + hilite + '*="' + val + '"]').addClass('qm-highlight'); - } - tr.not('[data-qm-' + filter + '*="' + val + '"]').addClass('qm-hide-' + filter); - $(this).closest('th').addClass('qm-filtered'); - } else { - $(this).closest('th').removeClass('qm-filtered'); - } - - var matches = tr.filter(':visible'); - var filtered_count = 0; - var total_count = 0; - matches.each(function(i){ - var row_time = $(this).attr('data-qm-time'); - if ( row_time ) { - time += parseFloat( row_time ); - } - - var row_count = $(this).attr('data-qm-count'); - if ( row_count ) { - filtered_count += parseFloat( row_count ); - } else { - filtered_count++; - } - }); - if ( time ) { - time = QM_i18n.number_format( time, 4 ); - } - - tr.each(function(i){ - var row_count = $(this).attr('data-qm-count'); - if ( row_count ) { - total_count += parseFloat( row_count ); - } else { - total_count++; - } - }); - - if ( table.find('.qm-filtered').length ) { - var count = filtered_count + ' / ' + total_count; - } else { - var count = filtered_count; - } - - table.find('.qm-items-number').text(count); - table.find('.qm-items-time').text(time); - - stripes(table); - }); - - container.find('.qm-filter').each(function () { - var key = $(this).attr('id'); - var value = sessionStorage.getItem( key ); - if ( value !== null ) { - // Escape the following chars with a backslash before passing into jQ selectors: [ ] ( ) ' " \ - var val = value.replace(/[[\]()'"\\]/g, "\\$&"); - if ( ! $(this).find('option[value="' + val + '"]').length ) { - $('