@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.
- package/README.md +14 -4
- package/dist/native/{Absolute.native.tsrx.js → Absolute.tsrx.js} +2 -2
- package/dist/native/{Accordion.native.tsrx.js → Accordion.tsrx.js} +3 -3
- package/dist/native/{ActivityIndicator.native.tsrx.js → ActivityIndicator.tsrx.js} +2 -2
- package/dist/native/{Alert.native.tsrx.js → Alert.tsrx.js} +3 -3
- package/dist/native/{Avatar.native.tsrx.js → Avatar.tsrx.js} +3 -3
- package/dist/native/{AvatarGroup.native.tsrx.js → AvatarGroup.tsrx.js} +3 -3
- package/dist/native/{Badge.native.tsrx.js → Badge.tsrx.js} +2 -2
- package/dist/native/{Banner.native.tsrx.js → Banner.tsrx.js} +3 -3
- package/dist/native/{Breadcrumb.native.tsrx.js → Breadcrumb.tsrx.js} +2 -2
- package/dist/native/{Button.native.tsrx.js → Button.tsrx.js} +3 -3
- package/dist/native/{Card.native.tsrx.js → Card.tsrx.js} +2 -2
- package/dist/native/{Checkbox.native.tsrx.js → Checkbox.tsrx.js} +2 -2
- package/dist/native/{CheckboxGroup.native.tsrx.js → CheckboxGroup.tsrx.js} +3 -3
- package/dist/native/{Chip.native.tsrx.js → Chip.tsrx.js} +2 -2
- package/dist/native/{Collapsible.native.tsrx.js → Collapsible.tsrx.js} +3 -3
- package/dist/native/{CommandPalette.native.tsrx.js → CommandPalette.tsrx.js} +4 -4
- package/dist/native/{ContextMenu.native.tsrx.js → ContextMenu.tsrx.js} +4 -4
- package/dist/native/{Drawer.native.tsrx.js → Drawer.tsrx.js} +2 -2
- package/dist/native/{DropdownMenu.native.tsrx.js → DropdownMenu.tsrx.js} +5 -5
- package/dist/native/{Empty.native.tsrx.js → Empty.tsrx.js} +3 -3
- package/dist/native/{FieldGroup.native.tsrx.js → FieldGroup.tsrx.js} +2 -2
- package/dist/native/{FormField.native.tsrx.js → FormField.tsrx.js} +2 -2
- package/dist/native/{Grid.native.tsrx.js → Grid.tsrx.js} +2 -2
- package/dist/native/{Heading.native.tsrx.js → Heading.tsrx.js} +3 -3
- package/dist/native/Hoverable.tsrx.js +139 -0
- package/dist/native/{Icon.native.tsrx.js → Icon.tsrx.js} +3 -3
- package/dist/native/{Image.native.tsrx.js → Image.tsrx.js} +4 -4
- package/dist/native/{InputNumber.native.tsrx.js → InputNumber.tsrx.js} +4 -4
- package/dist/native/{InputRating.native.tsrx.js → InputRating.tsrx.js} +3 -3
- package/dist/native/{InputTags.native.tsrx.js → InputTags.tsrx.js} +4 -4
- package/dist/native/{Kbd.native.tsrx.js → Kbd.tsrx.js} +2 -2
- package/dist/native/{KeyboardAvoiding.native.tsrx.js → KeyboardAvoiding.mobile.tsrx.js} +5 -3
- package/dist/native/{Link.native.tsrx.js → Link.tsrx.js} +2 -2
- package/dist/native/ListItem.tsrx.js +178 -0
- package/dist/native/Meter.tsrx.js +70 -0
- package/dist/native/{NavLink.native.tsrx.js → NavLink.tsrx.js} +3 -3
- package/dist/native/{NavigationMenu.native.tsrx.js → NavigationMenu.tsrx.js} +3 -3
- package/dist/native/{Overlay.native.tsrx.js → Overlay.tsrx.js} +2 -2
- package/dist/native/{Pagination.native.tsrx.js → Pagination.tsrx.js} +2 -2
- package/dist/native/{PinInput.native.tsrx.js → PinInput.tsrx.js} +3 -3
- package/dist/native/{Popover.native.tsrx.js → Popover.tsrx.js} +4 -4
- package/dist/native/{Pressable.native.tsrx.js → Pressable.tsrx.js} +4 -4
- package/dist/native/{ProgressGroup.native.tsrx.js → ProgressGroup.tsrx.js} +3 -3
- package/dist/native/{RadioGroup.native.tsrx.js → RadioGroup.tsrx.js} +2 -2
- package/dist/native/{RichText.native.tsrx.js → RichText.tsrx.js} +3 -3
- package/dist/native/{RouteHost.native.tsrx.js → RouteHost.mobile.tsrx.js} +13 -2
- package/dist/native/{Row.native.tsrx.js → Row.tsrx.js} +4 -4
- package/dist/native/{SafeArea.native.tsrx.js → SafeArea.tsrx.js} +9 -3
- package/dist/native/{Screen.native.tsrx.js → Screen.tsrx.js} +13 -5
- package/dist/native/{ScrollBox.native.tsrx.js → ScrollBox.tsrx.js} +2 -2
- package/dist/native/{ScrollView.native.tsrx.js → ScrollView.tsrx.js} +5 -5
- package/dist/native/{SearchInput.native.tsrx.js → SearchInput.tsrx.js} +4 -4
- package/dist/native/{SegmentedControl.native.tsrx.js → SegmentedControl.tsrx.js} +2 -2
- package/dist/native/{Select.native.tsrx.js → Select.tsrx.js} +4 -4
- package/dist/native/{Separator.native.tsrx.js → Separator.tsrx.js} +2 -2
- package/dist/native/{Sheet.native.tsrx.js → Sheet.tsrx.js} +11 -3
- package/dist/native/{Skeleton.native.tsrx.js → Skeleton.tsrx.js} +2 -2
- package/dist/native/{Slider.native.tsrx.js → Slider.tsrx.js} +5 -5
- package/dist/native/{Spacer.native.tsrx.js → Spacer.tsrx.js} +2 -2
- package/dist/native/{Stack.native.tsrx.js → Stack.tsrx.js} +2 -2
- package/dist/native/{Stepper.native.tsrx.js → Stepper.tsrx.js} +2 -2
- package/dist/native/{Switch.native.tsrx.js → Switch.tsrx.js} +2 -2
- package/dist/native/{Table.native.tsrx.js → Table.tsrx.js} +2 -2
- package/dist/native/{Tabs.native.tsrx.js → Tabs.tsrx.js} +8 -18
- package/dist/native/{Text.native.tsrx.js → Text.tsrx.js} +3 -3
- package/dist/native/{TextArea.native.tsrx.js → TextArea.tsrx.js} +3 -3
- package/dist/native/{TextInput.native.tsrx.js → TextInput.tsrx.js} +3 -3
- package/dist/native/{Timeline.native.tsrx.js → Timeline.tsrx.js} +3 -3
- package/dist/native/Tooltip.tsrx.js +131 -0
- package/dist/native/{Tree.native.tsrx.js → Tree.tsrx.js} +2 -2
- package/dist/native/{User.native.tsrx.js → User.tsrx.js} +3 -3
- package/dist/native/{View.native.tsrx.js → View.tsrx.js} +4 -4
- package/dist/native/VirtualList.tsrx.js +466 -0
- package/dist/native/{WebView.native.tsrx.js → WebView.tsrx.js} +31 -6
- package/dist/native/{aliases.native.tsrx.js → aliases.tsrx.js} +2 -2
- package/dist/native/android/BottomNavigationView.android.tsrx.js +72 -23
- package/dist/native/android/CircularProgressIndicator.android.tsrx.js +1 -1
- package/dist/native/android/DrawerLayout.android.tsrx.js +2 -1
- package/dist/native/android/MaterialDialog.android.tsrx.js +1 -1
- package/dist/native/android/MaterialSwitch.android.tsrx.js +1 -1
- package/dist/native/android/RecyclerView.android.tsrx.js +15 -3
- package/dist/native/android/SeekBar.android.tsrx.js +1 -1
- package/dist/native/android/icon.android.js +7 -0
- package/dist/native/android/index.js +3 -1
- package/dist/native/android/openModal.android.js +1 -1
- package/dist/native/{anim.native.tsrx.js → anim.tsrx.js} +1 -1
- package/dist/native/apply-native-modifiers.native.js +9 -0
- package/dist/native/{escape-props.native.js → escape-props.js} +3 -1
- package/dist/native/index.shared.js +92 -0
- package/dist/native/ios/LiquidGlass.ios.tsrx.js +2 -2
- package/dist/native/ios/LiquidGlassContainer.ios.tsrx.js +2 -2
- package/dist/native/ios/SideDrawer.ios.tsrx.js +2 -1
- package/dist/native/ios/UIActivityIndicatorView.ios.tsrx.js +1 -1
- package/dist/native/ios/UIModal.ios.tsrx.js +1 -1
- package/dist/native/ios/UISlider.ios.tsrx.js +1 -1
- package/dist/native/ios/UISwitch.ios.tsrx.js +1 -1
- package/dist/native/ios/UITabBar.ios.tsrx.js +33 -12
- package/dist/native/ios/UITableView.ios.tsrx.js +15 -3
- package/dist/native/ios/icon.ios.js +7 -0
- package/dist/native/ios/index.js +3 -1
- package/dist/native/ios/openModal.ios.js +1 -1
- package/dist/native/keyboard-inset.mobile.js +66 -0
- package/dist/native/{layout-child.native.js → layout-child.js} +1 -1
- package/dist/native/{modal-presenter.native.js → modal-presenter.mobile.js} +1 -1
- package/dist/native/modifier-factories.js +24 -0
- package/dist/native/native/index.js +3 -3
- package/dist/native/octane-client-build.json +1 -1
- package/dist/native/{pan.native.tsrx.js → pan.tsrx.js} +1 -1
- package/dist/native/{platform.native.js → platform.js} +3 -3
- package/dist/native/{platformProps.native.js → platformProps.js} +3 -1
- package/dist/native/{refresh.native.js → refresh.js} +1 -1
- package/dist/native/{root-layout.native.js → root-layout.mobile.js} +2 -2
- package/dist/native/route-host.mobile.js +2 -0
- package/dist/native/route-table.js +105 -4
- package/dist/native/{route.native.js → route.js} +49 -13
- package/dist/native/safeAreaInsets.tsrx.js +67 -0
- package/dist/native/shared.js +93 -0
- package/dist/native/{sheet-detents.native.js → sheet-detents.js} +1 -1
- package/dist/native/{sheet-service.native.js → sheet-service.js} +9 -3
- package/dist/native/{stacks.native.js → stacks.js} +1 -1
- package/dist/native/{styled.native.tsrx.js → styled.tsrx.js} +1 -1
- package/dist/native/{svg.native.js → svg.mobile.js} +2 -2
- package/dist/native/tap-to-blur.mobile.js +94 -0
- package/dist/native/{text-write.native.js → text-write.js} +1 -1
- package/dist/native/theme/{colorScheme.native.js → colorScheme.js} +2 -2
- package/dist/native/theme/{status-bar-scheme.native.js → status-bar-scheme.mobile.js} +1 -1
- package/dist/native/theme/theme-scheme.js +2 -2
- package/dist/native/{toast-anchor.native.tsrx.js → toast-anchor.tsrx.js} +3 -3
- package/dist/native/{translate.native.js → translate.js} +1 -1
- package/dist/native/ui.js +92 -90
- package/dist/native/{use-back.native.tsrx.js → use-back.tsrx.js} +2 -2
- package/dist/native/{use-store.native.tsrx.js → use-store.tsrx.js} +1 -1
- package/dist/native/{useMeasure.native.tsrx.js → useMeasure.tsrx.js} +1 -1
- package/dist/native/vendor/ui-svg/index.android.js +137 -0
- package/dist/native/vendor/ui-svg/index.common.js +10 -0
- package/dist/native/vendor/ui-svg/index.ios.js +111 -0
- package/dist/native/virtual-list-layout.js +146 -0
- package/dist/native/{windows.native.js → windows.js} +1 -1
- package/dist/web/{web/Hoverable.web.tsrx.js → Hoverable.web.tsrx.js} +7 -6
- package/dist/web/ListItem.web.tsrx.js +139 -0
- package/dist/web/SafeArea.web.tsrx.js +9 -3
- package/dist/web/Tabs.web.tsrx.js +88 -44
- package/dist/web/{web/Tooltip.web.tsrx.js → Tooltip.web.tsrx.js} +7 -6
- package/dist/web/VirtualList.web.tsrx.js +622 -0
- package/dist/web/WebView.web.tsrx.js +42 -5
- package/dist/web/index.shared.web.js +92 -0
- package/dist/web/octane-client-build.json +1 -1
- package/dist/web/platform.web.js +1 -1
- package/dist/web/route-table.js +105 -4
- package/dist/web/route.web.js +36 -11
- package/dist/web/ui.js +10 -8
- package/dist/web/virtual-list-layout.js +146 -0
- package/dist/web/web/index.js +2 -2
- package/package.json +35 -23
- package/platforms/android/include.gradle +8 -0
- package/platforms/android/native-api-usage.json +8 -0
- package/platforms/ios/Podfile +2 -0
- package/src/Absolute.tsrx +22 -0
- package/src/Absolute.web.tsrx +22 -0
- package/src/Accordion.macos.tsrx +50 -0
- package/src/Accordion.tsrx +50 -0
- package/src/Accordion.web.tsrx +43 -0
- package/src/ActivityIndicator.tsrx +29 -0
- package/src/ActivityIndicator.web.tsrx +14 -0
- package/src/Alert.macos.tsrx +42 -0
- package/src/Alert.tsrx +24 -0
- package/src/Alert.web.tsrx +23 -0
- package/src/Avatar.macos.tsrx +25 -0
- package/src/Avatar.tsrx +25 -0
- package/src/Avatar.web.tsrx +24 -0
- package/src/AvatarGroup.macos.tsrx +32 -0
- package/src/AvatarGroup.tsrx +32 -0
- package/src/AvatarGroup.web.tsrx +29 -0
- package/src/Badge.macos.tsrx +12 -0
- package/src/Badge.tsrx +12 -0
- package/src/Badge.web.tsrx +10 -0
- package/src/Banner.macos.tsrx +20 -0
- package/src/Banner.tsrx +20 -0
- package/src/Banner.web.tsrx +20 -0
- package/src/Breadcrumb.macos.tsrx +27 -0
- package/src/Breadcrumb.tsrx +27 -0
- package/src/Breadcrumb.web.tsrx +25 -0
- package/src/Button.tsrx +23 -0
- package/src/Button.web.tsrx +21 -0
- package/src/CameraView.macos.tsrx +6 -0
- package/src/Card.macos.tsrx +13 -0
- package/src/Card.tsrx +13 -0
- package/src/Card.web.tsrx +11 -0
- package/src/Checkbox.tsrx +23 -0
- package/src/Checkbox.web.tsrx +34 -0
- package/src/CheckboxGroup.macos.tsrx +39 -0
- package/src/CheckboxGroup.tsrx +39 -0
- package/src/CheckboxGroup.web.tsrx +38 -0
- package/src/Chip.macos.tsrx +25 -0
- package/src/Chip.tsrx +25 -0
- package/src/Chip.web.tsrx +25 -0
- package/src/Collapsible.macos.tsrx +39 -0
- package/src/Collapsible.tsrx +39 -0
- package/src/Collapsible.web.tsrx +33 -0
- package/src/CommandPalette.macos.tsrx +58 -0
- package/src/CommandPalette.tsrx +58 -0
- package/src/CommandPalette.web.tsrx +59 -0
- package/src/ContextMenu.macos.tsrx +59 -0
- package/src/ContextMenu.tsrx +59 -0
- package/src/ContextMenu.web.tsrx +69 -0
- package/src/Drawer.macos.tsrx +28 -0
- package/src/Drawer.tsrx +25 -0
- package/src/Drawer.web.tsrx +31 -0
- package/src/DropdownMenu.macos.tsrx +63 -0
- package/src/DropdownMenu.tsrx +63 -0
- package/src/DropdownMenu.web.tsrx +78 -0
- package/src/Empty.macos.tsrx +15 -0
- package/src/Empty.tsrx +15 -0
- package/src/Empty.web.tsrx +13 -0
- package/src/FieldGroup.macos.tsrx +17 -0
- package/src/FieldGroup.tsrx +17 -0
- package/src/FieldGroup.web.tsrx +17 -0
- package/src/FormField.macos.tsrx +25 -0
- package/src/FormField.tsrx +25 -0
- package/src/FormField.web.tsrx +24 -0
- package/src/Grid.tsrx +32 -0
- package/src/Grid.web.tsrx +43 -0
- package/src/Heading.macos.tsrx +8 -0
- package/src/Heading.tsrx +17 -0
- package/src/Heading.web.tsrx +15 -0
- package/src/Hoverable.mobile.tsrx +21 -0
- package/src/Hoverable.tsrx +113 -0
- package/src/Hoverable.web.tsrx +98 -0
- package/src/Icon.macos.tsrx +18 -0
- package/src/Icon.tsrx +65 -0
- package/src/Icon.web.tsrx +75 -0
- package/src/Image.macos.tsrx +12 -0
- package/src/Image.tsrx +51 -0
- package/src/Image.web.tsrx +14 -0
- package/src/InputNumber.macos.tsrx +49 -0
- package/src/InputNumber.tsrx +49 -0
- package/src/InputNumber.web.tsrx +47 -0
- package/src/InputRating.macos.tsrx +42 -0
- package/src/InputRating.tsrx +39 -0
- package/src/InputRating.web.tsrx +52 -0
- package/src/InputTags.macos.tsrx +49 -0
- package/src/InputTags.tsrx +49 -0
- package/src/InputTags.web.tsrx +49 -0
- package/src/Kbd.macos.tsrx +11 -0
- package/src/Kbd.tsrx +11 -0
- package/src/Kbd.web.tsrx +9 -0
- package/src/KeyboardAvoiding.macos.tsrx +8 -0
- package/src/KeyboardAvoiding.mobile.tsrx +63 -0
- package/src/Link.macos.tsrx +15 -0
- package/src/Link.tsrx +10 -0
- package/src/Link.web.tsrx +12 -0
- package/src/ListItem.macos.tsrx +52 -0
- package/src/ListItem.tsrx +52 -0
- package/src/ListItem.web.tsrx +50 -0
- package/src/Meter.macos.tsrx +8 -0
- package/src/Meter.tsrx +45 -0
- package/src/Meter.web.tsrx +32 -0
- package/src/NavLink.macos.tsrx +24 -0
- package/src/NavLink.tsrx +22 -0
- package/src/NavLink.web.tsrx +23 -0
- package/src/NavigationMenu.macos.tsrx +31 -0
- package/src/NavigationMenu.tsrx +28 -0
- package/src/NavigationMenu.web.tsrx +31 -0
- package/src/Overlay.macos.tsrx +11 -0
- package/src/Overlay.tsrx +84 -0
- package/src/Overlay.web.tsrx +23 -0
- package/src/Pagination.macos.tsrx +54 -0
- package/src/Pagination.tsrx +47 -0
- package/src/Pagination.web.tsrx +50 -0
- package/src/PinInput.macos.tsrx +46 -0
- package/src/PinInput.tsrx +46 -0
- package/src/PinInput.web.tsrx +45 -0
- package/src/Popover.macos.tsrx +11 -0
- package/src/Popover.tsrx +157 -0
- package/src/Popover.web.tsrx +109 -0
- package/src/Pressable.macos.tsrx +19 -0
- package/src/Pressable.tsrx +37 -0
- package/src/Pressable.web.tsrx +45 -0
- package/src/ProgressGroup.macos.tsrx +17 -0
- package/src/ProgressGroup.tsrx +17 -0
- package/src/ProgressGroup.web.tsrx +15 -0
- package/src/RadioGroup.macos.tsrx +50 -0
- package/src/RadioGroup.tsrx +34 -0
- package/src/RadioGroup.web.tsrx +43 -0
- package/src/RichText.tsrx +40 -0
- package/src/RichText.web.tsrx +24 -0
- package/src/RouteHost.macos.tsrx +18 -0
- package/src/RouteHost.mobile.tsrx +44 -0
- package/src/Row.macos.tsrx +26 -0
- package/src/Row.tsrx +27 -0
- package/src/Row.web.tsrx +27 -0
- package/src/SafeArea.macos.tsrx +8 -0
- package/src/SafeArea.tsrx +20 -0
- package/src/SafeArea.web.tsrx +24 -0
- package/src/Screen.macos.tsrx +14 -0
- package/src/Screen.tsrx +31 -0
- package/src/Screen.web.tsrx +7 -0
- package/src/ScrollBox.tsrx +8 -0
- package/src/ScrollBox.web.tsrx +7 -0
- package/src/ScrollView.macos.tsrx +19 -0
- package/src/ScrollView.tsrx +117 -0
- package/src/ScrollView.web.tsrx +109 -0
- package/src/SearchInput.tsrx +60 -0
- package/src/SearchInput.web.test.tsrx +58 -0
- package/src/SearchInput.web.tsrx +55 -0
- package/src/SegmentedControl.tsrx +43 -0
- package/src/SegmentedControl.web.test.tsrx +46 -0
- package/src/SegmentedControl.web.tsrx +51 -0
- package/src/Select.macos.tsrx +104 -0
- package/src/Select.tsrx +104 -0
- package/src/Select.web.tsrx +124 -0
- package/src/Separator.macos.tsrx +17 -0
- package/src/Separator.tsrx +17 -0
- package/src/Separator.web.tsrx +17 -0
- package/src/Sheet.macos.tsrx +15 -0
- package/src/Sheet.tsrx +122 -0
- package/src/Sheet.web.tsrx +56 -0
- package/src/Skeleton.macos.tsrx +15 -0
- package/src/Skeleton.tsrx +15 -0
- package/src/Skeleton.web.tsrx +15 -0
- package/src/Slider.tsrx +71 -0
- package/src/Slider.web.tsrx +60 -0
- package/src/Spacer.tsrx +8 -0
- package/src/Spacer.web.tsrx +6 -0
- package/src/Stack.tsrx +24 -0
- package/src/Stack.web.tsrx +22 -0
- package/src/Stepper.macos.tsrx +52 -0
- package/src/Stepper.tsrx +31 -0
- package/src/Stepper.web.tsrx +37 -0
- package/src/Switch.tsrx +21 -0
- package/src/Switch.web.tsrx +28 -0
- package/src/Table.macos.tsrx +37 -0
- package/src/Table.tsrx +37 -0
- package/src/Table.web.tsrx +37 -0
- package/src/Tabs.macos.tsrx +60 -0
- package/src/Tabs.tsrx +55 -0
- package/src/Tabs.web.tsrx +98 -0
- package/src/Text.macos.tsrx +18 -0
- package/src/Text.tsrx +62 -0
- package/src/Text.web.tsrx +31 -0
- package/src/TextArea.tsrx +65 -0
- package/src/TextArea.web.tsrx +61 -0
- package/src/TextInput.tsrx +39 -0
- package/src/TextInput.web.tsrx +28 -0
- package/src/Timeline.macos.tsrx +27 -0
- package/src/Timeline.tsrx +24 -0
- package/src/Timeline.web.tsrx +22 -0
- package/src/Tooltip.mobile.tsrx +20 -0
- package/src/Tooltip.tsrx +102 -0
- package/src/Tooltip.web.tsrx +156 -0
- package/src/Tree.macos.tsrx +45 -0
- package/src/Tree.tsrx +45 -0
- package/src/Tree.web.tsrx +52 -0
- package/src/User.macos.tsrx +24 -0
- package/src/User.tsrx +24 -0
- package/src/User.web.tsrx +24 -0
- package/src/View.macos.tsrx +29 -0
- package/src/View.tsrx +32 -0
- package/src/View.web.tsrx +33 -0
- package/src/VirtualList.macos.tsrx +298 -0
- package/src/VirtualList.tsrx +358 -0
- package/src/VirtualList.web.tsrx +313 -0
- package/src/WebView.macos.tsrx +6 -0
- package/src/WebView.tsrx +89 -0
- package/src/WebView.web.tsrx +92 -0
- package/src/aliases.macos.tsrx +18 -0
- package/src/aliases.tsrx +18 -0
- package/src/aliases.web.tsrx +17 -0
- package/src/android/BottomNavigationView.android.tsrx +170 -0
- package/src/android/CircularProgressIndicator.android.tsrx +19 -0
- package/src/android/DrawerLayout.android.tsrx +48 -0
- package/src/android/MaterialDialog.android.tsrx +62 -0
- package/src/android/MaterialSwitch.android.tsrx +18 -0
- package/src/android/RecyclerView.android.tsrx +173 -0
- package/src/android/SeekBar.android.tsrx +20 -0
- package/src/android/icon.android.ts +8 -0
- package/src/android/index.ts +37 -0
- package/src/android/openModal.android.ts +55 -0
- package/src/anim.macos.tsrx +20 -0
- package/src/anim.tsrx +65 -0
- package/src/anim.web.tsrx +55 -0
- package/src/apply-native-modifiers.native.ts +13 -0
- package/src/camera-permission.web.ts +11 -0
- package/src/child-array.ts +16 -0
- package/src/colorScheme.macos.ts +27 -0
- package/src/controls.macos.tsrx +171 -0
- package/src/cx.ts +8 -0
- package/src/escape-props.macos.ts +11 -0
- package/src/escape-props.ts +70 -0
- package/src/escape-props.web.ts +25 -0
- package/src/hosted-unsupported.macos.tsrx +9 -0
- package/src/icons.ts +60 -0
- package/src/index.linux.ts +10 -0
- package/src/index.macos.ts +106 -0
- package/src/index.mobile.ts +6 -0
- package/src/index.shared.ts +269 -0
- package/src/index.shared.web.ts +270 -0
- package/src/index.ts +1 -0
- package/src/index.web.ts +1 -0
- package/src/ios/LiquidGlass.ios.tsrx +41 -0
- package/src/ios/LiquidGlassContainer.ios.tsrx +34 -0
- package/src/ios/SideDrawer.ios.tsrx +49 -0
- package/src/ios/UIActivityIndicatorView.ios.tsrx +18 -0
- package/src/ios/UIModal.ios.tsrx +68 -0
- package/src/ios/UISlider.ios.tsrx +20 -0
- package/src/ios/UISwitch.ios.tsrx +18 -0
- package/src/ios/UITabBar.ios.tsrx +172 -0
- package/src/ios/UITableView.ios.tsrx +186 -0
- package/src/ios/icon.ios.ts +8 -0
- package/src/ios/index.ts +42 -0
- package/src/ios/openModal.ios.ts +55 -0
- package/src/keyboard-inset.mobile.ts +89 -0
- package/src/layout-child.ts +57 -0
- package/src/layout-child.web.ts +108 -0
- package/src/layout-shells.macos.tsrx +10 -0
- package/src/layout.macos.tsrx +41 -0
- package/src/macos-extras.macos.tsrx +40 -0
- package/src/meter-math.ts +6 -0
- package/src/modal-presenter.mobile.ts +24 -0
- package/src/modifier-factories.ts +20 -0
- package/src/native/index.ts +6 -0
- package/src/pan.tsrx +64 -0
- package/src/pan.web.tsrx +38 -0
- package/src/platform.macos.ts +1 -0
- package/src/platform.ts +7 -0
- package/src/platform.web.ts +6 -0
- package/src/platformProps.ts +23 -0
- package/src/platformProps.web.ts +14 -0
- package/src/popover-position.ts +62 -0
- package/src/popover.mobile.test.ts +54 -0
- package/src/props.ts +1812 -0
- package/src/references.d.ts +2 -0
- package/src/refresh-metrics.ts +11 -0
- package/src/refresh.ts +271 -0
- package/src/refresh.web.test.ts +111 -0
- package/src/refresh.web.ts +205 -0
- package/src/root-layout.mobile.ts +89 -0
- package/src/route-host.mobile.ts +1 -0
- package/src/route-table.test.ts +345 -0
- package/src/route-table.ts +585 -0
- package/src/route.macos.ts +201 -0
- package/src/route.ts +703 -0
- package/src/route.web.ts +366 -0
- package/src/safeAreaInsets.macos.tsrx +7 -0
- package/src/safeAreaInsets.tsrx +60 -0
- package/src/safeAreaInsets.web.tsrx +38 -0
- package/src/sheet-detents.ts +142 -0
- package/src/sheet-detents.web.ts +147 -0
- package/src/sheet-service.macos.ts +60 -0
- package/src/sheet-service.ts +124 -0
- package/src/sheet-service.web.ts +64 -0
- package/src/sheet-snap.test.ts +46 -0
- package/src/sheet-snap.ts +66 -0
- package/src/stacks.macos.ts +13 -0
- package/src/stacks.ts +44 -0
- package/src/stacks.web.ts +9 -0
- package/src/store.mobile.test.ts +149 -0
- package/src/store.ts +39 -0
- package/src/store.web.test.tsrx +58 -0
- package/src/styled.macos.tsrx +23 -0
- package/src/styled.test.ts +40 -0
- package/src/styled.tsrx +36 -0
- package/src/styled.web.tsrx +23 -0
- package/src/surfaces.macos.tsrx +27 -0
- package/src/svg.mobile.ts +76 -0
- package/src/tap-to-blur.mobile.ts +108 -0
- package/src/text-controls.macos.tsrx +11 -0
- package/src/text-write.ts +28 -0
- package/src/text-write.web.ts +13 -0
- package/src/theme/colorScheme.linux.ts +52 -0
- package/src/theme/colorScheme.ts +26 -0
- package/src/theme/colorScheme.web.ts +20 -0
- package/src/theme/status-bar-scheme.mobile.ts +39 -0
- package/src/theme/theme-scheme.macos.ts +50 -0
- package/src/theme/theme-scheme.ts +66 -0
- package/src/theme/tokens.css +44 -22
- package/src/toast-anchor.macos.tsrx +3 -0
- package/src/toast-anchor.tsrx +122 -0
- package/src/toast-anchor.web.tsrx +92 -0
- package/src/toast.tsrx +90 -0
- package/src/toast.web.tsrx +50 -0
- package/src/transform.web.ts +52 -0
- package/src/translate.macos.ts +5 -0
- package/src/translate.ts +13 -0
- package/src/translate.web.ts +15 -0
- package/src/tsconfig.json +8 -0
- package/src/unsupported.macos.tsrx +5 -0
- package/src/use-back.tsrx +11 -0
- package/src/use-back.web.tsrx +12 -0
- package/src/use-store.tsrx +18 -0
- package/src/use-store.web.tsrx +18 -0
- package/src/useMeasure.macos.tsrx +23 -0
- package/src/useMeasure.tsrx +66 -0
- package/src/useMeasure.web.tsrx +39 -0
- package/src/useStore.macos.tsrx +6 -0
- package/src/vendor/ui-svg/LICENSE +201 -0
- package/src/vendor/ui-svg/index.android.ts +189 -0
- package/src/vendor/ui-svg/index.common.ts +19 -0
- package/src/vendor/ui-svg/index.ios.ts +147 -0
- package/src/vendor/ui-svg/index.ts +1 -0
- package/src/vendor/ui-svg/typings/SVGKit.d.ts +2862 -0
- package/src/vendor/ui-svg/typings/android.d.ts +1483 -0
- package/src/vendor/ui-svg/typings/ios.d.ts +1511 -0
- package/src/virtual-list-layout.test.ts +81 -0
- package/src/virtual-list-layout.ts +246 -0
- package/src/web/index.ts +11 -0
- package/src/windows.linux.ts +59 -0
- package/src/windows.macos.ts +10 -0
- package/src/windows.ts +7 -0
- package/src/windows.web.ts +6 -0
- package/types/generated/.tsrx-typegen-manifest.json +250 -0
- package/types/generated/Absolute.d.ts +3 -0
- package/types/generated/Absolute.web.d.ts +3 -0
- package/types/generated/Accordion.d.ts +5 -0
- package/types/generated/Accordion.web.d.ts +5 -0
- package/types/generated/ActivityIndicator.d.ts +7 -0
- package/types/generated/ActivityIndicator.web.d.ts +3 -0
- package/types/generated/Alert.d.ts +4 -0
- package/types/generated/Alert.web.d.ts +5 -0
- package/types/generated/Avatar.d.ts +6 -0
- package/types/generated/Avatar.web.d.ts +7 -0
- package/types/generated/AvatarGroup.d.ts +6 -0
- package/types/generated/AvatarGroup.web.d.ts +6 -0
- package/types/generated/Badge.d.ts +5 -0
- package/types/generated/Badge.web.d.ts +5 -0
- package/types/generated/Banner.d.ts +4 -0
- package/types/generated/Banner.web.d.ts +4 -0
- package/types/generated/Breadcrumb.d.ts +4 -0
- package/types/generated/Breadcrumb.web.d.ts +5 -0
- package/types/generated/Button.d.ts +6 -0
- package/types/generated/Button.web.d.ts +6 -0
- package/types/generated/Card.d.ts +4 -0
- package/types/generated/Card.web.d.ts +4 -0
- package/types/generated/Checkbox.d.ts +5 -0
- package/types/generated/Checkbox.web.d.ts +6 -0
- package/types/generated/CheckboxGroup.d.ts +3 -0
- package/types/generated/CheckboxGroup.web.d.ts +3 -0
- package/types/generated/Chip.d.ts +5 -0
- package/types/generated/Chip.web.d.ts +5 -0
- package/types/generated/Collapsible.d.ts +5 -0
- package/types/generated/Collapsible.web.d.ts +5 -0
- package/types/generated/CommandPalette.d.ts +4 -0
- package/types/generated/CommandPalette.web.d.ts +4 -0
- package/types/generated/ContextMenu.d.ts +5 -0
- package/types/generated/ContextMenu.web.d.ts +4 -0
- package/types/generated/Drawer.d.ts +7 -0
- package/types/generated/Drawer.web.d.ts +7 -0
- package/types/generated/DropdownMenu.d.ts +5 -0
- package/types/generated/DropdownMenu.web.d.ts +5 -0
- package/types/generated/Empty.d.ts +4 -0
- package/types/generated/Empty.web.d.ts +4 -0
- package/types/generated/FieldGroup.d.ts +4 -0
- package/types/generated/FieldGroup.web.d.ts +4 -0
- package/types/generated/FormField.d.ts +5 -0
- package/types/generated/FormField.web.d.ts +5 -0
- package/types/generated/Grid.d.ts +3 -0
- package/types/generated/Grid.web.d.ts +3 -0
- package/types/generated/Heading.d.ts +2 -0
- package/types/generated/Heading.web.d.ts +2 -0
- package/types/generated/Hoverable.d.ts +10 -0
- package/types/generated/Hoverable.web.d.ts +9 -0
- package/types/generated/Icon.d.ts +3 -0
- package/types/generated/Icon.web.d.ts +3 -0
- package/types/generated/Image.d.ts +7 -0
- package/types/generated/Image.web.d.ts +3 -0
- package/types/generated/InputNumber.d.ts +5 -0
- package/types/generated/InputNumber.web.d.ts +5 -0
- package/types/generated/InputRating.d.ts +4 -0
- package/types/generated/InputRating.web.d.ts +4 -0
- package/types/generated/InputTags.d.ts +4 -0
- package/types/generated/InputTags.web.d.ts +5 -0
- package/types/generated/Kbd.d.ts +4 -0
- package/types/generated/Kbd.web.d.ts +4 -0
- package/types/generated/KeyboardAvoiding.mobile.d.ts +2 -0
- package/types/generated/Link.d.ts +2 -0
- package/types/generated/Link.web.d.ts +3 -0
- package/types/generated/ListItem.d.ts +3 -0
- package/types/generated/ListItem.web.d.ts +3 -0
- package/types/generated/Meter.d.ts +3 -0
- package/types/generated/Meter.web.d.ts +3 -0
- package/types/generated/NavLink.d.ts +3 -0
- package/types/generated/NavLink.web.d.ts +3 -0
- package/types/generated/NavigationMenu.d.ts +4 -0
- package/types/generated/NavigationMenu.web.d.ts +5 -0
- package/types/generated/Overlay.d.ts +3 -0
- package/types/generated/Overlay.web.d.ts +3 -0
- package/types/generated/Pagination.d.ts +4 -0
- package/types/generated/Pagination.web.d.ts +5 -0
- package/types/generated/PinInput.d.ts +4 -0
- package/types/generated/PinInput.web.d.ts +4 -0
- package/types/generated/Popover.d.ts +6 -0
- package/types/generated/Popover.web.d.ts +3 -0
- package/types/generated/Pressable.d.ts +6 -0
- package/types/generated/Pressable.web.d.ts +2 -0
- package/types/generated/ProgressGroup.d.ts +3 -0
- package/types/generated/ProgressGroup.web.d.ts +4 -0
- package/types/generated/RadioGroup.d.ts +5 -0
- package/types/generated/RadioGroup.web.d.ts +5 -0
- package/types/generated/RichText.d.ts +7 -0
- package/types/generated/RichText.web.d.ts +3 -0
- package/types/generated/RouteHost.mobile.d.ts +14 -0
- package/types/generated/Row.d.ts +2 -0
- package/types/generated/Row.web.d.ts +2 -0
- package/types/generated/SafeArea.d.ts +2 -0
- package/types/generated/SafeArea.web.d.ts +3 -0
- package/types/generated/Screen.d.ts +3 -0
- package/types/generated/Screen.web.d.ts +3 -0
- package/types/generated/ScrollBox.d.ts +3 -0
- package/types/generated/ScrollBox.web.d.ts +3 -0
- package/types/generated/ScrollView.d.ts +7 -0
- package/types/generated/ScrollView.web.d.ts +6 -0
- package/types/generated/SearchInput.d.ts +7 -0
- package/types/generated/SearchInput.web.d.ts +6 -0
- package/types/generated/SegmentedControl.d.ts +7 -0
- package/types/generated/SegmentedControl.web.d.ts +6 -0
- package/types/generated/Select.d.ts +6 -0
- package/types/generated/Select.web.d.ts +6 -0
- package/types/generated/Separator.d.ts +5 -0
- package/types/generated/Separator.web.d.ts +5 -0
- package/types/generated/Sheet.d.ts +5 -0
- package/types/generated/Sheet.web.d.ts +7 -0
- package/types/generated/Skeleton.d.ts +5 -0
- package/types/generated/Skeleton.web.d.ts +6 -0
- package/types/generated/Slider.d.ts +6 -0
- package/types/generated/Slider.web.d.ts +6 -0
- package/types/generated/Spacer.d.ts +3 -0
- package/types/generated/Spacer.web.d.ts +3 -0
- package/types/generated/Stack.d.ts +3 -0
- package/types/generated/Stack.web.d.ts +3 -0
- package/types/generated/Stepper.d.ts +4 -0
- package/types/generated/Stepper.web.d.ts +5 -0
- package/types/generated/Switch.d.ts +7 -0
- package/types/generated/Switch.web.d.ts +6 -0
- package/types/generated/Table.d.ts +4 -0
- package/types/generated/Table.web.d.ts +5 -0
- package/types/generated/Tabs.d.ts +10 -0
- package/types/generated/Tabs.web.d.ts +6 -0
- package/types/generated/Text.d.ts +2 -0
- package/types/generated/Text.web.d.ts +2 -0
- package/types/generated/TextArea.d.ts +8 -0
- package/types/generated/TextArea.web.d.ts +9 -0
- package/types/generated/TextInput.d.ts +9 -0
- package/types/generated/TextInput.web.d.ts +2 -0
- package/types/generated/Timeline.d.ts +3 -0
- package/types/generated/Timeline.web.d.ts +4 -0
- package/types/generated/Tooltip.d.ts +9 -0
- package/types/generated/Tooltip.web.d.ts +12 -0
- package/types/generated/Tree.d.ts +4 -0
- package/types/generated/Tree.web.d.ts +4 -0
- package/types/generated/User.d.ts +5 -0
- package/types/generated/User.web.d.ts +5 -0
- package/types/generated/View.d.ts +7 -0
- package/types/generated/View.web.d.ts +7 -0
- package/types/generated/VirtualList.d.ts +5 -0
- package/types/generated/VirtualList.web.d.ts +4 -0
- package/types/generated/WebView.d.ts +11 -0
- package/types/generated/WebView.web.d.ts +5 -0
- package/types/generated/aliases.d.ts +7 -0
- package/types/generated/aliases.web.d.ts +7 -0
- package/types/generated/android/BottomNavigationView.android.d.ts +9 -0
- package/types/generated/android/CircularProgressIndicator.android.d.ts +6 -0
- package/types/generated/android/DrawerLayout.android.d.ts +12 -0
- package/types/generated/android/MaterialDialog.android.d.ts +8 -0
- package/types/generated/android/MaterialSwitch.android.d.ts +6 -0
- package/types/generated/android/RecyclerView.android.d.ts +14 -0
- package/types/generated/android/SeekBar.android.d.ts +5 -0
- package/types/generated/android/icon.android.d.ts +5 -0
- package/types/generated/android/index.d.ts +12 -0
- package/types/generated/android/openModal.android.d.ts +4 -0
- package/types/generated/anim.d.ts +10 -0
- package/types/generated/anim.web.d.ts +3 -0
- package/types/generated/apply-native-modifiers.native.d.ts +3 -0
- package/types/generated/child-array.d.ts +3 -0
- package/types/generated/cx.d.ts +6 -0
- package/types/generated/escape-props.d.ts +16 -0
- package/types/generated/icons.d.ts +5 -0
- package/types/generated/index.d.ts +1 -0
- package/types/generated/index.linux.d.ts +5 -0
- package/types/generated/index.mobile.d.ts +4 -0
- package/types/generated/index.shared.d.ts +111 -0
- package/types/generated/index.shared.web.d.ts +111 -0
- package/types/generated/index.web.d.ts +1 -0
- package/types/generated/ios/LiquidGlass.ios.d.ts +12 -0
- package/types/generated/ios/LiquidGlassContainer.ios.d.ts +13 -0
- package/types/generated/ios/SideDrawer.ios.d.ts +12 -0
- package/types/generated/ios/UIActivityIndicatorView.ios.d.ts +5 -0
- package/types/generated/ios/UIModal.ios.d.ts +7 -0
- package/types/generated/ios/UISlider.ios.d.ts +5 -0
- package/types/generated/ios/UISwitch.ios.d.ts +6 -0
- package/types/generated/ios/UITabBar.ios.d.ts +7 -0
- package/types/generated/ios/UITableView.ios.d.ts +14 -0
- package/types/generated/ios/icon.ios.d.ts +5 -0
- package/types/generated/ios/index.d.ts +14 -0
- package/types/generated/ios/openModal.ios.d.ts +4 -0
- package/types/generated/keyboard-inset.mobile.d.ts +10 -0
- package/types/generated/layout-child.d.ts +6 -0
- package/types/generated/layout-child.web.d.ts +15 -0
- package/types/generated/meter-math.d.ts +6 -0
- package/types/generated/modal-presenter.mobile.d.ts +14 -0
- package/types/generated/modifier-factories.d.ts +15 -0
- package/types/generated/native/index.d.ts +3 -0
- package/types/generated/pan.d.ts +2 -0
- package/types/generated/pan.web.d.ts +9 -0
- package/types/generated/platform.d.ts +7 -0
- package/types/generated/platform.web.d.ts +6 -0
- package/types/generated/platformProps.d.ts +7 -0
- package/types/generated/platformProps.web.d.ts +2 -0
- package/types/generated/popover-position.d.ts +14 -0
- package/types/{props.d.ts → generated/props.d.ts} +127 -133
- package/types/generated/refresh-metrics.d.ts +8 -0
- package/types/generated/refresh.d.ts +42 -0
- package/types/generated/refresh.web.d.ts +23 -0
- package/types/generated/root-layout.mobile.d.ts +22 -0
- package/types/generated/route-host.mobile.d.ts +1 -0
- package/types/generated/route-table.d.ts +90 -0
- package/types/generated/route.d.ts +74 -0
- package/types/generated/route.web.d.ts +67 -0
- package/types/generated/safeAreaInsets.d.ts +8 -0
- package/types/generated/safeAreaInsets.web.d.ts +8 -0
- package/types/generated/sheet-detents.d.ts +23 -0
- package/types/generated/sheet-detents.web.d.ts +13 -0
- package/types/generated/sheet-service.d.ts +11 -0
- package/types/generated/sheet-service.web.d.ts +6 -0
- package/types/generated/sheet-snap.d.ts +18 -0
- package/types/generated/stacks.d.ts +9 -0
- package/types/generated/stacks.web.d.ts +4 -0
- package/types/generated/store.d.ts +14 -0
- package/types/generated/styled.d.ts +20 -0
- package/types/generated/styled.web.d.ts +10 -0
- package/types/generated/svg.mobile.d.ts +23 -0
- package/types/generated/tap-to-blur.mobile.d.ts +16 -0
- package/types/generated/text-write.d.ts +9 -0
- package/types/generated/theme/colorScheme.d.ts +6 -0
- package/types/generated/theme/colorScheme.linux.d.ts +5 -0
- package/types/generated/theme/colorScheme.web.d.ts +5 -0
- package/types/generated/theme/status-bar-scheme.mobile.d.ts +1 -0
- package/types/generated/theme/theme-scheme.d.ts +20 -0
- package/types/generated/toast-anchor.d.ts +4 -0
- package/types/generated/toast-anchor.web.d.ts +4 -0
- package/types/generated/transform.web.d.ts +8 -0
- package/types/generated/translate.d.ts +5 -0
- package/types/generated/translate.web.d.ts +6 -0
- package/types/generated/use-back.d.ts +6 -0
- package/types/generated/use-back.web.d.ts +7 -0
- package/types/generated/use-store.d.ts +9 -0
- package/types/generated/use-store.web.d.ts +9 -0
- package/types/generated/useMeasure.d.ts +3 -0
- package/types/generated/useMeasure.web.d.ts +3 -0
- package/types/generated/vendor/ui-svg/index.common.d.ts +7 -0
- package/types/generated/vendor/ui-svg/index.d.ts +1 -0
- package/types/generated/vendor/ui-svg/index.ios.d.ts +13 -0
- package/types/generated/virtual-list-layout.d.ts +44 -0
- package/types/generated/web/index.d.ts +3 -0
- package/types/generated/windows.d.ts +3 -0
- package/types/generated/windows.linux.d.ts +15 -0
- package/types/generated/windows.web.d.ts +3 -0
- package/types/index.macos.d.ts +142 -0
- package/dist/native/CameraView.native.tsrx.js +0 -165
- package/dist/native/Meter.native.tsrx.js +0 -92
- package/dist/native/Pager.native.tsrx.js +0 -282
- package/dist/native/Video.native.tsrx.js +0 -248
- package/dist/native/camera-permission.native.js +0 -47
- package/dist/native/safeAreaInsets.native.tsrx.js +0 -35
- package/dist/native/video-chrome.native.tsrx.js +0 -365
- package/dist/web/CameraView.web.tsrx.js +0 -310
- package/dist/web/Pager.web.tsrx.js +0 -337
- package/dist/web/Video.web.tsrx.js +0 -400
- package/dist/web/video-chrome.web.tsrx.js +0 -207
- package/types/android.d.ts +0 -53
- package/types/index.d.ts +0 -273
- package/types/index.native.d.ts +0 -273
- package/types/index.web.d.ts +0 -272
- package/types/ios.d.ts +0 -59
- package/types/native.d.ts +0 -5
- package/types/web.d.ts +0 -17
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { cx } from "../cx.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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 };
|
package/dist/native/ios/index.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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/modal-presenter.
|
|
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.
|
|
2
|
-
import { layoutsForRoute } from "../route.
|
|
3
|
-
import { sheetHost } from "../sheet-service.
|
|
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
|
import { hookSlots, useCallback, useRef } from "@nativescript-community/octane";
|
|
2
2
|
import { Utils } from "@nativescript/core";
|
|
3
|
-
//#region src/pan.
|
|
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.
|
|
1
|
+
//#region src/platform.ts
|
|
2
2
|
/** Compile-time platform flag — `true` in every NativeScript build.
|
|
3
|
-
* Prefer `.web
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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) {
|
|
@@ -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|
|
|
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(
|
|
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.
|
|
2
|
-
import { RouteRedirect, buildRoutePath, layoutChain, linkPath, matchUrl } from "./route-table.js";
|
|
3
|
-
import { RouteHost } from "./RouteHost.
|
|
4
|
-
import
|
|
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.
|
|
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
|
-
|
|
37
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
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 };
|