@octane-xplat/ui 0.5.0 → 0.7.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 (893) hide show
  1. package/README.md +17 -4
  2. package/dist/native/Absolute.tsrx.js +43 -0
  3. package/dist/native/Accordion.tsrx.js +75 -0
  4. package/dist/native/ActivityIndicator.tsrx.js +35 -0
  5. package/dist/native/Alert.tsrx.js +74 -0
  6. package/dist/native/Avatar.tsrx.js +76 -0
  7. package/dist/native/AvatarGroup.tsrx.js +84 -0
  8. package/dist/native/Badge.tsrx.js +29 -0
  9. package/dist/native/Banner.tsrx.js +80 -0
  10. package/dist/native/Breadcrumb.tsrx.js +66 -0
  11. package/dist/native/Button.tsrx.js +62 -0
  12. package/dist/native/Card.tsrx.js +64 -0
  13. package/dist/native/Checkbox.tsrx.js +58 -0
  14. package/dist/native/CheckboxGroup.tsrx.js +70 -0
  15. package/dist/native/Chip.tsrx.js +83 -0
  16. package/dist/native/Collapsible.tsrx.js +74 -0
  17. package/dist/native/CommandPalette.tsrx.js +143 -0
  18. package/dist/native/ContextMenu.tsrx.js +140 -0
  19. package/dist/native/Drawer.tsrx.js +60 -0
  20. package/dist/native/DropdownMenu.tsrx.js +155 -0
  21. package/dist/native/Empty.tsrx.js +82 -0
  22. package/dist/native/FieldGroup.tsrx.js +39 -0
  23. package/dist/native/FormField.tsrx.js +53 -0
  24. package/dist/native/{ui8.js → Grid.tsrx.js} +20 -9
  25. package/dist/native/{ui59.js → Heading.tsrx.js} +4 -4
  26. package/dist/native/Hoverable.tsrx.js +139 -0
  27. package/dist/native/{ui58.js → Icon.tsrx.js} +5 -5
  28. package/dist/native/{ui29.js → Image.tsrx.js} +5 -5
  29. package/dist/native/InputNumber.tsrx.js +146 -0
  30. package/dist/native/InputRating.tsrx.js +74 -0
  31. package/dist/native/InputTags.tsrx.js +131 -0
  32. package/dist/native/Kbd.tsrx.js +29 -0
  33. package/dist/native/{ui50.js → KeyboardAvoiding.mobile.tsrx.js} +6 -4
  34. package/dist/native/{ui17.js → Link.tsrx.js} +2 -2
  35. package/dist/native/ListItem.tsrx.js +178 -0
  36. package/dist/native/Meter.tsrx.js +70 -0
  37. package/dist/native/{ui22.js → NavLink.tsrx.js} +4 -4
  38. package/dist/native/NavigationMenu.tsrx.js +67 -0
  39. package/dist/native/{ui35.js → Overlay.tsrx.js} +4 -4
  40. package/dist/native/Pagination.tsrx.js +107 -0
  41. package/dist/native/PinInput.tsrx.js +94 -0
  42. package/dist/native/{ui38.js → Popover.tsrx.js} +7 -7
  43. package/dist/native/{ui16.js → Pressable.tsrx.js} +21 -15
  44. package/dist/native/ProgressGroup.tsrx.js +66 -0
  45. package/dist/native/RadioGroup.tsrx.js +85 -0
  46. package/dist/native/{ui15.js → RichText.tsrx.js} +16 -23
  47. package/dist/native/{ui20.js → RouteHost.mobile.tsrx.js} +13 -2
  48. package/dist/native/Row.tsrx.js +98 -0
  49. package/dist/native/{ui49.js → SafeArea.tsrx.js} +10 -4
  50. package/dist/native/{ui45.js → Screen.tsrx.js} +14 -6
  51. package/dist/native/{ui26.js → ScrollBox.tsrx.js} +2 -2
  52. package/dist/native/ScrollView.tsrx.js +233 -0
  53. package/dist/native/SearchInput.tsrx.js +151 -0
  54. package/dist/native/SegmentedControl.tsrx.js +75 -0
  55. package/dist/native/Select.tsrx.js +202 -0
  56. package/dist/native/Separator.tsrx.js +25 -0
  57. package/dist/native/{ui63.js → Sheet.tsrx.js} +24 -8
  58. package/dist/native/Skeleton.tsrx.js +28 -0
  59. package/dist/native/Slider.tsrx.js +98 -0
  60. package/dist/native/{ui13.js → Spacer.tsrx.js} +3 -3
  61. package/dist/native/Stack.tsrx.js +47 -0
  62. package/dist/native/Stepper.tsrx.js +75 -0
  63. package/dist/native/Switch.tsrx.js +33 -0
  64. package/dist/native/Table.tsrx.js +103 -0
  65. package/dist/native/Tabs.tsrx.js +153 -0
  66. package/dist/native/{ui14.js → Text.tsrx.js} +5 -4
  67. package/dist/native/{ui24.js → TextArea.tsrx.js} +18 -17
  68. package/dist/native/{ui23.js → TextInput.tsrx.js} +22 -17
  69. package/dist/native/Timeline.tsrx.js +112 -0
  70. package/dist/native/Tooltip.tsrx.js +131 -0
  71. package/dist/native/Tree.tsrx.js +140 -0
  72. package/dist/native/User.tsrx.js +95 -0
  73. package/dist/native/View.tsrx.js +98 -0
  74. package/dist/native/VirtualList.tsrx.js +466 -0
  75. package/dist/native/WebView.tsrx.js +135 -0
  76. package/dist/native/aliases.tsrx.js +38 -0
  77. package/dist/native/android/BottomNavigationView.android.tsrx.js +220 -0
  78. package/dist/native/android/CircularProgressIndicator.android.tsrx.js +27 -0
  79. package/dist/native/{ui51.js → android/DrawerLayout.android.tsrx.js} +6 -7
  80. package/dist/native/android/MaterialDialog.android.tsrx.js +62 -0
  81. package/dist/native/android/MaterialSwitch.android.tsrx.js +28 -0
  82. package/dist/native/android/RecyclerView.android.tsrx.js +260 -0
  83. package/dist/native/android/SeekBar.android.tsrx.js +34 -0
  84. package/dist/native/android/icon.android.js +7 -0
  85. package/dist/native/android/index.js +11 -0
  86. package/dist/native/android/openModal.android.js +39 -0
  87. package/dist/native/{ui41.js → anim.tsrx.js} +1 -1
  88. package/dist/native/apply-native-modifiers.native.js +9 -0
  89. package/dist/native/child-array.js +15 -0
  90. package/dist/native/{ui3.js → escape-props.js} +3 -1
  91. package/dist/native/icons.js +25 -0
  92. package/dist/native/index.shared.js +92 -0
  93. package/dist/native/{ui11.js → ios/LiquidGlass.ios.tsrx.js} +4 -4
  94. package/dist/native/{ui12.js → ios/LiquidGlassContainer.ios.tsrx.js} +4 -4
  95. package/dist/native/ios/SideDrawer.ios.tsrx.js +65 -0
  96. package/dist/native/{ui53.js → ios/UIActivityIndicatorView.ios.tsrx.js} +5 -5
  97. package/dist/native/{ui32.js → ios/UIModal.ios.tsrx.js} +10 -6
  98. package/dist/native/{ui56.js → ios/UISlider.ios.tsrx.js} +5 -5
  99. package/dist/native/{ui47.js → ios/UISwitch.ios.tsrx.js} +5 -5
  100. package/dist/native/ios/UITabBar.ios.tsrx.js +187 -0
  101. package/dist/native/ios/UITableView.ios.tsrx.js +282 -0
  102. package/dist/native/ios/icon.ios.js +7 -0
  103. package/dist/native/ios/index.js +13 -0
  104. package/dist/native/{ui33.js → ios/openModal.ios.js} +5 -4
  105. package/dist/native/keyboard-inset.mobile.js +66 -0
  106. package/dist/native/{ui5.js → layout-child.js} +1 -1
  107. package/dist/native/modal-presenter.mobile.js +19 -0
  108. package/dist/native/modifier-factories.js +24 -0
  109. package/dist/native/native/index.js +4 -0
  110. package/dist/native/octane-client-build.json +1 -1
  111. package/dist/native/{ui6.js → pan.tsrx.js} +9 -69
  112. package/dist/native/platform.js +10 -0
  113. package/dist/native/{ui36.js → platformProps.js} +3 -1
  114. package/dist/native/refresh-metrics.js +9 -0
  115. package/dist/native/refresh.js +177 -0
  116. package/dist/native/{ui34.js → root-layout.mobile.js} +8 -3
  117. package/dist/native/route-host.mobile.js +2 -0
  118. package/dist/native/{ui19.js → route-table.js} +105 -4
  119. package/dist/native/{ui21.js → route.js} +140 -20
  120. package/dist/native/safeAreaInsets.tsrx.js +67 -0
  121. package/dist/native/shared.js +93 -0
  122. package/dist/native/sheet-detents.js +102 -0
  123. package/dist/native/{ui64.js → sheet-service.js} +26 -10
  124. package/dist/native/sheet-snap.js +35 -0
  125. package/dist/native/{ui18.js → stacks.js} +1 -1
  126. package/dist/native/{ui43.js → styled.tsrx.js} +1 -1
  127. package/dist/native/{ui28.js → svg.mobile.js} +2 -2
  128. package/dist/native/tap-to-blur.mobile.js +94 -0
  129. package/dist/native/text-write.js +27 -0
  130. package/dist/native/{ui30.js → theme/colorScheme.js} +2 -2
  131. package/dist/native/{ui42.js → theme/status-bar-scheme.mobile.js} +3 -3
  132. package/dist/{web/ui29.js → native/theme/theme-scheme.js} +3 -3
  133. package/dist/native/{ui40.js → toast-anchor.tsrx.js} +4 -4
  134. package/dist/native/translate.js +11 -0
  135. package/dist/native/ui.js +95 -55
  136. package/dist/native/use-back.tsrx.js +9 -0
  137. package/dist/native/{ui62.js → use-store.tsrx.js} +1 -1
  138. package/dist/native/{ui52.js → useMeasure.tsrx.js} +2 -2
  139. package/dist/native/vendor/ui-svg/index.android.js +137 -0
  140. package/dist/native/vendor/ui-svg/index.common.js +10 -0
  141. package/dist/native/vendor/ui-svg/index.ios.js +111 -0
  142. package/dist/native/virtual-list-layout.js +146 -0
  143. package/dist/native/{ui44.js → windows.js} +1 -1
  144. package/dist/web/Absolute.web.tsrx.js +47 -0
  145. package/dist/web/Accordion.web.tsrx.js +85 -0
  146. package/dist/web/{ui48.js → ActivityIndicator.web.tsrx.js} +1 -1
  147. package/dist/web/Alert.web.tsrx.js +79 -0
  148. package/dist/web/Avatar.web.tsrx.js +106 -0
  149. package/dist/web/AvatarGroup.web.tsrx.js +108 -0
  150. package/dist/web/Badge.web.tsrx.js +37 -0
  151. package/dist/web/Banner.web.tsrx.js +79 -0
  152. package/dist/web/Breadcrumb.web.tsrx.js +135 -0
  153. package/dist/web/Button.web.tsrx.js +45 -0
  154. package/dist/web/Card.web.tsrx.js +73 -0
  155. package/dist/web/Checkbox.web.tsrx.js +89 -0
  156. package/dist/web/CheckboxGroup.web.tsrx.js +79 -0
  157. package/dist/web/Chip.web.tsrx.js +64 -0
  158. package/dist/web/Collapsible.web.tsrx.js +94 -0
  159. package/dist/web/CommandPalette.web.tsrx.js +125 -0
  160. package/dist/web/ContextMenu.web.tsrx.js +154 -0
  161. package/dist/web/{ui45.js → Drawer.web.tsrx.js} +13 -9
  162. package/dist/web/DropdownMenu.web.tsrx.js +162 -0
  163. package/dist/web/Empty.web.tsrx.js +89 -0
  164. package/dist/web/FieldGroup.web.tsrx.js +57 -0
  165. package/dist/web/FormField.web.tsrx.js +92 -0
  166. package/dist/web/Grid.web.tsrx.js +65 -0
  167. package/dist/web/{ui54.js → Heading.web.tsrx.js} +2 -2
  168. package/dist/web/{ui34.js → Hoverable.web.tsrx.js} +6 -5
  169. package/dist/web/{ui53.js → Icon.web.tsrx.js} +2 -2
  170. package/dist/web/{ui25.js → Image.web.tsrx.js} +2 -2
  171. package/dist/web/InputNumber.web.tsrx.js +99 -0
  172. package/dist/web/InputRating.web.tsrx.js +72 -0
  173. package/dist/web/InputTags.web.tsrx.js +122 -0
  174. package/dist/web/Kbd.web.tsrx.js +37 -0
  175. package/dist/web/ListItem.web.tsrx.js +139 -0
  176. package/dist/web/{ui50.js → Meter.web.tsrx.js} +1 -1
  177. package/dist/web/{ui19.js → NavLink.web.tsrx.js} +1 -1
  178. package/dist/web/NavigationMenu.web.tsrx.js +118 -0
  179. package/dist/web/{ui31.js → Overlay.web.tsrx.js} +2 -2
  180. package/dist/web/Pagination.web.tsrx.js +80 -0
  181. package/dist/web/PinInput.web.tsrx.js +72 -0
  182. package/dist/web/{ui33.js → Popover.web.tsrx.js} +3 -3
  183. package/dist/web/{ui15.js → Pressable.web.tsrx.js} +68 -95
  184. package/dist/web/ProgressGroup.web.tsrx.js +109 -0
  185. package/dist/web/RadioGroup.web.tsrx.js +69 -0
  186. package/dist/web/{ui14.js → RichText.web.tsrx.js} +2 -2
  187. package/dist/web/Row.web.tsrx.js +250 -0
  188. package/dist/web/{ui43.js → SafeArea.web.tsrx.js} +10 -4
  189. package/dist/web/{ui39.js → Screen.web.tsrx.js} +1 -1
  190. package/dist/web/{ui24.js → ScrollBox.web.tsrx.js} +1 -1
  191. package/dist/web/ScrollView.web.tsrx.js +388 -0
  192. package/dist/web/SearchInput.web.tsrx.js +137 -0
  193. package/dist/web/SegmentedControl.web.tsrx.js +75 -0
  194. package/dist/web/Select.web.tsrx.js +149 -0
  195. package/dist/web/Separator.web.tsrx.js +42 -0
  196. package/dist/web/Sheet.web.tsrx.js +81 -0
  197. package/dist/web/Skeleton.web.tsrx.js +56 -0
  198. package/dist/web/Slider.web.tsrx.js +97 -0
  199. package/dist/web/{ui12.js → Spacer.web.tsrx.js} +1 -1
  200. package/dist/web/Stack.web.tsrx.js +47 -0
  201. package/dist/web/Stepper.web.tsrx.js +65 -0
  202. package/dist/web/Switch.web.tsrx.js +59 -0
  203. package/dist/web/Table.web.tsrx.js +161 -0
  204. package/dist/web/Tabs.web.tsrx.js +215 -0
  205. package/dist/web/{ui13.js → Text.web.tsrx.js} +18 -50
  206. package/dist/web/{ui21.js → TextArea.web.tsrx.js} +4 -4
  207. package/dist/web/{ui20.js → TextInput.web.tsrx.js} +8 -8
  208. package/dist/web/Timeline.web.tsrx.js +172 -0
  209. package/dist/web/Tooltip.web.tsrx.js +184 -0
  210. package/dist/web/Tree.web.tsrx.js +146 -0
  211. package/dist/web/User.web.tsrx.js +116 -0
  212. package/dist/web/View.web.tsrx.js +250 -0
  213. package/dist/web/VirtualList.web.tsrx.js +622 -0
  214. package/dist/web/WebView.web.tsrx.js +272 -0
  215. package/dist/web/aliases.web.tsrx.js +24 -0
  216. package/dist/web/{ui36.js → anim.web.tsrx.js} +3 -35
  217. package/dist/web/child-array.js +15 -0
  218. package/dist/web/icons.js +25 -0
  219. package/dist/web/index.shared.web.js +92 -0
  220. package/dist/web/octane-client-build.json +1 -1
  221. package/dist/web/pan.web.tsrx.js +66 -0
  222. package/dist/web/platform.web.js +9 -0
  223. package/dist/web/refresh-metrics.js +9 -0
  224. package/dist/web/refresh.web.js +133 -0
  225. package/dist/web/{ui17.js → route-table.js} +105 -4
  226. package/dist/web/{ui18.js → route.web.js} +48 -11
  227. package/dist/web/sheet-detents.web.js +103 -0
  228. package/dist/web/{ui60.js → sheet-service.web.js} +5 -1
  229. package/dist/web/sheet-snap.js +35 -0
  230. package/dist/{native/ui31.js → web/theme/theme-scheme.js} +2 -2
  231. package/dist/web/{ui35.js → toast-anchor.web.tsrx.js} +3 -3
  232. package/dist/web/transform.web.js +43 -0
  233. package/dist/web/translate.web.js +13 -0
  234. package/dist/web/ui.js +93 -53
  235. package/dist/web/use-back.web.tsrx.js +9 -0
  236. package/dist/web/virtual-list-layout.js +146 -0
  237. package/dist/web/web/index.js +3 -0
  238. package/package.json +53 -14
  239. package/platforms/android/include.gradle +8 -0
  240. package/platforms/android/native-api-usage.json +8 -0
  241. package/platforms/ios/Podfile +2 -0
  242. package/src/Absolute.tsrx +22 -0
  243. package/src/Absolute.web.tsrx +22 -0
  244. package/src/Accordion.macos.tsrx +50 -0
  245. package/src/Accordion.tsrx +50 -0
  246. package/src/Accordion.web.tsrx +43 -0
  247. package/src/ActivityIndicator.tsrx +29 -0
  248. package/src/ActivityIndicator.web.tsrx +14 -0
  249. package/src/Alert.macos.tsrx +42 -0
  250. package/src/Alert.tsrx +24 -0
  251. package/src/Alert.web.tsrx +23 -0
  252. package/src/Avatar.macos.tsrx +25 -0
  253. package/src/Avatar.tsrx +25 -0
  254. package/src/Avatar.web.tsrx +24 -0
  255. package/src/AvatarGroup.macos.tsrx +32 -0
  256. package/src/AvatarGroup.tsrx +32 -0
  257. package/src/AvatarGroup.web.tsrx +29 -0
  258. package/src/Badge.macos.tsrx +12 -0
  259. package/src/Badge.tsrx +12 -0
  260. package/src/Badge.web.tsrx +10 -0
  261. package/src/Banner.macos.tsrx +20 -0
  262. package/src/Banner.tsrx +20 -0
  263. package/src/Banner.web.tsrx +20 -0
  264. package/src/Breadcrumb.macos.tsrx +27 -0
  265. package/src/Breadcrumb.tsrx +27 -0
  266. package/src/Breadcrumb.web.tsrx +25 -0
  267. package/src/Button.tsrx +23 -0
  268. package/src/Button.web.tsrx +21 -0
  269. package/src/CameraView.macos.tsrx +6 -0
  270. package/src/Card.macos.tsrx +13 -0
  271. package/src/Card.tsrx +13 -0
  272. package/src/Card.web.tsrx +11 -0
  273. package/src/Checkbox.tsrx +23 -0
  274. package/src/Checkbox.web.tsrx +34 -0
  275. package/src/CheckboxGroup.macos.tsrx +39 -0
  276. package/src/CheckboxGroup.tsrx +39 -0
  277. package/src/CheckboxGroup.web.tsrx +38 -0
  278. package/src/Chip.macos.tsrx +25 -0
  279. package/src/Chip.tsrx +25 -0
  280. package/src/Chip.web.tsrx +25 -0
  281. package/src/Collapsible.macos.tsrx +39 -0
  282. package/src/Collapsible.tsrx +39 -0
  283. package/src/Collapsible.web.tsrx +33 -0
  284. package/src/CommandPalette.macos.tsrx +58 -0
  285. package/src/CommandPalette.tsrx +58 -0
  286. package/src/CommandPalette.web.tsrx +59 -0
  287. package/src/ContextMenu.macos.tsrx +59 -0
  288. package/src/ContextMenu.tsrx +59 -0
  289. package/src/ContextMenu.web.tsrx +69 -0
  290. package/src/Drawer.macos.tsrx +28 -0
  291. package/src/Drawer.tsrx +25 -0
  292. package/src/Drawer.web.tsrx +31 -0
  293. package/src/DropdownMenu.macos.tsrx +63 -0
  294. package/src/DropdownMenu.tsrx +63 -0
  295. package/src/DropdownMenu.web.tsrx +78 -0
  296. package/src/Empty.macos.tsrx +15 -0
  297. package/src/Empty.tsrx +15 -0
  298. package/src/Empty.web.tsrx +13 -0
  299. package/src/FieldGroup.macos.tsrx +17 -0
  300. package/src/FieldGroup.tsrx +17 -0
  301. package/src/FieldGroup.web.tsrx +17 -0
  302. package/src/FormField.macos.tsrx +25 -0
  303. package/src/FormField.tsrx +25 -0
  304. package/src/FormField.web.tsrx +24 -0
  305. package/src/Grid.tsrx +32 -0
  306. package/src/Grid.web.tsrx +43 -0
  307. package/src/Heading.macos.tsrx +8 -0
  308. package/src/Heading.tsrx +17 -0
  309. package/src/Heading.web.tsrx +15 -0
  310. package/src/Hoverable.mobile.tsrx +21 -0
  311. package/src/Hoverable.tsrx +113 -0
  312. package/src/Hoverable.web.tsrx +98 -0
  313. package/src/Icon.macos.tsrx +18 -0
  314. package/src/Icon.tsrx +65 -0
  315. package/src/Icon.web.tsrx +75 -0
  316. package/src/Image.macos.tsrx +12 -0
  317. package/src/Image.tsrx +51 -0
  318. package/src/Image.web.tsrx +14 -0
  319. package/src/InputNumber.macos.tsrx +49 -0
  320. package/src/InputNumber.tsrx +49 -0
  321. package/src/InputNumber.web.tsrx +47 -0
  322. package/src/InputRating.macos.tsrx +42 -0
  323. package/src/InputRating.tsrx +39 -0
  324. package/src/InputRating.web.tsrx +52 -0
  325. package/src/InputTags.macos.tsrx +49 -0
  326. package/src/InputTags.tsrx +49 -0
  327. package/src/InputTags.web.tsrx +49 -0
  328. package/src/Kbd.macos.tsrx +11 -0
  329. package/src/Kbd.tsrx +11 -0
  330. package/src/Kbd.web.tsrx +9 -0
  331. package/src/KeyboardAvoiding.macos.tsrx +8 -0
  332. package/src/KeyboardAvoiding.mobile.tsrx +63 -0
  333. package/src/Link.macos.tsrx +15 -0
  334. package/src/Link.tsrx +10 -0
  335. package/src/Link.web.tsrx +12 -0
  336. package/src/ListItem.macos.tsrx +52 -0
  337. package/src/ListItem.tsrx +52 -0
  338. package/src/ListItem.web.tsrx +50 -0
  339. package/src/Meter.macos.tsrx +8 -0
  340. package/src/Meter.tsrx +45 -0
  341. package/src/Meter.web.tsrx +32 -0
  342. package/src/NavLink.macos.tsrx +24 -0
  343. package/src/NavLink.tsrx +22 -0
  344. package/src/NavLink.web.tsrx +23 -0
  345. package/src/NavigationMenu.macos.tsrx +31 -0
  346. package/src/NavigationMenu.tsrx +28 -0
  347. package/src/NavigationMenu.web.tsrx +31 -0
  348. package/src/Overlay.macos.tsrx +11 -0
  349. package/src/Overlay.tsrx +84 -0
  350. package/src/Overlay.web.tsrx +23 -0
  351. package/src/Pagination.macos.tsrx +54 -0
  352. package/src/Pagination.tsrx +47 -0
  353. package/src/Pagination.web.tsrx +50 -0
  354. package/src/PinInput.macos.tsrx +46 -0
  355. package/src/PinInput.tsrx +46 -0
  356. package/src/PinInput.web.tsrx +45 -0
  357. package/src/Popover.macos.tsrx +11 -0
  358. package/src/Popover.tsrx +157 -0
  359. package/src/Popover.web.tsrx +109 -0
  360. package/src/Pressable.macos.tsrx +19 -0
  361. package/src/Pressable.tsrx +37 -0
  362. package/src/Pressable.web.tsrx +45 -0
  363. package/src/ProgressGroup.macos.tsrx +17 -0
  364. package/src/ProgressGroup.tsrx +17 -0
  365. package/src/ProgressGroup.web.tsrx +15 -0
  366. package/src/RadioGroup.macos.tsrx +50 -0
  367. package/src/RadioGroup.tsrx +34 -0
  368. package/src/RadioGroup.web.tsrx +43 -0
  369. package/src/RichText.tsrx +40 -0
  370. package/src/RichText.web.tsrx +24 -0
  371. package/src/RouteHost.macos.tsrx +18 -0
  372. package/src/RouteHost.mobile.tsrx +44 -0
  373. package/src/Row.macos.tsrx +26 -0
  374. package/src/Row.tsrx +27 -0
  375. package/src/Row.web.tsrx +27 -0
  376. package/src/SafeArea.macos.tsrx +8 -0
  377. package/src/SafeArea.tsrx +20 -0
  378. package/src/SafeArea.web.tsrx +24 -0
  379. package/src/Screen.macos.tsrx +14 -0
  380. package/src/Screen.tsrx +31 -0
  381. package/src/Screen.web.tsrx +7 -0
  382. package/src/ScrollBox.tsrx +8 -0
  383. package/src/ScrollBox.web.tsrx +7 -0
  384. package/src/ScrollView.macos.tsrx +19 -0
  385. package/src/ScrollView.tsrx +117 -0
  386. package/src/ScrollView.web.tsrx +109 -0
  387. package/src/SearchInput.tsrx +60 -0
  388. package/src/SearchInput.web.test.tsrx +58 -0
  389. package/src/SearchInput.web.tsrx +55 -0
  390. package/src/SegmentedControl.tsrx +43 -0
  391. package/src/SegmentedControl.web.test.tsrx +46 -0
  392. package/src/SegmentedControl.web.tsrx +51 -0
  393. package/src/Select.macos.tsrx +104 -0
  394. package/src/Select.tsrx +104 -0
  395. package/src/Select.web.tsrx +124 -0
  396. package/src/Separator.macos.tsrx +17 -0
  397. package/src/Separator.tsrx +17 -0
  398. package/src/Separator.web.tsrx +17 -0
  399. package/src/Sheet.macos.tsrx +15 -0
  400. package/src/Sheet.tsrx +122 -0
  401. package/src/Sheet.web.tsrx +56 -0
  402. package/src/Skeleton.macos.tsrx +15 -0
  403. package/src/Skeleton.tsrx +15 -0
  404. package/src/Skeleton.web.tsrx +15 -0
  405. package/src/Slider.tsrx +71 -0
  406. package/src/Slider.web.tsrx +60 -0
  407. package/src/Spacer.tsrx +8 -0
  408. package/src/Spacer.web.tsrx +6 -0
  409. package/src/Stack.tsrx +24 -0
  410. package/src/Stack.web.tsrx +22 -0
  411. package/src/Stepper.macos.tsrx +52 -0
  412. package/src/Stepper.tsrx +31 -0
  413. package/src/Stepper.web.tsrx +37 -0
  414. package/src/Switch.tsrx +21 -0
  415. package/src/Switch.web.tsrx +28 -0
  416. package/src/Table.macos.tsrx +37 -0
  417. package/src/Table.tsrx +37 -0
  418. package/src/Table.web.tsrx +37 -0
  419. package/src/Tabs.macos.tsrx +60 -0
  420. package/src/Tabs.tsrx +55 -0
  421. package/src/Tabs.web.tsrx +98 -0
  422. package/src/Text.macos.tsrx +18 -0
  423. package/src/Text.tsrx +62 -0
  424. package/src/Text.web.tsrx +31 -0
  425. package/src/TextArea.tsrx +65 -0
  426. package/src/TextArea.web.tsrx +61 -0
  427. package/src/TextInput.tsrx +39 -0
  428. package/src/TextInput.web.tsrx +28 -0
  429. package/src/Timeline.macos.tsrx +27 -0
  430. package/src/Timeline.tsrx +24 -0
  431. package/src/Timeline.web.tsrx +22 -0
  432. package/src/Tooltip.mobile.tsrx +20 -0
  433. package/src/Tooltip.tsrx +102 -0
  434. package/src/Tooltip.web.tsrx +156 -0
  435. package/src/Tree.macos.tsrx +45 -0
  436. package/src/Tree.tsrx +45 -0
  437. package/src/Tree.web.tsrx +52 -0
  438. package/src/User.macos.tsrx +24 -0
  439. package/src/User.tsrx +24 -0
  440. package/src/User.web.tsrx +24 -0
  441. package/src/View.macos.tsrx +29 -0
  442. package/src/View.tsrx +32 -0
  443. package/src/View.web.tsrx +33 -0
  444. package/src/VirtualList.macos.tsrx +298 -0
  445. package/src/VirtualList.tsrx +358 -0
  446. package/src/VirtualList.web.tsrx +313 -0
  447. package/src/WebView.macos.tsrx +6 -0
  448. package/src/WebView.tsrx +89 -0
  449. package/src/WebView.web.tsrx +92 -0
  450. package/src/aliases.macos.tsrx +18 -0
  451. package/src/aliases.tsrx +18 -0
  452. package/src/aliases.web.tsrx +17 -0
  453. package/src/android/BottomNavigationView.android.tsrx +170 -0
  454. package/src/android/CircularProgressIndicator.android.tsrx +19 -0
  455. package/src/android/DrawerLayout.android.tsrx +48 -0
  456. package/src/android/MaterialDialog.android.tsrx +62 -0
  457. package/src/android/MaterialSwitch.android.tsrx +18 -0
  458. package/src/android/RecyclerView.android.tsrx +173 -0
  459. package/src/android/SeekBar.android.tsrx +20 -0
  460. package/src/android/icon.android.ts +8 -0
  461. package/src/android/index.ts +37 -0
  462. package/src/android/openModal.android.ts +55 -0
  463. package/src/anim.macos.tsrx +20 -0
  464. package/src/anim.tsrx +65 -0
  465. package/src/anim.web.tsrx +55 -0
  466. package/src/apply-native-modifiers.native.ts +13 -0
  467. package/src/camera-permission.web.ts +11 -0
  468. package/src/child-array.ts +16 -0
  469. package/src/colorScheme.macos.ts +27 -0
  470. package/src/controls.macos.tsrx +171 -0
  471. package/src/cx.ts +8 -0
  472. package/src/escape-props.macos.ts +11 -0
  473. package/src/escape-props.ts +70 -0
  474. package/src/escape-props.web.ts +25 -0
  475. package/src/hosted-unsupported.macos.tsrx +9 -0
  476. package/src/icons.ts +60 -0
  477. package/src/index.linux.ts +10 -0
  478. package/src/index.macos.ts +106 -0
  479. package/src/index.mobile.ts +6 -0
  480. package/src/index.shared.ts +269 -0
  481. package/src/index.shared.web.ts +270 -0
  482. package/src/index.ts +1 -0
  483. package/src/index.web.ts +1 -0
  484. package/src/ios/LiquidGlass.ios.tsrx +41 -0
  485. package/src/ios/LiquidGlassContainer.ios.tsrx +34 -0
  486. package/src/ios/SideDrawer.ios.tsrx +49 -0
  487. package/src/ios/UIActivityIndicatorView.ios.tsrx +18 -0
  488. package/src/ios/UIModal.ios.tsrx +68 -0
  489. package/src/ios/UISlider.ios.tsrx +20 -0
  490. package/src/ios/UISwitch.ios.tsrx +18 -0
  491. package/src/ios/UITabBar.ios.tsrx +172 -0
  492. package/src/ios/UITableView.ios.tsrx +186 -0
  493. package/src/ios/icon.ios.ts +8 -0
  494. package/src/ios/index.ts +42 -0
  495. package/src/ios/openModal.ios.ts +55 -0
  496. package/src/keyboard-inset.mobile.ts +89 -0
  497. package/src/layout-child.ts +57 -0
  498. package/src/layout-child.web.ts +108 -0
  499. package/src/layout-shells.macos.tsrx +10 -0
  500. package/src/layout.macos.tsrx +41 -0
  501. package/src/macos-extras.macos.tsrx +40 -0
  502. package/src/meter-math.ts +6 -0
  503. package/src/modal-presenter.mobile.ts +24 -0
  504. package/src/modifier-factories.ts +20 -0
  505. package/src/native/index.ts +6 -0
  506. package/src/pan.tsrx +64 -0
  507. package/src/pan.web.tsrx +38 -0
  508. package/src/platform.macos.ts +1 -0
  509. package/src/platform.ts +7 -0
  510. package/src/platform.web.ts +6 -0
  511. package/src/platformProps.ts +23 -0
  512. package/src/platformProps.web.ts +14 -0
  513. package/src/popover-position.ts +62 -0
  514. package/src/popover.mobile.test.ts +54 -0
  515. package/src/props.ts +1812 -0
  516. package/src/references.d.ts +2 -0
  517. package/src/refresh-metrics.ts +11 -0
  518. package/src/refresh.ts +271 -0
  519. package/src/refresh.web.test.ts +111 -0
  520. package/src/refresh.web.ts +205 -0
  521. package/src/root-layout.mobile.ts +89 -0
  522. package/src/route-host.mobile.ts +1 -0
  523. package/src/route-table.test.ts +345 -0
  524. package/src/route-table.ts +585 -0
  525. package/src/route.macos.ts +201 -0
  526. package/src/route.ts +703 -0
  527. package/src/route.web.ts +366 -0
  528. package/src/safeAreaInsets.macos.tsrx +7 -0
  529. package/src/safeAreaInsets.tsrx +60 -0
  530. package/src/safeAreaInsets.web.tsrx +38 -0
  531. package/src/sheet-detents.ts +142 -0
  532. package/src/sheet-detents.web.ts +147 -0
  533. package/src/sheet-service.macos.ts +60 -0
  534. package/src/sheet-service.ts +124 -0
  535. package/src/sheet-service.web.ts +64 -0
  536. package/src/sheet-snap.test.ts +46 -0
  537. package/src/sheet-snap.ts +66 -0
  538. package/src/stacks.macos.ts +13 -0
  539. package/src/stacks.ts +44 -0
  540. package/src/stacks.web.ts +9 -0
  541. package/src/store.mobile.test.ts +149 -0
  542. package/src/store.ts +39 -0
  543. package/src/store.web.test.tsrx +58 -0
  544. package/src/styled.macos.tsrx +23 -0
  545. package/src/styled.test.ts +40 -0
  546. package/src/styled.tsrx +36 -0
  547. package/src/styled.web.tsrx +23 -0
  548. package/src/surfaces.macos.tsrx +27 -0
  549. package/src/svg.mobile.ts +76 -0
  550. package/src/tap-to-blur.mobile.ts +108 -0
  551. package/src/text-controls.macos.tsrx +11 -0
  552. package/src/text-write.ts +28 -0
  553. package/src/text-write.web.ts +13 -0
  554. package/src/theme/colorScheme.linux.ts +52 -0
  555. package/src/theme/colorScheme.ts +26 -0
  556. package/src/theme/colorScheme.web.ts +20 -0
  557. package/src/theme/status-bar-scheme.mobile.ts +39 -0
  558. package/src/theme/theme-scheme.macos.ts +50 -0
  559. package/src/theme/theme-scheme.ts +66 -0
  560. package/src/theme/tokens.css +1408 -206
  561. package/src/toast-anchor.macos.tsrx +3 -0
  562. package/src/toast-anchor.tsrx +122 -0
  563. package/src/toast-anchor.web.tsrx +92 -0
  564. package/src/toast.tsrx +90 -0
  565. package/src/toast.web.tsrx +50 -0
  566. package/src/transform.web.ts +52 -0
  567. package/src/translate.macos.ts +5 -0
  568. package/src/translate.ts +13 -0
  569. package/src/translate.web.ts +15 -0
  570. package/src/tsconfig.json +8 -0
  571. package/src/unsupported.macos.tsrx +5 -0
  572. package/src/use-back.tsrx +11 -0
  573. package/src/use-back.web.tsrx +12 -0
  574. package/src/use-store.tsrx +18 -0
  575. package/src/use-store.web.tsrx +18 -0
  576. package/src/useMeasure.macos.tsrx +23 -0
  577. package/src/useMeasure.tsrx +66 -0
  578. package/src/useMeasure.web.tsrx +39 -0
  579. package/src/useStore.macos.tsrx +6 -0
  580. package/src/vendor/ui-svg/LICENSE +201 -0
  581. package/src/vendor/ui-svg/index.android.ts +189 -0
  582. package/src/vendor/ui-svg/index.common.ts +19 -0
  583. package/src/vendor/ui-svg/index.ios.ts +147 -0
  584. package/src/vendor/ui-svg/index.ts +1 -0
  585. package/src/vendor/ui-svg/typings/SVGKit.d.ts +2862 -0
  586. package/src/vendor/ui-svg/typings/android.d.ts +1483 -0
  587. package/src/vendor/ui-svg/typings/ios.d.ts +1511 -0
  588. package/src/virtual-list-layout.test.ts +81 -0
  589. package/src/virtual-list-layout.ts +246 -0
  590. package/src/web/index.ts +11 -0
  591. package/src/windows.linux.ts +59 -0
  592. package/src/windows.macos.ts +10 -0
  593. package/src/windows.ts +7 -0
  594. package/src/windows.web.ts +6 -0
  595. package/types/generated/.tsrx-typegen-manifest.json +250 -0
  596. package/types/generated/Absolute.d.ts +3 -0
  597. package/types/generated/Absolute.web.d.ts +3 -0
  598. package/types/generated/Accordion.d.ts +5 -0
  599. package/types/generated/Accordion.web.d.ts +5 -0
  600. package/types/generated/ActivityIndicator.d.ts +7 -0
  601. package/types/generated/ActivityIndicator.web.d.ts +3 -0
  602. package/types/generated/Alert.d.ts +4 -0
  603. package/types/generated/Alert.web.d.ts +5 -0
  604. package/types/generated/Avatar.d.ts +6 -0
  605. package/types/generated/Avatar.web.d.ts +7 -0
  606. package/types/generated/AvatarGroup.d.ts +6 -0
  607. package/types/generated/AvatarGroup.web.d.ts +6 -0
  608. package/types/generated/Badge.d.ts +5 -0
  609. package/types/generated/Badge.web.d.ts +5 -0
  610. package/types/generated/Banner.d.ts +4 -0
  611. package/types/generated/Banner.web.d.ts +4 -0
  612. package/types/generated/Breadcrumb.d.ts +4 -0
  613. package/types/generated/Breadcrumb.web.d.ts +5 -0
  614. package/types/generated/Button.d.ts +6 -0
  615. package/types/generated/Button.web.d.ts +6 -0
  616. package/types/generated/Card.d.ts +4 -0
  617. package/types/generated/Card.web.d.ts +4 -0
  618. package/types/generated/Checkbox.d.ts +5 -0
  619. package/types/generated/Checkbox.web.d.ts +6 -0
  620. package/types/generated/CheckboxGroup.d.ts +3 -0
  621. package/types/generated/CheckboxGroup.web.d.ts +3 -0
  622. package/types/generated/Chip.d.ts +5 -0
  623. package/types/generated/Chip.web.d.ts +5 -0
  624. package/types/generated/Collapsible.d.ts +5 -0
  625. package/types/generated/Collapsible.web.d.ts +5 -0
  626. package/types/generated/CommandPalette.d.ts +4 -0
  627. package/types/generated/CommandPalette.web.d.ts +4 -0
  628. package/types/generated/ContextMenu.d.ts +5 -0
  629. package/types/generated/ContextMenu.web.d.ts +4 -0
  630. package/types/generated/Drawer.d.ts +7 -0
  631. package/types/generated/Drawer.web.d.ts +7 -0
  632. package/types/generated/DropdownMenu.d.ts +5 -0
  633. package/types/generated/DropdownMenu.web.d.ts +5 -0
  634. package/types/generated/Empty.d.ts +4 -0
  635. package/types/generated/Empty.web.d.ts +4 -0
  636. package/types/generated/FieldGroup.d.ts +4 -0
  637. package/types/generated/FieldGroup.web.d.ts +4 -0
  638. package/types/generated/FormField.d.ts +5 -0
  639. package/types/generated/FormField.web.d.ts +5 -0
  640. package/types/generated/Grid.d.ts +3 -0
  641. package/types/generated/Grid.web.d.ts +3 -0
  642. package/types/generated/Heading.d.ts +2 -0
  643. package/types/generated/Heading.web.d.ts +2 -0
  644. package/types/generated/Hoverable.d.ts +10 -0
  645. package/types/generated/Hoverable.web.d.ts +9 -0
  646. package/types/generated/Icon.d.ts +3 -0
  647. package/types/generated/Icon.web.d.ts +3 -0
  648. package/types/generated/Image.d.ts +7 -0
  649. package/types/generated/Image.web.d.ts +3 -0
  650. package/types/generated/InputNumber.d.ts +5 -0
  651. package/types/generated/InputNumber.web.d.ts +5 -0
  652. package/types/generated/InputRating.d.ts +4 -0
  653. package/types/generated/InputRating.web.d.ts +4 -0
  654. package/types/generated/InputTags.d.ts +4 -0
  655. package/types/generated/InputTags.web.d.ts +5 -0
  656. package/types/generated/Kbd.d.ts +4 -0
  657. package/types/generated/Kbd.web.d.ts +4 -0
  658. package/types/generated/KeyboardAvoiding.mobile.d.ts +2 -0
  659. package/types/generated/Link.d.ts +2 -0
  660. package/types/generated/Link.web.d.ts +3 -0
  661. package/types/generated/ListItem.d.ts +3 -0
  662. package/types/generated/ListItem.web.d.ts +3 -0
  663. package/types/generated/Meter.d.ts +3 -0
  664. package/types/generated/Meter.web.d.ts +3 -0
  665. package/types/generated/NavLink.d.ts +3 -0
  666. package/types/generated/NavLink.web.d.ts +3 -0
  667. package/types/generated/NavigationMenu.d.ts +4 -0
  668. package/types/generated/NavigationMenu.web.d.ts +5 -0
  669. package/types/generated/Overlay.d.ts +3 -0
  670. package/types/generated/Overlay.web.d.ts +3 -0
  671. package/types/generated/Pagination.d.ts +4 -0
  672. package/types/generated/Pagination.web.d.ts +5 -0
  673. package/types/generated/PinInput.d.ts +4 -0
  674. package/types/generated/PinInput.web.d.ts +4 -0
  675. package/types/generated/Popover.d.ts +6 -0
  676. package/types/generated/Popover.web.d.ts +3 -0
  677. package/types/generated/Pressable.d.ts +6 -0
  678. package/types/generated/Pressable.web.d.ts +2 -0
  679. package/types/generated/ProgressGroup.d.ts +3 -0
  680. package/types/generated/ProgressGroup.web.d.ts +4 -0
  681. package/types/generated/RadioGroup.d.ts +5 -0
  682. package/types/generated/RadioGroup.web.d.ts +5 -0
  683. package/types/generated/RichText.d.ts +7 -0
  684. package/types/generated/RichText.web.d.ts +3 -0
  685. package/types/generated/RouteHost.mobile.d.ts +14 -0
  686. package/types/generated/Row.d.ts +2 -0
  687. package/types/generated/Row.web.d.ts +2 -0
  688. package/types/generated/SafeArea.d.ts +2 -0
  689. package/types/generated/SafeArea.web.d.ts +3 -0
  690. package/types/generated/Screen.d.ts +3 -0
  691. package/types/generated/Screen.web.d.ts +3 -0
  692. package/types/generated/ScrollBox.d.ts +3 -0
  693. package/types/generated/ScrollBox.web.d.ts +3 -0
  694. package/types/generated/ScrollView.d.ts +7 -0
  695. package/types/generated/ScrollView.web.d.ts +6 -0
  696. package/types/generated/SearchInput.d.ts +7 -0
  697. package/types/generated/SearchInput.web.d.ts +6 -0
  698. package/types/generated/SegmentedControl.d.ts +7 -0
  699. package/types/generated/SegmentedControl.web.d.ts +6 -0
  700. package/types/generated/Select.d.ts +6 -0
  701. package/types/generated/Select.web.d.ts +6 -0
  702. package/types/generated/Separator.d.ts +5 -0
  703. package/types/generated/Separator.web.d.ts +5 -0
  704. package/types/generated/Sheet.d.ts +5 -0
  705. package/types/generated/Sheet.web.d.ts +7 -0
  706. package/types/generated/Skeleton.d.ts +5 -0
  707. package/types/generated/Skeleton.web.d.ts +6 -0
  708. package/types/generated/Slider.d.ts +6 -0
  709. package/types/generated/Slider.web.d.ts +6 -0
  710. package/types/generated/Spacer.d.ts +3 -0
  711. package/types/generated/Spacer.web.d.ts +3 -0
  712. package/types/generated/Stack.d.ts +3 -0
  713. package/types/generated/Stack.web.d.ts +3 -0
  714. package/types/generated/Stepper.d.ts +4 -0
  715. package/types/generated/Stepper.web.d.ts +5 -0
  716. package/types/generated/Switch.d.ts +7 -0
  717. package/types/generated/Switch.web.d.ts +6 -0
  718. package/types/generated/Table.d.ts +4 -0
  719. package/types/generated/Table.web.d.ts +5 -0
  720. package/types/generated/Tabs.d.ts +10 -0
  721. package/types/generated/Tabs.web.d.ts +6 -0
  722. package/types/generated/Text.d.ts +2 -0
  723. package/types/generated/Text.web.d.ts +2 -0
  724. package/types/generated/TextArea.d.ts +8 -0
  725. package/types/generated/TextArea.web.d.ts +9 -0
  726. package/types/generated/TextInput.d.ts +9 -0
  727. package/types/generated/TextInput.web.d.ts +2 -0
  728. package/types/generated/Timeline.d.ts +3 -0
  729. package/types/generated/Timeline.web.d.ts +4 -0
  730. package/types/generated/Tooltip.d.ts +9 -0
  731. package/types/generated/Tooltip.web.d.ts +12 -0
  732. package/types/generated/Tree.d.ts +4 -0
  733. package/types/generated/Tree.web.d.ts +4 -0
  734. package/types/generated/User.d.ts +5 -0
  735. package/types/generated/User.web.d.ts +5 -0
  736. package/types/generated/View.d.ts +7 -0
  737. package/types/generated/View.web.d.ts +7 -0
  738. package/types/generated/VirtualList.d.ts +5 -0
  739. package/types/generated/VirtualList.web.d.ts +4 -0
  740. package/types/generated/WebView.d.ts +11 -0
  741. package/types/generated/WebView.web.d.ts +5 -0
  742. package/types/generated/aliases.d.ts +7 -0
  743. package/types/generated/aliases.web.d.ts +7 -0
  744. package/types/generated/android/BottomNavigationView.android.d.ts +9 -0
  745. package/types/generated/android/CircularProgressIndicator.android.d.ts +6 -0
  746. package/types/generated/android/DrawerLayout.android.d.ts +12 -0
  747. package/types/generated/android/MaterialDialog.android.d.ts +8 -0
  748. package/types/generated/android/MaterialSwitch.android.d.ts +6 -0
  749. package/types/generated/android/RecyclerView.android.d.ts +14 -0
  750. package/types/generated/android/SeekBar.android.d.ts +5 -0
  751. package/types/generated/android/icon.android.d.ts +5 -0
  752. package/types/generated/android/index.d.ts +12 -0
  753. package/types/generated/android/openModal.android.d.ts +4 -0
  754. package/types/generated/anim.d.ts +10 -0
  755. package/types/generated/anim.web.d.ts +3 -0
  756. package/types/generated/apply-native-modifiers.native.d.ts +3 -0
  757. package/types/generated/child-array.d.ts +3 -0
  758. package/types/generated/cx.d.ts +6 -0
  759. package/types/generated/escape-props.d.ts +16 -0
  760. package/types/generated/icons.d.ts +5 -0
  761. package/types/generated/index.d.ts +1 -0
  762. package/types/generated/index.linux.d.ts +5 -0
  763. package/types/generated/index.mobile.d.ts +4 -0
  764. package/types/generated/index.shared.d.ts +111 -0
  765. package/types/generated/index.shared.web.d.ts +111 -0
  766. package/types/generated/index.web.d.ts +1 -0
  767. package/types/generated/ios/LiquidGlass.ios.d.ts +12 -0
  768. package/types/generated/ios/LiquidGlassContainer.ios.d.ts +13 -0
  769. package/types/generated/ios/SideDrawer.ios.d.ts +12 -0
  770. package/types/generated/ios/UIActivityIndicatorView.ios.d.ts +5 -0
  771. package/types/generated/ios/UIModal.ios.d.ts +7 -0
  772. package/types/generated/ios/UISlider.ios.d.ts +5 -0
  773. package/types/generated/ios/UISwitch.ios.d.ts +6 -0
  774. package/types/generated/ios/UITabBar.ios.d.ts +7 -0
  775. package/types/generated/ios/UITableView.ios.d.ts +14 -0
  776. package/types/generated/ios/icon.ios.d.ts +5 -0
  777. package/types/generated/ios/index.d.ts +14 -0
  778. package/types/generated/ios/openModal.ios.d.ts +4 -0
  779. package/types/generated/keyboard-inset.mobile.d.ts +10 -0
  780. package/types/generated/layout-child.d.ts +6 -0
  781. package/types/generated/layout-child.web.d.ts +15 -0
  782. package/types/generated/meter-math.d.ts +6 -0
  783. package/types/generated/modal-presenter.mobile.d.ts +14 -0
  784. package/types/generated/modifier-factories.d.ts +15 -0
  785. package/types/generated/native/index.d.ts +3 -0
  786. package/types/generated/pan.d.ts +2 -0
  787. package/types/generated/pan.web.d.ts +9 -0
  788. package/types/generated/platform.d.ts +7 -0
  789. package/types/generated/platform.web.d.ts +6 -0
  790. package/types/generated/platformProps.d.ts +7 -0
  791. package/types/generated/platformProps.web.d.ts +2 -0
  792. package/types/generated/popover-position.d.ts +14 -0
  793. package/types/generated/props.d.ts +1626 -0
  794. package/types/generated/refresh-metrics.d.ts +8 -0
  795. package/types/generated/refresh.d.ts +42 -0
  796. package/types/generated/refresh.web.d.ts +23 -0
  797. package/types/generated/root-layout.mobile.d.ts +22 -0
  798. package/types/generated/route-host.mobile.d.ts +1 -0
  799. package/types/generated/route-table.d.ts +90 -0
  800. package/types/generated/route.d.ts +74 -0
  801. package/types/generated/route.web.d.ts +67 -0
  802. package/types/generated/safeAreaInsets.d.ts +8 -0
  803. package/types/generated/safeAreaInsets.web.d.ts +8 -0
  804. package/types/generated/sheet-detents.d.ts +23 -0
  805. package/types/generated/sheet-detents.web.d.ts +13 -0
  806. package/types/generated/sheet-service.d.ts +11 -0
  807. package/types/generated/sheet-service.web.d.ts +6 -0
  808. package/types/generated/sheet-snap.d.ts +18 -0
  809. package/types/generated/stacks.d.ts +9 -0
  810. package/types/generated/stacks.web.d.ts +4 -0
  811. package/types/generated/store.d.ts +14 -0
  812. package/types/generated/styled.d.ts +20 -0
  813. package/types/generated/styled.web.d.ts +10 -0
  814. package/types/generated/svg.mobile.d.ts +23 -0
  815. package/types/generated/tap-to-blur.mobile.d.ts +16 -0
  816. package/types/generated/text-write.d.ts +9 -0
  817. package/types/generated/theme/colorScheme.d.ts +6 -0
  818. package/types/generated/theme/colorScheme.linux.d.ts +5 -0
  819. package/types/generated/theme/colorScheme.web.d.ts +5 -0
  820. package/types/generated/theme/status-bar-scheme.mobile.d.ts +1 -0
  821. package/types/generated/theme/theme-scheme.d.ts +20 -0
  822. package/types/generated/toast-anchor.d.ts +4 -0
  823. package/types/generated/toast-anchor.web.d.ts +4 -0
  824. package/types/generated/transform.web.d.ts +8 -0
  825. package/types/generated/translate.d.ts +5 -0
  826. package/types/generated/translate.web.d.ts +6 -0
  827. package/types/generated/use-back.d.ts +6 -0
  828. package/types/generated/use-back.web.d.ts +7 -0
  829. package/types/generated/use-store.d.ts +9 -0
  830. package/types/generated/use-store.web.d.ts +9 -0
  831. package/types/generated/useMeasure.d.ts +3 -0
  832. package/types/generated/useMeasure.web.d.ts +3 -0
  833. package/types/generated/vendor/ui-svg/index.common.d.ts +7 -0
  834. package/types/generated/vendor/ui-svg/index.d.ts +1 -0
  835. package/types/generated/vendor/ui-svg/index.ios.d.ts +13 -0
  836. package/types/generated/virtual-list-layout.d.ts +44 -0
  837. package/types/generated/web/index.d.ts +3 -0
  838. package/types/generated/windows.d.ts +3 -0
  839. package/types/generated/windows.linux.d.ts +15 -0
  840. package/types/generated/windows.web.d.ts +3 -0
  841. package/types/index.macos.d.ts +142 -0
  842. package/dist/native/ui10.js +0 -32
  843. package/dist/native/ui25.js +0 -141
  844. package/dist/native/ui27.js +0 -61
  845. package/dist/native/ui39.js +0 -103
  846. package/dist/native/ui4.js +0 -24
  847. package/dist/native/ui46.js +0 -267
  848. package/dist/native/ui48.js +0 -35
  849. package/dist/native/ui55.js +0 -92
  850. package/dist/native/ui57.js +0 -19
  851. package/dist/native/ui60.js +0 -14
  852. package/dist/native/ui7.js +0 -52
  853. package/dist/native/ui9.js +0 -36
  854. package/dist/web/ui10.js +0 -46
  855. package/dist/web/ui11.js +0 -42
  856. package/dist/web/ui22.js +0 -108
  857. package/dist/web/ui23.js +0 -96
  858. package/dist/web/ui26.js +0 -45
  859. package/dist/web/ui3.js +0 -31
  860. package/dist/web/ui30.js +0 -34
  861. package/dist/web/ui40.js +0 -154
  862. package/dist/web/ui41.js +0 -43
  863. package/dist/web/ui44.js +0 -42
  864. package/dist/web/ui5.js +0 -168
  865. package/dist/web/ui51.js +0 -47
  866. package/dist/web/ui52.js +0 -19
  867. package/dist/web/ui55.js +0 -17
  868. package/dist/web/ui59.js +0 -44
  869. package/dist/web/ui6.js +0 -94
  870. package/dist/web/ui7.js +0 -62
  871. package/dist/web/ui8.js +0 -46
  872. package/dist/web/ui9.js +0 -46
  873. package/types/index.d.ts +0 -258
  874. package/types/props.d.ts +0 -742
  875. /package/dist/native/{ui2.js → cx.js} +0 -0
  876. /package/dist/native/{ui54.js → meter-math.js} +0 -0
  877. /package/dist/native/{ui37.js → popover-position.js} +0 -0
  878. /package/dist/native/{ui61.js → store.js} +0 -0
  879. /package/dist/web/{ui16.js → Link.web.tsrx.js} +0 -0
  880. /package/dist/web/{ui28.js → cx.js} +0 -0
  881. /package/dist/web/{ui2.js → escape-props.web.js} +0 -0
  882. /package/dist/web/{ui4.js → layout-child.web.js} +0 -0
  883. /package/dist/web/{ui49.js → meter-math.js} +0 -0
  884. /package/dist/web/{ui47.js → platformProps.web.js} +0 -0
  885. /package/dist/web/{ui32.js → popover-position.js} +0 -0
  886. /package/dist/web/{ui42.js → safeAreaInsets.web.tsrx.js} +0 -0
  887. /package/dist/web/{ui56.js → stacks.web.js} +0 -0
  888. /package/dist/web/{ui57.js → store.js} +0 -0
  889. /package/dist/web/{ui37.js → styled.web.tsrx.js} +0 -0
  890. /package/dist/web/{ui27.js → theme/colorScheme.web.js} +0 -0
  891. /package/dist/web/{ui58.js → use-store.web.tsrx.js} +0 -0
  892. /package/dist/web/{ui46.js → useMeasure.web.tsrx.js} +0 -0
  893. /package/dist/web/{ui38.js → windows.web.js} +0 -0
