@lobb-js/studio 0.1.42 → 0.1.43

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.
@@ -1,11 +1,10 @@
1
1
  <script lang="ts">
2
- import { lobb } from "..";
2
+ import { lobb, ctx } from "../store.svelte";
3
3
  import { Brain, LoaderIcon, Send } from "lucide-svelte";
4
4
  import Button, { type ButtonProps } from "./ui/button/button.svelte";
5
5
  import * as Popover from "./ui/popover";
6
6
  import Textarea from "./ui/textarea/textarea.svelte";
7
7
  import { toast } from "svelte-sonner";
8
- import { ctx } from "../store.svelte";
9
8
 
10
9
  interface LocalProp {
11
10
  value?: any;
@@ -2,8 +2,7 @@
2
2
  import { Toaster } from "./ui/sonner";
3
3
  import { onMount, onDestroy } from "svelte";
4
4
  import { ModeWatcher } from "mode-watcher";
5
- import { ctx } from "../store.svelte";
6
- import { lobb } from "..";
5
+ import { lobb, ctx } from "../store.svelte";
7
6
  import Header from "./header.svelte";
8
7
  import { LoaderCircle, ServerOff } from "lucide-svelte";
9
8
  import Dialog from "./confirmationDialog/confirmationDialog.svelte";
@@ -4,7 +4,7 @@
4
4
  import Button, { type ButtonProps } from "./ui/button/button.svelte";
5
5
  import { toast } from "svelte-sonner";
6
6
  import CodeEditor from "./codeEditor.svelte";
7
- import { lobb } from "..";
7
+ import { lobb } from "../store.svelte";
8
8
  import { calculateDrawerWidth } from "../utils";
9
9
  import Drawer from "./drawer.svelte";
10
10
 
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import _ from "lodash";
3
- import { lobb } from "../..";
3
+ import { lobb, ctx } from "../../store.svelte";
4
4
  import Footer from "./footer.svelte";
5
5
  import Header from "./header.svelte";
6
6
  import Table, { type TableProps } from "./table.svelte";
@@ -10,7 +10,6 @@
10
10
  import ChildRecords from "./childRecords.svelte";
11
11
  import FieldCell from "./fieldCell.svelte";
12
12
  import Skeleton from "../ui/skeleton/skeleton.svelte";
13
- import { ctx } from "../../store.svelte";
14
13
  import Button from "../ui/button/button.svelte";
15
14
  import { showDialog } from "../confirmationDialog/store.svelte";
16
15
  import UpdateDetailViewButton from "../detailView/update/updateDetailViewButton.svelte";
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { ctx } from "../../store.svelte";
2
+ import { lobb, ctx } from "../../store.svelte";
3
3
  import { ListRestart, Plus, SquareStack, Trash } from "lucide-svelte";
4
4
  import LlmButton from "../LlmButton.svelte";
5
5
  import FilterButton from "./filterButton.svelte";
@@ -7,7 +7,6 @@
7
7
  import Button from "../ui/button/button.svelte";
8
8
  import CreateManyButton from "../createManyButton.svelte";
9
9
  import { showDialog } from "../confirmationDialog/store.svelte";
10
- import { lobb } from "../..";
11
10
  import CreateDetailViewButton from "../detailView/create/createDetailViewButton.svelte";
12
11
  import type { Snippet } from "svelte";
13
12
 
@@ -19,9 +19,8 @@
19
19
  <script lang="ts">
20
20
  import { ArrowLeft, Plus, X } from "lucide-svelte";
21
21
  import Button from "../../ui/button/button.svelte";
22
- import { lobb } from "../../..";
22
+ import { lobb, ctx } from "../../../store.svelte";
23
23
  import { toast } from "svelte-sonner";
24
- import { ctx } from "../../../store.svelte";
25
24
  import ExtensionsComponents from "../../extensionsComponents.svelte";
26
25
  import { getExtensionUtils } from "../../../extensions/extensionUtils";
27
26
  import { getField, getFieldIcon } from "../../dataTable/utils";
@@ -47,7 +47,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  };
48
48
  import CreateDetailView from "./create/createDetailView.svelte";
