@tetrascience-npm/tetrascience-react-ui 0.5.0-beta.30.1 → 0.5.0-beta.32.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.
Files changed (87) hide show
  1. package/dist/components/ui/combobox.cjs +1 -1
  2. package/dist/components/ui/combobox.cjs.map +1 -1
  3. package/dist/components/ui/combobox.js +19 -16
  4. package/dist/components/ui/combobox.js.map +1 -1
  5. package/dist/components/ui/select.cjs +1 -1
  6. package/dist/components/ui/select.cjs.map +1 -1
  7. package/dist/components/ui/select.js +2 -2
  8. package/dist/components/ui/select.js.map +1 -1
  9. package/dist/index.cjs +1 -1
  10. package/dist/index.css +1 -1
  11. package/dist/index.d.ts +5 -161
  12. package/dist/index.js +376 -398
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.tailwind.css +1 -1
  15. package/package.json +1 -1
  16. package/dist/components/composed/AppHeader/AppHeader.cjs +0 -2
  17. package/dist/components/composed/AppHeader/AppHeader.cjs.map +0 -1
  18. package/dist/components/composed/AppHeader/AppHeader.js +0 -35
  19. package/dist/components/composed/AppHeader/AppHeader.js.map +0 -1
  20. package/dist/components/composed/AppLayout/AppLayout.cjs +0 -2
  21. package/dist/components/composed/AppLayout/AppLayout.cjs.map +0 -1
  22. package/dist/components/composed/AppLayout/AppLayout.js +0 -65
  23. package/dist/components/composed/AppLayout/AppLayout.js.map +0 -1
  24. package/dist/components/composed/AssistantModal/AssistantModal.cjs +0 -2
  25. package/dist/components/composed/AssistantModal/AssistantModal.cjs.map +0 -1
  26. package/dist/components/composed/AssistantModal/AssistantModal.js +0 -75
  27. package/dist/components/composed/AssistantModal/AssistantModal.js.map +0 -1
  28. package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.cjs +0 -3
  29. package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.cjs.map +0 -1
  30. package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.js +0 -74
  31. package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.js.map +0 -1
  32. package/dist/components/composed/LaunchContent/LaunchContent.cjs +0 -6
  33. package/dist/components/composed/LaunchContent/LaunchContent.cjs.map +0 -1
  34. package/dist/components/composed/LaunchContent/LaunchContent.js +0 -66
  35. package/dist/components/composed/LaunchContent/LaunchContent.js.map +0 -1
  36. package/dist/components/composed/Main/LaunchContentPanel.cjs +0 -6
  37. package/dist/components/composed/Main/LaunchContentPanel.cjs.map +0 -1
  38. package/dist/components/composed/Main/LaunchContentPanel.js +0 -63
  39. package/dist/components/composed/Main/LaunchContentPanel.js.map +0 -1
  40. package/dist/components/composed/Main/Main.cjs +0 -2
  41. package/dist/components/composed/Main/Main.cjs.map +0 -1
  42. package/dist/components/composed/Main/Main.js +0 -276
  43. package/dist/components/composed/Main/Main.js.map +0 -1
  44. package/dist/components/composed/Main/MainHeader.cjs +0 -2
  45. package/dist/components/composed/Main/MainHeader.cjs.map +0 -1
  46. package/dist/components/composed/Main/MainHeader.js +0 -36
  47. package/dist/components/composed/Main/MainHeader.js.map +0 -1
  48. package/dist/components/composed/Main/MainNavbar.cjs +0 -2
  49. package/dist/components/composed/Main/MainNavbar.cjs.map +0 -1
  50. package/dist/components/composed/Main/MainNavbar.js +0 -25
  51. package/dist/components/composed/Main/MainNavbar.js.map +0 -1
  52. package/dist/components/composed/Main/MainSidebar.cjs +0 -2
  53. package/dist/components/composed/Main/MainSidebar.cjs.map +0 -1
  54. package/dist/components/composed/Main/MainSidebar.js +0 -12
  55. package/dist/components/composed/Main/MainSidebar.js.map +0 -1
  56. package/dist/components/composed/Main/MainTabBar.cjs +0 -2
  57. package/dist/components/composed/Main/MainTabBar.cjs.map +0 -1
  58. package/dist/components/composed/Main/MainTabBar.js +0 -7
  59. package/dist/components/composed/Main/MainTabBar.js.map +0 -1
  60. package/dist/components/composed/Main/ProtocolConfigurationPanel.cjs +0 -2
  61. package/dist/components/composed/Main/ProtocolConfigurationPanel.cjs.map +0 -1
  62. package/dist/components/composed/Main/ProtocolConfigurationPanel.js +0 -30
  63. package/dist/components/composed/Main/ProtocolConfigurationPanel.js.map +0 -1
  64. package/dist/components/composed/Main/TemplateSidebarCard.cjs +0 -2
  65. package/dist/components/composed/Main/TemplateSidebarCard.cjs.map +0 -1
  66. package/dist/components/composed/Main/TemplateSidebarCard.js +0 -71
  67. package/dist/components/composed/Main/TemplateSidebarCard.js.map +0 -1
  68. package/dist/components/composed/Navbar/Navbar.cjs +0 -2
  69. package/dist/components/composed/Navbar/Navbar.cjs.map +0 -1
  70. package/dist/components/composed/Navbar/Navbar.js +0 -25
  71. package/dist/components/composed/Navbar/Navbar.js.map +0 -1
  72. package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.cjs +0 -2
  73. package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.cjs.map +0 -1
  74. package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.js +0 -44
  75. package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.js.map +0 -1
  76. package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.cjs +0 -2
  77. package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.cjs.map +0 -1
  78. package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.js +0 -53
  79. package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.js.map +0 -1
  80. package/dist/components/composed/PythonEditorModal/PythonEditorModal.cjs +0 -2
  81. package/dist/components/composed/PythonEditorModal/PythonEditorModal.cjs.map +0 -1
  82. package/dist/components/composed/PythonEditorModal/PythonEditorModal.js +0 -51
  83. package/dist/components/composed/PythonEditorModal/PythonEditorModal.js.map +0 -1
  84. package/dist/components/composed/Sidebar/Sidebar.cjs +0 -2
  85. package/dist/components/composed/Sidebar/Sidebar.cjs.map +0 -1
  86. package/dist/components/composed/Sidebar/Sidebar.js +0 -46
  87. package/dist/components/composed/Sidebar/Sidebar.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tetrascience-npm/tetrascience-react-ui",
