@tanstack/pacer-devtools 0.14.0 → 1.0.1

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 (113) hide show
  1. package/README.md +165 -0
  2. package/dist/PacerContextProvider.js +142 -0
  3. package/dist/PacerContextProvider.js.map +1 -0
  4. package/dist/PacerDevtools.js +14 -0
  5. package/dist/PacerDevtools.js.map +1 -0
  6. package/dist/components/ActionButtons.js +154 -0
  7. package/dist/components/ActionButtons.js.map +1 -0
  8. package/dist/components/DetailsPanel.js +76 -0
  9. package/dist/components/DetailsPanel.js.map +1 -0
  10. package/dist/components/Shell.js +107 -0
  11. package/dist/components/Shell.js.map +1 -0
  12. package/dist/components/StateHeader.js +85 -0
  13. package/dist/components/StateHeader.js.map +1 -0
  14. package/dist/components/UtilList.js +72 -0
  15. package/dist/components/UtilList.js.map +1 -0
  16. package/dist/components/util-groups.js +57 -0
  17. package/dist/components/util-groups.js.map +1 -0
  18. package/dist/core.d.ts +20 -0
  19. package/dist/core.js +9 -0
  20. package/dist/core.js.map +1 -0
  21. package/dist/index.d.ts +14 -0
  22. package/dist/index.js +10 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/production.d.ts +2 -0
  25. package/dist/production.js +5 -0
  26. package/dist/styles/tokens.js +301 -0
  27. package/dist/styles/tokens.js.map +1 -0
  28. package/dist/{esm/styles → styles}/use-styles.js +113 -129
  29. package/dist/styles/use-styles.js.map +1 -0
  30. package/package.json +17 -35
  31. package/src/components/DetailsPanel.tsx +2 -2
  32. package/src/components/Shell.tsx +8 -3
  33. package/src/core.tsx +5 -36
  34. package/src/index.ts +2 -9
  35. package/src/production.ts +1 -3
  36. package/src/styles/use-styles.ts +65 -80
  37. package/dist/cjs/PacerContextProvider.cjs +0 -156
  38. package/dist/cjs/PacerContextProvider.cjs.map +0 -1
  39. package/dist/cjs/PacerContextProvider.d.cts +0 -19
  40. package/dist/cjs/PacerDevtools.cjs +0 -13
  41. package/dist/cjs/PacerDevtools.cjs.map +0 -1
  42. package/dist/cjs/PacerDevtools.d.cts +0 -1
  43. package/dist/cjs/components/ActionButtons.cjs +0 -157
  44. package/dist/cjs/components/ActionButtons.cjs.map +0 -1
  45. package/dist/cjs/components/ActionButtons.d.cts +0 -6
  46. package/dist/cjs/components/DetailsPanel.cjs +0 -80
  47. package/dist/cjs/components/DetailsPanel.cjs.map +0 -1
  48. package/dist/cjs/components/DetailsPanel.d.cts +0 -11
  49. package/dist/cjs/components/Shell.cjs +0 -102
  50. package/dist/cjs/components/Shell.cjs.map +0 -1
  51. package/dist/cjs/components/Shell.d.cts +0 -1
  52. package/dist/cjs/components/StateHeader.cjs +0 -95
  53. package/dist/cjs/components/StateHeader.cjs.map +0 -1
  54. package/dist/cjs/components/StateHeader.d.cts +0 -11
  55. package/dist/cjs/components/UtilList.cjs +0 -70
  56. package/dist/cjs/components/UtilList.cjs.map +0 -1
  57. package/dist/cjs/components/UtilList.d.cts +0 -8
  58. package/dist/cjs/components/util-groups.cjs +0 -40
  59. package/dist/cjs/components/util-groups.cjs.map +0 -1
  60. package/dist/cjs/components/util-groups.d.cts +0 -8
  61. package/dist/cjs/core.cjs +0 -43
  62. package/dist/cjs/core.cjs.map +0 -1
  63. package/dist/cjs/core.d.cts +0 -8
  64. package/dist/cjs/index.cjs +0 -15
  65. package/dist/cjs/index.cjs.map +0 -1
  66. package/dist/cjs/index.d.cts +0 -3
  67. package/dist/cjs/production.cjs +0 -7
  68. package/dist/cjs/production.cjs.map +0 -1
  69. package/dist/cjs/production.d.cts +0 -3
  70. package/dist/cjs/styles/tokens.cjs +0 -90
  71. package/dist/cjs/styles/tokens.cjs.map +0 -1
  72. package/dist/cjs/styles/tokens.d.cts +0 -298
  73. package/dist/cjs/styles/use-styles.cjs +0 -397
  74. package/dist/cjs/styles/use-styles.cjs.map +0 -1
  75. package/dist/cjs/styles/use-styles.d.cts +0 -42
  76. package/dist/esm/PacerContextProvider.d.ts +0 -19
  77. package/dist/esm/PacerContextProvider.js +0 -156
  78. package/dist/esm/PacerContextProvider.js.map +0 -1
  79. package/dist/esm/PacerDevtools.d.ts +0 -1
  80. package/dist/esm/PacerDevtools.js +0 -14
  81. package/dist/esm/PacerDevtools.js.map +0 -1
  82. package/dist/esm/components/ActionButtons.d.ts +0 -6
  83. package/dist/esm/components/ActionButtons.js +0 -157
  84. package/dist/esm/components/ActionButtons.js.map +0 -1
  85. package/dist/esm/components/DetailsPanel.d.ts +0 -11
  86. package/dist/esm/components/DetailsPanel.js +0 -80
  87. package/dist/esm/components/DetailsPanel.js.map +0 -1
  88. package/dist/esm/components/Shell.d.ts +0 -1
  89. package/dist/esm/components/Shell.js +0 -102
  90. package/dist/esm/components/Shell.js.map +0 -1
  91. package/dist/esm/components/StateHeader.d.ts +0 -11
  92. package/dist/esm/components/StateHeader.js +0 -95
  93. package/dist/esm/components/StateHeader.js.map +0 -1
  94. package/dist/esm/components/UtilList.d.ts +0 -8
  95. package/dist/esm/components/UtilList.js +0 -70
  96. package/dist/esm/components/UtilList.js.map +0 -1
  97. package/dist/esm/components/util-groups.d.ts +0 -8
  98. package/dist/esm/components/util-groups.js +0 -40
  99. package/dist/esm/components/util-groups.js.map +0 -1
  100. package/dist/esm/core.d.ts +0 -8
  101. package/dist/esm/core.js +0 -42
  102. package/dist/esm/core.js.map +0 -1
  103. package/dist/esm/index.d.ts +0 -3
  104. package/dist/esm/index.js +0 -15
  105. package/dist/esm/index.js.map +0 -1
  106. package/dist/esm/production.d.ts +0 -3
  107. package/dist/esm/production.js +0 -7
  108. package/dist/esm/production.js.map +0 -1
  109. package/dist/esm/styles/tokens.d.ts +0 -298
  110. package/dist/esm/styles/tokens.js +0 -90
  111. package/dist/esm/styles/tokens.js.map +0 -1
  112. package/dist/esm/styles/use-styles.d.ts +0 -42
  113. package/dist/esm/styles/use-styles.js.map +0 -1
