react-native-platform-components 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PlatformComponents.podspec +1 -1
- package/README.md +33 -31
- package/android/src/main/java/com/platformcomponents/PCButtonGroupView.kt +175 -9
- package/android/src/main/java/com/platformcomponents/PCButtonGroupViewManager.kt +52 -2
- package/android/src/main/java/com/platformcomponents/PCButtonSupport.kt +44 -12
- package/android/src/main/java/com/platformcomponents/PCButtonView.kt +187 -5
- package/android/src/main/java/com/platformcomponents/PCButtonViewManager.kt +85 -7
- 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 +6 -1
- 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 +132 -0
- package/android/src/main/java/com/platformcomponents/PCFloatingToolbarViewManager.kt +8 -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 +24 -14
- package/android/src/main/java/com/platformcomponents/PCSegmentedControlViewManager.kt +14 -2
- 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 +415 -40
- package/android/src/main/java/com/platformcomponents/PCTextFieldViewManager.kt +109 -3
- package/android/src/main/java/com/platformcomponents/PCThemeSupport.kt +37 -0
- package/android/src/main/java/com/platformcomponents/PlatformComponentsPackage.kt +4 -0
- package/android/src/main/res/drawable/pc_ic_search.xml +12 -0
- package/android/src/main/res/values/ids.xml +5 -0
- package/android/src/main/res/values/styles.xml +24 -0
- package/ios/PCButton.mm +122 -7
- package/ios/PCButtonGroup.mm +68 -1
- package/ios/PCButtonGroupView.swift +225 -6
- package/ios/PCButtonSupport.swift +181 -10
- package/ios/PCButtonView.swift +297 -14
- 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.mm +27 -0
- package/ios/PCFloatingToolbarView.swift +241 -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.mm +159 -4
- package/ios/PCTextFieldView.swift +603 -57
- package/lib/commonjs/Button.js +73 -1
- package/lib/commonjs/Button.js.map +1 -1
- package/lib/commonjs/ButtonGroup.js +13 -3
- package/lib/commonjs/ButtonGroup.js.map +1 -1
- package/lib/commonjs/ButtonGroupNativeComponent.ts +74 -4
- package/lib/commonjs/ButtonNativeComponent.ts +119 -3
- 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 +9 -1
- package/lib/commonjs/FloatingToolbar.js.map +1 -1
- package/lib/commonjs/FloatingToolbarNativeComponent.ts +16 -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 +7 -0
- package/lib/commonjs/SegmentedControl.js.map +1 -1
- package/lib/commonjs/SegmentedControlNativeComponent.ts +11 -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 +171 -8
- package/lib/commonjs/TextField.js.map +1 -1
- package/lib/commonjs/TextFieldNativeComponent.ts +110 -4
- package/lib/commonjs/focusRegistry.js +2 -1
- package/lib/commonjs/focusRegistry.js.map +1 -1
- package/lib/commonjs/haptics.js +2 -0
- package/lib/commonjs/haptics.js.map +1 -0
- package/lib/commonjs/icons.js +15 -1
- package/lib/commonjs/icons.js.map +1 -1
- package/lib/commonjs/index.js +77 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +156 -92
- 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/menuItems.js +68 -0
- package/lib/commonjs/menuItems.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 +74 -2
- package/lib/module/Button.js.map +1 -1
- package/lib/module/ButtonGroup.js +13 -3
- package/lib/module/ButtonGroup.js.map +1 -1
- package/lib/module/ButtonGroupNativeComponent.ts +74 -4
- package/lib/module/ButtonNativeComponent.ts +119 -3
- 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 +9 -1
- package/lib/module/FloatingToolbar.js.map +1 -1
- package/lib/module/FloatingToolbarNativeComponent.ts +16 -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 +9 -1
- package/lib/module/SegmentedControl.js.map +1 -1
- package/lib/module/SegmentedControlNativeComponent.ts +11 -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 +172 -9
- package/lib/module/TextField.js.map +1 -1
- package/lib/module/TextFieldNativeComponent.ts +110 -4
- package/lib/module/focusRegistry.js +1 -0
- package/lib/module/focusRegistry.js.map +1 -1
- package/lib/module/haptics.js +2 -0
- package/lib/module/haptics.js.map +1 -0
- package/lib/module/icons.js +15 -1
- package/lib/module/icons.js.map +1 -1
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +12 -87
- 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/menuItems.js +65 -0
- package/lib/module/menuItems.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 +111 -3
- package/lib/typescript/commonjs/src/Button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ButtonGroup.d.ts +21 -6
- package/lib/typescript/commonjs/src/ButtonGroup.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts +64 -3
- package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts +94 -3
- package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts.map +1 -1
- 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 +30 -0
- package/lib/typescript/commonjs/src/FloatingToolbar.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts +12 -0
- package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts.map +1 -1
- 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 +18 -1
- package/lib/typescript/commonjs/src/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts +9 -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 +166 -8
- package/lib/typescript/commonjs/src/TextField.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts +81 -3
- package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/focusRegistry.d.ts.map +1 -1
- 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 +7 -1
- package/lib/typescript/commonjs/src/icons.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +7 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.web.d.ts +25 -254
- 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/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/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 +111 -3
- package/lib/typescript/module/src/Button.d.ts.map +1 -1
- package/lib/typescript/module/src/ButtonGroup.d.ts +21 -6
- package/lib/typescript/module/src/ButtonGroup.d.ts.map +1 -1
- package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts +64 -3
- package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/ButtonNativeComponent.d.ts +94 -3
- package/lib/typescript/module/src/ButtonNativeComponent.d.ts.map +1 -1
- 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 +30 -0
- package/lib/typescript/module/src/FloatingToolbar.d.ts.map +1 -1
- package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts +12 -0
- package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts.map +1 -1
- 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 +18 -1
- package/lib/typescript/module/src/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts +9 -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 +166 -8
- package/lib/typescript/module/src/TextField.d.ts.map +1 -1
- package/lib/typescript/module/src/TextFieldNativeComponent.d.ts +81 -3
- package/lib/typescript/module/src/TextFieldNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/focusRegistry.d.ts.map +1 -1
- 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 +7 -1
- package/lib/typescript/module/src/icons.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +7 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.web.d.ts +25 -254
- 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/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/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 +32 -2
- package/plugin/build/index.cjs +79 -6
- package/plugin/build/index.d.ts +27 -2
- package/plugin/build/index.d.ts.map +1 -1
- package/plugin/tsconfig.json +2 -1
- package/react-native.config.js +3 -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/react/renderer/components/PlatformComponentsViewSpec/ComponentDescriptors.h +3 -0
- package/src/Button.tsx +222 -7
- package/src/ButtonGroup.tsx +29 -11
- package/src/ButtonGroupNativeComponent.ts +74 -4
- package/src/ButtonNativeComponent.ts +119 -3
- 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 +54 -3
- package/src/FloatingToolbarNativeComponent.ts +16 -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 +31 -1
- package/src/SegmentedControlNativeComponent.ts +11 -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 +428 -14
- package/src/TextFieldNativeComponent.ts +110 -4
- package/src/focusRegistry.ts +1 -0
- package/src/haptics.ts +31 -0
- package/src/icons.ts +28 -1
- package/src/index.tsx +7 -0
- package/src/index.web.tsx +51 -391
- package/src/jest.tsx +958 -0
- package/src/menuItems.ts +152 -0
- package/src/selectionIdentifiers.ts +17 -0
- 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,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LiquidGlassContainer = LiquidGlassContainer;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _LiquidGlassContainerNativeComponent = _interopRequireDefault(require("./LiquidGlassContainerNativeComponent"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
// LiquidGlassContainer.tsx
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Groups `LiquidGlass` views so they render as one glass on iOS 26
|
|
15
|
+
* (`UIVisualEffectView` with a `UIGlassContainerEffect`): neighbours within
|
|
16
|
+
* `spacing` blend together, and glass that appears, disappears or changes
|
|
17
|
+
* frame morphs in and out of its neighbours. A plain container on Android,
|
|
18
|
+
* on older iOS and on web.
|
|
19
|
+
*/
|
|
20
|
+
function LiquidGlassContainer(props) {
|
|
21
|
+
const {
|
|
22
|
+
spacing,
|
|
23
|
+
children,
|
|
24
|
+
...viewProps
|
|
25
|
+
} = props;
|
|
26
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LiquidGlassContainerNativeComponent.default, {
|
|
27
|
+
spacing: spacing ?? -1,
|
|
28
|
+
...viewProps,
|
|
29
|
+
children: children
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=LiquidGlassContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_LiquidGlassContainerNativeComponent","_jsxRuntime","e","__esModule","default","LiquidGlassContainer","props","spacing","children","viewProps","jsx"],"sourceRoot":"../../src","sources":["LiquidGlassContainer.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,oCAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA+E,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAJ/E;;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,oBAAoBA,CAClCC,KAAgC,EACZ;EACpB,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAE,GAAGC;EAAU,CAAC,GAAGH,KAAK;EAEjD,oBACE,IAAAL,WAAA,CAAAS,GAAA,EAACV,oCAAA,CAAAI,OAA0B;IAACG,OAAO,EAAEA,OAAO,IAAI,CAAC,CAAE;IAAA,GAAKE,SAAS;IAAAD,QAAA,EAC9DA;EAAQ,CACiB,CAAC;AAEjC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// LiquidGlassContainerNativeComponent.ts
|
|
2
|
+
import type { HostComponent, ViewProps } from 'react-native';
|
|
3
|
+
import { codegenNativeComponent } from 'react-native';
|
|
4
|
+
import type { Float, WithDefault } from './codegenTypes';
|
|
5
|
+
|
|
6
|
+
export interface LiquidGlassContainerNativeProps extends ViewProps {
|
|
7
|
+
/**
|
|
8
|
+
* Distance between glass elements at which they begin to merge
|
|
9
|
+
* (UIGlassContainerEffect.spacing). Negative keeps the system default.
|
|
10
|
+
* @default -1
|
|
11
|
+
*/
|
|
12
|
+
spacing?: WithDefault<Float, -1>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default codegenNativeComponent<LiquidGlassContainerNativeProps>(
|
|
16
|
+
'PCLiquidGlassContainer'
|
|
17
|
+
) as HostComponent<LiquidGlassContainerNativeProps>;
|
|
@@ -78,6 +78,14 @@ export interface LiquidGlassNativeProps extends ViewProps {
|
|
|
78
78
|
*/
|
|
79
79
|
cornerRadius?: WithDefault<Float, 0>;
|
|
80
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Corner shape: 'capsule' | 'concentric' | '' (the cornerRadius).
|
|
83
|
+
* On iOS 26 it maps to UIView.cornerConfiguration; elsewhere 'capsule'
|
|
84
|
+
* rounds to half the shorter side and 'concentric' uses cornerRadius.
|
|
85
|
+
* @default ''
|
|
86
|
+
*/
|
|
87
|
+
cornerStyle?: WithDefault<string, ''>;
|
|
88
|
+
|
|
81
89
|
/**
|
|
82
90
|
* iOS-specific props.
|
|
83
91
|
*/
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NavigationRail = NavigationRail;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _NavigationRailNativeComponent = _interopRequireDefault(require("./NavigationRailNativeComponent"));
|
|
10
|
+
var _labelStyle = require("./labelStyle");
|
|
11
|
+
var _tabItems = require("./tabItems");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
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); }
|
|
15
|
+
// NavigationRail.tsx
|
|
16
|
+
|
|
17
|
+
/** The collapsed Material rail shows at most seven destinations. */const MAX_COLLAPSED_ITEMS = 7;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* A destination: the same item as a TabBar tab. `role: 'search'` gives a
|
|
21
|
+
* destination without an icon the search icon; `systemItem` is TabBar only.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Where the destinations sit in the rail's height, below the header.
|
|
26
|
+
* Android: `NavigationRailView.setMenuGravity`.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
function NavigationRail(props) {
|
|
30
|
+
const {
|
|
31
|
+
items,
|
|
32
|
+
selectedValue,
|
|
33
|
+
onSelect,
|
|
34
|
+
onReselect,
|
|
35
|
+
haptics,
|
|
36
|
+
labelVisibility,
|
|
37
|
+
menuGravity,
|
|
38
|
+
expanded,
|
|
39
|
+
header,
|
|
40
|
+
activeTintColor,
|
|
41
|
+
inactiveTintColor,
|
|
42
|
+
railColor,
|
|
43
|
+
badgeStyle,
|
|
44
|
+
labelStyle,
|
|
45
|
+
maxFontSizeMultiplier,
|
|
46
|
+
android,
|
|
47
|
+
...viewProps
|
|
48
|
+
} = props;
|
|
49
|
+
if (__DEV__ && items.length > MAX_COLLAPSED_ITEMS) {
|
|
50
|
+
console.warn(`NavigationRail: ${items.length} destinations given; the collapsed Material rail shows at most ${MAX_COLLAPSED_ITEMS}.`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// The expanded rail shows every destination
|
|
54
|
+
const nativeItems = (0, _react.useMemo)(() => (0, _tabItems.toNativeTabItems)(items, items.length), [items]);
|
|
55
|
+
const handleItemPress = (0, _react.useCallback)(event => {
|
|
56
|
+
const {
|
|
57
|
+
index,
|
|
58
|
+
value,
|
|
59
|
+
reselected
|
|
60
|
+
} = event.nativeEvent;
|
|
61
|
+
if (reselected === 'true') {
|
|
62
|
+
onReselect?.(value, index);
|
|
63
|
+
} else {
|
|
64
|
+
onSelect?.(value, index);
|
|
65
|
+
}
|
|
66
|
+
}, [onSelect, onReselect]);
|
|
67
|
+
const nativeLabelStyle = (0, _react.useMemo)(() => (0, _labelStyle.normalizeLabelStyle)(labelStyle), [labelStyle]);
|
|
68
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavigationRailNativeComponent.default, {
|
|
69
|
+
items: nativeItems,
|
|
70
|
+
selectedValue: selectedValue ?? '',
|
|
71
|
+
labelVisibility: labelVisibility ?? 'auto',
|
|
72
|
+
menuGravity: menuGravity ?? 'top',
|
|
73
|
+
expanded: expanded ? 'true' : 'false',
|
|
74
|
+
activeTintColor: activeTintColor,
|
|
75
|
+
inactiveTintColor: inactiveTintColor,
|
|
76
|
+
railColor: railColor,
|
|
77
|
+
badgeBackgroundColor: badgeStyle?.backgroundColor,
|
|
78
|
+
badgeTextColor: badgeStyle?.color,
|
|
79
|
+
labelStyle: nativeLabelStyle,
|
|
80
|
+
maxFontSizeMultiplier: maxFontSizeMultiplier ?? 0,
|
|
81
|
+
androidIndicatorColor: android?.indicatorColor,
|
|
82
|
+
androidRippleColor: android?.rippleColor,
|
|
83
|
+
haptics: haptics ?? '',
|
|
84
|
+
onItemPress: onSelect || onReselect ? handleItemPress : undefined,
|
|
85
|
+
...viewProps,
|
|
86
|
+
children: header ?
|
|
87
|
+
/*#__PURE__*/
|
|
88
|
+
// Native places the header; out of the flow, it leaves the rail's
|
|
89
|
+
// width to native
|
|
90
|
+
(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
91
|
+
collapsable: false,
|
|
92
|
+
style: styles.header,
|
|
93
|
+
children: header
|
|
94
|
+
}) : null
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
const styles = _reactNative.StyleSheet.create({
|
|
98
|
+
header: {
|
|
99
|
+
position: 'absolute',
|
|
100
|
+
left: 0,
|
|
101
|
+
top: 0
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=NavigationRail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_NavigationRailNativeComponent","_interopRequireDefault","_labelStyle","_tabItems","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MAX_COLLAPSED_ITEMS","NavigationRail","props","items","selectedValue","onSelect","onReselect","haptics","labelVisibility","menuGravity","expanded","header","activeTintColor","inactiveTintColor","railColor","badgeStyle","labelStyle","maxFontSizeMultiplier","android","viewProps","__DEV__","length","console","warn","nativeItems","useMemo","toNativeTabItems","handleItemPress","useCallback","event","index","value","reselected","nativeEvent","nativeLabelStyle","normalizeLabelStyle","jsx","badgeBackgroundColor","backgroundColor","badgeTextColor","color","androidIndicatorColor","indicatorColor","androidRippleColor","rippleColor","onItemPress","undefined","children","View","collapsable","style","styles","StyleSheet","create","position","left","top"],"sourceRoot":"../../src","sources":["NavigationRail.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// NavigationRailNativeComponent.ts
|
|
2
|
+
import type { ColorValue, HostComponent, ViewProps } from 'react-native';
|
|
3
|
+
import { codegenNativeComponent } from 'react-native';
|
|
4
|
+
import type {
|
|
5
|
+
BubblingEventHandler,
|
|
6
|
+
Double,
|
|
7
|
+
Int32,
|
|
8
|
+
WithDefault,
|
|
9
|
+
} from './codegenTypes';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A destination: the fields of a TabBar tab (see tabItems.ts). Icons are
|
|
13
|
+
* pre-resolved on the JS side (see icons.ts), the selected icon under the
|
|
14
|
+
* `selected…` fields; empty strings mean "none".
|
|
15
|
+
*/
|
|
16
|
+
export type NavigationRailItem = 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, ' ' = a dot
|
|
33
|
+
accessibilityLabel: string; // '' = the label
|
|
34
|
+
testID: string; // '' = none
|
|
35
|
+
role: string; // '' | 'search'
|
|
36
|
+
systemItem: string; // TabBar only; ignored
|
|
37
|
+
}>;
|
|
38
|
+
|
|
39
|
+
/** A press on a destination. `reselected` is 'true' when it was already selected. */
|
|
40
|
+
export type NavigationRailSelectEvent = Readonly<{
|
|
41
|
+
index: Int32;
|
|
42
|
+
value: string;
|
|
43
|
+
reselected: string; // 'true' | 'false'
|
|
44
|
+
}>;
|
|
45
|
+
|
|
46
|
+
/** Label font. Empty strings / 0 mean "platform default". */
|
|
47
|
+
export type NavigationRailLabelStyleProps = Readonly<{
|
|
48
|
+
fontFamily?: string;
|
|
49
|
+
fontSize?: Double;
|
|
50
|
+
fontWeight?: string;
|
|
51
|
+
fontStyle?: string;
|
|
52
|
+
}>;
|
|
53
|
+
|
|
54
|
+
export interface NavigationRailNativeProps extends ViewProps {
|
|
55
|
+
/** The destinations. */
|
|
56
|
+
items: ReadonlyArray<NavigationRailItem>;
|
|
57
|
+
|
|
58
|
+
/** Selected destination by value; '' = none. */
|
|
59
|
+
selectedValue?: WithDefault<string, ''>;
|
|
60
|
+
|
|
61
|
+
/** 'auto' | 'labeled' | 'selected' | 'unlabeled' */
|
|
62
|
+
labelVisibility?: string;
|
|
63
|
+
|
|
64
|
+
/** 'top' | 'center' | 'bottom' */
|
|
65
|
+
menuGravity?: string;
|
|
66
|
+
|
|
67
|
+
/** 'true' | 'false': the expanded rail (Android). */
|
|
68
|
+
expanded?: string;
|
|
69
|
+
|
|
70
|
+
/** Icon and label color of the selected destination. */
|
|
71
|
+
activeTintColor?: ColorValue;
|
|
72
|
+
|
|
73
|
+
/** Icon and label color of the other destinations. */
|
|
74
|
+
inactiveTintColor?: ColorValue;
|
|
75
|
+
|
|
76
|
+
/** Rail background. */
|
|
77
|
+
railColor?: ColorValue;
|
|
78
|
+
|
|
79
|
+
/** Badge colors. */
|
|
80
|
+
badgeBackgroundColor?: ColorValue;
|
|
81
|
+
badgeTextColor?: ColorValue;
|
|
82
|
+
|
|
83
|
+
/** Label font. */
|
|
84
|
+
labelStyle?: NavigationRailLabelStyleProps;
|
|
85
|
+
|
|
86
|
+
/** Largest font scale the labels may reach; 0 = no cap. */
|
|
87
|
+
maxFontSizeMultiplier?: Double;
|
|
88
|
+
|
|
89
|
+
/** Android: the active indicator behind the selected icon. */
|
|
90
|
+
androidIndicatorColor?: ColorValue;
|
|
91
|
+
|
|
92
|
+
/** Android: ripple shown while pressing a destination. */
|
|
93
|
+
androidRippleColor?: ColorValue;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Haptic played when a destination is pressed: '' (none added) | 'none' | 'selection' |
|
|
97
|
+
* 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error'
|
|
98
|
+
*/
|
|
99
|
+
haptics?: string;
|
|
100
|
+
|
|
101
|
+
/** Fired when a destination is pressed. */
|
|
102
|
+
onItemPress?: BubblingEventHandler<NavigationRailSelectEvent>;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export default codegenNativeComponent<NavigationRailNativeProps>(
|
|
106
|
+
'PCNavigationRail'
|
|
107
|
+
) as HostComponent<NavigationRailNativeProps>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PlatformComponentsProvider = PlatformComponentsProvider;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
/** Web registrations do not replace native controls on iOS or Android. */
|
|
11
|
+
function PlatformComponentsProvider({
|
|
12
|
+
children
|
|
13
|
+
}) {
|
|
14
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
15
|
+
children: children
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=PlatformComponentsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_jsxRuntime","e","__esModule","default","PlatformComponentsProvider","children","jsx","Fragment"],"sourceRoot":"../../src","sources":["PlatformComponentsProvider.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS1B;AACO,SAASG,0BAA0BA,CAAC;EACzCC;AAC+B,CAAC,EAAsB;EACtD,oBAAO,IAAAL,WAAA,CAAAM,GAAA,EAAAN,WAAA,CAAAO,QAAA;IAAAF,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _reactNative = require("react-native");
|
|
|
10
10
|
var _SegmentedControlNativeComponent = _interopRequireDefault(require("./SegmentedControlNativeComponent"));
|
|
11
11
|
var _icons = require("./icons");
|
|
12
12
|
var _labelStyle = require("./labelStyle");
|
|
13
|
+
var _selectionIdentifiers = require("./selectionIdentifiers");
|
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
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); }
|
|
@@ -59,7 +60,9 @@ function SegmentedControl(props) {
|
|
|
59
60
|
activeTintColor,
|
|
60
61
|
inactiveTintColor,
|
|
61
62
|
labelStyle,
|
|
63
|
+
maxFontSizeMultiplier,
|
|
62
64
|
badgeStyle,
|
|
65
|
+
haptics,
|
|
63
66
|
onSelect,
|
|
64
67
|
onDeselect,
|
|
65
68
|
ios,
|
|
@@ -69,12 +72,14 @@ function SegmentedControl(props) {
|
|
|
69
72
|
|
|
70
73
|
// Normalize segments for native
|
|
71
74
|
const nativeSegments = (0, _react.useMemo)(() => {
|
|
75
|
+
(0, _selectionIdentifiers.warnSelectionIdentifiers)('SegmentedControl', segments.map(segment => segment.value));
|
|
72
76
|
return segments.map(seg => ({
|
|
73
77
|
label: seg.label,
|
|
74
78
|
value: seg.value,
|
|
75
79
|
disabled: seg.disabled ? 'disabled' : 'enabled',
|
|
76
80
|
badge: seg.badge === undefined || seg.badge === null ? '' : String(seg.badge),
|
|
77
81
|
accessibilityLabel: seg.accessibilityLabel ?? '',
|
|
82
|
+
testID: seg.testID ?? '',
|
|
78
83
|
...resolveSegmentIcon(seg.icon)
|
|
79
84
|
}));
|
|
80
85
|
}, [segments]);
|
|
@@ -135,8 +140,10 @@ function SegmentedControl(props) {
|
|
|
135
140
|
androidRippleColor: android?.rippleColor,
|
|
136
141
|
androidStrokeColor: android?.strokeColor,
|
|
137
142
|
labelStyle: nativeLabelStyle,
|
|
143
|
+
maxFontSizeMultiplier: maxFontSizeMultiplier ?? 0,
|
|
138
144
|
badgeBackgroundColor: badgeStyle?.backgroundColor,
|
|
139
145
|
badgeTextColor: badgeStyle?.color,
|
|
146
|
+
haptics: haptics ?? '',
|
|
140
147
|
onSelect: onSelect || onDeselect ? handleSelect : undefined,
|
|
141
148
|
ios: nativeIos,
|
|
142
149
|
android: nativeAndroid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_SegmentedControlNativeComponent","_interopRequireDefault","_icons","_labelStyle","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ANDROID_MIN_HEIGHT","resolveSegmentIcon","exports","resolveIcon","normalizeSelectedValue","selected","SegmentedControl","props","style","segments","selectedValue","disabled","labelVisibility","selectedSegmentColor","activeTintColor","inactiveTintColor","labelStyle","badgeStyle","onSelect","onDeselect","ios","android","viewProps","nativeSegments","useMemo","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_SegmentedControlNativeComponent","_interopRequireDefault","_icons","_labelStyle","_selectionIdentifiers","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ANDROID_MIN_HEIGHT","resolveSegmentIcon","exports","resolveIcon","normalizeSelectedValue","selected","SegmentedControl","props","style","segments","selectedValue","disabled","labelVisibility","selectedSegmentColor","activeTintColor","inactiveTintColor","labelStyle","maxFontSizeMultiplier","badgeStyle","haptics","onSelect","onDeselect","ios","android","viewProps","nativeSegments","useMemo","warnSelectionIdentifiers","map","segment","value","seg","label","badge","undefined","String","accessibilityLabel","testID","icon","selectedData","handleSelect","useCallback","index","nativeEvent","nativeIos","momentary","apportionsSegmentWidthsByContent","nativeSelectedSegmentColor","Platform","OS","selectedSegmentTintColor","nativeLabelStyle","normalizeLabelStyle","nativeAndroid","selectionRequired","material","mergedStyle","styles","androidDefault","jsx","interactivity","androidRippleColor","rippleColor","androidStrokeColor","strokeColor","badgeBackgroundColor","backgroundColor","badgeTextColor","color","StyleSheet","create","minHeight"],"sourceRoot":"../../src","sources":["SegmentedControl.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,11 +21,13 @@ export type SegmentedControlSegment = Readonly<{
|
|
|
21
21
|
disabled: string; // 'enabled' | 'disabled'
|
|
22
22
|
iconType: string; // '' | 'sfSymbol' | 'drawable' | 'image'
|
|
23
23
|
iconName: string; // SF Symbol (iOS) or drawable resource name (Android)
|
|
24
|
+
iconRequest: string;
|
|
24
25
|
iconUri: string; // Resolved image URI when iconType === 'image'
|
|
25
26
|
iconScale: Double; // Resolved image scale when iconType === 'image'
|
|
26
27
|
iconTinted: string; // 'true' | 'false' — draw the image as a tinted template
|
|
27
28
|
badge: string; // Badge text, empty = no badge
|
|
28
29
|
accessibilityLabel: string; // Screen-reader label, empty = use label
|
|
30
|
+
testID: string; // E2E identifier of the segment, empty = none
|
|
29
31
|
}>;
|
|
30
32
|
|
|
31
33
|
/**
|
|
@@ -117,12 +119,21 @@ export interface SegmentedControlProps extends ViewProps {
|
|
|
117
119
|
/** Label font. */
|
|
118
120
|
labelStyle?: LabelStyleProps;
|
|
119
121
|
|
|
122
|
+
/** Largest font scale the labels may reach; 0 = no cap. */
|
|
123
|
+
maxFontSizeMultiplier?: Double;
|
|
124
|
+
|
|
120
125
|
/** Badge background (default: system red). */
|
|
121
126
|
badgeBackgroundColor?: ColorValue;
|
|
122
127
|
|
|
123
128
|
/** Badge text color (default: white). */
|
|
124
129
|
badgeTextColor?: ColorValue;
|
|
125
130
|
|
|
131
|
+
/**
|
|
132
|
+
* Haptic played when the user changes the selection: '' (none added) | 'none' | 'selection' |
|
|
133
|
+
* 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error'
|
|
134
|
+
*/
|
|
135
|
+
haptics?: string;
|
|
136
|
+
|
|
126
137
|
/**
|
|
127
138
|
* Fired when the user selects a segment.
|
|
128
139
|
*/
|
|
@@ -7,11 +7,29 @@ exports.SelectionMenu = SelectionMenu;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _SelectionMenuNativeComponent = _interopRequireDefault(require("./SelectionMenuNativeComponent"));
|
|
10
|
+
var _icons = require("./icons");
|
|
11
|
+
var _selectionIdentifiers = require("./selectionIdentifiers");
|
|
10
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
14
|
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); }
|
|
13
15
|
// SelectionMenu.tsx
|
|
14
16
|
|
|
17
|
+
/**
|
|
18
|
+
* A single option: a label and its data payload, with an optional icon and
|
|
19
|
+
* second line.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/** Flattens options for native: icons resolved, every field set. */
|
|
23
|
+
function normalizeSelectionMenuOptions(options) {
|
|
24
|
+
(0, _selectionIdentifiers.warnSelectionIdentifiers)('SelectionMenu', options.map(option => option.data));
|
|
25
|
+
return options.map(option => ({
|
|
26
|
+
label: option.label,
|
|
27
|
+
data: option.data,
|
|
28
|
+
disabled: option.disabled ? 'true' : 'false',
|
|
29
|
+
subtitle: option.subtitle ?? '',
|
|
30
|
+
...(0, _icons.resolveIcon)(option.icon)
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
15
33
|
function normalizeSelectedData(selected) {
|
|
16
34
|
return selected ?? '';
|
|
17
35
|
}
|
|
@@ -29,6 +47,7 @@ function SelectionMenu(props) {
|
|
|
29
47
|
placeholder,
|
|
30
48
|
presentation = 'modal',
|
|
31
49
|
visible,
|
|
50
|
+
haptics,
|
|
32
51
|
onSelect,
|
|
33
52
|
onRequestClose,
|
|
34
53
|
ios,
|
|
@@ -36,6 +55,7 @@ function SelectionMenu(props) {
|
|
|
36
55
|
...viewProps
|
|
37
56
|
} = props;
|
|
38
57
|
const selectedData = (0, _react.useMemo)(() => normalizeSelectedData(selected), [selected]);
|
|
58
|
+
const nativeOptions = (0, _react.useMemo)(() => normalizeSelectionMenuOptions(options), [options]);
|
|
39
59
|
const nativeVisible = (0, _react.useMemo)(() => normalizeNativeVisible(presentation, visible), [presentation, visible]);
|
|
40
60
|
const handleSelect = (0, _react.useCallback)(e => {
|
|
41
61
|
const {
|
|
@@ -43,8 +63,10 @@ function SelectionMenu(props) {
|
|
|
43
63
|
label,
|
|
44
64
|
data
|
|
45
65
|
} = e.nativeEvent;
|
|
66
|
+
const option = options[index];
|
|
67
|
+
if (disabled || !option || option.disabled || option.data !== data) return;
|
|
46
68
|
onSelect?.(data, label, index);
|
|
47
|
-
}, [onSelect]);
|
|
69
|
+
}, [disabled, onSelect, options]);
|
|
48
70
|
const handleRequestClose = (0, _react.useCallback)(() => {
|
|
49
71
|
onRequestClose?.();
|
|
50
72
|
}, [onRequestClose]);
|
|
@@ -53,7 +75,8 @@ function SelectionMenu(props) {
|
|
|
53
75
|
const nativeAndroid = (0, _react.useMemo)(() => {
|
|
54
76
|
if (!android) return undefined;
|
|
55
77
|
return {
|
|
56
|
-
material: android.material
|
|
78
|
+
material: android.material,
|
|
79
|
+
searchable: android.searchable ? 'true' : 'false'
|
|
57
80
|
};
|
|
58
81
|
}, [android]);
|
|
59
82
|
|
|
@@ -62,12 +85,13 @@ function SelectionMenu(props) {
|
|
|
62
85
|
const remountKey = _reactNative.Platform.OS === 'android' ? `${presentation}-${android?.material ?? 'system'}` : undefined;
|
|
63
86
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectionMenuNativeComponent.default, {
|
|
64
87
|
style: style,
|
|
65
|
-
options:
|
|
88
|
+
options: nativeOptions,
|
|
66
89
|
selectedData: selectedData,
|
|
67
90
|
interactivity: disabled ? 'disabled' : 'enabled',
|
|
68
91
|
placeholder: placeholder,
|
|
69
92
|
anchorMode: presentation === 'embedded' ? 'inline' : 'headless',
|
|
70
93
|
visible: nativeVisible,
|
|
94
|
+
haptics: haptics ?? '',
|
|
71
95
|
onSelect: onSelect ? handleSelect : undefined,
|
|
72
96
|
onRequestClose: onRequestClose ? handleRequestClose : undefined,
|
|
73
97
|
ios: ios,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_SelectionMenuNativeComponent","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","normalizeSelectedData","selected","normalizeNativeVisible","presentation","visible","undefined","SelectionMenu","props","style","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_SelectionMenuNativeComponent","_interopRequireDefault","_icons","_selectionIdentifiers","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","normalizeSelectionMenuOptions","options","warnSelectionIdentifiers","map","option","data","label","disabled","subtitle","resolveIcon","icon","normalizeSelectedData","selected","normalizeNativeVisible","presentation","visible","undefined","SelectionMenu","props","style","placeholder","haptics","onSelect","onRequestClose","ios","android","viewProps","selectedData","useMemo","nativeOptions","nativeVisible","handleSelect","useCallback","index","nativeEvent","handleRequestClose","nativeAndroid","material","searchable","remountKey","Platform","OS","jsx","interactivity","anchorMode"],"sourceRoot":"../../src","sources":["SelectionMenu.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
// SelectionMenuNativeComponent.ts
|
|
2
2
|
import type { HostComponent, ViewProps } from 'react-native';
|
|
3
3
|
import { codegenNativeComponent } from 'react-native';
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
BubblingEventHandler,
|
|
6
|
+
Double,
|
|
7
|
+
Int32,
|
|
8
|
+
WithDefault,
|
|
9
|
+
} from './codegenTypes';
|
|
5
10
|
|
|
6
11
|
/**
|
|
7
|
-
* A single option in the menu.
|
|
12
|
+
* A single option in the menu. Icons are pre-resolved on the JS side (see
|
|
13
|
+
* icons.ts); empty strings mean "none".
|
|
8
14
|
*/
|
|
9
|
-
export type
|
|
15
|
+
export type SelectionMenuNativeOption = Readonly<{
|
|
10
16
|
label: string;
|
|
11
17
|
data: string;
|
|
18
|
+
disabled: string; // 'true' | 'false'
|
|
19
|
+
subtitle: string;
|
|
20
|
+
iconType: string; // '' | 'sfSymbol' | 'drawable' | 'image'
|
|
21
|
+
iconName: string;
|
|
22
|
+
iconRequest: string;
|
|
23
|
+
iconUri: string;
|
|
24
|
+
iconScale: Double;
|
|
25
|
+
iconTinted: string; // 'true' | 'false'
|
|
12
26
|
}>;
|
|
13
27
|
|
|
14
28
|
/**
|
|
@@ -44,13 +58,15 @@ export type IOSProps = Readonly<{}>;
|
|
|
44
58
|
*/
|
|
45
59
|
export type AndroidProps = Readonly<{
|
|
46
60
|
material?: string; // AndroidMaterialMode
|
|
61
|
+
/** Embedded M3 dropdown: accept typing to filter the options */
|
|
62
|
+
searchable?: string; // 'true' | 'false'
|
|
47
63
|
}>;
|
|
48
64
|
|
|
49
65
|
export interface SelectionMenuProps extends ViewProps {
|
|
50
66
|
/**
|
|
51
67
|
* Menu options.
|
|
52
68
|
*/
|
|
53
|
-
options: ReadonlyArray<
|
|
69
|
+
options: ReadonlyArray<SelectionMenuNativeOption>;
|
|
54
70
|
|
|
55
71
|
/**
|
|
56
72
|
* Controlled selection by `data`.
|
|
@@ -81,6 +97,12 @@ export interface SelectionMenuProps extends ViewProps {
|
|
|
81
97
|
*/
|
|
82
98
|
visible?: string; // SelectionMenuVisible
|
|
83
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Haptic played when the user picks an option: '' (none added) | 'none' | 'selection' |
|
|
102
|
+
* 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error'
|
|
103
|
+
*/
|
|
104
|
+
haptics?: string;
|
|
105
|
+
|
|
84
106
|
/**
|
|
85
107
|
* Fired when the user selects an option.
|
|
86
108
|
*/
|