@tanstack/devtools 0.6.7 → 0.6.8

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.
Files changed (80) hide show
  1. package/dist/chunk/CEHNENNI.js +251 -0
  2. package/dist/{esm/core.js → dev.js} +10 -12
  3. package/dist/devtools/DJF65R3Y.js +1674 -0
  4. package/dist/devtools/ITBBRMTQ.js +1966 -0
  5. package/dist/index.d.ts +168 -0
  6. package/dist/index.js +76 -0
  7. package/dist/server.js +44 -0
  8. package/package.json +21 -12
  9. package/src/core.tsx +3 -0
  10. package/dist/esm/components/content-panel.d.ts +0 -6
  11. package/dist/esm/components/content-panel.js +0 -32
  12. package/dist/esm/components/content-panel.js.map +0 -1
  13. package/dist/esm/components/main-panel.d.ts +0 -6
  14. package/dist/esm/components/main-panel.js +0 -42
  15. package/dist/esm/components/main-panel.js.map +0 -1
  16. package/dist/esm/components/tab-content.d.ts +0 -2
  17. package/dist/esm/components/tab-content.js +0 -23
  18. package/dist/esm/components/tab-content.js.map +0 -1
  19. package/dist/esm/components/tabs.d.ts +0 -5
  20. package/dist/esm/components/tabs.js +0 -75
  21. package/dist/esm/components/tabs.js.map +0 -1
  22. package/dist/esm/components/trigger.d.ts +0 -5
  23. package/dist/esm/components/trigger.js +0 -31
  24. package/dist/esm/components/trigger.js.map +0 -1
  25. package/dist/esm/constants.d.ts +0 -2
  26. package/dist/esm/constants.js +0 -7
  27. package/dist/esm/constants.js.map +0 -1
  28. package/dist/esm/context/devtools-context.d.ts +0 -62
  29. package/dist/esm/context/devtools-context.js +0 -77
  30. package/dist/esm/context/devtools-context.js.map +0 -1
  31. package/dist/esm/context/devtools-store.d.ts +0 -59
  32. package/dist/esm/context/devtools-store.js +0 -29
  33. package/dist/esm/context/devtools-store.js.map +0 -1
  34. package/dist/esm/context/draw-context.d.ts +0 -13
  35. package/dist/esm/context/draw-context.js +0 -55
  36. package/dist/esm/context/draw-context.js.map +0 -1
  37. package/dist/esm/context/pip-context.d.ts +0 -14
  38. package/dist/esm/context/pip-context.js +0 -117
  39. package/dist/esm/context/pip-context.js.map +0 -1
  40. package/dist/esm/context/use-devtools-context.d.ts +0 -40
  41. package/dist/esm/context/use-devtools-context.js +0 -96
  42. package/dist/esm/context/use-devtools-context.js.map +0 -1
  43. package/dist/esm/core.d.ts +0 -39
  44. package/dist/esm/core.js.map +0 -1
  45. package/dist/esm/devtools.d.ts +0 -1
  46. package/dist/esm/devtools.js +0 -200
  47. package/dist/esm/devtools.js.map +0 -1
  48. package/dist/esm/hooks/use-disable-tabbing.d.ts +0 -6
  49. package/dist/esm/hooks/use-disable-tabbing.js +0 -23
  50. package/dist/esm/hooks/use-disable-tabbing.js.map +0 -1
  51. package/dist/esm/hooks/use-head-changes.d.ts +0 -39
  52. package/dist/esm/hooks/use-head-changes.js +0 -65
  53. package/dist/esm/hooks/use-head-changes.js.map +0 -1
  54. package/dist/esm/index.d.ts +0 -4
  55. package/dist/esm/index.js +0 -8
  56. package/dist/esm/index.js.map +0 -1
  57. package/dist/esm/styles/tokens.d.ts +0 -298
  58. package/dist/esm/styles/tokens.js +0 -63
  59. package/dist/esm/styles/tokens.js.map +0 -1
  60. package/dist/esm/styles/use-styles.d.ts +0 -42
  61. package/dist/esm/styles/use-styles.js +0 -422
  62. package/dist/esm/styles/use-styles.js.map +0 -1
  63. package/dist/esm/tabs/index.d.ts +0 -17
  64. package/dist/esm/tabs/index.js +0 -25
  65. package/dist/esm/tabs/index.js.map +0 -1
  66. package/dist/esm/tabs/plugins-tab.d.ts +0 -1
  67. package/dist/esm/tabs/plugins-tab.js +0 -88
  68. package/dist/esm/tabs/plugins-tab.js.map +0 -1
  69. package/dist/esm/tabs/seo-tab.d.ts +0 -1
  70. package/dist/esm/tabs/seo-tab.js +0 -296
  71. package/dist/esm/tabs/seo-tab.js.map +0 -1
  72. package/dist/esm/tabs/settings-tab.d.ts +0 -1
  73. package/dist/esm/tabs/settings-tab.js +0 -308
  74. package/dist/esm/tabs/settings-tab.js.map +0 -1
  75. package/dist/esm/utils/sanitize.d.ts +0 -3
  76. package/dist/esm/utils/sanitize.js +0 -31
  77. package/dist/esm/utils/sanitize.js.map +0 -1
  78. package/dist/esm/utils/storage.d.ts +0 -5
  79. package/dist/esm/utils/storage.js +0 -19
  80. package/dist/esm/utils/storage.js.map +0 -1
