format element properties

This commit is contained in:
Asaki Yuki 2026-02-24 19:39:01 +07:00
parent e2be9892dc
commit eee464dcd7
12 changed files with 33 additions and 14 deletions

View file

@ -43,6 +43,11 @@ export function FormatProperties(properties: any) {
delete properties.anchor
}
if (properties.fit_to_width) {
properties["$fit_to_width"] = properties.fit_to_width
delete properties.fit_to_width
}
if (Object.keys(property_bag).length) {
if (properties.property_bag) {
properties.property_bag = { ...property_bag, ...properties.property_bag }

View file

View file

@ -16,7 +16,7 @@ export interface TooltipTrigger extends InputPanel, e.TooltipTrigger {}
export interface Button extends InputPanel, e.Button {}
export interface Toggle extends InputPanel, e.Toggle {}
export interface Dropdown extends Toggle, e.DropdownName {}
export interface Dropdown extends Toggle, e.Dropdown {}
export interface SelectionWheel extends InputPanel, e.SelectionWheel {}
export interface EditBox extends Button, e.EditBox {}

View file

@ -5,13 +5,13 @@ export interface Control {
ignored?: Value<boolean>
enabled?: Value<boolean>
layer?: Value<number>
z_order?: Value<number>
alpha?: AnimValue<number>
propagate_alpha?: Value<boolean>
clips_children?: Value<boolean>
allow_clipping?: Value<boolean>
clip_offset?: Value<Array2<number>>
clip_state_change_event?: Value<string>
enable_scissor_test?: Value<boolean>
selected?: Value<boolean>
use_child_anchors?: Value<boolean>
contained?: Value<boolean>
@ -20,6 +20,9 @@ export interface Control {
property_bag?: Value<PropertyBags>
collection_index?: Value<number>
property_bag_for_children?: Value<PropertyBags>
disable_anim_fast_forward?: Value<boolean>
animation_reset_name?: Value<string>
grid_position?: Value<Array2<number>>
[key: Binding]: Value<any>
[key: Variable]: Value<any>
}

View file

@ -1,6 +1,6 @@
import { Value } from "../value.js"
export interface DropdownName {
export interface Dropdown {
dropdown_name?: Value<string>
dropdown_content_control?: Value<string>
dropdown_area?: Value<string>

View file

@ -12,4 +12,7 @@ export interface Layout {
anchor_from?: Value<string | Anchor>
anchor_to?: Value<string | Anchor>
anchor?: Value<string | Anchor>
contained?: Value<boolean>
draggable?: Value<boolean>
follows_cursor?: Value<boolean>
}

View file

@ -4,7 +4,7 @@ export interface ScrollView {
scrollbar_track_button?: Value<string>
scrollbar_touch_button?: Value<string>
scroll_speed?: Value<number>
gesture_control_enabled?: Value<number>
gesture_control_enabled?: Value<boolean>
always_handle_scrolling?: Value<boolean>
touch_mode?: Value<boolean>
scrollbar_box?: Value<string>

View file

@ -22,10 +22,4 @@ export interface Slider {
background_hover_control?: Value<string>
progress_control?: Value<string>
progress_hover_control?: Value<string>
slider_render_bar_background_color?: Value<Array3<number>>
slider_render_bar_progress_color?: Value<Array3<number>>
slider_render_bar_outline_color?: Value<Array3<number>>
slider_render_bar_background_hover_color?: Value<Array3<number>>
slider_render_bar_progress_hover_color?: Value<Array3<number>>
slider_render_bar_outline_hover_color?: Value<Array3<number>>
}

View file

@ -1,4 +1,5 @@
import { ClipDirection } from "../../enums/ClipDirection.js"
import { TextureFileSystem } from "../enum.js"
import { AnimValue, Array2, Array3, Array4, Value } from "../value.js"
export interface Sprite {
@ -6,9 +7,9 @@ export interface Sprite {
allow_debug_missing_texture?: Value<boolean>
uv?: AnimValue<Array2<number>>
uv_size?: AnimValue<Array2<number>>
texture_file_system?: Value<string>
texture_file_system?: Value<string | TextureFileSystem>
nineslice_size?: AnimValue<Array2<number> | Array3<number> | Array4<number>>
tiled?: Value<boolean | { x: number; y: number }>
tiled?: Value<boolean | "x" | "y">
tiled_scale?: Value<Array<number>>
clip_direction?: Value<string | ClipDirection>
clip_ratio?: Value<number>
@ -22,5 +23,4 @@ export interface Sprite {
grayscale?: Value<boolean>
force_texture_reload?: Value<boolean>
base_size?: Value<Array2<number>>
color_corrected?: Value<boolean>
}

View file

@ -6,7 +6,7 @@ export * from "./Control.js"
export * from "./CustomRenderer.js"
export * from "./Cycler.js"
export * from "./DataBinding.js"
export * from "./DropdownName.js"
export * from "./Dropdown.js"
export * from "./EditBox.js"
export * from "./Factory.js"
export * from "./Focus.js"

View file

@ -0,0 +1,13 @@
export enum TextureFileSystem {
IN_USER_PACKAGE = "InUserPackage",
IN_APP_PACKAGE = "InAppPackage",
RAW_PATH = "RawPath",
RAW_PERSISTENT = "RawPersistent",
IN_SETTINGS_DIR = "InSettingsDir",
IN_EXTERNAL_DIR = "InExternalDir",
IN_SERVER_PACKAGE = "InServerPackage",
IN_DATA_DIR = "InDataDir",
IN_USER_DIR = "InUserDir",
IN_WORLD_DIR = "InWorldDir",
STORE_CACHE = "StoreCache",
}

View file

@ -1,6 +1,7 @@
export * as ElementProperties from "./element/index.js"
export * as ComponentProperties from "./components.js"
export * as Value from "./value.js"
export * from "./enum.js"
export { ArrayName } from "../enums/ArrayName.js"
export { Operation } from "../enums/Operation.js"