@nvent-addon/app 0.4.5 → 0.5.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 (153) hide show
  1. package/dist/module.d.mts +19 -1
  2. package/dist/module.mjs +20 -8
  3. package/dist/runtime/app/components/{nhealth/component-router.d.vue.ts → ComponentRouter.d.vue.ts} +1 -5
  4. package/dist/runtime/app/components/{nhealth/component-router.vue.d.ts → ComponentRouter.vue.d.ts} +1 -5
  5. package/dist/runtime/app/components/{nhealth/component-shell.d.vue.ts → ComponentShell.d.vue.ts} +4 -9
  6. package/dist/runtime/app/components/ComponentShell.vue +87 -0
  7. package/dist/runtime/app/components/{nhealth/component-shell.vue.d.ts → ComponentShell.vue.d.ts} +4 -9
  8. package/dist/runtime/app/components/ConfirmDialog.d.vue.ts +1 -6
  9. package/dist/runtime/app/components/ConfirmDialog.vue.d.ts +1 -6
  10. package/dist/runtime/app/components/ListItem.d.vue.ts +3 -6
  11. package/dist/runtime/app/components/ListItem.vue.d.ts +3 -6
  12. package/dist/runtime/app/components/LiveIndicator.d.vue.ts +7 -0
  13. package/dist/runtime/app/components/LiveIndicator.vue +30 -0
  14. package/dist/runtime/app/components/LiveIndicator.vue.d.ts +7 -0
  15. package/dist/runtime/app/components/{QueueConfigDetails.d.vue.ts → QueueConfiguration.d.vue.ts} +1 -10
  16. package/dist/runtime/app/components/QueueConfiguration.vue +387 -0
  17. package/dist/runtime/app/components/{QueueConfigDetails.vue.d.ts → QueueConfiguration.vue.d.ts} +1 -10
  18. package/dist/runtime/app/components/StatCard.d.vue.ts +9 -0
  19. package/dist/runtime/app/components/StatCard.vue +57 -0
  20. package/dist/runtime/app/components/StatCard.vue.d.ts +9 -0
  21. package/dist/runtime/app/components/TimelineList.vue +67 -0
  22. package/dist/runtime/app/components/flow/AwaitNode.d.vue.ts +18 -0
  23. package/dist/runtime/app/components/flow/AwaitNode.vue +91 -0
  24. package/dist/runtime/app/components/flow/AwaitNode.vue.d.ts +18 -0
  25. package/dist/runtime/app/components/{FlowDiagram.d.vue.ts → flow/Diagram.d.vue.ts} +12 -1
  26. package/dist/runtime/app/components/{FlowDiagram.vue → flow/Diagram.vue} +92 -11
  27. package/dist/runtime/app/components/{FlowDiagram.vue.d.ts → flow/Diagram.vue.d.ts} +12 -1
  28. package/dist/runtime/app/components/{FlowRunOverview.d.vue.ts → flow/RunOverview.d.vue.ts} +3 -0
  29. package/dist/runtime/app/components/{FlowRunOverview.vue → flow/RunOverview.vue} +94 -8
  30. package/dist/runtime/app/components/{FlowRunOverview.vue.d.ts → flow/RunOverview.vue.d.ts} +3 -0
  31. package/dist/runtime/app/components/{FlowRunStatusBadge.d.vue.ts → flow/RunStatusBadge.d.vue.ts} +2 -8
  32. package/dist/runtime/app/components/{FlowRunStatusBadge.vue → flow/RunStatusBadge.vue} +8 -1
  33. package/dist/runtime/app/components/{FlowRunStatusBadge.vue.d.ts → flow/RunStatusBadge.vue.d.ts} +2 -8
  34. package/dist/runtime/app/components/{FlowRunTimeline.vue → flow/RunTimeline.vue} +1 -1
  35. package/dist/runtime/app/components/{FlowStepSelector.d.vue.ts → flow/StepSelector.d.vue.ts} +1 -0
  36. package/dist/runtime/app/components/flow/StepSelector.vue +553 -0
  37. package/dist/runtime/app/components/{FlowStepSelector.vue.d.ts → flow/StepSelector.vue.d.ts} +1 -0
  38. package/dist/runtime/app/components/trigger/BasicInfoCard.d.vue.ts +33 -0
  39. package/dist/runtime/app/components/trigger/BasicInfoCard.vue +168 -0
  40. package/dist/runtime/app/components/trigger/BasicInfoCard.vue.d.ts +33 -0
  41. package/dist/runtime/app/components/{FlowSchedulesList.d.vue.ts → trigger/DangerZone.d.vue.ts} +4 -6
  42. package/dist/runtime/app/components/trigger/DangerZone.vue +46 -0
  43. package/dist/runtime/app/components/{FlowSchedulesList.vue.d.ts → trigger/DangerZone.vue.d.ts} +4 -6
  44. package/dist/runtime/app/components/trigger/EditHeader.d.vue.ts +15 -0
  45. package/dist/runtime/app/components/trigger/EditHeader.vue +55 -0
  46. package/dist/runtime/app/components/trigger/EditHeader.vue.d.ts +15 -0
  47. package/dist/runtime/app/components/trigger/EventConfig.d.vue.ts +24 -0
  48. package/dist/runtime/app/components/trigger/EventConfig.vue +68 -0
  49. package/dist/runtime/app/components/trigger/EventConfig.vue.d.ts +24 -0
  50. package/dist/runtime/app/components/trigger/FlowSubscriptions.d.vue.ts +14 -0
  51. package/dist/runtime/app/components/trigger/FlowSubscriptions.vue +128 -0
  52. package/dist/runtime/app/components/trigger/FlowSubscriptions.vue.d.ts +14 -0
  53. package/dist/runtime/app/components/trigger/ScheduleConfig.d.vue.ts +27 -0
  54. package/dist/runtime/app/components/trigger/ScheduleConfig.vue +375 -0
  55. package/dist/runtime/app/components/trigger/ScheduleConfig.vue.d.ts +27 -0
  56. package/dist/runtime/app/components/{FlowScheduleDialog.d.vue.ts → trigger/StatusConfig.d.vue.ts} +6 -6
  57. package/dist/runtime/app/components/trigger/StatusConfig.vue +78 -0
  58. package/dist/runtime/app/components/{FlowScheduleDialog.vue.d.ts → trigger/StatusConfig.vue.d.ts} +6 -6
  59. package/dist/runtime/app/components/trigger/WebhookConfig.d.vue.ts +30 -0
  60. package/dist/runtime/app/components/trigger/WebhookConfig.vue +97 -0
  61. package/dist/runtime/app/components/trigger/WebhookConfig.vue.d.ts +30 -0
  62. package/dist/runtime/app/composables/useAnalyzedFlows.d.ts +5 -0
  63. package/dist/runtime/app/composables/useAnalyzedFlows.js +15 -1
  64. package/dist/runtime/app/composables/useComponentRouter.d.ts +8 -0
  65. package/dist/runtime/app/composables/useComponentRouter.js +10 -2
  66. package/dist/runtime/app/composables/useFlowRunsInfinite.d.ts +1 -1
  67. package/dist/runtime/app/composables/useFlowState.js +65 -0
  68. package/dist/runtime/app/composables/useFlowWebSocket.d.ts +11 -2
  69. package/dist/runtime/app/composables/useFlowWebSocket.js +181 -65
  70. package/dist/runtime/app/composables/useQueueJobs.d.ts +12 -1
  71. package/dist/runtime/app/composables/useQueueJobs.js +13 -7
  72. package/dist/runtime/app/composables/useTrigger.d.ts +137 -0
  73. package/dist/runtime/app/composables/useTrigger.js +116 -0
  74. package/dist/runtime/app/composables/useTriggerWebSocket.d.ts +35 -0
  75. package/dist/runtime/app/composables/useTriggerWebSocket.js +333 -0
  76. package/dist/runtime/app/pages/dashboard.d.vue.ts +3 -0
  77. package/dist/runtime/app/pages/dashboard.vue +738 -0
  78. package/dist/runtime/app/pages/dashboard.vue.d.ts +3 -0
  79. package/dist/runtime/app/pages/flows/[name].d.vue.ts +3 -0
  80. package/dist/runtime/app/pages/flows/[name].vue +680 -0
  81. package/dist/runtime/app/pages/flows/[name].vue.d.ts +3 -0
  82. package/dist/runtime/app/pages/flows/index.vue +321 -620
  83. package/dist/runtime/app/pages/index.vue +39 -9
  84. package/dist/runtime/app/pages/queues/index.vue +202 -194
  85. package/dist/runtime/app/pages/queues/jobs.vue +534 -207
  86. package/dist/runtime/app/pages/settings/scheduler.d.vue.ts +3 -0
  87. package/dist/runtime/app/pages/settings/scheduler.vue +310 -0
  88. package/dist/runtime/app/pages/settings/scheduler.vue.d.ts +3 -0
  89. package/dist/runtime/app/pages/triggers/[name]/edit.d.vue.ts +3 -0
  90. package/dist/runtime/app/pages/triggers/[name]/edit.vue +429 -0
  91. package/dist/runtime/app/pages/triggers/[name]/edit.vue.d.ts +3 -0
  92. package/dist/runtime/app/pages/triggers/[name].d.vue.ts +3 -0
  93. package/dist/runtime/app/pages/triggers/[name].vue +898 -0
  94. package/dist/runtime/app/pages/triggers/[name].vue.d.ts +3 -0
  95. package/dist/runtime/app/pages/triggers/index.d.vue.ts +3 -0
  96. package/dist/runtime/app/pages/triggers/index.vue +528 -0
  97. package/dist/runtime/app/pages/triggers/index.vue.d.ts +3 -0
  98. package/dist/runtime/app/pages/triggers/new.d.vue.ts +3 -0
  99. package/dist/runtime/app/pages/triggers/new.vue +610 -0
  100. package/dist/runtime/app/pages/triggers/new.vue.d.ts +3 -0
  101. package/dist/runtime/server/api/_flows/[name]/clear-history.delete.d.ts +10 -0
  102. package/dist/runtime/server/api/_flows/[name]/clear-history.delete.js +49 -0
  103. package/dist/runtime/server/api/_flows/[name]/runs/[runId]/cancel.post.d.ts +2 -0
  104. package/dist/runtime/server/api/_flows/[name]/runs/[runId]/cancel.post.js +21 -0
  105. package/dist/runtime/server/api/_flows/[name]/runs.get.d.ts +17 -0
  106. package/dist/runtime/server/api/_flows/[name]/runs.get.js +64 -0
  107. package/dist/runtime/server/api/_flows/[name]/start.post.d.ts +2 -0
  108. package/dist/runtime/server/api/_flows/[name]/start.post.js +9 -0
  109. package/dist/runtime/server/api/_flows/index.get.d.ts +7 -0
  110. package/dist/runtime/server/api/_flows/index.get.js +5 -0
  111. package/dist/runtime/server/api/_flows/recent-runs.get.d.ts +15 -0
  112. package/dist/runtime/server/api/_flows/recent-runs.get.js +67 -0
  113. package/dist/runtime/server/api/_flows/ws.d.ts +80 -0
  114. package/dist/runtime/server/api/_flows/ws.js +309 -0
  115. package/dist/runtime/server/api/_queues/[name]/job/[id].get.d.ts +2 -0
  116. package/dist/runtime/server/api/_queues/[name]/job/[id].get.js +14 -0
  117. package/dist/runtime/server/api/_queues/[name]/job/index.get.d.ts +2 -0
  118. package/dist/runtime/server/api/_queues/[name]/job/index.get.js +39 -0
  119. package/dist/runtime/server/api/_queues/index.get.d.ts +2 -0
  120. package/dist/runtime/server/api/_queues/index.get.js +106 -0
  121. package/dist/runtime/server/api/_queues/ws.d.ts +48 -0
  122. package/dist/runtime/server/api/_queues/ws.js +215 -0
  123. package/dist/runtime/server/api/_scheduler/jobs.get.d.ts +19 -0
  124. package/dist/runtime/server/api/_scheduler/jobs.get.js +36 -0
  125. package/dist/runtime/server/api/_triggers/[name]/events.get.d.ts +6 -0
  126. package/dist/runtime/server/api/_triggers/[name]/events.get.js +43 -0
  127. package/dist/runtime/server/api/_triggers/[name]/index.get.d.ts +6 -0
  128. package/dist/runtime/server/api/_triggers/[name]/index.get.js +76 -0
  129. package/dist/runtime/server/api/_triggers/[name].delete.d.ts +7 -0
  130. package/dist/runtime/server/api/_triggers/[name].delete.js +37 -0
  131. package/dist/runtime/server/api/_triggers/[name].patch.d.ts +7 -0
  132. package/dist/runtime/server/api/_triggers/[name].patch.js +117 -0
  133. package/dist/runtime/server/api/_triggers/index.get.d.ts +6 -0
  134. package/dist/runtime/server/api/_triggers/index.get.js +44 -0
  135. package/dist/runtime/server/api/_triggers/index.post.d.ts +7 -0
  136. package/dist/runtime/server/api/_triggers/index.post.js +124 -0
  137. package/dist/runtime/server/api/_triggers/stats.get.d.ts +6 -0
  138. package/dist/runtime/server/api/_triggers/stats.get.js +41 -0
  139. package/dist/runtime/server/api/_triggers/ws.d.ts +74 -0
  140. package/dist/runtime/server/api/_triggers/ws.js +315 -0
  141. package/dist/runtime/server/tsconfig.json +7 -0
  142. package/package.json +8 -8
  143. package/dist/runtime/app/components/FlowScheduleDialog.vue +0 -226
  144. package/dist/runtime/app/components/FlowSchedulesList.vue +0 -99
  145. package/dist/runtime/app/components/FlowStepSelector.vue +0 -238
  146. package/dist/runtime/app/components/QueueConfigDetails.vue +0 -412
  147. package/dist/runtime/app/components/nhealth/component-shell.vue +0 -89
  148. /package/dist/runtime/app/components/{nhealth/component-router.vue → ComponentRouter.vue} +0 -0
  149. /package/dist/runtime/app/components/{FlowNodeCard.d.vue.ts → flow/NodeCard.d.vue.ts} +0 -0
  150. /package/dist/runtime/app/components/{FlowNodeCard.vue → flow/NodeCard.vue} +0 -0
  151. /package/dist/runtime/app/components/{FlowNodeCard.vue.d.ts → flow/NodeCard.vue.d.ts} +0 -0
  152. /package/dist/runtime/app/components/{FlowRunTimeline.d.vue.ts → flow/RunTimeline.d.vue.ts} +0 -0
  153. /package/dist/runtime/app/components/{FlowRunTimeline.vue.d.ts → flow/RunTimeline.vue.d.ts} +0 -0
