n8n-editor-ui 1.102.2 → 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 (131) hide show
  1. package/dist/assets/{ActionDropdown-CiegfqhB.js → ActionDropdown-Ct6XJ0cl.js} +1 -1
  2. package/dist/assets/{AnimatedSpinner-DZ7wHd_W.js → AnimatedSpinner-CIyQ3zKd.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BQoi5khn.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-xv6FYiyR.js} +1 -1
  4. package/dist/assets/{AuthView-K2y2JXyp.js → AuthView-dJdngoqx.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-D_EsQtLD.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-DvE9GnD7.js → CredentialsView-jouDB3H1.js} +8 -8
  9. package/dist/assets/{DemoFooter-kRP32xy4.js → DemoFooter-CHlbEpB-.js} +9 -8
  10. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-B6KKFEL7.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CbDihlsO.js} +1 -1
  11. package/dist/assets/{EntityNotFound-q_5k8QTh.js → EntityNotFound-Dtqj9thX.js} +1 -1
  12. package/dist/assets/{EntityUnAuthorised-DrFh2EVh.js → EntityUnAuthorised-BBsbc6du.js} +1 -1
  13. package/dist/assets/{ErrorView-CdyA4lBI.js → ErrorView-BN4Jm32q.js} +1 -1
  14. package/dist/assets/{EvaluationsRootView-DBi9hUxa.js → EvaluationsRootView-B70WfmnQ.js} +5 -3
  15. package/dist/assets/{EvaluationsView-6l_Invxt.css → EvaluationsView-BTyYfInB.css} +6 -6
  16. package/dist/assets/{EvaluationsView-VbCSsM2z.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-v5SEEKlZ.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-C_2brmCr.js} +16 -16
  19. package/dist/assets/{ExecutionsView-sSmNa_LK.js → ExecutionsView-CKPZTnZV.js} +21 -18
  20. package/dist/assets/{FileSaver.min-BemkeU_7.js → FileSaver.min-BvxTURBB.js} +1 -1
  21. package/dist/assets/{FixedCollectionParameter-yzvCzSx6.js → FixedCollectionParameter-CA-CigeR.js} +1 -1
  22. package/dist/assets/{ForgotMyPasswordView-BKvBLqbr.js → ForgotMyPasswordView-YyVmo-nw.js} +3 -3
  23. package/dist/assets/{InfoAccordion--ZQQuSPX.js → InfoAccordion-BNmUe2V9.js} +1 -1
  24. package/dist/assets/{InsightsChartAverageRuntime-DGOGXDwW.js → InsightsChartAverageRuntime-C9sCNhzD.js} +5 -4
  25. package/dist/assets/{InsightsChartFailed-1vg5XpxV.js → InsightsChartFailed-DWA6YbZj.js} +5 -4
  26. package/dist/assets/{InsightsChartFailureRate-7nJvVi9O.js → InsightsChartFailureRate-CfknGtrr.js} +5 -4
  27. package/dist/assets/{InsightsChartTimeSaved-DKn1pZ2q.js → InsightsChartTimeSaved-DtLO9DJx.js} +5 -4
  28. package/dist/assets/{InsightsChartTotal-ByrPtNMJ.js → InsightsChartTotal-yX_QJ-44.js} +5 -4
  29. package/dist/assets/{InsightsDashboard-BwLnzxKC.js → InsightsDashboard-BlYvn96O.js} +19 -19
  30. package/dist/assets/{InsightsDashboard-CXbI-Jyg.css → InsightsDashboard-C27Avzrv.css} +2 -2
  31. package/dist/assets/{InsightsPaywall-8Xzv5tgi.js → InsightsPaywall-BCfIY_xn.js} +3 -3
  32. package/dist/assets/{InsightsSummary-CVMZ0AIR.js → InsightsSummary-OiO7efWD.js} +9 -4
  33. package/dist/assets/{InsightsTableWorkflows-DJhX6bQW.css → InsightsTableWorkflows-BTHSCwX8.css} +27 -3
  34. package/dist/assets/{InsightsTableWorkflows-KGsV_wLS.js → InsightsTableWorkflows-pTl3m7wx.js} +80 -27
  35. package/dist/assets/{Logo-DFdhGUpH.js → Logo-8g4P9vyv.js} +1 -1
  36. package/dist/assets/{LogsPanel-Bvy4ANV7.css → LogsPanel-D0xdq4fV.css} +21 -21
  37. package/dist/assets/{LogsPanel-DDzEUcu_.js → LogsPanel-so01MtIR.js} +23 -12
  38. package/dist/assets/{MainHeader-IUjqKc1i.js → MainHeader-CcUlKfHC.js} +20 -26
  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-BV-JzM27.js → MainSidebar-DOGhP_oY.js} +26 -25
  42. package/dist/assets/{N8nDataTableServer-Dq5Mwh9d.js → N8nDataTableServer-9HerjyzX.js} +39 -19
  43. package/dist/assets/{NodeCreation-DCV9QVeh.js → NodeCreation-CVbCKnet.js} +45 -21
  44. package/dist/assets/{NodeCreation-32nlvQSy.css → NodeCreation-CxN6JIS_.css} +9 -1
  45. package/dist/assets/{NodeCreator-C8jv1gta.js → NodeCreator-BOosPF8_.js} +114 -204
  46. package/dist/assets/{NodeCreator-DWE25utr.css → NodeCreator-CkvY2niF.css} +0 -128
  47. package/dist/assets/{NodeDetailsView-D7qedYA0.js → NodeDetailsView-KFidngJi.js} +21 -16
  48. package/dist/assets/{NodeDetailsViewV2-BAkPjDo5.js → NodeDetailsViewV2-BL4KKqW-.js} +21 -16
  49. package/dist/assets/{NodeView-DKlyR0_C.js → NodeView-BzC6ELga.js} +2271 -686
  50. package/dist/assets/{NodeView-BbQy7Are.css → NodeView-G2qfXaOy.css} +766 -95
  51. package/dist/assets/{ProjectHeader-Co0EPo6y.js → ProjectHeader-B9-GdGvC.js} +2 -2
  52. package/dist/assets/{ProjectSettings-CUwuhSyu.js → ProjectSettings-CE4_geFa.js} +7 -5
  53. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DDVpVAyT.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-Bb8zUJvi.js} +1 -1
  54. package/dist/assets/{ResourcesListLayout-0KbQy3_m.js → ResourcesListLayout-ClTEnqVS.js} +3 -3
  55. package/dist/assets/{RunDataJson-T-LRvnsQ.js → RunDataJson-fXQKTIFD.js} +8 -9
  56. package/dist/assets/{RunDataJsonActions-C5tGgl2w.js → RunDataJsonActions-CMP1sUPZ.js} +1 -1
  57. package/dist/assets/RunDataParsedAiContent-CHK6Y4ET.js +298 -0
  58. package/dist/assets/{RunDataSearch-CsykTpQU.js → RunDataSearch-CAZGWZzz.js} +1 -1
  59. package/dist/assets/{RunDataTable-DS-hDrAF.js → RunDataTable-CeqmA-n3.js} +65 -56
  60. package/dist/assets/{RunDataTable-CTBtmQIs.css → RunDataTable-n918b-Qv.css} +55 -55
  61. package/dist/assets/{SamlOnboarding-Dr42BiUa.js → SamlOnboarding-BrdzPMSK.js} +3 -3
  62. package/dist/assets/{SettingsApiView-0TAqOns3.js → SettingsApiView-Cj2YYKAl.js} +5 -4
  63. package/dist/assets/{SettingsCommunityNodesView-BO5mZg81.js → SettingsCommunityNodesView-ChB--kZD.js} +4 -3
  64. package/dist/assets/{SettingsExternalSecrets-BmpYfnUN.js → SettingsExternalSecrets-BjghCvkE.js} +5 -3
  65. package/dist/assets/{SettingsLdapView-AdcIL_WB.js → SettingsLdapView-DIB1-nTk.js} +1 -1
  66. package/dist/assets/{SettingsLogStreamingView-DHAPBv4i.js → SettingsLogStreamingView-BOOGkcwK.js} +1 -1
  67. package/dist/assets/{SettingsPersonalView-D-sKTNF5.js → SettingsPersonalView-DaNZTNUy.js} +1 -1
  68. package/dist/assets/{SettingsSourceControl-D_jgIQPN.js → SettingsSourceControl-B5fQRT0V.js} +10 -8
  69. package/dist/assets/{SettingsSso-DpxORkrt.js → SettingsSso-CWX-T13W.js} +1 -1
  70. package/dist/assets/{SettingsUsageAndPlan-DWu4RW1N.js → SettingsUsageAndPlan-Cnnf9k6X.js} +15 -10
  71. package/dist/assets/{SettingsUsageAndPlan-D6TiPwUx.css → SettingsUsageAndPlan-ZZQpCmyQ.css} +3 -3
  72. package/dist/assets/{SettingsUsersView-r6-ZO8CO.js → SettingsUsersView-BLDi4lpv.js} +107 -44
  73. package/dist/assets/{SettingsUsersView-BuZbf1jq.css → SettingsUsersView-RQTdLxyb.css} +13 -6
  74. package/dist/assets/{SettingsView-DoZ4920P.js → SettingsView-Dtc8MEv6.js} +1 -1
  75. package/dist/assets/{SetupView-Ca70rhsh.js → SetupView-C4C-2Idz.js} +3 -3
  76. package/dist/assets/{SetupWorkflowCredentialsButton-ujybntOa.js → SetupWorkflowCredentialsButton-Pzrxag-k.js} +1 -1
  77. package/dist/assets/{SetupWorkflowFromTemplateView-KE6NTkHC.js → SetupWorkflowFromTemplateView-CRsZDYct.js} +3 -3
  78. package/dist/assets/{SigninView-_rmKLSpx.js → SigninView-COyoSAUi.js} +3 -3
  79. package/dist/assets/{SignoutView-DYPGyBsZ.js → SignoutView-B0t9kc5s.js} +1 -1
  80. package/dist/assets/{SignupView-BDSpYIB0.js → SignupView-BN8MCOnb.js} +3 -3
  81. package/dist/assets/{TableBase-Bz6zRvAL.js → TableBase-BmhIwPwZ.js} +1 -1
  82. package/dist/assets/{Tags-Doq3WsWA.js → Tags-DeTgaVsD.js} +1 -1
  83. package/dist/assets/{TemplateDetails-BzDS-0Fd.js → TemplateDetails-Bh-WSvQ-.js} +2 -2
  84. package/dist/assets/{TemplateList-D_XBHKQu.js → TemplateList-DxvJMjPE.js} +1 -1
  85. package/dist/assets/{TemplatesCollectionView-BvnC5QZ9.js → TemplatesCollectionView-BhilAS_8.js} +6 -6
  86. package/dist/assets/{TemplatesSearchView-CCsnhiD3.js → TemplatesSearchView-CWxnTQ8Z.js} +3 -3
  87. package/dist/assets/{TemplatesView-DbW9D41Q.js → TemplatesView-Co-FQLhr.js} +1 -1
  88. package/dist/assets/{TemplatesWorkflowView-CVFtBBcd.js → TemplatesWorkflowView-DAWgsT0T.js} +6 -6
  89. package/dist/assets/{TriggerPanel-DRpKKKun.css → TriggerPanel-DJv04feX.css} +1 -354
  90. package/dist/assets/{TriggerPanel-CP3_UsCW.js → TriggerPanel-JaXhe1VW.js} +133 -1089
  91. package/dist/assets/{VariablesView-DIZkSQZ3.js → VariablesView-JnfEn1f-.js} +5 -5
  92. package/dist/assets/VueMarkdown-DDKnTMgT.js +1570 -0
  93. package/dist/assets/{WorkerView-DgXLi4d9.js → WorkerView-DZG4C_Qp.js} +6 -5
  94. package/dist/assets/{WorkflowActivator-f0lJXePV.js → WorkflowActivator-C8hP37n7.js} +2 -2
  95. package/dist/assets/{WorkflowExecutionsInfoAccordion-BFSae6PE.js → WorkflowExecutionsInfoAccordion-DCNvkxhh.js} +2 -2
  96. package/dist/assets/{WorkflowExecutionsLandingPage-Bb104kSO.js → WorkflowExecutionsLandingPage-DVp6SoPy.js} +3 -3
  97. package/dist/assets/{WorkflowExecutionsPreview-Do5Rp-8m.js → WorkflowExecutionsPreview-CKYWZWv1.js} +9 -7
  98. package/dist/assets/{WorkflowExecutionsView-BSv7OYhx.js → WorkflowExecutionsView-BIkweP3p.js} +8 -8
  99. package/dist/assets/{WorkflowHistory-CsEfwZK8.js → WorkflowHistory-C0LrWJW0.js} +6 -6
  100. package/dist/assets/{WorkflowOnboardingView-BOvx7CPi.js → WorkflowOnboardingView-CWMUgnLK.js} +1 -1
  101. package/dist/assets/{WorkflowPreview-BQ_GLS2J.js → WorkflowPreview-DmYMBSH3.js} +3 -1
  102. package/dist/assets/{WorkflowsView-DYxrTukw.js → WorkflowsView-jEphnf90.js} +125 -17
  103. package/dist/assets/aiTemplatesStarterCollection.store-oECEA5nR.js +794 -0
  104. package/dist/assets/{chartjs.utils-D8ESC4_p.js → chartjs.utils-CP28DnUQ.js} +2 -2
  105. package/dist/assets/{en-C2EOIYih.js → en-BX7CKkqE.js} +27 -6
  106. package/dist/assets/{global-link-actions-BIVeUMGo.js → global-link-actions-BjpAG7gt.js} +1 -1
  107. package/dist/assets/{import-curl-CjhdjoGU.js → import-curl-BD22LJ4z.js} +1 -1
  108. package/dist/assets/{index-COleXxZf.css → index-BWpYwmXd.css} +541 -1074
  109. package/dist/assets/{index-DAODXvFs.js → index-CjbtyS1n.js} +1 -1
  110. package/dist/assets/{index-B3p3789J.js → index-Cm5yBbby.js} +21381 -15752
  111. package/dist/assets/{pickBy-CaeaG_7P.js → pickBy-DA-1tKxT.js} +1 -1
  112. package/dist/assets/{templateActions-Ct4VGqHx.js → templateActions-D9IAsJ2m.js} +1 -1
  113. package/dist/assets/{typescript.worker-CUj0Nj-S.js → typescript.worker-KwUz68Jx.js} +2499 -157
  114. package/dist/assets/{useBeforeUnload-Yj83KQFp.js → useBeforeUnload-BR-V9Uaz.js} +1 -1
  115. package/dist/assets/{useExecutionDebugging-wUQ9K2sh.js → useExecutionDebugging-C8zR-uFJ.js} +1 -1
  116. package/dist/assets/{useExecutionHelpers-i07QEXws.js → useExecutionHelpers-DQcWcZ8o.js} +1 -1
  117. package/dist/assets/{useImportCurlCommand-Bs8VOC2z.js → useImportCurlCommand-B3-fEq8S.js} +9 -9
  118. package/dist/assets/{RunData-DuKNwYqe.css → useKeybindings-2A271Jke.css} +193 -62
  119. package/dist/assets/{RunData-CctCvWsu.js → useKeybindings-DetzdpXy.js} +288 -1696
  120. package/dist/assets/{useProjectPages-DHCwu3nX.js → useProjectPages-qXIMd_UF.js} +1 -1
  121. package/dist/assets/{usePushConnection-Iyy-883l.js → usePushConnection-Duvg6z8O.js} +10 -2
  122. package/dist/assets/{useWorkflowActivate-DpHXxGAq.js → useWorkflowActivate-BE4Ckf9k.js} +1 -1
  123. package/dist/index.html +3 -7
  124. package/eslint.config.mjs +1 -1
  125. package/index.html +1 -5
  126. package/package.json +1 -1
  127. package/vite.config.mts +23 -3
  128. package/dist/assets/CollectionParameter-DvyRKBx0.js +0 -4
  129. package/dist/assets/RunDataParsedAiContent-BILLIvVH.js +0 -148
  130. package/dist/assets/useKeybindings-BUK7Ngh6.css +0 -133
  131. package/dist/assets/useKeybindings-ul7syjnB.js +0 -118
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, a4 as useWorkflowsStore, aM as useNDVStore, fh as storeToRefs, x as computed, c as useI18n, r as ref, hC as isINodePropertyCollectionList, aa as watch, aT as onBeforeMount, du as deepCopy, h as createElementBlock, g as openBlock, f as createCommentVNode, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, p as N8nText, F as Fragment, y as renderList, e as createBlock, e$ as N8nInputLabel, j as createBaseVNode, n as normalizeClass, a0 as _sfc_main$1, dT as Suspense, dr as _sfc_main$2, hD as Draggable, q as N8nButton, f2 as _sfc_main$3, f1 as N8nSelect, bQ as withModifiers, bs as get, fP as telemetry, _ as _export_sfc } from "./index-B3p3789J.js";
1
+ import { d as defineComponent, a5 as useWorkflowsStore, aN as useNDVStore, fg as storeToRefs, x as computed, c as useI18n, r as ref, h$ as isINodePropertyCollectionList, ab as watch, aS as onBeforeMount, dF as deepCopy, h as createElementBlock, g as openBlock, f as createCommentVNode, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, p as N8nText, F as Fragment, y as renderList, e as createBlock, fZ as N8nInputLabel, j as createBaseVNode, n as normalizeClass, a0 as _sfc_main$1, e4 as Suspense, dC as _sfc_main$2, i0 as Draggable, q as N8nButton, cX as _sfc_main$3, cW as N8nSelect, bP as withModifiers, br as get, gJ as telemetry, _ as _export_sfc } from "./index-Cm5yBbby.js";
2
2
  const _hoisted_1 = ["data-test-id"];