49
49
  import UpdateDetailView from "./update/updateDetailView.svelte";
50
- import { lobb } from "../..";
50
+ import { lobb } from "../../store.svelte";
51
51
  import { getCollectionParamsFields } from "../dataTable/utils";
52
52
  import { mount, unmount } from "svelte";
53
53
  export function openCreateDetailView(props) {
@@ -21,9 +21,8 @@
21
21
  import { ArrowLeft, Pencil, X } from "lucide-svelte";
22
22
  import Button from "../../ui/button/button.svelte";
23
23
  import { fade, fly } from "svelte/transition";
24
- import { lobb } from "../../..";
24
+ import { lobb, ctx } from "../../../store.svelte";
25
25
  import { toast } from "svelte-sonner";
26
- import { ctx } from "../../../store.svelte";
27
26
  import ExtensionsComponents from "../../extensionsComponents.svelte";
28
27
  import { getExtensionUtils } from "../../../extensions/extensionUtils";
29
28
  import { calculateDrawerWidth, getChangedProperties } from "../../../utils";
@@ -1,13 +1,12 @@
1
1
  <script lang="ts">
2
2
  import DiffViewer from "../../diffViewer.svelte";
3
- import { ctx } from "../../../store.svelte";
3
+ import { lobb, ctx } from "../../../store.svelte";
4
4
  import { onMount } from "svelte";
5
5
  import stringify from "json-stable-stringify";
6
6
  import CodeEditor from "../../codeEditor.svelte";
7
7
  import Table from "../../dataTable/table.svelte";
8
8
  import Button from "../../ui/button/button.svelte";
9
9
  import { LoaderCircle, SendHorizontal } from "lucide-svelte";
10
- import { lobb } from "../../..";
11
10
 
12
11
  let configSchema: string = $state("");
13
12
  let dbSchema: string = $state("");
@@ -3,10 +3,9 @@
3
3
  import WorkflowEditor, {
4
4
  type WorkflowEntry,
5
5
  } from "../../workflowEditor.svelte";
6
- import { lobb } from "../../..";
6
+ import { lobb, ctx } from "../../../store.svelte";
7
7
  import Sidebar from "../../sidebar/sidebar.svelte";
8
8
  import Button from "../../ui/button/button.svelte";
9
- import { ctx } from "../../../store.svelte";
10
9
  import { location } from "@wjfe/n-savant";
11
10
  import { CircleSlash2, Plus, Trash2 } from "lucide-svelte";
12
11
  import { onMount } from "svelte";
@@ -5,7 +5,7 @@
5
5
  import SidebarTrigger from "./sidebar/sidebarTrigger.svelte";
6
6
  import Button from "./ui/button/button.svelte";
7
7
  import { onMount } from "svelte";
8
- import { lobb } from "..";
8
+ import { lobb } from "../store.svelte";
9
9
  import { toast } from "svelte-sonner";
10
10
  import Skeleton from "./ui/skeleton/skeleton.svelte";
11
11
 
@@ -0,0 +1,6 @@
1
+ import { RangeCalendar as RangeCalendarPrimitive } from "bits-ui";
2
+ declare const RangeCalendarDay: import("svelte").Component<RangeCalendarPrimitive.DayProps, {
3
+ class: import("svelte/elements").ClassValue;
4
+ }, "ref">;
5
+ type RangeCalendarDay = ReturnType<typeof RangeCalendarDay>;
6
+ export default RangeCalendarDay;
@@ -11,11 +11,10 @@
11
11
  </script>
12
12
 
13
13
  <script lang="ts">
14
- import { lobb } from "..";
14
+ import { lobb, ctx } from "../store.svelte";
15
15
  import CodeEditor from "./codeEditor.svelte";
16
16
  import Button from "./ui/button/button.svelte";
17
17
  import Input from "./ui/input/input.svelte";
18
- import { ctx } from "../store.svelte";
19
18
  import { location } from "@wjfe/n-savant";
20
19
  import { Edit, Plus } from "lucide-svelte";
21
20
  import { toast } from "svelte-sonner";
@@ -43,8 +43,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
43
43
  }