package/dist/module.d.mts CHANGED
@@ -1,6 +1,24 @@
1
1
  import * as _nuxt_schema from '@nuxt/schema';
2
2
 
3
- type ModuleOptions = Record<string, unknown>;
3
+ interface ModuleOptions {
4
+ /**
5
+ * Enable the built-in route at /_nvent
6
+ * @default true
7
+ */
8
+ route?: boolean;
9
+ /**
10
+ * Custom route path for the Nvent app
11
+ * @default '/_nvent'
12
+ */
13
+ routePath?: string;
14
+ /**
15
+ * Layout to use for the route page
16
+ * Set to false to use no layout (standalone page)
17
+ * Set to a string to use a specific layout from your app
18
+ * @default false
19
+ */
20
+ layout?: string | false;
21
+ }
4
22
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
5
23
 
6
24
  export { _default as default };
package/dist/module.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { defineNuxtModule, createResolver, addImportsDir, addPlugin, addComponentsDir, addComponent } from '@nuxt/kit';
1
+ import { defineNuxtModule, createResolver, addImportsDir, addServerScanDir, addPlugin, addComponentsDir, addComponent, extendPages } from '@nuxt/kit';
2
2
  import defu from 'defu';
3
3
 
4
4
  const meta = {
@@ -8,16 +8,16 @@ const meta = {
8
8
  };
9
9
  const module$1 = defineNuxtModule({
10
10
  meta,
11
- defaults: {},
12
- moduleDependencies: {
13
- "json-editor-vue/nuxt": {
14
- version: "0.18.1"
15
- }
11
+ defaults: {
12
+ route: true,
13
+ routePath: "/_nvent",
14
+ layout: false
16
15
  },
17
16
  async setup(options, nuxt) {
18
17
  const { resolve } = createResolver(import.meta.url);
19
18
  addImportsDir(resolve("./runtime/shared/utils"));
20
19
  addImportsDir(resolve("./runtime/app/composables"));
20
+ addServerScanDir(resolve("./runtime/server"));
21
21
  nuxt.options.css = nuxt.options.css || [];
22
22
  nuxt.options.css.push(resolve("./runtime/app/assets/vueflow.css"));
23
23
  addPlugin({
@@ -26,13 +26,25 @@ const module$1 = defineNuxtModule({
26
26
  });
27
27
  addComponentsDir({
28
28
  path: resolve("./runtime/app/components"),
29
- prefix: "Queue"
29
+ prefix: "Nvent"
30
30
  });
31
31
  addComponent({
32
- name: "QueueApp",
32
+ name: "NventApp",
33
33
  filePath: resolve("./runtime/app/pages/index.vue"),
34
34
  global: true
35
35
  });
36
+ if (options.route !== false) {
37
+ extendPages((pages) => {
38
+ pages.push({
39
+ name: "nvent-app",
40
+ path: options.routePath || "/_nvent",
41
+ file: resolve("./runtime/app/pages/index.vue"),
42
+ meta: {
43
+ layout: options.layout === false ? false : options.layout
44
+ }
45
+ });
46
+ });
47
+ }
36
48
  nuxt.options.vite.optimizeDeps = defu(nuxt.options.vite.optimizeDeps, {
37
49
  include: ["vanilla-jsoneditor"]
38
50
  });
@@ -31,11 +31,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
31
31
  params: Record<string, string>;
32
32
  query: Record<string, any>;
33
33
  } | undefined>;
34
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
35
- mode: ComponentRouterMode;
36
- base: string;
37
- debug: boolean;
38
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
35
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
36
  declare const _default: typeof __VLS_export;
41
37
  export default _default;
@@ -31,11 +31,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
31
31
  params: Record<string, string>;
32
32
  query: Record<string, any>;
33
33
  } | undefined>;
34
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
35
- mode: ComponentRouterMode;
36
- base: string;
37
- debug: boolean;
38
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
35
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
36
  declare const _default: typeof __VLS_export;
41
37
  export default _default;
@@ -1,19 +1,14 @@
1
1
  import type { NavigationMenuItem } from '@nuxt/ui';
2
2
  type __VLS_Props = {
3
3
  orientation?: 'horizontal' | 'vertical';
4
- items?: (NavigationMenuItem & {
5
- path?: string;
6
- })[][];
4
+ items?: NavigationMenuItem[][];
7
5
  activeMatch?: 'exact' | 'prefix';
8
6
  };
9
- declare var __VLS_6: {};
7
+ declare var __VLS_7: {};
10
8
  type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_6) => any;
9
+ default?: (props: typeof __VLS_7) => any;
12
10
  };
13
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
- orientation: "horizontal" | "vertical";
15
- activeMatch: "exact" | "prefix";
16
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
12
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
13
  declare const _default: typeof __VLS_export;
19
14
  export default _default;
@@ -0,0 +1,87 @@
1
+ <template>
2
+ <section class="h-full">
3
+ <!-- Layout container switches between column (horizontal nav top) and row (vertical nav left) -->
4
+ <div
5
+ :class="
6
+ orientation === 'vertical' ? 'flex h-full' : 'flex flex-col w-full'
7
+ "
8
+ style="height: calc(100vh - 4rem)"
9
+ >
10
+ <!-- Navigation using UNavigationMenu -->
11
+ <div
12
+ :class="[
13
+ 'border-gray-200',
14
+ orientation === 'vertical' ? 'min-w-[256px] border-r' : 'border-b'
15
+ ]"
16
+ >
17
+ <UNavigationMenu
18
+ :items="navigationItems"
19
+ :orientation="orientation"
20
+ content-orientation="vertical"
21
+ :class="orientation === 'horizontal' ? 'px-4' : ''"
22
+ />
23
+ </div>
24
+
25
+ <!-- Main Content -->
26
+ <div
27
+ class="flex-1 min-h-0 overflow-hidden"
28
+ >
29
+ <slot />
30
+ </div>
31
+ </div>
32
+ </section>
33
+ </template>
34
+
35
+ <script setup>
36
+ import { computed } from "vue";
37
+ import { useComponentRouter } from "#imports";
38
+ const props = defineProps({
39
+ orientation: { type: String, required: false, default: "horizontal" },
40
+ items: { type: Array, required: false },
41
+ activeMatch: { type: String, required: false, default: "prefix" }
42
+ });
43
+ const router = useComponentRouter();
44
+ const navigationItems = computed(() => {
45
+ if (!props.items) return [];
46
+ const transformItem = (item) => {
47
+ const path = item.path;
48
+ const transformed = {
49
+ ...item,
50
+ onSelect: (e) => {
51
+ e.preventDefault();
52
+ if (path) {
53
+ router.push(path);
54
+ }
55
+ if (item.onSelect) {
56
+ item.onSelect(e);
57
+ }
58
+ },
59
+ active: path ? isActive(path) : item.active
60
+ };
61
+ if (item.children) {
62
+ if (Array.isArray(item.children[0]) && Array.isArray(item.children[0][0])) {
63
+ transformed.children = item.children.map(
64
+ (childGroup) => childGroup.map(transformItem)
65
+ );
66
+ } else {
67
+ transformed.children = item.children.map(transformItem);
68
+ }
69
+ }
70
+ return transformed;
71
+ };
72
+ return props.items.map(
73
+ (group) => group.map(transformItem)
74
+ );
75
+ });
76
+ function isActive(path) {
77
+ if (!path) return false;
78
+ const current = router.route?.value?.path || "";
79
+ if (props.activeMatch === "prefix") return isPrefixActive(current, path);
80
+ return current === path;
81
+ }
82
+ function isPrefixActive(current, base) {
83
+ if (base === "/") return current === "/";
84
+ if (current === base) return true;
85
+ return current.startsWith(base.endsWith("/") ? base : base + "/");
86
+ }
87
+ </script>
@@ -1,19 +1,14 @@
1
1
  import type { NavigationMenuItem } from '@nuxt/ui';
2
2
  type __VLS_Props = {
3
3
  orientation?: 'horizontal' | 'vertical';
4
- items?: (NavigationMenuItem & {
5
- path?: string;
6
- })[][];
4
+ items?: NavigationMenuItem[][];
7
5
  activeMatch?: 'exact' | 'prefix';
8
6
  };
9
- declare var __VLS_6: {};
7
+ declare var __VLS_7: {};
10
8
  type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_6) => any;
9
+ default?: (props: typeof __VLS_7) => any;
12
10
  };
