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,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ButtonProps } from '../Button.js';
|
|
3
|
+
/**
|
|
4
|
+
* A `<button>`, styled after the Material 3 button variants. A toggle
|
|
5
|
+
* (`selected`) sets `aria-pressed` and takes the filled look when selected.
|
|
6
|
+
* Browsers have no native menu, so a button with a `menu` calls `onPress`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function Button(props: ButtonProps): React.ReactElement;
|
|
9
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/web/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAW,CAAC;AAoB7C;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CA2K7D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ButtonGroupProps } from '../ButtonGroup.js';
|
|
3
|
+
/**
|
|
4
|
+
* The selection after pressing `value`, in button order. Mirrors the native
|
|
5
|
+
* rules: `single` swaps the selection, `multiple` toggles, and a required
|
|
6
|
+
* selection never becomes empty.
|
|
7
|
+
*/
|
|
8
|
+
export declare function nextSelection(values: readonly string[], selected: readonly string[], value: string, selection: 'single' | 'multiple', required: boolean): string[];
|
|
9
|
+
/** A row of `<button>`s, with toggle semantics when `selection` is set. */
|
|
10
|
+
export declare function ButtonGroup(props: ButtonGroupProps): React.ReactElement;
|
|
11
|
+
//# sourceMappingURL=ButtonGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../../../src/web/ButtonGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAgB,CAAC;AAWvD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,QAAQ,GAAG,UAAU,EAChC,QAAQ,EAAE,OAAO,GAChB,MAAM,EAAE,CAYV;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAgHvE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DatePickerProps } from '../DatePicker.js';
|
|
3
|
+
/**
|
|
4
|
+
* The browser's date and time inputs. `embedded` renders the input in place
|
|
5
|
+
* and reports every change with `confirmed: true`. `modal` opens it in a
|
|
6
|
+
* `<dialog>` with Cancel/Done buttons, like the iOS popover: changes report
|
|
7
|
+
* `confirmed: false`, Done reports `confirmed: true`, and Cancel, Escape or a
|
|
8
|
+
* click outside call `onClosed`. In `countDownTimer` mode the input is a time
|
|
9
|
+
* input and `onConfirm`'s `durationSeconds` is its hours and minutes;
|
|
10
|
+
* `yearAndMonth` is a month input. The browser's input has its own clock, so
|
|
11
|
+
* `is24Hour` and `android.inputMode` don't apply.
|
|
12
|
+
*/
|
|
13
|
+
export declare function DatePicker(props: DatePickerProps): React.ReactElement;
|
|
14
|
+
//# sourceMappingURL=DatePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../../src/web/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAe,CAAC;AAuBrD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAyFrE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DateRangePickerProps } from '../DatePicker.js';
|
|
3
|
+
/** The browser has start and end date inputs, so the range picker works on web. */
|
|
4
|
+
export declare const isDateRangePickerSupported: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* A `<dialog>` with start and end date inputs and Cancel/Done buttons. Done
|
|
7
|
+
* reports the range (the start of each day) once both are set and in order,
|
|
8
|
+
* then calls `onClosed`, as the Android dialog does.
|
|
9
|
+
*/
|
|
10
|
+
export declare function DateRangePicker(props: DateRangePickerProps): React.ReactElement;
|
|
11
|
+
//# sourceMappingURL=DateRangePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../../../src/web/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAe,CAAC;AAS1D,mFAAmF;AACnF,eAAO,MAAM,0BAA0B,EAAE,OAAc,CAAC;AAsBxD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,GAC1B,KAAK,CAAC,YAAY,CAOpB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* A modal `<dialog>`, open while mounted. Escape and a click on the backdrop
|
|
4
|
+
* call `onDismiss`; like the native modals, the caller closes it by flipping
|
|
5
|
+
* its `visible` prop, which unmounts it.
|
|
6
|
+
*/
|
|
7
|
+
export declare function Dialog({ label, onDismiss, children, }: {
|
|
8
|
+
label?: string;
|
|
9
|
+
onDismiss: () => void;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
}): React.ReactElement;
|
|
12
|
+
//# sourceMappingURL=Dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../src/web/Dialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAOvD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,KAAK,CAAC,YAAY,CAgCrB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FloatingActionButtonProps } from '../FloatingActionButton.js';
|
|
3
|
+
/**
|
|
4
|
+
* A `<button>` styled after the Material 3 FAB: a rounded square with the
|
|
5
|
+
* icon, or the extended FAB with the label. `scrollViewNativeID` is ignored.
|
|
6
|
+
*/
|
|
7
|
+
export declare function FloatingActionButton(props: FloatingActionButtonProps): React.ReactElement;
|
|
8
|
+
//# sourceMappingURL=FloatingActionButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FloatingActionButton.d.ts","sourceRoot":"","sources":["../../../../../src/web/FloatingActionButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAAyB,CAAC;AAezE;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,GAC/B,KAAK,CAAC,YAAY,CAkDpB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PlatformIcon } from '../icons.js';
|
|
3
|
+
/**
|
|
4
|
+
* Draws an icon on web, tinted with `color` unless the source opts out.
|
|
5
|
+
* Renders nothing for SF Symbols and Android drawables.
|
|
6
|
+
*/
|
|
7
|
+
export declare function Icon({ icon, color, size, }: {
|
|
8
|
+
icon: PlatformIcon | undefined;
|
|
9
|
+
color: string | undefined;
|
|
10
|
+
size?: number;
|
|
11
|
+
}): React.ReactElement | null;
|
|
12
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../../src/web/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAU,CAAC;AAG7C;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,IAAS,GACV,EAAE;IACD,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAa5B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { NativeTheme } from '../NativeTheme.js';
|
|
2
|
+
/**
|
|
3
|
+
* Applies the theme's brand color to the web components (filled buttons, the
|
|
4
|
+
* selected segment, focus rings and the browser's own controls through
|
|
5
|
+
* `accent-color`). Pass `null` to restore the default.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setNativeTheme(theme: NativeTheme | null): void;
|
|
8
|
+
/** Keeps the web components' brand color in sync with `theme`. */
|
|
9
|
+
export declare function useNativeTheme(theme: NativeTheme | null | undefined): void;
|
|
10
|
+
//# sourceMappingURL=NativeTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeTheme.d.ts","sourceRoot":"","sources":["../../../../../src/web/NativeTheme.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAgB,CAAC;AAGlD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAE9D;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAM1E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { NavigationRailProps } from '../NavigationRail.js';
|
|
3
|
+
/**
|
|
4
|
+
* A vertical `tablist` of `<button>` destinations, icon over label (beside it
|
|
5
|
+
* when expanded), with the header above them.
|
|
6
|
+
*/
|
|
7
|
+
export declare function NavigationRail(props: NavigationRailProps): React.ReactElement;
|
|
8
|
+
//# sourceMappingURL=NavigationRail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationRail.d.ts","sourceRoot":"","sources":["../../../../../src/web/NavigationRail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAmB,CAAC;AAM7D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAqI7E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PlatformComponentsProviderProps, WebComponents, WebComponentProps } from '../webComponents.js';
|
|
3
|
+
/** Replacements apply only to descendants; nested registrations inherit missing entries. */
|
|
4
|
+
export declare function PlatformComponentsProvider({ web, children, }: PlatformComponentsProviderProps): React.ReactElement;
|
|
5
|
+
export declare function useWebComponent<Name extends keyof WebComponents>(name: Name): WebComponents[Name] | undefined;
|
|
6
|
+
export declare function withWebComponent<Name extends keyof WebComponents>(name: Name, fallback: WebComponents[Name]): {
|
|
7
|
+
(props: WebComponentProps[Name]): React.ReactElement;
|
|
8
|
+
displayName: Name;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=PlatformComponentsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformComponentsProvider.d.ts","sourceRoot":"","sources":["../../../../../src/web/PlatformComponentsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EACV,+BAA+B,EAC/B,aAAa,EACb,iBAAiB,EAClB,MAAM,qBAAkB,CAAC;AAI1B,4FAA4F;AAC5F,wBAAgB,0BAA0B,CAAC,EACzC,GAAG,EACH,QAAQ,GACT,EAAE,+BAA+B,GAAG,KAAK,CAAC,YAAY,CActD;AAED,wBAAgB,eAAe,CAAC,IAAI,SAAS,MAAM,aAAa,EAC9D,IAAI,EAAE,IAAI,GACT,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAEjC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,MAAM,aAAa,EAC/D,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC;YAEA,iBAAiB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY;;EAQ1E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SegmentedControlProps } from '../SegmentedControl.js';
|
|
3
|
+
/**
|
|
4
|
+
* A radio group of `<button>`s in a track, like the iOS segmented control.
|
|
5
|
+
* Like iOS, tapping the selected segment keeps it selected.
|
|
6
|
+
*/
|
|
7
|
+
export declare function SegmentedControl(props: SegmentedControlProps): React.ReactElement;
|
|
8
|
+
//# sourceMappingURL=SegmentedControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../../../src/web/SegmentedControl.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAqB,CAAC;AAIjE;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,GAC3B,KAAK,CAAC,YAAY,CAgHpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SelectionMenuProps } from '../SelectionMenu.js';
|
|
3
|
+
/**
|
|
4
|
+
* `embedded` renders a `<select>` (labels only). `modal` stays headless like on
|
|
5
|
+
* native: while `visible`, it opens the options in a `<dialog>`, with their
|
|
6
|
+
* image icons and subtitles; picking one calls `onSelect`, and Escape or a
|
|
7
|
+
* click outside calls `onRequestClose`. `android.searchable` is ignored.
|
|
8
|
+
*/
|
|
9
|
+
export declare function SelectionMenu(props: SelectionMenuProps): React.ReactElement;
|
|
10
|
+
//# sourceMappingURL=SelectionMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionMenu.d.ts","sourceRoot":"","sources":["../../../../../src/web/SelectionMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAkB,CAAC;AAK3D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAqI3E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SplitButtonProps } from '../SplitButton.js';
|
|
3
|
+
/**
|
|
4
|
+
* The main button alone: browsers have no native menu to attach, so the
|
|
5
|
+
* menu button is left out. Provide a web menu with a `.web.tsx` file in your
|
|
6
|
+
* app.
|
|
7
|
+
*/
|
|
8
|
+
export declare function SplitButton(props: SplitButtonProps): React.ReactElement;
|
|
9
|
+
//# sourceMappingURL=SplitButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton.d.ts","sourceRoot":"","sources":["../../../../../src/web/SplitButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAgB,CAAC;AAKvD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAkBvE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TabBarProps } from '../TabBar.js';
|
|
3
|
+
/**
|
|
4
|
+
* A `tablist` of `<button>` tabs, icon over label, with the selected tab's
|
|
5
|
+
* icon in a pill as on the Material navigation bar. An `accessory` is a
|
|
6
|
+
* plain view above the bar.
|
|
7
|
+
*/
|
|
8
|
+
export declare function TabBar(props: TabBarProps): React.ReactElement;
|
|
9
|
+
//# sourceMappingURL=TabBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../../src/web/TabBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAW,CAAC;AAI7C;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAwI7D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TextFieldProps, TextFieldRef } from '../TextField.js';
|
|
3
|
+
/**
|
|
4
|
+
* A text input with the TextField extras around it: a label above, prefix and
|
|
5
|
+
* suffix, icons, a clear button, a password toggle, and supporting, error and
|
|
6
|
+
* counter text below.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<TextFieldRef>>;
|
|
9
|
+
//# sourceMappingURL=TextField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../../src/web/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,KAKN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAGV,cAAc,EACd,YAAY,EACb,MAAM,iBAAc,CAAC;AAatB;;;;GAIG;AACH,eAAO,MAAM,SAAS,qFAuSrB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { WebComponents } from '../webComponents.js';
|
|
2
|
+
export declare const Button: WebComponents['Button'];
|
|
3
|
+
export declare const ButtonGroup: WebComponents['ButtonGroup'];
|
|
4
|
+
export declare const SplitButton: WebComponents['SplitButton'];
|
|
5
|
+
export declare const DatePicker: WebComponents['DatePicker'];
|
|
6
|
+
export declare const DateRangePicker: WebComponents['DateRangePicker'];
|
|
7
|
+
export declare const FloatingActionButton: WebComponents['FloatingActionButton'];
|
|
8
|
+
export declare const NavigationRail: WebComponents['NavigationRail'];
|
|
9
|
+
export declare const SegmentedControl: WebComponents['SegmentedControl'];
|
|
10
|
+
export declare const SelectionMenu: WebComponents['SelectionMenu'];
|
|
11
|
+
export declare const TabBar: WebComponents['TabBar'];
|
|
12
|
+
export declare const TextField: WebComponents['TextField'];
|
|
13
|
+
export declare const ContextMenu: WebComponents['ContextMenu'];
|
|
14
|
+
export declare const FloatingToolbar: WebComponents['FloatingToolbar'];
|
|
15
|
+
export declare const LiquidGlass: WebComponents['LiquidGlass'];
|
|
16
|
+
export declare const LiquidGlassContainer: WebComponents['LiquidGlassContainer'];
|
|
17
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../../src/web/components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAkB,CAAC;AAoBtD,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,QAAQ,CAG1C,CAAC;AACF,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,aAAa,CAGpD,CAAC;AACF,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,aAAa,CAGpD,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,YAAY,CAGlD,CAAC;AACF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,iBAAiB,CACA,CAAC;AAC9D,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,sBAAsB,CACA,CAAC;AACxE,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,gBAAgB,CAG1D,CAAC;AACF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CACA,CAAC;AAChE,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,eAAe,CAGxD,CAAC;AACF,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,QAAQ,CAG1C,CAAC;AACF,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,WAAW,CAGhD,CAAC;AACF,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,aAAa,CAGpD,CAAC;AACF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,iBAAiB,CACA,CAAC;AAC9D,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,aAAa,CAGpD,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,sBAAsB,CACA,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ContextMenuProps } from '../ContextMenu.js';
|
|
3
|
+
import type { FloatingToolbarProps } from '../FloatingToolbar.js';
|
|
4
|
+
import type { LiquidGlassProps } from '../LiquidGlass.js';
|
|
5
|
+
import type { LiquidGlassContainerProps } from '../LiquidGlassContainer.js';
|
|
6
|
+
/**
|
|
7
|
+
* Renders its children without a menu: browsers have no native menu to
|
|
8
|
+
* attach. Provide a web menu with a `.web.tsx` file in your app.
|
|
9
|
+
*/
|
|
10
|
+
export declare function ContextMenu(props: ContextMenuProps): React.ReactElement;
|
|
11
|
+
/**
|
|
12
|
+
* A pill-shaped surface that lays out its children in a row or column. It
|
|
13
|
+
* doesn't follow a linked ScrollView (`scrollViewNativeID`, `hideOnScroll`).
|
|
14
|
+
*/
|
|
15
|
+
export declare function FloatingToolbar(props: FloatingToolbarProps): React.ReactElement;
|
|
16
|
+
/**
|
|
17
|
+
* A plain view: Liquid Glass is iOS 26 only, so `isLiquidGlassSupported` is
|
|
18
|
+
* `false` on web, as on Android.
|
|
19
|
+
*/
|
|
20
|
+
export declare function LiquidGlass(props: LiquidGlassProps): React.ReactElement;
|
|
21
|
+
/** A plain view: glass only merges on iOS 26. */
|
|
22
|
+
export declare function LiquidGlassContainer(props: LiquidGlassContainerProps): React.ReactElement;
|
|
23
|
+
export declare const isLiquidGlassSupported = false;
|
|
24
|
+
//# sourceMappingURL=containers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../../../../../src/web/containers.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAAyB,CAAC;AAGzE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAuBvE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,GAC1B,KAAK,CAAC,YAAY,CAkCpB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA8BvE;AAED,iDAAiD;AACjD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,GAC/B,KAAK,CAAC,YAAY,CAGpB;AAED,eAAO,MAAM,sBAAsB,QAAQ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DatePickerMode } from '../DatePickerNativeComponent';
|
|
2
|
+
/** The `<input type>`s the pickers use. */
|
|
3
|
+
export type DateInputType = 'date' | 'time' | 'datetime-local' | 'month';
|
|
4
|
+
/** The `<input type>` for a picker mode. */
|
|
5
|
+
export declare function inputTypeForMode(mode: DatePickerMode | undefined): DateInputType;
|
|
6
|
+
/** Formats `date` as the value of an input of `type`; `''` for no date. */
|
|
7
|
+
export declare function formatInputValue(date: Date | null | undefined, type: DateInputType): string;
|
|
8
|
+
/**
|
|
9
|
+
* Parses an input value back into a `Date`. Parts the input doesn't show are
|
|
10
|
+
* kept from `base` (the time of day for a date input, the day for a time
|
|
11
|
+
* input); a month input gives the first of the month. Returns `null` for an
|
|
12
|
+
* empty or invalid value.
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseInputValue(value: string, type: DateInputType, base: Date | null | undefined): Date | null;
|
|
15
|
+
/**
|
|
16
|
+
* Bounds also apply to typed values and the modal's initial selection. HTML
|
|
17
|
+
* inputs report constraint violations but don't prevent a button callback.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isWithinInputBounds(date: Date | null | undefined, type: DateInputType, minDate?: Date | null, maxDate?: Date | null): date is Date;
|
|
20
|
+
//# sourceMappingURL=dateInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateInput.d.ts","sourceRoot":"","sources":["../../../../../src/web/dateInput.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAEzE,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,cAAc,GAAG,SAAS,GAC/B,aAAa,CAYf;AAID,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAC7B,IAAI,EAAE,aAAa,GAClB,MAAM,CASR;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAC5B,IAAI,GAAG,IAAI,CAmDb;AAYD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAC7B,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EACrB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GACpB,IAAI,IAAI,IAAI,CAWd"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ColorValue, ImageSourcePropType } from 'react-native';
|
|
2
|
+
import type { PlatformIcon } from '../icons.js';
|
|
3
|
+
import type { LabelStyle } from '../labelStyle.js';
|
|
4
|
+
/** A CSS style object for a DOM element. */
|
|
5
|
+
export type CSSStyle = Record<string, string | number | undefined>;
|
|
6
|
+
/** Sets the brand color the web components use; `undefined` restores the default. */
|
|
7
|
+
export declare function setThemePrimary(primary: string | undefined): void;
|
|
8
|
+
/** The current brand color, from `setNativeTheme` / `useNativeTheme`. */
|
|
9
|
+
export declare function usePrimaryColor(): string;
|
|
10
|
+
/**
|
|
11
|
+
* A color prop as CSS. `PlatformColor` and `DynamicColorIOS` have no web
|
|
12
|
+
* equivalent and fall back to the default.
|
|
13
|
+
*/
|
|
14
|
+
export declare function cssColor(color: ColorValue | undefined): string | undefined;
|
|
15
|
+
/** A label font as CSS. */
|
|
16
|
+
export declare function cssFont(labelStyle: LabelStyle | undefined): CSSStyle;
|
|
17
|
+
/**
|
|
18
|
+
* The image to draw for an icon on web. Only `{ type: 'image' }` sources
|
|
19
|
+
* render: SF Symbols and Android drawables don't exist in a browser.
|
|
20
|
+
*/
|
|
21
|
+
export declare function webIcon(icon: PlatformIcon | undefined): {
|
|
22
|
+
source: ImageSourcePropType;
|
|
23
|
+
tinted: boolean;
|
|
24
|
+
} | undefined;
|
|
25
|
+
/** Logs a development warning once per key. */
|
|
26
|
+
export declare function warnOnce(key: string, message: string): void;
|
|
27
|
+
/** Resets `warnOnce`; for tests. */
|
|
28
|
+
export declare function resetWarnings(): void;
|
|
29
|
+
/** The value of the form control that fired a DOM event. */
|
|
30
|
+
export declare function eventValue(event: {
|
|
31
|
+
target: unknown;
|
|
32
|
+
}): string;
|
|
33
|
+
/** Styles for the variants shared by Button and ButtonGroup. */
|
|
34
|
+
export declare function buttonColors(variant: string, primary: string, color: string | undefined, tintColor: string | undefined): CSSStyle;
|
|
35
|
+
/** Height and horizontal padding for each button size. */
|
|
36
|
+
export declare const BUTTON_SIZES: Record<string, {
|
|
37
|
+
height: number;
|
|
38
|
+
padding: number;
|
|
39
|
+
fontSize: number;
|
|
40
|
+
}>;
|
|
41
|
+
/** Base style of a `<button>` rendered by these components. */
|
|
42
|
+
export declare const BUTTON_BASE: CSSStyle;
|
|
43
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/web/shared.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,aAAU,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAe,CAAC;AAEhD,4CAA4C;AAC5C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;AAQnE,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAIjE;AAaD,yEAAyE;AACzE,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,2BAA2B;AAC3B,wBAAgB,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAQpE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,YAAY,GAAG,SAAS,GAC7B;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAU9D;AAWD,+CAA+C;AAC/C,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,oCAAoC;AACpC,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE7D;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,QAAQ,CAqCV;AAED,0DAA0D;AAC1D,eAAO,MAAM,YAAY,EAAE,MAAM,CAC/B,MAAM,EACN;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAOtD,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,WAAW,EAAE,QAUzB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode, RefAttributes } from 'react';
|
|
2
|
+
import type { ButtonProps } from './Button.js';
|
|
3
|
+
import type { ButtonGroupProps } from './ButtonGroup.js';
|
|
4
|
+
import type { SplitButtonProps } from './SplitButton.js';
|
|
5
|
+
import type { ContextMenuProps } from './ContextMenu.js';
|
|
6
|
+
import type { DatePickerProps, DateRangePickerProps } from './DatePicker.js';
|
|
7
|
+
import type { FloatingActionButtonProps } from './FloatingActionButton.js';
|
|
8
|
+
import type { FloatingToolbarProps } from './FloatingToolbar.js';
|
|
9
|
+
import type { LiquidGlassProps } from './LiquidGlass.js';
|
|
10
|
+
import type { LiquidGlassContainerProps } from './LiquidGlassContainer.js';
|
|
11
|
+
import type { NavigationRailProps } from './NavigationRail.js';
|
|
12
|
+
import type { SegmentedControlProps } from './SegmentedControl.js';
|
|
13
|
+
import type { SelectionMenuProps } from './SelectionMenu.js';
|
|
14
|
+
import type { TabBarProps } from './TabBar.js';
|
|
15
|
+
import type { TextFieldProps, TextFieldRef } from './TextField.js';
|
|
16
|
+
/** Public contracts accepted by consumer-supplied web components. */
|
|
17
|
+
export interface WebComponentProps {
|
|
18
|
+
Button: ButtonProps;
|
|
19
|
+
ButtonGroup: ButtonGroupProps;
|
|
20
|
+
SplitButton: SplitButtonProps;
|
|
21
|
+
ContextMenu: ContextMenuProps;
|
|
22
|
+
DatePicker: DatePickerProps;
|
|
23
|
+
DateRangePicker: DateRangePickerProps;
|
|
24
|
+
FloatingActionButton: FloatingActionButtonProps;
|
|
25
|
+
FloatingToolbar: FloatingToolbarProps;
|
|
26
|
+
LiquidGlass: LiquidGlassProps;
|
|
27
|
+
LiquidGlassContainer: LiquidGlassContainerProps;
|
|
28
|
+
NavigationRail: NavigationRailProps;
|
|
29
|
+
SegmentedControl: SegmentedControlProps;
|
|
30
|
+
SelectionMenu: SelectionMenuProps;
|
|
31
|
+
TabBar: TabBarProps;
|
|
32
|
+
TextField: TextFieldProps & RefAttributes<TextFieldRef>;
|
|
33
|
+
}
|
|
34
|
+
/** Implement one or more entries with the same props, callbacks and ref contract. */
|
|
35
|
+
export type WebComponents = {
|
|
36
|
+
[Name in keyof WebComponentProps]: ComponentType<WebComponentProps[Name]>;
|
|
37
|
+
};
|
|
38
|
+
export interface PlatformComponentsProviderProps {
|
|
39
|
+
/** Web overrides for this subtree; ignored on iOS and Android. */
|
|
40
|
+
web?: Partial<WebComponents>;
|
|
41
|
+
children?: ReactNode;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=webComponents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webComponents.d.ts","sourceRoot":"","sources":["../../../../src/webComponents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAe,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAe,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAe,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAe,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAa,CAAC;AAEhE,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC;IAC5B,eAAe,EAAE,oBAAoB,CAAC;IACtC,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,eAAe,EAAE,oBAAoB,CAAC;IACtC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,cAAc,EAAE,mBAAmB,CAAC;IACpC,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;CACzD;AAED,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG;KACzB,IAAI,IAAI,MAAM,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC9C,kEAAkE;IAClE,GAAG,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-platform-components",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Native UI components for React Native, the real platform widgets on both iOS and Android: TextField, DatePicker, ContextMenu, SelectionMenu, SegmentedControl, Button, ButtonGroup, FloatingToolbar and LiquidGlass. UIKit
|
|
3
|
+
"version": "1.6.0",
|
|
4
|
+
"description": "Native UI components for React Native, the real platform widgets on both iOS and Android: TextField, DatePicker, ContextMenu, SelectionMenu, SegmentedControl, TabBar, NavigationRail, Button, ButtonGroup, FloatingActionButton, FloatingToolbar and LiquidGlass. UIKit on iOS, Material 3 Expressive on Android. Fabric, TypeScript, Expo config plugin.",
|
|
5
5
|
"main": "./lib/commonjs/index.js",
|
|
6
6
|
"module": "./lib/module/index.js",
|
|
7
7
|
"browser": "./lib/module/index.web.js",
|
|
@@ -27,6 +27,17 @@
|
|
|
27
27
|
"default": "./lib/commonjs/index.js"
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
+
"./jest": {
|
|
31
|
+
"source": "./src/jest.tsx",
|
|
32
|
+
"import": {
|
|
33
|
+
"types": "./lib/typescript/module/src/jest.d.ts",
|
|
34
|
+
"default": "./lib/module/jest.js"
|
|
35
|
+
},
|
|
36
|
+
"require": {
|
|
37
|
+
"types": "./lib/typescript/commonjs/src/jest.d.ts",
|
|
38
|
+
"default": "./lib/commonjs/jest.js"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
30
41
|
"./package.json": "./package.json",
|
|
31
42
|
"./app.plugin": "./app.plugin.js",
|
|
32
43
|
"./app.plugin.js": "./app.plugin.js"
|
|
@@ -108,10 +119,19 @@
|
|
|
108
119
|
"segmentedbuttons",
|
|
109
120
|
"uisegmentedcontrol",
|
|
110
121
|
"tabs",
|
|
122
|
+
"tab-bar",
|
|
123
|
+
"tabbar",
|
|
124
|
+
"uitabbar",
|
|
125
|
+
"bottom-navigation",
|
|
126
|
+
"navigation-bar",
|
|
127
|
+
"navigation-rail",
|
|
128
|
+
"navigationrail",
|
|
111
129
|
"button",
|
|
112
130
|
"buttons",
|
|
113
131
|
"button-group",
|
|
114
132
|
"toggle-buttons",
|
|
133
|
+
"floating-action-button",
|
|
134
|
+
"fab",
|
|
115
135
|
"floating-toolbar",
|
|
116
136
|
"toolbar",
|
|
117
137
|
"uibutton",
|
|
@@ -155,6 +175,7 @@
|
|
|
155
175
|
"@release-it/conventional-changelog": "^12.0.0",
|
|
156
176
|
"@types/jest": "^30.0.0",
|
|
157
177
|
"@types/react": "~19.2.18",
|
|
178
|
+
"@types/react-dom": "~19.2.0",
|
|
158
179
|
"@types/react-test-renderer": "^19.3.0",
|
|
159
180
|
"babel-preset-expo": "^57.0.11",
|
|
160
181
|
"commitlint": "^21.2.2",
|
|
@@ -167,6 +188,7 @@
|
|
|
167
188
|
"lefthook": "^2.1.12",
|
|
168
189
|
"prettier": "^3.9.6",
|
|
169
190
|
"react": "19.2.3",
|
|
191
|
+
"react-dom": "19.2.3",
|
|
170
192
|
"react-native": "0.86.3",
|
|
171
193
|
"react-native-builder-bob": "^0.43.1",
|
|
172
194
|
"react-refresh": "^0.14.2",
|
|
@@ -220,10 +242,15 @@
|
|
|
220
242
|
"PCDatePicker": "PCDatePicker",
|
|
221
243
|
"PCContextMenu": "PCContextMenu",
|
|
222
244
|
"PCSegmentedControl": "PCSegmentedControl",
|
|
245
|
+
"PCTabBar": "PCTabBar",
|
|
246
|
+
"PCTabBarAccessory": "PCTabBarAccessory",
|
|
247
|
+
"PCNavigationRail": "PCNavigationRail",
|
|
248
|
+
"PCFloatingActionButton": "PCFloatingActionButton",
|
|
223
249
|
"PCButton": "PCButton",
|
|
224
250
|
"PCButtonGroup": "PCButtonGroup",
|
|
225
251
|
"PCFloatingToolbar": "PCFloatingToolbar",
|
|
226
252
|
"PCLiquidGlass": "PCLiquidGlass",
|
|
253
|
+
"PCLiquidGlassContainer": "PCLiquidGlassContainer",
|
|
227
254
|
"PCTextField": "PCTextField"
|
|
228
255
|
}
|
|
229
256
|
}
|
|
@@ -288,5 +315,8 @@
|
|
|
288
315
|
"jest"
|
|
289
316
|
],
|
|
290
317
|
"version": "0.55.1"
|
|
318
|
+
},
|
|
319
|
+
"resolutions": {
|
|
320
|
+
"serialize-javascript": "^7.1.2"
|
|
291
321
|
}
|
|
292
322
|
}
|
package/plugin/build/index.cjs
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.MATERIAL3_THEME_PARENT = void 0;
|
|
4
7
|
exports.resolveMaterial3Parent = resolveMaterial3Parent;
|
|
5
8
|
exports.applyMaterial3Theme = applyMaterial3Theme;
|
|
9
|
+
exports.resolveDrawables = resolveDrawables;
|
|
10
|
+
exports.copyDrawables = copyDrawables;
|
|
11
|
+
const fs_1 = __importDefault(require("fs"));
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
6
13
|
const config_plugins_1 = require("@expo/config-plugins");
|
|
7
14
|
exports.MATERIAL3_THEME_PARENT = 'Theme.Material3.DayNight.NoActionBar';
|
|
8
15
|
/**
|
|
@@ -42,6 +49,57 @@ function applyMaterial3Theme(xml) {
|
|
|
42
49
|
xml.resources.style = styles;
|
|
43
50
|
return xml;
|
|
44
51
|
}
|
|
52
|
+
const PLUGIN_NAME = 'react-native-platform-components';
|
|
53
|
+
/** Android resource names: lowercase letters, digits and underscores. */
|
|
54
|
+
const DRAWABLE_NAME = /^[a-z][a-z0-9_]*$/;
|
|
55
|
+
/**
|
|
56
|
+
* Expands the `drawables` option into the files to copy, checking each name
|
|
57
|
+
* is a valid Android resource name and appears once.
|
|
58
|
+
*/
|
|
59
|
+
function resolveDrawables(projectRoot, entries) {
|
|
60
|
+
const files = [];
|
|
61
|
+
for (const entry of entries) {
|
|
62
|
+
const source = path_1.default.resolve(projectRoot, entry);
|
|
63
|
+
if (!fs_1.default.existsSync(source)) {
|
|
64
|
+
throw new Error(`${PLUGIN_NAME}: drawable not found: ${entry}`);
|
|
65
|
+
}
|
|
66
|
+
let sources = [source];
|
|
67
|
+
if (fs_1.default.statSync(source).isDirectory()) {
|
|
68
|
+
sources = fs_1.default
|
|
69
|
+
.readdirSync(source)
|
|
70
|
+
.filter((file) => file.endsWith('.xml'))
|
|
71
|
+
.sort()
|
|
72
|
+
.map((file) => path_1.default.join(source, file));
|
|
73
|
+
if (sources.length === 0) {
|
|
74
|
+
throw new Error(`${PLUGIN_NAME}: no .xml drawables in ${entry}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
for (const file of sources) {
|
|
78
|
+
if (path_1.default.extname(file) !== '.xml') {
|
|
79
|
+
throw new Error(`${PLUGIN_NAME}: ${entry} is not a vector drawable (.xml). ` +
|
|
80
|
+
'Use an image icon for PNGs.');
|
|
81
|
+
}
|
|
82
|
+
const name = path_1.default.basename(file, '.xml');
|
|
83
|
+
if (!DRAWABLE_NAME.test(name)) {
|
|
84
|
+
throw new Error(`${PLUGIN_NAME}: "${name}" is not a valid drawable name. ` +
|
|
85
|
+
'Use lowercase letters, digits and underscores, starting with a letter.');
|
|
86
|
+
}
|
|
87
|
+
if (files.some((existing) => existing.name === name)) {
|
|
88
|
+
throw new Error(`${PLUGIN_NAME}: more than one drawable named "${name}"`);
|
|
89
|
+
}
|
|
90
|
+
files.push({ name, source: file });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return files;
|
|
94
|
+
}
|
|
95
|
+
/** Copies the drawables into `<resDir>/drawable`, replacing earlier copies. */
|
|
96
|
+
function copyDrawables(files, resDir) {
|
|
97
|
+
const drawableDir = path_1.default.join(resDir, 'drawable');
|
|
98
|
+
fs_1.default.mkdirSync(drawableDir, { recursive: true });
|
|
99
|
+
for (const file of files) {
|
|
100
|
+
fs_1.default.copyFileSync(file.source, path_1.default.join(drawableDir, `${file.name}.xml`));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
45
103
|
/**
|
|
46
104
|
* Expo config plugin for react-native-platform-components.
|
|
47
105
|
*
|
|
@@ -53,15 +111,30 @@ function applyMaterial3Theme(xml) {
|
|
|
53
111
|
* `material: 'system'` modes, but Material 3 widgets look best under a
|
|
54
112
|
* Material 3 app theme. Pass `{ android: { theme: 'material3' } }` to have
|
|
55
113
|
* prebuild re-parent `AppTheme` accordingly.
|
|
114
|
+
*
|
|
115
|
+
* It also copies the vector drawables listed in `android.drawables` into the
|
|
116
|
+
* generated project, since hand-added files there don't survive
|
|
117
|
+
* `expo prebuild --clean`.
|
|
56
118
|
*/
|
|
57
119
|
const withPlatformComponents = (config, options) => {
|
|
58
120
|
const theme = options?.android?.theme ?? 'appcompat';
|
|
59
|
-
|
|
60
|
-
|
|
121
|
+
const drawables = options?.android?.drawables ?? [];
|
|
122
|
+
if (theme === 'material3') {
|
|
123
|
+
config = (0, config_plugins_1.withAndroidStyles)(config, (styleConfig) => {
|
|
124
|
+
styleConfig.modResults = applyMaterial3Theme(styleConfig.modResults);
|
|
125
|
+
return styleConfig;
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
if (drawables.length > 0) {
|
|
129
|
+
config = (0, config_plugins_1.withDangerousMod)(config, [
|
|
130
|
+
'android',
|
|
131
|
+
(modConfig) => {
|
|
132
|
+
const { projectRoot, platformProjectRoot } = modConfig.modRequest;
|
|
133
|
+
copyDrawables(resolveDrawables(projectRoot, drawables), path_1.default.join(platformProjectRoot, 'app', 'src', 'main', 'res'));
|
|
134
|
+
return modConfig;
|
|
135
|
+
},
|
|
136
|
+
]);
|
|
61
137
|
}
|
|
62
|
-
return
|
|
63
|
-
styleConfig.modResults = applyMaterial3Theme(styleConfig.modResults);
|
|
64
|
-
return styleConfig;
|
|
65
|
-
});
|
|
138
|
+
return config;
|
|
66
139
|
};
|
|
67
140
|
exports.default = withPlatformComponents;
|