Flowfile 0.5.4__py3-none-any.whl → 0.6.1__py3-none-any.whl

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 (259) hide show
  1. flowfile/__main__.py +94 -1
  2. flowfile/api.py +8 -6
  3. flowfile/web/static/assets/{AdminView-f9847d67.js → AdminView-C4K1DdHI.js} +28 -33
  4. flowfile/web/static/assets/{CloudConnectionView-faace55b.js → CloudConnectionView-BZbPvPUL.js} +39 -50
  5. flowfile/web/static/assets/{CloudStorageReader-24c54524.css → CloudStorageReader-BDByiqPI.css} +25 -25
  6. flowfile/web/static/assets/{CloudStorageReader-d86ecaa7.js → CloudStorageReader-DLVukNJ7.js} +30 -35
  7. flowfile/web/static/assets/{CloudStorageWriter-0f4d9a44.js → CloudStorageWriter-Bfi-C1QW.js} +32 -37
  8. flowfile/web/static/assets/{CloudStorageWriter-60547855.css → CloudStorageWriter-y8jL8yjG.css} +24 -24
  9. flowfile/web/static/assets/{ColumnActionInput-f4189ae0.js → ColumnActionInput-BpiCApw9.js} +7 -12
  10. flowfile/web/static/assets/{ColumnSelector-e66b33da.js → ColumnSelector-CEAwedI7.js} +1 -2
  11. flowfile/web/static/assets/ContextMenu-CdojQu0w.js +9 -0
  12. flowfile/web/static/assets/ContextMenu-D12mhsy1.js +9 -0
  13. flowfile/web/static/assets/ContextMenu-EWUR98va.js +9 -0
  14. flowfile/web/static/assets/{ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js → ContextMenu.vue_vue_type_script_setup_true_lang-I4rXXd6G.js} +4 -5
  15. flowfile/web/static/assets/{CrossJoin-24694b8f.js → CrossJoin-BOFfxkJO.js} +19 -18
  16. flowfile/web/static/assets/{CrossJoin-71b4cc10.css → CrossJoin-Cmbyt9im.css} +18 -18
  17. flowfile/web/static/assets/{CustomNode-569d45ff.js → CustomNode-Bhpezobq.js} +12 -17
  18. flowfile/web/static/assets/{DatabaseConnectionSettings-cfc08938.js → DatabaseConnectionSettings-Dw3bSJKB.js} +10 -11
  19. flowfile/web/static/assets/{DatabaseReader-5bf8c75b.css → DatabaseReader-D6pUNUCs.css} +21 -21
  20. flowfile/web/static/assets/{DatabaseReader-701feabb.js → DatabaseReader-m87ghlw0.js} +36 -34
  21. flowfile/web/static/assets/{DatabaseView-0482e5b5.js → DatabaseView-CisSAtpe.js} +30 -38
  22. flowfile/web/static/assets/{DatabaseWriter-16721989.js → DatabaseWriter-Bbj9JLdL.js} +33 -35
  23. flowfile/web/static/assets/{DatabaseWriter-bdcf2c8b.css → DatabaseWriter-RBqdFLj8.css} +17 -17
  24. flowfile/web/static/assets/{DesignerView-f64749fb.js → DesignerView-DemDevTQ.js} +1841 -2090
  25. flowfile/web/static/assets/{DesignerView-49abb835.css → DesignerView-Dm6OzlIc.css} +244 -202
  26. flowfile/web/static/assets/{DocumentationView-61bd2990.js → DocumentationView-BrC1ZR3H.js} +3 -4
  27. flowfile/web/static/assets/{ExploreData-e2735b13.js → ExploreData-BMKcDuRb.js} +8 -10
  28. flowfile/web/static/assets/{ExternalSource-2535c3b2.js → ExternalSource-BXrNNS-f.js} +40 -42
  29. flowfile/web/static/assets/{ExternalSource-7ac7373f.css → ExternalSource-NB6WVl5R.css} +14 -14
  30. flowfile/web/static/assets/{Filter-2cdbc93c.js → Filter-C2MjsN6P.js} +36 -33
  31. flowfile/web/static/assets/{Filter-7494ea97.css → Filter-DCMGGuGC.css} +9 -9
  32. flowfile/web/static/assets/{Formula-53d58c43.css → Formula-BYafbDj8.css} +4 -4
  33. flowfile/web/static/assets/{Formula-fcda3c2c.js → Formula-ufuy4mVD.js} +27 -26
  34. flowfile/web/static/assets/{FuzzyMatch-ad6361d6.css → FuzzyMatch-BGJAwgd0.css} +42 -42
  35. flowfile/web/static/assets/{FuzzyMatch-f8d3b7d3.js → FuzzyMatch-BOHODq3h.js} +36 -38
  36. flowfile/web/static/assets/{GraphSolver-72eaa695.js → GraphSolver-B6ZzpNGO.js} +23 -21
  37. flowfile/web/static/assets/{GraphSolver-4b4d7db9.css → GraphSolver-DFN83sj3.css} +4 -4
  38. flowfile/web/static/assets/{GroupBy-8aa0598b.js → GroupBy-B9BRNcfe.js} +30 -29
  39. flowfile/web/static/assets/{Sort-4abb7fae.css → GroupBy-x4ooP5np.css} +1 -1
  40. flowfile/web/static/assets/Join-Bx_g5bZz.css +118 -0
  41. flowfile/web/static/assets/{Join-e40f0ffa.js → Join-DsBEy1IH.js} +48 -43
  42. flowfile/web/static/assets/{LoginView-5111c9ae.js → LoginView-Ct0rhdcO.js} +1 -2
  43. flowfile/web/static/assets/{ManualInput-3702e677.css → ManualInput-DlZmtMdt.css} +48 -48
  44. flowfile/web/static/assets/{ManualInput-9b6f3224.js → ManualInput-bC4BUgnG.js} +85 -44
  45. flowfile/web/static/assets/{MultiSelect-ef28e19e.js → MultiSelect-DIQ8PuTC.js} +2 -2
  46. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-83b3bbfd.js → MultiSelect.vue_vue_type_script_setup_true_lang-BefHfqTI.js} +1 -1
  47. flowfile/web/static/assets/{NodeDesigner-d2b7ee2b.js → NodeDesigner-D39yzr2k.js} +178 -208
  48. flowfile/web/static/assets/{NodeDesigner-94cd4dd3.css → NodeDesigner-R0l6sYyY.css} +76 -76
  49. flowfile/web/static/assets/{NumericInput-1d789794.js → NumericInput-DMSX3oOr.js} +2 -2
  50. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-7775f83e.js → NumericInput.vue_vue_type_script_setup_true_lang-d0YlVHAl.js} +1 -1
  51. flowfile/web/static/assets/{Output-cefef801.js → Output-D0VoXGcW.js} +26 -34
  52. flowfile/web/static/assets/{Output-692dd25d.css → Output-DsmglIDy.css} +5 -5
  53. flowfile/web/static/assets/{Pivot-bab1b75b.js → Pivot-BnMB4sEe.js} +26 -26
  54. flowfile/web/static/assets/{Pivot-0eda81b4.css → Pivot-qKTyWxop.css} +4 -4
  55. flowfile/web/static/assets/{PivotValidation-fba09336.js → PivotValidation-B2lWvugt.js} +7 -9
  56. flowfile/web/static/assets/{PivotValidation-e7941f91.js → PivotValidation-BPlhRjpL.js} +7 -9
  57. flowfile/web/static/assets/{PolarsCode-740e40fa.js → PolarsCode-5h0tHnWR.js} +22 -20
  58. flowfile/web/static/assets/PopOver-BHpt5rsj.js +134 -0
  59. flowfile/web/static/assets/{PopOver-d96599db.css → PopOver-CyYM4-rV.css} +1 -1
  60. flowfile/web/static/assets/{Read-90f366bc.css → Read-DJxkrTb_.css} +10 -10
  61. flowfile/web/static/assets/Read-TsLEFh3B.js +227 -0
  62. flowfile/web/static/assets/{RecordCount-ffc71eca.js → RecordCount-DkVixq9v.js} +18 -17
  63. flowfile/web/static/assets/{RecordId-a70bb8df.js → RecordId-C2UEGlCf.js} +42 -39
  64. flowfile/web/static/assets/{SQLQueryComponent-15a421f5.js → SQLQueryComponent-Dr5KMoD3.js} +2 -3
  65. flowfile/web/static/assets/{Sample-6c26afc7.js → Sample-Cb3eQNmd.js} +30 -30
  66. flowfile/web/static/assets/{SecretSelector-ceed9496.js → SecretSelector-De2L2bSx.js} +3 -4
  67. flowfile/web/static/assets/{SecretsView-214d255a.js → SecretsView-CheC9BPV.js} +13 -16
  68. flowfile/web/static/assets/{Select-8fc29999.js → Select-CI8TloRs.js} +41 -36
  69. flowfile/web/static/assets/{SettingsSection-9f0d1725.js → SettingsSection-B39ulIiI.js} +1 -2
  70. flowfile/web/static/assets/{SettingsSection-83090218.js → SettingsSection-BiCc7S9h.js} +1 -2
  71. flowfile/web/static/assets/{SettingsSection-3f70e4c3.js → SettingsSection-CITK_R7o.js} +2 -3
  72. flowfile/web/static/assets/{SettingsSection-26fe48d4.css → SettingsSection-D2GgY-Aq.css} +4 -4
  73. flowfile/web/static/assets/{SetupView-3fa0aa03.js → SetupView-C1aXRDvp.js} +3 -4
  74. flowfile/web/static/assets/{SetupView-e2da3442.css → SetupView-CI1nd-5Z.css} +38 -38
  75. flowfile/web/static/assets/{SingleSelect-a4a568cb.js → SingleSelect-Kr_hz90m.js} +2 -2
  76. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-c8ebdd33.js → SingleSelect.vue_vue_type_script_setup_true_lang-Rxht5Z5N.js} +1 -1
  77. flowfile/web/static/assets/{SliderInput-be533e71.js → SliderInput-CLqpCxCb.js} +1 -2
  78. flowfile/web/static/assets/{GroupBy-5792782d.css → Sort-BIt2kc_p.css} +1 -1
  79. flowfile/web/static/assets/{Sort-154dad81.js → Sort-Dnw_J6Qi.js} +25 -25
  80. flowfile/web/static/assets/{TextInput-454e2bda.js → TextInput-wdlunIZC.js} +2 -2
  81. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-e86510d0.js → TextInput.vue_vue_type_script_setup_true_lang-Bcj3ywzv.js} +1 -1
  82. flowfile/web/static/assets/{TextToRows-ea73433d.js → TextToRows-BhtyGWPq.js} +42 -49
  83. flowfile/web/static/assets/{TextToRows-12afb4f4.css → TextToRows-DivDOLDx.css} +9 -9
  84. flowfile/web/static/assets/{ToggleSwitch-9d7b30f1.js → ToggleSwitch-B-6WzfFf.js} +2 -2
  85. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-00f2580e.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-Cj8LqT-b.js} +1 -1
  86. flowfile/web/static/assets/{UnavailableFields-b72a2c72.js → UnavailableFields-Yf6XSqFB.js} +2 -3
  87. flowfile/web/static/assets/{Union-1e44f263.js → Union-CwpjeKYC.js} +20 -23
  88. flowfile/web/static/assets/{Unpivot-b6ad6427.css → Union-DQJcpp3-.css} +6 -6
  89. flowfile/web/static/assets/{Unique-a3bc6d0a.js → Unique-25v3urqH.js} +75 -74
  90. flowfile/web/static/assets/{Union-d6a8d7d5.css → Unpivot-Deqh1gtI.css} +6 -6
  91. flowfile/web/static/assets/{Unpivot-e27935fc.js → Unpivot-sYcTTXrq.js} +34 -27
  92. flowfile/web/static/assets/{UnpivotValidation-72497680.js → UnpivotValidation-C5DDEKY2.js} +5 -7
  93. flowfile/web/static/assets/VueGraphicWalker-B8l1_Z92.js +131 -0
  94. flowfile/web/static/assets/VueGraphicWalker-Da_1-3me.css +21 -0
  95. flowfile/web/static/assets/{api-a2102880.js → api-C0LvF-0C.js} +1 -1
  96. flowfile/web/static/assets/{api-f75042b0.js → api-DaC83EO_.js} +1 -1
  97. flowfile/web/static/assets/client-C8Ygr6Gb.js +42 -0
  98. flowfile/web/static/assets/{dropDown-2798a109.js → dropDown-D5YXaPRR.js} +7 -12
  99. flowfile/web/static/assets/{fullEditor-cf7d7d93.js → fullEditor-BVYnWm05.js} +300 -18
  100. flowfile/web/static/assets/genericNodeSettings-2wAu-QKn.css +75 -0
  101. flowfile/web/static/assets/genericNodeSettings-BBtW_Cpz.js +590 -0
  102. flowfile/web/static/assets/{VueGraphicWalker-d9ab70a3.js → graphic-walker.es-VrK6vdGE.js} +92305 -89751
  103. flowfile/web/static/assets/index-BCJxPfM5.js +6693 -0
  104. flowfile/web/static/assets/{index-f0a6e5a5.js → index-CHPMUR0d.js} +150 -170
  105. flowfile/web/static/assets/index-DPkoZWq8.js +32 -0
  106. flowfile/web/static/assets/index-DnW_KC_I.js +277 -0
  107. flowfile/web/static/assets/index-UFXyfirV.css +10797 -0
  108. flowfile/web/static/assets/index-bcuE0Z0p.js +87456 -0
  109. flowfile/web/static/assets/{node.types-2c15bb7e.js → node.types-Dl4gtSW9.js} +2 -2
  110. flowfile/web/static/assets/{outputCsv-3c1757e8.js → outputCsv-BELuBiJZ.js} +2 -3
  111. flowfile/web/static/assets/outputCsv-CdGkv-fN.css +2581 -0
  112. flowfile/web/static/assets/{outputExcel-686e1f48.js → outputExcel-D0TTNM79.js} +1 -2
  113. flowfile/web/static/assets/{outputParquet-df28faa7.js → outputParquet-Cz9EbRHj.js} +1 -2
  114. flowfile/web/static/assets/{readCsv-e37eee21.js → readCsv-7bd3kUMI.js} +1 -2
  115. flowfile/web/static/assets/{readExcel-a13f14bb.js → readExcel-Cq8CCwIv.js} +3 -4
  116. flowfile/web/static/assets/{readParquet-c5244ad5.css → readParquet-CRDmBrsp.css} +4 -4
  117. flowfile/web/static/assets/{readParquet-344cf746.js → readParquet-DjR4mRaj.js} +4 -5
  118. flowfile/web/static/assets/{secrets.api-ae198c5c.js → secrets.api-C9o2KE5V.js} +1 -1
  119. flowfile/web/static/assets/{selectDynamic-6b4b0767.js → selectDynamic-Bl5FVsME.js} +5 -8
  120. flowfile/web/static/assets/useNodeSettings-dMS9zmh_.js +69 -0
  121. flowfile/web/static/assets/{vue-codemirror.esm-31ba0e0b.js → vue-codemirror.esm-CwaYwln0.js} +3469 -3064
  122. flowfile/web/static/assets/{vue-content-loader.es-4469c8ff.js → vue-content-loader.es-CMoRXo7N.js} +3 -3
  123. flowfile/web/static/index.html +2 -3
  124. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/METADATA +2 -1
  125. flowfile-0.6.1.dist-info/RECORD +417 -0
  126. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/WHEEL +1 -1
  127. flowfile_core/auth/password.py +1 -0
  128. flowfile_core/database/init_db.py +7 -5
  129. flowfile_core/fileExplorer/funcs.py +2 -2
  130. flowfile_core/flowfile/code_generator/code_generator.py +13 -11
  131. flowfile_core/flowfile/filter_expressions.py +327 -0
  132. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +61 -59
  133. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +3 -29
  134. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +45 -14
  135. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +20 -3
  136. flowfile_core/flowfile/flow_data_engine/subprocess_operations/streaming.py +206 -0
  137. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +158 -24
  138. flowfile_core/flowfile/flow_graph.py +504 -190
  139. flowfile_core/flowfile/flow_node/__init__.py +32 -0
  140. flowfile_core/flowfile/flow_node/executor.py +404 -0
  141. flowfile_core/flowfile/flow_node/flow_node.py +207 -106
  142. flowfile_core/flowfile/flow_node/models.py +40 -0
  143. flowfile_core/flowfile/flow_node/output_field_config_applier.py +217 -0
  144. flowfile_core/flowfile/flow_node/schema_utils.py +78 -0
  145. flowfile_core/flowfile/flow_node/state.py +155 -0
  146. flowfile_core/flowfile/history_manager.py +401 -0
  147. flowfile_core/flowfile/manage/compatibility_enhancements.py +9 -0
  148. flowfile_core/flowfile/manage/io_flowfile.py +3 -1
  149. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +20 -4
  150. flowfile_core/flowfile/util/execution_orderer.py +89 -36
  151. flowfile_core/main.py +2 -4
  152. flowfile_core/routes/auth.py +8 -9
  153. flowfile_core/routes/routes.py +320 -101
  154. flowfile_core/routes/user_defined_components.py +18 -16
  155. flowfile_core/schemas/history_schema.py +220 -0
  156. flowfile_core/schemas/input_schema.py +130 -6
  157. flowfile_core/schemas/schemas.py +9 -0
  158. flowfile_core/schemas/transform_schema.py +27 -5
  159. flowfile_core/schemas/yaml_types.py +23 -5
  160. flowfile_frame/adding_expr.py +18 -126
  161. flowfile_frame/callable_utils.py +261 -0
  162. flowfile_frame/database/connection_manager.py +0 -1
  163. flowfile_frame/expr.py +8 -4
  164. flowfile_frame/flow_frame.py +41 -41
  165. flowfile_frame/lazy.py +3 -12
  166. flowfile_frame/lazy_methods.py +5 -64
  167. flowfile_frame/utils.py +13 -32
  168. flowfile_worker/funcs.py +6 -4
  169. flowfile_worker/main.py +2 -0
  170. flowfile_worker/models.py +31 -11
  171. flowfile_worker/routes.py +60 -35
  172. flowfile_worker/spawner.py +7 -1
  173. flowfile_worker/streaming.py +335 -0
  174. flowfile/web/static/assets/ContextMenu-49463352.js +0 -9
  175. flowfile/web/static/assets/ContextMenu-dd5f3f25.js +0 -9
  176. flowfile/web/static/assets/ContextMenu-f709b884.js +0 -9
  177. flowfile/web/static/assets/Join-28b5e18f.css +0 -109
  178. flowfile/web/static/assets/PopOver-862d7e28.js +0 -939
  179. flowfile/web/static/assets/Read-225cc63f.js +0 -222
  180. flowfile/web/static/assets/VueGraphicWalker-430f0b86.css +0 -6
  181. flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -24
  182. flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -23
  183. flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
  184. flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
  185. flowfile/web/static/assets/genericNodeSettings-14eac1c3.js +0 -137
  186. flowfile/web/static/assets/genericNodeSettings-3b2507ea.css +0 -46
  187. flowfile/web/static/assets/index-387a6f18.js +0 -60752
  188. flowfile/web/static/assets/index-6b367bb5.js +0 -38
  189. flowfile/web/static/assets/index-e96ab018.css +0 -10466
  190. flowfile/web/static/assets/nodeInput-ed2ae8d7.js +0 -2
  191. flowfile/web/static/assets/outputCsv-b9a072af.css +0 -2499
  192. flowfile-0.5.4.dist-info/RECORD +0 -407
  193. /flowfile/web/static/assets/{AdminView-f53bad23.css → AdminView-B2Dthl3u.css} +0 -0
  194. /flowfile/web/static/assets/{CloudConnectionView-cf85f943.css → CloudConnectionView-BdFYGWV7.css} +0 -0
  195. /flowfile/web/static/assets/{ColumnActionInput-c44b7aee.css → ColumnActionInput-dCasSIC9.css} +0 -0
  196. /flowfile/web/static/assets/{ColumnSelector-371637fb.css → ColumnSelector-j6sEOjo1.css} +0 -0
  197. /flowfile/web/static/assets/{CustomNode-edb9b939.css → CustomNode-VPlajG0j.css} +0 -0
  198. /flowfile/web/static/assets/{DatabaseConnectionSettings-c20a1e16.css → DatabaseConnectionSettings-B78hXYgu.css} +0 -0
  199. /flowfile/web/static/assets/{DatabaseView-6655afd6.css → DatabaseView-B-_adk1s.css} +0 -0
  200. /flowfile/web/static/assets/{DocumentationView-9ea6e871.css → DocumentationView-CL7iipFL.css} +0 -0
  201. /flowfile/web/static/assets/{ExploreData-10c5acc8.css → ExploreData-DHjv0Plr.css} +0 -0
  202. /flowfile/web/static/assets/{LoginView-d325d632.css → LoginView-DN1BXY3e.css} +0 -0
  203. /flowfile/web/static/assets/{PivotValidation-0e905b1a.css → PivotValidation-DK-FARWe.css} +0 -0
  204. /flowfile/web/static/assets/{PivotValidation-41b57ad6.css → PivotValidation-FUa9F47u.css} +0 -0
  205. /flowfile/web/static/assets/{PolarsCode-2b1f1f23.css → PolarsCode-G-gRSrSc.css} +0 -0
  206. /flowfile/web/static/assets/{SQLQueryComponent-edb90b98.css → SQLQueryComponent-oAbWw0r-.css} +0 -0
  207. /flowfile/web/static/assets/{SecretSelector-6329f743.css → SecretSelector-CJSadIZx.css} +0 -0
  208. /flowfile/web/static/assets/{SecretsView-aa291340.css → SecretsView-DbzIRAba.css} +0 -0
  209. /flowfile/web/static/assets/{SettingsSection-8f980839.css → SettingsSection-BGcJnH6q.css} +0 -0
  210. /flowfile/web/static/assets/{SettingsSection-07fbbc39.css → SettingsSection-DDWn_EGW.css} +0 -0
  211. /flowfile/web/static/assets/{SliderInput-f2e4f23c.css → SliderInput-BRk-q_Dk.css} +0 -0
  212. /flowfile/web/static/assets/{UnavailableFields-394a1f78.css → UnavailableFields-DRKDImKe.css} +0 -0
  213. /flowfile/web/static/assets/{Unique-2b705521.css → Unique-Absb0aON.css} +0 -0
  214. /flowfile/web/static/assets/{UnpivotValidation-d5ca3b7b.css → UnpivotValidation-DSBkFgS-.css} +0 -0
  215. /flowfile/web/static/assets/{airbyte-292aa232.png → airbyte-W0xvIXwZ.png} +0 -0
  216. /flowfile/web/static/assets/{cloud_storage_reader-aa1415d6.png → cloud_storage_reader-3GpSCk90.png} +0 -0
  217. /flowfile/web/static/assets/{cross_join-d30c0290.png → cross_join-B0qpgYoV.png} +0 -0
  218. /flowfile/web/static/assets/{dropDown-1d6acbd9.css → dropDown-CE0VF5_P.css} +0 -0
  219. /flowfile/web/static/assets/{explore_data-8a0a2861.png → explore_data-tX6olPPL.png} +0 -0
  220. /flowfile/web/static/assets/{fa-brands-400-808443ae.ttf → fa-brands-400-D1LuMI3I.ttf} +0 -0
  221. /flowfile/web/static/assets/{fa-brands-400-d7236a19.woff2 → fa-brands-400-D_cYUPeE.woff2} +0 -0
  222. /flowfile/web/static/assets/{fa-regular-400-e3456d12.woff2 → fa-regular-400-BjRzuEpd.woff2} +0 -0
  223. /flowfile/web/static/assets/{fa-regular-400-54cf6086.ttf → fa-regular-400-DZaxPHgR.ttf} +0 -0
  224. /flowfile/web/static/assets/{fa-solid-900-aa759986.woff2 → fa-solid-900-CTAAxXor.woff2} +0 -0
  225. /flowfile/web/static/assets/{fa-solid-900-d2f05935.ttf → fa-solid-900-D0aA9rwL.ttf} +0 -0
  226. /flowfile/web/static/assets/{fa-v4compatibility-0ce9033c.woff2 → fa-v4compatibility-C9RhG_FT.woff2} +0 -0
  227. /flowfile/web/static/assets/{fa-v4compatibility-30f6abf6.ttf → fa-v4compatibility-CCth-dXg.ttf} +0 -0
  228. /flowfile/web/static/assets/{filter-d7708bda.png → filter-WRdZyUOw.png} +0 -0
  229. /flowfile/web/static/assets/{formula-eeeb1611.png → formula-CgM7uHVI.png} +0 -0
  230. /flowfile/web/static/assets/{fullEditor-fe9f7e18.css → fullEditor-CmDI7T9F.css} +0 -0
  231. /flowfile/web/static/assets/{fuzzy_match-40c161b2.png → fuzzy_match-Yon3k5Tc.png} +0 -0
  232. /flowfile/web/static/assets/{graph_solver-8b7888b8.png → graph_solver-BlMrBttD.png} +0 -0
  233. /flowfile/web/static/assets/{group_by-80561fc3.png → group_by-Gici0CSS.png} +0 -0
  234. /flowfile/web/static/assets/{input_data-ab2eb678.png → input_data-BRdGecLc.png} +0 -0
  235. /flowfile/web/static/assets/{join-349043ae.png → join-BITWRu73.png} +0 -0
  236. /flowfile/web/static/assets/{manual_input-ae98f31d.png → manual_input-CFvo_EUS.png} +0 -0
  237. /flowfile/web/static/assets/{old_join-5d0eb604.png → old_join-B9bkpPqv.png} +0 -0
  238. /flowfile/web/static/assets/{output-06ec0371.png → output-Dp7-ZpC4.png} +0 -0
  239. /flowfile/web/static/assets/{outputExcel-f5d272b2.css → outputExcel-CKgRe2iT.css} +0 -0
  240. /flowfile/web/static/assets/{outputParquet-54597c3c.css → outputParquet-d7j407cK.css} +0 -0
  241. /flowfile/web/static/assets/{pivot-9660df51.png → pivot-DSxKhNlD.png} +0 -0
  242. /flowfile/web/static/assets/{polars_code-05ce5dc6.png → polars_code-DxiztZ1c.png} +0 -0
  243. /flowfile/web/static/assets/{readCsv-3bfac4c3.css → readCsv-BG-1Jilp.css} +0 -0
  244. /flowfile/web/static/assets/{readExcel-3db6b763.css → readExcel-DBQXKPtC.css} +0 -0
  245. /flowfile/web/static/assets/{record_count-dab44eb5.png → record_count-DCeaLtpS.png} +0 -0
  246. /flowfile/web/static/assets/{record_id-0b15856b.png → record_id-FeUjyIFh.png} +0 -0
  247. /flowfile/web/static/assets/{sample-693a88b5.png → sample-DeqfRiB-.png} +0 -0
  248. /flowfile/web/static/assets/{select-b0d0437a.png → select-D4JjbdjS.png} +0 -0
  249. /flowfile/web/static/assets/{selectDynamic-f2fb394f.css → selectDynamic-CjeTPUUo.css} +0 -0
  250. /flowfile/web/static/assets/{sort-2aa579f0.png → sort-DGwUG9WS.png} +0 -0
  251. /flowfile/web/static/assets/{summarize-2a099231.png → summarize-DFaNHpfp.png} +0 -0
  252. /flowfile/web/static/assets/{text_to_rows-859b29ea.png → text_to_rows-BdiAewrN.png} +0 -0
  253. /flowfile/web/static/assets/{union-2d8609f4.png → union-DCK-LSMq.png} +0 -0
  254. /flowfile/web/static/assets/{unique-1958b98a.png → unique-CdP3zZIq.png} +0 -0
  255. /flowfile/web/static/assets/{unpivot-d3cb4b5b.png → unpivot-CHttrEt8.png} +0 -0
  256. /flowfile/web/static/assets/{user-defined-icon-0ae16c90.png → user-defined-icon-BcIp2Vzo.png} +0 -0
  257. /flowfile/web/static/assets/{view-7a0f0be1.png → view-DUSRwjvq.png} +0 -0
  258. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/entry_points.txt +0 -0
  259. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,9 @@
