n8n-editor-ui 1.103.1 → 1.104.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 (127) hide show
  1. package/dist/assets/{ActionDropdown-BhU4vCrE.js → ActionDropdown-DkHCqhLi.js} +1 -1
  2. package/dist/assets/{AnimatedSpinner-Du5eXSIY.js → AnimatedSpinner-D6j3zAN7.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DEQTwSbx.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CeptN1qB.js} +1 -1
  4. package/dist/assets/{AuthView-BJ-YTYTN.js → AuthView-DdzGr3if.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-B-OkU_yr.js → ChangePasswordView-CLbLuldY.js} +3 -3
  6. package/dist/assets/CollectionParameter-C3JIvBsy.js +4 -0
  7. package/dist/assets/ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-DwQ0BmLY.js +44 -0
  8. package/dist/assets/{CredentialsView-BjUZvEdd.js → CredentialsView-Cbm8N2D-.js} +8 -8
  9. package/dist/assets/{DemoFooter-9WRPL1Nd.js → DemoFooter-DlHqx3Wb.js} +9 -8
  10. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-D3Zaxt4S.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-Dymz7mm-.js} +1 -1
  11. package/dist/assets/{EntityNotFound-DvAk0XOf.js → EntityNotFound-CmBDOsai.js} +1 -1
  12. package/dist/assets/{EntityUnAuthorised-BTLaJBAA.js → EntityUnAuthorised-CNPmvmZu.js} +1 -1
  13. package/dist/assets/{ErrorView-KDDRlAEN.js → ErrorView-BqgIhqko.js} +1 -1
  14. package/dist/assets/{EvaluationsRootView-BViIGqmh.js → EvaluationsRootView-B6RDbMu9.js} +5 -3
  15. package/dist/assets/{EvaluationsView-6l_Invxt.css → EvaluationsView-BTyYfInB.css} +6 -6
  16. package/dist/assets/{EvaluationsView-BY0HmUSo.js → EvaluationsView-nr07_JFX.js} +53 -40
  17. package/dist/assets/{ExecutionsTime-DkME6I3E.css → ExecutionsTime-Bo7IOE5K.css} +6 -6
  18. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-Dz1TldYs.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-Ci1SWv1r.js} +15 -12
  19. package/dist/assets/{ExecutionsView-z5GL4TFM.js → ExecutionsView-L8QB4qb-.js} +21 -18
  20. package/dist/assets/{FileSaver.min-BRpMoNCX.js → FileSaver.min-CiFUM_59.js} +1 -1
  21. package/dist/assets/{FixedCollectionParameter-BW_7bc6a.js → FixedCollectionParameter-BMsoLNRT.js} +1 -1
  22. package/dist/assets/{ForgotMyPasswordView-C3yPX8Sm.js → ForgotMyPasswordView-BYKQXHHe.js} +3 -3
  23. package/dist/assets/{InfoAccordion-B3ebdljQ.js → InfoAccordion-DN17_QNh.js} +1 -1
  24. package/dist/assets/{InsightsChartAverageRuntime-B07vNUKi.js → InsightsChartAverageRuntime-DX6MWomC.js} +5 -4
  25. package/dist/assets/{InsightsChartFailed-vwVIlrMM.js → InsightsChartFailed-D1ITW7ip.js} +5 -4
  26. package/dist/assets/{InsightsChartFailureRate-3R9NR__K.js → InsightsChartFailureRate-DsoCFhrx.js} +5 -4
  27. package/dist/assets/{InsightsChartTimeSaved-0XAZRsQL.js → InsightsChartTimeSaved-Cwb0-EZ1.js} +5 -4
  28. package/dist/assets/{InsightsChartTotal-QtHpPQPx.js → InsightsChartTotal-B-SjjDG4.js} +5 -4
  29. package/dist/assets/{InsightsDashboard-CXbI-Jyg.css → InsightsDashboard-C27Avzrv.css} +2 -2
  30. package/dist/assets/{InsightsDashboard-jAR8co6U.js → InsightsDashboard-DEaMMGfn.js} +19 -19
  31. package/dist/assets/{InsightsPaywall-CqlSj87d.js → InsightsPaywall-BsiLaxNd.js} +3 -3
  32. package/dist/assets/{InsightsSummary-1EyHgtD2.js → InsightsSummary-hBcY77J_.js} +9 -4
  33. package/dist/assets/{InsightsTableWorkflows-RGpSnp7n.css → InsightsTableWorkflows-BTHSCwX8.css} +27 -3
  34. package/dist/assets/{InsightsTableWorkflows-CMfER3Lz.js → InsightsTableWorkflows-D9vFPmUm.js} +80 -26
  35. package/dist/assets/{Logo-BAbynr3J.js → Logo-D-nqGbZ-.js} +1 -1
  36. package/dist/assets/{LogsPanel-C4P2jfja.js → LogsPanel-D0QGW50a.js} +16 -11
  37. package/dist/assets/{LogsPanel-Bvy4ANV7.css → LogsPanel-D0xdq4fV.css} +21 -21
  38. package/dist/assets/{MainHeader-2VAdoAN3.js → MainHeader-QpSmh7DV.js} +17 -16
  39. package/dist/assets/{MainHeader-DYYEm7nF.css → MainHeader-qSHM1Rvp.css} +12 -12
  40. package/dist/assets/{MainSidebar-CaLHZgDB.css → MainSidebar-D74VZmM5.css} +7 -8
  41. package/dist/assets/{MainSidebar-ChT_fvtq.js → MainSidebar-Dndr9Vcx.js} +26 -25
  42. package/dist/assets/{N8nDataTableServer-CUJVgPuN.js → N8nDataTableServer-B4Gq_Urn.js} +20 -10
  43. package/dist/assets/{NodeCreation-B0_VqZl0.js → NodeCreation-CRGHu2mV.js} +11 -9
  44. package/dist/assets/{NodeCreator-Dudc-sld.js → NodeCreator-BvleRmX-.js} +114 -197
  45. package/dist/assets/{NodeCreator-DWE25utr.css → NodeCreator-CkvY2niF.css} +0 -128
  46. package/dist/assets/{NodeDetailsView-D3jGDk45.js → NodeDetailsView-xvbRzTfv.js} +21 -16
  47. package/dist/assets/{NodeDetailsViewV2-B0iyvHRQ.js → NodeDetailsViewV2-CBY4UJcE.js} +21 -16
  48. package/dist/assets/{NodeView-CX3GlUP1.js → NodeView-Dm74W6kN.js} +2068 -746
  49. package/dist/assets/{NodeView-hst6fesm.css → NodeView-G2qfXaOy.css} +755 -71
  50. package/dist/assets/{ProjectHeader-CBBQ32Nc.js → ProjectHeader-0NxiEwQl.js} +2 -2
  51. package/dist/assets/{ProjectSettings-D7CCWy0v.js → ProjectSettings-ClM6Y9uS.js} +7 -5
  52. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-aTaPuBRW.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-D5JeFl_d.js} +1 -1
  53. package/dist/assets/{ResourcesListLayout-CR6jD0wL.js → ResourcesListLayout-BRro9C-1.js} +3 -3
  54. package/dist/assets/{RunDataJson-PZfvyEtF.js → RunDataJson-12Py20Rs.js} +6 -7
  55. package/dist/assets/{RunDataJsonActions-BmrxonyU.js → RunDataJsonActions-BGl8YYU0.js} +1 -1
  56. package/dist/assets/{RunDataParsedAiContent-b0irqoyM.js → RunDataParsedAiContent-DYz5OPxJ.js} +2 -2
  57. package/dist/assets/{RunDataSearch-DS17rPDS.js → RunDataSearch-NmwtxOjZ.js} +1 -1
  58. package/dist/assets/{RunDataTable-DgBV9mGl.js → RunDataTable-DJu8Ut0r.js} +17 -17
  59. package/dist/assets/{SamlOnboarding-COuXHYGq.js → SamlOnboarding-B5vqtns9.js} +3 -3
  60. package/dist/assets/{SettingsApiView-Bjmx5RKa.js → SettingsApiView-DmOvPlm6.js} +5 -4
  61. package/dist/assets/{SettingsCommunityNodesView-JkmQWaRv.js → SettingsCommunityNodesView-DEgzWHlF.js} +4 -3
  62. package/dist/assets/{SettingsExternalSecrets-unJLQHhU.js → SettingsExternalSecrets-4VNCsQKo.js} +5 -3
  63. package/dist/assets/{SettingsLdapView-DvZbXhb2.js → SettingsLdapView-BSQe5yy-.js} +1 -1
  64. package/dist/assets/{SettingsLogStreamingView-DT_BpBbv.js → SettingsLogStreamingView-Y-ve-MUB.js} +1 -1
  65. package/dist/assets/{SettingsPersonalView-D0VCYPEd.js → SettingsPersonalView-DTWO2GIc.js} +1 -1
  66. package/dist/assets/{SettingsSourceControl-CatnTfFf.js → SettingsSourceControl-D14mBzgS.js} +10 -8
  67. package/dist/assets/{SettingsSso-CxWN7WTJ.js → SettingsSso-Beon1K6u.js} +1 -1
  68. package/dist/assets/{SettingsUsageAndPlan-D6TiPwUx.css → SettingsUsageAndPlan-ZZQpCmyQ.css} +3 -3
  69. package/dist/assets/{SettingsUsageAndPlan-BMsLzUeh.js → SettingsUsageAndPlan-hc6EFbHM.js} +15 -10
  70. package/dist/assets/{SettingsUsersView-hbKTH9np.js → SettingsUsersView-CIzwxl6-.js} +105 -44
  71. package/dist/assets/{SettingsUsersView-B81cHl3f.css → SettingsUsersView-RQTdLxyb.css} +11 -7
  72. package/dist/assets/{SettingsView-C3FWxmaD.js → SettingsView-Bv-AL-MH.js} +1 -1
  73. package/dist/assets/{SetupView-DdjBoiKa.js → SetupView-BCKg0AbF.js} +3 -3
  74. package/dist/assets/{SetupWorkflowCredentialsButton-BX8a8Tuq.js → SetupWorkflowCredentialsButton-djsoNbvZ.js} +1 -1
  75. package/dist/assets/{SetupWorkflowFromTemplateView-D9BTRma8.js → SetupWorkflowFromTemplateView-CZhYUSco.js} +3 -3
  76. package/dist/assets/{SigninView-D8iOgwLO.js → SigninView-BPl0jjB0.js} +3 -3
  77. package/dist/assets/{SignoutView-DXt0Sdaq.js → SignoutView-BHPz3HFX.js} +1 -1
  78. package/dist/assets/{SignupView-D6pEOFGY.js → SignupView-Cel8_b46.js} +3 -3
  79. package/dist/assets/{TableBase-6tpR_KYY.js → TableBase-BIT7ArUw.js} +1 -1
  80. package/dist/assets/{Tags-3OtmQZg1.js → Tags-CQIEP_IZ.js} +1 -1
  81. package/dist/assets/{TemplateDetails-Bvec_Syb.js → TemplateDetails-B8u34j2l.js} +2 -2
  82. package/dist/assets/{TemplateList-B0_W0uvx.js → TemplateList-BJSJYiHs.js} +1 -1
  83. package/dist/assets/{TemplatesCollectionView-ChXD8R-e.js → TemplatesCollectionView-BCAAV1n9.js} +6 -6
  84. package/dist/assets/{TemplatesSearchView-B_cMlFlv.js → TemplatesSearchView-CXOrNnyk.js} +3 -3
  85. package/dist/assets/{TemplatesView-CziYbcJq.js → TemplatesView-1HunP4nN.js} +1 -1
  86. package/dist/assets/{TemplatesWorkflowView-Hb4zWBu5.js → TemplatesWorkflowView-0enp4pR7.js} +6 -6
  87. package/dist/assets/{TriggerPanel-BsmQ9v2s.js → TriggerPanel-B-Jt4r3F.js} +133 -981
  88. package/dist/assets/{TriggerPanel-DRpKKKun.css → TriggerPanel-DJv04feX.css} +1 -354
  89. package/dist/assets/{VariablesView-WOzl2JBK.js → VariablesView-mSWZzDyf.js} +5 -5
  90. package/dist/assets/VueMarkdown-Dxf59_T_.js +1570 -0
  91. package/dist/assets/{WorkerView-C0gI6gbP.js → WorkerView-DbqNyqok.js} +6 -5
  92. package/dist/assets/{WorkflowActivator-B96_pQnb.js → WorkflowActivator-C33REd8m.js} +2 -2
  93. package/dist/assets/{WorkflowExecutionsInfoAccordion-DFCLkh95.js → WorkflowExecutionsInfoAccordion-CCe9jbiT.js} +2 -2
  94. package/dist/assets/{WorkflowExecutionsLandingPage-B3aM2Zsk.js → WorkflowExecutionsLandingPage-DMXVsIHS.js} +3 -3
  95. package/dist/assets/{WorkflowExecutionsPreview-D6oMyJtk.js → WorkflowExecutionsPreview-Dit3_l9q.js} +5 -5
  96. package/dist/assets/{WorkflowExecutionsView-BiKDjD1D.js → WorkflowExecutionsView-BwLTPvQ7.js} +8 -8
  97. package/dist/assets/{WorkflowHistory-CgxAK62K.js → WorkflowHistory-BgNzJgze.js} +6 -6
  98. package/dist/assets/{WorkflowOnboardingView-tKN781CD.js → WorkflowOnboardingView-Bnvmd6lJ.js} +1 -1
  99. package/dist/assets/{WorkflowPreview-CDgvgZcr.js → WorkflowPreview-DIDMhnNP.js} +1 -1
  100. package/dist/assets/{WorkflowsView-zxJZKrLk.js → WorkflowsView-DxtULRby.js} +125 -17
  101. package/dist/assets/aiTemplatesStarterCollection.store-DrHWcqtc.js +795 -0
  102. package/dist/assets/{chartjs.utils-EXdTT15A.js → chartjs.utils-DQHNgzzp.js} +2 -2
  103. package/dist/assets/{en-FjyeYndD.js → en-BX7CKkqE.js} +22 -6
  104. package/dist/assets/{global-link-actions-NNtNk_7A.js → global-link-actions-DzXrk-LO.js} +1 -1
  105. package/dist/assets/{import-curl-DcVVML3m.js → import-curl-BrVSOGQW.js} +1 -1
  106. package/dist/assets/{index-C6LoGNAx.css → index-BWpYwmXd.css} +548 -948
  107. package/dist/assets/{index-BEC9W_3K.js → index-BmZCxv8-.js} +48318 -42852
  108. package/dist/assets/{index-CFNl0R-J.js → index-x7t8iCsI.js} +1 -1
  109. package/dist/assets/{pickBy-BXP1QU1C.js → pickBy-oHD63WOf.js} +1 -1
  110. package/dist/assets/{templateActions-DWb-SuCl.js → templateActions-_QLqrCsm.js} +1 -1
  111. package/dist/assets/{typescript.worker-CUj0Nj-S.js → typescript.worker-KwUz68Jx.js} +2499 -157
  112. package/dist/assets/{useBeforeUnload-uH0nIAM3.js → useBeforeUnload-CBmJdmlS.js} +1 -1
  113. package/dist/assets/{useExecutionDebugging-bE32iQtx.js → useExecutionDebugging-B22Oj62X.js} +1 -1
  114. package/dist/assets/{useExecutionHelpers-CXZC4OGe.js → useExecutionHelpers-C6meisqx.js} +1 -1
  115. package/dist/assets/{useImportCurlCommand-Bxi0W0ub.js → useImportCurlCommand-CCUM_iVn.js} +9 -9
  116. package/dist/assets/{RunData-D0dKnadD.css → useKeybindings-2A271Jke.css} +134 -2
  117. package/dist/assets/{RunData-CY2AnQ-5.js → useKeybindings-CcHEvN6i.js} +223 -1644
  118. package/dist/assets/{useProjectPages-BKkEKuqG.js → useProjectPages-CrI3xlbd.js} +1 -1
  119. package/dist/assets/{usePushConnection-TyXi_EKD.js → usePushConnection-EYkv1Xyg.js} +10 -2
  120. package/dist/assets/{useWorkflowActivate-BRxfn_zV.js → useWorkflowActivate-BiorS_mB.js} +1 -1
  121. package/dist/index.html +3 -7
  122. package/index.html +1 -5
  123. package/package.json +1 -1
  124. package/vite.config.mts +23 -3
  125. package/dist/assets/CollectionParameter-BHthTTpD.js +0 -4
  126. package/dist/assets/useKeybindings-BUK7Ngh6.css +0 -133
  127. package/dist/assets/useKeybindings-D5pwrTFM.js +0 -188
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, Q as createEventBus, r as ref, o as onMounted, c4 as resolveDirective, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, e as createBlock, i as createVNode, l as unref, N as N8nIcon, p as N8nText, w as withCtx, k as createTextVNode, t as toDisplayString, J as renderSlot, F as Fragment, y as renderList, $ as N8nTooltip, aS as withDirectives, _ as _export_sfc } from "./index-BEC9W_3K.js";
1
+ import { d as defineComponent, Q as createEventBus, r as ref, o as onMounted, c4 as resolveDirective, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, e as createBlock, i as createVNode, l as unref, N as N8nIcon, p as N8nText, w as withCtx, k as createTextVNode, t as toDisplayString, J as renderSlot, F as Fragment, y as renderList, $ as N8nTooltip, aT as withDirectives, _ as _export_sfc } from "./index-BmZCxv8-.js";
2
2
  const _hoisted_1 = ["onClick"];
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  ...{ name: "N8nInfoAccordion" },
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, x as computed, iL as INSIGHTS_UNIT_MAPPING, iI as GRANULARITY_DATE_FORMAT_MASK, iO as transformInsightsAverageRunTime, c as useI18n, e as createBlock, g as openBlock, l as unref, iM as index } from "./index-BEC9W_3K.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-EXdTT15A.js";
3
- import { s as smartDecimal } from "./InsightsSummary-1EyHgtD2.js";
4
- import { L as Line } from "./index-CFNl0R-J.js";
1
+ import { d as defineComponent, x as computed, iS as INSIGHTS_UNIT_MAPPING, iP as GRANULARITY_DATE_FORMAT_MASK, iV as transformInsightsAverageRunTime, c as useI18n, e as createBlock, g as openBlock, l as unref, iT as index } from "./index-BmZCxv8-.js";
2
+ import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-DQHNgzzp.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-hBcY77J_.js";
4
+ import { L as Line } from "./index-x7t8iCsI.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartAverageRuntime",
7
7
  props: {
@@ -50,6 +50,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
50
50
  });