3
- "version": "0.5.0-beta.30.1",
3
+ "version": "0.5.0-beta.32.1",
4
4
  "description": "TetraScience React UI",
5
5
  "type": "module",
6
6
  "author": "TetraScience",
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),s=require("lucide-react"),a=require("../../ui/avatar.cjs"),n=require("../../ui/button.cjs"),i=require("../../ui/separator.cjs"),j=({hostname:r,userProfile:t,onHomeClick:c,onSettingsClick:l,onUserProfileClick:o})=>{const x=m=>m.split(" ").map(d=>d.charAt(0)).join("").toUpperCase().substring(0,2);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between h-auto w-full px-7 py-4 box-border",children:[e.jsx("div",{className:"text-lg font-medium leading-7",children:r}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(n.Button,{variant:"outline",size:"icon-sm",onClick:c,"aria-label":"Home",children:e.jsx(s.Home,{size:20})}),e.jsx(n.Button,{variant:"outline",size:"icon-sm",onClick:l,"aria-label":"Settings",children:e.jsx(s.Settings,{size:20})}),e.jsx(i.Separator,{orientation:"vertical"}),e.jsxs(a.Avatar,{onClick:o,children:[e.jsx(a.AvatarImage,{src:t.avatar,alt:t.name}),e.jsx(a.AvatarFallback,{children:x(t.name)})]}),e.jsx("div",{className:"text-base font-normal leading-6",children:t.name})," "]})]}),e.jsx(i.Separator,{})]})};module.exports=j;
2
- //# sourceMappingURL=AppHeader.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppHeader.cjs","sources":["../../../../src/components/composed/AppHeader/AppHeader.tsx"],"sourcesContent":["import { Settings, Home } from \"lucide-react\";\nimport React from \"react\";\n\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport { Button } from \"@/components/ui/button\";\nimport { Separator } from \"@/components/ui/separator\";\n\ninterface UserProfileProps {\n name: string;\n avatar?: string;\n}\n\nexport interface AppHeaderProps {\n hostname: string;\n userProfile: UserProfileProps;\n onHomeClick?: () => void;\n onSettingsClick?: () => void;\n onUserProfileClick?: () => void;\n}\n\nconst AppHeader: React.FC<AppHeaderProps> = ({\n hostname,\n userProfile,\n onHomeClick,\n onSettingsClick,\n onUserProfileClick,\n}) => {\n // Get initials for avatar placeholder if no image is provided\n const getInitials = (name: string) => {\n return name\n .split(\" \")\n .map((part) => part.charAt(0))\n .join(\"\")\n .toUpperCase()\n .substring(0, 2);\n };\n\n return (\n <>\n <div className=\"flex items-center justify-between h-auto w-full px-7 py-4 box-border\">\n <div className=\"text-lg font-medium leading-7\">{hostname}</div>\n\n <div className=\"flex items-center gap-3\">\n <Button variant=\"outline\" size=\"icon-sm\" onClick={onHomeClick} aria-label=\"Home\">\n <Home size={20} />\n </Button>\n <Button variant=\"outline\" size=\"icon-sm\" onClick={onSettingsClick} aria-label=\"Settings\">\n <Settings size={20} />\n </Button>\n <Separator orientation=\"vertical\" />\n <Avatar onClick={onUserProfileClick}>\n <AvatarImage src={userProfile.avatar} alt={userProfile.name} />\n <AvatarFallback>{getInitials(userProfile.name)}</AvatarFallback>\n </Avatar>\n <div className=\"text-base font-normal leading-6\">{userProfile.name}</div>{\" \"}\n </div>\n </div>\n <Separator />\n </>\n );\n};\n\nexport default AppHeader;\n"],"names":["AppHeader","hostname","userProfile","onHomeClick","onSettingsClick","onUserProfileClick","getInitials","name","part","jsxs","Fragment","jsx","Button","Home","Settings","Separator","Avatar","AvatarImage","AvatarFallback"],"mappings":"kLAoBMA,EAAsC,CAAC,CAC3C,SAAAC,EACA,YAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,mBAAAC,CACF,IAAM,CAEJ,MAAMC,EAAeC,GACZA,EACJ,MAAM,GAAG,EACT,IAAKC,GAASA,EAAK,OAAO,CAAC,CAAC,EAC5B,KAAK,EAAE,EACP,cACA,UAAU,EAAG,CAAC,EAGnB,OACEC,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,uEACb,SAAA,CAAAE,EAAAA,IAAC,MAAA,CAAI,UAAU,gCAAiC,SAAAV,EAAS,EAEzDQ,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAE,EAAAA,IAACC,EAAAA,OAAA,CAAO,QAAQ,UAAU,KAAK,UAAU,QAAST,EAAa,aAAW,OACxE,SAAAQ,MAACE,EAAAA,KAAA,CAAK,KAAM,GAAI,EAClB,EACAF,EAAAA,IAACC,EAAAA,OAAA,CAAO,QAAQ,UAAU,KAAK,UAAU,QAASR,EAAiB,aAAW,WAC5E,SAAAO,MAACG,EAAAA,SAAA,CAAS,KAAM,GAAI,EACtB,EACAH,EAAAA,IAACI,EAAAA,UAAA,CAAU,YAAY,UAAA,CAAW,EAClCN,EAAAA,KAACO,EAAAA,OAAA,CAAO,QAASX,EACf,SAAA,CAAAM,MAACM,EAAAA,aAAY,IAAKf,EAAY,OAAQ,IAAKA,EAAY,KAAM,EAC7DS,EAAAA,IAACO,EAAAA,eAAA,CAAgB,SAAAZ,EAAYJ,EAAY,IAAI,CAAA,CAAE,CAAA,EACjD,EACAS,EAAAA,IAAC,MAAA,CAAI,UAAU,kCAAmC,WAAY,KAAK,EAAO,GAAA,CAAA,CAC5E,CAAA,EACF,QACCI,EAAAA,UAAA,CAAA,CAAU,CAAA,EACb,CAEJ"}
@@ -1,35 +0,0 @@
1
- import { jsxs as t, Fragment as p, jsx as e } from "react/jsx-runtime";
2
- import { Home as h, Settings as v } from "lucide-react";
3
- import { Avatar as g, AvatarImage as f, AvatarFallback as x } from "../../ui/avatar.js";
4
- import { Button as i } from "../../ui/button.js";
5
- import { Separator as n } from "../../ui/separator.js";
6
- const z = ({
7
- hostname: r,
8
- userProfile: a,
9
- onHomeClick: l,
10
- onSettingsClick: o,
11
- onUserProfileClick: m
12
- }) => {
13
- const s = (c) => c.split(" ").map((d) => d.charAt(0)).join("").toUpperCase().substring(0, 2);
14
- return /* @__PURE__ */ t(p, { children: [
15
- /* @__PURE__ */ t("div", { className: "flex items-center justify-between h-auto w-full px-7 py-4 box-border", children: [
16
- /* @__PURE__ */ e("div", { className: "text-lg font-medium leading-7", children: r }),
17
- /* @__PURE__ */ t("div", { className: "flex items-center gap-3", children: [
18
- /* @__PURE__ */ e(i, { variant: "outline", size: "icon-sm", onClick: l, "aria-label": "Home", children: /* @__PURE__ */ e(h, { size: 20 }) }),
19
- /* @__PURE__ */ e(i, { variant: "outline", size: "icon-sm", onClick: o, "aria-label": "Settings", children: /* @__PURE__ */ e(v, { size: 20 }) }),
20
- /* @__PURE__ */ e(n, { orientation: "vertical" }),
21
- /* @__PURE__ */ t(g, { onClick: m, children: [
22
- /* @__PURE__ */ e(f, { src: a.avatar, alt: a.name }),
23
- /* @__PURE__ */ e(x, { children: s(a.name) })
24
- ] }),
25
- /* @__PURE__ */ e("div", { className: "text-base font-normal leading-6", children: a.name }),
26
- " "
27
- ] })
28
- ] }),
29
- /* @__PURE__ */ e(n, {})
30
- ] });
31
- };
32
- export {
33
- z as default
34
- };
35
- //# sourceMappingURL=AppHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppHeader.js","sources":["../../../../src/components/composed/AppHeader/AppHeader.tsx"],"sourcesContent":["import { Settings, Home } from \"lucide-react\";\nimport React from \"react\";\n\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport { Button } from \"@/components/ui/button\";\nimport { Separator } from \"@/components/ui/separator\";\n\ninterface UserProfileProps {\n name: string;\n avatar?: string;\n}\n\nexport interface AppHeaderProps {\n hostname: string;\n userProfile: UserProfileProps;\n onHomeClick?: () => void;\n onSettingsClick?: () => void;\n onUserProfileClick?: () => void;\n}\n\nconst AppHeader: React.FC<AppHeaderProps> = ({\n hostname,\n userProfile,\n onHomeClick,\n onSettingsClick,\n onUserProfileClick,\n}) => {\n // Get initials for avatar placeholder if no image is provided\n const getInitials = (name: string) => {\n return name\n .split(\" \")\n .map((part) => part.charAt(0))\n .join(\"\")\n .toUpperCase()\n .substring(0, 2);\n };\n\n return (\n <>\n <div className=\"flex items-center justify-between h-auto w-full px-7 py-4 box-border\">\n <div className=\"text-lg font-medium leading-7\">{hostname}</div>\n\n <div className=\"flex items-center gap-3\">\n <Button variant=\"outline\" size=\"icon-sm\" onClick={onHomeClick} aria-label=\"Home\">\n <Home size={20} />\n </Button>\n <Button variant=\"outline\" size=\"icon-sm\" onClick={onSettingsClick} aria-label=\"Settings\">\n <Settings size={20} />\n </Button>\n <Separator orientation=\"vertical\" />\n <Avatar onClick={onUserProfileClick}>\n <AvatarImage src={userProfile.avatar} alt={userProfile.name} />\n <AvatarFallback>{getInitials(userProfile.name)}</AvatarFallback>\n </Avatar>\n <div className=\"text-base font-normal leading-6\">{userProfile.name}</div>{\" \"}\n </div>\n </div>\n <Separator />\n </>\n );\n};\n\nexport default AppHeader;\n"],"names":["AppHeader","hostname","userProfile","onHomeClick","onSettingsClick","onUserProfileClick","getInitials","name","part","jsxs","Fragment","jsx","Button","Home","Settings","Separator","Avatar","AvatarImage","AvatarFallback"],"mappings":";;;;;AAoBA,MAAMA,IAAsC,CAAC;AAAA,EAC3C,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,oBAAAC;AACF,MAAM;AAEJ,QAAMC,IAAc,CAACC,MACZA,EACJ,MAAM,GAAG,EACT,IAAI,CAACC,MAASA,EAAK,OAAO,CAAC,CAAC,EAC5B,KAAK,EAAE,EACP,cACA,UAAU,GAAG,CAAC;AAGnB,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,wEACb,UAAA;AAAA,MAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,iCAAiC,UAAAV,GAAS;AAAA,MAEzD,gBAAAQ,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,gBAAAE,EAACC,GAAA,EAAO,SAAQ,WAAU,MAAK,WAAU,SAAST,GAAa,cAAW,QACxE,UAAA,gBAAAQ,EAACE,GAAA,EAAK,MAAM,IAAI,GAClB;AAAA,QACA,gBAAAF,EAACC,GAAA,EAAO,SAAQ,WAAU,MAAK,WAAU,SAASR,GAAiB,cAAW,YAC5E,UAAA,gBAAAO,EAACG,GAAA,EAAS,MAAM,IAAI,GACtB;AAAA,QACA,gBAAAH,EAACI,GAAA,EAAU,aAAY,WAAA,CAAW;AAAA,QAClC,gBAAAN,EAACO,GAAA,EAAO,SAASX,GACf,UAAA;AAAA,UAAA,gBAAAM,EAACM,KAAY,KAAKf,EAAY,QAAQ,KAAKA,EAAY,MAAM;AAAA,UAC7D,gBAAAS,EAACO,GAAA,EAAgB,UAAAZ,EAAYJ,EAAY,IAAI,EAAA,CAAE;AAAA,QAAA,GACjD;AAAA,QACA,gBAAAS,EAAC,OAAA,EAAI,WAAU,mCAAmC,YAAY,MAAK;AAAA,QAAO;AAAA,MAAA,EAAA,CAC5E;AAAA,IAAA,GACF;AAAA,sBACCI,GAAA,CAAA,CAAU;AAAA,EAAA,GACb;AAEJ;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime");;/* empty css */const e=require("lucide-react"),k=require("react"),h=require("../AppHeader/AppHeader.cjs"),S=require("../Navbar/Navbar.cjs"),p=require("../Sidebar/Sidebar.cjs"),C=({userProfile:c,hostname:o,organization:t,children:l})=>{const n=[{icon:e.Search,label:"Search"},{icon:e.SearchCode,label:"SQL Search"},{icon:e.Lamp,label:"Projects"},{icon:e.Workflow,label:"Pipelines"},{icon:e.Monitor,label:"Data & AI Workspace"},{icon:e.Box,label:"Artifacts"},{icon:e.Database,label:"Data Sources"},{icon:e.PieChart,label:"Health Monitoring"},{icon:e.CheckCheck,label:"Bulk Actions"},{icon:e.Code,label:"Attribute Management"},{icon:e.Settings,label:"Administration"}],[a,s]=k.useState("Pipelines"),r=b=>{s(b)},d=()=>{console.log("Home clicked")},u=()=>{console.log("Settings clicked")},m=()=>{console.log("User profile clicked")};return i.jsxs("div",{className:"app-layout",children:[i.jsx(S,{organization:t}),i.jsxs("div",{className:"content-container",children:[i.jsx(p,{items:n,activeItem:a,onItemClick:r}),i.jsxs("div",{className:"main-content",children:[i.jsx(h,{hostname:o,userProfile:c,onHomeClick:d,onSettingsClick:u,onUserProfileClick:m}),i.jsx("div",{className:"main-layout",children:l})]})]})]})};exports.AppLayout=C;
2
- //# sourceMappingURL=AppLayout.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppLayout.cjs","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","handleSidebarItemClick","label","handleHomeClick","handleSettingsClick","handleUserProfileClick","jsxs","jsx","Navbar","AppSidebar","AppHeader"],"mappings":"sTAkCMA,EAAsC,CAAC,CAC3C,YAAAC,EACA,SAAAC,EACA,aAAAC,EACA,SAAAC,CACF,IAAM,CAEJ,MAAMC,EAAe,CACnB,CAAE,KAAMC,EAAAA,OAAQ,MAAO,QAAA,EACvB,CAAE,KAAMC,EAAAA,WAAY,MAAO,YAAA,EAC3B,CAAE,KAAMC,EAAAA,KAAM,MAAO,UAAA,EACrB,CAAE,KAAMC,EAAAA,SAAU,MAAO,WAAA,EACzB,CAAE,KAAMC,EAAAA,QAAS,MAAO,qBAAA,EACxB,CAAE,KAAMC,EAAAA,IAAK,MAAO,WAAA,EACpB,CAAE,KAAMC,EAAAA,SAAU,MAAO,cAAA,EACzB,CAAE,KAAMC,EAAAA,SAAU,MAAO,mBAAA,EACzB,CAAE,KAAMC,EAAAA,WAAY,MAAO,cAAA,EAC3B,CAAE,KAAMC,EAAAA,KAAM,MAAO,sBAAA,EACrB,CAAE,KAAMC,WAAU,MAAO,gBAAA,CAAiB,EAItC,CAACC,EAAYC,CAAa,EAAIC,EAAAA,SAAS,WAAW,EAGlDC,EAA0BC,GAAkB,CAChDH,EAAcG,CAAK,CACrB,EAEMC,EAAkB,IAAM,CAC5B,QAAQ,IAAI,cAAc,CAC5B,EAEMC,EAAsB,IAAM,CAChC,QAAQ,IAAI,kBAAkB,CAChC,EAEMC,EAAyB,IAAM,CACnC,QAAQ,IAAI,sBAAsB,CACpC,EAEA,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,aACb,SAAA,CAAAC,MAACC,GAAO,aAAAxB,EAA4B,EAEpCsB,EAAAA,KAAC,MAAA,CAAI,UAAU,oBACb,SAAA,CAAAC,EAAAA,IAACE,EAAA,CACC,MAAOvB,EACP,WAAAY,EACA,YAAaG,CAAA,CAAA,EAGfK,EAAAA,KAAC,MAAA,CAAI,UAAU,eACb,SAAA,CAAAC,EAAAA,IAACG,EAAA,CACC,SAAA3B,EACA,YAAAD,EACA,YAAaqB,EACb,gBAAiBC,EACjB,mBAAoBC,CAAA,CAAA,EAGtBE,EAAAA,IAAC,MAAA,CAAI,UAAU,cAAe,SAAAtB,CAAA,CAAS,CAAA,CAAA,CACzC,CAAA,CAAA,CACF,CAAA,EACF,CAEJ"}
@@ -1,65 +0,0 @@
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
@@ -1 +0,0 @@
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;"}
@@ -1,2 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,75 +0,0 @@
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
@@ -1 +0,0 @@
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;"}
@@ -1,3 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,74 +0,0 @@
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
@@ -1 +0,0 @@
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;"}
@@ -1,6 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,66 +0,0 @@
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
@@ -1 +0,0 @@
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;"}
@@ -1,6 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,63 +0,0 @@
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