3
3
  const _hoisted_2 = {
4
4
  key: 0,
@@ -1,6 +1,6 @@
1
- import { A as AuthView } from "./AuthView-K2y2JXyp.js";
2
- import { d as defineComponent, v as useSettingsStore, u as useUsersStore, a as useToast, r as ref, x as computed, c as useI18n, e as createBlock, g as openBlock } from "./index-B3p3789J.js";
3
- import "./Logo-DFdhGUpH.js";
1
+ import { A as AuthView } from "./AuthView-dJdngoqx.js";
2
+ import { d as defineComponent, v as useSettingsStore, u as useUsersStore, a as useToast, r as ref, x as computed, c as useI18n, e as createBlock, g as openBlock } from "./index-Cm5yBbby.js";
3
+ import "./Logo-8g4P9vyv.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "ForgotMyPasswordView",
6
6
  setup(__props) {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, Q as createEventBus, r as ref, o as onMounted, c6 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, aU as withDirectives, _ as _export_sfc } from "./index-B3p3789J.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, ir as INSIGHTS_UNIT_MAPPING, io as GRANULARITY_DATE_FORMAT_MASK, iu as transformInsightsAverageRunTime, c as useI18n, e as createBlock, g as openBlock, l as unref, is as index } from "./index-B3p3789J.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-D8ESC4_p.js";
3
- import { s as smartDecimal } from "./InsightsSummary-CVMZ0AIR.js";
4
- import { L as Line } from "./index-DAODXvFs.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, h9 as useCssVar, x as computed, io as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref } from "./index-B3p3789J.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-D8ESC4_p.js";
3
- import { s as smartDecimal } from "./InsightsSummary-CVMZ0AIR.js";
4
- import { B as Bar } from "./index-DAODXvFs.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, h9 as useCssVar, x as computed, io as GRANULARITY_DATE_FORMAT_MASK, iq as transformInsightsFailureRate, c as useI18n, e as createBlock, g as openBlock, l as unref, ir as INSIGHTS_UNIT_MAPPING } from "./index-B3p3789J.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-D8ESC4_p.js";
3
- import { s as smartDecimal } from "./InsightsSummary-CVMZ0AIR.js";
4
- import { B as Bar } from "./index-DAODXvFs.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, io as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref, is as index, it as transformInsightsTimeSaved, ir as INSIGHTS_UNIT_MAPPING } from "./index-B3p3789J.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-D8ESC4_p.js";
3
- import { L as Line } from "./index-DAODXvFs.js";
4
- import "./InsightsSummary-CVMZ0AIR.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, h9 as useCssVar, x as computed, io as GRANULARITY_DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, l as unref } from "./index-B3p3789J.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-D8ESC4_p.js";
3
- import { B as Bar } from "./index-DAODXvFs.js";
4
- import "./InsightsSummary-CVMZ0AIR.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-8Xzv5tgi.js","assets/index-B3p3789J.js","assets/index-COleXxZf.css","assets/InsightsPaywall-CE5W3W4m.css","assets/InsightsChartTotal-ByrPtNMJ.js","assets/chartjs.utils-D8ESC4_p.js","assets/InsightsSummary-CVMZ0AIR.js","assets/InsightsSummary-DTFIhBF3.css","assets/index-DAODXvFs.js","assets/InsightsChartFailed-1vg5XpxV.js","assets/InsightsChartFailureRate-7nJvVi9O.js","assets/InsightsChartTimeSaved-DKn1pZ2q.js","assets/InsightsChartAverageRuntime-DGOGXDwW.js","assets/InsightsTableWorkflows-KGsV_wLS.js","assets/N8nDataTableServer-Dq5Mwh9d.js","assets/InsightsTableWorkflows-DJhX6bQW.css"])))=>i.map(i=>d[i]);
2
- import { d as defineComponent, cU as useModel, hj as useInsightsStore, r as ref, hz as UNLICENSED_TIME_RANGE, hn 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, f2 as _sfc_main$3, k as createTextVNode, f as createCommentVNode, t as toDisplayString, j as createBaseVNode, f1 as N8nSelect, x as computed, c as useI18n, i as createVNode, p as N8nText, q as N8nButton, hA as ElDialog, al as usePageRedirectionHelper, _ as _export_sfc, et as defineAsyncComponent, aa as watch, o as onMounted, ai as useDocumentTitle, m as N8nHeading, n as normalizeClass, eE as _sfc_main$4, b_ as resolveDynamicComponent, ay as useTelemetry, hB as TELEMETRY_TIME_RANGE, aI as __vitePreload } from "./index-B3p3789J.js";
3
- import { I as InsightsSummary } from "./InsightsSummary-CVMZ0AIR.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-8Xzv5tgi.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-ByrPtNMJ.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-1vg5XpxV.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-7nJvVi9O.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-DKn1pZ2q.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-DGOGXDwW.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-KGsV_wLS.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-B3p3789J.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, hn as TIME_RANGE_LABELS, N as N8nIcon, f as createCommentVNode, ho as INSIGHT_IMPACT_TYPES, ay as useTelemetry, hp as INSIGHTS_UNIT_IMPACT_MAPPING, _ as _export_sfc } from "./index-B3p3789J.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-c4d44bd3] {
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-c4d44bd3] {
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-c4d44bd3]: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,64 +1,90 @@
1
- import { d as defineComponent, cT as mergeModels, x as computed, r as ref, c as useI18n, iq as transformInsightsFailureRate, ir as INSIGHTS_UNIT_MAPPING, it as transformInsightsTimeSaved, iu as transformInsightsAverageRunTime, cU 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-B3p3789J.js";
2
- import { N as N8nDataTableServer } from "./N8nDataTableServer-Dq5Mwh9d.js";
3
- import { s as smartDecimal } from "./InsightsSummary-CVMZ0AIR.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
46
  width: 400,
26
- disableSort: true
47
+ disableSort: !props.isDashboardEnabled
27
48
  },
