n8n-editor-ui 1.86.0 → 1.87.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 (116) hide show
  1. package/dist/assets/AnimatedSpinner-ChSRgyeI.css +39 -0
  2. package/dist/assets/AnimatedSpinner-urWn52iY.js +18 -0
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DofUIs9S.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DIbgkfAC.js} +1 -1
  4. package/dist/assets/{AuthView-CyY2quTd.js → AuthView-DIQI5asI.js} +2 -2
  5. package/dist/assets/{CanvasChatSwitch-CRtE2Fld.css → CanvasChatSwitch-0IWSu8RE.css} +249 -45
  6. package/dist/assets/{CanvasChatSwitch-BTInPgKl.js → CanvasChatSwitch-BIpZuY-n.js} +437 -268
  7. package/dist/assets/{ChangePasswordView-Db-MkXhZ.js → ChangePasswordView-D8Qv0tim.js} +3 -3
  8. package/dist/assets/CollectionParameter-DT1MnS63.js +4 -0
  9. package/dist/assets/{CredentialsView-CLr_6U2B.js → CredentialsView-tJ8-2RrO.js} +8 -8
  10. package/dist/assets/{ErrorView-CUS5vnCW.js → ErrorView-CZEZD7LB.js} +1 -1
  11. package/dist/assets/{ExecutionsTime-BOPJEomw.css → ExecutionsTime-DZHUIJjP.css} +6 -6
  12. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-D15zjPBZ.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-gcknFyjA.js} +23 -20
  13. package/dist/assets/{ExecutionsView-1df-oH5P.js → ExecutionsView-BCfIz8EF.js} +48 -56
  14. package/dist/assets/{ExecutionsView-BnBpSqVn.css → ExecutionsView-ByQf9yli.css} +13 -47
  15. package/dist/assets/{FileSaver.min-DLKMtSuf.js → FileSaver.min-Bs2qHlKb.js} +1 -1
  16. package/dist/assets/{FixedCollectionParameter-CcqTLBeP.js → FixedCollectionParameter-E0LDqNW3.js} +1 -1
  17. package/dist/assets/{ForgotMyPasswordView-BHRWkO2H.js → ForgotMyPasswordView-YOnrzvKJ.js} +3 -3
  18. package/dist/assets/InsightsChartAverageRuntime-DWrrriYN.js +61 -0
  19. package/dist/assets/InsightsChartFailed-DRi6JC3m.js +57 -0
  20. package/dist/assets/InsightsChartFailureRate-BdFNsMpg.js +57 -0
  21. package/dist/assets/InsightsChartTimeSaved-C12GZzSQ.js +71 -0
  22. package/dist/assets/InsightsChartTotal-Cn386HO4.js +59 -0
  23. package/dist/assets/InsightsDashboard-BawwZ0Oo.js +154 -0
  24. package/dist/assets/InsightsDashboard-CB4vHnBh.css +152 -0
  25. package/dist/assets/InsightsPaywall-OeXh6LeZ.css +133 -0
  26. package/dist/assets/InsightsPaywall-g3JcqAYL.js +58 -0
  27. package/dist/assets/{InsightsSummary-DcRuPjLJ.css → InsightsSummary-W08OzElS.css} +57 -35
  28. package/dist/assets/InsightsSummary-vMmKUcie.js +185 -0
  29. package/dist/assets/InsightsTableWorkflows-DQQ1vvMz.js +129 -0
  30. package/dist/assets/InsightsTableWorkflows-Us3j4UTO.css +128 -0
  31. package/dist/assets/{Logo-DbXTFYA8.js → Logo-Vm92axlM.js} +1 -1
  32. package/dist/assets/{MainHeader-BfQR9Td3.js → MainHeader-BUhpvu2K.js} +9 -10
  33. package/dist/assets/{MainSidebar-CDUegYGN.js → MainSidebar-D5P5FSUQ.js} +11 -2
  34. package/dist/assets/{NodeCreation-BBXRRxZa.js → NodeCreation-BgW5u-Bc.js} +4 -4
  35. package/dist/assets/{NodeCreator-BiyvtIjb.js → NodeCreator-CFe2n6vJ.js} +3 -3
  36. package/dist/assets/{NodeDetailsView-BcVu3kf0.css → NodeDetailsView-BT-ro74o.css} +63 -70
  37. package/dist/assets/{NodeDetailsView-Ph7FVpa8.js → NodeDetailsView-CmtK-rDD.js} +138 -478
  38. package/dist/assets/{NodeView-BEJ48TF4.js → NodeView-BqaNPfpx.js} +19 -21
  39. package/dist/assets/{ProjectCardBadge-B7cCM6Eo.js → ProjectCardBadge-BKgtzWr1.js} +1 -1
  40. package/dist/assets/{ProjectHeader-BjPaep-H.js → ProjectHeader-BWVSdavS.js} +1 -1
  41. package/dist/assets/{ProjectSettings-C1By1g0Z.js → ProjectSettings-BL-2-uOg.js} +2 -2
  42. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-UHiXbqwy.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-BL-bMMgn.js} +1 -2
  43. package/dist/assets/{ResourcesListLayout-CiiXWGd5.js → ResourcesListLayout-CozpmfUY.js} +1 -1
  44. package/dist/assets/{RunDataAi-CQE0VYut.js → RunDataAi-B_EadpzG.js} +88 -37
  45. package/dist/assets/{RunDataAi-CN9FrT9c.css → RunDataAi-CUUDqZRP.css} +128 -0
  46. package/dist/assets/{RunDataJson-BY9cOxFp.js → RunDataJson-CyNNCtyd.js} +11 -12
  47. package/dist/assets/{RunDataJsonActions-CuFjccfe.js → RunDataJsonActions-SQqaiBEP.js} +1 -2
  48. package/dist/assets/{RunDataSearch-afEc-21Y.js → RunDataSearch-BF9kshKq.js} +1 -1
  49. package/dist/assets/{RunDataTable-N6yWFXKt.js → RunDataTable-DsW7wuc2.js} +10 -8
  50. package/dist/assets/{SamlOnboarding-HDQzVmha.js → SamlOnboarding-BX7RiRJB.js} +3 -3
  51. package/dist/assets/{SettingsApiView-DQMZT3uc.js → SettingsApiView-CDIPYvaG.js} +1 -1
  52. package/dist/assets/{SettingsCommunityNodesView-BlQT_0E8.js → SettingsCommunityNodesView-BRSEkT73.js} +4 -5
  53. package/dist/assets/{SettingsExternalSecrets-BL_3qoNS.js → SettingsExternalSecrets-D7ASuAnS.js} +1 -1
  54. package/dist/assets/{SettingsLdapView-BMsfXg-A.js → SettingsLdapView-DA5fZZ51.js} +1 -1
  55. package/dist/assets/{SettingsLogStreamingView-Bm5vaSO2.js → SettingsLogStreamingView-C9qkYvCr.js} +1 -1
  56. package/dist/assets/{SettingsPersonalView-Djl1VXnE.js → SettingsPersonalView-BnNOJcvO.js} +1 -1
  57. package/dist/assets/{SettingsSourceControl-A-9nD8hG.js → SettingsSourceControl--ozL4427.js} +1 -1
  58. package/dist/assets/{SettingsSso-DZCscZY6.js → SettingsSso-Bfe_HRSr.js} +1 -1
  59. package/dist/assets/{SettingsUsageAndPlan-Rd5AGlNl.js → SettingsUsageAndPlan-CzvMNudh.js} +1 -1
  60. package/dist/assets/{SettingsUsersView-NEahsGVs.js → SettingsUsersView-DGu5ku48.js} +1 -1
  61. package/dist/assets/{SettingsView-CeXAUGXE.js → SettingsView-CvreVxXL.js} +1 -1
  62. package/dist/assets/{SetupView-BI7oJfg0.js → SetupView-BJT6GtIA.js} +3 -3
  63. package/dist/assets/{SetupWorkflowCredentialsButton-DMZX1S1F.js → SetupWorkflowCredentialsButton-BEq2gs_-.js} +2 -4
  64. package/dist/assets/{SetupWorkflowFromTemplateView-DZsPVdhN.js → SetupWorkflowFromTemplateView-F9oCDWX8.js} +3 -12
  65. package/dist/assets/{SigninView-CzVnEKyz.js → SigninView-DyoDtCBc.js} +3 -3
  66. package/dist/assets/{SignoutView-C4ynr4AN.js → SignoutView-DclBslYe.js} +1 -1
  67. package/dist/assets/{SignupView-9nwGonm9.js → SignupView-BhB0Hhj0.js} +3 -3
  68. package/dist/assets/{TemplateDetails-DT1tI4AF.js → TemplateDetails-B3utdyMi.js} +1 -1
  69. package/dist/assets/{TemplateList-DGPm_Qol.js → TemplateList-Bgz1iiiH.js} +1 -1
  70. package/dist/assets/{TemplatesCollectionView-DwXY5s5G.js → TemplatesCollectionView-CORzb8YZ.js} +7 -9
  71. package/dist/assets/{TemplatesSearchView-D0R7uF40.js → TemplatesSearchView-DTuv4-5C.js} +3 -3
  72. package/dist/assets/{TemplatesView-BZ-ntkfi.js → TemplatesView-CFV5SVF7.js} +1 -1
  73. package/dist/assets/{TemplatesWorkflowView-TwVAHvD7.js → TemplatesWorkflowView-CQVVdNty.js} +5 -7
  74. package/dist/assets/{TestDefinitionEditView-C3nnWQ4Q.css → TestDefinitionEditView-Cwkrz308.css} +12 -18
  75. package/dist/assets/{TestDefinitionEditView-o2Gc4BjN.js → TestDefinitionEditView-DX6GIeq2.js} +163 -199
  76. package/dist/assets/{TestDefinitionListView-BuUWjPAl.js → TestDefinitionListView-CLEkthYQ.js} +1 -1
  77. package/dist/assets/{TestDefinitionNewView-DmSFNxfn.js → TestDefinitionNewView-DWTTqvlN.js} +2 -2
  78. package/dist/assets/{TestDefinitionRootView-1dNmGZUI.js → TestDefinitionRootView-D0yLW0V6.js} +1 -1
  79. package/dist/assets/{VariablesView-D46tH9pw.js → VariablesView-Dsr4pqth.js} +3 -3
  80. package/dist/assets/{WorkerView-G0K849qT.js → WorkerView-Bbu5wv-g.js} +6 -7
  81. package/dist/assets/{WorkflowActivator-DfalOPsa.js → WorkflowActivator-C197X_D6.js} +2 -2
  82. package/dist/assets/{WorkflowExecutionsInfoAccordion-BcD7ZskD.js → WorkflowExecutionsInfoAccordion-CHPlRtMQ.js} +1 -1
  83. package/dist/assets/{WorkflowExecutionsLandingPage-BhPbJi5K.js → WorkflowExecutionsLandingPage-CnvMc3SA.js} +2 -2
  84. package/dist/assets/{WorkflowExecutionsPreview-CowaFwPg.js → WorkflowExecutionsPreview-CJBM3Awe.js} +24 -256
  85. package/dist/assets/{WorkflowExecutionsPreview-CHu6M3Dh.css → WorkflowExecutionsPreview-D7jTJ8GL.css} +16 -48
  86. package/dist/assets/{WorkflowExecutionsView-BAojAjIM.js → WorkflowExecutionsView-BwB6WS6M.js} +11 -17
  87. package/dist/assets/{WorkflowHistory-Bj5_YFN8.js → WorkflowHistory-U5a4aYts.js} +4 -4
  88. package/dist/assets/{WorkflowOnboardingView-D9peqUJs.js → WorkflowOnboardingView-DHUUTLOo.js} +1 -1
  89. package/dist/assets/{WorkflowPreview-gflk06YT.js → WorkflowPreview-D8pwehRe.js} +1 -1
  90. package/dist/assets/{WorkflowsView-CmgKYCQ6.js → WorkflowsView-DIh7kqZk.js} +10 -10
  91. package/dist/assets/chartjs.utils-DTEY3u-V.js +193 -0
  92. package/dist/assets/dateFormatter-C7xnNKzY.js +21 -0
  93. package/dist/assets/{easyAiWorkflowUtils-CLssJdgl.js → easyAiWorkflowUtils-V__OjFo9.js} +1 -1
  94. package/dist/assets/{global-link-actions-BphqczCY.js → global-link-actions-vGpWr9Uz.js} +1 -1
  95. package/dist/assets/{import-curl-C9KhAemD.js → import-curl-C6ERUxFe.js} +1 -1
  96. package/dist/assets/{index-C0DaAYgf.js → index-BrjPYODL.js} +3 -1
  97. package/dist/assets/{index-CkOV8f0Z.js → index-DD7Wuhk5.js} +9472 -3624
  98. package/dist/assets/{index-BaqhUIB7.css → index-DJ205bL0.css} +369 -44
  99. package/dist/assets/{pickBy-DUugkW7s.js → pickBy-BILEJ4hg.js} +1 -1
  100. package/dist/assets/{templateActions-Czp13jCM.js → templateActions-M3qRQiV6.js} +2 -7
  101. package/dist/assets/{useBeforeUnload-BBbiw-FV.js → useBeforeUnload-DTsj_abb.js} +1 -1
  102. package/dist/assets/{useCanvasMapping-Cla--atl.js → useCanvasMapping-DJvMRP2s.js} +6 -6
  103. package/dist/assets/{useCanvasOperations-FyzGfva5.js → useCanvasOperations-DCaSrD1N.js} +27 -256
  104. package/dist/assets/{useClearExecutionButtonVisible-fESJZE5R.js → useClearExecutionButtonVisible-CVPKhr9F.js} +2 -2
  105. package/dist/assets/{useExecutionDebugging-D4s4CdaL.js → useExecutionDebugging-yY2o_eNc.js} +1 -1
  106. package/dist/assets/{useExecutionHelpers-Bm91b8wb.js → useExecutionHelpers-BVY9xXbG.js} +2 -19
  107. package/dist/assets/{useImportCurlCommand-BPNuR5ZX.js → useImportCurlCommand-Chewi-_x.js} +2 -2
  108. package/dist/assets/{usePushConnection-BbQhNUm8.js → usePushConnection-9zsAnuvC.js} +3 -4
  109. package/dist/assets/{useTestDefinitionForm-ZJngcsSH.js → useTestDefinitionForm-CCVy0jKP.js} +1 -1
  110. package/dist/assets/{useWorkflowActivate-CkCvd-g6.js → useWorkflowActivate-DeEvbrsK.js} +1 -1
  111. package/dist/index.html +2 -2
  112. package/package.json +1 -1
  113. package/dist/assets/CollectionParameter-BD3jmKi_.js +0 -4
  114. package/dist/assets/InsightsSummary-CyilLKXz.js +0 -152
  115. package/dist/assets/pushConnection.store-Cb2TGyrZ.js +0 -238
  116. package/dist/assets/useRunWorkflow-DnbQqqcB.js +0 -527