13
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
- orientation: "horizontal" | "vertical";
15
- activeMatch: "exact" | "prefix";
16
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
12
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
13
  declare const _default: typeof __VLS_export;
19
14
  export default _default;
@@ -23,11 +23,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
23
23
  onCancel?: (() => any) | undefined;
24
24
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
25
25
  onConfirm?: (() => any) | undefined;
26
- }>, {
27
- confirmLabel: string;
28
- cancelLabel: string;
29
- confirmColor: "primary" | "error" | "warning" | "success";
30
- iconColor: "primary" | "error" | "warning" | "success" | "info";
31
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
27
  declare const _default: typeof __VLS_export;
33
28
  export default _default;
@@ -23,11 +23,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
23
23
  onCancel?: (() => any) | undefined;
24
24
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
25
25
  onConfirm?: (() => any) | undefined;
26
- }>, {
27
- confirmLabel: string;
28
- cancelLabel: string;
29
- confirmColor: "primary" | "error" | "warning" | "success";
30
- iconColor: "primary" | "error" | "warning" | "success" | "info";
31
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
27
  declare const _default: typeof __VLS_export;
33
28
  export default _default;
@@ -5,14 +5,11 @@ type __VLS_Props = {
5
5
  origin?: string | null;
6
6
  dropdown?: DropdownMenuItem[];
7
7
  };
8
- declare var __VLS_24: {};
8
+ declare var __VLS_27: {};
9
9
  type __VLS_Slots = {} & {
10
- default?: (props: typeof __VLS_24) => any;
10
+ default?: (props: typeof __VLS_27) => any;
11
11
  };
12
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
- title: string;
14
- origin: string | null;
15
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
14
  declare const _default: typeof __VLS_export;
18
15
  export default _default;
@@ -5,14 +5,11 @@ type __VLS_Props = {
5
5
  origin?: string | null;
6
6
  dropdown?: DropdownMenuItem[];
7
7
  };
8
- declare var __VLS_24: {};
8
+ declare var __VLS_27: {};
9
9
  type __VLS_Slots = {} & {
10
- default?: (props: typeof __VLS_24) => any;
10
+ default?: (props: typeof __VLS_27) => any;
11
11
  };
12
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
- title: string;
14
- origin: string | null;
15
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
14
  declare const _default: typeof __VLS_export;
18
15
  export default _default;
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ isConnected: boolean;
3
+ isReconnecting?: boolean;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <div
3
+ v-if="isConnected"
4
+ class="flex items-center gap-1.5 text-xs text-emerald-600 dark:text-emerald-400"
5
+ >
6
+ <div class="w-2 h-2 rounded-full bg-emerald-500 animate-pulse" />
7
+ <span>Live</span>
8
+ </div>
9
+ <div
10
+ v-else-if="isReconnecting"
11
+ class="flex items-center gap-1.5 text-xs text-amber-600 dark:text-amber-400"
12
+ >
13
+ <div class="w-2 h-2 rounded-full bg-amber-500 animate-pulse" />
14
+ <span>Reconnecting...</span>
15
+ </div>
16
+ <div
17
+ v-else
18
+ class="flex items-center gap-1.5 text-xs text-gray-400 dark:text-gray-600"
19
+ >
20
+ <div class="w-2 h-2 rounded-full bg-gray-400" />
21
+ <span>Offline</span>
22
+ </div>
23
+ </template>
24
+
25
+ <script setup>
26
+ defineProps({
27
+ isConnected: { type: Boolean, required: true },
28
+ isReconnecting: { type: Boolean, required: false }
29
+ });
30
+ </script>
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ isConnected: boolean;
3
+ isReconnecting?: boolean;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -31,15 +31,6 @@ interface Props {
31
31
  queueConfig?: QueueConfig;
32
32
  workerConfig?: WorkerConfig;
33
33
  }
34
- type __VLS_Props = Props;
35
- type __VLS_ModelProps = {
36
- 'open'?: boolean;
37
- };
38
- type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
39
- declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
40
- "update:open": (value: boolean) => any;
41
- }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
42
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
43
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
35
  declare const _default: typeof __VLS_export;
45
36
  export default _default;