n8n-editor-ui 1.108.1 → 1.109.1-exp.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 (122) hide show
  1. package/dist/assets/{AddDataStoreModal-BduD-_3h.js → AddDataStoreModal-CMmqKpuZ.js} +27 -10
  2. package/dist/assets/{AnimatedSpinner-C6hUJocW.js → AnimatedSpinner-BQAVrRf4.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CPuMOvlw.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C-e8Hf86.js} +1 -1
  4. package/dist/assets/{AuthView-C11JwvOE.js → AuthView-C-1QMeAi.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-BB7axCnx.js → ChangePasswordView-CMm75HVn.js} +3 -3
  6. package/dist/assets/CollectionParameter-0KmNfK7e.js +4 -0
  7. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-D-Jt6Gli.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-nE_il7-e.js} +1 -1
  8. package/dist/assets/{CredentialsView-CfQzHZs_.js → CredentialsView-DEiS_bGa.js} +9 -8
  9. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-4xXQM9V0.js → DataStoreActions.vue_vue_type_script_setup_true_lang-Uy8kEcSJ.js} +20 -14
  10. package/dist/assets/{DataStoreDetailsView-B4_8Wywn.js → DataStoreDetailsView-1Yfp0U49.js} +5099 -65
  11. package/dist/assets/{DataStoreDetailsView-B0CKO8ZR.css → DataStoreDetailsView-BxDmY87S.css} +310 -25
  12. package/dist/assets/{DataStoreView-Ca7MkqMT.js → DataStoreView-B0rFOKrx.js} +56 -88
  13. package/dist/assets/{DataStoreView-D-Wmcgs5.css → DataStoreView-bZrewhaR.css} +10 -15
  14. package/dist/assets/{DemoFooter-mdcYI9V4.js → DemoFooter-COCwOlSE.js} +6 -6
  15. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-sIvwrfw-.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CsEyfmIK.js} +1 -1
  16. package/dist/assets/{EntityNotFound-Y2W4TM3k.js → EntityNotFound-DpLmv3ME.js} +1 -1
  17. package/dist/assets/{EntityUnAuthorised-DWipzXTF.js → EntityUnAuthorised-CR_6Y37T.js} +1 -1
  18. package/dist/assets/{ErrorView-hJzoyT_-.js → ErrorView-CIKSp6id.js} +1 -1
  19. package/dist/assets/{EvaluationsRootView-DYV7_RjO.js → EvaluationsRootView-U5uRCCja.js} +1 -1
  20. package/dist/assets/{EvaluationsView-CxpomFUt.js → EvaluationsView-DW2Oipdw.js} +3 -3
  21. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-cu2lzua8.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-DrLiE1HT.js} +2 -2
  22. package/dist/assets/{ExecutionsView-Cr_GKQZv.js → ExecutionsView-BYoQ6bA_.js} +8 -8
  23. package/dist/assets/{FixedCollectionParameter-7vnFpRXo.js → FixedCollectionParameter-BP6Hp-qk.js} +1 -1
  24. package/dist/assets/{ForgotMyPasswordView-n42XhNZS.js → ForgotMyPasswordView-c1wnd6O3.js} +3 -3
  25. package/dist/assets/{InfoAccordion-B8s_JAdp.js → InfoAccordion-DovNmWsC.js} +1 -1
  26. package/dist/assets/{InsightsChartAverageRuntime-DV_Ju7Zp.js → InsightsChartAverageRuntime-BW517tv0.js} +4 -4
  27. package/dist/assets/{InsightsChartFailed-n5LqWGkq.js → InsightsChartFailed-CpKGAn-q.js} +4 -4
  28. package/dist/assets/{InsightsChartFailureRate-DV991eOY.js → InsightsChartFailureRate-D6ty7UwQ.js} +4 -4
  29. package/dist/assets/{InsightsChartTimeSaved-BvwxGS1S.js → InsightsChartTimeSaved-BXLf4z0O.js} +4 -4
  30. package/dist/assets/{InsightsChartTotal-BOWuHwMh.js → InsightsChartTotal-BIjDUiy9.js} +4 -4
  31. package/dist/assets/{InsightsDashboard-Bj79r2Dt.js → InsightsDashboard-NTagdefb.js} +10 -10
  32. package/dist/assets/{InsightsPaywall-BMm5-uje.js → InsightsPaywall-CoFrKj_G.js} +1 -1
  33. package/dist/assets/{InsightsSummary-CpUOsQoR.js → InsightsSummary-BwAXblg3.js} +1 -1
  34. package/dist/assets/{InsightsTableWorkflows-BAqDod9M.js → InsightsTableWorkflows-DX86KpbA.js} +13 -11
  35. package/dist/assets/{Logo-Bk-9Gwmg.js → Logo-CTdxpXL9.js} +1 -1
  36. package/dist/assets/{LogsPanel-BnH3S-xQ.js → LogsPanel-ClZ6L19W.js} +5 -5
  37. package/dist/assets/{MainHeader-lQ8AnThi.js → MainHeader-BZ-UXtjK.js} +482 -472
  38. package/dist/assets/{MainHeader-fMUCh_vG.css → MainHeader-BofAi8wS.css} +42 -42
  39. package/dist/assets/{MainSidebar-Df5Lmhlu.js → MainSidebar-DjxdwIl_.js} +19 -6
  40. package/dist/assets/{NodeCreation-Cx5MUGEE.js → NodeCreation-jcmpUiwP.js} +3 -3
  41. package/dist/assets/NodeCreator-COTYfPaK.css +1637 -0
  42. package/dist/assets/{NodeCreator-DHfJ_cC7.js → NodeCreator-DPZTIfnb.js} +28 -1225
  43. package/dist/assets/{NodeDetailsView-Bb6YAUqN.js → NodeDetailsView-CU60UMMm.js} +13 -13
  44. package/dist/assets/{NodeDetailsViewV2-uFzp-aaB.js → NodeDetailsViewV2-BfUlqsae.js} +13 -13
  45. package/dist/assets/{NodeView-kIkCm9Kt.js → NodeView-g29_WXte.js} +15 -11
  46. package/dist/assets/PageViewLayout-CJlzbuVj.css +141 -0
  47. package/dist/assets/PageViewLayout-DfWGehvM.js +27 -0
  48. package/dist/assets/PrebuiltAgentTemplatesView-BOcmbn6B.js +196 -0
  49. package/dist/assets/PrebuiltAgentTemplatesView-COxu7Iih.css +166 -0
  50. package/dist/assets/{ProjectBreadcrumb-CzeQoSDB.js → ProjectBreadcrumb-CWq8ubCf.js} +1 -1
  51. package/dist/assets/{ProjectHeader-Br8yvqkf.js → ProjectHeader-RvcbYSCb.js} +16 -19
  52. package/dist/assets/{ProjectSettings-Dc1-Sv7W.js → ProjectSettings-COFuN2-R.js} +3 -3
  53. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CC7YLT_t.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CO-M5R89.js} +1 -1
  54. package/dist/assets/{ResourcesListLayout-ozILtp5g.js → ResourcesListLayout-CL3ardp2.js} +14 -36
  55. package/dist/assets/{ResourcesListLayout-C1JgyGhX.css → ResourcesListLayout-CVKyKkt9.css} +0 -140
  56. package/dist/assets/{RunDataJson-CRFhfhsN.js → RunDataJson-CiZmogYm.js} +3 -3
  57. package/dist/assets/{RunDataJsonActions-rXu_dfcA.js → RunDataJsonActions-xYBJCH8-.js} +1 -1
  58. package/dist/assets/{RunDataParsedAiContent-CkUxt-9z.js → RunDataParsedAiContent-BbwMZ2cf.js} +2 -2
  59. package/dist/assets/{RunDataSearch-DYe-cpkq.js → RunDataSearch-7nGkMeXI.js} +1 -1
  60. package/dist/assets/{RunDataTable-Bt4rcVnP.js → RunDataTable-b6xDbVuB.js} +1 -1
  61. package/dist/assets/{SamlOnboarding-DoCTEauY.js → SamlOnboarding-TBQugaMs.js} +3 -3
  62. package/dist/assets/{SettingsApiView-DpQfNJql.js → SettingsApiView-CcUQJaIT.js} +1 -1
  63. package/dist/assets/{SettingsCommunityNodesView-D_XkgBdt.js → SettingsCommunityNodesView-B315yNJi.js} +4 -4
  64. package/dist/assets/{SettingsExternalSecrets-LhOGgphB.js → SettingsExternalSecrets-SZcVtzZ_.js} +1 -1
  65. package/dist/assets/{SettingsLdapView-XcnXdARP.js → SettingsLdapView-rNCQ7v3o.js} +1 -1
  66. package/dist/assets/{SettingsLogStreamingView-BONkwVIB.js → SettingsLogStreamingView-RDx9A9tb.js} +1 -1
  67. package/dist/assets/{SettingsPersonalView-2XpKuDxm.js → SettingsPersonalView-9ndK4DTC.js} +1 -1
  68. package/dist/assets/{SettingsSourceControl-DXyfgX21.js → SettingsSourceControl-BwfXpwbQ.js} +1 -1
  69. package/dist/assets/{SettingsSso-DBPl52gz.js → SettingsSso-Dme0tqgI.js} +7 -5
  70. package/dist/assets/{SettingsUsageAndPlan-CRRW-luY.js → SettingsUsageAndPlan-HFRQcbGO.js} +1 -1
  71. package/dist/assets/{SettingsUsersView-3nNUeWJF.js → SettingsUsersView-WQaWa1Xg.js} +1 -1
  72. package/dist/assets/{SettingsView-D_E-tbUh.js → SettingsView-BOFF8MIt.js} +1 -1
  73. package/dist/assets/{SetupView-Dawd6Tdz.js → SetupView-D4ma4QqQ.js} +3 -3
  74. package/dist/assets/{SetupWorkflowCredentialsButton-HjpsC5yu.js → SetupWorkflowCredentialsButton-qBefMaeP.js} +1 -1
  75. package/dist/assets/{SetupWorkflowFromTemplateView-BUjd1MTh.js → SetupWorkflowFromTemplateView-eThiBMJr.js} +3 -3
  76. package/dist/assets/{SigninView-REbhOdEi.js → SigninView-Dyy4AWIv.js} +3 -3
  77. package/dist/assets/{SignoutView-DNWe1_WW.js → SignoutView-4fiMBT_O.js} +1 -1
  78. package/dist/assets/{SignupView-DvAKWSMp.js → SignupView-D8EgeExw.js} +3 -3
  79. package/dist/assets/{TableBase-DpxvhaiM.js → TableBase-OkNFnxMN.js} +1 -1
  80. package/dist/assets/{Tag-BU_1pCk_.js → Tag-DU_lYKFb.js} +1 -1
  81. package/dist/assets/{Tags-BVRt8Mzw.js → Tags-DwGsPbMq.js} +2 -2
  82. package/dist/assets/{TemplateDetails-BzUhHza5.js → TemplateDetails-ClayPQIC.js} +2 -2
  83. package/dist/assets/{TemplateList-CsrMALsz.js → TemplateList-BmhAYtqD.js} +1 -1
  84. package/dist/assets/{TemplatesCollectionView-DyEPNFhT.js → TemplatesCollectionView-C_XvnuSE.js} +7 -7
  85. package/dist/assets/{TemplatesSearchView-DDGn2iPF.js → TemplatesSearchView-C45ew-79.js} +3 -3
  86. package/dist/assets/{TemplatesView-Q-Ygp-l3.js → TemplatesView-BUhBCzDh.js} +1 -1
  87. package/dist/assets/{TemplatesWorkflowView-Ba-myyYc.js → TemplatesWorkflowView-Cqx0LH2x.js} +7 -7
  88. package/dist/assets/{TriggerPanel-DmVMaaLr.css → TriggerPanel-BFPMKijE.css} +4 -4
  89. package/dist/assets/{TriggerPanel-DWnvpkRN.js → TriggerPanel-CPRAkoxG.js} +20 -9
  90. package/dist/assets/{VariablesView-D1C7kn8G.js → VariablesView-Dx2OtCEI.js} +6 -5
  91. package/dist/assets/{WorkerView-7idQWzAy.js → WorkerView-P8T10YwW.js} +6 -6
  92. package/dist/assets/{WorkflowActivator-5rkOtBNg.js → WorkflowActivator-_e923o0y.js} +3 -3
  93. package/dist/assets/{WorkflowExecutionsInfoAccordion-CACMIZmQ.js → WorkflowExecutionsInfoAccordion-DJpH9yyI.js} +2 -2
  94. package/dist/assets/{WorkflowExecutionsLandingPage-Bx1tyNO5.js → WorkflowExecutionsLandingPage-BYSAKviI.js} +3 -3
  95. package/dist/assets/{WorkflowExecutionsPreview-D7casZ5n.js → WorkflowExecutionsPreview-CEsBtvmn.js} +4 -4
  96. package/dist/assets/{WorkflowExecutionsView-CEt2aAxh.js → WorkflowExecutionsView-B0a-jegq.js} +7 -7
  97. package/dist/assets/{WorkflowHistory-Ca1cITF8.js → WorkflowHistory-BTMuD-Rw.js} +3 -3
  98. package/dist/assets/{WorkflowOnboardingView-Dj5r1TEe.js → WorkflowOnboardingView-yyOF5Tfj.js} +1 -1
  99. package/dist/assets/{WorkflowPreview-BM8KajvD.js → WorkflowPreview-FLb0vqTZ.js} +1 -1
  100. package/dist/assets/{WorkflowsView-CtEZYf3I.js → WorkflowsView-E-TpCSK5.js} +113 -30
  101. package/dist/assets/{canvas-D0IR7_I9.js → canvas-DVwUwHyq.js} +1 -1
  102. package/dist/assets/{chartjs.utils-Cl3MP1kj.js → chartjs.utils-TbG5rKwD.js} +2 -2
  103. package/dist/assets/{core-ChTWffJl.js → core-xJ_ye7-C.js} +1 -1
  104. package/dist/assets/{dataStore.store-TYb453Ex.js → dataStore.store-_vnx0W6W.js} +123 -4
  105. package/dist/assets/{en-BGDurvS-.js → en-Dky7DMCM.js} +36 -23
  106. package/dist/assets/{global-link-actions-DVZ42e62.js → global-link-actions-B6KV3Sbr.js} +1 -1
  107. package/dist/assets/{index-C6NR226r.css → index-Ced82689.css} +3178 -1103
  108. package/dist/assets/{index-DuT-FIl1.js → index-Cz15Tiv9.js} +8223 -6692
  109. package/dist/assets/{index-rj5i1dCk.js → index-DVGGZEuK.js} +1 -1
  110. package/dist/assets/{pickBy-Dt7YGwxv.js → pickBy-Bd6X8Hwr.js} +1 -1
  111. package/dist/assets/{readyToRunWorkflows.store-BMekdydj.js → readyToRunWorkflows.store-Cmgt_RuC.js} +1 -1
  112. package/dist/assets/{templateActions-BJtozPHh.js → templateActions-C8pcWzAR.js} +1 -1
  113. package/dist/assets/{useBeforeUnload-_0Sc5GzG.js → useBeforeUnload-BkXoGUBm.js} +1 -1
  114. package/dist/assets/{useExecutionDebugging-BE0aGBWM.js → useExecutionDebugging-Frigwi9s.js} +1 -1
  115. package/dist/assets/{useImportCurlCommand-dBmf2eJ5.js → useImportCurlCommand-C8hZCPg6.js} +10 -3
  116. package/dist/assets/{useProjectPages-BkXBOvhp.js → useProjectPages-atXZB4mX.js} +1 -1
  117. package/dist/assets/{usePushConnection-_wOU-QzC.js → usePushConnection-CdWJ1GHK.js} +8 -3
  118. package/dist/assets/{useWorkflowActivate-IL8D7V3s.js → useWorkflowActivate-DUdD-y87.js} +1 -1
  119. package/dist/index.html +2 -2
  120. package/package.json +1 -1
  121. package/dist/assets/CollectionParameter-Cgq5mid5.js +0 -4
  122. package/dist/assets/NodeCreator-COgNP4W1.css +0 -3569
