@octane-xplat/ui 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/README.md +3 -0
  2. package/dist/native/Absolute.native.tsrx.js +43 -0
  3. package/dist/native/Accordion.native.tsrx.js +75 -0
  4. package/dist/native/ActivityIndicator.native.tsrx.js +35 -0
  5. package/dist/native/Alert.native.tsrx.js +74 -0
  6. package/dist/native/Avatar.native.tsrx.js +76 -0
  7. package/dist/native/AvatarGroup.native.tsrx.js +84 -0
  8. package/dist/native/Badge.native.tsrx.js +29 -0
  9. package/dist/native/Banner.native.tsrx.js +80 -0
  10. package/dist/native/Breadcrumb.native.tsrx.js +66 -0
  11. package/dist/native/Button.native.tsrx.js +62 -0
  12. package/dist/native/CameraView.native.tsrx.js +165 -0
  13. package/dist/native/Card.native.tsrx.js +64 -0
  14. package/dist/native/Checkbox.native.tsrx.js +58 -0
  15. package/dist/native/CheckboxGroup.native.tsrx.js +70 -0
  16. package/dist/native/Chip.native.tsrx.js +83 -0
  17. package/dist/native/Collapsible.native.tsrx.js +74 -0
  18. package/dist/native/CommandPalette.native.tsrx.js +143 -0
  19. package/dist/native/ContextMenu.native.tsrx.js +140 -0
  20. package/dist/native/Drawer.native.tsrx.js +60 -0
  21. package/dist/native/DropdownMenu.native.tsrx.js +155 -0
  22. package/dist/native/Empty.native.tsrx.js +82 -0
  23. package/dist/native/FieldGroup.native.tsrx.js +39 -0
  24. package/dist/native/FormField.native.tsrx.js +53 -0
  25. package/dist/native/{ui8.js → Grid.native.tsrx.js} +19 -8
  26. package/dist/native/{ui56.js → Heading.native.tsrx.js} +2 -2
  27. package/dist/native/{ui55.js → Icon.native.tsrx.js} +4 -4
  28. package/dist/native/{ui29.js → Image.native.tsrx.js} +4 -4
  29. package/dist/native/InputNumber.native.tsrx.js +146 -0
  30. package/dist/native/InputRating.native.tsrx.js +74 -0
  31. package/dist/native/InputTags.native.tsrx.js +131 -0
  32. package/dist/native/Kbd.native.tsrx.js +29 -0
  33. package/dist/native/{ui48.js → KeyboardAvoiding.native.tsrx.js} +1 -1
  34. package/dist/native/{ui17.js → Link.native.tsrx.js} +1 -1
  35. package/dist/native/{ui52.js → Meter.native.tsrx.js} +2 -2
  36. package/dist/native/{ui22.js → NavLink.native.tsrx.js} +3 -3
  37. package/dist/native/NavigationMenu.native.tsrx.js +67 -0
  38. package/dist/native/{ui35.js → Overlay.native.tsrx.js} +3 -3
  39. package/dist/native/Pager.native.tsrx.js +282 -0
  40. package/dist/native/Pagination.native.tsrx.js +107 -0
  41. package/dist/native/PinInput.native.tsrx.js +94 -0
  42. package/dist/native/{ui38.js → Popover.native.tsrx.js} +5 -5
  43. package/dist/native/{ui16.js → Pressable.native.tsrx.js} +21 -15
  44. package/dist/native/ProgressGroup.native.tsrx.js +66 -0
  45. package/dist/native/RadioGroup.native.tsrx.js +85 -0
  46. package/dist/native/{ui15.js → RichText.native.tsrx.js} +15 -22
  47. package/dist/native/Row.native.tsrx.js +98 -0
  48. package/dist/native/{ui47.js → SafeArea.native.tsrx.js} +2 -2
  49. package/dist/native/{ui43.js → Screen.native.tsrx.js} +3 -3
  50. package/dist/native/{ui26.js → ScrollBox.native.tsrx.js} +1 -1
  51. package/dist/native/ScrollView.native.tsrx.js +233 -0
  52. package/dist/native/SearchInput.native.tsrx.js +151 -0
  53. package/dist/native/SegmentedControl.native.tsrx.js +75 -0
  54. package/dist/native/Select.native.tsrx.js +202 -0
  55. package/dist/native/Separator.native.tsrx.js +25 -0
  56. package/dist/native/{ui60.js → Sheet.native.tsrx.js} +15 -7
  57. package/dist/native/Skeleton.native.tsrx.js +28 -0
  58. package/dist/native/Slider.native.tsrx.js +98 -0
  59. package/dist/native/{ui13.js → Spacer.native.tsrx.js} +2 -2
  60. package/dist/native/{ui9.js → Stack.native.tsrx.js} +20 -9
  61. package/dist/native/Stepper.native.tsrx.js +75 -0
  62. package/dist/native/Switch.native.tsrx.js +33 -0
  63. package/dist/native/Table.native.tsrx.js +103 -0
  64. package/dist/native/Tabs.native.tsrx.js +163 -0
  65. package/dist/native/{ui14.js → Text.native.tsrx.js} +19 -3
  66. package/dist/native/{ui24.js → TextArea.native.tsrx.js} +19 -17
  67. package/dist/native/{ui23.js → TextInput.native.tsrx.js} +21 -16
  68. package/dist/native/Timeline.native.tsrx.js +112 -0
  69. package/dist/native/Tree.native.tsrx.js +140 -0
  70. package/dist/native/User.native.tsrx.js +95 -0
  71. package/dist/native/Video.native.tsrx.js +248 -0
  72. package/dist/native/{ui6.js → View.native.tsrx.js} +39 -25
  73. package/dist/native/WebView.native.tsrx.js +110 -0
  74. package/dist/native/aliases.native.tsrx.js +38 -0
  75. package/dist/native/android/BottomNavigationView.android.tsrx.js +171 -0
  76. package/dist/native/android/CircularProgressIndicator.android.tsrx.js +27 -0
  77. package/dist/native/{ui49.js → android/DrawerLayout.android.tsrx.js} +5 -7
  78. package/dist/native/android/MaterialDialog.android.tsrx.js +62 -0
  79. package/dist/native/android/MaterialSwitch.android.tsrx.js +28 -0
  80. package/dist/native/android/RecyclerView.android.tsrx.js +248 -0
  81. package/dist/native/android/SeekBar.android.tsrx.js +34 -0
  82. package/dist/native/android/index.js +9 -0
  83. package/dist/native/android/openModal.android.js +39 -0
  84. package/dist/native/camera-permission.native.js +47 -0
  85. package/dist/native/child-array.js +15 -0
  86. package/dist/native/{ui3.js → escape-props.native.js} +22 -1
  87. package/dist/native/icons.js +25 -0
  88. package/dist/native/{ui11.js → ios/LiquidGlass.ios.tsrx.js} +4 -4
  89. package/dist/native/{ui12.js → ios/LiquidGlassContainer.ios.tsrx.js} +4 -4
  90. package/dist/native/ios/SideDrawer.ios.tsrx.js +64 -0
  91. package/dist/native/{ui50.js → ios/UIActivityIndicatorView.ios.tsrx.js} +5 -5
  92. package/dist/native/{ui32.js → ios/UIModal.ios.tsrx.js} +10 -6
  93. package/dist/native/{ui53.js → ios/UISlider.ios.tsrx.js} +5 -5
  94. package/dist/native/{ui45.js → ios/UISwitch.ios.tsrx.js} +5 -5
  95. package/dist/native/ios/UITabBar.ios.tsrx.js +166 -0
  96. package/dist/native/ios/UITableView.ios.tsrx.js +270 -0
  97. package/dist/native/ios/index.js +11 -0
  98. package/dist/native/{ui33.js → ios/openModal.ios.js} +5 -4
  99. package/dist/native/modal-presenter.native.js +19 -0
  100. package/dist/native/native/index.js +4 -0
  101. package/dist/native/octane-client-build.json +1 -1
  102. package/dist/native/pan.native.tsrx.js +66 -0
  103. package/dist/native/platform.native.js +10 -0
  104. package/dist/native/refresh-metrics.js +9 -0
  105. package/dist/native/refresh.native.js +177 -0
  106. package/dist/native/{ui34.js → root-layout.native.js} +6 -1
  107. package/dist/native/{ui21.js → route.native.js} +96 -12
  108. package/dist/native/sheet-detents.native.js +102 -0
  109. package/dist/native/{ui61.js → sheet-service.native.js} +19 -9
  110. package/dist/native/sheet-snap.js +35 -0
  111. package/dist/native/text-write.native.js +27 -0
  112. package/dist/native/theme/status-bar-scheme.native.js +17 -0
  113. package/dist/{web/ui29.js → native/theme/theme-scheme.js} +2 -2
  114. package/dist/native/toast-anchor.native.tsrx.js +185 -0
  115. package/dist/native/translate.native.js +11 -0
  116. package/dist/native/ui.js +93 -52
  117. package/dist/native/use-back.native.tsrx.js +9 -0
  118. package/dist/native/useMeasure.native.tsrx.js +64 -0
  119. package/dist/native/video-chrome.native.tsrx.js +365 -0
  120. package/dist/web/Absolute.web.tsrx.js +47 -0
  121. package/dist/web/Accordion.web.tsrx.js +85 -0
  122. package/dist/web/{ui46.js → ActivityIndicator.web.tsrx.js} +1 -1
  123. package/dist/web/Alert.web.tsrx.js +79 -0
  124. package/dist/web/Avatar.web.tsrx.js +106 -0
  125. package/dist/web/AvatarGroup.web.tsrx.js +108 -0
  126. package/dist/web/Badge.web.tsrx.js +37 -0
  127. package/dist/web/Banner.web.tsrx.js +79 -0
  128. package/dist/web/Breadcrumb.web.tsrx.js +135 -0
  129. package/dist/web/Button.web.tsrx.js +45 -0
  130. package/dist/web/CameraView.web.tsrx.js +310 -0
  131. package/dist/web/Card.web.tsrx.js +73 -0
  132. package/dist/web/Checkbox.web.tsrx.js +89 -0
  133. package/dist/web/CheckboxGroup.web.tsrx.js +79 -0
  134. package/dist/web/Chip.web.tsrx.js +64 -0
  135. package/dist/web/Collapsible.web.tsrx.js +94 -0
  136. package/dist/web/CommandPalette.web.tsrx.js +125 -0
  137. package/dist/web/ContextMenu.web.tsrx.js +154 -0
  138. package/dist/web/{ui44.js → Drawer.web.tsrx.js} +13 -9
  139. package/dist/web/DropdownMenu.web.tsrx.js +162 -0
  140. package/dist/web/Empty.web.tsrx.js +89 -0
  141. package/dist/web/FieldGroup.web.tsrx.js +57 -0
  142. package/dist/web/FormField.web.tsrx.js +92 -0
  143. package/dist/web/Grid.web.tsrx.js +65 -0
  144. package/dist/web/{ui52.js → Heading.web.tsrx.js} +2 -2
  145. package/dist/web/Icon.web.tsrx.js +273 -0
  146. package/dist/web/{ui25.js → Image.web.tsrx.js} +2 -2
  147. package/dist/web/InputNumber.web.tsrx.js +99 -0
  148. package/dist/web/InputRating.web.tsrx.js +72 -0
  149. package/dist/web/InputTags.web.tsrx.js +122 -0
  150. package/dist/web/Kbd.web.tsrx.js +37 -0
  151. package/dist/web/{ui48.js → Meter.web.tsrx.js} +1 -1
  152. package/dist/web/{ui19.js → NavLink.web.tsrx.js} +1 -1
  153. package/dist/web/NavigationMenu.web.tsrx.js +118 -0
  154. package/dist/web/{ui31.js → Overlay.web.tsrx.js} +2 -2
  155. package/dist/web/Pager.web.tsrx.js +337 -0
  156. package/dist/web/Pagination.web.tsrx.js +80 -0
  157. package/dist/web/PinInput.web.tsrx.js +72 -0
  158. package/dist/web/{ui33.js → Popover.web.tsrx.js} +3 -3
  159. package/dist/web/{ui15.js → Pressable.web.tsrx.js} +68 -95
  160. package/dist/web/ProgressGroup.web.tsrx.js +109 -0
  161. package/dist/web/RadioGroup.web.tsrx.js +69 -0
  162. package/dist/web/{ui14.js → RichText.web.tsrx.js} +2 -2
  163. package/dist/web/Row.web.tsrx.js +250 -0
  164. package/dist/web/{ui42.js → SafeArea.web.tsrx.js} +1 -1
  165. package/dist/web/{ui38.js → Screen.web.tsrx.js} +1 -1
  166. package/dist/web/{ui24.js → ScrollBox.web.tsrx.js} +1 -1
  167. package/dist/web/ScrollView.web.tsrx.js +388 -0
  168. package/dist/web/SearchInput.web.tsrx.js +137 -0
  169. package/dist/web/SegmentedControl.web.tsrx.js +75 -0
  170. package/dist/web/Select.web.tsrx.js +149 -0
  171. package/dist/web/Separator.web.tsrx.js +42 -0
  172. package/dist/web/Sheet.web.tsrx.js +81 -0
  173. package/dist/web/Skeleton.web.tsrx.js +56 -0
  174. package/dist/web/Slider.web.tsrx.js +97 -0
  175. package/dist/web/{ui12.js → Spacer.web.tsrx.js} +1 -1
  176. package/dist/web/Stack.web.tsrx.js +47 -0
  177. package/dist/web/Stepper.web.tsrx.js +65 -0
  178. package/dist/web/Switch.web.tsrx.js +59 -0
  179. package/dist/web/Table.web.tsrx.js +161 -0
  180. package/dist/web/{ui39.js → Tabs.web.tsrx.js} +33 -16
  181. package/dist/web/{ui13.js → Text.web.tsrx.js} +79 -46
  182. package/dist/web/{ui21.js → TextArea.web.tsrx.js} +4 -4
  183. package/dist/web/{ui20.js → TextInput.web.tsrx.js} +8 -8
  184. package/dist/web/Timeline.web.tsrx.js +172 -0
  185. package/dist/web/Tree.web.tsrx.js +146 -0
  186. package/dist/web/User.web.tsrx.js +116 -0
  187. package/dist/web/Video.web.tsrx.js +400 -0
  188. package/dist/web/View.web.tsrx.js +250 -0
  189. package/dist/web/WebView.web.tsrx.js +235 -0
  190. package/dist/web/aliases.web.tsrx.js +24 -0
  191. package/dist/web/{ui35.js → anim.web.tsrx.js} +3 -2
  192. package/dist/web/child-array.js +15 -0
  193. package/dist/web/icons.js +25 -0
  194. package/dist/web/octane-client-build.json +1 -1
  195. package/dist/web/pan.web.tsrx.js +66 -0
  196. package/dist/web/platform.web.js +9 -0
  197. package/dist/web/refresh-metrics.js +9 -0
  198. package/dist/web/refresh.web.js +133 -0
  199. package/dist/web/{ui18.js → route.web.js} +14 -2
  200. package/dist/web/sheet-detents.web.js +103 -0
  201. package/dist/web/{ui58.js → sheet-service.web.js} +5 -1
  202. package/dist/web/sheet-snap.js +35 -0
  203. package/dist/{native/ui31.js → web/theme/theme-scheme.js} +2 -2
  204. package/dist/web/toast-anchor.web.tsrx.js +142 -0
  205. package/dist/web/transform.web.js +43 -0
  206. package/dist/web/translate.web.js +13 -0
  207. package/dist/web/ui.js +91 -51
  208. package/dist/web/use-back.web.tsrx.js +9 -0
  209. package/dist/web/useMeasure.web.tsrx.js +50 -0
  210. package/dist/web/video-chrome.web.tsrx.js +207 -0
  211. package/dist/web/web/Hoverable.web.tsrx.js +150 -0
  212. package/dist/web/web/Tooltip.web.tsrx.js +183 -0
  213. package/dist/web/web/index.js +3 -0
  214. package/package.json +34 -3
  215. package/src/theme/tokens.css +1599 -194
  216. package/types/android.d.ts +53 -0
  217. package/types/index.d.ts +39 -14
  218. package/types/index.native.d.ts +273 -0
  219. package/types/index.web.d.ts +272 -0
  220. package/types/ios.d.ts +59 -0
  221. package/types/native.d.ts +5 -0
  222. package/types/props.d.ts +989 -44
  223. package/types/web.d.ts +17 -0
  224. package/dist/native/ui10.js +0 -32
  225. package/dist/native/ui25.js +0 -141
  226. package/dist/native/ui27.js +0 -61
  227. package/dist/native/ui39.js +0 -105
  228. package/dist/native/ui4.js +0 -24
  229. package/dist/native/ui44.js +0 -267
  230. package/dist/native/ui54.js +0 -17
  231. package/dist/native/ui57.js +0 -14
  232. package/dist/native/ui7.js +0 -52
  233. package/dist/web/ui10.js +0 -46
  234. package/dist/web/ui11.js +0 -42
  235. package/dist/web/ui22.js +0 -108
  236. package/dist/web/ui23.js +0 -96
  237. package/dist/web/ui26.js +0 -45
  238. package/dist/web/ui3.js +0 -31
  239. package/dist/web/ui30.js +0 -34
  240. package/dist/web/ui34.js +0 -70
  241. package/dist/web/ui40.js +0 -43
  242. package/dist/web/ui43.js +0 -42
  243. package/dist/web/ui49.js +0 -47
  244. package/dist/web/ui5.js +0 -168
  245. package/dist/web/ui50.js +0 -17
  246. package/dist/web/ui51.js +0 -149
  247. package/dist/web/ui53.js +0 -17
  248. package/dist/web/ui57.js +0 -44
  249. package/dist/web/ui6.js +0 -94
  250. package/dist/web/ui7.js +0 -62
  251. package/dist/web/ui8.js +0 -46
  252. package/dist/web/ui9.js +0 -46
  253. /package/dist/native/{ui20.js → RouteHost.native.tsrx.js} +0 -0
  254. /package/dist/native/{ui40.js → anim.native.tsrx.js} +0 -0
  255. /package/dist/native/{ui2.js → cx.js} +0 -0
  256. /package/dist/native/{ui5.js → layout-child.native.js} +0 -0
  257. /package/dist/native/{ui51.js → meter-math.js} +0 -0
  258. /package/dist/native/{ui36.js → platformProps.native.js} +0 -0
  259. /package/dist/native/{ui37.js → popover-position.js} +0 -0
  260. /package/dist/native/{ui19.js → route-table.js} +0 -0
  261. /package/dist/native/{ui46.js → safeAreaInsets.native.tsrx.js} +0 -0
  262. /package/dist/native/{ui18.js → stacks.native.js} +0 -0
  263. /package/dist/native/{ui58.js → store.js} +0 -0
  264. /package/dist/native/{ui41.js → styled.native.tsrx.js} +0 -0
  265. /package/dist/native/{ui28.js → svg.native.js} +0 -0
  266. /package/dist/native/{ui30.js → theme/colorScheme.native.js} +0 -0
  267. /package/dist/native/{ui59.js → use-store.native.tsrx.js} +0 -0
  268. /package/dist/native/{ui42.js → windows.native.js} +0 -0
  269. /package/dist/web/{ui16.js → Link.web.tsrx.js} +0 -0
  270. /package/dist/web/{ui28.js → cx.js} +0 -0
  271. /package/dist/web/{ui2.js → escape-props.web.js} +0 -0
  272. /package/dist/web/{ui4.js → layout-child.web.js} +0 -0
  273. /package/dist/web/{ui47.js → meter-math.js} +0 -0
  274. /package/dist/web/{ui45.js → platformProps.web.js} +0 -0
  275. /package/dist/web/{ui32.js → popover-position.js} +0 -0
  276. /package/dist/web/{ui17.js → route-table.js} +0 -0
  277. /package/dist/web/{ui41.js → safeAreaInsets.web.tsrx.js} +0 -0
  278. /package/dist/web/{ui54.js → stacks.web.js} +0 -0
  279. /package/dist/web/{ui55.js → store.js} +0 -0
  280. /package/dist/web/{ui36.js → styled.web.tsrx.js} +0 -0
  281. /package/dist/web/{ui27.js → theme/colorScheme.web.js} +0 -0
  282. /package/dist/web/{ui56.js → use-store.web.tsrx.js} +0 -0
  283. /package/dist/web/{ui37.js → windows.web.js} +0 -0
