@octane-xplat/ui 0.6.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 (776) hide show
  1. package/README.md +14 -4
  2. package/dist/native/{Absolute.native.tsrx.js → Absolute.tsrx.js} +2 -2
  3. package/dist/native/{Accordion.native.tsrx.js → Accordion.tsrx.js} +3 -3
  4. package/dist/native/{ActivityIndicator.native.tsrx.js → ActivityIndicator.tsrx.js} +2 -2
  5. package/dist/native/{Alert.native.tsrx.js → Alert.tsrx.js} +3 -3
  6. package/dist/native/{Avatar.native.tsrx.js → Avatar.tsrx.js} +3 -3
  7. package/dist/native/{AvatarGroup.native.tsrx.js → AvatarGroup.tsrx.js} +3 -3
  8. package/dist/native/{Badge.native.tsrx.js → Badge.tsrx.js} +2 -2
  9. package/dist/native/{Banner.native.tsrx.js → Banner.tsrx.js} +3 -3
  10. package/dist/native/{Breadcrumb.native.tsrx.js → Breadcrumb.tsrx.js} +2 -2
  11. package/dist/native/{Button.native.tsrx.js → Button.tsrx.js} +3 -3
  12. package/dist/native/{Card.native.tsrx.js → Card.tsrx.js} +2 -2
  13. package/dist/native/{Checkbox.native.tsrx.js → Checkbox.tsrx.js} +2 -2
  14. package/dist/native/{CheckboxGroup.native.tsrx.js → CheckboxGroup.tsrx.js} +3 -3
  15. package/dist/native/{Chip.native.tsrx.js → Chip.tsrx.js} +2 -2
  16. package/dist/native/{Collapsible.native.tsrx.js → Collapsible.tsrx.js} +3 -3
  17. package/dist/native/{CommandPalette.native.tsrx.js → CommandPalette.tsrx.js} +4 -4
  18. package/dist/native/{ContextMenu.native.tsrx.js → ContextMenu.tsrx.js} +4 -4
  19. package/dist/native/{Drawer.native.tsrx.js → Drawer.tsrx.js} +2 -2
  20. package/dist/native/{DropdownMenu.native.tsrx.js → DropdownMenu.tsrx.js} +5 -5
  21. package/dist/native/{Empty.native.tsrx.js → Empty.tsrx.js} +3 -3
  22. package/dist/native/{FieldGroup.native.tsrx.js → FieldGroup.tsrx.js} +2 -2
  23. package/dist/native/{FormField.native.tsrx.js → FormField.tsrx.js} +2 -2
  24. package/dist/native/{Grid.native.tsrx.js → Grid.tsrx.js} +2 -2
  25. package/dist/native/{Heading.native.tsrx.js → Heading.tsrx.js} +3 -3
  26. package/dist/native/Hoverable.tsrx.js +139 -0
  27. package/dist/native/{Icon.native.tsrx.js → Icon.tsrx.js} +3 -3
  28. package/dist/native/{Image.native.tsrx.js → Image.tsrx.js} +4 -4
  29. package/dist/native/{InputNumber.native.tsrx.js → InputNumber.tsrx.js} +4 -4
  30. package/dist/native/{InputRating.native.tsrx.js → InputRating.tsrx.js} +3 -3
  31. package/dist/native/{InputTags.native.tsrx.js → InputTags.tsrx.js} +4 -4
  32. package/dist/native/{Kbd.native.tsrx.js → Kbd.tsrx.js} +2 -2
  33. package/dist/native/{KeyboardAvoiding.native.tsrx.js → KeyboardAvoiding.mobile.tsrx.js} +5 -3
  34. package/dist/native/{Link.native.tsrx.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/{NavLink.native.tsrx.js → NavLink.tsrx.js} +3 -3
  38. package/dist/native/{NavigationMenu.native.tsrx.js → NavigationMenu.tsrx.js} +3 -3
  39. package/dist/native/{Overlay.native.tsrx.js → Overlay.tsrx.js} +2 -2
  40. package/dist/native/{Pagination.native.tsrx.js → Pagination.tsrx.js} +2 -2
  41. package/dist/native/{PinInput.native.tsrx.js → PinInput.tsrx.js} +3 -3
  42. package/dist/native/{Popover.native.tsrx.js → Popover.tsrx.js} +4 -4
  43. package/dist/native/{Pressable.native.tsrx.js → Pressable.tsrx.js} +4 -4
  44. package/dist/native/{ProgressGroup.native.tsrx.js → ProgressGroup.tsrx.js} +3 -3
  45. package/dist/native/{RadioGroup.native.tsrx.js → RadioGroup.tsrx.js} +2 -2
  46. package/dist/native/{RichText.native.tsrx.js → RichText.tsrx.js} +3 -3
  47. package/dist/native/{RouteHost.native.tsrx.js → RouteHost.mobile.tsrx.js} +13 -2
  48. package/dist/native/{Row.native.tsrx.js → Row.tsrx.js} +4 -4
  49. package/dist/native/{SafeArea.native.tsrx.js → SafeArea.tsrx.js} +9 -3
  50. package/dist/native/{Screen.native.tsrx.js → Screen.tsrx.js} +13 -5
  51. package/dist/native/{ScrollBox.native.tsrx.js → ScrollBox.tsrx.js} +2 -2
  52. package/dist/native/{ScrollView.native.tsrx.js → ScrollView.tsrx.js} +5 -5
  53. package/dist/native/{SearchInput.native.tsrx.js → SearchInput.tsrx.js} +4 -4
  54. package/dist/native/{SegmentedControl.native.tsrx.js → SegmentedControl.tsrx.js} +2 -2
  55. package/dist/native/{Select.native.tsrx.js → Select.tsrx.js} +4 -4
  56. package/dist/native/{Separator.native.tsrx.js → Separator.tsrx.js} +2 -2
  57. package/dist/native/{Sheet.native.tsrx.js → Sheet.tsrx.js} +11 -3
  58. package/dist/native/{Skeleton.native.tsrx.js → Skeleton.tsrx.js} +2 -2
  59. package/dist/native/{Slider.native.tsrx.js → Slider.tsrx.js} +5 -5
  60. package/dist/native/{Spacer.native.tsrx.js → Spacer.tsrx.js} +2 -2
  61. package/dist/native/{Stack.native.tsrx.js → Stack.tsrx.js} +2 -2
  62. package/dist/native/{Stepper.native.tsrx.js → Stepper.tsrx.js} +2 -2
  63. package/dist/native/{Switch.native.tsrx.js → Switch.tsrx.js} +2 -2
  64. package/dist/native/{Table.native.tsrx.js → Table.tsrx.js} +2 -2
  65. package/dist/native/{Tabs.native.tsrx.js → Tabs.tsrx.js} +8 -18
  66. package/dist/native/{Text.native.tsrx.js → Text.tsrx.js} +3 -3
  67. package/dist/native/{TextArea.native.tsrx.js → TextArea.tsrx.js} +3 -3
  68. package/dist/native/{TextInput.native.tsrx.js → TextInput.tsrx.js} +3 -3
  69. package/dist/native/{Timeline.native.tsrx.js → Timeline.tsrx.js} +3 -3
  70. package/dist/native/Tooltip.tsrx.js +131 -0
  71. package/dist/native/{Tree.native.tsrx.js → Tree.tsrx.js} +2 -2
  72. package/dist/native/{User.native.tsrx.js → User.tsrx.js} +3 -3
  73. package/dist/native/{View.native.tsrx.js → View.tsrx.js} +4 -4
  74. package/dist/native/VirtualList.tsrx.js +466 -0
  75. package/dist/native/{WebView.native.tsrx.js → WebView.tsrx.js} +31 -6
  76. package/dist/native/{aliases.native.tsrx.js → aliases.tsrx.js} +2 -2
  77. package/dist/native/android/BottomNavigationView.android.tsrx.js +72 -23
  78. package/dist/native/android/CircularProgressIndicator.android.tsrx.js +1 -1
  79. package/dist/native/android/DrawerLayout.android.tsrx.js +2 -1
  80. package/dist/native/android/MaterialDialog.android.tsrx.js +1 -1
  81. package/dist/native/android/MaterialSwitch.android.tsrx.js +1 -1
  82. package/dist/native/android/RecyclerView.android.tsrx.js +15 -3
  83. package/dist/native/android/SeekBar.android.tsrx.js +1 -1
  84. package/dist/native/android/icon.android.js +7 -0
  85. package/dist/native/android/index.js +3 -1
  86. package/dist/native/android/openModal.android.js +1 -1
  87. package/dist/native/{anim.native.tsrx.js → anim.tsrx.js} +1 -1
  88. package/dist/native/apply-native-modifiers.native.js +9 -0
  89. package/dist/native/{escape-props.native.js → escape-props.js} +3 -1
  90. package/dist/native/index.shared.js +92 -0
  91. package/dist/native/ios/LiquidGlass.ios.tsrx.js +2 -2
  92. package/dist/native/ios/LiquidGlassContainer.ios.tsrx.js +2 -2
  93. package/dist/native/ios/SideDrawer.ios.tsrx.js +2 -1
  94. package/dist/native/ios/UIActivityIndicatorView.ios.tsrx.js +1 -1
  95. package/dist/native/ios/UIModal.ios.tsrx.js +1 -1
  96. package/dist/native/ios/UISlider.ios.tsrx.js +1 -1
  97. package/dist/native/ios/UISwitch.ios.tsrx.js +1 -1
  98. package/dist/native/ios/UITabBar.ios.tsrx.js +33 -12
  99. package/dist/native/ios/UITableView.ios.tsrx.js +15 -3
  100. package/dist/native/ios/icon.ios.js +7 -0
  101. package/dist/native/ios/index.js +3 -1
  102. package/dist/native/ios/openModal.ios.js +1 -1
  103. package/dist/native/keyboard-inset.mobile.js +66 -0
  104. package/dist/native/{layout-child.native.js → layout-child.js} +1 -1
  105. package/dist/native/{modal-presenter.native.js → modal-presenter.mobile.js} +1 -1
  106. package/dist/native/modifier-factories.js +24 -0
  107. package/dist/native/native/index.js +3 -3
  108. package/dist/native/octane-client-build.json +1 -1
  109. package/dist/native/{pan.native.tsrx.js → pan.tsrx.js} +1 -1
  110. package/dist/native/{platform.native.js → platform.js} +3 -3
  111. package/dist/native/{platformProps.native.js → platformProps.js} +3 -1
  112. package/dist/native/{refresh.native.js → refresh.js} +1 -1
  113. package/dist/native/{root-layout.native.js → root-layout.mobile.js} +2 -2
  114. package/dist/native/route-host.mobile.js +2 -0
  115. package/dist/native/route-table.js +105 -4
  116. package/dist/native/{route.native.js → route.js} +49 -13
  117. package/dist/native/safeAreaInsets.tsrx.js +67 -0
  118. package/dist/native/shared.js +93 -0
  119. package/dist/native/{sheet-detents.native.js → sheet-detents.js} +1 -1
  120. package/dist/native/{sheet-service.native.js → sheet-service.js} +9 -3
  121. package/dist/native/{stacks.native.js → stacks.js} +1 -1
  122. package/dist/native/{styled.native.tsrx.js → styled.tsrx.js} +1 -1
  123. package/dist/native/{svg.native.js → svg.mobile.js} +2 -2
  124. package/dist/native/tap-to-blur.mobile.js +94 -0
  125. package/dist/native/{text-write.native.js → text-write.js} +1 -1
  126. package/dist/native/theme/{colorScheme.native.js → colorScheme.js} +2 -2
  127. package/dist/native/theme/{status-bar-scheme.native.js → status-bar-scheme.mobile.js} +1 -1
  128. package/dist/native/theme/theme-scheme.js +2 -2
  129. package/dist/native/{toast-anchor.native.tsrx.js → toast-anchor.tsrx.js} +3 -3
  130. package/dist/native/{translate.native.js → translate.js} +1 -1
  131. package/dist/native/ui.js +92 -90
  132. package/dist/native/{use-back.native.tsrx.js → use-back.tsrx.js} +2 -2
  133. package/dist/native/{use-store.native.tsrx.js → use-store.tsrx.js} +1 -1
  134. package/dist/native/{useMeasure.native.tsrx.js → useMeasure.tsrx.js} +1 -1
  135. package/dist/native/vendor/ui-svg/index.android.js +137 -0
  136. package/dist/native/vendor/ui-svg/index.common.js +10 -0
  137. package/dist/native/vendor/ui-svg/index.ios.js +111 -0
  138. package/dist/native/virtual-list-layout.js +146 -0
  139. package/dist/native/{windows.native.js → windows.js} +1 -1
  140. package/dist/web/{web/Hoverable.web.tsrx.js → Hoverable.web.tsrx.js} +7 -6
  141. package/dist/web/ListItem.web.tsrx.js +139 -0
  142. package/dist/web/SafeArea.web.tsrx.js +9 -3
  143. package/dist/web/Tabs.web.tsrx.js +88 -44
  144. package/dist/web/{web/Tooltip.web.tsrx.js → Tooltip.web.tsrx.js} +7 -6
  145. package/dist/web/VirtualList.web.tsrx.js +622 -0
  146. package/dist/web/WebView.web.tsrx.js +42 -5
  147. package/dist/web/index.shared.web.js +92 -0
  148. package/dist/web/octane-client-build.json +1 -1
  149. package/dist/web/platform.web.js +1 -1
  150. package/dist/web/route-table.js +105 -4
  151. package/dist/web/route.web.js +36 -11
  152. package/dist/web/ui.js +10 -8
  153. package/dist/web/virtual-list-layout.js +146 -0
  154. package/dist/web/web/index.js +2 -2
  155. package/package.json +35 -23
  156. package/platforms/android/include.gradle +8 -0
  157. package/platforms/android/native-api-usage.json +8 -0
  158. package/platforms/ios/Podfile +2 -0
  159. package/src/Absolute.tsrx +22 -0
  160. package/src/Absolute.web.tsrx +22 -0
  161. package/src/Accordion.macos.tsrx +50 -0
  162. package/src/Accordion.tsrx +50 -0
  163. package/src/Accordion.web.tsrx +43 -0
  164. package/src/ActivityIndicator.tsrx +29 -0
  165. package/src/ActivityIndicator.web.tsrx +14 -0
  166. package/src/Alert.macos.tsrx +42 -0
  167. package/src/Alert.tsrx +24 -0
  168. package/src/Alert.web.tsrx +23 -0
  169. package/src/Avatar.macos.tsrx +25 -0
  170. package/src/Avatar.tsrx +25 -0
  171. package/src/Avatar.web.tsrx +24 -0
  172. package/src/AvatarGroup.macos.tsrx +32 -0
  173. package/src/AvatarGroup.tsrx +32 -0
  174. package/src/AvatarGroup.web.tsrx +29 -0
  175. package/src/Badge.macos.tsrx +12 -0
  176. package/src/Badge.tsrx +12 -0
  177. package/src/Badge.web.tsrx +10 -0
  178. package/src/Banner.macos.tsrx +20 -0
  179. package/src/Banner.tsrx +20 -0
  180. package/src/Banner.web.tsrx +20 -0
  181. package/src/Breadcrumb.macos.tsrx +27 -0
  182. package/src/Breadcrumb.tsrx +27 -0
  183. package/src/Breadcrumb.web.tsrx +25 -0
  184. package/src/Button.tsrx +23 -0
  185. package/src/Button.web.tsrx +21 -0
  186. package/src/CameraView.macos.tsrx +6 -0
  187. package/src/Card.macos.tsrx +13 -0
  188. package/src/Card.tsrx +13 -0
  189. package/src/Card.web.tsrx +11 -0
  190. package/src/Checkbox.tsrx +23 -0
  191. package/src/Checkbox.web.tsrx +34 -0
  192. package/src/CheckboxGroup.macos.tsrx +39 -0
  193. package/src/CheckboxGroup.tsrx +39 -0
  194. package/src/CheckboxGroup.web.tsrx +38 -0
  195. package/src/Chip.macos.tsrx +25 -0
  196. package/src/Chip.tsrx +25 -0
  197. package/src/Chip.web.tsrx +25 -0
  198. package/src/Collapsible.macos.tsrx +39 -0
  199. package/src/Collapsible.tsrx +39 -0
  200. package/src/Collapsible.web.tsrx +33 -0
  201. package/src/CommandPalette.macos.tsrx +58 -0
  202. package/src/CommandPalette.tsrx +58 -0
  203. package/src/CommandPalette.web.tsrx +59 -0
  204. package/src/ContextMenu.macos.tsrx +59 -0
  205. package/src/ContextMenu.tsrx +59 -0
  206. package/src/ContextMenu.web.tsrx +69 -0
  207. package/src/Drawer.macos.tsrx +28 -0
  208. package/src/Drawer.tsrx +25 -0
  209. package/src/Drawer.web.tsrx +31 -0
  210. package/src/DropdownMenu.macos.tsrx +63 -0
  211. package/src/DropdownMenu.tsrx +63 -0
  212. package/src/DropdownMenu.web.tsrx +78 -0
  213. package/src/Empty.macos.tsrx +15 -0
  214. package/src/Empty.tsrx +15 -0
  215. package/src/Empty.web.tsrx +13 -0
  216. package/src/FieldGroup.macos.tsrx +17 -0
  217. package/src/FieldGroup.tsrx +17 -0
  218. package/src/FieldGroup.web.tsrx +17 -0
  219. package/src/FormField.macos.tsrx +25 -0
  220. package/src/FormField.tsrx +25 -0
  221. package/src/FormField.web.tsrx +24 -0
  222. package/src/Grid.tsrx +32 -0
  223. package/src/Grid.web.tsrx +43 -0
  224. package/src/Heading.macos.tsrx +8 -0
  225. package/src/Heading.tsrx +17 -0
  226. package/src/Heading.web.tsrx +15 -0
  227. package/src/Hoverable.mobile.tsrx +21 -0
  228. package/src/Hoverable.tsrx +113 -0
  229. package/src/Hoverable.web.tsrx +98 -0
  230. package/src/Icon.macos.tsrx +18 -0
  231. package/src/Icon.tsrx +65 -0
  232. package/src/Icon.web.tsrx +75 -0
  233. package/src/Image.macos.tsrx +12 -0
  234. package/src/Image.tsrx +51 -0
  235. package/src/Image.web.tsrx +14 -0
  236. package/src/InputNumber.macos.tsrx +49 -0
  237. package/src/InputNumber.tsrx +49 -0
  238. package/src/InputNumber.web.tsrx +47 -0
  239. package/src/InputRating.macos.tsrx +42 -0
  240. package/src/InputRating.tsrx +39 -0
  241. package/src/InputRating.web.tsrx +52 -0
  242. package/src/InputTags.macos.tsrx +49 -0
  243. package/src/InputTags.tsrx +49 -0
  244. package/src/InputTags.web.tsrx +49 -0
  245. package/src/Kbd.macos.tsrx +11 -0
  246. package/src/Kbd.tsrx +11 -0
  247. package/src/Kbd.web.tsrx +9 -0
  248. package/src/KeyboardAvoiding.macos.tsrx +8 -0
  249. package/src/KeyboardAvoiding.mobile.tsrx +63 -0
  250. package/src/Link.macos.tsrx +15 -0
  251. package/src/Link.tsrx +10 -0
  252. package/src/Link.web.tsrx +12 -0
  253. package/src/ListItem.macos.tsrx +52 -0
  254. package/src/ListItem.tsrx +52 -0
  255. package/src/ListItem.web.tsrx +50 -0
  256. package/src/Meter.macos.tsrx +8 -0
  257. package/src/Meter.tsrx +45 -0
  258. package/src/Meter.web.tsrx +32 -0
  259. package/src/NavLink.macos.tsrx +24 -0
  260. package/src/NavLink.tsrx +22 -0
  261. package/src/NavLink.web.tsrx +23 -0
  262. package/src/NavigationMenu.macos.tsrx +31 -0
  263. package/src/NavigationMenu.tsrx +28 -0
  264. package/src/NavigationMenu.web.tsrx +31 -0
  265. package/src/Overlay.macos.tsrx +11 -0
  266. package/src/Overlay.tsrx +84 -0
  267. package/src/Overlay.web.tsrx +23 -0
  268. package/src/Pagination.macos.tsrx +54 -0
  269. package/src/Pagination.tsrx +47 -0
  270. package/src/Pagination.web.tsrx +50 -0
  271. package/src/PinInput.macos.tsrx +46 -0
  272. package/src/PinInput.tsrx +46 -0
  273. package/src/PinInput.web.tsrx +45 -0
  274. package/src/Popover.macos.tsrx +11 -0
  275. package/src/Popover.tsrx +157 -0
  276. package/src/Popover.web.tsrx +109 -0
  277. package/src/Pressable.macos.tsrx +19 -0
  278. package/src/Pressable.tsrx +37 -0
  279. package/src/Pressable.web.tsrx +45 -0
  280. package/src/ProgressGroup.macos.tsrx +17 -0
  281. package/src/ProgressGroup.tsrx +17 -0
  282. package/src/ProgressGroup.web.tsrx +15 -0
  283. package/src/RadioGroup.macos.tsrx +50 -0
  284. package/src/RadioGroup.tsrx +34 -0
  285. package/src/RadioGroup.web.tsrx +43 -0
  286. package/src/RichText.tsrx +40 -0
  287. package/src/RichText.web.tsrx +24 -0
  288. package/src/RouteHost.macos.tsrx +18 -0
  289. package/src/RouteHost.mobile.tsrx +44 -0
  290. package/src/Row.macos.tsrx +26 -0
  291. package/src/Row.tsrx +27 -0
  292. package/src/Row.web.tsrx +27 -0
  293. package/src/SafeArea.macos.tsrx +8 -0
  294. package/src/SafeArea.tsrx +20 -0
  295. package/src/SafeArea.web.tsrx +24 -0
  296. package/src/Screen.macos.tsrx +14 -0
  297. package/src/Screen.tsrx +31 -0
  298. package/src/Screen.web.tsrx +7 -0
  299. package/src/ScrollBox.tsrx +8 -0
  300. package/src/ScrollBox.web.tsrx +7 -0
  301. package/src/ScrollView.macos.tsrx +19 -0
  302. package/src/ScrollView.tsrx +117 -0
  303. package/src/ScrollView.web.tsrx +109 -0
  304. package/src/SearchInput.tsrx +60 -0
  305. package/src/SearchInput.web.test.tsrx +58 -0
  306. package/src/SearchInput.web.tsrx +55 -0
  307. package/src/SegmentedControl.tsrx +43 -0
  308. package/src/SegmentedControl.web.test.tsrx +46 -0
  309. package/src/SegmentedControl.web.tsrx +51 -0
  310. package/src/Select.macos.tsrx +104 -0
  311. package/src/Select.tsrx +104 -0
  312. package/src/Select.web.tsrx +124 -0
  313. package/src/Separator.macos.tsrx +17 -0
  314. package/src/Separator.tsrx +17 -0
  315. package/src/Separator.web.tsrx +17 -0
  316. package/src/Sheet.macos.tsrx +15 -0
  317. package/src/Sheet.tsrx +122 -0
  318. package/src/Sheet.web.tsrx +56 -0
  319. package/src/Skeleton.macos.tsrx +15 -0
  320. package/src/Skeleton.tsrx +15 -0
  321. package/src/Skeleton.web.tsrx +15 -0
  322. package/src/Slider.tsrx +71 -0
  323. package/src/Slider.web.tsrx +60 -0
  324. package/src/Spacer.tsrx +8 -0
  325. package/src/Spacer.web.tsrx +6 -0
  326. package/src/Stack.tsrx +24 -0
  327. package/src/Stack.web.tsrx +22 -0
  328. package/src/Stepper.macos.tsrx +52 -0
  329. package/src/Stepper.tsrx +31 -0
  330. package/src/Stepper.web.tsrx +37 -0
  331. package/src/Switch.tsrx +21 -0
  332. package/src/Switch.web.tsrx +28 -0
  333. package/src/Table.macos.tsrx +37 -0
  334. package/src/Table.tsrx +37 -0
  335. package/src/Table.web.tsrx +37 -0
  336. package/src/Tabs.macos.tsrx +60 -0
  337. package/src/Tabs.tsrx +55 -0
  338. package/src/Tabs.web.tsrx +98 -0
  339. package/src/Text.macos.tsrx +18 -0
  340. package/src/Text.tsrx +62 -0
  341. package/src/Text.web.tsrx +31 -0
  342. package/src/TextArea.tsrx +65 -0
  343. package/src/TextArea.web.tsrx +61 -0
  344. package/src/TextInput.tsrx +39 -0
  345. package/src/TextInput.web.tsrx +28 -0
  346. package/src/Timeline.macos.tsrx +27 -0
  347. package/src/Timeline.tsrx +24 -0
  348. package/src/Timeline.web.tsrx +22 -0
  349. package/src/Tooltip.mobile.tsrx +20 -0
  350. package/src/Tooltip.tsrx +102 -0
  351. package/src/Tooltip.web.tsrx +156 -0
  352. package/src/Tree.macos.tsrx +45 -0
  353. package/src/Tree.tsrx +45 -0
  354. package/src/Tree.web.tsrx +52 -0
  355. package/src/User.macos.tsrx +24 -0
  356. package/src/User.tsrx +24 -0
  357. package/src/User.web.tsrx +24 -0
  358. package/src/View.macos.tsrx +29 -0
  359. package/src/View.tsrx +32 -0
  360. package/src/View.web.tsrx +33 -0
  361. package/src/VirtualList.macos.tsrx +298 -0
  362. package/src/VirtualList.tsrx +358 -0
  363. package/src/VirtualList.web.tsrx +313 -0
  364. package/src/WebView.macos.tsrx +6 -0
  365. package/src/WebView.tsrx +89 -0
  366. package/src/WebView.web.tsrx +92 -0
  367. package/src/aliases.macos.tsrx +18 -0
  368. package/src/aliases.tsrx +18 -0
  369. package/src/aliases.web.tsrx +17 -0
  370. package/src/android/BottomNavigationView.android.tsrx +170 -0
  371. package/src/android/CircularProgressIndicator.android.tsrx +19 -0
  372. package/src/android/DrawerLayout.android.tsrx +48 -0
  373. package/src/android/MaterialDialog.android.tsrx +62 -0
  374. package/src/android/MaterialSwitch.android.tsrx +18 -0
  375. package/src/android/RecyclerView.android.tsrx +173 -0
  376. package/src/android/SeekBar.android.tsrx +20 -0
  377. package/src/android/icon.android.ts +8 -0
  378. package/src/android/index.ts +37 -0
  379. package/src/android/openModal.android.ts +55 -0
  380. package/src/anim.macos.tsrx +20 -0
  381. package/src/anim.tsrx +65 -0
  382. package/src/anim.web.tsrx +55 -0
  383. package/src/apply-native-modifiers.native.ts +13 -0
  384. package/src/camera-permission.web.ts +11 -0
  385. package/src/child-array.ts +16 -0
  386. package/src/colorScheme.macos.ts +27 -0
  387. package/src/controls.macos.tsrx +171 -0
  388. package/src/cx.ts +8 -0
  389. package/src/escape-props.macos.ts +11 -0
  390. package/src/escape-props.ts +70 -0
  391. package/src/escape-props.web.ts +25 -0
  392. package/src/hosted-unsupported.macos.tsrx +9 -0
  393. package/src/icons.ts +60 -0
  394. package/src/index.linux.ts +10 -0
  395. package/src/index.macos.ts +106 -0
  396. package/src/index.mobile.ts +6 -0
  397. package/src/index.shared.ts +269 -0
  398. package/src/index.shared.web.ts +270 -0
  399. package/src/index.ts +1 -0
  400. package/src/index.web.ts +1 -0
  401. package/src/ios/LiquidGlass.ios.tsrx +41 -0
  402. package/src/ios/LiquidGlassContainer.ios.tsrx +34 -0
  403. package/src/ios/SideDrawer.ios.tsrx +49 -0
  404. package/src/ios/UIActivityIndicatorView.ios.tsrx +18 -0
  405. package/src/ios/UIModal.ios.tsrx +68 -0
  406. package/src/ios/UISlider.ios.tsrx +20 -0
  407. package/src/ios/UISwitch.ios.tsrx +18 -0
  408. package/src/ios/UITabBar.ios.tsrx +172 -0
  409. package/src/ios/UITableView.ios.tsrx +186 -0
  410. package/src/ios/icon.ios.ts +8 -0
  411. package/src/ios/index.ts +42 -0
  412. package/src/ios/openModal.ios.ts +55 -0
  413. package/src/keyboard-inset.mobile.ts +89 -0
  414. package/src/layout-child.ts +57 -0
  415. package/src/layout-child.web.ts +108 -0
  416. package/src/layout-shells.macos.tsrx +10 -0
  417. package/src/layout.macos.tsrx +41 -0
  418. package/src/macos-extras.macos.tsrx +40 -0
  419. package/src/meter-math.ts +6 -0
  420. package/src/modal-presenter.mobile.ts +24 -0
  421. package/src/modifier-factories.ts +20 -0
  422. package/src/native/index.ts +6 -0
  423. package/src/pan.tsrx +64 -0
  424. package/src/pan.web.tsrx +38 -0
  425. package/src/platform.macos.ts +1 -0
  426. package/src/platform.ts +7 -0
  427. package/src/platform.web.ts +6 -0
  428. package/src/platformProps.ts +23 -0
  429. package/src/platformProps.web.ts +14 -0
  430. package/src/popover-position.ts +62 -0
  431. package/src/popover.mobile.test.ts +54 -0
  432. package/src/props.ts +1812 -0
  433. package/src/references.d.ts +2 -0
  434. package/src/refresh-metrics.ts +11 -0
  435. package/src/refresh.ts +271 -0
  436. package/src/refresh.web.test.ts +111 -0
  437. package/src/refresh.web.ts +205 -0
  438. package/src/root-layout.mobile.ts +89 -0
  439. package/src/route-host.mobile.ts +1 -0
  440. package/src/route-table.test.ts +345 -0
  441. package/src/route-table.ts +585 -0
  442. package/src/route.macos.ts +201 -0
  443. package/src/route.ts +703 -0
  444. package/src/route.web.ts +366 -0
  445. package/src/safeAreaInsets.macos.tsrx +7 -0
  446. package/src/safeAreaInsets.tsrx +60 -0
  447. package/src/safeAreaInsets.web.tsrx +38 -0
  448. package/src/sheet-detents.ts +142 -0
  449. package/src/sheet-detents.web.ts +147 -0
  450. package/src/sheet-service.macos.ts +60 -0
  451. package/src/sheet-service.ts +124 -0
  452. package/src/sheet-service.web.ts +64 -0
  453. package/src/sheet-snap.test.ts +46 -0
  454. package/src/sheet-snap.ts +66 -0
  455. package/src/stacks.macos.ts +13 -0
  456. package/src/stacks.ts +44 -0
  457. package/src/stacks.web.ts +9 -0
  458. package/src/store.mobile.test.ts +149 -0
  459. package/src/store.ts +39 -0
  460. package/src/store.web.test.tsrx +58 -0
  461. package/src/styled.macos.tsrx +23 -0
  462. package/src/styled.test.ts +40 -0
  463. package/src/styled.tsrx +36 -0
  464. package/src/styled.web.tsrx +23 -0
  465. package/src/surfaces.macos.tsrx +27 -0
  466. package/src/svg.mobile.ts +76 -0
  467. package/src/tap-to-blur.mobile.ts +108 -0
  468. package/src/text-controls.macos.tsrx +11 -0
  469. package/src/text-write.ts +28 -0
  470. package/src/text-write.web.ts +13 -0
  471. package/src/theme/colorScheme.linux.ts +52 -0
  472. package/src/theme/colorScheme.ts +26 -0
  473. package/src/theme/colorScheme.web.ts +20 -0
  474. package/src/theme/status-bar-scheme.mobile.ts +39 -0
  475. package/src/theme/theme-scheme.macos.ts +50 -0
  476. package/src/theme/theme-scheme.ts +66 -0
  477. package/src/theme/tokens.css +44 -22
  478. package/src/toast-anchor.macos.tsrx +3 -0
  479. package/src/toast-anchor.tsrx +122 -0
  480. package/src/toast-anchor.web.tsrx +92 -0
  481. package/src/toast.tsrx +90 -0
  482. package/src/toast.web.tsrx +50 -0
  483. package/src/transform.web.ts +52 -0
  484. package/src/translate.macos.ts +5 -0
  485. package/src/translate.ts +13 -0
  486. package/src/translate.web.ts +15 -0
  487. package/src/tsconfig.json +8 -0
  488. package/src/unsupported.macos.tsrx +5 -0
  489. package/src/use-back.tsrx +11 -0
  490. package/src/use-back.web.tsrx +12 -0
  491. package/src/use-store.tsrx +18 -0
  492. package/src/use-store.web.tsrx +18 -0
  493. package/src/useMeasure.macos.tsrx +23 -0
  494. package/src/useMeasure.tsrx +66 -0
  495. package/src/useMeasure.web.tsrx +39 -0
  496. package/src/useStore.macos.tsrx +6 -0
  497. package/src/vendor/ui-svg/LICENSE +201 -0
  498. package/src/vendor/ui-svg/index.android.ts +189 -0
  499. package/src/vendor/ui-svg/index.common.ts +19 -0
  500. package/src/vendor/ui-svg/index.ios.ts +147 -0
  501. package/src/vendor/ui-svg/index.ts +1 -0
  502. package/src/vendor/ui-svg/typings/SVGKit.d.ts +2862 -0
  503. package/src/vendor/ui-svg/typings/android.d.ts +1483 -0
  504. package/src/vendor/ui-svg/typings/ios.d.ts +1511 -0
  505. package/src/virtual-list-layout.test.ts +81 -0
  506. package/src/virtual-list-layout.ts +246 -0
  507. package/src/web/index.ts +11 -0
  508. package/src/windows.linux.ts +59 -0
  509. package/src/windows.macos.ts +10 -0
  510. package/src/windows.ts +7 -0
  511. package/src/windows.web.ts +6 -0
  512. package/types/generated/.tsrx-typegen-manifest.json +250 -0
  513. package/types/generated/Absolute.d.ts +3 -0
  514. package/types/generated/Absolute.web.d.ts +3 -0
  515. package/types/generated/Accordion.d.ts +5 -0
  516. package/types/generated/Accordion.web.d.ts +5 -0
  517. package/types/generated/ActivityIndicator.d.ts +7 -0
  518. package/types/generated/ActivityIndicator.web.d.ts +3 -0
  519. package/types/generated/Alert.d.ts +4 -0
  520. package/types/generated/Alert.web.d.ts +5 -0
  521. package/types/generated/Avatar.d.ts +6 -0
  522. package/types/generated/Avatar.web.d.ts +7 -0
  523. package/types/generated/AvatarGroup.d.ts +6 -0
  524. package/types/generated/AvatarGroup.web.d.ts +6 -0
  525. package/types/generated/Badge.d.ts +5 -0
  526. package/types/generated/Badge.web.d.ts +5 -0
  527. package/types/generated/Banner.d.ts +4 -0
  528. package/types/generated/Banner.web.d.ts +4 -0
  529. package/types/generated/Breadcrumb.d.ts +4 -0
  530. package/types/generated/Breadcrumb.web.d.ts +5 -0
  531. package/types/generated/Button.d.ts +6 -0
  532. package/types/generated/Button.web.d.ts +6 -0
  533. package/types/generated/Card.d.ts +4 -0
  534. package/types/generated/Card.web.d.ts +4 -0
  535. package/types/generated/Checkbox.d.ts +5 -0
  536. package/types/generated/Checkbox.web.d.ts +6 -0
  537. package/types/generated/CheckboxGroup.d.ts +3 -0
  538. package/types/generated/CheckboxGroup.web.d.ts +3 -0
  539. package/types/generated/Chip.d.ts +5 -0
  540. package/types/generated/Chip.web.d.ts +5 -0
  541. package/types/generated/Collapsible.d.ts +5 -0
  542. package/types/generated/Collapsible.web.d.ts +5 -0
  543. package/types/generated/CommandPalette.d.ts +4 -0
  544. package/types/generated/CommandPalette.web.d.ts +4 -0
  545. package/types/generated/ContextMenu.d.ts +5 -0
  546. package/types/generated/ContextMenu.web.d.ts +4 -0
  547. package/types/generated/Drawer.d.ts +7 -0
  548. package/types/generated/Drawer.web.d.ts +7 -0
  549. package/types/generated/DropdownMenu.d.ts +5 -0
  550. package/types/generated/DropdownMenu.web.d.ts +5 -0
  551. package/types/generated/Empty.d.ts +4 -0
  552. package/types/generated/Empty.web.d.ts +4 -0
  553. package/types/generated/FieldGroup.d.ts +4 -0
  554. package/types/generated/FieldGroup.web.d.ts +4 -0
  555. package/types/generated/FormField.d.ts +5 -0
  556. package/types/generated/FormField.web.d.ts +5 -0
  557. package/types/generated/Grid.d.ts +3 -0
  558. package/types/generated/Grid.web.d.ts +3 -0
  559. package/types/generated/Heading.d.ts +2 -0
  560. package/types/generated/Heading.web.d.ts +2 -0
  561. package/types/generated/Hoverable.d.ts +10 -0
  562. package/types/generated/Hoverable.web.d.ts +9 -0
  563. package/types/generated/Icon.d.ts +3 -0
  564. package/types/generated/Icon.web.d.ts +3 -0
  565. package/types/generated/Image.d.ts +7 -0
  566. package/types/generated/Image.web.d.ts +3 -0
  567. package/types/generated/InputNumber.d.ts +5 -0
  568. package/types/generated/InputNumber.web.d.ts +5 -0
  569. package/types/generated/InputRating.d.ts +4 -0
  570. package/types/generated/InputRating.web.d.ts +4 -0
  571. package/types/generated/InputTags.d.ts +4 -0
  572. package/types/generated/InputTags.web.d.ts +5 -0
  573. package/types/generated/Kbd.d.ts +4 -0
  574. package/types/generated/Kbd.web.d.ts +4 -0
  575. package/types/generated/KeyboardAvoiding.mobile.d.ts +2 -0
  576. package/types/generated/Link.d.ts +2 -0
  577. package/types/generated/Link.web.d.ts +3 -0
  578. package/types/generated/ListItem.d.ts +3 -0
  579. package/types/generated/ListItem.web.d.ts +3 -0
  580. package/types/generated/Meter.d.ts +3 -0
  581. package/types/generated/Meter.web.d.ts +3 -0
  582. package/types/generated/NavLink.d.ts +3 -0
  583. package/types/generated/NavLink.web.d.ts +3 -0
  584. package/types/generated/NavigationMenu.d.ts +4 -0
  585. package/types/generated/NavigationMenu.web.d.ts +5 -0
  586. package/types/generated/Overlay.d.ts +3 -0
  587. package/types/generated/Overlay.web.d.ts +3 -0
  588. package/types/generated/Pagination.d.ts +4 -0
  589. package/types/generated/Pagination.web.d.ts +5 -0
  590. package/types/generated/PinInput.d.ts +4 -0
  591. package/types/generated/PinInput.web.d.ts +4 -0
  592. package/types/generated/Popover.d.ts +6 -0
  593. package/types/generated/Popover.web.d.ts +3 -0
  594. package/types/generated/Pressable.d.ts +6 -0
  595. package/types/generated/Pressable.web.d.ts +2 -0
  596. package/types/generated/ProgressGroup.d.ts +3 -0
  597. package/types/generated/ProgressGroup.web.d.ts +4 -0
  598. package/types/generated/RadioGroup.d.ts +5 -0
  599. package/types/generated/RadioGroup.web.d.ts +5 -0
  600. package/types/generated/RichText.d.ts +7 -0
  601. package/types/generated/RichText.web.d.ts +3 -0
  602. package/types/generated/RouteHost.mobile.d.ts +14 -0
  603. package/types/generated/Row.d.ts +2 -0
  604. package/types/generated/Row.web.d.ts +2 -0
  605. package/types/generated/SafeArea.d.ts +2 -0
  606. package/types/generated/SafeArea.web.d.ts +3 -0
  607. package/types/generated/Screen.d.ts +3 -0
  608. package/types/generated/Screen.web.d.ts +3 -0
  609. package/types/generated/ScrollBox.d.ts +3 -0
  610. package/types/generated/ScrollBox.web.d.ts +3 -0
  611. package/types/generated/ScrollView.d.ts +7 -0
  612. package/types/generated/ScrollView.web.d.ts +6 -0
  613. package/types/generated/SearchInput.d.ts +7 -0
  614. package/types/generated/SearchInput.web.d.ts +6 -0
  615. package/types/generated/SegmentedControl.d.ts +7 -0
  616. package/types/generated/SegmentedControl.web.d.ts +6 -0
  617. package/types/generated/Select.d.ts +6 -0
  618. package/types/generated/Select.web.d.ts +6 -0
  619. package/types/generated/Separator.d.ts +5 -0
  620. package/types/generated/Separator.web.d.ts +5 -0
  621. package/types/generated/Sheet.d.ts +5 -0
  622. package/types/generated/Sheet.web.d.ts +7 -0
  623. package/types/generated/Skeleton.d.ts +5 -0
  624. package/types/generated/Skeleton.web.d.ts +6 -0
  625. package/types/generated/Slider.d.ts +6 -0
  626. package/types/generated/Slider.web.d.ts +6 -0
  627. package/types/generated/Spacer.d.ts +3 -0
  628. package/types/generated/Spacer.web.d.ts +3 -0
  629. package/types/generated/Stack.d.ts +3 -0
  630. package/types/generated/Stack.web.d.ts +3 -0
  631. package/types/generated/Stepper.d.ts +4 -0
  632. package/types/generated/Stepper.web.d.ts +5 -0
  633. package/types/generated/Switch.d.ts +7 -0
  634. package/types/generated/Switch.web.d.ts +6 -0
  635. package/types/generated/Table.d.ts +4 -0
  636. package/types/generated/Table.web.d.ts +5 -0
  637. package/types/generated/Tabs.d.ts +10 -0
  638. package/types/generated/Tabs.web.d.ts +6 -0
  639. package/types/generated/Text.d.ts +2 -0
  640. package/types/generated/Text.web.d.ts +2 -0
  641. package/types/generated/TextArea.d.ts +8 -0
  642. package/types/generated/TextArea.web.d.ts +9 -0
  643. package/types/generated/TextInput.d.ts +9 -0
  644. package/types/generated/TextInput.web.d.ts +2 -0
  645. package/types/generated/Timeline.d.ts +3 -0
  646. package/types/generated/Timeline.web.d.ts +4 -0
  647. package/types/generated/Tooltip.d.ts +9 -0
  648. package/types/generated/Tooltip.web.d.ts +12 -0
  649. package/types/generated/Tree.d.ts +4 -0
  650. package/types/generated/Tree.web.d.ts +4 -0
  651. package/types/generated/User.d.ts +5 -0
  652. package/types/generated/User.web.d.ts +5 -0
  653. package/types/generated/View.d.ts +7 -0
  654. package/types/generated/View.web.d.ts +7 -0
  655. package/types/generated/VirtualList.d.ts +5 -0
  656. package/types/generated/VirtualList.web.d.ts +4 -0
  657. package/types/generated/WebView.d.ts +11 -0
  658. package/types/generated/WebView.web.d.ts +5 -0
  659. package/types/generated/aliases.d.ts +7 -0
  660. package/types/generated/aliases.web.d.ts +7 -0
  661. package/types/generated/android/BottomNavigationView.android.d.ts +9 -0
  662. package/types/generated/android/CircularProgressIndicator.android.d.ts +6 -0
  663. package/types/generated/android/DrawerLayout.android.d.ts +12 -0
  664. package/types/generated/android/MaterialDialog.android.d.ts +8 -0
  665. package/types/generated/android/MaterialSwitch.android.d.ts +6 -0
  666. package/types/generated/android/RecyclerView.android.d.ts +14 -0
  667. package/types/generated/android/SeekBar.android.d.ts +5 -0
  668. package/types/generated/android/icon.android.d.ts +5 -0
  669. package/types/generated/android/index.d.ts +12 -0
  670. package/types/generated/android/openModal.android.d.ts +4 -0
  671. package/types/generated/anim.d.ts +10 -0
  672. package/types/generated/anim.web.d.ts +3 -0
  673. package/types/generated/apply-native-modifiers.native.d.ts +3 -0
  674. package/types/generated/child-array.d.ts +3 -0
  675. package/types/generated/cx.d.ts +6 -0
  676. package/types/generated/escape-props.d.ts +16 -0
  677. package/types/generated/icons.d.ts +5 -0
  678. package/types/generated/index.d.ts +1 -0
  679. package/types/generated/index.linux.d.ts +5 -0
  680. package/types/generated/index.mobile.d.ts +4 -0
  681. package/types/generated/index.shared.d.ts +111 -0
  682. package/types/generated/index.shared.web.d.ts +111 -0
  683. package/types/generated/index.web.d.ts +1 -0
  684. package/types/generated/ios/LiquidGlass.ios.d.ts +12 -0
  685. package/types/generated/ios/LiquidGlassContainer.ios.d.ts +13 -0
  686. package/types/generated/ios/SideDrawer.ios.d.ts +12 -0
  687. package/types/generated/ios/UIActivityIndicatorView.ios.d.ts +5 -0
  688. package/types/generated/ios/UIModal.ios.d.ts +7 -0
  689. package/types/generated/ios/UISlider.ios.d.ts +5 -0
  690. package/types/generated/ios/UISwitch.ios.d.ts +6 -0
  691. package/types/generated/ios/UITabBar.ios.d.ts +7 -0
  692. package/types/generated/ios/UITableView.ios.d.ts +14 -0
  693. package/types/generated/ios/icon.ios.d.ts +5 -0
  694. package/types/generated/ios/index.d.ts +14 -0
  695. package/types/generated/ios/openModal.ios.d.ts +4 -0
  696. package/types/generated/keyboard-inset.mobile.d.ts +10 -0
  697. package/types/generated/layout-child.d.ts +6 -0
  698. package/types/generated/layout-child.web.d.ts +15 -0
  699. package/types/generated/meter-math.d.ts +6 -0
  700. package/types/generated/modal-presenter.mobile.d.ts +14 -0
  701. package/types/generated/modifier-factories.d.ts +15 -0
  702. package/types/generated/native/index.d.ts +3 -0
  703. package/types/generated/pan.d.ts +2 -0
  704. package/types/generated/pan.web.d.ts +9 -0
  705. package/types/generated/platform.d.ts +7 -0
  706. package/types/generated/platform.web.d.ts +6 -0
  707. package/types/generated/platformProps.d.ts +7 -0
  708. package/types/generated/platformProps.web.d.ts +2 -0
  709. package/types/generated/popover-position.d.ts +14 -0
  710. package/types/{props.d.ts → generated/props.d.ts} +127 -133
  711. package/types/generated/refresh-metrics.d.ts +8 -0
  712. package/types/generated/refresh.d.ts +42 -0
  713. package/types/generated/refresh.web.d.ts +23 -0
  714. package/types/generated/root-layout.mobile.d.ts +22 -0
  715. package/types/generated/route-host.mobile.d.ts +1 -0
  716. package/types/generated/route-table.d.ts +90 -0
  717. package/types/generated/route.d.ts +74 -0
  718. package/types/generated/route.web.d.ts +67 -0
  719. package/types/generated/safeAreaInsets.d.ts +8 -0
  720. package/types/generated/safeAreaInsets.web.d.ts +8 -0
  721. package/types/generated/sheet-detents.d.ts +23 -0
  722. package/types/generated/sheet-detents.web.d.ts +13 -0
  723. package/types/generated/sheet-service.d.ts +11 -0
  724. package/types/generated/sheet-service.web.d.ts +6 -0
  725. package/types/generated/sheet-snap.d.ts +18 -0
  726. package/types/generated/stacks.d.ts +9 -0
  727. package/types/generated/stacks.web.d.ts +4 -0
  728. package/types/generated/store.d.ts +14 -0
  729. package/types/generated/styled.d.ts +20 -0
  730. package/types/generated/styled.web.d.ts +10 -0
  731. package/types/generated/svg.mobile.d.ts +23 -0
  732. package/types/generated/tap-to-blur.mobile.d.ts +16 -0
  733. package/types/generated/text-write.d.ts +9 -0
  734. package/types/generated/theme/colorScheme.d.ts +6 -0
  735. package/types/generated/theme/colorScheme.linux.d.ts +5 -0
  736. package/types/generated/theme/colorScheme.web.d.ts +5 -0
  737. package/types/generated/theme/status-bar-scheme.mobile.d.ts +1 -0
  738. package/types/generated/theme/theme-scheme.d.ts +20 -0
  739. package/types/generated/toast-anchor.d.ts +4 -0
  740. package/types/generated/toast-anchor.web.d.ts +4 -0
  741. package/types/generated/transform.web.d.ts +8 -0
  742. package/types/generated/translate.d.ts +5 -0
  743. package/types/generated/translate.web.d.ts +6 -0
  744. package/types/generated/use-back.d.ts +6 -0
  745. package/types/generated/use-back.web.d.ts +7 -0
  746. package/types/generated/use-store.d.ts +9 -0
  747. package/types/generated/use-store.web.d.ts +9 -0
  748. package/types/generated/useMeasure.d.ts +3 -0
  749. package/types/generated/useMeasure.web.d.ts +3 -0
  750. package/types/generated/vendor/ui-svg/index.common.d.ts +7 -0
  751. package/types/generated/vendor/ui-svg/index.d.ts +1 -0
  752. package/types/generated/vendor/ui-svg/index.ios.d.ts +13 -0
  753. package/types/generated/virtual-list-layout.d.ts +44 -0
  754. package/types/generated/web/index.d.ts +3 -0
  755. package/types/generated/windows.d.ts +3 -0
  756. package/types/generated/windows.linux.d.ts +15 -0
  757. package/types/generated/windows.web.d.ts +3 -0
  758. package/types/index.macos.d.ts +142 -0
  759. package/dist/native/CameraView.native.tsrx.js +0 -165
  760. package/dist/native/Meter.native.tsrx.js +0 -92
  761. package/dist/native/Pager.native.tsrx.js +0 -282
  762. package/dist/native/Video.native.tsrx.js +0 -248
  763. package/dist/native/camera-permission.native.js +0 -47
  764. package/dist/native/safeAreaInsets.native.tsrx.js +0 -35
  765. package/dist/native/video-chrome.native.tsrx.js +0 -365
  766. package/dist/web/CameraView.web.tsrx.js +0 -310
  767. package/dist/web/Pager.web.tsrx.js +0 -337
  768. package/dist/web/Video.web.tsrx.js +0 -400
  769. package/dist/web/video-chrome.web.tsrx.js +0 -207
  770. package/types/android.d.ts +0 -53
  771. package/types/index.d.ts +0 -273
  772. package/types/index.native.d.ts +0 -273
  773. package/types/index.web.d.ts +0 -272
  774. package/types/ios.d.ts +0 -59
  775. package/types/native.d.ts +0 -5
  776. package/types/web.d.ts +0 -17
@@ -1,6 +1,7 @@
1
1
  import { cx } from "../cx.js";
2
- import { ActivityIndicator } from "../ActivityIndicator.native.tsrx.js";
3
- import { createPullToRefresh } from "../refresh.native.js";
2
+ import { applyEscapeProps } from "../escape-props.js";
3
+ import { ActivityIndicator } from "../ActivityIndicator.tsrx.js";
4
+ import { createPullToRefresh } from "../refresh.js";
4
5
  import { defineUniversalComponent, hookSlots, memo, universalComponent, universalIf, universalPlan, universalProps, universalValue, useEffect, useRef } from "@nativescript-community/octane";
5
6
  import { ScrollView } from "@nativescript/core";
6
7
  //#region src/ios/UITableView.ios.tsrx
@@ -102,6 +103,7 @@ var UITableViewInner = defineUniversalComponent("nativescript", function UITable
102
103
  "ref",
103
104
  (v) => {
104
105
  lv.current = v;
106
+ applyEscapeProps(v, props);
105
107
  }
106
108
  ],
107
109
  [
@@ -147,7 +149,7 @@ var UITableViewInner = defineUniversalComponent("nativescript", function UITable
147
149
  ["spread", props.ios]
148
150
  ])]);