@@ -0,0 +1,193 @@
1
+ import { gf as useCssVar, h$ as merge } from "./index-DD7Wuhk5.js";
2
+ import { s as smartDecimal } from "./InsightsSummary-vMmKUcie.js";
3
+ const generateLinearGradient = (ctx, height) => {
4
+ const gradient = ctx.createLinearGradient(0, 0, 0, height);
5
+ gradient.addColorStop(0, "rgba(255, 111,92, 1)");
6
+ gradient.addColorStop(0.8, "rgba(255, 111, 92, 0.25)");
7
+ gradient.addColorStop(1, "rgba(255, 111, 92, 0)");
8
+ return gradient;
9
+ };
10
+ const generateLineChartOptions = (overrides = {}) => {
11
+ const colorTextDark = useCssVar("--color-text-dark", document.body);
12
+ const colorBackgroundLight = useCssVar("--color-background-xlight", document.body);
13
+ const colorForeGroundBase = useCssVar("--color-foreground-base", document.body);
14
+ const colorTextLight = useCssVar("--color-text-light", document.body);
15
+ return merge(
16
+ {
17
+ responsive: true,
18
+ maintainAspectRatio: false,
19
+ plugins: {
20
+ legend: {
21
+ display: false
22
+ },
23
+ tooltip: {
24
+ caretSize: 0,
25
+ xAlign: "center",
26
+ yAlign: "bottom",
27
+ padding: 16,
28
+ titleFont: {
29
+ size: 14
30
+ },
31
+ bodyFont: {
32
+ size: 14
33
+ },
34
+ backgroundColor: colorBackgroundLight.value,
35
+ titleColor: colorTextDark.value,
36
+ bodyColor: colorTextDark.value,
37
+ borderWidth: 1,
38
+ borderColor: colorForeGroundBase.value,
39
+ callbacks: {
40
+ label(context) {
41
+ const label = context.dataset.label ?? "";
42
+ return `${label} ${smartDecimal(context.parsed.y).toLocaleString("en-US")}`;
43
+ },
44
+ labelColor(context) {
45
+ return {
46
+ borderColor: "rgba(0, 0, 0, 0)",
47
+ backgroundColor: context.dataset.backgroundColor,
48
+ borderWidth: 0,
49
+ borderRadius: 2
50
+ };
51
+ }
52
+ }
53
+ }
54
+ },
55
+ interaction: {
56
+ mode: "nearest",
57
+ axis: "x",
58
+ intersect: false
59
+ },
60
+ scales: {
61
+ x: {
62
+ grid: {
63
+ display: false
64
+ },
65
+ stacked: true,
66
+ beginAtZero: true,
67
+ border: {
68
+ display: false
69
+ },
70
+ ticks: {
71
+ color: colorTextLight.value
72
+ }
73
+ },
74
+ y: {
75
+ grid: {
76
+ color: colorForeGroundBase.value
77
+ },
78
+ stacked: true,
79
+ border: {
80
+ display: false
81
+ },
82
+ ticks: {
83
+ maxTicksLimit: 3,
84
+ color: colorTextLight.value
85
+ }
86
+ }
87
+ }
88
+ },
89
+ overrides
90
+ );
91
+ };
92
+ const generateBarChartOptions = (overrides = {}) => {
93
+ const colorTextLight = useCssVar("--color-text-light", document.body);
94
+ const colorTextDark = useCssVar("--color-text-dark", document.body);
95
+ const colorBackgroundLight = useCssVar("--color-background-xlight", document.body);
96
+ const colorForeGroundBase = useCssVar("--color-foreground-base", document.body);
97
+ return merge(
98
+ {
99
+ responsive: true,
100
+ maintainAspectRatio: false,
101
+ plugins: {
102
+ legend: {
103
+ display: true,
104
+ align: "end",
105
+ reverse: true,
106
+ position: "top",
107
+ labels: {
108
+ boxWidth: 8,
109
+ boxHeight: 8,
110
+ borderRadius: 2,
111
+ useBorderRadius: true
112
+ }
113
+ },
114
+ tooltip: {
115
+ caretSize: 0,
116
+ xAlign: "center",
117
+ yAlign: "bottom",
118
+ padding: 16,
119
+ titleFont: {
120
+ size: 14
121
+ },
122
+ bodyFont: {
123
+ size: 14
124
+ },
125
+ backgroundColor: colorBackgroundLight.value,
126
+ titleColor: colorTextDark.value,
127
+ bodyColor: colorTextDark.value,
128
+ borderWidth: 1,
129
+ borderColor: colorForeGroundBase.value,
130
+ callbacks: {
131
+ label(context) {
132
+ const label = context.dataset.label ?? "";
133
+ return `${label} ${context.parsed.y}`;
134
+ },
135
+ labelColor(context) {
136
+ return {
137
+ borderColor: "rgba(0, 0, 0, 0)",
138
+ backgroundColor: context.dataset.backgroundColor,
139
+ borderWidth: 0,
140
+ borderRadius: 2
141
+ };
142
+ }
143
+ }
144
+ }
145
+ },
146
+ interaction: {
147
+ mode: "nearest",
148
+ axis: "x",
149
+ intersect: false
150
+ },
151
+ datasets: {
152
+ bar: {
153
+ maxBarThickness: 32,
154
+ borderRadius: 4
155
+ }
156
+ },
157
+ scales: {
158
+ x: {
159
+ grid: {
160
+ display: false
161
+ },
162
+ stacked: true,
163
+ beginAtZero: true,
164
+ border: {
165
+ display: false
166
+ },
167
+ ticks: {
168
+ color: colorTextLight.value
169
+ }
170
+ },
171
+ y: {
172
+ grid: {
173
+ color: colorForeGroundBase.value
174
+ },
175
+ stacked: true,
176
+ border: {
177
+ display: false
178
+ },
179
+ ticks: {
180
+ maxTicksLimit: 3,
181
+ color: colorTextLight.value
182
+ }
183
+ }
184
+ }
185
+ },
186
+ overrides
187
+ );
188
+ };
189
+ export {
190
+ generateLineChartOptions as a,
191
+ generateLinearGradient as b,
192
+ generateBarChartOptions as g
193
+ };
@@ -0,0 +1,21 @@
1
+ import { f9 as dateformat } from "./index-DD7Wuhk5.js";
2
+ const convertToDisplayDateComponents = (fullDate) => {
3
+ const mask = `d mmm${new Date(fullDate).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "" : ", yyyy"}#HH:MM:ss`;
4
+ const formattedDate = dateformat(fullDate, mask);
5
+ const [date, time] = formattedDate.split("#");
6
+ return { date, time };
7
+ };
8
+ function convertToDisplayDate(fullDate) {
9
+ const mask = `mmm d${new Date(fullDate).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "" : ", yyyy"}#HH:MM:ss`;
10
+ const formattedDate = dateformat(fullDate, mask);
11
+ const [date, time] = formattedDate.split("#");
12
+ return { date, time };
13
+ }
14
+ const toDayMonth = (fullDate) => dateformat(fullDate, "d mmm");
15
+ const toTime = (fullDate, includeMillis = false) => dateformat(fullDate, includeMillis ? "HH:MM:ss.l" : "HH:MM:ss");
16
+ export {
17
+ toDayMonth as a,
18
+ convertToDisplayDateComponents as b,
19
+ convertToDisplayDate as c,
20
+ toTime as t
21
+ };
@@ -1,4 +1,4 @@
1
- import { bf as NodeConnectionTypes } from "./index-CkOV8f0Z.js";
1
+ import { bu as NodeConnectionTypes } from "./index-DD7Wuhk5.js";
2
2
  const getEasyAiWorkflowJson = ({
3
3
  isInstanceInAiFreeCreditsExperiment,
4
4
  withOpenAiFreeCredits
@@ -1,4 +1,4 @@
1
- import { C as createEventBus } from "./index-CkOV8f0Z.js";
1
+ import { C as createEventBus } from "./index-DD7Wuhk5.js";
2
2
  const globalLinkActionsEventBus = createEventBus();
3
3
  export {
4
4
  globalLinkActionsEventBus as g
@@ -1,4 +1,4 @@
1
- import { C as createEventBus } from "./index-CkOV8f0Z.js";
1
+ import { C as createEventBus } from "./index-DD7Wuhk5.js";
2
2
  const importCurlEventBus = createEventBus();
3
3
  export {
4
4
  importCurlEventBus as i
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, g7 as Chart$1, g8 as shallowRef, ar as h, r as ref, o as onMounted, y as onBeforeUnmount, I as watch, d2 as toRaw, g9 as version, ga as isProxy, gb as LineController } from "./index-CkOV8f0Z.js";
1
+ import { f_ as Chart$1, d as defineComponent, f$ as shallowRef, as as h, g0 as LineController, g1 as version, r as ref, o as onMounted, y as onBeforeUnmount, I as watch, d5 as toRaw, g2 as isProxy, g3 as BarController } from "./index-DD7Wuhk5.js";
2
2
  const CommonProps = {
3
3
  data: {
4
4
  type: Object,
@@ -174,8 +174,10 @@ function createTypedChart(type, registerables) {
174
174
  }
175
175
  });
176
176
  }
177
+ const Bar = /* @__PURE__ */ createTypedChart("bar", BarController);
177
178
  const Line = /* @__PURE__ */ createTypedChart("line", LineController);
178
179
  export {
180
+ Bar as B,
179
181
  Chart as C,
180
182
  Line as L
181
183
  };