Flowfile 0.5.6__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 (256) hide show
  1. flowfile/api.py +8 -6
  2. flowfile/web/static/assets/{AdminView-c2c7942b.js → AdminView-C4K1DdHI.js} +28 -33
  3. flowfile/web/static/assets/{CloudConnectionView-7a3042c6.js → CloudConnectionView-BZbPvPUL.js} +39 -50
  4. flowfile/web/static/assets/{CloudStorageReader-24c54524.css → CloudStorageReader-BDByiqPI.css} +25 -25
  5. flowfile/web/static/assets/{CloudStorageReader-709c4037.js → CloudStorageReader-DLVukNJ7.js} +30 -35
  6. flowfile/web/static/assets/{CloudStorageWriter-604c51a8.js → CloudStorageWriter-Bfi-C1QW.js} +32 -37
  7. flowfile/web/static/assets/{CloudStorageWriter-60547855.css → CloudStorageWriter-y8jL8yjG.css} +24 -24
  8. flowfile/web/static/assets/{ColumnActionInput-d63d6746.js → ColumnActionInput-BpiCApw9.js} +7 -12
  9. flowfile/web/static/assets/{ColumnSelector-0c8cd1cd.js → ColumnSelector-CEAwedI7.js} +1 -2
  10. flowfile/web/static/assets/ContextMenu-CdojQu0w.js +9 -0
  11. flowfile/web/static/assets/ContextMenu-D12mhsy1.js +9 -0
  12. flowfile/web/static/assets/ContextMenu-EWUR98va.js +9 -0
  13. flowfile/web/static/assets/{ContextMenu.vue_vue_type_script_setup_true_lang-774c517c.js → ContextMenu.vue_vue_type_script_setup_true_lang-I4rXXd6G.js} +4 -5
  14. flowfile/web/static/assets/{CrossJoin-38e5b99a.js → CrossJoin-BOFfxkJO.js} +19 -18
  15. flowfile/web/static/assets/{CrossJoin-71b4cc10.css → CrossJoin-Cmbyt9im.css} +18 -18
  16. flowfile/web/static/assets/{CustomNode-76e8f3f5.js → CustomNode-Bhpezobq.js} +12 -17
  17. flowfile/web/static/assets/{DatabaseConnectionSettings-38155669.js → DatabaseConnectionSettings-Dw3bSJKB.js} +10 -11
  18. flowfile/web/static/assets/{DatabaseReader-5bf8c75b.css → DatabaseReader-D6pUNUCs.css} +21 -21
  19. flowfile/web/static/assets/{DatabaseReader-2e549c8f.js → DatabaseReader-m87ghlw0.js} +36 -34
  20. flowfile/web/static/assets/{DatabaseView-dc877c29.js → DatabaseView-CisSAtpe.js} +30 -38
  21. flowfile/web/static/assets/{DatabaseWriter-ffb91864.js → DatabaseWriter-Bbj9JLdL.js} +33 -35
  22. flowfile/web/static/assets/{DatabaseWriter-bdcf2c8b.css → DatabaseWriter-RBqdFLj8.css} +17 -17
  23. flowfile/web/static/assets/{DesignerView-a4466dab.js → DesignerView-DemDevTQ.js} +1752 -2054
  24. flowfile/web/static/assets/{DesignerView-71d4e9a1.css → DesignerView-Dm6OzlIc.css} +209 -168
  25. flowfile/web/static/assets/{DocumentationView-979afc84.js → DocumentationView-BrC1ZR3H.js} +3 -4
  26. flowfile/web/static/assets/{ExploreData-e4b92aaf.js → ExploreData-BMKcDuRb.js} +8 -10
  27. flowfile/web/static/assets/{ExternalSource-d08e7227.js → ExternalSource-BXrNNS-f.js} +40 -42
  28. flowfile/web/static/assets/{ExternalSource-7ac7373f.css → ExternalSource-NB6WVl5R.css} +14 -14
  29. flowfile/web/static/assets/{Filter-7add806d.js → Filter-C2MjsN6P.js} +36 -33
  30. flowfile/web/static/assets/{Filter-7494ea97.css → Filter-DCMGGuGC.css} +9 -9
  31. flowfile/web/static/assets/{Formula-53d58c43.css → Formula-BYafbDj8.css} +4 -4
  32. flowfile/web/static/assets/{Formula-36ab24d2.js → Formula-ufuy4mVD.js} +27 -26
  33. flowfile/web/static/assets/{FuzzyMatch-ad6361d6.css → FuzzyMatch-BGJAwgd0.css} +42 -42
  34. flowfile/web/static/assets/{FuzzyMatch-cc01bb04.js → FuzzyMatch-BOHODq3h.js} +36 -38
  35. flowfile/web/static/assets/{GraphSolver-4fb98f3b.js → GraphSolver-B6ZzpNGO.js} +23 -21
  36. flowfile/web/static/assets/{GraphSolver-4b4d7db9.css → GraphSolver-DFN83sj3.css} +4 -4
  37. flowfile/web/static/assets/{GroupBy-b3c8f429.js → GroupBy-B9BRNcfe.js} +30 -29
  38. flowfile/web/static/assets/{Sort-4abb7fae.css → GroupBy-x4ooP5np.css} +1 -1
  39. flowfile/web/static/assets/Join-Bx_g5bZz.css +118 -0
  40. flowfile/web/static/assets/{Join-096b7b26.js → Join-DsBEy1IH.js} +48 -43
  41. flowfile/web/static/assets/{LoginView-c33a246a.js → LoginView-Ct0rhdcO.js} +1 -2
  42. flowfile/web/static/assets/{ManualInput-39111f19.css → ManualInput-DlZmtMdt.css} +48 -48
  43. flowfile/web/static/assets/{ManualInput-7307e9b1.js → ManualInput-bC4BUgnG.js} +40 -41
  44. flowfile/web/static/assets/{MultiSelect-14822c48.js → MultiSelect-DIQ8PuTC.js} +2 -2
  45. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-90c4d340.js → MultiSelect.vue_vue_type_script_setup_true_lang-BefHfqTI.js} +1 -1
  46. flowfile/web/static/assets/{NodeDesigner-5036c392.js → NodeDesigner-D39yzr2k.js} +178 -208
  47. flowfile/web/static/assets/{NodeDesigner-94cd4dd3.css → NodeDesigner-R0l6sYyY.css} +76 -76
  48. flowfile/web/static/assets/{NumericInput-15cf3b72.js → NumericInput-DMSX3oOr.js} +2 -2
  49. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-91e679d7.js → NumericInput.vue_vue_type_script_setup_true_lang-d0YlVHAl.js} +1 -1
  50. flowfile/web/static/assets/{Output-1f8ed42c.js → Output-D0VoXGcW.js} +26 -34
  51. flowfile/web/static/assets/{Output-692dd25d.css → Output-DsmglIDy.css} +5 -5
  52. flowfile/web/static/assets/{Pivot-0e153f4e.js → Pivot-BnMB4sEe.js} +26 -26
  53. flowfile/web/static/assets/{Pivot-0eda81b4.css → Pivot-qKTyWxop.css} +4 -4
  54. flowfile/web/static/assets/{PivotValidation-81ec2a33.js → PivotValidation-B2lWvugt.js} +7 -9
  55. flowfile/web/static/assets/{PivotValidation-5a4f7c79.js → PivotValidation-BPlhRjpL.js} +7 -9
  56. flowfile/web/static/assets/{PolarsCode-a39f15ac.js → PolarsCode-5h0tHnWR.js} +22 -20
  57. flowfile/web/static/assets/{PopOver-ddcfe4f6.js → PopOver-BHpt5rsj.js} +5 -9
  58. flowfile/web/static/assets/{PopOver-d96599db.css → PopOver-CyYM4-rV.css} +1 -1
  59. flowfile/web/static/assets/{Read-90f366bc.css → Read-DJxkrTb_.css} +10 -10
  60. flowfile/web/static/assets/Read-TsLEFh3B.js +227 -0
  61. flowfile/web/static/assets/{RecordCount-e9048ccd.js → RecordCount-DkVixq9v.js} +18 -17
  62. flowfile/web/static/assets/{RecordId-ad02521d.js → RecordId-C2UEGlCf.js} +42 -39
  63. flowfile/web/static/assets/{SQLQueryComponent-2eeecf0b.js → SQLQueryComponent-Dr5KMoD3.js} +2 -3
  64. flowfile/web/static/assets/{Sample-9a68c23d.js → Sample-Cb3eQNmd.js} +30 -30
  65. flowfile/web/static/assets/{SecretSelector-2429f35a.js → SecretSelector-De2L2bSx.js} +3 -4
  66. flowfile/web/static/assets/{SecretsView-c6afc915.js → SecretsView-CheC9BPV.js} +13 -16
  67. flowfile/web/static/assets/{Select-fcd002b6.js → Select-CI8TloRs.js} +41 -36
  68. flowfile/web/static/assets/{SettingsSection-5ce15962.js → SettingsSection-B39ulIiI.js} +1 -2
  69. flowfile/web/static/assets/{SettingsSection-c6b1362c.js → SettingsSection-BiCc7S9h.js} +1 -2
  70. flowfile/web/static/assets/{SettingsSection-cebb91d5.js → SettingsSection-CITK_R7o.js} +2 -3
  71. flowfile/web/static/assets/{SettingsSection-26fe48d4.css → SettingsSection-D2GgY-Aq.css} +4 -4
  72. flowfile/web/static/assets/{SetupView-2d12e01f.js → SetupView-C1aXRDvp.js} +1 -2
  73. flowfile/web/static/assets/{SingleSelect-b67de4eb.js → SingleSelect-Kr_hz90m.js} +2 -2
  74. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-eedb70eb.js → SingleSelect.vue_vue_type_script_setup_true_lang-Rxht5Z5N.js} +1 -1
  75. flowfile/web/static/assets/{SliderInput-fd8134ac.js → SliderInput-CLqpCxCb.js} +1 -2
  76. flowfile/web/static/assets/{GroupBy-5792782d.css → Sort-BIt2kc_p.css} +1 -1
  77. flowfile/web/static/assets/{Sort-c005a573.js → Sort-Dnw_J6Qi.js} +25 -25
  78. flowfile/web/static/assets/{TextInput-1bb31dab.js → TextInput-wdlunIZC.js} +2 -2
  79. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-a51fe730.js → TextInput.vue_vue_type_script_setup_true_lang-Bcj3ywzv.js} +1 -1
  80. flowfile/web/static/assets/{TextToRows-4f363753.js → TextToRows-BhtyGWPq.js} +42 -49
  81. flowfile/web/static/assets/{TextToRows-12afb4f4.css → TextToRows-DivDOLDx.css} +9 -9
  82. flowfile/web/static/assets/{ToggleSwitch-ca0f2e5e.js → ToggleSwitch-B-6WzfFf.js} +2 -2
  83. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-49aa41d8.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-Cj8LqT-b.js} +1 -1
  84. flowfile/web/static/assets/{UnavailableFields-f6147968.js → UnavailableFields-Yf6XSqFB.js} +2 -3
  85. flowfile/web/static/assets/{Union-c65f17b7.js → Union-CwpjeKYC.js} +20 -23
  86. flowfile/web/static/assets/{Unpivot-b6ad6427.css → Union-DQJcpp3-.css} +6 -6
  87. flowfile/web/static/assets/{Unique-a1d96fb2.js → Unique-25v3urqH.js} +75 -74
  88. flowfile/web/static/assets/{Union-d6a8d7d5.css → Unpivot-Deqh1gtI.css} +6 -6
  89. flowfile/web/static/assets/{Unpivot-c2657ff3.js → Unpivot-sYcTTXrq.js} +34 -27
  90. flowfile/web/static/assets/{UnpivotValidation-28e29a3b.js → UnpivotValidation-C5DDEKY2.js} +5 -7
  91. flowfile/web/static/assets/VueGraphicWalker-B8l1_Z92.js +131 -0
  92. flowfile/web/static/assets/VueGraphicWalker-Da_1-3me.css +21 -0
  93. flowfile/web/static/assets/{api-df48ec50.js → api-C0LvF-0C.js} +1 -1
  94. flowfile/web/static/assets/{api-ee542cf7.js → api-DaC83EO_.js} +1 -1
  95. flowfile/web/static/assets/client-C8Ygr6Gb.js +42 -0
  96. flowfile/web/static/assets/{dropDown-7576a76a.js → dropDown-D5YXaPRR.js} +7 -12
  97. flowfile/web/static/assets/{fullEditor-7583bef5.js → fullEditor-BVYnWm05.js} +300 -18
  98. flowfile/web/static/assets/genericNodeSettings-2wAu-QKn.css +75 -0
  99. flowfile/web/static/assets/genericNodeSettings-BBtW_Cpz.js +590 -0
  100. flowfile/web/static/assets/{VueGraphicWalker-2fc3ddd4.js → graphic-walker.es-VrK6vdGE.js} +92305 -89751
  101. flowfile/web/static/assets/index-BCJxPfM5.js +6693 -0
  102. flowfile/web/static/assets/{index-057d770d.js → index-CHPMUR0d.js} +150 -170
  103. flowfile/web/static/assets/index-DPkoZWq8.js +32 -0
  104. flowfile/web/static/assets/index-DnW_KC_I.js +277 -0
  105. flowfile/web/static/assets/index-UFXyfirV.css +10797 -0
  106. flowfile/web/static/assets/index-bcuE0Z0p.js +87456 -0
  107. flowfile/web/static/assets/{node.types-2c15bb7e.js → node.types-Dl4gtSW9.js} +2 -2
  108. flowfile/web/static/assets/{outputCsv-c492b15e.js → outputCsv-BELuBiJZ.js} +1 -2
  109. flowfile/web/static/assets/outputCsv-CdGkv-fN.css +2581 -0
  110. flowfile/web/static/assets/{outputExcel-13bfa10f.js → outputExcel-D0TTNM79.js} +1 -2
  111. flowfile/web/static/assets/{outputParquet-9be1523a.js → outputParquet-Cz9EbRHj.js} +1 -2
  112. flowfile/web/static/assets/{readCsv-5a49a8c9.js → readCsv-7bd3kUMI.js} +1 -2
  113. flowfile/web/static/assets/{readExcel-27c30ad8.js → readExcel-Cq8CCwIv.js} +3 -4
  114. flowfile/web/static/assets/{readParquet-c5244ad5.css → readParquet-CRDmBrsp.css} +4 -4
  115. flowfile/web/static/assets/{readParquet-446bde68.js → readParquet-DjR4mRaj.js} +4 -5
  116. flowfile/web/static/assets/{secrets.api-34431884.js → secrets.api-C9o2KE5V.js} +1 -1
  117. flowfile/web/static/assets/{selectDynamic-5754a2b1.js → selectDynamic-Bl5FVsME.js} +5 -7
  118. flowfile/web/static/assets/useNodeSettings-dMS9zmh_.js +69 -0
  119. flowfile/web/static/assets/{vue-codemirror.esm-8f46fb36.js → vue-codemirror.esm-CwaYwln0.js} +3469 -3064
  120. flowfile/web/static/assets/{vue-content-loader.es-808fe33a.js → vue-content-loader.es-CMoRXo7N.js} +3 -3
  121. flowfile/web/static/index.html +2 -3
  122. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/METADATA +2 -1
  123. flowfile-0.6.1.dist-info/RECORD +417 -0
  124. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/WHEEL +1 -1
  125. flowfile_core/auth/password.py +1 -0
  126. flowfile_core/database/init_db.py +7 -5
  127. flowfile_core/fileExplorer/funcs.py +2 -2
  128. flowfile_core/flowfile/code_generator/code_generator.py +13 -11
  129. flowfile_core/flowfile/filter_expressions.py +327 -0
  130. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +61 -59
  131. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +3 -29
  132. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +45 -14
  133. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +20 -3
  134. flowfile_core/flowfile/flow_data_engine/subprocess_operations/streaming.py +206 -0
  135. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +146 -24
  136. flowfile_core/flowfile/flow_graph.py +504 -190
  137. flowfile_core/flowfile/flow_node/__init__.py +32 -0
  138. flowfile_core/flowfile/flow_node/executor.py +404 -0
  139. flowfile_core/flowfile/flow_node/flow_node.py +207 -106
  140. flowfile_core/flowfile/flow_node/models.py +40 -0
  141. flowfile_core/flowfile/flow_node/output_field_config_applier.py +217 -0
  142. flowfile_core/flowfile/flow_node/schema_utils.py +78 -0
  143. flowfile_core/flowfile/flow_node/state.py +155 -0
  144. flowfile_core/flowfile/history_manager.py +401 -0
  145. flowfile_core/flowfile/manage/compatibility_enhancements.py +9 -0
  146. flowfile_core/flowfile/manage/io_flowfile.py +3 -1
  147. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +20 -4
  148. flowfile_core/flowfile/util/execution_orderer.py +89 -36
  149. flowfile_core/routes/auth.py +8 -9
  150. flowfile_core/routes/routes.py +320 -101
  151. flowfile_core/routes/user_defined_components.py +18 -16
  152. flowfile_core/schemas/history_schema.py +220 -0
  153. flowfile_core/schemas/input_schema.py +130 -6
  154. flowfile_core/schemas/schemas.py +9 -0
  155. flowfile_core/schemas/transform_schema.py +27 -5
  156. flowfile_core/schemas/yaml_types.py +23 -5
  157. flowfile_frame/adding_expr.py +18 -126
  158. flowfile_frame/callable_utils.py +261 -0
  159. flowfile_frame/database/connection_manager.py +0 -1
  160. flowfile_frame/expr.py +8 -4
  161. flowfile_frame/flow_frame.py +41 -41
  162. flowfile_frame/lazy.py +3 -12
  163. flowfile_frame/lazy_methods.py +5 -64
  164. flowfile_frame/utils.py +13 -32
  165. flowfile_worker/funcs.py +6 -4
  166. flowfile_worker/main.py +2 -0
  167. flowfile_worker/models.py +31 -11
  168. flowfile_worker/routes.py +60 -35
  169. flowfile_worker/spawner.py +7 -1
  170. flowfile_worker/streaming.py +335 -0
  171. flowfile/web/static/assets/ContextMenu-366bf1b4.js +0 -9
  172. flowfile/web/static/assets/ContextMenu-85cf5b44.js +0 -9
  173. flowfile/web/static/assets/ContextMenu-9d28ae6d.js +0 -9
  174. flowfile/web/static/assets/Join-28b5e18f.css +0 -109
  175. flowfile/web/static/assets/Read-39b63932.js +0 -222
  176. flowfile/web/static/assets/VueGraphicWalker-430f0b86.css +0 -6
  177. flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -24
  178. flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -23
  179. flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
  180. flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
  181. flowfile/web/static/assets/genericNodeSettings-0155288b.js +0 -136
  182. flowfile/web/static/assets/genericNodeSettings-3b2507ea.css +0 -46
  183. flowfile/web/static/assets/index-aeec439d.js +0 -38
  184. flowfile/web/static/assets/index-ca6799de.js +0 -62760
  185. flowfile/web/static/assets/index-d60c9dd4.css +0 -10777
  186. flowfile/web/static/assets/nodeInput-d478b9ac.js +0 -2
  187. flowfile/web/static/assets/outputCsv-cc84e09f.css +0 -2499
  188. flowfile-0.5.6.dist-info/RECORD +0 -407
  189. /flowfile/web/static/assets/{AdminView-f53bad23.css → AdminView-B2Dthl3u.css} +0 -0
  190. /flowfile/web/static/assets/{CloudConnectionView-cf85f943.css → CloudConnectionView-BdFYGWV7.css} +0 -0
  191. /flowfile/web/static/assets/{ColumnActionInput-c44b7aee.css → ColumnActionInput-dCasSIC9.css} +0 -0
  192. /flowfile/web/static/assets/{ColumnSelector-371637fb.css → ColumnSelector-j6sEOjo1.css} +0 -0
  193. /flowfile/web/static/assets/{CustomNode-edb9b939.css → CustomNode-VPlajG0j.css} +0 -0
  194. /flowfile/web/static/assets/{DatabaseConnectionSettings-c20a1e16.css → DatabaseConnectionSettings-B78hXYgu.css} +0 -0
  195. /flowfile/web/static/assets/{DatabaseView-6655afd6.css → DatabaseView-B-_adk1s.css} +0 -0
  196. /flowfile/web/static/assets/{DocumentationView-9ea6e871.css → DocumentationView-CL7iipFL.css} +0 -0
  197. /flowfile/web/static/assets/{ExploreData-10c5acc8.css → ExploreData-DHjv0Plr.css} +0 -0
  198. /flowfile/web/static/assets/{LoginView-d325d632.css → LoginView-DN1BXY3e.css} +0 -0
  199. /flowfile/web/static/assets/{PivotValidation-0e905b1a.css → PivotValidation-DK-FARWe.css} +0 -0
  200. /flowfile/web/static/assets/{PivotValidation-41b57ad6.css → PivotValidation-FUa9F47u.css} +0 -0
  201. /flowfile/web/static/assets/{PolarsCode-2b1f1f23.css → PolarsCode-G-gRSrSc.css} +0 -0
  202. /flowfile/web/static/assets/{SQLQueryComponent-edb90b98.css → SQLQueryComponent-oAbWw0r-.css} +0 -0
  203. /flowfile/web/static/assets/{SecretSelector-6329f743.css → SecretSelector-CJSadIZx.css} +0 -0
  204. /flowfile/web/static/assets/{SecretsView-aa291340.css → SecretsView-DbzIRAba.css} +0 -0
  205. /flowfile/web/static/assets/{SettingsSection-8f980839.css → SettingsSection-BGcJnH6q.css} +0 -0
  206. /flowfile/web/static/assets/{SettingsSection-07fbbc39.css → SettingsSection-DDWn_EGW.css} +0 -0
  207. /flowfile/web/static/assets/{SetupView-ec26f76a.css → SetupView-CI1nd-5Z.css} +0 -0
  208. /flowfile/web/static/assets/{SliderInput-f2e4f23c.css → SliderInput-BRk-q_Dk.css} +0 -0
  209. /flowfile/web/static/assets/{UnavailableFields-394a1f78.css → UnavailableFields-DRKDImKe.css} +0 -0
  210. /flowfile/web/static/assets/{Unique-2b705521.css → Unique-Absb0aON.css} +0 -0
  211. /flowfile/web/static/assets/{UnpivotValidation-d5ca3b7b.css → UnpivotValidation-DSBkFgS-.css} +0 -0
  212. /flowfile/web/static/assets/{airbyte-292aa232.png → airbyte-W0xvIXwZ.png} +0 -0
  213. /flowfile/web/static/assets/{cloud_storage_reader-aa1415d6.png → cloud_storage_reader-3GpSCk90.png} +0 -0
  214. /flowfile/web/static/assets/{cross_join-d30c0290.png → cross_join-B0qpgYoV.png} +0 -0
  215. /flowfile/web/static/assets/{dropDown-1d6acbd9.css → dropDown-CE0VF5_P.css} +0 -0
  216. /flowfile/web/static/assets/{explore_data-8a0a2861.png → explore_data-tX6olPPL.png} +0 -0
  217. /flowfile/web/static/assets/{fa-brands-400-808443ae.ttf → fa-brands-400-D1LuMI3I.ttf} +0 -0
  218. /flowfile/web/static/assets/{fa-brands-400-d7236a19.woff2 → fa-brands-400-D_cYUPeE.woff2} +0 -0
  219. /flowfile/web/static/assets/{fa-regular-400-e3456d12.woff2 → fa-regular-400-BjRzuEpd.woff2} +0 -0
  220. /flowfile/web/static/assets/{fa-regular-400-54cf6086.ttf → fa-regular-400-DZaxPHgR.ttf} +0 -0
  221. /flowfile/web/static/assets/{fa-solid-900-aa759986.woff2 → fa-solid-900-CTAAxXor.woff2} +0 -0
  222. /flowfile/web/static/assets/{fa-solid-900-d2f05935.ttf → fa-solid-900-D0aA9rwL.ttf} +0 -0
  223. /flowfile/web/static/assets/{fa-v4compatibility-0ce9033c.woff2 → fa-v4compatibility-C9RhG_FT.woff2} +0 -0
  224. /flowfile/web/static/assets/{fa-v4compatibility-30f6abf6.ttf → fa-v4compatibility-CCth-dXg.ttf} +0 -0
  225. /flowfile/web/static/assets/{filter-d7708bda.png → filter-WRdZyUOw.png} +0 -0
  226. /flowfile/web/static/assets/{formula-eeeb1611.png → formula-CgM7uHVI.png} +0 -0
  227. /flowfile/web/static/assets/{fullEditor-fe9f7e18.css → fullEditor-CmDI7T9F.css} +0 -0
  228. /flowfile/web/static/assets/{fuzzy_match-40c161b2.png → fuzzy_match-Yon3k5Tc.png} +0 -0
  229. /flowfile/web/static/assets/{graph_solver-8b7888b8.png → graph_solver-BlMrBttD.png} +0 -0
  230. /flowfile/web/static/assets/{group_by-80561fc3.png → group_by-Gici0CSS.png} +0 -0
  231. /flowfile/web/static/assets/{input_data-ab2eb678.png → input_data-BRdGecLc.png} +0 -0
  232. /flowfile/web/static/assets/{join-349043ae.png → join-BITWRu73.png} +0 -0
  233. /flowfile/web/static/assets/{manual_input-ae98f31d.png → manual_input-CFvo_EUS.png} +0 -0
  234. /flowfile/web/static/assets/{old_join-5d0eb604.png → old_join-B9bkpPqv.png} +0 -0
  235. /flowfile/web/static/assets/{output-06ec0371.png → output-Dp7-ZpC4.png} +0 -0
  236. /flowfile/web/static/assets/{outputExcel-f5d272b2.css → outputExcel-CKgRe2iT.css} +0 -0
  237. /flowfile/web/static/assets/{outputParquet-54597c3c.css → outputParquet-d7j407cK.css} +0 -0
  238. /flowfile/web/static/assets/{pivot-9660df51.png → pivot-DSxKhNlD.png} +0 -0
  239. /flowfile/web/static/assets/{polars_code-05ce5dc6.png → polars_code-DxiztZ1c.png} +0 -0
  240. /flowfile/web/static/assets/{readCsv-3bfac4c3.css → readCsv-BG-1Jilp.css} +0 -0
  241. /flowfile/web/static/assets/{readExcel-3db6b763.css → readExcel-DBQXKPtC.css} +0 -0
  242. /flowfile/web/static/assets/{record_count-dab44eb5.png → record_count-DCeaLtpS.png} +0 -0
  243. /flowfile/web/static/assets/{record_id-0b15856b.png → record_id-FeUjyIFh.png} +0 -0
  244. /flowfile/web/static/assets/{sample-693a88b5.png → sample-DeqfRiB-.png} +0 -0
  245. /flowfile/web/static/assets/{select-b0d0437a.png → select-D4JjbdjS.png} +0 -0
  246. /flowfile/web/static/assets/{selectDynamic-f2fb394f.css → selectDynamic-CjeTPUUo.css} +0 -0
  247. /flowfile/web/static/assets/{sort-2aa579f0.png → sort-DGwUG9WS.png} +0 -0
  248. /flowfile/web/static/assets/{summarize-2a099231.png → summarize-DFaNHpfp.png} +0 -0
  249. /flowfile/web/static/assets/{text_to_rows-859b29ea.png → text_to_rows-BdiAewrN.png} +0 -0
  250. /flowfile/web/static/assets/{union-2d8609f4.png → union-DCK-LSMq.png} +0 -0
  251. /flowfile/web/static/assets/{unique-1958b98a.png → unique-CdP3zZIq.png} +0 -0
  252. /flowfile/web/static/assets/{unpivot-d3cb4b5b.png → unpivot-CHttrEt8.png} +0 -0
  253. /flowfile/web/static/assets/{user-defined-icon-0ae16c90.png → user-defined-icon-BcIp2Vzo.png} +0 -0
  254. /flowfile/web/static/assets/{view-7a0f0be1.png → view-DUSRwjvq.png} +0 -0
  255. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/entry_points.txt +0 -0
  256. {flowfile-0.5.6.dist-info → flowfile-0.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,118 @@
1
+
2
+ /* Join Type Selector */
3
+ .join-type-selector[data-v-c59fc45b] {
4
+ display: flex;
5
+ align-items: center;
6
+ margin: 12px;
7
+ gap: 10px;
8
+ }
9
+ .join-type-label[data-v-c59fc45b] {
10
+ font-size: 12px;
11
+ color: var(--color-text-primary);
12
+ font-weight: 500;
13
+ min-width: 70px;
14
+ }
15
+
16
+ /* Join Mapping Section */
17
+ .table-wrapper[data-v-c59fc45b] {
18
+ border: 1px solid var(--color-border-primary);
19
+ border-radius: 6px;
20
+ overflow: hidden;
21
+ margin: 5px;
22
+ }
23
+ .selectors-header[data-v-c59fc45b] {
24
+ display: flex;
25
+ justify-content: space-between;
26
+ padding: 8px 16px;
27
+ background-color: var(--color-background-muted);
28
+ border-bottom: 1px solid var(--color-border-primary);
29
+ }
30
+ .selectors-title[data-v-c59fc45b] {
31
+ flex: 1;
32
+ text-align: center;
33
+ font-size: 12px;
34
+ color: var(--color-text-secondary);
35
+ font-weight: 500;
36
+ }
37
+ .selectors-container[data-v-c59fc45b] {
38
+ padding: 12px;
39
+ box-sizing: border-box;
40
+ width: 100%;
41
+ display: flex;
42
+ justify-content: space-between;
43
+ flex-direction: column;
44
+ }
45
+ .selectors-row[data-v-c59fc45b] {
46
+ display: flex;
47
+ gap: 12px;
48
+ margin-bottom: 8px;
49
+ width: 100%;
50
+ justify-content: space-between;
51
+ align-items: center;
52
+ }
53
+ .selectors-row[data-v-c59fc45b]:last-child {
54
+ margin-bottom: 0;
55
+ }
56
+ .selector-wrapper[data-v-c59fc45b] {
57
+ flex: 1;
58
+ min-width: 0;
59
+ }
60
+
61
+ /* Action Buttons */
62
+ .action-buttons[data-v-c59fc45b] {
63
+ display: flex;
64
+ gap: 4px;
65
+ width: 56px;
66
+ justify-content: flex-end;
67
+ align-items: center;
68
+ }
69
+ .action-button[data-v-c59fc45b],
70
+ .add-join-button[data-v-c59fc45b],
71
+ .remove-join-button[data-v-c59fc45b] {
72
+ cursor: pointer;
73
+ width: 24px;
74
+ height: 24px;
75
+ border-radius: 4px;
76
+ border: 1px solid var(--color-border-primary);
77
+ background-color: var(--color-background-primary);
78
+ display: flex;
79
+ align-items: center;
80
+ justify-content: center;
81
+ font-size: 14px;
82
+ transition: all 0.2s ease;
83
+ }
84
+ .add-join-button[data-v-c59fc45b],
85
+ .add-button[data-v-c59fc45b] {
86
+ color: var(--color-success);
87
+ border-color: var(--color-success);
88
+ }
89
+ .add-join-button[data-v-c59fc45b]:hover,
90
+ .add-button[data-v-c59fc45b]:hover {
91
+ background-color: var(--color-success);
92
+ color: var(--color-text-inverse);
93
+ }
94
+ .remove-join-button[data-v-c59fc45b],
95
+ .remove-button[data-v-c59fc45b] {
96
+ color: var(--color-danger);
97
+ border-color: var(--color-danger);
98
+ }
99
+ .remove-join-button[data-v-c59fc45b]:hover,
100
+ .remove-button[data-v-c59fc45b]:hover {
101
+ background-color: var(--color-danger);
102
+ color: var(--color-text-inverse);
103
+ }
104
+
105
+ /* Custom scrollbar */
106
+ .selectors-container[data-v-c59fc45b]::-webkit-scrollbar {
107
+ width: 8px;
108
+ }
109
+ .selectors-container[data-v-c59fc45b]::-webkit-scrollbar-track {
110
+ background: transparent;
111
+ }
112
+ .selectors-container[data-v-c59fc45b]::-webkit-scrollbar-thumb {
113
+ background-color: var(--color-border-primary);
114
+ border-radius: 4px;
115
+ }
116
+ .selectors-container[data-v-c59fc45b]::-webkit-scrollbar-thumb:hover {
117
+ background-color: var(--color-border-secondary);
118
+ }
@@ -1,13 +1,11 @@
1
- import { C as CodeLoader } from "./vue-content-loader.es-808fe33a.js";
2
- import { d as defineComponent, r as ref, l as useNodeStore, G as computed, o as openBlock, c as createElementBlock, z as createVNode, A as withCtx, a as createBaseVNode, C as createBlock, e as createCommentVNode, K as Fragment, L as renderList, B as unref, g as _export_sfc } from "./index-ca6799de.js";
3
- import { C as ColumnSelector } from "./dropDown-7576a76a.js";
4
- import { s as selectDynamic } from "./selectDynamic-5754a2b1.js";
5
- import { G as GenericNodeSettings } from "./genericNodeSettings-0155288b.js";
6
- import "./UnavailableFields-f6147968.js";
7
- import "./PopOver-ddcfe4f6.js";
8
- import "./DesignerView-a4466dab.js";
9
- import "./index-057d770d.js";
10
- import "./vue-codemirror.esm-8f46fb36.js";
1
+ import { C as CodeLoader } from "./vue-content-loader.es-CMoRXo7N.js";
2
+ import { d as defineComponent, l as useNodeStore, c as createElementBlock, z as createVNode, B as withCtx, a as createBaseVNode, C as createBlock, e as createCommentVNode, K as Fragment, L as renderList, A as unref, r as ref, G as computed, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
3
+ import { u as useNodeSettings } from "./useNodeSettings-dMS9zmh_.js";
4
+ import { C as ColumnSelector } from "./dropDown-D5YXaPRR.js";
5
+ import { s as selectDynamic } from "./selectDynamic-Bl5FVsME.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-BBtW_Cpz.js";
7
+ import "./UnavailableFields-Yf6XSqFB.js";
8
+ import "./PopOver-BHpt5rsj.js";
11
9
  const _hoisted_1 = {
12
10
  key: 0,
13
11
  class: "listbox-wrapper"
@@ -17,8 +15,10 @@ const _hoisted_3 = { class: "join-type-selector" };
17
15
  const _hoisted_4 = { class: "join-mapping-section" };
18
16
  const _hoisted_5 = { class: "table-wrapper" };
19
17
  const _hoisted_6 = { class: "selectors-container" };
20
- const _hoisted_7 = { class: "action-buttons" };
21
- const _hoisted_8 = ["onClick"];
18
+ const _hoisted_7 = { class: "selector-wrapper" };
19
+ const _hoisted_8 = { class: "selector-wrapper" };
20
+ const _hoisted_9 = { class: "action-buttons" };
21
+ const _hoisted_10 = ["onClick"];
22
22
  const _sfc_main = /* @__PURE__ */ defineComponent({
23
23
  __name: "Join",
24
24
  setup(__props, { expose: __expose }) {
@@ -31,6 +31,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  const nodeStore = useNodeStore();
32
32
  const dataLoaded = ref(false);
33
33
  const nodeJoin = ref(null);
34
+ const { saveSettings, pushNodeData, handleGenericSettingsUpdate } = useNodeSettings({
35
+ nodeRef: nodeJoin
36
+ });
34
37
  const updateSelectInputsHandler = (updatedInputs, isLeft) => {
35
38
  if (isLeft && nodeJoin.value) {
36
39
  nodeJoin.value.join_input.left_select.renames = updatedInputs;
@@ -75,19 +78,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
75
78
  }
76
79
  }
77
80
  };
78
- const pushNodeData = async () => {
79
- console.log("Pushing node data");
80
- nodeStore.updateSettings(nodeJoin);
81
- };
82
81
  __expose({
83
82
  loadNodeData,
84
- pushNodeData
83
+ pushNodeData,
84
+ saveSettings
85
85
  });
86
86
  return (_ctx, _cache) => {
87
87
  return dataLoaded.value && nodeJoin.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
88
88
  createVNode(GenericNodeSettings, {
89
89
  modelValue: nodeJoin.value,
90
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => nodeJoin.value = $event)
90
+ "onUpdate:modelValue": [
91
+ _cache[3] || (_cache[3] = ($event) => nodeJoin.value = $event),
92
+ unref(handleGenericSettingsUpdate)
93
+ ],
94
+ onRequestSave: unref(saveSettings)
91
95
  }, {
92
96
  default: withCtx(() => {
93
97
  var _a, _b, _c;
@@ -115,33 +119,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
115
119
  ], -1)),
116
120
  createBaseVNode("div", _hoisted_6, [
117
121
  (openBlock(true), createElementBlock(Fragment, null, renderList((_a = nodeJoin.value) == null ? void 0 : _a.join_input.join_mapping, (selector, index) => {
118
- var _a2, _b2, _c2, _d, _e, _f, _g;
122
+ var _a2, _b2, _c2, _d, _e, _f;
119
123
  return openBlock(), createElementBlock("div", {
120
124
  key: index,
121
125
  class: "selectors-row"
122
126
  }, [
123
- createVNode(ColumnSelector, {
124
- modelValue: selector.left_col,
125
- "onUpdate:modelValue": ($event) => selector.left_col = $event,
126
- value: selector.left_col,
127
- "column-options": (_b2 = (_a2 = result.value) == null ? void 0 : _a2.main_input) == null ? void 0 : _b2.columns,
128
- "onUpdate:value": (value) => handleChange(value, index, "left")
129
- }, null, 8, ["modelValue", "onUpdate:modelValue", "value", "column-options", "onUpdate:value"]),
130
- createVNode(ColumnSelector, {
131
- modelValue: selector.right_col,
132
- "onUpdate:modelValue": ($event) => selector.right_col = $event,
133
- value: selector.right_col,
134
- "column-options": (_d = (_c2 = result.value) == null ? void 0 : _c2.right_input) == null ? void 0 : _d.columns,
135
- "onUpdate:value": (value) => handleChange(value, index, "right")
136
- }, null, 8, ["modelValue", "onUpdate:modelValue", "value", "column-options", "onUpdate:value"]),
137
127
  createBaseVNode("div", _hoisted_7, [
138
- index !== (((_e = nodeJoin.value) == null ? void 0 : _e.join_input.join_mapping.length) ?? 0) - 1 ? (openBlock(), createElementBlock("button", {
139
- key: 0,
128
+ createVNode(ColumnSelector, {
129
+ modelValue: selector.left_col,
130
+ "onUpdate:modelValue": ($event) => selector.left_col = $event,
131
+ value: selector.left_col,
132
+ "column-options": (_b2 = (_a2 = result.value) == null ? void 0 : _a2.main_input) == null ? void 0 : _b2.columns,
133
+ "onUpdate:value": (value) => handleChange(value, index, "left")
134
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "value", "column-options", "onUpdate:value"])
135
+ ]),
136
+ createBaseVNode("div", _hoisted_8, [
137
+ createVNode(ColumnSelector, {
138
+ modelValue: selector.right_col,
139
+ "onUpdate:modelValue": ($event) => selector.right_col = $event,
140
+ value: selector.right_col,
141
+ "column-options": (_d = (_c2 = result.value) == null ? void 0 : _c2.right_input) == null ? void 0 : _d.columns,
142
+ "onUpdate:value": (value) => handleChange(value, index, "right")
143
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "value", "column-options", "onUpdate:value"])
144
+ ]),
145
+ createBaseVNode("div", _hoisted_9, [
146
+ createBaseVNode("button", {
140
147
  class: "action-button remove-button",
141
148
  onClick: ($event) => removeJoinCondition(index)
142
- }, " - ", 8, _hoisted_8)) : createCommentVNode("", true),
143
- index === (((_g = (_f = nodeJoin.value) == null ? void 0 : _f.join_input.join_mapping) == null ? void 0 : _g.length) ?? 0) - 1 ? (openBlock(), createElementBlock("button", {
144
- key: 1,
149
+ }, " - ", 8, _hoisted_10),
150
+ index === (((_f = (_e = nodeJoin.value) == null ? void 0 : _e.join_input.join_mapping) == null ? void 0 : _f.length) ?? 0) - 1 ? (openBlock(), createElementBlock("button", {
151
+ key: 0,
145
152
  class: "action-button add-button",
146
153
  onClick: addJoinCondition
147
154
  }, " + ")) : createCommentVNode("", true)
@@ -174,15 +181,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
174
181
  }, null, 8, ["select-inputs"])) : createCommentVNode("", true)
175
182
  ];
176
183
  }),
177
- _: 1,
178
- __: [6]
179
- }, 8, ["modelValue"])
184
+ _: 1
185
+ }, 8, ["modelValue", "onUpdate:modelValue", "onRequestSave"])
180
186
  ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
181
187
  };
182
188
  }
183
189
  });
184
- const Join_vue_vue_type_style_index_0_scoped_8435fe68_lang = "";
185
- const Join = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8435fe68"]]);
190
+ const Join = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c59fc45b"]]);
186
191
  export {
187
192
  Join as default
188
193
  };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, u as useRouter, h as useAuthStore, r as ref, c as createElementBlock, a as createBaseVNode, b as createStaticVNode, w as withModifiers, t as toDisplayString, e as createCommentVNode, i as withDirectives, v as vModelText, j as vModelDynamic, n as normalizeClass, o as openBlock, _ as _imports_1, g as _export_sfc } from "./index-ca6799de.js";
1
+ import { d as defineComponent, u as useAuthStore, c as createElementBlock, a as createBaseVNode, b as createStaticVNode, w as withModifiers, t as toDisplayString, e as createCommentVNode, h as withDirectives, v as vModelText, i as vModelDynamic, n as normalizeClass, r as ref, _ as _imports_1, j as useRouter, o as openBlock, g as _export_sfc } from "./index-bcuE0Z0p.js";
2
2
  const _hoisted_1 = { class: "login-container" };
3
3
  const _hoisted_2 = { class: "login-card" };
4
4
  const _hoisted_3 = {
@@ -127,7 +127,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
127
127
  };
128
128
  }
129
129
  });
130
- const LoginView_vue_vue_type_style_index_0_scoped_eb9035bd_lang = "";
131
130
  const LoginView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-eb9035bd"]]);
132
131
  export {
133
132
  LoginView as default
@@ -1,31 +1,31 @@
1
1
 
2
- .settings-section[data-v-4ce8edce] {
2
+ .settings-section[data-v-4d8895ff] {
3
3
  padding: var(--spacing-4);
4
4
  background: var(--color-background-primary);
5
5
  border-radius: var(--border-radius-lg);
6
6
  }
7
7
 
8
8
  /* Controls Section */
9
- .controls-section[data-v-4ce8edce] {
9
+ .controls-section[data-v-4d8895ff] {
10
10
  margin-bottom: var(--spacing-3);
11
11
  }
12
- .controls-top[data-v-4ce8edce] {
12
+ .controls-top[data-v-4d8895ff] {
13
13
  display: flex;
14
14
  justify-content: space-between;
15
15
  align-items: center;
16
16
  flex-wrap: wrap;
17
17
  gap: var(--spacing-2);
18
18
  }
19
- .button-group[data-v-4ce8edce] {
19
+ .button-group[data-v-4d8895ff] {
20
20
  display: flex;
21
21
  gap: var(--spacing-2);
22
22
  flex-wrap: wrap;
23
23
  }
24
- .table-info[data-v-4ce8edce] {
24
+ .table-info[data-v-4d8895ff] {
25
25
  display: flex;
26
26
  gap: var(--spacing-2);
27
27
  }
28
- .info-badge[data-v-4ce8edce] {
28
+ .info-badge[data-v-4d8895ff] {
29
29
  font-size: var(--font-size-xs);
30
30
  color: var(--color-text-secondary);
31
31
  background: var(--color-background-muted);
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  /* Table Container */
37
- .table-container[data-v-4ce8edce] {
37
+ .table-container[data-v-4d8895ff] {
38
38
  max-height: 350px;
39
39
  overflow: auto;
40
40
  border: 1px solid var(--color-border-light);
@@ -43,20 +43,20 @@
43
43
  }
44
44
 
45
45
  /* Modern Table */
46
- .modern-table[data-v-4ce8edce] {
46
+ .modern-table[data-v-4d8895ff] {
47
47
  width: 100%;
48
48
  border-collapse: collapse;
49
49
  table-layout: fixed;
50
50
  }
51
51
 
52
52
  /* Header Row */
53
- .header-row[data-v-4ce8edce] {
53
+ .header-row[data-v-4d8895ff] {
54
54
  position: sticky;
55
55
  top: 0;
56
56
  z-index: 10;
57
57
  background: var(--color-background-muted);
58
58
  }
59
- .row-number-header[data-v-4ce8edce] {
59
+ .row-number-header[data-v-4d8895ff] {
60
60
  width: 40px;
61
61
  min-width: 40px;
62
62
  max-width: 40px;
@@ -71,7 +71,7 @@
71
71
  left: 0;
72
72
  z-index: 11;
73
73
  }
74
- .column-header-cell[data-v-4ce8edce] {
74
+ .column-header-cell[data-v-4d8895ff] {
75
75
  min-width: 140px;
76
76
  width: 140px;
77
77
  padding: 0;
@@ -79,19 +79,19 @@
79
79
  border-right: 1px solid var(--color-border-light);
80
80
  vertical-align: top;
81
81
  }
82
- .column-header[data-v-4ce8edce] {
82
+ .column-header[data-v-4d8895ff] {
83
83
  display: flex;
84
84
  flex-direction: column;
85
85
  height: 100%;
86
86
  }
87
- .header-top[data-v-4ce8edce] {
87
+ .header-top[data-v-4d8895ff] {
88
88
  display: flex;
89
89
  align-items: center;
90
90
  gap: var(--spacing-1);
91
91
  padding: var(--spacing-2);
92
92
  padding-bottom: var(--spacing-1);
93
93
  }
94
- .input-header[data-v-4ce8edce] {
94
+ .input-header[data-v-4d8895ff] {
95
95
  flex: 1;
96
96
  min-width: 0;
97
97
  border: none;
@@ -103,14 +103,14 @@
103
103
  border-radius: var(--border-radius-sm);
104
104
  outline: none;
105
105
  }
106
- .input-header[data-v-4ce8edce]:focus {
106
+ .input-header[data-v-4d8895ff]:focus {
107
107
  background: var(--color-background-primary);
108
108
  box-shadow: 0 0 0 1px var(--color-primary);
109
109
  }
110
- .input-header[data-v-4ce8edce]::placeholder {
110
+ .input-header[data-v-4d8895ff]::placeholder {
111
111
  color: var(--color-text-muted);
112
112
  }
113
- .delete-column-btn[data-v-4ce8edce] {
113
+ .delete-column-btn[data-v-4d8895ff] {
114
114
  width: 20px;
115
115
  height: 20px;
116
116
  padding: 0;
@@ -125,32 +125,32 @@
125
125
  transition: all var(--transition-fast);
126
126
  flex-shrink: 0;
127
127
  }
128
- .delete-column-btn[data-v-4ce8edce]:hover {
128
+ .delete-column-btn[data-v-4d8895ff]:hover {
129
129
  color: var(--color-danger);
130
130
  background: var(--color-danger-bg, rgba(239, 68, 68, 0.1));
131
131
  }
132
- .delete-column-btn i[data-v-4ce8edce] {
132
+ .delete-column-btn i[data-v-4d8895ff] {
133
133
  font-size: 10px;
134
134
  }
135
- .header-type[data-v-4ce8edce] {
135
+ .header-type[data-v-4d8895ff] {
136
136
  padding: 0 var(--spacing-2) var(--spacing-2);
137
137
  }
138
- .type-select[data-v-4ce8edce] {
138
+ .type-select[data-v-4d8895ff] {
139
139
  width: 100%;
140
140
  }
141
- .type-select[data-v-4ce8edce] .el-input__wrapper {
141
+ .type-select[data-v-4d8895ff] .el-input__wrapper {
142
142
  background: var(--color-background-primary);
143
143
  box-shadow: none;
144
144
  border: 1px solid var(--color-border-light);
145
145
  }
146
- .type-select[data-v-4ce8edce] .el-input__inner {
146
+ .type-select[data-v-4d8895ff] .el-input__inner {
147
147
  font-size: var(--font-size-xs);
148
148
  height: 24px;
149
149
  }
150
- .type-select[data-v-4ce8edce] .el-select__caret {
150
+ .type-select[data-v-4d8895ff] .el-select__caret {
151
151
  font-size: 10px;
152
152
  }
153
- .actions-header[data-v-4ce8edce] {
153
+ .actions-header[data-v-4d8895ff] {
154
154
  width: 36px;
155
155
  min-width: 36px;
156
156
  max-width: 36px;
@@ -159,16 +159,16 @@
159
159
  }
160
160
 
161
161
  /* Data Rows */
162
- .data-row[data-v-4ce8edce] {
162
+ .data-row[data-v-4d8895ff] {
163
163
  transition: background var(--transition-fast);
164
164
  }
165
- .data-row[data-v-4ce8edce]:hover {
165
+ .data-row[data-v-4d8895ff]:hover {
166
166
  background: var(--color-background-hover);
167
167
  }
168
- .data-row:hover .row-number[data-v-4ce8edce] {
168
+ .data-row:hover .row-number[data-v-4d8895ff] {
169
169
  background: var(--color-background-hover);
170
170
  }
171
- .row-number[data-v-4ce8edce] {
171
+ .row-number[data-v-4d8895ff] {
172
172
  width: 40px;
173
173
  min-width: 40px;
174
174
  max-width: 40px;
@@ -182,14 +182,14 @@
182
182
  left: 0;
183
183
  z-index: 5;
184
184
  }
185
- .data-cell[data-v-4ce8edce] {
185
+ .data-cell[data-v-4d8895ff] {
186
186
  min-width: 140px;
187
187
  width: 140px;
188
188
  padding: 0;
189
189
  border-bottom: 1px solid var(--color-border-light);
190
190
  border-right: 1px solid var(--color-border-light);
191
191
  }
192
- .input-cell[data-v-4ce8edce] {
192
+ .input-cell[data-v-4d8895ff] {
193
193
  width: 100%;
194
194
  height: 100%;
195
195
  border: none;
@@ -199,11 +199,11 @@
199
199
  padding: var(--spacing-2);
200
200
  outline: none;
201
201
  }
202
- .input-cell[data-v-4ce8edce]:focus {
202
+ .input-cell[data-v-4d8895ff]:focus {
203
203
  background: var(--color-background-primary);
204
204
  box-shadow: inset 0 0 0 2px var(--color-primary);
205
205
  }
206
- .row-actions[data-v-4ce8edce] {
206
+ .row-actions[data-v-4d8895ff] {
207
207
  width: 36px;
208
208
  min-width: 36px;
209
209
  max-width: 36px;
@@ -211,7 +211,7 @@
211
211
  border-bottom: 1px solid var(--color-border-light);
212
212
  padding: var(--spacing-1);
213
213
  }
214
- .delete-row-btn[data-v-4ce8edce] {
214
+ .delete-row-btn[data-v-4d8895ff] {
215
215
  width: 24px;
216
216
  height: 24px;
217
217
  padding: 0;
@@ -226,68 +226,68 @@
226
226
  transition: all var(--transition-fast);
227
227
  opacity: 0;
228
228
  }
229
- .data-row:hover .delete-row-btn[data-v-4ce8edce] {
229
+ .data-row:hover .delete-row-btn[data-v-4d8895ff] {
230
230
  opacity: 1;
231
231
  }
232
- .delete-row-btn[data-v-4ce8edce]:hover {
232
+ .delete-row-btn[data-v-4d8895ff]:hover {
233
233
  color: var(--color-danger);
234
234
  background: var(--color-danger-bg, rgba(239, 68, 68, 0.1));
235
235
  }
236
- .delete-row-btn i[data-v-4ce8edce] {
236
+ .delete-row-btn i[data-v-4d8895ff] {
237
237
  font-size: 10px;
238
238
  }
239
239
 
240
240
  /* Raw Data Section */
241
- .raw-data-section[data-v-4ce8edce] {
241
+ .raw-data-section[data-v-4d8895ff] {
242
242
  margin-top: var(--spacing-4);
243
243
  padding: var(--spacing-4);
244
244
  background: var(--color-background-muted);
245
245
  border-radius: var(--border-radius-lg);
246
246
  border: 1px solid var(--color-border-light);
247
247
  }
248
- .raw-data-header[data-v-4ce8edce] {
248
+ .raw-data-header[data-v-4d8895ff] {
249
249
  display: flex;
250
250
  align-items: baseline;
251
251
  gap: var(--spacing-2);
252
252
  margin-bottom: var(--spacing-3);
253
253
  }
254
- .raw-data-title[data-v-4ce8edce] {
254
+ .raw-data-title[data-v-4d8895ff] {
255
255
  font-size: var(--font-size-sm);
256
256
  font-weight: var(--font-weight-semibold);
257
257
  color: var(--color-text-primary);
258
258
  }
259
- .raw-data-hint[data-v-4ce8edce] {
259
+ .raw-data-hint[data-v-4d8895ff] {
260
260
  font-size: var(--font-size-xs);
261
261
  color: var(--color-text-muted);
262
262
  }
263
- .json-editor[data-v-4ce8edce] .el-textarea__inner {
263
+ .json-editor[data-v-4d8895ff] .el-textarea__inner {
264
264
  font-family: var(--font-mono);
265
265
  font-size: var(--font-size-xs);
266
266
  line-height: 1.5;
267
267
  background: var(--color-background-primary);
268
268
  }
269
- .raw-data-controls[data-v-4ce8edce] {
269
+ .raw-data-controls[data-v-4d8895ff] {
270
270
  margin-top: var(--spacing-3);
271
271
  display: flex;
272
272
  justify-content: flex-end;
273
273
  }
274
274
 
275
275
  /* Custom Scrollbar */
276
- .table-container[data-v-4ce8edce]::-webkit-scrollbar {
276
+ .table-container[data-v-4d8895ff]::-webkit-scrollbar {
277
277
  width: 8px;
278
278
  height: 8px;
279
279
  }
280
- .table-container[data-v-4ce8edce]::-webkit-scrollbar-track {
280
+ .table-container[data-v-4d8895ff]::-webkit-scrollbar-track {
281
281
  background: var(--color-background-muted);
282
282
  border-radius: 4px;
283
283
  }
284
- .table-container[data-v-4ce8edce]::-webkit-scrollbar-thumb {
284
+ .table-container[data-v-4d8895ff]::-webkit-scrollbar-thumb {
285
285
  background-color: var(--color-gray-400);
286
286
  border-radius: 4px;
287
287
  }
288
- .table-container[data-v-4ce8edce]::-webkit-scrollbar-thumb:hover {
288
+ .table-container[data-v-4d8895ff]::-webkit-scrollbar-thumb:hover {
289
289
  background-color: var(--color-gray-500);
290
290
  }
291
- .table-container[data-v-4ce8edce]::-webkit-scrollbar-corner {
291
+ .table-container[data-v-4d8895ff]::-webkit-scrollbar-corner {
292
292
  background: var(--color-background-muted);
293
293
  }