flowstudio 0.0.29 → 0.0.31
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/ai_creator.d.ts +1 -1
- package/dist/ai_creator.js +32 -128
- package/dist/ai_creator.js.map +1 -1
- package/dist/api_calls.d.ts +2 -0
- package/dist/api_calls.js +148 -0
- package/dist/api_calls.js.map +1 -0
- package/dist/app_analytics.d.ts +1 -1
- package/dist/app_analytics.js +75 -69
- package/dist/app_analytics.js.map +1 -1
- package/dist/app_details.d.ts +1 -1
- package/dist/app_details.js +25 -24
- package/dist/app_details.js.map +1 -1
- package/dist/app_layout.d.ts +2 -2
- package/dist/app_layout.js +4 -4
- package/dist/app_layout.js.map +1 -1
- package/dist/app_settings.d.ts +1 -1
- package/dist/app_settings.js +74 -7
- package/dist/app_settings.js.map +1 -1
- package/dist/bottom_left_panel.d.ts +1 -0
- package/dist/bottom_left_panel.js +8 -0
- package/dist/bottom_left_panel.js.map +1 -0
- package/dist/code.d.ts +1 -1
- package/dist/code.js +6 -2
- package/dist/code.js.map +1 -1
- package/dist/components/ftable.d.ts +13 -0
- package/dist/components/ftable.js +65 -0
- package/dist/components/ftable.js.map +1 -0
- package/dist/components/gsheet/index.d.ts +1 -0
- package/dist/components/gsheet/index.js +21 -0
- package/dist/components/gsheet/index.js.map +1 -0
- package/dist/components/mention_input/index.d.ts +18 -1
- package/dist/components/mention_input/index.js +203 -111
- package/dist/components/mention_input/index.js.map +1 -1
- package/dist/components/paginator_table.d.ts +1 -1
- package/dist/components/paginator_table.js +2 -2
- package/dist/components/paginator_table.js.map +1 -1
- package/dist/components/sheet/index.d.ts +1 -1
- package/dist/components/sheet/index.js +4 -2
- package/dist/components/sheet/index.js.map +1 -1
- package/dist/components/ui/alert.d.ts +8 -0
- package/dist/components/ui/alert.js +23 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/badge.d.ts +9 -0
- package/dist/components/ui/badge.js +21 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/button.d.ts +11 -0
- package/dist/components/ui/button.js +35 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/card.d.ts +8 -0
- package/dist/components/ui/card.js +17 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +19 -0
- package/dist/components/ui/dialog.js +33 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/dropdown-menu.js +46 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/form.d.ts +24 -0
- package/dist/components/ui/form.js +61 -0
- package/dist/components/ui/form.js.map +1 -0
- package/dist/components/ui/input-group.d.ts +16 -0
- package/dist/components/ui/input-group.js +65 -0
- package/dist/components/ui/input-group.js.map +1 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/input.js +9 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/label.d.ts +5 -0
- package/dist/components/ui/label.js +10 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/popover.d.ts +7 -0
- package/dist/components/ui/popover.js +23 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/scroll-area.js +12 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.d.ts +13 -0
- package/dist/components/ui/select.js +37 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.d.ts +4 -0
- package/dist/components/ui/separator.js +8 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.d.ts +13 -0
- package/dist/components/ui/sheet.js +93 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/skeleton.js +7 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/sonner.d.ts +3 -0
- package/dist/components/ui/sonner.js +42 -0
- package/dist/components/ui/sonner.js.map +1 -0
- package/dist/components/ui/spinner.d.ts +7 -0
- package/dist/components/ui/spinner.js +17 -0
- package/dist/components/ui/spinner.js.map +1 -0
- package/dist/components/ui/switch.d.ts +4 -0
- package/dist/components/ui/switch.js +8 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.d.ts +10 -0
- package/dist/components/ui/table.js +21 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +7 -0
- package/dist/components/ui/tabs.js +13 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/textarea.js +9 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +7 -0
- package/dist/components/ui/tooltip.js +11 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/constants.js +2 -2
- package/dist/constants.js.map +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.js +2 -2
- package/dist/context.js.map +1 -1
- package/dist/envs.d.ts +2 -2
- package/dist/envs.js +2 -150
- package/dist/envs.js.map +1 -1
- package/dist/functions.d.ts +2 -5
- package/dist/functions.js +2 -210
- package/dist/functions.js.map +1 -1
- package/dist/globals.css +253 -0
- package/dist/home.d.ts +1 -1
- package/dist/home.js +24 -14
- package/dist/home.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +57 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/pane-context.d.ts +10 -0
- package/dist/lib/pane-context.js +21 -0
- package/dist/lib/pane-context.js.map +1 -0
- package/dist/lib/toast.d.ts +12 -0
- package/dist/lib/toast.js +36 -0
- package/dist/lib/toast.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/new_project.d.ts +1 -1
- package/dist/new_project.js +60 -41
- package/dist/new_project.js.map +1 -1
- package/dist/node.d.ts +2 -2
- package/dist/node.js +157 -39
- package/dist/node.js.map +1 -1
- package/dist/project_widget.d.ts +2 -1
- package/dist/project_widget.js +6 -2
- package/dist/project_widget.js.map +1 -1
- package/dist/secrets.d.ts +2 -0
- package/dist/secrets.js +129 -0
- package/dist/secrets.js.map +1 -0
- package/dist/simulator.d.ts +1 -1
- package/dist/simulator.js +36 -33
- package/dist/simulator.js.map +1 -1
- package/dist/studio_pane.d.ts +1 -1
- package/dist/studio_pane.js +281 -56
- package/dist/studio_pane.js.map +1 -1
- package/dist/studio_pane_old.d.ts +1 -1
- package/dist/studio_pane_old.js +2 -3
- package/dist/studio_pane_old.js.map +1 -1
- package/dist/studio_pane_old_new.d.ts +1 -1
- package/dist/studio_pane_old_new.js +2 -3
- package/dist/studio_pane_old_new.js.map +1 -1
- package/dist/styles/globals.css +59 -0
- package/dist/styles.css +2 -0
- package/dist/top_center_panel.d.ts +1 -1
- package/dist/top_center_panel.js +4 -3
- package/dist/top_center_panel.js.map +1 -1
- package/dist/top_left_panel.d.ts +1 -1
- package/dist/top_left_panel.js +7 -41
- package/dist/top_left_panel.js.map +1 -1
- package/dist/top_right_panel.d.ts +1 -1
- package/dist/top_right_panel.js +12 -13
- package/dist/top_right_panel.js.map +1 -1
- package/dist/triggers.d.ts +2 -2
- package/dist/triggers.js +57 -37
- package/dist/triggers.js.map +1 -1
- package/dist/zustand/store.d.ts +319 -3
- package/package.json +51 -24
- package/src/globals.css +253 -0
- package/src/styles/globals.css +59 -0
- package/dist/components/combo_box/index.d.ts +0 -2
- package/dist/components/combo_box/index.js +0 -150
- package/dist/components/combo_box/index.js.map +0 -1
- package/dist/components/combo_box/style.css +0 -10
- package/dist/components/date_picker/index.d.ts +0 -1
- package/dist/components/date_picker/index.js +0 -46
- package/dist/components/date_picker/index.js.map +0 -1
- package/dist/components/date_picker/style.css +0 -204
- package/dist/components/gtable.d.ts +0 -15
- package/dist/components/gtable.js +0 -122
- package/dist/components/gtable.js.map +0 -1
- package/src/components/combo_box/style.css +0 -10
- package/src/components/date_picker/style.css +0 -204
package/dist/app_settings.js
CHANGED
|
@@ -1,15 +1,82 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Flex, Tabs } from "@radix-ui/themes";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
3
|
import { useConfigStore } from "./zustand/store";
|
|
5
4
|
import Triggers from "./triggers";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
5
|
+
import APICalls from "./api_calls";
|
|
6
|
+
import Secrets from "./secrets";
|
|
8
7
|
import AppDetails from "./app_details";
|
|
9
8
|
import Code from "./code";
|
|
10
|
-
import
|
|
11
|
-
|
|
9
|
+
import { Card, Tabs, TabsContent, TabsList, TabsTrigger, Button, Input, Textarea, Switch, Badge } from "@osanim/shared";
|
|
10
|
+
import { GSheet } from "@osanim/shared";
|
|
11
|
+
import { Pencil, Check, X } from "lucide-react";
|
|
12
|
+
import { useState, useEffect } from "react";
|
|
13
|
+
import flow_constants from "./constants";
|
|
14
|
+
import * as Zod from "zod";
|
|
15
|
+
import { zodResolver } from "@hookform/resolvers/zod";
|
|
16
|
+
import { useForm } from "react-hook-form";
|
|
17
|
+
import { Spinner } from "@osanim/shared";
|
|
18
|
+
import { Form, FormControl, FormField, FormItem, FormMessage } from "@osanim/shared";
|
|
19
|
+
export default function AppSettings({ api_key, project, projectRefetch, projectsRefetch, providers, provider, triggers, triggersRefetch, functions, functionsRefetch, envs, envsRefetch }) {
|
|
12
20
|
const { appTheme, openSettings, setOpenSettings } = useConfigStore();
|
|
13
|
-
|
|
21
|
+
const [isEditMode, setIsEditMode] = useState(false);
|
|
22
|
+
const formSchema = Zod.object({
|
|
23
|
+
name: Zod.string().min(1, 'required'),
|
|
24
|
+
description: Zod.string(),
|
|
25
|
+
active: Zod.boolean()
|
|
26
|
+
});
|
|
27
|
+
const form = useForm({
|
|
28
|
+
resolver: zodResolver(formSchema),
|
|
29
|
+
defaultValues: {
|
|
30
|
+
name: (project === null || project === void 0 ? void 0 : project.name) || '',
|
|
31
|
+
description: (project === null || project === void 0 ? void 0 : project.description) || '',
|
|
32
|
+
active: (project === null || project === void 0 ? void 0 : project.active) || false
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
const onSubmit = async (data) => {
|
|
36
|
+
try {
|
|
37
|
+
const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/projects/${project === null || project === void 0 ? void 0 : project.identifier}`, {
|
|
38
|
+
method: 'PATCH',
|
|
39
|
+
headers: { "X-API-KEY": `${api_key}`, "Content-Type": "application/json" },
|
|
40
|
+
body: JSON.stringify(data)
|
|
41
|
+
});
|
|
42
|
+
if (response.ok) {
|
|
43
|
+
setIsEditMode(false);
|
|
44
|
+
await projectRefetch();
|
|
45
|
+
await projectsRefetch();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error('Error saving project details:', error);
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
form.reset(data);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const handleCancel = () => {
|
|
56
|
+
form.reset({
|
|
57
|
+
name: (project === null || project === void 0 ? void 0 : project.name) || '',
|
|
58
|
+
description: (project === null || project === void 0 ? void 0 : project.description) || '',
|
|
59
|
+
active: (project === null || project === void 0 ? void 0 : project.active) || false
|
|
60
|
+
});
|
|
61
|
+
setIsEditMode(false);
|
|
62
|
+
};
|
|
63
|
+
const handleToggleEdit = () => {
|
|
64
|
+
if (isEditMode) {
|
|
65
|
+
setIsEditMode(false);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
setIsEditMode(true);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
if (project) {
|
|
73
|
+
form.reset({
|
|
74
|
+
name: (project === null || project === void 0 ? void 0 : project.name) || '',
|
|
75
|
+
description: (project === null || project === void 0 ? void 0 : project.description) || '',
|
|
76
|
+
active: (project === null || project === void 0 ? void 0 : project.active) || false
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}, [project, form]);
|
|
80
|
+
return (_jsx(GSheet, { open: openSettings, setOpen: setOpenSettings, title: "App Settings", showCloseBtn: true, side: "right", maxWidth: '550px', children: _jsxs("div", { className: "flex flex-col flex-grow p-4 w-full gap-5", children: [_jsxs("div", { className: "flex gap-5 items-start", children: [_jsx("div", { className: "flex shrink-0", children: _jsx(Card, { className: "gap-0 p-0 overflow-hidden", children: _jsx("img", { src: '', alt: project === null || project === void 0 ? void 0 : project.logo, style: { width: 50, height: 50 } }) }) }), _jsx("div", { className: 'flex flex-col grow', children: isEditMode ? (_jsx(Form, { ...form, children: _jsxs("form", { id: "project-form", onSubmit: form.handleSubmit(onSubmit), className: "flex flex-col gap-2", children: [_jsx(FormField, { control: form.control, name: "name", render: ({ field }) => (_jsxs(FormItem, { children: [_jsx(FormControl, { children: _jsx(Input, { placeholder: "Project name", className: "text-sm", maxLength: 50, ...field }) }), _jsx(FormMessage, {})] })) }), _jsx(FormField, { control: form.control, name: "description", render: ({ field }) => (_jsxs(FormItem, { children: [_jsx(FormControl, { children: _jsx(Textarea, { placeholder: "Project description", className: "text-xs resize-none", rows: 3, maxLength: 500, ...field }) }), _jsx(FormMessage, {})] })) }), _jsx(FormField, { control: form.control, name: "active", render: ({ field }) => (_jsx(FormItem, { children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(FormControl, { children: _jsx(Switch, { checked: field.value, onCheckedChange: field.onChange }) }), _jsx("span", { className: "text-xs text-muted-foreground", children: form.watch('active') ? 'Activated' : 'Deactivated' })] }) })) })] }) })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("h3", { children: project === null || project === void 0 ? void 0 : project.name }), _jsx(Badge, { variant: (project === null || project === void 0 ? void 0 : project.active) ? 'default' : 'destructive', className: "text-[10px] h-5 px-2", children: (project === null || project === void 0 ? void 0 : project.active) ? 'Active' : 'Inactive' })] }), _jsx("p", { className: "text-muted-foreground text-xs line-clamp-4 overflow-hidden", children: project === null || project === void 0 ? void 0 : project.description })] })) }), _jsx("div", { className: "flex shrink-0 gap-1", children: isEditMode ? (_jsxs(_Fragment, { children: [_jsx(Button, { size: "icon", variant: "ghost", type: "submit", form: "project-form", disabled: form.formState.isSubmitting, className: "h-6 w-6", children: form.formState.isSubmitting ? _jsx(Spinner, {}) : _jsx(Check, { size: 12 }) }), _jsx(Button, { size: "icon", type: 'button', variant: "ghost", onClick: handleCancel, className: "h-6 w-6", children: _jsx(X, { size: 12 }) })] })) : (_jsx(Button, { size: "icon", type: "button", variant: "ghost", onClick: (e) => { e.preventDefault(); setIsEditMode(true); }, className: "h-6 w-6", children: _jsx(Pencil, { size: 12 }) })) })] }), _jsxs(Tabs, { defaultValue: "triggers", className: "", children: [_jsxs(TabsList, { className: "rounded-sm px-2", children: [_jsx(TabsTrigger, { value: "triggers", className: "flex-1 text-xs rounded-xs", children: "Source Triggers" }), _jsx(TabsTrigger, { value: "functions", className: "flex-1 text-xs rounded-xs", children: "API Calls" }), _jsx(TabsTrigger, { value: "envs", className: "flex-1 text-xs rounded-xs", children: "Secrets" })] }), _jsx(TabsContent, { value: "details", children: _jsx("div", { className: "flex flex-col gap-3", children: _jsx(AppDetails, { api_key: api_key, project: project, projectsRefetch: projectsRefetch }) }) }), _jsx(TabsContent, { value: "triggers", children: _jsx("div", { className: "flex flex-col gap-3", children: _jsx(Triggers, { api_key: api_key, project: project, triggers: triggers, triggersRefetch: triggersRefetch, providers: providers, provider: provider }) }) }), _jsx(TabsContent, { value: "functions", children: _jsx("div", { className: "flex flex-col gap-3", children: _jsx(APICalls, { api_key: api_key, project: project, functions: functions, functionsRefetch: functionsRefetch, envs: envs }) }) }), _jsx(TabsContent, { value: "envs", children: _jsx("div", { className: "flex flex-col gap-3", children: _jsx(Secrets, { api_key: api_key, project: project, envs: envs, envsRefetch: envsRefetch }) }) }), _jsx(TabsContent, { value: "code", children: _jsx("div", { className: "flex flex-col gap-3", children: _jsx(Code, { api_key: api_key, project: project }) }) })] })] }) }));
|
|
14
81
|
}
|
|
15
82
|
//# sourceMappingURL=app_settings.js.map
|
package/dist/app_settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app_settings.js","sourceRoot":"","sources":["../src/app_settings.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,
|
|
1
|
+
{"version":3,"file":"app_settings.js","sourceRoot":"","sources":["../src/app_settings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function BottomLeftPanel({ api_key, projectId }: any): import("react").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Card } from "@osanim/shared";
|
|
4
|
+
import AICreator from "./ai_creator";
|
|
5
|
+
export default function BottomLeftPanel({ api_key, projectId }) {
|
|
6
|
+
return (_jsx("div", { className: "flex flex-col gap-3 items-center", children: _jsx(Card, { className: "p-1 rounded-md", children: _jsx("div", { className: "flex flex-col gap-1", children: _jsx(AICreator, { api_key: api_key, projectId: projectId }) }) }) }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=bottom_left_panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bottom_left_panel.js","sourceRoot":"","sources":["../src/bottom_left_panel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAE,EAAC,OAAO,EAAE,SAAS,EAAK;IAE7D,OAAO,CAAC,cAAK,SAAS,EAAC,kCAAkC,YAErD,KAAC,IAAI,IAAC,SAAS,EAAC,gBAAgB,YAC5B,cAAK,SAAS,EAAC,qBAAqB,YAEhC,KAAC,SAAS,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,GACnD,GACH,GACD,CAAC,CAAA;AACf,CAAC"}
|
package/dist/code.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function Code({ project }: any): import("react
|
|
1
|
+
export default function Code({ project }: any): import("react").JSX.Element;
|
package/dist/code.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button
|
|
2
|
+
import { Button } from "./components/ui/button";
|
|
3
|
+
import { Card } from "./components/ui/card";
|
|
4
|
+
import { Separator } from "./components/ui/separator";
|
|
5
|
+
import { Alert, AlertDescription } from "./components/ui/alert";
|
|
6
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "./components/ui/dropdown-menu";
|
|
3
7
|
import { InfoCircledIcon } from "@radix-ui/react-icons";
|
|
4
8
|
import { BiCode, BiExport, BiImport } from "react-icons/bi";
|
|
5
9
|
export default function Code({ project }) {
|
|
6
|
-
return (_jsxs(
|
|
10
|
+
return (_jsxs("div", { className: "flex flex-col gap-3 mt-1", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("div", { className: "flex flex-col flex-grow", children: _jsx("span", { className: "font-bold", children: "Code" }) }), _jsx("div", { className: "flex gap-3 flex-shrink-0", children: _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { type: "button", size: "sm", children: [_jsx(BiCode, {}), " Source Code"] }) }), _jsxs(DropdownMenuContent, { className: "rounded-md", sideOffset: 5, align: "end", children: [_jsxs(DropdownMenuItem, { onClick: () => { }, disabled: true, children: [_jsx(BiImport, {}), " Import Code"] }), _jsxs(DropdownMenuItem, { onClick: () => { }, disabled: true, children: [_jsx(BiExport, {}), " Generate Code"] })] })] }) })] }), _jsx(Separator, {}), _jsxs(Alert, { variant: "default", children: [_jsx(InfoCircledIcon, { className: "h-4 w-4" }), _jsx(AlertDescription, { className: "text-xs text-muted-foreground", children: "Generate code from your flow app into any preferred language. or import code from any existing project." })] }), _jsx(Card, { className: "min-h-[400px]" })] }));
|
|
7
11
|
}
|
|
8
12
|
//# sourceMappingURL=code.js.map
|
package/dist/code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.js","sourceRoot":"","sources":["../src/code.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../src/code.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAE,OAAO,EAAO;IAEzC,OAAO,CAAC,eAAK,SAAS,EAAC,0BAA0B,aAE7C,eAAK,SAAS,EAAC,mCAAmC,aAC9C,cAAK,SAAS,EAAC,yBAAyB,YACpC,eAAM,SAAS,EAAC,WAAW,qBAAY,GACrC,EACN,cAAK,SAAS,EAAC,0BAA0B,YACrC,MAAC,YAAY,eACT,KAAC,mBAAmB,IAAC,OAAO,kBACxB,MAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,aAAC,KAAC,MAAM,KAAE,oBAAqB,GAC5C,EACtB,MAAC,mBAAmB,IAAC,SAAS,EAAC,YAAY,EAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAC,KAAK,aAClE,MAAC,gBAAgB,IAAC,OAAO,EAAE,GAAE,EAAE,GAAC,CAAC,EAAE,QAAQ,mBAAC,KAAC,QAAQ,KAAE,oBAA+B,EACtF,MAAC,gBAAgB,IAAC,OAAO,EAAE,GAAE,EAAE,GAAC,CAAC,EAAE,QAAQ,mBAAC,KAAC,QAAQ,KAAE,sBAAiC,IACtE,IACX,GACb,IACJ,EAEd,KAAC,SAAS,KAAG,EACT,MAAC,KAAK,IAAC,OAAO,EAAC,SAAS,aAC1B,KAAC,eAAe,IAAC,SAAS,EAAC,SAAS,GAAG,EACvC,KAAC,gBAAgB,IAAC,SAAS,EAAC,+BAA+B,wHAExC,IACZ,EAET,KAAC,IAAI,IAAC,SAAS,EAAC,eAAe,GAExB,IACG,CAAC,CAAA;AACX,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ColumnDef } from "@tanstack/react-table";
|
|
2
|
+
interface DataTableProps<TData, TValue> {
|
|
3
|
+
columns: ColumnDef<TData, TValue>[];
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
apiKey?: string;
|
|
6
|
+
topLeft?: React.ReactNode;
|
|
7
|
+
topRight?: React.ReactNode;
|
|
8
|
+
queryKey?: string;
|
|
9
|
+
refetchOnMount?: boolean;
|
|
10
|
+
staleTime?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function FTable<TData, TValue>({ columns, apiUrl, apiKey, topLeft, topRight, queryKey, refetchOnMount, staleTime, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { useQuery, keepPreviousData } from "@tanstack/react-query";
|
|
5
|
+
import { Button } from "./ui/button";
|
|
6
|
+
import { Input } from "./ui/input";
|
|
7
|
+
import { Label } from "./ui/label";
|
|
8
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "./ui/select";
|
|
9
|
+
import { IconChevronLeft, IconChevronRight, IconChevronsLeft, IconChevronsRight, } from "@tabler/icons-react";
|
|
10
|
+
import { flexRender, getCoreRowModel, useReactTable, } from "@tanstack/react-table";
|
|
11
|
+
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "./ui/table";
|
|
12
|
+
import { Skeleton } from "./ui/skeleton";
|
|
13
|
+
export function FTable({ columns, apiUrl, apiKey, topLeft, topRight, queryKey = "table-data", refetchOnMount = false, staleTime = 5 * 60 * 1000, // 5 minutes default
|
|
14
|
+
}) {
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
|
+
const [pageIndex, setPageIndex] = useState(1); // DRF is 1-based
|
|
17
|
+
const [pageSize, setPageSize] = useState(10);
|
|
18
|
+
const [search, setSearch] = useState("");
|
|
19
|
+
// ✅ Safely merge query params (works even if apiUrl already has some)
|
|
20
|
+
const buildUrl = () => {
|
|
21
|
+
const url = new URL(apiUrl, typeof window !== "undefined" ? window.location.origin : "http://localhost");
|
|
22
|
+
url.searchParams.set("page", String(pageIndex));
|
|
23
|
+
url.searchParams.set("page_size", String(pageSize));
|
|
24
|
+
if (search)
|
|
25
|
+
url.searchParams.set("search", search);
|
|
26
|
+
return url.toString();
|
|
27
|
+
};
|
|
28
|
+
// ✅ React Query v5 with improved caching
|
|
29
|
+
const { data, isPending, isFetching } = useQuery({
|
|
30
|
+
queryKey: [queryKey, apiUrl, pageIndex, pageSize, search],
|
|
31
|
+
queryFn: async () => {
|
|
32
|
+
const headers = {};
|
|
33
|
+
if (apiKey)
|
|
34
|
+
headers["X-API-KEY"] = apiKey;
|
|
35
|
+
const res = await fetch(buildUrl(), { headers });
|
|
36
|
+
if (!res.ok)
|
|
37
|
+
throw new Error("Failed to fetch data");
|
|
38
|
+
return res.json();
|
|
39
|
+
},
|
|
40
|
+
placeholderData: keepPreviousData, // ✅ replaces keepPreviousData: true
|
|
41
|
+
staleTime, // ✅ data stays fresh for this duration
|
|
42
|
+
gcTime: staleTime * 2, // ✅ cache persists for 2x staleTime (formerly cacheTime)
|
|
43
|
+
refetchOnMount, // ✅ control refetch on mount
|
|
44
|
+
refetchOnWindowFocus: false, // ✅ don't refetch on window focus
|
|
45
|
+
});
|
|
46
|
+
const table = useReactTable({
|
|
47
|
+
data: (_a = data === null || data === void 0 ? void 0 : data.results) !== null && _a !== void 0 ? _a : [],
|
|
48
|
+
columns,
|
|
49
|
+
getCoreRowModel: getCoreRowModel(),
|
|
50
|
+
manualPagination: true,
|
|
51
|
+
pageCount: Math.ceil(((_b = data === null || data === void 0 ? void 0 : data.count) !== null && _b !== void 0 ? _b : 0) / pageSize),
|
|
52
|
+
});
|
|
53
|
+
const totalCount = (_c = data === null || data === void 0 ? void 0 : data.count) !== null && _c !== void 0 ? _c : 0;
|
|
54
|
+
const totalPages = Math.ceil(totalCount / pageSize);
|
|
55
|
+
return (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Input, { placeholder: "Search", value: search, onChange: (e) => {
|
|
56
|
+
setSearch(e.target.value);
|
|
57
|
+
setPageIndex(1);
|
|
58
|
+
}, className: "max-w-sm" }), topLeft] }), _jsx("div", { children: topRight })] }), _jsx("div", { className: "overflow-hidden rounded-md border", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => (_jsx(TableRow, { children: headerGroup.headers.map((header) => (_jsx(TableHead, { children: flexRender(header.column.columnDef.header, header.getContext()) }, header.id))) }, headerGroup.id))) }), _jsx(TableBody, { children: isPending || isFetching ? (
|
|
59
|
+
// 🦴 Skeleton loading rows
|
|
60
|
+
[...Array(10)].map((_, i) => (_jsx(TableRow, { children: columns.map((_, j) => (_jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-full" }) }, `skeleton-cell-${i}-${j}`))) }, `skeleton-${i}`)))) : ((_d = data === null || data === void 0 ? void 0 : data.results) === null || _d === void 0 ? void 0 : _d.length) ? (table.getRowModel().rows.map((row) => (_jsx(TableRow, { children: row.getVisibleCells().map((cell) => (_jsx(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))) }, row.id)))) : (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: columns.length, className: "text-center", children: "No Results" }) })) })] }) }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Label, { htmlFor: "rows-per-page", className: "text-sm font-medium", children: "Rows per page" }), _jsxs(Select, { value: `${pageSize}`, onValueChange: (value) => {
|
|
61
|
+
setPageSize(Number(value));
|
|
62
|
+
setPageIndex(1);
|
|
63
|
+
}, children: [_jsx(SelectTrigger, { className: "w-20", id: "rows-per-page", children: _jsx(SelectValue, { placeholder: pageSize }) }), _jsx(SelectContent, { side: "top", children: [5, 10, 20, 50].map((size) => (_jsx(SelectItem, { value: `${size}`, children: size }, size))) })] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { variant: "outline", size: "icon", onClick: () => setPageIndex(1), disabled: pageIndex === 1, children: _jsx(IconChevronsLeft, {}) }), _jsx(Button, { variant: "outline", size: "icon", onClick: () => setPageIndex((p) => Math.max(p - 1, 1)), disabled: pageIndex === 1, children: _jsx(IconChevronLeft, {}) }), _jsxs("span", { className: "px-2 text-sm", children: ["Page ", pageIndex, " of ", totalPages || 1] }), _jsx(Button, { variant: "outline", size: "icon", onClick: () => setPageIndex((p) => Math.min(p + 1, totalPages)), disabled: pageIndex >= totalPages, children: _jsx(IconChevronRight, {}) }), _jsx(Button, { variant: "outline", size: "icon", onClick: () => setPageIndex(totalPages), disabled: pageIndex >= totalPages, children: _jsx(IconChevronsRight, {}) })] })] })] }));
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=ftable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ftable.js","sourceRoot":"","sources":["../../src/components/ftable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function GSheet({ children, title, subtitle, side, open, setOpen, onClose, maxWidth, }: any): import("react").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Separator } from "../ui/separator";
|
|
4
|
+
import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription, } from "../ui/sheet";
|
|
5
|
+
export default function GSheet({ children, title = "", subtitle = "", side = "right", open, setOpen, onClose, maxWidth = "400px", }) {
|
|
6
|
+
const handleOpenChange = (newOpen) => {
|
|
7
|
+
if (!newOpen && onClose) {
|
|
8
|
+
// Call custom onClose handler if provided
|
|
9
|
+
onClose();
|
|
10
|
+
}
|
|
11
|
+
else if (!newOpen) {
|
|
12
|
+
// Default behavior
|
|
13
|
+
setOpen(newOpen);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
setOpen(newOpen);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
return (_jsx(Sheet, { open: open, onOpenChange: handleOpenChange, children: _jsxs(SheetContent, { side: side, className: `w-full flex flex-col gap-0`, style: { maxWidth }, children: [_jsxs(SheetHeader, { className: "flex-shrink-0", children: [_jsx(SheetTitle, { children: title }), subtitle && _jsx(SheetDescription, { children: subtitle })] }), _jsx(Separator, {}), _jsx("div", { className: "flex-1 min-h-0 space-y-4 overflow-y-auto pr-2", children: children })] }) }));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/gsheet/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,KAAK,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,EAAE,EACb,IAAI,GAAG,OAAO,EACd,IAAI,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,GAAG,OAAO,GACd;IACJ,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;QAC5C,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;YACxB,0CAA0C;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,mBAAmB;YACnB,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,YAE/C,MAAC,YAAY,IACX,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,4BAA4B,EACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,aAEnB,MAAC,WAAW,IAAC,SAAS,EAAC,eAAe,aACpC,KAAC,UAAU,cAAE,KAAK,GAAc,EAC/B,QAAQ,IAAI,KAAC,gBAAgB,cAAE,QAAQ,GAAoB,IAChD,EACd,KAAC,SAAS,KAAG,EACb,cAAK,SAAS,EAAC,+CAA+C,YAC3D,QAAQ,GACL,IACO,GACT,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface MentionTextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'> {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
nodes?: Array<{
|
|
6
|
+
data?: {
|
|
7
|
+
label?: string;
|
|
8
|
+
};
|
|
9
|
+
}>;
|
|
10
|
+
apiCalls?: Array<{
|
|
11
|
+
name: string;
|
|
12
|
+
}>;
|
|
13
|
+
secrets?: Array<{
|
|
14
|
+
name: string;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
export default function MentionTextarea({ value, onChange, nodes, apiCalls, secrets, className, rows, placeholder, ...rest }: MentionTextareaProps): React.JSX.Element;
|
|
18
|
+
export {};
|