@effindomv2/fui-as 0.1.0

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 (137) hide show
  1. package/LICENSE.md +7 -0
  2. package/browser/src/common-harness/host-imports.ts +430 -0
  3. package/browser/src/common-harness/interop.ts +39 -0
  4. package/browser/src/common-harness/managed-harness-bitmap-host.ts +92 -0
  5. package/browser/src/common-harness/managed-harness-fetch-host.ts +201 -0
  6. package/browser/src/common-harness/managed-harness-file-host.ts +1101 -0
  7. package/browser/src/common-harness/managed-harness-file-payloads.ts +143 -0
  8. package/browser/src/common-harness/managed-harness-file-types.ts +106 -0
  9. package/browser/src/common-harness/managed-harness-session.ts +15 -0
  10. package/browser/src/common-harness/managed-harness.ts +1323 -0
  11. package/browser/src/common-harness/managed-history.ts +168 -0
  12. package/browser/src/common-harness/persisted-restore-policy.ts +50 -0
  13. package/browser/src/common-harness/persisted-ui-state-controller.ts +309 -0
  14. package/browser/src/common-harness/text-session-bridge.ts +452 -0
  15. package/browser/src/common-harness/types.ts +205 -0
  16. package/browser/src/common-harness/ui-chrome.ts +191 -0
  17. package/browser/src/common-harness/ui-imports.ts +529 -0
  18. package/browser/src/common-harness/wasm-module-cache.ts +47 -0
  19. package/browser/src/common-harness.ts +27 -0
  20. package/browser/src/file-processing-worker.ts +89 -0
  21. package/browser/src/host-events.ts +97 -0
  22. package/browser/src/host-services.ts +203 -0
  23. package/browser/src/index.ts +62 -0
  24. package/browser/src/persisted-ui-state.ts +206 -0
  25. package/browser/src/routed-harness.ts +198 -0
  26. package/browser/src/worker-bootstrap.ts +483 -0
  27. package/browser/src/worker-manager.ts +230 -0
  28. package/browser/src/worker-types.ts +50 -0
  29. package/package.json +89 -0
  30. package/scripts/build-demo-as.sh +91 -0
  31. package/scripts/build.sh +325 -0
  32. package/scripts/generate-host-events.ts +175 -0
  33. package/scripts/generate-host-services.ts +157 -0
  34. package/src/Fui.ts +205 -0
  35. package/src/FuiExports.ts +55 -0
  36. package/src/FuiPrimitives.ts +15 -0
  37. package/src/FuiWorker.ts +3 -0
  38. package/src/FuiWorkerExports.ts +6 -0
  39. package/src/bindings/ui.ts +531 -0
  40. package/src/color.ts +86 -0
  41. package/src/controls/AntiSelectionArea.ts +23 -0
  42. package/src/controls/Button.ts +750 -0
  43. package/src/controls/Checkbox.ts +181 -0
  44. package/src/controls/ContextMenu.ts +885 -0
  45. package/src/controls/ControlTemplateSet.ts +37 -0
  46. package/src/controls/Dialog.ts +355 -0
  47. package/src/controls/Dropdown.ts +856 -0
  48. package/src/controls/Form.ts +110 -0
  49. package/src/controls/NavLink.ts +211 -0
  50. package/src/controls/Popup.ts +129 -0
  51. package/src/controls/ProgressBar.ts +180 -0
  52. package/src/controls/RadioButton.ts +135 -0
  53. package/src/controls/RadioGroup.ts +244 -0
  54. package/src/controls/SelectionArea.ts +75 -0
  55. package/src/controls/Slider.ts +471 -0
  56. package/src/controls/Switch.ts +132 -0
  57. package/src/controls/TextArea.ts +20 -0
  58. package/src/controls/TextInput.ts +7 -0
  59. package/src/controls/index.ts +18 -0
  60. package/src/controls/internal/ButtonPresenter.ts +95 -0
  61. package/src/controls/internal/CheckboxIndicatorPresenter.ts +93 -0
  62. package/src/controls/internal/DropdownChevronPresenter.ts +67 -0
  63. package/src/controls/internal/DropdownFieldPresenter.ts +110 -0
  64. package/src/controls/internal/DropdownOptionRowPresenter.ts +82 -0
  65. package/src/controls/internal/PopupPresenter.ts +198 -0
  66. package/src/controls/internal/PressableIndicatorPresenter.ts +32 -0
  67. package/src/controls/internal/PressableLabeledControl.ts +221 -0
  68. package/src/controls/internal/RadioIndicatorPresenter.ts +73 -0
  69. package/src/controls/internal/SliderPresenter.ts +157 -0
  70. package/src/controls/internal/SwitchIndicatorPresenter.ts +72 -0
  71. package/src/controls/internal/TextInputCore.ts +695 -0
  72. package/src/controls/internal/TextInputPresenter.ts +72 -0
  73. package/src/controls/templating.ts +54 -0
  74. package/src/core/Action.ts +94 -0
  75. package/src/core/Actions.ts +37 -0
  76. package/src/core/Animation.ts +412 -0
  77. package/src/core/Application.ts +328 -0
  78. package/src/core/Assets.ts +264 -0
  79. package/src/core/AttachedProperties.ts +32 -0
  80. package/src/core/Bitmap.ts +70 -0
  81. package/src/core/BoundCallback.ts +104 -0
  82. package/src/core/Callbacks.ts +17 -0
  83. package/src/core/ContextMenuManager.ts +466 -0
  84. package/src/core/DebugApi.ts +30 -0
  85. package/src/core/Disposable.ts +10 -0
  86. package/src/core/DragDropManager.ts +179 -0
  87. package/src/core/DragGesture.ts +184 -0
  88. package/src/core/DynamicAssetIds.ts +24 -0
  89. package/src/core/Errors.ts +48 -0
  90. package/src/core/EventRouter.ts +408 -0
  91. package/src/core/ExternalDropManager.ts +122 -0
  92. package/src/core/Fetch.ts +264 -0
  93. package/src/core/FetchFfi.ts +15 -0
  94. package/src/core/File.ts +1002 -0
  95. package/src/core/FocusAdornerManager.ts +263 -0
  96. package/src/core/FocusVisibility.ts +36 -0
  97. package/src/core/FrameScheduler.ts +28 -0
  98. package/src/core/KeyboardScroll.ts +161 -0
  99. package/src/core/KeyboardScrollTracker.ts +386 -0
  100. package/src/core/Logger.ts +80 -0
  101. package/src/core/Navigation.ts +13 -0
  102. package/src/core/Node.ts +1708 -0
  103. package/src/core/PersistedState.ts +102 -0
  104. package/src/core/PersistedUiState.ts +142 -0
  105. package/src/core/Platform.ts +219 -0
  106. package/src/core/Signal.ts +89 -0
  107. package/src/core/Theme.ts +365 -0
  108. package/src/core/Timers.ts +129 -0
  109. package/src/core/ToolTip.ts +122 -0
  110. package/src/core/ToolTipManager.ts +459 -0
  111. package/src/core/Transitions.ts +34 -0
  112. package/src/core/Typography.ts +204 -0
  113. package/src/core/Worker.ts +196 -0
  114. package/src/core/bind.ts +37 -0
  115. package/src/core/event_exports.ts +596 -0
  116. package/src/core/ffi.ts +728 -0
  117. package/src/host-services/runtime.ts +25 -0
  118. package/src/nodes/FlexBox.ts +789 -0
  119. package/src/nodes/GradientStop.ts +9 -0
  120. package/src/nodes/Grid.ts +183 -0
  121. package/src/nodes/Image.ts +189 -0
  122. package/src/nodes/Portal.ts +14 -0
  123. package/src/nodes/RichText.ts +312 -0
  124. package/src/nodes/ScrollBar.ts +570 -0
  125. package/src/nodes/ScrollBox.ts +415 -0
  126. package/src/nodes/ScrollState.ts +10 -0
  127. package/src/nodes/ScrollView.ts +511 -0
  128. package/src/nodes/Svg.ts +142 -0
  129. package/src/nodes/Text.ts +145 -0
  130. package/src/nodes/TextCore.ts +558 -0
  131. package/src/nodes/VirtualList.ts +431 -0
  132. package/src/nodes/helpers.ts +25 -0
  133. package/src/nodes/index.ts +14 -0
  134. package/src/tsconfig.json +7 -0
  135. package/src/worker/Worker.ts +169 -0
  136. package/src/worker/WorkerJob.ts +65 -0
  137. package/src/worker/ffi.ts +23 -0
