react-native-platform-components 1.3.0 → 1.5.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/PlatformComponents.podspec +1 -1
- package/README.md +47 -51
- package/android/src/main/java/com/platformcomponents/PCButtonGroupView.kt +664 -0
- package/android/src/main/java/com/platformcomponents/PCButtonGroupViewManager.kt +241 -0
- package/android/src/main/java/com/platformcomponents/PCButtonSupport.kt +159 -0
- package/android/src/main/java/com/platformcomponents/PCButtonView.kt +527 -0
- package/android/src/main/java/com/platformcomponents/PCButtonViewManager.kt +204 -0
- package/android/src/main/java/com/platformcomponents/PCContextMenuView.kt +41 -151
- package/android/src/main/java/com/platformcomponents/PCContextMenuViewManager.kt +7 -63
- package/android/src/main/java/com/platformcomponents/PCDatePickerView.kt +310 -115
- package/android/src/main/java/com/platformcomponents/PCDatePickerViewManager.kt +23 -3
- package/android/src/main/java/com/platformcomponents/PCExpressive.kt +112 -0
- package/android/src/main/java/com/platformcomponents/PCFloatingActionButtonView.kt +485 -0
- package/android/src/main/java/com/platformcomponents/PCFloatingActionButtonViewManager.kt +109 -0
- package/android/src/main/java/com/platformcomponents/PCFloatingToolbarView.kt +247 -0
- package/android/src/main/java/com/platformcomponents/PCFloatingToolbarViewManager.kt +73 -0
- package/android/src/main/java/com/platformcomponents/PCHaptics.kt +46 -0
- package/android/src/main/java/com/platformcomponents/PCImageLoader.kt +42 -7
- package/android/src/main/java/com/platformcomponents/PCLiquidGlassContainerView.kt +32 -0
- package/android/src/main/java/com/platformcomponents/PCLiquidGlassContainerViewManager.kt +31 -0
- package/android/src/main/java/com/platformcomponents/PCLiquidGlassView.kt +32 -6
- package/android/src/main/java/com/platformcomponents/PCLiquidGlassViewManager.kt +4 -0
- package/android/src/main/java/com/platformcomponents/PCMenuSupport.kt +280 -0
- package/android/src/main/java/com/platformcomponents/PCNavigationBarSupport.kt +332 -0
- package/android/src/main/java/com/platformcomponents/PCNavigationRailView.kt +448 -0
- package/android/src/main/java/com/platformcomponents/PCNavigationRailViewManager.kt +176 -0
- package/android/src/main/java/com/platformcomponents/PCSegmentedControlView.kt +35 -17
- package/android/src/main/java/com/platformcomponents/PCSegmentedControlViewManager.kt +20 -3
- package/android/src/main/java/com/platformcomponents/PCSelectionMenuView.kt +371 -39
- package/android/src/main/java/com/platformcomponents/PCSelectionMenuViewManager.kt +18 -4
- package/android/src/main/java/com/platformcomponents/PCTabBarView.kt +397 -0
- package/android/src/main/java/com/platformcomponents/PCTabBarViewManager.kt +182 -0
- package/android/src/main/java/com/platformcomponents/PCTextFieldView.kt +1393 -0
- package/android/src/main/java/com/platformcomponents/PCTextFieldViewManager.kt +354 -0
- package/android/src/main/java/com/platformcomponents/PCThemeSupport.kt +37 -0
- package/android/src/main/java/com/platformcomponents/PlatformComponentsPackage.kt +8 -0
- package/android/src/main/res/drawable/pc_ic_search.xml +12 -0
- package/android/src/main/res/values/attrs.xml +13 -0
- package/android/src/main/res/values/ids.xml +5 -0
- package/android/src/main/res/values/styles.xml +207 -0
- package/ios/PCButton.h +10 -0
- package/ios/PCButton.mm +311 -0
- package/ios/PCButtonGroup.h +10 -0
- package/ios/PCButtonGroup.mm +323 -0
- package/ios/PCButtonGroupView.swift +473 -0
- package/ios/PCButtonSupport.swift +312 -0
- package/ios/PCButtonView.swift +438 -0
- package/ios/PCConstants.swift +23 -2
- package/ios/PCContextMenu.mm +28 -110
- package/ios/PCContextMenu.swift +106 -167
- package/ios/PCDatePicker.mm +21 -9
- package/ios/PCDatePickerView.swift +94 -20
- package/ios/PCFloatingActionButton.h +10 -0
- package/ios/PCFloatingActionButton.mm +177 -0
- package/ios/PCFloatingActionButtonView.swift +426 -0
- package/ios/PCFloatingToolbar.h +10 -0
- package/ios/PCFloatingToolbar.mm +103 -0
- package/ios/PCFloatingToolbarView.swift +336 -0
- package/ios/PCHaptics.swift +91 -0
- package/ios/PCImageLoader.swift +76 -12
- package/ios/PCLiquidGlass.mm +36 -0
- package/ios/PCLiquidGlass.swift +221 -114
- package/ios/PCLiquidGlassContainer.h +10 -0
- package/ios/PCLiquidGlassContainer.mm +84 -0
- package/ios/PCLiquidGlassContainer.swift +69 -0
- package/ios/PCMenuItems.h +76 -0
- package/ios/PCMenuSupport.swift +350 -0
- package/ios/PCNavigationRail.h +10 -0
- package/ios/PCNavigationRail.mm +270 -0
- package/ios/PCNavigationRailView.swift +415 -0
- package/ios/PCSegmentedControl.mm +17 -2
- package/ios/PCSegmentedControl.swift +57 -7
- package/ios/PCSelectionMenu.mm +36 -8
- package/ios/PCSelectionMenu.swift +224 -48
- package/ios/PCTabBar.h +10 -0
- package/ios/PCTabBar.mm +285 -0
- package/ios/PCTabBarAccessory.h +10 -0
- package/ios/PCTabBarAccessory.mm +93 -0
- package/ios/PCTabBarAccessoryView.swift +96 -0
- package/ios/PCTabBarView.swift +671 -0
- package/ios/PCTextField.h +10 -0
- package/ios/PCTextField.mm +546 -0
- package/ios/PCTextFieldView.swift +1558 -0
- package/lib/commonjs/Button.js +149 -0
- package/lib/commonjs/Button.js.map +1 -0
- package/lib/commonjs/ButtonGroup.js +109 -0
- package/lib/commonjs/ButtonGroup.js.map +1 -0
- package/lib/commonjs/ButtonGroupNativeComponent.ts +191 -0
- package/lib/commonjs/ButtonNativeComponent.ts +192 -0
- package/lib/commonjs/ContextMenu.js +9 -48
- package/lib/commonjs/ContextMenu.js.map +1 -1
- package/lib/commonjs/ContextMenuNativeComponent.ts +47 -49
- package/lib/commonjs/DatePicker.js +98 -2
- package/lib/commonjs/DatePicker.js.map +1 -1
- package/lib/commonjs/DatePickerNativeComponent.ts +19 -2
- package/lib/commonjs/FloatingActionButton.js +60 -0
- package/lib/commonjs/FloatingActionButton.js.map +1 -0
- package/lib/commonjs/FloatingActionButtonNativeComponent.ts +58 -0
- package/lib/commonjs/FloatingToolbar.js +77 -0
- package/lib/commonjs/FloatingToolbar.js.map +1 -0
- package/lib/commonjs/FloatingToolbarNativeComponent.ts +47 -0
- package/lib/commonjs/LiquidGlass.js +7 -1
- package/lib/commonjs/LiquidGlass.js.map +1 -1
- package/lib/commonjs/LiquidGlassContainer.js +32 -0
- package/lib/commonjs/LiquidGlassContainer.js.map +1 -0
- package/lib/commonjs/LiquidGlassContainerNativeComponent.ts +17 -0
- package/lib/commonjs/LiquidGlassNativeComponent.ts +8 -0
- package/lib/commonjs/NavigationRail.js +104 -0
- package/lib/commonjs/NavigationRail.js.map +1 -0
- package/lib/commonjs/NavigationRailNativeComponent.ts +107 -0
- package/lib/commonjs/PlatformComponentsProvider.js +18 -0
- package/lib/commonjs/PlatformComponentsProvider.js.map +1 -0
- package/lib/commonjs/SegmentedControl.js +18 -85
- package/lib/commonjs/SegmentedControl.js.map +1 -1
- package/lib/commonjs/SegmentedControlNativeComponent.ts +14 -0
- package/lib/commonjs/SelectionMenu.js +27 -3
- package/lib/commonjs/SelectionMenu.js.map +1 -1
- package/lib/commonjs/SelectionMenuNativeComponent.ts +26 -4
- package/lib/commonjs/SplitButton.js +98 -0
- package/lib/commonjs/SplitButton.js.map +1 -0
- package/lib/commonjs/TabBar.js +203 -0
- package/lib/commonjs/TabBar.js.map +1 -0
- package/lib/commonjs/TabBarAccessoryNativeComponent.ts +19 -0
- package/lib/commonjs/TabBarNativeComponent.ts +145 -0
- package/lib/commonjs/TextField.js +358 -0
- package/lib/commonjs/TextField.js.map +1 -0
- package/lib/commonjs/TextFieldNativeComponent.ts +324 -0
- package/lib/commonjs/focusRegistry.js +79 -0
- package/lib/commonjs/focusRegistry.js.map +1 -0
- package/lib/commonjs/haptics.js +2 -0
- package/lib/commonjs/haptics.js.map +1 -0
- package/lib/commonjs/icons.js +106 -0
- package/lib/commonjs/icons.js.map +1 -0
- package/lib/commonjs/index.js +143 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +157 -63
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/jest.js +910 -0
- package/lib/commonjs/jest.js.map +1 -0
- package/lib/commonjs/labelStyle.js +27 -0
- package/lib/commonjs/labelStyle.js.map +1 -0
- package/lib/commonjs/menuItems.js +68 -0
- package/lib/commonjs/menuItems.js.map +1 -0
- package/lib/commonjs/reactNativeInternals.d.js +2 -0
- package/lib/commonjs/reactNativeInternals.d.js.map +1 -0
- package/lib/commonjs/selectionIdentifiers.js +18 -0
- package/lib/commonjs/selectionIdentifiers.js.map +1 -0
- package/lib/commonjs/submitBehavior.js +19 -0
- package/lib/commonjs/submitBehavior.js.map +1 -0
- package/lib/commonjs/tabItems.js +49 -0
- package/lib/commonjs/tabItems.js.map +1 -0
- package/lib/commonjs/web/Button.js +170 -0
- package/lib/commonjs/web/Button.js.map +1 -0
- package/lib/commonjs/web/ButtonGroup.js +119 -0
- package/lib/commonjs/web/ButtonGroup.js.map +1 -0
- package/lib/commonjs/web/DatePicker.js +168 -0
- package/lib/commonjs/web/DatePicker.js.map +1 -0
- package/lib/commonjs/web/DateRangePicker.js +137 -0
- package/lib/commonjs/web/DateRangePicker.js.map +1 -0
- package/lib/commonjs/web/Dialog.js +54 -0
- package/lib/commonjs/web/Dialog.js.map +1 -0
- package/lib/commonjs/web/FloatingActionButton.js +98 -0
- package/lib/commonjs/web/FloatingActionButton.js.map +1 -0
- package/lib/commonjs/web/Icon.js +34 -0
- package/lib/commonjs/web/Icon.js.map +1 -0
- package/lib/commonjs/web/NativeTheme.js +28 -0
- package/lib/commonjs/web/NativeTheme.js.map +1 -0
- package/lib/commonjs/web/NavigationRail.js +139 -0
- package/lib/commonjs/web/NavigationRail.js.map +1 -0
- package/lib/commonjs/web/PlatformComponentsProvider.js +51 -0
- package/lib/commonjs/web/PlatformComponentsProvider.js.map +1 -0
- package/lib/commonjs/web/SegmentedControl.js +117 -0
- package/lib/commonjs/web/SegmentedControl.js.map +1 -0
- package/lib/commonjs/web/SelectionMenu.js +142 -0
- package/lib/commonjs/web/SelectionMenu.js.map +1 -0
- package/lib/commonjs/web/SplitButton.js +35 -0
- package/lib/commonjs/web/SplitButton.js.map +1 -0
- package/lib/commonjs/web/TabBar.js +131 -0
- package/lib/commonjs/web/TabBar.js.map +1 -0
- package/lib/commonjs/web/TextField.js +322 -0
- package/lib/commonjs/web/TextField.js.map +1 -0
- package/lib/commonjs/web/components.js +36 -0
- package/lib/commonjs/web/components.js.map +1 -0
- package/lib/commonjs/web/containers.js +121 -0
- package/lib/commonjs/web/containers.js.map +1 -0
- package/lib/commonjs/web/dateInput.js +116 -0
- package/lib/commonjs/web/dateInput.js.map +1 -0
- package/lib/commonjs/web/shared.js +192 -0
- package/lib/commonjs/web/shared.js.map +1 -0
- package/lib/commonjs/webComponents.js +6 -0
- package/lib/commonjs/webComponents.js.map +1 -0
- package/lib/module/Button.js +142 -0
- package/lib/module/Button.js.map +1 -0
- package/lib/module/ButtonGroup.js +102 -0
- package/lib/module/ButtonGroup.js.map +1 -0
- package/lib/module/ButtonGroupNativeComponent.ts +191 -0
- package/lib/module/ButtonNativeComponent.ts +192 -0
- package/lib/module/ContextMenu.js +9 -48
- package/lib/module/ContextMenu.js.map +1 -1
- package/lib/module/ContextMenuNativeComponent.ts +47 -49
- package/lib/module/DatePicker.js +98 -4
- package/lib/module/DatePicker.js.map +1 -1
- package/lib/module/DatePickerNativeComponent.ts +19 -2
- package/lib/module/FloatingActionButton.js +53 -0
- package/lib/module/FloatingActionButton.js.map +1 -0
- package/lib/module/FloatingActionButtonNativeComponent.ts +58 -0
- package/lib/module/FloatingToolbar.js +70 -0
- package/lib/module/FloatingToolbar.js.map +1 -0
- package/lib/module/FloatingToolbarNativeComponent.ts +47 -0
- package/lib/module/LiquidGlass.js +7 -1
- package/lib/module/LiquidGlass.js.map +1 -1
- package/lib/module/LiquidGlassContainer.js +26 -0
- package/lib/module/LiquidGlassContainer.js.map +1 -0
- package/lib/module/LiquidGlassContainerNativeComponent.ts +17 -0
- package/lib/module/LiquidGlassNativeComponent.ts +8 -0
- package/lib/module/NavigationRail.js +99 -0
- package/lib/module/NavigationRail.js.map +1 -0
- package/lib/module/NavigationRailNativeComponent.ts +107 -0
- package/lib/module/PlatformComponentsProvider.js +13 -0
- package/lib/module/PlatformComponentsProvider.js.map +1 -0
- package/lib/module/SegmentedControl.js +18 -85
- package/lib/module/SegmentedControl.js.map +1 -1
- package/lib/module/SegmentedControlNativeComponent.ts +14 -0
- package/lib/module/SelectionMenu.js +27 -3
- package/lib/module/SelectionMenu.js.map +1 -1
- package/lib/module/SelectionMenuNativeComponent.ts +26 -4
- package/lib/module/SplitButton.js +91 -0
- package/lib/module/SplitButton.js.map +1 -0
- package/lib/module/TabBar.js +196 -0
- package/lib/module/TabBar.js.map +1 -0
- package/lib/module/TabBarAccessoryNativeComponent.ts +19 -0
- package/lib/module/TabBarNativeComponent.ts +145 -0
- package/lib/module/TextField.js +352 -0
- package/lib/module/TextField.js.map +1 -0
- package/lib/module/TextFieldNativeComponent.ts +324 -0
- package/lib/module/focusRegistry.js +75 -0
- package/lib/module/focusRegistry.js.map +1 -0
- package/lib/module/haptics.js +2 -0
- package/lib/module/haptics.js.map +1 -0
- package/lib/module/icons.js +101 -0
- package/lib/module/icons.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +12 -59
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/jest.js +840 -0
- package/lib/module/jest.js.map +1 -0
- package/lib/module/labelStyle.js +23 -0
- package/lib/module/labelStyle.js.map +1 -0
- package/lib/module/menuItems.js +65 -0
- package/lib/module/menuItems.js.map +1 -0
- package/lib/module/reactNativeInternals.d.js +2 -0
- package/lib/module/reactNativeInternals.d.js.map +1 -0
- package/lib/module/selectionIdentifiers.js +14 -0
- package/lib/module/selectionIdentifiers.js.map +1 -0
- package/lib/module/submitBehavior.js +15 -0
- package/lib/module/submitBehavior.js.map +1 -0
- package/lib/module/tabItems.js +45 -0
- package/lib/module/tabItems.js.map +1 -0
- package/lib/module/web/Button.js +164 -0
- package/lib/module/web/Button.js.map +1 -0
- package/lib/module/web/ButtonGroup.js +113 -0
- package/lib/module/web/ButtonGroup.js.map +1 -0
- package/lib/module/web/DatePicker.js +162 -0
- package/lib/module/web/DatePicker.js.map +1 -0
- package/lib/module/web/DateRangePicker.js +131 -0
- package/lib/module/web/DateRangePicker.js.map +1 -0
- package/lib/module/web/Dialog.js +48 -0
- package/lib/module/web/Dialog.js.map +1 -0
- package/lib/module/web/FloatingActionButton.js +94 -0
- package/lib/module/web/FloatingActionButton.js.map +1 -0
- package/lib/module/web/Icon.js +29 -0
- package/lib/module/web/Icon.js.map +1 -0
- package/lib/module/web/NativeTheme.js +23 -0
- package/lib/module/web/NativeTheme.js.map +1 -0
- package/lib/module/web/NavigationRail.js +133 -0
- package/lib/module/web/NavigationRail.js.map +1 -0
- package/lib/module/web/PlatformComponentsProvider.js +44 -0
- package/lib/module/web/PlatformComponentsProvider.js.map +1 -0
- package/lib/module/web/SegmentedControl.js +112 -0
- package/lib/module/web/SegmentedControl.js.map +1 -0
- package/lib/module/web/SelectionMenu.js +137 -0
- package/lib/module/web/SelectionMenu.js.map +1 -0
- package/lib/module/web/SplitButton.js +30 -0
- package/lib/module/web/SplitButton.js.map +1 -0
- package/lib/module/web/TabBar.js +126 -0
- package/lib/module/web/TabBar.js.map +1 -0
- package/lib/module/web/TextField.js +316 -0
- package/lib/module/web/TextField.js.map +1 -0
- package/lib/module/web/components.js +33 -0
- package/lib/module/web/components.js.map +1 -0
- package/lib/module/web/containers.js +112 -0
- package/lib/module/web/containers.js.map +1 -0
- package/lib/module/web/dateInput.js +109 -0
- package/lib/module/web/dateInput.js.map +1 -0
- package/lib/module/web/shared.js +179 -0
- package/lib/module/web/shared.js.map +1 -0
- package/lib/module/webComponents.js +4 -0
- package/lib/module/webComponents.js.map +1 -0
- package/lib/typescript/commonjs/docs/sidebars.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Button.d.ts +184 -0
- package/lib/typescript/commonjs/src/Button.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ButtonGroup.d.ts +117 -0
- package/lib/typescript/commonjs/src/ButtonGroup.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts +154 -0
- package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts +148 -0
- package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ContextMenu.d.ts +20 -33
- package/lib/typescript/commonjs/src/ContextMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ContextMenuNativeComponent.d.ts +45 -47
- package/lib/typescript/commonjs/src/ContextMenuNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/DatePicker.d.ts +74 -1
- package/lib/typescript/commonjs/src/DatePicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/DatePickerNativeComponent.d.ts +16 -1
- package/lib/typescript/commonjs/src/DatePickerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/FloatingActionButton.d.ts +67 -0
- package/lib/typescript/commonjs/src/FloatingActionButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/FloatingActionButtonNativeComponent.d.ts +43 -0
- package/lib/typescript/commonjs/src/FloatingActionButtonNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/FloatingToolbar.d.ts +75 -0
- package/lib/typescript/commonjs/src/FloatingToolbar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts +36 -0
- package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/LiquidGlass.d.ts +17 -0
- package/lib/typescript/commonjs/src/LiquidGlass.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/LiquidGlassContainer.d.ts +27 -0
- package/lib/typescript/commonjs/src/LiquidGlassContainer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/LiquidGlassContainerNativeComponent.d.ts +13 -0
- package/lib/typescript/commonjs/src/LiquidGlassContainerNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/LiquidGlassNativeComponent.d.ts +7 -0
- package/lib/typescript/commonjs/src/LiquidGlassNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/NavigationRail.d.ts +86 -0
- package/lib/typescript/commonjs/src/NavigationRail.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/NavigationRailNativeComponent.d.ts +81 -0
- package/lib/typescript/commonjs/src/NavigationRailNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/PlatformComponentsProvider.d.ts +6 -0
- package/lib/typescript/commonjs/src/PlatformComponentsProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/SegmentedControl.d.ts +35 -47
- package/lib/typescript/commonjs/src/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts +11 -0
- package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/SelectionMenu.d.ts +44 -2
- package/lib/typescript/commonjs/src/SelectionMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/SelectionMenuNativeComponent.d.ts +20 -4
- package/lib/typescript/commonjs/src/SelectionMenuNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/SplitButton.d.ts +83 -0
- package/lib/typescript/commonjs/src/SplitButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TabBar.d.ts +144 -0
- package/lib/typescript/commonjs/src/TabBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TabBarAccessoryNativeComponent.d.ts +13 -0
- package/lib/typescript/commonjs/src/TabBarAccessoryNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TabBarNativeComponent.d.ts +110 -0
- package/lib/typescript/commonjs/src/TabBarNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TextField.d.ts +332 -0
- package/lib/typescript/commonjs/src/TextField.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts +240 -0
- package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/focusRegistry.d.ts +13 -0
- package/lib/typescript/commonjs/src/focusRegistry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/haptics.d.ts +20 -0
- package/lib/typescript/commonjs/src/haptics.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/icons.d.ts +58 -0
- package/lib/typescript/commonjs/src/icons.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +13 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.web.d.ts +25 -133
- package/lib/typescript/commonjs/src/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/jest.d.ts +139 -0
- package/lib/typescript/commonjs/src/jest.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/labelStyle.d.ts +20 -0
- package/lib/typescript/commonjs/src/labelStyle.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/menuItems.d.ts +100 -0
- package/lib/typescript/commonjs/src/menuItems.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/selectionIdentifiers.d.ts +3 -0
- package/lib/typescript/commonjs/src/selectionIdentifiers.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/sharedTypes.d.ts +6 -1
- package/lib/typescript/commonjs/src/sharedTypes.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/submitBehavior.d.ts +9 -0
- package/lib/typescript/commonjs/src/submitBehavior.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/tabItems.d.ts +55 -0
- package/lib/typescript/commonjs/src/tabItems.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/Button.d.ts +9 -0
- package/lib/typescript/commonjs/src/web/Button.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/ButtonGroup.d.ts +11 -0
- package/lib/typescript/commonjs/src/web/ButtonGroup.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/DatePicker.d.ts +14 -0
- package/lib/typescript/commonjs/src/web/DatePicker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/DateRangePicker.d.ts +11 -0
- package/lib/typescript/commonjs/src/web/DateRangePicker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/Dialog.d.ts +12 -0
- package/lib/typescript/commonjs/src/web/Dialog.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/FloatingActionButton.d.ts +8 -0
- package/lib/typescript/commonjs/src/web/FloatingActionButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/Icon.d.ts +12 -0
- package/lib/typescript/commonjs/src/web/Icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/NativeTheme.d.ts +10 -0
- package/lib/typescript/commonjs/src/web/NativeTheme.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/NavigationRail.d.ts +8 -0
- package/lib/typescript/commonjs/src/web/NavigationRail.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/PlatformComponentsProvider.d.ts +10 -0
- package/lib/typescript/commonjs/src/web/PlatformComponentsProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/SegmentedControl.d.ts +8 -0
- package/lib/typescript/commonjs/src/web/SegmentedControl.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/SelectionMenu.d.ts +10 -0
- package/lib/typescript/commonjs/src/web/SelectionMenu.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/SplitButton.d.ts +9 -0
- package/lib/typescript/commonjs/src/web/SplitButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/TabBar.d.ts +9 -0
- package/lib/typescript/commonjs/src/web/TabBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/TextField.d.ts +9 -0
- package/lib/typescript/commonjs/src/web/TextField.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/components.d.ts +17 -0
- package/lib/typescript/commonjs/src/web/components.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/containers.d.ts +24 -0
- package/lib/typescript/commonjs/src/web/containers.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/dateInput.d.ts +20 -0
- package/lib/typescript/commonjs/src/web/dateInput.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/shared.d.ts +43 -0
- package/lib/typescript/commonjs/src/web/shared.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/webComponents.d.ts +43 -0
- package/lib/typescript/commonjs/src/webComponents.d.ts.map +1 -0
- package/lib/typescript/module/docs/sidebars.d.ts.map +1 -1
- package/lib/typescript/module/src/Button.d.ts +184 -0
- package/lib/typescript/module/src/Button.d.ts.map +1 -0
- package/lib/typescript/module/src/ButtonGroup.d.ts +117 -0
- package/lib/typescript/module/src/ButtonGroup.d.ts.map +1 -0
- package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts +154 -0
- package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/ButtonNativeComponent.d.ts +148 -0
- package/lib/typescript/module/src/ButtonNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/ContextMenu.d.ts +20 -33
- package/lib/typescript/module/src/ContextMenu.d.ts.map +1 -1
- package/lib/typescript/module/src/ContextMenuNativeComponent.d.ts +45 -47
- package/lib/typescript/module/src/ContextMenuNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/DatePicker.d.ts +74 -1
- package/lib/typescript/module/src/DatePicker.d.ts.map +1 -1
- package/lib/typescript/module/src/DatePickerNativeComponent.d.ts +16 -1
- package/lib/typescript/module/src/DatePickerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/FloatingActionButton.d.ts +67 -0
- package/lib/typescript/module/src/FloatingActionButton.d.ts.map +1 -0
- package/lib/typescript/module/src/FloatingActionButtonNativeComponent.d.ts +43 -0
- package/lib/typescript/module/src/FloatingActionButtonNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/FloatingToolbar.d.ts +75 -0
- package/lib/typescript/module/src/FloatingToolbar.d.ts.map +1 -0
- package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts +36 -0
- package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/LiquidGlass.d.ts +17 -0
- package/lib/typescript/module/src/LiquidGlass.d.ts.map +1 -1
- package/lib/typescript/module/src/LiquidGlassContainer.d.ts +27 -0
- package/lib/typescript/module/src/LiquidGlassContainer.d.ts.map +1 -0
- package/lib/typescript/module/src/LiquidGlassContainerNativeComponent.d.ts +13 -0
- package/lib/typescript/module/src/LiquidGlassContainerNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/LiquidGlassNativeComponent.d.ts +7 -0
- package/lib/typescript/module/src/LiquidGlassNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/NavigationRail.d.ts +86 -0
- package/lib/typescript/module/src/NavigationRail.d.ts.map +1 -0
- package/lib/typescript/module/src/NavigationRailNativeComponent.d.ts +81 -0
- package/lib/typescript/module/src/NavigationRailNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/PlatformComponentsProvider.d.ts +6 -0
- package/lib/typescript/module/src/PlatformComponentsProvider.d.ts.map +1 -0
- package/lib/typescript/module/src/SegmentedControl.d.ts +35 -47
- package/lib/typescript/module/src/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts +11 -0
- package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/SelectionMenu.d.ts +44 -2
- package/lib/typescript/module/src/SelectionMenu.d.ts.map +1 -1
- package/lib/typescript/module/src/SelectionMenuNativeComponent.d.ts +20 -4
- package/lib/typescript/module/src/SelectionMenuNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/SplitButton.d.ts +83 -0
- package/lib/typescript/module/src/SplitButton.d.ts.map +1 -0
- package/lib/typescript/module/src/TabBar.d.ts +144 -0
- package/lib/typescript/module/src/TabBar.d.ts.map +1 -0
- package/lib/typescript/module/src/TabBarAccessoryNativeComponent.d.ts +13 -0
- package/lib/typescript/module/src/TabBarAccessoryNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/TabBarNativeComponent.d.ts +110 -0
- package/lib/typescript/module/src/TabBarNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/TextField.d.ts +332 -0
- package/lib/typescript/module/src/TextField.d.ts.map +1 -0
- package/lib/typescript/module/src/TextFieldNativeComponent.d.ts +240 -0
- package/lib/typescript/module/src/TextFieldNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/focusRegistry.d.ts +13 -0
- package/lib/typescript/module/src/focusRegistry.d.ts.map +1 -0
- package/lib/typescript/module/src/haptics.d.ts +20 -0
- package/lib/typescript/module/src/haptics.d.ts.map +1 -0
- package/lib/typescript/module/src/icons.d.ts +58 -0
- package/lib/typescript/module/src/icons.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +13 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.web.d.ts +25 -133
- package/lib/typescript/module/src/index.web.d.ts.map +1 -1
- package/lib/typescript/module/src/jest.d.ts +139 -0
- package/lib/typescript/module/src/jest.d.ts.map +1 -0
- package/lib/typescript/module/src/labelStyle.d.ts +20 -0
- package/lib/typescript/module/src/labelStyle.d.ts.map +1 -0
- package/lib/typescript/module/src/menuItems.d.ts +100 -0
- package/lib/typescript/module/src/menuItems.d.ts.map +1 -0
- package/lib/typescript/module/src/selectionIdentifiers.d.ts +3 -0
- package/lib/typescript/module/src/selectionIdentifiers.d.ts.map +1 -0
- package/lib/typescript/module/src/sharedTypes.d.ts +6 -1
- package/lib/typescript/module/src/sharedTypes.d.ts.map +1 -1
- package/lib/typescript/module/src/submitBehavior.d.ts +9 -0
- package/lib/typescript/module/src/submitBehavior.d.ts.map +1 -0
- package/lib/typescript/module/src/tabItems.d.ts +55 -0
- package/lib/typescript/module/src/tabItems.d.ts.map +1 -0
- package/lib/typescript/module/src/web/Button.d.ts +9 -0
- package/lib/typescript/module/src/web/Button.d.ts.map +1 -0
- package/lib/typescript/module/src/web/ButtonGroup.d.ts +11 -0
- package/lib/typescript/module/src/web/ButtonGroup.d.ts.map +1 -0
- package/lib/typescript/module/src/web/DatePicker.d.ts +14 -0
- package/lib/typescript/module/src/web/DatePicker.d.ts.map +1 -0
- package/lib/typescript/module/src/web/DateRangePicker.d.ts +11 -0
- package/lib/typescript/module/src/web/DateRangePicker.d.ts.map +1 -0
- package/lib/typescript/module/src/web/Dialog.d.ts +12 -0
- package/lib/typescript/module/src/web/Dialog.d.ts.map +1 -0
- package/lib/typescript/module/src/web/FloatingActionButton.d.ts +8 -0
- package/lib/typescript/module/src/web/FloatingActionButton.d.ts.map +1 -0
- package/lib/typescript/module/src/web/Icon.d.ts +12 -0
- package/lib/typescript/module/src/web/Icon.d.ts.map +1 -0
- package/lib/typescript/module/src/web/NativeTheme.d.ts +10 -0
- package/lib/typescript/module/src/web/NativeTheme.d.ts.map +1 -0
- package/lib/typescript/module/src/web/NavigationRail.d.ts +8 -0
- package/lib/typescript/module/src/web/NavigationRail.d.ts.map +1 -0
- package/lib/typescript/module/src/web/PlatformComponentsProvider.d.ts +10 -0
- package/lib/typescript/module/src/web/PlatformComponentsProvider.d.ts.map +1 -0
- package/lib/typescript/module/src/web/SegmentedControl.d.ts +8 -0
- package/lib/typescript/module/src/web/SegmentedControl.d.ts.map +1 -0
- package/lib/typescript/module/src/web/SelectionMenu.d.ts +10 -0
- package/lib/typescript/module/src/web/SelectionMenu.d.ts.map +1 -0
- package/lib/typescript/module/src/web/SplitButton.d.ts +9 -0
- package/lib/typescript/module/src/web/SplitButton.d.ts.map +1 -0
- package/lib/typescript/module/src/web/TabBar.d.ts +9 -0
- package/lib/typescript/module/src/web/TabBar.d.ts.map +1 -0
- package/lib/typescript/module/src/web/TextField.d.ts +9 -0
- package/lib/typescript/module/src/web/TextField.d.ts.map +1 -0
- package/lib/typescript/module/src/web/components.d.ts +17 -0
- package/lib/typescript/module/src/web/components.d.ts.map +1 -0
- package/lib/typescript/module/src/web/containers.d.ts +24 -0
- package/lib/typescript/module/src/web/containers.d.ts.map +1 -0
- package/lib/typescript/module/src/web/dateInput.d.ts +20 -0
- package/lib/typescript/module/src/web/dateInput.d.ts.map +1 -0
- package/lib/typescript/module/src/web/shared.d.ts +43 -0
- package/lib/typescript/module/src/web/shared.d.ts.map +1 -0
- package/lib/typescript/module/src/webComponents.d.ts +43 -0
- package/lib/typescript/module/src/webComponents.d.ts.map +1 -0
- package/package.json +55 -4
- package/plugin/build/index.d.ts +3 -2
- package/plugin/build/index.d.ts.map +1 -1
- package/react-native.config.js +6 -0
- package/shared/PCButtonComponentDescriptors-custom.h +22 -0
- package/shared/PCButtonGroupComponentDescriptors-custom.h +22 -0
- package/shared/PCButtonGroupShadowNode-custom.cpp +48 -0
- package/shared/PCButtonGroupShadowNode-custom.h +55 -0
- package/shared/PCButtonGroupState-custom.h +61 -0
- package/shared/PCButtonShadowNode-custom.cpp +48 -0
- package/shared/PCButtonShadowNode-custom.h +55 -0
- package/shared/PCButtonState-custom.h +61 -0
- package/shared/PCFloatingActionButtonComponentDescriptors-custom.h +22 -0
- package/shared/PCFloatingActionButtonShadowNode-custom.cpp +48 -0
- package/shared/PCFloatingActionButtonShadowNode-custom.h +54 -0
- package/shared/PCFloatingActionButtonState-custom.h +61 -0
- package/shared/PCNavigationRailComponentDescriptors-custom.h +47 -0
- package/shared/PCNavigationRailShadowNode-custom.h +42 -0
- package/shared/PCNavigationRailState-custom.h +62 -0
- package/shared/PCTabBarComponentDescriptors-custom.h +22 -0
- package/shared/PCTabBarShadowNode-custom.cpp +54 -0
- package/shared/PCTabBarShadowNode-custom.h +54 -0
- package/shared/PCTabBarState-custom.h +62 -0
- package/shared/PCTextFieldComponentDescriptors-custom.h +22 -0
- package/shared/PCTextFieldShadowNode-custom.cpp +47 -0
- package/shared/PCTextFieldShadowNode-custom.h +55 -0
- package/shared/PCTextFieldState-custom.h +61 -0
- package/shared/react/renderer/components/PlatformComponentsViewSpec/ComponentDescriptors.h +6 -0
- package/src/Button.tsx +359 -0
- package/src/ButtonGroup.tsx +251 -0
- package/src/ButtonGroupNativeComponent.ts +191 -0
- package/src/ButtonNativeComponent.ts +192 -0
- package/src/ContextMenu.tsx +34 -81
- package/src/ContextMenuNativeComponent.ts +47 -49
- package/src/DatePicker.tsx +182 -4
- package/src/DatePickerNativeComponent.ts +19 -2
- package/src/FloatingActionButton.tsx +121 -0
- package/src/FloatingActionButtonNativeComponent.ts +58 -0
- package/src/FloatingToolbar.tsx +164 -0
- package/src/FloatingToolbarNativeComponent.ts +47 -0
- package/src/LiquidGlass.tsx +24 -1
- package/src/LiquidGlassContainer.tsx +42 -0
- package/src/LiquidGlassContainerNativeComponent.ts +17 -0
- package/src/LiquidGlassNativeComponent.ts +8 -0
- package/src/NavigationRail.tsx +203 -0
- package/src/NavigationRailNativeComponent.ts +107 -0
- package/src/PlatformComponentsProvider.tsx +15 -0
- package/src/SegmentedControl.tsx +57 -119
- package/src/SegmentedControlNativeComponent.ts +14 -0
- package/src/SelectionMenu.tsx +81 -6
- package/src/SelectionMenuNativeComponent.ts +26 -4
- package/src/SplitButton.tsx +198 -0
- package/src/TabBar.tsx +373 -0
- package/src/TabBarAccessoryNativeComponent.ts +19 -0
- package/src/TabBarNativeComponent.ts +145 -0
- package/src/TextField.tsx +908 -0
- package/src/TextFieldNativeComponent.ts +324 -0
- package/src/focusRegistry.ts +90 -0
- package/src/haptics.ts +31 -0
- package/src/icons.ts +143 -0
- package/src/index.tsx +13 -0
- package/src/index.web.tsx +53 -199
- package/src/jest.tsx +958 -0
- package/src/labelStyle.ts +36 -0
- package/src/menuItems.ts +152 -0
- package/src/reactNativeInternals.d.ts +22 -0
- package/src/selectionIdentifiers.ts +17 -0
- package/src/sharedTypes.ts +7 -1
- package/src/submitBehavior.ts +16 -0
- package/src/tabItems.ts +113 -0
- package/src/web/Button.tsx +201 -0
- package/src/web/ButtonGroup.tsx +154 -0
- package/src/web/DatePicker.tsx +204 -0
- package/src/web/DateRangePicker.tsx +135 -0
- package/src/web/Dialog.tsx +54 -0
- package/src/web/FloatingActionButton.tsx +76 -0
- package/src/web/Icon.tsx +33 -0
- package/src/web/NativeTheme.ts +23 -0
- package/src/web/NavigationRail.tsx +148 -0
- package/src/web/PlatformComponentsProvider.tsx +48 -0
- package/src/web/SegmentedControl.tsx +127 -0
- package/src/web/SelectionMenu.tsx +149 -0
- package/src/web/SplitButton.tsx +32 -0
- package/src/web/TabBar.tsx +150 -0
- package/src/web/TextField.tsx +361 -0
- package/src/web/components.tsx +71 -0
- package/src/web/containers.tsx +130 -0
- package/src/web/dateInput.ts +137 -0
- package/src/web/shared.ts +176 -0
- package/src/webComponents.ts +45 -0
- package/android/src/main/java/com/platformcomponents/DateConstraints.kt +0 -83
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TabBar = TabBar;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _TabBarNativeComponent = _interopRequireDefault(require("./TabBarNativeComponent"));
|
|
10
|
+
var _TabBarAccessoryNativeComponent = _interopRequireDefault(require("./TabBarAccessoryNativeComponent"));
|
|
11
|
+
var _LiquidGlass = require("./LiquidGlass");
|
|
12
|
+
var _labelStyle = require("./labelStyle");
|
|
13
|
+
var _tabItems = require("./tabItems");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
// TabBar.tsx
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* How labels show under the icons.
|
|
21
|
+
*
|
|
22
|
+
* - `auto` (default): the platform default. iOS labels every tab; Android
|
|
23
|
+
* labels every tab up to three, and only the selected one from four.
|
|
24
|
+
* - `labeled`: every tab shows its label.
|
|
25
|
+
* - `selected`: only the selected tab shows its label. Android only; iOS
|
|
26
|
+
* labels every tab.
|
|
27
|
+
* - `unlabeled`: icons only. Screen readers still announce the labels.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* When the bar gets out of the way of scrolling content, following the
|
|
32
|
+
* ScrollView named by `scrollViewNativeID`.
|
|
33
|
+
*
|
|
34
|
+
* - `onScrollDown`: minimize while scrolling down, come back scrolling up.
|
|
35
|
+
* - `onScrollUp`: the reverse.
|
|
36
|
+
* - `automatic`: the platform default (iOS 26: minimize on scroll down).
|
|
37
|
+
* - `never`: always full size.
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Where the iOS 26 bottom accessory sits: `regular`, its own row above the
|
|
42
|
+
* bar, or `inline`, beside the minimized bar.
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Android: the tab layout. `vertical` puts the icon above the label,
|
|
47
|
+
* `horizontal` beside it (Material 3 Expressive, for wide bars), and `auto`
|
|
48
|
+
* picks horizontal when the bar is at least 600dp wide.
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Android: the shape of the active indicator. `pill` (default) has fully
|
|
53
|
+
* rounded ends; `circle` is a circle the indicator's height across; a number
|
|
54
|
+
* is the corner radius, in dp, of a rounded rectangle.
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
/** Badge colors. Both default to the platform look. */
|
|
58
|
+
|
|
59
|
+
function TabBar(props) {
|
|
60
|
+
const {
|
|
61
|
+
items,
|
|
62
|
+
selectedValue,
|
|
63
|
+
onSelect,
|
|
64
|
+
onReselect,
|
|
65
|
+
haptics,
|
|
66
|
+
labelVisibility,
|
|
67
|
+
activeTintColor,
|
|
68
|
+
inactiveTintColor,
|
|
69
|
+
barColor,
|
|
70
|
+
badgeStyle,
|
|
71
|
+
labelStyle,
|
|
72
|
+
maxFontSizeMultiplier,
|
|
73
|
+
minimizeBehavior,
|
|
74
|
+
scrollViewNativeID,
|
|
75
|
+
accessory,
|
|
76
|
+
onAccessoryEnvironmentChange,
|
|
77
|
+
android,
|
|
78
|
+
style,
|
|
79
|
+
...viewProps
|
|
80
|
+
} = props;
|
|
81
|
+
if (__DEV__ && items.length > _tabItems.MAX_TAB_ITEMS) {
|
|
82
|
+
console.warn(`TabBar: ${items.length} tabs given; the platform tab bars show at most ${_tabItems.MAX_TAB_ITEMS}, so the rest are dropped.`);
|
|
83
|
+
}
|
|
84
|
+
const nativeItems = (0, _react.useMemo)(() => (0, _tabItems.toNativeTabItems)(items), [items]);
|
|
85
|
+
const handleTabPress = (0, _react.useCallback)(event => {
|
|
86
|
+
const {
|
|
87
|
+
index,
|
|
88
|
+
value,
|
|
89
|
+
reselected
|
|
90
|
+
} = event.nativeEvent;
|
|
91
|
+
if (reselected === 'true') {
|
|
92
|
+
onReselect?.(value, index);
|
|
93
|
+
} else {
|
|
94
|
+
onSelect?.(value, index);
|
|
95
|
+
}
|
|
96
|
+
}, [onSelect, onReselect]);
|
|
97
|
+
const nativeLabelStyle = (0, _react.useMemo)(() => (0, _labelStyle.normalizeLabelStyle)(labelStyle), [labelStyle]);
|
|
98
|
+
|
|
99
|
+
// --- Accessory ---
|
|
100
|
+
// iOS 26 hosts it in UIKit's accessory: the content mounts into the
|
|
101
|
+
// accessory view, laid out at the size and place native reports. Elsewhere
|
|
102
|
+
// it is a plain view above the bar.
|
|
103
|
+
const hasAccessory = accessory !== undefined && accessory !== null && accessory !== false;
|
|
104
|
+
const hostsAccessory = hasAccessory && _LiquidGlass.isLiquidGlassSupported;
|
|
105
|
+
const accessoryID = `pc-tab-accessory${(0, _react.useId)()}`;
|
|
106
|
+
const [accessoryFrame, setAccessoryFrame] = (0, _react.useState)(null);
|
|
107
|
+
const environment = (0, _react.useRef)('regular');
|
|
108
|
+
const handleAccessoryLayout = (0, _react.useCallback)(event => {
|
|
109
|
+
const {
|
|
110
|
+
x,
|
|
111
|
+
y,
|
|
112
|
+
width,
|
|
113
|
+
height
|
|
114
|
+
} = event.nativeEvent;
|
|
115
|
+
setAccessoryFrame(current => current && current.x === x && current.y === y && current.width === width && current.height === height ? current : {
|
|
116
|
+
x,
|
|
117
|
+
y,
|
|
118
|
+
width,
|
|
119
|
+
height
|
|
120
|
+
});
|
|
121
|
+
const next = event.nativeEvent.environment === 'inline' ? 'inline' : 'regular';
|
|
122
|
+
if (next !== environment.current) {
|
|
123
|
+
environment.current = next;
|
|
124
|
+
onAccessoryEnvironmentChange?.(next);
|
|
125
|
+
}
|
|
126
|
+
}, [onAccessoryEnvironmentChange]);
|
|
127
|
+
const indicatorShape = android?.indicatorShape;
|
|
128
|
+
const bar = /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabBarNativeComponent.default, {
|
|
129
|
+
items: nativeItems,
|
|
130
|
+
selectedValue: selectedValue ?? '',
|
|
131
|
+
labelVisibility: labelVisibility ?? 'auto',
|
|
132
|
+
activeTintColor: activeTintColor,
|
|
133
|
+
inactiveTintColor: inactiveTintColor,
|
|
134
|
+
barColor: barColor,
|
|
135
|
+
badgeBackgroundColor: badgeStyle?.backgroundColor,
|
|
136
|
+
badgeTextColor: badgeStyle?.color,
|
|
137
|
+
labelStyle: nativeLabelStyle,
|
|
138
|
+
maxFontSizeMultiplier: maxFontSizeMultiplier ?? 0,
|
|
139
|
+
minimizeBehavior: minimizeBehavior ?? '',
|
|
140
|
+
scrollViewNativeID: scrollViewNativeID ?? '',
|
|
141
|
+
accessoryID: hasAccessory ? accessoryID : '',
|
|
142
|
+
androidIndicatorColor: android?.indicatorColor,
|
|
143
|
+
androidRippleColor: android?.rippleColor,
|
|
144
|
+
androidIndicator: android?.indicator === undefined ? '' : String(android.indicator),
|
|
145
|
+
androidIndicatorShape: typeof indicatorShape === 'number' ? 'rounded' : indicatorShape ?? '',
|
|
146
|
+
androidIndicatorCornerRadius: typeof indicatorShape === 'number' ? indicatorShape : 0,
|
|
147
|
+
androidIndicatorWidth: android?.indicatorWidth ?? 0,
|
|
148
|
+
androidIndicatorHeight: android?.indicatorHeight ?? 0,
|
|
149
|
+
androidItemLayout: android?.itemLayout ?? '',
|
|
150
|
+
haptics: haptics ?? '',
|
|
151
|
+
onTabPress: onSelect || onReselect ? handleTabPress : undefined,
|
|
152
|
+
onAccessoryLayout: hostsAccessory ? handleAccessoryLayout : undefined,
|
|
153
|
+
style: hasAccessory ? undefined : style,
|
|
154
|
+
...viewProps
|
|
155
|
+
});
|
|
156
|
+
if (!hasAccessory) {
|
|
157
|
+
return bar;
|
|
158
|
+
}
|
|
159
|
+
if (hostsAccessory) {
|
|
160
|
+
// The inner view has no padding, so the accessory's offsets are in the
|
|
161
|
+
// bar's coordinates. The content's place in the layout matches where
|
|
162
|
+
// UIKit shows it, for touch handling that measures views.
|
|
163
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
164
|
+
style: style,
|
|
165
|
+
pointerEvents: "box-none",
|
|
166
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
167
|
+
pointerEvents: "box-none",
|
|
168
|
+
children: [bar, /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabBarAccessoryNativeComponent.default, {
|
|
169
|
+
accessoryID: accessoryID,
|
|
170
|
+
style: [styles.hostedAccessory, accessoryFrame ? {
|
|
171
|
+
left: accessoryFrame.x,
|
|
172
|
+
top: accessoryFrame.y,
|
|
173
|
+
width: accessoryFrame.width,
|
|
174
|
+
height: accessoryFrame.height
|
|
175
|
+
} : styles.accessoryPlaceholder],
|
|
176
|
+
children: accessory
|
|
177
|
+
})]
|
|
178
|
+
})
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
182
|
+
style: style,
|
|
183
|
+
pointerEvents: "box-none",
|
|
184
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
185
|
+
nativeID: accessoryID,
|
|
186
|
+
collapsable: false,
|
|
187
|
+
children: accessory
|
|
188
|
+
}), bar]
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
const styles = _reactNative.StyleSheet.create({
|
|
192
|
+
hostedAccessory: {
|
|
193
|
+
position: 'absolute'
|
|
194
|
+
},
|
|
195
|
+
// Until the first layout: the accessory's usual row across the bar
|
|
196
|
+
accessoryPlaceholder: {
|
|
197
|
+
left: 0,
|
|
198
|
+
right: 0,
|
|
199
|
+
top: 0,
|
|
200
|
+
height: 48
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
//# sourceMappingURL=TabBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_TabBarNativeComponent","_interopRequireDefault","_TabBarAccessoryNativeComponent","_LiquidGlass","_labelStyle","_tabItems","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TabBar","props","items","selectedValue","onSelect","onReselect","haptics","labelVisibility","activeTintColor","inactiveTintColor","barColor","badgeStyle","labelStyle","maxFontSizeMultiplier","minimizeBehavior","scrollViewNativeID","accessory","onAccessoryEnvironmentChange","android","style","viewProps","__DEV__","length","MAX_TAB_ITEMS","console","warn","nativeItems","useMemo","toNativeTabItems","handleTabPress","useCallback","event","index","value","reselected","nativeEvent","nativeLabelStyle","normalizeLabelStyle","hasAccessory","undefined","hostsAccessory","isLiquidGlassSupported","accessoryID","useId","accessoryFrame","setAccessoryFrame","useState","environment","useRef","handleAccessoryLayout","x","y","width","height","current","next","indicatorShape","bar","jsx","badgeBackgroundColor","backgroundColor","badgeTextColor","color","androidIndicatorColor","indicatorColor","androidRippleColor","rippleColor","androidIndicator","indicator","String","androidIndicatorShape","androidIndicatorCornerRadius","androidIndicatorWidth","indicatorWidth","androidIndicatorHeight","indicatorHeight","androidItemLayout","itemLayout","onTabPress","onAccessoryLayout","View","pointerEvents","children","jsxs","styles","hostedAccessory","left","top","accessoryPlaceholder","nativeID","collapsable","StyleSheet","create","position","right"],"sourceRoot":"../../src","sources":["TabBar.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAIA,IAAAI,+BAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AAIoB,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAG,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAd,uBAAA,YAAAA,CAAAU,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAtBpB;;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;;AAoIO,SAASgB,MAAMA,CAACC,KAAkB,EAAsB;EAC7D,MAAM;IACJC,KAAK;IACLC,aAAa;IACbC,QAAQ;IACRC,UAAU;IACVC,OAAO;IACPC,eAAe;IACfC,eAAe;IACfC,iBAAiB;IACjBC,QAAQ;IACRC,UAAU;IACVC,UAAU;IACVC,qBAAqB;IACrBC,gBAAgB;IAChBC,kBAAkB;IAClBC,SAAS;IACTC,4BAA4B;IAC5BC,OAAO;IACPC,KAAK;IACL,GAAGC;EACL,CAAC,GAAGnB,KAAK;EAET,IAAIoB,OAAO,IAAInB,KAAK,CAACoB,MAAM,GAAGC,uBAAa,EAAE;IAC3CC,OAAO,CAACC,IAAI,CACV,WAAWvB,KAAK,CAACoB,MAAM,mDAAmDC,uBAAa,4BACzF,CAAC;EACH;EAEA,MAAMG,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,0BAAgB,EAAC1B,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,MAAM2B,cAAc,GAAG,IAAAC,kBAAW,EAC/BC,KAA8C,IAAK;IAClD,MAAM;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAW,CAAC,GAAGH,KAAK,CAACI,WAAW;IACtD,IAAID,UAAU,KAAK,MAAM,EAAE;MACzB7B,UAAU,GAAG4B,KAAK,EAAED,KAAK,CAAC;IAC5B,CAAC,MAAM;MACL5B,QAAQ,GAAG6B,KAAK,EAAED,KAAK,CAAC;IAC1B;EACF,CAAC,EACD,CAAC5B,QAAQ,EAAEC,UAAU,CACvB,CAAC;EAED,MAAM+B,gBAAgB,GAAG,IAAAT,cAAO,EAC9B,MAAM,IAAAU,+BAAmB,EAACzB,UAAU,CAAC,EACrC,CAACA,UAAU,CACb,CAAC;;EAED;EACA;EACA;EACA;EACA,MAAM0B,YAAY,GAChBtB,SAAS,KAAKuB,SAAS,IAAIvB,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK;EACtE,MAAMwB,cAAc,GAAGF,YAAY,IAAIG,mCAAsB;EAC7D,MAAMC,WAAW,GAAG,mBAAmB,IAAAC,YAAK,EAAC,CAAC,EAAE;EAChD,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAC,eAAQ,EAClD,IACF,CAAC;EACD,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAA6B,SAAS,CAAC;EAEjE,MAAMC,qBAAqB,GAAG,IAAAnB,kBAAW,EACtCC,KAAuD,IAAK;IAC3D,MAAM;MAAEmB,CAAC;MAAEC,CAAC;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGtB,KAAK,CAACI,WAAW;IACjDU,iBAAiB,CAAES,OAAO,IACxBA,OAAO,IACPA,OAAO,CAACJ,CAAC,KAAKA,CAAC,IACfI,OAAO,CAACH,CAAC,KAAKA,CAAC,IACfG,OAAO,CAACF,KAAK,KAAKA,KAAK,IACvBE,OAAO,CAACD,MAAM,KAAKA,MAAM,GACrBC,OAAO,GACP;MAAEJ,CAAC;MAAEC,CAAC;MAAEC,KAAK;MAAEC;IAAO,CAC5B,CAAC;IACD,MAAME,IAAgC,GACpCxB,KAAK,CAACI,WAAW,CAACY,WAAW,KAAK,QAAQ,GAAG,QAAQ,GAAG,SAAS;IACnE,IAAIQ,IAAI,KAAKR,WAAW,CAACO,OAAO,EAAE;MAChCP,WAAW,CAACO,OAAO,GAAGC,IAAI;MAC1BtC,4BAA4B,GAAGsC,IAAI,CAAC;IACtC;EACF,CAAC,EACD,CAACtC,4BAA4B,CAC/B,CAAC;EAED,MAAMuC,cAAc,GAAGtC,OAAO,EAAEsC,cAAc;EAE9C,MAAMC,GAAG,gBACP,IAAA7E,WAAA,CAAA8E,GAAA,EAACpF,sBAAA,CAAAS,OAAY;IACXmB,KAAK,EAAEwB,WAAY;IACnBvB,aAAa,EAAEA,aAAa,IAAI,EAAG;IACnCI,eAAe,EAAEA,eAAe,IAAI,MAAO;IAC3CC,eAAe,EAAEA,eAAgB;IACjCC,iBAAiB,EAAEA,iBAAkB;IACrCC,QAAQ,EAAEA,QAAS;IACnBiD,oBAAoB,EAAEhD,UAAU,EAAEiD,eAAgB;IAClDC,cAAc,EAAElD,UAAU,EAAEmD,KAAM;IAClClD,UAAU,EAAEwB,gBAAiB;IAC7BvB,qBAAqB,EAAEA,qBAAqB,IAAI,CAAE;IAClDC,gBAAgB,EAAEA,gBAAgB,IAAI,EAAG;IACzCC,kBAAkB,EAAEA,kBAAkB,IAAI,EAAG;IAC7C2B,WAAW,EAAEJ,YAAY,GAAGI,WAAW,GAAG,EAAG;IAC7CqB,qBAAqB,EAAE7C,OAAO,EAAE8C,cAAe;IAC/CC,kBAAkB,EAAE/C,OAAO,EAAEgD,WAAY;IACzCC,gBAAgB,EACdjD,OAAO,EAAEkD,SAAS,KAAK7B,SAAS,GAAG,EAAE,GAAG8B,MAAM,CAACnD,OAAO,CAACkD,SAAS,CACjE;IACDE,qBAAqB,EACnB,OAAOd,cAAc,KAAK,QAAQ,GAAG,SAAS,GAAIA,cAAc,IAAI,EACrE;IACDe,4BAA4B,EAC1B,OAAOf,cAAc,KAAK,QAAQ,GAAGA,cAAc,GAAG,CACvD;IACDgB,qBAAqB,EAAEtD,OAAO,EAAEuD,cAAc,IAAI,CAAE;IACpDC,sBAAsB,EAAExD,OAAO,EAAEyD,eAAe,IAAI,CAAE;IACtDC,iBAAiB,EAAE1D,OAAO,EAAE2D,UAAU,IAAI,EAAG;IAC7CvE,OAAO,EAAEA,OAAO,IAAI,EAAG;IACvBwE,UAAU,EAAE1E,QAAQ,IAAIC,UAAU,GAAGwB,cAAc,GAAGU,SAAU;IAChEwC,iBAAiB,EAAEvC,cAAc,GAAGS,qBAAqB,GAAGV,SAAU;IACtEpB,KAAK,EAAEmB,YAAY,GAAGC,SAAS,GAAGpB,KAAM;IAAA,GACpCC;EAAS,CACd,CACF;EAED,IAAI,CAACkB,YAAY,EAAE;IACjB,OAAOmB,GAAG;EACZ;EAEA,IAAIjB,cAAc,EAAE;IAClB;IACA;IACA;IACA,oBACE,IAAA5D,WAAA,CAAA8E,GAAA,EAACrF,YAAA,CAAA2G,IAAI;MAAC7D,KAAK,EAAEA,KAAM;MAAC8D,aAAa,EAAC,UAAU;MAAAC,QAAA,eAC1C,IAAAtG,WAAA,CAAAuG,IAAA,EAAC9G,YAAA,CAAA2G,IAAI;QAACC,aAAa,EAAC,UAAU;QAAAC,QAAA,GAC3BzB,GAAG,eACJ,IAAA7E,WAAA,CAAA8E,GAAA,EAAClF,+BAAA,CAAAO,OAAqB;UACpB2D,WAAW,EAAEA,WAAY;UACzBvB,KAAK,EAAE,CACLiE,MAAM,CAACC,eAAe,EACtBzC,cAAc,GACV;YACE0C,IAAI,EAAE1C,cAAc,CAACM,CAAC;YACtBqC,GAAG,EAAE3C,cAAc,CAACO,CAAC;YACrBC,KAAK,EAAER,cAAc,CAACQ,KAAK;YAC3BC,MAAM,EAAET,cAAc,CAACS;UACzB,CAAC,GACD+B,MAAM,CAACI,oBAAoB,CAC/B;UAAAN,QAAA,EAEDlE;QAAS,CACW,CAAC;MAAA,CACpB;IAAC,CACH,CAAC;EAEX;EAEA,oBACE,IAAApC,WAAA,CAAAuG,IAAA,EAAC9G,YAAA,CAAA2G,IAAI;IAAC7D,KAAK,EAAEA,KAAM;IAAC8D,aAAa,EAAC,UAAU;IAAAC,QAAA,gBAC1C,IAAAtG,WAAA,CAAA8E,GAAA,EAACrF,YAAA,CAAA2G,IAAI;MAACS,QAAQ,EAAE/C,WAAY;MAACgD,WAAW,EAAE,KAAM;MAAAR,QAAA,EAC7ClE;IAAS,CACN,CAAC,EACNyC,GAAG;EAAA,CACA,CAAC;AAEX;AAEA,MAAM2B,MAAM,GAAGO,uBAAU,CAACC,MAAM,CAAC;EAC/BP,eAAe,EAAE;IAAEQ,QAAQ,EAAE;EAAW,CAAC;EACzC;EACAL,oBAAoB,EAAE;IAAEF,IAAI,EAAE,CAAC;IAAEQ,KAAK,EAAE,CAAC;IAAEP,GAAG,EAAE,CAAC;IAAElC,MAAM,EAAE;EAAG;AAChE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// TabBarAccessoryNativeComponent.ts
|
|
2
|
+
import type { HostComponent, ViewProps } from 'react-native';
|
|
3
|
+
import { codegenNativeComponent } from 'react-native';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The content of a TabBar's bottom accessory on iOS 26. Its children are
|
|
7
|
+
* mounted into the view UIKit shows as the tab bar's accessory, found by the
|
|
8
|
+
* bar through `accessoryID`; this view itself stays empty in the layout.
|
|
9
|
+
*/
|
|
10
|
+
export interface TabBarAccessoryNativeProps extends ViewProps {
|
|
11
|
+
/** The id the TabBar links to; '' = not linked. */
|
|
12
|
+
accessoryID: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default codegenNativeComponent<TabBarAccessoryNativeProps>(
|
|
16
|
+
'PCTabBarAccessory',
|
|
17
|
+
// Only iOS 26 hosts the accessory; Android renders a plain view
|
|
18
|
+
{ excludedPlatforms: ['android'] }
|
|
19
|
+
) as HostComponent<TabBarAccessoryNativeProps>;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
// TabBarNativeComponent.ts
|
|
2
|
+
import type { ColorValue, HostComponent, ViewProps } from 'react-native';
|
|
3
|
+
import { codegenNativeComponent } from 'react-native';
|
|
4
|
+
import type {
|
|
5
|
+
BubblingEventHandler,
|
|
6
|
+
DirectEventHandler,
|
|
7
|
+
Double,
|
|
8
|
+
Int32,
|
|
9
|
+
WithDefault,
|
|
10
|
+
} from './codegenTypes';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A single tab. Icons are pre-resolved on the JS side (see icons.ts), the
|
|
14
|
+
* selected icon under the `selected…` fields; empty strings mean "none".
|
|
15
|
+
*/
|
|
16
|
+
export type TabBarItem = Readonly<{
|
|
17
|
+
label: string;
|
|
18
|
+
value: string;
|
|
19
|
+
disabled: string; // 'enabled' | 'disabled'
|
|
20
|
+
iconType: string; // '' | 'sfSymbol' | 'drawable' | 'image'
|
|
21
|
+
iconName: string;
|
|
22
|
+
iconRequest: string;
|
|
23
|
+
iconUri: string;
|
|
24
|
+
iconScale: Double;
|
|
25
|
+
iconTinted: string; // 'true' | 'false'
|
|
26
|
+
selectedIconType: string;
|
|
27
|
+
selectedIconName: string;
|
|
28
|
+
selectedIconRequest: string;
|
|
29
|
+
selectedIconUri: string;
|
|
30
|
+
selectedIconScale: Double;
|
|
31
|
+
selectedIconTinted: string;
|
|
32
|
+
badge: string; // badge text, '' = no badge
|
|
33
|
+
accessibilityLabel: string; // '' = the label
|
|
34
|
+
testID: string; // '' = none
|
|
35
|
+
role: string; // '' | 'search'
|
|
36
|
+
systemItem: string; // '' | a UITabBarItem.SystemItem name ('favorites', …)
|
|
37
|
+
}>;
|
|
38
|
+
|
|
39
|
+
/** A press on a tab. `reselected` is 'true' when the tab was already selected. */
|
|
40
|
+
export type TabBarSelectEvent = Readonly<{
|
|
41
|
+
index: Int32;
|
|
42
|
+
value: string;
|
|
43
|
+
reselected: string; // 'true' | 'false'
|
|
44
|
+
}>;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* iOS 26: where the hosted bottom accessory sits, in the bar's coordinates,
|
|
48
|
+
* and its environment.
|
|
49
|
+
*/
|
|
50
|
+
export type TabBarAccessoryLayoutEvent = Readonly<{
|
|
51
|
+
x: Double;
|
|
52
|
+
y: Double;
|
|
53
|
+
width: Double;
|
|
54
|
+
height: Double;
|
|
55
|
+
environment: string; // 'regular' | 'inline'
|
|
56
|
+
}>;
|
|
57
|
+
|
|
58
|
+
/** Label font. Empty strings / 0 mean "platform default". */
|
|
59
|
+
export type TabBarLabelStyleProps = Readonly<{
|
|
60
|
+
fontFamily?: string;
|
|
61
|
+
fontSize?: Double;
|
|
62
|
+
fontWeight?: string;
|
|
63
|
+
fontStyle?: string;
|
|
64
|
+
}>;
|
|
65
|
+
|
|
66
|
+
export interface TabBarNativeProps extends ViewProps {
|
|
67
|
+
/** The tabs. */
|
|
68
|
+
items: ReadonlyArray<TabBarItem>;
|
|
69
|
+
|
|
70
|
+
/** Selected tab by value; '' = none. */
|
|
71
|
+
selectedValue?: WithDefault<string, ''>;
|
|
72
|
+
|
|
73
|
+
/** 'auto' | 'labeled' | 'selected' | 'unlabeled' */
|
|
74
|
+
labelVisibility?: string;
|
|
75
|
+
|
|
76
|
+
/** Icon and label color of the selected tab. */
|
|
77
|
+
activeTintColor?: ColorValue;
|
|
78
|
+
|
|
79
|
+
/** Icon and label color of the other tabs. */
|
|
80
|
+
inactiveTintColor?: ColorValue;
|
|
81
|
+
|
|
82
|
+
/** Bar background; transparent to show what is behind. */
|
|
83
|
+
barColor?: ColorValue;
|
|
84
|
+
|
|
85
|
+
/** Badge colors. */
|
|
86
|
+
badgeBackgroundColor?: ColorValue;
|
|
87
|
+
badgeTextColor?: ColorValue;
|
|
88
|
+
|
|
89
|
+
/** Label font. */
|
|
90
|
+
labelStyle?: TabBarLabelStyleProps;
|
|
91
|
+
|
|
92
|
+
/** Largest font scale the labels may reach; 0 = no cap. */
|
|
93
|
+
maxFontSizeMultiplier?: Double;
|
|
94
|
+
|
|
95
|
+
/** '' | 'automatic' | 'never' | 'onScrollDown' | 'onScrollUp' */
|
|
96
|
+
minimizeBehavior?: string;
|
|
97
|
+
|
|
98
|
+
/** nativeID of the ScrollView whose scrolling minimizes the bar. */
|
|
99
|
+
scrollViewNativeID?: string;
|
|
100
|
+
|
|
101
|
+
/** Android: the active indicator pill behind the selected icon. */
|
|
102
|
+
androidIndicatorColor?: ColorValue;
|
|
103
|
+
|
|
104
|
+
/** Android: ripple shown while pressing a tab. */
|
|
105
|
+
androidRippleColor?: ColorValue;
|
|
106
|
+
|
|
107
|
+
/** Android: 'true' | 'false' ('' = shown), the active indicator. */
|
|
108
|
+
androidIndicator?: string;
|
|
109
|
+
|
|
110
|
+
/** Android: '' (pill) | 'pill' | 'circle' | 'rounded' (androidIndicatorCornerRadius). */
|
|
111
|
+
androidIndicatorShape?: string;
|
|
112
|
+
|
|
113
|
+
/** Android: corner radius of a 'rounded' indicator, in dp. */
|
|
114
|
+
androidIndicatorCornerRadius?: Double;
|
|
115
|
+
|
|
116
|
+
/** Android: indicator size in dp; 0 = the Material default. */
|
|
117
|
+
androidIndicatorWidth?: Double;
|
|
118
|
+
androidIndicatorHeight?: Double;
|
|
119
|
+
|
|
120
|
+
/** Android: '' | 'vertical' | 'horizontal' | 'auto', icon above or beside the label. */
|
|
121
|
+
androidItemLayout?: string;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Links the bar to its accessory view (PCTabBarAccessory with the same
|
|
125
|
+
* id): iOS 26 hosts it as the tab bar's bottom accessory; Android slides
|
|
126
|
+
* it away with the bar. '' = none.
|
|
127
|
+
*/
|
|
128
|
+
accessoryID?: string;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Haptic played when a tab is pressed: '' (none added) | 'none' | 'selection' |
|
|
132
|
+
* 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error'
|
|
133
|
+
*/
|
|
134
|
+
haptics?: string;
|
|
135
|
+
|
|
136
|
+
/** Fired when a tab is pressed. */
|
|
137
|
+
onTabPress?: BubblingEventHandler<TabBarSelectEvent>;
|
|
138
|
+
|
|
139
|
+
/** iOS 26: the hosted accessory moved, resized or changed environment. */
|
|
140
|
+
onAccessoryLayout?: DirectEventHandler<TabBarAccessoryLayoutEvent>;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export default codegenNativeComponent<TabBarNativeProps>(
|
|
144
|
+
'PCTabBar'
|
|
145
|
+
) as HostComponent<TabBarNativeProps>;
|