@lobb-js/studio 0.1.31 → 0.1.33

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 (81) hide show
  1. package/package.json +24 -14
  2. package/src/{Studio.svelte → lib/components/Studio.svelte} +8 -8
  3. package/src/lib/components/dataTable/childRecords.svelte +1 -1
  4. package/src/lib/components/detailView/create/children.svelte +1 -1
  5. package/src/lib/components/detailView/create/createDetailView.svelte +1 -1
  6. package/src/lib/components/detailView/fieldInput.svelte +1 -1
  7. package/src/lib/components/detailView/update/children.svelte +1 -1
  8. package/src/lib/components/detailView/update/updateDetailView.svelte +1 -1
  9. package/src/lib/components/extensionsComponents.svelte +1 -2
  10. package/src/lib/components/miniSidebar.svelte +1 -1
  11. package/{vite-plugin-contextual-lib.js → vite-plugins/contextual-lib-alias.js} +2 -7
  12. package/vite-plugins/index.js +21 -0
  13. package/vite-plugins/studio-source-resolver.js +41 -0
  14. package/.env.example +0 -1
  15. package/.storybook/main.ts +0 -31
  16. package/.storybook/preview.ts +0 -21
  17. package/.storybook/vitest.setup.ts +0 -7
  18. package/components.json +0 -16
  19. package/docker-entrypoint.sh +0 -7
  20. package/dockerfile +0 -27
  21. package/index.html +0 -13
  22. package/public/lobb.svg +0 -15
  23. package/src/app.css +0 -121
  24. package/src/components-export.ts +0 -21
  25. package/src/extensions/extension.types.ts +0 -93
  26. package/src/extensions/extensionUtils.ts +0 -192
  27. package/src/lib/Lobb.ts +0 -241
  28. package/src/lib/eventSystem.ts +0 -38
  29. package/src/lib/index.ts +0 -40
  30. package/src/lib/store.svelte.ts +0 -21
  31. package/src/lib/store.types.ts +0 -28
  32. package/src/lib/utils.ts +0 -84
  33. package/src/main.ts +0 -18
  34. package/src/routes/collections/collection.svelte +0 -46
  35. package/src/routes/collections/collections.svelte +0 -43
  36. package/src/routes/data_model/dataModel.svelte +0 -40
  37. package/src/routes/data_model/flow.css +0 -22
  38. package/src/routes/data_model/flow.svelte +0 -82
  39. package/src/routes/data_model/syncManager.svelte +0 -93
  40. package/src/routes/data_model/utils.ts +0 -35
  41. package/src/routes/extensions/extension.svelte +0 -16
  42. package/src/routes/home.svelte +0 -36
  43. package/src/routes/workflows/workflows.svelte +0 -135
  44. package/src/stories/Configure.mdx +0 -364
  45. package/src/stories/assets/accessibility.png +0 -0
  46. package/src/stories/assets/accessibility.svg +0 -1
  47. package/src/stories/assets/addon-library.png +0 -0
  48. package/src/stories/assets/assets.png +0 -0
  49. package/src/stories/assets/avif-test-image.avif +0 -0
  50. package/src/stories/assets/context.png +0 -0
  51. package/src/stories/assets/discord.svg +0 -1
  52. package/src/stories/assets/docs.png +0 -0
  53. package/src/stories/assets/figma-plugin.png +0 -0
  54. package/src/stories/assets/github.svg +0 -1
  55. package/src/stories/assets/share.png +0 -0
  56. package/src/stories/assets/styling.png +0 -0
  57. package/src/stories/assets/testing.png +0 -0
  58. package/src/stories/assets/theming.png +0 -0
  59. package/src/stories/assets/tutorials.svg +0 -1
  60. package/src/stories/assets/youtube.svg +0 -1
  61. package/src/stories/detailView/detailViewForm.stories.svelte +0 -79
  62. package/src/stories/examples/Button.stories.svelte +0 -31
  63. package/src/stories/examples/Button.svelte +0 -30
  64. package/src/stories/examples/Header.stories.svelte +0 -26
  65. package/src/stories/examples/Header.svelte +0 -45
  66. package/src/stories/examples/Page.stories.svelte +0 -29
  67. package/src/stories/examples/Page.svelte +0 -70
  68. package/src/stories/examples/button.css +0 -30
  69. package/src/stories/examples/header.css +0 -32
  70. package/src/stories/examples/page.css +0 -68
  71. package/src/vite-env.d.ts +0 -2
  72. package/svelte.config.js +0 -7
  73. package/todo.md +0 -24
  74. package/tsconfig.app.json +0 -25
  75. package/tsconfig.json +0 -14
  76. package/tsconfig.node.json +0 -24
  77. package/vite.build.svelte.config.ts +0 -18
  78. package/vite.config.ts +0 -84
  79. package/vite.extension.config.ts +0 -81
  80. package/vite_utils.ts +0 -28
  81. package/vitest.shims.d.ts +0 -1
