@floegence/floe-webapp-core 0.36.50 → 0.36.53

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.
@@ -0,0 +1,37 @@
1
+ import type { WorkbenchBackgroundLayerDefaults, WorkbenchDockToolId, WorkbenchTextAnnotationDefaults, WorkbenchWidgetDefinition, WorkbenchWidgetType } from './types';
2
+ export type WorkbenchPlacementPreviewKind = 'widget' | 'sticky-note' | 'text' | 'background-region';
3
+ export type WorkbenchPlacementPreviewFrame = Readonly<{
4
+ kind: WorkbenchPlacementPreviewKind;
5
+ label: string;
6
+ x: number;
7
+ y: number;
8
+ width: number;
9
+ height: number;
10
+ }>;
11
+ export declare function positiveFinite(value: number | undefined, fallback: number): number;
12
+ export declare function resolveStickyNoteDefaultSize(): Readonly<{
13
+ width: number;
14
+ height: number;
15
+ }>;
16
+ export declare function resolveTextAnnotationDefaultSize(defaults: WorkbenchTextAnnotationDefaults | undefined): Readonly<{
17
+ width: number;
18
+ height: number;
19
+ }>;
20
+ export declare function resolveBackgroundLayerDefaultSize(defaults: WorkbenchBackgroundLayerDefaults | undefined): Readonly<{
21
+ width: number;
22
+ height: number;
23
+ }>;
24
+ export declare function resolveWorkbenchWidgetPlacementPreview(input: {
25
+ type: WorkbenchWidgetType;
26
+ widgetDefinitions: readonly WorkbenchWidgetDefinition[];
27
+ worldX: number;
28
+ worldY: number;
29
+ }): WorkbenchPlacementPreviewFrame;
30
+ export declare function resolveWorkbenchToolPlacementPreview(input: {
31
+ tool: WorkbenchDockToolId;
32
+ label: string;
33
+ worldX: number;
34
+ worldY: number;
35
+ textDefaults?: WorkbenchTextAnnotationDefaults;
36
+ backgroundDefaults?: WorkbenchBackgroundLayerDefaults;
37
+ }): WorkbenchPlacementPreviewFrame;
@@ -0,0 +1,83 @@
1
+ import { createWorkbenchWidgetFrame as i } from "./workbenchHelpers.js";
2
+ import { getWidgetEntry as d } from "./widgets/widgetRegistry.js";
3
+ function t(e, o) {
4
+ return Number.isFinite(e) && e > 0 ? e : o;
5
+ }
6
+ function n() {
7
+ return { width: 260, height: 184 };
8
+ }
9
+ function h(e) {
10
+ return {
11
+ width: t(e?.width, 360),
12
+ height: t(e?.height, 96)
13
+ };
14
+ }
15
+ function w(e) {
16
+ return {
17
+ width: t(e?.width, 560),
18
+ height: t(e?.height, 360)
19
+ };
20
+ }
21
+ function l(e) {
22
+ return {
23
+ kind: e.kind,
24
+ label: e.label,
25
+ x: e.worldX - e.width / 2,
26
+ y: e.worldY - e.height / 2,
27
+ width: e.width,
28
+ height: e.height
29
+ };
30
+ }
31
+ function g(e) {
32
+ const o = d(e.type, e.widgetDefinitions), r = i(o, {
33
+ anchor: "center",
34
+ worldX: e.worldX,
35
+ worldY: e.worldY
36
+ });
37
+ return {
38
+ kind: "widget",
39
+ label: o.label,
40
+ x: r.x,
41
+ y: r.y,
42
+ width: r.width,
43
+ height: r.height
44
+ };
45
+ }
46
+ function s(e) {
47
+ if (e.tool === "sticky-note") {
48
+ const r = n();
49
+ return l({
50
+ kind: "sticky-note",
51
+ label: e.label,
52
+ worldX: e.worldX,
53
+ worldY: e.worldY,
54
+ ...r
55
+ });
56
+ }
57
+ if (e.tool === "text") {
58
+ const r = h(e.textDefaults);
59
+ return l({
60
+ kind: "text",
61
+ label: e.label,
62
+ worldX: e.worldX,
63
+ worldY: e.worldY,
64
+ ...r
65
+ });
66
+ }
67
+ const o = w(e.backgroundDefaults);
68
+ return l({
69
+ kind: "background-region",
70
+ label: e.label,
71
+ worldX: e.worldX,
72
+ worldY: e.worldY,
73
+ ...o
74
+ });
75
+ }
76
+ export {
77
+ t as positiveFinite,
78
+ w as resolveBackgroundLayerDefaultSize,
79
+ n as resolveStickyNoteDefaultSize,
80
+ h as resolveTextAnnotationDefaultSize,
81
+ s as resolveWorkbenchToolPlacementPreview,
82
+ g as resolveWorkbenchWidgetPlacementPreview
83
+ };