n8n-editor-ui 1.103.0 → 1.104.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 (127) hide show
  1. package/dist/assets/{ActionDropdown-oe2q-18e.js → ActionDropdown-Ct6XJ0cl.js} +1 -1
  2. package/dist/assets/{AnimatedSpinner-DNQK2Lvb.js → AnimatedSpinner-CIyQ3zKd.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CTPMm7Da.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-xv6FYiyR.js} +1 -1
  4. package/dist/assets/{AuthView-BLYDBurX.js → AuthView-dJdngoqx.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-D_oe3bys.js → ChangePasswordView-C74U84q5.js} +3 -3
  6. package/dist/assets/CollectionParameter-DCn5Jtcj.js +4 -0
  7. package/dist/assets/ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CkASni2S.js +44 -0
  8. package/dist/assets/{CredentialsView-yjXzQeha.js → CredentialsView-jouDB3H1.js} +8 -8
  9. package/dist/assets/{DemoFooter-CLoho_f5.js → DemoFooter-CHlbEpB-.js} +9 -8
  10. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-Dtt1q_gN.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CbDihlsO.js} +1 -1
  11. package/dist/assets/{EntityNotFound-DKLj80gn.js → EntityNotFound-Dtqj9thX.js} +1 -1
  12. package/dist/assets/{EntityUnAuthorised-BUd46dmn.js → EntityUnAuthorised-BBsbc6du.js} +1 -1
  13. package/dist/assets/{ErrorView-DOjK08aR.js → ErrorView-BN4Jm32q.js} +1 -1
  14. package/dist/assets/{EvaluationsRootView-Cms0XlYE.js → EvaluationsRootView-B70WfmnQ.js} +5 -3
  15. package/dist/assets/{EvaluationsView-6l_Invxt.css → EvaluationsView-BTyYfInB.css} +6 -6
  16. package/dist/assets/{EvaluationsView-X9pjkssi.js → EvaluationsView-DQd7op3j.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-CQDOSq4d.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-C_2brmCr.js} +15 -12
  19. package/dist/assets/{ExecutionsView-NLnln1YQ.js → ExecutionsView-CKPZTnZV.js} +21 -18
  20. package/dist/assets/{FileSaver.min-BoHgd5iv.js → FileSaver.min-BvxTURBB.js} +1 -1
  21. package/dist/assets/{FixedCollectionParameter-BfKt_vOb.js → FixedCollectionParameter-CA-CigeR.js} +1 -1
  22. package/dist/assets/{ForgotMyPasswordView-OP-Zoaqi.js → ForgotMyPasswordView-YyVmo-nw.js} +3 -3
  23. package/dist/assets/{InfoAccordion-KgxR9XUm.js → InfoAccordion-BNmUe2V9.js} +1 -1
  24. package/dist/assets/{InsightsChartAverageRuntime-COSI3_o5.js → InsightsChartAverageRuntime-C9sCNhzD.js} +5 -4
  25. package/dist/assets/{InsightsChartFailed-zPbPiVrK.js → InsightsChartFailed-DWA6YbZj.js} +5 -4
  26. package/dist/assets/{InsightsChartFailureRate-BijFuiun.js → InsightsChartFailureRate-CfknGtrr.js} +5 -4
  27. package/dist/assets/{InsightsChartTimeSaved-QPkPrxuo.js → InsightsChartTimeSaved-DtLO9DJx.js} +5 -4
  28. package/dist/assets/{InsightsChartTotal-CAIfpPOZ.js → InsightsChartTotal-yX_QJ-44.js} +5 -4
  29. package/dist/assets/{InsightsDashboard-D8_DXUIT.js → InsightsDashboard-BlYvn96O.js} +19 -19
  30. package/dist/assets/{InsightsDashboard-CXbI-Jyg.css → InsightsDashboard-C27Avzrv.css} +2 -2
  31. package/dist/assets/{InsightsPaywall-BlFkYC7C.js → InsightsPaywall-BCfIY_xn.js} +3 -3
  32. package/dist/assets/{InsightsSummary-DT-p4HNY.js → InsightsSummary-OiO7efWD.js} +9 -4
  33. package/dist/assets/{InsightsTableWorkflows-RGpSnp7n.css → InsightsTableWorkflows-BTHSCwX8.css} +27 -3
  34. package/dist/assets/{InsightsTableWorkflows-CN4YWTtH.js → InsightsTableWorkflows-pTl3m7wx.js} +80 -26
  35. package/dist/assets/{Logo-BhBstNGh.js → Logo-8g4P9vyv.js} +1 -1
  36. package/dist/assets/{LogsPanel-Bvy4ANV7.css → LogsPanel-D0xdq4fV.css} +21 -21
  37. package/dist/assets/{LogsPanel-Ceg5ubnO.js → LogsPanel-so01MtIR.js} +16 -11
  38. package/dist/assets/{MainHeader-4a5SCN9a.js → MainHeader-CcUlKfHC.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-PaqIlcl_.js → MainSidebar-DOGhP_oY.js} +26 -25
  42. package/dist/assets/{N8nDataTableServer-OWjVTbuy.js → N8nDataTableServer-9HerjyzX.js} +20 -10
  43. package/dist/assets/{NodeCreation-vn1s6ViE.js → NodeCreation-CVbCKnet.js} +11 -9
  44. package/dist/assets/{NodeCreator-8yXN9-3-.js → NodeCreator-BOosPF8_.js} +114 -197
  45. package/dist/assets/{NodeCreator-DWE25utr.css → NodeCreator-CkvY2niF.css} +0 -128
  46. package/dist/assets/{NodeDetailsView-Bfqrvndc.js → NodeDetailsView-KFidngJi.js} +21 -16
  47. package/dist/assets/{NodeDetailsViewV2-DvXkio7Z.js → NodeDetailsViewV2-BL4KKqW-.js} +21 -16
  48. package/dist/assets/{NodeView-4YXAVrWh.js → NodeView-BzC6ELga.js} +2068 -746
  49. package/dist/assets/{NodeView-hst6fesm.css → NodeView-G2qfXaOy.css} +755 -71
  50. package/dist/assets/{ProjectHeader-BXo_XGDO.js → ProjectHeader-B9-GdGvC.js} +2 -2
  51. package/dist/assets/{ProjectSettings-Z5Kp6E53.js → ProjectSettings-CE4_geFa.js} +7 -5
  52. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DK8Mp74c.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-Bb8zUJvi.js} +1 -1
  53. package/dist/assets/{ResourcesListLayout-DoL3gqUA.js → ResourcesListLayout-ClTEnqVS.js} +3 -3
  54. package/dist/assets/{RunDataJson-CI2PEX1Z.js → RunDataJson-fXQKTIFD.js} +6 -7
  55. package/dist/assets/{RunDataJsonActions-CdUL1gL3.js → RunDataJsonActions-CMP1sUPZ.js} +1 -1
  56. package/dist/assets/{RunDataParsedAiContent-B6Ss5mvl.js → RunDataParsedAiContent-CHK6Y4ET.js} +2 -2
  57. package/dist/assets/{RunDataSearch-DKaXYju2.js → RunDataSearch-CAZGWZzz.js} +1 -1
  58. package/dist/assets/{RunDataTable-BQ3rdzoF.js → RunDataTable-CeqmA-n3.js} +17 -17
  59. package/dist/assets/{SamlOnboarding-C_au26AK.js → SamlOnboarding-BrdzPMSK.js} +3 -3
  60. package/dist/assets/{SettingsApiView-aoaIK5C5.js → SettingsApiView-Cj2YYKAl.js} +5 -4
  61. package/dist/assets/{SettingsCommunityNodesView-Bii1jYzp.js → SettingsCommunityNodesView-ChB--kZD.js} +4 -3
  62. package/dist/assets/{SettingsExternalSecrets-DzoOLUAJ.js → SettingsExternalSecrets-BjghCvkE.js} +5 -3
  63. package/dist/assets/{SettingsLdapView-CkLOtGjj.js → SettingsLdapView-DIB1-nTk.js} +1 -1
  64. package/dist/assets/{SettingsLogStreamingView-CKBVxNwk.js → SettingsLogStreamingView-BOOGkcwK.js} +1 -1
  65. package/dist/assets/{SettingsPersonalView-gOoSkTpX.js → SettingsPersonalView-DaNZTNUy.js} +1 -1
  66. package/dist/assets/{SettingsSourceControl-C6XS-Myv.js → SettingsSourceControl-B5fQRT0V.js} +10 -8
  67. package/dist/assets/{SettingsSso-CobNvKat.js → SettingsSso-CWX-T13W.js} +1 -1
  68. package/dist/assets/{SettingsUsageAndPlan-3r39YZW1.js → SettingsUsageAndPlan-Cnnf9k6X.js} +15 -10
  69. package/dist/assets/{SettingsUsageAndPlan-D6TiPwUx.css → SettingsUsageAndPlan-ZZQpCmyQ.css} +3 -3
  70. package/dist/assets/{SettingsUsersView-DrrH1dLq.js → SettingsUsersView-BLDi4lpv.js} +105 -44
  71. package/dist/assets/{SettingsUsersView-B81cHl3f.css → SettingsUsersView-RQTdLxyb.css} +11 -7
  72. package/dist/assets/{SettingsView-D_wEAbZb.js → SettingsView-Dtc8MEv6.js} +1 -1
  73. package/dist/assets/{SetupView-CU1QrNSu.js → SetupView-C4C-2Idz.js} +3 -3
  74. package/dist/assets/{SetupWorkflowCredentialsButton-Do2E5w2d.js → SetupWorkflowCredentialsButton-Pzrxag-k.js} +1 -1
  75. package/dist/assets/{SetupWorkflowFromTemplateView-cuwHIvkB.js → SetupWorkflowFromTemplateView-CRsZDYct.js} +3 -3
  76. package/dist/assets/{SigninView-DA11h2Kr.js → SigninView-COyoSAUi.js} +3 -3
  77. package/dist/assets/{SignoutView-VJrMh5w7.js → SignoutView-B0t9kc5s.js} +1 -1
  78. package/dist/assets/{SignupView-BNTIWYSE.js → SignupView-BN8MCOnb.js} +3 -3
  79. package/dist/assets/{TableBase-B5rreQVh.js → TableBase-BmhIwPwZ.js} +1 -1
  80. package/dist/assets/{Tags-SJm7l2s6.js → Tags-DeTgaVsD.js} +1 -1
  81. package/dist/assets/{TemplateDetails-B6-Nkya8.js → TemplateDetails-Bh-WSvQ-.js} +2 -2
  82. package/dist/assets/{TemplateList-C4Dqsvfp.js → TemplateList-DxvJMjPE.js} +1 -1
  83. package/dist/assets/{TemplatesCollectionView-BMGZ939P.js → TemplatesCollectionView-BhilAS_8.js} +6 -6
  84. package/dist/assets/{TemplatesSearchView-CIo8eprI.js → TemplatesSearchView-CWxnTQ8Z.js} +3 -3
  85. package/dist/assets/{TemplatesView-MshXkM2_.js → TemplatesView-Co-FQLhr.js} +1 -1
  86. package/dist/assets/{TemplatesWorkflowView-LWBGoJBO.js → TemplatesWorkflowView-DAWgsT0T.js} +6 -6
  87. package/dist/assets/{TriggerPanel-DRpKKKun.css → TriggerPanel-DJv04feX.css} +1 -354
  88. package/dist/assets/{TriggerPanel-C-0JCegt.js → TriggerPanel-JaXhe1VW.js} +133 -981
  89. package/dist/assets/{VariablesView-omKbxNoc.js → VariablesView-JnfEn1f-.js} +5 -5
  90. package/dist/assets/VueMarkdown-DDKnTMgT.js +1570 -0
  91. package/dist/assets/{WorkerView-DPnCbr1B.js → WorkerView-DZG4C_Qp.js} +6 -5
  92. package/dist/assets/{WorkflowActivator-Hn_uDFPH.js → WorkflowActivator-C8hP37n7.js} +2 -2
  93. package/dist/assets/{WorkflowExecutionsInfoAccordion-DWSeluMM.js → WorkflowExecutionsInfoAccordion-DCNvkxhh.js} +2 -2
  94. package/dist/assets/{WorkflowExecutionsLandingPage-BMcxBJEl.js → WorkflowExecutionsLandingPage-DVp6SoPy.js} +3 -3
  95. package/dist/assets/{WorkflowExecutionsPreview-Csq6C8Vh.js → WorkflowExecutionsPreview-CKYWZWv1.js} +5 -5
  96. package/dist/assets/{WorkflowExecutionsView-6L7iZJq1.js → WorkflowExecutionsView-BIkweP3p.js} +8 -8
  97. package/dist/assets/{WorkflowHistory-B0t-0Z77.js → WorkflowHistory-C0LrWJW0.js} +6 -6
  98. package/dist/assets/{WorkflowOnboardingView-DuI2I9MQ.js → WorkflowOnboardingView-CWMUgnLK.js} +1 -1
  99. package/dist/assets/{WorkflowPreview-D4kwrMFk.js → WorkflowPreview-DmYMBSH3.js} +1 -1
  100. package/dist/assets/{WorkflowsView-WU-IKn4K.js → WorkflowsView-jEphnf90.js} +125 -17
  101. package/dist/assets/aiTemplatesStarterCollection.store-oECEA5nR.js +794 -0
  102. package/dist/assets/{chartjs.utils-Bc5bGj66.js → chartjs.utils-CP28DnUQ.js} +2 -2
  103. package/dist/assets/{en-FjyeYndD.js → en-BX7CKkqE.js} +22 -6
  104. package/dist/assets/{global-link-actions-BZz1vmQq.js → global-link-actions-BjpAG7gt.js} +1 -1
  105. package/dist/assets/{import-curl-jc1UtwMR.js → import-curl-BD22LJ4z.js} +1 -1
  106. package/dist/assets/{index-C6LoGNAx.css → index-BWpYwmXd.css} +548 -948
  107. package/dist/assets/{index-Cohi4onR.js → index-CjbtyS1n.js} +1 -1
  108. package/dist/assets/{index-CAU8Zeff.js → index-Cm5yBbby.js} +48318 -42852
  109. package/dist/assets/{pickBy-Bmcb35Dl.js → pickBy-DA-1tKxT.js} +1 -1
  110. package/dist/assets/{templateActions-Bsj8nngl.js → templateActions-D9IAsJ2m.js} +1 -1
  111. package/dist/assets/{typescript.worker-CUj0Nj-S.js → typescript.worker-KwUz68Jx.js} +2499 -157
  112. package/dist/assets/{useBeforeUnload-aOI6YxZR.js → useBeforeUnload-BR-V9Uaz.js} +1 -1
  113. package/dist/assets/{useExecutionDebugging-dVW9cpg5.js → useExecutionDebugging-C8zR-uFJ.js} +1 -1
  114. package/dist/assets/{useExecutionHelpers-BIfEl-h7.js → useExecutionHelpers-DQcWcZ8o.js} +1 -1
  115. package/dist/assets/{useImportCurlCommand-B4EFH3RG.js → useImportCurlCommand-B3-fEq8S.js} +9 -9
  116. package/dist/assets/{RunData-D0dKnadD.css → useKeybindings-2A271Jke.css} +134 -2
  117. package/dist/assets/{RunData-B9jGswDT.js → useKeybindings-DetzdpXy.js} +223 -1644
  118. package/dist/assets/{useProjectPages-4b50pSat.js → useProjectPages-qXIMd_UF.js} +1 -1
  119. package/dist/assets/{usePushConnection-CKW8UPyl.js → usePushConnection-Duvg6z8O.js} +10 -2
  120. package/dist/assets/{useWorkflowActivate-C39vU0rW.js → useWorkflowActivate-BE4Ckf9k.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-DMWMZwmI.js +0 -4
  126. package/dist/assets/useKeybindings-0d48UFTt.js +0 -188
  127. package/dist/assets/useKeybindings-BUK7Ngh6.css +0 -133
@@ -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-CAU8Zeff.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-Cm5yBbby.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-CAU8Zeff.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-Bc5bGj66.js";
3
- import { s as smartDecimal } from "./InsightsSummary-DT-p4HNY.js";
4
- import { L as Line } from "./index-Cohi4onR.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-Cm5yBbby.js";
2
+ import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-CP28DnUQ.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-OiO7efWD.js";
4
+ import { L as Line } from "./index-CjbtyS1n.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-CAU8Zeff.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-Bc5bGj66.js";
3
- import { s as smartDecimal } from "./InsightsSummary-DT-p4HNY.js";
4
- import { B as Bar } from "./index-Cohi4onR.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-Cm5yBbby.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-CP28DnUQ.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-OiO7efWD.js";
4
+ import { B as Bar } from "./index-CjbtyS1n.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-CAU8Zeff.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-Bc5bGj66.js";
3
- import { s as smartDecimal } from "./InsightsSummary-DT-p4HNY.js";
4
- import { B as Bar } from "./index-Cohi4onR.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-Cm5yBbby.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-CP28DnUQ.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-OiO7efWD.js";
4
+ import { B as Bar } from "./index-CjbtyS1n.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-CAU8Zeff.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-Bc5bGj66.js";
3
- import { L as Line } from "./index-Cohi4onR.js";
4
- import "./InsightsSummary-DT-p4HNY.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-Cm5yBbby.js";
2
+ import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-CP28DnUQ.js";
3
+ import { L as Line } from "./index-CjbtyS1n.js";
4
+ import "./InsightsSummary-OiO7efWD.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-CAU8Zeff.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-Bc5bGj66.js";
3
- import { B as Bar } from "./index-Cohi4onR.js";
4
- import "./InsightsSummary-DT-p4HNY.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-Cm5yBbby.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-CP28DnUQ.js";
3
+ import { B as Bar } from "./index-CjbtyS1n.js";
4
+ import "./InsightsSummary-OiO7efWD.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
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/InsightsPaywall-BlFkYC7C.js","assets/index-CAU8Zeff.js","assets/index-C6LoGNAx.css","assets/InsightsPaywall-CE5W3W4m.css","assets/InsightsChartTotal-CAIfpPOZ.js","assets/chartjs.utils-Bc5bGj66.js","assets/InsightsSummary-DT-p4HNY.js","assets/InsightsSummary-DTFIhBF3.css","assets/index-Cohi4onR.js","assets/InsightsChartFailed-zPbPiVrK.js","assets/InsightsChartFailureRate-BijFuiun.js","assets/InsightsChartTimeSaved-QPkPrxuo.js","assets/InsightsChartAverageRuntime-COSI3_o5.js","assets/InsightsTableWorkflows-CN4YWTtH.js","assets/N8nDataTableServer-OWjVTbuy.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-CAU8Zeff.js";
3
- import { I as InsightsSummary } from "./InsightsSummary-DT-p4HNY.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/InsightsPaywall-BCfIY_xn.js","assets/index-Cm5yBbby.js","assets/index-BWpYwmXd.css","assets/InsightsPaywall-CE5W3W4m.css","assets/InsightsChartTotal-yX_QJ-44.js","assets/chartjs.utils-CP28DnUQ.js","assets/InsightsSummary-OiO7efWD.js","assets/InsightsSummary-DTFIhBF3.css","assets/index-CjbtyS1n.js","assets/InsightsChartFailed-DWA6YbZj.js","assets/InsightsChartFailureRate-CfknGtrr.js","assets/InsightsChartTimeSaved-DtLO9DJx.js","assets/InsightsChartAverageRuntime-C9sCNhzD.js","assets/InsightsTableWorkflows-pTl3m7wx.js","assets/N8nDataTableServer-9HerjyzX.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-Cm5yBbby.js";
3
+ import { I as InsightsSummary } from "./InsightsSummary-OiO7efWD.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-BlFkYC7C.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
177
+ async () => await __vitePreload(() => import("./InsightsPaywall-BCfIY_xn.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
178
178
  );
179
179
  const InsightsChartTotal = defineAsyncComponent(
180
- async () => await __vitePreload(() => import("./InsightsChartTotal-CAIfpPOZ.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8]) : void 0)
180
+ async () => await __vitePreload(() => import("./InsightsChartTotal-yX_QJ-44.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-zPbPiVrK.js"), true ? __vite__mapDeps([9,1,2,5,6,7,8]) : void 0)
183
+ async () => await __vitePreload(() => import("./InsightsChartFailed-DWA6YbZj.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-BijFuiun.js"), true ? __vite__mapDeps([10,1,2,5,6,7,8]) : void 0)
186
+ async () => await __vitePreload(() => import("./InsightsChartFailureRate-CfknGtrr.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-QPkPrxuo.js"), true ? __vite__mapDeps([11,1,2,5,6,7,8]) : void 0)
189
+ async () => await __vitePreload(() => import("./InsightsChartTimeSaved-DtLO9DJx.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-COSI3_o5.js"), true ? __vite__mapDeps([12,1,2,5,6,7,8]) : void 0)
192
+ async () => await __vitePreload(() => import("./InsightsChartAverageRuntime-C9sCNhzD.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-CN4YWTtH.js"), true ? __vite__mapDeps([13,1,2,14,6,7,15]) : void 0)
195
+ async () => await __vitePreload(() => import("./InsightsTableWorkflows-pTl3m7wx.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,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,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-CAU8Zeff.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-Cm5yBbby.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-CAU8Zeff.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-Cm5yBbby.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-CAU8Zeff.js";
2
- import { N as N8nDataTableServer } from "./N8nDataTableServer-OWjVTbuy.js";
3
- import { s as smartDecimal } from "./InsightsSummary-DT-p4HNY.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-BCfIY_xn.js","assets/index-Cm5yBbby.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-Cm5yBbby.js";
3
+ import { N as N8nDataTableServer } from "./N8nDataTableServer-9HerjyzX.js";
4
+ import { s as smartDecimal } from "./InsightsSummary-OiO7efWD.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-BCfIY_xn.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-CAU8Zeff.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-Cm5yBbby.js";
2
2
  const _hoisted_1$1 = {
3
3
  xmlns: "http://www.w3.org/2000/svg",
4
4
  width: "32",