package/src/Fui.ts ADDED
@@ -0,0 +1,205 @@
1
+ export { Application, ApplicationRegistration, createApplication, createManagedApplication } from "./core/Application";
2
+ export { Action, CallbackAction, HandlerAction, NodeAction, SignalHandler } from "./core/Action";
3
+ export { ObjectDisposedError } from "./core/Errors";
4
+ export {
5
+ PersistedBoolCodec,
6
+ PersistedFloat32Codec,
7
+ PersistedInt32Codec,
8
+ PersistedNodeState,
9
+ PersistedStateAdapter,
10
+ PersistedStateCodec,
11
+ PersistedStringCodec,
12
+ PersistedValueState,
13
+ } from "./core/PersistedState";
14
+ export {
15
+ AssetLoadState,
16
+ getSvgAssetError,
17
+ getSvgAssetHeight,
18
+ getSvgAssetState,
19
+ getSvgAssetWidth,
20
+ getTextureAssetError,
21
+ getTextureAssetHeight,
22
+ getTextureAssetState,
23
+ getTextureAssetWidth,
24
+ loadSvg,
25
+ loadTexture,
26
+ } from "./core/Assets";
27
+ export { Bitmap } from "./core/Bitmap";
28
+ export { Fetch, FetchRequest, FetchResponse } from "./core/Fetch";
29
+ export { log } from "./core/Logger";
30
+ export { disposeAll, Disposable } from "./core/Disposable";
31
+ export { cancelAllTimers, cancelTimer, hasTimer, scheduleTimer } from "./core/Timers";
32
+ export { SetBackgroundAction, SetTextAction } from "./core/Actions";
33
+ export { hslToColor, mixColor, rgb, rgba } from "./color";
34
+ export {
35
+ animateColor,
36
+ animateColorWith,
37
+ animateFloat,
38
+ animateFloatWith,
39
+ Animation,
40
+ AnimationManager,
41
+ AnimationTiming,
42
+ CubicInEasing,
43
+ CubicInOutEasing,
44
+ CubicOutEasing,
45
+ Easing,
46
+ Easings,
47
+ getAnimationManager,
48
+ LinearEasing,
49
+ QuadOutEasing,
50
+ } from "./core/Animation";
51
+ export { NodeTransitions } from "./core/Transitions";
52
+ export {
53
+ DragDataObject,
54
+ DragDropEffects,
55
+ DragEventArgs,
56
+ DragSession,
57
+ DropProposal,
58
+ ExternalDropEventArgs,
59
+ ExternalDropItemInfo,
60
+ ExternalDropItemKind,
61
+ Node,
62
+ } from "./core/Node";
63
+ export { DragCompletedEvent, DragDeltaEvent, DragGesture, DragGestureHost, DragStartedEvent } from "./core/DragGesture";
64
+ export { ContextMenuManager } from "./core/ContextMenuManager";
65
+ export {
66
+ AlignItems,
67
+ BorderStyle,
68
+ CursorStyle,
69
+ FlexDirection,
70
+ GridUnit,
71
+ HandleValue,
72
+ JustifyContent,
73
+ KeyEventType,
74
+ KeyModifier,
75
+ NodeType,
76
+ ObjectFit,
77
+ Orientation,
78
+ PositionType,
79
+ PointerEventType,
80
+ SemanticCheckedState,
81
+ SemanticRole,
82
+ TextAlign,
83
+ TextVerticalAlign,
84
+ TextOverflow,
85
+ Unit,
86
+ Visibility,
87
+ } from "./core/ffi";
88
+ export { Signal } from "./core/Signal";
89
+ export { showKeyboardFocusForKeyEvent } from "./core/FocusVisibility";
90
+ export { ToolTip, PopupPlacement } from "./core/ToolTip";
91
+ export { FontFace, FontFamily, FontStack, FontStyle, FontWeight } from "./core/Typography";
92
+ export {
93
+ BrowserFile,
94
+ BrowserFileWriter,
95
+ File,
96
+ FileCapabilities,
97
+ FileReadChunk,
98
+ FileWorkerProcessProgress,
99
+ FileWorkerProcessRequest,
100
+ FileWorkerProcessResult,
101
+ FileSaveMode,
102
+ FileSaveRequest,
103
+ FileSaveResult,
104
+ FileWriteProgress,
105
+ } from "./core/File";
106
+ export { Worker } from "./core/Worker";
107
+ export { Worker as WorkerRuntime } from "./worker/Worker";
108
+ export { WorkerJob } from "./worker/WorkerJob";
109
+ export { currentRoute, navigateTo } from "./core/Navigation";
110
+ export { getPlatformFamily, hasPrimaryShortcutModifier, PlatformFamily, resolvePrimaryShortcutModifier } from "./core/Platform";
111
+ export {
112
+ Colors,
113
+ ContextMenuItemTheme,
114
+ ContextMenuTheme,
115
+ Fonts,
116
+ Spacing,
117
+ Theme,
118
+ ToolTipTheme,
119
+ activeTheme,
120
+ bindTheme,
121
+ defaultDarkTheme,
122
+ defaultLightTheme,
123
+ generateTheme,
124
+ isDarkMode,
125
+ isUsingSystemTheme,
126
+ setAccentColor,
127
+ useCustomTheme,
128
+ useSystemTheme,
129
+ } from "./core/Theme";
130
+ export { frameTimeSignal, viewportHeightSignal, viewportWidthSignal } from "./core/event_exports";
131
+ export {
132
+ AntiSelectionArea,
133
+ Button,
134
+ ButtonPresenter,
135
+ ButtonTemplate,
136
+ ButtonVisualState,
137
+ CheckboxIndicatorPresenter,
138
+ CheckboxIndicatorTemplate,
139
+ CheckboxIndicatorVisualState,
140
+ Checkbox,
141
+ clearControlTemplates,
142
+ ControlTemplateSet,
143
+ ContextMenu,
144
+ Dialog,
145
+ DropdownChevronPresenter,
146
+ DropdownChevronTemplate,
147
+ DropdownChevronVisualState,
148
+ Dropdown,
149
+ DropdownFieldPresenter,
150
+ DropdownFieldTemplate,
151
+ DropdownFieldVisualState,
152
+ DropdownItem,
153
+ DropdownOptionRowMetrics,
154
+ DropdownOptionRowPresenter,
155
+ DropdownOptionRowTemplate,
156
+ DropdownOptionRowVisualState,
157
+ Form,
158
+ getControlTemplates,
159
+ MenuItem,
160
+ NavLink,
161
+ PressableIndicatorMetrics,
162
+ ProgressBar,
163
+ RadioIndicatorPresenter,
164
+ RadioIndicatorTemplate,
165
+ RadioIndicatorVisualState,
166
+ RadioButton,
167
+ RadioGroup,
168
+ SelectionArea,
169
+ Slider,
170
+ SliderPresenter,
171
+ SliderPresenterMetrics,
172
+ SliderTemplate,
173
+ SliderVisualState,
174
+ SwitchIndicatorPresenter,
175
+ SwitchIndicatorTemplate,
176
+ SwitchIndicatorVisualState,
177
+ Switch,
178
+ TextArea,
179
+ TextInputPresenter,
180
+ TextInput,
181
+ TextInputTemplate,
182
+ TextInputVisualState,
183
+ useControlTemplates,
184
+ } from "./controls";
185
+ export {
186
+ FlexBox,
187
+ FlexBoxProps,
188
+ GradientStop,
189
+ Grid,
190
+ Image,
191
+ Portal,
192
+ RichText,
193
+ RichTextSpan,
194
+ ScrollBar,
195
+ ScrollBarVisibility,
196
+ ScrollBox,
197
+ ScrollState,
198
+ ScrollView,
199
+ Svg,
200
+ Text,
201
+ TextProps,
202
+ VirtualList,
203
+ span,
204
+ } from "./nodes";
205
+ export { Column, Row, pct, px } from "./nodes/helpers";
@@ -0,0 +1,55 @@
1
+ export {
2
+ __disposeApp,
3
+ __fui_capture_persisted_ui_state,
4
+ __fui_restore_persisted_ui_state,
5
+ __flushRenders,
6
+ __runApp,
7
+ } from "./core/Application";
8
+ export {
9
+ __fui_on_external_drag_event,
10
+ __fui_on_fetch_complete,
11
+ __fui_on_fetch_error,
12
+ __fui_on_file_finish_result,
13
+ __fui_on_file_pick_result,
14
+ __fui_on_file_read_result,
15
+ __fui_on_file_save_result,
16
+ __fui_on_file_worker_process_chunk,
17
+ __fui_on_file_worker_process_complete,
18
+ __fui_on_file_worker_process_error,
19
+ __fui_on_file_worker_process_progress,
20
+ __fui_on_file_write_result,
21
+ __fui_on_file_writer_created,
22
+ __fui_hide_active_context_menu,
23
+ __fui_key_buffer,
24
+ __fui_on_context_menu,
25
+ __fui_on_cross_selection_changed,
26
+ __fui_on_focus_changed,
27
+ __fui_on_frame,
28
+ __fui_on_key_event,
29
+ __fui_on_pointer_event,
30
+ __fui_on_route_changed,
31
+ __fui_on_scroll,
32
+ __fui_on_selection_changed,
33
+ __fui_on_system_dark_mode_changed,
34
+ __fui_on_text_changed,
35
+ __fui_on_text_replaced,
36
+ __fui_on_timer,
37
+ __fui_on_viewport_changed,
38
+ __fui_on_worker_complete,
39
+ __fui_on_worker_error,
40
+ __fui_on_worker_progress,
41
+ __fui_text_buffer,
42
+ __fui_text_buffer_size,
43
+ } from "./core/event_exports";
44
+ export {
45
+ __fui_debug_focus_changed,
46
+ __fui_debug_key_event,
47
+ __fui_debug_pointer_event,
48
+ __fui_debug_scroll,
49
+ } from "./core/DebugApi";
50
+ export {
51
+ __fui_on_svg_failed,
52
+ __fui_on_svg_loaded,
53
+ __fui_on_texture_failed,
54
+ __fui_on_texture_loaded,
55
+ } from "./core/Assets";
@@ -0,0 +1,15 @@
1
+ export {
2
+ Callback0,
3
+ Callback1,
4
+ Callback2,
5
+ Handler0,
6
+ Handler1,
7
+ Handler2,
8
+ ResultCallback0,
9
+ ResultCallback1,
10
+ ResultHandler0,
11
+ ResultHandler1,
12
+ } from "./core/BoundCallback";
13
+ export { bind0, bind1, bind2, bindResult0, bindResult1 } from "./core/bind";
14
+ export { clearCurrentSelection, tryGetBounds } from "./bindings/ui";
15
+ export { decodeHostServiceStringResult, hostServiceResultBufferPtr, hostServiceResultBufferSize } from "./host-services/runtime";
@@ -0,0 +1,3 @@
1
+ export { Fetch, FetchRequest, FetchResponse } from "./core/Fetch";
2
+ export { Worker as WorkerRuntime } from "./worker/Worker";
3
+ export { WorkerJob } from "./worker/WorkerJob";
@@ -0,0 +1,6 @@
1
+ export {
2
+ __fui_on_fetch_complete,
3
+ __fui_on_fetch_error,
4
+ __fui_worker_text_buffer,
5
+ __fui_worker_text_buffer_size,
6
+ } from "./worker/Worker";