package/package.json CHANGED
@@ -1,18 +1,24 @@
1
1
  {
2
2
  "name": "@lobb-js/studio",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
+ "files": [
9
+ "src/lib/components",
10
+ "vite-plugins"
11
+ ],
8
12
  "exports": {
9
- ".": "./src/Studio.svelte",
10
- "./vite-plugin": "./vite-plugin-contextual-lib.js",
13
+ ".": "./src/lib/components/Studio.svelte",
14
+ "./*": "./src/lib/components/*",
15
+ "./vite-plugins": "./vite-plugins/index.js",
11
16
  "./components": "./src/components-export.ts"
12
17
  },
13
18
  "scripts": {
14
19
  "dev": "vite",
15
20
  "build": "rm -rf dist && vite build --config vite.build.svelte.config.ts && vite build",
21
+ "package": "svelte-package --input src/lib/components",
16
22
  "preview": "vite preview",
17
23
  "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json",
18
24
  "build_extension": "vite build --config vite.extension.config.ts",
@@ -23,12 +29,12 @@
23
29
  },
24
30
  "devDependencies": {
25
31
  "@chromatic-com/storybook": "^4.1.2",
26
- "@lucide/svelte": "^0.563.1",
27
32
  "@storybook/addon-a11y": "^10.0.1",
28
33
  "@storybook/addon-docs": "^10.0.1",
29
34
  "@storybook/addon-svelte-csf": "^5.0.10",
30
35
  "@storybook/addon-vitest": "^10.0.1",
31
36
  "@storybook/svelte-vite": "^10.0.1",
37
+ "@sveltejs/package": "^2.5.7",
32
38
  "@sveltejs/vite-plugin-svelte": "6.2.1",
33
39
  "@tsconfig/svelte": "^5.0.4",
34
40
  "@types/lodash": "^4.17.17",
@@ -39,22 +45,14 @@
39
45
  "@vitest/browser-playwright": "^4.0.5",
40
46
  "@vitest/coverage-v8": "^4.0.5",
41
47
  "autoprefixer": "^10.4.20",
42
- "bits-ui": "^1.6.0",
43
48
  "browser-fs-access": "^0.35.0",
44
- "clsx": "^2.1.1",
45
49
  "dts-bundle-generator": "^9.5.1",
46
- "lucide-svelte": "^0.488.0",
47
- "mode-watcher": "^0.5.1",
48
- "monaco-editor": "^0.52.2",
49
50
  "playwright": "^1.56.1",
50
- "qs": "^6.14.0",
51
+ "qs": "^6.14.1",
51
52
  "sortablejs": "^1.15.6",
52
53
  "storybook": "^10.0.1",
53
54
  "svelte": "5.39.8",
54
55
  "svelte-check": "^4.1.4",
55
- "svelte-sonner": "^0.3.28",
56
- "tailwind-merge": "^3.4.0",
57
- "tailwind-variants": "^3.2.2",
58
56
  "tailwindcss": "^4.1.18",
59
57
  "tailwindcss-animate": "^1.0.7",
60
58
  "tw-animate-css": "^1.4.0",
@@ -63,15 +61,27 @@
63
61
  "vite-plugin-css-injected-by-js": "^3.5.2",
64
62
  "vitest": "^4.0.5"
65
63
  },
64
+ "peerDependencies": {
65
+ "svelte": "^5.0.0"
66
+ },
66
67
  "dependencies": {
67
68
  "@andrewbranch/untar.js": "^1.0.3",
68
69
  "@dagrejs/dagre": "^1.1.5",
70
+ "@lucide/svelte": "^0.563.1",
69
71
  "@tailwindcss/vite": "^4.1.18",
70
72
  "@wjfe/n-savant": "^0.3.0",
71
73
  "@xyflow/svelte": "^1.2.0",
74
+ "bits-ui": "^1.8.0",
75
+ "clsx": "^2.1.1",
72
76
  "fflate": "^0.8.2",
73
77
  "json-stable-stringify": "^1.3.0",
74
78
  "lodash": "^4.17.21",
75
- "mustache": "^4.2.0"
79
+ "lucide-svelte": "^0.488.0",
80
+ "mode-watcher": "^0.5.1",
81
+ "monaco-editor": "^0.52.2",
82
+ "mustache": "^4.2.0",
83
+ "svelte-sonner": "^0.3.28",
84
+ "tailwind-merge": "^3.4.0",
85
+ "tailwind-variants": "^3.2.2"
76
86
  }
77
87
  }