51
51
  return (_ctx, _cache) => {
52
52
  return openBlock(), createBlock(unref(Line), {
53
+ "data-test-id": "insights-chart-average-runtime",
53
54
  data: chartData.value,
54
55
  options: chartOptions.value,
55
56
  plugins: [unref(index)]
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, hp as useCssVar, x as computed, iI as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref } from "./index-BEC9W_3K.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-EXdTT15A.js";
3
- import { s as smartDecimal } from "./InsightsSummary-1EyHgtD2.js";
4
- import { B as Bar } from "./index-CFNl0R-J.js";
1
+ import { d as defineComponent, hx as useCssVar, x as computed, iP as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref } from "./index-BmZCxv8-.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-DQHNgzzp.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-hBcY77J_.js";
4
+ import { B as Bar } from "./index-x7t8iCsI.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartFailed",
7
7
  props: {
@@ -47,6 +47,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
47
  });
48
48
  return (_ctx, _cache) => {
49
49
  return openBlock(), createBlock(unref(Bar), {
50
+ "data-test-id": "insights-chart-failed",
50
51
  data: chartData.value,
51
52
  options: chartOptions.value
52
53
  }, null, 8, ["data", "options"]);
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, hp as useCssVar, x as computed, iI as GRANULARITY_DATE_FORMAT_MASK, iK as transformInsightsFailureRate, c as useI18n, e as createBlock, g as openBlock, l as unref, iL as INSIGHTS_UNIT_MAPPING } from "./index-BEC9W_3K.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-EXdTT15A.js";
3
- import { s as smartDecimal } from "./InsightsSummary-1EyHgtD2.js";
4
- import { B as Bar } from "./index-CFNl0R-J.js";
1
+ import { d as defineComponent, hx as useCssVar, x as computed, iP as GRANULARITY_DATE_FORMAT_MASK, iR as transformInsightsFailureRate, c as useI18n, e as createBlock, g as openBlock, l as unref, iS as INSIGHTS_UNIT_MAPPING } from "./index-BmZCxv8-.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-DQHNgzzp.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-hBcY77J_.js";
4
+ import { B as Bar } from "./index-x7t8iCsI.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartFailureRate",
7
7
  props: {
@@ -47,6 +47,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
47
  });
