sourcemonkey 0.0.0-stage → 0.5.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/LICENSE +21 -0
- package/README.md +87 -2
- package/dist/bytes.js +37 -0
- package/dist/channel-placeholder.js +5 -0
- package/dist/collection-scan.js +17 -0
- package/dist/collections.html +353 -0
- package/dist/compare.html +358 -0
- package/dist/composed-source.js +205 -0
- package/dist/connect-prompt.html +47 -0
- package/dist/debug/icons.html +211 -0
- package/dist/debug/storage.html +163 -0
- package/dist/debug-log.js +75 -0
- package/dist/diagnostic-location.js +64 -0
- package/dist/eval-hook.js +308 -0
- package/dist/extension/background.js +5263 -0
- package/dist/extension/channel.js +133 -0
- package/dist/extension/code-links.js +187 -0
- package/dist/extension/code-tabs.js +460 -0
- package/dist/extension/collection-dialog.js +619 -0
- package/dist/extension/collection-display.js +322 -0
- package/dist/extension/collections.js +2905 -0
- package/dist/extension/compare.js +867 -0
- package/dist/extension/concurrency.js +186 -0
- package/dist/extension/connect-grants.js +109 -0
- package/dist/extension/connect-prompt-page.js +70 -0
- package/dist/extension/connect-prompt.js +266 -0
- package/dist/extension/copy-button.js +63 -0
- package/dist/extension/copy-dialog.js +502 -0
- package/dist/extension/copy-preference.js +66 -0
- package/dist/extension/debug/icons.js +203 -0
- package/dist/extension/debug/storage.js +365 -0
- package/dist/extension/deep-link.js +77 -0
- package/dist/extension/delete-dialog.js +432 -0
- package/dist/extension/delete-icon.js +40 -0
- package/dist/extension/details-tooltips.js +66 -0
- package/dist/extension/directories.js +679 -0
- package/dist/extension/export-backup.js +407 -0
- package/dist/extension/export-dialog.js +142 -0
- package/dist/extension/file-access.js +74 -0
- package/dist/extension/file-changes.js +346 -0
- package/dist/extension/frame-info.js +85 -0
- package/dist/extension/github-provider.js +336 -0
- package/dist/extension/glyph.js +84 -0
- package/dist/extension/gm-bindings.js +601 -0
- package/dist/extension/gm-download.js +419 -0
- package/dist/extension/gm-menu.js +228 -0
- package/dist/extension/gm-notification.js +141 -0
- package/dist/extension/gm-originator-map.js +23 -0
- package/dist/extension/gm-tab-data.js +121 -0
- package/dist/extension/gm-tab.js +160 -0
- package/dist/extension/gm-url-change.js +111 -0
- package/dist/extension/gm-url-scheme.js +27 -0
- package/dist/extension/gm-values.js +176 -0
- package/dist/extension/gm-window-control.js +104 -0
- package/dist/extension/gm-xhr-headers.js +333 -0
- package/dist/extension/gm-xhr.js +584 -0
- package/dist/extension/injector.js +3145 -0
- package/dist/extension/install-capture.js +277 -0
- package/dist/extension/line-diff.js +233 -0
- package/dist/extension/local-copy.js +560 -0
- package/dist/extension/local-delete.js +276 -0
- package/dist/extension/location-kinds.js +108 -0
- package/dist/extension/log-format.js +158 -0
- package/dist/extension/managed-changes.js +361 -0
- package/dist/extension/managed-items.js +57 -0
- package/dist/extension/match-index.js +375 -0
- package/dist/extension/missing-scripts.js +66 -0
- package/dist/extension/more-menu.js +109 -0
- package/dist/extension/move-dialog.js +197 -0
- package/dist/extension/offscreen.js +37 -0
- package/dist/extension/options.js +504 -0
- package/dist/extension/page-heading.js +170 -0
- package/dist/extension/page-links.js +199 -0
- package/dist/extension/parse-check-client.js +70 -0
- package/dist/extension/parse-check.js +161 -0
- package/dist/extension/parse-sandbox-host.js +172 -0
- package/dist/extension/parse-sandbox.js +175 -0
- package/dist/extension/popup-commands-open.js +41 -0
- package/dist/extension/popup-view.js +387 -0
- package/dist/extension/popup.js +703 -0
- package/dist/extension/prism-userscript.js +53 -0
- package/dist/extension/refresh-error.js +136 -0
- package/dist/extension/refresh-targets.js +160 -0
- package/dist/extension/related-versions.js +1144 -0
- package/dist/extension/resize-observer-loop.js +19 -0
- package/dist/extension/row-cache.js +387 -0
- package/dist/extension/script-blobs.js +413 -0
- package/dist/extension/script-details.js +658 -0
- package/dist/extension/script-enablement.js +285 -0
- package/dist/extension/script-identity.js +310 -0
- package/dist/extension/script-keys.js +54 -0
- package/dist/extension/script-log-id.js +155 -0
- package/dist/extension/script-log.js +290 -0
- package/dist/extension/script-rejection.js +104 -0
- package/dist/extension/script-sites.js +158 -0
- package/dist/extension/script-store.js +3507 -0
- package/dist/extension/script-updater.js +991 -0
- package/dist/extension/script-url-hash.js +61 -0
- package/dist/extension/select-all.js +37 -0
- package/dist/extension/select-open-guard.js +90 -0
- package/dist/extension/site-icon.js +1261 -0
- package/dist/extension/sm-dev-link.js +302 -0
- package/dist/extension/solo-click.js +58 -0
- package/dist/extension/sticky-numbers.js +188 -0
- package/dist/extension/storage-breakdown.js +253 -0
- package/dist/extension/storage-scan.js +86 -0
- package/dist/extension/storage-usage.js +194 -0
- package/dist/extension/structural-keys.js +29 -0
- package/dist/extension/sw-teardown.js +36 -0
- package/dist/extension/tab-status.js +403 -0
- package/dist/extension/toolbar-summary.js +105 -0
- package/dist/extension/user-scripts-access.js +43 -0
- package/dist/extension/userscript.js +3672 -0
- package/dist/extension/value-store.js +204 -0
- package/dist/extension/version-probe-fetch.js +68 -0
- package/dist/extension/worker-client.js +109 -0
- package/dist/extension/worker-ops.js +171 -0
- package/dist/extension/zip-writer.js +24 -0
- package/dist/external-files.js +878 -0
- package/dist/file-loader.js +436 -0
- package/dist/file-locations.js +439 -0
- package/dist/generated-wrappers.js +5 -0
- package/dist/github-auth.js +148 -0
- package/dist/github-urls.js +46 -0
- package/dist/gm-api-catalog.js +217 -0
- package/dist/gm-connect.js +273 -0
- package/dist/gm-xhr-types.js +5 -0
- package/dist/http-read.js +142 -0
- package/dist/icons/icon-128.png +0 -0
- package/dist/icons/icon-16.png +0 -0
- package/dist/icons/icon-48.png +0 -0
- package/dist/local-file-overrides.js +558 -0
- package/dist/manifest.json +38 -0
- package/dist/markup-response.js +126 -0
- package/dist/match-targets.js +305 -0
- package/dist/menu-captions.js +22 -0
- package/dist/offscreen.html +39 -0
- package/dist/options.html +197 -0
- package/dist/parse-check-protocol.js +51 -0
- package/dist/parse-location.js +171 -0
- package/dist/parse-sandbox.html +56 -0
- package/dist/phase-timing.js +155 -0
- package/dist/popup.html +197 -0
- package/dist/public-suffixes.js +6957 -0
- package/dist/run-context.js +31 -0
- package/dist/runtime-messages.js +34 -0
- package/dist/sandboxed-page.js +35 -0
- package/dist/script-build.js +787 -0
- package/dist/script-display.js +383 -0
- package/dist/script-icon.js +43 -0
- package/dist/script-links.js +204 -0
- package/dist/script-source-url.js +214 -0
- package/dist/script-world.js +65 -0
- package/dist/sm-dev-protocol.js +84 -0
- package/dist/source-map.js +177 -0
- package/dist/stack-link.js +138 -0
- package/dist/styles.css +825 -0
- package/dist/unsafe-window-use.js +229 -0
- package/dist/url-match.js +734 -0
- package/dist/userscript-header.js +248 -0
- package/dist/userscript.html +1165 -0
- package/dist/vendor/fflate.LICENSE +21 -0
- package/dist/vendor/fflate.js +2692 -0
- package/dist/vendor/prism/prism-line-numbers.css +1 -0
- package/dist/vendor/prism/prism-line-numbers.js +1 -0
- package/dist/vendor/prism/prism.css +1 -0
- package/dist/vendor/prism/prism.js +1946 -0
- package/dist/version-compare.js +141 -0
- package/dist/version-probe.js +120 -0
- package/lib/build-info.json +1 -0
- package/lib/bytes.d.ts +3 -0
- package/lib/bytes.js +37 -0
- package/lib/channel-placeholder.d.ts +1 -0
- package/lib/channel-placeholder.js +5 -0
- package/lib/collection-scan.d.ts +8 -0
- package/lib/collection-scan.js +17 -0
- package/lib/composed-source.d.ts +28 -0
- package/lib/composed-source.js +205 -0
- package/lib/debug-log.d.ts +9 -0
- package/lib/debug-log.js +75 -0
- package/lib/diagnostic-location.d.ts +8 -0
- package/lib/diagnostic-location.js +64 -0
- package/lib/eval-hook.d.ts +34 -0
- package/lib/eval-hook.js +308 -0
- package/lib/external-files.d.ts +111 -0
- package/lib/external-files.js +878 -0
- package/lib/file-loader.d.ts +48 -0
- package/lib/file-loader.js +436 -0
- package/lib/file-locations.d.ts +44 -0
- package/lib/file-locations.js +439 -0
- package/lib/generated-wrappers.d.ts +11 -0
- package/lib/generated-wrappers.js +5 -0
- package/lib/github-auth.d.ts +12 -0
- package/lib/github-auth.js +148 -0
- package/lib/github-urls.d.ts +1 -0
- package/lib/github-urls.js +46 -0
- package/lib/gm-api-catalog.d.ts +24 -0
- package/lib/gm-api-catalog.js +217 -0
- package/lib/gm-connect.d.ts +34 -0
- package/lib/gm-connect.js +273 -0
- package/lib/gm-xhr-types.d.ts +68 -0
- package/lib/gm-xhr-types.js +5 -0
- package/lib/harness/browser-extensions.d.ts +73 -0
- package/lib/harness/browser-extensions.js +285 -0
- package/lib/harness/browser-lang.d.ts +20 -0
- package/lib/harness/browser-lang.js +86 -0
- package/lib/harness/browser-launch.d.ts +14 -0
- package/lib/harness/browser-launch.js +184 -0
- package/lib/harness/checks.d.ts +110 -0
- package/lib/harness/checks.js +321 -0
- package/lib/harness/cli.d.ts +2 -0
- package/lib/harness/cli.js +2259 -0
- package/lib/harness/command-args.d.ts +91 -0
- package/lib/harness/command-args.js +369 -0
- package/lib/harness/command-lines.d.ts +80 -0
- package/lib/harness/command-lines.js +180 -0
- package/lib/harness/command-list.d.ts +206 -0
- package/lib/harness/command-list.js +1475 -0
- package/lib/harness/console-commands.d.ts +463 -0
- package/lib/harness/console-commands.js +3216 -0
- package/lib/harness/download-watch.d.ts +21 -0
- package/lib/harness/download-watch.js +156 -0
- package/lib/harness/extension-backend.d.ts +41 -0
- package/lib/harness/extension-backend.js +100 -0
- package/lib/harness/extension-host.d.ts +112 -0
- package/lib/harness/extension-host.js +552 -0
- package/lib/harness/extension-launch.d.ts +67 -0
- package/lib/harness/extension-launch.js +285 -0
- package/lib/harness/extension-link.d.ts +315 -0
- package/lib/harness/extension-link.js +607 -0
- package/lib/harness/external-manager.d.ts +146 -0
- package/lib/harness/external-manager.js +414 -0
- package/lib/harness/fixture.d.ts +165 -0
- package/lib/harness/fixture.js +461 -0
- package/lib/harness/frame-sessions.d.ts +71 -0
- package/lib/harness/frame-sessions.js +248 -0
- package/lib/harness/frames.d.ts +68 -0
- package/lib/harness/frames.js +216 -0
- package/lib/harness/help-format.d.ts +17 -0
- package/lib/harness/help-format.js +127 -0
- package/lib/harness/host.d.ts +352 -0
- package/lib/harness/host.js +423 -0
- package/lib/harness/index.d.ts +8 -0
- package/lib/harness/index.js +10 -0
- package/lib/harness/input-file.d.ts +18 -0
- package/lib/harness/input-file.js +61 -0
- package/lib/harness/json-output.d.ts +565 -0
- package/lib/harness/json-output.js +71 -0
- package/lib/harness/manager-actions.d.ts +21 -0
- package/lib/harness/manager-actions.js +129 -0
- package/lib/harness/manager-commands.d.ts +142 -0
- package/lib/harness/manager-commands.js +1196 -0
- package/lib/harness/manager-fetch.d.ts +33 -0
- package/lib/harness/manager-fetch.js +239 -0
- package/lib/harness/managers.d.ts +24 -0
- package/lib/harness/managers.js +27 -0
- package/lib/harness/output-style.d.ts +125 -0
- package/lib/harness/output-style.js +322 -0
- package/lib/harness/page-commands.d.ts +134 -0
- package/lib/harness/page-commands.js +1141 -0
- package/lib/harness/page-output.d.ts +67 -0
- package/lib/harness/page-output.js +139 -0
- package/lib/harness/page-watch.d.ts +171 -0
- package/lib/harness/page-watch.js +607 -0
- package/lib/harness/parse-check-node.d.ts +3 -0
- package/lib/harness/parse-check-node.js +132 -0
- package/lib/harness/path-args.d.ts +22 -0
- package/lib/harness/path-args.js +148 -0
- package/lib/harness/playwright-chromium.d.ts +16 -0
- package/lib/harness/playwright-chromium.js +86 -0
- package/lib/harness/prepare.d.ts +168 -0
- package/lib/harness/prepare.js +364 -0
- package/lib/harness/prompt-editor.d.ts +17 -0
- package/lib/harness/prompt-editor.js +354 -0
- package/lib/harness/prompt-history.d.ts +13 -0
- package/lib/harness/prompt-history.js +89 -0
- package/lib/harness/rebuild-advice.d.ts +6 -0
- package/lib/harness/rebuild-advice.js +39 -0
- package/lib/harness/run-log.d.ts +47 -0
- package/lib/harness/run-log.js +140 -0
- package/lib/harness/run-logs.d.ts +132 -0
- package/lib/harness/run-logs.js +241 -0
- package/lib/harness/run.d.ts +194 -0
- package/lib/harness/run.js +1973 -0
- package/lib/harness/runs.d.ts +229 -0
- package/lib/harness/runs.js +726 -0
- package/lib/harness/save-html.d.ts +39 -0
- package/lib/harness/save-html.js +89 -0
- package/lib/harness/saved-pages.d.ts +120 -0
- package/lib/harness/saved-pages.js +275 -0
- package/lib/harness/script-mark.d.ts +17 -0
- package/lib/harness/script-mark.js +56 -0
- package/lib/harness/snapshot.d.ts +143 -0
- package/lib/harness/snapshot.js +474 -0
- package/lib/harness/stuck-tabs.d.ts +19 -0
- package/lib/harness/stuck-tabs.js +131 -0
- package/lib/harness/tab-refs.d.ts +20 -0
- package/lib/harness/tab-refs.js +80 -0
- package/lib/harness/tampermonkey.d.ts +71 -0
- package/lib/harness/tampermonkey.js +356 -0
- package/lib/harness/tm-ids.d.ts +18 -0
- package/lib/harness/tm-ids.js +88 -0
- package/lib/harness/violentmonkey.d.ts +34 -0
- package/lib/harness/violentmonkey.js +162 -0
- package/lib/harness/wait.d.ts +77 -0
- package/lib/harness/wait.js +458 -0
- package/lib/http-read.d.ts +30 -0
- package/lib/http-read.js +142 -0
- package/lib/local-file-overrides.d.ts +35 -0
- package/lib/local-file-overrides.js +558 -0
- package/lib/manifest.json +38 -0
- package/lib/markup-response.d.ts +11 -0
- package/lib/markup-response.js +126 -0
- package/lib/match-targets.d.ts +18 -0
- package/lib/match-targets.js +305 -0
- package/lib/menu-captions.d.ts +1 -0
- package/lib/menu-captions.js +22 -0
- package/lib/parse-check-protocol.d.ts +27 -0
- package/lib/parse-check-protocol.js +51 -0
- package/lib/parse-location.d.ts +12 -0
- package/lib/parse-location.js +171 -0
- package/lib/phase-timing.d.ts +12 -0
- package/lib/phase-timing.js +155 -0
- package/lib/public-suffixes.d.ts +1 -0
- package/lib/public-suffixes.js +6957 -0
- package/lib/run-context.d.ts +2 -0
- package/lib/run-context.js +31 -0
- package/lib/runtime-messages.d.ts +10 -0
- package/lib/runtime-messages.js +34 -0
- package/lib/sandboxed-page.d.ts +5 -0
- package/lib/sandboxed-page.js +35 -0
- package/lib/script-build.d.ts +111 -0
- package/lib/script-build.js +787 -0
- package/lib/script-display.d.ts +51 -0
- package/lib/script-display.js +383 -0
- package/lib/script-icon.d.ts +16 -0
- package/lib/script-icon.js +43 -0
- package/lib/script-links.d.ts +24 -0
- package/lib/script-links.js +204 -0
- package/lib/script-source-url.d.ts +8 -0
- package/lib/script-source-url.js +214 -0
- package/lib/script-world.d.ts +6 -0
- package/lib/script-world.js +65 -0
- package/lib/sm-dev-protocol.d.ts +251 -0
- package/lib/sm-dev-protocol.js +84 -0
- package/lib/source-map.d.ts +32 -0
- package/lib/source-map.js +177 -0
- package/lib/stack-link.d.ts +15 -0
- package/lib/stack-link.js +138 -0
- package/lib/unsafe-window-use.d.ts +1 -0
- package/lib/unsafe-window-use.js +229 -0
- package/lib/url-match.d.ts +40 -0
- package/lib/url-match.js +734 -0
- package/lib/userscript-header.d.ts +33 -0
- package/lib/userscript-header.js +248 -0
- package/lib/version-compare.d.ts +6 -0
- package/lib/version-compare.js +141 -0
- package/lib/version-probe.d.ts +17 -0
- package/lib/version-probe.js +120 -0
- package/package.json +55 -3
- package/skills/SourceMonkey-dev/SKILL.md +868 -0
- package/skills/SourceMonkey-dev/references/cdp.md +293 -0
- package/skills/SourceMonkey-dev/references/commands.md +297 -0
- package/skills/SourceMonkey-dev/references/other-managers.md +63 -0
- package/skills/SourceMonkey-dev/references/specs.md +46 -0
- package/skills/SourceMonkey-friction/SKILL.md +103 -0
- package/skills/SourceMonkey-friction/references/template.md +59 -0
package/dist/popup.html
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>SourceMonkey | Active scripts</title>
|
|
6
|
+
<link rel="stylesheet" href="styles.css" />
|
|
7
|
+
<style>
|
|
8
|
+
/* The toolbar popup (docs/status-popup.md). Chrome caps a popup at
|
|
9
|
+
800x600, so the body is a fixed-width column whose script area
|
|
10
|
+
scrolls once the whole thing would pass the cap. Opened in a
|
|
11
|
+
plain tab (`?tab=<id>`, for tests) it keeps the same width.
|
|
12
|
+
The popup is always wider by a scrollbar's width, so the rows
|
|
13
|
+
keep their width whether the script area scrolls or not: Chrome
|
|
14
|
+
grows a popup leftwards, so widening only when a scrollbar
|
|
15
|
+
shows would shift everything. Without a scrollbar the rows take
|
|
16
|
+
that strip as extra right padding (`--gutter`, set in popup.ts),
|
|
17
|
+
so their backgrounds still reach the edge. */
|
|
18
|
+
:root {
|
|
19
|
+
--popup-width: 380px;
|
|
20
|
+
--rule: #e3ddd4;
|
|
21
|
+
--muted: #6b6b6b;
|
|
22
|
+
--link: #1d4ed8;
|
|
23
|
+
--green: #2e7d32;
|
|
24
|
+
--red: #d32f2f;
|
|
25
|
+
--orange: #f57c00;
|
|
26
|
+
--purple: #d500f9;
|
|
27
|
+
--purple-deep: #8e24aa;
|
|
28
|
+
--purple-tint: #fbe9ff;
|
|
29
|
+
--grey: #757575;
|
|
30
|
+
--cyan: #00838f;
|
|
31
|
+
--cyan-tint: #e0f7fa;
|
|
32
|
+
}
|
|
33
|
+
body {
|
|
34
|
+
font: 13px system-ui, sans-serif; color: #222; background: #fff;
|
|
35
|
+
margin: 0; width: calc(var(--popup-width) + var(--scrollbar-width, 0px)); max-height: 590px;
|
|
36
|
+
display: flex; flex-direction: column;
|
|
37
|
+
}
|
|
38
|
+
/* Chrome draws the popup with no frame of its own, so a white
|
|
39
|
+
popup over a white page would have no edge. Drawn on an overlay
|
|
40
|
+
pinned to the viewport rather than as the body's border: Chrome
|
|
41
|
+
can size the popup a pixel short of the body, which clipped the
|
|
42
|
+
right and bottom edges. The header bar's border colour. The
|
|
43
|
+
right and bottom insets are set by popup.ts (`trimEdges`). */
|
|
44
|
+
body::after {
|
|
45
|
+
content: ""; position: fixed; z-index: 30;
|
|
46
|
+
inset: 0 var(--edge-trim-x, 0px) var(--edge-trim-y, 0px) 0;
|
|
47
|
+
border: 1px solid var(--header-border); pointer-events: none;
|
|
48
|
+
}
|
|
49
|
+
.page-header { padding: 0 6px 0 10px; flex: none; }
|
|
50
|
+
.page-header-inner { padding: 6px 0; gap: 8px; }
|
|
51
|
+
.page-header .page-icon { width: 22px; height: 22px; }
|
|
52
|
+
.page-header h1 { font-size: 14px; }
|
|
53
|
+
button { font: inherit; font-size: 12px; padding: 0 9px; cursor: pointer; }
|
|
54
|
+
|
|
55
|
+
/* The ⋯ buttons: borderless until hovered or open. */
|
|
56
|
+
button.more-menu {
|
|
57
|
+
width: 24px; padding: 0; border-color: transparent; background: transparent;
|
|
58
|
+
font-size: 16px; font-weight: 400; line-height: 1; color: var(--muted); flex: none;
|
|
59
|
+
}
|
|
60
|
+
button.more-menu:hover, button.more-menu[aria-expanded="true"] {
|
|
61
|
+
background: var(--btn-bg-hover); border-color: var(--btn-border);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.banner-row {
|
|
65
|
+
display: flex; align-items: center; gap: 8px; flex: none;
|
|
66
|
+
padding: 5px 8px 5px 10px; font-size: 12.5px; font-weight: 600;
|
|
67
|
+
}
|
|
68
|
+
.banner-row span { flex: 1; }
|
|
69
|
+
.banner-row.reload { background: var(--purple-tint); color: var(--purple-deep); border-bottom: 1px solid #e7b6f2; }
|
|
70
|
+
.banner-row.reload::before {
|
|
71
|
+
content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--purple); flex: none;
|
|
72
|
+
}
|
|
73
|
+
.banner-row.reload button { background: var(--purple-deep); border-color: var(--purple-deep); color: #fff; }
|
|
74
|
+
.banner-row.reload button:hover { background: #7b1fa2; }
|
|
75
|
+
.banner-row.sm-dev { background: var(--cyan-tint); color: var(--cyan); border-bottom: 1px solid #a5dde3; }
|
|
76
|
+
.banner-row.user-scripts-off { background: #fdecea; color: #b71c1c; border-bottom: 1px solid #f5c2c0; font-weight: 400; }
|
|
77
|
+
.banner-row.user-scripts-off strong { display: block; font-weight: 600; }
|
|
78
|
+
.banner-row.user-scripts-off a { color: inherit; }
|
|
79
|
+
.banner-row.user-scripts-off code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9em; }
|
|
80
|
+
|
|
81
|
+
/* Only the script list gives up height at the popup's cap. */
|
|
82
|
+
#banners { flex: none; }
|
|
83
|
+
/* No native scroll anchoring: popup.ts keeps the top row in place
|
|
84
|
+
itself (restoreAnchor), around its own scrolling for banners. */
|
|
85
|
+
.scripts { overflow-y: auto; min-height: 0; flex: 1 1 auto; overflow-anchor: none; }
|
|
86
|
+
.section-head {
|
|
87
|
+
position: sticky; top: 0; z-index: 2;
|
|
88
|
+
/* Darker than the rows, with a rule on both edges, so the
|
|
89
|
+
Disabled bar doesn't blend into the white row above it. */
|
|
90
|
+
background: #ece5da; border-top: 1px solid #c9bba6; border-bottom: 1px solid #c9bba6;
|
|
91
|
+
padding: 3px calc(10px + var(--gutter, 0px)) 3px 10px; font-size: 11px; font-weight: 700; line-height: 15px;
|
|
92
|
+
letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted);
|
|
93
|
+
}
|
|
94
|
+
.empty-note { padding: 7px calc(10px + var(--gutter, 0px)) 9px 10px; color: var(--muted); font-style: italic; }
|
|
95
|
+
.empty-page { padding: 22px calc(16px + var(--gutter, 0px)) 22px 16px; text-align: center; color: var(--muted); }
|
|
96
|
+
|
|
97
|
+
.group-head {
|
|
98
|
+
display: flex; align-items: center; gap: 6px;
|
|
99
|
+
padding: 4px calc(4px + var(--gutter, 0px)) 0 8px; font-weight: 600; border-top: 1px solid var(--rule);
|
|
100
|
+
}
|
|
101
|
+
.section-head + .group-head { border-top: none; }
|
|
102
|
+
/* The first bar sits right under the header bar's own border. */
|
|
103
|
+
.script-section:first-child .section-head { border-top: none; }
|
|
104
|
+
.group-head .collection-name {
|
|
105
|
+
color: inherit; text-decoration: none; min-width: 0; overflow-wrap: anywhere;
|
|
106
|
+
}
|
|
107
|
+
.group-head .collection-name:hover { text-decoration: underline; }
|
|
108
|
+
.group-head .collection-type-bubble { font-size: 9.5px; line-height: 14px; padding: 0 6px; }
|
|
109
|
+
.group-head .spacer { flex: 1; }
|
|
110
|
+
.collection-off {
|
|
111
|
+
font-size: 11px; font-weight: 600; line-height: 16px; padding: 0 7px; border-radius: 8px;
|
|
112
|
+
color: var(--muted); border: 1px solid #c8c8c8; white-space: nowrap;
|
|
113
|
+
}
|
|
114
|
+
.group-head.off .collection-name, .group-head.off .collection-type-bubble { opacity: 0.6; }
|
|
115
|
+
|
|
116
|
+
.row { padding: 4px calc(4px + var(--gutter, 0px)) 4px 8px; border-bottom: 1px solid #f1ede7; }
|
|
117
|
+
/* A row's ⋯ sits centered between what's left of it (the pill, say)
|
|
118
|
+
and the scrollbar, or the popup's edge when there is none: the
|
|
119
|
+
spare strip (`--gutter`) is split either side of it. The row's
|
|
120
|
+
other content keeps its width either way, so only the ⋯ moves
|
|
121
|
+
as a scrollbar comes and goes. The -2px narrows the flex gap to
|
|
122
|
+
the 4px on its right. */
|
|
123
|
+
.row button.more-menu, .group-head button.more-menu {
|
|
124
|
+
margin-left: calc(var(--gutter, 0px) / 2 - 2px); margin-right: calc(var(--gutter, 0px) / -2);
|
|
125
|
+
}
|
|
126
|
+
.row:last-child { border-bottom: none; }
|
|
127
|
+
/* Top-aligned so a name that wraps keeps its controls on its
|
|
128
|
+
first line. */
|
|
129
|
+
.row-main { display: flex; align-items: flex-start; gap: 6px; min-height: 24px; }
|
|
130
|
+
.row input[type="checkbox"] { margin: 5px 0 0; width: 14px; height: 14px; flex: none; cursor: pointer; }
|
|
131
|
+
/* Ticked but not running: its collection is off. */
|
|
132
|
+
.row.muted input[type="checkbox"] { opacity: 0.45; }
|
|
133
|
+
.row .script-name {
|
|
134
|
+
flex: 1; min-width: 0; color: inherit; text-decoration: none;
|
|
135
|
+
padding-top: 3px; line-height: 1.35; overflow-wrap: anywhere;
|
|
136
|
+
}
|
|
137
|
+
.row .script-name:hover { text-decoration: underline; }
|
|
138
|
+
.row.off .script-name { opacity: 0.55; }
|
|
139
|
+
.version-line { margin: 1px 0 0 20px; font-size: 11.5px; color: var(--muted); }
|
|
140
|
+
|
|
141
|
+
/* One width for every status, so the column lines up. Sized for
|
|
142
|
+
the longest label, "Reload to run". */
|
|
143
|
+
.pill {
|
|
144
|
+
flex: none; width: 94px; box-sizing: border-box; margin-top: 3px;
|
|
145
|
+
font-size: 11px; font-weight: 600; line-height: 16px; text-align: center;
|
|
146
|
+
border-radius: 8px; border: 1px solid transparent; color: #fff;
|
|
147
|
+
text-decoration: none; white-space: nowrap;
|
|
148
|
+
}
|
|
149
|
+
/* Reload to run is a button (it reloads): undo the shared button
|
|
150
|
+
height and padding, so it matches the link pills. */
|
|
151
|
+
button.pill { height: auto; padding: 0; }
|
|
152
|
+
.pill:hover { filter: brightness(0.92); }
|
|
153
|
+
.pill.ok { background: var(--green); }
|
|
154
|
+
.pill.error, .pill.rejected, .pill.invalid { background: var(--red); }
|
|
155
|
+
.pill.reload { background: var(--purple); }
|
|
156
|
+
.pill.missing, .pill.unexpected { background: var(--orange); }
|
|
157
|
+
.pill.not-loaded { background: var(--grey); }
|
|
158
|
+
/* Amber outline: a warning leaves the badge color alone, so it gets no solid color. */
|
|
159
|
+
.pill.warning { background: #fff8e1; color: #7a5800; border-color: #f9a825; }
|
|
160
|
+
.pill.pending, .pill.still-running, .pill.untracked {
|
|
161
|
+
background: var(--purple-tint); color: var(--purple-deep); border-color: var(--purple);
|
|
162
|
+
}
|
|
163
|
+
/* A manual script not run yet: nothing wrong, nothing to do. */
|
|
164
|
+
.pill.not-run { background: #fff; color: var(--grey); border-color: #c8c8c8; }
|
|
165
|
+
|
|
166
|
+
.commands { margin: 2px 0 1px 14px; display: grid; gap: 1px; }
|
|
167
|
+
.commands button {
|
|
168
|
+
height: auto; text-align: left; border: none; border-radius: 3px; background: transparent;
|
|
169
|
+
padding: 2px 6px; color: var(--link); justify-self: stretch;
|
|
170
|
+
}
|
|
171
|
+
.commands button:hover { background: #eef2ff; }
|
|
172
|
+
.commands button.disclose { color: var(--muted); justify-self: start; }
|
|
173
|
+
.commands button.run-script { font-weight: 600; }
|
|
174
|
+
|
|
175
|
+
</style>
|
|
176
|
+
</head>
|
|
177
|
+
<body>
|
|
178
|
+
<header class="page-header">
|
|
179
|
+
<div class="page-header-inner">
|
|
180
|
+
<a class="page-home page-icon-link" href="collections.html" target="_blank"
|
|
181
|
+
rel="noopener" tabindex="-1" aria-hidden="true">
|
|
182
|
+
<img class="page-icon" src="icons/icon-48.png" alt="" />
|
|
183
|
+
</a>
|
|
184
|
+
<h1><a class="page-home brand" href="collections.html" target="_blank" rel="noopener"
|
|
185
|
+
title="Open the collections page">SourceMonkey</a><span class="brand"> |</span> Active scripts</h1>
|
|
186
|
+
<div class="page-header-actions">
|
|
187
|
+
<button id="open-collections" type="button" title="Open the collections page">Open</button>
|
|
188
|
+
<button id="page-menu" class="more-menu" type="button" aria-label="Page actions"
|
|
189
|
+
aria-haspopup="menu" aria-expanded="false">⋯</button>
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
</header>
|
|
193
|
+
<div id="banners"></div>
|
|
194
|
+
<div id="scripts" class="scripts"></div>
|
|
195
|
+
<script type="module" src="extension/popup.js"></script>
|
|
196
|
+
</body>
|
|
197
|
+
</html>
|