package/types/web.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ // Boundary types for @octane-xplat/ui/web — web-only components. This
2
+ // subpath resolves only under the `web` condition; importing it from
3
+ // shared `.tsrx` fails the native build on purpose.
4
+
5
+ import type { UniversalComponent } from 'octane/universal'
6
+ import type { HoverableProps, TooltipProps } from './props'
7
+
8
+ export type { HoverableProps, TooltipProps } from './props'
9
+
10
+ /** Delayed hover intent with a portaled card — hover has no touch-platform
11
+ * semantic, so this is web-only by design. */
12
+ export declare const Hoverable: UniversalComponent<HoverableProps>
13
+
14
+ /** Hover-intent + keyboard-focus tooltip anchored through Popover —
15
+ * `aria-describedby` wiring and Escape/scroll dismissal included. Web-only
16
+ * (decision #47); on touch targets compose `Pressable` + `Popover`. */
17
+ export declare const Tooltip: UniversalComponent<TooltipProps>
@@ -1,32 +0,0 @@
1
- import { cx } from "./ui2.js";
2
- import { applyEscapeProps } from "./ui3.js";
3
- import { glassClassOf, glassConfigOf } from "./ui4.js";
4
- import { defineUniversalComponent, universalPlan, universalValue } from "@nativescript-community/octane";
5
- //#region src/Absolute.native.tsrx
6
- var __octaneUniversalPlan0 = universalPlan("nativescript", {
7
- "kind": "host",
8
- "type": "absolutelayout",
9
- "bindings": [
10
- ["id", 0],
11
- ["ref", 1],
12
- ["iosGlassEffect", 2],
13
- ["className", 3],
14
- ["style", 4]
15
- ],
16
- "children": [{
17
- "kind": "slot",
18
- "slot": 5
19
- }]
20
- });
21
- var Absolute = defineUniversalComponent("nativescript", function Absolute(props) {
22
- return universalValue(__octaneUniversalPlan0, [
23
- props.id,
24
- (view) => applyEscapeProps(view, props),
25
- glassConfigOf(props.glass),
26
- cx("vx-absolute", glassClassOf(props.glass), props.className),
27
- props.style,
28
- props.children
29
- ]);
30
- }, { "module": "@nativescript-community/octane" });
31
- //#endregion
32
- export { Absolute };
@@ -1,141 +0,0 @@
1
- import { cx } from "./ui2.js";
2
- import { defineUniversalComponent, memo, universalComponent, universalIf, universalPlan, universalProps, universalValue } from "@nativescript-community/octane";
3
- import { ScrollView, isAndroid, isIOS } from "@nativescript/core";
4
- //#region src/List.native.tsrx
5
- var __octaneUniversalPlan0 = universalPlan("nativescript", {
6
- "kind": "host",
7
- "type": "gridlayout",
8
- "children": [{
9
- "kind": "slot",
10
- "slot": 0
11
- }]
12
- });
13
- var __octaneUniversalPlan1 = universalPlan("nativescript", {
14
- "kind": "host",
15
- "type": "listview",
16
- "propsSlot": 0
17
- });
18
- var __octaneUniversalPlan2 = universalPlan("nativescript", {
19
- "kind": "slot",
20
- "slot": 0
21
- });
22
- var __octaneUniversalPlan3 = universalPlan("nativescript", {
23
- "kind": "range",
24
- "children": [{
25
- "kind": "slot",
26
- "slot": 0
27
- }]
28
- });
29
- var __octaneUniversalPlan4 = universalPlan("nativescript", {
30
- "kind": "slot",
31
- "slot": 0
32
- });
33
- function rejectNestedScrollView(event) {
34
- let parent = event.object?.parent;
35
- while (parent) {
36
- if (parent instanceof ScrollView) throw new Error("[List] cannot be nested inside native ScrollView. Use ScrollBox so the ListView owns scrolling.");
37
- parent = parent.parent;
38
- }
39
- }
40
- var ListInner = defineUniversalComponent("nativescript", function ListInner(props) {
41
- const platformProps = Object.assign({}, isIOS ? props.ios : {}, isAndroid ? props.android : {});
42
- return universalValue(__octaneUniversalPlan1, [universalProps([
43
- [
44
- "set",
45
- "id",
46
- props.id
47
- ],
48
- [
49
- "set",
50
- "className",
51
- cx(props.className)
52
- ],
53
- [
54
- "set",
55
- "style",
56
- props.style
57
- ],
58
- [
59
- "set",
60
- "items",
61
- props.items
62
- ],
63
- [
64
- "set",
65
- "iosEstimatedRowHeight",
66
- isIOS ? props.estimatedItemHeight : void 0
67
- ],
68
- [
69
- "set",
70
- "onLoadMoreItems",
71
- props.onEndReached
72
- ],
73
- [
74
- "set",
75
- "onLoaded",
76
- rejectNestedScrollView
77
- ],
78
- [
79
- "set",
80
- "renderItem",
81
- (item, index) => universalValue(__octaneUniversalPlan0, [props.renderItem(item, index)])
82
- ],
83
- ["spread", platformProps]
84
- ])]);
85
- }, { "module": "@nativescript-community/octane" });
86
- var MemoListView = memo(ListInner, (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.android === b.android);
87
- var List = defineUniversalComponent("nativescript", function List(props) {
88
- return universalValue(__octaneUniversalPlan4, [universalIf(props.items.length > 0, () => {
89
- return universalValue(__octaneUniversalPlan2, [universalComponent("nativescript", MemoListView, universalProps([
90
- [
91
- "set",
92
- "id",
93
- props.id
94
- ],
95
- [
96
- "set",
97
- "items",
98
- props.items
99
- ],
100
- [
101
- "set",
102
- "className",
103
- props.className
104
- ],
105
- [
106
- "set",
107
- "style",
108
- props.style
109
- ],
110
- [
111
- "set",
112
- "renderItem",
113
- props.renderItem
114
- ],
115
- [
116
- "set",
117
- "estimatedItemHeight",
118
- props.estimatedItemHeight
119
- ],
120
- [
121
- "set",
122
- "onEndReached",
123
- props.onEndReached
124
- ],
125
- [
126
- "set",
127
- "ios",
128
- props.ios
129
- ],
130
- [
131
- "set",
132
- "android",
133
- props.android
134
- ]
135
- ]))]);
136
- }, () => {
137
- return universalValue(__octaneUniversalPlan3, [props.renderEmpty?.()]);
138
- })]);
139
- }, { "module": "@nativescript-community/octane" });
140
- //#endregion
141
- export { List };
@@ -1,61 +0,0 @@
1
- import { cx } from "./ui2.js";
2
- import { applyEscapeProps } from "./ui3.js";
3
- import { glassClassOf, glassConfigOf } from "./ui4.js";
4
- import { layoutChildProps } from "./ui5.js";
5
- import { defineUniversalComponent, universalPlan, universalProps, universalValue } from "@nativescript-community/octane";
6
- //#region src/ScrollView.native.tsrx
7
- var __octaneUniversalPlan0 = universalPlan("nativescript", {
8
- "kind": "host",
9
- "type": "scrollview",
10
- "propsSlot": 0,
11
- "children": [{
12
- "kind": "host",
13
- "type": "flexboxlayout",
14
- "bindings": [["flexDirection", 1]],
15
- "children": [{
16
- "kind": "slot",
17
- "slot": 2
18
- }]
19
- }]
20
- });
21
- var ScrollView = defineUniversalComponent("nativescript", function ScrollView(props) {
22
- return universalValue(__octaneUniversalPlan0, [
23
- universalProps([
24
- [
25
- "set",
26
- "ref",
27
- (v) => applyEscapeProps(v, props)
28
- ],
29
- [
30
- "set",
31
- "id",
32
- props.id
33
- ],
34
- ["spread", layoutChildProps(props)],
35
- [
36
- "set",
37
- "className",
38
- cx(glassClassOf(props.glass), props.className)
39
- ],
40
- [
41
- "set",
42
- "style",
43
- props.style
44
- ],
45
- [
46
- "set",
47
- "iosGlassEffect",
48
- glassConfigOf(props.glass)
49
- ],
50
- [
51
- "set",
52
- "orientation",
53
- props.horizontal ? "horizontal" : "vertical"
54
- ]
55
- ]),
56
- props.horizontal ? "row" : "column",
57
- props.children
58
- ]);
59
- }, { "module": "@nativescript-community/octane" });
60
- //#endregion
61
- export { ScrollView };
@@ -1,105 +0,0 @@
1
- import { applyThemeClasses } from "./ui31.js";
2
- import { topRootLayout } from "./ui34.js";
3
- import { createNativeScriptRoot, defineUniversalComponent, universalComponent, universalIf, universalPlan, universalProps, universalValue } from "@nativescript-community/octane";
4
- import { GridLayout, isAndroid, isIOS } from "@nativescript/core";
5
- //#region src/toast.native.tsrx
6
- var __octaneUniversalPlan0 = universalPlan("nativescript", {
7
- "kind": "host",
8
- "type": "label",
9
- "props": { "className": "vx-toast" },
10
- "children": [{
11
- "kind": "slot",
12
- "slot": 0
13
- }]
14
- });
15
- var __octaneUniversalPlan1 = universalPlan("nativescript", {
16
- "kind": "host",
17
- "type": "gridlayout",
18
- "props": { "className": "vx-toast" },
19
- "children": [{
20
- "kind": "slot",
21
- "slot": 0
22
- }]
23
- });
24
- var __octaneUniversalPlan2 = universalPlan("nativescript", {
25
- "kind": "slot",
26
- "slot": 0
27
- });
28
- var queue = [];
29
- var active = null;
30
- var ToastBody = defineUniversalComponent("nativescript", function ToastBody(props) {
31
- return universalValue(__octaneUniversalPlan2, [universalIf(typeof props.content === "string", () => {
32
- return universalValue(__octaneUniversalPlan0, [props.content]);
33
- }, () => {
34
- const Component = props.content;
35
- return universalValue(__octaneUniversalPlan1, [universalComponent("nativescript", Component, universalProps([]))]);
36
- })]);
37
- }, { "module": "@nativescript-community/octane" });
38
- function finishToast(entry) {
39
- if (active !== entry) return;
40
- if (entry.timer !== null) clearTimeout(entry.timer);
41
- entry.timer = null;
42
- const rootLayout = topRootLayout();
43
- const finish = () => {
44
- entry.unbindTheme?.();
45
- entry.root.unmount?.();
46
- if (active === entry) active = null;
47
- showNext();
48
- };
49
- if (rootLayout && rootLayout?.hasChild?.(entry.host)) rootLayout.close(entry.host).then(finish, (error) => {
50
- console.error("[Toast] close failed", error);
51
- finish();
52
- });
53
- else finish();
54
- }
55
- function showNext() {
56
- if (active || queue.length === 0) return;
57
- const entry = queue.shift();
58
- const rootLayout = topRootLayout();
59
- if (!rootLayout) {
60
- console.warn("[Toast] RootLayout is not mounted; toast was skipped");
61
- return;
62
- }
63
- const host = new GridLayout();
64
- const unbindTheme = applyThemeClasses(host, "vx-toast-host");
65
- host.horizontalAlignment = "stretch";
66
- host.verticalAlignment = entry.options.position === "top" ? "top" : "bottom";
67
- host.marginTop = entry.options.position === "top" ? 24 : 0;
68
- host.marginBottom = entry.options.position === "top" ? 0 : 24;
69
- Object.assign(host, isIOS ? entry.options.ios : isAndroid ? entry.options.android : void 0);
70
- const root = createNativeScriptRoot(host);
71
- const current = {
72
- ...entry,
73
- host,
74
- root,
75
- timer: null,
76
- unbindTheme
77
- };
78
- active = current;
79
- root.render(ToastBody, { content: entry.content });
80
- const open = () => {
81
- rootLayout.open(host).then(() => {
82
- if (active === current) current.timer = setTimeout(() => finishToast(current), Math.max(0, entry.options.duration ?? 3e3));
83
- }, (error) => {
84
- console.error("[Toast] open failed", error);
85
- root.unmount?.();
86
- if (active === current) active = null;
87
- showNext();
88
- });
89
- };
90
- if (rootLayout.hasChild?.(host)) rootLayout.close(host).then(open, (error) => {
91
- console.error("[Toast] stale host close failed", error);
92
- if (active === current) active = null;
93
- showNext();
94
- });
95
- else open();
96
- }
97
- function showToast(content, options = {}) {
98
- queue.push({
99
- content,
100
- options
101
- });
102
- showNext();
103
- }
104
- //#endregion
105
- export { showToast };
@@ -1,24 +0,0 @@
1
- //#region src/glass.ts
2
- /** Normalize the `glass` surface prop into the config object handed to
3
- * `iosGlassEffect` on native. Always returns an object — the upstream
4
- * string shorthand silently drops `interactive` on the layout's update
5
- * path, and an empty config defaults the variant to 'regular' here rather
6
- * than upstream's own fallback. `false`/'none'/'identity' → no glass. */
7
- function glassConfigOf(glass) {
8
- if (!glass || glass === "none" || glass === "identity") return;
9
- const c = typeof glass === "string" ? { variant: glass } : glass === true ? {} : glass;
10
- if (c.variant === "none" || c.variant === "identity") return;
11
- return {
12
- variant: "regular",
13
- ...c
14
- };
15
- }
16
- /** `vx-glass` classes shared by web (real styling) and native (hook for
17
- * app-supplied fallback CSS on non-glass OSes). */
18
- function glassClassOf(glass) {
19
- const c = glassConfigOf(glass);
20
- if (!c) return;
21
- return c.variant === "clear" ? "vx-glass vx-glass--clear" : "vx-glass";
22
- }
23
- //#endregion
24
- export { glassClassOf, glassConfigOf };
@@ -1,267 +0,0 @@
1
- import { cx } from "./ui2.js";
2
- import { Text } from "./ui14.js";
3
- import { Pressable } from "./ui16.js";
4
- import { registerStack } from "./ui18.js";
5
- import { RouteHost } from "./ui20.js";
6
- import { layoutsForRoute, screenFor, useRoute } from "./ui21.js";
7
- import { createNativeScriptRoot, defineUniversalComponent, hookSlots, memo, universalChildren, universalComponent, universalFor, universalIf, universalPlan, universalProps, universalValue, useState, withSlot } from "@nativescript-community/octane";
8
- import { Application, Frame, GridLayout, Page, TabViewItem } from "@nativescript/core";
9
- //#region src/Tabs.native.tsrx
10
- var _hs$ = /* @__PURE__ */ hookSlots(2);
11
- var _h$0 = /* @__PURE__ */ Symbol(_hs$);
12
- var _h$1 = /* @__PURE__ */ Symbol(_hs$ + 1);
13
- var __octaneUniversalPlan0 = universalPlan("nativescript", {
14
- "kind": "range",
15
- "children": [{
16
- "kind": "slot",
17
- "slot": 0
18
- }]
19
- });
20
- var __octaneUniversalPlan1 = universalPlan("nativescript", {
21
- "kind": "host",
22
- "type": "tabview",
23
- "bindings": [
24
- ["id", 0],
25
- ["className", 1],
26
- ["style", 2],
27
- ["items", 3],
28
- ["selectedIndex", 4],
29
- ["onSelectedIndexChanged", 5],
30
- ["onLoaded", 6]
31
- ]
32
- });
33
- var __octaneUniversalPlan2 = universalPlan("nativescript", {
34
- "kind": "slot",
35
- "slot": 0
36
- });
37
- var __octaneUniversalPlan3 = universalPlan("nativescript", {
38
- "kind": "slot",
39
- "slot": 0
40
- });
41
- var __octaneUniversalPlan4 = universalPlan("nativescript", {
42
- "kind": "slot",
43
- "slot": 0
44
- });
45
- var __octaneUniversalPlan5 = universalPlan("nativescript", {
46
- "kind": "range",
47
- "children": [{
48
- "kind": "slot",
49
- "slot": 0
50
- }]
51
- });
52
- var __octaneUniversalPlan6 = universalPlan("nativescript", {
53
- "kind": "host",
54
- "type": "gridlayout",
55
- "props": { "rows": "auto,*" },
56
- "bindings": [
57
- ["id", 0],
58
- ["className", 1],
59
- ["style", 2]
60
- ],
61
- "children": [{
62
- "kind": "host",
63
- "type": "gridlayout",
64
- "props": {
65
- "row": 0,
66
- "className": "vx-tabbar"
67
- },
68
- "bindings": [["columns", 3]],
69
- "children": [{
70
- "kind": "slot",
71
- "slot": 4
72
- }]
73
- }, {
74
- "kind": "host",
75
- "type": "gridlayout",
76
- "props": { "row": 1 },
77
- "bindings": [["className", 5]],
78
- "children": [{
79
- "kind": "slot",
80
- "slot": 6
81
- }]
82
- }]
83
- });
84
- var __octaneUniversalPlan7 = universalPlan("nativescript", {
85
- "kind": "slot",
86
- "slot": 0
87
- });
88
- var __octaneUniversalPlan8 = universalPlan("nativescript", {
89
- "kind": "slot",
90
- "slot": 0
91
- });
92
- var __octaneUniversalPlan9 = universalPlan("nativescript", {
93
- "kind": "slot",
94
- "slot": 0
95
- });
96
- var TabPane = defineUniversalComponent("nativescript", function TabPane(props) {
97
- return universalValue(__octaneUniversalPlan0, [props.render()]);
98
- }, { "module": "@nativescript-community/octane" });
99
- var paneRoots = /* @__PURE__ */ new WeakMap();
100
- var tabsByView = /* @__PURE__ */ new WeakMap();
101
- var itemsCache = /* @__PURE__ */ new WeakMap();
102
- function itemsFor(tabs) {
103
- let items = itemsCache.get(tabs);
104
- if (items !== void 0) return items;
105
- items = tabs.map((t) => {
106
- const item = new TabViewItem();
107
- item.title = t.title;
108
- if (t.stack) {
109
- const frame = new Frame();
110
- frame.once("loaded", () => {
111
- frame.navigate({ create: () => {
112
- const page = new Page();
113
- page.actionBarHidden = true;
114
- const pane = new GridLayout();
115
- page.content = pane;
116
- createNativeScriptRoot(pane).render(TabPane, { render: t.render });
117
- return page;
118
- } });
119
- });
120
- registerStack(t.stack, frame);
121
- item.view = frame;
122
- return item;
123
- }
124
- const cv = new GridLayout();
125
- tabsByView.set(cv, t.render);
126
- item.view = cv;
127
- return item;
128
- });
129
- itemsCache.set(tabs, items);
130
- return items;
131
- }
132
- function mountPanes(e) {
133
- const tv = e.object;
134
- for (const item of tv.items) {
135
- const cv = item.view;
136
- if (!(cv instanceof GridLayout) || paneRoots.has(cv)) continue;
137
- const render = tabsByView.get(cv);
138
- if (!render) continue;
139
- const root = createNativeScriptRoot(cv);
140
- paneRoots.set(cv, root);
141
- root.render(TabPane, { render });
142
- }
143
- console.log("[probe] tabs mounted panes=" + tv.items.length);
144
- }
145
- var TabsInner = defineUniversalComponent("nativescript", function TabsInner(props) {
146
- return universalValue(__octaneUniversalPlan1, [
147
- props.id,
148
- cx(props.className),
149
- props.style,
150
- itemsFor(props.tabs),
151
- props.selectedIndex,
152
- (e) => props.onSelectedIndexChanged?.(e.value),
153
- mountPanes
154
- ]);
155
- }, { "module": "@nativescript-community/octane" });
156
- var MemoTabs = memo(TabsInner, (a, b) => a.tabs === b.tabs && a.selectedIndex === b.selectedIndex);
157
- function screenParams(route) {
158
- const params = {
159
- ...route.params,
160
- ...route.context ?? {},
161
- _stack: route.stack,
162
- _pushed: true
163
- };
164
- if (Object.prototype.hasOwnProperty.call(route, "loaderData")) params.data = route.loaderData;
165
- if (Object.prototype.hasOwnProperty.call(route, "loaderError")) params.error = route.loaderError;
166
- return params;
167
- }
168
- var SwapTabs = defineUniversalComponent("nativescript", function SwapTabs(props) {
169
- const [internal, setInternal] = useState(0, _h$0);
170
- const active = props.selectedIndex ?? internal;
171
- const tab = props.tabs[active];
172
- const route = withSlot(_h$1, useRoute, tab?.stack ?? "");
173
- const Screen = route ? screenFor(route.name) : void 0;
174
- const columns = props.tabs.map(() => "*").join(",");
175
- return universalValue(__octaneUniversalPlan6, [
176
- props.id,
177
- cx(props.className),
178
- props.style,
179
- columns,
180
- universalFor(props.tabs, (t, i) => t.title, (t, i) => {
181
- return universalValue(__octaneUniversalPlan3, [universalComponent("nativescript", Pressable, universalProps([
182
- [
183
- "set",
184
- "col",
185
- i
186
- ],
187
- [
188
- "set",
189
- "className",
190
- cx("vx-tab", active === i ? "active" : "")
191
- ],
192
- [
193
- "set",
194
- "onPress",
195
- () => {
196
- setInternal(i);
197
- props.onSelectedIndexChanged?.(i);
198
- }
199
- ]
200
- ], universalChildren("nativescript", () => {
201
- return universalValue(__octaneUniversalPlan2, [universalComponent("nativescript", Text, universalProps([], t.title))]);
202
- })))]);
203
- }),
204
- cx("vx-tabpane", route?.presentation === "fade" ? "vx-route--fade" : ""),
205
- universalIf(route && Screen, () => {
206
- return universalValue(__octaneUniversalPlan4, [universalComponent("nativescript", RouteHost, universalProps([
207
- [
208
- "set",
209
- "screen",
210
- Screen
211
- ],
212
- [
213
- "set",
214
- "layouts",
215
- layoutsForRoute(route.name)
216
- ],
217
- [
218
- "set",
219
- "params",
220
- screenParams(route)
221
- ]
222
- ]))]);
223
- }, () => {
224
- return universalValue(__octaneUniversalPlan5, [tab?.render()]);
225
- })
226
- ]);
227
- }, { "module": "@nativescript-community/octane" });
228
- var Tabs = defineUniversalComponent("nativescript", function Tabs(props) {
229
- return universalValue(__octaneUniversalPlan9, [universalIf(Application.android, () => {
230
- return universalValue(__octaneUniversalPlan7, [universalComponent("nativescript", SwapTabs, universalProps([["spread", props]]))]);
231
- }, () => {
232
- return universalValue(__octaneUniversalPlan8, [universalComponent("nativescript", MemoTabs, universalProps([
233
- [
234
- "set",
235
- "id",
236
- props.id
237
- ],
238
- [
239
- "set",
240
- "className",
241
- props.className
242
- ],
243
- [
244
- "set",
245
- "style",
246
- props.style
247
- ],
248
- [
249
- "set",
250
- "tabs",
251
- props.tabs
252
- ],
253
- [
254
- "set",
255
- "selectedIndex",
256
- props.selectedIndex
257
- ],
258
- [
259
- "set",
260
- "onSelectedIndexChanged",
261
- props.onSelectedIndexChanged
262
- ]
263
- ]))]);
264
- })]);
265
- }, { "module": "@nativescript-community/octane" });
266
- //#endregion
267
- export { Tabs };
@@ -1,17 +0,0 @@
1
- //#region src/icons.ts
2
- /**
3
- * App-owned icon registry. `svg` is SVG path `d` data (not a full SVG
4
- * markup string). Native `font` glyphs render only when the app ships that font.
5
- */
6
- var icons = /* @__PURE__ */ new Map();
7
- function registerIcon(name, glyph) {
8
- icons.set(name, glyph);
9
- }
10
- function registerIcons(record) {
11
- for (const [name, glyph] of Object.entries(record)) icons.set(name, glyph);
12
- }
13
- function getIcon(name) {
14
- return icons.get(name);
15
- }
16
- //#endregion
17
- export { getIcon, registerIcon, registerIcons };
@@ -1,14 +0,0 @@
1
- import { cx } from "./ui2.js";
2
- import { defineUniversalComponent, universalPlan, universalValue } from "@nativescript-community/octane";
3
- //#region src/PlatformBadge.native.tsrx
4
- var __octaneUniversalPlan0 = universalPlan("nativescript", {
5
- "kind": "host",
6
- "type": "label",
7
- "props": { "text": "ios|android" },
8
- "bindings": [["className", 0]]
9
- });
10
- var PlatformBadge = defineUniversalComponent("nativescript", function PlatformBadge(props) {
11
- return universalValue(__octaneUniversalPlan0, [cx(props.className)]);
12
- }, { "module": "@nativescript-community/octane" });
13
- //#endregion
14
- export { PlatformBadge };