48
48
  return (_ctx, _cache) => {
49
49
  return openBlock(), createBlock(unref(Bar), {
50
+ "data-test-id": "insights-chart-failure-rate",
50
51
  data: chartData.value,
51
52
  options: chartOptions.value
52
53
  }, null, 8, ["data", "options"]);
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, x as computed, iI as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref, iM as index, iN as transformInsightsTimeSaved, iL as INSIGHTS_UNIT_MAPPING } from "./index-BEC9W_3K.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-EXdTT15A.js";
3
- import { L as Line } from "./index-CFNl0R-J.js";
4
- import "./InsightsSummary-1EyHgtD2.js";
1
+ import { d as defineComponent, x as computed, iP as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref, iT as index, iU as transformInsightsTimeSaved, iS as INSIGHTS_UNIT_MAPPING } from "./index-BmZCxv8-.js";
2
+ import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-DQHNgzzp.js";
3
+ import { L as Line } from "./index-x7t8iCsI.js";
4
+ import "./InsightsSummary-hBcY77J_.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartTimeSaved",
7
7
  props: {
@@ -60,6 +60,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
60
60
  });
61
61
  return (_ctx, _cache) => {
62
62
  return openBlock(), createBlock(unref(Line), {
63
+ "data-test-id": "insights-chart-time-saved",
63
64
  data: chartData.value,
64
65
  options: chartOptions.value,
65
66
  plugins: [unref(index)]
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, hp as useCssVar, x as computed, iI as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref } from "./index-BEC9W_3K.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-EXdTT15A.js";
3
- import { B as Bar } from "./index-CFNl0R-J.js";
4
- import "./InsightsSummary-1EyHgtD2.js";
1
+ import { d as defineComponent, hx as useCssVar, x as computed, iP as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref } from "./index-BmZCxv8-.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-DQHNgzzp.js";
3
+ import { B as Bar } from "./index-x7t8iCsI.js";
4
+ import "./InsightsSummary-hBcY77J_.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartTotal",
7
7
  props: {
@@ -49,6 +49,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
49
  });
50
50
  return (_ctx, _cache) => {
51
51
  return openBlock(), createBlock(unref(Bar), {
52
+ "data-test-id": "insights-chart-total",
52
53
  data: chartData.value,
53
54
  options: chartOptions.value
54
55
  }, null, 8, ["data", "options"]);
@@ -1,6 +1,6 @@
1
1
 
2
2
  .perks-list {
3
- &[data-v-fe17be35] {
3
+ &[data-v-f995e7d0] {
4
4
  margin: 0;
5
5
  padding: 0;
6
6
  list-style: none;
@@ -8,7 +8,7 @@
8
8
  flex-direction: column;
9
9
  gap: var(--spacing-s);
10
10
  }
11
- > li[data-v-fe17be35] {
11
+ > li[data-v-f995e7d0] {
12
12
  display: flex;
13
13
  align-items: center;
14
14
  gap: var(--spacing-2xs);
@@ -1,6 +1,6 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/InsightsPaywall-CqlSj87d.js","assets/index-BEC9W_3K.js","assets/index-C6LoGNAx.css","assets/InsightsPaywall-CE5W3W4m.css","assets/InsightsChartTotal-QtHpPQPx.js","assets/chartjs.utils-EXdTT15A.js","assets/InsightsSummary-1EyHgtD2.js","assets/InsightsSummary-DTFIhBF3.css","assets/index-CFNl0R-J.js","assets/InsightsChartFailed-vwVIlrMM.js","assets/InsightsChartFailureRate-3R9NR__K.js","assets/InsightsChartTimeSaved-0XAZRsQL.js","assets/InsightsChartAverageRuntime-B07vNUKi.js","assets/InsightsTableWorkflows-CMfER3Lz.js","assets/N8nDataTableServer-CUJVgPuN.js","assets/InsightsTableWorkflows-RGpSnp7n.css"])))=>i.map(i=>d[i]);
2
- import { d as defineComponent, cS as useModel, hz as useInsightsStore, r as ref, hP as UNLICENSED_TIME_RANGE, hD as TIME_RANGE_LABELS, e as createBlock, g as openBlock, w as withCtx, h as createElementBlock, F as Fragment, y as renderList, l as unref, fj as _sfc_main$3, k as createTextVNode, f as createCommentVNode, t as toDisplayString, j as createBaseVNode, fi as N8nSelect, x as computed, c as useI18n, i as createVNode, p as N8nText, q as N8nButton, hQ as ElDialog, al as usePageRedirectionHelper, _ as _export_sfc, eK as defineAsyncComponent, aa as watch, o as onMounted, ai as useDocumentTitle, m as N8nHeading, n as normalizeClass, eV as _sfc_main$4, bY as resolveDynamicComponent, ay as useTelemetry, hR as TELEMETRY_TIME_RANGE, aI as __vitePreload } from "./index-BEC9W_3K.js";
3
- import { I as InsightsSummary } from "./InsightsSummary-1EyHgtD2.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/InsightsPaywall-BsiLaxNd.js","assets/index-BmZCxv8-.js","assets/index-BWpYwmXd.css","assets/InsightsPaywall-CE5W3W4m.css","assets/InsightsChartTotal-B-SjjDG4.js","assets/chartjs.utils-DQHNgzzp.js","assets/InsightsSummary-hBcY77J_.js","assets/InsightsSummary-DTFIhBF3.css","assets/index-x7t8iCsI.js","assets/InsightsChartFailed-D1ITW7ip.js","assets/InsightsChartFailureRate-DsoCFhrx.js","assets/InsightsChartTimeSaved-Cwb0-EZ1.js","assets/InsightsChartAverageRuntime-DX6MWomC.js","assets/InsightsTableWorkflows-D9vFPmUm.js","assets/N8nDataTableServer-B4Gq_Urn.js","assets/InsightsTableWorkflows-BTHSCwX8.css"])))=>i.map(i=>d[i]);
2
+ import { d as defineComponent, cS as useModel, hH as useInsightsStore, r as ref, hX as UNLICENSED_TIME_RANGE, hL as TIME_RANGE_LABELS, e as createBlock, g as openBlock, w as withCtx, h as createElementBlock, F as Fragment, y as renderList, l as unref, cX as _sfc_main$3, k as createTextVNode, f as createCommentVNode, t as toDisplayString, j as createBaseVNode, cW as N8nSelect, x as computed, c as useI18n, i as createVNode, p as N8nText, q as N8nButton, hY as ElDialog, am as usePageRedirectionHelper, _ as _export_sfc, a6 as useRoute, hZ as INSIGHT_TYPES, eW as defineAsyncComponent, ab as watch, o as onMounted, aj as useDocumentTitle, m as N8nHeading, n as normalizeClass, fx as _sfc_main$4, bY as resolveDynamicComponent, az as useTelemetry, h_ as TELEMETRY_TIME_RANGE, aJ as __vitePreload } from "./index-BmZCxv8-.js";
3
+ import { I as InsightsSummary } from "./InsightsSummary-hBcY77J_.js";
4
4
  const _hoisted_1$2 = {
5
5
  key: 0,
6
6
  width: "16",
@@ -116,7 +116,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
116
116
  onClick: goToUpgrade
117
117
  }, {
118
118
  default: withCtx(() => [
119
- createTextVNode(toDisplayString(unref(i18n).baseText("insights.upgradeModal.button.upgrade")), 1)
119
+ createTextVNode(toDisplayString(unref(i18n).baseText("generic.upgrade")), 1)
120
120
  ]),
121
121
  _: 1
122
122
  })
@@ -165,7 +165,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
165
165
  };
