lecodes-sdk 1.2.0 → 2.0.1

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.
Files changed (260) hide show
  1. package/README.md +5 -2
  2. package/dist/editor.d.ts +12 -0
  3. package/dist/global.d.ts +4 -8
  4. package/dist/host.d.ts +2 -3
  5. package/dist/types/animate/tween/Animation.d.ts +0 -3
  6. package/dist/types/animate/tween/animateValue.d.ts +4 -2
  7. package/dist/types/animate/tween/easing.d.ts +8 -0
  8. package/dist/types/animate/tween/spec.d.ts +15 -7
  9. package/dist/types/audio/audio.d.ts +2 -1
  10. package/dist/types/canvas/Canvas.d.ts +40 -108
  11. package/dist/types/canvas/gen/cssColor.d.ts +17 -0
  12. package/dist/types/canvas/gen/recorder.d.ts +118 -0
  13. package/dist/types/canvas/gen/spec.d.ts +144 -0
  14. package/dist/types/core/color.d.ts +3 -1
  15. package/dist/types/core/pins.d.ts +18 -0
  16. package/dist/types/g2/Node2D.d.ts +5 -8
  17. package/dist/types/g2/Scene2D.d.ts +6 -2
  18. package/dist/types/gl/Foliage.d.ts +30 -7
  19. package/dist/types/gl/Light.d.ts +8 -0
  20. package/dist/types/gl/Lightmap.d.ts +13 -2
  21. package/dist/types/gl/Material.d.ts +17 -3
  22. package/dist/types/gl/Model.d.ts +6 -2
  23. package/dist/types/gl/Node.d.ts +3 -6
  24. package/dist/types/gl/Scene.d.ts +41 -13
  25. package/dist/types/gl/Texture.d.ts +1 -1
  26. package/dist/types/gl/animation/Locomotion.d.ts +8 -1
  27. package/dist/types/inject.d.ts +11 -11
  28. package/dist/types/inject.editor.d.ts +1 -0
  29. package/dist/types/net/core.d.ts +7 -0
  30. package/dist/types/plugin.d.ts +76 -0
  31. package/dist/types/plugins/gen/camera/sdk/camera.d.ts +24 -0
  32. package/dist/types/plugins/gen/camera/sdk/camera.gen.d.ts +25 -0
  33. package/dist/types/plugins/{geolocation.d.ts → gen/geolocation/sdk/geolocation.d.ts} +2 -20
  34. package/dist/types/plugins/gen/geolocation/sdk/geolocation.gen.d.ts +31 -0
  35. package/dist/types/plugins/{map.d.ts → gen/map/sdk/map.d.ts} +9 -50
  36. package/dist/types/plugins/gen/map/sdk/map.gen.d.ts +53 -0
  37. package/dist/types/plugins/gen/push/sdk/push.d.ts +23 -0
  38. package/dist/types/plugins/gen/push/sdk/push.gen.d.ts +35 -0
  39. package/dist/types/plugins/{qr.d.ts → gen/qr-scanner/sdk/qr-scanner.d.ts} +2 -3
  40. package/dist/types/plugins/gen/qr-scanner/sdk/qr-scanner.gen.d.ts +15 -0
  41. package/dist/types/runtime/app.d.ts +9 -2
  42. package/dist/types/runtime/fetch.d.ts +2 -0
  43. package/dist/types/runtime/input.d.ts +1 -1
  44. package/dist/types/runtime/media.d.ts +6 -10
  45. package/dist/types/runtime/misc.d.ts +4 -1
  46. package/dist/types/runtime/net.d.ts +3 -2
  47. package/dist/types/runtime/touch.d.ts +32 -0
  48. package/dist/types/scene/defineScene.d.ts +43 -2
  49. package/dist/types/scene/editor.d.ts +52 -0
  50. package/dist/types/scene/gizmos.d.ts +7 -4
  51. package/dist/types/ui/NativeView.d.ts +6 -4
  52. package/dist/types/ui/UI.d.ts +1 -1
  53. package/dist/types/ui/UIBottomSheet.d.ts +6 -12
  54. package/dist/types/ui/UIButton.d.ts +12 -14
  55. package/dist/types/ui/UIContainer.d.ts +0 -6
  56. package/dist/types/ui/UIImage.d.ts +1 -4
  57. package/dist/types/ui/UIInput.d.ts +8 -24
  58. package/dist/types/ui/UIModal.d.ts +0 -2
  59. package/dist/types/ui/UINode.d.ts +70 -56
  60. package/dist/types/ui/UIPager.d.ts +28 -27
  61. package/dist/types/ui/UIPopover.d.ts +0 -2
  62. package/dist/types/ui/UIScreen.d.ts +12 -17
  63. package/dist/types/ui/UIScrollable.d.ts +1 -4
  64. package/dist/types/ui/UIText.d.ts +0 -2
  65. package/dist/types/ui/UIVideo.d.ts +3 -5
  66. package/dist/types/ui/UIVirtualizedList.d.ts +14 -16
  67. package/dist/types/ui/UIWidget.d.ts +10 -9
  68. package/dist/types/ui/colorKeys.gen.d.ts +9 -0
  69. package/dist/types/ui/presentable.d.ts +46 -32
  70. package/dist/types/ui/router.d.ts +18 -7
  71. package/dist/types/ui/styleColor.d.ts +1 -0
  72. package/dist/types/ui/transitions.d.ts +18 -0
  73. package/dist/types/ui/tree.d.ts +75 -0
  74. package/dist/types/version.d.ts +10 -0
  75. package/dist/types.json +1 -1
  76. package/package.json +12 -3
  77. package/prompts/2d.md +2 -6
  78. package/prompts/3d.md +1 -5
  79. package/prompts/README.md +1 -1
  80. package/prompts/canvas.md +9 -8
  81. package/prompts/compose.ts +1 -1
  82. package/prompts/core.md +3 -3
  83. package/prompts/design.md +1 -1
  84. package/prompts/dist/2d-game.md +473 -239
  85. package/prompts/dist/3d-app.md +553 -205
  86. package/prompts/dist/ar-app.md +435 -202
  87. package/prompts/dist/design.md +113 -95
  88. package/prompts/dist/ui-app.md +386 -170
  89. package/prompts/ui-design.md +2 -3
  90. package/prompts/ui.md +45 -37
  91. package/src/animate/tween/Animation.ts +34 -150
  92. package/src/animate/tween/Timeline.ts +175 -175
  93. package/src/animate/tween/animateValue.ts +6 -3
  94. package/src/animate/tween/easing.ts +10 -3
  95. package/src/animate/tween/spec.ts +41 -15
  96. package/src/audio/Sound.ts +3 -3
  97. package/src/audio/audio.ts +2 -1
  98. package/src/bridges/2d.d.ts +317 -0
  99. package/src/bridges/app.d.ts +91 -0
  100. package/src/bridges/audio.d.ts +97 -0
  101. package/src/bridges/canvas.d.ts +79 -0
  102. package/src/bridges/device.d.ts +72 -0
  103. package/src/bridges/fetch.d.ts +80 -0
  104. package/src/bridges/files.d.ts +70 -0
  105. package/src/bridges/gl.d.ts +1133 -0
  106. package/src/bridges/input.d.ts +72 -0
  107. package/src/bridges/media.d.ts +55 -0
  108. package/src/bridges/nav.d.ts +71 -0
  109. package/src/bridges/net.d.ts +52 -0
  110. package/src/bridges/service.d.ts +52 -0
  111. package/src/bridges/socket.d.ts +31 -0
  112. package/src/bridges/storage.d.ts +33 -0
  113. package/src/bridges/tree.d.ts +301 -0
  114. package/src/bridges/types.d.ts +49 -0
  115. package/src/canvas/Canvas.ts +114 -159
  116. package/src/canvas/gen/cssColor.ts +224 -0
  117. package/src/canvas/gen/recorder.ts +212 -0
  118. package/src/canvas/gen/spec.ts +201 -0
  119. package/src/chisel.ts +193 -0
  120. package/src/compile/assetMacro.ts +1 -1
  121. package/src/compile/bundler.ts +11 -2
  122. package/src/compile/compileProject.ts +43 -4
  123. package/src/compile/fontMacro.ts +3 -4
  124. package/src/compile/header.ts +26 -5
  125. package/src/compile/index.ts +3 -1
  126. package/src/compile/liteMaterial.ts +1 -1
  127. package/src/compile/sceneEditor.ts +11 -26
  128. package/src/core/color.ts +73 -30
  129. package/src/core/pins.ts +51 -0
  130. package/src/core/signals.ts +8 -1
  131. package/src/g2/CharacterController2D.ts +3 -3
  132. package/src/g2/Node2D.ts +57 -39
  133. package/src/g2/Physics2D.ts +2 -2
  134. package/src/g2/Scene2D.ts +35 -23
  135. package/src/g2/Texture2D.ts +1 -1
  136. package/src/g2/loop.ts +4 -4
  137. package/src/gl/CameraPlace.ts +52 -52
  138. package/src/gl/Foliage.ts +72 -17
  139. package/src/gl/Geometry.ts +1 -2
  140. package/src/gl/Light.ts +10 -0
  141. package/src/gl/Lightmap.ts +45 -29
  142. package/src/gl/Material.ts +95 -51
  143. package/src/gl/Mesh.ts +120 -120
  144. package/src/gl/Model.ts +21 -16
  145. package/src/gl/Node.ts +91 -24
  146. package/src/gl/Particles.ts +1 -1
  147. package/src/gl/Scene.ts +100 -44
  148. package/src/gl/Texture.ts +8 -7
  149. package/src/gl/animation/AnimationClip.ts +1 -1
  150. package/src/gl/animation/DynamicBone.ts +482 -482
  151. package/src/gl/animation/Locomotion.ts +8 -3
  152. package/src/gl/nav/NavMesh.ts +3 -4
  153. package/src/gl/physics/Physics.ts +2 -2
  154. package/src/gl/physics/physicsEvents.ts +3 -3
  155. package/src/gl/scenarios.ts +291 -291
  156. package/src/gl/terrain/Terrain.ts +4 -5
  157. package/src/gl/touch.ts +14 -15
  158. package/src/host.d.ts +2 -3
  159. package/src/inject.editor.ts +7 -0
  160. package/src/inject.ts +13 -16
  161. package/src/net/core.ts +6 -5
  162. package/src/net/index.ts +1 -1
  163. package/src/net/replication.ts +1 -1
  164. package/src/plugin.ts +191 -0
  165. package/src/plugins/gen/camera/contract.d.ts +27 -0
  166. package/src/plugins/gen/camera/sdk/camera.gen.ts +46 -0
  167. package/src/plugins/gen/camera/sdk/camera.ts +57 -0
  168. package/src/plugins/gen/geolocation/contract.d.ts +50 -0
  169. package/src/plugins/gen/geolocation/sdk/geolocation.gen.ts +54 -0
  170. package/src/plugins/{geolocation.ts → gen/geolocation/sdk/geolocation.ts} +22 -43
  171. package/src/plugins/gen/map/contract.d.ts +144 -0
  172. package/src/plugins/gen/map/sdk/map.gen.ts +88 -0
  173. package/src/plugins/{map.ts → gen/map/sdk/map.ts} +68 -102
  174. package/src/plugins/gen/push/contract.d.ts +61 -0
  175. package/src/plugins/gen/push/sdk/push.gen.ts +60 -0
  176. package/src/plugins/gen/push/sdk/push.ts +105 -0
  177. package/src/plugins/gen/qr-scanner/contract.d.ts +16 -0
  178. package/src/plugins/gen/qr-scanner/sdk/qr-scanner.gen.ts +29 -0
  179. package/src/plugins/gen/qr-scanner/sdk/qr-scanner.ts +52 -0
  180. package/src/plugins/permission.ts +5 -4
  181. package/src/runtime/app.ts +20 -9
  182. package/src/runtime/appEvents.ts +5 -4
  183. package/src/runtime/channel.ts +18 -15
  184. package/src/runtime/clipboard.ts +4 -3
  185. package/src/runtime/datetime.ts +2 -1
  186. package/src/runtime/device.ts +17 -15
  187. package/src/runtime/fetch.ts +30 -20
  188. package/src/runtime/files.ts +16 -15
  189. package/src/runtime/input.ts +12 -10
  190. package/src/runtime/media.ts +50 -46
  191. package/src/runtime/misc.ts +7 -3
  192. package/src/runtime/net.ts +8 -7
  193. package/src/runtime/rpc.ts +1 -3
  194. package/src/runtime/service.ts +19 -14
  195. package/src/runtime/share.ts +4 -3
  196. package/src/runtime/storage.ts +6 -4
  197. package/src/runtime/touch.ts +32 -0
  198. package/src/scene/defineScene.ts +61 -365
  199. package/src/scene/editor.ts +408 -0
  200. package/src/scene/editorPlugins.ts +3 -3
  201. package/src/scene/gizmos.ts +15 -9
  202. package/src/server/db/marci/query.ts +1 -1
  203. package/src/server/host.ts +1 -1
  204. package/src/server/runtime.ts +1 -1
  205. package/src/ui/NativeView.ts +72 -25
  206. package/src/ui/UI.ts +3 -3
  207. package/src/ui/UIBottomSheet.ts +16 -17
  208. package/src/ui/UIButton.ts +54 -16
  209. package/src/ui/UIContainer.ts +0 -6
  210. package/src/ui/UIImage.ts +34 -30
  211. package/src/ui/UIInput.ts +29 -37
  212. package/src/ui/UIModal.ts +1 -3
  213. package/src/ui/UINode.ts +347 -297
  214. package/src/ui/UIPager.ts +93 -78
  215. package/src/ui/UIPopover.ts +0 -2
  216. package/src/ui/UIScreen.ts +41 -36
  217. package/src/ui/UIScrollable.ts +19 -13
  218. package/src/ui/UISpacer.ts +1 -1
  219. package/src/ui/UITabs.ts +8 -6
  220. package/src/ui/UIText.ts +7 -17
  221. package/src/ui/UIVideo.ts +30 -27
  222. package/src/ui/UIVirtualizedList.ts +58 -59
  223. package/src/ui/UIWidget.ts +38 -18
  224. package/src/ui/colorKeys.gen.ts +37 -0
  225. package/src/ui/fonts.ts +2 -2
  226. package/src/ui/presentable.ts +59 -42
  227. package/src/ui/router.ts +52 -35
  228. package/src/ui/styleColor.ts +56 -0
  229. package/src/ui/theme.ts +7 -6
  230. package/src/ui/transitions.ts +249 -0
  231. package/src/ui/tree.ts +346 -0
  232. package/src/version.ts +24 -0
  233. package/tests/helpers/engineWorld.ts +11 -0
  234. package/tests/helpers/fakeTree.ts +353 -0
  235. package/tests/helpers/hostStubs.ts +31 -0
  236. package/tests/helpers/index.ts +14 -0
  237. package/tests/helpers/memoryMarci.ts +124 -0
  238. package/tests/helpers/phases.ts +23 -0
  239. package/tests/helpers/preload.ts +18 -0
  240. package/tests/helpers/stubApp.ts +2 -0
  241. package/tests/helpers/stubDevice.ts +2 -0
  242. package/tests/helpers/stubFetch.ts +2 -0
  243. package/tests/helpers/stubInput.ts +2 -0
  244. package/dist/inject.js +0 -4629
  245. package/dist/types/core/registry.d.ts +0 -7
  246. package/dist/types/plugins/camera.d.ts +0 -25
  247. package/dist/types/plugins/push.d.ts +0 -46
  248. package/src/bridges.d.ts +0 -1769
  249. package/src/compile/__tests__/assetIconMacro.test.ts +0 -219
  250. package/src/compile/__tests__/assetMacro.test.ts +0 -100
  251. package/src/compile/__tests__/assetName.test.ts +0 -55
  252. package/src/compile/__tests__/compile.test.ts +0 -310
  253. package/src/compile/__tests__/detectEntry.test.ts +0 -151
  254. package/src/compile/__tests__/fontMacro.test.ts +0 -199
  255. package/src/compile/__tests__/serverSplit.test.ts +0 -27
  256. package/src/core/__tests__/stateMachine.test.ts +0 -132
  257. package/src/core/registry.ts +0 -23
  258. package/src/plugins/camera.ts +0 -81
  259. package/src/plugins/push.ts +0 -132
  260. package/src/plugins/qr.ts +0 -73
