lighthouse 8.6.0-dev.20211021 → 8.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/report/flow.js +13 -30
- package/dist/report/standalone.js +17 -17
- package/flow-report/assets/styles.css +30 -51
- package/flow-report/src/common.tsx +1 -1
- package/flow-report/src/header.tsx +2 -2
- package/flow-report/src/help-dialog.tsx +3 -3
- package/flow-report/src/i18n/i18n.tsx +13 -50
- package/flow-report/src/i18n/ui-strings.js +0 -48
- package/flow-report/src/icons.tsx +0 -7
- package/flow-report/src/sidebar/sidebar.tsx +6 -8
- package/flow-report/src/summary/category.tsx +18 -17
- package/flow-report/src/summary/summary.tsx +10 -10
- package/flow-report/src/topbar.tsx +5 -9
- package/flow-report/src/util.ts +5 -0
- package/flow-report/src/wrappers/category-score.tsx +3 -0
- package/flow-report/test/common-test.tsx +1 -1
- package/flow-report/test/summary/category-test.tsx +5 -9
- package/flow-report/test/summary/summary-test.tsx +1 -1
- package/flow-report/test/topbar-test.tsx +0 -1
- package/flow-report/tsconfig.json +0 -1
- package/jest.config.js +0 -1
- package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +1 -1
- package/lighthouse-core/audits/accessibility/axe-audit.js +1 -7
- package/lighthouse-core/audits/redirects-http.js +59 -0
- package/lighthouse-core/config/config-helpers.js +0 -1
- package/lighthouse-core/config/default-config.js +11 -0
- package/lighthouse-core/fraggle-rock/config/config.js +1 -1
- package/lighthouse-core/gather/gatherers/accessibility.js +0 -27
- package/lighthouse-core/gather/gatherers/http-redirect.js +46 -0
- package/lighthouse-core/lib/asset-saver.js +3 -3
- package/lighthouse-core/lib/i18n/i18n.js +8 -19
- package/lighthouse-core/lib/i18n/locales/en-US.ctc.json +6699 -0
- package/lighthouse-core/lib/i18n/locales/en-XL.ctc.json +6672 -0
- package/lighthouse-core/util-commonjs.js +37 -25
- package/package.json +4 -8
- package/readme.md +3 -3
- package/report/assets/styles.css +28 -157
- package/report/assets/templates.html +47 -2
- package/report/clients/psi.js +158 -0
- package/report/renderer/category-renderer.js +1 -30
- package/report/renderer/components.js +34 -16
- package/report/renderer/performance-category-renderer.js +10 -5
- package/report/renderer/report-renderer.js +33 -56
- package/report/renderer/util.js +37 -25
- package/report/test/clients/psi-test.js +143 -0
- package/report/test/renderer/category-renderer-test.js +1 -5
- package/report/test/renderer/i18n-test.js +7 -0
- package/report/test/renderer/performance-category-renderer-test.js +1 -1
- package/report/test/renderer/pwa-category-renderer-test.js +2 -2
- package/report/test/renderer/report-renderer-axe-test.js +10 -5
- package/report/test/renderer/report-renderer-test.js +11 -9
- package/report/test-assets/faux-psi-template.html +4 -1
- package/report/test-assets/faux-psi.js +16 -39
- package/shared/localization/format.js +17 -50
- package/shared/localization/locales/ar-XB.json +24 -0
- package/shared/localization/locales/ar.json +24 -0
- package/shared/localization/locales/bg.json +24 -0
- package/shared/localization/locales/ca.json +24 -0
- package/shared/localization/locales/cs.json +24 -0
- package/shared/localization/locales/da.json +24 -0
- package/shared/localization/locales/de.json +24 -0
- package/shared/localization/locales/el.json +24 -0
- package/shared/localization/locales/en-GB.json +24 -0
- package/shared/localization/locales/en-US.ctc.json +6877 -0
- package/shared/localization/locales/en-US.json +23 -26
- package/shared/localization/locales/en-XA.json +24 -0
- package/shared/localization/locales/en-XL.ctc.json +6852 -0
- package/shared/localization/locales/en-XL.json +23 -26
- package/shared/localization/locales/es-419.json +24 -0
- package/shared/localization/locales/es.json +24 -0
- package/shared/localization/locales/fi.json +24 -0
- package/shared/localization/locales/fil.json +24 -0
- package/shared/localization/locales/fr.json +24 -0
- package/shared/localization/locales/he.json +24 -0
- package/shared/localization/locales/hi.json +24 -0
- package/shared/localization/locales/hr.json +24 -0
- package/shared/localization/locales/hu.json +24 -0
- package/shared/localization/locales/id.json +24 -0
- package/shared/localization/locales/it.json +24 -0
- package/shared/localization/locales/ja.json +24 -0
- package/shared/localization/locales/ko.json +24 -0
- package/shared/localization/locales/lt.json +24 -0
- package/shared/localization/locales/lv.json +24 -0
- package/shared/localization/locales/nl.json +24 -0
- package/shared/localization/locales/no.json +24 -0
- package/shared/localization/locales/pl.json +24 -0
- package/shared/localization/locales/pt-PT.json +24 -0
- package/shared/localization/locales/pt.json +24 -0
- package/shared/localization/locales/ro.json +24 -0
- package/shared/localization/locales/ru.json +24 -0
- package/shared/localization/locales/sk.json +24 -0
- package/shared/localization/locales/sl.json +24 -0
- package/shared/localization/locales/sr-Latn.json +24 -0
- package/shared/localization/locales/sr.json +24 -0
- package/shared/localization/locales/sv.json +24 -0
- package/shared/localization/locales/ta.json +24 -0
- package/shared/localization/locales/te.json +24 -0
- package/shared/localization/locales/th.json +24 -0
- package/shared/localization/locales/tr.json +24 -0
- package/shared/localization/locales/uk.json +24 -0
- package/shared/localization/locales/vi.json +24 -0
- package/shared/localization/locales/zh-HK.json +24 -0
- package/shared/localization/locales/zh-TW.json +24 -0
- package/shared/localization/locales/zh.json +24 -0
- package/shared/localization/locales.js +0 -6
- package/shared/test/localization/format-test.js +9 -45
- package/shared/test/localization/swap-locale-test.js +12 -0
- package/third-party/download-content-shell/download-content-shell.js +2 -2
- package/third-party/download-content-shell/utils.js +24 -0
- package/tsconfig.json +1 -0
- package/types/artifacts.d.ts +3 -1
- package/types/enquirer.d.ts +1 -3
- package/types/node.d.ts +5 -5
- package/flow-report/test/wrappers/category-score-test.tsx +0 -87
- package/report/test/clients/bundle-test.js +0 -62
|
@@ -170,8 +170,6 @@ class Util {
|
|
|
170
170
|
|
|
171
171
|
/**
|
|
172
172
|
* Convert a score to a rating label.
|
|
173
|
-
* TODO: Return `'error'` for `score === null && !scoreDisplayMode`.
|
|
174
|
-
*
|
|
175
173
|
* @param {number|null} score
|
|
176
174
|
* @param {string=} scoreDisplayMode
|
|
177
175
|
* @return {string}
|
|
@@ -392,21 +390,43 @@ class Util {
|
|
|
392
390
|
return hostname.split('.').slice(-splitTld.length).join('.');
|
|
393
391
|
}
|
|
394
392
|
|
|
393
|
+
/**
|
|
394
|
+
* @param {LH.Result['configSettings']} settings
|
|
395
|
+
* @return {!Array<{name: string, description: string}>}
|
|
396
|
+
*/
|
|
397
|
+
static getEnvironmentDisplayValues(settings) {
|
|
398
|
+
const emulationDesc = Util.getEmulationDescriptions(settings);
|
|
399
|
+
|
|
400
|
+
return [
|
|
401
|
+
{
|
|
402
|
+
name: Util.i18n.strings.runtimeSettingsDevice,
|
|
403
|
+
description: emulationDesc.deviceEmulation,
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
name: Util.i18n.strings.runtimeSettingsNetworkThrottling,
|
|
407
|
+
description: emulationDesc.networkThrottling,
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
name: Util.i18n.strings.runtimeSettingsCPUThrottling,
|
|
411
|
+
description: emulationDesc.cpuThrottling,
|
|
412
|
+
},
|
|
413
|
+
];
|
|
414
|
+
}
|
|
395
415
|
|
|
396
416
|
/**
|
|
397
417
|
* @param {LH.Result['configSettings']} settings
|
|
398
|
-
* @return {
|
|
418
|
+
* @return {{deviceEmulation: string, networkThrottling: string, cpuThrottling: string}}
|
|
399
419
|
*/
|
|
400
420
|
static getEmulationDescriptions(settings) {
|
|
401
421
|
let cpuThrottling;
|
|
402
422
|
let networkThrottling;
|
|
403
|
-
let summary;
|
|
404
423
|
|
|
405
424
|
const throttling = settings.throttling;
|
|
406
425
|
|
|
407
426
|
switch (settings.throttlingMethod) {
|
|
408
427
|
case 'provided':
|
|
409
|
-
|
|
428
|
+
cpuThrottling = Util.i18n.strings.throttlingProvided;
|
|
429
|
+
networkThrottling = Util.i18n.strings.throttlingProvided;
|
|
410
430
|
break;
|
|
411
431
|
case 'devtools': {
|
|
412
432
|
const {cpuSlowdownMultiplier, requestLatencyMs} = throttling;
|
|
@@ -414,13 +434,6 @@ class Util {
|
|
|
414
434
|
networkThrottling = `${Util.i18n.formatNumber(requestLatencyMs)}${NBSP}ms HTTP RTT, ` +
|
|
415
435
|
`${Util.i18n.formatNumber(throttling.downloadThroughputKbps)}${NBSP}Kbps down, ` +
|
|
416
436
|
`${Util.i18n.formatNumber(throttling.uploadThroughputKbps)}${NBSP}Kbps up (DevTools)`;
|
|
417
|
-
|
|
418
|
-
const isSlow4G = () => {
|
|
419
|
-
return requestLatencyMs === 150 * 3.75 &&
|
|
420
|
-
throttling.downloadThroughputKbps === 1.6 * 1024 * 0.9 &&
|
|
421
|
-
throttling.uploadThroughputKbps === 750 * 0.9;
|
|
422
|
-
};
|
|
423
|
-
summary = `${isSlow4G() ? 'Slow 4G' : 'Custom'} throttling by DevTools`;
|
|
424
437
|
break;
|
|
425
438
|
}
|
|
426
439
|
case 'simulate': {
|
|
@@ -428,15 +441,11 @@ class Util {
|
|
|
428
441
|
cpuThrottling = `${Util.i18n.formatNumber(cpuSlowdownMultiplier)}x slowdown (Simulated)`;
|
|
429
442
|
networkThrottling = `${Util.i18n.formatNumber(rttMs)}${NBSP}ms TCP RTT, ` +
|
|
430
443
|
`${Util.i18n.formatNumber(throughputKbps)}${NBSP}Kbps throughput (Simulated)`;
|
|
431
|
-
|
|
432
|
-
const isSlow4G = () => {
|
|
433
|
-
return rttMs === 150 && throughputKbps === 1.6 * 1024;
|
|
434
|
-
};
|
|
435
|
-
summary = isSlow4G() ? 'Simulated slow 4G' : 'Custom simulated throttling';
|
|
436
444
|
break;
|
|
437
445
|
}
|
|
438
446
|
default:
|
|
439
|
-
|
|
447
|
+
cpuThrottling = Util.i18n.strings.runtimeUnknown;
|
|
448
|
+
networkThrottling = Util.i18n.strings.runtimeUnknown;
|
|
440
449
|
}
|
|
441
450
|
|
|
442
451
|
// TODO(paulirish): revise Runtime Settings strings: https://github.com/GoogleChrome/lighthouse/pull/11796
|
|
@@ -449,7 +458,6 @@ class Util {
|
|
|
449
458
|
deviceEmulation,
|
|
450
459
|
cpuThrottling,
|
|
451
460
|
networkThrottling,
|
|
452
|
-
summary,
|
|
453
461
|
};
|
|
454
462
|
}
|
|
455
463
|
|
|
@@ -632,12 +640,22 @@ Util.UIStrings = {
|
|
|
632
640
|
/** Option in a dropdown menu that toggles the themeing of the report between Light(default) and Dark themes. */
|
|
633
641
|
dropdownDarkTheme: 'Toggle Dark Theme',
|
|
634
642
|
|
|
643
|
+
/** Title of the Runtime settings table in a Lighthouse report. Runtime settings are the environment configurations that a specific report used at auditing time. */
|
|
644
|
+
runtimeSettingsTitle: 'Runtime Settings',
|
|
645
|
+
/** Label for a row in a table that shows the URL that was audited during a Lighthouse run. */
|
|
646
|
+
runtimeSettingsUrl: 'URL',
|
|
647
|
+
/** Label for a row in a table that shows the time at which a Lighthouse run was conducted; formatted as a timestamp, e.g. Jan 1, 1970 12:00 AM UTC. */
|
|
648
|
+
runtimeSettingsFetchTime: 'Fetch Time',
|
|
635
649
|
/** Label for a row in a table that describes the kind of device that was emulated for the Lighthouse run. Example values for row elements: 'No Emulation', 'Emulated Desktop', etc. */
|
|
636
650
|
runtimeSettingsDevice: 'Device',
|
|
637
651
|
/** Label for a row in a table that describes the network throttling conditions that were used during a Lighthouse run, if any. */
|
|
638
652
|
runtimeSettingsNetworkThrottling: 'Network throttling',
|
|
639
653
|
/** Label for a row in a table that describes the CPU throttling conditions that were used during a Lighthouse run, if any.*/
|
|
640
654
|
runtimeSettingsCPUThrottling: 'CPU throttling',
|
|
655
|
+
/** Label for a row in a table that shows in what tool Lighthouse is being run (e.g. The lighthouse CLI, Chrome DevTools, Lightrider, WebPageTest, etc). */
|
|
656
|
+
runtimeSettingsChannel: 'Channel',
|
|
657
|
+
/** Label for a row in a table that shows the User Agent that was detected on the Host machine that ran Lighthouse. */
|
|
658
|
+
runtimeSettingsUA: 'User agent (host)',
|
|
641
659
|
/** Label for a row in a table that shows the User Agent that was used to send out all network requests during the Lighthouse run. */
|
|
642
660
|
runtimeSettingsUANetwork: 'User agent (network)',
|
|
643
661
|
/** Label for a row in a table that shows the estimated CPU power of the machine running Lighthouse. Example row values: 532, 1492, 783. */
|
|
@@ -656,12 +674,6 @@ Util.UIStrings = {
|
|
|
656
674
|
runtimeDesktopEmulation: 'Emulated Desktop',
|
|
657
675
|
/** Descriptive explanation for a runtime setting that is set to an unknown value. */
|
|
658
676
|
runtimeUnknown: 'Unknown',
|
|
659
|
-
/** Descriptive label that this analysis run was from a single pageload of a browser (not a summary of hundreds of loads) */
|
|
660
|
-
runtimeSingleLoad: 'Single page load',
|
|
661
|
-
/** Descriptive label that this analysis only considers the initial load of the page, and no interaction beyond when the page had "fully loaded" */
|
|
662
|
-
runtimeAnalysisWindow: 'Initial page load',
|
|
663
|
-
/** Descriptive explanation that this analysis run was from a single pageload of a browser, whereas field data often summarizes hundreds+ of page loads */
|
|
664
|
-
runtimeSingleLoadTooltip: 'This data is taken from a single page load, as opposed to field data summarizing many sessions.', // eslint-disable-line max-len
|
|
665
677
|
|
|
666
678
|
/** Descriptive explanation for environment throttling that was provided by the runtime environment instead of provided by Lighthouse throttling. */
|
|
667
679
|
throttlingProvided: 'Provided by environment',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lighthouse",
|
|
3
|
-
"version": "8.6.0
|
|
3
|
+
"version": "8.6.0",
|
|
4
4
|
"description": "Automated auditing, performance metrics, and best practices for the web.",
|
|
5
5
|
"main": "./lighthouse-core/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"smokehouse": "./lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js"
|
|
10
10
|
},
|
|
11
11
|
"engines": {
|
|
12
|
-
"node": ">=14.15"
|
|
12
|
+
"node": ">=12.20.0 12 || >=14.13 14 || >=15"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
15
|
"build-all": "npm-run-posix-or-windows build-all:task",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"build-smokehouse-bundle": "node ./build/build-smokehouse-bundle.js",
|
|
24
24
|
"build-lr": "yarn reset-link && node ./build/build-lightrider-bundles.js",
|
|
25
25
|
"build-pack": "bash build/build-pack.sh",
|
|
26
|
-
"build-report": "node build/build-report-components.js && yarn eslint --fix report/renderer/components.js && node build/build-report.js
|
|
26
|
+
"build-report": "node build/build-report-components.js && yarn eslint --fix report/renderer/components.js && node build/build-report.js",
|
|
27
27
|
"build-sample-reports": "yarn build-report && node build/build-sample-reports.js",
|
|
28
28
|
"build-treemap": "node ./build/build-treemap.js",
|
|
29
29
|
"build-viewer": "node ./build/build-viewer.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"unit-viewer": "yarn jest \"lighthouse-viewer/.*-test.js\"",
|
|
52
52
|
"unit-flow": "yarn jest \"flow-report/.*-test.[tj]s[x]?\"",
|
|
53
53
|
"unit": "yarn jest",
|
|
54
|
-
"unit:ci": "NODE_OPTIONS=--max-old-space-size=8192 npm run jest --ci
|
|
54
|
+
"unit:ci": "NODE_OPTIONS=--max-old-space-size=8192 npm run jest -- --ci",
|
|
55
55
|
"core-unit": "yarn unit-core",
|
|
56
56
|
"cli-unit": "yarn unit-cli",
|
|
57
57
|
"viewer-unit": "yarn unit-viewer",
|
|
@@ -105,7 +105,6 @@
|
|
|
105
105
|
"@types/configstore": "^4.0.0",
|
|
106
106
|
"@types/cpy": "^5.1.0",
|
|
107
107
|
"@types/eslint": "^4.16.6",
|
|
108
|
-
"@types/estree": "^0.0.50",
|
|
109
108
|
"@types/exorcist": "^0.4.5",
|
|
110
109
|
"@types/gh-pages": "^2.0.0",
|
|
111
110
|
"@types/google.analytics": "0.0.39",
|
|
@@ -129,7 +128,6 @@
|
|
|
129
128
|
"@typescript-eslint/eslint-plugin": "^4.30.0",
|
|
130
129
|
"@typescript-eslint/parser": "^4.30.0",
|
|
131
130
|
"@wardpeet/brfs": "2.1.0",
|
|
132
|
-
"acorn": "^8.5.0",
|
|
133
131
|
"angular": "^1.7.4",
|
|
134
132
|
"archiver": "^3.0.0",
|
|
135
133
|
"browserify": "^17.0.0",
|
|
@@ -159,7 +157,6 @@
|
|
|
159
157
|
"jsonld": "^5.2.0",
|
|
160
158
|
"jsonlint-mod": "^1.7.6",
|
|
161
159
|
"lighthouse-plugin-publisher-ads": "^1.4.1",
|
|
162
|
-
"magic-string": "^0.25.7",
|
|
163
160
|
"mime-types": "^2.1.30",
|
|
164
161
|
"node-fetch": "^2.6.1",
|
|
165
162
|
"npm-run-posix-or-windows": "^2.0.2",
|
|
@@ -168,7 +165,6 @@
|
|
|
168
165
|
"preact": "^10.5.14",
|
|
169
166
|
"pretty-json-stringify": "^0.0.2",
|
|
170
167
|
"puppeteer": "^10.2.0",
|
|
171
|
-
"resolve": "^1.20.0",
|
|
172
168
|
"rollup": "^2.50.6",
|
|
173
169
|
"rollup-plugin-node-resolve": "^5.2.0",
|
|
174
170
|
"rollup-plugin-polyfill-node": "^0.7.0",
|
package/readme.md
CHANGED
|
@@ -52,7 +52,7 @@ The Chrome extension was available prior to Lighthouse being available in Chrome
|
|
|
52
52
|
|
|
53
53
|
The Node CLI provides the most flexibility in how Lighthouse runs can be configured and reported. Users who want more advanced usage, or want to run Lighthouse in an automated fashion should use the Node CLI.
|
|
54
54
|
|
|
55
|
-
_Lighthouse requires Node
|
|
55
|
+
_Lighthouse requires Node 12 LTS (12.20) or later._
|
|
56
56
|
|
|
57
57
|
**Installation**:
|
|
58
58
|
|
|
@@ -451,9 +451,9 @@ machine. Report results are never processed or beaconed to a remote server.
|
|
|
451
451
|
|
|
452
452
|
### How do I get localized Lighthouse results via the CLI?
|
|
453
453
|
|
|
454
|
-
Starting in Lighthouse 8.0, Lighthouse relies entirely on native `Intl` support and no longer uses an `Intl` polyfill. If you're using Node
|
|
454
|
+
Starting in Lighthouse 8.0, Lighthouse relies entirely on native `Intl` support and no longer uses an `Intl` polyfill. If you're using Node 13 or later, there should be no issue because Node is now [built with `full-icu` by default](https://nodejs.medium.com/node-js-12-to-lts-and-node-js-13-is-here-e28d6a4a2bd#9514).
|
|
455
455
|
|
|
456
|
-
However, if you're using
|
|
456
|
+
However, if you're using Node 12 (when `small-icu` was the default) or another `small-icu` Node build, you may see Lighthouse log messages about your locale not being available. To remedy this, you can upgrade to Node 14+ or manually install ICU data by using the [`full-icu`](https://www.npmjs.com/package/full-icu) module and the [`--icu-data-dir` node flag](https://nodejs.org/api/intl.html#intl_providing_icu_data_at_runtime) at launch.
|
|
457
457
|
|
|
458
458
|
### How do I author custom audits to extend Lighthouse?
|
|
459
459
|
|
package/report/assets/styles.css
CHANGED
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
--audit-group-padding-vertical: 8px;
|
|
80
80
|
--audit-margin-horizontal: 5px;
|
|
81
81
|
--audit-padding-vertical: 8px;
|
|
82
|
+
--category-header-font-size: 20px;
|
|
82
83
|
--category-padding: 40px;
|
|
83
84
|
--chevron-line-stroke: var(--color-gray-600);
|
|
84
85
|
--chevron-size: 12px;
|
|
@@ -192,7 +193,7 @@
|
|
|
192
193
|
--color-informative: var(--color-blue-200);
|
|
193
194
|
|
|
194
195
|
/* Component variables */
|
|
195
|
-
--env-item-background-color:
|
|
196
|
+
--env-item-background-color: var(--color-gray);
|
|
196
197
|
--locale-selector-background-color: var(--color-gray-200);
|
|
197
198
|
--plugin-badge-background-color: var(--color-gray-800);
|
|
198
199
|
--report-background-color: var(--color-gray-900);
|
|
@@ -249,6 +250,7 @@
|
|
|
249
250
|
--audit-group-margin-bottom: 20px;
|
|
250
251
|
--audit-group-padding-vertical: 12px;
|
|
251
252
|
--audit-padding-vertical: 4px;
|
|
253
|
+
--category-header-font-size: 16px;
|
|
252
254
|
--category-padding: 12px;
|
|
253
255
|
--default-padding: 12px;
|
|
254
256
|
--env-name-min-width: 120px;
|
|
@@ -417,8 +419,6 @@
|
|
|
417
419
|
width: var(--report-icon-size);
|
|
418
420
|
height: var(--report-icon-size);
|
|
419
421
|
opacity: 0.7;
|
|
420
|
-
display: inline-block;
|
|
421
|
-
vertical-align: middle;
|
|
422
422
|
}
|
|
423
423
|
.lh-report-icon:hover::before {
|
|
424
424
|
opacity: 1;
|
|
@@ -442,35 +442,9 @@
|
|
|
442
442
|
background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 100 125"><path d="M50 23.587c-16.27 0-22.799 12.574-22.799 21.417 0 12.917 10.117 22.451 12.436 32.471h20.726c2.32-10.02 12.436-19.554 12.436-32.471 0-8.843-6.528-21.417-22.799-21.417zM39.637 87.161c0 3.001 1.18 4.181 4.181 4.181h.426l.41 1.231C45.278 94.449 46.042 95 48.019 95h3.963c1.978 0 2.74-.551 3.365-2.427l.409-1.231h.427c3.002 0 4.18-1.18 4.18-4.181V80.91H39.637v6.251zM50 18.265c1.26 0 2.072-.814 2.072-2.073v-9.12C52.072 5.813 51.26 5 50 5c-1.259 0-2.072.813-2.072 2.073v9.12c0 1.259.813 2.072 2.072 2.072zM68.313 23.727c.994.774 2.135.634 2.91-.357l5.614-7.187c.776-.992.636-2.135-.356-2.909-.992-.776-2.135-.636-2.91.357l-5.613 7.186c-.778.993-.636 2.135.355 2.91zM91.157 36.373c-.306-1.222-1.291-1.815-2.513-1.51l-8.85 2.207c-1.222.305-1.814 1.29-1.51 2.512.305 1.223 1.291 1.814 2.513 1.51l8.849-2.206c1.223-.305 1.816-1.291 1.511-2.513zM86.757 60.48l-8.331-3.709c-1.15-.512-2.225-.099-2.736 1.052-.512 1.151-.1 2.224 1.051 2.737l8.33 3.707c1.15.514 2.225.101 2.736-1.05.513-1.149.1-2.223-1.05-2.737zM28.779 23.37c.775.992 1.917 1.131 2.909.357.992-.776 1.132-1.917.357-2.91l-5.615-7.186c-.775-.992-1.917-1.132-2.909-.357s-1.131 1.917-.356 2.909l5.614 7.187zM21.715 39.583c.305-1.223-.288-2.208-1.51-2.513l-8.849-2.207c-1.222-.303-2.208.289-2.513 1.511-.303 1.222.288 2.207 1.511 2.512l8.848 2.206c1.222.304 2.208-.287 2.513-1.509zM21.575 56.771l-8.331 3.711c-1.151.511-1.563 1.586-1.05 2.735.511 1.151 1.586 1.563 2.736 1.052l8.331-3.711c1.151-.511 1.563-1.586 1.05-2.735-.512-1.15-1.585-1.562-2.736-1.052z"/></svg>');
|
|
443
443
|
}
|
|
444
444
|
.lh-report-icon--treemap::before {
|
|
445
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="black"><path d="M3 5v14h19V5H3zm2 2h15v4H5V7zm0 10v-4h4v4H5zm6 0v-4h9v4h-9z"/></svg>');
|
|
446
|
-
}
|
|
447
|
-
.lh-report-icon--date::before {
|
|
448
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 11h2v2H7v-2zm14-5v14a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h1V2h2v2h8V2h2v2h1a2 2 0 012 2zM5 8h14V6H5v2zm14 12V10H5v10h14zm-4-7h2v-2h-2v2zm-4 0h2v-2h-2v2z"/></svg>');
|
|
449
|
-
}
|
|
450
|
-
.lh-report-icon--devices::before {
|
|
451
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 6h18V4H4a2 2 0 00-2 2v11H0v3h14v-3H4V6zm19 2h-6a1 1 0 00-1 1v10c0 .6.5 1 1 1h6c.6 0 1-.5 1-1V9c0-.6-.5-1-1-1zm-1 9h-4v-7h4v7z"/></svg>');
|
|
452
|
-
}
|
|
453
|
-
.lh-report-icon--world::before {
|
|
454
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm7 6h-3c-.3-1.3-.8-2.5-1.4-3.6A8 8 0 0 1 18.9 8zm-7-4a14 14 0 0 1 2 4h-4a14 14 0 0 1 2-4zM4.3 14a8.2 8.2 0 0 1 0-4h3.3a16.5 16.5 0 0 0 0 4H4.3zm.8 2h3a14 14 0 0 0 1.3 3.6A8 8 0 0 1 5.1 16zm3-8H5a8 8 0 0 1 4.3-3.6L8 8zM12 20a14 14 0 0 1-2-4h4a14 14 0 0 1-2 4zm2.3-6H9.7a14.7 14.7 0 0 1 0-4h4.6a14.6 14.6 0 0 1 0 4zm.3 5.6c.6-1.2 1-2.4 1.4-3.6h3a8 8 0 0 1-4.4 3.6zm1.8-5.6a16.5 16.5 0 0 0 0-4h3.3a8.2 8.2 0 0 1 0 4h-3.3z"/></svg>');
|
|
455
|
-
}
|
|
456
|
-
.lh-report-icon--stopwatch::before {
|
|
457
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 1H9v2h6V1zm-4 13h2V8h-2v6zm8.1-6.6L20.5 6l-1.4-1.4L17.7 6A9 9 0 0 0 3 13a9 9 0 1 0 16-5.6zm-7 12.6a7 7 0 1 1 0-14 7 7 0 0 1 0 14z"/></svg>');
|
|
458
|
-
}
|
|
459
|
-
.lh-report-icon--networkspeed::before {
|
|
460
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.9 5c-.2 0-.3 0-.4.2v.2L10.1 17a2 2 0 0 0-.2 1 2 2 0 0 0 4 .4l2.4-12.9c0-.3-.2-.5-.5-.5zM1 9l2 2c2.9-2.9 6.8-4 10.5-3.6l1.2-2.7C10 3.8 4.7 5.3 1 9zm20 2 2-2a15.4 15.4 0 0 0-5.6-3.6L17 8.2c1.5.7 2.9 1.6 4.1 2.8zm-4 4 2-2a9.9 9.9 0 0 0-2.7-1.9l-.5 3 1.2.9zM5 13l2 2a7.1 7.1 0 0 1 4-2l1.3-2.9C9.7 10.1 7 11 5 13z"/></svg>');
|
|
461
|
-
}
|
|
462
|
-
.lh-report-icon--samples-one::before {
|
|
463
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="7" cy="14" r="3"/><path d="M7 18a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm4-2a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm5.6 17.6a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/></svg>');
|
|
464
|
-
}
|
|
465
|
-
.lh-report-icon--samples-many::before {
|
|
466
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 18a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm4-2a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm5.6 17.6a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/><circle cx="7" cy="14" r="3"/><circle cx="11" cy="6" r="3"/></svg>');
|
|
467
|
-
}
|
|
468
|
-
.lh-report-icon--chrome::before {
|
|
469
|
-
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-50 -50 562 562"><path d="M256 25.6v25.6a204 204 0 0 1 144.8 60 204 204 0 0 1 60 144.8 204 204 0 0 1-60 144.8 204 204 0 0 1-144.8 60 204 204 0 0 1-144.8-60 204 204 0 0 1-60-144.8 204 204 0 0 1 60-144.8 204 204 0 0 1 144.8-60V0a256 256 0 1 0 0 512 256 256 0 0 0 0-512v25.6z"/><path d="M256 179.2v25.6a51.3 51.3 0 0 1 0 102.4 51.3 51.3 0 0 1 0-102.4v-51.2a102.3 102.3 0 1 0-.1 204.7 102.3 102.3 0 0 0 .1-204.7v25.6z"/><path d="M256 204.8h217.6a25.6 25.6 0 0 0 0-51.2H256a25.6 25.6 0 0 0 0 51.2m44.3 76.8L191.5 470.1a25.6 25.6 0 1 0 44.4 25.6l108.8-188.5a25.6 25.6 0 1 0-44.4-25.6m-88.6 0L102.9 93.2a25.7 25.7 0 0 0-35-9.4 25.7 25.7 0 0 0-9.4 35l108.8 188.5a25.7 25.7 0 0 0 35 9.4 25.9 25.9 0 0 0 9.4-35.1"/></svg>');
|
|
445
|
+
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="black"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M3 5v14h19V5H3zm2 2h15v4H5V7zm0 10v-4h4v4H5zm6 0v-4h9v4h-9z"/></svg>');
|
|
470
446
|
}
|
|
471
447
|
|
|
472
|
-
|
|
473
|
-
|
|
474
448
|
.lh-buttons {
|
|
475
449
|
display: flex;
|
|
476
450
|
flex-wrap: wrap;
|
|
@@ -484,9 +458,6 @@
|
|
|
484
458
|
color: rgb(26, 115, 232);
|
|
485
459
|
background-color: var(--report-background-color);
|
|
486
460
|
}
|
|
487
|
-
.lh-button:first-of-type {
|
|
488
|
-
margin-left: 0;
|
|
489
|
-
}
|
|
490
461
|
.lh-dark .lh-button {
|
|
491
462
|
color: var(--color-blue-200);
|
|
492
463
|
}
|
|
@@ -543,7 +514,7 @@
|
|
|
543
514
|
}
|
|
544
515
|
.lh-audit--manual .lh-audit__score-icon,
|
|
545
516
|
.lh-audit--notapplicable .lh-audit__score-icon {
|
|
546
|
-
border:
|
|
517
|
+
border: 2px solid var(--color-gray-400);
|
|
547
518
|
border-radius: 100%;
|
|
548
519
|
background: none;
|
|
549
520
|
}
|
|
@@ -553,7 +524,7 @@
|
|
|
553
524
|
}
|
|
554
525
|
|
|
555
526
|
.lh-audit--informative .lh-audit__score-icon {
|
|
556
|
-
border:
|
|
527
|
+
border: 2px solid var(--color-gray-400);
|
|
557
528
|
border-radius: 100%;
|
|
558
529
|
}
|
|
559
530
|
|
|
@@ -690,9 +661,8 @@
|
|
|
690
661
|
.lh-metrics-container {
|
|
691
662
|
display: grid;
|
|
692
663
|
grid-template-rows: 1fr 1fr 1fr;
|
|
693
|
-
grid-template-columns: 1fr 1fr;
|
|
694
664
|
grid-auto-flow: column;
|
|
695
|
-
grid-column-gap:
|
|
665
|
+
grid-column-gap: 24px;
|
|
696
666
|
}
|
|
697
667
|
|
|
698
668
|
.lh-metric {
|
|
@@ -1004,9 +974,6 @@
|
|
|
1004
974
|
margin-bottom: var(--audit-group-margin-bottom);
|
|
1005
975
|
position: relative;
|
|
1006
976
|
}
|
|
1007
|
-
.lh-audit-group--metrics {
|
|
1008
|
-
margin-bottom: calc(var(--audit-group-margin-bottom) / 2);
|
|
1009
|
-
}
|
|
1010
977
|
|
|
1011
978
|
.lh-audit-group__header::before {
|
|
1012
979
|
/* By default, groups don't get an icon */
|
|
@@ -1108,13 +1075,6 @@
|
|
|
1108
1075
|
margin-top: var(--audit-group-padding-vertical);
|
|
1109
1076
|
}
|
|
1110
1077
|
|
|
1111
|
-
/* Our report design omits the header 'Metrics', as they're clearly the metrics.
|
|
1112
|
-
It's more straightforward to hide w/ CSS vs change categoryRenderer.renderAuditGroup for this case. */
|
|
1113
|
-
.lh-audit-group--metrics > .lh-audit-group__header {
|
|
1114
|
-
/* Also, it's vis hidden (and not display:none) because of spacing regarding the pill. */
|
|
1115
|
-
visibility: hidden;
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
1078
|
.lh-audit-explanation {
|
|
1119
1079
|
margin: var(--audit-padding-vertical) 0 calc(var(--audit-padding-vertical) / 2) var(--audit-margin-horizontal);
|
|
1120
1080
|
line-height: var(--audit-explanation-line-height);
|
|
@@ -1268,7 +1228,7 @@
|
|
|
1268
1228
|
}
|
|
1269
1229
|
.lh-fraction__wrapper--null .lh-fraction__content::before {
|
|
1270
1230
|
border-radius: 50%;
|
|
1271
|
-
border:
|
|
1231
|
+
border: 2px solid var(--color-gray-700);
|
|
1272
1232
|
}
|
|
1273
1233
|
|
|
1274
1234
|
.lh-fraction__background {
|
|
@@ -1291,13 +1251,10 @@
|
|
|
1291
1251
|
position: relative;
|
|
1292
1252
|
align-items: center;
|
|
1293
1253
|
justify-content: center;
|
|
1294
|
-
font-size:
|
|
1295
|
-
line-height: calc(0.4 * var(--gauge-circle-size));
|
|
1254
|
+
font-size: var(--gauge-label-font-size);
|
|
1296
1255
|
width: max-content;
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
--score-icon-size: calc(0.21 * var(--gauge-circle-size));
|
|
1300
|
-
--score-icon-margin: 0 calc(0.15 * var(--gauge-circle-size)) 0 0;
|
|
1256
|
+
padding: 1em;
|
|
1257
|
+
min-width: 6em;
|
|
1301
1258
|
}
|
|
1302
1259
|
|
|
1303
1260
|
.lh-gauge {
|
|
@@ -1325,9 +1282,12 @@
|
|
|
1325
1282
|
position: relative;
|
|
1326
1283
|
height: var(--gauge-circle-size);
|
|
1327
1284
|
}
|
|
1328
|
-
.lh-category .lh-gauge__svg-wrapper
|
|
1285
|
+
.lh-category .lh-gauge__svg-wrapper {
|
|
1286
|
+
--gauge-circle-size: var(--gauge-circle-size-big);
|
|
1287
|
+
}
|
|
1329
1288
|
.lh-category .lh-fraction__wrapper {
|
|
1330
1289
|
--gauge-circle-size: var(--gauge-circle-size-big);
|
|
1290
|
+
--score-icon-size: var(--score-icon-size-big)
|
|
1331
1291
|
}
|
|
1332
1292
|
|
|
1333
1293
|
/* The plugin badge overlay */
|
|
@@ -1405,6 +1365,10 @@
|
|
|
1405
1365
|
--gauge-label-line-height: var(--gauge-label-line-height-big);
|
|
1406
1366
|
margin-top: 14px;
|
|
1407
1367
|
}
|
|
1368
|
+
.lh-category .lh-fraction__content {
|
|
1369
|
+
--gauge-label-font-size: var(--gauge-label-font-size-big);
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1408
1372
|
|
|
1409
1373
|
.lh-scores-header .lh-gauge__wrapper,
|
|
1410
1374
|
.lh-scores-header .lh-fraction__wrapper,
|
|
@@ -1461,6 +1425,8 @@
|
|
|
1461
1425
|
}
|
|
1462
1426
|
|
|
1463
1427
|
.lh-category-header {
|
|
1428
|
+
font-size: var(--category-header-font-size);
|
|
1429
|
+
min-height: var(--gauge-circle-size);
|
|
1464
1430
|
margin-bottom: var(--section-padding-vertical);
|
|
1465
1431
|
}
|
|
1466
1432
|
|
|
@@ -1470,51 +1436,11 @@
|
|
|
1470
1436
|
margin: 0px auto;
|
|
1471
1437
|
}
|
|
1472
1438
|
|
|
1473
|
-
.lh-category-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
justify-items: center;
|
|
1477
|
-
align-items: center;
|
|
1478
|
-
gap: var(--report-line-height);
|
|
1479
|
-
}
|
|
1480
|
-
|
|
1481
|
-
.lh-category-header__finalscreenshot .lh-scorescale {
|
|
1482
|
-
border: 0;
|
|
1483
|
-
padding: 0;
|
|
1484
|
-
display: flex;
|
|
1485
|
-
justify-content: center;
|
|
1486
|
-
}
|
|
1487
|
-
|
|
1488
|
-
.lh-category-header__finalscreenshot .lh-scorescale-range {
|
|
1489
|
-
font-family: unset;
|
|
1490
|
-
font-size: 12px;
|
|
1491
|
-
}
|
|
1492
|
-
|
|
1493
|
-
.lh-final-ss-image {
|
|
1494
|
-
/* constrain the size of the image to not be too large */
|
|
1495
|
-
max-height: calc(var(--gauge-circle-size-big) * 2.8);
|
|
1496
|
-
max-width: calc(var(--gauge-circle-size-big) * 3.5);
|
|
1497
|
-
border: 1px solid var(--color-gray-200);
|
|
1498
|
-
padding: 4px;
|
|
1499
|
-
border-radius: 3px;
|
|
1500
|
-
}
|
|
1501
|
-
|
|
1502
|
-
.lh-category-headercol--separator {
|
|
1503
|
-
background: var(--color-gray-200);
|
|
1504
|
-
width: 1px;
|
|
1505
|
-
height: var(--gauge-circle-size-big);
|
|
1439
|
+
.lh-category-header .lh-audit__title {
|
|
1440
|
+
font-size: var(--category-header-font-size);
|
|
1441
|
+
line-height: var(--header-line-height);
|
|
1506
1442
|
}
|
|
1507
1443
|
|
|
1508
|
-
@media screen and (max-width: 535px) {
|
|
1509
|
-
.lh-category-header__finalscreenshot {
|
|
1510
|
-
grid-template: 1fr 1fr / none
|
|
1511
|
-
}
|
|
1512
|
-
.lh-category-headercol--separator {
|
|
1513
|
-
display: none;
|
|
1514
|
-
}
|
|
1515
|
-
}
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
1444
|
/* 964 fits the min-width of the filmstrip */
|
|
1519
1445
|
@media screen and (max-width: 964px) {
|
|
1520
1446
|
.lh-report {
|
|
@@ -1718,13 +1644,11 @@
|
|
|
1718
1644
|
display: none; /* Don't retain these layers when not needed */
|
|
1719
1645
|
opacity: 0;
|
|
1720
1646
|
background: #ffffff;
|
|
1721
|
-
white-space: pre-line; /* Render newlines in the text */
|
|
1722
1647
|
min-width: 246px;
|
|
1723
1648
|
max-width: 275px;
|
|
1724
1649
|
padding: 15px;
|
|
1725
1650
|
border-radius: 5px;
|
|
1726
1651
|
text-align: initial;
|
|
1727
|
-
line-height: 1.4;
|
|
1728
1652
|
}
|
|
1729
1653
|
/* shrink tooltips to not be cutoff on left edge of narrow viewports
|
|
1730
1654
|
45vw is chosen to be ~= width of the left column of metrics
|
|
@@ -1736,6 +1660,10 @@
|
|
|
1736
1660
|
}
|
|
1737
1661
|
}
|
|
1738
1662
|
|
|
1663
|
+
.lh-tooltip-boundary:hover {
|
|
1664
|
+
background-color: var(--color-hover);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1739
1667
|
.lh-tooltip-boundary:hover .lh-tooltip {
|
|
1740
1668
|
display: block;
|
|
1741
1669
|
animation: fadeInTooltip 250ms;
|
|
@@ -1818,61 +1746,4 @@
|
|
|
1818
1746
|
cursor: zoom-in;
|
|
1819
1747
|
}
|
|
1820
1748
|
|
|
1821
|
-
|
|
1822
|
-
.lh-meta__items {
|
|
1823
|
-
display: grid;
|
|
1824
|
-
grid-template-columns: 1fr 1fr 1fr;
|
|
1825
|
-
background-color: var(--env-item-background-color);
|
|
1826
|
-
border-radius: 3px;
|
|
1827
|
-
padding: 0;
|
|
1828
|
-
font-size: 13px;
|
|
1829
|
-
padding-bottom: calc(var(--default-padding) / 2);
|
|
1830
|
-
}
|
|
1831
|
-
|
|
1832
|
-
.lh-meta__item {
|
|
1833
|
-
display: block;
|
|
1834
|
-
list-style-type: none;
|
|
1835
|
-
position: relative;
|
|
1836
|
-
padding: calc(var(--default-padding) / 2) 0 0 calc(var(--default-padding) * 3);
|
|
1837
|
-
cursor: unset; /* disable pointer cursor from report-icon */
|
|
1838
|
-
}
|
|
1839
|
-
|
|
1840
|
-
.lh-meta__item.lh-tooltip-boundary {
|
|
1841
|
-
text-decoration: dotted underline var(--color-gray-500);
|
|
1842
|
-
cursor: help;
|
|
1843
|
-
}
|
|
1844
|
-
|
|
1845
|
-
.lh-meta__item.lh-report-icon::before {
|
|
1846
|
-
position: absolute;
|
|
1847
|
-
left: var(--default-padding);
|
|
1848
|
-
width: calc(var(--report-icon-size) * 0.8);
|
|
1849
|
-
height: calc(var(--report-icon-size) * 0.8);
|
|
1850
|
-
}
|
|
1851
|
-
|
|
1852
|
-
.lh-meta__item.lh-report-icon:hover::before {
|
|
1853
|
-
opacity: 0.7;
|
|
1854
|
-
}
|
|
1855
|
-
|
|
1856
|
-
.lh-meta__item .lh-tooltip {
|
|
1857
|
-
color: var(--color-gray-800);
|
|
1858
|
-
}
|
|
1859
|
-
|
|
1860
|
-
.lh-meta__item .lh-tooltip::before {
|
|
1861
|
-
right: auto; /* Set the tooltip arrow to the leftside */
|
|
1862
|
-
left: 6px;
|
|
1863
|
-
}
|
|
1864
|
-
|
|
1865
|
-
/* Change the grid for narrow viewport. */
|
|
1866
|
-
@media screen and (max-width: 640px) {
|
|
1867
|
-
.lh-meta__items {
|
|
1868
|
-
grid-template-columns: 1fr 1fr;
|
|
1869
|
-
}
|
|
1870
|
-
}
|
|
1871
|
-
@media screen and (max-width: 535px) {
|
|
1872
|
-
.lh-meta__items {
|
|
1873
|
-
display: block;
|
|
1874
|
-
}
|
|
1875
|
-
}
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
1749
|
/*# sourceURL=report-styles.css */
|
|
@@ -527,10 +527,47 @@ limitations under the License.
|
|
|
527
527
|
.lh-footer .lh-generated {
|
|
528
528
|
text-align: center;
|
|
529
529
|
}
|
|
530
|
+
.lh-env__title {
|
|
531
|
+
font-size: var(--env-item-font-size-big);
|
|
532
|
+
line-height: var(--env-item-line-height-big);
|
|
533
|
+
text-align: center;
|
|
534
|
+
padding: var(--score-container-padding);
|
|
535
|
+
}
|
|
536
|
+
.lh-env {
|
|
537
|
+
padding: var(--default-padding) 0;
|
|
538
|
+
}
|
|
539
|
+
.lh-env__items {
|
|
540
|
+
padding-left: 16px;
|
|
541
|
+
margin: 0 0 var(--audits-margin-bottom);
|
|
542
|
+
padding: 0;
|
|
543
|
+
}
|
|
544
|
+
.lh-env__items .lh-env__item:nth-child(2n) {
|
|
545
|
+
background-color: var(--env-item-background-color);
|
|
546
|
+
}
|
|
547
|
+
.lh-env__item {
|
|
548
|
+
display: flex;
|
|
549
|
+
padding: var(--env-item-padding);
|
|
550
|
+
position: relative;
|
|
551
|
+
}
|
|
552
|
+
span.lh-env__name {
|
|
553
|
+
font-weight: bold;
|
|
554
|
+
min-width: var(--env-name-min-width);
|
|
555
|
+
flex: 0.5;
|
|
556
|
+
padding: 0 8px;
|
|
557
|
+
}
|
|
558
|
+
span.lh-env__description {
|
|
559
|
+
text-align: left;
|
|
560
|
+
flex: 1;
|
|
561
|
+
}
|
|
530
562
|
</style>
|
|
531
563
|
<footer class="lh-footer">
|
|
532
|
-
|
|
533
|
-
|
|
564
|
+
<!-- TODO(i18n): localize runtime settings -->
|
|
565
|
+
<div class="lh-env">
|
|
566
|
+
<div class="lh-env__title">Runtime Settings</div>
|
|
567
|
+
<ul class="lh-env__items">
|
|
568
|
+
<!-- envItem -->
|
|
569
|
+
</ul>
|
|
570
|
+
</div>
|
|
534
571
|
|
|
535
572
|
<div class="lh-generated">
|
|
536
573
|
<!-- TODO(i18n): use ICU replacement to replace version w/o concatenation. -->
|
|
@@ -540,6 +577,14 @@ limitations under the License.
|
|
|
540
577
|
</footer>
|
|
541
578
|
</template>
|
|
542
579
|
|
|
580
|
+
<!-- Lighthouse footer env item -->
|
|
581
|
+
<template id="envItem">
|
|
582
|
+
<li class="lh-env__item">
|
|
583
|
+
<span class="lh-env__name"></span>
|
|
584
|
+
<span class="lh-env__description"></span>
|
|
585
|
+
</li>
|
|
586
|
+
</template>
|
|
587
|
+
|
|
543
588
|
<!-- Lighthouse score gauge -->
|
|
544
589
|
<template id="gauge">
|
|
545
590
|
<a class="lh-gauge__wrapper">
|