@tanstack/devtools 0.0.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.
Files changed (142) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/components/content-panel.cjs +28 -0
  3. package/dist/cjs/components/content-panel.cjs.map +1 -0
  4. package/dist/cjs/components/content-panel.d.cts +6 -0
  5. package/dist/cjs/components/logo.cjs +95 -0
  6. package/dist/cjs/components/logo.cjs.map +1 -0
  7. package/dist/cjs/components/logo.d.cts +1 -0
  8. package/dist/cjs/components/main-panel.cjs +31 -0
  9. package/dist/cjs/components/main-panel.cjs.map +1 -0
  10. package/dist/cjs/components/main-panel.d.cts +7 -0
  11. package/dist/cjs/components/tab-content.cjs +28 -0
  12. package/dist/cjs/components/tab-content.cjs.map +1 -0
  13. package/dist/cjs/components/tab-content.d.cts +2 -0
  14. package/dist/cjs/components/tabs.cjs +47 -0
  15. package/dist/cjs/components/tabs.cjs.map +1 -0
  16. package/dist/cjs/components/tabs.d.cts +5 -0
  17. package/dist/cjs/components/trigger.cjs +31 -0
  18. package/dist/cjs/components/trigger.cjs.map +1 -0
  19. package/dist/cjs/components/trigger.d.cts +5 -0
  20. package/dist/cjs/context/devtools-context.cjs +62 -0
  21. package/dist/cjs/context/devtools-context.cjs.map +1 -0
  22. package/dist/cjs/context/devtools-context.d.cts +20 -0
  23. package/dist/cjs/context/devtools-store.cjs +21 -0
  24. package/dist/cjs/context/devtools-store.cjs.map +1 -0
  25. package/dist/cjs/context/devtools-store.d.cts +53 -0
  26. package/dist/cjs/context/use-devtools-context.cjs +78 -0
  27. package/dist/cjs/context/use-devtools-context.cjs.map +1 -0
  28. package/dist/cjs/context/use-devtools-context.d.cts +36 -0
  29. package/dist/cjs/core.cjs +81 -0
  30. package/dist/cjs/core.cjs.map +1 -0
  31. package/dist/cjs/core.d.cts +13 -0
  32. package/dist/cjs/devtools.cjs +146 -0
  33. package/dist/cjs/devtools.cjs.map +1 -0
  34. package/dist/cjs/devtools.d.cts +1 -0
  35. package/dist/cjs/hooks/use-disable-tabbing.cjs +23 -0
  36. package/dist/cjs/hooks/use-disable-tabbing.cjs.map +1 -0
  37. package/dist/cjs/hooks/use-disable-tabbing.d.cts +6 -0
  38. package/dist/cjs/index.cjs +5 -0
  39. package/dist/cjs/index.cjs.map +1 -0
  40. package/dist/cjs/index.d.cts +3 -0
  41. package/dist/cjs/styles/tokens.cjs +51 -0
  42. package/dist/cjs/styles/tokens.cjs.map +1 -0
  43. package/dist/cjs/styles/tokens.d.cts +298 -0
  44. package/dist/cjs/styles/use-styles.cjs +256 -0
  45. package/dist/cjs/styles/use-styles.cjs.map +1 -0
  46. package/dist/cjs/styles/use-styles.d.cts +21 -0
  47. package/dist/cjs/tabs/index.cjs +19 -0
  48. package/dist/cjs/tabs/index.cjs.map +1 -0
  49. package/dist/cjs/tabs/index.d.cts +12 -0
  50. package/dist/cjs/tabs/plugins-tab.cjs +73 -0
  51. package/dist/cjs/tabs/plugins-tab.cjs.map +1 -0
  52. package/dist/cjs/tabs/plugins-tab.d.cts +1 -0
  53. package/dist/cjs/tabs/settings-tab.cjs +9 -0
  54. package/dist/cjs/tabs/settings-tab.cjs.map +1 -0
  55. package/dist/cjs/tabs/settings-tab.d.cts +1 -0
  56. package/dist/cjs/utils/sanitize.cjs +12 -0
  57. package/dist/cjs/utils/sanitize.cjs.map +1 -0
  58. package/dist/cjs/utils/sanitize.d.cts +1 -0
  59. package/dist/cjs/utils/storage.cjs +19 -0
  60. package/dist/cjs/utils/storage.cjs.map +1 -0
  61. package/dist/cjs/utils/storage.d.cts +5 -0
  62. package/dist/esm/components/content-panel.d.ts +6 -0
  63. package/dist/esm/components/content-panel.js +28 -0
  64. package/dist/esm/components/content-panel.js.map +1 -0
  65. package/dist/esm/components/logo.d.ts +1 -0
  66. package/dist/esm/components/logo.js +95 -0
  67. package/dist/esm/components/logo.js.map +1 -0
  68. package/dist/esm/components/main-panel.d.ts +7 -0
  69. package/dist/esm/components/main-panel.js +31 -0
  70. package/dist/esm/components/main-panel.js.map +1 -0
  71. package/dist/esm/components/tab-content.d.ts +2 -0
  72. package/dist/esm/components/tab-content.js +28 -0
  73. package/dist/esm/components/tab-content.js.map +1 -0
  74. package/dist/esm/components/tabs.d.ts +5 -0
  75. package/dist/esm/components/tabs.js +47 -0
  76. package/dist/esm/components/tabs.js.map +1 -0
  77. package/dist/esm/components/trigger.d.ts +5 -0
  78. package/dist/esm/components/trigger.js +31 -0
  79. package/dist/esm/components/trigger.js.map +1 -0
  80. package/dist/esm/context/devtools-context.d.ts +20 -0
  81. package/dist/esm/context/devtools-context.js +62 -0
  82. package/dist/esm/context/devtools-context.js.map +1 -0
  83. package/dist/esm/context/devtools-store.d.ts +53 -0
  84. package/dist/esm/context/devtools-store.js +21 -0
  85. package/dist/esm/context/devtools-store.js.map +1 -0
  86. package/dist/esm/context/use-devtools-context.d.ts +36 -0
  87. package/dist/esm/context/use-devtools-context.js +78 -0
  88. package/dist/esm/context/use-devtools-context.js.map +1 -0
  89. package/dist/esm/core.d.ts +13 -0
  90. package/dist/esm/core.js +80 -0
  91. package/dist/esm/core.js.map +1 -0
  92. package/dist/esm/devtools.d.ts +1 -0
  93. package/dist/esm/devtools.js +147 -0
  94. package/dist/esm/devtools.js.map +1 -0
  95. package/dist/esm/hooks/use-disable-tabbing.d.ts +6 -0
  96. package/dist/esm/hooks/use-disable-tabbing.js +23 -0
  97. package/dist/esm/hooks/use-disable-tabbing.js.map +1 -0
  98. package/dist/esm/index.d.ts +3 -0
  99. package/dist/esm/index.js +5 -0
  100. package/dist/esm/index.js.map +1 -0
  101. package/dist/esm/styles/tokens.d.ts +298 -0
  102. package/dist/esm/styles/tokens.js +51 -0
  103. package/dist/esm/styles/tokens.js.map +1 -0
  104. package/dist/esm/styles/use-styles.d.ts +21 -0
  105. package/dist/esm/styles/use-styles.js +239 -0
  106. package/dist/esm/styles/use-styles.js.map +1 -0
  107. package/dist/esm/tabs/index.d.ts +12 -0
  108. package/dist/esm/tabs/index.js +19 -0
  109. package/dist/esm/tabs/index.js.map +1 -0
  110. package/dist/esm/tabs/plugins-tab.d.ts +1 -0
  111. package/dist/esm/tabs/plugins-tab.js +73 -0
  112. package/dist/esm/tabs/plugins-tab.js.map +1 -0
  113. package/dist/esm/tabs/settings-tab.d.ts +1 -0
  114. package/dist/esm/tabs/settings-tab.js +9 -0
  115. package/dist/esm/tabs/settings-tab.js.map +1 -0
  116. package/dist/esm/utils/sanitize.d.ts +1 -0
  117. package/dist/esm/utils/sanitize.js +12 -0
  118. package/dist/esm/utils/sanitize.js.map +1 -0
  119. package/dist/esm/utils/storage.d.ts +5 -0
  120. package/dist/esm/utils/storage.js +19 -0
  121. package/dist/esm/utils/storage.js.map +1 -0
  122. package/package.json +69 -0
  123. package/src/components/content-panel.tsx +21 -0
  124. package/src/components/logo.tsx +820 -0
  125. package/src/components/main-panel.tsx +31 -0
  126. package/src/components/tab-content.tsx +20 -0
  127. package/src/components/tabs.tsx +50 -0
  128. package/src/components/trigger.tsx +34 -0
  129. package/src/context/devtools-context.tsx +93 -0
  130. package/src/context/devtools-store.ts +79 -0
  131. package/src/context/use-devtools-context.ts +95 -0
  132. package/src/core.tsx +71 -0
  133. package/src/devtools.tsx +146 -0
  134. package/src/hooks/use-disable-tabbing.ts +28 -0
  135. package/src/index.ts +3 -0
  136. package/src/styles/tokens.ts +305 -0
  137. package/src/styles/use-styles.ts +252 -0
  138. package/src/tabs/index.tsx +62 -0
  139. package/src/tabs/plugins-tab.tsx +47 -0
  140. package/src/tabs/settings-tab.tsx +3 -0
  141. package/src/utils/sanitize.ts +8 -0
  142. package/src/utils/storage.ts +12 -0
