n8n-editor-ui 1.84.0 → 1.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-78eP7HIe.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BefsLZo6.js} +1 -1
  2. package/dist/assets/{AuthView-Bn_LB3Kw.js → AuthView-Bwnmj61F.js} +2 -2
  3. package/dist/assets/{CanvasChat-CGGQcCRA.css → CanvasChatSwitch-BcSDHC-c.css} +522 -24
  4. package/dist/assets/{CanvasChat-tuKMnT6J.js → CanvasChatSwitch-Dgc1t6ax.js} +919 -509
  5. package/dist/assets/{ChangePasswordView-aXYIR8zr.js → ChangePasswordView-Ojbow8CX.js} +3 -3
  6. package/dist/assets/CollectionParameter-2r_LuiyO.js +4 -0
  7. package/dist/assets/CommitMonoVariable-ytizKI8U.woff2 +0 -0
  8. package/dist/assets/{CredentialsView-k8CeiyMJ.js → CredentialsView-DhEvPiu_.js} +19 -8
  9. package/dist/assets/{ErrorView-e-cpk6J7.js → ErrorView-RGryGbpa.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-BYacEmlc.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-Iwq0aeRX.js} +2 -2
  11. package/dist/assets/{ExecutionsView-CQi8A4ps.js → ExecutionsView-CL7Ei3Em.js} +25 -8
  12. package/dist/assets/{ExecutionsView-CRTcP3sx.css → ExecutionsView-JCKikuIS.css} +2 -2
  13. package/dist/assets/{FileSaver.min-DmMmlWYQ.js → FileSaver.min-C4OYrSWg.js} +1 -1
  14. package/dist/assets/{FixedCollectionParameter-BfUPtP5M.js → FixedCollectionParameter-CJ4s-1jy.js} +1 -1
  15. package/dist/assets/{ForgotMyPasswordView-Dzao5PZ9.js → ForgotMyPasswordView-7tFMaf89.js} +3 -3
  16. package/dist/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
  17. package/dist/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
  18. package/dist/assets/{Logo-DVRZ2qRx.js → Logo-BW8jOa0h.js} +1 -1
  19. package/dist/assets/{MainHeader-BUw_JG4S.js → MainHeader-BUWCKbvC.js} +47 -22
  20. package/dist/assets/{MainHeader-CX-ZfeKE.css → MainHeader-CWA2JfVJ.css} +22 -22
  21. package/dist/assets/{MainSidebar-C6aXqICd.js → MainSidebar-BeZfQeco.js} +2 -2
  22. package/dist/assets/{NodeCreation-B9-99kNr.js → NodeCreation-DIg39Pbx.js} +5 -5
  23. package/dist/assets/{NodeCreator-DH90304h.js → NodeCreator-BwYjrEUk.js} +10 -11
  24. package/dist/assets/{NodeCreator-DDiuO5S0.css → NodeCreator-D9fmPdS2.css} +12 -12
  25. package/dist/assets/{NodeDetailsView-0RXvy-0D.css → NodeDetailsView-C1z3N5z_.css} +46 -46
  26. package/dist/assets/{NodeDetailsView-Ci-9Cz_w.js → NodeDetailsView-WuroVzlr.js} +38 -38
  27. package/dist/assets/{NodeView-CFUO-Q9X.js → NodeView-CmjajouX.js} +20 -23
  28. package/dist/assets/{ProjectCardBadge-CGqr1_BG.js → ProjectCardBadge-cIqYJxKe.js} +1 -1
  29. package/dist/assets/{ProjectHeader-CQjB5wC7.css → ProjectHeader-B-a6_GH6.css} +7 -7
  30. package/dist/assets/{ProjectHeader-C8hRwBFC.js → ProjectHeader-BGrFY-5v.js} +7 -21
  31. package/dist/assets/{ProjectSettings-motYfWGR.js → ProjectSettings-D10vay6-.js} +2 -2
  32. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DzkWenq4.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DJAYslHT.js} +2 -2
  33. package/dist/assets/{ResourcesListLayout-BYVhS2j5.js → ResourcesListLayout-C6v8Zm5q.js} +21 -18
  34. package/dist/assets/{ResourcesListLayout-BqQI0lCG.css → ResourcesListLayout-CWgWhtKq.css} +39 -36
  35. package/dist/assets/{RunDataAi-DJ-PSs_k.css → RunDataAi-CN9FrT9c.css} +2 -2
  36. package/dist/assets/{RunDataAi-pfKF0Nfm.js → RunDataAi-dhPBStdr.js} +25 -20
  37. package/dist/assets/{RunDataJson-CNT_rM-i.js → RunDataJson-kGRhUGn3.js} +12 -12
  38. package/dist/assets/{RunDataJsonActions-BTLAUv9R.js → RunDataJsonActions-BTljOq8V.js} +2 -2
  39. package/dist/assets/{RunDataSearch-BpcbBojC.js → RunDataSearch-mVQhE8PH.js} +1 -1
  40. package/dist/assets/{RunDataTable-ZnG9QEzJ.js → RunDataTable-CFoDiExh.js} +2 -2
  41. package/dist/assets/{SamlOnboarding-DjhCWFIr.js → SamlOnboarding-dDZHHNp4.js} +3 -3
  42. package/dist/assets/{SettingsApiView-C1ClqjeG.js → SettingsApiView-C9hbuZ42.js} +2 -3
  43. package/dist/assets/{SettingsCommunityNodesView-D5eLIpQC.js → SettingsCommunityNodesView-0wzih2lc.js} +5 -5
  44. package/dist/assets/{SettingsExternalSecrets-ubf6jijA.js → SettingsExternalSecrets-BCDoBPTc.js} +1 -1
  45. package/dist/assets/{SettingsLdapView-BezV6JLr.js → SettingsLdapView-CBCprymb.js} +1 -1
  46. package/dist/assets/{SettingsLogStreamingView-ETOxA5Tw.js → SettingsLogStreamingView-CMQQQdcB.js} +2 -2
  47. package/dist/assets/{SettingsPersonalView-DGxUC8Q4.js → SettingsPersonalView-DtAM5Qmb.js} +1 -1
  48. package/dist/assets/{SettingsSourceControl-1vHHG6W9.js → SettingsSourceControl-CysMFVZs.js} +1 -1
  49. package/dist/assets/{SettingsSso-CdI26YPF.js → SettingsSso-B0PZUvVx.js} +7 -7
  50. package/dist/assets/{SettingsSso-BjoJZ2DU.css → SettingsSso-DyrGnPdA.css} +10 -10
  51. package/dist/assets/{SettingsUsageAndPlan-BmI8cSiq.js → SettingsUsageAndPlan-2QUTEbXv.js} +8 -3
  52. package/dist/assets/{SettingsUsageAndPlan-Cul4YcIk.css → SettingsUsageAndPlan-b3WY2Ea_.css} +3 -3
  53. package/dist/assets/{SettingsUsersView-90JmT1qM.js → SettingsUsersView-C16e4GB4.js} +1 -1
  54. package/dist/assets/{SettingsView-i7rE7s3I.js → SettingsView-B-BQ6FGS.js} +1 -1
  55. package/dist/assets/{SetupView-Lp4ullGE.js → SetupView-Kx3RATQz.js} +3 -3
  56. package/dist/assets/{SetupWorkflowCredentialsButton-CoXXUd3B.js → SetupWorkflowCredentialsButton-BQ2_-L-1.js} +1 -1
  57. package/dist/assets/{SetupWorkflowFromTemplateView-TVU0-Zq4.js → SetupWorkflowFromTemplateView-D_E17TKc.js} +3 -3
  58. package/dist/assets/{SigninView-BqF8j6-h.js → SigninView-d0aJ1Mkg.js} +3 -3
  59. package/dist/assets/{SignoutView-DrYJ9Qe3.js → SignoutView-CvyFrh7y.js} +1 -1
  60. package/dist/assets/{SignupView-_EKPhYKN.js → SignupView-CnlD_UrJ.js} +3 -3
  61. package/dist/assets/{TemplateDetails-DAalg9G2.js → TemplateDetails-DRuh9UqO.js} +1 -1
  62. package/dist/assets/{TemplateList-BEYMeJMu.js → TemplateList-gpWBWX3r.js} +1 -1
  63. package/dist/assets/{TemplatesCollectionView-fMELXCRX.js → TemplatesCollectionView-Y6-pxrOD.js} +5 -5
  64. package/dist/assets/{TemplatesSearchView-BO-e3IH7.js → TemplatesSearchView-DP8XRZ62.js} +3 -3
  65. package/dist/assets/{TemplatesView-p57nARMp.js → TemplatesView-B3vanV3h.js} +1 -1
  66. package/dist/assets/{TemplatesWorkflowView-DAbL5S1-.js → TemplatesWorkflowView-CIB9qsVC.js} +5 -5
  67. package/dist/assets/{TestDefinitionEditView-BTo9LlAU.js → TestDefinitionEditView-BkhmS3l4.js} +7 -8
  68. package/dist/assets/{TestDefinitionListView-D_-DyZDv.js → TestDefinitionListView-tvjwd9Ts.js} +1 -1
  69. package/dist/assets/{TestDefinitionNewView-Crk5OePO.js → TestDefinitionNewView-DOGHwct6.js} +2 -2
  70. package/dist/assets/{TestDefinitionRootView-BtiqAWW1.js → TestDefinitionRootView-B-QvwldV.js} +1 -1
  71. package/dist/assets/{VariablesView-BvDpOTm3.css → VariablesView-ATWfdJsE.css} +5 -5
  72. package/dist/assets/{VariablesView-Bg3GI1iE.js → VariablesView-CoBnz2nF.js} +5 -5
  73. package/dist/assets/{WorkerView-CaTyr1ci.js → WorkerView-CsTZzlRj.js} +7 -7
  74. package/dist/assets/{WorkflowActivator-BvmRhIkt.js → WorkflowActivator-DeLhupjy.js} +2 -2
  75. package/dist/assets/{WorkflowExecutionsInfoAccordion-BuIbG1kZ.js → WorkflowExecutionsInfoAccordion-WRdvo2wq.js} +1 -1
  76. package/dist/assets/{WorkflowExecutionsLandingPage-BirtsKx4.js → WorkflowExecutionsLandingPage-DP8mgG6I.js} +2 -2
  77. package/dist/assets/{WorkflowExecutionsPreview-DFyHWF9H.js → WorkflowExecutionsPreview-BmG1Fptg.js} +22 -22
  78. package/dist/assets/{WorkflowExecutionsPreview-CPGOOAq2.css → WorkflowExecutionsPreview-CHu6M3Dh.css} +22 -22
  79. package/dist/assets/{WorkflowExecutionsView-IUjVjxU9.js → WorkflowExecutionsView-DmN-exp3.js} +6 -7
  80. package/dist/assets/{WorkflowHistory-BqKSxr_5.js → WorkflowHistory-CdEr7dbB.js} +3 -3
  81. package/dist/assets/{WorkflowOnboardingView-Bs0Rmm6I.js → WorkflowOnboardingView-D45YjFmk.js} +1 -1
  82. package/dist/assets/{WorkflowPreview-1jsK9hpV.js → WorkflowPreview-x0_AdULu.js} +1 -1
  83. package/dist/assets/{WorkflowsView-MzPw02jI.js → WorkflowsView-BhcJ-MjE.js} +329 -79
  84. package/dist/assets/{WorkflowsView-Sg6GR5kC.css → WorkflowsView-r9qJOUEb.css} +22 -15
  85. package/dist/assets/{easyAiWorkflowUtils-DlyLBhIZ.js → easyAiWorkflowUtils-NXaV8dgZ.js} +5 -5
  86. package/dist/assets/{global-link-actions-DvwtxSrW.js → global-link-actions-DgZH3fz2.js} +1 -1
  87. package/dist/assets/{import-curl-CbxpR02g.js → import-curl-DUv4B2nO.js} +1 -1
  88. package/dist/assets/{index-CyVlLoqB.js → index-CDluwnbb.js} +2656 -2132
  89. package/dist/assets/{index-74EeM2i2.css → index-CgXKy7t-.css} +1208 -1185
  90. package/dist/assets/{index-tzkIB4Tg.js → index-DAyhXitv.js} +1 -1
  91. package/dist/assets/{pickBy-DI3cF803.js → pickBy-D-hOoXP_.js} +1 -1
  92. package/dist/assets/{pushConnection.store-BhUCpqAg.js → pushConnection.store-Dl_VgTY2.js} +1 -1
  93. package/dist/assets/{templateActions-BnGO7zdc.js → templateActions-B4AFVixD.js} +1 -1
  94. package/dist/assets/{useBeforeUnload-DtKxjKeS.js → useBeforeUnload-DS-CCd-3.js} +1 -1
  95. package/dist/assets/{useCanvasMapping-CI4ehFWu.css → useCanvasMapping-CJcAsQmx.css} +47 -47
  96. package/dist/assets/{useCanvasMapping-BCP7UO9p.js → useCanvasMapping-DnPGwCm3.js} +53 -54
  97. package/dist/assets/{useCanvasOperations-Ctquo5LL.js → useCanvasOperations-CY1OrN2X.js} +453 -183
  98. package/dist/assets/useClearExecutionButtonVisible-CjX9PqMR.js +23 -0
  99. package/dist/assets/{useExecutionDebugging-C0TAc9fj.js → useExecutionDebugging-BN-lQ24h.js} +1 -1
  100. package/dist/assets/{useExecutionHelpers-BQHL3OpL.js → useExecutionHelpers-wN0DRQB-.js} +1 -1
  101. package/dist/assets/{useImportCurlCommand-IE8oJ9bp.js → useImportCurlCommand-DgTeVIgh.js} +2 -2
  102. package/dist/assets/useOverview-BBgWJdVL.js +161 -0
  103. package/dist/assets/useOverview-DcRuPjLJ.css +232 -0
  104. package/dist/assets/{usePushConnection-DXozzPWi.js → usePushConnection-F1s4Muc0.js} +4 -4
  105. package/dist/assets/{useRunWorkflow-D9JIEr1s.js → useRunWorkflow-RBDuKZVj.js} +12 -12
  106. package/dist/assets/{useTestDefinitionForm-8dJH3v29.js → useTestDefinitionForm-DX1gvhBC.js} +1 -1
  107. package/dist/assets/{useWorkflowActivate-CI3X35ZJ.js → useWorkflowActivate-DsRC3mvG.js} +1 -1
  108. package/dist/index.html +2 -2
  109. package/package.json +1 -1
  110. package/dist/assets/CollectionParameter-DR9e0MGf.js +0 -4
  111. package/dist/assets/open-sans-latin-400-normal-kLvSbl7y.woff +0 -0
  112. package/dist/assets/open-sans-latin-400-normal-sjvN8RAh.woff2 +0 -0
  113. package/dist/assets/open-sans-latin-600-normal-BYc6TgXR.woff2 +0 -0
  114. package/dist/assets/open-sans-latin-600-normal-CJ2UE_uF.woff +0 -0
  115. package/dist/assets/open-sans-latin-700-normal-DMXgkrz3.woff +0 -0
  116. package/dist/assets/open-sans-latin-700-normal-DXyImmHa.woff2 +0 -0
  117. package/dist/assets/usePinnedData-CtRDhd6k.js +0 -274
