@oddsquad/vite-plugin-lit 0.0.3 → 0.1.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/index.d.ts +3 -2
- package/index.d.ts.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/lib/color-scheme.d.ts +30 -0
- package/lib/color-scheme.d.ts.map +1 -0
- package/lib/color-scheme.js +41 -0
- package/lib/color-scheme.js.map +1 -0
- package/lib/icons.d.ts +18 -0
- package/lib/icons.d.ts.map +1 -0
- package/lib/icons.js +23 -0
- package/lib/icons.js.map +1 -0
- package/lib/plugin.d.ts +117 -6
- package/lib/plugin.d.ts.map +1 -1
- package/lib/plugin.js +596 -20
- package/lib/plugin.js.map +1 -1
- package/lib/runtime/css.d.ts +94 -0
- package/lib/runtime/css.d.ts.map +1 -0
- package/lib/runtime/css.js +112 -0
- package/lib/runtime/css.js.map +1 -0
- package/lib/runtime/edge-panel.d.ts +18 -0
- package/lib/runtime/edge-panel.d.ts.map +1 -0
- package/lib/runtime/edge-panel.js +130 -0
- package/lib/runtime/edge-panel.js.map +1 -0
- package/lib/runtime/fonts.d.ts +18 -0
- package/lib/runtime/fonts.d.ts.map +1 -0
- package/lib/runtime/fonts.js +18 -0
- package/lib/runtime/fonts.js.map +1 -0
- package/lib/runtime/indicator.d.ts +7 -0
- package/lib/runtime/indicator.d.ts.map +1 -0
- package/lib/runtime/indicator.js +141 -0
- package/lib/runtime/indicator.js.map +1 -0
- package/lib/runtime/inspector/collect.d.ts +17 -0
- package/lib/runtime/inspector/collect.d.ts.map +1 -0
- package/lib/runtime/inspector/collect.js +132 -0
- package/lib/runtime/inspector/collect.js.map +1 -0
- package/lib/runtime/inspector/install.d.ts +7 -0
- package/lib/runtime/inspector/install.d.ts.map +1 -0
- package/lib/runtime/inspector/install.js +204 -0
- package/lib/runtime/inspector/install.js.map +1 -0
- package/lib/runtime/inspector/serialize.d.ts +10 -0
- package/lib/runtime/inspector/serialize.d.ts.map +1 -0
- package/lib/runtime/inspector/serialize.js +133 -0
- package/lib/runtime/inspector/serialize.js.map +1 -0
- package/lib/runtime/intern.d.ts.map +1 -1
- package/lib/runtime/intern.js +1 -1
- package/lib/runtime/intern.js.map +1 -1
- package/lib/runtime/overrides.d.ts +25 -0
- package/lib/runtime/overrides.d.ts.map +1 -0
- package/lib/runtime/overrides.js +33 -0
- package/lib/runtime/overrides.js.map +1 -0
- package/lib/runtime/patch.d.ts +6 -15
- package/lib/runtime/patch.d.ts.map +1 -1
- package/lib/runtime/patch.js +81 -28
- package/lib/runtime/patch.js.map +1 -1
- package/lib/runtime/source-meta.d.ts +16 -0
- package/lib/runtime/source-meta.d.ts.map +1 -0
- package/lib/runtime/source-meta.js +8 -0
- package/lib/runtime/source-meta.js.map +1 -0
- package/lib/runtime/source-overlay/editors.d.ts +9 -0
- package/lib/runtime/source-overlay/editors.d.ts.map +1 -0
- package/lib/runtime/source-overlay/editors.js +40 -0
- package/lib/runtime/source-overlay/editors.js.map +1 -0
- package/lib/runtime/source-overlay/mask-path.d.ts +7 -0
- package/lib/runtime/source-overlay/mask-path.d.ts.map +1 -0
- package/lib/runtime/source-overlay/mask-path.js +26 -0
- package/lib/runtime/source-overlay/mask-path.js.map +1 -0
- package/lib/runtime/source-overlay/overlay-element.d.ts +18 -0
- package/lib/runtime/source-overlay/overlay-element.d.ts.map +1 -0
- package/lib/runtime/source-overlay/overlay-element.js +381 -0
- package/lib/runtime/source-overlay/overlay-element.js.map +1 -0
- package/lib/runtime/source-overlay/source-host.d.ts +14 -0
- package/lib/runtime/source-overlay/source-host.d.ts.map +1 -0
- package/lib/runtime/source-overlay/source-host.js +94 -0
- package/lib/runtime/source-overlay/source-host.js.map +1 -0
- package/lib/runtime/source-overlay/template.d.ts +7 -0
- package/lib/runtime/source-overlay/template.d.ts.map +1 -0
- package/lib/runtime/source-overlay/template.js +125 -0
- package/lib/runtime/source-overlay/template.js.map +1 -0
- package/lib/runtime/source-overlay.d.ts +7 -0
- package/lib/runtime/source-overlay.d.ts.map +1 -0
- package/lib/runtime/source-overlay.js +11 -0
- package/lib/runtime/source-overlay.js.map +1 -0
- package/lib/runtime/timeline/clock.d.ts +10 -0
- package/lib/runtime/timeline/clock.d.ts.map +1 -0
- package/lib/runtime/timeline/clock.js +22 -0
- package/lib/runtime/timeline/clock.js.map +1 -0
- package/lib/runtime/timeline/identity.d.ts +37 -0
- package/lib/runtime/timeline/identity.d.ts.map +1 -0
- package/lib/runtime/timeline/identity.js +73 -0
- package/lib/runtime/timeline/identity.js.map +1 -0
- package/lib/runtime/timeline/input.d.ts +16 -0
- package/lib/runtime/timeline/input.d.ts.map +1 -0
- package/lib/runtime/timeline/input.js +87 -0
- package/lib/runtime/timeline/input.js.map +1 -0
- package/lib/runtime/timeline/install.d.ts +7 -0
- package/lib/runtime/timeline/install.d.ts.map +1 -0
- package/lib/runtime/timeline/install.js +69 -0
- package/lib/runtime/timeline/install.js.map +1 -0
- package/lib/runtime/timeline/lifecycle.d.ts +27 -0
- package/lib/runtime/timeline/lifecycle.d.ts.map +1 -0
- package/lib/runtime/timeline/lifecycle.js +225 -0
- package/lib/runtime/timeline/lifecycle.js.map +1 -0
- package/lib/runtime/timeline/public-api.d.ts +28 -0
- package/lib/runtime/timeline/public-api.d.ts.map +1 -0
- package/lib/runtime/timeline/public-api.js +44 -0
- package/lib/runtime/timeline/public-api.js.map +1 -0
- package/lib/runtime/timeline/render.d.ts +39 -0
- package/lib/runtime/timeline/render.d.ts.map +1 -0
- package/lib/runtime/timeline/render.js +109 -0
- package/lib/runtime/timeline/render.js.map +1 -0
- package/lib/runtime/timeline/transport.d.ts +42 -0
- package/lib/runtime/timeline/transport.d.ts.map +1 -0
- package/lib/runtime/timeline/transport.js +86 -0
- package/lib/runtime/timeline/transport.js.map +1 -0
- package/lib/segmented-tabs.d.ts +33 -0
- package/lib/segmented-tabs.d.ts.map +1 -0
- package/lib/segmented-tabs.js +129 -0
- package/lib/segmented-tabs.js.map +1 -0
- package/lib/source-meta.d.ts +26 -0
- package/lib/source-meta.d.ts.map +1 -0
- package/lib/source-meta.js +129 -0
- package/lib/source-meta.js.map +1 -0
- package/lib/timeline-plugin.d.ts +72 -0
- package/lib/timeline-plugin.d.ts.map +1 -0
- package/lib/timeline-plugin.js +376 -0
- package/lib/timeline-plugin.js.map +1 -0
- package/lib/tokens.d.ts +38 -0
- package/lib/tokens.d.ts.map +1 -0
- package/lib/tokens.js +263 -0
- package/lib/tokens.js.map +1 -0
- package/lib/transform.d.ts +5 -5
- package/lib/transform.d.ts.map +1 -1
- package/lib/transform.js +3 -3
- package/lib/transform.js.map +1 -1
- package/lib/types.d.ts +34 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +7 -0
- package/lib/types.js.map +1 -0
- package/lib/wrap-table.d.ts.map +1 -1
- package/lib/wrap-table.js.map +1 -1
- package/package.json +18 -4
- package/panel/components-view.d.ts +60 -0
- package/panel/components-view.d.ts.map +1 -0
- package/panel/components-view.js +581 -0
- package/panel/components-view.js.map +1 -0
- package/panel/devtools-settings.d.ts +41 -0
- package/panel/devtools-settings.d.ts.map +1 -0
- package/panel/devtools-settings.js +463 -0
- package/panel/devtools-settings.js.map +1 -0
- package/panel/index.html +29 -0
- package/panel/lit-devtools-panel.d.ts +37 -0
- package/panel/lit-devtools-panel.d.ts.map +1 -0
- package/panel/lit-devtools-panel.js +183 -0
- package/panel/lit-devtools-panel.js.map +1 -0
- package/panel/timeline-event-list.d.ts +43 -0
- package/panel/timeline-event-list.d.ts.map +1 -0
- package/panel/timeline-event-list.js +416 -0
- package/panel/timeline-event-list.js.map +1 -0
- package/panel/timeline-layers.d.ts +25 -0
- package/panel/timeline-layers.d.ts.map +1 -0
- package/panel/timeline-layers.js +96 -0
- package/panel/timeline-layers.js.map +1 -0
- package/panel/timeline-view.d.ts +38 -0
- package/panel/timeline-view.d.ts.map +1 -0
- package/panel/timeline-view.js +234 -0
- package/panel/timeline-view.js.map +1 -0
- package/types/inspector.d.ts +130 -0
- package/types/inspector.d.ts.map +1 -0
- package/types/inspector.js +16 -0
- package/types/inspector.js.map +1 -0
- package/types/timeline.d.ts +98 -0
- package/types/timeline.d.ts.map +1 -0
- package/types/timeline.js +39 -0
- package/types/timeline.js.map +1 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { LitElement } from 'lit';
|
|
7
|
+
/**
|
|
8
|
+
* Settings view. Shows the plugin's resolved feature settings and lets the
|
|
9
|
+
* HMR ones be overridden live — persisted (same-origin localStorage, read by
|
|
10
|
+
* the app runtime on load) and pushed over HMR for immediate effect. Settings
|
|
11
|
+
* whose feature is disabled at config time can't be enabled here (their runtime
|
|
12
|
+
* isn't injected); those stay read-only.
|
|
13
|
+
*/
|
|
14
|
+
export declare class DevtoolsSettings extends LitElement {
|
|
15
|
+
static styles: import("lit").CSSResult[];
|
|
16
|
+
private _settings;
|
|
17
|
+
private _override;
|
|
18
|
+
private _loaded;
|
|
19
|
+
private _colorScheme;
|
|
20
|
+
connectedCallback(): void;
|
|
21
|
+
private _readOverride;
|
|
22
|
+
private _setColorScheme;
|
|
23
|
+
private _fetch;
|
|
24
|
+
/** Persist the merged override and push it to the app runtime. */
|
|
25
|
+
private _push;
|
|
26
|
+
private _set;
|
|
27
|
+
/** Clear overrides and revert the runtime to the resolved env values. */
|
|
28
|
+
private _reset;
|
|
29
|
+
private _pill;
|
|
30
|
+
private _ovr;
|
|
31
|
+
private _readonlyRow;
|
|
32
|
+
private _renderAppearance;
|
|
33
|
+
private _renderHmr;
|
|
34
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
35
|
+
}
|
|
36
|
+
declare global {
|
|
37
|
+
interface HTMLElementTagNameMap {
|
|
38
|
+
'devtools-settings': DevtoolsSettings;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=devtools-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-settings.d.ts","sourceRoot":"","sources":["../../../packages/labs/vite-plugin-lit/src/panel/devtools-settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAqB,MAAM,KAAK,CAAC;AAkBnD;;;;;;GAMG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAC9C,OAAgB,MAAM,4BAoIpB;IAEO,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAiC;IAErD,iBAAiB;IAO1B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;YAKT,MAAM;IAWpB,kEAAkE;IAClE,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,IAAI;IAOZ,yEAAyE;IACzE,OAAO,CAAC,MAAM;IAyBd,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,UAAU;IAmGT,MAAM;CAqFhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,gBAAgB,CAAC;KACvC;CACF"}
|
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
+
};
|
|
12
|
+
import { LitElement, html, css, nothing } from 'lit';
|
|
13
|
+
import { customElement, state } from 'lit/decorators.js';
|
|
14
|
+
import { tokens } from '../lib/tokens.js';
|
|
15
|
+
import { readColorSchemePreference, setColorSchemePreference, } from '../lib/color-scheme.js';
|
|
16
|
+
import { SETTINGS_OVERRIDE_LS_KEY, SOURCE_OVERLAY_EDITORS, } from '../types/timeline.js';
|
|
17
|
+
/** GET resolved settings / POST a {@link SettingsOverride} (server rebroadcasts). */
|
|
18
|
+
const SETTINGS_PATH = '/__lit-devtools-settings';
|
|
19
|
+
/**
|
|
20
|
+
* Settings view. Shows the plugin's resolved feature settings and lets the
|
|
21
|
+
* HMR ones be overridden live — persisted (same-origin localStorage, read by
|
|
22
|
+
* the app runtime on load) and pushed over HMR for immediate effect. Settings
|
|
23
|
+
* whose feature is disabled at config time can't be enabled here (their runtime
|
|
24
|
+
* isn't injected); those stay read-only.
|
|
25
|
+
*/
|
|
26
|
+
let DevtoolsSettings = class DevtoolsSettings extends LitElement {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(...arguments);
|
|
29
|
+
this._settings = null;
|
|
30
|
+
this._override = {};
|
|
31
|
+
this._loaded = false;
|
|
32
|
+
this._colorScheme = 'auto';
|
|
33
|
+
}
|
|
34
|
+
static { this.styles = [
|
|
35
|
+
tokens,
|
|
36
|
+
css `
|
|
37
|
+
:host {
|
|
38
|
+
display: block;
|
|
39
|
+
flex: 1;
|
|
40
|
+
overflow-y: auto;
|
|
41
|
+
padding: var(--lit-devtools-space-5) var(--lit-devtools-space-6);
|
|
42
|
+
font-size: var(--lit-devtools-text-xs);
|
|
43
|
+
line-height: var(--lit-devtools-leading-normal);
|
|
44
|
+
}
|
|
45
|
+
.note {
|
|
46
|
+
color: var(--lit-devtools-text-muted);
|
|
47
|
+
margin: 0 0 var(--lit-devtools-space-5);
|
|
48
|
+
}
|
|
49
|
+
.note code {
|
|
50
|
+
color: var(--lit-devtools-accent);
|
|
51
|
+
font-family: var(--lit-devtools-font-mono);
|
|
52
|
+
}
|
|
53
|
+
section {
|
|
54
|
+
border: 1px solid var(--lit-devtools-border);
|
|
55
|
+
border-radius: var(--lit-devtools-radius-md);
|
|
56
|
+
margin-bottom: var(--lit-devtools-space-5);
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
}
|
|
59
|
+
h3 {
|
|
60
|
+
display: flex;
|
|
61
|
+
align-items: center;
|
|
62
|
+
gap: var(--lit-devtools-space-4);
|
|
63
|
+
margin: 0;
|
|
64
|
+
padding: var(--lit-devtools-space-3) var(--lit-devtools-space-5);
|
|
65
|
+
font-size: var(--lit-devtools-text-xs);
|
|
66
|
+
background: var(--lit-devtools-surface-low);
|
|
67
|
+
border-bottom: 1px solid var(--lit-devtools-border);
|
|
68
|
+
}
|
|
69
|
+
.pill {
|
|
70
|
+
font-size: var(--lit-devtools-text-2xs);
|
|
71
|
+
font-weight: var(--lit-devtools-weight-semibold);
|
|
72
|
+
text-transform: uppercase;
|
|
73
|
+
letter-spacing: var(--lit-devtools-tracking-caps);
|
|
74
|
+
padding: 1px var(--lit-devtools-space-4);
|
|
75
|
+
border-radius: var(--lit-devtools-radius-pill);
|
|
76
|
+
border: 1px solid var(--lit-devtools-border-strong);
|
|
77
|
+
color: var(--lit-devtools-text-muted);
|
|
78
|
+
}
|
|
79
|
+
.pill.on {
|
|
80
|
+
color: var(--lit-devtools-accent);
|
|
81
|
+
border-color: var(--lit-devtools-accent);
|
|
82
|
+
background: var(--lit-devtools-accent-soft);
|
|
83
|
+
}
|
|
84
|
+
.reset {
|
|
85
|
+
margin-left: auto;
|
|
86
|
+
appearance: none;
|
|
87
|
+
border: 1px solid var(--lit-devtools-border-strong);
|
|
88
|
+
background: var(--lit-devtools-surface-elevated);
|
|
89
|
+
color: var(--lit-devtools-text);
|
|
90
|
+
border-radius: var(--lit-devtools-radius-sm);
|
|
91
|
+
font: inherit;
|
|
92
|
+
font-size: var(--lit-devtools-text-2xs);
|
|
93
|
+
padding: var(--lit-devtools-space-1) var(--lit-devtools-space-4);
|
|
94
|
+
cursor: pointer;
|
|
95
|
+
}
|
|
96
|
+
.reset:hover {
|
|
97
|
+
background: var(--lit-devtools-surface-hover);
|
|
98
|
+
}
|
|
99
|
+
table {
|
|
100
|
+
width: 100%;
|
|
101
|
+
border-collapse: collapse;
|
|
102
|
+
}
|
|
103
|
+
td {
|
|
104
|
+
padding: var(--lit-devtools-space-3) var(--lit-devtools-space-5);
|
|
105
|
+
vertical-align: middle;
|
|
106
|
+
}
|
|
107
|
+
tr:not(:last-child) td {
|
|
108
|
+
border-bottom: 1px solid var(--lit-devtools-border);
|
|
109
|
+
}
|
|
110
|
+
.key {
|
|
111
|
+
color: var(--lit-devtools-text-muted);
|
|
112
|
+
white-space: nowrap;
|
|
113
|
+
width: 1%;
|
|
114
|
+
}
|
|
115
|
+
.val {
|
|
116
|
+
color: var(--lit-devtools-text);
|
|
117
|
+
font-family: var(--lit-devtools-font-mono);
|
|
118
|
+
}
|
|
119
|
+
.env {
|
|
120
|
+
color: var(--lit-devtools-text-muted);
|
|
121
|
+
font-family: var(--lit-devtools-font-mono);
|
|
122
|
+
font-size: var(--lit-devtools-text-2xs);
|
|
123
|
+
}
|
|
124
|
+
.ovr {
|
|
125
|
+
color: var(--lit-devtools-warning);
|
|
126
|
+
font-size: var(--lit-devtools-text-2xs);
|
|
127
|
+
margin-left: var(--lit-devtools-space-3);
|
|
128
|
+
vertical-align: middle;
|
|
129
|
+
}
|
|
130
|
+
label.toggle {
|
|
131
|
+
display: inline-flex;
|
|
132
|
+
align-items: center;
|
|
133
|
+
gap: var(--lit-devtools-space-3);
|
|
134
|
+
cursor: pointer;
|
|
135
|
+
vertical-align: middle;
|
|
136
|
+
}
|
|
137
|
+
input,
|
|
138
|
+
select {
|
|
139
|
+
accent-color: var(--lit-devtools-accent);
|
|
140
|
+
font: inherit;
|
|
141
|
+
font-family: var(--lit-devtools-font-mono);
|
|
142
|
+
vertical-align: middle;
|
|
143
|
+
}
|
|
144
|
+
select {
|
|
145
|
+
background: var(--lit-devtools-surface-elevated);
|
|
146
|
+
color: var(--lit-devtools-text);
|
|
147
|
+
border: 1px solid var(--lit-devtools-border-strong);
|
|
148
|
+
border-radius: var(--lit-devtools-radius-sm);
|
|
149
|
+
padding: 1px var(--lit-devtools-space-2);
|
|
150
|
+
}
|
|
151
|
+
.row-disabled {
|
|
152
|
+
opacity: 0.5;
|
|
153
|
+
}
|
|
154
|
+
.empty {
|
|
155
|
+
color: var(--lit-devtools-text-muted);
|
|
156
|
+
padding: var(--lit-devtools-space-3) var(--lit-devtools-space-5);
|
|
157
|
+
}
|
|
158
|
+
.empty code {
|
|
159
|
+
color: var(--lit-devtools-accent);
|
|
160
|
+
font-family: var(--lit-devtools-font-mono);
|
|
161
|
+
}
|
|
162
|
+
.loading {
|
|
163
|
+
color: var(--lit-devtools-text-muted);
|
|
164
|
+
}
|
|
165
|
+
`,
|
|
166
|
+
]; }
|
|
167
|
+
connectedCallback() {
|
|
168
|
+
super.connectedCallback();
|
|
169
|
+
this._override = this._readOverride();
|
|
170
|
+
this._colorScheme = readColorSchemePreference();
|
|
171
|
+
void this._fetch();
|
|
172
|
+
}
|
|
173
|
+
_readOverride() {
|
|
174
|
+
try {
|
|
175
|
+
const raw = localStorage.getItem(SETTINGS_OVERRIDE_LS_KEY);
|
|
176
|
+
if (raw !== null)
|
|
177
|
+
return JSON.parse(raw);
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
// ignore
|
|
181
|
+
}
|
|
182
|
+
return {};
|
|
183
|
+
}
|
|
184
|
+
_setColorScheme(scheme) {
|
|
185
|
+
this._colorScheme = scheme;
|
|
186
|
+
setColorSchemePreference(scheme);
|
|
187
|
+
}
|
|
188
|
+
async _fetch() {
|
|
189
|
+
try {
|
|
190
|
+
const res = await fetch(SETTINGS_PATH);
|
|
191
|
+
this._settings = (await res.json());
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
this._settings = null;
|
|
195
|
+
}
|
|
196
|
+
finally {
|
|
197
|
+
this._loaded = true;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/** Persist the merged override and push it to the app runtime. */
|
|
201
|
+
_push(override) {
|
|
202
|
+
this._override = override;
|
|
203
|
+
try {
|
|
204
|
+
localStorage.setItem(SETTINGS_OVERRIDE_LS_KEY, JSON.stringify(override));
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
// ignore
|
|
208
|
+
}
|
|
209
|
+
fetch(SETTINGS_PATH, {
|
|
210
|
+
method: 'POST',
|
|
211
|
+
headers: { 'Content-Type': 'application/json' },
|
|
212
|
+
body: JSON.stringify(override),
|
|
213
|
+
}).catch(() => {
|
|
214
|
+
// dev tool — ignore network errors
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
_set(key, value) {
|
|
218
|
+
this._push({ ...this._override, [key]: value });
|
|
219
|
+
}
|
|
220
|
+
/** Clear overrides and revert the runtime to the resolved env values. */
|
|
221
|
+
_reset() {
|
|
222
|
+
const s = this._settings;
|
|
223
|
+
try {
|
|
224
|
+
localStorage.removeItem(SETTINGS_OVERRIDE_LS_KEY);
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
// ignore
|
|
228
|
+
}
|
|
229
|
+
this._override = {};
|
|
230
|
+
if (s !== null) {
|
|
231
|
+
// Send the env values explicitly so the live runtime reverts now (an
|
|
232
|
+
// empty override would leave the current live values in place).
|
|
233
|
+
fetch(SETTINGS_PATH, {
|
|
234
|
+
method: 'POST',
|
|
235
|
+
headers: { 'Content-Type': 'application/json' },
|
|
236
|
+
body: JSON.stringify({
|
|
237
|
+
hmrReconnect: s.hmr.reconnect,
|
|
238
|
+
hmrOnIncompatible: s.hmr.onIncompatible,
|
|
239
|
+
hmrIndicatorVisible: s.hmr.indicatorEnabled,
|
|
240
|
+
hmrIndicatorCount: s.hmr.indicatorCount,
|
|
241
|
+
sourceOverlayEditor: s.sourceOverlay.editor,
|
|
242
|
+
}),
|
|
243
|
+
}).catch(() => { });
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
_pill(on) {
|
|
247
|
+
return html `<span class="pill ${on ? 'on' : ''}"
|
|
248
|
+
>${on ? 'enabled' : 'disabled'}</span
|
|
249
|
+
>`;
|
|
250
|
+
}
|
|
251
|
+
_ovr(overridden) {
|
|
252
|
+
return overridden ? html `<span class="ovr">(overridden)</span>` : nothing;
|
|
253
|
+
}
|
|
254
|
+
_readonlyRow(key, value, env) {
|
|
255
|
+
return html `
|
|
256
|
+
<tr>
|
|
257
|
+
<td class="key">${key}</td>
|
|
258
|
+
<td class="val">
|
|
259
|
+
${String(value)}
|
|
260
|
+
${env ? html `<span class="env">${env}</span>` : nothing}
|
|
261
|
+
</td>
|
|
262
|
+
</tr>
|
|
263
|
+
`;
|
|
264
|
+
}
|
|
265
|
+
_renderAppearance() {
|
|
266
|
+
return html `
|
|
267
|
+
<section>
|
|
268
|
+
<h3>Appearance</h3>
|
|
269
|
+
<table>
|
|
270
|
+
<tr>
|
|
271
|
+
<td class="key">color scheme</td>
|
|
272
|
+
<td class="val">
|
|
273
|
+
<select
|
|
274
|
+
@change=${(e) => this._setColorScheme(e.target
|
|
275
|
+
.value)}
|
|
276
|
+
>
|
|
277
|
+
${[
|
|
278
|
+
['auto', 'Auto'],
|
|
279
|
+
['dark', 'Dark'],
|
|
280
|
+
['light', 'Light'],
|
|
281
|
+
].map(([value, label]) => html `<option
|
|
282
|
+
value=${value}
|
|
283
|
+
?selected=${this._colorScheme === value}
|
|
284
|
+
>
|
|
285
|
+
${label}
|
|
286
|
+
</option>`)}
|
|
287
|
+
</select>
|
|
288
|
+
</td>
|
|
289
|
+
</tr>
|
|
290
|
+
</table>
|
|
291
|
+
</section>
|
|
292
|
+
`;
|
|
293
|
+
}
|
|
294
|
+
_renderHmr(s) {
|
|
295
|
+
const o = this._override;
|
|
296
|
+
if (!s.hmr.enabled) {
|
|
297
|
+
return html `<p class="empty">
|
|
298
|
+
Enable with <code>hmr: true</code> or <code>LIT_PLUGIN_HMR=true</code>.
|
|
299
|
+
</p>`;
|
|
300
|
+
}
|
|
301
|
+
const reconnect = o.hmrReconnect ?? s.hmr.reconnect;
|
|
302
|
+
const onIncompatible = o.hmrOnIncompatible ?? s.hmr.onIncompatible;
|
|
303
|
+
// The indicator element only exists when enabled at config time, so it can
|
|
304
|
+
// be hidden/shown (and its count toggled) live but not created here.
|
|
305
|
+
const indicatorVisible = o.hmrIndicatorVisible ?? s.hmr.indicatorEnabled;
|
|
306
|
+
const indicatorCount = o.hmrIndicatorCount ?? s.hmr.indicatorCount;
|
|
307
|
+
return html `
|
|
308
|
+
<table>
|
|
309
|
+
<tr>
|
|
310
|
+
<td class="key">reconnect</td>
|
|
311
|
+
<td class="val">
|
|
312
|
+
<label class="toggle">
|
|
313
|
+
<input
|
|
314
|
+
type="checkbox"
|
|
315
|
+
.checked=${reconnect}
|
|
316
|
+
@change=${(e) => this._set('hmrReconnect', e.target.checked)}
|
|
317
|
+
/>
|
|
318
|
+
${reconnect ? 'on' : 'off'}
|
|
319
|
+
</label>
|
|
320
|
+
${this._ovr(o.hmrReconnect !== undefined)}
|
|
321
|
+
</td>
|
|
322
|
+
</tr>
|
|
323
|
+
<tr>
|
|
324
|
+
<td class="key">on incompatible</td>
|
|
325
|
+
<td class="val">
|
|
326
|
+
<select
|
|
327
|
+
@change=${(e) => this._set('hmrOnIncompatible', e.target.value)}
|
|
328
|
+
>
|
|
329
|
+
<option value="reload" ?selected=${onIncompatible === 'reload'}>
|
|
330
|
+
reload
|
|
331
|
+
</option>
|
|
332
|
+
<option value="warn" ?selected=${onIncompatible === 'warn'}>
|
|
333
|
+
warn
|
|
334
|
+
</option>
|
|
335
|
+
</select>
|
|
336
|
+
${this._ovr(o.hmrOnIncompatible !== undefined)}
|
|
337
|
+
</td>
|
|
338
|
+
</tr>
|
|
339
|
+
<tr class=${s.hmr.indicatorEnabled ? '' : 'row-disabled'}>
|
|
340
|
+
<td class="key">indicator</td>
|
|
341
|
+
<td class="val">
|
|
342
|
+
<label class="toggle">
|
|
343
|
+
<input
|
|
344
|
+
type="checkbox"
|
|
345
|
+
.checked=${indicatorVisible}
|
|
346
|
+
?disabled=${!s.hmr.indicatorEnabled}
|
|
347
|
+
@change=${(e) => this._set('hmrIndicatorVisible', e.target.checked)}
|
|
348
|
+
/>
|
|
349
|
+
${s.hmr.indicatorEnabled
|
|
350
|
+
? indicatorVisible
|
|
351
|
+
? 'shown'
|
|
352
|
+
: 'hidden'
|
|
353
|
+
: 'off (config)'}
|
|
354
|
+
</label>
|
|
355
|
+
${this._ovr(o.hmrIndicatorVisible !== undefined)}
|
|
356
|
+
</td>
|
|
357
|
+
</tr>
|
|
358
|
+
<tr class=${s.hmr.indicatorEnabled ? '' : 'row-disabled'}>
|
|
359
|
+
<td class="key">indicator count</td>
|
|
360
|
+
<td class="val">
|
|
361
|
+
<label class="toggle">
|
|
362
|
+
<input
|
|
363
|
+
type="checkbox"
|
|
364
|
+
.checked=${indicatorCount}
|
|
365
|
+
?disabled=${!s.hmr.indicatorEnabled}
|
|
366
|
+
@change=${(e) => this._set('hmrIndicatorCount', e.target.checked)}
|
|
367
|
+
/>
|
|
368
|
+
${indicatorCount ? 'shown' : 'hidden'}
|
|
369
|
+
</label>
|
|
370
|
+
${this._ovr(o.hmrIndicatorCount !== undefined)}
|
|
371
|
+
</td>
|
|
372
|
+
</tr>
|
|
373
|
+
</table>
|
|
374
|
+
`;
|
|
375
|
+
}
|
|
376
|
+
render() {
|
|
377
|
+
if (!this._loaded) {
|
|
378
|
+
return html `<p class="loading">Loading settings…</p>`;
|
|
379
|
+
}
|
|
380
|
+
const s = this._settings;
|
|
381
|
+
const appearance = this._renderAppearance();
|
|
382
|
+
if (s === null) {
|
|
383
|
+
return html `${appearance}
|
|
384
|
+
<p class="empty">Settings unavailable.</p>`;
|
|
385
|
+
}
|
|
386
|
+
const hasOverride = Object.keys(this._override).length > 0;
|
|
387
|
+
return html `
|
|
388
|
+
<p class="note">
|
|
389
|
+
Resolved from plugin options and <code>LIT_PLUGIN_*</code> env at
|
|
390
|
+
startup. Controls below override the running app live; the rest are
|
|
391
|
+
config-time (change them in your Vite config / <code>.env</code> and
|
|
392
|
+
restart).
|
|
393
|
+
${hasOverride
|
|
394
|
+
? html `<button class="reset" @click=${this._reset}>
|
|
395
|
+
Reset to env
|
|
396
|
+
</button>`
|
|
397
|
+
: nothing}
|
|
398
|
+
</p>
|
|
399
|
+
|
|
400
|
+
${appearance}
|
|
401
|
+
|
|
402
|
+
<section>
|
|
403
|
+
<h3>HMR ${this._pill(s.hmr.enabled)}</h3>
|
|
404
|
+
${this._renderHmr(s)}
|
|
405
|
+
</section>
|
|
406
|
+
|
|
407
|
+
<section>
|
|
408
|
+
<h3>Source Overlay ${this._pill(s.sourceOverlay.enabled)}</h3>
|
|
409
|
+
${s.sourceOverlay.enabled
|
|
410
|
+
? html `<table>
|
|
411
|
+
${this._readonlyRow('hotkey', `Ctrl+Shift+${s.sourceOverlay.key.toUpperCase()}`, 'LIT_PLUGIN_SOURCE_OVERLAY_KEY')}
|
|
412
|
+
<tr>
|
|
413
|
+
<td class="key">editor</td>
|
|
414
|
+
<td class="val">
|
|
415
|
+
<select
|
|
416
|
+
@change=${(e) => this._set('sourceOverlayEditor', e.target.value)}
|
|
417
|
+
>
|
|
418
|
+
${SOURCE_OVERLAY_EDITORS.map((ed) => html `<option
|
|
419
|
+
value=${ed.value}
|
|
420
|
+
?selected=${ed.value ===
|
|
421
|
+
(this._override.sourceOverlayEditor ??
|
|
422
|
+
s.sourceOverlay.editor)}
|
|
423
|
+
>
|
|
424
|
+
${ed.label}
|
|
425
|
+
</option>`)}
|
|
426
|
+
</select>
|
|
427
|
+
${this._ovr(this._override.sourceOverlayEditor !== undefined)}
|
|
428
|
+
</td>
|
|
429
|
+
</tr>
|
|
430
|
+
${this._readonlyRow('throttle (ms)', s.sourceOverlay.throttleMs, 'LIT_PLUGIN_SOURCE_OVERLAY_THROTTLE_MS')}
|
|
431
|
+
</table>`
|
|
432
|
+
: html `<p class="empty">
|
|
433
|
+
Enable with <code>sourceOverlay: true</code> or
|
|
434
|
+
<code>LIT_PLUGIN_SOURCE_OVERLAY=true</code>.
|
|
435
|
+
</p>`}
|
|
436
|
+
</section>
|
|
437
|
+
|
|
438
|
+
<section>
|
|
439
|
+
<h3>Timeline ${this._pill(s.timeline)}</h3>
|
|
440
|
+
<p class="empty">
|
|
441
|
+
Layers and recording are controlled in the Timeline tab.
|
|
442
|
+
</p>
|
|
443
|
+
</section>
|
|
444
|
+
`;
|
|
445
|
+
}
|
|
446
|
+
};
|
|
447
|
+
__decorate([
|
|
448
|
+
state()
|
|
449
|
+
], DevtoolsSettings.prototype, "_settings", void 0);
|
|
450
|
+
__decorate([
|
|
451
|
+
state()
|
|
452
|
+
], DevtoolsSettings.prototype, "_override", void 0);
|
|
453
|
+
__decorate([
|
|
454
|
+
state()
|
|
455
|
+
], DevtoolsSettings.prototype, "_loaded", void 0);
|
|
456
|
+
__decorate([
|
|
457
|
+
state()
|
|
458
|
+
], DevtoolsSettings.prototype, "_colorScheme", void 0);
|
|
459
|
+
DevtoolsSettings = __decorate([
|
|
460
|
+
customElement('devtools-settings')
|
|
461
|
+
], DevtoolsSettings);
|
|
462
|
+
export { DevtoolsSettings };
|
|
463
|
+
//# sourceMappingURL=devtools-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-settings.js","sourceRoot":"","sources":["../../../packages/labs/vite-plugin-lit/src/panel/devtools-settings.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {LitElement, html, css, nothing} from 'lit';\nimport {customElement, state} from 'lit/decorators.js';\nimport {tokens} from '../lib/tokens.js';\nimport {\n readColorSchemePreference,\n setColorSchemePreference,\n type ColorSchemePreference,\n} from '../lib/color-scheme.js';\nimport {\n SETTINGS_OVERRIDE_LS_KEY,\n SOURCE_OVERLAY_EDITORS,\n type FeatureSettings,\n type SettingsOverride,\n} from '../types/timeline.js';\n\n/** GET resolved settings / POST a {@link SettingsOverride} (server rebroadcasts). */\nconst SETTINGS_PATH = '/__lit-devtools-settings';\n\n/**\n * Settings view. Shows the plugin's resolved feature settings and lets the\n * HMR ones be overridden live — persisted (same-origin localStorage, read by\n * the app runtime on load) and pushed over HMR for immediate effect. Settings\n * whose feature is disabled at config time can't be enabled here (their runtime\n * isn't injected); those stay read-only.\n */\n@customElement('devtools-settings')\nexport class DevtoolsSettings extends LitElement {\n static override styles = [\n tokens,\n css`\n :host {\n display: block;\n flex: 1;\n overflow-y: auto;\n padding: var(--lit-devtools-space-5) var(--lit-devtools-space-6);\n font-size: var(--lit-devtools-text-xs);\n line-height: var(--lit-devtools-leading-normal);\n }\n .note {\n color: var(--lit-devtools-text-muted);\n margin: 0 0 var(--lit-devtools-space-5);\n }\n .note code {\n color: var(--lit-devtools-accent);\n font-family: var(--lit-devtools-font-mono);\n }\n section {\n border: 1px solid var(--lit-devtools-border);\n border-radius: var(--lit-devtools-radius-md);\n margin-bottom: var(--lit-devtools-space-5);\n overflow: hidden;\n }\n h3 {\n display: flex;\n align-items: center;\n gap: var(--lit-devtools-space-4);\n margin: 0;\n padding: var(--lit-devtools-space-3) var(--lit-devtools-space-5);\n font-size: var(--lit-devtools-text-xs);\n background: var(--lit-devtools-surface-low);\n border-bottom: 1px solid var(--lit-devtools-border);\n }\n .pill {\n font-size: var(--lit-devtools-text-2xs);\n font-weight: var(--lit-devtools-weight-semibold);\n text-transform: uppercase;\n letter-spacing: var(--lit-devtools-tracking-caps);\n padding: 1px var(--lit-devtools-space-4);\n border-radius: var(--lit-devtools-radius-pill);\n border: 1px solid var(--lit-devtools-border-strong);\n color: var(--lit-devtools-text-muted);\n }\n .pill.on {\n color: var(--lit-devtools-accent);\n border-color: var(--lit-devtools-accent);\n background: var(--lit-devtools-accent-soft);\n }\n .reset {\n margin-left: auto;\n appearance: none;\n border: 1px solid var(--lit-devtools-border-strong);\n background: var(--lit-devtools-surface-elevated);\n color: var(--lit-devtools-text);\n border-radius: var(--lit-devtools-radius-sm);\n font: inherit;\n font-size: var(--lit-devtools-text-2xs);\n padding: var(--lit-devtools-space-1) var(--lit-devtools-space-4);\n cursor: pointer;\n }\n .reset:hover {\n background: var(--lit-devtools-surface-hover);\n }\n table {\n width: 100%;\n border-collapse: collapse;\n }\n td {\n padding: var(--lit-devtools-space-3) var(--lit-devtools-space-5);\n vertical-align: middle;\n }\n tr:not(:last-child) td {\n border-bottom: 1px solid var(--lit-devtools-border);\n }\n .key {\n color: var(--lit-devtools-text-muted);\n white-space: nowrap;\n width: 1%;\n }\n .val {\n color: var(--lit-devtools-text);\n font-family: var(--lit-devtools-font-mono);\n }\n .env {\n color: var(--lit-devtools-text-muted);\n font-family: var(--lit-devtools-font-mono);\n font-size: var(--lit-devtools-text-2xs);\n }\n .ovr {\n color: var(--lit-devtools-warning);\n font-size: var(--lit-devtools-text-2xs);\n margin-left: var(--lit-devtools-space-3);\n vertical-align: middle;\n }\n label.toggle {\n display: inline-flex;\n align-items: center;\n gap: var(--lit-devtools-space-3);\n cursor: pointer;\n vertical-align: middle;\n }\n input,\n select {\n accent-color: var(--lit-devtools-accent);\n font: inherit;\n font-family: var(--lit-devtools-font-mono);\n vertical-align: middle;\n }\n select {\n background: var(--lit-devtools-surface-elevated);\n color: var(--lit-devtools-text);\n border: 1px solid var(--lit-devtools-border-strong);\n border-radius: var(--lit-devtools-radius-sm);\n padding: 1px var(--lit-devtools-space-2);\n }\n .row-disabled {\n opacity: 0.5;\n }\n .empty {\n color: var(--lit-devtools-text-muted);\n padding: var(--lit-devtools-space-3) var(--lit-devtools-space-5);\n }\n .empty code {\n color: var(--lit-devtools-accent);\n font-family: var(--lit-devtools-font-mono);\n }\n .loading {\n color: var(--lit-devtools-text-muted);\n }\n `,\n ];\n\n @state() private _settings: FeatureSettings | null = null;\n @state() private _override: SettingsOverride = {};\n @state() private _loaded = false;\n @state() private _colorScheme: ColorSchemePreference = 'auto';\n\n override connectedCallback() {\n super.connectedCallback();\n this._override = this._readOverride();\n this._colorScheme = readColorSchemePreference();\n void this._fetch();\n }\n\n private _readOverride(): SettingsOverride {\n try {\n const raw = localStorage.getItem(SETTINGS_OVERRIDE_LS_KEY);\n if (raw !== null) return JSON.parse(raw) as SettingsOverride;\n } catch {\n // ignore\n }\n return {};\n }\n\n private _setColorScheme(scheme: ColorSchemePreference): void {\n this._colorScheme = scheme;\n setColorSchemePreference(scheme);\n }\n\n private async _fetch() {\n try {\n const res = await fetch(SETTINGS_PATH);\n this._settings = (await res.json()) as FeatureSettings | null;\n } catch {\n this._settings = null;\n } finally {\n this._loaded = true;\n }\n }\n\n /** Persist the merged override and push it to the app runtime. */\n private _push(override: SettingsOverride) {\n this._override = override;\n try {\n localStorage.setItem(SETTINGS_OVERRIDE_LS_KEY, JSON.stringify(override));\n } catch {\n // ignore\n }\n fetch(SETTINGS_PATH, {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify(override),\n }).catch(() => {\n // dev tool — ignore network errors\n });\n }\n\n private _set<K extends keyof SettingsOverride>(\n key: K,\n value: SettingsOverride[K]\n ) {\n this._push({...this._override, [key]: value});\n }\n\n /** Clear overrides and revert the runtime to the resolved env values. */\n private _reset() {\n const s = this._settings;\n try {\n localStorage.removeItem(SETTINGS_OVERRIDE_LS_KEY);\n } catch {\n // ignore\n }\n this._override = {};\n if (s !== null) {\n // Send the env values explicitly so the live runtime reverts now (an\n // empty override would leave the current live values in place).\n fetch(SETTINGS_PATH, {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({\n hmrReconnect: s.hmr.reconnect,\n hmrOnIncompatible: s.hmr.onIncompatible,\n hmrIndicatorVisible: s.hmr.indicatorEnabled,\n hmrIndicatorCount: s.hmr.indicatorCount,\n sourceOverlayEditor: s.sourceOverlay.editor,\n } satisfies SettingsOverride),\n }).catch(() => {});\n }\n }\n\n private _pill(on: boolean) {\n return html`<span class=\"pill ${on ? 'on' : ''}\"\n >${on ? 'enabled' : 'disabled'}</span\n >`;\n }\n\n private _ovr(overridden: boolean) {\n return overridden ? html`<span class=\"ovr\">(overridden)</span>` : nothing;\n }\n\n private _readonlyRow(key: string, value: unknown, env?: string) {\n return html`\n <tr>\n <td class=\"key\">${key}</td>\n <td class=\"val\">\n ${String(value)}\n ${env ? html`<span class=\"env\">${env}</span>` : nothing}\n </td>\n </tr>\n `;\n }\n\n private _renderAppearance() {\n return html`\n <section>\n <h3>Appearance</h3>\n <table>\n <tr>\n <td class=\"key\">color scheme</td>\n <td class=\"val\">\n <select\n @change=${(e: Event) =>\n this._setColorScheme(\n (e.target as HTMLSelectElement)\n .value as ColorSchemePreference\n )}\n >\n ${(\n [\n ['auto', 'Auto'],\n ['dark', 'Dark'],\n ['light', 'Light'],\n ] as Array<[ColorSchemePreference, string]>\n ).map(\n ([value, label]) =>\n html`<option\n value=${value}\n ?selected=${this._colorScheme === value}\n >\n ${label}\n </option>`\n )}\n </select>\n </td>\n </tr>\n </table>\n </section>\n `;\n }\n\n private _renderHmr(s: FeatureSettings) {\n const o = this._override;\n if (!s.hmr.enabled) {\n return html`<p class=\"empty\">\n Enable with <code>hmr: true</code> or <code>LIT_PLUGIN_HMR=true</code>.\n </p>`;\n }\n const reconnect = o.hmrReconnect ?? s.hmr.reconnect;\n const onIncompatible = o.hmrOnIncompatible ?? s.hmr.onIncompatible;\n // The indicator element only exists when enabled at config time, so it can\n // be hidden/shown (and its count toggled) live but not created here.\n const indicatorVisible = o.hmrIndicatorVisible ?? s.hmr.indicatorEnabled;\n const indicatorCount = o.hmrIndicatorCount ?? s.hmr.indicatorCount;\n return html`\n <table>\n <tr>\n <td class=\"key\">reconnect</td>\n <td class=\"val\">\n <label class=\"toggle\">\n <input\n type=\"checkbox\"\n .checked=${reconnect}\n @change=${(e: Event) =>\n this._set(\n 'hmrReconnect',\n (e.target as HTMLInputElement).checked\n )}\n />\n ${reconnect ? 'on' : 'off'}\n </label>\n ${this._ovr(o.hmrReconnect !== undefined)}\n </td>\n </tr>\n <tr>\n <td class=\"key\">on incompatible</td>\n <td class=\"val\">\n <select\n @change=${(e: Event) =>\n this._set(\n 'hmrOnIncompatible',\n (e.target as HTMLSelectElement).value as 'reload' | 'warn'\n )}\n >\n <option value=\"reload\" ?selected=${onIncompatible === 'reload'}>\n reload\n </option>\n <option value=\"warn\" ?selected=${onIncompatible === 'warn'}>\n warn\n </option>\n </select>\n ${this._ovr(o.hmrOnIncompatible !== undefined)}\n </td>\n </tr>\n <tr class=${s.hmr.indicatorEnabled ? '' : 'row-disabled'}>\n <td class=\"key\">indicator</td>\n <td class=\"val\">\n <label class=\"toggle\">\n <input\n type=\"checkbox\"\n .checked=${indicatorVisible}\n ?disabled=${!s.hmr.indicatorEnabled}\n @change=${(e: Event) =>\n this._set(\n 'hmrIndicatorVisible',\n (e.target as HTMLInputElement).checked\n )}\n />\n ${s.hmr.indicatorEnabled\n ? indicatorVisible\n ? 'shown'\n : 'hidden'\n : 'off (config)'}\n </label>\n ${this._ovr(o.hmrIndicatorVisible !== undefined)}\n </td>\n </tr>\n <tr class=${s.hmr.indicatorEnabled ? '' : 'row-disabled'}>\n <td class=\"key\">indicator count</td>\n <td class=\"val\">\n <label class=\"toggle\">\n <input\n type=\"checkbox\"\n .checked=${indicatorCount}\n ?disabled=${!s.hmr.indicatorEnabled}\n @change=${(e: Event) =>\n this._set(\n 'hmrIndicatorCount',\n (e.target as HTMLInputElement).checked\n )}\n />\n ${indicatorCount ? 'shown' : 'hidden'}\n </label>\n ${this._ovr(o.hmrIndicatorCount !== undefined)}\n </td>\n </tr>\n </table>\n `;\n }\n\n override render() {\n if (!this._loaded) {\n return html`<p class=\"loading\">Loading settings…</p>`;\n }\n const s = this._settings;\n const appearance = this._renderAppearance();\n if (s === null) {\n return html`${appearance}\n <p class=\"empty\">Settings unavailable.</p>`;\n }\n const hasOverride = Object.keys(this._override).length > 0;\n return html`\n <p class=\"note\">\n Resolved from plugin options and <code>LIT_PLUGIN_*</code> env at\n startup. Controls below override the running app live; the rest are\n config-time (change them in your Vite config / <code>.env</code> and\n restart).\n ${hasOverride\n ? html`<button class=\"reset\" @click=${this._reset}>\n Reset to env\n </button>`\n : nothing}\n </p>\n\n ${appearance}\n\n <section>\n <h3>HMR ${this._pill(s.hmr.enabled)}</h3>\n ${this._renderHmr(s)}\n </section>\n\n <section>\n <h3>Source Overlay ${this._pill(s.sourceOverlay.enabled)}</h3>\n ${s.sourceOverlay.enabled\n ? html`<table>\n ${this._readonlyRow(\n 'hotkey',\n `Ctrl+Shift+${s.sourceOverlay.key.toUpperCase()}`,\n 'LIT_PLUGIN_SOURCE_OVERLAY_KEY'\n )}\n <tr>\n <td class=\"key\">editor</td>\n <td class=\"val\">\n <select\n @change=${(e: Event) =>\n this._set(\n 'sourceOverlayEditor',\n (e.target as HTMLSelectElement).value\n )}\n >\n ${SOURCE_OVERLAY_EDITORS.map(\n (ed) =>\n html`<option\n value=${ed.value}\n ?selected=${ed.value ===\n (this._override.sourceOverlayEditor ??\n s.sourceOverlay.editor)}\n >\n ${ed.label}\n </option>`\n )}\n </select>\n ${this._ovr(this._override.sourceOverlayEditor !== undefined)}\n </td>\n </tr>\n ${this._readonlyRow(\n 'throttle (ms)',\n s.sourceOverlay.throttleMs,\n 'LIT_PLUGIN_SOURCE_OVERLAY_THROTTLE_MS'\n )}\n </table>`\n : html`<p class=\"empty\">\n Enable with <code>sourceOverlay: true</code> or\n <code>LIT_PLUGIN_SOURCE_OVERLAY=true</code>.\n </p>`}\n </section>\n\n <section>\n <h3>Timeline ${this._pill(s.timeline)}</h3>\n <p class=\"empty\">\n Layers and recording are controlled in the Timeline tab.\n </p>\n </section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'devtools-settings': DevtoolsSettings;\n }\n}\n"]}
|
package/panel/index.html
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Lit DevTools</title>
|
|
7
|
+
<style>
|
|
8
|
+
* {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
margin: 0;
|
|
11
|
+
padding: 0;
|
|
12
|
+
}
|
|
13
|
+
body {
|
|
14
|
+
height: 100vh;
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
}
|
|
17
|
+
</style>
|
|
18
|
+
<!--
|
|
19
|
+
Color scheme: lit-devtools-panel.ts applies the saved preference on load
|
|
20
|
+
(see lib/color-scheme.ts). The default `auto` needs no JS — the injected
|
|
21
|
+
tokens'
|
|
22
|
+
`prefers-color-scheme` @media owns it, following the host/OS; an explicit
|
|
23
|
+
light/dark pins a `.color-scheme-*` class on :root.
|
|
24
|
+
-->
|
|
25
|
+
</head>
|
|
26
|
+
<body>
|
|
27
|
+
<lit-devtools-panel></lit-devtools-panel>
|
|
28
|
+
</body>
|
|
29
|
+
</html>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { LitElement } from 'lit';
|
|
7
|
+
import './timeline-view.js';
|
|
8
|
+
import './components-view.js';
|
|
9
|
+
import './devtools-settings.js';
|
|
10
|
+
import '../lib/segmented-tabs.js';
|
|
11
|
+
/**
|
|
12
|
+
* Root of the Lit DevTools panel — a tabbed shell. Each tab's view is kept
|
|
13
|
+
* mounted and merely hidden when inactive, so the Timeline keeps recording
|
|
14
|
+
* (and holds its events) while another tab is in front.
|
|
15
|
+
*/
|
|
16
|
+
export declare class LitDevtoolsPanel extends LitElement {
|
|
17
|
+
static styles: import("lit").CSSResult[];
|
|
18
|
+
private _tab;
|
|
19
|
+
private _componentsView?;
|
|
20
|
+
private _onTabChange;
|
|
21
|
+
/** A timeline event's "inspect" link — open the Components tab on it. */
|
|
22
|
+
private _onInspectElement;
|
|
23
|
+
/**
|
|
24
|
+
* A component was picked via the overlay inspector — switch to the Components
|
|
25
|
+
* tab and request the parent DevTools shell to bring this dock entry to the
|
|
26
|
+
* front, so the user can see the picked element without having to manually
|
|
27
|
+
* open the Lit panel first.
|
|
28
|
+
*/
|
|
29
|
+
private _onInspectorActivate;
|
|
30
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
31
|
+
}
|
|
32
|
+
declare global {
|
|
33
|
+
interface HTMLElementTagNameMap {
|
|
34
|
+
'lit-devtools-panel': LitDevtoolsPanel;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=lit-devtools-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lit-devtools-panel.d.ts","sourceRoot":"","sources":["../../../packages/labs/vite-plugin-lit/src/panel/lit-devtools-panel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAqB,MAAM,KAAK,CAAC;AAOnD,OAAO,oBAAoB,CAAC;AAS5B,OAAO,sBAAsB,CAAC;AAE9B,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAqClC;;;;GAIG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAC9C,OAAgB,MAAM,4BA2CpB;IAEO,OAAO,CAAC,IAAI,CAAgB;IAEX,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEnE,OAAO,CAAC,YAAY;IAIpB,yEAAyE;IACzE,OAAO,CAAC,iBAAiB;IAMzB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA4BnB,MAAM;CAwBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
|