@@ -0,0 +1,8 @@
1
+ /** Pull-to-refresh geometry — one strip height drives the indicator
2
+ * reveal, the default trigger threshold, and the docked gap on every
3
+ * target (px on web, dip on native — equal by the dip≈px contract). */
4
+ export declare const REFRESH_HEADER_HEIGHT = 64;
5
+ /** Finger-travel → content displacement. iOS rubber-band applies ~0.5
6
+ * resistance at small pulls; web/Android drive the same ratio so the
7
+ * affordance reads identically across targets. */
8
+ export declare function dampenPull(dy: number): number;
@@ -0,0 +1,42 @@
1
+ export interface RefreshConfig {
2
+ onRefresh?: () => void;
3
+ refreshing?: boolean;
4
+ threshold?: number;
5
+ }
6
+ export interface RefreshHost {
7
+ /** The scrolling view — NS ScrollView or ListView. */
8
+ scroller: any;
9
+ /** The overlay strip (owns the self-drawn spinner), translated in/out. */
10
+ indicator: any;
11
+ /** True when the scroller is resting at its top edge (Android only —
12
+ * iOS reads the overscroll directly from contentOffset). */
13
+ isAtTop: () => boolean;
14
+ /** Latest props — a ref so callback identity churn can't re-attach. */
15
+ cfg: {
16
+ current: RefreshConfig;
17
+ };
18
+ }
19
+ export interface RefreshController {
20
+ /** Call when `refreshing` changes — docks/undocks the indicator. */
21
+ sync: () => void;
22
+ detach: () => void;
23
+ }
24
+ /** Pan-driven pull-to-refresh over any NS scrollable (scrollview or
25
+ * listview). Two mechanics, one visual:
26
+ *
27
+ * iOS — UIScrollView's own bounce supplies the content displacement
28
+ * (NS gesture delegates allow simultaneous recognition, so our pan on
29
+ * the scroller observes alongside the scroll pan). The handler reads
30
+ * `contentOffset` for the live gap and docks with
31
+ * `contentInset.top += H` — the exact mechanics UIRefreshControl uses.
32
+ *
33
+ * Android — there is no overscroll; the scroller box itself is
34
+ * translated inside the clipping wrapper while the damped drag
35
+ * accumulates. Docking holds the translate at H. Edge glow is disabled
36
+ * (OVER_SCROLL_NEVER) so no OS chrome leaks into the pixels.
37
+ *
38
+ * Releasing past `threshold` fires `onRefresh` once per pull and holds
39
+ * the docked gap; the controlled `refreshing` prop keeps it docked.
40
+ * A short grace window collapses the dock if `refreshing` never comes —
41
+ * props land a render after `onRefresh` fires. */
42
+ export declare function createPullToRefresh(host: RefreshHost): RefreshController;
@@ -0,0 +1,23 @@
1
+ export interface RefreshConfig {
2
+ onRefresh?: () => void;
3
+ refreshing?: boolean;
4
+ threshold?: number;
5
+ }
6
+ export interface RefreshController {
7
+ /** Call when `refreshing` changes — docks/undocks the indicator. */
8
+ sync: () => void;
9
+ detach: () => void;
10
+ }
11
+ /** Pointer/touch-driven pull-to-refresh for the DOM leaf — the web has no
12
+ * native overscroll, so drag distance translates the scroller inside the
13
+ * clipped wrapper while the self-drawn indicator slides into the gap.
14
+ * `touchmove` must be non-passive: `preventDefault` is what keeps the
15
+ * browser from taking the gesture as a scroll (or Chrome's own
16
+ * pull-to-refresh on Android). Mouse drags ride the pointer events. */
17
+ export declare function createPullToRefresh(host: {
18
+ scroller: HTMLElement | null;
19
+ indicator: HTMLElement | null;
20
+ cfg: {
21
+ current: RefreshConfig;
22
+ };
23
+ }): RefreshController;
@@ -0,0 +1,22 @@
1
+ import { RootLayout } from '@nativescript/core';
2
+ /** Called by the Screen leaf's <rootlayout> onLoaded/onUnloaded. */
3
+ export declare function registerRootLayout(rl: RootLayout | undefined | null): void;
4
+ export declare function unregisterRootLayout(rl: RootLayout | undefined | null): void;
5
+ /** The most recently mounted rootlayout — the top of the push stack. For
6
+ * imperative services (toast, sheet) there is no invoking component to
7
+ * walk from; last-mounted is the pushed page when one exists. Caveat: tabs
8
+ * keep visited panes mounted — last is the newest, not the visible tab. */
9
+ export declare function topRootLayout(): RootLayout | undefined;
10
+ /** Resolve the RootLayout enclosing `view` by walking the native parent
11
+ * chain — the screen shell is a RootLayout (Screen), so the first
12
+ * RootLayout ancestor IS the current page's overlay host. Falls back to
13
+ * the top registry entry when the component renders outside any Screen. */
14
+ export declare function rootLayoutFor(view: any): RootLayout | undefined;
15
+ /** Search every registered rootlayout for a view by id — overlays/sheets/
16
+ * toasts land on different rootlayouts depending on which screen's shell
17
+ * mounted last. Unloaded subtrees are skipped: a covered page unloads its
18
+ * views (NativeScript detaches their native recognizers while the JS views
19
+ * stay parented), so an unloaded match is a dead twin that can swallow
20
+ * interaction probes — the live view either doesn't exist here yet or sits
21
+ * under a loaded branch. */
22
+ export declare function findInRootLayouts(id: string): any;
@@ -0,0 +1 @@
1
+ export { RouteHost, screenParamsFor } from './RouteHost.mobile.js';
@@ -0,0 +1,90 @@
1
+ /** Shared route-dir manifest — the file-router half of the nav contract
2
+ * (docs/navigation-notes.md). Apps glob their route dir per platform and
3
+ * pass the module map here; the suffix seam applies to directories the
4
+ * same way it does to imports:
5
+ *
6
+ * // route-manifest.web.ts — generated globs also omit a plain route when
7
+ * // a `.web` twin exists, so native-default modules are never evaluated.
8
+ * const files = import.meta.glob(
9
+ * ['./app/**\/*.{tsrx,tsx}', '!./app/**\/*.mobile.{tsrx,tsx}',
10
+ * '!./app/**\/*.ios.{tsrx,tsx}', '!./app/**\/*.android.{tsrx,tsx}',
11
+ * '!./app/**\/*.macos.{tsrx,tsx}', '!./app/**\/*.windows.{tsrx,tsx}',
12
+ * '!./app/**\/*.linux.{tsrx,tsx}'],
13
+ * { eager: true });
14
+ * export const routes = deriveRouteManifest(files, ['web']);
15
+ *
16
+ * // route-manifest.mobile.ts — excludes *.web.tsrx; prefer by running OS
17
+ * export const routes = deriveRouteManifest(files,
18
+ * Device.os === 'Android' ? ['android', 'mobile'] : ['ios', 'mobile']);
19
+ *
20
+ * Conventions (route dir = `dir`, default 'app'):
21
+ * app/detail.tsrx → route 'detail'
22
+ * app/demo/[id].tsrx → route 'demo/:id' ([param] → :param)
23
+ * app/foo/index.tsrx → 'foo' (index = the dir's own route)
24
+ * app/settings.web.tsrx → 'settings' on web only — `prefer` decides
25
+ * app/_layout.tsrx → layouts[''] — a shell, not a route
26
+ * app/chat/_layout.tsrx → layouts['chat'] — nested shells cataloged
27
+ *
28
+ * `prefer` ranks platform suffixes — a suffix absent from it is another
29
+ * platform's file and is skipped entirely; unsuffixed files are the
30
+ * fallback (rank = prefer.length). Web callers pass ['web']; mobile
31
+ * callers pass the running OS first. */
32
+ import type { Route, RouteManifest, RouteMeta, RouteSpec, RouteSpecSet } from './props.js';
33
+ /** Internal error carrier used by the public `redirect()` helper. Keeping
34
+ * this in the shared route table gives both platform leaves the same guard
35
+ * behavior without importing a platform runtime. */
36
+ export declare class RouteRedirect extends Error {
37
+ readonly route: Route;
38
+ constructor(route: Route);
39
+ }
40
+ export declare function deriveRouteManifest(files: Record<string, any>, prefer: readonly string[], dir?: string): RouteManifest;
41
+ /** Build a manifest from app data rather than the route dir — the
42
+ * programmatic half of the route contract (host frameworks derive specs
43
+ * from their own sources, e.g. `readdirSync` over a content dir). Each
44
+ * spec's `path` uses the route-dir vocabulary; `layouts` keys are path
45
+ * prefixes playing the `_layout` role. Same-name duplicates inside the
46
+ * set keep the later entry with a warn, matching merge precedence. */
47
+ export declare function defineRoutes(input: readonly RouteSpec[] | RouteSpecSet): RouteManifest;
48
+ /** Compose manifests into one — file-derived base plus any number of
49
+ * programmatic sets (`registerRoutes(mergeRouteManifests(fromDir, dynamic))`).
50
+ * Registration order is precedence: on a same-name collision the later
51
+ * manifest's route wins and the loser's loader/beforeLoad/head go with it —
52
+ * a warn fires once per colliding name. `layouts` merge key-wise the same
53
+ * way. `matchRoute` order is rebuilt by specificity after the merge. */
54
+ export declare function mergeRouteManifests(...manifests: RouteManifest[]): RouteManifest;
55
+ /** Match URL path segments against a manifest — returns the winning meta
56
+ * plus extracted params, or null. First hit wins (routes are pre-sorted
57
+ * by specificity). */
58
+ export declare function matchRoute(routes: readonly RouteMeta[], segs: string[]): {
59
+ meta: RouteMeta;
60
+ params: Record<string, unknown>;
61
+ } | null;
62
+ /** Serialize a Route to a URL path (no origin): manifest routes substitute
63
+ * `:param` segments from params (leftover params → query string);
64
+ * non-manifest names keep the legacy `/<stack>/<name>?params` shape. */
65
+ export declare function buildRoutePath(routes: readonly RouteMeta[], r: Route): string;
66
+ /** `?a=1&b=2` → params — shared code carries no URLSearchParams
67
+ * (invariant 4: no DOM globals on the native path). */
68
+ export declare function parseQueryString(qs: string | undefined): Record<string, unknown>;
69
+ /** Full URL or path → canonical path for matching. `https://x/a/b?y` →
70
+ * `/a/b?y`; custom-scheme links keep their host as the first segment —
71
+ * `textcoral://post/5` → `/post/5` (the common app-scheme convention). */
72
+ export declare function linkPath(url: string): string;
73
+ /** Match a URL path+query against the manifest into a Route — the shared
74
+ * half of web's URL parse and native's deep-link handling. Whole-path
75
+ * match wins ('/demo/x' → root 'demo/:id'); a non-matching first segment
76
+ * is the stack prefix ('/demos/demo/x' → stack 'demos'). Unmatched names
77
+ * fall through as literal routes for pre-manifest callers. */
78
+ export declare function matchUrl(routes: readonly RouteMeta[], url: string): Route | null;
79
+ /** Fire a route's `loader` export — prefetch, not a data layer: the
80
+ * screen's own `query$` reads still own the data, this just warms the
81
+ * cache before mount. Sync throws and async rejections warn rather
82
+ * than break navigation. */
83
+ export declare function runLoader(routes: readonly RouteMeta[], r: Route): void;
84
+ /** Layout components wrapping a route name, outermost → innermost —
85
+ * 'chat/room' picks up `app/chat/_layout.tsrx`, 'a/b/c' chains 'a' then
86
+ * 'a/b'. The '' root layout is the app's own shell (entry renders it)
87
+ * and never joins a chain. Leaves apply the chain at render: native
88
+ * wraps each pushed Page's component, web wraps the outlet's resolved
89
+ * element. */
90
+ export declare function layoutChain(layouts: Record<string, any>, name: string): any[];
@@ -0,0 +1,74 @@
1
+ /** Native twin of route.web — same Route contract over Frame/Page stacks.
2
+ * `pushRoute` resolves a stack ('root' = the app's root Frame — an
3
+ * explicit registerStack('root') or, by default, the Frame returned by
4
+ * Application.getRootView(); named stacks come from TabSpec.stack panes
5
+ * or registerStack) and pushes a Page hosting the registered screen —
6
+ * each pushed Page is its own Octane root (decision #9: pages never
7
+ * share context with their presenter). Params land as props; named-stack
8
+ * pushes get `_stack` injected so the screen can popRoute its own stack.
9
+ *
10
+ * Registration contract (the footgun this module exists to defuse):
11
+ * - `registerScreens(table)` once — pushRoute resolves `name` through it.
12
+ * - 'root' needs nothing when the app boots a Frame as its root view
13
+ * (the standard shape); non-Frame roots can't host pushes at all.
14
+ * - named stacks register via `TabSpec.stack` or `registerStack`.
15
+ * Every drop path warns loudly — silent no-ops are how apps ship a
16
+ * default route on native while working fine on web. */
17
+ import type { Route, RouteManifest, RouteMeta, ScreenTable } from './props.js';
18
+ export type { Route } from './props.js';
19
+ /** Register the app's name → screen table (call once, from the shared
20
+ * routes module). Native `pushRoute` resolves `route.name` through it;
21
+ * on web the table feeds `screenFor` for outlets without a
22
+ * `resolveScreen` prop. `manifest` (from deriveRouteManifest) is stored
23
+ * for parity — the web leaf matches URLs through it; native navigation
24
+ * is name+params and only needs the table. */
25
+ export declare function registerScreens(table: ScreenTable, manifest?: RouteMeta[]): void;
26
+ /** One-call registration for route-dir apps — screens + URL patterns +
27
+ * layouts all come from deriveRouteManifest. */
28
+ export declare function registerRoutes(manifest: RouteManifest): void;
29
+ /** Layer a programmatic manifest (from `defineRoutes`) over the registered
30
+ * routes — same-name entries win over the base with a warn, so a host
31
+ * framework can override a file route deliberately. Registered layers
32
+ * survive later registerRoutes re-registration (e.g. routes.gen HMR). */
33
+ export declare function addRoutes(manifest: RouteManifest): void;
34
+ export declare function layoutsForRoute(name: string): any[];
35
+ export declare function screenFor(name: string): ScreenTable[string] | undefined;
36
+ /** Register an Android hardware-back interceptor. Interceptors run
37
+ * most-recent-first (so the topmost mounted screen wins) before the
38
+ * framework's default pop; returning true consumes the press. Returns
39
+ * an unsubscribe. iOS has no hardware back — interceptors simply never
40
+ * fire there. */
41
+ export declare function addBackInterceptor(fn: () => boolean): () => void;
42
+ export declare function redirect(r: Route): never;
43
+ export declare function pushRoute(r: Route): void;
44
+ /** Pop the top page of a stack ('root' default) — or dismiss the top
45
+ * modal if one is open. Quiet no-op at the base page — matching web,
46
+ * where back at the app root is a no-op; loud only when the stack
47
+ * itself doesn't exist. */
48
+ export declare function popRoute(stack?: string): void;
49
+ /** Route stamped on a stack's current page, or null at its base page. */
50
+ export declare function routeFor(stack: string): Route | null;
51
+ /** The top route across stacks — root's current route wins (a root push
52
+ * covers the shell); otherwise the most recently registered named stack
53
+ * showing a pushed page. Native has no boot URL, so this is an
54
+ * approximation of web's "current URL route", not a deep link. */
55
+ export declare function currentRoute(): Route | null;
56
+ /** Named stacks containing routes, including Android's swap-pane stacks. */
57
+ export declare function routeStacks(): string[];
58
+ /** The modal route currently open, if any — parity with the web leaf. */
59
+ export declare function currentModalRoute(): Route | null;
60
+ /** Deep-link entry: normalize a URL (http(s) or app-scheme) to a path,
61
+ * match it against the manifest, push the route. Wire it at boot:
62
+ * `onDeepLink(pushDeepLink)` plus one `consumeInitialUrl()` call. */
63
+ export declare function pushDeepLink(url: string): boolean;
64
+ /** Path-string parity for the web leaf's hrefFor — a canonical
65
+ * /<stack>/<path> rendering of the route (deep-linking consumes it
66
+ * there). Native navigation itself is name+params, not URLs. */
67
+ export declare function hrefFor(r: Route): string;
68
+ export declare function useRoute(stack: string): Route | null;
69
+ /** Whether the selected native stack has a page (or route-owned Android swap
70
+ * entry) that can be popped. The modal root is also a back affordance. */
71
+ export declare function canGoBack(stack?: string): boolean;
72
+ export declare function useCanGoBack(stack?: string): boolean;
73
+ /** The modal route overlaying the shell — parity with the web leaf. */
74
+ export declare function useModalRoute(): Route | null;
@@ -0,0 +1,67 @@
1
+ /** Web route store — the browser half of the nav contract. One linear URL
2
+ * stack; `stack` names the conceptual outlet ('root' covers the app, a
3
+ * named stack is the pane that owns it — parallel stacks map to nested
4
+ * routes). URL shape: /<stack>/<path>?query or /<path>?query for root,
5
+ * where <path> comes from the route-dir manifest — `app/demo/[id].tsrx`
6
+ * pushes as /demo/<id-value>. Names not in the manifest keep the legacy
7
+ * /<name>?params shape. Module-scope like every other store — the pane
8
+ * that owns `stack` subscribes with useRoute(stack) and swaps content.
9
+ *
10
+ * Modal routes (presentation 'modal' — `+modal` route files or a
11
+ * pushRoute override) push a real URL but overlay instead of replacing:
12
+ * `current` keeps the underlying route, `modalRoute` carries the modal.
13
+ * Back (popstate or popRoute) dismisses it. */
14
+ export type { Route } from './props.js';
15
+ import type { Route, RouteManifest, RouteMeta, ScreenTable } from './props.js';
16
+ /** Register the app's name → screen table. On web the table feeds
17
+ * `screenFor` — the fallback outlet resolution in Tabs when no
18
+ * `resolveScreen` prop is given; on native `pushRoute` resolves
19
+ * `route.name` through it. `manifest` (from deriveRouteManifest) enables
20
+ * path-param matching — call once from the shared routes module. */
21
+ export declare function registerScreens(table: ScreenTable, manifest?: RouteMeta[]): void;
22
+ /** One-call registration for route-dir apps — screens + URL patterns +
23
+ * layouts all come from deriveRouteManifest. */
24
+ export declare function registerRoutes(manifest: RouteManifest): void;
25
+ /** Layer a programmatic manifest (from `defineRoutes`) over the registered
26
+ * routes — same-name entries win over the base with a warn, so a host
27
+ * framework can override a file route deliberately. Registered layers
28
+ * survive later registerRoutes re-registration (e.g. routes.gen HMR). */
29
+ export declare function addRoutes(manifest: RouteManifest): void;
30
+ export declare function screenFor(name: string): ScreenTable[string] | undefined;
31
+ /** Directory layouts wrapping a route, outermost → innermost — outlets
32
+ * wrap their resolved element with these (`_layout.tsrx` files). */
33
+ export declare function layoutsFor(name: string): any[];
34
+ export { layoutsFor as layoutsForRoute };
35
+ export declare function redirect(r: Route): never;
36
+ export declare function pushRoute(r: Route): void;
37
+ /** Web history is one linear stack — back pops whatever route is current;
38
+ * per-stack pops aren't expressible, so `stack` is accepted for parity
39
+ * and ignored. A pushed modal is the top entry, so back dismisses it. */
40
+ export declare function popRoute(_stack?: string): void;
41
+ /** No-op twin of the native leaf. Browser back is already real history —
42
+ * there is no hardware-back event to intercept on web, so registered
43
+ * interceptors never fire. Warns once so a mistaken call site isn't
44
+ * silently absent. */
45
+ export declare function addBackInterceptor(_fn: () => boolean): () => void;
46
+ /** Current route if it targets `stack`, else null. */
47
+ export declare function routeFor(stack: string): Route | null;
48
+ /** Web has one linear browser history; expose its active route stack for parity. */
49
+ export declare function routeStacks(): string[];
50
+ /** The route active at boot — for deep-link tab selection. */
51
+ export declare function currentRoute(): Route | null;
52
+ /** The modal route overlaying the current one, if any. */
53
+ export declare function currentModalRoute(): Route | null;
54
+ /** Deep-link entry, web half — the URL *is* the route state, so this is a
55
+ * plain pushRoute of the matched path (parity with the native leaf, where
56
+ * apps wire `onDeepLink(pushDeepLink)`). */
57
+ export declare function pushDeepLink(url: string): boolean;
58
+ /** URL for a Route — Link's href and shareable-path helper. */
59
+ export declare function hrefFor(r: Route): string;
60
+ export declare function useRoute(stack: string): Route | null;
61
+ /** Whether the selected conceptual stack has an in-app route to pop. A
62
+ * browser's pre-app history is intentionally not counted. */
63
+ export declare function canGoBack(stack?: string): boolean;
64
+ export declare function useCanGoBack(stack?: string): boolean;
65
+ /** The modal route overlaying the shell — outlets render it above their
66
+ * normal content (URL preserved underneath). */
67
+ export declare function useModalRoute(): Route | null;
@@ -0,0 +1,8 @@
1
+ export interface SafeAreaInsets {
2
+ top: number;
3
+ right: number;
4
+ bottom: number;
5
+ left: number;
6
+ }
7
+ /** Reads the root view's insets; Android and pre-attachment reads may be zero. */
8
+ export declare function useSafeAreaInsets(): SafeAreaInsets;
@@ -0,0 +1,8 @@
1
+ export interface SafeAreaInsets {
2
+ top: number;
3
+ right: number;
4
+ bottom: number;
5
+ left: number;
6
+ }
7
+ /** Approximate CSS safe-area values, measured on mount and viewport resize. */
8
+ export declare function useSafeAreaInsets(): SafeAreaInsets;
@@ -0,0 +1,23 @@
1
+ export interface SheetDetentsController {
2
+ /** Slide the panel in from below the screen edge — call once the host
3
+ * is inside the RootLayout (the RootLayout open call replaces the
4
+ * built-in enter/exit animation, which would fight detent offsets:
5
+ * it always animates translateY to 0). */
6
+ enter: () => void;
7
+ detach: () => void;
8
+ }
9
+ /** Drag-to-snap detents on a RootLayout sheet host: a self-drawn grabber
10
+ * strip (top-aligned grid child — the only drag target, so it never
11
+ * fights inner scrolling) drives the host's translateY; the host is
12
+ * sized to the largest detent and parked at the offset for the current
13
+ * one. `closeNow` fires after the dismiss slide-out — the caller decides
14
+ * what closing means (declarative `onDismiss` via RootLayout 'closed',
15
+ * or the `openSheet` resolution).
16
+ *
17
+ * In-window on native: the OS detent presentations
18
+ * (UISheetPresentationController / BottomSheetBehavior via
19
+ * BottomSheetDialogFragment) host a modal VC or a separate dialog
20
+ * window — a different surface contract than the RootLayout child this
21
+ * sheet is (UIModal/MaterialDialog own the modal path), so the snap
22
+ * mechanics are self-drawn and identical to the web leaf. */
23
+ export declare function attachSheetDetents(host: any, detents: readonly number[], closeNow: () => void): SheetDetentsController;
@@ -0,0 +1,13 @@
1
+ export interface SheetDetentsController {
2
+ detach: () => void;
3
+ }
4
+ /** Drag-to-snap detents on a `.vx-sheet` panel: a self-drawn grabber strip
5
+ * (the only drag target — it never fights inner scrolling) drives the
6
+ * panel's translateY; the panel is sized to the largest detent and parked
7
+ * at the offset for the current one. `closeNow` fires after the dismiss
8
+ * slide-out — the caller decides what closing means (declarative
9
+ * `onDismiss` or the `openSheet` resolution). In-window on every target —
10
+ * the OS detent presentations (UISheetPresentationController /
11
+ * BottomSheetDialog) host a modal VC/dialog window, not a RootLayout
12
+ * child, so the snap mechanics stay self-drawn for pixel parity. */
13
+ export declare function attachSheetDetents(panel: HTMLElement, detents: readonly number[], closeNow: () => void): SheetDetentsController;
@@ -0,0 +1,11 @@
1
+ import { GridLayout } from '@nativescript/core';
2
+ import type { ModalOpenResult, OpenSheet } from './props.js';
3
+ /** The most recently opened sheet's host view — for harness asserts (view
4
+ * identity beats tree search; the owning rootlayout may unload/reload). */
5
+ export declare function sheetHost(): GridLayout | null;
6
+ /** Close the most recently opened sheet (resolve with `result`). */
7
+ export declare function closeSheet(result?: ModalOpenResult): void;
8
+ /** Imperative in-window sheet: a dedicated Octane root on a bottom-docked
9
+ * GridLayout host opened on the CURRENT rootlayout (topRootLayout — the
10
+ * service has no declaring view). Resolves when the sheet closes. */
11
+ export declare const openSheet: OpenSheet;
@@ -0,0 +1,6 @@
1
+ import type { ModalOpenResult, OpenSheet } from './props.js';
2
+ /** Close the most recently opened sheet (resolve with `result`). */
3
+ export declare function closeSheet(result?: ModalOpenResult): void;
4
+ /** Imperative in-window sheet: portal layer at document root, bottom-
5
+ * anchored panel, dedicated Octane root. Resolves when the sheet closes. */
6
+ export declare const openSheet: OpenSheet;
@@ -0,0 +1,18 @@
1
+ /** Detent math shared by the web/native sheet-detents attachments.
2
+ * Detents are viewport-height fractions; the panel is sized to the
3
+ * largest detent and parked at the translateY offset for the current
4
+ * one, so a snap is just a transform write — no layout thrash. */
5
+ /** Downward/upward finger speed (px/s web, dip/s native) that overrides
6
+ * nearest-detent snapping — a fling snaps one detent in its direction. */
7
+ export declare const DETENT_FLICK_VELOCITY = 500;
8
+ /** Sorted, filtered, deduped detent fractions. Empty → the caller keeps
9
+ * the content-sized sheet behavior (detents off). */
10
+ export declare function normalizeDetents(input?: readonly number[]): number[];
11
+ /** Resting translateY for a detent: the panel is `max * vh` tall, so the
12
+ * portion below the screen edge is `(max - detent) * vh`. */
13
+ export declare function detentOffset(detents: readonly number[], index: number, vh: number): number;
14
+ /** Snap target for a release at translateY `ty` with vertical velocity
15
+ * `vy` (positive = dragging down). Returns the detent index, or -1 to
16
+ * dismiss: released below half of the smallest detent, or a downward
17
+ * fling while at/below it. */
18
+ export declare function snapDetentIndex(ty: number, vy: number, detents: readonly number[], vh: number): number;
@@ -0,0 +1,9 @@
1
+ import { Frame } from '@nativescript/core';
2
+ export declare function registerStack(name: string, frame: Frame): void;
3
+ export declare function getStack(name: string): Frame | undefined;
4
+ /** All registered stacks in registration order — for hardware-back
5
+ * resolution (pop whichever stack is visibly on top). */
6
+ export declare function stackEntries(): IterableIterator<[string, Frame]>;
7
+ /** Internal: route.native attaches frame listeners as stacks appear —
8
+ * named frames can register after a useRoute subscription ran. */
9
+ export declare function onStackRegistered(cb: (name: string, frame: Frame) => void): void;
@@ -0,0 +1,4 @@
1
+ /** Web twin — one linear URL stack; named stacks don't apply. */
2
+ export declare function registerStack(_name: string, _frame: unknown): void;
3
+ export declare function getStack(_name: string): undefined;
4
+ export declare function stackEntries(): IterableIterator<[string, never]>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Module-scope store — the shared-state primitive for this stack.
3
+ *
4
+ * Why it exists: the universal (native) renderer RETAINS child components
5
+ * whose props are shallow-unchanged when a parent re-renders — their render
6
+ * functions do not re-run, so a bare `store.get()` in a child stays stale
7
+ * (the DOM renderer re-invokes them, React-style). The portable rule is:
8
+ * every component that reads shared state subscribes to it. The renderer-owned
9
+ * `use-store` leaves implement that subscription; this file is the hook-free
10
+ * half, so plain `.ts` is correct.
11
+ */
12
+ import type { Store } from './props.js';
13
+ export type { ReadableStore, Store } from './props.js';
14
+ export declare function createStore<T>(initial: T): Store<T>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * styled() — decision #7, Tamagui-shaped but CSS-backed. base/variants are
3
+ * class strings composed into className; the leaf decides what those classes
4
+ * mean per platform.
5
+ *
6
+ * const DangerBtn = styled(Pressable, { base: 'btn', variants: { danger: 'bg-danger' } });
7
+ * <DangerBtn danger /> → className=['btn','bg-danger']
8
+ *
9
+ * Universal constraint (Exp 16): component elements require the
10
+ * compiler-stamped UNIVERSAL_COMPONENT mark and JSX/`@{ }` only lowers at
11
+ * module level — so a component factory can't be authored with JSX. This
12
+ * leaf stamps the mark itself via defineUniversalComponent and returns
13
+ * universalComponent(...) elements directly. If upstream exposes a blessed
14
+ * factory path, switch to it (driver-level fix candidate). */
15
+ export declare function styled<P extends {
16
+ className?: any;
17
+ }, V extends Record<string, any>>(Base: (props: P) => any, def: {
18
+ base?: any;
19
+ variants?: V;
20
+ }): import("@nativescript-community/octane").UniversalComponent<P & { [K in keyof V]?: boolean | undefined; }>;
@@ -0,0 +1,10 @@
1
+ /** @jsxImportSource octane */
2
+ /**
3
+ * styled() — decision #7. Web side: DOM codegen lowers JSX in nested
4
+ * functions fine, so the factory is a plain component. */
5
+ export declare function styled<P extends {
6
+ className?: any;
7
+ }, V extends Record<string, any>>(Base: (props: P) => any, def: {
8
+ base?: any;
9
+ variants?: V;
10
+ }): (props: P & { [K in keyof V]?: boolean; }) => import("octane/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { SVGView } from './vendor/ui-svg/index.js';
2
+ import type { IconGlyph } from './props.js';
3
+ declare module '@nativescript-community/octane/intrinsics' {
4
+ interface NativeScriptElements {
5
+ svgview: Omit<Attributes<typeof SVGView>, 'src'> & {
6
+ /** SVGView awaits promise srcs — remote .svg URLs arrive as fetched markup. */
7
+ src?: string | Promise<string>;
8
+ stretch?: 'none' | 'fill' | 'aspectFit' | 'aspectFill';
9
+ };
10
+ }
11
+ }
12
+ /** True when an `src` carries SVG: inline markup, an svg data URI, or an
13
+ * .svg path/URL. Anything else stays on the raster <image> path. */
14
+ export declare function isSvgSrc(src: string): boolean;
15
+ /** Normalize an svg-shaped src into SVGView's grammar: file/resource paths and
16
+ * markup pass through, data URIs decode to markup, remote URLs fetch to
17
+ * markup (SVGView has no fetch of its own — it awaits promise srcs). */
18
+ export declare function svgSource(src: string): string | Promise<string>;
19
+ /** IconGlyph → a full `<svg>` string for SVGView. `svg` path data gets a
20
+ * `<path>` with the requested fill; `markup` wraps inside a viewBox shell
21
+ * with `color`/`fill` set on the root so `currentColor` and default-fill
22
+ * children pick up the tint. */
23
+ export declare function glyphSvgMarkup(glyph: IconGlyph, color?: string): string | undefined;
@@ -0,0 +1,16 @@
1
+ /** Tap-outside-to-blur: iOS keeps a focused UITextField/UITextView as first
2
+ * responder until something else takes it, so a tap on blank chrome never
3
+ * dismisses the keyboard on its own.
4
+ *
5
+ * iOS: a single window-level UITapGestureRecognizer (ref-counted across
6
+ * attach calls) sees every touch in the app window — popups/sheets included —
7
+ * where a recognizer on an intermediate container proved unreliable. On each
8
+ * tap we hit-test and resign first responder unless the hit view is an
9
+ * editable text view (otherwise the field would focus-then-blur in the same
10
+ * tap — recognizers fire on touch-up, after the field's touch-down focus).
11
+ * Keyboard taps live in a separate UIWindow, so they never reach it.
12
+ * `cancelsTouchesInView` stays false so taps still reach buttons.
13
+ *
14
+ * Android: hides the soft keyboard from the currently focused view when a
15
+ * tap lands on the attached container. */
16
+ export declare function attachTapToBlur(view: any): () => void;
@@ -0,0 +1,9 @@
1
+ /** Controlled `text` write for TextInput/TextArea leaves. The driver's
2
+ * generic prop path writes view.text verbatim; on Android the EditText
3
+ * setText resets the cursor to 0 on every controlled write. Park and
4
+ * restore the selection around the write (clamped to the new length so an
5
+ * append-shrink can't throw). iOS keeps the plain write — UITextField's
6
+ * text setter preserves the selected text range already.
7
+ * Returns without writing when the value already matches — the textChange
8
+ * echo of the user's own typing must not bounce back through setText. */
9
+ export declare function writeText(view: any, value: string | undefined | null): void;
@@ -0,0 +1,6 @@
1
+ export type { ColorScheme } from '../props.js';
2
+ import type { ColorScheme } from '../props.js';
3
+ export declare function getColorScheme(): ColorScheme;
4
+ export declare function subscribeSystemScheme(cb: () => void): () => void;
5
+ /** Reactive system appearance — 'light' | 'dark', re-renders on OS change. */
6
+ export declare function useColorScheme(): ColorScheme;
@@ -0,0 +1,5 @@
1
+ export type { ColorScheme } from '../props.js';
2
+ import type { ColorScheme } from '../props.js';
3
+ export declare function getColorScheme(): ColorScheme;
4
+ export declare function subscribeSystemScheme(cb: () => void): () => void;
5
+ export declare function useColorScheme(): ColorScheme;
@@ -0,0 +1,5 @@
1
+ export type { ColorScheme } from '../props.js';
2
+ import type { ColorScheme } from '../props.js';
3
+ export declare function getColorScheme(): ColorScheme;
4
+ export declare function subscribeSystemScheme(cb: () => void): () => void;
5
+ export declare function useColorScheme(): ColorScheme;
@@ -0,0 +1,20 @@
1
+ export type ThemePreference = 'light' | 'dark' | 'system';
2
+ /** App-level theme override. 'system' clears the override and follows the OS. */
3
+ export declare function setThemePreference(p: ThemePreference): void;
4
+ export declare function getThemePreference(): ThemePreference;
5
+ /** The effective scheme: explicit override if set, else system appearance. */
6
+ export declare function getThemeScheme(): 'light' | 'dark';
7
+ /** Reactive effective scheme — re-renders on override or OS change. */
8
+ export declare function useThemeScheme(): 'light' | 'dark';
9
+ /** Class string to stamp on independently-mounted roots (portal hosts,
10
+ * overlay/sheet/modal/toast containers): 'ns-dark dark' when effective
11
+ * dark, '' otherwise. Both names because tokens.css publishes both
12
+ * selectors and hosts may render either vocabulary. */
13
+ export declare function themeSchemeClasses(): string;
14
+ /** Subscribe imperative hosts to effective-scheme changes; returns an
15
+ * unsubscribe. Use for hosts that live outside any render cycle. */
16
+ export declare function onThemeSchemeChange(cb: () => void): () => void;
17
+ /** Stamp `base + themeSchemeClasses()` onto an imperative host (NS view or
18
+ * DOM element) and keep it live — returns an unsubscribe to call when the
19
+ * host closes. Works on both leaves since both honor `.className`. */
20
+ export declare function applyThemeClasses(view: any, base: string): () => void;
@@ -0,0 +1,4 @@
1
+ import type { ToastContent, ToastOptions } from './props.js';
2
+ /** FIFO queue. Anchored options use Popover; unanchored options use the
3
+ * RootLayout with top/bottom start/end alignment. */
4
+ export declare function showToast(content: ToastContent, options?: ToastOptions): void;
@@ -0,0 +1,4 @@
1
+ import type { ToastContent, ToastOptions } from './props.js';
2
+ /** FIFO queue. `anchor` uses the same portal positioning as Popover; without
3
+ * one, top/bottom and their start/end alignment variants use the viewport. */
4
+ export declare function showToast(content: ToastContent, options?: ToastOptions): void;
@@ -0,0 +1,8 @@
1
+ /** Per-element transform composition for imperative writes. The DOM has a
2
+ * single `transform` string where native has discrete view props, so web
3
+ * keeps the last-written value per transform prop and re-joins them —
4
+ * an AnimatedValue on `rotate` and a setTranslate drag on the same
5
+ * element don't clobber each other. */
6
+ /** Write one transform prop without disturbing the element's other
7
+ * transform components (or its stylesheet/base transform). */
8
+ export declare function writeTransformProp(el: HTMLElement, prop: string, value: number): void;