149
151
  }, { "module": "@nativescript-community/octane" });
150
- var MemoListView = memo(UITableViewInner, (a, b) => a.items === b.items && a.className === b.className && a.style === b.style && a.id === b.id && a.estimatedItemHeight === b.estimatedItemHeight && a.onEndReached === b.onEndReached && a.ios === b.ios && a.refresh === b.refresh);
152
+ var MemoListView = memo(UITableViewInner, (a, b) => a.items === b.items && a.className === b.className && a.style === b.style && a.id === b.id && a.estimatedItemHeight === b.estimatedItemHeight && a.onEndReached === b.onEndReached && a.ios === b.ios && a.modifiers === b.modifiers && a.refresh === b.refresh);
151
153
  var UITableView = defineUniversalComponent("nativescript", function UITableView(props) {
152
154
  const refreshCapable = props.onRefresh != null || props.refreshing != null;
153
155
  const cfg = useRef({}, _h$2);
@@ -205,6 +207,11 @@ var UITableView = defineUniversalComponent("nativescript", function UITableView(
205
207
  "ios",
206
208
  props.ios
207
209
  ],
210
+ [
211
+ "set",
212
+ "modifiers",
213
+ props.modifiers
214
+ ],
208
215
  [
209
216
  "set",
210
217
  "refresh",
@@ -259,6 +266,11 @@ var UITableView = defineUniversalComponent("nativescript", function UITableView(
259
266
  "set",
260
267
  "ios",
261
268
  props.ios
269
+ ],
270
+ [
271
+ "set",
272
+ "modifiers",
273
+ props.modifiers
262
274
  ]
263
275
  ]))]);