28
49
  {
29
50
  title: i18n.baseText("insights.banner.title.total"),
30
51
  key: "total",
31
52
  value(row) {
32
53
  return row.total.toLocaleString("en-US");
33
- }
54
+ },
55
+ disableSort: !props.isDashboardEnabled
34
56
  },
35
57
  {
36
58
  title: i18n.baseText("insights.banner.title.failed"),
37
59
  key: "failed",
38
60
  value(row) {
39
61
  return row.failed.toLocaleString("en-US");
40
- }
62
+ },
63
+ disableSort: !props.isDashboardEnabled
41
64
  },
42
65
  {
43
66
  title: i18n.baseText("insights.banner.title.failureRate"),
44
67
  key: "failureRate",
45
68
  value(row) {
46
69
  return smartDecimal(transformInsightsFailureRate(row.failureRate)) + INSIGHTS_UNIT_MAPPING.failureRate(row.failureRate);
47
- }
70
+ },
71
+ disableSort: !props.isDashboardEnabled
48
72
  },
49
73
  {
50
74
  title: i18n.baseText("insights.banner.title.timeSaved"),
51
75
  key: "timeSaved",
52
76
  value(row) {
53
77
  return smartDecimal(transformInsightsTimeSaved(row.timeSaved)) + INSIGHTS_UNIT_MAPPING.timeSaved(row.timeSaved);
54
- }
78
+ },
79
+ disableSort: !props.isDashboardEnabled
55
80
  },