@@ -1,9 +1,9 @@
1
1
  <script lang="ts">
2
- import { Toaster } from "./lib/components/ui/sonner";
2
+ import { Toaster } from "$lib/components/ui/sonner";
3
3
  import { onMount, onDestroy } from "svelte";
4
4
  import { ModeWatcher } from "mode-watcher";
5
5
  import { ctx } from "$lib/store.svelte";
6
- import { lobb } from "$lib/index";
6
+ import { lobb } from "$lib";
7
7
  import Header from "$lib/components/header.svelte";
8
8
  import { LoaderCircle, ServerOff } from "lucide-svelte";
9
9
  import Dialog from "$lib/components/confirmationDialog/confirmationDialog.svelte";
@@ -14,13 +14,13 @@
14
14
  import {
15
15
  executeExtensionsOnStartup,
16
16
  loadExtensions,
17
- } from "./extensions/extensionUtils";
17
+ } from "$lib/extensions/extensionUtils";
18
18
  import { mediaQueries } from "$lib/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";
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
24
 
25
25
  interface StudioProps {
26
26
  extensions?: any[];
@@ -4,7 +4,7 @@
4
4
  import DataTable from "./dataTable.svelte";
5
5
  import CreateDetailViewButton from "../detailView/create/createDetailViewButton.svelte";
6
6
  import ExtensionsComponents from "../extensionsComponents.svelte";
7
- import { getExtensionUtils } from "../../../extensions/extensionUtils";
7
+ import { getExtensionUtils } from "$lib/extensions/extensionUtils";
8
8
 
9
9
  interface Props {
10
10
  collectionName: string;
@@ -3,7 +3,7 @@
3
3
  import { Link } from "lucide-svelte";
4
4
  import CreateManyView from "./createManyView.svelte";
5
5
  import ExtensionsComponents from "$lib/components/extensionsComponents.svelte";
6
- import { getExtensionUtils } from "../../../../extensions/extensionUtils";
6
+ import { getExtensionUtils } from "$lib/extensions/extensionUtils";
7
7
 
8
8
  interface LocalProp {
9
9
  collectionName: string;
@@ -23,7 +23,7 @@
23
23
  import { toast } from "svelte-sonner";
24
24
  import { ctx } from "$lib/store.svelte";
25
25
  import ExtensionsComponents from "../../extensionsComponents.svelte";
26
- import { getExtensionUtils } from "../../../../extensions/extensionUtils";
26
+ import { getExtensionUtils } from "$lib/extensions/extensionUtils";
27
27
  import { getField, getFieldIcon } from "../../dataTable/utils";
28
28
  import Children from "./children.svelte";
29
29
  import {
@@ -14,7 +14,7 @@
14
14
  import Textarea from "../ui/textarea/textarea.svelte";
15
15
  import ForeingKeyInput from "../foreingKeyInput.svelte";
16
16
  import ExtensionsComponents from "../extensionsComponents.svelte";
17
- import { getExtensionUtils } from "../../../extensions/extensionUtils";
17
+ import { getExtensionUtils } from "$lib/extensions/extensionUtils";
18
18
 
19
19
  interface Props {
20
20
  collectionName: string;
@@ -4,7 +4,7 @@
4
4
  import { Link, Plus, TableIcon } from "lucide-svelte";
5
5
  import CreateDetailViewButton from "../create/createDetailViewButton.svelte";
6
6
  import ExtensionsComponents from "$lib/components/extensionsComponents.svelte";
7
- import { getExtensionUtils } from "../../../../extensions/extensionUtils";
7
+ import { getExtensionUtils } from "$lib/extensions/extensionUtils";
8
8
 
9
9
  interface LocalProp {
10
10
  collectionName: string;
@@ -25,7 +25,7 @@
25
25
  import { toast } from "svelte-sonner";
26
26
  import { ctx } from "$lib/store.svelte";
27
27
  import ExtensionsComponents from "../../extensionsComponents.svelte";
28
- import { getExtensionUtils } from "../../../../extensions/extensionUtils";
28
+ import { getExtensionUtils } from "$lib/extensions/extensionUtils";
29
29
  import { calculateDrawerWidth, getChangedProperties } from "$lib/utils";
30
30
  import { getField, getFieldIcon } from "../../dataTable/utils";
31
31
  import Children from "../update/children.svelte";
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from "svelte";
3
- import { loadExtensionComponents } from "../../extensions/extensionUtils";
3
+ import { loadExtensionComponents } from "$lib/extensions/extensionUtils";
4
4
 
5
5
  interface Props {
6
6
  name: string;
@@ -28,4 +28,3 @@
28
28
  {:else}
29
29
  {@render children?.()}
30
30
  {/if}
31
-
@@ -18,7 +18,7 @@
18
18
  import * as Accordion from "$lib/components/ui/accordion/index.js";
19
19
 
20
20
  import { ctx } from "$lib/store.svelte";
21
- import { getDashboardNavs } from "../../extensions/extensionUtils";
21
+ import { getDashboardNavs } from "$lib/extensions/extensionUtils";
22
22
  import { mediaQueries } from "$lib/utils";
23
23
  import * as Popover from "./ui/popover";
24
24
  import { location } from "@wjfe/n-savant";
@@ -14,14 +14,12 @@ const __dirname = path.dirname(__filename);
14
14
  * This allows shadcn components to work in both the Studio package and consuming projects
15
15
  * without conflicts.
16
16
  *
17
- * @param {Object} options - Plugin options
18
- * @param {string} [options.studioLibPath] - The path to the studio's src/lib directory (used for external imports)
19
17
  * @returns {import('vite').Plugin}
20
18
  */
21
- export function contextualLibAlias(options = {}) {
19
+ export function contextualLibAlias() {
22
20
  let projectRoot;
23
21
  let localLibPath;
24
- let studioLibPath;
22
+ const studioLibPath = path.resolve(__dirname, "../src/lib");
25
23
 
26
24
  return {
27
25
  name: "contextual-lib-alias",
@@ -30,9 +28,6 @@ export function contextualLibAlias(options = {}) {
30
28
  configResolved(config) {
31
29
  projectRoot = config.root;
32
30
  localLibPath = path.resolve(projectRoot, "./src/lib");
33
-
34
- // Use provided studioLibPath or default to this package's src/lib
35
- studioLibPath = options.studioLibPath || path.resolve(__dirname, "./src/lib");
36
31
  },
37
32
 
38
33
  async resolveId(source, importer, options) {
@@ -0,0 +1,21 @@
1
+ import { contextualLibAlias } from "./contextual-lib-alias.js";
2
+ import { studioSourceResolver } from "./studio-source-resolver.js";
3
+
4
+ /**
5
+ * Returns an array of Vite plugins needed for Lobb Studio integration.
6
+ *
7
+ * Includes:
8
+ * - contextualLibAlias: Resolves $lib imports contextually
9
+ * - studioSourceResolver: Resolves @lobb-js/studio to source (monorepo) or dist (standalone)
10
+ *
11
+ * @returns {import('vite').Plugin[]}
12
+ */
13
+ export function lobbStudioPlugins() {
14
+ return [
15
+ studioSourceResolver(),
16
+ contextualLibAlias(),
17
+ ];
18
+ }
19
+
20
+ // Also export individual plugins for advanced usage
21
+ export { contextualLibAlias, studioSourceResolver };
@@ -0,0 +1,41 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { fileURLToPath } from "url";
4
+
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = path.dirname(__filename);
7
+
8
+ /**
9
+ * Vite plugin that resolves @lobb-js/studio imports contextually.
10
+ *
11
+ * - Inside monorepo: Resolve to source files (./src/Studio.svelte) for HMR
12
+ * - Outside monorepo (from node_modules): Resolve to built files (./dist/studio.js)
13
+ *
14
+ * This allows lobb-skeleton to work identically both inside and outside the monorepo
15
+ * without any code changes.
16
+ *
17
+ * @returns {import('vite').Plugin}
18
+ */
19
+ export function studioSourceResolver() {
20
+ const studioSourcePath = path.resolve(__dirname, "../src/lib/Studio.svelte");
21
+ const studioPackagePath = path.resolve(__dirname, "..");
22
+
23
+ return {
24
+ name: "studio-source-resolver",
25
+ enforce: "pre",
26
+
27
+ async resolveId(source, importer, options) {
28
+ // Only handle @lobb-js/studio main import
29
+ if (source !== "@lobb-js/studio") return null;
30
+
31
+ // Check if we're in a monorepo context by looking for the source file
32
+ if (fs.existsSync(studioSourcePath)) {
33
+ // We're in monorepo - resolve to source for HMR
34
+ return this.resolve(studioSourcePath, importer, { skipSelf: true, ...options });
35
+ }
36
+
37
+ // Not in monorepo - let default resolution handle it (will use dist/ from node_modules)
38
+ return null;
39
+ }
40
+ };
41
+ }
package/.env.example DELETED
@@ -1 +0,0 @@
1
- LOBB_URL=http://localhost:3000
@@ -1,31 +0,0 @@
1
- import type { StorybookConfig } from '@storybook/svelte-vite';
2
-
3
- import { dirname } from "path"
4
-
5
- import { fileURLToPath } from "url"
6
-
7
- /**
8
- * This function is used to resolve the absolute path of a package.
9
- * It is needed in projects that use Yarn PnP or are set up within a monorepo.
10
- */
11
- function getAbsolutePath(value: string): any {
12
- return dirname(fileURLToPath(import.meta.resolve(`${value}/package.json`)))
13
- }
14
- const config: StorybookConfig = {
15
- "stories": [
16
- "../src/**/*.mdx",
17
- "../src/**/*.stories.@(js|ts|svelte)"
18
- ],
19
- "addons": [
20
- getAbsolutePath('@storybook/addon-svelte-csf'),
21
- getAbsolutePath('@chromatic-com/storybook'),
22
- getAbsolutePath('@storybook/addon-docs'),
23
- getAbsolutePath("@storybook/addon-a11y"),
24
- getAbsolutePath("@storybook/addon-vitest")
25
- ],
26
- "framework": {
27
- "name": getAbsolutePath('@storybook/svelte-vite'),
28
- "options": {}
29
- }
30
- };
31
- export default config;
@@ -1,21 +0,0 @@
1
- import type { Preview } from '@storybook/svelte-vite'
2
-
3
- const preview: Preview = {
4
- parameters: {
5
- controls: {
6
- matchers: {
7
- color: /(background|color)$/i,
8
- date: /Date$/i,
9
- },
10
- },
11
-
12
- a11y: {
13
- // 'todo' - show a11y violations in the test UI only
14
- // 'error' - fail CI on a11y violations
15
- // 'off' - skip a11y checks entirely
16
- test: 'todo'
17
- }
18
- },
19
- };
20
-
21
- export default preview;
@@ -1,7 +0,0 @@
1
- import * as a11yAddonAnnotations from "@storybook/addon-a11y/preview";
2
- import { setProjectAnnotations } from '@storybook/svelte-vite';
3
- import * as projectAnnotations from './preview';
4
-
5
- // This is an important step to apply the right configuration when testing your stories.
6
- // More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
7
- setProjectAnnotations([a11yAddonAnnotations, projectAnnotations]);
package/components.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "$schema": "https://shadcn-svelte.com/schema.json",
3
- "tailwind": {
4
- "css": "src/app.css",
5
- "baseColor": "slate"
6
- },
7
- "aliases": {
8
- "components": "$lib/components",
9
- "utils": "$lib/utils",
10
- "ui": "$lib/components/ui",
11
- "hooks": "$lib/hooks",
12
- "lib": "$lib"
13
- },
14
- "typescript": true,
15
- "registry": "https://shadcn-svelte.com/registry"
16
- }
@@ -1,7 +0,0 @@
1
- #!/bin/sh
2
-
3
- # insert ENV to the html
4
- find /app/dist -name "*.html" -exec sed -i "s|%LOBB_URL%|${LOBB_URL}|g" {} +
5
-
6
- # Start the server
7
- exec sirv dist --single --port 3000 --host
package/dockerfile DELETED
@@ -1,27 +0,0 @@
1
- # Stage 1: Build
2
- FROM node:22-alpine AS builder
3
-
4
- WORKDIR /app
5
-
6
- COPY package*.json ./
7
- RUN npm install
8
-
9
- COPY . .
10
- RUN npm run build
11
-
12
- # Stage 2: Runtime
13
- FROM node:22-alpine
14
-
15
- WORKDIR /app
16
-
17
- RUN npm install -g sirv-cli
18
-
19
- # Copy only built output
20
- COPY --from=builder /app/dist ./dist
21
-
22
- COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
23
- RUN chmod +x /usr/local/bin/docker-entrypoint.sh
24
-
25
- EXPOSE 3000
26
-
27
- ENTRYPOINT ["sh", "/usr/local/bin/docker-entrypoint.sh"]
package/index.html DELETED
@@ -1,13 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/lobb.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>Lobb Studio</title>
8
- </head>
9
- <body>
10
- <div id="app"></div>
11
- <script type="module" src="/src/main.ts"></script>
12
- </body>
13
- </html>
package/public/lobb.svg DELETED
@@ -1,15 +0,0 @@
1
- <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g clip-path="url(#clip0_2801_3)">
3
- <mask id="path-1-outside-1_2801_3" maskUnits="userSpaceOnUse" x="7" y="1" width="20" height="28" fill="black">
4
- <rect fill="white" x="7" y="1" width="20" height="28"/>
5
- <path d="M25.1389 23.874L24.416 28H11.8439L12.5669 23.874H25.1389ZM17.9977 2.32685L13.5367 28H8.37029L12.8137 2.32685H17.9977Z"/>
6
- </mask>
7
- <path d="M25.1389 23.874L24.416 28H11.8439L12.5669 23.874H25.1389ZM17.9977 2.32685L13.5367 28H8.37029L12.8137 2.32685H17.9977Z" fill="black"/>
8
- <path d="M25.1389 23.874L26.1239 24.0465L26.3294 22.874H25.1389V23.874ZM24.416 28V29H25.256L25.401 28.1726L24.416 28ZM11.8439 28L10.8589 27.8274L10.6535 29H11.8439V28ZM12.5669 23.874V22.874H11.7268L11.5819 23.7014L12.5669 23.874ZM17.9977 2.32685L18.983 2.49805L19.1865 1.32685H17.9977V2.32685ZM13.5367 28V29H14.3779L14.5219 28.1712L13.5367 28ZM8.37029 28L7.38494 27.8295L7.18234 29H8.37029V28ZM12.8137 2.32685V1.32685H11.9719L11.8284 2.15631L12.8137 2.32685ZM24.1539 23.7014L23.431 27.8274L25.401 28.1726L26.1239 24.0465L24.1539 23.7014ZM24.416 27H11.8439V29H24.416V27ZM12.8289 28.1726L13.5519 24.0465L11.5819 23.7014L10.8589 27.8274L12.8289 28.1726ZM12.5669 24.874H25.1389V22.874H12.5669V24.874ZM17.0125 2.15565L12.5514 27.8288L14.5219 28.1712L18.983 2.49805L17.0125 2.15565ZM13.5367 27H8.37029V29H13.5367V27ZM9.35564 28.1705L13.7991 2.49739L11.8284 2.15631L7.38494 27.8295L9.35564 28.1705ZM12.8137 3.32685H17.9977V1.32685H12.8137V3.32685Z" fill="white" mask="url(#path-1-outside-1_2801_3)"/>
9
- </g>
10
- <defs>
11
- <clipPath id="clip0_2801_3">
12
- <rect width="32" height="32" fill="white"/>
13
- </clipPath>
14
- </defs>
15
- </svg>
package/src/app.css DELETED
@@ -1,121 +0,0 @@
1
- @import "tailwindcss";
2
-
3
- @import "tw-animate-css";
4
-
5
- @custom-variant dark (&:is(.dark *));
6
-
7
- :root {
8
- --radius: 0.625rem;
9
- --background: oklch(1 0 0);
10
- --foreground: oklch(0.129 0.042 264.695);
11
- --card: oklch(1 0 0);
12
- --card-foreground: oklch(0.129 0.042 264.695);
13
- --popover: oklch(1 0 0);
14
- --popover-foreground: oklch(0.129 0.042 264.695);
15
- --primary: oklch(0.208 0.042 265.755);
16
- --primary-foreground: oklch(0.984 0.003 247.858);
17
- --secondary: oklch(0.968 0.007 247.896);
18
- --secondary-foreground: oklch(0.208 0.042 265.755);
19
- --muted: oklch(0.968 0.007 247.896);
20
- --muted-foreground: oklch(0.554 0.046 257.417);
21
- --accent: oklch(0.968 0.007 247.896);
22
- --accent-foreground: oklch(0.208 0.042 265.755);
23
- --destructive: oklch(0.577 0.245 27.325);
24
- --border: oklch(0.929 0.013 255.508);
25
- --input: oklch(0.929 0.013 255.508);
26
- --ring: oklch(0.704 0.04 256.788);
27
- --chart-1: oklch(0.646 0.222 41.116);
28
- --chart-2: oklch(0.6 0.118 184.704);
29
- --chart-3: oklch(0.398 0.07 227.392);
30
- --chart-4: oklch(0.828 0.189 84.429);
31
- --chart-5: oklch(0.769 0.188 70.08);
32
- --sidebar: oklch(0.984 0.003 247.858);
33
- --sidebar-foreground: oklch(0.129 0.042 264.695);
34
- --sidebar-primary: oklch(0.208 0.042 265.755);
35
- --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
36
- --sidebar-accent: oklch(0.968 0.007 247.896);
37
- --sidebar-accent-foreground: oklch(0.208 0.042 265.755);
38
- --sidebar-border: oklch(0.929 0.013 255.508);
39
- --sidebar-ring: oklch(0.704 0.04 256.788);
40
- }
41
-
42
- .dark {
43
- --background: oklch(0.129 0.042 264.695);
44
- --foreground: oklch(0.984 0.003 247.858);
45
- --card: oklch(0.208 0.042 265.755);
46
- --card-foreground: oklch(0.984 0.003 247.858);
47
- --popover: oklch(0.208 0.042 265.755);
48
- --popover-foreground: oklch(0.984 0.003 247.858);
49
- --primary: oklch(0.929 0.013 255.508);
50
- --primary-foreground: oklch(0.208 0.042 265.755);
51
- --secondary: oklch(0.279 0.041 260.031);
52
- --secondary-foreground: oklch(0.984 0.003 247.858);
53
- --muted: oklch(0.279 0.041 260.031);
54
- --muted-foreground: oklch(0.704 0.04 256.788);
55
- --accent: oklch(0.279 0.041 260.031);
56
- --accent-foreground: oklch(0.984 0.003 247.858);
57
- --destructive: oklch(0.704 0.191 22.216);
58
- --border: oklch(1 0 0 / 10%);
59
- --input: oklch(1 0 0 / 15%);
60
- --ring: oklch(0.551 0.027 264.364);
61
- --chart-1: oklch(0.488 0.243 264.376);
62
- --chart-2: oklch(0.696 0.17 162.48);
63
- --chart-3: oklch(0.769 0.188 70.08);
64
- --chart-4: oklch(0.627 0.265 303.9);
65
- --chart-5: oklch(0.645 0.246 16.439);
66
- --sidebar: oklch(0.208 0.042 265.755);
67
- --sidebar-foreground: oklch(0.984 0.003 247.858);
68
- --sidebar-primary: oklch(0.488 0.243 264.376);
69
- --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
70
- --sidebar-accent: oklch(0.279 0.041 260.031);
71
- --sidebar-accent-foreground: oklch(0.984 0.003 247.858);
72
- --sidebar-border: oklch(1 0 0 / 10%);
73
- --sidebar-ring: oklch(0.551 0.027 264.364);
74
- }
75
-
76
- @theme inline {
77
- --radius-sm: calc(var(--radius) - 4px);
78
- --radius-md: calc(var(--radius) - 2px);
79
- --radius-lg: var(--radius);
80
- --radius-xl: calc(var(--radius) + 4px);
81
- --color-background: var(--background);
82
- --color-foreground: var(--foreground);
83
- --color-card: var(--card);
84
- --color-card-foreground: var(--card-foreground);
85
- --color-popover: var(--popover);
86
- --color-popover-foreground: var(--popover-foreground);
87
- --color-primary: var(--primary);
88
- --color-primary-foreground: var(--primary-foreground);
89
- --color-secondary: var(--secondary);
90
- --color-secondary-foreground: var(--secondary-foreground);
91
- --color-muted: var(--muted);
92
- --color-muted-foreground: var(--muted-foreground);
93
- --color-accent: var(--accent);
94
- --color-accent-foreground: var(--accent-foreground);
95
- --color-destructive: var(--destructive);
96
- --color-border: var(--border);
97
- --color-input: var(--input);
98
- --color-ring: var(--ring);
99
- --color-chart-1: var(--chart-1);
100
- --color-chart-2: var(--chart-2);
101
- --color-chart-3: var(--chart-3);
102
- --color-chart-4: var(--chart-4);
103
- --color-chart-5: var(--chart-5);
104
- --color-sidebar: var(--sidebar);
105
- --color-sidebar-foreground: var(--sidebar-foreground);
106
- --color-sidebar-primary: var(--sidebar-primary);
107
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
108
- --color-sidebar-accent: var(--sidebar-accent);
109
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
110
- --color-sidebar-border: var(--sidebar-border);
111
- --color-sidebar-ring: var(--sidebar-ring);
112
- }
113
-
114
- @layer base {
115
- * {
116
- @apply border-border outline-ring/50;
117
- }
118
- body {
119
- @apply bg-background text-foreground;
120
- }
121
- }
@@ -1,21 +0,0 @@
1
- // Re-export all Studio components for use in extensions and consuming apps
2
- export { Button } from "$lib/components/ui/button";
3
- export { Input } from "$lib/components/ui/input";
4
- export { Separator } from "$lib/components/ui/separator";
5
- export { Skeleton } from "$lib/components/ui/skeleton";
6
- export { default as LlmButton } from "$lib/components/LlmButton.svelte";
7
- export { default as Sidebar } from "$lib/components/sidebar/sidebar.svelte";
8
- export { default as SidebarTrigger } from "$lib/components/sidebar/sidebarTrigger.svelte";
9
- export { default as CreateDetailViewButton } from "$lib/components/detailView/create/createDetailViewButton.svelte";
10
- export { default as UpdateDetailViewButton } from "$lib/components/detailView/update/updateDetailViewButton.svelte";
11
- export * as Tooltip from "$lib/components/ui/tooltip";
12
- export * as Breadcrumb from "$lib/components/ui/breadcrumb";
13
- export { ContextMenu } from "bits-ui";
14
- export * as Popover from "$lib/components/ui/popover";
15
- export * as Icons from "lucide-svelte";
16
- export { default as Table } from "$lib/components/dataTable/table.svelte";
17
- export { default as RangeCalendarButton } from "$lib/components/rangeCalendarButton.svelte";
18
- export { default as DataTable } from "$lib/components/dataTable/dataTable.svelte";
19
- export { default as Drawer } from "$lib/components/drawer.svelte";
20
- export { default as SelectRecord } from "$lib/components/selectRecord.svelte";
21
- export { Switch } from "$lib/components/ui/switch";