@@ -0,0 +1,23 @@
1
+ import { U as useRoute, a2 as useSourceControlStore, T as useWorkflowsStore, q as computed, b as useRouter, bu as useNodeTypesStore, bJ as START_NODE_TYPE } from "./index-CDluwnbb.js";
2
+ import { b as useCanvasOperations } from "./useCanvasOperations-CY1OrN2X.js";
3
+ function useClearExecutionButtonVisible() {
4
+ const route = useRoute();
5
+ const sourceControlStore = useSourceControlStore();
6
+ const workflowsStore = useWorkflowsStore();
7
+ const workflowExecutionData = computed(() => workflowsStore.workflowExecutionData);
8
+ const isWorkflowRunning = computed(() => workflowsStore.isWorkflowRunning);
9
+ const isReadOnlyRoute = computed(() => !!route?.meta?.readOnlyCanvas);
10
+ const router = useRouter();
11
+ const { editableWorkflow } = useCanvasOperations({ router });
12
+ const nodeTypesStore = useNodeTypesStore();
13
+ const isReadOnlyEnvironment = computed(() => sourceControlStore.preferences.branchReadOnly);
14
+ const allTriggerNodesDisabled = computed(
15
+ () => editableWorkflow.value.nodes.filter((node) => node.type === START_NODE_TYPE || nodeTypesStore.isTriggerNode(node.type)).every((node) => node.disabled)
16
+ );
17
+ return computed(
18
+ () => !isReadOnlyRoute.value && !isReadOnlyEnvironment.value && !isWorkflowRunning.value && !allTriggerNodesDisabled.value && workflowExecutionData.value
19
+ );
20
+ }
21
+ export {
22
+ useClearExecutionButtonVisible as u
23
+ };
@@ -1,4 +1,4 @@
1
- import { b as useRouter, a as useToast, T as useWorkflowsStore, p as useSettingsStore, L as useUIStore, a7 as usePageRedirectionHelper, q as computed, ab as EnterpriseEditionFeature, c as useI18n, c7 as DEBUG_PAYWALL_MODAL_KEY, aq as h, c8 as sanitizeHtml, ai as useMessage, aj as MODAL_CONFIRM, V as VIEWS, ag as useTelemetry, a0 as useRootStore, c9 as isFullExecutionResponse } from "./index-CyVlLoqB.js";
1
+ import { b as useRouter, a as useToast, T as useWorkflowsStore, p as useSettingsStore, L as useUIStore, a7 as usePageRedirectionHelper, q as computed, ab as EnterpriseEditionFeature, c as useI18n, c9 as DEBUG_PAYWALL_MODAL_KEY, ar as h, ca as sanitizeHtml, aj as useMessage, ak as MODAL_CONFIRM, V as VIEWS, ah as useTelemetry, a0 as useRootStore, cb as isFullExecutionResponse } from "./index-CDluwnbb.js";
2
2
  const useExecutionDebugging = () => {
3
3
  const telemetry = useTelemetry();
4
4
  const router = useRouter();
@@ -1,4 +1,4 @@
1
- import { d$ as dateFormat, b as useRouter, V as VIEWS, ag as useTelemetry, c as useI18n } from "./index-CyVlLoqB.js";
1
+ import { fi as dateFormat, b as useRouter, V as VIEWS, ah as useTelemetry, c as useI18n } from "./index-CDluwnbb.js";
2
2
  const convertToDisplayDateComponents = (fullDate) => {
3
3
  const mask = `d mmm${new Date(fullDate).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "" : ", yyyy"}#HH:MM:ss`;
4
4
  const formattedDate = dateFormat(fullDate, mask);
@@ -1,6 +1,6 @@
1
- import { gJ as require$$0, cb as getDefaultExportFromCjs, a as useToast, m as unref, cC as assert, gK as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, gL as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, gM as get } from "./index-CyVlLoqB.js";
1
+ import { gQ as require$$0, cd as getDefaultExportFromCjs, a as useToast, m as unref, cE as assert, gR as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, gS as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, gT as get } from "./index-CDluwnbb.js";
2
2
  import { c as commonjsRequire } from "./_commonjs-dynamic-modules-TGKdzP3c.js";
3
- import { i as importCurlEventBus } from "./import-curl-CbxpR02g.js";
3
+ import { i as importCurlEventBus } from "./import-curl-DUv4B2nO.js";
4
4
  class CCError extends Error {
5
5
  }
6
6
  const UTF8encoder = new TextEncoder();
@@ -0,0 +1,161 @@
1
+ import { d as defineComponent, $ as useCssModule, q as computed, c as useI18n, h as resolveComponent, i as createElementBlock, f as createCommentVNode, g as openBlock, j as createVNode, e as createBlock, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, n as normalizeClass, F as Fragment, D as renderList, k as createBaseVNode, gx as INSIGHT_IMPACT_TYPES, gy as INSIGHTS_UNIT_IMPACT_MAPPING, _ as _export_sfc, U as useRoute, V as VIEWS, bC as reactive } from "./index-CDluwnbb.js";
2
+ const smartDecimal = (value, decimals = 2) => {
3
+ if (Number.isInteger(value)) {
4
+ return value;
5
+ }
6
+ if (value.toString().split(".")[1].length <= decimals) {
7
+ return value;
8
+ }
9
+ return Number(value.toFixed(decimals));
10
+ };
11
+ const _hoisted_1 = {
12
+ key: 1,
13
+ "data-test-id": "insights-summary-tabs"
14
+ };
15
+ const _hoisted_2 = ["data-test-id"];
16
+ const _hoisted_3 = { href: "#" };
17
+ const _hoisted_4 = { key: 1 };
18
+ const _sfc_main = /* @__PURE__ */ defineComponent({
19
+ __name: "InsightsSummary",
20
+ props: {
21
+ summary: {},
22
+ loading: { type: Boolean }
23
+ },
24
+ setup(__props) {
25
+ const i18n = useI18n();
26
+ const $style = useCssModule();
27
+ const summaryTitles = computed(() => ({
28
+ total: i18n.baseText("insights.banner.title.total"),
29
+ failed: i18n.baseText("insights.banner.title.failed"),
30
+ failureRate: i18n.baseText("insights.banner.title.failureRate"),
31
+ timeSaved: i18n.baseText("insights.banner.title.timeSaved"),
32
+ averageRunTime: i18n.baseText("insights.banner.title.averageRunTime")
33
+ }));
34
+ const getSign = (n) => n > 0 ? "+" : void 0;
35
+ const getImpactStyle = (id, value) => {
36
+ const impact = INSIGHTS_UNIT_IMPACT_MAPPING[id];
37
+ if (value === 0 || impact === INSIGHT_IMPACT_TYPES.NEUTRAL) {
38
+ return $style.neutral;
39
+ }
40
+ if (impact === INSIGHT_IMPACT_TYPES.POSITIVE) {
41
+ return value > 0 ? $style.positive : $style.negative;
42
+ }
43
+ if (impact === INSIGHT_IMPACT_TYPES.NEGATIVE) {
44
+ return value < 0 ? $style.positive : $style.negative;
45
+ }
46
+ return $style.neutral;
47
+ };
48
+ return (_ctx, _cache) => {
49
+ const _component_N8nHeading = resolveComponent("N8nHeading");
50
+ const _component_N8nLoading = resolveComponent("N8nLoading");
51
+ const _component_i18n_t = resolveComponent("i18n-t");
52
+ const _component_N8nIcon = resolveComponent("N8nIcon");
53
+ const _component_N8nTooltip = resolveComponent("N8nTooltip");
54
+ return _ctx.summary.length ? (openBlock(), createElementBlock("div", {
55
+ key: 0,
56
+ class: normalizeClass(unref($style).insights)
57
+ }, [
58
+ createVNode(_component_N8nHeading, {
59
+ bold: "",
60
+ tag: "h3",
61
+ size: "small",
62
+ color: "text-light",
63
+ class: "mb-xs"
64
+ }, {
65
+ default: withCtx(() => [
66
+ createTextVNode(toDisplayString(unref(i18n).baseText("insights.banner.title", { interpolate: { count: 7 } })), 1)
67
+ ]),
68
+ _: 1
69
+ }),
70
+ _ctx.loading ? (openBlock(), createBlock(_component_N8nLoading, {
71
+ key: 0,
72
+ class: normalizeClass(unref($style).loading),
73
+ cols: 5
74
+ }, null, 8, ["class"])) : (openBlock(), createElementBlock("ul", _hoisted_1, [
75
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.summary, ({ id, value, deviation, unit }) => {
76
+ return openBlock(), createElementBlock("li", {
77
+ key: id,
78
+ "data-test-id": `insights-summary-tab-${id}`
79
+ }, [
80
+ createBaseVNode("p", null, [
81
+ createBaseVNode("strong", null, toDisplayString(summaryTitles.value[id]), 1),
82
+ value === 0 && id === "timeSaved" ? (openBlock(), createElementBlock("span", {
83
+ key: 0,
84
+ class: normalizeClass(unref($style).empty)
85
+ }, [
86
+ _cache[0] || (_cache[0] = createBaseVNode("em", null, "--", -1)),
87
+ createBaseVNode("small", null, [
88
+ createVNode(_component_N8nTooltip, { placement: "bottom" }, {
89
+ content: withCtx(() => [
90
+ createVNode(_component_i18n_t, { keypath: "insights.banner.timeSaved.tooltip" }, {
91
+ link: withCtx(() => [
92
+ createBaseVNode("a", _hoisted_3, toDisplayString(unref(i18n).baseText("insights.banner.timeSaved.tooltip.link.text")), 1)
93
+ ]),
94
+ _: 1
95
+ })
96
+ ]),
97
+ default: withCtx(() => [
98
+ createVNode(_component_N8nIcon, {
99
+ class: normalizeClass(unref($style).icon),
100
+ icon: "info-circle"
101
+ }, null, 8, ["class"])
102
+ ]),
103
+ _: 1
104
+ })
105
+ ])
106
+ ], 2)) : (openBlock(), createElementBlock("span", _hoisted_4, [
107
+ createBaseVNode("em", null, [
108
+ createTextVNode(toDisplayString(unref(smartDecimal)(value)) + " ", 1),
109
+ createBaseVNode("i", null, toDisplayString(unit), 1)
110
+ ]),
111
+ createBaseVNode("small", {
112
+ class: normalizeClass(getImpactStyle(id, deviation))
113
+ }, [
114
+ createVNode(_component_N8nIcon, {
115
+ class: normalizeClass([unref($style).icon, getImpactStyle(id, deviation)]),
116
+ icon: deviation === 0 ? "caret-right" : deviation > 0 ? "caret-up" : "caret-down"
117
+ }, null, 8, ["class", "icon"]),
118
+ createTextVNode(" " + toDisplayString(getSign(deviation)) + toDisplayString(unref(smartDecimal)(deviation)), 1)
119
+ ], 2)
120
+ ]))
121
+ ])
122
+ ], 8, _hoisted_2);
123
+ }), 128))
124
+ ]))
125
+ ], 2)) : createCommentVNode("", true);
126
+ };
127
+ }
128
+ });
129
+ const insights = "_insights_1r55j_123";
130
+ const empty = "_empty_1r55j_165";
131
+ const icon = "_icon_1r55j_173";
132
+ const positive = "_positive_1r55j_206";
133
+ const negative = "_negative_1r55j_210";
134
+ const neutral = "_neutral_1r55j_214";
135
+ const loading = "_loading_1r55j_229";
136
+ const style0 = {
137
+ insights,
138
+ empty,
139
+ icon,
140
+ positive,
141
+ negative,
142
+ neutral,
143
+ loading
144
+ };
145
+ const cssModules = {
146
+ "$style": style0
147
+ };
148
+ const InsightsSummary = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
149
+ const useOverview = () => {
150
+ const route = useRoute();
151
+ const isOverviewSubPage = computed(
152
+ () => route.name === VIEWS.WORKFLOWS || route.name === VIEWS.HOMEPAGE || route.name === VIEWS.CREDENTIALS || route.name === VIEWS.EXECUTIONS || route.name === VIEWS.FOLDERS
153
+ );
154
+ return reactive({
155
+ isOverviewSubPage
156
+ });
157
+ };
158
+ export {
159
+ InsightsSummary as I,
160
+ useOverview as u
161
+ };
@@ -0,0 +1,232 @@
1
+ /* BEM support Func
2
+ -------------------------- */
3
+ /* Transition
4
+ -------------------------- */
5
+ /* Color
6
+ -------------------------- */
7
+ /* Link
8
+ -------------------------- */
9
+ /* Border
10
+ -------------------------- */
11
+ /* Outline
12
+ -------------------------- */
13
+ /* Box shadow
14
+ -------------------------- */
15
+ /* Fill
16
+ -------------------------- */
17
+ /* Typography
18
+ -------------------------- */
19
+ /* z-index
20
+ -------------------------- */
21
+ /* Disable base
22
+ -------------------------- */
23
+ /* Icon
24
+ -------------------------- */
25
+ /* Checkbox
26
+ -------------------------- */
27
+ /* Radio
28
+ -------------------------- */
29
+ /* Select
30
+ -------------------------- */
31
+ /* Alert
32
+ -------------------------- */
33
+ /* MessageBox
34
+ -------------------------- */
35
+ /* Message
36
+ -------------------------- */
37
+ /* Notification
38
+ -------------------------- */
39
+ /* Input
40
+ -------------------------- */
41
+ /* Cascader
42
+ -------------------------- */
43
+ /* Group
44
+ -------------------------- */
45
+ /* Tab
46
+ -------------------------- */
47
+ /* Button
48
+ -------------------------- */
49
+ /* cascader
50
+ -------------------------- */
51
+ /* Switch
52
+ -------------------------- */
53
+ /* Dialog
54
+ -------------------------- */
55
+ /* Table
56
+ -------------------------- */
57
+ /* Pagination
58
+ -------------------------- */
59
+ /* Popup
60
+ -------------------------- */
61
+ /* Popover
62
+ -------------------------- */
63
+ /* Tooltip
64
+ -------------------------- */
65
+ /* Tag
66
+ -------------------------- */
67
+ /* Tree
68
+ -------------------------- */
69
+ /* Dropdown
70
+ -------------------------- */
71
+ /* Badge
72
+ -------------------------- */
73
+ /* Card
74
+ --------------------------*/
75
+ /* Slider
76
+ --------------------------*/
77
+ /* Steps
78
+ --------------------------*/
79
+ /* Menu
80
+ --------------------------*/
81
+ /* Rate
82
+ --------------------------*/
83
+ /* DatePicker
84
+ --------------------------*/
85
+ /* Loading
86
+ --------------------------*/
87
+ /* Scrollbar
88
+ --------------------------*/
89
+ /* Carousel
90
+ --------------------------*/
91
+ /* Collapse
92
+ --------------------------*/
93
+ /* Transfer
94
+ --------------------------*/
95
+ /* Header
96
+ --------------------------*/
97
+ /* Footer
98
+ --------------------------*/
99
+ /* Main
100
+ --------------------------*/
101
+ /* Timeline
102
+ --------------------------*/
103
+ /* Backtop
104
+ --------------------------*/
105
+ /* Link
106
+ --------------------------*/
107
+ /* Calendar
108
+ --------------------------*/
109
+ /* Form
110
+ -------------------------- */
111
+ /* Avatar
112
+ --------------------------*/
113
+ /* Break-point
114
+ --------------------------*/
115
+ /* Break-points
116
+ -------------------------- */
117
+ /* Scrollbar
118
+ -------------------------- */
119
+ /* Placeholder
120
+ -------------------------- */
121
+ /* BEM
122
+ -------------------------- */
123
+ ._insights_1r55j_123 {
124
+ display: grid;
125
+ grid-template-rows: auto 1fr;
126
+ padding: var(--spacing-xs) 0 var(--spacing-2xl);
127
+ }
128
+ ._insights_1r55j_123 ul {
129
+ display: flex;
130
+ height: 91px;
131
+ align-items: stretch;
132
+ justify-content: flex-start;
133
+ border: var(--border-width-base) var(--border-style-base) var(--color-foreground-base);
134
+ border-radius: 6px;
135
+ list-style: none;
136
+ background-color: var(--color-background-xlight);
137
+ overflow-x: auto;
138
+ }
139
+ ._insights_1r55j_123 ul li {
140
+ display: flex;
141
+ justify-content: flex-start;
142
+ align-items: center;
143
+ flex: 1;
144
+ border-left: var(--border-width-base) var(--border-style-base) var(--color-foreground-base);
145
+ padding: 0 var(--spacing-xl) 0 var(--spacing-l);
146
+ }
147
+ ._insights_1r55j_123 ul li:first-child {
148
+ border-left: 0;
149
+ }
150
+ ._insights_1r55j_123 ul p {
151
+ display: grid;
152
+ }
153
+ ._insights_1r55j_123 ul p strong {
154
+ color: var(--color-text-dark);
155
+ font-size: var(--font-size-s);
156
+ font-weight: 400;
157
+ white-space: nowrap;
158
+ margin-bottom: var(--spacing-2xs);
159
+ }
160
+ ._insights_1r55j_123 ul p span {
161
+ display: flex;
162
+ align-items: baseline;
163
+ gap: var(--spacing-xs);
164
+ }
165
+ ._insights_1r55j_123 ul p span._empty_1r55j_165 em {
166
+ color: var(--color-text-lighter);
167
+ }
168
+ ._insights_1r55j_123 ul p span._empty_1r55j_165 small {
169
+ padding: 0;
170
+ height: 21px;
171
+ font-weight: var(--font-weight-bold);
172
+ }
173
+ ._insights_1r55j_123 ul p span._empty_1r55j_165 small ._icon_1r55j_173 {
174
+ height: 20px;
175
+ width: 8px;
176
+ top: -3px;
177
+ transform: translateY(0);
178
+ color: var(--color-text-light);
179
+ }
180
+ ._insights_1r55j_123 ul p em {
181
+ display: flex;
182
+ align-items: baseline;
183
+ justify-content: flex-start;
184
+ color: var(--color-text-dark);
185
+ font-size: var(--font-size-2xl);
186
+ line-height: 100%;
187
+ font-weight: 600;
188
+ font-style: normal;
189
+ gap: var(--spacing-5xs);
190
+ }
191
+ ._insights_1r55j_123 ul p em i {
192
+ color: var(--color-text-light);
193
+ font-size: 22px;
194
+ font-style: normal;
195
+ }
196
+ ._insights_1r55j_123 ul p small {
197
+ position: relative;
198
+ display: flex;
199
+ align-items: center;
200
+ padding: 0 0 0 18px;
201
+ font-size: 14px;
202
+ font-weight: 400;
203
+ white-space: nowrap;
204
+ }
205
+ ._positive_1r55j_206 {
206
+ color: var(--color-success);
207
+ }
208
+ ._negative_1r55j_210 {
209
+ color: var(--color-danger);
210
+ }
211
+ ._neutral_1r55j_214 {
212
+ color: var(--color-text-light);
213
+ }
214
+ ._neutral_1r55j_214 ._icon_1r55j_173 {
215
+ font-size: 23px;
216
+ }
217
+ ._icon_1r55j_173 {
218
+ position: absolute;
219
+ font-size: 32px;
220
+ left: 0;
221
+ top: 50%;
222
+ transform: translateY(-50%);
223
+ }
224
+ ._loading_1r55j_229 {
225
+ display: flex;
226
+ align-self: stretch;
227
+ align-items: stretch;
228
+ }
229
+ ._loading_1r55j_229 > div {
230
+ margin: 0;
231
+ height: auto;
232
+ }
@@ -1,7 +1,7 @@
1
- import { dh as makeRestApiRequest, S as defineStore, a0 as useRootStore, d as defineComponent, b_ as resolveDirective, i as createElementBlock, g as openBlock, aA as withDirectives, k as createBaseVNode, t as toDisplayString, m as unref, c as useI18n, a6 as useWorkflowHelpers, bt as useNodeHelpers, a as useToast, bz as useCredentialsStore, bs as useNodeTypesStore, p as useSettingsStore, L as useUIStore, T as useWorkflowsStore, di as useAssistantStore, au as usePostHog, r as ref, dj as clearPopupWindowState, bO as AI_CREDITS_EXPERIMENT, ag as useTelemetry, dk as parse, dl as hasTrimmedItem, dm as codeNodeEditorEventBus, ak as WORKFLOW_SETTINGS_MODAL_KEY, dn as generateNodesGraph, aq as h, dp as getTriggerNodeServiceName, dq as hasTrimmedData, aP as useExternalHooks, dr as useSchemaPreviewStore } from "./index-CyVlLoqB.js";
2
- import { g as globalLinkActionsEventBus } from "./global-link-actions-DvwtxSrW.js";
3
- import { u as usePushConnectionStore } from "./pushConnection.store-BhUCpqAg.js";
4
- import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-DlyLBhIZ.js";
1
+ import { dj as makeRestApiRequest, S as defineStore, a0 as useRootStore, d as defineComponent, c2 as resolveDirective, i as createElementBlock, g as openBlock, aB as withDirectives, k as createBaseVNode, t as toDisplayString, m as unref, c as useI18n, a6 as useWorkflowHelpers, bv as useNodeHelpers, a as useToast, bD as useCredentialsStore, bu as useNodeTypesStore, p as useSettingsStore, L as useUIStore, T as useWorkflowsStore, dk as useAssistantStore, av as usePostHog, r as ref, dl as clearPopupWindowState, bS as AI_CREDITS_EXPERIMENT, ah as useTelemetry, dm as parse, dn as hasTrimmedItem, dp as codeNodeEditorEventBus, al as WORKFLOW_SETTINGS_MODAL_KEY, dq as generateNodesGraph, ar as h, dr as getTriggerNodeServiceName, ds as hasTrimmedData, aQ as useExternalHooks, dt as useSchemaPreviewStore } from "./index-CDluwnbb.js";
2
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-DgZH3fz2.js";
3
+ import { u as usePushConnectionStore } from "./pushConnection.store-Dl_VgTY2.js";
4
+ import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-NXaV8dgZ.js";
5
5
  const GET_STATUS_ENDPOINT = "/orchestration/worker/status";