@@ -0,0 +1,12 @@
1
+ export declare const tabs: readonly [{
2
+ readonly name: "Plugins";
3
+ readonly id: "plugins";
4
+ readonly component: () => import("solid-js").JSX.Element;
5
+ readonly icon: import("solid-js").JSX.Element;
6
+ }, {
7
+ readonly name: "Settings";
8
+ readonly id: "settings";
9
+ readonly component: () => import("solid-js").JSX.Element;
10
+ readonly icon: import("solid-js").JSX.Element;
11
+ }];
12
+ export type TabName = (typeof tabs)[number]['id'];
@@ -0,0 +1,19 @@
1
+ import { template, createComponent } from "solid-js/web";
2
+ import { SettingsTab } from "./settings-tab.js";
3
+ import { PluginsTab } from "./plugins-tab.js";
4
+ var _tmpl$ = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="M8 6h10"></path><path d="M6 12h9"></path><path d="M11 18h7">`), _tmpl$2 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z"></path><path d="M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"></path><path d="M12 2v2"></path><path d="M12 22v-2"></path><path d="m17 20.66-1-1.73"></path><path d="M11 10.27 7 3.34"></path><path d="m20.66 17-1.73-1"></path><path d="m3.34 7 1.73 1"></path><path d="M14 12h8"></path><path d="M2 12h2"></path><path d="m20.66 7-1.73 1"></path><path d="m3.34 17 1.73-1"></path><path d="m17 3.34-1 1.73"></path><path d="m11 13.73-4 6.93">`);
5
+ const tabs = [{
6
+ name: "Plugins",
7
+ id: "plugins",
8
+ component: () => createComponent(PluginsTab, {}),
9
+ icon: _tmpl$()
10
+ }, {
11
+ name: "Settings",
12
+ id: "settings",
13
+ component: () => createComponent(SettingsTab, {}),
14
+ icon: _tmpl$2()
15
+ }];
16
+ export {
17
+ tabs
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/tabs/index.tsx"],"sourcesContent":["import { SettingsTab } from './settings-tab'\nimport { PluginsTab } from './plugins-tab'\n\nexport const tabs = [\n {\n name: 'Plugins',\n id: 'plugins',\n component: () => <PluginsTab />,\n icon: (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M8 6h10\" />\n <path d=\"M6 12h9\" />\n <path d=\"M11 18h7\" />\n </svg>\n ),\n },\n {\n name: 'Settings',\n id: 'settings',\n component: () => <SettingsTab />,\n icon: (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z\" />\n <path d=\"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\" />\n <path d=\"M12 2v2\" />\n <path d=\"M12 22v-2\" />\n <path d=\"m17 20.66-1-1.73\" />\n <path d=\"M11 10.27 7 3.34\" />\n <path d=\"m20.66 17-1.73-1\" />\n <path d=\"m3.34 7 1.73 1\" />\n <path d=\"M14 12h8\" />\n <path d=\"M2 12h2\" />\n <path d=\"m20.66 7-1.73 1\" />\n <path d=\"m3.34 17 1.73-1\" />\n <path d=\"m17 3.34-1 1.73\" />\n <path d=\"m11 13.73-4 6.93\" />\n </svg>\n ),\n },\n] as const\n\nexport type TabName = (typeof tabs)[number]['id']\n"],"names":["tabs","name","id","component","_$createComponent","PluginsTab","icon","_tmpl$","SettingsTab","_tmpl$2"],"mappings":";;;;AAGO,MAAMA,OAAO,CAClB;AAAA,EACEC,MAAM;AAAA,EACNC,IAAI;AAAA,EACJC,WAAWA,MAAAC,gBAAOC,YAAa,EAAA;AAAA,EAC/BC,MAAIC,OAAA;AAiBN,GACA;AAAA,EACEN,MAAM;AAAA,EACNC,IAAI;AAAA,EACJC,WAAWA,MAAAC,gBAAOI,aAAc,EAAA;AAAA,EAChCF,MAAIG,QAAA;AA4BN,CAAC;"}
@@ -0,0 +1 @@
1
+ export declare const PluginsTab: () => import("solid-js").JSX.Element;
@@ -0,0 +1,73 @@
1
+ import { template, insert, createComponent, effect, className, use, delegateEvents } from "solid-js/web";
2
+ import { createEffect, For } from "solid-js";
3
+ import clsx from "clsx";
4
+ import { usePlugins } from "../context/use-devtools-context.js";
5
+ import { useStyles } from "../styles/use-styles.js";
6
+ var _tmpl$ = /* @__PURE__ */ template(`<div><div></div><div>`), _tmpl$2 = /* @__PURE__ */ template(`<div><h3>`);
7
+ const PluginsTab = () => {
8
+ const {
9
+ plugins,
10
+ activePlugin,
11
+ setActivePlugin
12
+ } = usePlugins();
13
+ let activePluginRef;
14
+ createEffect(() => {
15
+ var _a;
16
+ const currentActivePlugin = (_a = plugins()) == null ? void 0 : _a.find((plugin) => {
17
+ var _a2;
18
+ return plugin.id === ((_a2 = activePlugin()) == null ? void 0 : _a2.id);
19
+ });
20
+ if (activePluginRef && currentActivePlugin) {
21
+ currentActivePlugin.render(activePluginRef);
22
+ }
23
+ });
24
+ const styles = useStyles();
25
+ return (() => {
26
+ var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
27
+ insert(_el$2, createComponent(For, {
28
+ get each() {
29
+ return plugins();
30
+ },
31
+ children: (plugin) => {
32
+ let pluginHeading;
33
+ createEffect(() => {
34
+ if (pluginHeading) {
35
+ typeof plugin.name === "string" ? pluginHeading.textContent = plugin.name : plugin.name(pluginHeading);
36
+ }
37
+ });
38
+ return (() => {
39
+ var _el$4 = _tmpl$2(), _el$5 = _el$4.firstChild;
40
+ _el$4.$$click = () => setActivePlugin(plugin);
41
+ var _ref$2 = pluginHeading;
42
+ typeof _ref$2 === "function" ? use(_ref$2, _el$5) : pluginHeading = _el$5;
43
+ effect(() => {
44
+ var _a;
45
+ return className(_el$4, clsx(styles().pluginName, {
46
+ active: ((_a = activePlugin()) == null ? void 0 : _a.id) === plugin.id
47
+ }));
48
+ });
49
+ return _el$4;
50
+ })();
51
+ }
52
+ }));
53
+ var _ref$ = activePluginRef;
54
+ typeof _ref$ === "function" ? use(_ref$, _el$3) : activePluginRef = _el$3;
55
+ effect((_p$) => {
56
+ var _v$ = styles().pluginsTabPanel, _v$2 = styles().pluginsTabSidebar, _v$3 = styles().pluginsTabContent;
57
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
58
+ _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
59
+ _v$3 !== _p$.a && className(_el$3, _p$.a = _v$3);
60
+ return _p$;
61
+ }, {
62
+ e: void 0,
63
+ t: void 0,
64
+ a: void 0
65
+ });
66
+ return _el$;
67
+ })();
68
+ };
69
+ delegateEvents(["click"]);
70
+ export {
71
+ PluginsTab
72
+ };
73
+ //# sourceMappingURL=plugins-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins-tab.js","sources":["../../../src/tabs/plugins-tab.tsx"],"sourcesContent":["import { For, createEffect } from 'solid-js'\nimport clsx from 'clsx'\nimport { usePlugins } from '../context/use-devtools-context'\nimport { useStyles } from '../styles/use-styles'\n\nexport const PluginsTab = () => {\n const { plugins, activePlugin, setActivePlugin } = usePlugins()\n let activePluginRef: HTMLDivElement | undefined\n createEffect(() => {\n const currentActivePlugin = plugins()?.find(\n (plugin) => plugin.id === activePlugin()?.id,\n )\n if (activePluginRef && currentActivePlugin) {\n currentActivePlugin.render(activePluginRef)\n }\n })\n const styles = useStyles()\n return (\n <div class={styles().pluginsTabPanel}>\n <div class={styles().pluginsTabSidebar}>\n <For each={plugins()}>\n {(plugin) => {\n let pluginHeading: HTMLHeadingElement | undefined\n createEffect(() => {\n if (pluginHeading) {\n typeof plugin.name === 'string'\n ? (pluginHeading.textContent = plugin.name)\n : plugin.name(pluginHeading)\n }\n })\n return (\n <div\n onClick={() => setActivePlugin(plugin)}\n class={clsx(styles().pluginName, {\n active: activePlugin()?.id === plugin.id,\n })}\n >\n <h3 ref={pluginHeading} />\n </div>\n )\n }}\n </For>\n </div>\n <div ref={activePluginRef} class={styles().pluginsTabContent}></div>\n </div>\n )\n}\n"],"names":["PluginsTab","plugins","activePlugin","setActivePlugin","usePlugins","activePluginRef","createEffect","currentActivePlugin","find","plugin","id","render","styles","useStyles","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_$createComponent","For","each","children","pluginHeading","name","textContent","_el$4","_tmpl$2","_el$5","$$click","_ref$2","_$use","_$effect","_$className","clsx","pluginName","active","_ref$","_p$","_v$","pluginsTabPanel","_v$2","pluginsTabSidebar","_v$3","pluginsTabContent","e","t","a","undefined","_$delegateEvents"],"mappings":";;;;;;AAKO,MAAMA,aAAaA,MAAM;AACxB,QAAA;AAAA,IAAEC;AAAAA,IAASC;AAAAA,IAAcC;AAAAA,MAAoBC,WAAW;AAC1DC,MAAAA;AACJC,eAAa,MAAM;;AACXC,UAAAA,uBAAsBN,aAAWO,MAAXP,mBAAWO,KACpCC,YAAWA;;AAAAA,oBAAOC,SAAOR,MAAAA,aAAa,MAAbA,gBAAAA,IAAgBQ;AAAAA;AAE5C,QAAIL,mBAAmBE,qBAAqB;AAC1CA,0BAAoBI,OAAON,eAAe;AAAA,IAAA;AAAA,EAC5C,CACD;AACD,QAAMO,SAASC,UAAU;AACzB,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA,GAAAC,QAAAF,KAAAG,YAAAC,QAAAF,MAAAG;AAAAH,WAAAA,OAAAI,gBAGOC,KAAG;AAAA,MAAA,IAACC,OAAI;AAAA,eAAErB,QAAQ;AAAA,MAAC;AAAA,MAAAsB,UAChBd,CAAW,WAAA;AACPe,YAAAA;AACJlB,qBAAa,MAAM;AACjB,cAAIkB,eAAe;AACVf,mBAAAA,OAAOgB,SAAS,WAClBD,cAAcE,cAAcjB,OAAOgB,OACpChB,OAAOgB,KAAKD,aAAa;AAAA,UAAA;AAAA,QAC/B,CACD;AACD,gBAAA,MAAA;AAAA,cAAAG,QAAAC,QAAAA,GAAAC,QAAAF,MAAAV;AAAAa,gBAAAA,UAEa,MAAM3B,gBAAgBM,MAAM;AAAC,cAAAsB,SAK7BP;AAAa,iBAAAO,WAAAC,aAAAA,IAAAD,QAAAF,KAAA,IAAbL,gBAAaK;AAAAI,iBAAAC,MAAAA;;AAAAA,6BAAAP,OAJfQ,KAAKvB,SAASwB,YAAY;AAAA,cAC/BC,UAAQnC,kBAAAA,MAAAA,mBAAgBQ,QAAOD,OAAOC;AAAAA,YACvC,CAAA,CAAC;AAAA,WAAA;AAAAiB,iBAAAA;AAAAA,QAAAA,GAAA;AAAA,MAAA;AAAA,IAKR,CAAC,CAAA;AAAA,QAAAW,QAGKjC;AAAe,WAAAiC,UAAAN,aAAAA,IAAAM,OAAApB,KAAA,IAAfb,kBAAea;AAAAe,WAAAM,CAAA,QAAA;AAAAC,UAAAA,MAzBf5B,SAAS6B,iBAAeC,OACtB9B,OAAS+B,EAAAA,mBAAiBC,OAwBJhC,OAAAA,EAASiC;AAAiBL,cAAAD,IAAAO,KAAAZ,UAAApB,MAAAyB,IAAAO,IAAAN,GAAA;AAAAE,eAAAH,IAAAQ,KAAAb,UAAAlB,OAAAuB,IAAAQ,IAAAL,IAAA;AAAAE,eAAAL,IAAAS,KAAAd,UAAAhB,OAAAqB,IAAAS,IAAAJ,IAAA;AAAAL,aAAAA;AAAAA,IAAAA,GAAA;AAAA,MAAAO,GAAAG;AAAAA,MAAAF,GAAAE;AAAAA,MAAAD,GAAAC;AAAAA,IAAAA,CAAA;AAAAnC,WAAAA;AAAAA,EAAAA,GAAA;AAGlE;AAACoC,eAAA,CAAA,OAAA,CAAA;"}
@@ -0,0 +1 @@
1
+ export declare const SettingsTab: () => import("solid-js").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { template } from "solid-js/web";
2
+ var _tmpl$ = /* @__PURE__ */ template(`<div>Settings`);
3
+ const SettingsTab = () => {
4
+ return _tmpl$();
5
+ };
6
+ export {
7
+ SettingsTab
8
+ };
9
+ //# sourceMappingURL=settings-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-tab.js","sources":["../../../src/tabs/settings-tab.tsx"],"sourcesContent":["export const SettingsTab = () => {\n return <div>Settings</div>\n}\n"],"names":["SettingsTab","_tmpl$"],"mappings":";;AAAO,MAAMA,cAAcA,MAAM;AAC/B,SAAAC,OAAA;AACF;"}
@@ -0,0 +1 @@
1
+ export declare const tryParseJson: <T>(json: string | null) => T | undefined;
@@ -0,0 +1,12 @@
1
+ const tryParseJson = (json) => {
2
+ if (!json) return void 0;
3
+ try {
4
+ return JSON.parse(json);
5
+ } catch (_e) {
6
+ return void 0;
7
+ }
8
+ };
9
+ export {
10
+ tryParseJson
11
+ };
12
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sources":["../../../src/utils/sanitize.ts"],"sourcesContent":["export const tryParseJson = <T>(json: string | null): T | undefined => {\n if (!json) return undefined\n try {\n return JSON.parse(json)\n } catch (_e) {\n return undefined\n }\n}\n"],"names":[],"mappings":"AAAa,MAAA,eAAe,CAAI,SAAuC;AACjE,MAAA,CAAC,KAAa,QAAA;AACd,MAAA;AACK,WAAA,KAAK,MAAM,IAAI;AAAA,WACf,IAAI;AACJ,WAAA;AAAA,EAAA;AAEX;"}
@@ -0,0 +1,5 @@
1
+ export declare const getStorageItem: (key: string) => string | null;
2
+ export declare const setStorageItem: (key: string, value: string) => void;
3
+ export declare const TANSTACK_DEVTOOLS = "tanstack_devtools";
4
+ export declare const TANSTACK_DEVTOOLS_STATE = "tanstack_devtools_state";
5
+ export declare const TANSTACK_DEVTOOLS_SETTINGS = "tanstack_devtools_settings";
@@ -0,0 +1,19 @@
1
+ const getStorageItem = (key) => localStorage.getItem(key);
2
+ const setStorageItem = (key, value) => {
3
+ try {
4
+ localStorage.setItem(key, value);
5
+ } catch (_e) {
6
+ return;
7
+ }
8
+ };
9
+ const TANSTACK_DEVTOOLS = "tanstack_devtools";
10
+ const TANSTACK_DEVTOOLS_STATE = "tanstack_devtools_state";
11
+ const TANSTACK_DEVTOOLS_SETTINGS = "tanstack_devtools_settings";
12
+ export {
13
+ TANSTACK_DEVTOOLS,
14
+ TANSTACK_DEVTOOLS_SETTINGS,
15
+ TANSTACK_DEVTOOLS_STATE,
16
+ getStorageItem,
17
+ setStorageItem
18
+ };
19
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sources":["../../../src/utils/storage.ts"],"sourcesContent":["export const getStorageItem = (key: string) => localStorage.getItem(key)\nexport const setStorageItem = (key: string, value: string) => {\n try {\n localStorage.setItem(key, value)\n } catch (_e) {\n return\n }\n}\n\nexport const TANSTACK_DEVTOOLS = 'tanstack_devtools'\nexport const TANSTACK_DEVTOOLS_STATE = 'tanstack_devtools_state'\nexport const TANSTACK_DEVTOOLS_SETTINGS = 'tanstack_devtools_settings'\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB,CAAC,QAAgB,aAAa,QAAQ,GAAG;AAC1D,MAAA,iBAAiB,CAAC,KAAa,UAAkB;AACxD,MAAA;AACW,iBAAA,QAAQ,KAAK,KAAK;AAAA,WACxB,IAAI;AACX;AAAA,EAAA;AAEJ;AAEO,MAAM,oBAAoB;AAC1B,MAAM,0BAA0B;AAChC,MAAM,6BAA6B;"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@tanstack/devtools",
3
+ "version": "0.0.0",
4
+ "description": "Headless UI for creating advanced custom devtools, autocomplete, and dropdown components.",
5
+ "author": "Tanner Linsley",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/TanStack/devtools.git",
10
+ "directory": "packages/devtools"
11
+ },
12
+ "homepage": "https://tanstack.com/devtools",
13
+ "funding": {
14
+ "type": "github",
15
+ "url": "https://github.com/sponsors/tannerlinsley"
16
+ },
17
+ "keywords": [
18
+ "devtools",
19
+ "autocomplete",
20
+ "dropdown",
21
+ "menu",
22
+ "headless-ui",
23
+ "nested"
24
+ ],
25
+ "type": "module",
26
+ "types": "dist/esm/index.d.ts",
27
+ "main": "dist/cjs/index.cjs",
28
+ "module": "dist/esm/index.js",
29
+ "exports": {
30
+ ".": {
31
+ "import": {
32
+ "types": "./dist/esm/index.d.ts",
33
+ "default": "./dist/esm/index.js"
34
+ },
35
+ "require": {
36
+ "types": "./dist/cjs/index.d.cts",
37
+ "default": "./dist/cjs/index.cjs"
38
+ }
39
+ },
40
+ "./package.json": "./package.json"
41
+ },
42
+ "sideEffects": false,
43
+ "engines": {
44
+ "node": ">=18"
45
+ },
46
+ "files": [
47
+ "dist/",
48
+ "src"
49
+ ],
50
+ "dependencies": {
51
+ "@solid-primitives/keyboard": "^1.2.8",
52
+ "clsx": "^2.1.1",
53
+ "goober": "^2.1.16",
54
+ "solid-js": "^1.9.5"
55
+ },
56
+ "devDependencies": {
57
+ "vite-plugin-solid": "^2.11.6"
58
+ },
59
+ "scripts": {
60
+ "clean": "premove ./build ./dist",
61
+ "lint:fix": "eslint ./src --fix",
62
+ "test:eslint": "eslint ./src",
63
+ "test:lib": "vitest",
64
+ "test:lib:dev": "pnpm test:lib --watch",
65
+ "test:types": "tsc",
66
+ "test:build": "publint --strict",
67
+ "build": "vite build"
68
+ }
69
+ }
@@ -0,0 +1,21 @@
1
+ import { useStyles } from '../styles/use-styles'
2
+ import type { JSX } from 'solid-js/jsx-runtime'
3
+
4
+ export const ContentPanel = (props: {
5
+ ref: (el: HTMLDivElement | undefined) => void
6
+ children: JSX.Element
7
+ handleDragStart?: (e: any) => void
8
+ }) => {
9
+ const styles = useStyles()
10
+ return (
11
+ <div ref={props.ref} class={styles().devtoolsPanel}>
12
+ {props.handleDragStart ? (
13
+ <div
14
+ class={styles().dragHandle}
15
+ onMouseDown={props.handleDragStart}
16
+ ></div>
17
+ ) : null}
18
+ {props.children}
19
+ </div>
20
+ )
21
+ }