@tetrascience-npm/tetrascience-react-ui 0.5.0-beta.20.1 → 0.5.0-beta.22.1
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.
- package/dist/components/charts/AreaGraph/AreaGraph.cjs +2 -0
- package/dist/components/charts/AreaGraph/AreaGraph.cjs.map +1 -0
- package/dist/components/charts/AreaGraph/AreaGraph.js +209 -0
- package/dist/components/charts/AreaGraph/AreaGraph.js.map +1 -0
- package/dist/components/charts/BarGraph/BarGraph.cjs +2 -0
- package/dist/components/charts/BarGraph/BarGraph.cjs.map +1 -0
- package/dist/components/charts/BarGraph/BarGraph.js +175 -0
- package/dist/components/charts/BarGraph/BarGraph.js.map +1 -0
- package/dist/components/charts/Boxplot/Boxplot.cjs +2 -0
- package/dist/components/charts/Boxplot/Boxplot.cjs.map +1 -0
- package/dist/components/charts/Boxplot/Boxplot.js +171 -0
- package/dist/components/charts/Boxplot/Boxplot.js.map +1 -0
- package/dist/components/charts/Chromatogram/Chromatogram.cjs +2 -0
- package/dist/components/charts/Chromatogram/Chromatogram.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/Chromatogram.js +164 -0
- package/dist/components/charts/Chromatogram/Chromatogram.js.map +1 -0
- package/dist/components/charts/ChromatogramChart/ChromatogramChart.cjs +2 -0
- package/dist/components/charts/ChromatogramChart/ChromatogramChart.cjs.map +1 -0
- package/dist/components/charts/ChromatogramChart/ChromatogramChart.js +219 -0
- package/dist/components/charts/ChromatogramChart/ChromatogramChart.js.map +1 -0
- package/dist/components/charts/ChromatogramChart/annotations.cjs +2 -0
- package/dist/components/charts/ChromatogramChart/annotations.cjs.map +1 -0
- package/dist/components/charts/ChromatogramChart/annotations.js +73 -0
- package/dist/components/charts/ChromatogramChart/annotations.js.map +1 -0
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs +2 -0
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs.map +1 -0
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.js +34 -0
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.js.map +1 -0
- package/dist/components/charts/ChromatogramChart/constants.cjs +2 -0
- package/dist/components/charts/ChromatogramChart/constants.cjs.map +1 -0
- package/dist/components/charts/ChromatogramChart/constants.js +24 -0
- package/dist/components/charts/ChromatogramChart/constants.js.map +1 -0
- package/dist/components/charts/ChromatogramChart/dataProcessing.cjs +2 -0
- package/dist/components/charts/ChromatogramChart/dataProcessing.cjs.map +1 -0
- package/dist/components/charts/ChromatogramChart/dataProcessing.js +90 -0
- package/dist/components/charts/ChromatogramChart/dataProcessing.js.map +1 -0
- package/dist/components/charts/ChromatogramChart/peakDetection.cjs +2 -0
- package/dist/components/charts/ChromatogramChart/peakDetection.cjs.map +1 -0
- package/dist/components/charts/ChromatogramChart/peakDetection.js +89 -0
- package/dist/components/charts/ChromatogramChart/peakDetection.js.map +1 -0
- package/dist/components/charts/DotPlot/DotPlot.cjs +2 -0
- package/dist/components/charts/DotPlot/DotPlot.cjs.map +1 -0
- package/dist/components/charts/DotPlot/DotPlot.js +184 -0
- package/dist/components/charts/DotPlot/DotPlot.js.map +1 -0
- package/dist/components/charts/Heatmap/Heatmap.cjs +2 -0
- package/dist/components/charts/Heatmap/Heatmap.cjs.map +1 -0
- package/dist/components/charts/Heatmap/Heatmap.js +67 -0
- package/dist/components/charts/Heatmap/Heatmap.js.map +1 -0
- package/dist/components/charts/Histogram/Histogram.cjs +2 -0
- package/dist/components/charts/Histogram/Histogram.cjs.map +1 -0
- package/dist/components/charts/Histogram/Histogram.js +209 -0
- package/dist/components/charts/Histogram/Histogram.js.map +1 -0
- package/dist/components/charts/LineGraph/LineGraph.cjs +2 -0
- package/dist/components/charts/LineGraph/LineGraph.cjs.map +1 -0
- package/dist/components/charts/LineGraph/LineGraph.js +185 -0
- package/dist/components/charts/LineGraph/LineGraph.js.map +1 -0
- package/dist/components/charts/PieChart/PieChart.cjs +2 -0
- package/dist/components/charts/PieChart/PieChart.cjs.map +1 -0
- package/dist/components/charts/PieChart/PieChart.js +106 -0
- package/dist/components/charts/PieChart/PieChart.js.map +1 -0
- package/dist/components/charts/PlateMap/PlateMap.cjs +2 -0
- package/dist/components/charts/PlateMap/PlateMap.cjs.map +1 -0
- package/dist/components/charts/PlateMap/PlateMap.js +450 -0
- package/dist/components/charts/PlateMap/PlateMap.js.map +1 -0
- package/dist/components/charts/PlateMap/constants.cjs +2 -0
- package/dist/components/charts/PlateMap/constants.cjs.map +1 -0
- package/dist/components/charts/PlateMap/constants.js +137 -0
- package/dist/components/charts/PlateMap/constants.js.map +1 -0
- package/dist/components/charts/PlateMap/types.cjs +2 -0
- package/dist/components/charts/PlateMap/types.cjs.map +1 -0
- package/dist/components/charts/PlateMap/types.js +8 -0
- package/dist/components/charts/PlateMap/types.js.map +1 -0
- package/dist/components/charts/PlateMap/utils.cjs +2 -0
- package/dist/components/charts/PlateMap/utils.cjs.map +1 -0
- package/dist/components/charts/PlateMap/utils.js +235 -0
- package/dist/components/charts/PlateMap/utils.js.map +1 -0
- package/dist/components/charts/ScatterGraph/ScatterGraph.cjs +2 -0
- package/dist/components/charts/ScatterGraph/ScatterGraph.cjs.map +1 -0
- package/dist/components/charts/ScatterGraph/ScatterGraph.js +186 -0
- package/dist/components/charts/ScatterGraph/ScatterGraph.js.map +1 -0
- package/dist/components/composed/AppHeader/AppHeader.cjs +2 -0
- package/dist/components/composed/AppHeader/AppHeader.cjs.map +1 -0
- package/dist/components/composed/AppHeader/AppHeader.js +35 -0
- package/dist/components/composed/AppHeader/AppHeader.js.map +1 -0
- package/dist/components/composed/AppLayout/AppLayout.cjs +2 -0
- package/dist/components/composed/AppLayout/AppLayout.cjs.map +1 -0
- package/dist/components/composed/AppLayout/AppLayout.js +65 -0
- package/dist/components/composed/AppLayout/AppLayout.js.map +1 -0
- package/dist/components/composed/AssistantModal/AssistantModal.cjs +2 -0
- package/dist/components/composed/AssistantModal/AssistantModal.cjs.map +1 -0
- package/dist/components/composed/AssistantModal/AssistantModal.js +75 -0
- package/dist/components/composed/AssistantModal/AssistantModal.js.map +1 -0
- package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.cjs +3 -0
- package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.cjs.map +1 -0
- package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.js +74 -0
- package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.js.map +1 -0
- package/dist/components/composed/LaunchContent/LaunchContent.cjs +6 -0
- package/dist/components/composed/LaunchContent/LaunchContent.cjs.map +1 -0
- package/dist/components/composed/LaunchContent/LaunchContent.js +66 -0
- package/dist/components/composed/LaunchContent/LaunchContent.js.map +1 -0
- package/dist/components/composed/Main/LaunchContentPanel.cjs +6 -0
- package/dist/components/composed/Main/LaunchContentPanel.cjs.map +1 -0
- package/dist/components/composed/Main/LaunchContentPanel.js +63 -0
- package/dist/components/composed/Main/LaunchContentPanel.js.map +1 -0
- package/dist/components/composed/Main/Main.cjs +2 -0
- package/dist/components/composed/Main/Main.cjs.map +1 -0
- package/dist/components/composed/Main/Main.js +276 -0
- package/dist/components/composed/Main/Main.js.map +1 -0
- package/dist/components/composed/Main/MainHeader.cjs +2 -0
- package/dist/components/composed/Main/MainHeader.cjs.map +1 -0
- package/dist/components/composed/Main/MainHeader.js +36 -0
- package/dist/components/composed/Main/MainHeader.js.map +1 -0
- package/dist/components/composed/Main/MainNavbar.cjs +2 -0
- package/dist/components/composed/Main/MainNavbar.cjs.map +1 -0
- package/dist/components/composed/Main/MainNavbar.js +25 -0
- package/dist/components/composed/Main/MainNavbar.js.map +1 -0
- package/dist/components/composed/Main/MainSidebar.cjs +2 -0
- package/dist/components/composed/Main/MainSidebar.cjs.map +1 -0
- package/dist/components/composed/Main/MainSidebar.js +12 -0
- package/dist/components/composed/Main/MainSidebar.js.map +1 -0
- package/dist/components/composed/Main/MainTabBar.cjs +2 -0
- package/dist/components/composed/Main/MainTabBar.cjs.map +1 -0
- package/dist/components/composed/Main/MainTabBar.js +7 -0
- package/dist/components/composed/Main/MainTabBar.js.map +1 -0
- package/dist/components/composed/Main/ProtocolConfigurationPanel.cjs +2 -0
- package/dist/components/composed/Main/ProtocolConfigurationPanel.cjs.map +1 -0
- package/dist/components/composed/Main/ProtocolConfigurationPanel.js +30 -0
- package/dist/components/composed/Main/ProtocolConfigurationPanel.js.map +1 -0
- package/dist/components/composed/Main/TemplateSidebarCard.cjs +2 -0
- package/dist/components/composed/Main/TemplateSidebarCard.cjs.map +1 -0
- package/dist/components/composed/Main/TemplateSidebarCard.js +71 -0
- package/dist/components/composed/Main/TemplateSidebarCard.js.map +1 -0
- package/dist/components/composed/Navbar/Navbar.cjs +2 -0
- package/dist/components/composed/Navbar/Navbar.cjs.map +1 -0
- package/dist/components/composed/Navbar/Navbar.js +25 -0
- package/dist/components/composed/Navbar/Navbar.js.map +1 -0
- package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.cjs +2 -0
- package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.cjs.map +1 -0
- package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.js +44 -0
- package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.js.map +1 -0
- package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.cjs +2 -0
- package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.cjs.map +1 -0
- package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.js +53 -0
- package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.js.map +1 -0
- package/dist/components/composed/PythonEditorModal/PythonEditorModal.cjs +2 -0
- package/dist/components/composed/PythonEditorModal/PythonEditorModal.cjs.map +1 -0
- package/dist/components/composed/PythonEditorModal/PythonEditorModal.js +51 -0
- package/dist/components/composed/PythonEditorModal/PythonEditorModal.js.map +1 -0
- package/dist/components/composed/Sidebar/Sidebar.cjs +2 -0
- package/dist/components/composed/Sidebar/Sidebar.cjs.map +1 -0
- package/dist/components/composed/Sidebar/Sidebar.js +46 -0
- package/dist/components/composed/Sidebar/Sidebar.js.map +1 -0
- package/dist/components/composed/TdpSearch/TdpSearch.cjs +2 -0
- package/dist/components/composed/TdpSearch/TdpSearch.cjs.map +1 -0
- package/dist/components/composed/TdpSearch/TdpSearch.js +97 -0
- package/dist/components/composed/TdpSearch/TdpSearch.js.map +1 -0
- package/dist/components/composed/TdpSearch/components/DefaultFilters.cjs +2 -0
- package/dist/components/composed/TdpSearch/components/DefaultFilters.cjs.map +1 -0
- package/dist/components/composed/TdpSearch/components/DefaultFilters.js +31 -0
- package/dist/components/composed/TdpSearch/components/DefaultFilters.js.map +1 -0
- package/dist/components/composed/TdpSearch/components/DefaultResults.cjs +2 -0
- package/dist/components/composed/TdpSearch/components/DefaultResults.cjs.map +1 -0
- package/dist/components/composed/TdpSearch/components/DefaultResults.js +107 -0
- package/dist/components/composed/TdpSearch/components/DefaultResults.js.map +1 -0
- package/dist/components/composed/TdpSearch/components/DefaultSearchBar.cjs +2 -0
- package/dist/components/composed/TdpSearch/components/DefaultSearchBar.cjs.map +1 -0
- package/dist/components/composed/TdpSearch/components/DefaultSearchBar.js +32 -0
- package/dist/components/composed/TdpSearch/components/DefaultSearchBar.js.map +1 -0
- package/dist/components/composed/TdpSearch/constants.cjs +2 -0
- package/dist/components/composed/TdpSearch/constants.cjs.map +1 -0
- package/dist/components/composed/TdpSearch/constants.js +7 -0
- package/dist/components/composed/TdpSearch/constants.js.map +1 -0
- package/dist/components/composed/TdpSearch/hooks/useSearch.cjs +2 -0
- package/dist/components/composed/TdpSearch/hooks/useSearch.cjs.map +1 -0
- package/dist/components/composed/TdpSearch/hooks/useSearch.js +52 -0
- package/dist/components/composed/TdpSearch/hooks/useSearch.js.map +1 -0
- package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.cjs +2 -0
- package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.cjs.map +1 -0
- package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.js +29 -0
- package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.js.map +1 -0
- package/dist/components/composed/TdpSearch/utils.cjs +2 -0
- package/dist/components/composed/TdpSearch/utils.cjs.map +1 -0
- package/dist/components/composed/TdpSearch/utils.js +15 -0
- package/dist/components/composed/TdpSearch/utils.js.map +1 -0
- package/dist/components/composed/tdp-link.cjs +2 -0
- package/dist/components/composed/tdp-link.cjs.map +1 -0
- package/dist/components/composed/tdp-link.js +84 -0
- package/dist/components/composed/tdp-link.js.map +1 -0
- package/dist/components/composed/tdp-url.cjs +2 -0
- package/dist/components/composed/tdp-url.cjs.map +1 -0
- package/dist/components/composed/tdp-url.js +76 -0
- package/dist/components/composed/tdp-url.js.map +1 -0
- package/dist/components/ui/accordion.cjs +2 -0
- package/dist/components/ui/accordion.cjs.map +1 -0
- package/dist/components/ui/accordion.js +83 -0
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/components/ui/alert-dialog.cjs +2 -0
- package/dist/components/ui/alert-dialog.cjs.map +1 -0
- package/dist/components/ui/alert-dialog.js +181 -0
- package/dist/components/ui/alert-dialog.js.map +1 -0
- package/dist/components/ui/alert.cjs +2 -0
- package/dist/components/ui/alert.cjs.map +1 -0
- package/dist/components/ui/alert.js +78 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/aspect-ratio.cjs +2 -0
- package/dist/components/ui/aspect-ratio.cjs.map +1 -0
- package/dist/components/ui/aspect-ratio.js +11 -0
- package/dist/components/ui/aspect-ratio.js.map +1 -0
- package/dist/components/ui/avatar.cjs +2 -0
- package/dist/components/ui/avatar.cjs.map +1 -0
- package/dist/components/ui/avatar.js +107 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.cjs +2 -0
- package/dist/components/ui/badge.cjs.map +1 -0
- package/dist/components/ui/badge.js +44 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/breadcrumb.cjs +2 -0
- package/dist/components/ui/breadcrumb.cjs.map +1 -0
- package/dist/components/ui/breadcrumb.js +118 -0
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/button-group.cjs +2 -0
- package/dist/components/ui/button-group.cjs.map +1 -0
- package/dist/components/ui/button-group.js +77 -0
- package/dist/components/ui/button-group.js.map +1 -0
- package/dist/components/ui/button.cjs +2 -0
- package/dist/components/ui/button.cjs.map +1 -0
- package/dist/components/ui/button.js +57 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/calendar.cjs +2 -0
- package/dist/components/ui/calendar.cjs.map +1 -0
- package/dist/components/ui/calendar.js +174 -0
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/card.cjs +2 -0
- package/dist/components/ui/card.cjs.map +1 -0
- package/dist/components/ui/card.js +102 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/carousel.cjs +2 -0
- package/dist/components/ui/carousel.cjs.map +1 -0
- package/dist/components/ui/carousel.js +179 -0
- package/dist/components/ui/carousel.js.map +1 -0
- package/dist/components/ui/checkbox.cjs +2 -0
- package/dist/components/ui/checkbox.cjs.map +1 -0
- package/dist/components/ui/checkbox.js +35 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/code-editor.cjs +2 -0
- package/dist/components/ui/code-editor.cjs.map +1 -0
- package/dist/components/ui/code-editor.js +103 -0
- package/dist/components/ui/code-editor.js.map +1 -0
- package/dist/components/ui/collapsible.cjs +2 -0
- package/dist/components/ui/collapsible.cjs.map +1 -0
- package/dist/components/ui/collapsible.js +35 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/combobox.cjs +2 -0
- package/dist/components/ui/combobox.cjs.map +1 -0
- package/dist/components/ui/combobox.js +278 -0
- package/dist/components/ui/combobox.js.map +1 -0
- package/dist/components/ui/command.cjs +2 -0
- package/dist/components/ui/command.cjs.map +1 -0
- package/dist/components/ui/command.js +174 -0
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/context-menu.cjs +2 -0
- package/dist/components/ui/context-menu.cjs.map +1 -0
- package/dist/components/ui/context-menu.js +236 -0
- package/dist/components/ui/context-menu.js.map +1 -0
- package/dist/components/ui/dialog.cjs +2 -0
- package/dist/components/ui/dialog.cjs.map +1 -0
- package/dist/components/ui/dialog.js +154 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/drawer.cjs +2 -0
- package/dist/components/ui/drawer.cjs.map +1 -0
- package/dist/components/ui/drawer.js +125 -0
- package/dist/components/ui/drawer.js.map +1 -0
- package/dist/components/ui/dropdown-menu.cjs +2 -0
- package/dist/components/ui/dropdown-menu.cjs.map +1 -0
- package/dist/components/ui/dropdown-menu.js +252 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/field.cjs +2 -0
- package/dist/components/ui/field.cjs.map +1 -0
- package/dist/components/ui/field.js +210 -0
- package/dist/components/ui/field.js.map +1 -0
- package/dist/components/ui/hover-card.cjs +2 -0
- package/dist/components/ui/hover-card.cjs.map +1 -0
- package/dist/components/ui/hover-card.js +39 -0
- package/dist/components/ui/hover-card.js.map +1 -0
- package/dist/components/ui/input-group.cjs +2 -0
- package/dist/components/ui/input-group.cjs.map +1 -0
- package/dist/components/ui/input-group.js +145 -0
- package/dist/components/ui/input-group.js.map +1 -0
- package/dist/components/ui/input-otp.cjs +2 -0
- package/dist/components/ui/input-otp.cjs.map +1 -0
- package/dist/components/ui/input-otp.js +82 -0
- package/dist/components/ui/input-otp.js.map +1 -0
- package/dist/components/ui/input.cjs +2 -0
- package/dist/components/ui/input.cjs.map +1 -0
- package/dist/components/ui/input.js +20 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/item.cjs +2 -0
- package/dist/components/ui/item.cjs.map +1 -0
- package/dist/components/ui/item.js +191 -0
- package/dist/components/ui/item.js.map +1 -0
- package/dist/components/ui/kbd.cjs +2 -0
- package/dist/components/ui/kbd.cjs.map +1 -0
- package/dist/components/ui/kbd.js +30 -0
- package/dist/components/ui/kbd.js.map +1 -0
- package/dist/components/ui/label.cjs +2 -0
- package/dist/components/ui/label.cjs.map +1 -0
- package/dist/components/ui/label.js +23 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/menubar.cjs +2 -0
- package/dist/components/ui/menubar.cjs.map +1 -0
- package/dist/components/ui/menubar.js +256 -0
- package/dist/components/ui/menubar.js.map +1 -0
- package/dist/components/ui/navigation-menu.cjs +2 -0
- package/dist/components/ui/navigation-menu.cjs.map +1 -0
- package/dist/components/ui/navigation-menu.js +164 -0
- package/dist/components/ui/navigation-menu.js.map +1 -0
- package/dist/components/ui/radio-group.cjs +2 -0
- package/dist/components/ui/radio-group.cjs.map +1 -0
- package/dist/components/ui/radio-group.js +45 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/resizable.cjs +2 -0
- package/dist/components/ui/resizable.cjs.map +1 -0
- package/dist/components/ui/resizable.js +46 -0
- package/dist/components/ui/resizable.js.map +1 -0
- package/dist/components/ui/scroll-area.cjs +2 -0
- package/dist/components/ui/scroll-area.cjs.map +1 -0
- package/dist/components/ui/scroll-area.js +60 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.cjs +2 -0
- package/dist/components/ui/select.cjs.map +1 -0
- package/dist/components/ui/select.js +184 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.cjs +2 -0
- package/dist/components/ui/separator.cjs.map +1 -0
- package/dist/components/ui/separator.js +27 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.cjs +2 -0
- package/dist/components/ui/sheet.cjs.map +1 -0
- package/dist/components/ui/sheet.js +137 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/sidebar.cjs +2 -0
- package/dist/components/ui/sidebar.cjs.map +1 -0
- package/dist/components/ui/sidebar.js +579 -0
- package/dist/components/ui/sidebar.js.map +1 -0
- package/dist/components/ui/skeleton.cjs +2 -0
- package/dist/components/ui/skeleton.cjs.map +1 -0
- package/dist/components/ui/skeleton.js +16 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/slider.cjs +2 -0
- package/dist/components/ui/slider.cjs.map +1 -0
- package/dist/components/ui/slider.js +60 -0
- package/dist/components/ui/slider.js.map +1 -0
- package/dist/components/ui/sonner.cjs +2 -0
- package/dist/components/ui/sonner.cjs.map +1 -0
- package/dist/components/ui/sonner.js +37 -0
- package/dist/components/ui/sonner.js.map +1 -0
- package/dist/components/ui/spinner.cjs +2 -0
- package/dist/components/ui/spinner.cjs.map +1 -0
- package/dist/components/ui/spinner.js +10 -0
- package/dist/components/ui/spinner.js.map +1 -0
- package/dist/components/ui/switch.cjs +2 -0
- package/dist/components/ui/switch.cjs.map +1 -0
- package/dist/components/ui/switch.js +32 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.cjs +2 -0
- package/dist/components/ui/table.cjs.map +1 -0
- package/dist/components/ui/table.js +115 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.cjs +2 -0
- package/dist/components/ui/tabs.cjs.map +1 -0
- package/dist/components/ui/tabs.js +91 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/tetrascience-icon.cjs +2 -0
- package/dist/components/ui/tetrascience-icon.cjs.map +1 -0
- package/dist/components/ui/tetrascience-icon.js +46 -0
- package/dist/components/ui/tetrascience-icon.js.map +1 -0
- package/dist/components/ui/textarea.cjs +2 -0
- package/dist/components/ui/textarea.cjs.map +1 -0
- package/dist/components/ui/textarea.js +19 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/toggle-group.cjs +2 -0
- package/dist/components/ui/toggle-group.cjs.map +1 -0
- package/dist/components/ui/toggle-group.js +77 -0
- package/dist/components/ui/toggle-group.js.map +1 -0
- package/dist/components/ui/toggle.cjs +2 -0
- package/dist/components/ui/toggle.cjs.map +1 -0
- package/dist/components/ui/toggle.js +44 -0
- package/dist/components/ui/toggle.js.map +1 -0
- package/dist/components/ui/tooltip.cjs +2 -0
- package/dist/components/ui/tooltip.cjs.map +1 -0
- package/dist/components/ui/tooltip.js +56 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/hooks/use-code-editor-theme.cjs +2 -0
- package/dist/hooks/use-code-editor-theme.cjs.map +1 -0
- package/dist/hooks/use-code-editor-theme.js +31 -0
- package/dist/hooks/use-code-editor-theme.js.map +1 -0
- package/dist/hooks/use-is-dark.cjs +2 -0
- package/dist/hooks/use-is-dark.cjs.map +1 -0
- package/dist/hooks/use-is-dark.js +18 -0
- package/dist/hooks/use-is-dark.js.map +1 -0
- package/dist/hooks/use-mobile.cjs +2 -0
- package/dist/hooks/use-mobile.cjs.map +1 -0
- package/dist/hooks/use-mobile.js +15 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-plotly-theme.cjs +2 -0
- package/dist/hooks/use-plotly-theme.cjs.map +1 -0
- package/dist/hooks/use-plotly-theme.js +33 -0
- package/dist/hooks/use-plotly-theme.js.map +1 -0
- package/dist/index.cjs +1 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +389 -9435
- package/dist/index.js.map +1 -1
- package/dist/lib/utils.cjs +2 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/providers/athena.cjs +1 -1
- package/dist/providers/athena.cjs.map +1 -1
- package/dist/providers/athena.js +9 -157
- package/dist/providers/athena.js.map +1 -1
- package/dist/providers/databricks.cjs +1 -1
- package/dist/providers/databricks.cjs.map +1 -1
- package/dist/providers/databricks.js +9 -82
- package/dist/providers/databricks.js.map +1 -1
- package/dist/providers/snowflake.cjs +1 -1
- package/dist/providers/snowflake.cjs.map +1 -1
- package/dist/providers/snowflake.js +8 -118
- package/dist/providers/snowflake.js.map +1 -1
- package/dist/server/auth/JwtTokenManager.cjs +2 -0
- package/dist/server/auth/JwtTokenManager.cjs.map +1 -0
- package/dist/server/auth/JwtTokenManager.js +134 -0
- package/dist/server/auth/JwtTokenManager.js.map +1 -0
- package/dist/server/providers/AthenaProvider.cjs +2 -0
- package/dist/server/providers/AthenaProvider.cjs.map +1 -0
- package/dist/server/providers/AthenaProvider.js +154 -0
- package/dist/server/providers/AthenaProvider.js.map +1 -0
- package/dist/server/providers/DatabricksProvider.cjs +2 -0
- package/dist/server/providers/DatabricksProvider.cjs.map +1 -0
- package/dist/server/providers/DatabricksProvider.js +79 -0
- package/dist/server/providers/DatabricksProvider.js.map +1 -0
- package/dist/server/providers/SnowflakeProvider.cjs +2 -0
- package/dist/server/providers/SnowflakeProvider.cjs.map +1 -0
- package/dist/server/providers/SnowflakeProvider.js +116 -0
- package/dist/server/providers/SnowflakeProvider.js.map +1 -0
- package/dist/server/providers/buildProvider.cjs +2 -0
- package/dist/server/providers/buildProvider.cjs.map +1 -0
- package/dist/server/providers/buildProvider.js +22 -0
- package/dist/server/providers/buildProvider.js.map +1 -0
- package/dist/server/providers/exceptions.cjs +2 -0
- package/dist/server/providers/exceptions.cjs.map +1 -0
- package/dist/{exceptions-jCQ6h5C8.js → server/providers/exceptions.js} +11 -11
- package/dist/server/providers/exceptions.js.map +1 -0
- package/dist/server/providers/getProviderConfigurations.cjs +2 -0
- package/dist/server/providers/getProviderConfigurations.cjs.map +1 -0
- package/dist/server/providers/getProviderConfigurations.js +78 -0
- package/dist/server/providers/getProviderConfigurations.js.map +1 -0
- package/dist/server/providers/providerDiscovery.cjs +2 -0
- package/dist/server/providers/providerDiscovery.cjs.map +1 -0
- package/dist/server/providers/providerDiscovery.js +28 -0
- package/dist/server/providers/providerDiscovery.js.map +1 -0
- package/dist/server.cjs +1 -1
- package/dist/server.cjs.map +1 -1
- package/dist/server.js +27 -262
- package/dist/server.js.map +1 -1
- package/dist/utils/colors.cjs +2 -0
- package/dist/utils/colors.cjs.map +1 -0
- package/dist/utils/colors.js +98 -0
- package/dist/utils/colors.js.map +1 -0
- package/package.json +4 -1
- package/dist/exceptions-DN25pCDi.cjs +0 -2
- package/dist/exceptions-DN25pCDi.cjs.map +0 -1
- package/dist/exceptions-jCQ6h5C8.js.map +0 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { Search as m, SearchCode as d, Lamp as k, Workflow as h, Monitor as p, Box as b, Database as C, PieChart as S, CheckCheck as f, Code as g, Settings as u } from "lucide-react";
|
|
4
|
+
import { useState as A } from "react";
|
|
5
|
+
import v from "../AppHeader/AppHeader.js";
|
|
6
|
+
import I from "../Navbar/Navbar.js";
|
|
7
|
+
import P from "../Sidebar/Sidebar.js";
|
|
8
|
+
const w = ({
|
|
9
|
+
userProfile: o,
|
|
10
|
+
hostname: l,
|
|
11
|
+
organization: t,
|
|
12
|
+
children: a
|
|
13
|
+
}) => {
|
|
14
|
+
const c = [
|
|
15
|
+
{ icon: m, label: "Search" },
|
|
16
|
+
{ icon: d, label: "SQL Search" },
|
|
17
|
+
{ icon: k, label: "Projects" },
|
|
18
|
+
{ icon: h, label: "Pipelines" },
|
|
19
|
+
{ icon: p, label: "Data & AI Workspace" },
|
|
20
|
+
{ icon: b, label: "Artifacts" },
|
|
21
|
+
{ icon: C, label: "Data Sources" },
|
|
22
|
+
{ icon: S, label: "Health Monitoring" },
|
|
23
|
+
{ icon: f, label: "Bulk Actions" },
|
|
24
|
+
{ icon: g, label: "Attribute Management" },
|
|
25
|
+
{ icon: u, label: "Administration" }
|
|
26
|
+
], [n, r] = A("Pipelines");
|
|
27
|
+
return /* @__PURE__ */ i("div", { className: "app-layout", children: [
|
|
28
|
+
/* @__PURE__ */ e(I, { organization: t }),
|
|
29
|
+
/* @__PURE__ */ i("div", { className: "content-container", children: [
|
|
30
|
+
/* @__PURE__ */ e(
|
|
31
|
+
P,
|
|
32
|
+
{
|
|
33
|
+
items: c,
|
|
34
|
+
activeItem: n,
|
|
35
|
+
onItemClick: (s) => {
|
|
36
|
+
r(s);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
/* @__PURE__ */ i("div", { className: "main-content", children: [
|
|
41
|
+
/* @__PURE__ */ e(
|
|
42
|
+
v,
|
|
43
|
+
{
|
|
44
|
+
hostname: l,
|
|
45
|
+
userProfile: o,
|
|
46
|
+
onHomeClick: () => {
|
|
47
|
+
console.log("Home clicked");
|
|
48
|
+
},
|
|
49
|
+
onSettingsClick: () => {
|
|
50
|
+
console.log("Settings clicked");
|
|
51
|
+
},
|
|
52
|
+
onUserProfileClick: () => {
|
|
53
|
+
console.log("User profile clicked");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
/* @__PURE__ */ e("div", { className: "main-layout", children: a })
|
|
58
|
+
] })
|
|
59
|
+
] })
|
|
60
|
+
] });
|
|
61
|
+
};
|
|
62
|
+
export {
|
|
63
|
+
w as AppLayout
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=AppLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppLayout.js","sources":["../../../../src/components/composed/AppLayout/AppLayout.tsx"],"sourcesContent":["import \"./AppLayout.scss\";\nimport {\n Box,\n CheckCheck,\n Code,\n Database,\n Lamp,\n Monitor,\n PieChart,\n Search,\n SearchCode,\n Settings,\n Workflow,\n} from \"lucide-react\";\nimport React, { useState } from \"react\";\n\nimport { AppHeader } from \"@/components/composed/AppHeader\";\nimport { Navbar } from \"@/components/composed/Navbar\";\nimport { AppSidebar } from \"@/components/composed/Sidebar\";\n\ninterface AppLayoutProps {\n userProfile: {\n name: string;\n avatar?: string;\n };\n hostname: string;\n organization: {\n name: string;\n subtext?: string;\n logo?: React.ReactNode;\n };\n children?: React.ReactNode;\n}\n\nconst AppLayout: React.FC<AppLayoutProps> = ({\n userProfile,\n hostname,\n organization,\n children,\n}) => {\n // Define sidebar items\n const sidebarItems = [\n { icon: Search, label: \"Search\" },\n { icon: SearchCode, label: \"SQL Search\" },\n { icon: Lamp, label: \"Projects\" },\n { icon: Workflow, label: \"Pipelines\" },\n { icon: Monitor, label: \"Data & AI Workspace\" },\n { icon: Box, label: \"Artifacts\" },\n { icon: Database, label: \"Data Sources\" },\n { icon: PieChart, label: \"Health Monitoring\" },\n { icon: CheckCheck, label: \"Bulk Actions\" },\n { icon: Code, label: \"Attribute Management\" },\n { icon: Settings, label: \"Administration\" },\n ];\n\n // State hooks\n const [activeItem, setActiveItem] = useState(\"Pipelines\");\n\n // Handlers\n const handleSidebarItemClick = (label: string) => {\n setActiveItem(label);\n };\n\n const handleHomeClick = () => {\n console.log(\"Home clicked\");\n };\n\n const handleSettingsClick = () => {\n console.log(\"Settings clicked\");\n };\n\n const handleUserProfileClick = () => {\n console.log(\"User profile clicked\");\n };\n\n return (\n <div className=\"app-layout\">\n <Navbar organization={organization} />\n\n <div className=\"content-container\">\n <AppSidebar\n items={sidebarItems}\n activeItem={activeItem}\n onItemClick={handleSidebarItemClick}\n />\n\n <div className=\"main-content\">\n <AppHeader\n hostname={hostname}\n userProfile={userProfile}\n onHomeClick={handleHomeClick}\n onSettingsClick={handleSettingsClick}\n onUserProfileClick={handleUserProfileClick}\n />\n\n <div className=\"main-layout\">{children}</div>\n </div>\n </div>\n </div>\n );\n};\n\nexport { AppLayout };\nexport type { AppLayoutProps };\n"],"names":["AppLayout","userProfile","hostname","organization","children","sidebarItems","Search","SearchCode","Lamp","Workflow","Monitor","Box","Database","PieChart","CheckCheck","Code","Settings","activeItem","setActiveItem","useState","jsxs","jsx","Navbar","AppSidebar","label","AppHeader"],"mappings":";;;;;;;AAkCA,MAAMA,IAAsC,CAAC;AAAA,EAC3C,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AAEJ,QAAMC,IAAe;AAAA,IACnB,EAAE,MAAMC,GAAQ,OAAO,SAAA;AAAA,IACvB,EAAE,MAAMC,GAAY,OAAO,aAAA;AAAA,IAC3B,EAAE,MAAMC,GAAM,OAAO,WAAA;AAAA,IACrB,EAAE,MAAMC,GAAU,OAAO,YAAA;AAAA,IACzB,EAAE,MAAMC,GAAS,OAAO,sBAAA;AAAA,IACxB,EAAE,MAAMC,GAAK,OAAO,YAAA;AAAA,IACpB,EAAE,MAAMC,GAAU,OAAO,eAAA;AAAA,IACzB,EAAE,MAAMC,GAAU,OAAO,oBAAA;AAAA,IACzB,EAAE,MAAMC,GAAY,OAAO,eAAA;AAAA,IAC3B,EAAE,MAAMC,GAAM,OAAO,uBAAA;AAAA,IACrB,EAAE,MAAMC,GAAU,OAAO,iBAAA;AAAA,EAAiB,GAItC,CAACC,GAAYC,CAAa,IAAIC,EAAS,WAAW;AAmBxD,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,cACb,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAO,cAAAnB,GAA4B;AAAA,IAEpC,gBAAAiB,EAAC,OAAA,EAAI,WAAU,qBACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACE;AAAAA,QAAA;AAAA,UACC,OAAOlB;AAAA,UACP,YAAAY;AAAA,UACA,aAxBuB,CAACO,MAAkB;AAChD,YAAAN,EAAcM,CAAK;AAAA,UACrB;AAAA,QAsBqB;AAAA,MAAA;AAAA,MAGf,gBAAAJ,EAAC,OAAA,EAAI,WAAU,gBACb,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,UAAAvB;AAAA,YACA,aAAAD;AAAA,YACA,aA3Bc,MAAM;AAC5B,sBAAQ,IAAI,cAAc;AAAA,YAC5B;AAAA,YA0BU,iBAxBkB,MAAM;AAChC,sBAAQ,IAAI,kBAAkB;AAAA,YAChC;AAAA,YAuBU,oBArBqB,MAAM;AACnC,sBAAQ,IAAI,sBAAsB;AAAA,YACpC;AAAA,UAmB8B;AAAA,QAAA;AAAA,QAGtB,gBAAAoB,EAAC,OAAA,EAAI,WAAU,eAAe,UAAAjB,EAAA,CAAS;AAAA,MAAA,EAAA,CACzC;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),q=require("lucide-react"),s=require("react"),y=require("../../ui/button.cjs"),N=require("../../ui/code-editor.cjs"),a=require("../../ui/dialog.cjs"),b=require("../../ui/input.cjs"),w=require("../../ui/tetrascience-icon.cjs"),C=require("../../ui/textarea.cjs"),D=({open:c,onOpenChange:d,title:x,prompt:u,initialCode:p="",userQuery:n="",onUserQueryChange:i,onCopy:h,onLaunch:m,onSend:l})=>{const[g,j]=s.useState(p),[r,v]=s.useState(""),[f,o]=s.useState(n);return s.useEffect(()=>{o(n)},[n]),e.jsx(a.Dialog,{open:c,onOpenChange:d,children:e.jsxs(a.DialogContent,{className:"min-w-[600px]",children:[e.jsx(a.DialogHeader,{children:e.jsxs(a.DialogTitle,{className:"flex items-center gap-2",children:[e.jsx(w.TetraScienceIcon,{fill:"var(--primary)"}),e.jsx("span",{className:"font-semibold text-xl",children:x})]})}),e.jsx("div",{className:"px-6 py-6 text-sm font-normal leading-5",children:u}),e.jsx("div",{className:"mx-6 shadow-sm rounded-lg",children:e.jsx(C.Textarea,{value:f,onChange:t=>{o(t.target.value),i&&i(t.target.value)},rows:2,placeholder:"Type your question here..."})}),e.jsx("div",{className:"px-6 pt-6 pb-0 flex-1",children:e.jsx("div",{className:"rounded-[20px] overflow-hidden bg-[var(--primary)] min-h-[200px] relative",children:e.jsx(N.CodeEditor,{value:g,onChange:t=>j(t??""),language:"python",height:200,onCopy:h,onLaunch:m})})}),e.jsxs("div",{className:"flex items-center gap-3 px-6 pt-4 pb-6 rounded-bl-[20px] rounded-br-[20px]",children:[e.jsx(b.Input,{value:r,onChange:t=>v(t.target.value),placeholder:"Ask us anything related to your work...",onKeyDown:t=>{t.key==="Enter"&&l(r)}}),e.jsxs(y.Button,{className:"min-w-[100px] flex items-center gap-[6px]",variant:"default",onClick:()=>l(r),children:[e.jsx(q.SendHorizontal,{}),"Send"]})]})]})})};module.exports=D;
|
|
2
|
+
//# sourceMappingURL=AssistantModal.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistantModal.cjs","sources":["../../../../src/components/composed/AssistantModal/AssistantModal.tsx"],"sourcesContent":["import { SendHorizontal } from \"lucide-react\";\nimport React, { useState } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CodeEditor } from \"@/components/ui/code-editor\";\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from \"@/components/ui/dialog\";\nimport { Input } from \"@/components/ui/input\";\nimport { TetraScienceIcon as TetrascienceIcon } from \"@/components/ui/tetrascience-icon\";\nimport { Textarea } from \"@/components/ui/textarea\";\n\nexport interface AssistantModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n title: string;\n prompt: string;\n initialCode?: string;\n userQuery?: string;\n onUserQueryChange?: (value: string) => void;\n onCopy: (code: string) => void;\n onLaunch: (code: string) => void;\n onSend: (input: string) => void;\n onCancel?: () => void;\n}\n\nconst AssistantModal: React.FC<AssistantModalProps> = ({\n open,\n onOpenChange,\n title,\n prompt,\n initialCode = \"\",\n userQuery = \"\",\n onUserQueryChange,\n onCopy,\n onLaunch,\n onSend,\n}) => {\n const [code, setCode] = useState<string>(initialCode);\n const [input, setInput] = useState<string>(\"\");\n const [localUserQuery, setLocalUserQuery] = useState<string>(userQuery);\n\n React.useEffect(() => {\n setLocalUserQuery(userQuery);\n }, [userQuery]);\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"min-w-[600px]\">\n <DialogHeader>\n <DialogTitle className=\"flex items-center gap-2\">\n <TetrascienceIcon fill=\"var(--primary)\" />\n <span className=\"font-semibold text-xl\">{title}</span>\n </DialogTitle>\n </DialogHeader>\n <div className=\"px-6 py-6 text-sm font-normal leading-5\">{prompt}</div>\n <div className=\"mx-6 shadow-sm rounded-lg\">\n <Textarea\n value={localUserQuery}\n onChange={(e) => {\n setLocalUserQuery(e.target.value);\n if (onUserQueryChange) onUserQueryChange(e.target.value);\n }}\n rows={2}\n placeholder=\"Type your question here...\"\n />\n </div>\n <div className=\"px-6 pt-6 pb-0 flex-1\">\n <div className=\"rounded-[20px] overflow-hidden bg-[var(--primary)] min-h-[200px] relative\">\n <CodeEditor\n value={code}\n onChange={(v) => setCode(v ?? \"\")}\n language=\"python\"\n\n height={200}\n onCopy={onCopy}\n onLaunch={onLaunch}\n />\n </div>\n </div>\n <div className=\"flex items-center gap-3 px-6 pt-4 pb-6 rounded-bl-[20px] rounded-br-[20px]\">\n <Input\n value={input}\n onChange={(e) => setInput(e.target.value)}\n placeholder=\"Ask us anything related to your work...\"\n onKeyDown={(e) => {\n if (e.key === \"Enter\") onSend(input);\n }}\n />\n <Button className=\"min-w-[100px] flex items-center gap-[6px]\" variant=\"default\" onClick={() => onSend(input)}>\n <SendHorizontal />\n Send\n </Button>\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default AssistantModal;\n"],"names":["AssistantModal","open","onOpenChange","title","prompt","initialCode","userQuery","onUserQueryChange","onCopy","onLaunch","onSend","code","setCode","useState","input","setInput","localUserQuery","setLocalUserQuery","React","Dialog","jsxs","DialogContent","jsx","DialogHeader","DialogTitle","TetrascienceIcon","Textarea","e","CodeEditor","v","Input","Button","SendHorizontal"],"mappings":"sTAwBMA,EAAgD,CAAC,CACrD,KAAAC,EACA,aAAAC,EACA,MAAAC,EACA,OAAAC,EACA,YAAAC,EAAc,GACd,UAAAC,EAAY,GACZ,kBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,OAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAAA,SAAiBR,CAAW,EAC9C,CAACS,EAAOC,CAAQ,EAAIF,EAAAA,SAAiB,EAAE,EACvC,CAACG,EAAgBC,CAAiB,EAAIJ,EAAAA,SAAiBP,CAAS,EAEtE,OAAAY,EAAM,UAAU,IAAM,CACpBD,EAAkBX,CAAS,CAC7B,EAAG,CAACA,CAAS,CAAC,QAGXa,EAAAA,OAAA,CAAO,KAAAlB,EAAY,aAAAC,EAClB,SAAAkB,EAAAA,KAACC,gBAAA,CAAc,UAAU,gBACrB,SAAA,CAAAC,MAACC,EAAAA,aAAA,CACC,SAAAH,EAAAA,KAACI,EAAAA,YAAA,CAAY,UAAU,0BACrB,SAAA,CAAAF,EAAAA,IAACG,EAAAA,iBAAA,CAAiB,KAAK,gBAAA,CAAiB,EACxCH,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAyB,SAAAnB,CAAA,CAAM,CAAA,CAAA,CACjD,CAAA,CACF,EACAmB,EAAAA,IAAC,MAAA,CAAI,UAAU,0CAA2C,SAAAlB,EAAO,EACjEkB,EAAAA,IAAC,MAAA,CAAI,UAAU,4BACb,SAAAA,EAAAA,IAACI,EAAAA,SAAA,CACC,MAAOV,EACP,SAAWW,GAAM,CACfV,EAAkBU,EAAE,OAAO,KAAK,EAC5BpB,GAAmBA,EAAkBoB,EAAE,OAAO,KAAK,CACzD,EACA,KAAM,EACN,YAAY,4BAAA,CAAA,EAEhB,QACC,MAAA,CAAI,UAAU,wBACb,SAAAL,MAAC,MAAA,CAAI,UAAU,4EACb,SAAAA,EAAAA,IAACM,EAAAA,WAAA,CACC,MAAOjB,EACP,SAAWkB,GAAMjB,EAAQiB,GAAK,EAAE,EAChC,SAAS,SAET,OAAQ,IACR,OAAArB,EACA,SAAAC,CAAA,CAAA,EAEJ,CAAA,CACF,EACAW,EAAAA,KAAC,MAAA,CAAI,UAAU,6EACb,SAAA,CAAAE,EAAAA,IAACQ,EAAAA,MAAA,CACC,MAAOhB,EACP,SAAWa,GAAMZ,EAASY,EAAE,OAAO,KAAK,EACxC,YAAY,0CACZ,UAAYA,GAAM,CACZA,EAAE,MAAQ,SAASjB,EAAOI,CAAK,CACrC,CAAA,CAAA,EAEFM,EAAAA,KAACW,EAAAA,OAAA,CAAO,UAAU,4CAA4C,QAAQ,UAAU,QAAS,IAAMrB,EAAOI,CAAK,EACzG,SAAA,CAAAQ,EAAAA,IAACU,EAAAA,eAAA,EAAe,EAAE,MAAA,CAAA,CAEpB,CAAA,CAAA,CACF,CAAA,CAAA,CACJ,CAAA,CACF,CAEJ"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import { SendHorizontal as N } from "lucide-react";
|
|
3
|
+
import w, { useState as l } from "react";
|
|
4
|
+
import { Button as b } from "../../ui/button.js";
|
|
5
|
+
import { CodeEditor as C } from "../../ui/code-editor.js";
|
|
6
|
+
import { Dialog as D, DialogContent as k, DialogHeader as T, DialogTitle as E } from "../../ui/dialog.js";
|
|
7
|
+
import { Input as I } from "../../ui/input.js";
|
|
8
|
+
import { TetraScienceIcon as S } from "../../ui/tetrascience-icon.js";
|
|
9
|
+
import { Textarea as j } from "../../ui/textarea.js";
|
|
10
|
+
const R = ({
|
|
11
|
+
open: d,
|
|
12
|
+
onOpenChange: m,
|
|
13
|
+
title: c,
|
|
14
|
+
prompt: p,
|
|
15
|
+
initialCode: f = "",
|
|
16
|
+
userQuery: r = "",
|
|
17
|
+
onUserQueryChange: n,
|
|
18
|
+
onCopy: h,
|
|
19
|
+
onLaunch: u,
|
|
20
|
+
onSend: i
|
|
21
|
+
}) => {
|
|
22
|
+
const [x, g] = l(f), [o, v] = l(""), [y, s] = l(r);
|
|
23
|
+
return w.useEffect(() => {
|
|
24
|
+
s(r);
|
|
25
|
+
}, [r]), /* @__PURE__ */ e(D, { open: d, onOpenChange: m, children: /* @__PURE__ */ t(k, { className: "min-w-[600px]", children: [
|
|
26
|
+
/* @__PURE__ */ e(T, { children: /* @__PURE__ */ t(E, { className: "flex items-center gap-2", children: [
|
|
27
|
+
/* @__PURE__ */ e(S, { fill: "var(--primary)" }),
|
|
28
|
+
/* @__PURE__ */ e("span", { className: "font-semibold text-xl", children: c })
|
|
29
|
+
] }) }),
|
|
30
|
+
/* @__PURE__ */ e("div", { className: "px-6 py-6 text-sm font-normal leading-5", children: p }),
|
|
31
|
+
/* @__PURE__ */ e("div", { className: "mx-6 shadow-sm rounded-lg", children: /* @__PURE__ */ e(
|
|
32
|
+
j,
|
|
33
|
+
{
|
|
34
|
+
value: y,
|
|
35
|
+
onChange: (a) => {
|
|
36
|
+
s(a.target.value), n && n(a.target.value);
|
|
37
|
+
},
|
|
38
|
+
rows: 2,
|
|
39
|
+
placeholder: "Type your question here..."
|
|
40
|
+
}
|
|
41
|
+
) }),
|
|
42
|
+
/* @__PURE__ */ e("div", { className: "px-6 pt-6 pb-0 flex-1", children: /* @__PURE__ */ e("div", { className: "rounded-[20px] overflow-hidden bg-[var(--primary)] min-h-[200px] relative", children: /* @__PURE__ */ e(
|
|
43
|
+
C,
|
|
44
|
+
{
|
|
45
|
+
value: x,
|
|
46
|
+
onChange: (a) => g(a ?? ""),
|
|
47
|
+
language: "python",
|
|
48
|
+
height: 200,
|
|
49
|
+
onCopy: h,
|
|
50
|
+
onLaunch: u
|
|
51
|
+
}
|
|
52
|
+
) }) }),
|
|
53
|
+
/* @__PURE__ */ t("div", { className: "flex items-center gap-3 px-6 pt-4 pb-6 rounded-bl-[20px] rounded-br-[20px]", children: [
|
|
54
|
+
/* @__PURE__ */ e(
|
|
55
|
+
I,
|
|
56
|
+
{
|
|
57
|
+
value: o,
|
|
58
|
+
onChange: (a) => v(a.target.value),
|
|
59
|
+
placeholder: "Ask us anything related to your work...",
|
|
60
|
+
onKeyDown: (a) => {
|
|
61
|
+
a.key === "Enter" && i(o);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
/* @__PURE__ */ t(b, { className: "min-w-[100px] flex items-center gap-[6px]", variant: "default", onClick: () => i(o), children: [
|
|
66
|
+
/* @__PURE__ */ e(N, {}),
|
|
67
|
+
"Send"
|
|
68
|
+
] })
|
|
69
|
+
] })
|
|
70
|
+
] }) });
|
|
71
|
+
};
|
|
72
|
+
export {
|
|
73
|
+
R as default
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=AssistantModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistantModal.js","sources":["../../../../src/components/composed/AssistantModal/AssistantModal.tsx"],"sourcesContent":["import { SendHorizontal } from \"lucide-react\";\nimport React, { useState } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CodeEditor } from \"@/components/ui/code-editor\";\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from \"@/components/ui/dialog\";\nimport { Input } from \"@/components/ui/input\";\nimport { TetraScienceIcon as TetrascienceIcon } from \"@/components/ui/tetrascience-icon\";\nimport { Textarea } from \"@/components/ui/textarea\";\n\nexport interface AssistantModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n title: string;\n prompt: string;\n initialCode?: string;\n userQuery?: string;\n onUserQueryChange?: (value: string) => void;\n onCopy: (code: string) => void;\n onLaunch: (code: string) => void;\n onSend: (input: string) => void;\n onCancel?: () => void;\n}\n\nconst AssistantModal: React.FC<AssistantModalProps> = ({\n open,\n onOpenChange,\n title,\n prompt,\n initialCode = \"\",\n userQuery = \"\",\n onUserQueryChange,\n onCopy,\n onLaunch,\n onSend,\n}) => {\n const [code, setCode] = useState<string>(initialCode);\n const [input, setInput] = useState<string>(\"\");\n const [localUserQuery, setLocalUserQuery] = useState<string>(userQuery);\n\n React.useEffect(() => {\n setLocalUserQuery(userQuery);\n }, [userQuery]);\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"min-w-[600px]\">\n <DialogHeader>\n <DialogTitle className=\"flex items-center gap-2\">\n <TetrascienceIcon fill=\"var(--primary)\" />\n <span className=\"font-semibold text-xl\">{title}</span>\n </DialogTitle>\n </DialogHeader>\n <div className=\"px-6 py-6 text-sm font-normal leading-5\">{prompt}</div>\n <div className=\"mx-6 shadow-sm rounded-lg\">\n <Textarea\n value={localUserQuery}\n onChange={(e) => {\n setLocalUserQuery(e.target.value);\n if (onUserQueryChange) onUserQueryChange(e.target.value);\n }}\n rows={2}\n placeholder=\"Type your question here...\"\n />\n </div>\n <div className=\"px-6 pt-6 pb-0 flex-1\">\n <div className=\"rounded-[20px] overflow-hidden bg-[var(--primary)] min-h-[200px] relative\">\n <CodeEditor\n value={code}\n onChange={(v) => setCode(v ?? \"\")}\n language=\"python\"\n\n height={200}\n onCopy={onCopy}\n onLaunch={onLaunch}\n />\n </div>\n </div>\n <div className=\"flex items-center gap-3 px-6 pt-4 pb-6 rounded-bl-[20px] rounded-br-[20px]\">\n <Input\n value={input}\n onChange={(e) => setInput(e.target.value)}\n placeholder=\"Ask us anything related to your work...\"\n onKeyDown={(e) => {\n if (e.key === \"Enter\") onSend(input);\n }}\n />\n <Button className=\"min-w-[100px] flex items-center gap-[6px]\" variant=\"default\" onClick={() => onSend(input)}>\n <SendHorizontal />\n Send\n </Button>\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default AssistantModal;\n"],"names":["AssistantModal","open","onOpenChange","title","prompt","initialCode","userQuery","onUserQueryChange","onCopy","onLaunch","onSend","code","setCode","useState","input","setInput","localUserQuery","setLocalUserQuery","React","Dialog","jsxs","DialogContent","jsx","DialogHeader","DialogTitle","TetrascienceIcon","Textarea","e","CodeEditor","v","Input","Button","SendHorizontal"],"mappings":";;;;;;;;;AAwBA,MAAMA,IAAgD,CAAC;AAAA,EACrD,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,WAAAC,IAAY;AAAA,EACZ,mBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAiBR,CAAW,GAC9C,CAACS,GAAOC,CAAQ,IAAIF,EAAiB,EAAE,GACvC,CAACG,GAAgBC,CAAiB,IAAIJ,EAAiBP,CAAS;AAEtEY,SAAAA,EAAM,UAAU,MAAM;AACpB,IAAAD,EAAkBX,CAAS;AAAA,EAC7B,GAAG,CAACA,CAAS,CAAC,qBAGXa,GAAA,EAAO,MAAAlB,GAAY,cAAAC,GAClB,UAAA,gBAAAkB,EAACC,GAAA,EAAc,WAAU,iBACrB,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAH,EAACI,GAAA,EAAY,WAAU,2BACrB,UAAA;AAAA,MAAA,gBAAAF,EAACG,GAAA,EAAiB,MAAK,iBAAA,CAAiB;AAAA,MACxC,gBAAAH,EAAC,QAAA,EAAK,WAAU,yBAAyB,UAAAnB,EAAA,CAAM;AAAA,IAAA,EAAA,CACjD,EAAA,CACF;AAAA,IACA,gBAAAmB,EAAC,OAAA,EAAI,WAAU,2CAA2C,UAAAlB,GAAO;AAAA,IACjE,gBAAAkB,EAAC,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAA;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,OAAOV;AAAA,QACP,UAAU,CAACW,MAAM;AACf,UAAAV,EAAkBU,EAAE,OAAO,KAAK,GAC5BpB,KAAmBA,EAAkBoB,EAAE,OAAO,KAAK;AAAA,QACzD;AAAA,QACA,MAAM;AAAA,QACN,aAAY;AAAA,MAAA;AAAA,IAAA,GAEhB;AAAA,sBACC,OAAA,EAAI,WAAU,yBACb,UAAA,gBAAAL,EAAC,OAAA,EAAI,WAAU,6EACb,UAAA,gBAAAA;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,OAAOjB;AAAA,QACP,UAAU,CAACkB,MAAMjB,EAAQiB,KAAK,EAAE;AAAA,QAChC,UAAS;AAAA,QAET,QAAQ;AAAA,QACR,QAAArB;AAAA,QACA,UAAAC;AAAA,MAAA;AAAA,IAAA,GAEJ,EAAA,CACF;AAAA,IACA,gBAAAW,EAAC,OAAA,EAAI,WAAU,8EACb,UAAA;AAAA,MAAA,gBAAAE;AAAA,QAACQ;AAAA,QAAA;AAAA,UACC,OAAOhB;AAAA,UACP,UAAU,CAACa,MAAMZ,EAASY,EAAE,OAAO,KAAK;AAAA,UACxC,aAAY;AAAA,UACZ,WAAW,CAACA,MAAM;AAChB,YAAIA,EAAE,QAAQ,WAASjB,EAAOI,CAAK;AAAA,UACrC;AAAA,QAAA;AAAA,MAAA;AAAA,MAEF,gBAAAM,EAACW,GAAA,EAAO,WAAU,6CAA4C,SAAQ,WAAU,SAAS,MAAMrB,EAAOI,CAAK,GACzG,UAAA;AAAA,QAAA,gBAAAQ,EAACU,GAAA,EAAe;AAAA,QAAE;AAAA,MAAA,EAAA,CAEpB;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,EAAA,CACJ,EAAA,CACF;AAEJ;"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),D=require("lucide-react"),n=require("react"),i=require("../../ui/button.cjs"),v=require("../../ui/code-editor.cjs"),t=require("../../ui/dialog.cjs"),E=({initialCode:o="",onCodeSave:c,language:x="python",buttonText:C="Edit Code",modalTitle:g="Edit Code",buttonProps:j,modalProps:p,disabled:f=!1})=>{const[m,l]=n.useState(!1),[s,r]=n.useState(o),d=s?s.split(`
|
|
2
|
+
`).length:0,u=s.length,b=n.useCallback(()=>{r(o),l(!0)},[o]),k=n.useCallback(()=>{c&&c(s),l(!1)},[c,s]),h=n.useCallback(()=>{l(!1)},[]),q=n.useCallback(a=>{r(a||"")},[]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center flex-row gap-4 flex-wrap w-full",children:[e.jsx("div",{className:"[&>button]:h-[38px]",children:e.jsxs(i.Button,{onClick:b,size:"sm",variant:"secondary",...j,disabled:f,children:[e.jsx(D.Pencil,{}),C]})}),e.jsxs("span",{className:"text-xs text-muted-foreground",title:`${d} lines, ${u} characters`,children:[d," lines / ",u," chars"]})]}),e.jsx(t.Dialog,{...p,open:m,onOpenChange:a=>{l(a),a||h()},children:e.jsxs(t.DialogContent,{className:"min-w-[80%]",children:[e.jsx(t.DialogHeader,{children:e.jsx(t.DialogTitle,{children:g})}),e.jsx(v.CodeEditor,{height:"400px",language:x,value:s,onChange:q,options:{minimap:{enabled:!1}}}),e.jsxs(t.DialogFooter,{children:[e.jsx(t.DialogClose,{asChild:!0,children:e.jsx(i.Button,{variant:"outline",onClick:h,children:"Close"})}),e.jsx(i.Button,{onClick:k,children:"Save changes"})]})]})})]})};module.exports=E;
|
|
3
|
+
//# sourceMappingURL=CodeScriptEditorButton.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeScriptEditorButton.cjs","sources":["../../../../src/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.tsx"],"sourcesContent":["import { Pencil } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CodeEditor } from \"@/components/ui/code-editor\";\nimport { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogClose } from \"@/components/ui/dialog\";\n\nexport interface CodeScriptEditorButtonProps {\n initialCode?: string;\n onCodeSave?: (newCode: string) => void;\n language?: string;\n buttonText?: string;\n modalTitle?: string;\n buttonProps?: React.ComponentProps<typeof Button>;\n modalProps?: Omit<React.ComponentProps<typeof Dialog>, \"open\" | \"defaultOpen\" | \"onOpenChange\">;\n disabled?: boolean;\n isEditMode?: boolean;\n}\n\n/**\n * Renders an 'Edit code' button that opens a modal with a Monaco code editor.\n */\nconst CodeScriptEditorButton = ({\n initialCode = \"\",\n onCodeSave,\n language = \"python\",\n buttonText = \"Edit Code\",\n modalTitle = \"Edit Code\",\n buttonProps,\n modalProps,\n disabled = false,\n}: CodeScriptEditorButtonProps) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [currentCode, setCurrentCode] = useState<string>(initialCode);\n\n const lineCount = currentCode ? currentCode.split(\"\\n\").length : 0;\n const charCount = currentCode.length;\n\n const handleOpenModal = useCallback(() => {\n setCurrentCode(initialCode);\n setIsModalOpen(true);\n }, [initialCode]); // Depend on initialCode\n\n const handleSave = useCallback(() => {\n if (onCodeSave) {\n onCodeSave(currentCode);\n }\n setIsModalOpen(false);\n }, [onCodeSave, currentCode]);\n\n const handleCancel = useCallback(() => {\n setIsModalOpen(false);\n }, []);\n\n const handleCodeChange = useCallback((value: string | undefined) => {\n setCurrentCode(value || \"\");\n }, []);\n\n return (\n <>\n <div className=\"flex items-center flex-row gap-4 flex-wrap w-full\">\n <div className=\"[&>button]:h-[38px]\">\n <Button onClick={handleOpenModal} size=\"sm\" variant=\"secondary\" {...buttonProps} disabled={disabled}>\n <Pencil />\n {buttonText}\n </Button>\n </div>\n <span className=\"text-xs text-muted-foreground\" title={`${lineCount} lines, ${charCount} characters`}>\n {lineCount} lines / {charCount} chars\n </span>\n </div>\n\n <Dialog\n {...modalProps}\n open={isModalOpen}\n onOpenChange={(open) => {\n setIsModalOpen(open);\n if (!open) {\n handleCancel();\n }\n }}\n >\n <DialogContent className=\"min-w-[80%]\">\n <DialogHeader>\n <DialogTitle>{modalTitle}</DialogTitle>\n </DialogHeader>\n <CodeEditor\n height=\"400px\"\n language={language}\n value={currentCode}\n onChange={handleCodeChange}\n options={{\n minimap: { enabled: false },\n }}\n />\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"outline\" onClick={handleCancel}>Close</Button>\n </DialogClose>\n <Button onClick={handleSave}>Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </>\n );\n};\n\nexport default CodeScriptEditorButton;\n"],"names":["CodeScriptEditorButton","initialCode","onCodeSave","language","buttonText","modalTitle","buttonProps","modalProps","disabled","isModalOpen","setIsModalOpen","useState","currentCode","setCurrentCode","lineCount","charCount","handleOpenModal","useCallback","handleSave","handleCancel","handleCodeChange","value","jsxs","Fragment","jsx","Button","Pencil","Dialog","open","DialogContent","DialogHeader","DialogTitle","CodeEditor","DialogFooter","DialogClose"],"mappings":"uMAsBMA,EAAyB,CAAC,CAC9B,YAAAC,EAAc,GACd,WAAAC,EACA,SAAAC,EAAW,SACX,WAAAC,EAAa,YACb,WAAAC,EAAa,YACb,YAAAC,EACA,WAAAC,EACA,SAAAC,EAAW,EACb,IAAmC,CACjC,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAAAA,SAAS,EAAK,EAC9C,CAACC,EAAaC,CAAc,EAAIF,EAAAA,SAAiBV,CAAW,EAE5Da,EAAYF,EAAcA,EAAY,MAAM;AAAA,CAAI,EAAE,OAAS,EAC3DG,EAAYH,EAAY,OAExBI,EAAkBC,EAAAA,YAAY,IAAM,CACxCJ,EAAeZ,CAAW,EAC1BS,EAAe,EAAI,CACrB,EAAG,CAACT,CAAW,CAAC,EAEViB,EAAaD,EAAAA,YAAY,IAAM,CAC/Bf,GACFA,EAAWU,CAAW,EAExBF,EAAe,EAAK,CACtB,EAAG,CAACR,EAAYU,CAAW,CAAC,EAEtBO,EAAeF,EAAAA,YAAY,IAAM,CACrCP,EAAe,EAAK,CACtB,EAAG,CAAA,CAAE,EAECU,EAAmBH,cAAaI,GAA8B,CAClER,EAAeQ,GAAS,EAAE,CAC5B,EAAG,CAAA,CAAE,EAEL,OACEC,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,oDACb,SAAA,CAAAE,EAAAA,IAAC,MAAA,CAAI,UAAU,sBACb,SAAAF,EAAAA,KAACG,EAAAA,OAAA,CAAO,QAAST,EAAiB,KAAK,KAAK,QAAQ,YAAa,GAAGV,EAAa,SAAAE,EAC/E,SAAA,CAAAgB,EAAAA,IAACE,EAAAA,OAAA,EAAO,EACPtB,CAAA,CAAA,CACH,CAAA,CACF,EACAkB,EAAAA,KAAC,QAAK,UAAU,gCAAgC,MAAO,GAAGR,CAAS,WAAWC,CAAS,cACpF,SAAA,CAAAD,EAAU,YAAUC,EAAU,QAAA,CAAA,CACjC,CAAA,EACF,EAEAS,EAAAA,IAACG,EAAAA,OAAA,CACE,GAAGpB,EACJ,KAAME,EACN,aAAemB,GAAS,CACtBlB,EAAekB,CAAI,EACdA,GACHT,EAAA,CAEJ,EAEA,SAAAG,EAAAA,KAACO,EAAAA,cAAA,CAAc,UAAU,cACvB,SAAA,CAAAL,MAACM,EAAAA,aAAA,CACC,SAAAN,EAAAA,IAACO,EAAAA,YAAA,CAAa,SAAA1B,CAAA,CAAW,EAC3B,EACAmB,EAAAA,IAACQ,EAAAA,WAAA,CACC,OAAO,QACP,SAAA7B,EACA,MAAOS,EACP,SAAUQ,EACV,QAAS,CACP,QAAS,CAAE,QAAS,EAAA,CAAM,CAC5B,CAAA,SAEDa,EAAAA,aAAA,CACC,SAAA,CAAAT,EAAAA,IAACU,EAAAA,YAAA,CAAY,QAAO,GAClB,SAAAV,EAAAA,IAACC,EAAAA,OAAA,CAAO,QAAQ,UAAU,QAASN,EAAc,SAAA,OAAA,CAAK,EACxD,EACAK,EAAAA,IAACC,EAAAA,OAAA,CAAO,QAASP,EAAY,SAAA,cAAA,CAAY,CAAA,CAAA,CAC3C,CAAA,CAAA,CACF,CAAA,CAAA,CACF,EACF,CAEJ"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsxs as t, Fragment as N, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Pencil as O } from "lucide-react";
|
|
3
|
+
import { useState as p, useCallback as a } from "react";
|
|
4
|
+
import { Button as s } from "../../ui/button.js";
|
|
5
|
+
import { CodeEditor as b } from "../../ui/code-editor.js";
|
|
6
|
+
import { Dialog as M, DialogContent as j, DialogHeader as y, DialogTitle as B, DialogFooter as F, DialogClose as S } from "../../ui/dialog.js";
|
|
7
|
+
const q = ({
|
|
8
|
+
initialCode: r = "",
|
|
9
|
+
onCodeSave: i,
|
|
10
|
+
language: f = "python",
|
|
11
|
+
buttonText: u = "Edit Code",
|
|
12
|
+
modalTitle: C = "Edit Code",
|
|
13
|
+
buttonProps: g,
|
|
14
|
+
modalProps: x,
|
|
15
|
+
disabled: D = !1
|
|
16
|
+
}) => {
|
|
17
|
+
const [v, l] = p(!1), [n, c] = p(r), d = n ? n.split(`
|
|
18
|
+
`).length : 0, h = n.length, k = a(() => {
|
|
19
|
+
c(r), l(!0);
|
|
20
|
+
}, [r]), w = a(() => {
|
|
21
|
+
i && i(n), l(!1);
|
|
22
|
+
}, [i, n]), m = a(() => {
|
|
23
|
+
l(!1);
|
|
24
|
+
}, []), E = a((o) => {
|
|
25
|
+
c(o || "");
|
|
26
|
+
}, []);
|
|
27
|
+
return /* @__PURE__ */ t(N, { children: [
|
|
28
|
+
/* @__PURE__ */ t("div", { className: "flex items-center flex-row gap-4 flex-wrap w-full", children: [
|
|
29
|
+
/* @__PURE__ */ e("div", { className: "[&>button]:h-[38px]", children: /* @__PURE__ */ t(s, { onClick: k, size: "sm", variant: "secondary", ...g, disabled: D, children: [
|
|
30
|
+
/* @__PURE__ */ e(O, {}),
|
|
31
|
+
u
|
|
32
|
+
] }) }),
|
|
33
|
+
/* @__PURE__ */ t("span", { className: "text-xs text-muted-foreground", title: `${d} lines, ${h} characters`, children: [
|
|
34
|
+
d,
|
|
35
|
+
" lines / ",
|
|
36
|
+
h,
|
|
37
|
+
" chars"
|
|
38
|
+
] })
|
|
39
|
+
] }),
|
|
40
|
+
/* @__PURE__ */ e(
|
|
41
|
+
M,
|
|
42
|
+
{
|
|
43
|
+
...x,
|
|
44
|
+
open: v,
|
|
45
|
+
onOpenChange: (o) => {
|
|
46
|
+
l(o), o || m();
|
|
47
|
+
},
|
|
48
|
+
children: /* @__PURE__ */ t(j, { className: "min-w-[80%]", children: [
|
|
49
|
+
/* @__PURE__ */ e(y, { children: /* @__PURE__ */ e(B, { children: C }) }),
|
|
50
|
+
/* @__PURE__ */ e(
|
|
51
|
+
b,
|
|
52
|
+
{
|
|
53
|
+
height: "400px",
|
|
54
|
+
language: f,
|
|
55
|
+
value: n,
|
|
56
|
+
onChange: E,
|
|
57
|
+
options: {
|
|
58
|
+
minimap: { enabled: !1 }
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
/* @__PURE__ */ t(F, { children: [
|
|
63
|
+
/* @__PURE__ */ e(S, { asChild: !0, children: /* @__PURE__ */ e(s, { variant: "outline", onClick: m, children: "Close" }) }),
|
|
64
|
+
/* @__PURE__ */ e(s, { onClick: w, children: "Save changes" })
|
|
65
|
+
] })
|
|
66
|
+
] })
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
] });
|
|
70
|
+
};
|
|
71
|
+
export {
|
|
72
|
+
q as default
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=CodeScriptEditorButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeScriptEditorButton.js","sources":["../../../../src/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.tsx"],"sourcesContent":["import { Pencil } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CodeEditor } from \"@/components/ui/code-editor\";\nimport { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogClose } from \"@/components/ui/dialog\";\n\nexport interface CodeScriptEditorButtonProps {\n initialCode?: string;\n onCodeSave?: (newCode: string) => void;\n language?: string;\n buttonText?: string;\n modalTitle?: string;\n buttonProps?: React.ComponentProps<typeof Button>;\n modalProps?: Omit<React.ComponentProps<typeof Dialog>, \"open\" | \"defaultOpen\" | \"onOpenChange\">;\n disabled?: boolean;\n isEditMode?: boolean;\n}\n\n/**\n * Renders an 'Edit code' button that opens a modal with a Monaco code editor.\n */\nconst CodeScriptEditorButton = ({\n initialCode = \"\",\n onCodeSave,\n language = \"python\",\n buttonText = \"Edit Code\",\n modalTitle = \"Edit Code\",\n buttonProps,\n modalProps,\n disabled = false,\n}: CodeScriptEditorButtonProps) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [currentCode, setCurrentCode] = useState<string>(initialCode);\n\n const lineCount = currentCode ? currentCode.split(\"\\n\").length : 0;\n const charCount = currentCode.length;\n\n const handleOpenModal = useCallback(() => {\n setCurrentCode(initialCode);\n setIsModalOpen(true);\n }, [initialCode]); // Depend on initialCode\n\n const handleSave = useCallback(() => {\n if (onCodeSave) {\n onCodeSave(currentCode);\n }\n setIsModalOpen(false);\n }, [onCodeSave, currentCode]);\n\n const handleCancel = useCallback(() => {\n setIsModalOpen(false);\n }, []);\n\n const handleCodeChange = useCallback((value: string | undefined) => {\n setCurrentCode(value || \"\");\n }, []);\n\n return (\n <>\n <div className=\"flex items-center flex-row gap-4 flex-wrap w-full\">\n <div className=\"[&>button]:h-[38px]\">\n <Button onClick={handleOpenModal} size=\"sm\" variant=\"secondary\" {...buttonProps} disabled={disabled}>\n <Pencil />\n {buttonText}\n </Button>\n </div>\n <span className=\"text-xs text-muted-foreground\" title={`${lineCount} lines, ${charCount} characters`}>\n {lineCount} lines / {charCount} chars\n </span>\n </div>\n\n <Dialog\n {...modalProps}\n open={isModalOpen}\n onOpenChange={(open) => {\n setIsModalOpen(open);\n if (!open) {\n handleCancel();\n }\n }}\n >\n <DialogContent className=\"min-w-[80%]\">\n <DialogHeader>\n <DialogTitle>{modalTitle}</DialogTitle>\n </DialogHeader>\n <CodeEditor\n height=\"400px\"\n language={language}\n value={currentCode}\n onChange={handleCodeChange}\n options={{\n minimap: { enabled: false },\n }}\n />\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"outline\" onClick={handleCancel}>Close</Button>\n </DialogClose>\n <Button onClick={handleSave}>Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </>\n );\n};\n\nexport default CodeScriptEditorButton;\n"],"names":["CodeScriptEditorButton","initialCode","onCodeSave","language","buttonText","modalTitle","buttonProps","modalProps","disabled","isModalOpen","setIsModalOpen","useState","currentCode","setCurrentCode","lineCount","charCount","handleOpenModal","useCallback","handleSave","handleCancel","handleCodeChange","value","jsxs","Fragment","jsx","Button","Pencil","Dialog","open","DialogContent","DialogHeader","DialogTitle","CodeEditor","DialogFooter","DialogClose"],"mappings":";;;;;;AAsBA,MAAMA,IAAyB,CAAC;AAAA,EAC9B,aAAAC,IAAc;AAAA,EACd,YAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC,IAAW;AACb,MAAmC;AACjC,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAaC,CAAc,IAAIF,EAAiBV,CAAW,GAE5Da,IAAYF,IAAcA,EAAY,MAAM;AAAA,CAAI,EAAE,SAAS,GAC3DG,IAAYH,EAAY,QAExBI,IAAkBC,EAAY,MAAM;AACxC,IAAAJ,EAAeZ,CAAW,GAC1BS,EAAe,EAAI;AAAA,EACrB,GAAG,CAACT,CAAW,CAAC,GAEViB,IAAaD,EAAY,MAAM;AACnC,IAAIf,KACFA,EAAWU,CAAW,GAExBF,EAAe,EAAK;AAAA,EACtB,GAAG,CAACR,GAAYU,CAAW,CAAC,GAEtBO,IAAeF,EAAY,MAAM;AACrC,IAAAP,EAAe,EAAK;AAAA,EACtB,GAAG,CAAA,CAAE,GAECU,IAAmBH,EAAY,CAACI,MAA8B;AAClE,IAAAR,EAAeQ,KAAS,EAAE;AAAA,EAC5B,GAAG,CAAA,CAAE;AAEL,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,qDACb,UAAA;AAAA,MAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,uBACb,UAAA,gBAAAF,EAACG,GAAA,EAAO,SAAST,GAAiB,MAAK,MAAK,SAAQ,aAAa,GAAGV,GAAa,UAAAE,GAC/E,UAAA;AAAA,QAAA,gBAAAgB,EAACE,GAAA,EAAO;AAAA,QACPtB;AAAA,MAAA,EAAA,CACH,EAAA,CACF;AAAA,MACA,gBAAAkB,EAAC,UAAK,WAAU,iCAAgC,OAAO,GAAGR,CAAS,WAAWC,CAAS,eACpF,UAAA;AAAA,QAAAD;AAAA,QAAU;AAAA,QAAUC;AAAA,QAAU;AAAA,MAAA,EAAA,CACjC;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAS;AAAA,MAACG;AAAA,MAAA;AAAA,QACE,GAAGpB;AAAA,QACJ,MAAME;AAAA,QACN,cAAc,CAACmB,MAAS;AACtB,UAAAlB,EAAekB,CAAI,GACdA,KACHT,EAAA;AAAA,QAEJ;AAAA,QAEA,UAAA,gBAAAG,EAACO,GAAA,EAAc,WAAU,eACvB,UAAA;AAAA,UAAA,gBAAAL,EAACM,GAAA,EACC,UAAA,gBAAAN,EAACO,GAAA,EAAa,UAAA1B,EAAA,CAAW,GAC3B;AAAA,UACA,gBAAAmB;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,QAAO;AAAA,cACP,UAAA7B;AAAA,cACA,OAAOS;AAAA,cACP,UAAUQ;AAAA,cACV,SAAS;AAAA,gBACP,SAAS,EAAE,SAAS,GAAA;AAAA,cAAM;AAAA,YAC5B;AAAA,UAAA;AAAA,4BAEDa,GAAA,EACC,UAAA;AAAA,YAAA,gBAAAT,EAACU,GAAA,EAAY,SAAO,IAClB,UAAA,gBAAAV,EAACC,GAAA,EAAO,SAAQ,WAAU,SAASN,GAAc,UAAA,QAAA,CAAK,GACxD;AAAA,YACA,gBAAAK,EAACC,GAAA,EAAO,SAASP,GAAY,UAAA,eAAA,CAAY;AAAA,UAAA,EAAA,CAC3C;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),i=require("react"),o=require("sonner"),j=require("../../ui/button.cjs"),S=require("../../ui/code-editor.cjs"),C=require("../../ui/label.cjs"),s=require("../../ui/select.cjs"),b=require("../../ui/separator.cjs"),y=require("../../ui/switch.cjs"),w=3e3,q=`protocolSchema: v3
|
|
2
|
+
name: v3
|
|
3
|
+
description: No description
|
|
4
|
+
config: {}
|
|
5
|
+
steps: []`,L=({initialCode:d=q,onDeploy:n,versions:u=["v0.0.7","v0.0.6","v0.0.5"],currentVersion:l="v0.0.7"})=>{const[h,p]=i.useState(d),[c,x]=i.useState(!0),[a,r]=i.useState(!1),m=t=>{t!==void 0&&p(t)},g=t=>{navigator.clipboard.writeText(t)},v=t=>{console.log("Launching code:",t)},f=()=>{r(!0),o.toast.info("Building Protocol: Status=IN_PROGRESS, Phase=FINALIZING"),setTimeout(()=>{Math.random()>.3?o.toast.success(`Pipeline visual-pipeline-builder-protocol-${l}-pipeline deployed successfully! Deployment complete`):o.toast.error(`Failed to deploy pipeline visual-pipeline-builder-protocol-${l}-pipeline. Please try again.`),r(!1),n&&n()},w)};return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h1",{className:"text-default text-lg font-semibold leading-7 m-0",children:"Launch"}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(C.Label,{htmlFor:"overwrite-switch",children:"Overwrite Mode"}),e.jsx(y.Switch,{checked:c,onCheckedChange:x,disabled:a}),e.jsx(b.Separator,{orientation:"vertical"}),e.jsx("div",{className:"flex items-center",children:e.jsxs(s.Select,{defaultValue:"workspace",children:[e.jsx(s.SelectTrigger,{size:"default",children:e.jsx(s.SelectValue,{placeholder:"Choose a destination"})}),e.jsx(s.SelectContent,{children:u.map(t=>e.jsx(s.SelectItem,{value:t,children:t},t))})]})}),e.jsx(j.Button,{onClick:f,disabled:a,children:"Deploy"})]})]}),e.jsx(S.CodeEditor,{value:h,onChange:m,language:"yaml",width:"100%",onCopy:g,onLaunch:v,disabled:!c})]})};module.exports=L;
|
|
6
|
+
//# sourceMappingURL=LaunchContent.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LaunchContent.cjs","sources":["../../../../src/components/composed/LaunchContent/LaunchContent.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { toast } from \"sonner\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CodeEditor } from \"@/components/ui/code-editor\";\nimport { Label } from \"@/components/ui/label\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Switch } from \"@/components/ui/switch\";\n\n/** Deploy simulation delay in milliseconds */\nconst DEPLOY_DELAY_MS = 3000;\n\nexport interface LaunchContentProps {\n initialCode?: string;\n onDeploy?: () => void;\n versions?: string[];\n currentVersion?: string;\n onVersionChange?: (version: string) => void;\n}\n\nconst defaultInitialCode = `protocolSchema: v3\nname: v3\ndescription: No description\nconfig: {}\nsteps: []`;\n\nconst LaunchContent: React.FC<LaunchContentProps> = ({\n initialCode = defaultInitialCode,\n onDeploy,\n versions = [\"v0.0.7\", \"v0.0.6\", \"v0.0.5\"],\n currentVersion = \"v0.0.7\",\n}) => {\n const [code, setCode] = useState(initialCode);\n const [overwriteMode, setOverwriteMode] = useState(true);\n const [isDeploying, setIsDeploying] = useState(false);\n\n const handleCodeChange = (value: string | undefined) => {\n if (value !== undefined) {\n setCode(value);\n }\n };\n\n const handleCopy = (code: string) => {\n navigator.clipboard.writeText(code);\n };\n\n const handleLaunch = (code: string) => {\n console.log(\"Launching code:\", code);\n };\n\n const handleDeploy = () => {\n setIsDeploying(true);\n toast.info(\"Building Protocol: Status=IN_PROGRESS, Phase=FINALIZING\");\n\n setTimeout(() => {\n const isSuccess = Math.random() > 0.3;\n\n if (isSuccess) {\n toast.success(\n `Pipeline visual-pipeline-builder-protocol-${currentVersion}-pipeline deployed successfully! Deployment complete`\n );\n } else {\n toast.error(\n `Failed to deploy pipeline visual-pipeline-builder-protocol-${currentVersion}-pipeline. Please try again.`\n );\n }\n\n setIsDeploying(false);\n\n if (onDeploy) onDeploy();\n }, DEPLOY_DELAY_MS);\n };\n\n return (\n <div>\n <div className=\"flex items-center justify-between mb-4\">\n <h1 className=\"text-default text-lg font-semibold leading-7 m-0\">Launch</h1>\n <div className=\"flex items-center gap-4\">\n <Label htmlFor=\"overwrite-switch\">Overwrite Mode</Label>\n <Switch checked={overwriteMode} onCheckedChange={setOverwriteMode} disabled={isDeploying} />\n\n <Separator orientation=\"vertical\" />\n <div className=\"flex items-center\">\n <Select defaultValue=\"workspace\">\n <SelectTrigger size=\"default\">\n <SelectValue placeholder=\"Choose a destination\" />\n </SelectTrigger>\n <SelectContent>\n {versions.map((v) => (<SelectItem key={v} value={v}>{v}</SelectItem>))}\n </SelectContent>\n </Select>\n </div>\n <Button onClick={handleDeploy} disabled={isDeploying}>\n Deploy\n </Button>\n </div>\n </div>\n\n <CodeEditor\n value={code}\n onChange={handleCodeChange}\n language=\"yaml\"\n width=\"100%\"\n onCopy={handleCopy}\n onLaunch={handleLaunch}\n disabled={!overwriteMode}\n />\n </div>\n );\n};\n\nexport default LaunchContent;\n"],"names":["DEPLOY_DELAY_MS","defaultInitialCode","LaunchContent","initialCode","onDeploy","versions","currentVersion","code","setCode","useState","overwriteMode","setOverwriteMode","isDeploying","setIsDeploying","handleCodeChange","value","handleCopy","handleLaunch","handleDeploy","toast","jsxs","jsx","Label","Switch","Separator","Select","SelectTrigger","SelectValue","SelectContent","v","SelectItem","Button","CodeEditor"],"mappings":"sSAWMA,EAAkB,IAUlBC,EAAqB;AAAA;AAAA;AAAA;AAAA,WAMrBC,EAA8C,CAAC,CACnD,YAAAC,EAAcF,EACd,SAAAG,EACA,SAAAC,EAAW,CAAC,SAAU,SAAU,QAAQ,EACxC,eAAAC,EAAiB,QACnB,IAAM,CACJ,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAAA,SAASN,CAAW,EACtC,CAACO,EAAeC,CAAgB,EAAIF,EAAAA,SAAS,EAAI,EACjD,CAACG,EAAaC,CAAc,EAAIJ,EAAAA,SAAS,EAAK,EAE9CK,EAAoBC,GAA8B,CAClDA,IAAU,QACZP,EAAQO,CAAK,CAEjB,EAEMC,EAAcT,GAAiB,CACnC,UAAU,UAAU,UAAUA,CAAI,CACpC,EAEMU,EAAgBV,GAAiB,CACrC,QAAQ,IAAI,kBAAmBA,CAAI,CACrC,EAEMW,EAAe,IAAM,CACzBL,EAAe,EAAI,EACnBM,EAAAA,MAAM,KAAK,yDAAyD,EAEpE,WAAW,IAAM,CACG,KAAK,OAAA,EAAW,GAGhCA,EAAAA,MAAM,QACJ,6CAA6Cb,CAAc,sDAAA,EAG7Da,EAAAA,MAAM,MACJ,8DAA8Db,CAAc,8BAAA,EAIhFO,EAAe,EAAK,EAEhBT,GAAUA,EAAA,CAChB,EAAGJ,CAAe,CACpB,EAEA,cACG,MAAA,CACC,SAAA,CAAAoB,EAAAA,KAAC,MAAA,CAAI,UAAU,yCACb,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,mDAAmD,SAAA,SAAM,EACvED,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAC,EAAAA,IAACC,EAAAA,MAAA,CAAM,QAAQ,mBAAmB,SAAA,iBAAc,QAC/CC,EAAAA,OAAA,CAAO,QAASb,EAAe,gBAAiBC,EAAkB,SAAUC,EAAa,EAE1FS,EAAAA,IAACG,EAAAA,UAAA,CAAU,YAAY,UAAA,CAAW,QACjC,MAAA,CAAI,UAAU,oBACb,SAAAJ,EAAAA,KAACK,SAAA,CAAO,aAAa,YACnB,SAAA,CAAAJ,EAAAA,IAACK,EAAAA,eAAc,KAAK,UAClB,eAACC,EAAAA,YAAA,CAAY,YAAY,uBAAuB,CAAA,CAClD,EACAN,EAAAA,IAACO,EAAAA,cAAA,CACE,SAAAvB,EAAS,IAAKwB,GAAOR,EAAAA,IAACS,EAAAA,WAAA,CAAmB,MAAOD,EAAI,SAAAA,CAAA,EAAdA,CAAgB,CAAc,CAAA,CACvE,CAAA,CAAA,CACF,CAAA,CACF,QACCE,EAAAA,OAAA,CAAO,QAASb,EAAc,SAAUN,EAAa,SAAA,QAAA,CAEtD,CAAA,CAAA,CACF,CAAA,EACF,EAEAS,EAAAA,IAACW,EAAAA,WAAA,CACC,MAAOzB,EACP,SAAUO,EACV,SAAS,OACT,MAAM,OACN,OAAQE,EACR,SAAUC,EACV,SAAU,CAACP,CAAA,CAAA,CACb,EACF,CAEJ"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsxs as t, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useState as i } from "react";
|
|
3
|
+
import { toast as l } from "sonner";
|
|
4
|
+
import { Button as C } from "../../ui/button.js";
|
|
5
|
+
import { CodeEditor as y } from "../../ui/code-editor.js";
|
|
6
|
+
import { Label as b } from "../../ui/label.js";
|
|
7
|
+
import { Select as w, SelectTrigger as x, SelectValue as L, SelectContent as N, SelectItem as I } from "../../ui/select.js";
|
|
8
|
+
import { Separator as D } from "../../ui/separator.js";
|
|
9
|
+
import { Switch as P } from "../../ui/switch.js";
|
|
10
|
+
const M = 3e3, k = `protocolSchema: v3
|
|
11
|
+
name: v3
|
|
12
|
+
description: No description
|
|
13
|
+
config: {}
|
|
14
|
+
steps: []`, R = ({
|
|
15
|
+
initialCode: d = k,
|
|
16
|
+
onDeploy: n,
|
|
17
|
+
versions: p = ["v0.0.7", "v0.0.6", "v0.0.5"],
|
|
18
|
+
currentVersion: c = "v0.0.7"
|
|
19
|
+
}) => {
|
|
20
|
+
const [m, h] = i(d), [r, u] = i(!0), [s, a] = i(!1), f = (e) => {
|
|
21
|
+
e !== void 0 && h(e);
|
|
22
|
+
}, g = (e) => {
|
|
23
|
+
navigator.clipboard.writeText(e);
|
|
24
|
+
}, v = (e) => {
|
|
25
|
+
console.log("Launching code:", e);
|
|
26
|
+
}, S = () => {
|
|
27
|
+
a(!0), l.info("Building Protocol: Status=IN_PROGRESS, Phase=FINALIZING"), setTimeout(() => {
|
|
28
|
+
Math.random() > 0.3 ? l.success(
|
|
29
|
+
`Pipeline visual-pipeline-builder-protocol-${c}-pipeline deployed successfully! Deployment complete`
|
|
30
|
+
) : l.error(
|
|
31
|
+
`Failed to deploy pipeline visual-pipeline-builder-protocol-${c}-pipeline. Please try again.`
|
|
32
|
+
), a(!1), n && n();
|
|
33
|
+
}, M);
|
|
34
|
+
};
|
|
35
|
+
return /* @__PURE__ */ t("div", { children: [
|
|
36
|
+
/* @__PURE__ */ t("div", { className: "flex items-center justify-between mb-4", children: [
|
|
37
|
+
/* @__PURE__ */ o("h1", { className: "text-default text-lg font-semibold leading-7 m-0", children: "Launch" }),
|
|
38
|
+
/* @__PURE__ */ t("div", { className: "flex items-center gap-4", children: [
|
|
39
|
+
/* @__PURE__ */ o(b, { htmlFor: "overwrite-switch", children: "Overwrite Mode" }),
|
|
40
|
+
/* @__PURE__ */ o(P, { checked: r, onCheckedChange: u, disabled: s }),
|
|
41
|
+
/* @__PURE__ */ o(D, { orientation: "vertical" }),
|
|
42
|
+
/* @__PURE__ */ o("div", { className: "flex items-center", children: /* @__PURE__ */ t(w, { defaultValue: "workspace", children: [
|
|
43
|
+
/* @__PURE__ */ o(x, { size: "default", children: /* @__PURE__ */ o(L, { placeholder: "Choose a destination" }) }),
|
|
44
|
+
/* @__PURE__ */ o(N, { children: p.map((e) => /* @__PURE__ */ o(I, { value: e, children: e }, e)) })
|
|
45
|
+
] }) }),
|
|
46
|
+
/* @__PURE__ */ o(C, { onClick: S, disabled: s, children: "Deploy" })
|
|
47
|
+
] })
|
|
48
|
+
] }),
|
|
49
|
+
/* @__PURE__ */ o(
|
|
50
|
+
y,
|
|
51
|
+
{
|
|
52
|
+
value: m,
|
|
53
|
+
onChange: f,
|
|
54
|
+
language: "yaml",
|
|
55
|
+
width: "100%",
|
|
56
|
+
onCopy: g,
|
|
57
|
+
onLaunch: v,
|
|
58
|
+
disabled: !r
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
] });
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
R as default
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=LaunchContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LaunchContent.js","sources":["../../../../src/components/composed/LaunchContent/LaunchContent.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { toast } from \"sonner\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CodeEditor } from \"@/components/ui/code-editor\";\nimport { Label } from \"@/components/ui/label\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Switch } from \"@/components/ui/switch\";\n\n/** Deploy simulation delay in milliseconds */\nconst DEPLOY_DELAY_MS = 3000;\n\nexport interface LaunchContentProps {\n initialCode?: string;\n onDeploy?: () => void;\n versions?: string[];\n currentVersion?: string;\n onVersionChange?: (version: string) => void;\n}\n\nconst defaultInitialCode = `protocolSchema: v3\nname: v3\ndescription: No description\nconfig: {}\nsteps: []`;\n\nconst LaunchContent: React.FC<LaunchContentProps> = ({\n initialCode = defaultInitialCode,\n onDeploy,\n versions = [\"v0.0.7\", \"v0.0.6\", \"v0.0.5\"],\n currentVersion = \"v0.0.7\",\n}) => {\n const [code, setCode] = useState(initialCode);\n const [overwriteMode, setOverwriteMode] = useState(true);\n const [isDeploying, setIsDeploying] = useState(false);\n\n const handleCodeChange = (value: string | undefined) => {\n if (value !== undefined) {\n setCode(value);\n }\n };\n\n const handleCopy = (code: string) => {\n navigator.clipboard.writeText(code);\n };\n\n const handleLaunch = (code: string) => {\n console.log(\"Launching code:\", code);\n };\n\n const handleDeploy = () => {\n setIsDeploying(true);\n toast.info(\"Building Protocol: Status=IN_PROGRESS, Phase=FINALIZING\");\n\n setTimeout(() => {\n const isSuccess = Math.random() > 0.3;\n\n if (isSuccess) {\n toast.success(\n `Pipeline visual-pipeline-builder-protocol-${currentVersion}-pipeline deployed successfully! Deployment complete`\n );\n } else {\n toast.error(\n `Failed to deploy pipeline visual-pipeline-builder-protocol-${currentVersion}-pipeline. Please try again.`\n );\n }\n\n setIsDeploying(false);\n\n if (onDeploy) onDeploy();\n }, DEPLOY_DELAY_MS);\n };\n\n return (\n <div>\n <div className=\"flex items-center justify-between mb-4\">\n <h1 className=\"text-default text-lg font-semibold leading-7 m-0\">Launch</h1>\n <div className=\"flex items-center gap-4\">\n <Label htmlFor=\"overwrite-switch\">Overwrite Mode</Label>\n <Switch checked={overwriteMode} onCheckedChange={setOverwriteMode} disabled={isDeploying} />\n\n <Separator orientation=\"vertical\" />\n <div className=\"flex items-center\">\n <Select defaultValue=\"workspace\">\n <SelectTrigger size=\"default\">\n <SelectValue placeholder=\"Choose a destination\" />\n </SelectTrigger>\n <SelectContent>\n {versions.map((v) => (<SelectItem key={v} value={v}>{v}</SelectItem>))}\n </SelectContent>\n </Select>\n </div>\n <Button onClick={handleDeploy} disabled={isDeploying}>\n Deploy\n </Button>\n </div>\n </div>\n\n <CodeEditor\n value={code}\n onChange={handleCodeChange}\n language=\"yaml\"\n width=\"100%\"\n onCopy={handleCopy}\n onLaunch={handleLaunch}\n disabled={!overwriteMode}\n />\n </div>\n );\n};\n\nexport default LaunchContent;\n"],"names":["DEPLOY_DELAY_MS","defaultInitialCode","LaunchContent","initialCode","onDeploy","versions","currentVersion","code","setCode","useState","overwriteMode","setOverwriteMode","isDeploying","setIsDeploying","handleCodeChange","value","handleCopy","handleLaunch","handleDeploy","toast","jsxs","jsx","Label","Switch","Separator","Select","SelectTrigger","SelectValue","SelectContent","v","SelectItem","Button","CodeEditor"],"mappings":";;;;;;;;;AAWA,MAAMA,IAAkB,KAUlBC,IAAqB;AAAA;AAAA;AAAA;AAAA,YAMrBC,IAA8C,CAAC;AAAA,EACnD,aAAAC,IAAcF;AAAA,EACd,UAAAG;AAAA,EACA,UAAAC,IAAW,CAAC,UAAU,UAAU,QAAQ;AAAA,EACxC,gBAAAC,IAAiB;AACnB,MAAM;AACJ,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAASN,CAAW,GACtC,CAACO,GAAeC,CAAgB,IAAIF,EAAS,EAAI,GACjD,CAACG,GAAaC,CAAc,IAAIJ,EAAS,EAAK,GAE9CK,IAAmB,CAACC,MAA8B;AACtD,IAAIA,MAAU,UACZP,EAAQO,CAAK;AAAA,EAEjB,GAEMC,IAAa,CAACT,MAAiB;AACnC,cAAU,UAAU,UAAUA,CAAI;AAAA,EACpC,GAEMU,IAAe,CAACV,MAAiB;AACrC,YAAQ,IAAI,mBAAmBA,CAAI;AAAA,EACrC,GAEMW,IAAe,MAAM;AACzB,IAAAL,EAAe,EAAI,GACnBM,EAAM,KAAK,yDAAyD,GAEpE,WAAW,MAAM;AAGf,MAFkB,KAAK,OAAA,IAAW,MAGhCA,EAAM;AAAA,QACJ,6CAA6Cb,CAAc;AAAA,MAAA,IAG7Da,EAAM;AAAA,QACJ,8DAA8Db,CAAc;AAAA,MAAA,GAIhFO,EAAe,EAAK,GAEhBT,KAAUA,EAAA;AAAA,IAChB,GAAGJ,CAAe;AAAA,EACpB;AAEA,2BACG,OAAA,EACC,UAAA;AAAA,IAAA,gBAAAoB,EAAC,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,MAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,oDAAmD,UAAA,UAAM;AAAA,MACvE,gBAAAD,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAA,EAAM,SAAQ,oBAAmB,UAAA,kBAAc;AAAA,0BAC/CC,GAAA,EAAO,SAASb,GAAe,iBAAiBC,GAAkB,UAAUC,GAAa;AAAA,QAE1F,gBAAAS,EAACG,GAAA,EAAU,aAAY,WAAA,CAAW;AAAA,0BACjC,OAAA,EAAI,WAAU,qBACb,UAAA,gBAAAJ,EAACK,GAAA,EAAO,cAAa,aACnB,UAAA;AAAA,UAAA,gBAAAJ,EAACK,KAAc,MAAK,WAClB,4BAACC,GAAA,EAAY,aAAY,wBAAuB,EAAA,CAClD;AAAA,UACA,gBAAAN,EAACO,GAAA,EACE,UAAAvB,EAAS,IAAI,CAACwB,MAAO,gBAAAR,EAACS,GAAA,EAAmB,OAAOD,GAAI,UAAAA,EAAA,GAAdA,CAAgB,CAAc,EAAA,CACvE;AAAA,QAAA,EAAA,CACF,EAAA,CACF;AAAA,0BACCE,GAAA,EAAO,SAASb,GAAc,UAAUN,GAAa,UAAA,SAAA,CAEtD;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAS;AAAA,MAACW;AAAA,MAAA;AAAA,QACC,OAAOzB;AAAA,QACP,UAAUO;AAAA,QACV,UAAS;AAAA,QACT,OAAM;AAAA,QACN,QAAQE;AAAA,QACR,UAAUC;AAAA,QACV,UAAU,CAACP;AAAA,MAAA;AAAA,IAAA;AAAA,EACb,GACF;AAEJ;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),i=require("sonner"),v=require("../../ui/button.cjs"),S=require("../../ui/code-editor.cjs"),g=require("../../ui/label.cjs"),s=require("../../ui/select.cjs"),x=require("../../ui/separator.cjs"),j=require("../../ui/switch.cjs"),y=3e3,C=`protocolSchema: v3
|
|
2
|
+
name: v3
|
|
3
|
+
description: No description
|
|
4
|
+
config: {}
|
|
5
|
+
steps: []`,b=()=>{const c=["v0.0.7","v0.0.6","v0.0.5"],[u,d]=o.useState(C),[n,h]=o.useState(c[0]),[l,p]=o.useState(!0),[r,a]=o.useState(!1),m=()=>{a(!0),i.toast.info("Building Protocol: Status=IN_PROGRESS, Phase=FINALIZING"),setTimeout(()=>{Math.random()>.3?i.toast.success(`Pipeline visual-pipeline-builder-protocol-${n}-pipeline deployed successfully! Deployment complete`):i.toast.error(`Failed to deploy pipeline visual-pipeline-builder-protocol-${n}-pipeline. Please try again.`),a(!1)},y)};return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h1",{className:"m-0",children:"Launch"}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(g.Label,{htmlFor:"overwrite-switch",children:"Overwrite Mode"}),e.jsx(j.Switch,{checked:l,onCheckedChange:p,disabled:r}),e.jsx(x.Separator,{orientation:"vertical"}),e.jsxs(s.Select,{value:n,onValueChange:h,children:[e.jsx(s.SelectTrigger,{size:"default",className:"w-[180px]",children:e.jsx(s.SelectValue,{placeholder:"Choose a version"})}),e.jsx(s.SelectContent,{children:c.map(t=>e.jsx(s.SelectItem,{value:t,children:t},t))})]}),e.jsx(v.Button,{onClick:m,disabled:r,children:"Deploy"})]})]}),e.jsx(S.CodeEditor,{value:u,onChange:t=>d(t??""),language:"yaml",theme:"light",width:"100%",onCopy:t=>navigator.clipboard.writeText(t),onLaunch:t=>console.log("Launching code:",t),disabled:!l})]})};exports.LaunchContentPanel=b;
|
|
6
|
+
//# sourceMappingURL=LaunchContentPanel.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LaunchContentPanel.cjs","sources":["../../../../src/components/composed/Main/LaunchContentPanel.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { toast } from \"sonner\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CodeEditor } from \"@/components/ui/code-editor\";\nimport { Label } from \"@/components/ui/label\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Switch } from \"@/components/ui/switch\";\n\nconst DEPLOY_DELAY_MS = 3000;\nconst DEFAULT_INITIAL_CODE = `protocolSchema: v3\nname: v3\ndescription: No description\nconfig: {}\nsteps: []`;\n\nexport const LaunchContentPanel: React.FC = () => {\n const versions = [\"v0.0.7\", \"v0.0.6\", \"v0.0.5\"];\n const [code, setCode] = useState(DEFAULT_INITIAL_CODE);\n const [currentVersion, setCurrentVersion] = useState(versions[0]);\n const [overwriteMode, setOverwriteMode] = useState(true);\n const [isDeploying, setIsDeploying] = useState(false);\n\n const handleDeploy = () => {\n setIsDeploying(true);\n toast.info(\"Building Protocol: Status=IN_PROGRESS, Phase=FINALIZING\");\n\n setTimeout(() => {\n const isSuccess = Math.random() > 0.3;\n\n if (isSuccess) {\n toast.success(\n `Pipeline visual-pipeline-builder-protocol-${currentVersion}-pipeline deployed successfully! Deployment complete`\n );\n } else {\n toast.error(\n `Failed to deploy pipeline visual-pipeline-builder-protocol-${currentVersion}-pipeline. Please try again.`\n );\n }\n\n setIsDeploying(false);\n }, DEPLOY_DELAY_MS);\n };\n\n return (\n <div>\n <div className=\"flex items-center justify-between mb-4\">\n <h1 className=\"m-0\">Launch</h1>\n <div className=\"flex items-center gap-4\">\n <Label htmlFor=\"overwrite-switch\">Overwrite Mode</Label>\n <Switch\n checked={overwriteMode}\n onCheckedChange={setOverwriteMode}\n disabled={isDeploying}\n />\n <Separator orientation=\"vertical\" />\n <Select value={currentVersion} onValueChange={setCurrentVersion}>\n <SelectTrigger size=\"default\" className=\"w-[180px]\">\n <SelectValue placeholder=\"Choose a version\" />\n </SelectTrigger>\n <SelectContent>\n {versions.map((version) => (\n <SelectItem key={version} value={version}>\n {version}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Button onClick={handleDeploy} disabled={isDeploying}>\n Deploy\n </Button>\n </div>\n </div>\n\n <CodeEditor\n value={code}\n onChange={(value) => setCode(value ?? \"\")}\n language=\"yaml\"\n theme=\"light\"\n width=\"100%\"\n onCopy={(value) => navigator.clipboard.writeText(value)}\n onLaunch={(value) => console.log(\"Launching code:\", value)}\n disabled={!overwriteMode}\n />\n </div>\n );\n};\n"],"names":["DEPLOY_DELAY_MS","DEFAULT_INITIAL_CODE","LaunchContentPanel","versions","code","setCode","useState","currentVersion","setCurrentVersion","overwriteMode","setOverwriteMode","isDeploying","setIsDeploying","handleDeploy","toast","jsxs","jsx","Label","Switch","Separator","Select","SelectTrigger","SelectValue","SelectContent","version","SelectItem","Button","CodeEditor","value"],"mappings":"yWAgBMA,EAAkB,IAClBC,EAAuB;AAAA;AAAA;AAAA;AAAA,WAMhBC,EAA+B,IAAM,CAChD,MAAMC,EAAW,CAAC,SAAU,SAAU,QAAQ,EACxC,CAACC,EAAMC,CAAO,EAAIC,EAAAA,SAASL,CAAoB,EAC/C,CAACM,EAAgBC,CAAiB,EAAIF,EAAAA,SAASH,EAAS,CAAC,CAAC,EAC1D,CAACM,EAAeC,CAAgB,EAAIJ,EAAAA,SAAS,EAAI,EACjD,CAACK,EAAaC,CAAc,EAAIN,EAAAA,SAAS,EAAK,EAE9CO,EAAe,IAAM,CACzBD,EAAe,EAAI,EACnBE,EAAAA,MAAM,KAAK,yDAAyD,EAEpE,WAAW,IAAM,CACG,KAAK,OAAA,EAAW,GAGhCA,EAAAA,MAAM,QACJ,6CAA6CP,CAAc,sDAAA,EAG7DO,EAAAA,MAAM,MACJ,8DAA8DP,CAAc,8BAAA,EAIhFK,EAAe,EAAK,CACtB,EAAGZ,CAAe,CACpB,EAEA,cACG,MAAA,CACC,SAAA,CAAAe,EAAAA,KAAC,MAAA,CAAI,UAAU,yCACb,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,MAAM,SAAA,SAAM,EAC1BD,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAC,EAAAA,IAACC,EAAAA,MAAA,CAAM,QAAQ,mBAAmB,SAAA,iBAAc,EAChDD,EAAAA,IAACE,EAAAA,OAAA,CACC,QAAST,EACT,gBAAiBC,EACjB,SAAUC,CAAA,CAAA,EAEZK,EAAAA,IAACG,EAAAA,UAAA,CAAU,YAAY,UAAA,CAAW,EAClCJ,EAAAA,KAACK,EAAAA,OAAA,CAAO,MAAOb,EAAgB,cAAeC,EAC5C,SAAA,CAAAQ,EAAAA,IAACK,EAAAA,cAAA,CAAc,KAAK,UAAU,UAAU,YACtC,SAAAL,EAAAA,IAACM,EAAAA,YAAA,CAAY,YAAY,kBAAA,CAAmB,CAAA,CAC9C,EACAN,EAAAA,IAACO,EAAAA,cAAA,CACE,SAAApB,EAAS,IAAKqB,GACbR,EAAAA,IAACS,EAAAA,WAAA,CAAyB,MAAOD,EAC9B,SAAAA,CAAA,EADcA,CAEjB,CACD,CAAA,CACH,CAAA,EACF,QACCE,EAAAA,OAAA,CAAO,QAASb,EAAc,SAAUF,EAAa,SAAA,QAAA,CAEtD,CAAA,CAAA,CACF,CAAA,EACF,EAEAK,EAAAA,IAACW,EAAAA,WAAA,CACC,MAAOvB,EACP,SAAWwB,GAAUvB,EAAQuB,GAAS,EAAE,EACxC,SAAS,OACT,MAAM,QACN,MAAM,OACN,OAASA,GAAU,UAAU,UAAU,UAAUA,CAAK,EACtD,SAAWA,GAAU,QAAQ,IAAI,kBAAmBA,CAAK,EACzD,SAAU,CAACnB,CAAA,CAAA,CACb,EACF,CAEJ"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsxs as t, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useState as i } from "react";
|
|
3
|
+
import { toast as r } from "sonner";
|
|
4
|
+
import { Button as f } from "../../ui/button.js";
|
|
5
|
+
import { CodeEditor as v } from "../../ui/code-editor.js";
|
|
6
|
+
import { Label as g } from "../../ui/label.js";
|
|
7
|
+
import { Select as S, SelectTrigger as C, SelectValue as y, SelectContent as w, SelectItem as L } from "../../ui/select.js";
|
|
8
|
+
import { Separator as b } from "../../ui/separator.js";
|
|
9
|
+
import { Switch as D } from "../../ui/switch.js";
|
|
10
|
+
const I = 3e3, N = `protocolSchema: v3
|
|
11
|
+
name: v3
|
|
12
|
+
description: No description
|
|
13
|
+
config: {}
|
|
14
|
+
steps: []`, V = () => {
|
|
15
|
+
const n = ["v0.0.7", "v0.0.6", "v0.0.5"], [d, p] = i(N), [l, m] = i(n[0]), [s, h] = i(!0), [c, a] = i(!1), u = () => {
|
|
16
|
+
a(!0), r.info("Building Protocol: Status=IN_PROGRESS, Phase=FINALIZING"), setTimeout(() => {
|
|
17
|
+
Math.random() > 0.3 ? r.success(
|
|
18
|
+
`Pipeline visual-pipeline-builder-protocol-${l}-pipeline deployed successfully! Deployment complete`
|
|
19
|
+
) : r.error(
|
|
20
|
+
`Failed to deploy pipeline visual-pipeline-builder-protocol-${l}-pipeline. Please try again.`
|
|
21
|
+
), a(!1);
|
|
22
|
+
}, I);
|
|
23
|
+
};
|
|
24
|
+
return /* @__PURE__ */ t("div", { children: [
|
|
25
|
+
/* @__PURE__ */ t("div", { className: "flex items-center justify-between mb-4", children: [
|
|
26
|
+
/* @__PURE__ */ o("h1", { className: "m-0", children: "Launch" }),
|
|
27
|
+
/* @__PURE__ */ t("div", { className: "flex items-center gap-4", children: [
|
|
28
|
+
/* @__PURE__ */ o(g, { htmlFor: "overwrite-switch", children: "Overwrite Mode" }),
|
|
29
|
+
/* @__PURE__ */ o(
|
|
30
|
+
D,
|
|
31
|
+
{
|
|
32
|
+
checked: s,
|
|
33
|
+
onCheckedChange: h,
|
|
34
|
+
disabled: c
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
/* @__PURE__ */ o(b, { orientation: "vertical" }),
|
|
38
|
+
/* @__PURE__ */ t(S, { value: l, onValueChange: m, children: [
|
|
39
|
+
/* @__PURE__ */ o(C, { size: "default", className: "w-[180px]", children: /* @__PURE__ */ o(y, { placeholder: "Choose a version" }) }),
|
|
40
|
+
/* @__PURE__ */ o(w, { children: n.map((e) => /* @__PURE__ */ o(L, { value: e, children: e }, e)) })
|
|
41
|
+
] }),
|
|
42
|
+
/* @__PURE__ */ o(f, { onClick: u, disabled: c, children: "Deploy" })
|
|
43
|
+
] })
|
|
44
|
+
] }),
|
|
45
|
+
/* @__PURE__ */ o(
|
|
46
|
+
v,
|
|
47
|
+
{
|
|
48
|
+
value: d,
|
|
49
|
+
onChange: (e) => p(e ?? ""),
|
|
50
|
+
language: "yaml",
|
|
51
|
+
theme: "light",
|
|
52
|
+
width: "100%",
|
|
53
|
+
onCopy: (e) => navigator.clipboard.writeText(e),
|
|
54
|
+
onLaunch: (e) => console.log("Launching code:", e),
|
|
55
|
+
disabled: !s
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
] });
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
V as LaunchContentPanel
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=LaunchContentPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LaunchContentPanel.js","sources":["../../../../src/components/composed/Main/LaunchContentPanel.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { toast } from \"sonner\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CodeEditor } from \"@/components/ui/code-editor\";\nimport { Label } from \"@/components/ui/label\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Switch } from \"@/components/ui/switch\";\n\nconst DEPLOY_DELAY_MS = 3000;\nconst DEFAULT_INITIAL_CODE = `protocolSchema: v3\nname: v3\ndescription: No description\nconfig: {}\nsteps: []`;\n\nexport const LaunchContentPanel: React.FC = () => {\n const versions = [\"v0.0.7\", \"v0.0.6\", \"v0.0.5\"];\n const [code, setCode] = useState(DEFAULT_INITIAL_CODE);\n const [currentVersion, setCurrentVersion] = useState(versions[0]);\n const [overwriteMode, setOverwriteMode] = useState(true);\n const [isDeploying, setIsDeploying] = useState(false);\n\n const handleDeploy = () => {\n setIsDeploying(true);\n toast.info(\"Building Protocol: Status=IN_PROGRESS, Phase=FINALIZING\");\n\n setTimeout(() => {\n const isSuccess = Math.random() > 0.3;\n\n if (isSuccess) {\n toast.success(\n `Pipeline visual-pipeline-builder-protocol-${currentVersion}-pipeline deployed successfully! Deployment complete`\n );\n } else {\n toast.error(\n `Failed to deploy pipeline visual-pipeline-builder-protocol-${currentVersion}-pipeline. Please try again.`\n );\n }\n\n setIsDeploying(false);\n }, DEPLOY_DELAY_MS);\n };\n\n return (\n <div>\n <div className=\"flex items-center justify-between mb-4\">\n <h1 className=\"m-0\">Launch</h1>\n <div className=\"flex items-center gap-4\">\n <Label htmlFor=\"overwrite-switch\">Overwrite Mode</Label>\n <Switch\n checked={overwriteMode}\n onCheckedChange={setOverwriteMode}\n disabled={isDeploying}\n />\n <Separator orientation=\"vertical\" />\n <Select value={currentVersion} onValueChange={setCurrentVersion}>\n <SelectTrigger size=\"default\" className=\"w-[180px]\">\n <SelectValue placeholder=\"Choose a version\" />\n </SelectTrigger>\n <SelectContent>\n {versions.map((version) => (\n <SelectItem key={version} value={version}>\n {version}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Button onClick={handleDeploy} disabled={isDeploying}>\n Deploy\n </Button>\n </div>\n </div>\n\n <CodeEditor\n value={code}\n onChange={(value) => setCode(value ?? \"\")}\n language=\"yaml\"\n theme=\"light\"\n width=\"100%\"\n onCopy={(value) => navigator.clipboard.writeText(value)}\n onLaunch={(value) => console.log(\"Launching code:\", value)}\n disabled={!overwriteMode}\n />\n </div>\n );\n};\n"],"names":["DEPLOY_DELAY_MS","DEFAULT_INITIAL_CODE","LaunchContentPanel","versions","code","setCode","useState","currentVersion","setCurrentVersion","overwriteMode","setOverwriteMode","isDeploying","setIsDeploying","handleDeploy","toast","jsxs","jsx","Label","Switch","Separator","Select","SelectTrigger","SelectValue","SelectContent","version","SelectItem","Button","CodeEditor","value"],"mappings":";;;;;;;;;AAgBA,MAAMA,IAAkB,KAClBC,IAAuB;AAAA;AAAA;AAAA;AAAA,YAMhBC,IAA+B,MAAM;AAChD,QAAMC,IAAW,CAAC,UAAU,UAAU,QAAQ,GACxC,CAACC,GAAMC,CAAO,IAAIC,EAASL,CAAoB,GAC/C,CAACM,GAAgBC,CAAiB,IAAIF,EAASH,EAAS,CAAC,CAAC,GAC1D,CAACM,GAAeC,CAAgB,IAAIJ,EAAS,EAAI,GACjD,CAACK,GAAaC,CAAc,IAAIN,EAAS,EAAK,GAE9CO,IAAe,MAAM;AACzB,IAAAD,EAAe,EAAI,GACnBE,EAAM,KAAK,yDAAyD,GAEpE,WAAW,MAAM;AAGf,MAFkB,KAAK,OAAA,IAAW,MAGhCA,EAAM;AAAA,QACJ,6CAA6CP,CAAc;AAAA,MAAA,IAG7DO,EAAM;AAAA,QACJ,8DAA8DP,CAAc;AAAA,MAAA,GAIhFK,EAAe,EAAK;AAAA,IACtB,GAAGZ,CAAe;AAAA,EACpB;AAEA,2BACG,OAAA,EACC,UAAA;AAAA,IAAA,gBAAAe,EAAC,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,MAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,OAAM,UAAA,UAAM;AAAA,MAC1B,gBAAAD,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAA,EAAM,SAAQ,oBAAmB,UAAA,kBAAc;AAAA,QAChD,gBAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,SAAST;AAAA,YACT,iBAAiBC;AAAA,YACjB,UAAUC;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ,gBAAAK,EAACG,GAAA,EAAU,aAAY,WAAA,CAAW;AAAA,QAClC,gBAAAJ,EAACK,GAAA,EAAO,OAAOb,GAAgB,eAAeC,GAC5C,UAAA;AAAA,UAAA,gBAAAQ,EAACK,GAAA,EAAc,MAAK,WAAU,WAAU,aACtC,UAAA,gBAAAL,EAACM,GAAA,EAAY,aAAY,mBAAA,CAAmB,EAAA,CAC9C;AAAA,UACA,gBAAAN,EAACO,GAAA,EACE,UAAApB,EAAS,IAAI,CAACqB,MACb,gBAAAR,EAACS,GAAA,EAAyB,OAAOD,GAC9B,UAAAA,EAAA,GADcA,CAEjB,CACD,EAAA,CACH;AAAA,QAAA,GACF;AAAA,0BACCE,GAAA,EAAO,SAASb,GAAc,UAAUF,GAAa,UAAA,SAAA,CAEtD;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAK;AAAA,MAACW;AAAA,MAAA;AAAA,QACC,OAAOvB;AAAA,QACP,UAAU,CAACwB,MAAUvB,EAAQuB,KAAS,EAAE;AAAA,QACxC,UAAS;AAAA,QACT,OAAM;AAAA,QACN,OAAM;AAAA,QACN,QAAQ,CAACA,MAAU,UAAU,UAAU,UAAUA,CAAK;AAAA,QACtD,UAAU,CAACA,MAAU,QAAQ,IAAI,mBAAmBA,CAAK;AAAA,QACzD,UAAU,CAACnB;AAAA,MAAA;AAAA,IAAA;AAAA,EACb,GACF;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),l=require("lucide-react"),r=require("react"),L=require("./LaunchContentPanel.cjs"),M=require("./MainHeader.cjs"),R=require("./MainNavbar.cjs"),z=require("./MainSidebar.cjs"),f=require("./MainTabBar.cjs"),E=require("./ProtocolConfigurationPanel.cjs"),h=require("./TemplateSidebarCard.cjs"),m=require("../../ui/button.cjs"),H=require("../../ui/scroll-area.cjs"),U=require("../../ui/separator.cjs"),F=require("../../ui/sidebar.cjs"),K=({userProfile:b,hostname:j,organization:p})=>{const v=[{icon:l.Search,label:"Search"},{icon:l.SearchCode,label:"SQL Search"},{icon:l.Lamp,label:"Projects"},{icon:l.Workflow,label:"Pipelines"},{icon:l.Monitor,label:"Data & AI Workspace"},{icon:l.Box,label:"Artifacts"},{icon:l.Database,label:"Data Sources"},{icon:l.PieChart,label:"Health Monitoring"},{icon:l.CheckCheck,label:"Bulk Actions"},{icon:l.Code,label:"Attribute Management"},{icon:l.Settings,label:"Administration"}],k=[{id:"templates",label:"Templates"},{id:"protocol",label:"Protocol"},{id:"steps",label:"Steps"}],g=[{id:"pipelineBuilder",label:"Pipeline Builder"},{id:"configuration",label:"Configuration"},{id:"launch",label:"Launch"}],[T,C]=r.useState("Pipelines"),[a,N]=r.useState("templates"),[c,S]=r.useState("pipelineBuilder"),[o,w]=r.useState("1"),u=[{id:"1",title:"Tecan D300e and PerkinElmer EnVision to Dotmatics (v1)",description:"c901ejs",buttonText:"",linkText:""},{id:"2",title:"Bruker D8 Andvanced CRD Raw to IDS(Draft)",description:"c901ejs",buttonText:"",linkText:""},{id:"3",title:"Extract and Decorate(Draft)",description:"c901ejs",buttonText:"",linkText:""},{id:"4",title:"Intellict (Que3 Raw to IDS(Draft)",description:"c901ejs",buttonText:"",linkText:""},{id:"5",title:"Leica Aperio RAW to IDS(Draft)",description:"c901ejs",buttonText:"",linkText:""},{id:"6",title:"IDS to Benchling(Draft)",description:"c901ejs",buttonText:"",linkText:""},{id:"7",title:"Lorem Ipsum",description:"c901ejs",buttonText:"",linkText:""}],n=[],y=[],D=i=>{C(i)},P=i=>{N(i)},B=i=>{S(i)},q=()=>{console.log("Home clicked")},A=()=>{console.log("Settings clicked")},I=()=>{console.log("User profile clicked")},t=i=>{w(i===o?null:i)},d=i=>{console.log(`Using template: ${i}`)},x=i=>{console.log(`Viewing template: ${i}`)};return e.jsxs("div",{className:"flex flex-col w-screen h-screen",children:[e.jsx(R.MainNavbar,{organization:p}),e.jsx("div",{className:"flex flex-1 overflow-hidden",children:e.jsxs(F.SidebarProvider,{className:"min-h-0 flex-1 w-full",children:[e.jsx(z.MainSidebar,{items:v,activeItem:T,onItemClick:D}),e.jsxs("div",{className:"bg-card rounded-lg flex flex-col flex-1 overflow-hidden",children:[e.jsx(U.Separator,{}),e.jsx(M.MainHeader,{hostname:j,userProfile:b,onHomeClick:q,onSettingsClick:A,onUserProfileClick:I}),e.jsx("div",{className:"flex flex-col flex-1 overflow-hidden",children:e.jsx("div",{className:"flex flex-col flex-1 overflow-hidden",children:e.jsxs("div",{style:{display:"flex",height:"100%"},children:[e.jsxs("div",{className:"w-[360px] h-full flex flex-col py-4 px-6 overflow-hidden max-h-full",children:[e.jsx(f.MainTabBar,{tabs:k,value:a,onChange:P}),a==="templates"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex justify-between items-center py-6",children:[e.jsx("h2",{className:"text-xl font-medium m-0",children:"Templates"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(m.Button,{className:"rounded-[4px] w-8 h-8",variant:"destructive",size:"icon-sm","aria-label":"Delete",children:e.jsx(l.Trash2,{size:20})}),e.jsx(m.Button,{className:"rounded-[4px] w-8 h-8",size:"icon-sm","aria-label":"Add",children:e.jsx(l.Plus,{size:20})})]})]}),e.jsx(H.ScrollArea,{className:"flex-1 h-full",children:u.length>0?u.map(i=>e.jsx("div",{className:"cursor-pointer p-1 last:border-b-0",onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&t(i.id)},onClick:()=>t(i.id),children:e.jsx(h.TemplateSidebarCard,{title:i.title,description:i.description,buttonText:i.buttonText,linkText:i.linkText,status:o===i.id?"active":"default",onButtonClick:()=>d(i.id),onLinkClick:()=>x(i.id)})},i.id)):e.jsxs("div",{className:"flex flex-col justify-center items-center gap-4",children:[e.jsx(l.Inbox,{size:40}),e.jsx("div",{className:"text-sm font-medium",children:"No data"})]})})]}),a==="protocol"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex justify-between items-center py-6",children:e.jsxs("h2",{className:"text-xl font-medium m-0",children:["Protocol (",n.length,")"]})}),e.jsx("div",{className:"flex flex-col overflow-y-auto flex-1 mt-2 max-h-[calc(100vh-240px)]",children:n.length>0?n.map(i=>e.jsx("div",{className:"cursor-pointer last:border-b-0",onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&t(i.id)},onClick:()=>t(i.id),children:e.jsx(h.TemplateSidebarCard,{title:i.title,description:i.description,status:o===i.id?"active":"default",onButtonClick:()=>d(i.id),onLinkClick:()=>x(i.id)})},i.id)):e.jsxs("div",{className:"flex flex-col justify-center items-center gap-4",children:[e.jsx(l.Inbox,{size:40}),e.jsx("div",{className:"text-sm font-medium",children:"No data"})]})})]}),a==="steps"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex justify-between items-center py-6",children:e.jsxs("h2",{className:"text-xl font-medium m-0",children:["Task Scripts (",y.length,")"]})}),e.jsx("div",{className:"flex flex-col overflow-y-auto flex-1 mt-2 max-h-[calc(100vh-240px)]",children:n.length>0?n.map(i=>e.jsx("div",{className:"cursor-pointer last:border-b-0",onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&t(i.id)},onClick:()=>t(i.id),children:e.jsx(h.TemplateSidebarCard,{title:i.title,description:i.description,status:o===i.id?"active":"default",onButtonClick:()=>d(i.id),onLinkClick:()=>x(i.id)})},i.id)):e.jsxs("div",{className:"flex flex-col justify-center items-center gap-4",children:[e.jsx(l.Inbox,{size:40}),e.jsx("div",{className:"text-sm font-medium",children:"No data"})]})})]})]}),e.jsxs("div",{className:"flex-1 h-full flex flex-col",children:[e.jsx("div",{className:"pt-4 px-6 pb-0",children:e.jsx(f.MainTabBar,{tabs:g,value:c,onChange:B})}),e.jsxs("div",{className:"p-6 -mt-px flex-1",children:[c==="pipelineBuilder"&&e.jsx("div",{className:"h-full border rounded-lg overflow-hidden"}),c==="configuration"&&e.jsx(E.ProtocolConfigurationPanel,{}),c==="launch"&&e.jsx(L.LaunchContentPanel,{})]})]})]})})})]})]})})]})};module.exports=K;
|
|
2
|
+
//# sourceMappingURL=Main.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Main.cjs","sources":["../../../../src/components/composed/Main/Main.tsx"],"sourcesContent":["// import { ReactFlowProvider } from \"@xyflow/react\";\n// import {PipelineBuilder} from \"./pipeline-builder\";\nimport {\n Box,\n CheckCheck,\n Code,\n Database,\n Inbox,\n Lamp,\n Monitor,\n PieChart,\n Plus,\n Search,\n SearchCode,\n Settings,\n Trash2,\n Workflow,\n} from \"lucide-react\";\nimport React, { useState } from \"react\";\n\nimport { LaunchContentPanel } from \"./LaunchContentPanel\";\nimport { MainHeader, type UserProfileInfo } from \"./MainHeader\";\nimport { MainNavbar, type OrganizationInfo } from \"./MainNavbar\";\nimport { MainSidebar, type MainSidebarItem } from \"./MainSidebar\";\nimport { MainTabBar, type MainTabItem } from \"./MainTabBar\";\nimport { ProtocolConfigurationPanel } from \"./ProtocolConfigurationPanel\";\nimport { TemplateSidebarCard } from \"./TemplateSidebarCard\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { SidebarProvider } from \"@/components/ui/sidebar\";\n\nexport interface MainProps {\n userProfile: UserProfileInfo;\n hostname: string;\n organization: OrganizationInfo;\n}\n\nconst Main: React.FC<MainProps> = ({ userProfile, hostname, organization }) => {\n // Define sidebar items\n const sidebarItems: MainSidebarItem[] = [\n { icon: Search, label: \"Search\" },\n { icon: SearchCode, label: \"SQL Search\" },\n { icon: Lamp, label: \"Projects\" },\n { icon: Workflow, label: \"Pipelines\" },\n { icon: Monitor, label: \"Data & AI Workspace\" },\n { icon: Box, label: \"Artifacts\" },\n { icon: Database, label: \"Data Sources\" },\n { icon: PieChart, label: \"Health Monitoring\" },\n { icon: CheckCheck, label: \"Bulk Actions\" },\n { icon: Code, label: \"Attribute Management\" },\n { icon: Settings, label: \"Administration\" },\n ];\n\n // Tabs for the first tab group (left side)\n const leftTabs: MainTabItem[] = [\n { id: \"templates\", label: \"Templates\" },\n { id: \"protocol\", label: \"Protocol\" },\n { id: \"steps\", label: \"Steps\" },\n ];\n\n // Tabs for the second tab group (right side)\n const rightTabs: MainTabItem[] = [\n { id: \"pipelineBuilder\", label: \"Pipeline Builder\" },\n { id: \"configuration\", label: \"Configuration\" },\n { id: \"launch\", label: \"Launch\" },\n ];\n\n // State hooks\n const [activeItem, setActiveItem] = useState(\"Pipelines\");\n const [activeLeftTab, setActiveLeftTab] = useState(\"templates\");\n const [activeRightTab, setActiveRightTab] = useState(\"pipelineBuilder\");\n const [selectedTemplate, setSelectedTemplate] = useState<string | null>(\"1\");\n\n // Templates data\n const templates = [\n {\n id: \"1\",\n title: \"Tecan D300e and PerkinElmer EnVision to Dotmatics (v1)\",\n description: \"c901ejs\",\n buttonText: \"\",\n linkText: \"\",\n },\n {\n id: \"2\",\n title: \"Bruker D8 Andvanced CRD Raw to IDS(Draft)\",\n description: \"c901ejs\",\n buttonText: \"\",\n linkText: \"\",\n },\n {\n id: \"3\",\n title: \"Extract and Decorate(Draft)\",\n description: \"c901ejs\",\n buttonText: \"\",\n linkText: \"\",\n },\n {\n id: \"4\",\n title: \"Intellict (Que3 Raw to IDS(Draft)\",\n description: \"c901ejs\",\n buttonText: \"\",\n linkText: \"\",\n },\n {\n id: \"5\",\n title: \"Leica Aperio RAW to IDS(Draft)\",\n description: \"c901ejs\",\n buttonText: \"\",\n linkText: \"\",\n },\n {\n id: \"6\",\n title: \"IDS to Benchling(Draft)\",\n description: \"c901ejs\",\n buttonText: \"\",\n linkText: \"\",\n },\n {\n id: \"7\",\n title: \"Lorem Ipsum\",\n description: \"c901ejs\",\n buttonText: \"\",\n linkText: \"\",\n },\n ];\n\n const protocol: { id: string; title: string; description: string }[] = [];\n const steps: { id: string; title: string; description: string }[] = [];\n\n // Handlers\n const handleSidebarItemClick = (label: string) => {\n setActiveItem(label);\n };\n\n const handleLeftTabChange = (tabId: string) => {\n setActiveLeftTab(tabId);\n };\n\n const handleRightTabChange = (tabId: string) => {\n setActiveRightTab(tabId);\n };\n\n const handleHomeClick = () => {\n console.log(\"Home clicked\");\n };\n\n const handleSettingsClick = () => {\n console.log(\"Settings clicked\");\n };\n\n const handleUserProfileClick = () => {\n console.log(\"User profile clicked\");\n };\n\n const handleTemplateClick = (templateId: string) => {\n setSelectedTemplate(templateId === selectedTemplate ? null : templateId);\n };\n\n const handleUseTemplate = (templateId: string) => {\n console.log(`Using template: ${templateId}`);\n };\n\n const handleViewTemplate = (templateId: string) => {\n console.log(`Viewing template: ${templateId}`);\n };\n\n return (\n <div className=\"flex flex-col w-screen h-screen\">\n <MainNavbar organization={organization} />\n\n <div className=\"flex flex-1 overflow-hidden\">\n\n <SidebarProvider className=\"min-h-0 flex-1 w-full\">\n <MainSidebar\n items={sidebarItems}\n activeItem={activeItem}\n onItemClick={handleSidebarItemClick}\n />\n\n <div className=\"bg-card rounded-lg flex flex-col flex-1 overflow-hidden\">\n <Separator />\n <MainHeader\n hostname={hostname}\n userProfile={userProfile}\n onHomeClick={handleHomeClick}\n onSettingsClick={handleSettingsClick}\n onUserProfileClick={handleUserProfileClick}\n />\n\n <div className=\"flex flex-col flex-1 overflow-hidden\">\n <div className=\"flex flex-col flex-1 overflow-hidden\">\n <div style={{ display: \"flex\", height: \"100%\" }}>\n <div className=\"w-[360px] h-full flex flex-col py-4 px-6 overflow-hidden max-h-full\">\n <MainTabBar\n tabs={leftTabs}\n value={activeLeftTab}\n onChange={handleLeftTabChange}\n />\n {activeLeftTab === \"templates\" && (\n <>\n <div className=\"flex justify-between items-center py-6\">\n <h2 className=\"text-xl font-medium m-0\">Templates</h2>\n <div className=\"flex gap-2\">\n <Button\n className=\"rounded-[4px] w-8 h-8\"\n variant=\"destructive\"\n size=\"icon-sm\"\n aria-label=\"Delete\"\n >\n <Trash2 size={20} />\n </Button>\n <Button\n className=\"rounded-[4px] w-8 h-8\"\n size=\"icon-sm\"\n aria-label=\"Add\"\n >\n <Plus size={20} />\n </Button>\n </div>\n </div>\n\n <ScrollArea className=\"flex-1 h-full\">\n {templates.length > 0 ? (\n templates.map((template) => (\n <div\n key={template.id}\n className=\"cursor-pointer p-1 last:border-b-0\"\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n handleTemplateClick(template.id);\n }\n }}\n onClick={() => handleTemplateClick(template.id)}\n >\n <TemplateSidebarCard\n title={template.title}\n description={template.description}\n buttonText={template.buttonText}\n linkText={template.linkText}\n status={\n selectedTemplate === template.id\n ? \"active\"\n : \"default\"\n }\n onButtonClick={() =>\n handleUseTemplate(template.id)\n }\n onLinkClick={() =>\n handleViewTemplate(template.id)\n }\n />\n </div>\n ))\n ) : (\n <div className=\"flex flex-col justify-center items-center gap-4\">\n <Inbox size={40} />\n <div className=\"text-sm font-medium\">No data</div>\n </div>\n )}\n </ScrollArea>\n </>\n )}\n\n {activeLeftTab === \"protocol\" && (\n <>\n <div className=\"flex justify-between items-center py-6\">\n <h2 className=\"text-xl font-medium m-0\">\n Protocol ({protocol.length})\n </h2>\n </div>\n <div className=\"flex flex-col overflow-y-auto flex-1 mt-2 max-h-[calc(100vh-240px)]\">\n {protocol.length > 0 ? (\n protocol.map((template) => (\n <div\n key={template.id}\n className=\"cursor-pointer last:border-b-0\"\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n handleTemplateClick(template.id);\n }\n }}\n onClick={() => handleTemplateClick(template.id)}\n >\n <TemplateSidebarCard\n title={template.title}\n description={template.description}\n status={\n selectedTemplate === template.id\n ? \"active\"\n : \"default\"\n }\n onButtonClick={() =>\n handleUseTemplate(template.id)\n }\n onLinkClick={() =>\n handleViewTemplate(template.id)\n }\n />\n </div>\n ))\n ) : (\n <div className=\"flex flex-col justify-center items-center gap-4\">\n <Inbox size={40} />\n <div className=\"text-sm font-medium\">No data</div>\n </div>\n )}\n </div>\n </>\n )}\n\n {activeLeftTab === \"steps\" && (\n <>\n <div className=\"flex justify-between items-center py-6\">\n <h2 className=\"text-xl font-medium m-0\">\n Task Scripts ({steps.length})\n </h2>\n </div>\n <div className=\"flex flex-col overflow-y-auto flex-1 mt-2 max-h-[calc(100vh-240px)]\">\n {protocol.length > 0 ? (\n protocol.map((template) => (\n <div\n key={template.id}\n className=\"cursor-pointer last:border-b-0\"\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n handleTemplateClick(template.id);\n }\n }}\n onClick={() => handleTemplateClick(template.id)}\n >\n <TemplateSidebarCard\n title={template.title}\n description={template.description}\n status={\n selectedTemplate === template.id\n ? \"active\"\n : \"default\"\n }\n onButtonClick={() =>\n handleUseTemplate(template.id)\n }\n onLinkClick={() =>\n handleViewTemplate(template.id)\n }\n />\n </div>\n ))\n ) : (\n <div className=\"flex flex-col justify-center items-center gap-4\">\n <Inbox size={40} />\n <div className=\"text-sm font-medium\">No data</div>\n </div>\n )}\n </div>\n </>\n )}\n </div>\n <div className=\"flex-1 h-full flex flex-col\">\n <div className=\"pt-4 px-6 pb-0\">\n <MainTabBar\n tabs={rightTabs}\n value={activeRightTab}\n onChange={handleRightTabChange}\n />\n </div>\n <div className=\"p-6 -mt-px flex-1\">\n {activeRightTab === \"pipelineBuilder\" && (\n <div className=\"h-full border rounded-lg overflow-hidden\">\n {/* <ReactFlowProvider>\n <PipelineBuilder width=\"100%\" height=\"100%\" />\n </ReactFlowProvider> */}\n </div>\n )}\n {activeRightTab === \"configuration\" && (\n <ProtocolConfigurationPanel />\n )}\n {activeRightTab === \"launch\" && <LaunchContentPanel />}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </SidebarProvider>\n </div>\n </div>\n );\n};\n\nexport default Main;\n"],"names":["Main","userProfile","hostname","organization","sidebarItems","Search","SearchCode","Lamp","Workflow","Monitor","Box","Database","PieChart","CheckCheck","Code","Settings","leftTabs","rightTabs","activeItem","setActiveItem","useState","activeLeftTab","setActiveLeftTab","activeRightTab","setActiveRightTab","selectedTemplate","setSelectedTemplate","templates","protocol","steps","handleSidebarItemClick","label","handleLeftTabChange","tabId","handleRightTabChange","handleHomeClick","handleSettingsClick","handleUserProfileClick","handleTemplateClick","templateId","handleUseTemplate","handleViewTemplate","jsxs","jsx","MainNavbar","SidebarProvider","MainSidebar","Separator","MainHeader","MainTabBar","Fragment","Button","Trash2","Plus","ScrollArea","template","e","TemplateSidebarCard","Inbox","ProtocolConfigurationPanel","LaunchContentPanel"],"mappings":"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"}
|