56
81
  {
57
82
  title: i18n.baseText("insights.banner.title.averageRunTime"),
58
83
  key: "averageRunTime",
59
84
  value(row) {
60
85
  return smartDecimal(transformInsightsAverageRunTime(row.averageRunTime)) + INSIGHTS_UNIT_MAPPING.averageRunTime(row.averageRunTime);
61
- }
86
+ },
87
+ disableSort: !props.isDashboardEnabled
62
88
  },
63
89
  {
64
90
  title: i18n.baseText("insights.dashboard.table.projectName"),
@@ -100,12 +126,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
100
126
  size: "medium",
101
127
  class: "mb-s"
102
128
  }, {
103
- default: withCtx(() => _cache[4] || (_cache[4] = [
104
- createTextVNode("Workflow insights")
105
- ])),
129
+ default: withCtx(() => [
130
+ createTextVNode(toDisplayString(unref(i18n).baseText("insights.dashboard.table.title")), 1)
131
+ ]),
106
132
  _: 1
107
133
  }),
108
- createVNode(N8nDataTableServer, {
134
+ createVNode(unref(N8nDataTableServer), {
109
135
  "sort-by": sortBy.value,
110
136
  "onUpdate:sortBy": _cache[0] || (_cache[0] = ($event) => sortBy.value = $event),
111
137
  page: currentPage.value,
@@ -114,13 +140,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
114
140
  "onUpdate:itemsPerPage": _cache[2] || (_cache[2] = ($event) => itemsPerPage.value = $event),
115
141
  items: rows.value,
116
142
  headers: headers.value,
117
- "items-length": _ctx.data.count,
143
+ "items-length": tableData.value.count,
118
144
  "onUpdate:options": _cache[3] || (_cache[3] = ($event) => emit("update:options", $event))
119
- }, {
145
+ }, createSlots({
120
146
  [`item.workflowName`]: withCtx(({ item }) => [
121
147
  createVNode(_component_router_link, {
122
148
  to: getWorkflowLink(item),
123
- class: "link",
149
+ class: normalizeClass(_ctx.$style.link),
124
150
  onClick: ($event) => trackWorkflowClick(item)
125
151
  }, {
126
152
  default: withCtx(() => [
@@ -129,25 +155,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
129
155
  placement: "top"
130
156
  }, {
131
157
  default: withCtx(() => [
132
- createBaseVNode("div", _hoisted_1, toDisplayString(item.workflowName), 1)
158
+ createBaseVNode("div", {
159
+ class: normalizeClass(_ctx.$style.ellipsis)
160
+ }, toDisplayString(item.workflowName), 3)
133
161
  ]),
134
162
  _: 2
135
163
  }, 1032, ["content"])
136
164
  ]),
137
165
  _: 2
138
- }, 1032, ["to", "onClick"])
166
+ }, 1032, ["to", "class", "onClick"])
139
167
  ]),
140
168
  [`item.timeSaved`]: withCtx(({ item, value }) => [
141
169
  !item.timeSaved ? (openBlock(), createBlock(_component_router_link, {
142
170
  key: 0,
143
171
  to: getWorkflowLink(item, { settings: "true" }),
144
- class: "link"
172
+ class: normalizeClass(_ctx.$style.link)
145
173
  }, {
146
174
  default: withCtx(() => [
147
175
  createTextVNode(toDisplayString(unref(i18n).baseText("insights.dashboard.table.estimate")), 1)
148
176
  ]),
149
177
  _: 2
150
- }, 1032, ["to"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
178
+ }, 1032, ["to", "class"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
151
179
  createTextVNode(toDisplayString(value), 1)
152
180
  ], 64))
153
181
  ]),
@@ -158,7 +186,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
158
186
  placement: "top"
159
187
  }, {
160
188
  default: withCtx(() => [
161
- createBaseVNode("div", _hoisted_2, toDisplayString(item.projectName), 1)
189
+ createBaseVNode("div", {
190
+ class: normalizeClass(_ctx.$style.ellipsis)
191
+ }, toDisplayString(item.projectName), 3)
162
192
  ]),
163
193
  _: 2
164
194
  }, 1032, ["content"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -166,12 +196,35 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
166
196
  ], 64))
167
197
  ]),
168
198
  _: 2
169
- }, 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"])
170
212
  ]);
171
213
  };
172
214
  }
173
215
  });
174
- const InsightsTableWorkflows = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c4d44bd3"]]);
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]]);
175
228
  export {
176
229
  InsightsTableWorkflows as default
177
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, fR 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-B3p3789J.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",