166
166
  }
167
167
  });
168
- const InsightsUpgradeModal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-fe17be35"]]);
168
+ const InsightsUpgradeModal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-f995e7d0"]]);
169
169
  const _hoisted_1 = { class: "mt-s" };
170
170
  const _sfc_main = /* @__PURE__ */ defineComponent({
171
171
  __name: "InsightsDashboard",
@@ -174,30 +174,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
174
174
  },
175
175
  setup(__props) {
176
176
  const InsightsPaywall = defineAsyncComponent(
177
- async () => await __vitePreload(() => import("./InsightsPaywall-CqlSj87d.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
177
+ async () => await __vitePreload(() => import("./InsightsPaywall-BsiLaxNd.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
178
178
  );
179
179
  const InsightsChartTotal = defineAsyncComponent(
180
- async () => await __vitePreload(() => import("./InsightsChartTotal-QtHpPQPx.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8]) : void 0)
180
+ async () => await __vitePreload(() => import("./InsightsChartTotal-B-SjjDG4.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8]) : void 0)
181
181
  );
182
182
  const InsightsChartFailed = defineAsyncComponent(
183
- async () => await __vitePreload(() => import("./InsightsChartFailed-vwVIlrMM.js"), true ? __vite__mapDeps([9,1,2,5,6,7,8]) : void 0)
183
+ async () => await __vitePreload(() => import("./InsightsChartFailed-D1ITW7ip.js"), true ? __vite__mapDeps([9,1,2,5,6,7,8]) : void 0)
184
184
  );
185
185
  const InsightsChartFailureRate = defineAsyncComponent(
186
- async () => await __vitePreload(() => import("./InsightsChartFailureRate-3R9NR__K.js"), true ? __vite__mapDeps([10,1,2,5,6,7,8]) : void 0)
186
+ async () => await __vitePreload(() => import("./InsightsChartFailureRate-DsoCFhrx.js"), true ? __vite__mapDeps([10,1,2,5,6,7,8]) : void 0)
187
187
  );
188
188
  const InsightsChartTimeSaved = defineAsyncComponent(
189
- async () => await __vitePreload(() => import("./InsightsChartTimeSaved-0XAZRsQL.js"), true ? __vite__mapDeps([11,1,2,5,6,7,8]) : void 0)
189
+ async () => await __vitePreload(() => import("./InsightsChartTimeSaved-Cwb0-EZ1.js"), true ? __vite__mapDeps([11,1,2,5,6,7,8]) : void 0)
190
190
  );
191
191
  const InsightsChartAverageRuntime = defineAsyncComponent(
192
- async () => await __vitePreload(() => import("./InsightsChartAverageRuntime-B07vNUKi.js"), true ? __vite__mapDeps([12,1,2,5,6,7,8]) : void 0)
192
+ async () => await __vitePreload(() => import("./InsightsChartAverageRuntime-DX6MWomC.js"), true ? __vite__mapDeps([12,1,2,5,6,7,8]) : void 0)
193
193
  );
194
194
  const InsightsTableWorkflows = defineAsyncComponent(
195
- async () => await __vitePreload(() => import("./InsightsTableWorkflows-CMfER3Lz.js"), true ? __vite__mapDeps([13,1,2,14,6,7,15]) : void 0)
195
+ async () => await __vitePreload(() => import("./InsightsTableWorkflows-D9vFPmUm.js"), true ? __vite__mapDeps([13,1,2,14,6,7,15]) : void 0)
196
196
  );
197
197
  const props = __props;
198
+ const route = useRoute();
198
199
  const i18n = useI18n();
199
200
  const telemetry = useTelemetry();
200
201
  const insightsStore = useInsightsStore();
202
+ const isTimeSavedRoute = computed(() => route.params.insightType === INSIGHT_TYPES.TIME_SAVED);
201
203
  const chartComponents = computed(() => ({
202
204
  total: InsightsChartTotal,
203
205
  failed: InsightsChartFailed,
@@ -247,8 +249,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
247
249
  if (insightsStore.isSummaryEnabled) {
248
250
  void insightsStore.summary.execute(0, { dateRange: selectedDateRange.value });
249
251
  }
252
+ void insightsStore.charts.execute(0, { dateRange: selectedDateRange.value });
250
253
  if (insightsStore.isDashboardEnabled) {
251
- void insightsStore.charts.execute(0, { dateRange: selectedDateRange.value });
252
254
  fetchPaginatedTableData({ sortBy: sortTableBy.value, dateRange: selectedDateRange.value });
253
255
  }
254
256
  },
@@ -300,11 +302,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
300
302
  createBaseVNode("div", {
301
303
  class: normalizeClass(_ctx.$style.insightsContent)
302
304
  }, [
303
- !unref(insightsStore).isDashboardEnabled ? (openBlock(), createBlock(unref(InsightsPaywall), {
305
+ unref(insightsStore).isDashboardEnabled || isTimeSavedRoute.value ? (openBlock(), createElementBlock("div", {
304
306
  key: 0,
305
- "data-test-id": "insights-dashboard-unlicensed"
306
- })) : (openBlock(), createElementBlock("div", {
307
- key: 1,
308
307
  class: normalizeClass(_ctx.$style.insightsContentWrapper)
309
308
  }, [
310
309
  createBaseVNode("div", {
@@ -335,10 +334,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
335
334
  "onUpdate:sortBy": _cache[1] || (_cache[1] = ($event) => sortTableBy.value = $event),
336
335
  data: unref(insightsStore).table.state,
337
336
  loading: unref(insightsStore).table.isLoading,
337
+ "is-dashboard-enabled": unref(insightsStore).isDashboardEnabled,
338
338
  "onUpdate:options": fetchPaginatedTableData
339
- }, null, 8, ["sort-by", "data", "loading"])
339
+ }, null, 8, ["sort-by", "data", "loading", "is-dashboard-enabled"])
340
340
  ], 2)
341
- ], 2))
341
+ ], 2)) : (openBlock(), createBlock(unref(InsightsPaywall), { key: 1 }))
342
342
  ], 2)
343
343
  ], 2)
344
344
  ], 2);
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, al as usePageRedirectionHelper, h as createElementBlock, g as openBlock, i as createVNode, N as N8nIcon, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, p as N8nText, q as N8nButton, n as normalizeClass, _ as _export_sfc } from "./index-BEC9W_3K.js";
1
+ import { d as defineComponent, am as usePageRedirectionHelper, h as createElementBlock, g as openBlock, i as createVNode, N as N8nIcon, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, p as N8nText, q as N8nButton, n as normalizeClass, _ as _export_sfc } from "./index-BmZCxv8-.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "InsightsPaywall",
4
4
  setup(__props) {
@@ -20,7 +20,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
20
  }),
21
21
  createVNode(_component_N8nText, {
22
22
  bold: "",
23
- tag: "h3",
23
+ tag: "h4",
24
24
  size: "large"
25
25
  }, {
26
26
  default: withCtx(() => [
@@ -41,7 +41,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
41
  onClick: goToUpgrade
42
42
  }, {
43
43
  default: withCtx(() => [
44
- createTextVNode(toDisplayString(unref(i18n).baseText("insights.dashboard.paywall.cta")), 1)
44
+ createTextVNode(toDisplayString(unref(i18n).baseText("generic.upgrade")), 1)
45
45
  ]),
46
46
  _: 1
47
47
  })
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, a5 as useRoute, ab as useCssModule, x as computed, c as useI18n, V as VIEWS, O as resolveComponent, h as createElementBlock, g as openBlock, j as createBaseVNode, F as Fragment, y as renderList, i as createVNode, w as withCtx, l as unref, $ as N8nTooltip, k as createTextVNode, t as toDisplayString, n as normalizeClass, hD as TIME_RANGE_LABELS, N as N8nIcon, f as createCommentVNode, hE as INSIGHT_IMPACT_TYPES, ay as useTelemetry, hF as INSIGHTS_UNIT_IMPACT_MAPPING, _ as _export_sfc } from "./index-BEC9W_3K.js";
1
+ import { d as defineComponent, a6 as useRoute, ac as useCssModule, x as computed, c as useI18n, V as VIEWS, O as resolveComponent, h as createElementBlock, g as openBlock, j as createBaseVNode, F as Fragment, y as renderList, i as createVNode, w as withCtx, l as unref, $ as N8nTooltip, k as createTextVNode, t as toDisplayString, n as normalizeClass, hL as TIME_RANGE_LABELS, N as N8nIcon, a1 as I18nT, f as createCommentVNode, hM as INSIGHT_IMPACT_TYPES, az as useTelemetry, hN as INSIGHTS_UNIT_IMPACT_MAPPING, _ as _export_sfc } from "./index-BmZCxv8-.js";
2
2
  const smartDecimal = (value, decimals = 2) => {
3
3
  if (Number.isInteger(value)) {
4
4
  return value;
@@ -61,7 +61,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
61
61
  });
62
62
  };
63
63
  return (_ctx, _cache) => {
64
- const _component_i18n_t = resolveComponent("i18n-t");
65
64
  const _component_N8nTooltip = N8nTooltip;
66
65
  const _component_N8nIcon = N8nIcon;
67
66
  const _component_router_link = resolveComponent("router-link");
@@ -79,7 +78,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
79
78
  disabled: !(summaryHasNoData.value && id === "total")
80
79
  }, {
81
80
  content: withCtx(() => [
82
- createVNode(_component_i18n_t, { keypath: "insights.banner.noData.tooltip" }, {
81
+ createVNode(unref(I18nT), {
82
+ keypath: "insights.banner.noData.tooltip",
83
+ scope: "global"
84
+ }, {
83
85
  link: withCtx(() => [
84
86
  createBaseVNode("a", {
85
87
  href: unref(i18n).baseText("insights.banner.noData.tooltip.link.url"),
@@ -121,7 +123,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121
123
  createBaseVNode("small", null, [
122
124
  createVNode(_component_N8nTooltip, { placement: "bottom" }, {
123
125
  content: withCtx(() => [
124
- createVNode(_component_i18n_t, { keypath: "insights.banner.timeSaved.tooltip" }, {
126
+ createVNode(unref(I18nT), {
127
+ keypath: "insights.banner.timeSaved.tooltip",
128
+ scope: "global"
129
+ }, {
125
130
  link: withCtx(() => [
126
131
  createTextVNode(toDisplayString(unref(i18n).baseText("insights.banner.timeSaved.tooltip.link.text")), 1)
127
132
  ]),
@@ -120,7 +120,7 @@
120
120
  -------------------------- */
121
121
  /* BEM
122
122
  -------------------------- */
123
- .ellipsis[data-v-ae79bb59] {
123
+ ._ellipsis_1sfih_123 {
124
124
  white-space: nowrap;
125
125
  overflow: hidden;
126
126
  text-overflow: ellipsis;
@@ -129,7 +129,7 @@
129
129
  width: fit-content;
130
130
  max-width: 100%;
131
131
  }
132
- .link[data-v-ae79bb59] {
132
+ ._link_1sfih_132 {
133
133
  display: inline-flex;
134
134
  height: 100%;
135
135
  align-items: center;
@@ -137,6 +137,30 @@
137
137
  text-decoration: underline;
138
138
  max-width: 100%;
139
139
  }
140
- .link[data-v-ae79bb59]:hover {
140
+ ._link_1sfih_132:hover {
141
141
  color: var(--color-text-dark);
142
+ }
143
+ ._blurryCover_1sfih_144 {
144
+ position: absolute;
145
+ top: 0;
146
+ left: 0;
147
+ width: 100%;
148
+ height: 100%;
149
+ display: flex;
150
+ justify-content: center;
151
+ align-items: center;
152
+ z-index: 1;
153
+ -webkit-backdrop-filter: blur(10px);
154
+ backdrop-filter: blur(10px);
155
+ }
156
+ ._blurryCover_1sfih_144::before {
157
+ content: "";
158
+ position: absolute;
159
+ top: 0;
160
+ left: 0;
161
+ width: 100%;
162
+ height: 100%;
163
+ background: var(--color-foreground-xlight);
164
+ opacity: 0.5;
165
+ z-index: -1;
142
166
  }
@@ -1,63 +1,90 @@
1
- import { d as defineComponent, cR as mergeModels, x as computed, r as ref, c as useI18n, iK as transformInsightsFailureRate, iL as INSIGHTS_UNIT_MAPPING, iN as transformInsightsTimeSaved, iO as transformInsightsAverageRunTime, cS as useModel, aa as watch, O as resolveComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, k as createTextVNode, m as N8nHeading, e as createBlock, l as unref, $ as N8nTooltip, j as createBaseVNode, t as toDisplayString, F as Fragment, V as VIEWS, ay as useTelemetry, _ as _export_sfc } from "./index-BEC9W_3K.js";
2
- import { N as N8nDataTableServer } from "./N8nDataTableServer-CUJVgPuN.js";
3
- import { s as smartDecimal } from "./InsightsSummary-1EyHgtD2.js";
4
- const _hoisted_1 = { class: "ellipsis" };
5
- const _hoisted_2 = { class: "ellipsis" };
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/InsightsPaywall-BsiLaxNd.js","assets/index-BmZCxv8-.js","assets/index-BWpYwmXd.css","assets/InsightsPaywall-CE5W3W4m.css"])))=>i.map(i=>d[i]);
2
+ import { d as defineComponent, cR as mergeModels, x as computed, r as ref, c as useI18n, iR as transformInsightsFailureRate, iS as INSIGHTS_UNIT_MAPPING, iU as transformInsightsTimeSaved, iV as transformInsightsAverageRunTime, cS as useModel, ab as watch, O as resolveComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, m as N8nHeading, bg as createSlots, j as createBaseVNode, n as normalizeClass, eW as defineAsyncComponent, e as createBlock, $ as N8nTooltip, F as Fragment, V as VIEWS, aJ as __vitePreload, az as useTelemetry, _ as _export_sfc } from "./index-BmZCxv8-.js";
3
+ import { N as N8nDataTableServer } from "./N8nDataTableServer-B4Gq_Urn.js";
4
+ import { s as smartDecimal } from "./InsightsSummary-hBcY77J_.js";
6
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
6
  __name: "InsightsTableWorkflows",
8
7
  props: /* @__PURE__ */ mergeModels({
9
8
  data: {},
10
- loading: { type: Boolean }
9
+ loading: { type: Boolean },
10
+ isDashboardEnabled: { type: Boolean }
11
11
  }, {
12
12
  "sortBy": {},
13
13
  "sortByModifiers": {}
14
14
  }),
15
15
  emits: /* @__PURE__ */ mergeModels(["update:options"], ["update:sortBy"]),
16
16
  setup(__props, { emit: __emit }) {
17
+ const InsightsPaywall = defineAsyncComponent(
18
+ async () => await __vitePreload(() => import("./InsightsPaywall-BsiLaxNd.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
19
+ );
17
20
  const props = __props;
18
21
  const i18n = useI18n();
19
22
  const telemetry = useTelemetry();
20
- const rows = computed(() => props.data.data);
23
+ const sampleWorkflows = Array.from({ length: 10 }, (_, i) => ({
24
+ workflowId: `sample-workflow-${i + 1}`,
25
+ workflowName: `Sample Workflow ${i + 1}`,
26
+ total: Math.floor(Math.random() * 2e3) + 500,
27
+ failed: Math.floor(Math.random() * 100) + 20,
28
+ failureRate: Math.random() * 100,
29
+ timeSaved: Math.floor(Math.random() * 3e5) + 6e4,
30
+ averageRunTime: Math.floor(Math.random() * 6e4) + 15e3,
31
+ projectName: `Sample Project ${i + 1}`,
32
+ projectId: `sample-project-${i + 1}`,
33
+ succeeded: Math.floor(Math.random() * 2e3) + 500,
34
+ runTime: Math.floor(Math.random() * 6e4) + 15e3
35
+ }));
36
+ const sampleData = {
37
+ data: sampleWorkflows,
38
+ count: sampleWorkflows.length
39
+ };
40
+ const tableData = computed(() => props.isDashboardEnabled ? props.data : sampleData);
41
+ const rows = computed(() => tableData.value.data);
21
42
  const headers = ref([
22
43
  {
23
44
  title: "Name",
24
45
  key: "workflowName",
25
- width: 400
46
+ width: 400,
47
+ disableSort: !props.isDashboardEnabled
26
48
  },
27
49
  {
28
50
  title: i18n.baseText("insights.banner.title.total"),
29
51
  key: "total",
30
52
  value(row) {
31
53
  return row.total.toLocaleString("en-US");
32
- }
54
+ },
55
+ disableSort: !props.isDashboardEnabled
33
56
  },
34
57
  {
35
58
  title: i18n.baseText("insights.banner.title.failed"),
36
59
  key: "failed",
37
60
  value(row) {
38
61
  return row.failed.toLocaleString("en-US");
39
- }
62
+ },
63
+ disableSort: !props.isDashboardEnabled
40
64
  },
41
65
  {
42
66
  title: i18n.baseText("insights.banner.title.failureRate"),
43
67
  key: "failureRate",
44
68
  value(row) {
45
69
  return smartDecimal(transformInsightsFailureRate(row.failureRate)) + INSIGHTS_UNIT_MAPPING.failureRate(row.failureRate);
46
- }
70
+ },
71
+ disableSort: !props.isDashboardEnabled
47
72
  },
48
73
  {
49
74
  title: i18n.baseText("insights.banner.title.timeSaved"),
50
75
  key: "timeSaved",
51
76
  value(row) {
52
77
  return smartDecimal(transformInsightsTimeSaved(row.timeSaved)) + INSIGHTS_UNIT_MAPPING.timeSaved(row.timeSaved);
53
- }
78
+ },
79
+ disableSort: !props.isDashboardEnabled
54
80
  },
55
81
  {
56
82
  title: i18n.baseText("insights.banner.title.averageRunTime"),
57
83
  key: "averageRunTime",
58
84
  value(row) {
59
85
  return smartDecimal(transformInsightsAverageRunTime(row.averageRunTime)) + INSIGHTS_UNIT_MAPPING.averageRunTime(row.averageRunTime);
60
- }
86
+ },
87
+ disableSort: !props.isDashboardEnabled
61
88
  },
62
89
  {
63
90
  title: i18n.baseText("insights.dashboard.table.projectName"),
@@ -99,9 +126,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
99
126
  size: "medium",
100
127
  class: "mb-s"
101
128
  }, {
102
- default: withCtx(() => _cache[4] || (_cache[4] = [
103
- createTextVNode("Workflow insights")
104
- ])),
129
+ default: withCtx(() => [
130
+ createTextVNode(toDisplayString(unref(i18n).baseText("insights.dashboard.table.title")), 1)
131
+ ]),
105
132
  _: 1
106
133
  }),
107
134
  createVNode(unref(N8nDataTableServer), {
@@ -113,13 +140,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
113
140
  "onUpdate:itemsPerPage": _cache[2] || (_cache[2] = ($event) => itemsPerPage.value = $event),
114
141
  items: rows.value,
115
142
  headers: headers.value,
116
- "items-length": _ctx.data.count,
143
+ "items-length": tableData.value.count,
117
144
  "onUpdate:options": _cache[3] || (_cache[3] = ($event) => emit("update:options", $event))
118
- }, {
145
+ }, createSlots({
119
146
  [`item.workflowName`]: withCtx(({ item }) => [
120
147
  createVNode(_component_router_link, {
121
148
  to: getWorkflowLink(item),
122
- class: "link",
149
+ class: normalizeClass(_ctx.$style.link),
123
150
  onClick: ($event) => trackWorkflowClick(item)
124
151
  }, {
125
152
  default: withCtx(() => [
@@ -128,25 +155,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
128
155
  placement: "top"
129
156
  }, {
130
157
  default: withCtx(() => [
131
- createBaseVNode("div", _hoisted_1, toDisplayString(item.workflowName), 1)
158
+ createBaseVNode("div", {
159
+ class: normalizeClass(_ctx.$style.ellipsis)
160
+ }, toDisplayString(item.workflowName), 3)
132
161
  ]),
133
162
  _: 2
134
163
  }, 1032, ["content"])
135
164
  ]),
136
165
  _: 2
137
- }, 1032, ["to", "onClick"])
166
+ }, 1032, ["to", "class", "onClick"])
138
167
  ]),
139
168
  [`item.timeSaved`]: withCtx(({ item, value }) => [
140
169
  !item.timeSaved ? (openBlock(), createBlock(_component_router_link, {
141
170
  key: 0,
142
171
  to: getWorkflowLink(item, { settings: "true" }),
143
- class: "link"
172
+ class: normalizeClass(_ctx.$style.link)
144
173
  }, {
145
174
  default: withCtx(() => [
146
175
  createTextVNode(toDisplayString(unref(i18n).baseText("insights.dashboard.table.estimate")), 1)
147
176
  ]),
148
177
  _: 2
149
- }, 1032, ["to"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
178
+ }, 1032, ["to", "class"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
150
179
  createTextVNode(toDisplayString(value), 1)
151
180
  ], 64))
152
181
  ]),
@@ -157,7 +186,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
157
186
  placement: "top"
158
187
  }, {
159
188
  default: withCtx(() => [
160
- createBaseVNode("div", _hoisted_2, toDisplayString(item.projectName), 1)
189
+ createBaseVNode("div", {
190
+ class: normalizeClass(_ctx.$style.ellipsis)
191
+ }, toDisplayString(item.projectName), 3)
161
192
  ]),
162
193
  _: 2
163
194
  }, 1032, ["content"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -165,12 +196,35 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
165
196
  ], 64))
166
197
  ]),
167
198
  _: 2
168
- }, 1032, ["sort-by", "page", "items-per-page", "items", "headers", "items-length"])
199
+ }, [
200
+ !_ctx.isDashboardEnabled ? {
201
+ name: "cover",
202
+ fn: withCtx(() => [
203
+ createBaseVNode("div", {
204
+ class: normalizeClass(_ctx.$style.blurryCover)
205
+ }, [
206
+ createVNode(unref(InsightsPaywall))
207
+ ], 2)
208
+ ]),
209
+ key: "0"
210
+ } : void 0
211
+ ]), 1032, ["sort-by", "page", "items-per-page", "items", "headers", "items-length"])
169
212
  ]);
170
213
  };
171
214
  }
172
215
  });
173
- const InsightsTableWorkflows = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ae79bb59"]]);
216
+ const ellipsis = "_ellipsis_1sfih_123";
217
+ const link = "_link_1sfih_132";
218
+ const blurryCover = "_blurryCover_1sfih_144";
219
+ const style0 = {
220
+ ellipsis,
221
+ link,
222
+ blurryCover
223
+ };
224
+ const cssModules = {
225
+ "$style": style0
226
+ };
227
+ const InsightsTableWorkflows = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
174
228
  export {
175
229
  InsightsTableWorkflows as default
176
230
  };
@@ -1,4 +1,4 @@
1
- import { h as createElementBlock, g as openBlock, j as createBaseVNode, d as defineComponent, x as computed, ab as useCssModule, ar as useTemplateRef, o as onMounted, g6 as useFavicon, n as normalizeClass, i as createVNode, e as createBlock, f as createCommentVNode, J as renderSlot, l as unref, _ as _export_sfc } from "./index-BEC9W_3K.js";
1
+ import { h as createElementBlock, g as openBlock, j as createBaseVNode, d as defineComponent, x as computed, ac as useCssModule, as as useTemplateRef, o as onMounted, gL as useFavicon, n as normalizeClass, i as createVNode, e as createBlock, f as createCommentVNode, J as renderSlot, l as unref, _ as _export_sfc } from "./index-BmZCxv8-.js";
2
2
  const _hoisted_1$1 = {
3
3
  xmlns: "http://www.w3.org/2000/svg",
4
4
  width: "32",