@octane-xplat/ui 0.5.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 (281) 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/{ui59.js → Heading.native.tsrx.js} +2 -2
  27. package/dist/native/{ui58.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/{ui50.js → KeyboardAvoiding.native.tsrx.js} +1 -1
  34. package/dist/native/{ui17.js → Link.native.tsrx.js} +1 -1
  35. package/dist/native/{ui55.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} +20 -14
  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/{ui49.js → SafeArea.native.tsrx.js} +2 -2
  49. package/dist/native/{ui45.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/{ui63.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} +4 -3
  66. package/dist/native/{ui24.js → TextArea.native.tsrx.js} +17 -16
  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/View.native.tsrx.js +98 -0
  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/{ui51.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/icons.js +25 -0
  87. package/dist/native/{ui11.js → ios/LiquidGlass.ios.tsrx.js} +4 -4
  88. package/dist/native/{ui12.js → ios/LiquidGlassContainer.ios.tsrx.js} +4 -4
  89. package/dist/native/ios/SideDrawer.ios.tsrx.js +64 -0
  90. package/dist/native/{ui53.js → ios/UIActivityIndicatorView.ios.tsrx.js} +5 -5
  91. package/dist/native/{ui32.js → ios/UIModal.ios.tsrx.js} +10 -6
  92. package/dist/native/{ui56.js → ios/UISlider.ios.tsrx.js} +5 -5
  93. package/dist/native/{ui47.js → ios/UISwitch.ios.tsrx.js} +5 -5
  94. package/dist/native/ios/UITabBar.ios.tsrx.js +166 -0
  95. package/dist/native/ios/UITableView.ios.tsrx.js +270 -0
  96. package/dist/native/ios/index.js +11 -0
  97. package/dist/native/{ui33.js → ios/openModal.ios.js} +5 -4
  98. package/dist/native/modal-presenter.native.js +19 -0
  99. package/dist/native/native/index.js +4 -0
  100. package/dist/native/octane-client-build.json +1 -1
  101. package/dist/native/{ui6.js → pan.native.tsrx.js} +9 -69
  102. package/dist/native/platform.native.js +10 -0
  103. package/dist/native/refresh-metrics.js +9 -0
  104. package/dist/native/refresh.native.js +177 -0
  105. package/dist/native/{ui34.js → root-layout.native.js} +6 -1
  106. package/dist/native/{ui21.js → route.native.js} +96 -12
  107. package/dist/native/sheet-detents.native.js +102 -0
  108. package/dist/native/{ui64.js → sheet-service.native.js} +19 -9
  109. package/dist/native/sheet-snap.js +35 -0
  110. package/dist/native/text-write.native.js +27 -0
  111. package/dist/native/{ui42.js → theme/status-bar-scheme.native.js} +2 -2
  112. package/dist/{web/ui29.js → native/theme/theme-scheme.js} +2 -2
  113. package/dist/native/{ui40.js → toast-anchor.native.tsrx.js} +3 -3
  114. package/dist/native/translate.native.js +11 -0
  115. package/dist/native/ui.js +93 -55
  116. package/dist/native/use-back.native.tsrx.js +9 -0
  117. package/dist/native/{ui52.js → useMeasure.native.tsrx.js} +1 -1
  118. package/dist/native/video-chrome.native.tsrx.js +365 -0
  119. package/dist/web/Absolute.web.tsrx.js +47 -0
  120. package/dist/web/Accordion.web.tsrx.js +85 -0
  121. package/dist/web/{ui48.js → ActivityIndicator.web.tsrx.js} +1 -1
  122. package/dist/web/Alert.web.tsrx.js +79 -0
  123. package/dist/web/Avatar.web.tsrx.js +106 -0
  124. package/dist/web/AvatarGroup.web.tsrx.js +108 -0
  125. package/dist/web/Badge.web.tsrx.js +37 -0
  126. package/dist/web/Banner.web.tsrx.js +79 -0
  127. package/dist/web/Breadcrumb.web.tsrx.js +135 -0
  128. package/dist/web/Button.web.tsrx.js +45 -0
  129. package/dist/web/CameraView.web.tsrx.js +310 -0
  130. package/dist/web/Card.web.tsrx.js +73 -0
  131. package/dist/web/Checkbox.web.tsrx.js +89 -0
  132. package/dist/web/CheckboxGroup.web.tsrx.js +79 -0
  133. package/dist/web/Chip.web.tsrx.js +64 -0
  134. package/dist/web/Collapsible.web.tsrx.js +94 -0
  135. package/dist/web/CommandPalette.web.tsrx.js +125 -0
  136. package/dist/web/ContextMenu.web.tsrx.js +154 -0
  137. package/dist/web/{ui45.js → Drawer.web.tsrx.js} +13 -9
  138. package/dist/web/DropdownMenu.web.tsrx.js +162 -0
  139. package/dist/web/Empty.web.tsrx.js +89 -0
  140. package/dist/web/FieldGroup.web.tsrx.js +57 -0
  141. package/dist/web/FormField.web.tsrx.js +92 -0
  142. package/dist/web/Grid.web.tsrx.js +65 -0
  143. package/dist/web/{ui54.js → Heading.web.tsrx.js} +2 -2
  144. package/dist/web/{ui53.js → Icon.web.tsrx.js} +2 -2
  145. package/dist/web/{ui25.js → Image.web.tsrx.js} +2 -2
  146. package/dist/web/InputNumber.web.tsrx.js +99 -0
  147. package/dist/web/InputRating.web.tsrx.js +72 -0
  148. package/dist/web/InputTags.web.tsrx.js +122 -0
  149. package/dist/web/Kbd.web.tsrx.js +37 -0
  150. package/dist/web/{ui50.js → Meter.web.tsrx.js} +1 -1
  151. package/dist/web/{ui19.js → NavLink.web.tsrx.js} +1 -1
  152. package/dist/web/NavigationMenu.web.tsrx.js +118 -0
  153. package/dist/web/{ui31.js → Overlay.web.tsrx.js} +2 -2
  154. package/dist/web/Pager.web.tsrx.js +337 -0
  155. package/dist/web/Pagination.web.tsrx.js +80 -0
  156. package/dist/web/PinInput.web.tsrx.js +72 -0
  157. package/dist/web/{ui33.js → Popover.web.tsrx.js} +3 -3
  158. package/dist/web/{ui15.js → Pressable.web.tsrx.js} +68 -95
  159. package/dist/web/ProgressGroup.web.tsrx.js +109 -0
  160. package/dist/web/RadioGroup.web.tsrx.js +69 -0
  161. package/dist/web/{ui14.js → RichText.web.tsrx.js} +2 -2
  162. package/dist/web/Row.web.tsrx.js +250 -0
  163. package/dist/web/{ui43.js → SafeArea.web.tsrx.js} +1 -1
  164. package/dist/web/{ui39.js → Screen.web.tsrx.js} +1 -1
  165. package/dist/web/{ui24.js → ScrollBox.web.tsrx.js} +1 -1
  166. package/dist/web/ScrollView.web.tsrx.js +388 -0
  167. package/dist/web/SearchInput.web.tsrx.js +137 -0
  168. package/dist/web/SegmentedControl.web.tsrx.js +75 -0
  169. package/dist/web/Select.web.tsrx.js +149 -0
  170. package/dist/web/Separator.web.tsrx.js +42 -0
  171. package/dist/web/Sheet.web.tsrx.js +81 -0
  172. package/dist/web/Skeleton.web.tsrx.js +56 -0
  173. package/dist/web/Slider.web.tsrx.js +97 -0
  174. package/dist/web/{ui12.js → Spacer.web.tsrx.js} +1 -1
  175. package/dist/web/Stack.web.tsrx.js +47 -0
  176. package/dist/web/Stepper.web.tsrx.js +65 -0
  177. package/dist/web/Switch.web.tsrx.js +59 -0
  178. package/dist/web/Table.web.tsrx.js +161 -0
  179. package/dist/web/{ui40.js → Tabs.web.tsrx.js} +33 -16
  180. package/dist/web/{ui13.js → Text.web.tsrx.js} +18 -50
  181. package/dist/web/{ui21.js → TextArea.web.tsrx.js} +4 -4
  182. package/dist/web/{ui20.js → TextInput.web.tsrx.js} +8 -8
  183. package/dist/web/Timeline.web.tsrx.js +172 -0
  184. package/dist/web/Tree.web.tsrx.js +146 -0
  185. package/dist/web/User.web.tsrx.js +116 -0
  186. package/dist/web/Video.web.tsrx.js +400 -0
  187. package/dist/web/View.web.tsrx.js +250 -0
  188. package/dist/web/WebView.web.tsrx.js +235 -0
  189. package/dist/web/aliases.web.tsrx.js +24 -0
  190. package/dist/web/{ui36.js → anim.web.tsrx.js} +3 -35
  191. package/dist/web/child-array.js +15 -0
  192. package/dist/web/icons.js +25 -0
  193. package/dist/web/octane-client-build.json +1 -1
  194. package/dist/web/pan.web.tsrx.js +66 -0
  195. package/dist/web/platform.web.js +9 -0
  196. package/dist/web/refresh-metrics.js +9 -0
  197. package/dist/web/refresh.web.js +133 -0
  198. package/dist/web/{ui18.js → route.web.js} +14 -2
  199. package/dist/web/sheet-detents.web.js +103 -0
  200. package/dist/web/{ui60.js → sheet-service.web.js} +5 -1
  201. package/dist/web/sheet-snap.js +35 -0
  202. package/dist/{native/ui31.js → web/theme/theme-scheme.js} +2 -2
  203. package/dist/web/{ui35.js → toast-anchor.web.tsrx.js} +3 -3
  204. package/dist/web/transform.web.js +43 -0
  205. package/dist/web/translate.web.js +13 -0
  206. package/dist/web/ui.js +91 -53
  207. package/dist/web/use-back.web.tsrx.js +9 -0
  208. package/dist/web/video-chrome.web.tsrx.js +207 -0
  209. package/dist/web/{ui34.js → web/Hoverable.web.tsrx.js} +6 -6
  210. package/dist/web/web/Tooltip.web.tsrx.js +183 -0
  211. package/dist/web/web/index.js +3 -0
  212. package/package.json +30 -3
  213. package/src/theme/tokens.css +1380 -200
  214. package/types/android.d.ts +53 -0
  215. package/types/index.d.ts +32 -17
  216. package/types/index.native.d.ts +273 -0
  217. package/types/index.web.d.ts +272 -0
  218. package/types/ios.d.ts +59 -0
  219. package/types/native.d.ts +5 -0
  220. package/types/props.d.ts +930 -40
  221. package/types/web.d.ts +17 -0
  222. package/dist/native/ui10.js +0 -32
  223. package/dist/native/ui25.js +0 -141
  224. package/dist/native/ui27.js +0 -61
  225. package/dist/native/ui39.js +0 -103
  226. package/dist/native/ui4.js +0 -24
  227. package/dist/native/ui46.js +0 -267
  228. package/dist/native/ui57.js +0 -19
  229. package/dist/native/ui60.js +0 -14
  230. package/dist/native/ui7.js +0 -52
  231. package/dist/web/ui10.js +0 -46
  232. package/dist/web/ui11.js +0 -42
  233. package/dist/web/ui22.js +0 -108
  234. package/dist/web/ui23.js +0 -96
  235. package/dist/web/ui26.js +0 -45
  236. package/dist/web/ui3.js +0 -31
  237. package/dist/web/ui30.js +0 -34
  238. package/dist/web/ui41.js +0 -43
  239. package/dist/web/ui44.js +0 -42
  240. package/dist/web/ui5.js +0 -168
  241. package/dist/web/ui51.js +0 -47
  242. package/dist/web/ui52.js +0 -19
  243. package/dist/web/ui55.js +0 -17
  244. package/dist/web/ui59.js +0 -44
  245. package/dist/web/ui6.js +0 -94
  246. package/dist/web/ui7.js +0 -62
  247. package/dist/web/ui8.js +0 -46
  248. package/dist/web/ui9.js +0 -46
  249. /package/dist/native/{ui20.js → RouteHost.native.tsrx.js} +0 -0
  250. /package/dist/native/{ui41.js → anim.native.tsrx.js} +0 -0
  251. /package/dist/native/{ui2.js → cx.js} +0 -0
  252. /package/dist/native/{ui3.js → escape-props.native.js} +0 -0
  253. /package/dist/native/{ui5.js → layout-child.native.js} +0 -0
  254. /package/dist/native/{ui54.js → meter-math.js} +0 -0
  255. /package/dist/native/{ui36.js → platformProps.native.js} +0 -0
  256. /package/dist/native/{ui37.js → popover-position.js} +0 -0
  257. /package/dist/native/{ui19.js → route-table.js} +0 -0
  258. /package/dist/native/{ui48.js → safeAreaInsets.native.tsrx.js} +0 -0
  259. /package/dist/native/{ui18.js → stacks.native.js} +0 -0
  260. /package/dist/native/{ui61.js → store.js} +0 -0
  261. /package/dist/native/{ui43.js → styled.native.tsrx.js} +0 -0
  262. /package/dist/native/{ui28.js → svg.native.js} +0 -0
  263. /package/dist/native/{ui30.js → theme/colorScheme.native.js} +0 -0
  264. /package/dist/native/{ui62.js → use-store.native.tsrx.js} +0 -0
  265. /package/dist/native/{ui44.js → windows.native.js} +0 -0
  266. /package/dist/web/{ui16.js → Link.web.tsrx.js} +0 -0
  267. /package/dist/web/{ui28.js → cx.js} +0 -0
  268. /package/dist/web/{ui2.js → escape-props.web.js} +0 -0
  269. /package/dist/web/{ui4.js → layout-child.web.js} +0 -0
  270. /package/dist/web/{ui49.js → meter-math.js} +0 -0
  271. /package/dist/web/{ui47.js → platformProps.web.js} +0 -0
  272. /package/dist/web/{ui32.js → popover-position.js} +0 -0
  273. /package/dist/web/{ui17.js → route-table.js} +0 -0
  274. /package/dist/web/{ui42.js → safeAreaInsets.web.tsrx.js} +0 -0
  275. /package/dist/web/{ui56.js → stacks.web.js} +0 -0
  276. /package/dist/web/{ui57.js → store.js} +0 -0
  277. /package/dist/web/{ui37.js → styled.web.tsrx.js} +0 -0
  278. /package/dist/web/{ui27.js → theme/colorScheme.web.js} +0 -0
  279. /package/dist/web/{ui58.js → use-store.web.tsrx.js} +0 -0
  280. /package/dist/web/{ui46.js → useMeasure.web.tsrx.js} +0 -0
  281. /package/dist/web/{ui38.js → windows.web.js} +0 -0
@@ -0,0 +1,118 @@
1
+ import { applyEscapeProps } from "./escape-props.web.js";
2
+ import { Icon } from "./Icon.web.tsrx.js";
3
+ import { __s, bag3, bag7, child, clone, componentSlot, createScopedElement, createScopedValue, delegateEvents, ifBlock, mapSlot, positionalChildren, queueRefAttach, queueRefDetach, setAriaAttribute, setEventHandler, setStyle, sibling, template } from "octane";
4
+ import { bindSignalAttribute, bindSignalChild, createElementFromConfig, enableSignalBindings, replaceRef, setPlainAttribute, updateFreshClassName } from "octane/internal/client";
5
+ //#region src/NavigationMenu.web.tsrx
6
+ enableSignalBindings(1, true);
7
+ delegateEvents(["click", "keydown"]);
8
+ var _t$0 = /* @__PURE__ */ template("<span class=\"vx-navmenu-label\"></span>");
9
+ var _t$1 = /* @__PURE__ */ template("<span role=\"link\"><!><!></span>");
10
+ var _t$2 = /* @__PURE__ */ template("<nav><!></nav>");
11
+ var _key$0 = (item) => item.key;
12
+ function __then$2(__props, __s, __extra) {
13
+ const __block = __s.block;
14
+ const item = __extra[0];
15
+ componentSlot(__s, 0, __block.parentNode, Icon, { "name": item.icon }, __block.endMarker, void 0, 2, void 0, void 0, "c:402f6945");
16
+ }
17
+ function __then$5(__props, __s, __extra) {
18
+ const item = __extra[0];
19
+ let _b = __s.slots[0];
20
+ if (_b === void 0) {
21
+ let _m0;
22
+ const _root = clone(_t$0);
23
+ _m0 = _root;
24
+ _b = bag3(__s, _root, _m0, null, void 0);
25
+ }
26
+ _b.d = bindSignalChild(__s, _b.d, 1, _b.a, item.label, "b:2bbe82f6", null, void 0, void 0, void 0, true);
27
+ }
28
+ function __item$1(item, __s, __extra) {
29
+ let _b = __s.slots[0];
30
+ if (_b === void 0) {
31
+ let _m1, _m5, _m6;
32
+ const _root = clone(_t$1);
33
+ _m1 = _root;
34
+ setEventHandler(_root, "$$click", item.disabled ? void 0 : item.onSelect);
35
+ setEventHandler(_root, "$$keydown", (e) => {
36
+ if (!item.disabled && e.key === "Enter") item.onSelect?.();
37
+ });
38
+ const _el0 = child(_root);
39
+ _m5 = _el0;
40
+ _m6 = sibling(_el0, 1);
41
+ _b = bag7(__s, _root, void 0, _m1, void 0, void 0, void 0, _m5, _m6);
42
+ } else {
43
+ setEventHandler(_b.b, "$$click", item.disabled ? void 0 : item.onSelect);
44
+ setEventHandler(_b.b, "$$keydown", (e) => {
45
+ if (!item.disabled && e.key === "Enter") item.onSelect?.();
46
+ });
47
+ }
48
+ _b.a = bindSignalAttribute(__s, _b.a, _b.b, "aria-current", item.active ? "page" : void 0, "b:36065b56", setAriaAttribute);
49
+ _b.c = bindSignalAttribute(__s, _b.c, _b.b, "aria-disabled", item.disabled || void 0, "b:0a1edf7c", setAriaAttribute);
50
+ _b.d = bindSignalAttribute(__s, _b.d, _b.b, "tabindex", item.disabled ? void 0 : 0, "b:09198478", setPlainAttribute);
51
+ _b.e = updateFreshClassName([
52
+ "vx-navmenu-item",
53
+ item.active ? "vx-navmenu-item--on" : void 0,
54
+ item.disabled ? "vx-navmenu-item--disabled" : void 0
55
+ ], _b.e, _b.b);
56
+ {
57
+ const __ifCondition = item.icon;
58
+ ifBlock(__s, 1, _b.b, __ifCondition, __then$2, null, _b.f, __ifCondition ? [item] : void 0);
59
+ }
60
+ {
61
+ const __ifCondition$ = item.label != null;
62
+ ifBlock(__s, 2, _b.b, __ifCondition$, __then$5, null, _b.g, __ifCondition$ ? [item] : void 0);
63
+ }
64
+ }
65
+ var _rm$9 = [
66
+ "r",
67
+ "b",
68
+ "a"
69
+ ];
70
+ var NavigationMenu = /* @__PURE__ */ __s(function NavigationMenu(props, __s, __extra) {
71
+ let __mapItems;
72
+ let __mapMethod;
73
+ let _b = __s.slots[0];
74
+ if (_b === void 0) {
75
+ let _m0, _m1, _m6;
76
+ const _root = clone(_t$2);
77
+ queueRefAttach(__s, _m1 = (e) => applyEscapeProps(e, props), _m0 = _root);
78
+ (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.b, _b.a));
79
+ _m6 = child(_root);
80
+ _b = bag7(__s, _root, _m0, _m1, void 0, void 0, void 0, void 0, _m6);
81
+ __s.refFields = _rm$9;
82
+ } else {
83
+ const _r = (e) => applyEscapeProps(e, props);
84
+ if (_r !== _b.b) _b.b = replaceRef(__s, _b.b, _r, _b.a);
85
+ }
86
+ _b.c = bindSignalAttribute(__s, _b.c, _b.a, "id", props.id, "b:ef165b7e", setPlainAttribute);
87
+ _b.d = updateFreshClassName([
88
+ "vx-navmenu",
89
+ props.horizontal === false ? "vx-navmenu--col" : "vx-navmenu--row",
90
+ props.className
91
+ ], _b.d, _b.a);
92
+ {
93
+ const _v = props.style;
94
+ if (_b.e !== _v) {
95
+ setStyle(_b.a, _v, _b.e);
96
+ _b.e = _v;
97
+ }
98
+ }
99
+ _b.f = bindSignalAttribute(__s, _b.f, _b.a, "aria-label", props.accessibilityLabel, "b:096aff78", setAriaAttribute);
100
+ mapSlot(__s, 1, _b.a, (__mapItems = props.items, __mapMethod = __mapItems.map, __mapItems), __mapMethod, (item) => createScopedElement("span", {
101
+ key: item.key,
102
+ role: "link",
103
+ "aria-current": item.active ? "page" : void 0,
104
+ "aria-disabled": item.disabled || void 0,
105
+ tabIndex: item.disabled ? void 0 : 0,
106
+ className: [
107
+ "vx-navmenu-item",
108
+ item.active ? "vx-navmenu-item--on" : void 0,
109
+ item.disabled ? "vx-navmenu-item--disabled" : void 0
110
+ ],
111
+ onClick: item.disabled ? void 0 : item.onSelect,
112
+ onKeyDown: (e) => {
113
+ if (!item.disabled && e.key === "Enter") item.onSelect?.();
114
+ }
115
+ }, () => positionalChildren([item.icon ? createScopedValue(() => createElementFromConfig("c:d7ecfcc6", Icon, { name: item.icon })) : null, item.label != null ? createScopedElement("span", { className: "vx-navmenu-label" }, () => item.label) : null])), _key$0, __item$1, 26, void 0, _b.g, 1);
116
+ });
117
+ //#endregion
118
+ export { NavigationMenu };
@@ -1,5 +1,5 @@
1
- import { cx } from "./ui28.js";
2
- import { useThemeScheme } from "./ui29.js";
1
+ import { cx } from "./cx.js";
2
+ import { useThemeScheme } from "./theme/theme-scheme.js";
3
3
  import { bag1, bag2, bag9, child, clone, delegateEvents, drainFrag, hookSlots, ifBlock, markDangerouslySetInnerHTMLChildren, portal, setEventHandler, sibling, snapshotSpread, template, withSlot } from "octane";
4
4
  import { bindSignalChild, bindSignalHostPropSources, enableSignalBindings } from "octane/internal/client";
5
5
  //#region src/Overlay.web.tsrx
@@ -0,0 +1,337 @@
1
+ import { layoutChildProps } from "./layout-child.web.js";
2
+ import { applyWebProps } from "./platformProps.web.js";
3
+ import { bag4, bagOf, child, clone, drainFrag, forBlock, hookSlots, ifBlock, markDangerouslySetInnerHTMLChildren, snapshotSpread, template, useEffect, useRef } from "octane";
4
+ import { bindSignalChild, bindSignalHostPropSources, enableSignalBindings, setAriaAttributeIfChanged } from "octane/internal/client";
5
+ //#region src/Pager.web.tsrx
6
+ enableSignalBindings(1, true);
7
+ var _t$0 = /* @__PURE__ */ template("<div class=\"vx-pager-page\" role=\"group\" aria-roledescription=\"slide\"></div>");
8
+ var _t$1 = /* @__PURE__ */ template("<div><!></div>");
9
+ var _t$2 = /* @__PURE__ */ template("<!>", 0, 1);
10
+ var _hs$ = /* @__PURE__ */ hookSlots(8);
11
+ var _key$1 = (item, i) => i;
12
+ function __item$2(item, __s, __extra) {
13
+ const __block = __s.block;
14
+ const props = __extra[0];
15
+ const i = __block.itemIndex;
16
+ let _b = __s.slots[0];
17
+ if (_b === void 0) {
18
+ let _m1;
19
+ const _root = clone(_t$0);
20
+ _m1 = _root;
21
+ _b = bag4(__s, _root, void 0, _m1, null, void 0);
22
+ }
23
+ _b.a = setAriaAttributeIfChanged(`${i + 1} of ${props.items.length}`, _b.a, _b.b, "aria-label");
24
+ _b.e = bindSignalChild(__s, _b.e, 1, _b.b, props.renderItem(item, i), "b:a193c343", null, void 0, void 0, void 0, true);
25
+ }
26
+ var _rm$5 = [
27
+ "s",
28
+ "p",
29
+ "o"
30
+ ];
31
+ function __then$0(__props, __s, __extra) {
32
+ const host = __extra[0];
33
+ const props = __extra[1];
34
+ let _b = __s.slots[0];
35
+ if (_b === void 0) {
36
+ let _m0, _m1, _m2, _m3, _m4, _m5, _m6, _m7, _m8, _m9, _m10, _m11, _m12, _m13, _m14, _m15, _m16;
37
+ const _root = clone(_t$1);
38
+ _m0 = (el) => {
39
+ host.current = el;
40
+ applyWebProps(el, props.web);
41
+ };
42
+ _m1 = props.id;
43
+ _m2 = ["vx-pager", props.className];
44
+ _m3 = snapshotSpread(layoutChildProps(props));
45
+ _m4 = props.accessibilityRole ?? "group";
46
+ _m5 = "carousel";
47
+ _m6 = props.accessibilityLabel;
48
+ _m7 = props.accessible === false ? true : void 0;
49
+ _m8 = props.accessibilityHint;
50
+ _m9 = props.accessibilityValue;
51
+ _m10 = props.accessibilityState?.disabled;
52
+ _m11 = props.accessibilityState?.selected;
53
+ _m12 = props.accessibilityState?.checked;
54
+ _m13 = props.accessibilityLiveRegion === "none" ? "off" : props.accessibilityLiveRegion;
55
+ _m14 = _root;
56
+ _m15 = bindSignalHostPropSources(__s, void 0, _root, [
57
+ [
58
+ false,
59
+ "ref",
60
+ _m0
61
+ ],
62
+ [
63
+ false,
64
+ "id",
65
+ _m1
66
+ ],
67
+ [
68
+ false,
69
+ "className",
70
+ _m2
71
+ ],
72
+ [true, _m3],
73
+ [
74
+ false,
75
+ "role",
76
+ _m4
77
+ ],
78
+ [
79
+ false,
80
+ "aria-roledescription",
81
+ _m5
82
+ ],
83
+ [
84
+ false,
85
+ "aria-label",
86
+ _m6
87
+ ],
88
+ [
89
+ false,
90
+ "aria-hidden",
91
+ _m7
92
+ ],
93
+ [
94
+ false,
95
+ "aria-description",
96
+ _m8
97
+ ],
98
+ [
99
+ false,
100
+ "aria-valuetext",
101
+ _m9
102
+ ],
103
+ [
104
+ false,
105
+ "aria-disabled",
106
+ _m10
107
+ ],
108
+ [
109
+ false,
110
+ "aria-selected",
111
+ _m11
112
+ ],
113
+ [
114
+ false,
115
+ "aria-checked",
116
+ _m12
117
+ ],
118
+ [
119
+ false,
120
+ "aria-live",
121
+ _m13
122
+ ]
123
+ ], "b:452923c1", true);
124
+ markDangerouslySetInnerHTMLChildren(_root);
125
+ _m16 = child(_root);
126
+ _b = bagOf(__s, _root, {
127
+ a: _m0,
128
+ b: _m1,
129
+ c: _m2,
130
+ d: _m3,
131
+ e: _m4,
132
+ f: _m5,
133
+ g: _m6,
134
+ h: _m7,
135
+ i: _m8,
136
+ j: _m9,
137
+ k: _m10,
138
+ l: _m11,
139
+ m: _m12,
140
+ n: _m13,
141
+ o: _m14,
142
+ p: _m15,
143
+ q: _m16
144
+ });
145
+ __s.refFields = _rm$5;
146
+ } else {
147
+ {
148
+ const _v = (el) => {
149
+ host.current = el;
150
+ applyWebProps(el, props.web);
151
+ };
152
+ if (_b.a !== _v) _b.a = _v;
153
+ }
154
+ {
155
+ const _v = props.id;
156
+ if (_b.b !== _v) _b.b = _v;
157
+ }
158
+ {
159
+ const _v = ["vx-pager", props.className];
160
+ if (_b.c !== _v) _b.c = _v;
161
+ }
162
+ _b.d = snapshotSpread(layoutChildProps(props));
163
+ {
164
+ const _v = props.accessibilityRole ?? "group";
165
+ if (_b.e !== _v) _b.e = _v;
166
+ }
167
+ {
168
+ const _v = "carousel";
169
+ if (_b.f !== _v) _b.f = _v;
170
+ }
171
+ {
172
+ const _v = props.accessibilityLabel;
173
+ if (_b.g !== _v) _b.g = _v;
174
+ }
175
+ {
176
+ const _v = props.accessible === false ? true : void 0;
177
+ if (_b.h !== _v) _b.h = _v;
178
+ }
179
+ {
180
+ const _v = props.accessibilityHint;
181
+ if (_b.i !== _v) _b.i = _v;
182
+ }
183
+ {
184
+ const _v = props.accessibilityValue;
185
+ if (_b.j !== _v) _b.j = _v;
186
+ }
187
+ {
188
+ const _v = props.accessibilityState?.disabled;
189
+ if (_b.k !== _v) _b.k = _v;
190
+ }
191
+ {
192
+ const _v = props.accessibilityState?.selected;
193
+ if (_b.l !== _v) _b.l = _v;
194
+ }
195
+ {
196
+ const _v = props.accessibilityState?.checked;
197
+ if (_b.m !== _v) _b.m = _v;
198
+ }
199
+ {
200
+ const _v = props.accessibilityLiveRegion === "none" ? "off" : props.accessibilityLiveRegion;
201
+ if (_b.n !== _v) _b.n = _v;
202
+ }
203
+ _b.p = bindSignalHostPropSources(__s, _b.p, _b.o, [
204
+ [
205
+ false,
206
+ "ref",
207
+ _b.a
208
+ ],
209
+ [
210
+ false,
211
+ "id",
212
+ _b.b
213
+ ],
214
+ [
215
+ false,
216
+ "className",
217
+ _b.c
218
+ ],
219
+ [true, _b.d],
220
+ [
221
+ false,
222
+ "role",
223
+ _b.e
224
+ ],
225
+ [
226
+ false,
227
+ "aria-roledescription",
228
+ _b.f
229
+ ],
230
+ [
231
+ false,
232
+ "aria-label",
233
+ _b.g
234
+ ],
235
+ [
236
+ false,
237
+ "aria-hidden",
238
+ _b.h
239
+ ],
240
+ [
241
+ false,
242
+ "aria-description",
243
+ _b.i
244
+ ],
245
+ [
246
+ false,
247
+ "aria-valuetext",
248
+ _b.j
249
+ ],
250
+ [
251
+ false,
252
+ "aria-disabled",
253
+ _b.k
254
+ ],
255
+ [
256
+ false,
257
+ "aria-selected",
258
+ _b.l
259
+ ],
260
+ [
261
+ false,
262
+ "aria-checked",
263
+ _b.m
264
+ ],
265
+ [
266
+ false,
267
+ "aria-live",
268
+ _b.n
269
+ ]
270
+ ], "b:452923c1", true);
271
+ }
272
+ forBlock(__s, 1, _b.o, props.items, _key$1, __item$2, 50, [props], null, _b.q, true, "f3hircj");
273
+ }
274
+ function __else$6(__props, __s, __extra) {
275
+ const __block = __s.block;
276
+ const props = __extra[1];
277
+ let _b = __s.slots[0];
278
+ if (_b === void 0) {
279
+ let _m0, _m1;
280
+ const _root = clone(_t$2);
281
+ _m0 = __block.parentNode;
282
+ _m1 = child(_root);
283
+ drainFrag(_root, __block.parentNode, __block.endMarker);
284
+ _b = bag4(__s, null, _m0, _m1, null, void 0);
285
+ }
286
+ _b.e = bindSignalChild(__s, _b.e, 1, _b.a, props.renderEmpty?.(), "b:8f0f2972", _b.b, true, void 0, true, void 0);
287
+ }
288
+ var Pager = function Pager(props, __s, __extra) {
289
+ const __block = __s.block;
290
+ const host = useRef(null, _hs$ + 0);
291
+ const latest = useRef(props, _hs$ + 1);
292
+ const current = useRef(props.page ?? props.defaultPage ?? 0, _hs$ + 2);
293
+ const settle = useRef(null, _hs$ + 3);
294
+ useEffect(() => {
295
+ latest.current = props;
296
+ }, [props], _hs$ + 4);
297
+ useEffect(() => {
298
+ const el = host.current;
299
+ if (!el) return;
300
+ const onScroll = () => {
301
+ if (settle.current !== null) clearTimeout(settle.current);
302
+ settle.current = setTimeout(() => {
303
+ settle.current = null;
304
+ const el2 = host.current;
305
+ if (!el2 || el2.clientWidth === 0) return;
306
+ const max = Math.max(latest.current.items.length - 1, 0);
307
+ const next = Math.max(0, Math.min(max, Math.round(el2.scrollLeft / el2.clientWidth)));
308
+ if (next !== current.current) {
309
+ current.current = next;
310
+ latest.current.onPageChange?.(next);
311
+ }
312
+ }, 90);
313
+ };
314
+ el.addEventListener("scroll", onScroll, { passive: true });
315
+ return () => {
316
+ el.removeEventListener("scroll", onScroll);
317
+ if (settle.current !== null) clearTimeout(settle.current);
318
+ };
319
+ }, [], _hs$ + 5);
320
+ useEffect(() => {
321
+ const el = host.current;
322
+ if (!el || current.current <= 0) return;
323
+ el.scrollLeft = current.current * el.clientWidth;
324
+ }, [], _hs$ + 6);
325
+ useEffect(() => {
326
+ const el = host.current;
327
+ if (!el || props.page === void 0 || props.page === current.current) return;
328
+ current.current = props.page;
329
+ el.scrollTo({
330
+ left: props.page * el.clientWidth,
331
+ behavior: "smooth"
332
+ });
333
+ }, [props.page], _hs$ + 7);
334
+ ifBlock(__s, 0, __block.parentNode, props.items.length > 0, __then$0, __else$6, __block.endMarker, [host, props]);
335
+ };
336
+ //#endregion
337
+ export { Pager };
@@ -0,0 +1,80 @@
1
+ import { applyEscapeProps } from "./escape-props.web.js";
2
+ import { __s, bag15, child, clone, createElement, createScopedElement, delegateEvents, evt1, evt1u, queueRefAttach, queueRefDetach, setAriaAttribute, setStyle, sibling, template } from "octane";
3
+ import { bindSignalAttribute, bindSignalChild, enableSignalBindings, replaceRef, setPlainAttribute, updateFreshClassName } from "octane/internal/client";
4
+ //#region src/Pagination.web.tsrx
5
+ enableSignalBindings(1, true);
6
+ delegateEvents(["click"]);
7
+ var _t$0 = /* @__PURE__ */ template("<nav><span class=\"vx-page-btn\" role=\"button\" tabindex=\"0\">‹</span><!><span class=\"vx-page-btn\" role=\"button\" tabindex=\"0\">›</span></nav>");
8
+ var _rm$1 = [
9
+ "r",
10
+ "b",
11
+ "a"
12
+ ];
13
+ var Pagination = /* @__PURE__ */ __s(function Pagination(props, __s, __extra) {
14
+ const sibling$1 = props.siblingCount ?? 1;
15
+ const count = Math.max(0, props.pageCount);
16
+ const current = Math.min(Math.max(1, props.page), Math.max(1, count));
17
+ const pages = [];
18
+ for (let p = 1; p <= count; p++) if (p === 1 || p === count || Math.abs(p - current) <= sibling$1) pages.push(p);
19
+ else if (pages[pages.length - 1] !== "…") pages.push("…");
20
+ const go = (p) => {
21
+ if (props.disabled || p < 1 || p > count || p === current) return;
22
+ props.onPageChange?.(p);
23
+ };
24
+ if (__s.block.pending && !__s.block.crossRenderUpdate) return;
25
+ let _b = __s.slots[0];
26
+ if (_b === void 0) {
27
+ let _m0, _m1, _m7, _m8, _m10, _m11, _m12;
28
+ const _root = clone(_t$0);
29
+ queueRefAttach(__s, _m1 = (e) => applyEscapeProps(e, props), _m0 = _root);
30
+ (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.b, _b.a));
31
+ const _el0 = child(_root);
32
+ _m7 = _el0;
33
+ _m8 = evt1(_el0, "$$click", go, current - 1);
34
+ const _el1 = sibling(_el0, 2);
35
+ _m10 = _el1;
36
+ _m11 = evt1(_el1, "$$click", go, current + 1);
37
+ _m12 = sibling(_el0, 1);
38
+ _b = bag15(__s, _root, _m0, _m1, void 0, void 0, void 0, void 0, void 0, _m7, _m8, void 0, _m10, _m11, _m12, null, void 0);
39
+ __s.refFields = _rm$1;
40
+ } else {
41
+ {
42
+ const _r = (e) => applyEscapeProps(e, props);
43
+ if (_r !== _b.b) _b.b = replaceRef(__s, _b.b, _r, _b.a);
44
+ }
45
+ evt1u(_b.i, go, current - 1);
46
+ evt1u(_b.l, go, current + 1);
47
+ }
48
+ _b.c = bindSignalAttribute(__s, _b.c, _b.a, "id", props.id, "b:8d0d2330", setPlainAttribute);
49
+ _b.d = updateFreshClassName([
50
+ "vx-pagination",
51
+ props.disabled ? "vx-pagination--disabled" : void 0,
52
+ props.className
53
+ ], _b.d, _b.a);
54
+ {
55
+ const _v = props.style;
56
+ if (_b.e !== _v) {
57
+ setStyle(_b.a, _v, _b.e);
58
+ _b.e = _v;
59
+ }
60
+ }
61
+ _b.f = bindSignalAttribute(__s, _b.f, _b.a, "aria-label", props.accessibilityLabel ?? "Pagination", "b:155f52a7", setAriaAttribute);
62
+ _b.g = bindSignalAttribute(__s, _b.g, _b.h, "aria-disabled", current <= 1 || props.disabled || void 0, "b:0e233a25", setAriaAttribute);
63
+ _b.j = bindSignalAttribute(__s, _b.j, _b.k, "aria-disabled", current >= count || props.disabled || void 0, "b:a5ed4796", setAriaAttribute);
64
+ _b.p = bindSignalChild(__s, _b.p, 1, _b.a, pages.map((p, i) => p === "…" ? createElement("span", {
65
+ key: "e" + i,
66
+ className: "vx-page-ellipsis"
67
+ }, "…") : createScopedElement("span", {
68
+ key: p,
69
+ className: ["vx-page-btn", p === current ? "vx-page-btn--on" : void 0],
70
+ role: "button",
71
+ "aria-current": p === current ? "page" : void 0,
72
+ tabIndex: 0,
73
+ onClick: () => go(p),
74
+ onKeyDown: (e) => {
75
+ if (e.key === "Enter") go(p);
76
+ }
77
+ }, () => p)), "b:98d5a70c", _b.m, true, void 0, void 0, void 0);
78
+ });
79
+ //#endregion
80
+ export { Pagination };
@@ -0,0 +1,72 @@
1
+ import { applyEscapeProps } from "./escape-props.web.js";
2
+ import { TextInput } from "./TextInput.web.tsrx.js";
3
+ import { __s, bag7, clone, createScopedValue, hookSlots, queueRefAttach, queueRefDetach, setStyle, template, useState } from "octane";
4
+ import { bindSignalAttribute, bindSignalChild, createElementFromConfig, enableSignalBindings, replaceRef, setPlainAttribute, updateFreshClassName } from "octane/internal/client";
5
+ //#region src/PinInput.web.tsrx
6
+ enableSignalBindings(1, true);
7
+ var _t$0 = /* @__PURE__ */ template("<div role=\"group\"></div>");
8
+ var _hs$ = /* @__PURE__ */ hookSlots(1);
9
+ var _rm$1 = [
10
+ "r",
11
+ "b",
12
+ "a"
13
+ ];
14
+ var PinInput = /* @__PURE__ */ __s(function PinInput(props, __s, __extra) {
15
+ const length = props.length ?? 4;
16
+ const [internal, setInternal] = useState("", _hs$ + 0);
17
+ const controlled = props.value !== void 0;
18
+ const value = controlled ? props.value : internal;
19
+ const handles = [];
20
+ const setValue = (next) => {
21
+ const clipped = next.slice(0, length);
22
+ if (!controlled) setInternal(clipped);
23
+ props.onValueChange?.(clipped);
24
+ if (clipped.length === length) props.onComplete?.(clipped);
25
+ };
26
+ const cellValue = (i) => value[i] ?? "";
27
+ const enter = (i, text) => {
28
+ const ch = text.slice(-1);
29
+ const next = (value.slice(0, i) + ch + value.slice(i + 1)).slice(0, length);
30
+ setValue(next);
31
+ if (ch && i < length - 1) handles[i + 1]?.focus();
32
+ };
33
+ let _b = __s.slots[0];
34
+ if (_b === void 0) {
35
+ let _m0, _m1;
36
+ const _root = clone(_t$0);
37
+ queueRefAttach(__s, _m1 = (e) => applyEscapeProps(e, props), _m0 = _root);
38
+ (__s.cleanups ??= []).push(() => _b && queueRefDetach(_b.b, _b.a));
39
+ _b = bag7(__s, _root, _m0, _m1, void 0, void 0, void 0, null, void 0);
40
+ __s.refFields = _rm$1;
41
+ } else {
42
+ const _r = (e) => applyEscapeProps(e, props);
43
+ if (_r !== _b.b) _b.b = replaceRef(__s, _b.b, _r, _b.a);
44
+ }
45
+ _b.c = bindSignalAttribute(__s, _b.c, _b.a, "id", props.id, "b:0821d08b", setPlainAttribute);
46
+ _b.d = updateFreshClassName([
47
+ "vx-pininput",
48
+ props.disabled ? "vx-pininput--disabled" : void 0,
49
+ props.className
50
+ ], _b.d, _b.a);
51
+ {
52
+ const _v = props.style;
53
+ if (_b.e !== _v) {
54
+ setStyle(_b.a, _v, _b.e);
55
+ _b.e = _v;
56
+ }
57
+ }
58
+ _b.h = bindSignalChild(__s, _b.h, 1, _b.a, Array.from({ length }, (_, i) => createScopedValue(() => createElementFromConfig("c:5e39db67", TextInput, {
59
+ key: i,
60
+ className: "vx-pininput-cell",
61
+ keyboardType: "number",
62
+ secure: props.secure,
63
+ editable: !props.disabled,
64
+ value: cellValue(i),
65
+ onChange: (text) => enter(i, text),
66
+ bind: (h) => {
67
+ handles[i] = h;
68
+ }
69
+ }))), "b:308dacfa", null, void 0, void 0, void 0, true);
70
+ });
71
+ //#endregion
72
+ export { PinInput };
@@ -1,6 +1,6 @@
1
- import { cx } from "./ui28.js";
2
- import { useThemeScheme } from "./ui29.js";
3
- import { positionPopover } from "./ui32.js";
1
+ import { cx } from "./cx.js";
2
+ import { useThemeScheme } from "./theme/theme-scheme.js";
3
+ import { positionPopover } from "./popover-position.js";
4
4
  import { bag4, child, clone, componentSlotVoid, createElement, createPortal, createScopedElement, createScopedValue, drainFrag, hookSlots, ifBlock, positionalChildren, template, useEffect, useRef, useState, withSlot } from "octane";
5
5
  import { compilerMemoRegion, hookMemoCreate, hookMemoPublishInvariant, textHoleUpdate } from "octane/internal/client";
6
6
  //#region src/Popover.web.tsrx