@beppla/tapas-ui 1.5.0 → 1.5.6
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/commonjs/Alert/Alert.js +1 -1
- package/commonjs/Alert/README.md +75 -0
- package/commonjs/BarChart/BarChart.js +49 -86
- package/commonjs/BarChart/BarChart.js.map +1 -1
- package/commonjs/BarChart/README.md +172 -0
- package/commonjs/Button/README.md +108 -0
- package/commonjs/Calendar/Calendar.base.js +1 -1
- package/commonjs/Calendar/Calendar.base.js.map +1 -1
- package/commonjs/Calendar/ConcreteTimeSelector.js +0 -6
- package/commonjs/Calendar/ConcreteTimeSelector.js.map +1 -1
- package/commonjs/Calendar/README.md +410 -0
- package/commonjs/Calendar/TimeSelector.js +0 -7
- package/commonjs/Calendar/TimeSelector.js.map +1 -1
- package/commonjs/Card/Card.js +1 -1
- package/commonjs/Card/Card.js.map +1 -1
- package/commonjs/Card/README.md +126 -0
- package/commonjs/CheckBox/CheckBox.js +3 -1
- package/commonjs/CheckBox/CheckBox.js.map +1 -1
- package/commonjs/CheckBox/CheckBoxItem.js +3 -1
- package/commonjs/CheckBox/CheckBoxItem.js.map +1 -1
- package/commonjs/CheckBox/README.md +147 -0
- package/commonjs/CircularProgress/CircularProgress.js +1 -1
- package/commonjs/CircularProgress/CircularProgress.js.map +1 -1
- package/commonjs/CircularProgress/README.md +70 -0
- package/commonjs/Collapsible/Collapsible.js +1 -1
- package/commonjs/Collapsible/Collapsible.js.map +1 -1
- package/commonjs/Collapsible/README.md +140 -0
- package/commonjs/ComboChart/ComboChart.js +3 -2
- package/commonjs/ComboChart/ComboChart.js.map +1 -1
- package/commonjs/ComboChart/README.md +124 -0
- package/commonjs/DashboardCard/DashboardCard.js +5 -1
- package/commonjs/DashboardCard/DashboardCard.js.map +1 -1
- package/commonjs/DashboardCard/README.md +120 -0
- package/commonjs/DataCell/DataCell.js +41 -56
- package/commonjs/DataCell/DataCell.js.map +1 -1
- package/commonjs/DataTable/DataTable.js.map +1 -1
- package/commonjs/DataTable/README.md +159 -0
- package/commonjs/DeviceSelectionModal/README.md +124 -0
- package/commonjs/DraggableFlatList/README.md +35 -0
- package/commonjs/Drawer/README.md +175 -0
- package/commonjs/Dropdown/CustomDropdown.js +0 -4
- package/commonjs/Dropdown/CustomDropdown.js.map +1 -1
- package/commonjs/Dropdown/Dropdown.js +1 -1
- package/commonjs/Dropdown/InputDropdown.js +4 -8
- package/commonjs/Dropdown/InputDropdown.js.map +1 -1
- package/commonjs/Dropdown/README.md +230 -0
- package/commonjs/ExternalLink/README.md +81 -0
- package/commonjs/Gantt/Gantt.js +82 -55
- package/commonjs/Gantt/Gantt.js.map +1 -1
- package/commonjs/Gantt/README.md +155 -0
- package/commonjs/Gantt/helper.js +13 -9
- package/commonjs/Gantt/helper.js.map +1 -1
- package/commonjs/Grid/FixedSizeGrid.js +2 -3
- package/commonjs/Grid/FixedSizeGrid.js.map +1 -1
- package/commonjs/Grid/Grid.base.js +0 -3
- package/commonjs/Grid/Grid.base.js.map +1 -1
- package/commonjs/Grid/README.md +197 -0
- package/commonjs/Grid/StaticFixedSizeGrid.js +22 -28
- package/commonjs/Grid/StaticFixedSizeGrid.js.map +1 -1
- package/commonjs/Grid/VariableSizeGrid.js +13 -18
- package/commonjs/Grid/VariableSizeGrid.js.map +1 -1
- package/commonjs/Header/README.md +109 -0
- package/commonjs/HelloWave/README.md +28 -0
- package/commonjs/Hoverable/Hoverable.js.map +1 -1
- package/commonjs/IconText/IconText.js +1 -1
- package/commonjs/IconText/IconText.js.map +1 -1
- package/commonjs/IconText/README.md +99 -0
- package/commonjs/Icons/TapasIcon.js +30 -2
- package/commonjs/Icons/TapasIcon.js.map +1 -1
- package/commonjs/Icons/TapasIconExpo.js +4 -4
- package/commonjs/Icons/TapasIconExpo.js.map +1 -1
- package/commonjs/Icons/expoFontLoader.js +7 -195
- package/commonjs/Icons/expoFontLoader.js.map +1 -1
- package/commonjs/Icons/fontLoader.js +9 -230
- package/commonjs/Icons/fontLoader.js.map +1 -1
- package/commonjs/Icons/smartFontLoader.js +3 -0
- package/commonjs/Icons/smartFontLoader.js.map +1 -1
- package/commonjs/Image/PreviewImg/README.md +100 -0
- package/commonjs/Image/PreviewImg.js +16 -14
- package/commonjs/Image/PreviewImg.js.map +1 -1
- package/commonjs/Image/README.md +88 -0
- package/commonjs/Input/Input.js +60 -4
- package/commonjs/Input/Input.js.map +1 -1
- package/commonjs/Layout/README.md +174 -0
- package/commonjs/LineChart/LineChart.js +25 -17
- package/commonjs/LineChart/LineChart.js.map +1 -1
- package/commonjs/LineChart/README.md +181 -0
- package/commonjs/ListItem/ListItem.js +1 -1
- package/commonjs/ListItem/ListItem.js.map +1 -1
- package/commonjs/ListItem/README.md +122 -0
- package/commonjs/MessageBox/MessageBox.js +7 -1
- package/commonjs/MessageBox/MessageBox.js.map +1 -1
- package/commonjs/MessageBox/README.md +120 -0
- package/commonjs/Navigation/Navigation.js.map +1 -1
- package/commonjs/Navigation/README.md +197 -0
- package/commonjs/NumericInput/README.md +95 -0
- package/commonjs/Overlay/README.md +84 -0
- package/commonjs/Pagination/Pagination.js +11 -9
- package/commonjs/Pagination/Pagination.js.map +1 -1
- package/commonjs/Pagination/README.md +106 -0
- package/commonjs/PieChart/PieChart.js +16 -13
- package/commonjs/PieChart/PieChart.js.map +1 -1
- package/commonjs/PieChart/README.md +212 -0
- package/commonjs/Popover/README.md +82 -0
- package/commonjs/Progress/Progress.js +1 -1
- package/commonjs/Progress/Progress.js.map +1 -1
- package/commonjs/Progress/README.md +106 -0
- package/commonjs/RadioButton/README.md +85 -0
- package/commonjs/RadioButton/RadioButton.js +1 -1
- package/commonjs/RadioButton/RadioButton.js.map +1 -1
- package/commonjs/ScanButton/README.md +72 -0
- package/commonjs/SearchInput/SearchInput.js +5 -1
- package/commonjs/SearchInput/SearchInput.js.map +1 -1
- package/commonjs/SheetTitle/README.md +89 -0
- package/commonjs/SheetTitle/SheetTitle.js +1 -1
- package/commonjs/SheetTitle/SheetTitle.js.map +1 -1
- package/commonjs/Shell/README.md +152 -0
- package/commonjs/Shell/Shell.js.map +1 -1
- package/commonjs/StatisticCard/README.md +129 -0
- package/commonjs/StatisticCard/StatisticCard.js +2 -2
- package/commonjs/StatisticCard/StatisticCard.js.map +1 -1
- package/commonjs/StatisticsTable/StatisticsTable.js.map +1 -1
- package/commonjs/Status/README.md +75 -0
- package/commonjs/Status/Status.js +1 -1
- package/commonjs/Status/Status.js.map +1 -1
- package/commonjs/Steps/README.md +76 -0
- package/commonjs/Steps/Steps.js +1 -1
- package/commonjs/Steps/Steps.js.map +1 -1
- package/commonjs/Switch/Switch.js +101 -0
- package/commonjs/Switch/Switch.js.map +1 -0
- package/commonjs/Tab/README.md +161 -0
- package/commonjs/Tag/README.md +93 -0
- package/commonjs/Tag/Tag.js +4 -2
- package/commonjs/Tag/Tag.js.map +1 -1
- package/commonjs/Task/README.md +110 -0
- package/commonjs/Text/README.md +97 -0
- package/commonjs/TextArea/README.md +127 -0
- package/commonjs/TextArea/TextArea.js +4 -2
- package/commonjs/TextArea/TextArea.js.map +1 -1
- package/commonjs/Theme/README.md +161 -0
- package/commonjs/Theme/ThemeProvider.js +4 -1
- package/commonjs/Theme/ThemeProvider.js.map +1 -1
- package/commonjs/Theme/defaultTheme.js +1 -0
- package/commonjs/Theme/defaultTheme.js.map +1 -1
- package/commonjs/Theme/makeStyles.js +30 -0
- package/commonjs/Theme/makeStyles.js.map +1 -0
- package/commonjs/Theme/withTheme.js +91 -0
- package/commonjs/Theme/withTheme.js.map +1 -0
- package/commonjs/Timeline/README.md +111 -0
- package/commonjs/Timeline/Timeline.js +4 -4
- package/commonjs/Timeline/Timeline.js.map +1 -1
- package/commonjs/Toast/README.md +96 -0
- package/commonjs/Upload/Upload.js +126 -0
- package/commonjs/Upload/Upload.js.map +1 -0
- package/commonjs/WebViewBridge/WebViewBridge.js +2 -0
- package/commonjs/WebViewBridge/WebViewBridge.js.map +1 -1
- package/commonjs/common/bridgelessUtils.js +2 -2
- package/commonjs/common/bridgelessUtils.js.map +1 -1
- package/commonjs/index.js +39 -5
- package/commonjs/index.js.map +1 -1
- package/module/Alert/Alert.js +1 -1
- package/module/Alert/README.md +75 -0
- package/module/BarChart/BarChart.js +48 -86
- package/module/BarChart/BarChart.js.map +1 -1
- package/module/BarChart/README.md +172 -0
- package/module/Button/README.md +108 -0
- package/module/Calendar/Calendar.base.js +1 -1
- package/module/Calendar/Calendar.base.js.map +1 -1
- package/module/Calendar/ConcreteTimeSelector.js +0 -6
- package/module/Calendar/ConcreteTimeSelector.js.map +1 -1
- package/module/Calendar/README.md +410 -0
- package/module/Calendar/TimeSelector.js +0 -7
- package/module/Calendar/TimeSelector.js.map +1 -1
- package/module/Card/Card.js +1 -1
- package/module/Card/Card.js.map +1 -1
- package/module/Card/README.md +126 -0
- package/module/CheckBox/CheckBox.js +3 -1
- package/module/CheckBox/CheckBox.js.map +1 -1
- package/module/CheckBox/CheckBoxItem.js +3 -1
- package/module/CheckBox/CheckBoxItem.js.map +1 -1
- package/module/CheckBox/README.md +147 -0
- package/module/CircularProgress/CircularProgress.js +1 -1
- package/module/CircularProgress/CircularProgress.js.map +1 -1
- package/module/CircularProgress/README.md +70 -0
- package/module/Collapsible/Collapsible.js +1 -1
- package/module/Collapsible/Collapsible.js.map +1 -1
- package/module/Collapsible/README.md +140 -0
- package/module/ComboChart/ComboChart.js +3 -2
- package/module/ComboChart/ComboChart.js.map +1 -1
- package/module/ComboChart/README.md +124 -0
- package/module/DashboardCard/DashboardCard.js +5 -1
- package/module/DashboardCard/DashboardCard.js.map +1 -1
- package/module/DashboardCard/README.md +120 -0
- package/module/DataCell/DataCell.js +41 -56
- package/module/DataCell/DataCell.js.map +1 -1
- package/module/DataTable/DataTable.js.map +1 -1
- package/module/DataTable/README.md +159 -0
- package/module/DeviceSelectionModal/README.md +124 -0
- package/module/DraggableFlatList/README.md +35 -0
- package/module/Drawer/README.md +175 -0
- package/module/Dropdown/CustomDropdown.js +0 -3
- package/module/Dropdown/CustomDropdown.js.map +1 -1
- package/module/Dropdown/Dropdown.js +1 -1
- package/module/Dropdown/InputDropdown.js +4 -8
- package/module/Dropdown/InputDropdown.js.map +1 -1
- package/module/Dropdown/README.md +230 -0
- package/module/ExternalLink/README.md +81 -0
- package/module/Gantt/Gantt.js +82 -55
- package/module/Gantt/Gantt.js.map +1 -1
- package/module/Gantt/README.md +155 -0
- package/module/Gantt/helper.js +13 -9
- package/module/Gantt/helper.js.map +1 -1
- package/module/Grid/FixedSizeGrid.js +2 -3
- package/module/Grid/FixedSizeGrid.js.map +1 -1
- package/module/Grid/Grid.base.js +0 -3
- package/module/Grid/Grid.base.js.map +1 -1
- package/module/Grid/README.md +197 -0
- package/module/Grid/StaticFixedSizeGrid.js +22 -28
- package/module/Grid/StaticFixedSizeGrid.js.map +1 -1
- package/module/Grid/VariableSizeGrid.js +13 -18
- package/module/Grid/VariableSizeGrid.js.map +1 -1
- package/module/Header/README.md +109 -0
- package/module/HelloWave/README.md +28 -0
- package/module/Hoverable/Hoverable.js.map +1 -1
- package/module/IconText/IconText.js +1 -1
- package/module/IconText/IconText.js.map +1 -1
- package/module/IconText/README.md +99 -0
- package/module/Icons/TapasIcon.js +28 -1
- package/module/Icons/TapasIcon.js.map +1 -1
- package/module/Icons/TapasIconExpo.js +4 -4
- package/module/Icons/TapasIconExpo.js.map +1 -1
- package/module/Icons/expoFontLoader.js +6 -193
- package/module/Icons/expoFontLoader.js.map +1 -1
- package/module/Icons/fontLoader.js +8 -228
- package/module/Icons/fontLoader.js.map +1 -1
- package/module/Icons/smartFontLoader.js +3 -0
- package/module/Icons/smartFontLoader.js.map +1 -1
- package/module/Image/PreviewImg/README.md +100 -0
- package/module/Image/PreviewImg.js +16 -14
- package/module/Image/PreviewImg.js.map +1 -1
- package/module/Image/README.md +88 -0
- package/module/Input/Input.js +60 -4
- package/module/Input/Input.js.map +1 -1
- package/module/Layout/README.md +174 -0
- package/module/LineChart/LineChart.js +24 -17
- package/module/LineChart/LineChart.js.map +1 -1
- package/module/LineChart/README.md +181 -0
- package/module/ListItem/ListItem.js +1 -1
- package/module/ListItem/ListItem.js.map +1 -1
- package/module/ListItem/README.md +122 -0
- package/module/MessageBox/MessageBox.js +8 -2
- package/module/MessageBox/MessageBox.js.map +1 -1
- package/module/MessageBox/README.md +120 -0
- package/module/Navigation/Navigation.js.map +1 -1
- package/module/Navigation/README.md +197 -0
- package/module/NumericInput/README.md +95 -0
- package/module/Overlay/README.md +84 -0
- package/module/Pagination/Pagination.js +11 -9
- package/module/Pagination/Pagination.js.map +1 -1
- package/module/Pagination/README.md +106 -0
- package/module/PieChart/PieChart.js +15 -13
- package/module/PieChart/PieChart.js.map +1 -1
- package/module/PieChart/README.md +212 -0
- package/module/Popover/README.md +82 -0
- package/module/Progress/Progress.js +1 -1
- package/module/Progress/Progress.js.map +1 -1
- package/module/Progress/README.md +106 -0
- package/module/RadioButton/README.md +85 -0
- package/module/RadioButton/RadioButton.js +1 -1
- package/module/RadioButton/RadioButton.js.map +1 -1
- package/module/ScanButton/README.md +72 -0
- package/module/SearchInput/SearchInput.js +5 -1
- package/module/SearchInput/SearchInput.js.map +1 -1
- package/module/SheetTitle/README.md +89 -0
- package/module/SheetTitle/SheetTitle.js +1 -1
- package/module/SheetTitle/SheetTitle.js.map +1 -1
- package/module/Shell/README.md +152 -0
- package/module/Shell/Shell.js.map +1 -1
- package/module/StatisticCard/README.md +129 -0
- package/module/StatisticCard/StatisticCard.js +2 -1
- package/module/StatisticCard/StatisticCard.js.map +1 -1
- package/module/StatisticsTable/StatisticsTable.js.map +1 -1
- package/module/Status/README.md +75 -0
- package/module/Status/Status.js +1 -1
- package/module/Status/Status.js.map +1 -1
- package/module/Steps/README.md +76 -0
- package/module/Steps/Steps.js +1 -1
- package/module/Steps/Steps.js.map +1 -1
- package/module/Switch/Switch.js +96 -0
- package/module/Switch/Switch.js.map +1 -0
- package/module/Tab/README.md +161 -0
- package/module/Tag/README.md +93 -0
- package/module/Tag/Tag.js +4 -2
- package/module/Tag/Tag.js.map +1 -1
- package/module/Task/README.md +110 -0
- package/module/Text/README.md +97 -0
- package/module/TextArea/README.md +127 -0
- package/module/TextArea/TextArea.js +4 -2
- package/module/TextArea/TextArea.js.map +1 -1
- package/module/Theme/README.md +161 -0
- package/module/Theme/ThemeProvider.js +4 -1
- package/module/Theme/ThemeProvider.js.map +1 -1
- package/module/Theme/defaultTheme.js +1 -0
- package/module/Theme/defaultTheme.js.map +1 -1
- package/module/Theme/makeStyles.js +24 -0
- package/module/Theme/makeStyles.js.map +1 -0
- package/module/Theme/withTheme.js +82 -0
- package/module/Theme/withTheme.js.map +1 -0
- package/module/Timeline/README.md +111 -0
- package/module/Timeline/Timeline.js +4 -4
- package/module/Timeline/Timeline.js.map +1 -1
- package/module/Toast/README.md +96 -0
- package/module/Upload/Upload.js +121 -0
- package/module/Upload/Upload.js.map +1 -0
- package/module/WebViewBridge/WebViewBridge.js +2 -0
- package/module/WebViewBridge/WebViewBridge.js.map +1 -1
- package/module/common/bridgelessUtils.js +2 -2
- package/module/common/bridgelessUtils.js.map +1 -1
- package/module/index.js +12 -4
- package/module/index.js.map +1 -1
- package/package.json +1 -1
- package/typescript/BarChart/BarChart.d.ts.map +1 -1
- package/typescript/Calendar/ConcreteTimeSelector.d.ts.map +1 -1
- package/typescript/Calendar/TimeSelector.d.ts.map +1 -1
- package/typescript/Card/Card.d.ts.map +1 -1
- package/typescript/CheckBox/CheckBox.d.ts.map +1 -1
- package/typescript/CheckBox/CheckBoxItem.d.ts.map +1 -1
- package/typescript/CircularProgress/CircularProgress.d.ts.map +1 -1
- package/typescript/Collapsible/Collapsible.d.ts.map +1 -1
- package/typescript/ComboChart/ComboChart.d.ts.map +1 -1
- package/typescript/DashboardCard/DashboardCard.d.ts +2 -2
- package/typescript/DashboardCard/DashboardCard.d.ts.map +1 -1
- package/typescript/DataCell/DataCell.d.ts.map +1 -1
- package/typescript/Dropdown/CustomDropdown.d.ts.map +1 -1
- package/typescript/Dropdown/InputDropdown.d.ts.map +1 -1
- package/typescript/Gantt/Gantt.d.ts.map +1 -1
- package/typescript/Gantt/helper.d.ts +1 -1
- package/typescript/Gantt/helper.d.ts.map +1 -1
- package/typescript/Grid/FixedSizeGrid.d.ts +1 -3
- package/typescript/Grid/FixedSizeGrid.d.ts.map +1 -1
- package/typescript/Grid/Grid.base.d.ts +1 -3
- package/typescript/Grid/Grid.base.d.ts.map +1 -1
- package/typescript/Grid/StaticFixedSizeGrid.d.ts.map +1 -1
- package/typescript/Grid/VariableSizeGrid.d.ts +1 -3
- package/typescript/Grid/VariableSizeGrid.d.ts.map +1 -1
- package/typescript/IconText/IconText.d.ts.map +1 -1
- package/typescript/Icons/TapasIcon.d.ts +13 -0
- package/typescript/Icons/TapasIcon.d.ts.map +1 -1
- package/typescript/Icons/TapasIconExpo.d.ts.map +1 -1
- package/typescript/Icons/expoFontLoader.d.ts +7 -49
- package/typescript/Icons/expoFontLoader.d.ts.map +1 -1
- package/typescript/Icons/fontLoader.d.ts +9 -52
- package/typescript/Icons/fontLoader.d.ts.map +1 -1
- package/typescript/Icons/smartFontLoader.d.ts +4 -59
- package/typescript/Icons/smartFontLoader.d.ts.map +1 -1
- package/typescript/Image/PreviewImg.d.ts.map +1 -1
- package/typescript/Input/Input.d.ts +5 -0
- package/typescript/Input/Input.d.ts.map +1 -1
- package/typescript/LineChart/LineChart.d.ts.map +1 -1
- package/typescript/ListItem/ListItem.d.ts.map +1 -1
- package/typescript/MessageBox/MessageBox.d.ts.map +1 -1
- package/typescript/Pagination/Pagination.d.ts +3 -3
- package/typescript/Pagination/Pagination.d.ts.map +1 -1
- package/typescript/PieChart/PieChart.d.ts.map +1 -1
- package/typescript/Progress/Progress.d.ts.map +1 -1
- package/typescript/RadioButton/RadioButton.d.ts.map +1 -1
- package/typescript/SearchInput/SearchInput.d.ts +4 -0
- package/typescript/SearchInput/SearchInput.d.ts.map +1 -1
- package/typescript/SheetTitle/SheetTitle.d.ts.map +1 -1
- package/typescript/StatisticCard/StatisticCard.d.ts +1 -1
- package/typescript/StatisticCard/StatisticCard.d.ts.map +1 -1
- package/typescript/Status/Status.d.ts.map +1 -1
- package/typescript/Steps/Steps.d.ts.map +1 -1
- package/typescript/Switch/Switch.d.ts +15 -0
- package/typescript/Switch/Switch.d.ts.map +1 -0
- package/typescript/Tag/Tag.d.ts.map +1 -1
- package/typescript/TextArea/TextArea.d.ts +2 -0
- package/typescript/TextArea/TextArea.d.ts.map +1 -1
- package/typescript/Theme/ThemeProvider.d.ts +1 -1
- package/typescript/Theme/ThemeProvider.d.ts.map +1 -1
- package/typescript/Theme/defaultTheme.d.ts +288 -1
- package/typescript/Theme/defaultTheme.d.ts.map +1 -1
- package/typescript/Theme/makeStyles.d.ts +11 -0
- package/typescript/Theme/makeStyles.d.ts.map +1 -0
- package/typescript/Theme/types.d.ts +3 -0
- package/typescript/Theme/types.d.ts.map +1 -1
- package/typescript/Theme/withTheme.d.ts +12 -0
- package/typescript/Theme/withTheme.d.ts.map +1 -0
- package/typescript/Timeline/Timeline.d.ts.map +1 -1
- package/typescript/Upload/Upload.d.ts +25 -0
- package/typescript/Upload/Upload.d.ts.map +1 -0
- package/typescript/WebViewBridge/WebViewBridge.d.ts.map +1 -1
- package/typescript/WebViewBridge/useWebViewBridge.d.ts +1 -1
- package/typescript/WebViewBridge/useWebViewBridge.d.ts.map +1 -1
- package/typescript/common/hooks/useBridgelessFix.d.ts +1 -1
- package/typescript/index.d.ts +580 -4
- package/typescript/index.d.ts.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React from 'react';
|
|
3
|
+
import React, { useMemo } from 'react';
|
|
4
4
|
import { View, StyleSheet, Platform, ScrollView } from 'react-native';
|
|
5
5
|
import RNText from '../Text/Text';
|
|
6
6
|
|
|
@@ -64,14 +64,22 @@ export const PieChart = ({
|
|
|
64
64
|
})
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
+
const webChartData = useMemo(() => data.map((item, index) => ({
|
|
68
|
+
name: item.label || `Item ${index + 1}`,
|
|
69
|
+
value: item.value,
|
|
70
|
+
fill: item.color || colors[index % colors.length]
|
|
71
|
+
})), [data, colors]);
|
|
72
|
+
const mobileChartData = useMemo(() => data.map((item, index) => ({
|
|
73
|
+
...item,
|
|
74
|
+
svg: {
|
|
75
|
+
fill: item.color || colors[index % colors.length]
|
|
76
|
+
},
|
|
77
|
+
key: item.key || `pie-slice-${index}`
|
|
78
|
+
})), [data, colors]);
|
|
67
79
|
|
|
68
80
|
// Web 环境使用 Recharts
|
|
69
81
|
if (Platform.OS === 'web' && RechartsPieChart) {
|
|
70
|
-
const chartData =
|
|
71
|
-
name: item.label || `Item ${index + 1}`,
|
|
72
|
-
value: item.value,
|
|
73
|
-
fill: item.color || colors[index % colors.length]
|
|
74
|
-
}));
|
|
82
|
+
const chartData = webChartData;
|
|
75
83
|
|
|
76
84
|
// 计算外圆半径
|
|
77
85
|
// 如果有右侧/左侧图例,默认使用更大的半径以充分利用空间
|
|
@@ -207,13 +215,7 @@ export const PieChart = ({
|
|
|
207
215
|
})
|
|
208
216
|
});
|
|
209
217
|
}
|
|
210
|
-
const pieData =
|
|
211
|
-
...item,
|
|
212
|
-
svg: {
|
|
213
|
-
fill: item.color || colors[index % colors.length]
|
|
214
|
-
},
|
|
215
|
-
key: item.key || `pie-slice-${index}`
|
|
216
|
-
}));
|
|
218
|
+
const pieData = mobileChartData;
|
|
217
219
|
const Labels = ({
|
|
218
220
|
slices
|
|
219
221
|
}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","StyleSheet","Platform","ScrollView","RNText","jsx","_jsx","jsxs","_jsxs","RNPieChart","SVGText","RechartsPieChart","Pie","Cell","Tooltip","Legend","OS","recharts","require","PieChart","e","console","warn","svgCharts","svg","Text","DEFAULT_COLORS","data","width","height","colors","outerRadius","innerRadius","padAngle","showLabels","showLegend","legendPosition","showLegendValues","legendValueAlign","legendItemGap","legendLabelValueGap","legendLabelMinWidth","legendChartGap","centerText","style","testID","length","styles","container","children","emptyText","chartData","map","item","index","name","label","value","fill","color","defaultOuterRadius","Math","min","calculatedOuterRadius","undefined","renderCustomLegend","props","payload","isVertical","display","flexDirection","flexWrap","justifyContent","alignItems","entry","dataItem","find","d","isLastItem","marginBottom","paddingBottom","borderRadius","backgroundColor","flexShrink","marginRight","fontSize","minWidth","fontWeight","textAlign","marginLeft","pieRadius","parseInt","String","pieWidth","isVerticalLegend","calculatedLegendWidth","legendWidth","chartWidth","ChartComponent","cx","cy","labelLine","percent","toFixed","paddingAngle","dataKey","content","verticalAlign","align","layout","wrapperStyle","paddingTop","paddingLeft","paddingRight","margin","pieData","key","Labels","slices","slice","labelCentroid","x","y","textAnchor","alignmentBaseline","CenterLabel","centerX","pieCentroid","centerY","chartContainerStyle","flex","legendContainer","legendRight","legendLeft","legendTop","legendBottom","contentContainerStyle","legend","legendVertical","legendHorizontal","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","legendItem","legendColor","legendLabel","legendLabelOnly","legendValue","legendValueRight","create","position","maxHeight","paddingHorizontal","flexGrow","top","left","right","marginTop","bottom"],"sourceRoot":"../../../components","sources":["PieChart/PieChart.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useMemo","View","StyleSheet","Platform","ScrollView","RNText","jsx","_jsx","jsxs","_jsxs","RNPieChart","SVGText","RechartsPieChart","Pie","Cell","Tooltip","Legend","OS","recharts","require","PieChart","e","console","warn","svgCharts","svg","Text","DEFAULT_COLORS","data","width","height","colors","outerRadius","innerRadius","padAngle","showLabels","showLegend","legendPosition","showLegendValues","legendValueAlign","legendItemGap","legendLabelValueGap","legendLabelMinWidth","legendChartGap","centerText","style","testID","length","styles","container","children","emptyText","webChartData","map","item","index","name","label","value","fill","color","mobileChartData","key","chartData","defaultOuterRadius","Math","min","calculatedOuterRadius","undefined","renderCustomLegend","props","payload","isVertical","display","flexDirection","flexWrap","justifyContent","alignItems","entry","dataItem","find","d","isLastItem","marginBottom","paddingBottom","borderRadius","backgroundColor","flexShrink","marginRight","fontSize","minWidth","fontWeight","textAlign","marginLeft","pieRadius","parseInt","String","pieWidth","isVerticalLegend","calculatedLegendWidth","legendWidth","chartWidth","ChartComponent","cx","cy","labelLine","percent","toFixed","paddingAngle","dataKey","content","verticalAlign","align","layout","wrapperStyle","paddingTop","paddingLeft","paddingRight","margin","pieData","Labels","slices","slice","labelCentroid","x","y","textAnchor","alignmentBaseline","CenterLabel","centerX","pieCentroid","centerY","chartContainerStyle","flex","legendContainer","legendRight","legendLeft","legendTop","legendBottom","contentContainerStyle","legend","legendVertical","legendHorizontal","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","legendItem","legendColor","legendLabel","legendLabelOnly","legendValue","legendValueRight","create","position","maxHeight","paddingHorizontal","flexGrow","top","left","right","marginTop","bottom"],"sourceRoot":"../../../components","sources":["PieChart/PieChart.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# PieChart / NestedPieChart
|
|
2
|
+
|
|
3
|
+
饼图组件,包含基础饼图(PieChart)和嵌套饼图(NestedPieChart)两个组件。支持饼图、环形图(Donut)、多层级嵌套等展示方式。采用**双平台渲染**策略:Web 端使用 recharts,Native 端使用 react-native-svg-charts。
|
|
4
|
+
|
|
5
|
+
## 功能特性
|
|
6
|
+
|
|
7
|
+
### PieChart
|
|
8
|
+
- ✅ **双平台渲染**:Web 使用 recharts,Native 使用 react-native-svg-charts
|
|
9
|
+
- ✅ 支持饼图和环形图(通过 innerRadius 控制)
|
|
10
|
+
- ✅ 图例支持 top / bottom / left / right 四个位置
|
|
11
|
+
- ✅ 图例可显示数值,支持 left / right 对齐
|
|
12
|
+
- ✅ 自定义图例间距:行间距(legendItemGap)、Label-Value 间距(legendLabelValueGap)
|
|
13
|
+
- ✅ Label 最小宽度控制(legendLabelMinWidth),确保数值列对齐
|
|
14
|
+
- ✅ 饼图与图例间距可调(legendChartGap,左右位置时生效)
|
|
15
|
+
- ✅ 自定义外圆/内圆半径,支持数字(像素)和字符串(百分比)
|
|
16
|
+
- ✅ 支持扇区标签显示和中心文字
|
|
17
|
+
- ✅ 长图例列表自动滚动(Native 端 ScrollView)
|
|
18
|
+
|
|
19
|
+
### NestedPieChart
|
|
20
|
+
- ✅ 支持多层级嵌套饼图(仅 Web 平台)
|
|
21
|
+
- ✅ 树形数据结构和扁平数据结构,支持自动推断
|
|
22
|
+
- ✅ 分组图例(grouped legend),可折叠展开
|
|
23
|
+
- ✅ 自动配色策略(渐变色阶,baseColors 映射)
|
|
24
|
+
- ✅ 扇区点击/悬停、图例点击事件
|
|
25
|
+
- ✅ 图例过滤(enableLegendFilter)
|
|
26
|
+
- ✅ 自定义 Tooltip
|
|
27
|
+
- ✅ 格式化函数(数值 / 百分比)
|
|
28
|
+
|
|
29
|
+
## 安装使用
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
import { PieChart } from '@beppla/tapas-ui/components/PieChart';
|
|
33
|
+
import { NestedPieChart } from '@beppla/tapas-ui/components/PieChart';
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## PieChart Props
|
|
37
|
+
|
|
38
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
39
|
+
|------|------|--------|------|
|
|
40
|
+
| data | `PieChartData[]` | (必填) | 饼图数据 |
|
|
41
|
+
| width | `number` | - | 图表宽度 |
|
|
42
|
+
| height | `number` | `300` | 图表高度 |
|
|
43
|
+
| colors | `string[]` | 默认 6 色 | 颜色方案 |
|
|
44
|
+
| outerRadius | `number \| string` | 自动计算 | 外圆半径,支持像素和百分比(如 `'80%'`) |
|
|
45
|
+
| innerRadius | `number \| string` | `0` | 内圆半径,设置后变为环形图 |
|
|
46
|
+
| padAngle | `number` | `0.02` | 扇区间隔角度 |
|
|
47
|
+
| showLabels | `boolean` | `false` | 是否在扇区上显示标签 |
|
|
48
|
+
| showLegend | `boolean` | `true` | 是否显示图例 |
|
|
49
|
+
| legendPosition | `'top' \| 'bottom' \| 'left' \| 'right'` | `'right'` | 图例位置 |
|
|
50
|
+
| showLegendValues | `boolean` | `true` | 图例是否显示数值 |
|
|
51
|
+
| legendValueAlign | `'left' \| 'right'` | `'right'` | 图例数值对齐方式 |
|
|
52
|
+
| legendItemGap | `number` | `8` | 图例行间距(px) |
|
|
53
|
+
| legendLabelValueGap | `number` | `12` | Label 与 Value 间距(px) |
|
|
54
|
+
| legendLabelMinWidth | `number` | - | Label 最小宽度,确保对齐 |
|
|
55
|
+
| legendChartGap | `number` | `30` | 饼图与图例间距(左右位置时生效) |
|
|
56
|
+
| centerText | `string` | - | 中心文字(环形图) |
|
|
57
|
+
| style | `any` | - | 容器样式 |
|
|
58
|
+
| testID | `string` | - | 测试标识 |
|
|
59
|
+
|
|
60
|
+
### PieChartData
|
|
61
|
+
|
|
62
|
+
| 属性 | 类型 | 说明 |
|
|
63
|
+
|------|------|------|
|
|
64
|
+
| value | `number` | 数值(必填) |
|
|
65
|
+
| label | `string` | 标签 |
|
|
66
|
+
| color | `string` | 自定义颜色(优先级高于 colors 数组) |
|
|
67
|
+
| key | `string \| number` | 唯一标识 |
|
|
68
|
+
|
|
69
|
+
## NestedPieChart Props
|
|
70
|
+
|
|
71
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
72
|
+
|------|------|--------|------|
|
|
73
|
+
| data | `NestedPieChartNode[] \| NestedPieChartFlatData[]` | (必填) | 嵌套数据 |
|
|
74
|
+
| dataType | `'tree' \| 'flat'` | 自动推断 | 数据类型 |
|
|
75
|
+
| levels | `number` | 自动计算 | 显示层数 |
|
|
76
|
+
| width | `number` | - | 图表宽度 |
|
|
77
|
+
| height | `number` | - | 图表高度 |
|
|
78
|
+
| outerRadius | `number \| string` | - | 外圆半径 |
|
|
79
|
+
| innerRadius | `number \| string` | - | 最内层半径 |
|
|
80
|
+
| radiusGap | `number` | `10` | 层间间隔 |
|
|
81
|
+
| colorStrategy | `ColorStrategy` | - | 配色策略(baseColors、autoGenerate、colorSteps) |
|
|
82
|
+
| colors | `string[]` | - | 默认配色数组 |
|
|
83
|
+
| showLegend | `boolean` | - | 是否显示图例 |
|
|
84
|
+
| legendMode | `'flat' \| 'grouped'` | - | 图例模式 |
|
|
85
|
+
| legendPosition | `'top' \| 'bottom' \| 'left' \| 'right'` | - | 图例位置 |
|
|
86
|
+
| legendContent | `'all' \| 'parent-only' \| 'children-only'` | - | 图例显示内容 |
|
|
87
|
+
| legendCollapsible | `boolean` | - | 图例是否可折叠 |
|
|
88
|
+
| legendDefaultExpanded | `boolean` | - | 图例默认展开 |
|
|
89
|
+
| legendSortStrategy | `'none' \| 'value-desc' \| 'value-asc' \| 'label-asc' \| 'label-desc'` | - | 图例排序策略 |
|
|
90
|
+
| legendGroupSortStrategy | `LegendSortStrategy` | - | 分组排序策略 |
|
|
91
|
+
| legendShowValues | `boolean` | - | 是否显示数值 |
|
|
92
|
+
| legendShowPercent | `boolean` | - | 是否显示百分比 |
|
|
93
|
+
| legendItemGap | `number` | - | 图例项间距 |
|
|
94
|
+
| legendGroupGap | `number` | - | 分组间距 |
|
|
95
|
+
| legendLabelMinWidth | `number` | - | Label 最小宽度 |
|
|
96
|
+
| legendChartGap | `number` | - | 饼图与图例间距 |
|
|
97
|
+
| showLabels | `boolean` | - | 是否显示扇区标签 |
|
|
98
|
+
| labelLevel | `'all' \| number` | - | 显示标签的层级 |
|
|
99
|
+
| formatValue | `(value: number) => string` | - | 数值格式化 |
|
|
100
|
+
| formatPercent | `(percent: number) => string` | - | 百分比格式化 |
|
|
101
|
+
| onSliceClick | `(event: SliceClickEvent) => void` | - | 扇区点击 |
|
|
102
|
+
| onSliceHover | `(event: SliceClickEvent \| null) => void` | - | 扇区悬停 |
|
|
103
|
+
| onLegendClick | `(event: LegendClickEvent) => void` | - | 图例点击 |
|
|
104
|
+
| enableLegendFilter | `boolean` | - | 点击图例过滤扇区 |
|
|
105
|
+
| showTooltip | `boolean` | - | 是否显示 Tooltip |
|
|
106
|
+
| customTooltip | `(event: SliceClickEvent) => ReactNode` | - | 自定义 Tooltip |
|
|
107
|
+
| padAngle | `number` | - | 扇区间隔角度 |
|
|
108
|
+
| centerText | `string` | - | 中心文字 |
|
|
109
|
+
| centerTextStyle | `React.CSSProperties` | - | 中心文字样式 |
|
|
110
|
+
| emptyText | `string` | - | 空数据文本 |
|
|
111
|
+
| style | `any` | - | 容器样式 |
|
|
112
|
+
| testID | `string` | - | 测试标识 |
|
|
113
|
+
|
|
114
|
+
## 使用示例
|
|
115
|
+
|
|
116
|
+
### 基础饼图
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
<PieChart
|
|
120
|
+
data={[
|
|
121
|
+
{ value: 40, label: 'Category A', color: '#FF6B00' },
|
|
122
|
+
{ value: 30, label: 'Category B', color: '#0066CC' },
|
|
123
|
+
{ value: 20, label: 'Category C', color: '#00B894' },
|
|
124
|
+
{ value: 10, label: 'Category D', color: '#6C5CE7' },
|
|
125
|
+
]}
|
|
126
|
+
height={300}
|
|
127
|
+
/>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 环形图(Donut Chart)
|
|
131
|
+
|
|
132
|
+
```tsx
|
|
133
|
+
<PieChart
|
|
134
|
+
data={sampleData}
|
|
135
|
+
innerRadius="50%"
|
|
136
|
+
centerText="Total"
|
|
137
|
+
/>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 自定义饼图大小
|
|
141
|
+
|
|
142
|
+
```tsx
|
|
143
|
+
<PieChart data={sampleData} outerRadius={100} height={300} />
|
|
144
|
+
<PieChart data={sampleData} outerRadius="80%" height={350} />
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 图例配置
|
|
148
|
+
|
|
149
|
+
```tsx
|
|
150
|
+
<PieChart
|
|
151
|
+
data={sampleData}
|
|
152
|
+
legendPosition="right"
|
|
153
|
+
showLegendValues
|
|
154
|
+
legendValueAlign="right"
|
|
155
|
+
legendItemGap={12}
|
|
156
|
+
legendLabelValueGap={20}
|
|
157
|
+
legendLabelMinWidth={200}
|
|
158
|
+
legendChartGap={48}
|
|
159
|
+
/>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### NestedPieChart 嵌套饼图
|
|
163
|
+
|
|
164
|
+
```tsx
|
|
165
|
+
<NestedPieChart
|
|
166
|
+
data={[
|
|
167
|
+
{
|
|
168
|
+
key: 'food',
|
|
169
|
+
label: 'Food',
|
|
170
|
+
children: [
|
|
171
|
+
{ key: 'rice', label: 'Rice', value: 30 },
|
|
172
|
+
{ key: 'noodle', label: 'Noodle', value: 20 },
|
|
173
|
+
],
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
key: 'drink',
|
|
177
|
+
label: 'Drink',
|
|
178
|
+
children: [
|
|
179
|
+
{ key: 'coffee', label: 'Coffee', value: 25 },
|
|
180
|
+
{ key: 'tea', label: 'Tea', value: 15 },
|
|
181
|
+
],
|
|
182
|
+
},
|
|
183
|
+
]}
|
|
184
|
+
showLegend
|
|
185
|
+
legendMode="grouped"
|
|
186
|
+
legendCollapsible
|
|
187
|
+
/>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### 自定义配色
|
|
191
|
+
|
|
192
|
+
```tsx
|
|
193
|
+
<NestedPieChart
|
|
194
|
+
data={nestedData}
|
|
195
|
+
colorStrategy={{
|
|
196
|
+
baseColors: { cash: '#00B894', card: '#FF6B00' },
|
|
197
|
+
autoGenerate: true,
|
|
198
|
+
}}
|
|
199
|
+
height={450}
|
|
200
|
+
/>
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## 注意事项
|
|
204
|
+
|
|
205
|
+
- **PieChart 双平台渲染**:Web 端使用 recharts(功能完整),Native 端使用 react-native-svg-charts(功能受限)
|
|
206
|
+
- **NestedPieChart 仅支持 Web 平台**,Native 端会显示降级提示
|
|
207
|
+
- `innerRadius` 设置为大于 0 的值即变为环形图
|
|
208
|
+
- `outerRadius` 支持数字(像素)和字符串(百分比如 `'80%'`)
|
|
209
|
+
- `legendChartGap` 仅在图例位于 left / right 时生效
|
|
210
|
+
- `legendLabelMinWidth` 可确保不同长度标签的数值列对齐
|
|
211
|
+
- Native 端图例使用 ScrollView 实现长列表滚动
|
|
212
|
+
- 需安装对应平台依赖:Web 需要 `recharts`,Native 需要 `react-native-svg-charts` + `react-native-svg`
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Popover
|
|
2
|
+
|
|
3
|
+
气泡弹出层组件,用于显示与触发元素相对定位的内容面板。支持四个方向(top/bottom/left/right)和三种箭头位置(start/center/end),适合工具提示、操作菜单等场景。
|
|
4
|
+
|
|
5
|
+
## 功能特性
|
|
6
|
+
|
|
7
|
+
- ✅ 四个弹出方向:top、bottom、left、right
|
|
8
|
+
- ✅ 三种箭头位置:start、center、end
|
|
9
|
+
- ✅ 自定义宽高尺寸
|
|
10
|
+
- ✅ 带阴影的浮层效果(elevation: 8)
|
|
11
|
+
- ✅ 箭头自动跟随方向和位置调整
|
|
12
|
+
- ✅ 通过 isVisible 控制显隐
|
|
13
|
+
- ✅ 支持自定义容器和内容区样式
|
|
14
|
+
- ✅ 主题色适配(withTheme HOC)
|
|
15
|
+
|
|
16
|
+
## 安装使用
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
import { Popover } from '@beppla/tapas-ui';
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
25
|
+
|------|------|--------|------|
|
|
26
|
+
| isVisible | `boolean` | - | 是否显示(必填) |
|
|
27
|
+
| children | `React.ReactNode` | - | 弹出层内容 |
|
|
28
|
+
| position | `'top' \| 'bottom' \| 'left' \| 'right'` | `'bottom'` | 弹出方向 |
|
|
29
|
+
| arrowPosition | `'start' \| 'center' \| 'end'` | `'center'` | 箭头在边上的位置 |
|
|
30
|
+
| width | `number` | `392` | 弹出层宽度 |
|
|
31
|
+
| height | `number` | `696` | 弹出层高度 |
|
|
32
|
+
| containerStyle | `StyleProp<ViewStyle>` | - | 外层容器样式 |
|
|
33
|
+
| contentStyle | `StyleProp<ViewStyle>` | - | 内容区域样式 |
|
|
34
|
+
|
|
35
|
+
## 使用示例
|
|
36
|
+
|
|
37
|
+
### 基础用法
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
41
|
+
|
|
42
|
+
<Button onPress={() => setIsVisible(true)}>Show Popover</Button>
|
|
43
|
+
<Popover isVisible={isVisible} position="bottom">
|
|
44
|
+
<Text>Popover content here</Text>
|
|
45
|
+
</Popover>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 左侧弹出 + 箭头末端
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
<Popover
|
|
52
|
+
isVisible={isVisible}
|
|
53
|
+
position="left"
|
|
54
|
+
arrowPosition="end"
|
|
55
|
+
width={392}
|
|
56
|
+
height={396}
|
|
57
|
+
>
|
|
58
|
+
<Text>Left popover with end arrow</Text>
|
|
59
|
+
</Popover>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 自定义尺寸
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
<Popover
|
|
66
|
+
isVisible={isVisible}
|
|
67
|
+
position="top"
|
|
68
|
+
arrowPosition="start"
|
|
69
|
+
width={280}
|
|
70
|
+
height={200}
|
|
71
|
+
>
|
|
72
|
+
<Text>Compact popover</Text>
|
|
73
|
+
</Popover>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 注意事项
|
|
77
|
+
|
|
78
|
+
- 组件使用 `position: absolute` 定位,需要父容器提供合适的定位上下文
|
|
79
|
+
- `isVisible` 为 `false` 时组件返回 `null`,不占据布局空间
|
|
80
|
+
- 箭头使用 TapasIcon 的 `left_arrow` 图标,通过旋转适配不同方向
|
|
81
|
+
- `arrowPosition` 的 `center` 值根据 `width` 或 `height` 自动计算居中位置
|
|
82
|
+
- 需在 `ThemeProvider` 内使用
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","withTheme","makeStyles","TapasIcon","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useStyles","theme","props","data","type","progress","width","fontSize","fonts","sizeS","sizeXs","container","flexDirection","alignItems","marginVertical","stepText","display","justifyContent","minWidth","fileText","hr","height","backgroundColor","colors","grey4","borderRadius","radius","rounded","flexGrow","position","left","right","zIndex","grey1","done","success","failed","error","stepItem","flexShrink","progressText","fontFamily","fontWeight","weightR","letterSpacing","color","secondary","marginLeft","reUpload","primary","fileContainer","startContainer","marginRight","endContainer","Progress","styles","style","testID","children","start","status","end","name","size","file"],"sourceRoot":"../../../components","sources":["Progress/Progress.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,SAAS,EAAEC,UAAU,QAAO,eAAe;
|
|
1
|
+
{"version":3,"names":["React","View","Text","withTheme","makeStyles","TapasIcon","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useStyles","theme","props","data","type","progress","width","fontSize","fonts","sizeS","sizeXs","container","flexDirection","alignItems","marginVertical","stepText","display","justifyContent","minWidth","fileText","hr","height","backgroundColor","colors","grey4","borderRadius","radius","rounded","flexGrow","position","left","right","zIndex","grey1","done","success","failed","error","stepItem","flexShrink","progressText","fontFamily","fontWeight","weightR","letterSpacing","color","secondary","marginLeft","reUpload","primary","fileContainer","startContainer","marginRight","endContainer","Progress","styles","style","testID","children","start","status","end","name","size","file","memo"],"sourceRoot":"../../../components","sources":["Progress/Progress.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Progress
|
|
2
|
+
|
|
3
|
+
进度条组件,用于显示文件上传或图片处理等任务的进度状态。支持 image 和 file 两种布局类型,可展示进行中(progress)、完成(done)和失败(failed)三种状态。
|
|
4
|
+
|
|
5
|
+
## 功能特性
|
|
6
|
+
|
|
7
|
+
- ✅ 两种展示类型:image(图片进度条)和 file(文件进度条)
|
|
8
|
+
- ✅ 三种状态:progress(进行中)、done(完成)、failed(失败)
|
|
9
|
+
- ✅ 状态自动匹配图标和颜色(success / error)
|
|
10
|
+
- ✅ 自定义起始和结束内容区域(支持 ReactNode)
|
|
11
|
+
- ✅ 进度百分比展示
|
|
12
|
+
- ✅ file 类型支持文件名展示
|
|
13
|
+
- ✅ 主题色适配
|
|
14
|
+
- ✅ React.memo 优化渲染性能
|
|
15
|
+
|
|
16
|
+
## 安装使用
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
import { Progress } from '@beppla/tapas-ui';
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
25
|
+
|------|------|--------|------|
|
|
26
|
+
| type | `'image' \| 'file'` | - | 展示类型(必填) |
|
|
27
|
+
| data | `ProgressData` | - | 进度数据(必填) |
|
|
28
|
+
| testID | `string` | - | 测试标识 |
|
|
29
|
+
|
|
30
|
+
### ProgressData
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
interface ProgressData {
|
|
34
|
+
start: React.ReactNode | string; // 左侧内容(如缩略图、图标)
|
|
35
|
+
end?: React.ReactNode | string; // 右侧内容(状态文本)
|
|
36
|
+
status: 'progress' | 'done' | 'failed'; // 当前状态
|
|
37
|
+
progress?: number; // 进度值(0-100)
|
|
38
|
+
file?: string; // 文件名(file 类型使用)
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 使用示例
|
|
43
|
+
|
|
44
|
+
### 图片上传进度
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
<Progress
|
|
48
|
+
type="image"
|
|
49
|
+
data={{
|
|
50
|
+
start: <Image source={{ uri: thumbnail }} style={{ width: 40, height: 40 }} />,
|
|
51
|
+
status: 'progress',
|
|
52
|
+
progress: 65,
|
|
53
|
+
}}
|
|
54
|
+
/>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 上传完成
|
|
58
|
+
|
|
59
|
+
```tsx
|
|
60
|
+
<Progress
|
|
61
|
+
type="image"
|
|
62
|
+
data={{
|
|
63
|
+
start: <Image source={{ uri: thumbnail }} style={{ width: 40, height: 40 }} />,
|
|
64
|
+
status: 'done',
|
|
65
|
+
end: 'Uploaded',
|
|
66
|
+
}}
|
|
67
|
+
/>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 文件上传
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
<Progress
|
|
74
|
+
type="file"
|
|
75
|
+
data={{
|
|
76
|
+
start: <TapasIcon name="file" size={20} />,
|
|
77
|
+
file: 'document.pdf',
|
|
78
|
+
status: 'progress',
|
|
79
|
+
progress: 42,
|
|
80
|
+
}}
|
|
81
|
+
/>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 上传失败
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
<Progress
|
|
88
|
+
type="file"
|
|
89
|
+
data={{
|
|
90
|
+
start: <TapasIcon name="file" size={20} />,
|
|
91
|
+
file: 'report.xlsx',
|
|
92
|
+
status: 'failed',
|
|
93
|
+
end: 'Upload failed',
|
|
94
|
+
}}
|
|
95
|
+
/>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## 注意事项
|
|
99
|
+
|
|
100
|
+
- `data` 为 null 或 undefined 时组件返回 null
|
|
101
|
+
- `image` 类型为左右布局,进度条位于中间
|
|
102
|
+
- `file` 类型为上下布局,文件名在上方,进度条在下方
|
|
103
|
+
- `end` 属性不存在时,默认显示 `progress%` 文本
|
|
104
|
+
- 进度条宽度通过 CSS `width: ${progress}%` 实现
|
|
105
|
+
- 使用 `withTheme` + `React.memo` 双重优化
|
|
106
|
+
- 需在 `ThemeProvider` 内使用
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# RadioButton
|
|
2
|
+
|
|
3
|
+
单选按钮组件,用于在一组选项中选择一个值。采用圆形指示器和文字标签的经典单选样式。
|
|
4
|
+
|
|
5
|
+
## 功能特性
|
|
6
|
+
|
|
7
|
+
- ✅ 支持多个选项的单选功能
|
|
8
|
+
- ✅ 受控模式,通过 selected 属性指定默认选中项
|
|
9
|
+
- ✅ 自动跟踪外部 selected 属性变化
|
|
10
|
+
- ✅ 圆形选中指示器,使用主题色渲染
|
|
11
|
+
- ✅ 垂直排列布局,每个选项固定高度 40px
|
|
12
|
+
- ✅ 使用 React.memo 优化渲染性能
|
|
13
|
+
- ✅ 支持 testID 属性用于测试
|
|
14
|
+
|
|
15
|
+
## 安装使用
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import RadioButton from '@beppla/tapas-ui/components/RadioButton/RadioButton';
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Props
|
|
22
|
+
|
|
23
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
24
|
+
|------|------|--------|------|
|
|
25
|
+
| options | `Option[]` | - | 选项列表 |
|
|
26
|
+
| onPress | `(option: Option) => void` | - | 选中回调,返回被选中的选项 |
|
|
27
|
+
| selected | `string` | `""` | 默认选中项的 key 值 |
|
|
28
|
+
| testID | `string` | - | 测试标识 |
|
|
29
|
+
|
|
30
|
+
### Option 数据类型
|
|
31
|
+
|
|
32
|
+
| 属性 | 类型 | 说明 |
|
|
33
|
+
|------|------|------|
|
|
34
|
+
| key | `string` | 选项唯一标识 |
|
|
35
|
+
| text | `string` | 选项显示文字 |
|
|
36
|
+
|
|
37
|
+
## 使用示例
|
|
38
|
+
|
|
39
|
+
### 基础用法
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
<RadioButton
|
|
43
|
+
options={[
|
|
44
|
+
{ key: 'a', text: '选项 A' },
|
|
45
|
+
{ key: 'b', text: '选项 B' },
|
|
46
|
+
{ key: 'c', text: '选项 C' },
|
|
47
|
+
]}
|
|
48
|
+
onPress={(option) => console.log('选中:', option.key)}
|
|
49
|
+
/>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 指定默认选中
|
|
53
|
+
|
|
54
|
+
```tsx
|
|
55
|
+
<RadioButton
|
|
56
|
+
options={[
|
|
57
|
+
{ key: 'male', text: '男' },
|
|
58
|
+
{ key: 'female', text: '女' },
|
|
59
|
+
]}
|
|
60
|
+
selected="male"
|
|
61
|
+
onPress={(option) => setGender(option.key)}
|
|
62
|
+
/>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 受控模式
|
|
66
|
+
|
|
67
|
+
```tsx
|
|
68
|
+
const [selected, setSelected] = useState('option1');
|
|
69
|
+
|
|
70
|
+
<RadioButton
|
|
71
|
+
options={[
|
|
72
|
+
{ key: 'option1', text: '立即配送' },
|
|
73
|
+
{ key: 'option2', text: '预约配送' },
|
|
74
|
+
]}
|
|
75
|
+
selected={selected}
|
|
76
|
+
onPress={(option) => setSelected(option.key)}
|
|
77
|
+
/>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 注意事项
|
|
81
|
+
|
|
82
|
+
- 组件通过 `withTheme` HOC 注入主题,圆形指示器颜色使用 `theme.colors.primary`
|
|
83
|
+
- 选项文字颜色也使用主题主色,与指示器保持一致
|
|
84
|
+
- 组件不支持禁用单个选项,如需此功能需自行扩展
|
|
85
|
+
- `selected` 属性变化时会自动同步内部状态
|