@@ -1,296 +0,0 @@
1
- import { createComponent, template, insert, memo, effect, className, setAttribute } from "solid-js/web";
2
- import { createSignal, For } from "solid-js";
3
- import { MainPanel, Section, SectionTitle, SectionIcon, SectionDescription } from "@tanstack/devtools-ui";
4
- import { SocialBubble } from "@tanstack/devtools-ui/icons";
5
- import { useStyles } from "../styles/use-styles.js";
6
- import { useHeadChanges } from "../hooks/use-head-changes.js";
7
- var _tmpl$ = /* @__PURE__ */ template(`<div><div> Preview</div><div></div><div></div><div>`), _tmpl$2 = /* @__PURE__ */ template(`<img alt=Preview>`), _tmpl$3 = /* @__PURE__ */ template(`<div>No Image`), _tmpl$4 = /* @__PURE__ */ template(`<div>`), _tmpl$5 = /* @__PURE__ */ template(`<div><strong>Missing tags for <!>:</strong><ul>`), _tmpl$6 = /* @__PURE__ */ template(`<li>`);
8
- const SOCIALS = [
9
- {
10
- network: "Facebook",
11
- tags: [{
12
- key: "og:title",
13
- prop: "title"
14
- }, {
15
- key: "og:description",
16
- prop: "description"
17
- }, {
18
- key: "og:image",
19
- prop: "image"
20
- }, {
21
- key: "og:url",
22
- prop: "url"
23
- }],
24
- color: "#4267B2"
25
- },
26
- {
27
- network: "X/Twitter",
28
- tags: [{
29
- key: "twitter:title",
30
- prop: "title"
31
- }, {
32
- key: "twitter:description",
33
- prop: "description"
34
- }, {
35
- key: "twitter:image",
36
- prop: "image"
37
- }, {
38
- key: "twitter:url",
39
- prop: "url"
40
- }],
41
- color: "#1DA1F2"
42
- },
43
- {
44
- network: "LinkedIn",
45
- tags: [{
46
- key: "og:title",
47
- prop: "title"
48
- }, {
49
- key: "og:description",
50
- prop: "description"
51
- }, {
52
- key: "og:image",
53
- prop: "image"
54
- }, {
55
- key: "og:url",
56
- prop: "url"
57
- }],
58
- color: "#0077B5"
59
- },
60
- {
61
- network: "Discord",
62
- tags: [{
63
- key: "og:title",
64
- prop: "title"
65
- }, {
66
- key: "og:description",
67
- prop: "description"
68
- }, {
69
- key: "og:image",
70
- prop: "image"
71
- }, {
72
- key: "og:url",
73
- prop: "url"
74
- }],
75
- color: "#5865F2"
76
- },
77
- {
78
- network: "Slack",
79
- tags: [{
80
- key: "og:title",
81
- prop: "title"
82
- }, {
83
- key: "og:description",
84
- prop: "description"
85
- }, {
86
- key: "og:image",
87
- prop: "image"
88
- }, {
89
- key: "og:url",
90
- prop: "url"
91
- }],
92
- color: "#4A154B"
93
- },
94
- {
95
- network: "Mastodon",
96
- tags: [{
97
- key: "og:title",
98
- prop: "title"
99
- }, {
100
- key: "og:description",
101
- prop: "description"
102
- }, {
103
- key: "og:image",
104
- prop: "image"
105
- }, {
106
- key: "og:url",
107
- prop: "url"
108
- }],
109
- color: "#6364FF"
110
- },
111
- {
112
- network: "Bluesky",
113
- tags: [{
114
- key: "og:title",
115
- prop: "title"
116
- }, {
117
- key: "og:description",
118
- prop: "description"
119
- }, {
120
- key: "og:image",
121
- prop: "image"
122
- }, {
123
- key: "og:url",
124
- prop: "url"
125
- }],
126
- color: "#1185FE"
127
- }
128
- // Add more networks as needed
129
- ];
130
- function SocialPreview(props) {
131
- const styles = useStyles();
132
- return (() => {
133
- var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling;
134
- insert(_el$2, () => props.network, _el$3);
135
- insert(_el$, (() => {
136
- var _c$ = memo(() => !!props.meta.image);
137
- return () => _c$() ? (() => {
138
- var _el$7 = _tmpl$2();
139
- effect((_p$) => {
140
- var _v$8 = props.meta.image, _v$9 = styles().seoPreviewImage;
141
- _v$8 !== _p$.e && setAttribute(_el$7, "src", _p$.e = _v$8);
142
- _v$9 !== _p$.t && className(_el$7, _p$.t = _v$9);
143
- return _p$;
144
- }, {
145
- e: void 0,
146
- t: void 0
147
- });
148
- return _el$7;
149
- })() : (() => {
150
- var _el$8 = _tmpl$3();
151
- _el$8.style.setProperty("background", "#222");
152
- _el$8.style.setProperty("color", "#888");
153
- _el$8.style.setProperty("display", "flex");
154
- _el$8.style.setProperty("align-items", "center");
155
- _el$8.style.setProperty("justify-content", "center");
156
- _el$8.style.setProperty("min-height", "80px");
157
- _el$8.style.setProperty("width", "100%");
158
- effect(() => className(_el$8, styles().seoPreviewImage));
159
- return _el$8;
160
- })();
161
- })(), _el$4);
162
- insert(_el$4, () => props.meta.title || "No Title");
163
- insert(_el$5, () => props.meta.description || "No Description");
164
- insert(_el$6, () => props.meta.url || window.location.href);
165
- effect((_p$) => {
166
- var _v$ = styles().seoPreviewCard, _v$2 = props.color, _v$3 = styles().seoPreviewHeader, _v$4 = props.color, _v$5 = styles().seoPreviewTitle, _v$6 = styles().seoPreviewDesc, _v$7 = styles().seoPreviewUrl;
167
- _v$ !== _p$.e && className(_el$, _p$.e = _v$);
168
- _v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$.style.setProperty("border-color", _v$2) : _el$.style.removeProperty("border-color"));
169
- _v$3 !== _p$.a && className(_el$2, _p$.a = _v$3);
170
- _v$4 !== _p$.o && ((_p$.o = _v$4) != null ? _el$2.style.setProperty("color", _v$4) : _el$2.style.removeProperty("color"));
171
- _v$5 !== _p$.i && className(_el$4, _p$.i = _v$5);
172
- _v$6 !== _p$.n && className(_el$5, _p$.n = _v$6);
173
- _v$7 !== _p$.s && className(_el$6, _p$.s = _v$7);
174
- return _p$;
175
- }, {
176
- e: void 0,
177
- t: void 0,
178
- a: void 0,
179
- o: void 0,
180
- i: void 0,
181
- n: void 0,
182
- s: void 0
183
- });
184
- return _el$;
185
- })();
186
- }
187
- const SeoTab = () => {
188
- const [reports, setReports] = createSignal(analyzeHead());
189
- const styles = useStyles();
190
- function analyzeHead() {
191
- const metaTags = Array.from(document.head.querySelectorAll("meta"));
192
- const reports2 = [];
193
- for (const social of SOCIALS) {
194
- const found = {};
195
- const missing = [];
196
- for (const tag of social.tags) {
197
- const meta = metaTags.find((m) => (tag.key.includes("twitter:") ? false : m.getAttribute("property") === tag.key) || m.getAttribute("name") === tag.key);
198
- if (meta && meta.getAttribute("content")) {
199
- found[tag.prop] = meta.getAttribute("content") || void 0;
200
- } else {
201
- missing.push(tag.key);
202
- }
203
- }
204
- reports2.push({
205
- network: social.network,
206
- found,
207
- missing
208
- });
209
- }
210
- return reports2;
211
- }
212
- useHeadChanges(() => {
213
- setReports(analyzeHead());
214
- });
215
- return createComponent(MainPanel, {
216
- withPadding: true,
217
- get children() {
218
- return createComponent(Section, {
219
- get children() {
220
- return [createComponent(SectionTitle, {
221
- get children() {
222
- return [createComponent(SectionIcon, {
223
- get children() {
224
- return createComponent(SocialBubble, {});
225
- }
226
- }), "Social previews"];
227
- }
228
- }), createComponent(SectionDescription, {
229
- children: "See how your current page will look when shared on popular social networks. The tool checks for essential meta tags and highlights any that are missing."
230
- }), (() => {
231
- var _el$9 = _tmpl$4();
232
- insert(_el$9, createComponent(For, {
233
- get each() {
234
- return reports();
235
- },
236
- children: (report, i) => {
237
- const social = SOCIALS[i()];
238
- return (() => {
239
- var _el$0 = _tmpl$4();
240
- insert(_el$0, createComponent(SocialPreview, {
241
- get meta() {
242
- return report.found;
243
- },
244
- get color() {
245
- return social.color;
246
- },
247
- get network() {
248
- return social.network;
249
- }
250
- }), null);
251
- insert(_el$0, (() => {
252
- var _c$2 = memo(() => report.missing.length > 0);
253
- return () => _c$2() ? (() => {
254
- var _el$1 = _tmpl$5(), _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild, _el$13 = _el$11.nextSibling;
255
- _el$13.nextSibling;
256
- var _el$14 = _el$10.nextSibling;
257
- insert(_el$10, () => social?.network, _el$13);
258
- insert(_el$14, createComponent(For, {
259
- get each() {
260
- return report.missing;
261
- },
262
- children: (tag) => (() => {
263
- var _el$15 = _tmpl$6();
264
- insert(_el$15, tag);
265
- effect(() => className(_el$15, styles().seoMissingTag));
266
- return _el$15;
267
- })()
268
- }));
269
- effect((_p$) => {
270
- var _v$0 = styles().seoMissingTagsSection, _v$1 = styles().seoMissingTagsList;
271
- _v$0 !== _p$.e && className(_el$1, _p$.e = _v$0);
272
- _v$1 !== _p$.t && className(_el$14, _p$.t = _v$1);
273
- return _p$;
274
- }, {
275
- e: void 0,
276
- t: void 0
277
- });
278
- return _el$1;
279
- })() : null;
280
- })(), null);
281
- return _el$0;
282
- })();
283
- }
284
- }));
285
- effect(() => className(_el$9, styles().seoPreviewSection));
286
- return _el$9;
287
- })()];
288
- }
289
- });
290
- }
291
- });
292
- };
293
- export {
294
- SeoTab
295
- };
296
- //# sourceMappingURL=seo-tab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seo-tab.js","sources":["../../../src/tabs/seo-tab.tsx"],"sourcesContent":["import { For, createSignal } from 'solid-js'\nimport {\n MainPanel,\n Section,\n SectionDescription,\n SectionIcon,\n SectionTitle,\n} from '@tanstack/devtools-ui'\nimport { SocialBubble } from '@tanstack/devtools-ui/icons'\nimport { useStyles } from '../styles/use-styles'\nimport { useHeadChanges } from '../hooks/use-head-changes'\n\ntype SocialMeta = {\n title?: string\n description?: string\n image?: string\n url?: string\n}\n\ntype SocialReport = {\n network: string\n found: Partial<SocialMeta>\n missing: Array<string>\n}\n\nconst SOCIALS = [\n {\n network: 'Facebook',\n tags: [\n { key: 'og:title', prop: 'title' },\n { key: 'og:description', prop: 'description' },\n { key: 'og:image', prop: 'image' },\n { key: 'og:url', prop: 'url' },\n ],\n color: '#4267B2',\n },\n {\n network: 'X/Twitter',\n tags: [\n { key: 'twitter:title', prop: 'title' },\n { key: 'twitter:description', prop: 'description' },\n { key: 'twitter:image', prop: 'image' },\n { key: 'twitter:url', prop: 'url' },\n ],\n color: '#1DA1F2',\n },\n {\n network: 'LinkedIn',\n tags: [\n { key: 'og:title', prop: 'title' },\n { key: 'og:description', prop: 'description' },\n { key: 'og:image', prop: 'image' },\n { key: 'og:url', prop: 'url' },\n ],\n color: '#0077B5',\n },\n {\n network: 'Discord',\n tags: [\n { key: 'og:title', prop: 'title' },\n { key: 'og:description', prop: 'description' },\n { key: 'og:image', prop: 'image' },\n { key: 'og:url', prop: 'url' },\n ],\n color: '#5865F2',\n },\n {\n network: 'Slack',\n tags: [\n { key: 'og:title', prop: 'title' },\n { key: 'og:description', prop: 'description' },\n { key: 'og:image', prop: 'image' },\n { key: 'og:url', prop: 'url' },\n ],\n color: '#4A154B',\n },\n {\n network: 'Mastodon',\n tags: [\n { key: 'og:title', prop: 'title' },\n { key: 'og:description', prop: 'description' },\n { key: 'og:image', prop: 'image' },\n { key: 'og:url', prop: 'url' },\n ],\n color: '#6364FF',\n },\n {\n network: 'Bluesky',\n tags: [\n { key: 'og:title', prop: 'title' },\n { key: 'og:description', prop: 'description' },\n { key: 'og:image', prop: 'image' },\n { key: 'og:url', prop: 'url' },\n ],\n color: '#1185FE',\n },\n // Add more networks as needed\n]\nfunction SocialPreview(props: {\n meta: SocialMeta\n color: string\n network: string\n}) {\n const styles = useStyles()\n\n return (\n <div\n class={styles().seoPreviewCard}\n style={{ 'border-color': props.color }}\n >\n <div class={styles().seoPreviewHeader} style={{ color: props.color }}>\n {props.network} Preview\n </div>\n {props.meta.image ? (\n <img\n src={props.meta.image}\n alt=\"Preview\"\n class={styles().seoPreviewImage}\n />\n ) : (\n <div\n class={styles().seoPreviewImage}\n style={{\n background: '#222',\n color: '#888',\n display: 'flex',\n 'align-items': 'center',\n 'justify-content': 'center',\n 'min-height': '80px',\n width: '100%',\n }}\n >\n No Image\n </div>\n )}\n <div class={styles().seoPreviewTitle}>\n {props.meta.title || 'No Title'}\n </div>\n <div class={styles().seoPreviewDesc}>\n {props.meta.description || 'No Description'}\n </div>\n <div class={styles().seoPreviewUrl}>\n {props.meta.url || window.location.href}\n </div>\n </div>\n )\n}\nexport const SeoTab = () => {\n const [reports, setReports] = createSignal<Array<SocialReport>>(analyzeHead())\n const styles = useStyles()\n\n function analyzeHead(): Array<SocialReport> {\n const metaTags = Array.from(document.head.querySelectorAll('meta'))\n const reports: Array<SocialReport> = []\n\n for (const social of SOCIALS) {\n const found: Partial<SocialMeta> = {}\n const missing: Array<string> = []\n for (const tag of social.tags) {\n const meta = metaTags.find(\n (m) =>\n (tag.key.includes('twitter:')\n ? false\n : m.getAttribute('property') === tag.key) ||\n m.getAttribute('name') === tag.key,\n )\n\n if (meta && meta.getAttribute('content')) {\n found[tag.prop as keyof SocialMeta] =\n meta.getAttribute('content') || undefined\n } else {\n missing.push(tag.key)\n }\n }\n reports.push({ network: social.network, found, missing })\n }\n return reports\n }\n\n useHeadChanges(() => {\n setReports(analyzeHead())\n })\n\n return (\n <MainPanel withPadding>\n <Section>\n <SectionTitle>\n <SectionIcon>\n <SocialBubble />\n </SectionIcon>\n Social previews\n </SectionTitle>\n <SectionDescription>\n See how your current page will look when shared on popular social\n networks. The tool checks for essential meta tags and highlights any\n that are missing.\n </SectionDescription>\n <div class={styles().seoPreviewSection}>\n <For each={reports()}>\n {(report, i) => {\n const social = SOCIALS[i()]\n return (\n <div>\n <SocialPreview\n meta={report.found}\n color={social!.color}\n network={social!.network}\n />\n {report.missing.length > 0 ? (\n <>\n <div class={styles().seoMissingTagsSection}>\n <strong>Missing tags for {social?.network}:</strong>\n\n <ul class={styles().seoMissingTagsList}>\n <For each={report.missing}>\n {(tag) => (\n <li class={styles().seoMissingTag}>{tag}</li>\n )}\n </For>\n </ul>\n </div>\n </>\n ) : null}\n </div>\n )\n }}\n </For>\n </div>\n </Section>\n </MainPanel>\n )\n}\n"],"names":["SOCIALS","network","tags","key","prop","color","SocialPreview","props","styles","useStyles","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","nextSibling","_el$5","_el$6","_$insert","_c$","_$memo","meta","image","_el$7","_tmpl$2","_$effect","_p$","_v$8","_v$9","seoPreviewImage","e","_$setAttribute","t","_$className","undefined","_el$8","_tmpl$3","style","setProperty","title","description","url","window","location","href","_v$","seoPreviewCard","_v$2","_v$3","seoPreviewHeader","_v$4","_v$5","seoPreviewTitle","_v$6","seoPreviewDesc","_v$7","seoPreviewUrl","removeProperty","a","o","i","n","s","SeoTab","reports","setReports","createSignal","analyzeHead","metaTags","Array","from","document","head","querySelectorAll","social","found","missing","tag","find","m","includes","getAttribute","push","useHeadChanges","_$createComponent","MainPanel","withPadding","children","Section","SectionTitle","SectionIcon","SocialBubble","SectionDescription","_el$9","_tmpl$4","For","each","report","_el$0","_c$2","length","_el$1","_tmpl$5","_el$10","_el$11","_el$13","_el$14","_el$15","_tmpl$6","seoMissingTag","_v$0","seoMissingTagsSection","_v$1","seoMissingTagsList","seoPreviewSection"],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const SettingsTab: () => import("solid-js").JSX.Element;
@@ -1,308 +0,0 @@
1
- import { createComponent, template, insert, effect, className } from "solid-js/web";
2
- import { createMemo, Show } from "solid-js";
3
- import { MainPanel, Section, SectionTitle, SectionIcon, SectionDescription, Checkbox, Select, Input, Button } from "@tanstack/devtools-ui";
4
- import { SettingsCog, Link, Keyboard, GeoTag } from "@tanstack/devtools-ui/icons";
5
- import { useDevtoolsSettings } from "../context/use-devtools-context.js";
6
- import { uppercaseFirstLetter } from "../utils/sanitize.js";
7
- import { useStyles } from "../styles/use-styles.js";
8
- var _tmpl$ = /* @__PURE__ */ template(`<div>`), _tmpl$2 = /* @__PURE__ */ template(`<div><div></div>Final shortcut is: `), _tmpl$3 = /* @__PURE__ */ template(`<div><div>`);
9
- const SettingsTab = () => {
10
- const {
11
- setSettings,
12
- settings
13
- } = useDevtoolsSettings();
14
- const styles = useStyles();
15
- const hotkey = createMemo(() => settings().openHotkey);
16
- const modifiers = ["Control", "Alt", "Meta", "Shift"];
17
- const changeHotkey = (newHotkey) => () => {
18
- if (hotkey().includes(newHotkey)) {
19
- return setSettings({
20
- openHotkey: hotkey().filter((key) => key !== newHotkey)
21
- });
22
- }
23
- const existingModifiers = hotkey().filter((key) => modifiers.includes(key));
24
- const otherModifiers = hotkey().filter((key) => !modifiers.includes(key));
25
- setSettings({
26
- openHotkey: [...existingModifiers, newHotkey, ...otherModifiers]
27
- });
28
- };
29
- return createComponent(MainPanel, {
30
- withPadding: true,
31
- get children() {
32
- return [createComponent(Section, {
33
- get children() {
34
- return [createComponent(SectionTitle, {
35
- get children() {
36
- return [createComponent(SectionIcon, {
37
- get children() {
38
- return createComponent(SettingsCog, {});
39
- }
40
- }), "General"];
41
- }
42
- }), createComponent(SectionDescription, {
43
- children: "Configure general behavior of the devtools panel."
44
- }), (() => {
45
- var _el$ = _tmpl$();
46
- insert(_el$, createComponent(Checkbox, {
47
- label: "Default open",
48
- description: "Automatically open the devtools panel when the page loads",
49
- onChange: () => setSettings({
50
- defaultOpen: !settings().defaultOpen
51
- }),
52
- get checked() {
53
- return settings().defaultOpen;
54
- }
55
- }), null);
56
- insert(_el$, createComponent(Checkbox, {
57
- label: "Hide trigger until hovered",
58
- description: "Keep the devtools trigger button hidden until you hover over its area",
59
- onChange: () => setSettings({
60
- hideUntilHover: !settings().hideUntilHover
61
- }),
62
- get checked() {
63
- return settings().hideUntilHover;
64
- }
65
- }), null);
66
- insert(_el$, createComponent(Select, {
67
- label: "Theme",
68
- description: "Choose the theme for the devtools panel",
69
- get value() {
70
- return settings().theme;
71
- },
72
- options: [{
73
- label: "Dark",
74
- value: "dark"
75
- }, {
76
- label: "Light",
77
- value: "light"
78
- }],
79
- onChange: (value) => setSettings({
80
- theme: value
81
- })
82
- }), null);
83
- effect(() => className(_el$, styles().settingsGroup));
84
- return _el$;
85
- })()];
86
- }
87
- }), createComponent(Section, {
88
- get children() {
89
- return [createComponent(SectionTitle, {
90
- get children() {
91
- return [createComponent(SectionIcon, {
92
- get children() {
93
- return createComponent(Link, {});
94
- }
95
- }), "URL Configuration"];
96
- }
97
- }), createComponent(SectionDescription, {
98
- children: "Control when devtools are available based on URL parameters."
99
- }), (() => {
100
- var _el$2 = _tmpl$();
101
- insert(_el$2, createComponent(Checkbox, {
102
- label: "Require URL Flag",
103
- description: "Only show devtools when a specific URL parameter is present",
104
- get checked() {
105
- return settings().requireUrlFlag;
106
- },
107
- onChange: (checked) => setSettings({
108
- requireUrlFlag: checked
109
- })
110
- }), null);
111
- insert(_el$2, createComponent(Show, {
112
- get when() {
113
- return settings().requireUrlFlag;
114
- },
115
- get children() {
116
- var _el$3 = _tmpl$();
117
- insert(_el$3, createComponent(Input, {
118
- label: "URL flag",
119
- description: "Enter the URL parameter name (e.g., 'debug' for ?debug=true)",
120
- placeholder: "debug",
121
- get value() {
122
- return settings().urlFlag;
123
- },
124
- onChange: (e) => setSettings({
125
- urlFlag: e
126
- })
127
- }));
128
- effect(() => className(_el$3, styles().conditionalSetting));
129
- return _el$3;
130
- }
131
- }), null);
132
- effect(() => className(_el$2, styles().settingsGroup));
133
- return _el$2;
134
- })()];
135
- }
136
- }), createComponent(Section, {
137
- get children() {
138
- return [createComponent(SectionTitle, {
139
- get children() {
140
- return [createComponent(SectionIcon, {
141
- get children() {
142
- return createComponent(Keyboard, {});
143
- }
144
- }), "Keyboard"];
145
- }
146
- }), createComponent(SectionDescription, {
147
- children: "Customize keyboard shortcuts for quick access."
148
- }), (() => {
149
- var _el$4 = _tmpl$2(), _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling;
150
- insert(_el$5, createComponent(Show, {
151
- keyed: true,
152
- get when() {
153
- return hotkey();
154
- },
155
- get children() {
156
- return [createComponent(Button, {
157
- variant: "success",
158
- get onclick() {
159
- return changeHotkey("Shift");
160
- },
161
- get outline() {
162
- return !hotkey().includes("Shift");
163
- },
164
- children: "Shift"
165
- }), createComponent(Button, {
166
- variant: "success",
167
- get onclick() {
168
- return changeHotkey("Alt");
169
- },
170
- get outline() {
171
- return !hotkey().includes("Alt");
172
- },
173
- children: "Alt"
174
- }), createComponent(Button, {
175
- variant: "success",
176
- get onclick() {
177
- return changeHotkey("Meta");
178
- },
179
- get outline() {
180
- return !hotkey().includes("Meta");
181
- },
182
- children: "Meta"
183
- }), createComponent(Button, {
184
- variant: "success",
185
- get onclick() {
186
- return changeHotkey("Control");
187
- },
188
- get outline() {
189
- return !hotkey().includes("Control");
190
- },
191
- children: "Control"
192
- })];
193
- }
194
- }));
195
- insert(_el$4, createComponent(Input, {
196
- label: "Hotkey to open/close devtools",
197
- description: "Use '+' to combine keys (e.g., 'a+b' or 'd'). This will be used with the enabled modifiers from above",
198
- placeholder: "a",
199
- get value() {
200
- return hotkey().filter((key) => !["Shift", "Meta", "Alt", "Ctrl"].includes(key)).join("+");
201
- },
202
- onChange: (e) => {
203
- const makeModifierArray = (key) => {
204
- if (key.length === 1) return [uppercaseFirstLetter(key)];
205
- const modifiers3 = [];
206
- for (const character of key) {
207
- const newLetter = uppercaseFirstLetter(character);
208
- if (!modifiers3.includes(newLetter)) modifiers3.push(newLetter);
209
- }
210
- return modifiers3;
211
- };
212
- const modifiers2 = e.split("+").flatMap((key) => makeModifierArray(key)).filter(Boolean);
213
- return setSettings({
214
- openHotkey: [...hotkey().filter((key) => ["Shift", "Meta", "Alt", "Ctrl"].includes(key)), ...modifiers2]
215
- });
216
- }
217
- }), _el$6);
218
- insert(_el$4, () => hotkey().join(" + "), null);
219
- effect((_p$) => {
220
- var _v$ = styles().settingsGroup, _v$2 = styles().settingsModifiers;
221
- _v$ !== _p$.e && className(_el$4, _p$.e = _v$);
222
- _v$2 !== _p$.t && className(_el$5, _p$.t = _v$2);
223
- return _p$;
224
- }, {
225
- e: void 0,
226
- t: void 0
227
- });
228
- return _el$4;
229
- })()];
230
- }
231
- }), createComponent(Section, {
232
- get children() {
233
- return [createComponent(SectionTitle, {
234
- get children() {
235
- return [createComponent(SectionIcon, {
236
- get children() {
237
- return createComponent(GeoTag, {});
238
- }
239
- }), "Position"];
240
- }
241
- }), createComponent(SectionDescription, {
242
- children: "Adjust the position of the trigger button and devtools panel."
243
- }), (() => {
244
- var _el$7 = _tmpl$3(), _el$8 = _el$7.firstChild;
245
- insert(_el$8, createComponent(Select, {
246
- label: "Trigger Position",
247
- options: [{
248
- label: "Bottom Right",
249
- value: "bottom-right"
250
- }, {
251
- label: "Bottom Left",
252
- value: "bottom-left"
253
- }, {
254
- label: "Top Right",
255
- value: "top-right"
256
- }, {
257
- label: "Top Left",
258
- value: "top-left"
259
- }, {
260
- label: "Middle Right",
261
- value: "middle-right"
262
- }, {
263
- label: "Middle Left",
264
- value: "middle-left"
265
- }],
266
- get value() {
267
- return settings().position;
268
- },
269
- onChange: (value) => setSettings({
270
- position: value
271
- })
272
- }), null);
273
- insert(_el$8, createComponent(Select, {
274
- label: "Panel Position",
275
- get value() {
276
- return settings().panelLocation;
277
- },
278
- options: [{
279
- label: "Top",
280
- value: "top"
281
- }, {
282
- label: "Bottom",
283
- value: "bottom"
284
- }],
285
- onChange: (value) => setSettings({
286
- panelLocation: value
287
- })
288
- }), null);
289
- effect((_p$) => {
290
- var _v$3 = styles().settingsGroup, _v$4 = styles().settingRow;
291
- _v$3 !== _p$.e && className(_el$7, _p$.e = _v$3);
292
- _v$4 !== _p$.t && className(_el$8, _p$.t = _v$4);
293
- return _p$;
294
- }, {
295
- e: void 0,
296
- t: void 0
297
- });
298
- return _el$7;
299
- })()];
300
- }
301
- })];
302
- }
303
- });
304
- };
305
- export {
306
- SettingsTab
307
- };
308
- //# sourceMappingURL=settings-tab.js.map