1
1
 
2
- .button-group[data-v-182a7a87] {
2
+ .button-group[data-v-3d73f4dc] {
3
3
  display: flex;
4
4
  gap: 10px;
5
5
  }
6
- .button-group .el-button[data-v-182a7a87] {
6
+ .button-group .el-button[data-v-3d73f4dc] {
7
7
  display: flex;
8
8
  align-items: center;
9
9
  gap: 6px;
@@ -20,47 +20,47 @@
20
20
  }
21
21
 
22
22
  /* Run button - normal state */
23
- .button-group .el-button[data-v-182a7a87]:first-child:not([disabled]) {
23
+ .button-group .el-button[data-v-3d73f4dc]:first-child:not([disabled]) {
24
24
  background-color: var(--primary-blue) !important;
25
25
  border: 1px solid var(--primary-blue-light) !important;
26
- color: var(--color-text-inverse) !important;
26
+ color: #ffffff !important;
27
27
  }
28
28
 
29
29
  /* Run button - hover state */
30
- .button-group .el-button[data-v-182a7a87]:first-child:not([disabled]):hover {
30
+ .button-group .el-button[data-v-3d73f4dc]:first-child:not([disabled]):hover {
31
31
  background-color: var(--color-button-primary) !important;
32
32
  border-color: var(--color-button-primary) !important;
33
33
  }
34
34
 
35
35
  /* Run button - disabled state */
36
- .button-group .el-button:first-child[disabled][data-v-182a7a87] {
36
+ .button-group .el-button:first-child[disabled][data-v-3d73f4dc] {
37
37
  background-color: var(--color-gray-400) !important;
38
38
  border: 1px solid var(--color-gray-400) !important;
39
- color: var(--color-text-inverse) !important;
39
+ color: #ffffff !important;
40
40
  cursor: not-allowed;
41
41
  opacity: 0.7;
42
42
  }
43
43
 
44
44
  /* Cancel button */
45
- .button-group .el-button[data-v-182a7a87]:nth-child(2) {
45
+ .button-group .el-button[data-v-3d73f4dc]:nth-child(2) {
46
46
  background-color: var(--color-danger) !important;
47
47
  border: 1px solid var(--color-danger) !important;
48
- color: var(--color-text-inverse) !important;
48
+ color: #ffffff !important;
49
49
  }
50
50
 
51
51
  /* Cancel button - hover state */
52
- .button-group .el-button[data-v-182a7a87]:nth-child(2):hover {
52
+ .button-group .el-button[data-v-3d73f4dc]:nth-child(2):hover {
53
53
  background-color: var(--color-danger-hover) !important;
54
54
  border-color: var(--color-danger-hover) !important;
55
55
  }
56
56
 
57
57
  /* Active state for both buttons */
58
- .button-group .el-button[data-v-182a7a87]:active {
58
+ .button-group .el-button[data-v-3d73f4dc]:active {
59
59
  transform: translateY(1px);
60
60
  box-shadow: none;
61
61
  }
62
62
 
63
- .browser-title[data-v-bcb824aa] {
63
+ .browser-title[data-v-42889233] {
64
64
  display: flex;
65
65
  align-items: center;
66
66
  gap: 8px;
@@ -69,32 +69,32 @@
69
69
  font-weight: 600;
70
70
  color: var(--color-text-primary);
71
71
  }
72
- .mode-selector[data-v-bcb824aa] {
72
+ .mode-selector[data-v-42889233] {
73
73
  display: flex;
74
74
  justify-content: center;
75
75
  }
76
- .browser-content[data-v-bcb824aa] {
76
+ .browser-content[data-v-42889233] {
77
77
  display: flex;
78
78
  flex-direction: column;
79
79
  height: calc(100% - 116px); /* Adjust based on header height */
80
80
  overflow: hidden;
81
81
  }
82
- .browser-toolbar[data-v-bcb824aa] {
82
+ .browser-toolbar[data-v-42889233] {
83
83
  padding: 16px;
84
84
  background-color: var(--color-background-primary);
85
85
  border-bottom: 1px solid var(--color-border-primary);
86
86
  }
87
- .browser-action-btn[data-v-bcb824aa] {
87
+ .browser-action-btn[data-v-42889233] {
88
88
  background-color: var(--color-file-browser-bg);
89
89
  color: var(--color-text-inverse);
90
90
  }
91
- .path-navigation[data-v-bcb824aa] {
91
+ .path-navigation[data-v-42889233] {
92
92
  display: flex;
93
93
  align-items: center;
94
94
  gap: 12px;
95
95
  margin-bottom: 12px;
96
96
  }
97
- .nav-button[data-v-bcb824aa] {
97
+ .nav-button[data-v-42889233] {
98
98
  display: inline-flex;
99
99
  align-items: center;
100
100
  gap: 4px;
@@ -107,11 +107,11 @@
107
107
  cursor: pointer;
108
108
  transition: all 0.2s ease;
109
109
  }
110
- .nav-button[data-v-bcb824aa]:hover:not(:disabled) {
110
+ .nav-button[data-v-42889233]:hover:not(:disabled) {
111
111
  background-color: var(--color-background-secondary);
112
112
  border-color: var(--color-border-secondary);
113
113
  }
114
- .current-path[data-v-bcb824aa] {
114
+ .current-path[data-v-42889233] {
115
115
  flex: 1;
116
116
  padding: 8px 12px;
117
117
  background-color: var(--color-background-secondary);
@@ -120,38 +120,38 @@
120
120
  font-family: var(--font-family-mono);
121
121
  color: var(--color-text-secondary);
122
122
  }
123
- .search-container[data-v-bcb824aa] {
123
+ .search-container[data-v-42889233] {
124
124
  display: flex;
125
125
  align-items: center;
126
126
  gap: 16px;
127
127
  flex: 1;
128
128
  }
129
- .search-input[data-v-bcb824aa] {
129
+ .search-input[data-v-42889233] {
130
130
  flex: 1;
131
131
  }
132
- .browser-main[data-v-bcb824aa] {
132
+ .browser-main[data-v-42889233] {
133
133
  flex: 1;
134
134
  overflow-y: auto;
135
135
  padding: 16px;
136
136
  }
137
- .file-item[data-v-bcb824aa] {
137
+ .file-item[data-v-42889233] {
138
138
  border: 1px solid var(--color-border-primary);
139
139
  border-radius: 8px;
140
140
  overflow: hidden;
141
141
  transition: all 0.2s ease;
142
142
  }
143
- .file-item[data-v-bcb824aa]:hover {
143
+ .file-item[data-v-42889233]:hover {
144
144
  transform: translateY(-2px);
145
145
  box-shadow: var(--shadow-sm);
146
146
  }
147
- .file-item.selected[data-v-bcb824aa] {
147
+ .file-item.selected[data-v-42889233] {
148
148
  border-color: var(--color-info);
149
149
  border-width: 2px;
150
150
  background-color: var(--color-background-selected);
151
151
  box-shadow: var(--shadow-md);
152
152
  position: relative;
153
153
  }
154
- .file-item.selected[data-v-bcb824aa]::after {
154
+ .file-item.selected[data-v-42889233]::after {
155
155
  content: "check_circle";
156
156
  font-family: "Material Icons";
157
157
  position: absolute;
@@ -162,29 +162,29 @@
162
162
  background: var(--color-background-primary);
163
163
  border-radius: 50%;
164
164
  }
165
- .file-item-content[data-v-bcb824aa] {
165
+ .file-item-content[data-v-42889233] {
166
166
  padding: 12px;
167
167
  display: flex;
168
168
  align-items: center;
169
169
  gap: 12px;
170
170
  }
171
- .file-icon-wrapper[data-v-bcb824aa] {
171
+ .file-icon-wrapper[data-v-42889233] {
172
172
  display: flex;
173
173
  align-items: center;
174
174
  justify-content: center;
175
175
  width: 30px;
176
176
  height: 30px;
177
177
  }
178
- .file-icon[data-v-bcb824aa] {
178
+ .file-icon[data-v-42889233] {
179
179
  width: 24px;
180
180
  height: 24px;
181
181
  color: var(--color-text-tertiary);
182
182
  }
183
- .file-details[data-v-bcb824aa] {
183
+ .file-details[data-v-42889233] {
184
184
  flex: 1;
185
185
  min-width: 0;
186
186
  }
187
- .file-name[data-v-bcb824aa] {
187
+ .file-name[data-v-42889233] {
188
188
  font-weight: 500;
189
189
  color: var(--color-text-primary);
190
190
  margin-bottom: 4px;
@@ -192,11 +192,11 @@
192
192
  overflow: hidden;
193
193
  text-overflow: ellipsis;
194
194
  }
195
- .file-info[data-v-bcb824aa] {
195
+ .file-info[data-v-42889233] {
196
196
  font-size: 12px;
197
197
  color: var(--color-text-secondary);
198
198
  }
199
- .browser-actions[data-v-bcb824aa] {
199
+ .browser-actions[data-v-42889233] {
200
200
  padding: 16px;
201
201
  background-color: var(--color-background-secondary);
202
202
  border-top: 1px solid var(--color-border-primary);
@@ -207,58 +207,58 @@
207
207
  box-sizing: border-box;
208
208
  gap: 12px;
209
209
  }
210
- .selected-file[data-v-bcb824aa] {
210
+ .selected-file[data-v-42889233] {
211
211
  color: var(--color-text-secondary);
212
212
  font-size: 14px;
213
213
  }
214
- .loading-state[data-v-bcb824aa],
215
- .error-state[data-v-bcb824aa],
216
- .empty-state[data-v-bcb824aa] {
214
+ .loading-state[data-v-42889233],
215
+ .error-state[data-v-42889233],
216
+ .empty-state[data-v-42889233] {
217
217
  display: flex;
218
218
  align-items: center;
219
219
  justify-content: center;
220
220
  height: 200px;
221
221
  color: var(--color-text-secondary);
222
222
  }
223
- .error-state[data-v-bcb824aa] {
223
+ .error-state[data-v-42889233] {
224
224
  color: var(--color-danger);
225
225
  }
226
- .error-content[data-v-bcb824aa] {
226
+ .error-content[data-v-42889233] {
227
227
  display: flex;
228
228
  flex-direction: column;
229
229
  align-items: center;
230
230
  gap: 12px;
231
231
  text-align: center;
232
232
  }
233
- .error-icon[data-v-bcb824aa] {
233
+ .error-icon[data-v-42889233] {
234
234
  font-size: 48px;
235
235
  color: var(--color-danger, #ef4444);
236
236
  }
237
- .error-message[data-v-bcb824aa] {
237
+ .error-message[data-v-42889233] {
238
238
  max-width: 300px;
239
239
  }
240
- .empty-state[data-v-bcb824aa] {
240
+ .empty-state[data-v-42889233] {
241
241
  flex-direction: column;
242
242
  gap: 8px;
243
243
  color: var(--color-text-secondary);
244
244
  }
245
- .empty-state .material-icons[data-v-bcb824aa] {
245
+ .empty-state .material-icons[data-v-42889233] {
246
246
  font-size: 48px;
247
247
  opacity: 0.5;
248
248
  }
249
249
 
250
250
  /* Refresh button styling */
251
- .refresh-button[data-v-bcb824aa] {
251
+ .refresh-button[data-v-42889233] {
252
252
  padding: 8px;
253
253
  min-width: auto;
254
254
  }
255
- .refresh-button .material-icons[data-v-bcb824aa] {
255
+ .refresh-button .material-icons[data-v-42889233] {
256
256
  transition: transform 0.3s ease;
257
257
  }
258
- .refresh-button .material-icons.spin[data-v-bcb824aa] {
259
- animation: spin-bcb824aa 1s linear infinite;
258
+ .refresh-button .material-icons.spin[data-v-42889233] {
259
+ animation: spin-42889233 1s linear infinite;
260
260
  }
261
- @keyframes spin-bcb824aa {
261
+ @keyframes spin-42889233 {
262
262
  from {
263
263
  transform: rotate(0deg);
264
264
  }
@@ -266,10 +266,10 @@ to {
266
266
  transform: rotate(360deg);
267
267
  }
268
268
  }
269
- .hidden-file[data-v-bcb824aa] {
269
+ .hidden-file[data-v-42889233] {
270
270
  opacity: 0.5;
271
271
  }
272
- .file-browser[data-v-bcb824aa] {
272
+ .file-browser[data-v-42889233] {
273
273
  display: flex;
274
274
  flex-direction: column;
275
275
  height: 70vh; /* Set to 70% of viewport height */
@@ -277,20 +277,20 @@ to {
277
277
  border-radius: 8px;
278
278
  box-shadow: var(--shadow-md);
279
279
  }
280
- .browser-content[data-v-bcb824aa] {
280
+ .browser-content[data-v-42889233] {
281
281
  display: flex;
282
282
  flex-direction: column;
283
283
  flex: 1;
284
284
  min-height: 0; /* Enable proper flex child scrolling */
285
285
  overflow: hidden;
286
286
  }
287
- .browser-main[data-v-bcb824aa] {
287
+ .browser-main[data-v-42889233] {
288
288
  flex: 1;
289
289
  overflow-y: auto; /* Make this section scrollable */
290
290
  padding: 16px;
291
291
  min-height: 0; /* Enable proper flex child scrolling */
292
292
  }
293
- .grid-container[data-v-bcb824aa] {
293
+ .grid-container[data-v-42889233] {
294
294
  display: grid;
295
295
  grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
296
296
  gap: 16px;
@@ -298,25 +298,25 @@ to {
298
298
  }
299
299
 
300
300
  /* Optional: if you want to maintain icon size consistency */
301
- .file-icon[data-v-bcb824aa] {
301
+ .file-icon[data-v-42889233] {
302
302
  width: 24px;
303
303
  height: 24px;
304
304
  object-fit: contain;
305
305
  }
306
306
 
307
307
  /* Add new styles for sort controls */
308
- .search-and-sort-container[data-v-bcb824aa] {
308
+ .search-and-sort-container[data-v-42889233] {
309
309
  display: flex;
310
310
  flex-direction: column;
311
311
  gap: 12px;
312
312
  }
313
- .sort-controls[data-v-bcb824aa] {
313
+ .sort-controls[data-v-42889233] {
314
314
  display: flex;
315
315
  align-items: center;
316
316
  gap: 8px;
317
317
  min-width: 180px; /* Prevent select from being too narrow */
318
318
  }
319
- .sort-direction-button[data-v-bcb824aa] {
319
+ .sort-direction-button[data-v-42889233] {
320
320
  display: inline-flex;
321
321
  align-items: center;
322
322
  justify-content: center;
@@ -324,13 +324,13 @@ to {
324
324
  height: 32px;
325
325
  padding: 0;
326
326
  }
327
- .controls-row[data-v-bcb824aa] {
327
+ .controls-row[data-v-42889233] {
328
328
  display: flex;
329
329
  align-items: center;
330
330
  gap: 16px;
331
331
  margin-top: 12px;
332
332
  }
333
- .form-hint[data-v-bcb824aa] {
333
+ .form-hint[data-v-42889233] {
334
334
  font-size: 12px;
335
335
  color: var(--color-text-tertiary);
336
336
  margin-top: 8px;
@@ -339,22 +339,22 @@ to {
339
339
  gap: 6px;
340
340
  flex-wrap: wrap;
341
341
  }
342
- .preview-label[data-v-bcb824aa] {
342
+ .preview-label[data-v-42889233] {
343
343
  color: var(--color-text-secondary);
344
344
  }
345
- .form-hint code[data-v-bcb824aa] {
345
+ .form-hint code[data-v-42889233] {
346
346
  background-color: var(--color-background-secondary);
347
347
  padding: 2px 6px;
348
348
  border-radius: 4px;
349
349
  font-family: monospace;
350
350
  color: var(--color-text-primary);
351
351
  }
352
- .auto-extension-hint[data-v-bcb824aa] {
352
+ .auto-extension-hint[data-v-42889233] {
353
353
  color: var(--color-text-muted);
354
354
  font-style: italic;
355
355
  }
356
356
 
357
- .action-buttons[data-v-92d73926] {
357
+ .action-buttons[data-v-0e8c073f] {
358
358
  padding-left: var(--spacing-5);
359
359
  display: flex;
360
360
  align-items: center;
@@ -362,7 +362,7 @@ to {
362
362
  height: 50px;
363
363
  font-family: var(--font-family-base);
364
364
  }
365
- .action-btn[data-v-92d73926] {
365
+ .action-btn[data-v-0e8c073f] {
366
366
  display: flex;
367
367
  align-items: center;
368
368
  gap: var(--spacing-1-5);
@@ -378,63 +378,70 @@ to {
378
378
  font-weight: var(--font-weight-medium);
379
379
  box-shadow: var(--shadow-xs);
380
380
  }
381
- .action-btn[data-v-92d73926]:hover {
381
+ .action-btn[data-v-0e8c073f]:hover {
382
382
  background-color: var(--color-background-tertiary);
383
383
  border-color: var(--color-border-secondary);
384
384
  }
385
- .action-btn[data-v-92d73926]:active {
385
+ .action-btn[data-v-0e8c073f]:active {
386
386
  transform: translateY(1px);
387
387
  box-shadow: none;
388
388
  }
389
- .action-btn.active[data-v-92d73926] {
389
+ .action-btn.active[data-v-0e8c073f] {
390
390
  background-color: var(--color-accent-subtle);
391
391
  border-color: var(--color-accent);
392
392
  color: var(--color-accent);
393
393
  }
394
- .btn-icon[data-v-92d73926] {
394
+ .btn-icon[data-v-0e8c073f] {
395
395
  font-size: 18px;
396
396
  color: var(--color-text-secondary);
397
397
  -webkit-font-smoothing: antialiased;
398
398
  -moz-osx-font-smoothing: grayscale;
399
399
  text-rendering: optimizeLegibility;
400
400
  }
401
- .action-btn:hover .btn-icon[data-v-92d73926] {
401
+ .action-btn:hover .btn-icon[data-v-0e8c073f] {
402
402
  color: var(--color-text-primary);
403
403
  }
404
- .action-btn.active .btn-icon[data-v-92d73926] {
404
+ .action-btn.active .btn-icon[data-v-0e8c073f] {
405
405
  color: var(--color-accent);
406
406
  }
407
- .btn-text[data-v-92d73926] {
407
+ .btn-text[data-v-0e8c073f] {
408
408
  white-space: nowrap;
409
409
  }
410
- .settings-modal-content[data-v-92d73926] {
410
+ .settings-modal-content[data-v-0e8c073f] {
411
411
  padding: var(--spacing-4);
412
412
  font-family: var(--font-family-base);
413
413
  }
414
- .form-group[data-v-92d73926] {
414
+ .form-group[data-v-0e8c073f] {
415
415
  margin-bottom: var(--spacing-4);
416
416
  }
417
- .form-group label[data-v-92d73926] {
417
+ .form-group label[data-v-0e8c073f] {
418
418
  display: block;
419
419
  margin-bottom: var(--spacing-2);
420
420
  font-size: var(--font-size-sm);
421
421
  font-weight: var(--font-weight-medium);
422
422
  color: var(--color-text-primary);
423
423
  }
424
- .quick-create-modal[data-v-92d73926] {
424
+ .form-hint[data-v-0e8c073f] {
425
+ display: block;
426
+ margin-top: var(--spacing-1);
427
+ font-size: var(--font-size-xs, 11px);
428
+ color: var(--color-text-muted, #999);
429
+ line-height: 1.4;
430
+ }
431
+ .quick-create-modal[data-v-0e8c073f] {
425
432
  padding: var(--spacing-4) 0;
426
433
  }
427
- .quick-create-modal .form-group[data-v-92d73926] {
434
+ .quick-create-modal .form-group[data-v-0e8c073f] {
428
435
  margin-bottom: var(--spacing-5);
429
436
  }
430
- .quick-create-modal label[data-v-92d73926] {
437
+ .quick-create-modal label[data-v-0e8c073f] {
431
438
  display: block;
432
439
  margin-bottom: var(--spacing-2);
433
440
  font-size: var(--font-size-sm);
434
441
  font-weight: var(--font-weight-medium);
435
442
  color: var(--color-text-primary);
436
443
  }
437
- .preview-text[data-v-92d73926] {
444
+ .preview-text[data-v-0e8c073f] {
438
445
  padding: var(--spacing-3);
439
446
  background-color: var(--color-background-muted);
440
447
  border: 1px solid var(--color-border-light);
@@ -442,14 +449,14 @@ to {
442
449
  font-size: var(--font-size-md);
443
450
  color: var(--color-text-secondary);
444
451
  }
445
- .preview-text code[data-v-92d73926] {
452
+ .preview-text code[data-v-0e8c073f] {
446
453
  background-color: var(--color-background-tertiary);
447
454
  padding: 2px var(--spacing-1-5);
448
455
  border-radius: var(--border-radius-sm);
449
456
  font-family: var(--font-family-mono);
450
457
  font-size: var(--font-size-sm);
451
458
  }
452
- .dialog-footer[data-v-92d73926] {
459
+ .dialog-footer[data-v-0e8c073f] {
453
460
  display: flex;
454
461
  gap: var(--spacing-2);
455
462
  }
@@ -900,7 +907,7 @@ to {
900
907
  }
901
908
  }
902
909
 
903
- .nodes-wrapper[data-v-0930336a] {
910
+ .nodes-wrapper[data-v-49354e27] {
904
911
  display: flex;
905
912
  flex-direction: column;
906
913
  gap: var(--spacing-1);
@@ -911,7 +918,7 @@ to {
911
918
  }
912
919
 
913
920
  /* Style for search input */
914
- .search-input[data-v-0930336a] {
921
+ .search-input[data-v-49354e27] {
915
922
  padding: var(--spacing-2) var(--spacing-4);
916
923
  color: var(--color-text-primary);
917
924
  margin-bottom: var(--spacing-2);
@@ -921,15 +928,15 @@ to {
921
928
  background-color: var(--color-background-primary);
922
929
  transition: border-color var(--transition-fast);
923
930
  }
924
- .search-input[data-v-0930336a]:focus {
931
+ .search-input[data-v-49354e27]:focus {
925
932
  outline: none;
926
933
  border-color: var(--input-border-focus);
927
934
  }
928
- .category-container[data-v-0930336a] {
935
+ .category-container[data-v-49354e27] {
929
936
  overflow: hidden;
930
937
  border-radius: var(--border-radius-sm);
931
938
  }
932
- .category-header[data-v-0930336a] {
939
+ .category-header[data-v-49354e27] {
933
940
  display: flex;
934
941
  align-items: center;
935
942
  justify-content: space-between;
@@ -941,25 +948,25 @@ to {
941
948
  transition: background-color var(--transition-fast);
942
949
  height: 32px;
943
950
  }
944
- .category-header[data-v-0930336a]:hover {
951
+ .category-header[data-v-49354e27]:hover {
945
952
  background-color: var(--color-background-tertiary);
946
953
  }
947
- .category-title[data-v-0930336a] {
954
+ .category-title[data-v-49354e27] {
948
955
  font-size: var(--font-size-xs);
949
956
  font-weight: var(--font-weight-normal);
950
957
  color: var(--color-text-primary);
951
958
  text-align: left;
952
959
  }
953
- .category-icon[data-v-0930336a] {
960
+ .category-icon[data-v-49354e27] {
954
961
  font-size: var(--font-size-sm);
955
962
  color: var(--color-text-secondary);
956
963
  }
957
- .category-content[data-v-0930336a] {
964
+ .category-content[data-v-49354e27] {
958
965
  display: flex;
959
966
  flex-direction: column;
960
967
  background-color: var(--color-background-primary);
961
968
  }
962
- .node-item[data-v-0930336a] {
969
+ .node-item[data-v-49354e27] {
963
970
  display: flex;
964
971
  align-items: center;
965
972
  padding: var(--spacing-2) var(--spacing-4);
@@ -969,34 +976,34 @@ to {
969
976
  border-bottom: 1px solid var(--color-border-light);
970
977
  height: 32px;
971
978
  }
972
- .node-item[data-v-0930336a]:last-child {
979
+ .node-item[data-v-49354e27]:last-child {
973
980
  border-bottom: none;
974
981
  }
975
- .node-item[data-v-0930336a]:hover {
982
+ .node-item[data-v-49354e27]:hover {
976
983
  background-color: var(--color-background-tertiary);
977
984
  }
978
- .node-image[data-v-0930336a] {
985
+ .node-image[data-v-49354e27] {
979
986
  width: 24px;
980
987
  height: 24px;
981
988
  margin-right: var(--spacing-2-5);
982
989
  }
983
- .node-name[data-v-0930336a] {
990
+ .node-name[data-v-49354e27] {
984
991
  font-size: var(--font-size-sm);
985
992
  color: var(--color-text-primary);
986
993
  }
987
994
 
988
995
  /* Custom scrollbar */
989
- .nodes-wrapper[data-v-0930336a]::-webkit-scrollbar {
996
+ .nodes-wrapper[data-v-49354e27]::-webkit-scrollbar {
990
997
  width: 6px;
991
998
  }
992
- .nodes-wrapper[data-v-0930336a]::-webkit-scrollbar-track {
999
+ .nodes-wrapper[data-v-49354e27]::-webkit-scrollbar-track {
993
1000
  background: transparent;
994
1001
  }
995
- .nodes-wrapper[data-v-0930336a]::-webkit-scrollbar-thumb {
1002
+ .nodes-wrapper[data-v-49354e27]::-webkit-scrollbar-thumb {
996
1003
  background-color: var(--color-gray-300);
997
1004
  border-radius: var(--border-radius-full);
998
1005
  }
999
- .nodes-wrapper[data-v-0930336a]::-webkit-scrollbar-thumb:hover {
1006
+ .nodes-wrapper[data-v-49354e27]::-webkit-scrollbar-thumb:hover {
1000
1007
  background-color: var(--color-gray-400);
1001
1008
  }
1002
1009
 
@@ -10624,7 +10631,7 @@ to {
10624
10631
  -webkit-box-orient: vertical;
10625
10632
  }
10626
10633
 
10627
- .log-container[data-v-0ab12658] {
10634
+ .log-container[data-v-5497bec4] {
10628
10635
  height: 100%;
10629
10636
  display: flex;
10630
10637
  flex-direction: column;
@@ -10633,53 +10640,54 @@ to {
10633
10640
  font-family: var(--font-family-mono);
10634
10641
  overflow-y: auto;
10635
10642
  }
10636
- .log-header[data-v-0ab12658] {
10643
+ .log-header[data-v-5497bec4] {
10637
10644
  display: flex;
10638
10645
  justify-content: space-between;
10639
10646
  align-items: center;
10640
10647
  padding: 8px;
10641
10648
  background-color: var(--color-gray-800);
10642
10649
  border-bottom: 1px solid var(--color-border-primary);
10650
+ opacity: 0.95;
10643
10651
  position: sticky;
10644
10652
  top: 0;
10645
10653
  z-index: 10; /* Ensures it stays above the logs */
10646
10654
  }
10647
- .log-status[data-v-0ab12658] {
10655
+ .log-status[data-v-5497bec4] {
10648
10656
  display: flex;
10649
10657
  align-items: center;
10650
10658
  gap: 8px;
10651
10659
  font-size: 0.9em;
10652
10660
  }
10653
- .status-indicator[data-v-0ab12658] {
10661
+ .status-indicator[data-v-5497bec4] {
10654
10662
  width: 8px;
10655
10663
  height: 8px;
10656
10664
  border-radius: 50%;
10657
10665
  background-color: var(--color-gray-500);
10658
10666
  }
10659
- .status-indicator.active[data-v-0ab12658] {
10667
+ .status-indicator.active[data-v-5497bec4] {
10660
10668
  background-color: var(--color-success);
10661
10669
  }
10662
- .status-indicator.error[data-v-0ab12658] {
10670
+ .status-indicator.error[data-v-5497bec4] {
10663
10671
  background-color: var(--color-danger);
10664
10672
  }
10665
- .log-controls[data-v-0ab12658] {
10673
+ .log-controls[data-v-5497bec4] {
10666
10674
  display: flex;
10667
10675
  gap: 8px;
10668
10676
  }
10669
- .error-banner[data-v-0ab12658] {
10677
+ .error-banner[data-v-5497bec4] {
10670
10678
  padding: 8px 12px;
10671
10679
  background-color: var(--color-danger-light);
10672
10680
  color: var(--color-danger);
10673
10681
  font-size: 0.9em;
10674
10682
  border-bottom: 1px solid var(--color-danger);
10675
10683
  }
10676
- .empty-state[data-v-0ab12658] {
10684
+ .empty-state[data-v-5497bec4] {
10677
10685
  padding: 16px;
10678
10686
  text-align: center;
10679
10687
  color: var(--color-text-muted);
10680
10688
  font-style: italic;
10681
10689
  }
10682
- .logs[data-v-0ab12658] {
10690
+ .logs[data-v-5497bec4] {
10683
10691
  flex-grow: 1;
10684
10692
  margin: 0;
10685
10693
  padding: 8px;
@@ -10689,24 +10697,24 @@ to {
10689
10697
  line-height: 1.8; /* Reduced line height */
10690
10698
  font-size: small;
10691
10699
  }
10692
- .logs.auto-scroll[data-v-0ab12658] {
10700
+ .logs.auto-scroll[data-v-5497bec4] {
10693
10701
  scroll-behavior: smooth;
10694
10702
  }
10695
- [data-v-0ab12658]::-webkit-scrollbar {
10703
+ [data-v-5497bec4]::-webkit-scrollbar {
10696
10704
  width: 12px;
10697
10705
  }
10698
- [data-v-0ab12658]::-webkit-scrollbar-track {
10706
+ [data-v-5497bec4]::-webkit-scrollbar-track {
10699
10707
  background: var(--color-code-bg);
10700
10708
  }
10701
- [data-v-0ab12658]::-webkit-scrollbar-thumb {
10709
+ [data-v-5497bec4]::-webkit-scrollbar-thumb {
10702
10710
  background: var(--color-gray-600);
10703
10711
  border-radius: 6px;
10704
10712
  border: 3px solid var(--color-code-bg);
10705
10713
  }
10706
- [data-v-0ab12658]::-webkit-scrollbar-thumb:hover {
10714
+ [data-v-5497bec4]::-webkit-scrollbar-thumb:hover {
10707
10715
  background: var(--color-gray-500);
10708
10716
  }
10709
- .error-line[data-v-0ab12658] {
10717
+ .error-line[data-v-5497bec4] {
10710
10718
  background-color: var(--color-danger-light);
10711
10719
  color: var(--color-danger);
10712
10720
  }
@@ -10716,6 +10724,47 @@ to {
10716
10724
  .context-menu[data-v-9260496a] {
10717
10725
  min-width: 200px;
10718
10726
  }
10727
+
10728
+ .undo-redo-controls[data-v-ef0e185f] {
10729
+ position: absolute;
10730
+ top: 12px;
10731
+ left: 192px; /* Position after the node list panel */
10732
+ display: flex;
10733
+ gap: 4px;
10734
+ z-index: 1000;
10735
+ background: var(--color-background-primary);
10736
+ border: 1px solid var(--color-border-light);
10737
+ border-radius: var(--border-radius-lg);
10738
+ padding: 4px;
10739
+ box-shadow: var(--shadow-md);
10740
+ }
10741
+ .control-btn[data-v-ef0e185f] {
10742
+ display: flex;
10743
+ align-items: center;
10744
+ justify-content: center;
10745
+ width: 32px;
10746
+ height: 32px;
10747
+ background: transparent;
10748
+ border: none;
10749
+ border-radius: var(--border-radius-md);
10750
+ cursor: pointer;
10751
+ color: var(--color-text-secondary);
10752
+ transition: all var(--transition-fast);
10753
+ }
10754
+ .control-btn[data-v-ef0e185f]:hover:not(:disabled) {
10755
+ background: var(--color-background-tertiary);
10756
+ color: var(--color-text-primary);
10757
+ }
10758
+ .control-btn[data-v-ef0e185f]:active:not(:disabled) {
10759
+ transform: scale(0.95);
10760
+ }
10761
+ .control-btn[data-v-ef0e185f]:disabled {
10762
+ opacity: 0.3;
10763
+ cursor: not-allowed;
10764
+ }
10765
+ .control-btn .material-icons[data-v-ef0e185f] {
10766
+ font-size: 20px;
10767
+ }
10719
10768
  .vue-flow {
10720
10769
  position: relative;
10721
10770
  width: 100%;
@@ -10735,10 +10784,10 @@ to {
10735
10784
  z-index: 1;
10736
10785
  }
10737
10786
  .vue-flow__pane.draggable {
10738
- cursor: grab;
10787
+ cursor: grab;
10739
10788
  }
10740
10789
  .vue-flow__pane.selection {
10741
- cursor: pointer;
10790
+ cursor: pointer;
10742
10791
  }
10743
10792
  .vue-flow__pane.dragging {
10744
10793
  cursor: grabbing;
@@ -10783,31 +10832,31 @@ to {
10783
10832
  cursor: pointer;
10784
10833
  }
10785
10834
  .vue-flow__edge.animated path {
10786
- stroke-dasharray: 5;
10787
- animation: dashdraw 0.5s linear infinite;
10835
+ stroke-dasharray: 5;
10836
+ animation: dashdraw 0.5s linear infinite;
10788
10837
  }
10789
10838
  .vue-flow__edge.animated path.vue-flow__edge-interaction {
10790
- stroke-dasharray: none;
10791
- animation: none;
10839
+ stroke-dasharray: none;
10840
+ animation: none;
10792
10841
  }
10793
10842
  .vue-flow__edge.inactive {
10794
- pointer-events: none;
10843
+ pointer-events: none;
10795
10844
  }
10796
10845
  .vue-flow__edge.selected,
10797
10846
  .vue-flow__edge:focus,
10798
10847
  .vue-flow__edge:focus-visible {
10799
- outline: none;
10848
+ outline: none;
10800
10849
  }
10801
10850
  .vue-flow__edge.selected .vue-flow__edge-path,
10802
10851
  .vue-flow__edge:focus .vue-flow__edge-path,
10803
10852
  .vue-flow__edge:focus-visible .vue-flow__edge-path {
10804
- stroke: #555;
10853
+ stroke: #555;
10805
10854
  }
10806
10855
  .vue-flow__edge-textwrapper {
10807
- pointer-events: all;
10856
+ pointer-events: all;
10808
10857
  }
10809
10858
  .vue-flow__edge-textbg {
10810
- fill: white;
10859
+ fill: white;
10811
10860
  }
10812
10861
  .vue-flow__edge-text {
10813
10862
  pointer-events: none;
@@ -10819,8 +10868,8 @@ to {
10819
10868
  pointer-events: none;
10820
10869
  }
10821
10870
  .vue-flow__connection .animated {
10822
- stroke-dasharray: 5;
10823
- animation: dashdraw 0.5s linear infinite;
10871
+ stroke-dasharray: 5;
10872
+ animation: dashdraw 0.5s linear infinite;
10824
10873
  }
10825
10874
  .vue-flow__connectionline {
10826
10875
  z-index: 1001;
@@ -10829,25 +10878,6 @@ to {
10829
10878
  pointer-events: none;
10830
10879
  transform-origin: 0 0;
10831
10880
  }
10832
- .vue-flow__node-default,
10833
- .vue-flow__node-input,
10834
- .vue-flow__node-output {
10835
- border-width: 1px;
10836
- border-style: solid;
10837
- border-color: #bbb;
10838
- }
10839
- .vue-flow__node-default.selected,
10840
- .vue-flow__node-default:focus,
10841
- .vue-flow__node-default:focus-visible,
10842
- .vue-flow__node-input.selected,
10843
- .vue-flow__node-input:focus,
10844
- .vue-flow__node-input:focus-visible,
10845
- .vue-flow__node-output.selected,
10846
- .vue-flow__node-output:focus,
10847
- .vue-flow__node-output:focus-visible {
10848
- outline: none;
10849
- border: 1px solid #555;
10850
- }
10851
10881
  .vue-flow__node {
10852
10882
  position: absolute;
10853
10883
  -webkit-user-select: none;
@@ -10871,12 +10901,12 @@ to {
10871
10901
  pointer-events: none;
10872
10902
  }
10873
10903
  .vue-flow__nodesselection-rect {
10874
- position: absolute;
10875
- pointer-events: all;
10876
- cursor: grab;
10904
+ position: absolute;
10905
+ pointer-events: all;
10906
+ cursor: grab;
10877
10907
  }
10878
10908
  .vue-flow__nodesselection-rect.dragging {
10879
- cursor: grabbing;
10909
+ cursor: grabbing;
10880
10910
  }
10881
10911
  .vue-flow__handle {
10882
10912
  position: absolute;
@@ -10885,28 +10915,28 @@ to {
10885
10915
  min-height: 5px;
10886
10916
  }
10887
10917
  .vue-flow__handle.connectable {
10888
- pointer-events: all;
10889
- cursor: crosshair;
10918
+ pointer-events: all;
10919
+ cursor: crosshair;
10890
10920
  }
10891
10921
  .vue-flow__handle-bottom {
10892
- left: 50%;
10893
- bottom: 0;
10894
- transform: translate(-50%, 50%);
10922
+ left: 50%;
10923
+ bottom: 0;
10924
+ transform: translate(-50%, 50%);
10895
10925
  }
10896
10926
  .vue-flow__handle-top {
10897
- left: 50%;
10898
- top: 0;
10899
- transform: translate(-50%, -50%);
10927
+ left: 50%;
10928
+ top: 0;
10929
+ transform: translate(-50%, -50%);
10900
10930
  }
10901
10931
  .vue-flow__handle-left {
10902
- top: 50%;
10903
- left: 0;
10904
- transform: translate(-50%, -50%);
10932
+ top: 50%;
10933
+ left: 0;
10934
+ transform: translate(-50%, -50%);
10905
10935
  }
10906
10936
  .vue-flow__handle-right {
10907
- top: 50%;
10908
- right: 0;
10909
- transform: translate(50%, -50%);
10937
+ top: 50%;
10938
+ right: 0;
10939
+ transform: translate(50%, -50%);
10910
10940
  }
10911
10941
  .vue-flow__edgeupdater {
10912
10942
  cursor: move;
@@ -10918,20 +10948,20 @@ to {
10918
10948
  margin: 15px;
10919
10949
  }
10920
10950
  .vue-flow__panel.top {
10921
- top: 0;
10951
+ top: 0;
10922
10952
  }
10923
10953
  .vue-flow__panel.bottom {
10924
- bottom: 0;
10954
+ bottom: 0;
10925
10955
  }
10926
10956
  .vue-flow__panel.left {
10927
- left: 0;
10957
+ left: 0;
10928
10958
  }
10929
10959
  .vue-flow__panel.right {
10930
- right: 0;
10960
+ right: 0;
10931
10961
  }
10932
10962
  .vue-flow__panel.center {
10933
- left: 50%;
10934
- transform: translateX(-50%);
10963
+ left: 50%;
10964
+ transform: translateX(-50%);
10935
10965
  }
10936
10966
  @keyframes dashdraw {
10937
10967
  from {
@@ -10941,7 +10971,7 @@ from {
10941
10971
  :root {
10942
10972
  --vf-node-bg: #fff;
10943
10973
  --vf-node-text: #222;
10944
- --vf-connection-path: #b1b1b7;
10974
+ --vf-connection-path: #b1b1b7;
10945
10975
  --vf-handle: #555;
10946
10976
  }
10947
10977
  .vue-flow__edge.updating .vue-flow__edge-path {
@@ -10961,7 +10991,7 @@ from {
10961
10991
  }
10962
10992
  .vue-flow__node.selectable:focus,
10963
10993
  .vue-flow__node.selectable:focus-visible {
10964
- outline: none;
10994
+ outline: none;
10965
10995
  }
10966
10996
  .vue-flow__node-default,
10967
10997
  .vue-flow__node-input,
@@ -10983,7 +11013,19 @@ from {
10983
11013
  .vue-flow__node-input.selected:hover,
10984
11014
  .vue-flow__node-output.selected,
10985
11015
  .vue-flow__node-output.selected:hover {
10986
- box-shadow: 0 0 0 0.5px var(--vf-box-shadow);
11016
+ box-shadow: 0 0 0 0.5px var(--vf-box-shadow);
11017
+ }
11018
+ .vue-flow__node-default.selected,
11019
+ .vue-flow__node-default:focus,
11020
+ .vue-flow__node-default:focus-visible,
11021
+ .vue-flow__node-input.selected,
11022
+ .vue-flow__node-input:focus,
11023
+ .vue-flow__node-input:focus-visible,
11024
+ .vue-flow__node-output.selected,
11025
+ .vue-flow__node-output:focus,
11026
+ .vue-flow__node-output:focus-visible {
11027
+ outline: none;
11028
+ border: 1px solid #555;
10987
11029
  }
10988
11030
  .vue-flow__node-default .vue-flow__handle, .vue-flow__node-input .vue-flow__handle, .vue-flow__node-output .vue-flow__handle {
10989
11031
  background: var(--vf-handle);
@@ -11002,8 +11044,8 @@ from {
11002
11044
  .vue-flow__node-input.selected,
11003
11045
  .vue-flow__node-input:focus,
11004
11046
  .vue-flow__node-input:focus-visible {
11005
- outline: none;
11006
- border: 1px solid var(--vf-node-color, #0041d0);
11047
+ outline: none;
11048
+ border: 1px solid var(--vf-node-color, #0041d0);
11007
11049
  }
11008
11050
  .vue-flow__node-default {
11009
11051
  --vf-handle: var(--vf-node-color, #1a192b);
@@ -11015,8 +11057,8 @@ from {
11015
11057
  .vue-flow__node-default.selected,
11016
11058
  .vue-flow__node-default:focus,
11017
11059
  .vue-flow__node-default:focus-visible {
11018
- outline: none;
11019
- border: 1px solid var(--vf-node-color, #1a192b);
11060
+ outline: none;
11061
+ border: 1px solid var(--vf-node-color, #1a192b);
11020
11062
  }
11021
11063
  .vue-flow__node-output {
11022
11064
  --vf-handle: var(--vf-node-color, #ff0072);
@@ -11028,8 +11070,8 @@ from {
11028
11070
  .vue-flow__node-output.selected,
11029
11071
  .vue-flow__node-output:focus,
11030
11072
  .vue-flow__node-output:focus-visible {
11031
- outline: none;
11032
- border: 1px solid var(--vf-node-color, #ff0072);
11073
+ outline: none;
11074
+ border: 1px solid var(--vf-node-color, #ff0072);
11033
11075
  }
11034
11076
  .vue-flow__nodesselection-rect,
11035
11077
  .vue-flow__selection {
@@ -11040,7 +11082,7 @@ from {
11040
11082
  .vue-flow__nodesselection-rect:focus-visible,
11041
11083
  .vue-flow__selection:focus,
11042
11084
  .vue-flow__selection:focus-visible {
11043
- outline: none;
11085
+ outline: none;
11044
11086
  }
11045
11087
  .vue-flow__handle {
11046
11088
  width: 6px;
@@ -11114,8 +11156,8 @@ from {
11114
11156
 
11115
11157
  /* handle styles */
11116
11158
  .vue-flow__resize-control.handle {
11117
- width: 4px;
11118
- height: 4px;
11159
+ width: 5px;
11160
+ height: 5px;
11119
11161
  border: 1px solid #fff;
11120
11162
  border-radius: 1px;
11121
11163
  background-color: #3367d9;
@@ -11265,11 +11307,11 @@ main {
11265
11307
  gap: 10px;
11266
11308
  }
11267
11309
 
11268
- .flow-tabs-container[data-v-1d0bca1e] {
11310
+ .flow-tabs-container[data-v-6574f019] {
11269
11311
  width: 100%;
11270
11312
  font-family: var(--font-family-base);
11271
11313
  }
11272
- .flow-tabs[data-v-1d0bca1e] {
11314
+ .flow-tabs[data-v-6574f019] {
11273
11315
  display: flex;
11274
11316
  align-items: center;
11275
11317
  overflow-x: auto;
@@ -11279,17 +11321,17 @@ main {
11279
11321
  padding-left: var(--spacing-1);
11280
11322
  scrollbar-width: thin;
11281
11323
  }
11282
- .flow-tabs[data-v-1d0bca1e]::-webkit-scrollbar {
11324
+ .flow-tabs[data-v-6574f019]::-webkit-scrollbar {
11283
11325
  height: 4px;
11284
11326
  }
11285
- .flow-tabs[data-v-1d0bca1e]::-webkit-scrollbar-track {
11327
+ .flow-tabs[data-v-6574f019]::-webkit-scrollbar-track {
11286
11328
  background: transparent;
11287
11329
  }
11288
- .flow-tabs[data-v-1d0bca1e]::-webkit-scrollbar-thumb {
11330
+ .flow-tabs[data-v-6574f019]::-webkit-scrollbar-thumb {
11289
11331
  background-color: var(--color-gray-300);
11290
11332
  border-radius: var(--border-radius-full);
11291
11333
  }
11292
- .flow-tab[data-v-1d0bca1e] {
11334
+ .flow-tab[data-v-6574f019] {
11293
11335
  display: flex;
11294
11336
  align-items: center;
11295
11337
  padding: 0 var(--spacing-4);
@@ -11305,28 +11347,28 @@ main {
11305
11347
  margin-right: 1px;
11306
11348
  transition: all var(--transition-fast);
11307
11349
  }
11308
- .flow-tab.active[data-v-1d0bca1e] {
11350
+ .flow-tab.active[data-v-6574f019] {
11309
11351
  background-color: var(--color-background-primary);
11310
11352
  border-top: 2px solid var(--primary-blue);
11311
11353
  box-shadow: var(--shadow-xs);
11312
11354
  z-index: 1;
11313
11355
  }
11314
- .flow-tab[data-v-1d0bca1e]:not(.active):hover {
11356
+ .flow-tab[data-v-6574f019]:not(.active):hover {
11315
11357
  background-color: var(--color-background-hover);
11316
11358
  }
11317
- .tab-content[data-v-1d0bca1e] {
11359
+ .tab-content[data-v-6574f019] {
11318
11360
  display: flex;
11319
11361
  align-items: center;
11320
11362
  gap: var(--spacing-2);
11321
11363
  width: calc(100% - 20px);
11322
11364
  overflow: hidden;
11323
11365
  }
11324
- .tab-icon[data-v-1d0bca1e] {
11366
+ .tab-icon[data-v-6574f019] {
11325
11367
  font-size: var(--font-size-xl);
11326
- color: var(--primary-blue);
11368
+ color: var(--color-accent);
11327
11369
  flex-shrink: 0;
11328
11370
  }
11329
- .tab-name[data-v-1d0bca1e] {
11371
+ .tab-name[data-v-6574f019] {
11330
11372
  white-space: nowrap;
11331
11373
  overflow: hidden;
11332
11374
  text-overflow: ellipsis;
@@ -11335,10 +11377,10 @@ main {
11335
11377
  letter-spacing: 0.01em;
11336
11378
  color: var(--color-text-secondary);
11337
11379
  }
11338
- .active .tab-name[data-v-1d0bca1e] {
11380
+ .active .tab-name[data-v-6574f019] {
11339
11381
  color: var(--color-text-primary);
11340
11382
  }
11341
- .close-icon[data-v-1d0bca1e] {
11383
+ .close-icon[data-v-6574f019] {
11342
11384
  font-size: var(--font-size-lg);
11343
11385
  color: var(--color-text-muted);
11344
11386
  opacity: 0;
@@ -11349,21 +11391,21 @@ main {
11349
11391
  transition: all var(--transition-fast);
11350
11392
  transform: scale(0.9);
11351
11393
  }
11352
- .flow-tab:hover .close-icon[data-v-1d0bca1e] {
11394
+ .flow-tab:hover .close-icon[data-v-6574f019] {
11353
11395
  opacity: 1;
11354
11396
  }
11355
- .close-icon[data-v-1d0bca1e]:hover {
11397
+ .close-icon[data-v-6574f019]:hover {
11356
11398
  background-color: var(--color-background-tertiary);
11357
11399
  color: var(--color-text-secondary);
11358
11400
  transform: scale(1);
11359
11401
  }
11360
- .active .close-icon[data-v-1d0bca1e]:hover {
11402
+ .active .close-icon[data-v-6574f019]:hover {
11361
11403
  background-color: var(--color-background-hover);
11362
11404
  color: var(--color-primary);
11363
11405
  }
11364
11406
 
11365
11407
  /* New flow tab styling */
11366
- .new-flow-tab[data-v-1d0bca1e] {
11408
+ .new-flow-tab[data-v-6574f019] {
11367
11409
  min-width: 40px;
11368
11410
  max-width: 40px;
11369
11411
  display: flex;
@@ -11371,7 +11413,7 @@ main {
11371
11413
  align-items: center;
11372
11414
  color: var(--color-primary);
11373
11415
  }
11374
- .new-flow-tab[data-v-1d0bca1e]:hover {
11416
+ .new-flow-tab[data-v-6574f019]:hover {
11375
11417
  background-color: var(--color-background-hover);
11376
11418
  }
11377
11419