44
44
  return to.concat(ar || Array.prototype.slice.call(from));
45
45
  };
46
- import { lobb } from "..";
47
- import { ctx } from "../store.svelte";
46
+ import { lobb, ctx } from "../store.svelte";
48
47
  import { toast } from "svelte-sonner";
49
48
  import { showDialog } from "../components/confirmationDialog/store.svelte";
50
49
  import { Button } from "../components/ui/button";
package/dist/index.d.ts CHANGED
@@ -1,9 +1,24 @@
1
+ export type { ExtensionProps, Extension, ExtensionUtils } from "./extensions/extension.types";
2
+ export type { Lobb } from "./Lobb";
1
3
  export { default as Studio } from "./components/Studio.svelte";
2
- export { Lobb } from "./Lobb";
3
- export * from "./utils";
4
- export * from "./eventSystem";
5
- export { ctx, lobb } from "./store.svelte";
6
- export type * from "./store.types";
7
- export declare function createSet(lastNumber: number): Set<number>;
8
- export declare function moveElement<T>(array: T[], fromIndex: number, toIndex: number): T[];
9
- export declare function pxToRem(px: number): number;
4
+ export { Button } from "./components/ui/button";
5
+ export { Input } from "./components/ui/input";
6
+ export { Separator } from "./components/ui/separator";
7
+ export { Skeleton } from "./components/ui/skeleton";
8
+ export { default as LlmButton } from "./components/LlmButton.svelte";
9
+ export { default as Sidebar } from "./components/sidebar/sidebar.svelte";
10
+ export { default as SidebarTrigger } from "./components/sidebar/sidebarTrigger.svelte";
11
+ export { default as CreateDetailViewButton } from "./components/detailView/create/createDetailViewButton.svelte";
12
+ export { default as UpdateDetailViewButton } from "./components/detailView/update/updateDetailViewButton.svelte";
13
+ export * as Tooltip from "./components/ui/tooltip";
14
+ export * as Breadcrumb from "./components/ui/breadcrumb";
15
+ export { ContextMenu } from "bits-ui";
16
+ export * as Popover from "./components/ui/popover";
17
+ export * as Icons from "lucide-svelte";
18
+ export * as Dialog from "./components/ui/dialog/index";
19
+ export { default as Table } from "./components/dataTable/table.svelte";
20
+ export { default as RangeCalendarButton } from "./components/rangeCalendarButton.svelte";
21
+ export { default as DataTable } from "./components/dataTable/dataTable.svelte";
22
+ export { default as Drawer } from "./components/drawer.svelte";
23
+ export { default as SelectRecord } from "./components/selectRecord.svelte";
24
+ export { Switch } from "./components/ui/switch";
package/dist/index.js CHANGED
@@ -1,27 +1,22 @@
1
- // Main Studio component
2
1
  export { default as Studio } from "./components/Studio.svelte";