264
276
  })]);
@@ -0,0 +1,7 @@
1
+ //#region src/ios/icon.ios.ts
2
+ /** Selector for glyphs used by iOS-authentic widgets; the shared root Icon is unchanged. */
3
+ var Icon = { select(choice) {
4
+ return choice.ios.startsWith("sys://") ? choice.ios : `sys://${choice.ios}`;
5
+ } };
6
+ //#endregion
7
+ export { Icon };
@@ -8,4 +8,6 @@ import { openModal } from "./openModal.ios.js";
8
8
  import { SideDrawer } from "./SideDrawer.ios.tsrx.js";
9
9
  import { LiquidGlass } from "./LiquidGlass.ios.tsrx.js";
10
10
  import { LiquidGlassContainer } from "./LiquidGlassContainer.ios.tsrx.js";
11
- export { LiquidGlass, LiquidGlassContainer, SideDrawer, UIActivityIndicatorView, UIModal, UISlider, UISwitch, UITabBar, UITableView, openModal };
11
+ import { Icon } from "./icon.ios.js";
12
+ import { modifier } from "../modifier-factories.js";
13
+ export { Icon, LiquidGlass, LiquidGlassContainer, SideDrawer, UIActivityIndicatorView, UIModal, UISlider, UISwitch, UITabBar, UITableView, modifier, openModal };
@@ -1,5 +1,5 @@
1
1
  import { applyThemeClasses } from "../theme/theme-scheme.js";
