diff --git a/frontend/package-lock.json b/frontend/package-lock.json index e444873ab4..db67e4c9f2 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -48,7 +48,6 @@ "@types/vscode": "~1.74.0", "@typescript-eslint/eslint-plugin": "^5.49.0", "@typescript-eslint/parser": "^5.48.0", - "@windmill-labs/svelte-grid": "^5.1.6", "@zerodevx/svelte-toast": "^0.8.1", "autoprefixer": "^10.4.13", "cssnano": "^5.1.14", @@ -1601,12 +1600,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@windmill-labs/svelte-grid": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@windmill-labs/svelte-grid/-/svelte-grid-5.1.6.tgz", - "integrity": "sha512-wXHIG7XeMxwxnfaHajhjvz9c0u5uGgiQtTk/QxAVyViGdshsclfIfIWZF113QQBKCKp2jY/zP1cj64BrqioRoQ==", - "dev": true - }, "node_modules/@zeit/schemas": { "version": "2.21.0", "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.21.0.tgz", @@ -9284,12 +9277,6 @@ "eslint-visitor-keys": "^3.3.0" } }, - "@windmill-labs/svelte-grid": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@windmill-labs/svelte-grid/-/svelte-grid-5.1.6.tgz", - "integrity": "sha512-wXHIG7XeMxwxnfaHajhjvz9c0u5uGgiQtTk/QxAVyViGdshsclfIfIWZF113QQBKCKp2jY/zP1cj64BrqioRoQ==", - "dev": true - }, "@zeit/schemas": { "version": "2.21.0", "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.21.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 9785c52395..ba89ee1bdd 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -27,7 +27,6 @@ "@types/vscode": "~1.74.0", "@typescript-eslint/eslint-plugin": "^5.49.0", "@typescript-eslint/parser": "^5.48.0", - "@windmill-labs/svelte-grid": "^5.1.6", "@zerodevx/svelte-toast": "^0.8.1", "autoprefixer": "^10.4.13", "cssnano": "^5.1.14", diff --git a/frontend/src/global.d.ts b/frontend/src/global.d.ts index c4e228d7e6..6d1590fd4b 100644 --- a/frontend/src/global.d.ts +++ b/frontend/src/global.d.ts @@ -1,79 +1,2 @@ /// -declare type Item = import('svelte-dnd-action').Item -declare type DndEvent = import('svelte-dnd-action').DndEvent -declare namespace svelte.JSX { - interface HTMLAttributes { - onconsider?: (event: CustomEvent> & { target: EventTarget & T }) => void - onfinalize?: (event: CustomEvent> & { target: EventTarget & T }) => void - } -} - -declare module '@windmill-labs/svelte-grid' { - import type { SvelteComponentTyped } from 'svelte' - - export interface Size { - w: number - h: number - } - - export interface Positon { - x: number - y: number - } - - interface ItemLayout extends Size, Positon { - fixed?: boolean - resizable?: boolean - draggable?: boolean - customDragger?: boolean - customResizer?: boolean - min?: Size - max?: Size - } - - export type Item = T & { [width: number]: ItemLayout; data: any } - export type FilledItem = T & { [width: number]: Required; data: any } - - export interface Props { - fillSpace?: boolean - items: FilledItem[] - rowHeight: number - cols: [number, number][] - gap?: [number, number] - fastStart?: boolean - throttleUpdate?: number - throttleResize?: number - onTopId?: string - scroller?: undefined - sensor?: number - parentWidth?: number - } - - export interface Slots { - default: { item: ItemLayout; dataItem: Item } - } - - export default class Grid extends SvelteComponentTyped< - Props, - { - pointerup: CustomEvent<{ id: string }> - mount: CustomEvent<> - }, - Slots - > { } -} - -declare module '@windmill-labs/svelte-grid/build/helper/index.mjs' { - import { ItemLayout } from '@windmill-labs/svelte-grid' - - const x: { - normalize(items: any[], col: any): unknown[] - adjust(items: any[], col: any): unknown[] - findSpace(item: any, items: any, cols: any): unknown - - item(obj: ItemLayout): Required - } - - export default x -} diff --git a/frontend/src/lib/components/Dropdown.svelte b/frontend/src/lib/components/Dropdown.svelte index 3f36cc07fb..2ca0e28b5a 100644 --- a/frontend/src/lib/components/Dropdown.svelte +++ b/frontend/src/lib/components/Dropdown.svelte @@ -2,9 +2,10 @@ import type { DropdownItem } from '$lib/utils' import { createEventDispatcher } from 'svelte' import Icon from 'svelte-awesome' - import { MoreHorizontal } from 'lucide-svelte' + import { MoreVertical } from 'lucide-svelte' import { Button, Menu } from './common' import { goto } from '$app/navigation' + import { twMerge } from 'tailwind-merge' type Alignment = 'start' | 'end' type Side = 'top' | 'bottom' @@ -13,15 +14,24 @@ export let dropdownItems: DropdownItem[] export let name: string | undefined = undefined export let placement: Placement = 'bottom-start' - export let btnClasses = '!text-blue-500 bg-transparent' + export let btnClasses = '' + $: buttonClass = twMerge('!border-0 bg-transparent !p-[6px]', btnClasses) const dispatch = createEventDispatcher() - + {:else} + + {title} + + {tooltip} + + + {/if} + +{#if showContent} +
+ +
+{/if} diff --git a/frontend/src/lib/components/Tooltip.svelte b/frontend/src/lib/components/Tooltip.svelte index eb79fae9e7..a9511d55d5 100644 --- a/frontend/src/lib/components/Tooltip.svelte +++ b/frontend/src/lib/components/Tooltip.svelte @@ -18,5 +18,7 @@ data={faInfoCircle} {scale} /> - + + + diff --git a/frontend/src/lib/components/apps/components/buttons/AppButton.svelte b/frontend/src/lib/components/apps/components/buttons/AppButton.svelte index 4256e86729..ff07a5523b 100644 --- a/frontend/src/lib/components/apps/components/buttons/AppButton.svelte +++ b/frontend/src/lib/components/apps/components/buttons/AppButton.svelte @@ -127,6 +127,7 @@ diff --git a/frontend/src/lib/components/apps/components/helpers/InputValue.svelte b/frontend/src/lib/components/apps/components/helpers/InputValue.svelte index f2effd3066..6a515b3c08 100644 --- a/frontend/src/lib/components/apps/components/helpers/InputValue.svelte +++ b/frontend/src/lib/components/apps/components/helpers/InputValue.svelte @@ -12,6 +12,7 @@ export let value: T export let id: string | undefined = undefined export let error: string = '' + export let extraContext: Record = {} let lastInput = input ? JSON.parse(JSON.stringify(input)) : undefined @@ -72,16 +73,19 @@ } function computeGlobalContext() { - return Object.fromEntries( - Object.entries($worldStore?.outputsById ?? {}) - .filter(([k, _]) => k != id) - .map(([key, value]) => { - return [ - key, - Object.fromEntries(Object.entries(value ?? {}).map((x) => [x[0], x[1].peak()])) - ] - }) - ) + return { + ...Object.fromEntries( + Object.entries($worldStore?.outputsById ?? {}) + .filter(([k, _]) => k != id) + .map(([key, value]) => { + return [ + key, + Object.fromEntries(Object.entries(value ?? {}).map((x) => [x[0], x[1].peak()])) + ] + }) + ), + ...extraContext + } } export function getValue(input: AppInput) { diff --git a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte index 945cab6a19..6faad73a96 100644 --- a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte +++ b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte @@ -558,7 +558,7 @@
- - + />