3
- // Lobb client and utilities
4
- export { Lobb } from "./Lobb";
5
- export * from "./utils";
6
- export * from "./eventSystem";
7
- export { ctx, lobb } from "./store.svelte";
8
- export function createSet(lastNumber) {
9
- var set = new Set();
10
- for (var i = 0; i <= lastNumber; i++) {
11
- set.add(i);
12
- }
13
- return set;
14
- }
15
- export function moveElement(array, fromIndex, toIndex) {
16
- if (fromIndex < 0 || fromIndex >= array.length || toIndex < 0 ||
17
- toIndex >= array.length) {
18
- throw new Error("Index out of bounds");
19
- }
20
- var element = array.splice(fromIndex, 1)[0];
21
- array.splice(toIndex, 0, element);
22
- return array;
23
- }
24
- export function pxToRem(px) {
25
- var rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
26
- return px / rootFontSize;
27
- }
2
+ export { Button } from "./components/ui/button";
3
+ export { Input } from "./components/ui/input";
4
+ export { Separator } from "./components/ui/separator";
5
+ export { Skeleton } from "./components/ui/skeleton";
6
+ export { default as LlmButton } from "./components/LlmButton.svelte";
7
+ export { default as Sidebar } from "./components/sidebar/sidebar.svelte";
8
+ export { default as SidebarTrigger } from "./components/sidebar/sidebarTrigger.svelte";
9
+ export { default as CreateDetailViewButton } from "./components/detailView/create/createDetailViewButton.svelte";
10
+ export { default as UpdateDetailViewButton } from "./components/detailView/update/updateDetailViewButton.svelte";
11
+ export * as Tooltip from "./components/ui/tooltip";
12
+ export * as Breadcrumb from "./components/ui/breadcrumb";
13
+ export { ContextMenu } from "bits-ui";
14
+ export * as Popover from "./components/ui/popover";
15
+ export * as Icons from "lucide-svelte";
16
+ export * as Dialog from "./components/ui/dialog/index";
17
+ export { default as Table } from "./components/dataTable/table.svelte";
18
+ export { default as RangeCalendarButton } from "./components/rangeCalendarButton.svelte";
19
+ export { default as DataTable } from "./components/dataTable/dataTable.svelte";
20
+ export { default as Drawer } from "./components/drawer.svelte";
21
+ export { default as SelectRecord } from "./components/selectRecord.svelte";
22
+ export { Switch } from "./components/ui/switch";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobb-js/studio",
3
- "version": "0.1.42",
3
+ "version": "0.1.43",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -11,19 +11,11 @@
11
11
  ],
12
12
  "exports": {
13
13
  ".": {
14
- "svelte": "./dist/components/Studio.svelte"
14
+ "svelte": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "default": "./src/lib/index.ts"
15
17
  },
16
- "./internal": {
17
- "svelte": "./src/lib/components/Studio.svelte"
18
- },
19
- "./*": {
20
- "svelte": "./dist/components/*"
21
- },
22
- "./internal/*": {
23
- "svelte": "./src/lib/components/*"
24
- },
25
- "./vite-plugins": "./vite-plugins/index.js",
26
- "./components": "./src/components-export.ts"
18
+ "./vite-plugins": "./vite-plugins/index.js"
27
19
  },
