@pinia/colada-devtools 0.1.2 → 0.1.3

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 (25) hide show
  1. package/dist/index.js +0 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist-panel/{_queryId_-DAN49PlJ.js → _queryId_-DBYj1x2l.js} +4 -4
  4. package/dist-panel/{_queryId_-DAN49PlJ.js.map → _queryId_-DBYj1x2l.js.map} +1 -1
  5. package/dist-panel/{index-D2ld1JQh.js → index-B5Pabqnp.js} +3 -3
  6. package/dist-panel/{index-D2ld1JQh.js.map → index-B5Pabqnp.js.map} +1 -1
  7. package/dist-panel/{index-bwZG0BLQ.js → index-BCMgcfY0.js} +430 -409
  8. package/dist-panel/{index-bwZG0BLQ.js.map → index-BCMgcfY0.js.map} +1 -1
  9. package/dist-panel/{index-DLAeHded.js → index-BiCss4be.js} +2 -2
  10. package/dist-panel/{index-DLAeHded.js.map → index-BiCss4be.js.map} +1 -1
  11. package/dist-panel/index.js +1 -1
  12. package/dist-panel/{loader-DDguy1zR.js → loader-1Im1Cd49.js} +2 -2
  13. package/dist-panel/loader-1Im1Cd49.js.map +1 -0
  14. package/dist-panel/{mouse-pointer-click-BPVNmt6b.js → mouse-pointer-click-DrNfYH7O.js} +2 -2
  15. package/dist-panel/mouse-pointer-click-DrNfYH7O.js.map +1 -0
  16. package/dist-panel/{mutations-45GG_V3a.js → mutations-CXpAyQVd.js} +2 -2
  17. package/dist-panel/{mutations-45GG_V3a.js.map → mutations-CXpAyQVd.js.map} +1 -1
  18. package/dist-panel/{queries-DvBTnRTp.js → queries-C2Kny_VH.js} +3 -3
  19. package/dist-panel/queries-C2Kny_VH.js.map +1 -0
  20. package/dist-panel/{settings-Dmfe8j1F.js → settings-kYLoG5O4.js} +2 -2
  21. package/dist-panel/{settings-Dmfe8j1F.js.map → settings-kYLoG5O4.js.map} +1 -1
  22. package/package.json +5 -5
  23. package/dist-panel/loader-DDguy1zR.js.map +0 -1
  24. package/dist-panel/mouse-pointer-click-BPVNmt6b.js.map +0 -1
  25. package/dist-panel/queries-DvBTnRTp.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { _ as N } from "./mouse-pointer-click-BPVNmt6b.js";