@@ -1,157 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const pacer = require("@tanstack/pacer");
5
- const useStyles = require("../styles/use-styles.cjs");
6
- var _tmpl$ = /* @__PURE__ */ web.template(`<div>No actions available for this util`), _tmpl$2 = /* @__PURE__ */ web.template(`<div>`), _tmpl$3 = /* @__PURE__ */ web.template(`<button><span>`), _tmpl$4 = /* @__PURE__ */ web.template(`<button><span></span>Flush`), _tmpl$5 = /* @__PURE__ */ web.template(`<button><span></span>Cancel`), _tmpl$6 = /* @__PURE__ */ web.template(`<button><span></span>Reset`), _tmpl$7 = /* @__PURE__ */ web.template(`<button><span></span>Clear`);
7
- function ActionButtons(props) {
8
- const styles = useStyles.useStyles();
9
- const utilInstance = props.instance;
10
- const utilState = utilInstance?.store?.state;
11
- const hasPending = utilState && "isPending" in utilState;
12
- const hasEmpty = utilState && "isEmpty" in utilState;
13
- const isPending = hasPending ? !!utilState.isPending : false;
14
- const isEmpty = hasEmpty ? utilState.isEmpty : void 0;
15
- const hasFlush = typeof utilInstance.flush === "function";
16
- const hasCancel = typeof utilInstance.cancel === "function";
17
- const hasReset = typeof utilInstance.reset === "function";
18
- const hasClear = typeof utilInstance.clear === "function";
19
- const hasStart = typeof utilInstance.start === "function";
20
- const hasStop = typeof utilInstance.stop === "function";
21
- const hasStartStop = hasStart && hasStop;
22
- const isRunning = utilState?.isRunning ?? true;
23
- if (!hasPending && !hasFlush && !hasCancel && !hasReset && !hasClear) {
24
- return (() => {
25
- var _el$ = _tmpl$();
26
- web.effect(() => web.className(_el$, styles().sectionEmpty));
27
- return _el$;
28
- })();
29
- }
30
- const emitName = `d-${props.utilName}`;
31
- return (() => {
32
- var _el$2 = _tmpl$2();
33
- web.insert(_el$2, hasPending && (() => {
34
- var _el$3 = _tmpl$3(), _el$4 = _el$3.firstChild;
35
- _el$3.$$mousedown = () => {
36
- const next = !isPending;
37
- utilInstance.store.setState((prev) => ({
38
- ...prev,
39
- isPending: next
40
- }));
41
- pacer.pacerEventClient.emit(emitName, utilInstance);
42
- };
43
- web.insert(_el$3, isPending ? "Restore Pending" : "Trigger Pending", null);
44
- web.effect((_p$) => {
45
- var _v$ = styles().actionButton, _v$2 = styles().actionDotBlue;
46
- _v$ !== _p$.e && web.className(_el$3, _p$.e = _v$);
47
- _v$2 !== _p$.t && web.className(_el$4, _p$.t = _v$2);
48
- return _p$;
49
- }, {
50
- e: void 0,
51
- t: void 0
52
- });
53
- return _el$3;
54
- })(), null);
55
- web.insert(_el$2, hasFlush && (() => {
56
- var _el$5 = _tmpl$4(), _el$6 = _el$5.firstChild;
57
- _el$5.$$mousedown = () => {
58
- utilInstance.flush();
59
- pacer.pacerEventClient.emit(emitName, utilInstance);
60
- };
61
- web.effect((_p$) => {
62
- var _v$3 = styles().actionButton, _v$4 = props.utilName.toLowerCase().includes("debouncer") && !isPending || props.utilName.toLowerCase().includes("throttler") && !isPending || props.utilName.toLowerCase().includes("batcher") && isEmpty || props.utilName.toLowerCase().includes("queuer") && isEmpty, _v$5 = styles().actionDotGreen;
63
- _v$3 !== _p$.e && web.className(_el$5, _p$.e = _v$3);
64
- _v$4 !== _p$.t && (_el$5.disabled = _p$.t = _v$4);
65
- _v$5 !== _p$.a && web.className(_el$6, _p$.a = _v$5);
66
- return _p$;
67
- }, {
68
- e: void 0,
69
- t: void 0,
70
- a: void 0
71
- });
72
- return _el$5;
73
- })(), null);
74
- web.insert(_el$2, hasCancel && (() => {
75
- var _el$7 = _tmpl$5(), _el$8 = _el$7.firstChild;
76
- _el$7.$$mousedown = () => {
77
- utilInstance.cancel();
78
- pacer.pacerEventClient.emit(emitName, utilInstance);
79
- };
80
- web.effect((_p$) => {
81
- var _v$6 = styles().actionButton, _v$7 = props.utilName.toLowerCase().includes("debouncer") && !isPending || props.utilName.toLowerCase().includes("throttler") && !isPending || props.utilName.toLowerCase().includes("batcher") && isEmpty || props.utilName.toLowerCase().includes("queuer") && isEmpty, _v$8 = styles().actionDotRed;
82
- _v$6 !== _p$.e && web.className(_el$7, _p$.e = _v$6);
83
- _v$7 !== _p$.t && (_el$7.disabled = _p$.t = _v$7);
84
- _v$8 !== _p$.a && web.className(_el$8, _p$.a = _v$8);
85
- return _p$;
86
- }, {
87
- e: void 0,
88
- t: void 0,
89
- a: void 0
90
- });
91
- return _el$7;
92
- })(), null);
93
- web.insert(_el$2, hasReset && (() => {
94
- var _el$9 = _tmpl$6(), _el$0 = _el$9.firstChild;
95
- _el$9.$$mousedown = () => {
96
- utilInstance.reset();
97
- pacer.pacerEventClient.emit(emitName, utilInstance);
98
- };
99
- web.effect((_p$) => {
100
- var _v$9 = styles().actionButton, _v$0 = styles().actionDotYellow;
101
- _v$9 !== _p$.e && web.className(_el$9, _p$.e = _v$9);
102
- _v$0 !== _p$.t && web.className(_el$0, _p$.t = _v$0);
103
- return _p$;
104
- }, {
105
- e: void 0,
106
- t: void 0
107
- });
108
- return _el$9;
109
- })(), null);
110
- web.insert(_el$2, hasClear && (() => {
111
- var _el$1 = _tmpl$7(), _el$10 = _el$1.firstChild;
112
- _el$1.$$mousedown = () => {
113
- utilInstance.clear();
114
- pacer.pacerEventClient.emit(emitName, utilInstance);
115
- };
116
- web.effect((_p$) => {
117
- var _v$1 = styles().actionButton, _v$10 = props.utilName.toLowerCase().includes("batcher") && isEmpty || props.utilName.toLowerCase().includes("queuer") && isEmpty, _v$11 = styles().actionDotOrange;
118
- _v$1 !== _p$.e && web.className(_el$1, _p$.e = _v$1);
119
- _v$10 !== _p$.t && (_el$1.disabled = _p$.t = _v$10);
120
- _v$11 !== _p$.a && web.className(_el$10, _p$.a = _v$11);
121
- return _p$;
122
- }, {
123
- e: void 0,
124
- t: void 0,
125
- a: void 0
126
- });
127
- return _el$1;
128
- })(), null);
129
- web.insert(_el$2, hasStartStop && (() => {
130
- var _el$11 = _tmpl$3(), _el$12 = _el$11.firstChild;
131
- _el$11.$$mousedown = () => {
132
- if (isRunning) {
133
- utilInstance.stop();
134
- } else {
135
- utilInstance.start();
136
- }
137
- pacer.pacerEventClient.emit(emitName, utilInstance);
138
- };
139
- web.insert(_el$11, isRunning ? "Stop" : "Start", null);
140
- web.effect((_p$) => {
141
- var _v$12 = styles().actionButton, _v$13 = styles().actionDotPurple;
142
- _v$12 !== _p$.e && web.className(_el$11, _p$.e = _v$12);
143
- _v$13 !== _p$.t && web.className(_el$12, _p$.t = _v$13);
144
- return _p$;
145
- }, {
146
- e: void 0,
147
- t: void 0
148
- });
149
- return _el$11;
150
- })(), null);
151
- web.effect(() => web.className(_el$2, styles().actionsRow));
152
- return _el$2;
153
- })();
154
- }
155
- web.delegateEvents(["mousedown"]);
156
- exports.ActionButtons = ActionButtons;
157
- //# sourceMappingURL=ActionButtons.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActionButtons.cjs","sources":["../../../src/components/ActionButtons.tsx"],"sourcesContent":["import { pacerEventClient } from '@tanstack/pacer'\nimport { useStyles } from '../styles/use-styles'\nimport type { PacerEventName } from '@tanstack/pacer'\n\ntype ActionButtonsProps = {\n instance: any\n utilName: string\n}\n\nexport function ActionButtons(props: ActionButtonsProps) {\n const styles = useStyles()\n const utilInstance = props.instance\n const utilState = utilInstance?.store?.state\n const hasPending = utilState && 'isPending' in utilState\n const hasEmpty = utilState && 'isEmpty' in utilState\n const isPending = hasPending ? !!utilState.isPending : false\n const isEmpty = hasEmpty ? utilState.isEmpty : undefined\n\n const hasFlush = typeof utilInstance.flush === 'function'\n const hasCancel = typeof utilInstance.cancel === 'function'\n const hasReset = typeof utilInstance.reset === 'function'\n const hasClear = typeof utilInstance.clear === 'function'\n const hasStart = typeof utilInstance.start === 'function'\n const hasStop = typeof utilInstance.stop === 'function'\n const hasStartStop = hasStart && hasStop\n\n const isRunning = utilState?.isRunning ?? true\n\n if (!hasPending && !hasFlush && !hasCancel && !hasReset && !hasClear) {\n return (\n <div class={styles().sectionEmpty}>\n No actions available for this util\n </div>\n )\n }\n\n const emitName = `d-${props.utilName}` as PacerEventName\n\n return (\n <div class={styles().actionsRow}>\n {hasPending && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n const next = !isPending\n utilInstance.store.setState((prev: any) => ({\n ...prev,\n isPending: next,\n }))\n pacerEventClient.emit(emitName, utilInstance)\n }}\n >\n <span class={styles().actionDotBlue} />\n {isPending ? 'Restore Pending' : 'Trigger Pending'}\n </button>\n )}\n {hasFlush && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n utilInstance.flush()\n pacerEventClient.emit(emitName, utilInstance)\n }}\n disabled={\n (props.utilName.toLowerCase().includes('debouncer') &&\n !isPending) ||\n (props.utilName.toLowerCase().includes('throttler') &&\n !isPending) ||\n (props.utilName.toLowerCase().includes('batcher') && isEmpty) ||\n (props.utilName.toLowerCase().includes('queuer') && isEmpty)\n }\n >\n <span class={styles().actionDotGreen} />\n Flush\n </button>\n )}\n {hasCancel && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n utilInstance.cancel()\n pacerEventClient.emit(emitName, utilInstance)\n }}\n disabled={\n (props.utilName.toLowerCase().includes('debouncer') &&\n !isPending) ||\n (props.utilName.toLowerCase().includes('throttler') &&\n !isPending) ||\n (props.utilName.toLowerCase().includes('batcher') && isEmpty) ||\n (props.utilName.toLowerCase().includes('queuer') && isEmpty)\n }\n >\n <span class={styles().actionDotRed} />\n Cancel\n </button>\n )}\n {hasReset && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n utilInstance.reset()\n pacerEventClient.emit(emitName, utilInstance)\n }}\n >\n <span class={styles().actionDotYellow} />\n Reset\n </button>\n )}\n {hasClear && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n utilInstance.clear()\n pacerEventClient.emit(emitName, utilInstance)\n }}\n disabled={\n (props.utilName.toLowerCase().includes('batcher') && isEmpty) ||\n (props.utilName.toLowerCase().includes('queuer') && isEmpty)\n }\n >\n <span class={styles().actionDotOrange} />\n Clear\n </button>\n )}\n {hasStartStop && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n if (isRunning) {\n utilInstance.stop()\n } else {\n utilInstance.start()\n }\n pacerEventClient.emit(emitName, utilInstance)\n }}\n >\n <span class={styles().actionDotPurple} />\n {isRunning ? 'Stop' : 'Start'}\n </button>\n )}\n </div>\n )\n}\n"],"names":["ActionButtons","props","styles","useStyles","utilInstance","instance","utilState","store","state","hasPending","hasEmpty","isPending","isEmpty","undefined","hasFlush","flush","hasCancel","cancel","hasReset","reset","hasClear","clear","hasStart","start","hasStop","stop","hasStartStop","isRunning","_el$","_tmpl$","_$effect","_$className","sectionEmpty","emitName","utilName","_el$2","_tmpl$2","_$insert","_el$3","_tmpl$3","_el$4","firstChild","$$mousedown","next","setState","prev","pacerEventClient","emit","_p$","_v$","actionButton","_v$2","actionDotBlue","e","t","_el$5","_tmpl$4","_el$6","_v$3","_v$4","toLowerCase","includes","_v$5","actionDotGreen","disabled","a","_el$7","_tmpl$5","_el$8","_v$6","_v$7","_v$8","actionDotRed","_el$9","_tmpl$6","_el$0","_v$9","_v$0","actionDotYellow","_el$1","_tmpl$7","_el$10","_v$1","_v$10","_v$11","actionDotOrange","_el$11","_el$12","_v$12","_v$13","actionDotPurple","actionsRow","_$delegateEvents"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- type ActionButtonsProps = {
2
- instance: any;
3
- utilName: string;
4
- };
5
- export declare function ActionButtons(props: ActionButtonsProps): import("solid-js").JSX.Element;
6
- export {};
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const devtoolsUi = require("@tanstack/devtools-ui");
5
- const useStyles = require("../styles/use-styles.cjs");
6
- const ActionButtons = require("./ActionButtons.cjs");
7
- const StateHeader = require("./StateHeader.cjs");
8
- var _tmpl$ = /* @__PURE__ */ web.template(`<div>`), _tmpl$2 = /* @__PURE__ */ web.template(`<div>Select a util from the left panel to view its state`), _tmpl$3 = /* @__PURE__ */ web.template(`<div><div><div>Actions</div></div><div><div>State</div><div></div></div><div><div>Options</div><div>`);
9
- function DetailsPanel(props) {
10
- const styles = useStyles.useStyles();
11
- return (() => {
12
- var _el$ = _tmpl$();
13
- web.insert(_el$, () => {
14
- const entry = props.selectedInstance();
15
- if (!entry) {
16
- return (() => {
17
- var _el$2 = _tmpl$2();
18
- web.effect(() => web.className(_el$2, styles().noSelection));
19
- return _el$2;
20
- })();
21
- }
22
- return [web.createComponent(StateHeader.StateHeader, {
23
- get selectedInstance() {
24
- return props.selectedInstance;
25
- },
26
- get utilState() {
27
- return props.utilState;
28
- }
29
- }), (() => {
30
- var _el$3 = _tmpl$3(), _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling, _el$9 = _el$6.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling;
31
- web.insert(_el$4, web.createComponent(ActionButtons.ActionButtons, {
32
- get instance() {
33
- return entry.instance;
34
- },
35
- get utilName() {
36
- return entry.type;
37
- }
38
- }), null);
39
- web.insert(_el$8, web.createComponent(devtoolsUi.JsonTree, {
40
- get value() {
41
- return entry.instance.store?.state;
42
- }
43
- }));
44
- web.insert(_el$1, web.createComponent(devtoolsUi.JsonTree, {
45
- get value() {
46
- return entry.instance.options;
47
- }
48
- }));
49
- web.effect((_p$) => {
50
- var _v$ = styles().detailsGrid, _v$2 = styles().detailSection, _v$3 = styles().detailSectionHeader, _v$4 = styles().detailSection, _v$5 = styles().detailSectionHeader, _v$6 = styles().stateContent, _v$7 = styles().detailSection, _v$8 = styles().detailSectionHeader, _v$9 = styles().stateContent;
51
- _v$ !== _p$.e && web.className(_el$3, _p$.e = _v$);
52
- _v$2 !== _p$.t && web.className(_el$4, _p$.t = _v$2);
53
- _v$3 !== _p$.a && web.className(_el$5, _p$.a = _v$3);
54
- _v$4 !== _p$.o && web.className(_el$6, _p$.o = _v$4);
55
- _v$5 !== _p$.i && web.className(_el$7, _p$.i = _v$5);
56
- _v$6 !== _p$.n && web.className(_el$8, _p$.n = _v$6);
57
- _v$7 !== _p$.s && web.className(_el$9, _p$.s = _v$7);
58
- _v$8 !== _p$.h && web.className(_el$0, _p$.h = _v$8);
59
- _v$9 !== _p$.r && web.className(_el$1, _p$.r = _v$9);
60
- return _p$;
61
- }, {
62
- e: void 0,
63
- t: void 0,
64
- a: void 0,
65
- o: void 0,
66
- i: void 0,
67
- n: void 0,
68
- s: void 0,
69
- h: void 0,
70
- r: void 0
71
- });
72
- return _el$3;
73
- })()];
74
- });
75
- web.effect(() => web.className(_el$, styles().stateDetails));
76
- return _el$;
77
- })();
78
- }
79
- exports.DetailsPanel = DetailsPanel;
80
- //# sourceMappingURL=DetailsPanel.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DetailsPanel.cjs","sources":["../../../src/components/DetailsPanel.tsx"],"sourcesContent":["import { JsonTree } from '@tanstack/devtools-ui'\nimport { useStyles } from '../styles/use-styles'\nimport { ActionButtons } from './ActionButtons'\nimport { StateHeader } from './StateHeader'\n\ntype DetailsPanelProps = {\n selectedInstance: () => { instance: any; type: string } | null\n utilState: () => { lastUpdatedByKey: Record<string, number> }\n}\n\nexport function DetailsPanel(props: DetailsPanelProps) {\n const styles = useStyles()\n\n return (\n <div class={styles().stateDetails}>\n {(() => {\n const entry = props.selectedInstance()\n if (!entry) {\n return (\n <div class={styles().noSelection}>\n Select a util from the left panel to view its state\n </div>\n )\n }\n\n return (\n <>\n <StateHeader\n selectedInstance={props.selectedInstance}\n utilState={props.utilState}\n />\n\n <div class={styles().detailsGrid}>\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Actions</div>\n <ActionButtons\n instance={entry.instance}\n utilName={entry.type}\n />\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>State</div>\n <div class={styles().stateContent}>\n <JsonTree value={entry.instance.store?.state} />\n </div>\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Options</div>\n <div class={styles().stateContent}>\n <JsonTree value={entry.instance.options} />\n </div>\n </div>\n </div>\n </>\n )\n })()}\n </div>\n )\n}\n"],"names":["DetailsPanel","props","styles","useStyles","_el$","_tmpl$","_$insert","entry","selectedInstance","_el$2","_tmpl$2","_$effect","_$className","noSelection","_$createComponent","StateHeader","utilState","_el$3","_tmpl$3","_el$4","firstChild","_el$5","_el$6","nextSibling","_el$7","_el$8","_el$9","_el$0","_el$1","ActionButtons","instance","utilName","type","JsonTree","value","store","state","options","_p$","_v$","detailsGrid","_v$2","detailSection","_v$3","detailSectionHeader","_v$4","_v$5","_v$6","stateContent","_v$7","_v$8","_v$9","e","t","a","o","i","n","s","h","r","undefined","stateDetails"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- type DetailsPanelProps = {
2
- selectedInstance: () => {
3
- instance: any;
4
- type: string;
5
- } | null;
6
- utilState: () => {
7
- lastUpdatedByKey: Record<string, number>;
8
- };
9
- };
10
- export declare function DetailsPanel(props: DetailsPanelProps): import("solid-js").JSX.Element;
11
- export {};
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const solidJs = require("solid-js");
5
- const useStyles = require("../styles/use-styles.cjs");
6
- const PacerContextProvider = require("../PacerContextProvider.cjs");
7
- const utilGroups = require("./util-groups.cjs");
8
- const UtilList = require("./UtilList.cjs");
9
- const DetailsPanel = require("./DetailsPanel.cjs");
10
- var _tmpl$ = /* @__PURE__ */ web.template(`<div><div>TanStack Pacer</div><div><div></div><div></div><div><div>Details`);
11
- function Shell() {
12
- const styles = useStyles.useStyles();
13
- const state = PacerContextProvider.usePacerDevtoolsState();
14
- const utilState = () => state;
15
- const [selectedKey, setSelectedKey] = solidJs.createSignal(null);
16
- const [leftPanelWidth, setLeftPanelWidth] = solidJs.createSignal(300);
17
- const [isDragging, setIsDragging] = solidJs.createSignal(false);
18
- const selectedInstance = solidJs.createMemo(() => {
19
- const key = selectedKey();
20
- if (!key) return null;
21
- for (const group of utilGroups.UTIL_GROUPS) {
22
- const instance = utilState()[group.key].find((inst) => inst.key === key);
23
- if (instance) return {
24
- instance,
25
- type: group.displayName
26
- };
27
- }
28
- return null;
29
- });
30
- let dragStartX = 0;
31
- let dragStartWidth = 0;
32
- const handleMouseDown = (e) => {
33
- e.preventDefault();
34
- e.stopPropagation();
35
- setIsDragging(true);
36
- document.body.style.cursor = "col-resize";
37
- document.body.style.userSelect = "none";
38
- dragStartX = e.clientX;
39
- dragStartWidth = leftPanelWidth();
40
- };
41
- const handleMouseMove = (e) => {
42
- if (!isDragging()) return;
43
- e.preventDefault();
44
- const deltaX = e.clientX - dragStartX;
45
- const newWidth = Math.max(150, Math.min(800, dragStartWidth + deltaX));
46
- setLeftPanelWidth(newWidth);
47
- };
48
- const handleMouseUp = () => {
49
- setIsDragging(false);
50
- document.body.style.cursor = "";
51
- document.body.style.userSelect = "";
52
- };
53
- solidJs.onMount(() => {
54
- document.addEventListener("mousemove", handleMouseMove);
55
- document.addEventListener("mouseup", handleMouseUp);
56
- });
57
- solidJs.onCleanup(() => {
58
- document.removeEventListener("mousemove", handleMouseMove);
59
- document.removeEventListener("mouseup", handleMouseUp);
60
- });
61
- return (() => {
62
- var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$7 = _el$6.firstChild;
63
- _el$4.style.setProperty("min-width", "150px");
64
- _el$4.style.setProperty("max-width", "800px");
65
- web.insert(_el$4, web.createComponent(UtilList.UtilList, {
66
- selectedKey,
67
- setSelectedKey,
68
- utilState
69
- }));
70
- _el$5.$$mousedown = handleMouseDown;
71
- _el$6.style.setProperty("flex", "1");
72
- web.insert(_el$6, web.createComponent(DetailsPanel.DetailsPanel, {
73
- selectedInstance,
74
- utilState
75
- }), null);
76
- web.effect((_p$) => {
77
- var _v$ = styles().devtoolsPanel, _v$2 = styles().stickyHeader, _v$3 = styles().mainContainer, _v$4 = styles().leftPanel, _v$5 = `${leftPanelWidth()}px`, _v$6 = `${styles().dragHandle} ${isDragging() ? "dragging" : ""}`, _v$7 = styles().rightPanel, _v$8 = styles().panelHeader;
78
- _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
79
- _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
80
- _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
81
- _v$4 !== _p$.o && web.className(_el$4, _p$.o = _v$4);
82
- _v$5 !== _p$.i && ((_p$.i = _v$5) != null ? _el$4.style.setProperty("width", _v$5) : _el$4.style.removeProperty("width"));
83
- _v$6 !== _p$.n && web.className(_el$5, _p$.n = _v$6);
84
- _v$7 !== _p$.s && web.className(_el$6, _p$.s = _v$7);
85
- _v$8 !== _p$.h && web.className(_el$7, _p$.h = _v$8);
86
- return _p$;
87
- }, {
88
- e: void 0,
89
- t: void 0,
90
- a: void 0,
91
- o: void 0,
92
- i: void 0,
93
- n: void 0,
94
- s: void 0,
95
- h: void 0
96
- });
97
- return _el$;
98
- })();
99
- }
100
- web.delegateEvents(["mousedown"]);
101
- exports.Shell = Shell;
102
- //# sourceMappingURL=Shell.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Shell.cjs","sources":["../../../src/components/Shell.tsx"],"sourcesContent":["import { createMemo, createSignal, onCleanup, onMount } from 'solid-js'\nimport { useStyles } from '../styles/use-styles'\nimport { usePacerDevtoolsState } from '../PacerContextProvider'\nimport { UTIL_GROUPS } from './util-groups'\nimport { UtilList } from './UtilList'\nimport { DetailsPanel } from './DetailsPanel'\nimport type { StateKey } from './util-groups'\n\nexport function Shell() {\n const styles = useStyles()\n const state = usePacerDevtoolsState()\n const utilState = () => state\n const [selectedKey, setSelectedKey] = createSignal<string | null>(null)\n const [leftPanelWidth, setLeftPanelWidth] = createSignal(300)\n const [isDragging, setIsDragging] = createSignal(false)\n\n const selectedInstance = createMemo(() => {\n const key = selectedKey()\n if (!key) return null\n for (const group of UTIL_GROUPS) {\n const instance = (utilState() as unknown as Record<StateKey, Array<any>>)[\n group.key\n ].find((inst) => inst.key === key)\n if (instance) return { instance, type: group.displayName }\n }\n return null\n })\n\n let dragStartX = 0\n let dragStartWidth = 0\n\n const handleMouseDown = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDragging(true)\n document.body.style.cursor = 'col-resize'\n document.body.style.userSelect = 'none'\n dragStartX = e.clientX\n dragStartWidth = leftPanelWidth()\n }\n\n const handleMouseMove = (e: MouseEvent) => {\n if (!isDragging()) return\n\n e.preventDefault()\n const deltaX = e.clientX - dragStartX\n const newWidth = Math.max(150, Math.min(800, dragStartWidth + deltaX))\n setLeftPanelWidth(newWidth)\n }\n\n const handleMouseUp = () => {\n setIsDragging(false)\n document.body.style.cursor = ''\n document.body.style.userSelect = ''\n }\n\n onMount(() => {\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n })\n\n onCleanup(() => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n })\n\n return (\n <div class={styles().devtoolsPanel}>\n <div class={styles().stickyHeader}>TanStack Pacer</div>\n\n <div class={styles().mainContainer}>\n <div\n class={styles().leftPanel}\n style={{\n width: `${leftPanelWidth()}px`,\n 'min-width': '150px',\n 'max-width': '800px',\n }}\n >\n <UtilList\n selectedKey={selectedKey}\n setSelectedKey={setSelectedKey}\n utilState={utilState}\n />\n </div>\n\n <div\n class={`${styles().dragHandle} ${isDragging() ? 'dragging' : ''}`}\n onMouseDown={handleMouseDown}\n />\n\n <div class={styles().rightPanel} style={{ flex: 1 }}>\n <div class={styles().panelHeader}>Details</div>\n <DetailsPanel\n selectedInstance={selectedInstance}\n utilState={utilState}\n />\n </div>\n </div>\n </div>\n )\n}\n"],"names":["Shell","styles","useStyles","state","usePacerDevtoolsState","utilState","selectedKey","setSelectedKey","createSignal","leftPanelWidth","setLeftPanelWidth","isDragging","setIsDragging","selectedInstance","createMemo","key","group","UTIL_GROUPS","instance","find","inst","type","displayName","dragStartX","dragStartWidth","handleMouseDown","e","preventDefault","stopPropagation","document","body","style","cursor","userSelect","clientX","handleMouseMove","deltaX","newWidth","Math","max","min","handleMouseUp","onMount","addEventListener","onCleanup","removeEventListener","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_el$5","_el$6","_el$7","setProperty","_$insert","_$createComponent","UtilList","$$mousedown","DetailsPanel","_$effect","_p$","_v$","devtoolsPanel","_v$2","stickyHeader","_v$3","mainContainer","_v$4","leftPanel","_v$5","_v$6","dragHandle","_v$7","rightPanel","_v$8","panelHeader","_$className","t","a","o","i","removeProperty","n","s","h","undefined","_$delegateEvents"],"mappings":";;;;;;;;;;AAQO,SAASA,QAAQ;AACtB,QAAMC,SAASC,UAAAA,UAAAA;AACf,QAAMC,QAAQC,qBAAAA,sBAAAA;AACd,QAAMC,YAAYA,MAAMF;AACxB,QAAM,CAACG,aAAaC,cAAc,IAAIC,QAAAA,aAA4B,IAAI;AACtE,QAAM,CAACC,gBAAgBC,iBAAiB,IAAIF,QAAAA,aAAa,GAAG;AAC5D,QAAM,CAACG,YAAYC,aAAa,IAAIJ,QAAAA,aAAa,KAAK;AAEtD,QAAMK,mBAAmBC,QAAAA,WAAW,MAAM;AACxC,UAAMC,MAAMT,YAAAA;AACZ,QAAI,CAACS,IAAK,QAAO;AACjB,eAAWC,SAASC,wBAAa;AAC/B,YAAMC,WAAYb,YAChBW,MAAMD,GAAG,EACTI,KAAMC,CAAAA,SAASA,KAAKL,QAAQA,GAAG;AACjC,UAAIG,SAAU,QAAO;AAAA,QAAEA;AAAAA,QAAUG,MAAML,MAAMM;AAAAA,MAAAA;AAAAA,IAAY;AAE3D,WAAO;AAAA,EAAA,CACR;AAED,MAAIC,aAAa;AACjB,MAAIC,iBAAiB;AAErB,QAAMC,kBAAkBA,CAACC,MAAkB;AACzCA,MAAEC,eAAAA;AACFD,MAAEE,gBAAAA;AACFhB,kBAAc,IAAI;AAClBiB,aAASC,KAAKC,MAAMC,SAAS;AAC7BH,aAASC,KAAKC,MAAME,aAAa;AACjCV,iBAAaG,EAAEQ;AACfV,qBAAiBf,eAAAA;AAAAA,EAAe;AAGlC,QAAM0B,kBAAkBA,CAACT,MAAkB;AACzC,QAAI,CAACf,aAAc;AAEnBe,MAAEC,eAAAA;AACF,UAAMS,SAASV,EAAEQ,UAAUX;AAC3B,UAAMc,WAAWC,KAAKC,IAAI,KAAKD,KAAKE,IAAI,KAAKhB,iBAAiBY,MAAM,CAAC;AACrE1B,sBAAkB2B,QAAQ;AAAA,EAAA;AAG5B,QAAMI,gBAAgBA,MAAM;AAC1B7B,kBAAc,KAAK;AACnBiB,aAASC,KAAKC,MAAMC,SAAS;AAC7BH,aAASC,KAAKC,MAAME,aAAa;AAAA,EAAA;AAGnCS,UAAAA,QAAQ,MAAM;AACZb,aAASc,iBAAiB,aAAaR,eAAe;AACtDN,aAASc,iBAAiB,WAAWF,aAAa;AAAA,EAAA,CACnD;AAEDG,UAAAA,UAAU,MAAM;AACdf,aAASgB,oBAAoB,aAAaV,eAAe;AACzDN,aAASgB,oBAAoB,WAAWJ,aAAa;AAAA,EAAA,CACtD;AAED,UAAA,MAAA;AAAA,QAAAK,OAAAC,OAAAA,GAAAC,QAAAF,KAAAG,YAAAC,QAAAF,MAAAG,aAAAC,QAAAF,MAAAD,YAAAI,QAAAD,MAAAD,aAAAG,QAAAD,MAAAF,aAAAI,QAAAD,MAAAL;AAAAG,UAAArB,MAAAyB,YAAA,aAAA,OAAA;AAAAJ,UAAArB,MAAAyB,YAAA,aAAA,OAAA;AAAAC,eAAAL,OAAAM,IAAAA,gBAaSC,mBAAQ;AAAA,MACPrD;AAAAA,MACAC;AAAAA,MACAF;AAAAA,IAAAA,CAAoB,CAAA;AAAAgD,UAAAO,cAMTnC;AAAe6B,UAAAvB,MAAAyB,YAAA,QAAA,GAAA;AAAAC,eAAAH,OAAAI,IAAAA,gBAK3BG,2BAAY;AAAA,MACXhD;AAAAA,MACAR;AAAAA,IAAAA,CAAoB,GAAA,IAAA;AAAAyD,QAAAA,OAAAC,CAAAA,QAAA;AAAA,UAAAC,MA5BhB/D,SAASgE,eAAaC,OACpBjE,SAASkE,cAAYC,OAErBnE,OAAAA,EAASoE,eAAaC,OAEvBrE,SAASsE,WAASC,OAEhB,GAAG/D,eAAAA,CAAgB,MAAIgE,OAazB,GAAGxE,OAAAA,EAASyE,UAAU,IAAI/D,eAAe,aAAa,EAAE,IAAEgE,OAIvD1E,OAAAA,EAAS2E,YAAUC,OACjB5E,SAAS6E;AAAWd,cAAAD,IAAArC,KAAAqD,IAAAA,UAAAjC,MAAAiB,IAAArC,IAAAsC,GAAA;AAAAE,eAAAH,IAAAiB,KAAAD,IAAAA,UAAA/B,OAAAe,IAAAiB,IAAAd,IAAA;AAAAE,eAAAL,IAAAkB,KAAAF,IAAAA,UAAA7B,OAAAa,IAAAkB,IAAAb,IAAA;AAAAE,eAAAP,IAAAmB,KAAAH,IAAAA,UAAA3B,OAAAW,IAAAmB,IAAAZ,IAAA;AAAAE,eAAAT,IAAAoB,OAAApB,IAAAoB,IAAAX,SAAA,OAAApB,MAAArB,MAAAyB,YAAA,SAAAgB,IAAA,IAAApB,MAAArB,MAAAqD,eAAA,OAAA;AAAAX,eAAAV,IAAAsB,KAAAN,IAAAA,UAAA1B,OAAAU,IAAAsB,IAAAZ,IAAA;AAAAE,eAAAZ,IAAAuB,KAAAP,IAAAA,UAAAzB,OAAAS,IAAAuB,IAAAX,IAAA;AAAAE,eAAAd,IAAAwB,KAAAR,IAAAA,UAAAxB,OAAAQ,IAAAwB,IAAAV,IAAA;AAAA,aAAAd;AAAAA,IAAAA,GAAA;AAAA,MAAArC,GAAA8D;AAAAA,MAAAR,GAAAQ;AAAAA,MAAAP,GAAAO;AAAAA,MAAAN,GAAAM;AAAAA,MAAAL,GAAAK;AAAAA,MAAAH,GAAAG;AAAAA,MAAAF,GAAAE;AAAAA,MAAAD,GAAAC;AAAAA,IAAAA,CAAA;AAAA,WAAA1C;AAAAA,EAAAA,GAAA;AAS1C;AAAC2C,IAAAA,eAAA,CAAA,WAAA,CAAA;;"}
@@ -1 +0,0 @@
1
- export declare function Shell(): import("solid-js").JSX.Element;
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const dayjs = require("dayjs");
5
- const relativeTime = require("dayjs/plugin/relativeTime");
6
- const solidJs = require("solid-js");
7
- const useStyles = require("../styles/use-styles.cjs");
8
- var _tmpl$ = /* @__PURE__ */ web.template(`<div><div></div><div><div><div>Key</div><div></div><div>Last Updated</div><div> (<!>)</div></div><div>% reduction`);
9
- dayjs.extend(relativeTime);
10
- function StateHeader(props) {
11
- const styles = useStyles.useStyles();
12
- const [now, setNow] = solidJs.createSignal(Date.now());
13
- solidJs.onMount(() => {
14
- const interval = setInterval(() => {
15
- setNow(Date.now());
16
- }, 1e3);
17
- solidJs.onCleanup(() => {
18
- clearInterval(interval);
19
- });
20
- });
21
- const entry = props.selectedInstance();
22
- if (!entry) return null;
23
- const key = entry.instance.key;
24
- const updatedAt = props.utilState().lastUpdatedByKey[key] ?? Date.now();
25
- const getRelativeTime = () => {
26
- const diffMs = now() - updatedAt;
27
- const diffSeconds = Math.floor(diffMs / 1e3);
28
- if (diffSeconds < 60) {
29
- return `${diffSeconds} second${diffSeconds !== 1 ? "s" : ""} ago`;
30
- }
31
- return dayjs(updatedAt).fromNow();
32
- };
33
- const getReductionPercentage = () => {
34
- const state = entry.instance.store?.state || entry.instance.state;
35
- if (!state) return 0;
36
- const isAsync = entry.type.toLowerCase().includes("async");
37
- const completedExecutions = isAsync ? state.settleCount || 0 : state.executionCount || 0;
38
- if (entry.type.toLowerCase().includes("batcher")) {
39
- const totalItemsProcessed = state.totalItemsProcessed || 0;
40
- if (totalItemsProcessed === 0) return 0;
41
- return Math.round((totalItemsProcessed - completedExecutions) / totalItemsProcessed * 100);
42
- }
43
- let requestCount = 0;
44
- if (state.maybeExecuteCount !== void 0) {
45
- requestCount = state.maybeExecuteCount;
46
- } else if (state.addItemCount !== void 0) {
47
- requestCount = state.addItemCount;
48
- } else {
49
- return 0;
50
- }
51
- if (requestCount === 0) return 0;
52
- const reduction = requestCount - completedExecutions;
53
- return Math.round(reduction / requestCount * 100);
54
- };
55
- const reductionPercentage = getReductionPercentage();
56
- return (() => {
57
- var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling, _el$9 = _el$8.firstChild, _el$1 = _el$9.nextSibling;
58
- _el$1.nextSibling;
59
- var _el$10 = _el$4.nextSibling, _el$11 = _el$10.firstChild;
60
- web.insert(_el$2, () => entry.type);
61
- _el$3.style.setProperty("display", "flex");
62
- _el$3.style.setProperty("align-items", "center");
63
- _el$3.style.setProperty("gap", "16px");
64
- web.insert(_el$6, key);
65
- web.insert(_el$8, () => new Date(updatedAt).toLocaleTimeString(), _el$9);
66
- web.insert(_el$8, getRelativeTime, _el$1);
67
- _el$10.style.setProperty("margin-left", "auto");
68
- _el$10.style.setProperty("font-weight", "bold");
69
- web.insert(_el$10, reductionPercentage, _el$11);
70
- web.effect((_p$) => {
71
- var _v$ = styles().stateHeader, _v$2 = styles().stateTitle, _v$3 = styles().infoGrid, _v$4 = styles().infoLabel, _v$5 = styles().infoValueMono, _v$6 = styles().infoLabel, _v$7 = styles().infoValueMono, _v$8 = styles().infoValueMono;
72
- _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
73
- _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
74
- _v$3 !== _p$.a && web.className(_el$4, _p$.a = _v$3);
75
- _v$4 !== _p$.o && web.className(_el$5, _p$.o = _v$4);
76
- _v$5 !== _p$.i && web.className(_el$6, _p$.i = _v$5);
77
- _v$6 !== _p$.n && web.className(_el$7, _p$.n = _v$6);
78
- _v$7 !== _p$.s && web.className(_el$8, _p$.s = _v$7);
79
- _v$8 !== _p$.h && web.className(_el$10, _p$.h = _v$8);
80
- return _p$;
81
- }, {
82
- e: void 0,
83
- t: void 0,
84
- a: void 0,
85
- o: void 0,
86
- i: void 0,
87
- n: void 0,
88
- s: void 0,
89
- h: void 0
90
- });
91
- return _el$;
92
- })();
93
- }
94
- exports.StateHeader = StateHeader;
95
- //# sourceMappingURL=StateHeader.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StateHeader.cjs","sources":["../../../src/components/StateHeader.tsx"],"sourcesContent":["import dayjs from 'dayjs'\nimport relativeTime from 'dayjs/plugin/relativeTime'\nimport { createSignal, onCleanup, onMount } from 'solid-js'\nimport { useStyles } from '../styles/use-styles'\n\ndayjs.extend(relativeTime)\n\ntype StateHeaderProps = {\n selectedInstance: () => { instance: any; type: string } | null\n utilState: () => { lastUpdatedByKey: Record<string, number> }\n}\n\nexport function StateHeader(props: StateHeaderProps) {\n const styles = useStyles()\n const [now, setNow] = createSignal(Date.now())\n\n onMount(() => {\n const interval = setInterval(() => {\n setNow(Date.now())\n }, 1000)\n\n onCleanup(() => {\n clearInterval(interval)\n })\n })\n\n const entry = props.selectedInstance()\n if (!entry) return null\n\n const key = entry.instance.key as string\n const updatedAt = props.utilState().lastUpdatedByKey[key] ?? Date.now()\n\n const getRelativeTime = () => {\n const diffMs = now() - updatedAt\n const diffSeconds = Math.floor(diffMs / 1000)\n\n if (diffSeconds < 60) {\n return `${diffSeconds} second${diffSeconds !== 1 ? 's' : ''} ago`\n }\n\n return dayjs(updatedAt).fromNow()\n }\n\n const getReductionPercentage = () => {\n const state = entry.instance.store?.state || entry.instance.state\n\n if (!state) return 0\n\n // Use settleCount for async utilities, executionCount for sync utilities\n const isAsync = entry.type.toLowerCase().includes('async')\n const completedExecutions = isAsync\n ? state.settleCount || 0\n : state.executionCount || 0\n\n // For batchers, calculate reduction based on items processed vs executions\n if (entry.type.toLowerCase().includes('batcher')) {\n const totalItemsProcessed = state.totalItemsProcessed || 0\n if (totalItemsProcessed === 0) return 0\n return Math.round(\n ((totalItemsProcessed - completedExecutions) / totalItemsProcessed) *\n 100,\n )\n }\n\n // For other utilities, calculate reduction based on request tracking\n let requestCount = 0\n\n if (state.maybeExecuteCount !== undefined) {\n requestCount = state.maybeExecuteCount\n } else if (state.addItemCount !== undefined) {\n requestCount = state.addItemCount\n } else {\n // For utilities that don't track requests, show 0%\n return 0\n }\n\n if (requestCount === 0) return 0\n\n const reduction = requestCount - completedExecutions\n return Math.round((reduction / requestCount) * 100)\n }\n\n const reductionPercentage = getReductionPercentage()\n\n return (\n <div class={styles().stateHeader}>\n <div class={styles().stateTitle}>{entry.type}</div>\n <div style={{ display: 'flex', 'align-items': 'center', gap: '16px' }}>\n <div class={styles().infoGrid}>\n <div class={styles().infoLabel}>Key</div>\n <div class={styles().infoValueMono}>{key}</div>\n <div class={styles().infoLabel}>Last Updated</div>\n <div class={styles().infoValueMono}>\n {new Date(updatedAt).toLocaleTimeString()} ({getRelativeTime()})\n </div>\n </div>\n <div\n class={styles().infoValueMono}\n style={{ 'margin-left': 'auto', 'font-weight': 'bold' }}\n >\n {reductionPercentage}% reduction\n </div>\n </div>\n </div>\n )\n}\n"],"names":["dayjs","extend","relativeTime","StateHeader","props","styles","useStyles","now","setNow","createSignal","Date","onMount","interval","setInterval","onCleanup","clearInterval","entry","selectedInstance","key","instance","updatedAt","utilState","lastUpdatedByKey","getRelativeTime","diffMs","diffSeconds","Math","floor","fromNow","getReductionPercentage","state","store","isAsync","type","toLowerCase","includes","completedExecutions","settleCount","executionCount","totalItemsProcessed","round","requestCount","maybeExecuteCount","undefined","addItemCount","reduction","reductionPercentage","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_el$5","_el$6","_el$7","_el$8","_el$9","_el$1","_el$10","_el$11","_$insert","style","setProperty","toLocaleTimeString","_$effect","_p$","_v$","stateHeader","_v$2","stateTitle","_v$3","infoGrid","_v$4","infoLabel","_v$5","infoValueMono","_v$6","_v$7","_v$8","e","_$className","t","a","o","i","n","s","h"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- type StateHeaderProps = {
2
- selectedInstance: () => {
3
- instance: any;
4
- type: string;
5
- } | null;
6
- utilState: () => {
7
- lastUpdatedByKey: Record<string, number>;
8
- };
9
- };
10
- export declare function StateHeader(props: StateHeaderProps): import("solid-js").JSX.Element;
11
- export {};
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const solidJs = require("solid-js");
5
- const solidStore = require("@tanstack/solid-store");
6
- const clsx = require("clsx");
7
- const useStyles = require("../styles/use-styles.cjs");
8
- const utilGroups = require("./util-groups.cjs");
9
- var _tmpl$ = /* @__PURE__ */ web.template(`<div>`), _tmpl$2 = /* @__PURE__ */ web.template(`<div><div>`), _tmpl$3 = /* @__PURE__ */ web.template(`<div><div></div><div>`);
10
- function UtilList(props) {
11
- const styles = useStyles.useStyles();
12
- return (() => {
13
- var _el$ = _tmpl$();
14
- web.insert(_el$, web.createComponent(solidJs.For, {
15
- each: utilGroups.UTIL_GROUPS,
16
- children: (group) => web.memo(() => web.memo(() => props.utilState()[group.key].length > 0)() && (() => {
17
- var _el$2 = _tmpl$2(), _el$3 = _el$2.firstChild;
18
- web.insert(_el$3, () => group.label);
19
- web.insert(_el$2, web.createComponent(solidJs.For, {
20
- get each() {
21
- return props.utilState()[group.key];
22
- },
23
- children: (instance) => {
24
- const status = (() => {
25
- try {
26
- const statusAccessor = solidStore.useStore(instance.store, (s) => s.status);
27
- return () => statusAccessor() ?? "unknown";
28
- } catch {
29
- return () => "unknown";
30
- }
31
- })();
32
- return (() => {
33
- var _el$4 = _tmpl$3(), _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling;
34
- _el$4.$$click = () => props.setSelectedKey(instance.key ?? null);
35
- web.insert(_el$5, () => instance.key);
36
- web.insert(_el$6, status);
37
- web.effect((_p$) => {
38
- var _v$3 = clsx(styles().utilRow, props.selectedKey() === instance.key && styles().utilRowSelected), _v$4 = styles().utilKey, _v$5 = styles().utilStatus;
39
- _v$3 !== _p$.e && web.className(_el$4, _p$.e = _v$3);
40
- _v$4 !== _p$.t && web.className(_el$5, _p$.t = _v$4);
41
- _v$5 !== _p$.a && web.className(_el$6, _p$.a = _v$5);
42
- return _p$;
43
- }, {
44
- e: void 0,
45
- t: void 0,
46
- a: void 0
47
- });
48
- return _el$4;
49
- })();
50
- }
51
- }), null);
52
- web.effect((_p$) => {
53
- var _v$ = styles().utilGroup, _v$2 = styles().utilGroupHeader;
54
- _v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
55
- _v$2 !== _p$.t && web.className(_el$3, _p$.t = _v$2);
56
- return _p$;
57
- }, {
58
- e: void 0,
59
- t: void 0
60
- });
61
- return _el$2;
62
- })())
63
- }));
64
- web.effect(() => web.className(_el$, styles().utilList));
65
- return _el$;
66
- })();
67
- }
68
- web.delegateEvents(["click"]);
69
- exports.UtilList = UtilList;
70
- //# sourceMappingURL=UtilList.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UtilList.cjs","sources":["../../../src/components/UtilList.tsx"],"sourcesContent":["import { For } from 'solid-js'\nimport { useStore } from '@tanstack/solid-store'\nimport clsx from 'clsx'\nimport { useStyles } from '../styles/use-styles'\nimport { UTIL_GROUPS } from './util-groups'\nimport type { StateKey } from './util-groups'\n\ntype UtilListProps = {\n selectedKey: () => string | null\n setSelectedKey: (key: string | null) => void\n utilState: () => Record<StateKey, Array<any>>\n}\n\nexport function UtilList(props: UtilListProps) {\n const styles = useStyles()\n\n return (\n <div class={styles().utilList}>\n <For each={UTIL_GROUPS}>\n {(group) => (\n <>\n {props.utilState()[group.key].length > 0 && (\n <div class={styles().utilGroup}>\n <div class={styles().utilGroupHeader}>{group.label}</div>\n <For each={props.utilState()[group.key]}>\n {(instance) => {\n const status = (() => {\n try {\n const statusAccessor = useStore(\n instance.store,\n (s: any) => s.status,\n )\n return () => statusAccessor() ?? 'unknown'\n } catch {\n return () => 'unknown'\n }\n })()\n return (\n <div\n class={clsx(\n styles().utilRow,\n props.selectedKey() === instance.key &&\n styles().utilRowSelected,\n )}\n onClick={() =>\n props.setSelectedKey(instance.key ?? null)\n }\n >\n <div class={styles().utilKey}>{instance.key}</div>\n <div class={styles().utilStatus}>{status()}</div>\n </div>\n )\n }}\n </For>\n </div>\n )}\n </>\n )}\n </For>\n </div>\n )\n}\n"],"names":["UtilList","props","styles","useStyles","_el$","_tmpl$","_$insert","_$createComponent","For","each","UTIL_GROUPS","children","group","_$memo","utilState","key","length","_el$2","_tmpl$2","_el$3","firstChild","label","instance","status","statusAccessor","useStore","store","s","_el$4","_tmpl$3","_el$5","_el$6","nextSibling","$$click","setSelectedKey","_$effect","_p$","_v$3","clsx","utilRow","selectedKey","utilRowSelected","_v$4","utilKey","_v$5","utilStatus","e","_$className","t","a","undefined","_v$","utilGroup","_v$2","utilGroupHeader","utilList","_$delegateEvents"],"mappings":";;;;;;;;;AAaO,SAASA,SAASC,OAAsB;AAC7C,QAAMC,SAASC,UAAAA,UAAAA;AAEf,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA;AAAAC,eAAAF,MAAAG,IAAAA,gBAEKC,aAAG;AAAA,MAACC,MAAMC,WAAAA;AAAAA,MAAWC,UAClBC,CAAAA,UAAKC,IAAAA,WAEFA,IAAAA,KAAA,MAAAZ,MAAMa,UAAAA,EAAYF,MAAMG,GAAG,EAAEC,SAAS,CAAC,EAAA,MAAA,MAAA;AAAA,YAAAC,QAAAC,QAAAA,GAAAC,QAAAF,MAAAG;AAAAd,YAAAA,OAAAa,OAAA,MAEGP,MAAMS,KAAK;AAAAf,mBAAAW,OAAAV,IAAAA,gBACjDC,aAAG;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAER,MAAMa,YAAYF,MAAMG,GAAG;AAAA,UAAA;AAAA,UAACJ,UACnCW,CAAAA,aAAa;AACb,kBAAMC,UAAU,MAAM;AACpB,kBAAI;AACF,sBAAMC,iBAAiBC,WAAAA,SACrBH,SAASI,OACT,CAACC,MAAWA,EAAEJ,MAChB;AACA,uBAAO,MAAMC,oBAAoB;AAAA,cAAA,QAC3B;AACN,uBAAO,MAAM;AAAA,cAAA;AAAA,YACf,GACF;AACA,oBAAA,MAAA;AAAA,kBAAAI,QAAAC,QAAAA,GAAAC,QAAAF,MAAAR,YAAAW,QAAAD,MAAAE;AAAAJ,oBAAAK,UAOa,MACPhC,MAAMiC,eAAeZ,SAASP,OAAO,IAAI;AAACT,kBAAAA,OAAAwB,OAAA,MAGbR,SAASP,GAAG;AAAAT,kBAAAA,OAAAyB,OACTR,MAAM;AAAAY,kBAAAA,OAAAC,CAAAA,QAAA;AAAA,oBAAAC,OAVjCC,KACLpC,OAAAA,EAASqC,SACTtC,MAAMuC,YAAAA,MAAkBlB,SAASP,OAC/Bb,SAASuC,eACb,GAACC,OAKWxC,OAAAA,EAASyC,SAAOC,OAChB1C,SAAS2C;AAAUR,yBAAAD,IAAAU,KAAAC,IAAAA,UAAAnB,OAAAQ,IAAAU,IAAAT,IAAA;AAAAK,yBAAAN,IAAAY,KAAAD,IAAAA,UAAAjB,OAAAM,IAAAY,IAAAN,IAAA;AAAAE,yBAAAR,IAAAa,KAAAF,IAAAA,UAAAhB,OAAAK,IAAAa,IAAAL,IAAA;AAAA,uBAAAR;AAAAA,cAAAA,GAAA;AAAA,gBAAAU,GAAAI;AAAAA,gBAAAF,GAAAE;AAAAA,gBAAAD,GAAAC;AAAAA,cAAAA,CAAA;AAAA,qBAAAtB;AAAAA,YAAAA,GAAA;AAAA,UAAA;AAAA,QAGrC,CAAC,GAAA,IAAA;AAAAO,YAAAA,OAAAC,CAAAA,QAAA;AAAA,cAAAe,MA9BOjD,OAAAA,EAASkD,WAASC,OAChBnD,SAASoD;AAAeH,kBAAAf,IAAAU,KAAAC,IAAAA,UAAA9B,OAAAmB,IAAAU,IAAAK,GAAA;AAAAE,mBAAAjB,IAAAY,KAAAD,IAAAA,UAAA5B,OAAAiB,IAAAY,IAAAK,IAAA;AAAA,iBAAAjB;AAAAA,QAAAA,GAAA;AAAA,UAAAU,GAAAI;AAAAA,UAAAF,GAAAE;AAAAA,QAAAA,CAAA;AAAA,eAAAjC;AAAAA,MAAAA,IAgCvC;AAAA,IAAA,CAEJ,CAAA;AAAAkB,QAAAA,OAAA,MAAAY,IAAAA,UAAA3C,MAxCOF,OAAAA,EAASqD,QAAQ,CAAA;AAAA,WAAAnD;AAAAA,EAAAA,GAAA;AA4CjC;AAACoD,IAAAA,eAAA,CAAA,OAAA,CAAA;;"}