28
20
  "scripts": {
29
21
  "dev": "vite",
@@ -12,7 +12,7 @@ import { monorepoImportResolver } from "./monorepo-import-resolver.js";
12
12
  */
13
13
  export function lobbStudioPlugins() {
14
14
  return [
15
- monorepoImportResolver(),
15
+ // monorepoImportResolver(),
16
16
  contextualLibAlias(),
17
17
  ];
18
18
  }
@@ -1,150 +0,0 @@
1
- <script lang="ts">
2
- import { Toaster } from "./components/ui/sonner";
3
- import { onMount, onDestroy } from "svelte";
4
- import { ModeWatcher } from "mode-watcher";
5
- import { ctx } from "./store.svelte";
6
- import { lobb } from "./";
7
- import Header from "./components/header.svelte";
8
- import { LoaderCircle, ServerOff } from "lucide-svelte";
9
- import Dialog from "./components/confirmationDialog/confirmationDialog.svelte";
10
- import MiniSidebar from "./components/miniSidebar.svelte";
11
- import SetServerPage from "./components/setServerPage.svelte";
12
- import * as Tooltip from "./components/ui/tooltip";
13
- import { Router, Route, Fallback, init as initRouter, } from "@wjfe/n-savant";
14
- import {
15
- executeExtensionsOnStartup,
16
- loadExtensions,
17
- } from "./extensions/extensionUtils";
18
- import { mediaQueries } from "./utils";
19
- import Home from "../../routes/home.svelte";
20
- import DataModel from "../../routes/data_model/dataModel.svelte";
21
- import Collections from "../../routes/collections/collections.svelte";
22
- import Workflows from "../../routes/workflows/workflows.svelte";
23
- import Extension from "../../routes/extensions/extension.svelte";
24
-
25
- interface StudioProps {
26
- extensions?: any[];
27
- }
28
-
29
- const props: StudioProps = $props()
30
-
31
- let error: string | null = $state(null);
32
- let loaded = $state(false);
33
- let isSmallScreen = $derived(!mediaQueries.sm.current);
34
- let cleanupRouter: (() => void) | undefined;
35
-
36
- onMount(async () => {
37
- cleanupRouter = initRouter();
38
-
39
- if (ctx.lobbUrl) {
40
- try {
41
- ctx.meta = await lobb.getMeta();
42
- ctx.extensions = await loadExtensions(props.extensions);
43
- await executeExtensionsOnStartup();
44
- } catch (err) {
45
- console.error(err);
46
- error = "CANT_CONNECT";
47
- }
48
- }
49
- loaded = true;
50
- });
51
-
52
- onDestroy(() => {
53
- if (cleanupRouter) {
54
- cleanupRouter();
55
- }
56
- });
57
- </script>
58
-
59
- <ModeWatcher defaultMode="light" />
60
- <Toaster position="top-right" class="z-50" />
61
- {#if loaded}
62
- {#if ctx.lobbUrl}
63
- <Tooltip.Provider delayDuration={0} disableHoverableContent={true}>
64
- <main
65
- class="bg-muted h-screen w-screen"
66
- style="display: grid; grid-template-columns: {isSmallScreen
67
- ? '1fr'
68
- : '3.5rem 1fr'};"
69
- >
70
- <MiniSidebar />
71
- <div class="second_grid">
72
- <Header />
73
- <Router id="root-router">
74
- <Route key="home" path="/">
75
- {#snippet children(params)}
76
- <Home />
77
- {/snippet}
78
- </Route>
79
- <Route
80
- key="collections"
81
- path="/collections/:collection?"
82
- >
83
- {#snippet children(params)}
84
- <Collections
85
- collectionName={params?.collection}
86
- />
87
- {/snippet}
88
- </Route>
89
- <Route key="datamodel" path="/datamodel/*">
90
- {#snippet children(params)}
91
- <DataModel />
92
- {/snippet}
93
- </Route>
94
- <Route key="workflows" path="/workflows/:workflow?">
95
- {#snippet children(params)}
96
- <Workflows workflowName={params?.workflow} />
97
- {/snippet}
98
- </Route>
99
- <Route
100
- key="extensions"
101
- path="/extensions/:extension?/:page?/*"
102
- >
103
- {#snippet children(params)}
104
- <Extension
105
- extension={params?.extension}
106
- page={params?.page}
107
- />
108
- {/snippet}
109
- </Route>
110
- <Fallback>Not Found</Fallback>
111
- </Router>
112
- </div>
113
- </main>
114
- </Tooltip.Provider>
115
- {:else}
116
- <SetServerPage />
117
- {/if}
118
- {:else if !error}
119
- <div
120
- class="flex h-screen w-full flex-col items-center justify-center gap-4 text-muted-foreground"
121
- >
122
- <LoaderCircle class="animate-spin opacity-50" size="50" />
123
- <div class="flex flex-col items-center justify-center">
124
- <div>Loading the dashboard, please wait...</div>
125
- <div class="text-xs">
126
- Loading and importing all necessary data and components from the
127
- lobb server.
128
- </div>
129
- </div>
130
- </div>
131
- {:else}
132
- <div
133
- class="flex h-full w-full flex-col items-center justify-center gap-4 text-muted-foreground"
134
- >
135
- <ServerOff class="opacity-50" size="50" />
136
- <div class="flex flex-col items-center justify-center">
137
- <div>Could not connect to the server</div>
138
- <div class="text-xs">
139
- Could not connect to the lobb server at this endpoint ({ctx.lobbUrl})
140
- </div>
141
- </div>
142
- </div>
143
- {/if}
144
-
145
- <style>
146
- .second_grid {
147
- display: grid;
148
- grid-template-rows: 2.5rem 1fr;
149
- }
150
- </style>
@@ -1,6 +0,0 @@
1
- interface StudioProps {
2
- extensions?: any[];
3
- }
4
- declare const Studio: import("svelte").Component<StudioProps, {}, "">;
5
- type Studio = ReturnType<typeof Studio>;
6
- export default Studio;