2
- import { m, c as l, o as n, a as e, d as I, Q as A, l as U, p as F, R as Q, C as M, P as v, g as w, h as b, S as W, t as u, _ as Y, T as G, M as P, b as X, U as Z, V as J, y as z, z as K, F as q, k as r, w as d, i, W as B, X as ee, j as te } from "./index-bwZG0BLQ.js";
3
- import { _ as oe, a as se } from "./loader-DDguy1zR.js";
1
+ import { _ as N } from "./mouse-pointer-click-DrNfYH7O.js";
2
+ import { m, c as l, o as n, a as e, d as I, Q as A, l as U, p as F, R as Q, C as M, P as v, g as w, h as b, S as W, t as u, _ as Y, T as G, M as P, b as X, U as Z, V as J, y as z, z as K, F as q, k as r, w as d, i, W as B, X as ee, j as te } from "./index-BCMgcfY0.js";
3
+ import { _ as oe, a as se } from "./loader-1Im1Cd49.js";
4
4
  const ne = {
5
5
  viewBox: "0 0 24 24",
6
6
  width: "1.2em",
@@ -618,4 +618,4 @@ const Ue = m({ name: "lucide-sigma-square", render: Ae }), Fe = { class: "flex f
618
618
  export {
619
619
  qt as default
620
620
  };
621
- //# sourceMappingURL=_queryId_-DAN49PlJ.js.map
621
+ //# sourceMappingURL=_queryId_-DBYj1x2l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_queryId_-DAN49PlJ.js","sources":["../src/panel/components/UCollapse.ce.vue","../src/panel/utils/time.ts","../src/panel/pages/queries/[queryId].vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Component } from 'vue'\n\ndefineProps<{\n title?: string\n icon?: Component\n}>()\n\nconst open = defineModel<boolean>('open', {\n default: true,\n})\n\nfunction scrollIfNeeded(event: TransitionEvent) {\n if (event.target instanceof HTMLElement) {\n const scrollOptions: ScrollIntoViewOptions = {\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n }\n event.target.scrollIntoView(scrollOptions)\n }\n}\n</script>\n\n<template>\n <div class=\"collapse collapse-arrow\">\n <input v-model=\"open\" type=\"checkbox\">\n <div class=\"collapse-title px-2 py-0.5 bg-neutral-200 dark:bg-neutral-800 theme-neutral\">\n <slot name=\"title\" :open :title>\n <h3 class=\"font-semibold text-sm flex gap-x-1 items-center\">\n <slot name=\"icon\">\n <component :is=\"icon\" v-if=\"icon\" class=\"size-4\" />\n </slot>\n {{ title ?? 'Group' }}\n </h3>\n </slot>\n </div>\n <div class=\"collapse-content px-2 text-sm overflow-hidden\" @transitionend=\"scrollIfNeeded\">\n <slot :open />\n </div>\n </div>\n</template>\n\n<style scoped>\n.collapse:not(td, tr, colgroup) {\n visibility: visible;\n}\n\n.collapse {\n position: relative;\n display: grid;\n overflow: hidden;\n width: 100%;\n grid-template-rows: max-content 0fr;\n transition: grid-template-rows 0.2s;\n isolation: isolate;\n\n > input:is([type='checkbox'], [type='radio']) {\n grid-column-start: 1;\n grid-row-start: 1;\n appearance: none;\n opacity: 0;\n }\n\n &:is([open], :focus),\n &:has(> input:is([type='checkbox'], [type='radio']):checked) {\n grid-template-rows: max-content 1fr;\n }\n\n &:is([open], :focus) > .collapse-content,\n &:not(.collapse-close)\n > :where(input:is([type='checkbox'], [type='radio']):checked ~ .collapse-content) {\n visibility: visible;\n min-height: fit-content;\n }\n &:focus-visible,\n &:has(> input:is([type='checkbox'], [type='radio']):focus-visible) {\n outline-color: var(--ui-text);\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n }\n\n &:not(.collapse-close) {\n > input[type='checkbox'],\n > input[type='radio']:not(:checked),\n > .collapse-title {\n cursor: pointer;\n }\n }\n\n &:focus:not(.collapse-close, .collapse[open]) > .collapse-title {\n cursor: unset;\n }\n\n &:is([open]) {\n &.collapse-arrow {\n > .collapse-title:after {\n transform: translateY(-50%) rotate(225deg);\n }\n }\n }\n\n &.collapse-arrow:focus {\n > .collapse-title:after {\n transform: translateY(-50%) rotate(225deg);\n }\n }\n\n &.collapse-arrow {\n > input:is([type='checkbox'], [type='radio']):checked ~ .collapse-title:after {\n transform: translateY(-50%) rotate(225deg);\n }\n }\n\n > input:is([type='checkbox'], [type='radio']) {\n z-index: 1;\n width: 100%;\n }\n}\n\n.collapse-title,\n.collapse-content {\n grid-column-start: 1;\n grid-row-start: 1;\n}\n\n.collapse-content {\n visibility: hidden;\n grid-column-start: 1;\n grid-row-start: 2;\n min-height: 0;\n cursor: unset;\n transition: visibility 0.2s;\n}\n\n.collapse-arrow {\n > .collapse-title:after {\n position: absolute;\n display: block;\n height: 0.5rem;\n width: 0.5rem;\n transform: translateY(-100%) rotate(45deg);\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.2s;\n top: 50%;\n right: 0.8em;\n inset-inline-end: 0.75rem;\n content: '';\n transform-origin: 75% 75%;\n box-shadow: 2px 2px;\n pointer-events: none;\n }\n}\n\n.collapse-title {\n position: relative;\n width: 100%;\n transition: background-color 0.2s ease-out;\n}\n</style>\n","export function formatDuration(timeInMs: number): string {\n if (timeInMs < 1000) {\n return `${Math.round(timeInMs)} ms`\n }\n\n const seconds = timeInMs / 1000\n if (timeInMs < 10_000) {\n return `${seconds.toFixed(3)} seconds`\n }\n\n if (timeInMs < 60_000) {\n return `${Math.floor(seconds)} seconds`\n }\n\n const minutes = Math.floor(seconds / 60)\n\n if (timeInMs < 3_600_000) {\n return `${minutes} minute${minutes > 1 ? 's' : ''}`\n }\n\n const hours = Math.floor(minutes / 60)\n\n return `${hours}h${minutes % 60}m${seconds % 60}s`\n}\n","<script setup lang=\"ts\">\nimport type { UseQueryEntryPayload } from '@pinia/colada-devtools/shared'\nimport { computed, ref, watch } from 'vue'\nimport { useDuplexChannel, useQueryEntries } from '../../composables/duplex-channel'\nimport { formatDuration } from '../../utils/time'\nimport { useRoute } from 'vue-router'\nimport type { DataStateStatus } from '@pinia/colada'\n\nimport IWrench from '~icons/lucide/wrench'\nimport IInfoCircle from '~icons/lucide/info'\nimport IFileText from '~icons/lucide/file-text'\nimport ICircleX from '~icons/lucide/circle-x'\nimport IBraces from '~icons/lucide/braces'\nimport IHistory from '~icons/lucide/history'\nimport ISigmaSquare from '~icons/lucide/sigma-square'\nimport { useTimeAgo, formatTimeAgo } from '@vueuse/core'\nimport type { FormatTimeAgoOptions } from '@vueuse/core'\n\nconst route = useRoute('/queries/[queryId]')\nconst queries = useQueryEntries()\n\nconst selectedQuery = computed<UseQueryEntryPayload | null>(() => {\n return queries.value.find((entry) => entry.keyHash === route.params.queryId) ?? null\n})\n\nconst TIME_AGO_OPTIONS: FormatTimeAgoOptions = {\n showSecond: true,\n rounding: 'floor',\n max: 1000 * 60 * 5, // 5 minutes\n}\n\nconst lastUpdate = useTimeAgo(() => selectedQuery.value?.devtools.updatedAt ?? 0, {\n ...TIME_AGO_OPTIONS,\n updateInterval: 3_000,\n})\n\n// TODO: we should be able to highlight components using this query\n// const el = useTemplateRef('me')\n// TODO: add ref=\"me\" to the div\n// watch(\n// // also trigger if the selectedQuery changes\n// () => [el.value, selectedQuery.value?.id] as const,\n// ([el]) => {\n// if (!el || !selectedQuery.value) return\n//\n// const observingComponents = findVueComponents(\n// el,\n// selectedQuery.value.deps.filter((c) => c.type === 'component').map((c) => c.uid) ?? [],\n// )\n//\n// console.log('elements', observingComponents)\n// },\n// )\n\nconst channel = useDuplexChannel()\n\nconst isDataOpen = ref(false)\nlet wasDataOpen = isDataOpen.value\nlet lastStatus: DataStateStatus | null = null\nconst isErrorOpen = ref(false)\nwatch(\n () => selectedQuery.value?.state,\n (state) => {\n if (!state || lastStatus === state.status) return\n lastStatus = state.status\n if (state.status === 'error') {\n isErrorOpen.value = true\n // preserve it for later\n wasDataOpen = isDataOpen.value\n isDataOpen.value = false\n } else if (state.status === 'success') {\n isDataOpen.value = wasDataOpen\n isErrorOpen.value = false\n }\n },\n)\n</script>\n\n<template>\n <div class=\"flex flex-col divide-y dark:divide-(--ui-border) divide-(--ui-border-accented)\">\n <template v-if=\"selectedQuery\">\n <UCollapse title=\"Details\" :icon=\"IInfoCircle\">\n <div class=\"py-1 text-sm\">\n <p class=\"grid grid-cols-[auto_1fr] gap-1\">\n <span>key:</span>\n <span>\n <code class=\"rounded bg-neutral-500/20 p-0.5\">{{ selectedQuery.key }}</code>\n </span>\n </p>\n\n <p\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"When was the query entry last updated\"\n >\n <span>Last update:</span>\n <span class=\"font-bold\">{{ lastUpdate }}</span>\n </p>\n\n <p\n v-if=\"selectedQuery.devtools.history.at(0)?.fetchTime\"\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"When was the last time the query was fetched\"\n >\n <span>Last fetch:</span>\n <span class=\"font-bold\">{{\n formatTimeAgo(new Date(selectedQuery.devtools.history.at(0)!.fetchTime!.start), {\n ...TIME_AGO_OPTIONS,\n max: undefined,\n })\n }}</span>\n </p>\n\n <p\n v-if=\"selectedQuery.devtools.history.at(0)?.fetchTime?.end\"\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"How long did the last query take to fetch\"\n >\n <span>Fetch duration:</span>\n <span class=\"font-bold\">{{\n formatDuration(\n selectedQuery.devtools.history.at(0)!.fetchTime!.end!\n - selectedQuery.devtools.history.at(0)!.fetchTime!.start,\n )\n }}</span>\n </p>\n\n <p\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"How many components and effects are using this query\"\n >\n <span>Observers: <span class=\"font-bold\">{{ selectedQuery.deps.length }}</span></span>\n </p>\n\n <p\n v-if=\"!selectedQuery.active && selectedQuery.options\"\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"When is this query entry garbace collected\"\n >\n <template\n v-if=\"\n typeof selectedQuery.options.gcTime === 'number'\n && Number.isFinite(selectedQuery.options.gcTime)\n \"\n >\n <span>Will be <i>gced</i></span>\n <span class=\"font-bold\">{{\n formatTimeAgo(\n new Date(selectedQuery.devtools.inactiveAt + selectedQuery.options.gcTime),\n {\n ...TIME_AGO_OPTIONS,\n max: undefined,\n },\n )\n }}</span>\n </template>\n </p>\n </div>\n </UCollapse>\n\n <UCollapse title=\"Actions\" :icon=\"IWrench\">\n <div class=\"py-2 gap-2 flex flex-wrap items-center justify-items-start\">\n <UButton\n class=\"theme-info\"\n size=\"sm\"\n title=\"Refetch this query\"\n :disabled=\"selectedQuery.options?.enabled === false\"\n @click=\"channel.emit('queries:refetch', selectedQuery.key)\"\n >\n <i-lucide-refresh-cw class=\"size-3.5\" /> Refetch\n </UButton>\n\n <UButton\n class=\"theme-neutral\"\n size=\"sm\"\n title=\"Invalidate this query\"\n @click=\"channel.emit('queries:invalidate', selectedQuery.key)\"\n >\n <i-lucide-timer-reset /> Invalidate\n </UButton>\n\n <UButton\n v-if=\"selectedQuery.devtools.simulate !== 'loading'\"\n class=\"theme-purple\"\n size=\"sm\"\n title=\"Restore the previous state\"\n @click=\"channel.emit('queries:simulate:loading', selectedQuery.key)\"\n >\n <i-lucide-loader />\n Simulate loading\n </UButton>\n <UButton\n v-else\n class=\"theme-purple\"\n size=\"sm\"\n title=\"Simulate a loading state\"\n @click=\"channel.emit('queries:simulate:loading:stop', selectedQuery.key)\"\n >\n <i-lucide-loader class=\"animate-spin\" />\n Stop loading\n </UButton>\n\n <UButton\n v-if=\"selectedQuery.devtools.simulate !== 'error'\"\n class=\"theme-error\"\n size=\"sm\"\n title=\"Simulate an Error state\"\n @click=\"channel.emit('queries:simulate:error', selectedQuery.key)\"\n >\n <i-lucide-x-octagon /> Simulate error\n </UButton>\n <UButton\n v-else\n class=\"theme-error\"\n size=\"sm\"\n title=\"Restore the previous state\"\n @click=\"channel.emit('queries:simulate:error:stop', selectedQuery.key)\"\n >\n <i-lucide-rotate-ccw /> Remove error\n </UButton>\n\n <UButton\n class=\"theme-warning\"\n size=\"sm\"\n title=\"Reset this query to its initial (pending) state\"\n @click=\"channel.emit('queries:reset', selectedQuery.key)\"\n >\n <i-lucide-trash /> Reset\n </UButton>\n </div>\n </UCollapse>\n\n <UCollapse v-model:open=\"isDataOpen\" title=\"Data\" :icon=\"IFileText\">\n <div class=\"py-1\">\n <pre\n v-if=\"selectedQuery.state.data !== undefined\"\n class=\"rounded p-1 overflow-auto max-h-[1200px]\"\n >{{ selectedQuery.state.data }}</pre>\n <p v-else class=\"text-neutral-500/50\">\n No data\n </p>\n </div>\n </UCollapse>\n\n <UCollapse\n v-model:open=\"isErrorOpen\"\n :title=\"`Error${selectedQuery.state.status === 'error' ? ' (!)' : ''}`\"\n :icon=\"ICircleX\"\n >\n <div class=\"py-1\">\n <pre v-if=\"selectedQuery.state.error\" class=\"rounded p-1 overflow-auto max-h-[1200px]\">{{\n selectedQuery.state.error\n }}</pre>\n <p v-else class=\"text-neutral-500/50\">\n No error\n </p>\n </div>\n </UCollapse>\n\n <UCollapse title=\"Call count\" :icon=\"ISigmaSquare\" :open=\"false\">\n <div class=\"py-1\">\n <p class=\"grid grid-cols-[auto_1fr] gap-1\">\n <span>Calls:</span>\n <span>\n <code class=\"font-bold\">{{ selectedQuery.devtools.count.total }}</code>\n </span>\n <span>Success:</span>\n <span>\n <code class=\"font-bold\">{{ selectedQuery.devtools.count.succeed }}</code>\n </span>\n <span>Errors:</span>\n <span>\n <code class=\"font-bold\">{{ selectedQuery.devtools.count.errored }}</code>\n </span>\n <span>Cancelled:</span>\n <span>\n <code class=\"font-bold\">{{ selectedQuery.devtools.count.cancelled }}</code>\n </span>\n </p>\n </div>\n </UCollapse>\n\n <UCollapse\n :title=\"`History (${selectedQuery.devtools.history.length})`\"\n :icon=\"IHistory\"\n :open=\"false\"\n >\n <div class=\"py-1\">\n <UCollapse\n v-for=\"entry of selectedQuery.devtools.history\"\n :key=\"entry.updatedAt\"\n :title=\"`Entry nº${entry.id} (${formatTimeAgo(new Date(entry.updatedAt), TIME_AGO_OPTIONS)})`\"\n :open=\"false\"\n >\n <pre class=\"rounded p-1 overflow-auto max-h-[1200px]\">{{ entry }}</pre>\n </UCollapse>\n </div>\n </UCollapse>\n\n <UCollapse title=\"Options\" :open=\"false\" :icon=\"IBraces\">\n <div class=\"py-1\">\n <pre\n v-if=\"selectedQuery.options\"\n class=\"rounded bg-neutral-500/20 p-1 overflow-auto max-h-[1200px]\"\n >{{ selectedQuery.options }}</pre>\n <p v-else>\n This Query entry has no options. It might have been created from the server or manually\n set with\n <code>queryCache.setQueryData()</code> for prefetching.\n </p>\n </div>\n </UCollapse>\n </template>\n\n <template v-else>\n <div class=\"py-6 mx-auto\">\n <p class=\"flex flex-col text-center items-center gap-2 text-lg px-2\">\n Select a Query to inspect\n <i-lucide-mouse-pointer-click />\n </p>\n </div>\n </template>\n </div>\n</template>\n"],"names":["open","_useModel","__props","scrollIfNeeded","event","scrollOptions","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","$event","_hoisted_2","_renderSlot","_ctx","title","_hoisted_3","icon","_createBlock","_resolveDynamicComponent","_createTextVNode","formatDuration","timeInMs","seconds","minutes","route","useRoute","queries","useQueryEntries","selectedQuery","computed","entry","TIME_AGO_OPTIONS","lastUpdate","useTimeAgo","_a","channel","useDuplexChannel","isDataOpen","ref","wasDataOpen","lastStatus","isErrorOpen","watch","state","_Fragment","_createVNode","_component_UCollapse","_unref","IInfoCircle","_cache","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","formatTimeAgo","_c","_b","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","IWrench","_hoisted_15","_component_UButton","_component_i_lucide_refresh_cw","_component_i_lucide_timer_reset","_component_i_lucide_loader","_component_i_lucide_x_octagon","_component_i_lucide_rotate_ccw","_component_i_lucide_trash","IFileText","_hoisted_16","_hoisted_17","_hoisted_18","ICircleX","_hoisted_19","_hoisted_20","_hoisted_21","ISigmaSquare","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","IHistory","_hoisted_28","_hoisted_29","IBraces","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_component_i_lucide_mouse_pointer_click"],"mappings":"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"}
1
+ {"version":3,"file":"_queryId_-DBYj1x2l.js","sources":["../src/panel/components/UCollapse.ce.vue","../src/panel/utils/time.ts","../src/panel/pages/queries/[queryId].vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Component } from 'vue'\n\ndefineProps<{\n title?: string\n icon?: Component\n}>()\n\nconst open = defineModel<boolean>('open', {\n default: true,\n})\n\nfunction scrollIfNeeded(event: TransitionEvent) {\n if (event.target instanceof HTMLElement) {\n const scrollOptions: ScrollIntoViewOptions = {\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n }\n event.target.scrollIntoView(scrollOptions)\n }\n}\n</script>\n\n<template>\n <div class=\"collapse collapse-arrow\">\n <input v-model=\"open\" type=\"checkbox\">\n <div class=\"collapse-title px-2 py-0.5 bg-neutral-200 dark:bg-neutral-800 theme-neutral\">\n <slot name=\"title\" :open :title>\n <h3 class=\"font-semibold text-sm flex gap-x-1 items-center\">\n <slot name=\"icon\">\n <component :is=\"icon\" v-if=\"icon\" class=\"size-4\" />\n </slot>\n {{ title ?? 'Group' }}\n </h3>\n </slot>\n </div>\n <div class=\"collapse-content px-2 text-sm overflow-hidden\" @transitionend=\"scrollIfNeeded\">\n <slot :open />\n </div>\n </div>\n</template>\n\n<style scoped>\n.collapse:not(td, tr, colgroup) {\n visibility: visible;\n}\n\n.collapse {\n position: relative;\n display: grid;\n overflow: hidden;\n width: 100%;\n grid-template-rows: max-content 0fr;\n transition: grid-template-rows 0.2s;\n isolation: isolate;\n\n > input:is([type='checkbox'], [type='radio']) {\n grid-column-start: 1;\n grid-row-start: 1;\n appearance: none;\n opacity: 0;\n }\n\n &:is([open], :focus),\n &:has(> input:is([type='checkbox'], [type='radio']):checked) {\n grid-template-rows: max-content 1fr;\n }\n\n &:is([open], :focus) > .collapse-content,\n &:not(.collapse-close)\n > :where(input:is([type='checkbox'], [type='radio']):checked ~ .collapse-content) {\n visibility: visible;\n min-height: fit-content;\n }\n &:focus-visible,\n &:has(> input:is([type='checkbox'], [type='radio']):focus-visible) {\n outline-color: var(--ui-text);\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n }\n\n &:not(.collapse-close) {\n > input[type='checkbox'],\n > input[type='radio']:not(:checked),\n > .collapse-title {\n cursor: pointer;\n }\n }\n\n &:focus:not(.collapse-close, .collapse[open]) > .collapse-title {\n cursor: unset;\n }\n\n &:is([open]) {\n &.collapse-arrow {\n > .collapse-title:after {\n transform: translateY(-50%) rotate(225deg);\n }\n }\n }\n\n &.collapse-arrow:focus {\n > .collapse-title:after {\n transform: translateY(-50%) rotate(225deg);\n }\n }\n\n &.collapse-arrow {\n > input:is([type='checkbox'], [type='radio']):checked ~ .collapse-title:after {\n transform: translateY(-50%) rotate(225deg);\n }\n }\n\n > input:is([type='checkbox'], [type='radio']) {\n z-index: 1;\n width: 100%;\n }\n}\n\n.collapse-title,\n.collapse-content {\n grid-column-start: 1;\n grid-row-start: 1;\n}\n\n.collapse-content {\n visibility: hidden;\n grid-column-start: 1;\n grid-row-start: 2;\n min-height: 0;\n cursor: unset;\n transition: visibility 0.2s;\n}\n\n.collapse-arrow {\n > .collapse-title:after {\n position: absolute;\n display: block;\n height: 0.5rem;\n width: 0.5rem;\n transform: translateY(-100%) rotate(45deg);\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.2s;\n top: 50%;\n right: 0.8em;\n inset-inline-end: 0.75rem;\n content: '';\n transform-origin: 75% 75%;\n box-shadow: 2px 2px;\n pointer-events: none;\n }\n}\n\n.collapse-title {\n position: relative;\n width: 100%;\n transition: background-color 0.2s ease-out;\n}\n</style>\n","export function formatDuration(timeInMs: number): string {\n if (timeInMs < 1000) {\n return `${Math.round(timeInMs)} ms`\n }\n\n const seconds = timeInMs / 1000\n if (timeInMs < 10_000) {\n return `${seconds.toFixed(3)} seconds`\n }\n\n if (timeInMs < 60_000) {\n return `${Math.floor(seconds)} seconds`\n }\n\n const minutes = Math.floor(seconds / 60)\n\n if (timeInMs < 3_600_000) {\n return `${minutes} minute${minutes > 1 ? 's' : ''}`\n }\n\n const hours = Math.floor(minutes / 60)\n\n return `${hours}h${minutes % 60}m${seconds % 60}s`\n}\n","<script setup lang=\"ts\">\nimport type { UseQueryEntryPayload } from '@pinia/colada-devtools/shared'\nimport { computed, ref, watch } from 'vue'\nimport { useDuplexChannel, useQueryEntries } from '../../composables/duplex-channel'\nimport { formatDuration } from '../../utils/time'\nimport { useRoute } from 'vue-router'\nimport type { DataStateStatus } from '@pinia/colada'\n\nimport IWrench from '~icons/lucide/wrench'\nimport IInfoCircle from '~icons/lucide/info'\nimport IFileText from '~icons/lucide/file-text'\nimport ICircleX from '~icons/lucide/circle-x'\nimport IBraces from '~icons/lucide/braces'\nimport IHistory from '~icons/lucide/history'\nimport ISigmaSquare from '~icons/lucide/sigma-square'\nimport { useTimeAgo, formatTimeAgo } from '@vueuse/core'\nimport type { FormatTimeAgoOptions } from '@vueuse/core'\n\nconst route = useRoute('/queries/[queryId]')\nconst queries = useQueryEntries()\n\nconst selectedQuery = computed<UseQueryEntryPayload | null>(() => {\n return queries.value.find((entry) => entry.keyHash === route.params.queryId) ?? null\n})\n\nconst TIME_AGO_OPTIONS: FormatTimeAgoOptions = {\n showSecond: true,\n rounding: 'floor',\n max: 1000 * 60 * 5, // 5 minutes\n}\n\nconst lastUpdate = useTimeAgo(() => selectedQuery.value?.devtools.updatedAt ?? 0, {\n ...TIME_AGO_OPTIONS,\n updateInterval: 3_000,\n})\n\n// TODO: we should be able to highlight components using this query\n// const el = useTemplateRef('me')\n// TODO: add ref=\"me\" to the div\n// watch(\n// // also trigger if the selectedQuery changes\n// () => [el.value, selectedQuery.value?.id] as const,\n// ([el]) => {\n// if (!el || !selectedQuery.value) return\n//\n// const observingComponents = findVueComponents(\n// el,\n// selectedQuery.value.deps.filter((c) => c.type === 'component').map((c) => c.uid) ?? [],\n// )\n//\n// console.log('elements', observingComponents)\n// },\n// )\n\nconst channel = useDuplexChannel()\n\nconst isDataOpen = ref(false)\nlet wasDataOpen = isDataOpen.value\nlet lastStatus: DataStateStatus | null = null\nconst isErrorOpen = ref(false)\nwatch(\n () => selectedQuery.value?.state,\n (state) => {\n if (!state || lastStatus === state.status) return\n lastStatus = state.status\n if (state.status === 'error') {\n isErrorOpen.value = true\n // preserve it for later\n wasDataOpen = isDataOpen.value\n isDataOpen.value = false\n } else if (state.status === 'success') {\n isDataOpen.value = wasDataOpen\n isErrorOpen.value = false\n }\n },\n)\n</script>\n\n<template>\n <div class=\"flex flex-col divide-y dark:divide-(--ui-border) divide-(--ui-border-accented)\">\n <template v-if=\"selectedQuery\">\n <UCollapse title=\"Details\" :icon=\"IInfoCircle\">\n <div class=\"py-1 text-sm\">\n <p class=\"grid grid-cols-[auto_1fr] gap-1\">\n <span>key:</span>\n <span>\n <code class=\"rounded bg-neutral-500/20 p-0.5\">{{ selectedQuery.key }}</code>\n </span>\n </p>\n\n <p\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"When was the query entry last updated\"\n >\n <span>Last update:</span>\n <span class=\"font-bold\">{{ lastUpdate }}</span>\n </p>\n\n <p\n v-if=\"selectedQuery.devtools.history.at(0)?.fetchTime\"\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"When was the last time the query was fetched\"\n >\n <span>Last fetch:</span>\n <span class=\"font-bold\">{{\n formatTimeAgo(new Date(selectedQuery.devtools.history.at(0)!.fetchTime!.start), {\n ...TIME_AGO_OPTIONS,\n max: undefined,\n })\n }}</span>\n </p>\n\n <p\n v-if=\"selectedQuery.devtools.history.at(0)?.fetchTime?.end\"\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"How long did the last query take to fetch\"\n >\n <span>Fetch duration:</span>\n <span class=\"font-bold\">{{\n formatDuration(\n selectedQuery.devtools.history.at(0)!.fetchTime!.end!\n - selectedQuery.devtools.history.at(0)!.fetchTime!.start,\n )\n }}</span>\n </p>\n\n <p\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"How many components and effects are using this query\"\n >\n <span>Observers: <span class=\"font-bold\">{{ selectedQuery.deps.length }}</span></span>\n </p>\n\n <p\n v-if=\"!selectedQuery.active && selectedQuery.options\"\n class=\"grid grid-cols-[auto_1fr] gap-x-2\"\n title=\"When is this query entry garbace collected\"\n >\n <template\n v-if=\"\n typeof selectedQuery.options.gcTime === 'number'\n && Number.isFinite(selectedQuery.options.gcTime)\n \"\n >\n <span>Will be <i>gced</i></span>\n <span class=\"font-bold\">{{\n formatTimeAgo(\n new Date(selectedQuery.devtools.inactiveAt + selectedQuery.options.gcTime),\n {\n ...TIME_AGO_OPTIONS,\n max: undefined,\n },\n )\n }}</span>\n </template>\n </p>\n </div>\n </UCollapse>\n\n <UCollapse title=\"Actions\" :icon=\"IWrench\">\n <div class=\"py-2 gap-2 flex flex-wrap items-center justify-items-start\">\n <UButton\n class=\"theme-info\"\n size=\"sm\"\n title=\"Refetch this query\"\n :disabled=\"selectedQuery.options?.enabled === false\"\n @click=\"channel.emit('queries:refetch', selectedQuery.key)\"\n >\n <i-lucide-refresh-cw class=\"size-3.5\" /> Refetch\n </UButton>\n\n <UButton\n class=\"theme-neutral\"\n size=\"sm\"\n title=\"Invalidate this query\"\n @click=\"channel.emit('queries:invalidate', selectedQuery.key)\"\n >\n <i-lucide-timer-reset /> Invalidate\n </UButton>\n\n <UButton\n v-if=\"selectedQuery.devtools.simulate !== 'loading'\"\n class=\"theme-purple\"\n size=\"sm\"\n title=\"Restore the previous state\"\n @click=\"channel.emit('queries:simulate:loading', selectedQuery.key)\"\n >\n <i-lucide-loader />\n Simulate loading\n </UButton>\n <UButton\n v-else\n class=\"theme-purple\"\n size=\"sm\"\n title=\"Simulate a loading state\"\n @click=\"channel.emit('queries:simulate:loading:stop', selectedQuery.key)\"\n >\n <i-lucide-loader class=\"animate-spin\" />\n Stop loading\n </UButton>\n\n <UButton\n v-if=\"selectedQuery.devtools.simulate !== 'error'\"\n class=\"theme-error\"\n size=\"sm\"\n title=\"Simulate an Error state\"\n @click=\"channel.emit('queries:simulate:error', selectedQuery.key)\"\n >\n <i-lucide-x-octagon /> Simulate error\n </UButton>\n <UButton\n v-else\n class=\"theme-error\"\n size=\"sm\"\n title=\"Restore the previous state\"\n @click=\"channel.emit('queries:simulate:error:stop', selectedQuery.key)\"\n >\n <i-lucide-rotate-ccw /> Remove error\n </UButton>\n\n <UButton\n class=\"theme-warning\"\n size=\"sm\"\n title=\"Reset this query to its initial (pending) state\"\n @click=\"channel.emit('queries:reset', selectedQuery.key)\"\n >\n <i-lucide-trash /> Reset\n </UButton>\n </div>\n </UCollapse>\n\n <UCollapse v-model:open=\"isDataOpen\" title=\"Data\" :icon=\"IFileText\">\n <div class=\"py-1\">\n <pre\n v-if=\"selectedQuery.state.data !== undefined\"\n class=\"rounded p-1 overflow-auto max-h-[1200px]\"\n >{{ selectedQuery.state.data }}</pre>\n <p v-else class=\"text-neutral-500/50\">\n No data\n </p>\n </div>\n </UCollapse>\n\n <UCollapse\n v-model:open=\"isErrorOpen\"\n :title=\"`Error${selectedQuery.state.status === 'error' ? ' (!)' : ''}`\"\n :icon=\"ICircleX\"\n >\n <div class=\"py-1\">\n <pre v-if=\"selectedQuery.state.error\" class=\"rounded p-1 overflow-auto max-h-[1200px]\">{{\n selectedQuery.state.error\n }}</pre>\n <p v-else class=\"text-neutral-500/50\">\n No error\n </p>\n </div>\n </UCollapse>\n\n <UCollapse title=\"Call count\" :icon=\"ISigmaSquare\" :open=\"false\">\n <div class=\"py-1\">\n <p class=\"grid grid-cols-[auto_1fr] gap-1\">\n <span>Calls:</span>\n <span>\n <code class=\"font-bold\">{{ selectedQuery.devtools.count.total }}</code>\n </span>\n <span>Success:</span>\n <span>\n <code class=\"font-bold\">{{ selectedQuery.devtools.count.succeed }}</code>\n </span>\n <span>Errors:</span>\n <span>\n <code class=\"font-bold\">{{ selectedQuery.devtools.count.errored }}</code>\n </span>\n <span>Cancelled:</span>\n <span>\n <code class=\"font-bold\">{{ selectedQuery.devtools.count.cancelled }}</code>\n </span>\n </p>\n </div>\n </UCollapse>\n\n <UCollapse\n :title=\"`History (${selectedQuery.devtools.history.length})`\"\n :icon=\"IHistory\"\n :open=\"false\"\n >\n <div class=\"py-1\">\n <UCollapse\n v-for=\"entry of selectedQuery.devtools.history\"\n :key=\"entry.updatedAt\"\n :title=\"`Entry nº${entry.id} (${formatTimeAgo(new Date(entry.updatedAt), TIME_AGO_OPTIONS)})`\"\n :open=\"false\"\n >\n <pre class=\"rounded p-1 overflow-auto max-h-[1200px]\">{{ entry }}</pre>\n </UCollapse>\n </div>\n </UCollapse>\n\n <UCollapse title=\"Options\" :open=\"false\" :icon=\"IBraces\">\n <div class=\"py-1\">\n <pre\n v-if=\"selectedQuery.options\"\n class=\"rounded bg-neutral-500/20 p-1 overflow-auto max-h-[1200px]\"\n >{{ selectedQuery.options }}</pre>\n <p v-else>\n This Query entry has no options. It might have been created from the server or manually\n set with\n <code>queryCache.setQueryData()</code> for prefetching.\n </p>\n </div>\n </UCollapse>\n </template>\n\n <template v-else>\n <div class=\"py-6 mx-auto\">\n <p class=\"flex flex-col text-center items-center gap-2 text-lg px-2\">\n Select a Query to inspect\n <i-lucide-mouse-pointer-click />\n </p>\n </div>\n </template>\n </div>\n</template>\n"],"names":["open","_useModel","__props","scrollIfNeeded","event","scrollOptions","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","$event","_hoisted_2","_renderSlot","_ctx","title","_hoisted_3","icon","_createBlock","_resolveDynamicComponent","_createTextVNode","formatDuration","timeInMs","seconds","minutes","route","useRoute","queries","useQueryEntries","selectedQuery","computed","entry","TIME_AGO_OPTIONS","lastUpdate","useTimeAgo","_a","channel","useDuplexChannel","isDataOpen","ref","wasDataOpen","lastStatus","isErrorOpen","watch","state","_Fragment","_createVNode","_component_UCollapse","_unref","IInfoCircle","_cache","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","formatTimeAgo","_c","_b","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","IWrench","_hoisted_15","_component_UButton","_component_i_lucide_refresh_cw","_component_i_lucide_timer_reset","_component_i_lucide_loader","_component_i_lucide_x_octagon","_component_i_lucide_rotate_ccw","_component_i_lucide_trash","IFileText","_hoisted_16","_hoisted_17","_hoisted_18","ICircleX","_hoisted_19","_hoisted_20","_hoisted_21","ISigmaSquare","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","IHistory","_hoisted_28","_hoisted_29","IBraces","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_component_i_lucide_mouse_pointer_click"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { _ as o } from "./mouse-pointer-click-BPVNmt6b.js";
2
- import { _ as c, c as s, o as n, a as _, P as a, k as r } from "./index-bwZG0BLQ.js";
1
+ import { _ as o } from "./mouse-pointer-click-DrNfYH7O.js";
2
+ import { _ as c, c as s, o as n, a as _, P as a, k as r } from "./index-BCMgcfY0.js";
3
3
  const i = {}, l = { class: "py-6 mx-auto" }, p = { class: "flex flex-col text-center items-center gap-2 text-lg px-2" };
4
4
  function d(m, e) {
5
5
  const t = o;
@@ -14,4 +14,4 @@ const u = /* @__PURE__ */ c(i, [["render", d]]);
14
14
  export {
15
15
  u as default
16
16
  };
17
- //# sourceMappingURL=index-D2ld1JQh.js.map
17
+ //# sourceMappingURL=index-B5Pabqnp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-D2ld1JQh.js","sources":["../src/panel/pages/queries/index.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\n\n<template>\n <div class=\"py-6 mx-auto\">\n <p class=\"flex flex-col text-center items-center gap-2 text-lg px-2\">\n Select a Query to inspect\n <i-lucide-mouse-pointer-click />\n </p>\n </div>\n</template>\n"],"names":["_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_createVNode","_component_i_lucide_mouse_pointer_click"],"mappings":";;cAGOA,IAAA,EAAA,OAAM,eAAc,GACpBC,IAAA,EAAA,OAAM,4DAA2D;;;AADtE,SAAAC,EAAA,GAAAC,EAKM,OALNH,GAKM;AAAA,IAJJI,EAGI,KAHJH,GAGI;AAAA,wBAHiE,6BAEnE;AAAA,MAAAI,EAAgCC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index-B5Pabqnp.js","sources":["../src/panel/pages/queries/index.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\n\n<template>\n <div class=\"py-6 mx-auto\">\n <p class=\"flex flex-col text-center items-center gap-2 text-lg px-2\">\n Select a Query to inspect\n <i-lucide-mouse-pointer-click />\n </p>\n </div>\n</template>\n"],"names":["_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_createVNode","_component_i_lucide_mouse_pointer_click"],"mappings":";;cAGOA,IAAA,EAAA,OAAM,eAAc,GACpBC,IAAA,EAAA,OAAM,4DAA2D;;;AADtE,SAAAC,EAAA,GAAAC,EAKM,OALNH,GAKM;AAAA,IAJJI,EAGI,KAHJH,GAGI;AAAA,wBAHiE,6BAEnE;AAAA,MAAAI,EAAgCC,CAAA;AAAA;;;;"}