@octane-xplat/ui 0.4.0 → 0.6.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 (283) hide show
  1. package/README.md +3 -0
  2. package/dist/native/Absolute.native.tsrx.js +43 -0
  3. package/dist/native/Accordion.native.tsrx.js +75 -0
  4. package/dist/native/ActivityIndicator.native.tsrx.js +35 -0
  5. package/dist/native/Alert.native.tsrx.js +74 -0
  6. package/dist/native/Avatar.native.tsrx.js +76 -0
  7. package/dist/native/AvatarGroup.native.tsrx.js +84 -0
  8. package/dist/native/Badge.native.tsrx.js +29 -0
  9. package/dist/native/Banner.native.tsrx.js +80 -0
  10. package/dist/native/Breadcrumb.native.tsrx.js +66 -0
  11. package/dist/native/Button.native.tsrx.js +62 -0
  12. package/dist/native/CameraView.native.tsrx.js +165 -0
  13. package/dist/native/Card.native.tsrx.js +64 -0
  14. package/dist/native/Checkbox.native.tsrx.js +58 -0
  15. package/dist/native/CheckboxGroup.native.tsrx.js +70 -0
  16. package/dist/native/Chip.native.tsrx.js +83 -0
  17. package/dist/native/Collapsible.native.tsrx.js +74 -0
  18. package/dist/native/CommandPalette.native.tsrx.js +143 -0
  19. package/dist/native/ContextMenu.native.tsrx.js +140 -0
  20. package/dist/native/Drawer.native.tsrx.js +60 -0
  21. package/dist/native/DropdownMenu.native.tsrx.js +155 -0
  22. package/dist/native/Empty.native.tsrx.js +82 -0
  23. package/dist/native/FieldGroup.native.tsrx.js +39 -0
  24. package/dist/native/FormField.native.tsrx.js +53 -0
  25. package/dist/native/{ui8.js → Grid.native.tsrx.js} +19 -8
  26. package/dist/native/{ui56.js → Heading.native.tsrx.js} +2 -2
  27. package/dist/native/{ui55.js → Icon.native.tsrx.js} +4 -4
  28. package/dist/native/{ui29.js → Image.native.tsrx.js} +4 -4
  29. package/dist/native/InputNumber.native.tsrx.js +146 -0
  30. package/dist/native/InputRating.native.tsrx.js +74 -0
  31. package/dist/native/InputTags.native.tsrx.js +131 -0
  32. package/dist/native/Kbd.native.tsrx.js +29 -0
  33. package/dist/native/{ui48.js → KeyboardAvoiding.native.tsrx.js} +1 -1
  34. package/dist/native/{ui17.js → Link.native.tsrx.js} +1 -1
  35. package/dist/native/{ui52.js → Meter.native.tsrx.js} +2 -2
  36. package/dist/native/{ui22.js → NavLink.native.tsrx.js} +3 -3
  37. package/dist/native/NavigationMenu.native.tsrx.js +67 -0
  38. package/dist/native/{ui35.js → Overlay.native.tsrx.js} +3 -3
  39. package/dist/native/Pager.native.tsrx.js +282 -0
  40. package/dist/native/Pagination.native.tsrx.js +107 -0
  41. package/dist/native/PinInput.native.tsrx.js +94 -0
  42. package/dist/native/{ui38.js → Popover.native.tsrx.js} +5 -5
  43. package/dist/native/{ui16.js → Pressable.native.tsrx.js} +21 -15
  44. package/dist/native/ProgressGroup.native.tsrx.js +66 -0
  45. package/dist/native/RadioGroup.native.tsrx.js +85 -0
  46. package/dist/native/{ui15.js → RichText.native.tsrx.js} +15 -22
  47. package/dist/native/Row.native.tsrx.js +98 -0
  48. package/dist/native/{ui47.js → SafeArea.native.tsrx.js} +2 -2
  49. package/dist/native/{ui43.js → Screen.native.tsrx.js} +3 -3
  50. package/dist/native/{ui26.js → ScrollBox.native.tsrx.js} +1 -1
  51. package/dist/native/ScrollView.native.tsrx.js +233 -0
  52. package/dist/native/SearchInput.native.tsrx.js +151 -0
  53. package/dist/native/SegmentedControl.native.tsrx.js +75 -0
  54. package/dist/native/Select.native.tsrx.js +202 -0
  55. package/dist/native/Separator.native.tsrx.js +25 -0
  56. package/dist/native/{ui60.js → Sheet.native.tsrx.js} +15 -7
  57. package/dist/native/Skeleton.native.tsrx.js +28 -0
  58. package/dist/native/Slider.native.tsrx.js +98 -0
  59. package/dist/native/{ui13.js → Spacer.native.tsrx.js} +2 -2
  60. package/dist/native/{ui9.js → Stack.native.tsrx.js} +20 -9
  61. package/dist/native/Stepper.native.tsrx.js +75 -0
  62. package/dist/native/Switch.native.tsrx.js +33 -0
  63. package/dist/native/Table.native.tsrx.js +103 -0
  64. package/dist/native/Tabs.native.tsrx.js +163 -0
  65. package/dist/native/{ui14.js → Text.native.tsrx.js} +19 -3
  66. package/dist/native/{ui24.js → TextArea.native.tsrx.js} +19 -17
  67. package/dist/native/{ui23.js → TextInput.native.tsrx.js} +21 -16
  68. package/dist/native/Timeline.native.tsrx.js +112 -0
  69. package/dist/native/Tree.native.tsrx.js +140 -0
  70. package/dist/native/User.native.tsrx.js +95 -0
  71. package/dist/native/Video.native.tsrx.js +248 -0
  72. package/dist/native/{ui6.js → View.native.tsrx.js} +39 -25
  73. package/dist/native/WebView.native.tsrx.js +110 -0
  74. package/dist/native/aliases.native.tsrx.js +38 -0
  75. package/dist/native/android/BottomNavigationView.android.tsrx.js +171 -0
  76. package/dist/native/android/CircularProgressIndicator.android.tsrx.js +27 -0
  77. package/dist/native/{ui49.js → android/DrawerLayout.android.tsrx.js} +5 -7
  78. package/dist/native/android/MaterialDialog.android.tsrx.js +62 -0
  79. package/dist/native/android/MaterialSwitch.android.tsrx.js +28 -0
  80. package/dist/native/android/RecyclerView.android.tsrx.js +248 -0
  81. package/dist/native/android/SeekBar.android.tsrx.js +34 -0
  82. package/dist/native/android/index.js +9 -0
  83. package/dist/native/android/openModal.android.js +39 -0
  84. package/dist/native/camera-permission.native.js +47 -0
  85. package/dist/native/child-array.js +15 -0
  86. package/dist/native/{ui3.js → escape-props.native.js} +22 -1
  87. package/dist/native/icons.js +25 -0
  88. package/dist/native/{ui11.js → ios/LiquidGlass.ios.tsrx.js} +4 -4
  89. package/dist/native/{ui12.js → ios/LiquidGlassContainer.ios.tsrx.js} +4 -4
  90. package/dist/native/ios/SideDrawer.ios.tsrx.js +64 -0
  91. package/dist/native/{ui50.js → ios/UIActivityIndicatorView.ios.tsrx.js} +5 -5
  92. package/dist/native/{ui32.js → ios/UIModal.ios.tsrx.js} +10 -6
  93. package/dist/native/{ui53.js → ios/UISlider.ios.tsrx.js} +5 -5
  94. package/dist/native/{ui45.js → ios/UISwitch.ios.tsrx.js} +5 -5
  95. package/dist/native/ios/UITabBar.ios.tsrx.js +166 -0
  96. package/dist/native/ios/UITableView.ios.tsrx.js +270 -0
  97. package/dist/native/ios/index.js +11 -0
  98. package/dist/native/{ui33.js → ios/openModal.ios.js} +5 -4
  99. package/dist/native/modal-presenter.native.js +19 -0
  100. package/dist/native/native/index.js +4 -0
  101. package/dist/native/octane-client-build.json +1 -1
  102. package/dist/native/pan.native.tsrx.js +66 -0
  103. package/dist/native/platform.native.js +10 -0
  104. package/dist/native/refresh-metrics.js +9 -0
  105. package/dist/native/refresh.native.js +177 -0
  106. package/dist/native/{ui34.js → root-layout.native.js} +6 -1
  107. package/dist/native/{ui21.js → route.native.js} +96 -12
  108. package/dist/native/sheet-detents.native.js +102 -0
  109. package/dist/native/{ui61.js → sheet-service.native.js} +19 -9
  110. package/dist/native/sheet-snap.js +35 -0
  111. package/dist/native/text-write.native.js +27 -0
  112. package/dist/native/theme/status-bar-scheme.native.js +17 -0
  113. package/dist/{web/ui29.js → native/theme/theme-scheme.js} +2 -2
  114. package/dist/native/toast-anchor.native.tsrx.js +185 -0
  115. package/dist/native/translate.native.js +11 -0
  116. package/dist/native/ui.js +93 -52
  117. package/dist/native/use-back.native.tsrx.js +9 -0
  118. package/dist/native/useMeasure.native.tsrx.js +64 -0
  119. package/dist/native/video-chrome.native.tsrx.js +365 -0
  120. package/dist/web/Absolute.web.tsrx.js +47 -0
  121. package/dist/web/Accordion.web.tsrx.js +85 -0
  122. package/dist/web/{ui46.js → ActivityIndicator.web.tsrx.js} +1 -1
  123. package/dist/web/Alert.web.tsrx.js +79 -0
  124. package/dist/web/Avatar.web.tsrx.js +106 -0
  125. package/dist/web/AvatarGroup.web.tsrx.js +108 -0
  126. package/dist/web/Badge.web.tsrx.js +37 -0
  127. package/dist/web/Banner.web.tsrx.js +79 -0
  128. package/dist/web/Breadcrumb.web.tsrx.js +135 -0
  129. package/dist/web/Button.web.tsrx.js +45 -0
  130. package/dist/web/CameraView.web.tsrx.js +310 -0
  131. package/dist/web/Card.web.tsrx.js +73 -0
  132. package/dist/web/Checkbox.web.tsrx.js +89 -0
  133. package/dist/web/CheckboxGroup.web.tsrx.js +79 -0
  134. package/dist/web/Chip.web.tsrx.js +64 -0
  135. package/dist/web/Collapsible.web.tsrx.js +94 -0
  136. package/dist/web/CommandPalette.web.tsrx.js +125 -0
  137. package/dist/web/ContextMenu.web.tsrx.js +154 -0
  138. package/dist/web/{ui44.js → Drawer.web.tsrx.js} +13 -9
  139. package/dist/web/DropdownMenu.web.tsrx.js +162 -0
  140. package/dist/web/Empty.web.tsrx.js +89 -0
  141. package/dist/web/FieldGroup.web.tsrx.js +57 -0
  142. package/dist/web/FormField.web.tsrx.js +92 -0
  143. package/dist/web/Grid.web.tsrx.js +65 -0
  144. package/dist/web/{ui52.js → Heading.web.tsrx.js} +2 -2
  145. package/dist/web/Icon.web.tsrx.js +273 -0
  146. package/dist/web/{ui25.js → Image.web.tsrx.js} +2 -2
  147. package/dist/web/InputNumber.web.tsrx.js +99 -0
  148. package/dist/web/InputRating.web.tsrx.js +72 -0
  149. package/dist/web/InputTags.web.tsrx.js +122 -0
  150. package/dist/web/Kbd.web.tsrx.js +37 -0
  151. package/dist/web/{ui48.js → Meter.web.tsrx.js} +1 -1
  152. package/dist/web/{ui19.js → NavLink.web.tsrx.js} +1 -1
  153. package/dist/web/NavigationMenu.web.tsrx.js +118 -0
  154. package/dist/web/{ui31.js → Overlay.web.tsrx.js} +2 -2
  155. package/dist/web/Pager.web.tsrx.js +337 -0
  156. package/dist/web/Pagination.web.tsrx.js +80 -0
  157. package/dist/web/PinInput.web.tsrx.js +72 -0
  158. package/dist/web/{ui33.js → Popover.web.tsrx.js} +3 -3
  159. package/dist/web/{ui15.js → Pressable.web.tsrx.js} +68 -95
  160. package/dist/web/ProgressGroup.web.tsrx.js +109 -0
  161. package/dist/web/RadioGroup.web.tsrx.js +69 -0
  162. package/dist/web/{ui14.js → RichText.web.tsrx.js} +2 -2
  163. package/dist/web/Row.web.tsrx.js +250 -0
  164. package/dist/web/{ui42.js → SafeArea.web.tsrx.js} +1 -1
  165. package/dist/web/{ui38.js → Screen.web.tsrx.js} +1 -1
  166. package/dist/web/{ui24.js → ScrollBox.web.tsrx.js} +1 -1
  167. package/dist/web/ScrollView.web.tsrx.js +388 -0
  168. package/dist/web/SearchInput.web.tsrx.js +137 -0
  169. package/dist/web/SegmentedControl.web.tsrx.js +75 -0
  170. package/dist/web/Select.web.tsrx.js +149 -0
  171. package/dist/web/Separator.web.tsrx.js +42 -0
  172. package/dist/web/Sheet.web.tsrx.js +81 -0
  173. package/dist/web/Skeleton.web.tsrx.js +56 -0
  174. package/dist/web/Slider.web.tsrx.js +97 -0
  175. package/dist/web/{ui12.js → Spacer.web.tsrx.js} +1 -1
  176. package/dist/web/Stack.web.tsrx.js +47 -0
  177. package/dist/web/Stepper.web.tsrx.js +65 -0
  178. package/dist/web/Switch.web.tsrx.js +59 -0
  179. package/dist/web/Table.web.tsrx.js +161 -0
  180. package/dist/web/{ui39.js → Tabs.web.tsrx.js} +33 -16
  181. package/dist/web/{ui13.js → Text.web.tsrx.js} +79 -46
  182. package/dist/web/{ui21.js → TextArea.web.tsrx.js} +4 -4
  183. package/dist/web/{ui20.js → TextInput.web.tsrx.js} +8 -8
  184. package/dist/web/Timeline.web.tsrx.js +172 -0
  185. package/dist/web/Tree.web.tsrx.js +146 -0
  186. package/dist/web/User.web.tsrx.js +116 -0
  187. package/dist/web/Video.web.tsrx.js +400 -0
  188. package/dist/web/View.web.tsrx.js +250 -0
  189. package/dist/web/WebView.web.tsrx.js +235 -0
  190. package/dist/web/aliases.web.tsrx.js +24 -0
  191. package/dist/web/{ui35.js → anim.web.tsrx.js} +3 -2
  192. package/dist/web/child-array.js +15 -0
  193. package/dist/web/icons.js +25 -0
  194. package/dist/web/octane-client-build.json +1 -1
  195. package/dist/web/pan.web.tsrx.js +66 -0
  196. package/dist/web/platform.web.js +9 -0
  197. package/dist/web/refresh-metrics.js +9 -0
  198. package/dist/web/refresh.web.js +133 -0
  199. package/dist/web/{ui18.js → route.web.js} +14 -2
  200. package/dist/web/sheet-detents.web.js +103 -0
  201. package/dist/web/{ui58.js → sheet-service.web.js} +5 -1
  202. package/dist/web/sheet-snap.js +35 -0
  203. package/dist/{native/ui31.js → web/theme/theme-scheme.js} +2 -2
  204. package/dist/web/toast-anchor.web.tsrx.js +142 -0
  205. package/dist/web/transform.web.js +43 -0
  206. package/dist/web/translate.web.js +13 -0
  207. package/dist/web/ui.js +91 -51
  208. package/dist/web/use-back.web.tsrx.js +9 -0
  209. package/dist/web/useMeasure.web.tsrx.js +50 -0
  210. package/dist/web/video-chrome.web.tsrx.js +207 -0
  211. package/dist/web/web/Hoverable.web.tsrx.js +150 -0
  212. package/dist/web/web/Tooltip.web.tsrx.js +183 -0
  213. package/dist/web/web/index.js +3 -0
  214. package/package.json +34 -3
  215. package/src/theme/tokens.css +1599 -194
  216. package/types/android.d.ts +53 -0
  217. package/types/index.d.ts +39 -14
  218. package/types/index.native.d.ts +273 -0
  219. package/types/index.web.d.ts +272 -0
  220. package/types/ios.d.ts +59 -0
  221. package/types/native.d.ts +5 -0
  222. package/types/props.d.ts +989 -44
  223. package/types/web.d.ts +17 -0
  224. package/dist/native/ui10.js +0 -32
  225. package/dist/native/ui25.js +0 -141
  226. package/dist/native/ui27.js +0 -61
  227. package/dist/native/ui39.js +0 -105
  228. package/dist/native/ui4.js +0 -24
  229. package/dist/native/ui44.js +0 -267
  230. package/dist/native/ui54.js +0 -17
  231. package/dist/native/ui57.js +0 -14
  232. package/dist/native/ui7.js +0 -52
  233. package/dist/web/ui10.js +0 -46
  234. package/dist/web/ui11.js +0 -42
  235. package/dist/web/ui22.js +0 -108
  236. package/dist/web/ui23.js +0 -96
  237. package/dist/web/ui26.js +0 -45
  238. package/dist/web/ui3.js +0 -31
  239. package/dist/web/ui30.js +0 -34
  240. package/dist/web/ui34.js +0 -70
  241. package/dist/web/ui40.js +0 -43
  242. package/dist/web/ui43.js +0 -42
  243. package/dist/web/ui49.js +0 -47
  244. package/dist/web/ui5.js +0 -168
  245. package/dist/web/ui50.js +0 -17
  246. package/dist/web/ui51.js +0 -149
  247. package/dist/web/ui53.js +0 -17
  248. package/dist/web/ui57.js +0 -44
  249. package/dist/web/ui6.js +0 -94
  250. package/dist/web/ui7.js +0 -62
  251. package/dist/web/ui8.js +0 -46
  252. package/dist/web/ui9.js +0 -46
  253. /package/dist/native/{ui20.js → RouteHost.native.tsrx.js} +0 -0
  254. /package/dist/native/{ui40.js → anim.native.tsrx.js} +0 -0
  255. /package/dist/native/{ui2.js → cx.js} +0 -0
  256. /package/dist/native/{ui5.js → layout-child.native.js} +0 -0
  257. /package/dist/native/{ui51.js → meter-math.js} +0 -0
  258. /package/dist/native/{ui36.js → platformProps.native.js} +0 -0
  259. /package/dist/native/{ui37.js → popover-position.js} +0 -0
  260. /package/dist/native/{ui19.js → route-table.js} +0 -0
  261. /package/dist/native/{ui46.js → safeAreaInsets.native.tsrx.js} +0 -0
  262. /package/dist/native/{ui18.js → stacks.native.js} +0 -0
  263. /package/dist/native/{ui58.js → store.js} +0 -0
  264. /package/dist/native/{ui41.js → styled.native.tsrx.js} +0 -0
  265. /package/dist/native/{ui28.js → svg.native.js} +0 -0
  266. /package/dist/native/{ui30.js → theme/colorScheme.native.js} +0 -0
  267. /package/dist/native/{ui59.js → use-store.native.tsrx.js} +0 -0
  268. /package/dist/native/{ui42.js → windows.native.js} +0 -0
  269. /package/dist/web/{ui16.js → Link.web.tsrx.js} +0 -0
  270. /package/dist/web/{ui28.js → cx.js} +0 -0
  271. /package/dist/web/{ui2.js → escape-props.web.js} +0 -0
  272. /package/dist/web/{ui4.js → layout-child.web.js} +0 -0
  273. /package/dist/web/{ui47.js → meter-math.js} +0 -0
  274. /package/dist/web/{ui45.js → platformProps.web.js} +0 -0
  275. /package/dist/web/{ui32.js → popover-position.js} +0 -0
  276. /package/dist/web/{ui17.js → route-table.js} +0 -0
  277. /package/dist/web/{ui41.js → safeAreaInsets.web.tsrx.js} +0 -0
  278. /package/dist/web/{ui54.js → stacks.web.js} +0 -0
  279. /package/dist/web/{ui55.js → store.js} +0 -0
  280. /package/dist/web/{ui36.js → styled.web.tsrx.js} +0 -0
  281. /package/dist/web/{ui27.js → theme/colorScheme.web.js} +0 -0
  282. /package/dist/web/{ui56.js → use-store.web.tsrx.js} +0 -0
  283. /package/dist/web/{ui37.js → windows.web.js} +0 -0
