mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-19 10:58:04 +08:00
* Fix gamma correction with HTML-based editable Text tool text * Migrate simple, undecorated classes to types * Remove TupleToVec2 transformation * Remove @Transform from tooltips * Cleanup: replace value.toString() with String(value) everywhere * Convert documentId from string to bigint * Migrate the rest of the easy @Transform/@Type decorations * Migrate FillChoice * Migrate WidgetDiffUpdate * Migrate WidgetInstance * Migrate away from classes that extend WidgetProps * Remove class-transformer and all classes in messages.ts * Migrate UI layout passing * Remove dead code * Remove unnecessary export and readonly prefixes * Remove HSVA type * Break out Color, Gradient, and FillChoice functions into a utility-functions file * Move widget helper functions from messages.ts into a new utility-functions file; restructure type imports * Reduce internal type defs * Rename JsMessage to FrontendMessage * Code review fixes * Fix other usages * Tidying up
27 lines
1.1 KiB
Svelte
27 lines
1.1 KiB
Svelte
<script lang="ts">
|
|
import type { Layout, LayoutTarget } from "@graphite/messages";
|
|
import { isWidgetSpanColumn, isWidgetSpanRow, isWidgetTable, isWidgetSection } from "@graphite/utility-functions/widgets";
|
|
|
|
import WidgetSection from "@graphite/components/widgets/WidgetSection.svelte";
|
|
import WidgetSpan from "@graphite/components/widgets/WidgetSpan.svelte";
|
|
import WidgetTable from "@graphite/components/widgets/WidgetTable.svelte";
|
|
|
|
export let layout: Layout;
|
|
export let layoutTarget: LayoutTarget;
|
|
let className = "";
|
|
export { className as class };
|
|
export let classes: Record<string, boolean> = {};
|
|
</script>
|
|
|
|
{#each layout as layoutGroup}
|
|
{#if isWidgetSpanRow(layoutGroup) || isWidgetSpanColumn(layoutGroup)}
|
|
<WidgetSpan widgetData={layoutGroup} {layoutTarget} class={className} {classes} />
|
|
{:else if isWidgetSection(layoutGroup)}
|
|
<WidgetSection widgetData={layoutGroup} {layoutTarget} class={className} {classes} />
|
|
{:else if isWidgetTable(layoutGroup)}
|
|
<WidgetTable widgetData={layoutGroup} {layoutTarget} unstyled={layoutGroup.unstyled} />
|
|
{/if}
|
|
{/each}
|
|
|
|
<style lang="scss" global></style>
|