@lobb-js/lobb-ext-reports 0.1.26 → 0.1.29

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/.dockerignore ADDED
@@ -0,0 +1,4 @@
1
+ node_modules
2
+ dist
3
+ .git
4
+ *.md
package/CHANGELOG.md ADDED
@@ -0,0 +1,21 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
3
+
4
+ - - -
5
+ ## reports-ext-studio@0.1.29 - 2026-02-19
6
+ #### Bug Fixes
7
+ - making the reports work - (1b87561) - Malik Najjar
8
+ #### Miscellaneous Chores
9
+ - fix building issue - (3b0d356) - malik ben
10
+
11
+ - - -
12
+
13
+ ## reports-ext-studio@0.1.28 - 2026-02-17
14
+ #### Bug Fixes
15
+ - fixing the standalone issue - (1a70a51) - Malik Najjar
16
+ #### Miscellaneous Chores
17
+ - (**version**) 0.10.9 - (19ac765) - Cocogitto Bot
18
+
19
+ - - -
20
+
21
+ Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).
package/Dockerfile ADDED
@@ -0,0 +1,29 @@
1
+ # Build stage
2
+ FROM node:22-alpine AS build
3
+
4
+ WORKDIR /app
5
+
6
+ # Copy package files.
7
+ COPY package*.json ./
8
+
9
+ # Install dependencies
10
+ RUN npm install
11
+
12
+ # Copy source code
13
+ COPY . .
14
+
15
+ # Build the application
16
+ RUN npm run build
17
+
18
+ # Production stage
19
+ FROM nginx:alpine
20
+
21
+ # Copy built assets
22
+ COPY --from=build /app/dist /usr/share/nginx/html
23
+
24
+ # Copy nginx config
25
+ COPY nginx.conf /etc/nginx/conf.d/default.conf
26
+
27
+ EXPOSE 80
28
+
29
+ CMD ["nginx", "-g", "daemon off;"]
@@ -0,0 +1,16 @@
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
+ }
package/nginx.conf ADDED
@@ -0,0 +1,24 @@
1
+ server {
2
+ listen 80;
3
+ server_name localhost;
4
+ root /usr/share/nginx/html;
5
+ index index.html;
6
+
7
+ # Handle SPA routing
8
+ location / {
9
+ try_files $uri $uri/ /index.html;
10
+ }
11
+
12
+ # Proxy API requests to backend
13
+ location /api {
14
+ proxy_pass http://lobb:3000;
15
+ proxy_http_version 1.1;
16
+ proxy_set_header Upgrade $http_upgrade;
17
+ proxy_set_header Connection 'upgrade';
18
+ proxy_set_header Host $host;
19
+ proxy_set_header X-Real-IP $remote_addr;
20
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
21
+ proxy_set_header X-Forwarded-Proto $scheme;
22
+ proxy_cache_bypass $http_upgrade;
23
+ }
24
+ }
package/package.json CHANGED
@@ -1,37 +1,38 @@
1
1
  {
2
2
  "name": "@lobb-js/lobb-ext-reports",
3
- "version": "0.1.26",
3
+ "version": "0.1.29",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
- "files": [
9
- "studio"
10
- ],
11
8
  "exports": {
12
- ".": "./studio/src/index.ts"
9
+ ".": "./src/index.ts"
13
10
  },
14
11
  "scripts": {
15
- "dev": "cd studio && vite",
16
- "build": "cd studio && vite build",
17
- "preview": "cd studio && vite preview",
18
- "check": "cd studio && svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json"
12
+ "dev": "vite",
13
+ "build": "vite build",
14
+ "preview": "vite preview",
15
+ "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json"
19
16
  },
20
17
  "dependencies": {
21
- "@lobb-js/studio": "0.1.31",
18
+ "@lobb-js/studio": "0.2.11",
22
19
  "chart.js": "^4.4.8",
23
20
  "lodash-es": "^4.17.21"
24
21
  },
25
22
  "devDependencies": {
23
+ "@lucide/svelte": "^0.563.1",
26
24
  "@sveltejs/vite-plugin-svelte": "6.2.1",
25
+ "@tailwindcss/vite": "^4.1.18",
27
26
  "@tsconfig/svelte": "^5.0.6",
28
27
  "@types/lodash-es": "^4.17.12",
29
28
  "@types/node": "^24.10.1",
30
- "autoprefixer": "^10.4.23",
31
- "svelte": "^5.43.8",
29
+ "clsx": "^2.1.1",
30
+ "svelte": "^5.49.1",
32
31
  "svelte-check": "^4.3.4",
33
- "tailwindcss": "^3.4.19",
34
- "tailwindcss-animate": "^1.0.7",
32
+ "tailwind-merge": "^3.4.0",
33
+ "tailwind-variants": "^3.2.2",
34
+ "tailwindcss": "4.1.18",
35
+ "tw-animate-css": "^1.4.0",
35
36
  "typescript": "~5.9.3",
36
37
  "vite": "6.3.3"
37
38
  }
package/src/app.css ADDED
@@ -0,0 +1,124 @@
1
+ @import "tailwindcss";
2
+
3
+ @import "tw-animate-css";
4
+
5
+ @source "../../../../packages";
6
+ @source "../node_modules/@lobb-js";
7
+
8
+ @custom-variant dark (&:is(.dark *));
9
+
10
+ :root {
11
+ --radius: 0.625rem;
12
+ --background: oklch(1 0 0);
13
+ --foreground: oklch(0.129 0.042 264.695);
14
+ --card: oklch(1 0 0);
15
+ --card-foreground: oklch(0.129 0.042 264.695);
16
+ --popover: oklch(1 0 0);
17
+ --popover-foreground: oklch(0.129 0.042 264.695);
18
+ --primary: oklch(0.208 0.042 265.755);
19
+ --primary-foreground: oklch(0.984 0.003 247.858);
20
+ --secondary: oklch(0.968 0.007 247.896);
21
+ --secondary-foreground: oklch(0.208 0.042 265.755);
22
+ --muted: oklch(0.968 0.007 247.896);
23
+ --muted-foreground: oklch(0.554 0.046 257.417);
24
+ --accent: oklch(0.968 0.007 247.896);
25
+ --accent-foreground: oklch(0.208 0.042 265.755);
26
+ --destructive: oklch(0.577 0.245 27.325);
27
+ --border: oklch(0.929 0.013 255.508);
28
+ --input: oklch(0.929 0.013 255.508);
29
+ --ring: oklch(0.704 0.04 256.788);
30
+ --chart-1: oklch(0.646 0.222 41.116);
31
+ --chart-2: oklch(0.6 0.118 184.704);
32
+ --chart-3: oklch(0.398 0.07 227.392);
33
+ --chart-4: oklch(0.828 0.189 84.429);
34
+ --chart-5: oklch(0.769 0.188 70.08);
35
+ --sidebar: oklch(0.984 0.003 247.858);
36
+ --sidebar-foreground: oklch(0.129 0.042 264.695);
37
+ --sidebar-primary: oklch(0.208 0.042 265.755);
38
+ --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
39
+ --sidebar-accent: oklch(0.968 0.007 247.896);
40
+ --sidebar-accent-foreground: oklch(0.208 0.042 265.755);
41
+ --sidebar-border: oklch(0.929 0.013 255.508);
42
+ --sidebar-ring: oklch(0.704 0.04 256.788);
43
+ }
44
+
45
+ .dark {
46
+ --background: oklch(0.129 0.042 264.695);
47
+ --foreground: oklch(0.984 0.003 247.858);
48
+ --card: oklch(0.208 0.042 265.755);
49
+ --card-foreground: oklch(0.984 0.003 247.858);
50
+ --popover: oklch(0.208 0.042 265.755);
51
+ --popover-foreground: oklch(0.984 0.003 247.858);
52
+ --primary: oklch(0.929 0.013 255.508);
53
+ --primary-foreground: oklch(0.208 0.042 265.755);
54
+ --secondary: oklch(0.279 0.041 260.031);
55
+ --secondary-foreground: oklch(0.984 0.003 247.858);
56
+ --muted: oklch(0.279 0.041 260.031);
57
+ --muted-foreground: oklch(0.704 0.04 256.788);
58
+ --accent: oklch(0.279 0.041 260.031);
59
+ --accent-foreground: oklch(0.984 0.003 247.858);
60
+ --destructive: oklch(0.704 0.191 22.216);
61
+ --border: oklch(1 0 0 / 10%);
62
+ --input: oklch(1 0 0 / 15%);
63
+ --ring: oklch(0.551 0.027 264.364);
64
+ --chart-1: oklch(0.488 0.243 264.376);
65
+ --chart-2: oklch(0.696 0.17 162.48);
66
+ --chart-3: oklch(0.769 0.188 70.08);
67
+ --chart-4: oklch(0.627 0.265 303.9);
68
+ --chart-5: oklch(0.645 0.246 16.439);
69
+ --sidebar: oklch(0.208 0.042 265.755);
70
+ --sidebar-foreground: oklch(0.984 0.003 247.858);
71
+ --sidebar-primary: oklch(0.488 0.243 264.376);
72
+ --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
73
+ --sidebar-accent: oklch(0.279 0.041 260.031);
74
+ --sidebar-accent-foreground: oklch(0.984 0.003 247.858);
75
+ --sidebar-border: oklch(1 0 0 / 10%);
76
+ --sidebar-ring: oklch(0.551 0.027 264.364);
77
+ }
78
+
79
+ @theme inline {
80
+ --radius-sm: calc(var(--radius) - 4px);
81
+ --radius-md: calc(var(--radius) - 2px);
82
+ --radius-lg: var(--radius);
83
+ --radius-xl: calc(var(--radius) + 4px);
84
+ --color-background: var(--background);
85
+ --color-foreground: var(--foreground);
86
+ --color-card: var(--card);
87
+ --color-card-foreground: var(--card-foreground);
88
+ --color-popover: var(--popover);
89
+ --color-popover-foreground: var(--popover-foreground);
90
+ --color-primary: var(--primary);
91
+ --color-primary-foreground: var(--primary-foreground);
92
+ --color-secondary: var(--secondary);
93
+ --color-secondary-foreground: var(--secondary-foreground);
94
+ --color-muted: var(--muted);
95
+ --color-muted-foreground: var(--muted-foreground);
96
+ --color-accent: var(--accent);
97
+ --color-accent-foreground: var(--accent-foreground);
98
+ --color-destructive: var(--destructive);
99
+ --color-border: var(--border);
100
+ --color-input: var(--input);
101
+ --color-ring: var(--ring);
102
+ --color-chart-1: var(--chart-1);
103
+ --color-chart-2: var(--chart-2);
104
+ --color-chart-3: var(--chart-3);
105
+ --color-chart-4: var(--chart-4);
106
+ --color-chart-5: var(--chart-5);
107
+ --color-sidebar: var(--sidebar);
108
+ --color-sidebar-foreground: var(--sidebar-foreground);
109
+ --color-sidebar-primary: var(--sidebar-primary);
110
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
111
+ --color-sidebar-accent: var(--sidebar-accent);
112
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
113
+ --color-sidebar-border: var(--sidebar-border);
114
+ --color-sidebar-ring: var(--sidebar-ring);
115
+ }
116
+
117
+ @layer base {
118
+ * {
119
+ @apply border-border outline-ring/50;
120
+ }
121
+ body {
122
+ @apply bg-background text-foreground;
123
+ }
124
+ }
@@ -1,6 +1,6 @@
1
- import type { Extension, ExtensionUtils } from "src/extensions/extension.types";
2
- import Reports from "./pages/reports/index.svelte";
3
- import QueryAiButton from "./dv_fields_buttons/query_ai_button/index.svelte";
1
+ import type { Extension, ExtensionUtils } from "@lobb-js/studio";
2
+ import Reports from "$lib/components/pages/reports/index.svelte";
3
+ import QueryAiButton from "$lib/components/dv_fields_buttons/query_ai_button/index.svelte";
4
4
 
5
5
  export function extension(utils: ExtensionUtils): Extension {
6
6
  return {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import type { ExtensionProps } from "src/extensions/extension.types";
2
+ import type { ExtensionProps } from "@lobb-js/studio";
3
3
 
4
4
  let { utils, value = $bindable() }: ExtensionProps = $props();
5
5
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import type { ExtensionProps } from "src/extensions/extension.types";
2
+ import type { ExtensionProps } from "@lobb-js/studio";
3
3
  import Table from "./charts/table.svelte";
4
4
  import ChartJs from "./charts/chartJs.svelte";
5
5
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import type { ExtensionProps } from "src/extensions/extension.types";
2
+ import type { ExtensionProps } from "@lobb-js/studio";
3
3
 
4
4
  import { onMount } from 'svelte';
5
5
  import { Chart } from 'chart.js/auto';
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import type { ExtensionProps } from "src/extensions/extension.types";
2
+ import type { ExtensionProps } from "@lobb-js/studio";
3
3
 
4
4
  interface Props extends ExtensionProps {
5
5
  input: any;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import type { ExtensionProps } from "src/extensions/extension.types";
2
+ import type { ExtensionProps } from "@lobb-js/studio";
3
3
  import type { DateRange } from "bits-ui";
4
4
  import Chart from "./chart.svelte";
5
5
 
@@ -1,6 +1,5 @@
1
1
  <script lang="ts">
2
- import type { ExtensionProps } from "src/extensions/extension.types";
3
- import type { SideBarData } from "$lib/components/sidebar/sidebarElements.svelte";
2
+ import type { ExtensionProps } from "@lobb-js/studio";
4
3
  import type { Location } from "@wjfe/n-savant";
5
4
  import Report from "./components/report.svelte";
6
5
 
@@ -27,7 +26,7 @@
27
26
  });
28
27
  const allReports = (await response.json()).data;
29
28
 
30
- const localSideBarData: SideBarData = [];
29
+ const localSideBarData: any = [];
31
30
  for (let index = 0; index < allReports.length; index++) {
32
31
  const report = allReports[index];
33
32
  localSideBarData.push({
@@ -70,7 +69,7 @@
70
69
  variant="outline"
71
70
  class="h-7 w-full px-3 text-xs font-normal"
72
71
  Icon={icons.Plus}
73
- onSuccessfullSave={async (record) => {
72
+ onSuccessfullSave={async (record: any) => {
74
73
  await getSideBarData();
75
74
  reportId = record.id;
76
75
  }}
@@ -79,7 +78,7 @@
79
78
  </CreateDetailViewButton>
80
79
  </div>
81
80
  {/snippet}
82
- {#snippet elementRightSide(item)}
81
+ {#snippet elementRightSide(item: any)}
83
82
  {#if item.meta}
84
83
  {@const reportId = item.meta.reportId}
85
84
  <div>
@@ -128,7 +127,7 @@
128
127
  variant="default"
129
128
  class="h-7 px-3 text-xs font-normal"
130
129
  Icon={icons.Plus}
131
- onSuccessfullSave={async (record) =>
130
+ onSuccessfullSave={async (record: any) =>
132
131
  utils.location.navigate(`?report=${record.id}`)}
133
132
  >
134
133
  Create a report
@@ -0,0 +1 @@
1
+ // place files you want to import through the `$lib` alias in this folder.
@@ -0,0 +1,13 @@
1
+ import { clsx, type ClassValue } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs));
6
+ }
7
+
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ export type WithoutChild<T> = T extends { child?: any } ? Omit<T, "child"> : T;
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ export type WithoutChildren<T> = T extends { children?: any } ? Omit<T, "children"> : T;
12
+ export type WithoutChildrenOrChild<T> = WithoutChildren<WithoutChild<T>>;
13
+ export type WithElementRef<T, U extends HTMLElement = HTMLElement> = T & { ref?: U | null };
@@ -1,6 +1,8 @@
1
+ import "./app.css";
2
+
1
3
  import { mount } from "svelte";
2
- import Studio from "@lobb-js/studio";
3
- import { extension } from "./index.ts";
4
+ import { Studio } from "@lobb-js/studio";
5
+ import { extension } from "./index";
4
6
 
5
7
  const app = mount(Studio, {
6
8
  target: document.getElementById("app")!,
@@ -16,7 +16,12 @@
16
16
  */
17
17
  "allowJs": true,
18
18
  "checkJs": true,
19
- "moduleDetection": "force"
19
+ "moduleDetection": "force",
20
+ "baseUrl": ".",
21
+ "paths": {
22
+ "$lib": ["./src/lib"],
23
+ "$lib/*": ["./src/lib/*"]
24
+ }
20
25
  },
21
26
  "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"]
22
27
  }
package/vite.config.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { defineConfig } from "vite";
2
+ import { svelte } from "@sveltejs/vite-plugin-svelte";
3
+ import { lobbStudioPlugins } from "@lobb-js/studio/vite-plugins";
4
+ import tailwindcss from "@tailwindcss/vite";
5
+
6
+ // https://vite.dev/config/
7
+ export default defineConfig({
8
+ plugins: [
9
+ ...lobbStudioPlugins(),
10
+ tailwindcss(),
11
+ svelte(),
12
+ ],
13
+ });
@@ -1,6 +0,0 @@
1
- export default {
2
- plugins: {
3
- tailwindcss: {},
4
- autoprefixer: {}
5
- }
6
- };
@@ -1,92 +0,0 @@
1
- import { fontFamily } from "tailwindcss/defaultTheme";
2
- import type { Config } from "tailwindcss";
3
- import tailwindcssAnimate from "tailwindcss-animate";
4
-
5
- const config: Config = {
6
- darkMode: ["class"],
7
- content: [
8
- "./src/**/*.{html,js,svelte,ts}",
9
- "../../../packages/studio/src/**/*.{html,js,svelte,ts}",
10
- ],
11
- safelist: ["dark"],
12
- theme: {
13
- container: {
14
- center: true,
15
- padding: "2rem",
16
- screens: {
17
- "2xl": "1400px",
18
- },
19
- },
20
- extend: {
21
- colors: {
22
- border: "hsl(var(--border) / <alpha-value>)",
23
- input: "hsl(var(--input) / <alpha-value>)",
24
- ring: "hsl(var(--ring) / <alpha-value>)",
25
- background: "hsl(var(--background) / <alpha-value>)",
26
- foreground: "hsl(var(--foreground) / <alpha-value>)",
27
- primary: {
28
- DEFAULT: "hsl(var(--primary) / <alpha-value>)",
29
- foreground: "hsl(var(--primary-foreground) / <alpha-value>)",
30
- },
31
- secondary: {
32
- DEFAULT: "hsl(var(--secondary) / <alpha-value>)",
33
- foreground: "hsl(var(--secondary-foreground) / <alpha-value>)",
34
- },
35
- destructive: {
36
- DEFAULT: "hsl(var(--destructive) / <alpha-value>)",
37
- foreground: "hsl(var(--destructive-foreground) / <alpha-value>)",
38
- },
39
- soft: {
40
- DEFAULT: "hsl(var(--soft) / <alpha-value>)",
41
- },
42
- muted: {
43
- DEFAULT: "hsl(var(--muted) / <alpha-value>)",
44
- foreground: "hsl(var(--muted-foreground) / <alpha-value>)",
45
- },
46
- accent: {
47
- DEFAULT: "hsl(var(--accent) / <alpha-value>)",
48
- foreground: "hsl(var(--accent-foreground) / <alpha-value>)",
49
- },
50
- popover: {
51
- DEFAULT: "hsl(var(--popover) / <alpha-value>)",
52
- foreground: "hsl(var(--popover-foreground) / <alpha-value>)",
53
- },
54
- card: {
55
- DEFAULT: "hsl(var(--card) / <alpha-value>)",
56
- foreground: "hsl(var(--card-foreground) / <alpha-value>)",
57
- },
58
- },
59
- borderRadius: {
60
- xl: "calc(var(--radius) + 4px)",
61
- lg: "var(--radius)",
62
- md: "calc(var(--radius) - 2px)",
63
- sm: "calc(var(--radius) - 4px)",
64
- },
65
- fontFamily: {
66
- sans: [...fontFamily.sans],
67
- },
68
- keyframes: {
69
- "accordion-down": {
70
- from: { height: "0" },
71
- to: { height: "var(--bits-accordion-content-height)" },
72
- },
73
- "accordion-up": {
74
- from: { height: "var(--bits-accordion-content-height)" },
75
- to: { height: "0" },
76
- },
77
- "caret-blink": {
78
- "0%,70%,100%": { opacity: "1" },
79
- "20%,50%": { opacity: "0" },
80
- },
81
- },
82
- animation: {
83
- "accordion-down": "accordion-down 0.2s ease-out",
84
- "accordion-up": "accordion-up 0.2s ease-out",
85
- "caret-blink": "caret-blink 1.25s ease-out infinite",
86
- },
87
- },
88
- },
89
- plugins: [tailwindcssAnimate],
90
- };
91
-
92
- export default config;
@@ -1,13 +0,0 @@
1
- import { defineConfig } from "vite";
2
- import { svelte } from "@sveltejs/vite-plugin-svelte";
3
- import path from "path";
4
-
5
- // https://vite.dev/config/
6
- export default defineConfig({
7
- plugins: [svelte()],
8
- resolve: {
9
- alias: {
10
- $lib: path.resolve("../../../packages/studio/src/lib"),
11
- },
12
- },
13
- });
File without changes
File without changes
File without changes
File without changes