@@ -0,0 +1,53 @@
1
+ // Boundary types for @octane-xplat/ui/android — Android-authentic widgets.
2
+ // OS chrome is the point; the self-drawn shared versions live in the root
3
+ // export. This subpath resolves only under the `native` condition.
4
+
5
+ import type { UniversalComponent } from 'octane/universal'
6
+ import type {
7
+ ActivityIndicatorProps,
8
+ DrawerProps,
9
+ ListProps,
10
+ ModalProps,
11
+ ModalOpenOptions,
12
+ ModalOpenResult,
13
+ OpenModal,
14
+ RefreshProps,
15
+ SwitchProps,
16
+ SliderProps,
17
+ TabsProps,
18
+ TabSpec,
19
+ } from './props'
20
+
21
+ export type {
22
+ ActivityIndicatorProps,
23
+ DrawerProps,
24
+ ListProps,
25
+ ModalProps,
26
+ ModalOpenOptions,
27
+ ModalOpenResult,
28
+ OpenModal,
29
+ RefreshProps,
30
+ SwitchProps,
31
+ SliderProps,
32
+ TabsProps,
33
+ TabSpec,
34
+ } from './props'
35
+
36
+ /** Material SwitchMaterial via NativeScript `switch`. */
37
+ export declare const MaterialSwitch: UniversalComponent<SwitchProps>
38
+ /** Android SeekBar via NativeScript `slider`. */
39
+ export declare const SeekBar: UniversalComponent<SliderProps>
40
+ /** Android indeterminate ProgressBar via NativeScript `activityindicator`. */
41
+ export declare const CircularProgressIndicator: UniversalComponent<ActivityIndicatorProps>
42
+ /** Android RecyclerView via NativeScript `listview` — recycled platform list. */
43
+ export declare const RecyclerView: UniversalComponent<ListProps>
44
+ /** Android bottom navigation via NativeScript TabView. Caveat: `stack`
45
+ * panes rely on Frame-in-TabViewItem, which is unreliable upstream
46
+ * (NativeScript#11444) — the shared `Tabs` keeps stack history in the
47
+ * route store and is the reliable path on Android. */
48
+ export declare const BottomNavigationView: UniversalComponent<TabsProps>
49
+ /** Platform modal presentation (`showModal`; fullscreen=false → dialog). */
50
+ export declare const MaterialDialog: UniversalComponent<ModalProps>
51
+ export declare const openModal: OpenModal
52
+ /** AndroidX DrawerLayout via the ui-drawer plugin. */
53
+ export declare const DrawerLayout: UniversalComponent<DrawerProps>
package/types/index.d.ts CHANGED
@@ -13,6 +13,8 @@ import type {
13
13
  ActivityIndicatorProps,
14
14
  BeforeLoad,
15
15
  BeforeLoadArgs,
16
+ CameraViewHandle,
17
+ CameraViewProps,
16
18
  ColorScheme,
17
19
  DrawerProps,
18
20
  GridProps,
@@ -23,21 +25,21 @@ import type {
23
25
  KeyboardAvoidingProps,
24
26
  LayoutChildProps,
25
27
  LinkProps,
26
- ListProps,
27
28
  MeterProps,
28
- ModalProps,
29
- ModalOpenOptions,
30
29
  ModalOpenResult,
30
+ MeasureBounds,
31
+ MeasureResult,
31
32
  NavLinkProps,
32
- OpenModal,
33
33
  OpenWindowOptions,
34
34
  OverlayProps,
35
35
  PopoverAnchorRef,
36
36
  PopoverPlacement,
37
37
  PopoverProps,
38
+ PagerProps,
38
39
  PlatformBadgeProps,
39
40
  PressableProps,
40
41
  ReadableStore,
42
+ RefreshProps,
41
43
  Route,
42
44
  RouteContext,
43
45
  RouteHead,
@@ -51,6 +53,8 @@ import type {
51
53
  SafeAreaProps,
52
54
  ScreenTable,
53
55
  ScrollViewProps,
56
+ SearchInputProps,
57
+ SegmentedControlProps,
54
58
  SliderProps,
55
59
  Store,
56
60
  SpacerProps,
@@ -64,7 +68,15 @@ import type {
64
68
  ToastContent,
65
69
  ToastOptions,
66
70
  ToastPosition,
71
+ UseMeasureOptions,
72
+ VideoEvent,
73
+ VideoFit,
74
+ VideoHandle,
75
+ VideoProps,
67
76
  ViewProps,
77
+ WebViewHandle,
78
+ WebViewLoadEvent,
79
+ WebViewProps,
68
80
  } from './props'
69
81
 
70
82
  export type {
@@ -73,6 +85,8 @@ export type {
73
85
  ActivityIndicatorProps,
74
86
  BeforeLoad,
75
87
  BeforeLoadArgs,
88
+ CameraViewHandle,
89
+ CameraViewProps,
76
90
  ColorScheme,
77
91
  DrawerProps,
78
92
  GridProps,
@@ -83,21 +97,20 @@ export type {
83
97
  KeyboardAvoidingProps,
84
98
  LayoutChildProps,
85
99
  LinkProps,
86
- ListProps,
87
- ModalProps,
88
- ModalOpenOptions,
89
100
  ModalOpenResult,
101
+ MeasureBounds,
102
+ MeasureResult,
90
103
  NavLinkProps,
91
- OpenModal,
92
104
  OpenWindowOptions,
93
105
  OverlayProps,
94
106
  PopoverAnchorRef,
95
107
  PopoverPlacement,
96
108
  PopoverProps,
109
+ PagerProps,
97
110
  PanEvent,
98
- PlatformBadgeProps,
99
111
  PressableProps,
100
112
  ReadableStore,
113
+ RefreshProps,
101
114
  Route,
102
115
  RouteContext,
103
116
  RouteHead,
@@ -111,6 +124,8 @@ export type {
111
124
  SafeAreaProps,
112
125
  ScreenTable,
113
126
  ScrollViewProps,
127
+ SearchInputProps,
128
+ SegmentedControlProps,
114
129
  SliderProps,
115
130
  Store,
116
131
  SpacerProps,
@@ -125,7 +140,15 @@ export type {
125
140
  ToastContent,
126
141
  ToastOptions,
127
142
  ToastPosition,
143
+ UseMeasureOptions,
144
+ VideoEvent,
145
+ VideoFit,
146
+ VideoHandle,
147
+ VideoProps,
128
148
  ViewProps,
149
+ WebViewHandle,
150
+ WebViewLoadEvent,
151
+ WebViewProps,
129
152
  } from './props'
130
153
 
131
154
  /** ScrollBox shares ScrollView's public shell props; native renders it inline. */
@@ -149,29 +172,31 @@ export declare const Link: UniversalComponent<LinkProps>
149
172
  export declare const NavLink: UniversalComponent<NavLinkProps>
150
173
  export declare const TextInput: UniversalComponent<TextInputProps>
151
174
  export declare const TextArea: UniversalComponent<TextAreaProps>
152
- export declare const List: UniversalComponent<ListProps>
175
+ export declare const SearchInput: UniversalComponent<SearchInputProps>
153
176
  export declare const ScrollBox: UniversalComponent<ScrollBoxProps>
154
177
  export declare const ScrollView: UniversalComponent<ScrollViewProps>
178
+ export declare const Pager: UniversalComponent<PagerProps>
155
179
  export declare const Image: UniversalComponent<ImageProps>
180
+ export declare const WebView: UniversalComponent<WebViewProps>
181
+ export declare const Video: UniversalComponent<VideoProps>
182
+ export declare const CameraView: UniversalComponent<CameraViewProps>
156
183
  export declare const Screen: UniversalComponent<ScreenProps>
157
184
  export declare const SafeArea: UniversalComponent<SafeAreaProps>
158
185
  export declare const KeyboardAvoiding: UniversalComponent<KeyboardAvoidingProps>
159
186
  export declare const Drawer: UniversalComponent<DrawerProps>
160
187
  export declare const Switch: UniversalComponent<SwitchProps>
188
+ export declare const SegmentedControl: UniversalComponent<SegmentedControlProps>
161
189
  export declare const ActivityIndicator: UniversalComponent<ActivityIndicatorProps>
162
190
  export declare const Meter: UniversalComponent<MeterProps>
163
191
  export declare const Slider: UniversalComponent<SliderProps>
164
192
  export declare const Icon: UniversalComponent<IconProps>
165
193
  export declare const Heading: UniversalComponent<HeadingProps>
166
- export declare const PlatformBadge: UniversalComponent<PlatformBadgeProps>
167
194
 
168
195
  export declare function registerIcon(name: string, glyph: IconGlyph): void
169
196
  export declare function registerIcons(record: Record<string, IconGlyph>): void
170
197
 
171
198
  // ---------- overlays / shells ----------
172
199
 
173
- export declare const Modal: UniversalComponent<ModalProps>
174
- export declare const openModal: OpenModal
175
200
  export declare function openWindow(options?: OpenWindowOptions): any
176
201
  export declare const Overlay: UniversalComponent<OverlayProps>
177
202
  export declare const Popover: UniversalComponent<PopoverProps>
@@ -189,7 +214,6 @@ export declare function stackEntries(): IterableIterator<[string, any]>
189
214
  export declare function pushRoute(r: Route): void
190
215
  export declare function popRoute(stack?: string): void
191
216
  export declare function routeStacks(): string[]
192
- export declare function layoutsForRoute(name: string): any[]
193
217
  export declare function routeFor(stack: string): Route | null
194
218
  export declare function currentRoute(): Route | null
195
219
  export declare function canGoBack(stack?: string): boolean
@@ -223,6 +247,7 @@ export declare function deriveRouteManifest(
223
247
  // ---------- animation / theme ----------
224
248
 
225
249
  export declare function useAnimation(initial?: number, prop?: string): AnimatedValue
250
+ export declare function useMeasure(options?: UseMeasureOptions): MeasureResult
226
251
  export declare function getColorScheme(): ColorScheme
227
252
  export declare function useColorScheme(): ColorScheme
228
253
  export interface SafeAreaInsets {
@@ -0,0 +1,273 @@
1
+ // Boundary types for @octane-xplat/ui — the thin shell over the real
2
+ // contract. Every interface lives in `src/props.ts` (imported by both
3
+ // platform leaves and emitted here as `./props`), so the ONLY hand-written
4
+ // part is the mechanical `declare const X: UniversalComponent<XProps>`
5
+ // wrapper — component shapes can't drift from the source. tsrx-tsc can't
6
+ // emit declarations for .tsrx (upstream: tsrx-org/tsrx#136); this file is
7
+ // what `tsc --emitDeclarationOnly` on pure .ts buys us.
8
+
9
+ import type { UniversalComponent } from 'octane/universal'
10
+ import type {
11
+ AnimatedValue,
12
+ AbsoluteProps,
13
+ ActivityIndicatorProps,
14
+ BeforeLoad,
15
+ BeforeLoadArgs,
16
+ CameraViewHandle,
17
+ CameraViewProps,
18
+ ColorScheme,
19
+ DrawerProps,
20
+ GridProps,
21
+ HeadingProps,
22
+ IconGlyph,
23
+ IconProps,
24
+ ImageProps,
25
+ KeyboardAvoidingProps,
26
+ LayoutChildProps,
27
+ LinkProps,
28
+ MeterProps,
29
+ ModalOpenResult,
30
+ MeasureBounds,
31
+ MeasureResult,
32
+ NavLinkProps,
33
+ OpenWindowOptions,
34
+ OverlayProps,
35
+ PopoverAnchorRef,
36
+ PopoverPlacement,
37
+ PopoverProps,
38
+ PagerProps,
39
+ PlatformBadgeProps,
40
+ PressableProps,
41
+ ReadableStore,
42
+ RefreshProps,
43
+ Route,
44
+ RouteContext,
45
+ RouteHead,
46
+ RouteHeadExport,
47
+ RouteManifest,
48
+ RouteMeta,
49
+ RichTextProps,
50
+ RichTextSpanProps,
51
+ RowProps,
52
+ ScreenProps,
53
+ SafeAreaProps,
54
+ ScreenTable,
55
+ ScrollViewProps,
56
+ SearchInputProps,
57
+ SegmentedControlProps,
58
+ SliderProps,
59
+ Store,
60
+ SpacerProps,
61
+ StackProps,
62
+ SwitchProps,
63
+ TabSpec,
64
+ TabsProps,
65
+ TextAreaProps,
66
+ TextInputProps,
67
+ TextProps,
68
+ ToastContent,
69
+ ToastOptions,
70
+ ToastPosition,
71
+ UseMeasureOptions,
72
+ VideoEvent,
73
+ VideoFit,
74
+ VideoHandle,
75
+ VideoProps,
76
+ ViewProps,
77
+ WebViewHandle,
78
+ WebViewLoadEvent,
79
+ WebViewProps,
80
+ } from './props'
81
+
82
+ export type {
83
+ AbsoluteProps,
84
+ AnimatedValue,
85
+ ActivityIndicatorProps,
86
+ BeforeLoad,
87
+ BeforeLoadArgs,
88
+ CameraViewHandle,
89
+ CameraViewProps,
90
+ ColorScheme,
91
+ DrawerProps,
92
+ GridProps,
93
+ HeadingProps,
94
+ IconGlyph,
95
+ IconProps,
96
+ ImageProps,
97
+ KeyboardAvoidingProps,
98
+ LayoutChildProps,
99
+ LinkProps,
100
+ ModalOpenResult,
101
+ MeasureBounds,
102
+ MeasureResult,
103
+ NavLinkProps,
104
+ OpenWindowOptions,
105
+ OverlayProps,
106
+ PopoverAnchorRef,
107
+ PopoverPlacement,
108
+ PopoverProps,
109
+ PagerProps,
110
+ PanEvent,
111
+ PressableProps,
112
+ ReadableStore,
113
+ RefreshProps,
114
+ Route,
115
+ RouteContext,
116
+ RouteHead,
117
+ RouteHeadExport,
118
+ RouteManifest,
119
+ RouteMeta,
120
+ RichTextProps,
121
+ RichTextSpanProps,
122
+ RowProps,
123
+ ScreenProps,
124
+ SafeAreaProps,
125
+ ScreenTable,
126
+ ScrollViewProps,
127
+ SearchInputProps,
128
+ SegmentedControlProps,
129
+ SliderProps,
130
+ Store,
131
+ SpacerProps,
132
+ StackProps,
133
+ SwipeEvent,
134
+ SwitchProps,
135
+ TabSpec,
136
+ TabsProps,
137
+ TextAreaProps,
138
+ TextInputProps,
139
+ TextProps,
140
+ ToastContent,
141
+ ToastOptions,
142
+ ToastPosition,
143
+ UseMeasureOptions,
144
+ VideoEvent,
145
+ VideoFit,
146
+ VideoHandle,
147
+ VideoProps,
148
+ ViewProps,
149
+ WebViewHandle,
150
+ WebViewLoadEvent,
151
+ WebViewProps,
152
+ } from './props'
153
+
154
+ /** ScrollBox shares ScrollView's public shell props; native renders it inline. */
155
+ export type ScrollBoxProps = ScrollViewProps
156
+
157
+ // ---------- primitives ----------
158
+
159
+ export declare const View: UniversalComponent<ViewProps>
160
+ /** Column-direction alias of View. */
161
+ export declare const Column: UniversalComponent<ViewProps>
162
+ export declare const Row: UniversalComponent<RowProps>
163
+ export declare const Grid: UniversalComponent<GridProps>
164
+ export declare const Stack: UniversalComponent<StackProps>
165
+ export declare const Absolute: UniversalComponent<AbsoluteProps>
166
+ export declare const Spacer: UniversalComponent<SpacerProps>
167
+ export declare const Text: UniversalComponent<TextProps>
168
+ export declare const RichText: UniversalComponent<RichTextProps>
169
+ export declare const RichTextSpan: UniversalComponent<RichTextSpanProps>
170
+ export declare const Pressable: UniversalComponent<PressableProps>
171
+ export declare const Link: UniversalComponent<LinkProps>
172
+ export declare const NavLink: UniversalComponent<NavLinkProps>
173
+ export declare const TextInput: UniversalComponent<TextInputProps>
174
+ export declare const TextArea: UniversalComponent<TextAreaProps>
175
+ export declare const SearchInput: UniversalComponent<SearchInputProps>
176
+ export declare const ScrollBox: UniversalComponent<ScrollBoxProps>
177
+ export declare const ScrollView: UniversalComponent<ScrollViewProps>
178
+ export declare const Pager: UniversalComponent<PagerProps>
179
+ export declare const Image: UniversalComponent<ImageProps>
180
+ export declare const WebView: UniversalComponent<WebViewProps>
181
+ export declare const Video: UniversalComponent<VideoProps>
182
+ export declare const CameraView: UniversalComponent<CameraViewProps>
183
+ export declare const Screen: UniversalComponent<ScreenProps>
184
+ export declare const SafeArea: UniversalComponent<SafeAreaProps>
185
+ export declare const KeyboardAvoiding: UniversalComponent<KeyboardAvoidingProps>
186
+ export declare const Drawer: UniversalComponent<DrawerProps>
187
+ export declare const Switch: UniversalComponent<SwitchProps>
188
+ export declare const SegmentedControl: UniversalComponent<SegmentedControlProps>
189
+ export declare const ActivityIndicator: UniversalComponent<ActivityIndicatorProps>
190
+ export declare const Meter: UniversalComponent<MeterProps>
191
+ export declare const Slider: UniversalComponent<SliderProps>
192
+ export declare const Icon: UniversalComponent<IconProps>
193
+ export declare const Heading: UniversalComponent<HeadingProps>
194
+
195
+ export declare function registerIcon(name: string, glyph: IconGlyph): void
196
+ export declare function registerIcons(record: Record<string, IconGlyph>): void
197
+
198
+ // ---------- overlays / shells ----------
199
+
200
+ export declare function openWindow(options?: OpenWindowOptions): any
201
+ export declare const Overlay: UniversalComponent<OverlayProps>
202
+ export declare const Popover: UniversalComponent<PopoverProps>
203
+ export declare function showToast(content: ToastContent, options?: ToastOptions): void
204
+ export declare const Tabs: UniversalComponent<TabsProps>
205
+
206
+ // ---------- stacks (native registry; no-op on web) ----------
207
+
208
+ export declare function registerStack(name: string, frame: any): void
209
+ export declare function getStack(name: string): any
210
+ export declare function stackEntries(): IterableIterator<[string, any]>
211
+
212
+ // ---------- routes (real on both: URL store on web, Frame stacks on native) ----------
213
+
214
+ export declare function pushRoute(r: Route): void
215
+ export declare function popRoute(stack?: string): void
216
+ export declare function routeStacks(): string[]
217
+ export declare function routeFor(stack: string): Route | null
218
+ export declare function currentRoute(): Route | null
219
+ export declare function canGoBack(stack?: string): boolean
220
+ export declare function useCanGoBack(stack?: string): boolean
221
+ export declare function redirect(route: Route): never
222
+ export declare function useRoute(stack: string): Route | null
223
+ /** name → screen table; native pushRoute resolves `route.name` through
224
+ * it, web outlets fall back to it via `screenFor`. `manifest` (from
225
+ * deriveRouteManifest) enables path-param URL matching on web. Call
226
+ * once at boot. */
227
+ export declare function registerScreens(table: ScreenTable, manifest?: RouteMeta[]): void
228
+ /** One-call registration for route-dir apps — screens + URL patterns +
229
+ * layouts all come from deriveRouteManifest. */
230
+ export declare function registerRoutes(manifest: RouteManifest): void
231
+ export declare function screenFor(name: string): any
232
+ /** Canonical /<stack>/<path> for a Route — Link's href on web. */
233
+ export declare function hrefFor(r: Route): string
234
+
235
+ // ---------- route dir (file → route manifest; docs/navigation-notes.md) ----------
236
+
237
+ /** Turn an `import.meta.glob` module map of the route dir into
238
+ * {screens, routes, layouts}: `demo/[id].tsrx` → 'demo/:id',
239
+ * `_layout.tsrx` → layouts[''], platform suffixes deduped by `prefer`
240
+ * rank (web: ['web']; native: ['ios'|'android','native']). */
241
+ export declare function deriveRouteManifest(
242
+ files: Record<string, any>,
243
+ prefer: readonly string[],
244
+ dir?: string,
245
+ ): RouteManifest
246
+
247
+ // ---------- animation / theme ----------
248
+
249
+ export declare function useAnimation(initial?: number, prop?: string): AnimatedValue
250
+ export declare function useMeasure(options?: UseMeasureOptions): MeasureResult
251
+ export declare function getColorScheme(): ColorScheme
252
+ export declare function useColorScheme(): ColorScheme
253
+ export interface SafeAreaInsets {
254
+ top: number
255
+ right: number
256
+ bottom: number
257
+ left: number
258
+ }
259
+
260
+ export declare function useSafeAreaInsets(): SafeAreaInsets
261
+
262
+ // ---------- styled ----------
263
+
264
+ export declare function styled<P extends { className?: any }, V extends Record<string, any>>(
265
+ Base: (props: P) => any,
266
+ def: { base?: any; variants?: V },
267
+ ): UniversalComponent<P & { [K in keyof V]?: boolean }>
268
+
269
+ // ---------- stores ----------
270
+
271
+ export declare function createStore<T>(initial: T): Store<T>
272
+ export declare function useStore<T>(store: ReadableStore<T>): T
273
+ export declare function useStore<T, S>(store: ReadableStore<T>, select: (state: T) => S): S