6
6
  const sendGetWorkerStatus = async (context) => {
7
7
  await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
@@ -1,5 +1,5 @@
1
- import { bC as useHistoryStore, T as useWorkflowsStore, p as useSettingsStore, q as computed, bg as NodeConnectionType, dz as CanvasNodeDirtiness, dA as BulkCommand, dB as AddConnectionCommand, dC as RemoveConnectionCommand, dD as RemoveNodeCommand, dE as AddNodeCommand, dF as EnableNodeToggleCommand, bt as useNodeHelpers, a6 as useWorkflowHelpers, a as useToast, a0 as useRootStore, L as useUIStore, at as useExecutionsStore, c as useI18n, bh as CHAT_TRIGGER_NODE_TYPE, bj as get, dG as SINGLE_WEBHOOK_TRIGGERS, dH as displayForm, aP as useExternalHooks, dn as generateNodesGraph, ag as useTelemetry, dI as isEmpty } from "./index-CyVlLoqB.js";
2
- import { u as usePushConnectionStore } from "./pushConnection.store-BhUCpqAg.js";
1
+ import { bG as useHistoryStore, T as useWorkflowsStore, p as useSettingsStore, q as computed, be as NodeConnectionTypes, dB as CanvasNodeDirtiness, dC as BulkCommand, dD as AddConnectionCommand, dE as RemoveConnectionCommand, dF as RemoveNodeCommand, dG as AddNodeCommand, dH as EnableNodeToggleCommand, bv as useNodeHelpers, a6 as useWorkflowHelpers, a as useToast, a0 as useRootStore, L as useUIStore, au as useExecutionsStore, c as useI18n, bt as CHAT_TRIGGER_NODE_TYPE, bf as get, dI as SINGLE_WEBHOOK_TRIGGERS, dJ as displayForm, aQ as useExternalHooks, dq as generateNodesGraph, ah as useTelemetry, dK as isEmpty } from "./index-CDluwnbb.js";
2
+ import { u as usePushConnectionStore } from "./pushConnection.store-Dl_VgTY2.js";
3
3
  function shouldCommandMarkDirty(command, nodeName, siblingCommands, getIncomingConnections, getOutgoingConnectors) {
4
4
  if (command instanceof BulkCommand) {
5
5
  return command.commands.some(
@@ -30,7 +30,7 @@ function shouldCommandMarkDirty(command, nodeName, siblingCommands, getIncomingC
30
30
  }
31
31
  if (command instanceof EnableNodeToggleCommand) {
32
32
  return incomingNodes.includes(command.nodeName) && (command.newState || Object.keys(getOutgoingConnectors(command.nodeName)).some(
33
- (type) => type !== NodeConnectionType.Main
33
+ (type) => type !== NodeConnectionTypes.Main
34
34
  ));
35
35
  }
36
36
  return false;
@@ -42,7 +42,7 @@ function findLoop(nodeName, visited, getIncomingConnections) {
42
42
  }
43
43
  const newVisited = [...visited, nodeName];
44
44
  for (const [type, typeConnections] of Object.entries(getIncomingConnections(nodeName))) {
45
- if (type !== NodeConnectionType.Main) {
45
+ if (type !== NodeConnectionTypes.Main) {
46
46
  continue;
47
47
  }
48
48
  for (const connections of typeConnections) {
@@ -61,7 +61,7 @@ function useNodeDirtiness() {
61
61
  const workflowsStore = useWorkflowsStore();
62
62
  const settingsStore = useSettingsStore();
63
63
  function getParentSubNodes(nodeName) {
64
- return Object.entries(workflowsStore.incomingConnectionsByNodeName(nodeName)).filter(([type]) => type !== NodeConnectionType.Main).flatMap(([, typeConnections]) => typeConnections.flat().filter((conn) => conn !== null));
64
+ return Object.entries(workflowsStore.incomingConnectionsByNodeName(nodeName)).filter(([type]) => type !== NodeConnectionTypes.Main).flatMap(([, typeConnections]) => typeConnections.flat().filter((conn) => conn !== null));
65
65
  }
66
66
  function getDirtinessByParametersUpdate(nodeName, after) {
67
67
  if ((workflowsStore.getParametersLastUpdate(nodeName) ?? 0) > after) {
@@ -108,7 +108,7 @@ function useNodeDirtiness() {
108
108
  for (const [type, typeConnections] of Object.entries(
109
109
  workflowsStore.outgoingConnectionsByNodeName(nodeName)
110
110
  )) {
111
- if (type !== NodeConnectionType.Main) {
111
+ if (type !== NodeConnectionTypes.Main) {
112
112
  continue;
113
113
  }
114
114
  for (const connections of typeConnections) {
@@ -235,7 +235,7 @@ function useRunWorkflow(useRunWorkflowOpts) {
235
235
  if (options.destinationNode !== void 0) {
236
236
  directParentNodes = workflow.getParentNodes(
237
237
  options.destinationNode,
238
- NodeConnectionType.Main,
238
+ NodeConnectionTypes.Main,
239
239
  -1
240
240
  );
241
241
  }
@@ -260,7 +260,7 @@ function useRunWorkflow(useRunWorkflowOpts) {
260
260
  startNodeNames.push(options.destinationNode);
261
261
  } else if (options.triggerNode && options.nodeData) {
262
262
  startNodeNames.push(
263
- ...workflow.getChildNodes(options.triggerNode, NodeConnectionType.Main, 1)
263
+ ...workflow.getChildNodes(options.triggerNode, NodeConnectionTypes.Main, 1)
264
264
  );
265
265
  newRunData = { [options.triggerNode]: [options.nodeData] };
266
266
  executedNode = options.triggerNode;
@@ -302,14 +302,14 @@ function useRunWorkflow(useRunWorkflowOpts) {
302
302
  const startNodes = startNodeNames.map((name) => {
303
303
  let sourceData = get(runData, [name, 0, "source", 0], null);
304
304
  if (sourceData === null) {
305
- const parentNodes = workflow.getParentNodes(name, NodeConnectionType.Main, 1);
305
+ const parentNodes = workflow.getParentNodes(name, NodeConnectionTypes.Main, 1);
306
306
  const executeData = workflowHelpers.executeData(
307
307
  parentNodes,
308
308
  name,
309
- NodeConnectionType.Main,
309
+ NodeConnectionTypes.Main,
310
310
  0
311
311
  );
312
- sourceData = get(executeData, ["source", NodeConnectionType.Main, 0], null);
312
+ sourceData = get(executeData, ["source", NodeConnectionTypes.Main, 0], null);
313
313
  }
314
314
  return {
315
315
  name,
@@ -424,7 +424,7 @@ function useRunWorkflow(useRunWorkflowOpts) {
424
424
  if (runData !== null && Object.keys(runData).length !== 0) {
425
425
  newRunData = {};
426
426
  for (const directParentNode of directParentNodes) {
427
- const parentNodes = workflow.getParentNodes(directParentNode, NodeConnectionType.Main);
427
+ const parentNodes = workflow.getParentNodes(directParentNode, NodeConnectionTypes.Main);
428
428
  if (workflow.nodes[directParentNode].disabled) continue;
429
429
  parentNodes.push(directParentNode);
430
430
  for (const parentNode of parentNodes) {
@@ -1,4 +1,4 @@
1
- import { b$ as useTestDefinitionStore, r as ref, q as computed } from "./index-CyVlLoqB.js";
1
+ import { c3 as useTestDefinitionStore, r as ref, q as computed } from "./index-CDluwnbb.js";
2
2
  function useTestDefinitionForm() {
3
3
  const evaluationsStore = useTestDefinitionStore();
4
4
  const state = ref({
@@ -1,4 +1,4 @@
1
- import { r as ref, b as useRouter, a6 as useWorkflowHelpers, T as useWorkflowsStore, L as useUIStore, a as useToast, a4 as useNpsSurveyStore, W as PLACEHOLDER_EMPTY_WORKFLOW_ID, ag as useTelemetry, aP as useExternalHooks, c as useI18n, aJ as useStorage, dx as LOCAL_STORAGE_ACTIVATION_FLAG, dy as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-CyVlLoqB.js";
1
+ import { r as ref, b as useRouter, a6 as useWorkflowHelpers, T as useWorkflowsStore, L as useUIStore, a as useToast, a4 as useNpsSurveyStore, W as PLACEHOLDER_EMPTY_WORKFLOW_ID, ah as useTelemetry, aQ as useExternalHooks, c as useI18n, aK as useStorage, dz as LOCAL_STORAGE_ACTIVATION_FLAG, dA as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-CDluwnbb.js";
2
2
  function useWorkflowActivate() {
3
3
  const updatingWorkflowActivation = ref(false);
4
4
  const router = useRouter();
package/dist/index.html CHANGED
@@ -16,8 +16,8 @@
16
16
  <script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag onFeatureFlags reloadFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[])</script>
17
17
 
18
18
  <title>n8n.io - Workflow Automation</title>
19
- <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-CyVlLoqB.js"></script>
20
- <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-74EeM2i2.css">
19
+ <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-CDluwnbb.js"></script>
20
+ <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-CgXKy7t-.css">
21
21
  </head>
22
22
  <body>
23
23
  <noscript>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-editor-ui",
3
- "version": "1.84.0",
3
+ "version": "1.85.0",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -1,4 +0,0 @@
1
- import { gI as _sfc_main } from "./index-CyVlLoqB.js";
2
- export {
3
- _sfc_main as default
4
- };