@@ -1,114 +1,6 @@
1
- import { d as defineComponent, h as createElementBlock, g as openBlock, K as mergeProps, j as createBaseVNode, Q as renderSlot, f as createCommentVNode, n as normalizeClass, e as createBlock, t as toDisplayString, l as unref, hO as ElTag, w as withCtx, k as createTextVNode, N as N8nIcon, D as useI18n, i as createVNode, _ as _export_sfc, d0 as reactive, o as onMounted, bn as useExternalHooks, P as onBeforeUnmount, b$ as toRefs, d2 as useNodeCreatorStore, h5 as useActions, hP as useViewStacks, hp as useNodeType, ah as useNodeTypesStore, r as ref, x as computed, hQ as DEFAULT_SUBCATEGORY, hR as CREDENTIAL_ONLY_NODE_PREFIX, c as useI18n$1, hS as shouldShowCommunityNodeDetails, hT as HITL_SUBCATEGORY, fc as isCommunityPackageName, hU as isNodePreviewKey, hV as removePreviewToken, ca as resolveDirective, bp as createSlots, a4 as Tooltip, b2 as withDirectives, ej as COMMUNITY_NODES_INSTALLATION_DOCS_URL, b3 as vShow, U as normalizeStyle, bV as NodeIcon, B as withModifiers, dA as DRAG_EVENT_DATA_KEY, ap as useTelemetry, hW as camelCase, hX as N8nNodeIcon, ht as WEBHOOK_NODE_TYPE, hY as getNewNodePosition, hZ as DEFAULT_NODE_SIZE, u as useUsersStore, p as N8nText, q as N8nButton, h_ as useKeyboardNavigation, a9 as useWorkflowsStore, af as watch, c0 as normalizeProps, c1 as guardReactiveProps, F as Fragment, A as renderList, c5 as onUnmounted, dD as N8nLoading, h$ as REGULAR_NODE_CREATOR_VIEW, ei as useCommunityNodesStore, i0 as _sfc_main$o, eV as i18n, i1 as captureException, i2 as useCalloutHelpers, i3 as CUSTOM_API_CALL_KEY, i4 as TRIGGER_NODE_CREATOR_VIEW, i5 as OPEN_AI_NODE_TYPE, i6 as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, i7 as getActiveViewCallouts, i8 as withMemo, z as N8nCallout, cK as InfoTip, i9 as CommunityNodeFooter, ia as HTTP_REQUEST_NODE_TYPE, fm as createStaticVNode, C as N8nLink, ib as REQUEST_NODE_FORM_URL, ic as filterAndSearchNodes, id as getRootSearchCallouts, ie as PRE_BUILT_AGENTS_COLLECTION, ig as prepareCommunityNodeDetailsViewStack, hA as getNodeIconSource, ih as transformNodeType, ii as AINodesView, ij as AIView, ik as RegularView, il as TriggerView, im as flattenCreateElements, io as getHumanInTheLoopActions, ip as AI_OTHERS_NODE_CREATOR_VIEW, iq as AI_NODE_CREATOR_VIEW, a as useToast, d3 as useCredentialsStore, Y as useDebounce, e0 as N8nNotice, hv as Transition, ir as AI_EVALUATION, is as AI_UNCATEGORIZED_CATEGORY, Z as useUIStore, fa as useAssistantStore, d6 as useBuilderStore, bo as onClickOutside, a5 as _sfc_main$p, it as SlideTransition, iu as useActionsGenerator } from "./index-DuT-FIl1.js";
2
- const _hoisted_1$b = ["textContent"];
3
- const _hoisted_2$4 = ["textContent"];
4
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
5
- __name: "NodeCreatorNode",
6
- props: {
7
- active: { type: Boolean },
8
- isAi: { type: Boolean },
9
- isTrigger: { type: Boolean },
10
- description: {},
11
- tag: {},
12
- title: {},
13
- showActionArrow: { type: Boolean },
14
- isOfficial: { type: Boolean }
15
- },
16
- emits: ["tooltipClick"],
17
- setup(__props) {
18
- const { t } = useI18n();
19
- return (_ctx, _cache) => {
20
- return openBlock(), createElementBlock("div", mergeProps({
21
- class: {
22
- [_ctx.$style.creatorNode]: true,
23
- [_ctx.$style.hasAction]: !_ctx.showActionArrow
24
- }
25
- }, _ctx.$attrs), [
26
- createBaseVNode("div", {
27
- class: normalizeClass(_ctx.$style.nodeIcon)
28
- }, [
29
- renderSlot(_ctx.$slots, "icon", {}, void 0, true)
30
- ], 2),
31
- createBaseVNode("div", null, [
32
- createBaseVNode("div", {
33
- class: normalizeClass(_ctx.$style.details)
34
- }, [
35
- createBaseVNode("span", {
36
- class: normalizeClass(_ctx.$style.name),
37
- "data-test-id": "node-creator-item-name",
38
- textContent: toDisplayString(_ctx.title)
39
- }, null, 10, _hoisted_1$b),
40
- _ctx.tag ? (openBlock(), createBlock(unref(ElTag), {
41
- key: 0,
42
- class: normalizeClass(_ctx.$style.tag),
43
- size: "small",
44
- round: "",
45
- type: _ctx.tag.type ?? "success"
46
- }, {
47
- default: withCtx(() => [
48
- createTextVNode(toDisplayString(_ctx.tag.text), 1)
49
- ]),
50
- _: 1
51
- }, 8, ["class", "type"])) : createCommentVNode("", true),
52
- _ctx.isTrigger ? (openBlock(), createBlock(unref(N8nIcon), {
53
- key: 1,
54
- icon: "bolt-filled",
55
- size: "xsmall",
56
- title: unref(t)("nodeCreator.nodeItem.triggerIconTitle"),
57
- class: normalizeClass(_ctx.$style.triggerIcon)
58
- }, null, 8, ["title", "class"])) : createCommentVNode("", true),
59
- renderSlot(_ctx.$slots, "extraDetails", {}, void 0, true)
60
- ], 2),
61
- _ctx.description ? (openBlock(), createElementBlock("p", {
62
- key: 0,
63
- "data-test-id": "node-creator-item-description",
64
- class: normalizeClass(_ctx.$style.description),
65
- textContent: toDisplayString(_ctx.description)
66
- }, null, 10, _hoisted_2$4)) : createCommentVNode("", true)
67
- ]),
68
- renderSlot(_ctx.$slots, "dragContent", {}, void 0, true),
69
- _ctx.showActionArrow ? (openBlock(), createElementBlock("button", {
70
- key: 0,
71
- class: normalizeClass(_ctx.$style.panelIcon)
72
- }, [
73
- createVNode(unref(N8nIcon), {
74
- icon: "arrow-right",
75
- size: "large"
76
- })
77
- ], 2)) : createCommentVNode("", true)
78
- ], 16);
79
- };
80
- }
81
- });
82
- const creatorNode = "_creatorNode_190ig_123";
83
- const hasAction = "_hasAction_190ig_130";
84
- const panelIcon = "_panelIcon_190ig_134";
85
- const tag = "_tag_190ig_138";
86
- const tooltipIcon$1 = "_tooltipIcon_190ig_161";
87
- const details = "_details_190ig_167";
88
- const nodeIcon$5 = "_nodeIcon_190ig_173";
89
- const name$1 = "_name_190ig_178";
90
- const description$1 = "_description_190ig_184";
91
- const aiIcon = "_aiIcon_190ig_192";
92
- const triggerIcon$1 = "_triggerIcon_190ig_196";
93
- const style0$l = {
94
- creatorNode,
95
- hasAction,
96
- panelIcon,
97
- tag,
98
- tooltipIcon: tooltipIcon$1,
99
- details,
100
- nodeIcon: nodeIcon$5,
101
- name: name$1,
102
- description: description$1,
103
- aiIcon,
104
- triggerIcon: triggerIcon$1
105
- };
106
- const cssModules$l = {
107
- "$style": style0$l
108
- };
109
- const NodeCreatorNode = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__cssModules", cssModules$l], ["__scopeId", "data-v-878aee66"]]);
110
- const _hoisted_1$a = ["placeholder", "value"];
111
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
1
+ import { d as defineComponent, d1 as reactive, o as onMounted, bp as useExternalHooks, W as onBeforeUnmount, c1 as toRefs, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, i as createVNode, N as N8nIcon, _ as _export_sfc, l as unref, hU as REGULAR_NODE_CREATOR_VIEW, F as Fragment, X as renderSlot, hV as useViewStacks, r as ref, ej as useCommunityNodesStore, ad as useNodeTypesStore, x as computed, u as useUsersStore, e as createBlock, p as N8nText, w as withCtx, k as createTextVNode, t as toDisplayString, hW as _sfc_main$b, a9 as Tooltip, eW as i18n, hX as captureException, hY as useKeyboardNavigation, hb as useActions, d3 as useNodeCreatorStore, bm as useCalloutHelpers, hZ as CUSTOM_API_CALL_KEY, h_ as TRIGGER_NODE_CREATOR_VIEW, h$ as isNodePreviewKey, i0 as OPEN_AI_NODE_TYPE, i1 as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, al as useTelemetry, i2 as getActiveViewCallouts, cc as resolveDirective, i3 as ItemsRenderer, br as createSlots, i4 as withMemo, i5 as CategorizedItemsRenderer, c as useI18n, z as N8nCallout, b2 as withDirectives, cL as InfoTip, B as withModifiers, i6 as CommunityNodeFooter, i7 as HTTP_REQUEST_NODE_TYPE, fo as createStaticVNode, C as N8nLink, i8 as REQUEST_NODE_FORM_URL, i9 as filterAndSearchNodes, ia as getRootSearchCallouts, hz as WEBHOOK_NODE_TYPE, ib as PRE_BUILT_AGENTS_COLLECTION, ic as camelCase, id as shouldShowCommunityNodeDetails, fe as isCommunityPackageName, ie as prepareCommunityNodeDetailsViewStack, hG as getNodeIconSource, ig as transformNodeType, ih as AINodesView, ii as AIView, ij as RegularView, ik as TriggerView, il as flattenCreateElements, im as HITL_SUBCATEGORY, io as getHumanInTheLoopActions, ip as AI_OTHERS_NODE_CREATOR_VIEW, iq as AI_NODE_CREATOR_VIEW, a as useToast, bX as NodeIcon, ir as OfficialIcon, q as N8nButton, d4 as useCredentialsStore, is as removePreviewToken, P as useDebounce, c7 as onUnmounted, a7 as watch, e1 as N8nNotice, c2 as normalizeProps, K as mergeProps, hB as Transition, it as AI_EVALUATION, iu as AI_UNCATEGORIZED_CATEGORY, Q as useUIStore, fc as useAssistantStore, d7 as useBuilderStore, bq as onClickOutside, aa as _sfc_main$c, ap as normalizeStyle, iv as SlideTransition, dB as DRAG_EVENT_DATA_KEY, iw as useActionsGenerator } from "./index-Cz15Tiv9.js";
2
+ const _hoisted_1$5 = ["placeholder", "value"];
3
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
112
4
  __name: "SearchBar",