package/src/ui/UIInput.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { type ElementStyle, type DrawableStyle, Element, type TextStyle, type Color, type BaseStyle, type UIElementBase, type LayerEasing } from "./UINode";
1
+ import { type ElementStyle, type DrawableStyle, Element, type TextStyle, type Color, type BaseStyle, type UIElementBase } from "./UINode";
2
+ import { TREE_FLAG_BLUR, TREE_FLAG_CHANGE, TREE_FLAG_FOCUS, TREE_FLAG_SUBMIT, tree } from "./tree"
2
3
 
3
4
  type InputStyle = {
4
5
  placeholder?: string,
@@ -51,15 +52,11 @@ type SubmitStyle = {
51
52
 
52
53
  /** A single-line text input. Keyboard/picker kind via the `type` style, return-key behavior via
53
54
  * `enterKey` + `onSubmit`; keyboard policy on `keyboardShrink`/`keyboardDismiss`. */
54
- export interface UIInput extends UIElementBase<UIInputStyle & SubmitStyle & { onFocused?: UIInputStyle & { duration?: number, delay?: number, easing?: LayerEasing } }, DrawableStyle & BaseStyle> {
55
+ export interface UIInput extends UIElementBase<UIInputStyle & SubmitStyle, DrawableStyle & BaseStyle> {
55
56
  readonly type: "input",
56
57
 
57
- /**
58
- * The field's text. Writable at any time — set it BEFORE the screen opens to pre-fill a form
59
- * (settings, edit-profile); the value is stashed on the node and applied when the host builds
60
- * it. Reads return the live text while the screen is open, and the last value you set while it
61
- * isn't. The user's typing is not preserved across close/open (use `keepAlive()` for that).
62
- */
58
+ /** The field's text. Writable at any time; reads return the live text (the host owns the field
59
+ * while the user types — IME composition, paste, the maxLength clamp, date/time canonicalization). */
63
60
  value: string
64
61
 
65
62
  /** The text changed — fires on every user edit. */
@@ -71,17 +68,17 @@ export interface UIInput extends UIElementBase<UIInputStyle & SubmitStyle & { on
71
68
  /** The keyboard's return key was pressed. `value` is the current text. See `enterKey`. */
72
69
  onSubmit(callback: (value: string) => void): UIInput
73
70
 
74
- /** Focus the input (opens the keyboard). No-op before mount. */
71
+ /** Focus the input (opens the keyboard). */
75
72
  focus(): void
76
73
  /** Release focus (dismisses the keyboard when this input held it). */
77
74
  blur(): void
78
75
  }
79
76
 
80
77
  /** A multi-line text field — see the {@link UITextArea} factory for the auto-grow contract. */
81
- export interface UITextArea extends UIElementBase<UIInputStyle & { onFocused?: UIInputStyle & { duration?: number, delay?: number, easing?: LayerEasing } }, DrawableStyle & BaseStyle> {
78
+ export interface UITextArea extends UIElementBase<UIInputStyle, DrawableStyle & BaseStyle> {
82
79
  readonly type: "textarea",
83
80
 
84
- /** The field's text — same contract as {@link UIInput.value}: settable before mount to pre-fill. */
81
+ /** The field's text — same contract as {@link UIInput.value}. */
85
82
  value: string
86
83
 
87
84
  /** The text changed — fires on every user edit. */
@@ -91,7 +88,7 @@ export interface UITextArea extends UIElementBase<UIInputStyle & { onFocused?: U
91
88
  /** Lost focus. */
92
89
  onBlur(callback: () => void): UITextArea
93
90
 
94
- /** Focus the text area (opens the keyboard). No-op before mount. */
91
+ /** Focus the text area (opens the keyboard). */
95
92
  focus(): void
96
93
  /** Release focus (dismisses the keyboard when this text area held it). */
97
94
  blur(): void
@@ -104,25 +101,12 @@ class InputElement<T extends "input" | "textarea"> extends Element<T> {
104
101
  readonly bl: Function[] = []
105
102
  readonly sl: Function[] = []
106
103
 
107
- /** @internal The value as last set by CODE. Hosts read it at node creation (after the initial
108
- * style, so a `date` field's canonical parse and `maxLength` are already in place), which is
109
- * what makes a value assigned before mount — a pre-filled settings form — land on the field.
110
- * Same pre-mount stash as UIImage's `_sourceRect`. Typing does NOT sync back here: while
111
- * mounted the HOST owns the text (IME composition, paste, the maxLength clamp, date/time
112
- * canonicalization) and the getter reads it over the bridge. So on a remount the field comes
113
- * back with the last code-set value, not what the user typed — screens that must keep live
114
- * editing state across close/open use `keepAlive()`, the mechanism built for it. */
115
- _value = ""
116
-
117
- get value() {
118
- // Mounted: the host is authoritative. Unmounted: what code last set (0 => never mounted).
119
- return this._id !== 0 ? _creatorUI.getTextValue(this._id) : this._value
104
+ get value(): string {
105
+ // The host is authoritative for the field's text (typing never round-trips through JS).
106
+ return this._h.id !== 0 ? tree().getTextValue(this._h.id) : ""
120
107
  }
121
108
  set value(value: string) {
122
- this._value = value
123
- if (this._id !== 0) {
124
- _creatorUI.updateNode(this._id, "value", value)
125
- }
109
+ if (this._h.id !== 0) tree().setString(this._h.id, "value", value)
126
110
  }
127
111
 
128
112
  // `phone` is SDK-surface only — hosts (and the web's verbatim `el.type`) keep HTML's `tel` as
@@ -133,31 +117,39 @@ class InputElement<T extends "input" | "textarea"> extends Element<T> {
133
117
 
134
118
  onChange (callback: (value: string) => void): this {
135
119
  this.cl.push(callback)
120
+ this._addFlags(TREE_FLAG_CHANGE)
136
121
  return this
137
122
  }
138
123
  onFocus(callback: () => void): this {
139
124
  this.fl.push(callback)
125
+ this._addFlags(TREE_FLAG_FOCUS)
140
126
  return this
141
127
  }
142
128
  onBlur(callback: () => void): this {
143
129
  this.bl.push(callback)
130
+ this._addFlags(TREE_FLAG_BLUR)
144
131
  return this
145
132
  }
146
133
  onSubmit(callback: (value: string) => void): this {
147
134
  this.sl.push(callback)
135
+ this._addFlags(TREE_FLAG_SUBMIT)
148
136
  return this
149
137
  }
150
-
151
- // Focus rides the existing value channel (updateNode "focus") — no new ABI method.
138
+ /** @internal */
139
+ _emitChange(value: string): void { for (const cb of this.cl.slice()) cb(value) }
140
+ /** @internal */
141
+ _emitFocus(): void { for (const cb of this.fl.slice()) cb() }
142
+ /** @internal */
143
+ _emitBlur(): void { for (const cb of this.bl.slice()) cb() }
144
+ /** @internal */
145
+ _emitSubmit(value: string): void { for (const cb of this.sl.slice()) cb(value) }
146
+
147
+ // Focus rides the content channel ("focus" = "1" / "0") — no dedicated bridge method.
152
148
  focus(): void {
153
- if (this._id !== 0) {
154
- _creatorUI.updateNode(this._id, "focus", true)
155
- }
149
+ if (this._h.id !== 0) tree().setString(this._h.id, "focus", "1")
156
150
  }
157
151
  blur(): void {
158
- if (this._id !== 0) {
159
- _creatorUI.updateNode(this._id, "focus", false)
160
- }
152
+ if (this._h.id !== 0) tree().setString(this._h.id, "focus", "0")
161
153
  }
162
154
  }
163
155
 
package/src/ui/UIModal.ts CHANGED
@@ -63,7 +63,7 @@ export class ModalElement extends WidgetElement {
63
63
  constructor(style: UIModalStyle, children: UINodeChild[] | ChildrenFn) {
64
64
  super("widget", { overlayColor: "rgba(0, 0, 0, 0.5)", ...style }, children)
65
65
  this.onOverlayTap(() => { if (this._dismissible) this.hide() })
66
- this.onBackPressed(() => { if (this._dismissible) this.hide() })
66
+ this.onBack(() => { if (this._dismissible) this.hide() })
67
67
  }
68
68
 
69
69
  // The full animate argument: hidden pose + duration, plus the scrim fade — only when the
@@ -132,8 +132,6 @@ const makeModal = (style: any, children: any) => new ModalElement(style, childre
132
132
  * `show()`/`hide()`. Same argument forms as `UIColumn`. */
133
133
  export function UIModal(...children: UIChildArg[]): UIModal;
134
134
  export function UIModal(children: UINodeChild[] | ChildrenFn): UIModal;
135
- /** @deprecated Style as the first argument is legacy — use chained `.style({...})`. */
136
- export function UIModal(style: UIModalStyle, children?: UINodeChild[] | ChildrenFn): UIModal;
137
135
  export function UIModal(...args: any[]): UIModal {
138
136
  return buildUI(args, null, makeModal)
139
137
  }