2
- import { modalPresenter } from "../modal-presenter.native.js";
2
+ import { modalPresenter } from "../modal-presenter.mobile.js";
3
3
  import { createNativeScriptRoot } from "@nativescript-community/octane";
4
4
  import { Frame, GridLayout } from "@nativescript/core";
5
5
  //#region src/ios/openModal.ios.ts
@@ -0,0 +1,66 @@
1
+ import { Application } from "@nativescript/core";
2
+ //#region src/keyboard-inset.mobile.ts
3
+ var bound = /* @__PURE__ */ new Set();
4
+ var inset = 0;
5
+ var wired = false;
6
+ var apply = () => {
7
+ bound.forEach((host) => {
8
+ host.translateY = -inset;
9
+ });
10
+ };
11
+ var wireIos = () => {
12
+ if (wired) return;
13
+ wired = true;
14
+ NSNotificationCenter.defaultCenter.addObserverForNameObjectQueueUsingBlock(UIKeyboardWillChangeFrameNotification, null, NSOperationQueue.mainQueue, (note) => {
15
+ const raw = note.userInfo.objectForKey(UIKeyboardFrameEndUserInfoKey);
16
+ const boxed = raw?.CGRectValue;
17
+ const frame = typeof boxed === "function" ? raw.CGRectValue() : boxed ?? raw;
18
+ inset = Math.max(0, UIScreen.mainScreen.bounds.size.height - (frame?.origin?.y ?? UIScreen.mainScreen.bounds.size.height));
19
+ apply();
20
+ });
21
+ };
22
+ /** Lift a bottom-anchored overlay host above the software keyboard.
23
+ * iOS: a shared UIKeyboardWillChangeFrame observer tracks the inset and
24
+ * translateY shifts the host — reliable on popup views regardless of how
25
+ * the RootLayout passes margins through. The current inset is applied at
26
+ * bind time so hosts opened over an already-visible keyboard still lift.
27
+ * Android: when the window runs `adjustResize` (KeyboardAvoiding sets it)
28
+ * the RootLayout resizes and the host follows on its own; otherwise the
29
+ * decor view's IME inset supplies the lift. Returns an unbind that
30
+ * restores the transform — call it when the host detaches. */
31
+ function bindBottomInsetToKeyboard(host) {
32
+ if (Application.ios) {
33
+ wireIos();
34
+ bound.add(host);
35
+ host.translateY = -inset;
36
+ return () => {
37
+ bound.delete(host);
38
+ host.translateY = 0;
39
+ };
40
+ }
41
+ if (Application.android) {
42
+ const nativeWindow = Application.android.foregroundActivity?.window;
43
+ if (!nativeWindow) return () => {};
44
+ const params = globalThis.android?.view?.WindowManager?.LayoutParams;
45
+ if (!params) return () => {};
46
+ if ((nativeWindow.attributes.softInputMode & params.SOFT_INPUT_MASK_ADJUST) === params.SOFT_INPUT_ADJUST_RESIZE) return () => {};
47
+ const ViewCompat = globalThis.androidx?.core?.view?.ViewCompat;
48
+ const WindowInsetsCompat = globalThis.androidx?.core?.view?.WindowInsetsCompat;
49
+ if (!ViewCompat || !WindowInsetsCompat) return () => {};
50
+ const decorView = nativeWindow.decorView;
51
+ const listener = new ViewCompat.OnApplyWindowInsetsListener({ onApplyWindowInsets: (v, insets) => {
52
+ const ime = insets.getInsets(WindowInsetsCompat.Type.ime()).bottom;
53
+ const nav = insets.getInsets(WindowInsetsCompat.Type.systemBars()).bottom;
54
+ host.translateY = -Math.max(0, ime - nav);
55
+ return insets;
56
+ } });
57
+ ViewCompat.setOnApplyWindowInsetsListener(decorView, listener);
58
+ return () => {
59
+ host.translateY = 0;
60
+ ViewCompat.setOnApplyWindowInsetsListener(decorView, null);
61
+ };
62
+ }
63
+ return () => {};
64
+ }
65
+ //#endregion
66
+ export { bindBottomInsetToKeyboard };
@@ -1,4 +1,4 @@
1
- //#region src/layout-child.native.ts
1
+ //#region src/layout-child.ts
2
2
  var FLEX_JUSTIFY = {
3
3
  start: "flex-start",
4
4
  end: "flex-end"
@@ -1,4 +1,4 @@
1
- //#region src/modal-presenter.native.ts
1
+ //#region src/modal-presenter.mobile.ts
2
2
  /** Resolve the view `showModal` should present from: the frame's current
3
3
  * page while it's live, else the frame itself. During push/pop churn
4
4
  * `currentPage` can still point at a page that already left the window —
@@ -0,0 +1,24 @@
1
+ //#region src/modifier-factories.ts
2
+ var style = (values) => ({
3
+ type: "style",
4
+ values
5
+ });
6
+ /** Serializable modifier factories for the platform-authentic UI subpaths. */
7
+ var modifier = {
8
+ background: (color) => style({ backgroundColor: color }),
9
+ cornerRadius: (radius) => style({ borderRadius: radius }),
10
+ opacity: (value) => style({ opacity: value }),
11
+ padding: (value) => style({ padding: value }),
12
+ frame: (width, height) => style({
13
+ width,
14
+ height
15
+ }),
16
+ style,
17
+ nativeProperty: (name, value) => ({
18
+ type: "property",
19
+ name,
20
+ value
21
+ })
22
+ };
23
+ //#endregion
24
+ export { modifier };
@@ -1,4 +1,4 @@
1
- import { findInRootLayouts, rootLayoutFor, topRootLayout } from "../root-layout.native.js";
2
- import { layoutsForRoute } from "../route.native.js";
3
- import { sheetHost } from "../sheet-service.native.js";
1
+ import { findInRootLayouts, rootLayoutFor, topRootLayout } from "../root-layout.mobile.js";
2
+ import { layoutsForRoute } from "../route.js";
3
+ import { sheetHost } from "../sheet-service.js";
4
4
  export { findInRootLayouts, layoutsForRoute, rootLayoutFor, sheetHost, topRootLayout };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "buildId": "29582229-3893-4486-bd72-49102bb0634c",
3
+ "buildId": "b28db075-a347-4f50-bc15-416a0351d4e3",
4
4
  "mode": "production",
5
5
  "capabilities": {
6
6
  "independentHydration": false
@@ -1,6 +1,6 @@
1
1
  import { hookSlots, useCallback, useRef } from "@nativescript-community/octane";
2
2
  import { Utils } from "@nativescript/core";
3
- //#region src/pan.native.tsrx
3
+ //#region src/pan.tsrx
4
4
  var _hs$ = /* @__PURE__ */ hookSlots(2);
5
5
  var _h$0 = /* @__PURE__ */ Symbol(_hs$);
6
6
  var _h$1 = /* @__PURE__ */ Symbol(_hs$ + 1);
@@ -1,10 +1,10 @@
1
- //#region src/platform.native.ts
1
+ //#region src/platform.ts
2
2
  /** Compile-time platform flag — `true` in every NativeScript build.
3
- * Prefer `.web`/`.native` leaves for real divergence; `isNative` covers
3
+ * Prefer `.web`/unsuffixed native defaults leaves for real divergence; `isNative` covers
4
4
  * the render-time cases (conditional JSX, prop selection) where a whole
5
5
  * leaf file is heavier than the difference. For OS-level splits use
6
6
  * `.ios`/`.android` leaves or `isIOS`/`isAndroid` from @nativescript/core
7
- * inside `.native` code. */
7
+ * inside native-default code. */
8
8
  var isNative = true;
9
9
  //#endregion
10
10
  export { isNative };
@@ -1,10 +1,12 @@
1
+ import { applyNativeModifiers } from "./apply-native-modifiers.native.js";
1
2
  import { isAndroid, isIOS } from "@nativescript/core";
2
- //#region src/platformProps.native.ts
3
+ //#region src/platformProps.ts
3
4
  /** Apply the matching native escape-hatch bag after the primitive's props. */
4
5
  function applyNativeProps(el, props) {
5
6
  if (!el) return;
6
7
  const bag = isIOS ? props.ios : isAndroid ? props.android : void 0;
7
8
  if (bag) Object.assign(el, bag);
9
+ applyNativeModifiers(el, props.modifiers);
8
10
  }
9
11
  //#endregion
10
12
  export { applyNativeProps };
@@ -1,6 +1,6 @@
1
1
  import { dampenPull } from "./refresh-metrics.js";
2
2
  import { isIOS } from "@nativescript/core";
3
- //#region src/refresh.native.ts
3
+ //#region src/refresh.ts
4
4
  var PAN_ENDED = /* @__PURE__ */ new Set([0, 3]);
5
5
  var DOCK_ANIM_MS = 180;
6
6
  function makeInsets(top, left, bottom, right) {
@@ -1,5 +1,5 @@
1
1
  import { RootLayout, getRootLayout } from "@nativescript/core";
2
- //#region src/root-layout.native.ts
2
+ //#region src/root-layout.mobile.ts
3
3
  var registry = [];
4
4
  /** Called by the Screen leaf's <rootlayout> onLoaded/onUnloaded. */
5
5
  function registerRootLayout(rl) {
@@ -17,7 +17,7 @@ function topRootLayout() {
17
17
  return registry[registry.length - 1] ?? getRootLayout();
18
18
  }
19
19
  /** Resolve the RootLayout enclosing `view` by walking the native parent
20
- * chain — the screen shell is a RootLayout (Screen.native), so the first
20
+ * chain — the screen shell is a RootLayout (Screen), so the first
21
21
  * RootLayout ancestor IS the current page's overlay host. Falls back to
22
22
  * the top registry entry when the component renders outside any Screen. */
23
23
  function rootLayoutFor(view) {
@@ -0,0 +1,2 @@
1
+ import { RouteHost, screenParamsFor } from "./RouteHost.mobile.tsrx.js";
2
+ export { RouteHost, screenParamsFor };
@@ -1,13 +1,12 @@
1
1
  //#region src/route-table.ts
2
2
  var EXT = /\.(tsrx|tsx|ts|mts|cts|js|mjs|cjs|jsx)$/;
3
- var SUFFIX = /\.(web|native|ios|android)$/;
3
+ var SUFFIX = /\.(web|mobile|ios|android|macos|windows|linux)$/;
4
4
  var PARAM = /^\[(.+)\]$/;
5
5
  var PRESENT = /\+(modal|fade|push)$/;
6
6
  /** Internal error carrier used by the public `redirect()` helper. Keeping
7
7
  * this in the shared route table gives both platform leaves the same guard
8
8
  * behavior without importing a platform runtime. */
9
9
  var RouteRedirect = class extends Error {
10
- route;
11
10
  constructor(route) {
12
11
  super("route redirect");
13
12
  this.route = route;
@@ -102,7 +101,109 @@ function deriveRouteManifest(files, prefer, dir = "app") {
102
101
  routes.push(meta);
103
102
  if (meta.loader) loaders[meta.name] = meta.loader;
104
103
  }
105
- routes.sort((a, b) => b.segments.reduce((n, s) => n + (s.startsWith(":") ? 1 : 2), 0) - a.segments.reduce((n, s) => n + (s.startsWith(":") ? 1 : 2), 0) || a.name.localeCompare(b.name));
104
+ routes.sort(bySpecificity);
105
+ return {
106
+ screens,
107
+ routes,
108
+ layouts,
109
+ loaders
110
+ };
111
+ }
112
+ /** Match-order comparator: static segments (2) outrank params (1), ties
113
+ * break alphabetically so ordering is total and stable across merges. */
114
+ function bySpecificity(a, b) {
115
+ return b.segments.reduce((n, s) => n + (s.startsWith(":") ? 1 : 2), 0) - a.segments.reduce((n, s) => n + (s.startsWith(":") ? 1 : 2), 0) || a.name.localeCompare(b.name);
116
+ }
117
+ /** Normalize a programmatic `path` into manifest segments using the
118
+ * route-dir vocabulary: `'docs/[slug]'` and `'docs/:slug'` are the same
119
+ * pattern, a trailing `index` drops, `''`/`'index'` name the root route. */
120
+ function specSegments(path) {
121
+ const segs = path.split("/").filter(Boolean).map((s) => {
122
+ const p = PARAM.exec(s);
123
+ return p ? ":" + p[1] : s;
124
+ });
125
+ if (segs[segs.length - 1] === "index") segs.pop();
126
+ return segs;
127
+ }
128
+ var mergeWarned = /* @__PURE__ */ new Set();
129
+ /** Build a manifest from app data rather than the route dir — the
130
+ * programmatic half of the route contract (host frameworks derive specs
131
+ * from their own sources, e.g. `readdirSync` over a content dir). Each
132
+ * spec's `path` uses the route-dir vocabulary; `layouts` keys are path
133
+ * prefixes playing the `_layout` role. Same-name duplicates inside the
134
+ * set keep the later entry with a warn, matching merge precedence. */
135
+ function defineRoutes(input) {
136
+ const set = Array.isArray(input) ? { routes: input } : input;
137
+ const specs = set.routes;
138
+ const extra = set.layouts;
139
+ const screens = {};
140
+ const layouts = {};
141
+ const metas = /* @__PURE__ */ new Map();
142
+ const warned = /* @__PURE__ */ new Set();
143
+ for (const [key, layout] of Object.entries(extra ?? {})) {
144
+ const dir = key.replace(/^\/+|\/+$/g, "");
145
+ if (dir !== key) console.warn(`[octane-xplat] layout key '${key}' normalized to '${dir}'`);
146
+ layouts[dir] = layout;
147
+ }
148
+ for (const spec of specs) {
149
+ const segments = specSegments(spec.path);
150
+ const name = segments.join("/") || "index";
151
+ const meta = {
152
+ name,
153
+ segments,
154
+ params: segments.filter((s) => s.startsWith(":")).map((s) => s.slice(1)),
155
+ file: spec.source ?? `programmatic:${spec.path}`,
156
+ presentation: spec.presentation
157
+ };
158
+ if (spec.loader) meta.loader = spec.loader;
159
+ if (spec.beforeLoad) meta.beforeLoad = spec.beforeLoad;
160
+ if (spec.head) meta.head = spec.head;
161
+ if (metas.has(name) && !warned.has(name)) {
162
+ warned.add(name);
163
+ console.warn(`[octane-xplat] route '${name}' is defined twice — keeping the later spec (${meta.file})`);
164
+ }
165
+ if (typeof spec.screen !== "function") {
166
+ console.warn(`[octane-xplat] route '${name}' has no component — 'screen' must be a component function, not a module`);
167
+ continue;
168
+ }
169
+ metas.set(name, meta);
170
+ screens[name] = spec.screen;
171
+ }
172
+ const routes = [...metas.values()].sort(bySpecificity);
173
+ const loaders = {};
174
+ for (const meta of routes) if (meta.loader) loaders[meta.name] = meta.loader;
175
+ return {
176
+ screens,
177
+ routes,
178
+ layouts,
179
+ loaders
180
+ };
181
+ }
182
+ /** Compose manifests into one — file-derived base plus any number of
183
+ * programmatic sets (`registerRoutes(mergeRouteManifests(fromDir, dynamic))`).
184
+ * Registration order is precedence: on a same-name collision the later
185
+ * manifest's route wins and the loser's loader/beforeLoad/head go with it —
186
+ * a warn fires once per colliding name. `layouts` merge key-wise the same
187
+ * way. `matchRoute` order is rebuilt by specificity after the merge. */
188
+ function mergeRouteManifests(...manifests) {
189
+ const screens = {};
190
+ const layouts = {};
191
+ const winners = /* @__PURE__ */ new Map();
192
+ for (const m of manifests) {
193
+ Object.assign(layouts, m.layouts);
194
+ Object.assign(screens, m.screens);
195
+ for (const meta of m.routes) {
196
+ const prev = winners.get(meta.name);
197
+ if (prev && !mergeWarned.has(meta.name)) {
198
+ mergeWarned.add(meta.name);
199
+ console.warn(`[octane-xplat] route '${meta.name}' is defined by both ${prev.file} and ${meta.file} — keeping ${meta.file}`);
200
+ }
201
+ winners.set(meta.name, meta);
202
+ }
203
+ }
204
+ const routes = [...winners.values()].sort(bySpecificity);
205
+ const loaders = {};
206
+ for (const meta of routes) if (meta.loader) loaders[meta.name] = meta.loader;
106
207
  return {
107
208
  screens,
108
209
  routes,
@@ -246,4 +347,4 @@ function layoutChain(layouts, name) {
246
347
  return chain;
247
348
  }
248
349
  //#endregion
249
- export { RouteRedirect, buildRoutePath, deriveRouteManifest, layoutChain, linkPath, matchRoute, matchUrl, parseQueryString };
350
+ export { RouteRedirect, buildRoutePath, defineRoutes, deriveRouteManifest, layoutChain, linkPath, matchRoute, matchUrl, mergeRouteManifests, parseQueryString };
@@ -1,11 +1,12 @@
1
- import { getStack, onStackRegistered, stackEntries } from "./stacks.native.js";
2
- import { RouteRedirect, buildRoutePath, layoutChain, linkPath, matchUrl } from "./route-table.js";
3
- import { RouteHost } from "./RouteHost.native.tsrx.js";
4
- import { modalPresenter } from "./modal-presenter.native.js";
1
+ import { getStack, onStackRegistered, stackEntries } from "./stacks.js";
2
+ import { RouteRedirect, buildRoutePath, layoutChain, linkPath, matchUrl, mergeRouteManifests } from "./route-table.js";
3
+ import { RouteHost } from "./RouteHost.mobile.tsrx.js";
4
+ import "./route-host.mobile.js";
5
+ import { modalPresenter } from "./modal-presenter.mobile.js";
5
6
  import { createNativeScriptRoot } from "@nativescript-community/octane";
6
7
  import { Application, GridLayout, Page } from "@nativescript/core";
7
- import { hookSlots as hookSlots$1, useSyncExternalStore as useSyncExternalStore$1 } from "octane";
8
- //#region src/route.native.ts
8
+ import { hookSlots as hookSlots$1, useSyncExternalStore as useSyncExternalStore$1 } from "octane/universal/native";
9
+ //#region src/route.ts
9
10
  /** Native twin of route.web — same Route contract over Frame/Page stacks.
10
11
  * `pushRoute` resolves a stack ('root' = the app's root Frame — an
11
12
  * explicit registerStack('root') or, by default, the Frame returned by
@@ -22,10 +23,24 @@ import { hookSlots as hookSlots$1, useSyncExternalStore as useSyncExternalStore$
22
23
  * - named stacks register via `TabSpec.stack` or `registerStack`.
23
24
  * Every drop path warns loudly — silent no-ops are how apps ship a
24
25
  * default route on native while working fine on web. */
26
+ var baseManifest = {
27
+ screens: {},
28
+ routes: [],
29
+ layouts: {}
30
+ };
31
+ var dynamicManifests = [];
25
32
  var screens = {};
26
33
  var routes = [];
27
34
  var routeLayouts = {};
28
35
  var routeLoaders = {};
36
+ function rebuildRegistry() {
37
+ const merged = mergeRouteManifests(baseManifest, ...dynamicManifests);
38
+ screens = merged.screens;
39
+ routes = merged.routes;
40
+ routeLayouts = merged.layouts;
41
+ routeLoaders = merged.loaders ?? {};
42
+ emit();
43
+ }
29
44
  /** Register the app's name → screen table (call once, from the shared
30
45
  * routes module). Native `pushRoute` resolves `route.name` through it;
31
46
  * on web the table feeds `screenFor` for outlets without a
@@ -33,16 +48,28 @@ var routeLoaders = {};
33
48
  * for parity — the web leaf matches URLs through it; native navigation
34
49
  * is name+params and only needs the table. */
35
50
  function registerScreens(table, manifest) {
36
- screens = table;
37
- routes = manifest ?? [];
51
+ baseManifest = {
52
+ ...baseManifest,
53
+ screens: table,
54
+ routes: manifest ?? []
55
+ };
56
+ rebuildRegistry();
38
57
  ensureBackWired();
39
58
  }
40
59
  /** One-call registration for route-dir apps — screens + URL patterns +
41
60
  * layouts all come from deriveRouteManifest. */
42
61
  function registerRoutes(manifest) {
43
- registerScreens(manifest.screens, manifest.routes);
44
- routeLayouts = manifest.layouts ?? {};
45
- routeLoaders = manifest.loaders ?? {};
62
+ baseManifest = manifest;
63
+ rebuildRegistry();
64
+ ensureBackWired();
65
+ }
66
+ /** Layer a programmatic manifest (from `defineRoutes`) over the registered
67
+ * routes — same-name entries win over the base with a warn, so a host
68
+ * framework can override a file route deliberately. Registered layers
69
+ * survive later registerRoutes re-registration (e.g. routes.gen HMR). */
70
+ function addRoutes(manifest) {
71
+ dynamicManifests.push(manifest);
72
+ rebuildRegistry();
46
73
  }
47
74
  function layoutsForRoute(name) {
48
75
  return layoutChain(routeLayouts, name);
@@ -82,6 +109,14 @@ function resolveStack(stack) {
82
109
  if (frame) trackFrame(frame);
83
110
  return frame;
84
111
  }
112
+ /** TabViewItem-hosted frames report isLoaded=false after tab-selection
113
+ * lifecycle churn; without re-arming, the nav queue defers pushes AND pops
114
+ * forever (iOS strand of #11444 — goBack also gates on isLoaded via
115
+ * _processNextNavigationEntry). callLoaded is idempotent once the flag
116
+ * holds, so run it before every navigate/goBack on a registered frame. */
117
+ function rearmFrameLoaded(frame) {
118
+ if (!frame.isLoaded) frame.callLoaded?.();
119
+ }
85
120
  onStackRegistered((_name, frame) => {
86
121
  trackFrame(frame);
87
122
  ensureBackWired();
@@ -263,7 +298,7 @@ function commitRoute(r) {
263
298
  warnOnce("stack:" + r.stack, r.stack === "root" ? `pushRoute('${r.name}') dropped — no root Frame. Boot with a Frame as the app root (Application.run create() returning new Frame) or call registerStack('root', frame).` : `pushRoute('${r.name}') dropped — no stack '${r.stack}' is registered. Named stacks come from TabSpec.stack on <Tabs> or registerStack('${r.stack}', frame).`);
264
299
  return;
265
300
  }
266
- if (!frame.isLoaded) frame.callLoaded?.();
301
+ rearmFrameLoaded(frame);
267
302
  const props = {
268
303
  ...r.params,
269
304
  ...contextFor(r),
@@ -378,6 +413,7 @@ function popRoute(stack = "root") {
378
413
  warnOnce("pop:" + stack, `popRoute('${stack}') dropped — no such stack is registered.`);
379
414
  return;
380
415
  }
416
+ rearmFrameLoaded(frame);
381
417
  frame.goBack();
382
418
  }
383
419
  /** Route stamped on a stack's current page, or null at its base page. */
@@ -464,4 +500,4 @@ var _h$0 = /* @__PURE__ */ Symbol(_hs$);
464
500
  var _h$1 = /* @__PURE__ */ Symbol(_hs$ + 1);
465
501
  var _h$2 = /* @__PURE__ */ Symbol(_hs$ + 2);
466
502
  //#endregion
467
- export { addBackInterceptor, canGoBack, currentModalRoute, currentRoute, hrefFor, layoutsForRoute, popRoute, pushDeepLink, pushRoute, redirect, registerRoutes, registerScreens, routeFor, routeStacks, screenFor, useCanGoBack, useModalRoute, useRoute };
503
+ export { addBackInterceptor, addRoutes, canGoBack, currentModalRoute, currentRoute, hrefFor, layoutsForRoute, popRoute, pushDeepLink, pushRoute, redirect, registerRoutes, registerScreens, routeFor, routeStacks, screenFor, useCanGoBack, useModalRoute, useRoute };
@@ -0,0 +1,67 @@
1
+ import { hookSlots, useEffect, useState } from "@nativescript-community/octane";
2
+ import { Application, Screen } from "@nativescript/core";
3
+ //#region src/safeAreaInsets.tsrx
4
+ var _hs$ = /* @__PURE__ */ hookSlots(2);
5
+ var _h$0 = /* @__PURE__ */ Symbol(_hs$);
6
+ var _h$1 = /* @__PURE__ */ Symbol(_hs$ + 1);
7
+ function androidActivity() {
8
+ return Application.android?.foregroundActivity ?? Application.android?.startActivity;
9
+ }
10
+ function readAndroidInsets() {
11
+ const insets = (androidActivity()?.getWindow?.()?.getDecorView?.())?.getRootWindowInsets?.();
12
+ if (!insets) return {
13
+ top: 0,
14
+ right: 0,
15
+ bottom: 0,
16
+ left: 0
17
+ };
18
+ const scale = Screen.mainScreen.scale || 1;
19
+ if (android.os.Build.VERSION.SDK_INT >= 30) {
20
+ const systemBars = android.view.WindowInsets.Type.systemBars() | android.view.WindowInsets.Type.displayCutout();
21
+ const i = insets.getInsets(systemBars);
22
+ return {
23
+ top: i.top / scale,
24
+ right: i.right / scale,
25
+ bottom: i.bottom / scale,
26
+ left: i.left / scale
27
+ };
28
+ }
29
+ return {
30
+ top: insets.getSystemWindowInsetTop() / scale,
31
+ right: insets.getSystemWindowInsetRight() / scale,
32
+ bottom: insets.getSystemWindowInsetBottom() / scale,
33
+ left: insets.getSystemWindowInsetLeft() / scale
34
+ };
35
+ }
36
+ function measure() {
37
+ const insets = (Application.ios?.rootController?.view)?.safeAreaInsets;
38
+ if (insets) return {
39
+ top: insets.top,
40
+ right: insets.right,
41
+ bottom: insets.bottom,
42
+ left: insets.left
43
+ };
44
+ if (Application.android) return readAndroidInsets();
45
+ return {
46
+ top: 0,
47
+ right: 0,
48
+ bottom: 0,
49
+ left: 0
50
+ };
51
+ }
52
+ function useSafeAreaInsets() {
53
+ const [insets, setInsets] = useState(measure, _h$0);
54
+ useEffect(() => {
55
+ const update = () => setInsets(measure());
56
+ Application.on(Application.orientationChangedEvent, update);
57
+ Application.on(Application.resumeEvent, update);
58
+ update();
59
+ return () => {
60
+ Application.off(Application.orientationChangedEvent, update);
61
+ Application.off(Application.resumeEvent, update);
62
+ };
63
+ }, [], _h$1);
64
+ return insets;
65
+ }
66
+ //#endregion
67
+ export { useSafeAreaInsets };