113
5
  props: {
114
6
  placeholder: { default: "" },
@@ -169,7 +61,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
169
61
  "data-test-id": "node-creator-search-bar",
170
62
  tabindex: "0",
171
63
  onInput
172
- }, null, 42, _hoisted_1$a)
64
+ }, null, 42, _hoisted_1$5)
173
65
  ], 2),
174
66
  _ctx.modelValue.length > 0 ? (openBlock(), createElementBlock("div", {
175
67
  key: 0,
@@ -187,1113 +79,24 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
187
79
  });
188
80
  const searchContainer = "_searchContainer_w19t7_123";
189
81
  const prefix = "_prefix_w19t7_139";
190
- const active$3 = "_active_w19t7_144";
82
+ const active$1 = "_active_w19t7_144";
191
83
  const text = "_text_w19t7_148";
192
84
  const suffix = "_suffix_w19t7_164";
193
85
  const clear = "_clear_w19t7_170";
194
86
  const clickable = "_clickable_w19t7_183";
195
- const style0$k = {
87
+ const style0$8 = {
196
88
  searchContainer,
197
89
  prefix,
198
- active: active$3,
90
+ active: active$1,
199
91
  text,
200
92
  suffix,
201
93
  clear,
202
94
  clickable
203
95
  };
204
- const cssModules$k = {
205
- "$style": style0$k
206
- };
207
- const SearchBar = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__cssModules", cssModules$k]]);
208
- const _hoisted_1$9 = {
209
- viewBox: "0 0 24 24",
210
- width: "1.2em",
211
- height: "1.2em"
212
- };
213
- function render$1(_ctx, _cache) {
214
- return openBlock(), createElementBlock("svg", _hoisted_1$9, _cache[0] || (_cache[0] = [
215
- createBaseVNode("path", {
216
- fill: "currentColor",
217
- d: "m23 12l-2.44-2.78l.34-3.68l-3.61-.82l-1.89-3.18L12 3L8.6 1.54L6.71 4.72l-3.61.81l.34 3.68L1 12l2.44 2.78l-.34 3.69l3.61.82l1.89 3.18L12 21l3.4 1.46l1.89-3.18l3.61-.82l-.34-3.68zm-13 5l-4-4l1.41-1.41L10 14.17l6.59-6.59L18 9z"
218
- }, null, -1)
219
- ]));
220
- }
221
- const OfficialIcon = { name: "mdi-verified", render: render$1 };
222
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
223
- __name: "NodeItem",
224
- props: {
225
- nodeType: {},
226
- subcategory: { default: void 0 },
227
- active: { type: Boolean, default: false }
228
- },
229
- setup(__props) {
230
- const props = __props;
231
- const i18n2 = useI18n$1();
232
- const telemetry = useTelemetry();
233
- const { actions } = useNodeCreatorStore();
234
- const { getAddedNodesAndConnections } = useActions();
235
- const { activeViewStack } = useViewStacks();
236
- const { isSubNodeType } = useNodeType({
237
- nodeType: props.nodeType
238
- });
239
- const nodeTypesStore = useNodeTypesStore();
240
- const dragging = ref(false);
241
- const draggablePosition = ref({ x: -100, y: -100 });
242
- const draggableDataTransfer2 = ref(null);
243
- const description2 = computed(() => {
244
- if (isCommunityNodePreview.value) {
245
- return props.nodeType.description;
246
- }
247
- if (isSendAndWaitCategory.value) {
248
- return "";
249
- }
250
- if (props.subcategory === DEFAULT_SUBCATEGORY && !props.nodeType.name.startsWith(CREDENTIAL_ONLY_NODE_PREFIX)) {
251
- return "";
252
- }
253
- return i18n2.headerText({
254
- key: `headers.${shortNodeType.value}.description`,
255
- fallback: props.nodeType.description
256
- });
257
- });
258
- const showActionArrow = computed(() => {
259
- if (shouldShowCommunityNodeDetails(isCommunityNode.value, activeViewStack)) {
260
- return true;
261
- }
262
- return hasActions.value && !isSendAndWaitCategory.value;
263
- });
264
- const isSendAndWaitCategory = computed(() => activeViewStack.subcategory === HITL_SUBCATEGORY);
265
- const dataTestId = computed(
266
- () => hasActions.value ? "node-creator-action-item" : "node-creator-node-item"
267
- );
268
- const hasActions = computed(() => {
269
- return nodeActions.value.length > 1 && !activeViewStack.hideActions;
270
- });
271
- const nodeActions = computed(() => {
272
- return actions[props.nodeType.name] || [];
273
- });
274
- const shortNodeType = computed(() => i18n2.shortNodeType(props.nodeType.name) || "");
275
- const draggableStyle = computed(() => ({
276
- top: `${draggablePosition.value.y}px`,
277
- left: `${draggablePosition.value.x}px`
278
- }));
279
- const isCommunityNode = computed(() => isCommunityPackageName(props.nodeType.name));
280
- const isCommunityNodePreview = computed(() => isNodePreviewKey(props.nodeType.name));
281
- const displayName = computed(() => {
282
- const trimmedDisplayName = props.nodeType.displayName.trimEnd();
283
- return i18n2.headerText({
284
- key: `headers.${shortNodeType.value}.displayName`,
285
- fallback: hasActions.value ? trimmedDisplayName.replace("Trigger", "") : trimmedDisplayName
286
- });
287
- });
288
- const isTrigger = computed(() => {
289
- return props.nodeType.group.includes("trigger") && !hasActions.value;
290
- });
291
- const communityNodeType = computed(() => {
292
- return nodeTypesStore.communityNodeType(removePreviewToken(props.nodeType.name));
293
- });
294
- const isOfficial = computed(() => {
295
- return communityNodeType.value?.isOfficialNode ?? false;
296
- });
297
- const author = computed(() => {
298
- return communityNodeType.value?.displayName ?? displayName.value;
299
- });
300
- const tag2 = computed(() => {
301
- if (props.nodeType.tag) {
302
- return { text: props.nodeType.tag };
303
- }
304
- if (description2.value.toLowerCase().includes("deprecated")) {
305
- return { text: i18n2.baseText("nodeCreator.nodeItem.deprecated"), type: "info" };
306
- }
307
- return void 0;
308
- });
309
- function onDragStart(event) {
310
- if (event.dataTransfer) {
311
- event.dataTransfer.effectAllowed = "copy";
312
- event.dataTransfer.dropEffect = "copy";
313
- event.dataTransfer.setDragImage(draggableDataTransfer2.value, 0, 0);
314
- event.dataTransfer.setData(
315
- DRAG_EVENT_DATA_KEY,
316
- JSON.stringify(getAddedNodesAndConnections([{ type: props.nodeType.name }]))
317
- );
318
- }
319
- dragging.value = true;
320
- }
321
- function onDragEnd() {
322
- dragging.value = false;
323
- setTimeout(() => {
324
- draggablePosition.value = { x: -100, y: -100 };
325
- }, 300);
326
- }
327
- function onCommunityNodeTooltipClick(event) {
328
- if (event.target.localName === "a") {
329
- telemetry.track("user clicked cnr docs link", { source: "nodes panel node" });
330
- }
331
- }
332
- return (_ctx, _cache) => {
333
- const _component_n8n_icon = N8nIcon;
334
- const _component_N8nNodeCreatorNode = NodeCreatorNode;
335
- const _directive_n8n_html = resolveDirective("n8n-html");
336
- return openBlock(), createBlock(_component_N8nNodeCreatorNode, {
337
- draggable: !showActionArrow.value,
338
- class: normalizeClass(_ctx.$style.nodeItem),
339
- description: description2.value,
340
- title: displayName.value,
341
- "show-action-arrow": showActionArrow.value,
342
- "is-trigger": isTrigger.value,
343
- "is-official": isOfficial.value,
344
- "data-test-id": dataTestId.value,
345
- tag: tag2.value,
346
- onDragstart: onDragStart,
347
- onDragend: onDragEnd
348
- }, createSlots({
349
- icon: withCtx(() => [
350
- unref(isSubNodeType) ? (openBlock(), createElementBlock("div", {
351
- key: 0,
352
- class: normalizeClass(_ctx.$style.subNodeBackground)
353
- }, null, 2)) : createCommentVNode("", true),
354
- createVNode(NodeIcon, {
355
- class: normalizeClass(_ctx.$style.nodeIcon),
356
- "node-type": _ctx.nodeType
357
- }, null, 8, ["class", "node-type"])
358
- ]),
359
- dragContent: withCtx(() => [
360
- withDirectives(createBaseVNode("div", {
361
- ref_key: "draggableDataTransfer",
362
- ref: draggableDataTransfer2,
363
- class: normalizeClass(_ctx.$style.draggable),
364
- style: normalizeStyle(draggableStyle.value)
365
- }, [
366
- createVNode(NodeIcon, {
367
- "node-type": _ctx.nodeType,
368
- size: 40,
369
- shrink: false,
370
- onClickCapture: _cache[0] || (_cache[0] = withModifiers(() => {
371
- }, ["stop"]))
372
- }, null, 8, ["node-type"])
373
- ], 6), [
374
- [vShow, dragging.value]
375
- ])
376
- ]),
377
- _: 2
378
- }, [
379
- isOfficial.value ? {
380
- name: "extraDetails",
381
- fn: withCtx(() => [
382
- createVNode(unref(Tooltip), {
383
- placement: "top",
384
- "show-after": 500
385
- }, {
386
- content: withCtx(() => [
387
- createTextVNode(toDisplayString(unref(i18n2).baseText("generic.officialNode.tooltip", { interpolate: { author: author.value } })), 1)
388
- ]),
389
- default: withCtx(() => [
390
- createVNode(unref(OfficialIcon), {
391
- class: normalizeClass([_ctx.$style.icon, _ctx.$style.official])
392
- }, null, 8, ["class"])
393
- ]),
394
- _: 1
395
- })
396
- ]),
397
- key: "0"
398
- } : isCommunityNode.value && !isCommunityNodePreview.value && !unref(activeViewStack)?.communityNodeDetails ? {
399
- name: "extraDetails",
400
- fn: withCtx(() => [
401
- createVNode(unref(Tooltip), {
402
- placement: "top",
403
- "show-after": 500
404
- }, {
405
- content: withCtx(() => [
406
- withDirectives(createBaseVNode("p", {
407
- class: normalizeClass(_ctx.$style.communityNodeIcon),
408
- onClick: onCommunityNodeTooltipClick
409
- }, null, 2), [
410
- [
411
- _directive_n8n_html,
412
- unref(i18n2).baseText("generic.communityNode.tooltip", {
413
- interpolate: {
414
- packageName: _ctx.nodeType.name.split(".")[0],
415
- docURL: unref(COMMUNITY_NODES_INSTALLATION_DOCS_URL)
416
- }
417
- })
418
- ]
419
- ])
420
- ]),
421
- default: withCtx(() => [
422
- createVNode(_component_n8n_icon, {
423
- size: "small",
424
- class: normalizeClass(_ctx.$style.icon),
425
- icon: "box"
426
- }, null, 8, ["class"])
427
- ]),
428
- _: 1
429
- })
430
- ]),
431
- key: "1"
432
- } : void 0
433
- ]), 1032, ["draggable", "class", "description", "title", "show-action-arrow", "is-trigger", "is-official", "data-test-id", "tag"]);
434
- };
435
- }
436
- });
437
- const nodeItem = "_nodeItem_1h0xg_123";
438
- const nodeIcon$4 = "_nodeIcon_1h0xg_132";
439
- const subNodeBackground = "_subNodeBackground_1h0xg_136";
440
- const communityNodeIcon = "_communityNodeIcon_1h0xg_146";
441
- const draggable$1 = "_draggable_1h0xg_150";
442
- const draggableDataTransfer$1 = "_draggableDataTransfer_1h0xg_164";
443
- const icon$1 = "_icon_1h0xg_169";
444
- const official = "_official_1h0xg_174";
445
- const style0$j = {
446
- nodeItem,
447
- nodeIcon: nodeIcon$4,
448
- subNodeBackground,
449
- communityNodeIcon,
450
- draggable: draggable$1,
451
- draggableDataTransfer: draggableDataTransfer$1,
452
- icon: icon$1,
453
- official
454
- };
455
- const cssModules$j = {
456
- "$style": style0$j
457
- };
458
- const NodeItem = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__cssModules", cssModules$j]]);
459
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
460
- __name: "SubcategoryItem",
461
- props: {
462
- item: {}
463
- },
464
- setup(__props) {
465
- const props = __props;
466
- const i18n2 = useI18n$1();
467
- const subcategoryName = computed(() => camelCase(props.item.subcategory || props.item.title));
468
- return (_ctx, _cache) => {
469
- const _component_n8n_node_icon = N8nNodeIcon;
470
- const _component_n8n_node_creator_node = NodeCreatorNode;
471
- return openBlock(), createBlock(_component_n8n_node_creator_node, {
472
- class: normalizeClass(_ctx.$style.subCategory),
473
- title: unref(i18n2).baseText(`nodeCreator.subcategoryNames.${subcategoryName.value}`),
474
- "is-trigger": false,
475
- description: unref(i18n2).baseText(`nodeCreator.subcategoryDescriptions.${subcategoryName.value}`),
476
- "show-action-arrow": true
477
- }, {
478
- icon: withCtx(() => [
479
- createVNode(_component_n8n_node_icon, mergeProps({
480
- type: "icon",
481
- name: _ctx.item.icon,
482
- circle: false,
483
- "show-tooltip": false,
484
- "use-updated-icons": true
485
- }, _ctx.item.iconProps), null, 16, ["name"])
486
- ]),
487
- _: 1
488
- }, 8, ["class", "title", "description"]);
489
- };
490
- }
491
- });
492
- const subCategory = "_subCategory_1x5a1_123";
493
- const style0$i = {
494
- subCategory
495
- };
496
- const cssModules$i = {
497
- "$style": style0$i
498
- };
499
- const SubcategoryItem = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__cssModules", cssModules$i]]);
500
- const _hoisted_1$8 = ["textContent"];
501
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
502
- __name: "LabelItem",
503
- props: {
504
- item: {}
505
- },
506
- setup(__props) {
507
- return (_ctx, _cache) => {
508
- return openBlock(), createElementBlock("div", {
509
- class: normalizeClass(_ctx.$style.label)
510
- }, [
511
- createBaseVNode("span", {
512
- class: normalizeClass(_ctx.$style.name),
513
- textContent: toDisplayString(_ctx.item.key)
514
- }, null, 10, _hoisted_1$8)
515
- ], 2);
516
- };
517
- }
518
- });
519
- const label$1 = "_label_p81gr_123";
520
- const style0$h = {
521
- label: label$1
522
- };
523
- const cssModules$h = {
524
- "$style": style0$h
525
- };
526
- const LabelItem = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__cssModules", cssModules$h]]);
527
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
528
- __name: "ActionItem",
529
- props: {
530
- nodeType: {},
531
- action: {}
532
- },
533
- setup(__props) {
534
- const props = __props;
535
- const telemetry = useTelemetry();
536
- const { getActionData, getAddedNodesAndConnections, setAddedNodeActionParameters } = useActions();
537
- const { activeViewStack } = useViewStacks();
538
- const state = reactive({
539
- dragging: false,
540
- draggablePosition: {
541
- x: -100,
542
- y: -100
543
- },
544
- storeWatcher: null,
545
- draggableDataTransfer: null
546
- });
547
- const draggableStyle = computed(() => ({
548
- top: `${state.draggablePosition.y}px`,
549
- left: `${state.draggablePosition.x}px`
550
- }));
551
- const actionData = computed(() => getActionData(props.action));
552
- const isTriggerAction = (action2) => action2.name?.toLowerCase().includes("trigger") || action2.name === WEBHOOK_NODE_TYPE;
553
- function onDragStart(event) {
554
- document.body.addEventListener("dragover", onDragOver);
555
- const { pageX: x, pageY: y } = event;
556
- if (event.dataTransfer && actionData.value.key) {
557
- event.dataTransfer.effectAllowed = "copy";
558
- event.dataTransfer.dropEffect = "copy";
559
- event.dataTransfer.setDragImage(state.draggableDataTransfer, 0, 0);
560
- event.dataTransfer.setData(
561
- DRAG_EVENT_DATA_KEY,
562
- JSON.stringify(getAddedNodesAndConnections([{ type: actionData.value.key }]))
563
- );
564
- if (telemetry) {
565
- state.storeWatcher = setAddedNodeActionParameters(
566
- actionData.value,
567
- telemetry,
568
- activeViewStack.rootView
569
- );
570
- }
571
- document.body.addEventListener("dragend", onDragEnd);
572
- }
573
- state.dragging = true;
574
- state.draggablePosition = { x, y };
575
- }
576
- function onDragOver(event) {
577
- if (!state.dragging || event.pageX === 0 && event.pageY === 0) {
578
- return;
579
- }
580
- const [x, y] = getNewNodePosition(
581
- [],
582
- [event.pageX - DEFAULT_NODE_SIZE[0] / 2, event.pageY - DEFAULT_NODE_SIZE[1] / 2]
583
- );
584
- state.draggablePosition = { x, y };
585
- }
586
- function onDragEnd() {
587
- if (state.storeWatcher) state.storeWatcher();
588
- document.body.removeEventListener("dragend", onDragEnd);
589
- document.body.removeEventListener("dragover", onDragOver);
590
- state.dragging = false;
591
- setTimeout(() => {
592
- state.draggablePosition = { x: -100, y: -100 };
593
- }, 300);
594
- }
595
- const { draggableDataTransfer: draggableDataTransfer2, dragging } = toRefs(state);
596
- return (_ctx, _cache) => {
597
- const _component_n8n_node_creator_node = NodeCreatorNode;
598
- return openBlock(), createBlock(_component_n8n_node_creator_node, {
599
- draggable: "",
600
- class: normalizeClass(_ctx.$style.action),
601
- title: _ctx.action.displayName,
602
- "is-trigger": isTriggerAction(_ctx.action),
603
- "data-keyboard-nav": "true",
604
- onDragstart: onDragStart,
605
- onDragend: onDragEnd
606
- }, {
607
- dragContent: withCtx(() => [
608
- createBaseVNode("div", {
609
- ref_key: "draggableDataTransfer",
610
- ref: draggableDataTransfer2,
611
- class: normalizeClass(_ctx.$style.draggableDataTransfer)
612
- }, null, 2),
613
- withDirectives(createBaseVNode("div", {
614
- class: normalizeClass(_ctx.$style.draggable),
615
- style: normalizeStyle(draggableStyle.value)
616
- }, [
617
- createVNode(NodeIcon, {
618
- "node-type": _ctx.nodeType,
619
- size: 40,
620
- shrink: false,
621
- onClickCapture: _cache[0] || (_cache[0] = withModifiers(() => {
622
- }, ["stop"]))
623
- }, null, 8, ["node-type"])
624
- ], 6), [
625
- [vShow, unref(dragging)]
626
- ])
627
- ]),
628
- icon: withCtx(() => [
629
- createVNode(NodeIcon, { "node-type": _ctx.action }, null, 8, ["node-type"])
630
- ]),
631
- _: 1
632
- }, 8, ["class", "title", "is-trigger"]);
633
- };
634
- }
635
- });
636
- const action$1 = "_action_1owvg_123";
637
- const nodeIcon$3 = "_nodeIcon_1owvg_135";
638
- const draggable = "_draggable_1owvg_139";
639
- const draggableDataTransfer = "_draggableDataTransfer_1owvg_153";
640
- const style0$g = {
641
- action: action$1,
642
- nodeIcon: nodeIcon$3,
643
- draggable,
644
- draggableDataTransfer
645
- };
646
- const cssModules$g = {
647
- "$style": style0$g
648
- };
649
- const ActionItem = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__cssModules", cssModules$g]]);
650
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
651
- __name: "ViewItem",
652
- props: {
653
- view: {}
654
- },
655
- setup(__props) {
656
- return (_ctx, _cache) => {
657
- const _component_n8n_node_icon = N8nNodeIcon;
658
- const _component_n8n_node_creator_node = NodeCreatorNode;
659
- return openBlock(), createBlock(_component_n8n_node_creator_node, {
660
- class: normalizeClass(_ctx.$style.view),
661
- title: _ctx.view.title,
662
- tag: _ctx.view.tag,
663
- "is-trigger": false,
664
- description: _ctx.view.description,
665
- "show-action-arrow": true
666
- }, {
667
- icon: withCtx(() => [
668
- createVNode(_component_n8n_node_icon, {
669
- type: "icon",
670
- name: _ctx.view.icon,
671
- circle: false,
672
- "show-tooltip": false,
673
- "use-updated-icons": true
674
- }, null, 8, ["name"])
675
- ]),
676
- _: 1
677
- }, 8, ["class", "title", "tag", "description"]);
678
- };
679
- }
680
- });
681
- const view$1 = "_view_17lj9_123";
682
- const style0$f = {
683
- view: view$1
684
- };
685
- const cssModules$f = {
686
- "$style": style0$f
687
- };
688
- const ViewItem = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__cssModules", cssModules$f]]);
689
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
690
- __name: "LinkItem",
691
- props: {
692
- link: {}
693
- },
694
- setup(__props) {
695
- return (_ctx, _cache) => {
696
- const _component_n8n_node_icon = N8nNodeIcon;
697
- const _component_n8n_node_creator_node = NodeCreatorNode;
698
- return openBlock(), createBlock(_component_n8n_node_creator_node, {
699
- class: normalizeClass(_ctx.$style.creatorLink),
700
- title: _ctx.link.title,
701
- "is-trigger": false,
702
- description: _ctx.link.description,
703
- tag: _ctx.link.tag,
704
- "show-action-arrow": true
705
- }, {
706
- icon: withCtx(() => [
707
- createVNode(_component_n8n_node_icon, {
708
- type: "icon",
709
- name: _ctx.link.icon,
710
- circle: false,
711
- "show-tooltip": false,
712
- "use-updated-icons": true
713
- }, null, 8, ["name"])
714
- ]),
715
- _: 1
716
- }, 8, ["class", "title", "description", "tag"]);
717
- };
718
- }
719
- });
720
- const creatorLink = "_creatorLink_cptk0_123";
721
- const style0$e = {
722
- creatorLink
723
- };
724
- const cssModules$e = {
725
- "$style": style0$e
726
- };
727
- const LinkItem = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__cssModules", cssModules$e]]);
728
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
729
- __name: "CommunityNodeInstallHint",
730
- props: {
731
- hint: {}
732
- },
733
- setup(__props) {
734
- const isOwner = computed(() => useUsersStore().isInstanceOwner);
735
- return (_ctx, _cache) => {
736
- return isOwner.value ? (openBlock(), createElementBlock("div", {
737
- key: 0,
738
- class: normalizeClass(_ctx.$style.container)
739
- }, [
740
- createVNode(unref(N8nIcon), {
741
- color: "text-light",
742
- icon: "info",
743
- size: "large"
744
- }),
745
- createVNode(unref(N8nText), {
746
- color: "text-base",
747
- size: "medium"
748
- }, {
749
- default: withCtx(() => [
750
- createTextVNode(toDisplayString(_ctx.hint), 1)
751
- ]),
752
- _: 1
753
- })
754
- ], 2)) : createCommentVNode("", true);
755
- };
756
- }
757
- });
758
- const container$4 = "_container_1dwo3_123";
759
- const style0$d = {
760
- container: container$4
761
- };
762
- const cssModules$d = {
763
- "$style": style0$d
764
- };
765
- const CommunityNodeInstallHint = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__cssModules", cssModules$d]]);
766
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
767
- __name: "CommunityNodeItem",
768
- props: {
769
- isPreview: { type: Boolean }
770
- },
771
- setup(__props) {
772
- const i18n2 = useI18n$1();
773
- return (_ctx, _cache) => {
774
- return openBlock(), createElementBlock("div", null, [
775
- _ctx.isPreview ? (openBlock(), createBlock(CommunityNodeInstallHint, {
776
- key: 0,
777
- hint: unref(i18n2).baseText("communityNodeItem.node.hint")
778
- }, null, 8, ["hint"])) : (openBlock(), createElementBlock("div", {
779
- key: 1,
780
- class: normalizeClass(_ctx.$style.marginLeft)
781
- }, [
782
- createVNode(unref(N8nButton), {
783
- size: "medium",
784
- type: "secondary",
785
- icon: "plus",
786
- label: unref(i18n2).baseText("communityNodeItem.label"),
787
- outline: ""
788
- }, null, 8, ["label"])
789
- ], 2))
790
- ]);
791
- };
792
- }
793
- });
794
- const marginLeft = "_marginLeft_1vvtt_123";
795
- const style0$c = {
796
- marginLeft
797
- };
798
- const cssModules$c = {
799
- "$style": style0$c
800
- };
801
- const CommunityNodeItem = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__cssModules", cssModules$c]]);
802
- const _hoisted_1$7 = ["textContent"];
803
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
804
- __name: "CategoryItem",
805
- props: {
806
- expanded: { type: Boolean, default: true },
807
- active: { type: Boolean },
808
- count: {},
809
- name: {},
810
- isTrigger: { type: Boolean }
811
- },
812
- setup(__props) {
813
- const props = __props;
814
- const categoryName = computed(() => {
815
- const itemsCount = props.count || 0;
816
- return itemsCount > 0 ? `${props.name} (${itemsCount})` : props.name;
817
- });
818
- return (_ctx, _cache) => {
819
- const _component_n8n_icon = N8nIcon;
820
- return openBlock(), createElementBlock("div", mergeProps({
821
- class: _ctx.$style.categoryWrapper
822
- }, _ctx.$attrs, {
823
- "data-keyboard-nav": "true",
824
- "data-test-id": "node-creator-category-item"
825
- }), [
826
- createBaseVNode("div", {
827
- class: normalizeClass({ [_ctx.$style.category]: true, [_ctx.$style.active]: _ctx.active })
828
- }, [
829
- createBaseVNode("span", {
830
- class: normalizeClass(_ctx.$style.name)
831
- }, [
832
- createBaseVNode("span", {
833
- textContent: toDisplayString(categoryName.value)
834
- }, null, 8, _hoisted_1$7),
835
- _ctx.isTrigger ? (openBlock(), createBlock(_component_n8n_icon, {
836
- key: 0,
837
- icon: "bolt-filled",
838
- size: "xsmall",
839
- class: normalizeClass(_ctx.$style.triggerIcon)
840
- }, null, 8, ["class"])) : createCommentVNode("", true),
841
- renderSlot(_ctx.$slots, "default")
842
- ], 2),
843
- _ctx.expanded ? (openBlock(), createBlock(_component_n8n_icon, {
844
- key: 0,
845
- icon: "chevron-down",
846
- color: "text-light",
847
- size: "large"
848
- })) : (openBlock(), createBlock(_component_n8n_icon, {
849
- key: 1,
850
- icon: "chevron-up",
851
- color: "text-light",
852
- size: "large"
853
- }))
854
- ], 2)
855
- ], 16);
856
- };
857
- }
858
- });
859
- const triggerIcon = "_triggerIcon_1kyg0_123";
860
- const category$1 = "_category_1kyg0_128";
861
- const active$2 = "_active_1kyg0_149";
862
- const name = "_name_1kyg0_153";
863
- const style0$b = {
864
- triggerIcon,
865
- category: category$1,
866
- active: active$2,
867
- name
868
- };
869
- const cssModules$b = {
870
- "$style": style0$b
871
- };
872
- const CategoryItem = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__cssModules", cssModules$b]]);
873
- const _hoisted_1$6 = ["data-category-collapsed"];
874
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
875
- __name: "CategorizedItemsRenderer",
876
- props: {
877
- elements: { default: () => [] },
878
- category: {},
879
- disabled: { type: Boolean },
880
- activeIndex: {},
881
- isTriggerCategory: { type: Boolean },
882
- mouseOverTooltip: {},
883
- expanded: { type: Boolean }
884
- },
885
- setup(__props) {
886
- const props = __props;
887
- const { popViewStack, activeViewStack } = useViewStacks();
888
- const { registerKeyHook } = useKeyboardNavigation();
889
- const { workflowId } = useWorkflowsStore();
890
- const nodeCreatorStore = useNodeCreatorStore();
891
- const i18n2 = useI18n$1();
892
- const activeItemId = computed(() => useKeyboardNavigation()?.activeItemId);
893
- const actionCount = computed(() => props.elements.filter(({ type }) => type === "action").length);
894
- const expanded = ref(props.expanded ?? false);
895
- const isPreview = computed(
896
- () => activeViewStack.communityNodeDetails && !activeViewStack.communityNodeDetails.installed
897
- );
898
- function toggleExpanded() {
899
- setExpanded(!expanded.value);
900
- }
901
- function setExpanded(isExpanded) {
902
- const prev = expanded.value;
903
- expanded.value = isExpanded;
904
- if (expanded.value && !prev) {
905
- nodeCreatorStore.onCategoryExpanded({
906
- category_name: props.category,
907
- workflow_id: workflowId
908
- });
909
- }
910
- }
911
- function arrowRight() {
912
- if (expanded.value) return;
913
- setExpanded(true);
914
- }
915
- function arrowLeft() {
916
- if (!expanded.value) {
917
- popViewStack();
918
- return;
919
- }
920
- setExpanded(false);
921
- }
922
- watch(
923
- () => props.elements,
924
- () => {
925
- setExpanded(true);
926
- }
927
- );
928
- registerKeyHook(`CategoryRight_${props.category}`, {
929
- keyboardKeys: ["ArrowRight"],
930
- condition: (type, activeItemId2) => type === "category" && props.category === activeItemId2,
931
- handler: arrowRight
932
- });
933
- registerKeyHook(`CategoryToggle_${props.category}`, {
934
- keyboardKeys: ["Enter"],
935
- condition: (type, activeItemId2) => type === "category" && props.category === activeItemId2,
936
- handler: toggleExpanded
937
- });
938
- registerKeyHook(`CategoryLeft_${props.category}`, {
939
- keyboardKeys: ["ArrowLeft"],
940
- condition: (type, activeItemId2) => type === "category" && props.category === activeItemId2,
941
- handler: arrowLeft
942
- });
943
- return (_ctx, _cache) => {
944
- const _component_n8n_icon = N8nIcon;
945
- const _component_n8n_tooltip = Tooltip;
946
- const _directive_n8n_html = resolveDirective("n8n-html");
947
- return openBlock(), createElementBlock("div", {
948
- class: normalizeClass(_ctx.$style.categorizedItemsRenderer),
949
- "data-category-collapsed": !expanded.value
950
- }, [
951
- createVNode(CategoryItem, {
952
- class: normalizeClass(_ctx.$style.categoryItem),
953
- name: _ctx.category,
954
- disabled: _ctx.disabled,
955
- active: activeItemId.value === _ctx.category,
956
- count: actionCount.value,
957
- expanded: expanded.value,
958
- "is-trigger": _ctx.isTriggerCategory,
959
- "data-keyboard-nav-type": "category",
960
- "data-keyboard-nav-id": _ctx.category,
961
- onClick: toggleExpanded
962
- }, {
963
- default: withCtx(() => [
964
- _ctx.mouseOverTooltip ? (openBlock(), createElementBlock("span", {
965
- key: 0,
966
- class: normalizeClass(_ctx.$style.mouseOverTooltip)
967
- }, [
968
- createVNode(_component_n8n_tooltip, {
969
- placement: "top",
970
- "popper-class": _ctx.$style.tooltipPopper
971
- }, {
972
- content: withCtx(() => [
973
- withDirectives(createBaseVNode("div", null, null, 512), [
974
- [_directive_n8n_html, _ctx.mouseOverTooltip]
975
- ])
976
- ]),
977
- default: withCtx(() => [
978
- createVNode(_component_n8n_icon, {
979
- icon: "circle-help",
980
- size: "small"
981
- })
982
- ]),
983
- _: 1
984
- }, 8, ["popper-class"])
985
- ], 2)) : createCommentVNode("", true)
986
- ]),
987
- _: 1
988
- }, 8, ["class", "name", "disabled", "active", "count", "expanded", "is-trigger", "data-keyboard-nav-id"]),
989
- expanded.value && actionCount.value > 0 && _ctx.$slots.default ? (openBlock(), createElementBlock("div", {
990
- key: 0,
991
- class: normalizeClass(_ctx.$style.contentSlot)
992
- }, [
993
- renderSlot(_ctx.$slots, "default")
994
- ], 2)) : createCommentVNode("", true),
995
- isPreview.value && expanded.value ? (openBlock(), createBlock(CommunityNodeInstallHint, {
996
- key: 1,
997
- hint: unref(i18n2).baseText("communityNodeItem.actions.hint")
998
- }, null, 8, ["hint"])) : createCommentVNode("", true),
999
- expanded.value ? (openBlock(), createBlock(ItemsRenderer, mergeProps({ key: 2 }, _ctx.$attrs, {
1000
- elements: _ctx.elements,
1001
- "is-trigger": _ctx.isTriggerCategory,
1002
- class: [{ [_ctx.$style.preview]: isPreview.value }]
1003
- }), {
1004
- default: withCtx(() => _cache[0] || (_cache[0] = [])),
1005
- empty: withCtx(() => [
1006
- renderSlot(_ctx.$slots, "empty", normalizeProps(guardReactiveProps({ elements: _ctx.elements })))
1007
- ]),
1008
- _: 3
1009
- }, 16, ["elements", "is-trigger", "class"])) : createCommentVNode("", true)
1010
- ], 10, _hoisted_1$6);
1011
- };
1012
- }
1013
- });
1014
- const mouseOverTooltip = "_mouseOverTooltip_wk4vn_123";
1015
- const categorizedItemsRenderer = "_categorizedItemsRenderer_wk4vn_131";
1016
- const tooltipPopper = "_tooltipPopper_wk4vn_135";
1017
- const contentSlot = "_contentSlot_wk4vn_139";
1018
- const preview$1 = "_preview_wk4vn_148";
1019
- const style0$a = {
1020
- mouseOverTooltip,
1021
- categorizedItemsRenderer,
1022
- tooltipPopper,
1023
- contentSlot,
1024
- preview: preview$1
1025
- };
1026
- const cssModules$a = {
1027
- "$style": style0$a
1028
- };
1029
- const CategorizedItemsRenderer = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__cssModules", cssModules$a]]);
1030
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
1031
- __name: "OpenTemplateItem",
1032
- props: {
1033
- openTemplate: {}
1034
- },
1035
- setup(__props) {
1036
- return (_ctx, _cache) => {
1037
- const _component_n8n_node_icon = N8nNodeIcon;
1038
- const _component_NodeIcon = NodeIcon;
1039
- const _component_N8nNodeCreatorNode = NodeCreatorNode;
1040
- return openBlock(), createBlock(_component_N8nNodeCreatorNode, {
1041
- class: normalizeClass({ [_ctx.$style.creatorOpenTemplate]: true, [_ctx.$style.compact]: _ctx.openTemplate.compact }),
1042
- title: _ctx.openTemplate.title,
1043
- description: _ctx.openTemplate.description,
1044
- tag: _ctx.openTemplate.tag,
1045
- "show-action-arrow": true,
1046
- "is-trigger": false
1047
- }, createSlots({ _: 2 }, [
1048
- _ctx.openTemplate.icon ? {
1049
- name: "icon",
1050
- fn: withCtx(() => [
1051
- createVNode(_component_n8n_node_icon, {
1052
- type: "icon",
1053
- name: _ctx.openTemplate.icon,
1054
- circle: false,
1055
- "show-tooltip": false,
1056
- "use-updated-icons": true
1057
- }, null, 8, ["name"])
1058
- ]),
1059
- key: "0"
1060
- } : void 0,
1061
- _ctx.openTemplate.nodes ? {
1062
- name: "extraDetails",
1063
- fn: withCtx(() => [
1064
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.openTemplate.nodes, (node) => {
1065
- return openBlock(), createBlock(_component_NodeIcon, {
1066
- key: node.name,
1067
- "node-type": node,
1068
- size: 16,
1069
- "show-tooltip": true
1070
- }, null, 8, ["node-type"]);
1071
- }), 128))
1072
- ]),
1073
- key: "1"
1074
- } : void 0
1075
- ]), 1032, ["class", "title", "description", "tag"]);
1076
- };
1077
- }
1078
- });
1079
- const creatorOpenTemplate = "_creatorOpenTemplate_1lmxs_123";
1080
- const compact = "_compact_1lmxs_131";
1081
- const style0$9 = {
1082
- creatorOpenTemplate,
1083
- compact
1084
- };
1085
- const cssModules$9 = {
1086
- "$style": style0$9
1087
- };
1088
- const OpenTemplateItem = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__cssModules", cssModules$9]]);
1089
- const _hoisted_1$5 = { key: 0 };
1090
- const _hoisted_2$3 = ["data-keyboard-nav-type", "data-keyboard-nav-id", "onClick"];
1091
- const LAZY_LOAD_THRESHOLD = 20;
1092
- const LAZY_LOAD_ITEMS_PER_TICK = 5;
1093
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
1094
- __name: "ItemsRenderer",
1095
- props: {
1096
- elements: { default: () => [] },
1097
- activeIndex: {},
1098
- disabled: { type: Boolean },
1099
- lazyRender: { type: Boolean, default: true }
1100
- },
1101
- emits: ["selected", "dragstart", "dragend"],
1102
- setup(__props, { emit: __emit }) {
1103
- const props = __props;
1104
- const emit = __emit;
1105
- const renderedItems2 = ref([]);
1106
- const renderAnimationRequest = ref(0);
1107
- const { activeViewStack } = useViewStacks();
1108
- const activeItemId = computed(() => useKeyboardNavigation()?.activeItemId);
1109
- const communityNode = computed(() => activeViewStack.mode === "community-node");
1110
- const isPreview = computed(() => {
1111
- return communityNode.value && !activeViewStack.communityNodeDetails?.installed;
1112
- });
1113
- const highlightActiveItem = computed(() => {
1114
- if (activeViewStack.communityNodeDetails && !activeViewStack.communityNodeDetails.installed) {
1115
- return false;
1116
- }
1117
- return true;
1118
- });
1119
- function renderItems() {
1120
- if (props.elements.length <= LAZY_LOAD_THRESHOLD || !props.lazyRender) {
1121
- renderedItems2.value = props.elements;
1122
- return;
1123
- }
1124
- if (renderedItems2.value.length < props.elements.length) {
1125
- renderedItems2.value.push(
1126
- ...props.elements.slice(
1127
- renderedItems2.value.length,
1128
- renderedItems2.value.length + LAZY_LOAD_ITEMS_PER_TICK
1129
- )
1130
- );
1131
- renderAnimationRequest.value = window.requestAnimationFrame(renderItems);
1132
- }
1133
- }
1134
- function wrappedEmit(event, element, $e) {
1135
- if (props.disabled) return;
1136
- switch (event) {
1137
- case "dragstart":
1138
- case "dragend":
1139
- case "selected":
1140
- emit("selected", element, $e);
1141
- break;
1142
- default:
1143
- emit(event, element, $e);
1144
- }
1145
- }
1146
- function beforeEnter(el) {
1147
- el.style.height = "0";
1148
- }
1149
- function enter(el) {
1150
- el.style.height = `${el.scrollHeight}px`;
1151
- }
1152
- function beforeLeave(el) {
1153
- el.style.height = `${el.scrollHeight}px`;
1154
- }
1155
- function leave(el) {
1156
- el.style.height = "0";
1157
- }
1158
- onMounted(() => {
1159
- renderItems();
1160
- });
1161
- onUnmounted(() => {
1162
- window.cancelAnimationFrame(renderAnimationRequest.value);
1163
- renderedItems2.value = [];
1164
- });
1165
- watch(
1166
- () => props.elements,
1167
- () => {
1168
- window.cancelAnimationFrame(renderAnimationRequest.value);
1169
- renderedItems2.value = [];
1170
- renderItems();
1171
- }
1172
- );
1173
- return (_ctx, _cache) => {
1174
- const _component_n8n_loading = N8nLoading;
1175
- return _ctx.elements.length > 0 ? (openBlock(), createElementBlock("div", {
1176
- key: 0,
1177
- class: normalizeClass(_ctx.$style.itemsRenderer),
1178
- name: "accordion",
1179
- onBeforeEnter: beforeEnter,
1180
- onEnter: enter,
1181
- onBeforeLeave: beforeLeave,
1182
- onLeave: leave
1183
- }, [
1184
- renderSlot(_ctx.$slots, "default"),
1185
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.elements, (item) => {
1186
- return openBlock(), createElementBlock("div", {
1187
- key: item.uuid
1188
- }, [
1189
- renderedItems2.value.includes(item) ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
1190
- item.type === "section" ? (openBlock(), createBlock(CategorizedItemsRenderer, {
1191
- key: 0,
1192
- elements: item.children,
1193
- expanded: "",
1194
- category: item.title,
1195
- onSelected: _cache[0] || (_cache[0] = (child) => wrappedEmit("selected", child))
1196
- }, null, 8, ["elements", "category"])) : (openBlock(), createElementBlock("div", {
1197
- key: 1,
1198
- ref_for: true,
1199
- ref: "iteratorItems",
1200
- class: normalizeClass({
1201
- clickable: !_ctx.disabled,
1202
- [_ctx.$style.active]: activeItemId.value === item.uuid && highlightActiveItem.value,
1203
- [_ctx.$style.iteratorItem]: !communityNode.value,
1204
- [_ctx.$style[item.type]]: true,
1205
- [_ctx.$style.preview]: isPreview.value,
1206
- // Borderless is only applied to views
1207
- [_ctx.$style.borderless]: item.type === "view" && item.properties.borderless === true
1208
- }),
1209
- "data-test-id": "item-iterator-item",
1210
- "data-keyboard-nav-type": item.type !== "label" ? item.type : void 0,
1211
- "data-keyboard-nav-id": item.uuid,
1212
- onClick: ($event) => wrappedEmit("selected", item)
1213
- }, [
1214
- item.type === "label" ? (openBlock(), createBlock(LabelItem, {
1215
- key: 0,
1216
- item
1217
- }, null, 8, ["item"])) : createCommentVNode("", true),
1218
- item.type === "subcategory" ? (openBlock(), createBlock(SubcategoryItem, {
1219
- key: 1,
1220
- item: item.properties
1221
- }, null, 8, ["item"])) : createCommentVNode("", true),
1222
- communityNode.value ? (openBlock(), createBlock(CommunityNodeItem, {
1223
- key: 2,
1224
- "is-preview": isPreview.value
1225
- }, null, 8, ["is-preview"])) : createCommentVNode("", true),
1226
- item.type === "node" && !communityNode.value ? (openBlock(), createBlock(NodeItem, {
1227
- key: 3,
1228
- "node-type": item.properties,
1229
- active: true,
1230
- subcategory: item.subcategory
1231
- }, null, 8, ["node-type", "subcategory"])) : createCommentVNode("", true),
1232
- item.type === "action" ? (openBlock(), createBlock(ActionItem, {
1233
- key: 4,
1234
- "node-type": item.properties,
1235
- action: item.properties,
1236
- active: true
1237
- }, null, 8, ["node-type", "action"])) : item.type === "view" ? (openBlock(), createBlock(ViewItem, {
1238
- key: 5,
1239
- view: item.properties,
1240
- class: normalizeClass(_ctx.$style.viewItem)
1241
- }, null, 8, ["view", "class"])) : item.type === "link" ? (openBlock(), createBlock(LinkItem, {
1242
- key: 6,
1243
- link: item.properties,
1244
- class: normalizeClass(_ctx.$style.linkItem)
1245
- }, null, 8, ["link", "class"])) : item.type === "openTemplate" ? (openBlock(), createBlock(OpenTemplateItem, {
1246
- key: 7,
1247
- "open-template": item.properties,
1248
- class: normalizeClass(_ctx.$style.linkItem)
1249
- }, null, 8, ["open-template", "class"])) : createCommentVNode("", true)
1250
- ], 10, _hoisted_2$3))
1251
- ])) : (openBlock(), createBlock(_component_n8n_loading, {
1252
- key: 1,
1253
- loading: true,
1254
- rows: 1,
1255
- variant: "p",
1256
- class: normalizeClass(_ctx.$style.itemSkeleton)
1257
- }, null, 8, ["class"]))
1258
- ]);
1259
- }), 128))
1260
- ], 34)) : (openBlock(), createElementBlock("div", {
1261
- key: 1,
1262
- class: normalizeClass(_ctx.$style.empty)
1263
- }, [
1264
- renderSlot(_ctx.$slots, "empty")
1265
- ], 2));
1266
- };
1267
- }
1268
- });
1269
- const itemSkeleton = "_itemSkeleton_1y85u_123";
1270
- const iteratorItem = "_iteratorItem_1y85u_127";
1271
- const label = "_label_1y85u_139";
1272
- const category = "_category_1y85u_139";
1273
- const active$1 = "_active_1y85u_142";
1274
- const empty = "_empty_1y85u_146";
1275
- const itemsRenderer = "_itemsRenderer_1y85u_150";
1276
- const view = "_view_1y85u_159";
1277
- const link = "_link_1y85u_177";
1278
- const borderless = "_borderless_1y85u_195";
1279
- const preview = "_preview_1y85u_205";
1280
- const style0$8 = {
1281
- itemSkeleton,
1282
- iteratorItem,
1283
- label,
1284
- category,
1285
- active: active$1,
1286
- empty,
1287
- itemsRenderer,
1288
- view,
1289
- link,
1290
- borderless,
1291
- preview
1292
- };
1293
96
  const cssModules$8 = {
1294
97
  "$style": style0$8
1295
98
  };
1296
- const ItemsRenderer = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$8]]);
99
+ const SearchBar = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$8]]);
1297
100
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1298
101
  __name: "OrderSwitcher",
1299
102
  props: {
@@ -1338,7 +141,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1338
141
  const publisherName = ref(void 0);
1339
142
  const downloads = ref(null);
1340
143
  const verified = ref(false);
1341
- const official2 = ref(false);
144
+ const official = ref(false);
1342
145
  const installedPackage = ref(void 0);
1343
146
  const communityNodesStore = useCommunityNodesStore();
1344
147
  const nodeTypesStore = useNodeTypesStore();
@@ -1362,7 +165,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1362
165
  if (communityNodeAttributes) {
1363
166
  publisherName.value = communityNodeAttributes.companyName ?? communityNodeAttributes.authorName;
1364
167
  downloads.value = formatNumber(communityNodeAttributes.numberOfDownloads);
1365
- official2.value = communityNodeAttributes.isOfficialNode;
168
+ official.value = communityNodeAttributes.isOfficialNode;
1366
169
  if (!installedPackage.value) {
1367
170
  verified.value = true;
1368
171
  } else {
@@ -1404,7 +207,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1404
207
  }
1405
208
  });
1406
209
  return (_ctx, _cache) => {
1407
- const _component_CommunityNodeUpdateInfo = _sfc_main$o;
210
+ const _component_CommunityNodeUpdateInfo = _sfc_main$b;
1408
211
  return openBlock(), createElementBlock("div", {
1409
212
  class: normalizeClass(_ctx.$style.container)
1410
213
  }, [
@@ -1433,7 +236,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1433
236
  placement: "top"
1434
237
  }, {
1435
238
  content: withCtx(() => [
1436
- createTextVNode(toDisplayString(official2.value ? unref(i18n).baseText("communityNodeInfo.officialApproved") : unref(i18n).baseText("communityNodeInfo.approved")), 1)
239
+ createTextVNode(toDisplayString(official.value ? unref(i18n).baseText("communityNodeInfo.officialApproved") : unref(i18n).baseText("communityNodeInfo.approved")), 1)
1437
240
  ]),
1438
241
  default: withCtx(() => [
1439
242
  createBaseVNode("div", null, [
@@ -1574,7 +377,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1574
377
  setup(__props, { emit: __emit }) {
1575
378
  const emit = __emit;
1576
379
  const telemetry = useTelemetry();
1577
- const i18n2 = useI18n$1();
380
+ const i18n2 = useI18n();
1578
381
  const { userActivated, isInstanceOwner } = useUsersStore();
1579
382
  const { popViewStack, updateCurrentViewStack } = useViewStacks();
1580
383
  const { registerKeyHook } = useKeyboardNavigation();
@@ -1939,7 +742,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1939
742
  rootView: {}
1940
743
  },
1941
744
  setup(__props) {
1942
- const i18n2 = useI18n$1();
745
+ const i18n2 = useI18n();
1943
746
  return (_ctx, _cache) => {
1944
747
  const _component_n8n_link = N8nLink;
1945
748
  const _component_n8n_icon = N8nIcon;
@@ -2037,7 +840,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2037
840
  emits: ["nodeTypeSelected"],
2038
841
  setup(__props, { emit: __emit }) {
2039
842
  const emit = __emit;
2040
- const i18n2 = useI18n$1();
843
+ const i18n2 = useI18n();
2041
844
  const calloutHelpers = useCalloutHelpers();
2042
845
  const { mergedNodes, actions, onSubcategorySelected } = useNodeCreatorStore();
2043
846
  const { pushViewStack, popViewStack, isAiSubcategoryView } = useViewStacks();
@@ -2156,14 +959,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2156
959
  console.warn(`No view found for ${itemKey}`);
2157
960
  return;
2158
961
  }
2159
- const view2 = matchedView(mergedNodes);
962
+ const view = matchedView(mergedNodes);
2160
963
  pushViewStack({
2161
- title: view2.title,
2162
- subtitle: view2?.subtitle ?? "",
2163
- info: view2?.info ?? "",
2164
- items: view2.items,
964
+ title: view.title,
965
+ subtitle: view?.subtitle ?? "",
966
+ info: view?.info ?? "",
967
+ items: view.items,
2165
968
  hasSearch: true,
2166
- rootView: view2.value,
969
+ rootView: view.value,
2167
970
  mode: "nodes",
2168
971
  // Root search should include all nodes
2169
972
  searchItems: mergedNodes
@@ -2513,7 +1316,7 @@ const _hoisted_2 = ["textContent"];
2513
1316
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2514
1317
  __name: "NodesListPanel",
2515
1318
  setup(__props) {
2516
- const i18n2 = useI18n$1();
1319
+ const i18n2 = useI18n();
2517
1320
  const { callDebounced } = useDebounce();
2518
1321
  const { mergedNodes } = useNodeCreatorStore();
2519
1322
  const { pushViewStack, popViewStack, updateCurrentViewStack } = useViewStacks();
@@ -2598,12 +1401,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2598
1401
  console.warn(`No view found for ${itemKey}`);
2599
1402
  return;
2600
1403
  }
2601
- const view2 = matchedView(mergedNodes);
1404
+ const view = matchedView(mergedNodes);
2602
1405
  pushViewStack({
2603
- title: view2.title,
2604
- subtitle: view2?.subtitle ?? "",
2605
- items: view2.items,
2606
- info: view2.info,
1406
+ title: view.title,
1407
+ subtitle: view?.subtitle ?? "",
1408
+ items: view.items,
1409
+ info: view.info,
2607
1410
  hasSearch: true,
2608
1411
  mode: "nodes",
2609
1412
  rootView: selectedView,
@@ -2868,7 +1671,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2868
1671
  [_ctx.$style.active]: showScrim.value
2869
1672
  })
2870
1673
  }, null, 2),
2871
- _ctx.active ? (openBlock(), createBlock(_sfc_main$p, {
1674
+ _ctx.active ? (openBlock(), createBlock(_sfc_main$c, {
2872
1675
  key: 0,
2873
1676
  class: normalizeClass(_ctx.$style.close),
2874
1677
  type: "secondary",