@fountain-ui/lab 2.0.0-beta.4 → 2.0.0-beta.7
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/build/commonjs/AnimatedY/AnimatedY.js +3 -5
- package/build/commonjs/AnimatedY/AnimatedY.js.map +1 -1
- package/build/commonjs/AnimatedY/AnimatedYProps.js.map +1 -1
- package/build/commonjs/AnimatedY/index.js.map +1 -1
- package/build/commonjs/BottomSheet/BottomSheetNative.js +1 -1
- package/build/commonjs/BottomSheet/BottomSheetNative.js.map +1 -1
- package/build/commonjs/BottomSheet/BottomSheetProps.js.map +1 -1
- package/build/commonjs/BottomSheet/BottomSheetWeb.js +2 -6
- package/build/commonjs/BottomSheet/BottomSheetWeb.js.map +1 -1
- package/build/commonjs/BottomSheet/TransparentBackdrop.js +1 -1
- package/build/commonjs/BottomSheet/TransparentBackdrop.js.map +1 -1
- package/build/commonjs/BottomSheet/index.js.map +1 -1
- package/build/commonjs/BottomSheet/index.native.js.map +1 -1
- package/build/commonjs/Carousel/CarouselNative.js.map +1 -1
- package/build/commonjs/Carousel/CarouselProps.js.map +1 -1
- package/build/commonjs/Carousel/CarouselWeb.js +1 -1
- package/build/commonjs/Carousel/CarouselWeb.js.map +1 -1
- package/build/commonjs/Carousel/index.js.map +1 -1
- package/build/commonjs/Carousel/index.native.js.map +1 -1
- package/build/commonjs/Carousel/utils.js +1 -1
- package/build/commonjs/Carousel/utils.js.map +1 -1
- package/build/commonjs/ComicViewer/ComicViewer.js +16 -11
- package/build/commonjs/ComicViewer/ComicViewer.js.map +1 -1
- package/build/commonjs/ComicViewer/ComicViewerItemProps.js.map +1 -1
- package/build/commonjs/ComicViewer/ComicViewerProps.js.map +1 -1
- package/build/commonjs/ComicViewer/ViewerItem.js +4 -3
- package/build/commonjs/ComicViewer/ViewerItem.js.map +1 -1
- package/build/commonjs/ComicViewer/index.js.map +1 -1
- package/build/commonjs/DateTimePicker/DateTimePicker.js +2 -2
- package/build/commonjs/DateTimePicker/DateTimePicker.js.map +1 -1
- package/build/commonjs/DateTimePicker/DateTimePickerProps.js.map +1 -1
- package/build/commonjs/DateTimePicker/DateTimePickerProvider.js.map +1 -1
- package/build/commonjs/DateTimePicker/YearPicker.js +21 -17
- package/build/commonjs/DateTimePicker/YearPicker.js.map +1 -1
- package/build/commonjs/DateTimePicker/index.js +4 -4
- package/build/commonjs/DateTimePicker/index.js.map +1 -1
- package/build/commonjs/DateTimePicker/utils.js +2 -1
- package/build/commonjs/DateTimePicker/utils.js.map +1 -1
- package/build/commonjs/FlipCard/FlipCard.js +5 -11
- package/build/commonjs/FlipCard/FlipCard.js.map +1 -1
- package/build/commonjs/FlipCard/FlipCardProps.js.map +1 -1
- package/build/commonjs/FlipCard/index.js.map +1 -1
- package/build/commonjs/StatusBarProvider/Provider.js +1 -1
- package/build/commonjs/StatusBarProvider/Provider.js.map +1 -1
- package/build/commonjs/StatusBarProvider/StatusBarProvider.js.map +1 -1
- package/build/commonjs/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
- package/build/commonjs/StatusBarProvider/index.js.map +1 -1
- package/build/commonjs/ViewPager/ChildrenMemoizedPage.js +1 -1
- package/build/commonjs/ViewPager/ChildrenMemoizedPage.js.map +1 -1
- package/build/commonjs/ViewPager/ViewPagerNative.js.map +1 -1
- package/build/commonjs/ViewPager/ViewPagerProps.js.map +1 -1
- package/build/commonjs/ViewPager/ViewPagerWeb.js.map +1 -1
- package/build/commonjs/ViewPager/index.js.map +1 -1
- package/build/commonjs/ViewPager/index.native.js.map +1 -1
- package/build/commonjs/ViewPager/utils.js +13 -11
- package/build/commonjs/ViewPager/utils.js.map +1 -1
- package/build/commonjs/hooks/index.js.map +1 -1
- package/build/commonjs/hooks/useAppbarStyles.js.map +1 -1
- package/build/commonjs/hooks/useElevationStyle.js.map +1 -1
- package/build/commonjs/hooks/useHeight.js +5 -4
- package/build/commonjs/hooks/useHeight.js.map +1 -1
- package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js +20 -33
- package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
- package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js +7 -9
- package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
- package/build/commonjs/hooks/useWidth.js.map +1 -1
- package/build/commonjs/index.js +10 -10
- package/build/commonjs/index.js.map +1 -1
- package/build/module/AnimatedY/AnimatedY.js +4 -4
- package/build/module/AnimatedY/AnimatedY.js.map +1 -1
- package/build/module/AnimatedY/AnimatedYProps.js.map +1 -1
- package/build/module/AnimatedY/index.js.map +1 -1
- package/build/module/BottomSheet/BottomSheetNative.js +1 -1
- package/build/module/BottomSheet/BottomSheetNative.js.map +1 -1
- package/build/module/BottomSheet/BottomSheetProps.js.map +1 -1
- package/build/module/BottomSheet/BottomSheetWeb.js +2 -6
- package/build/module/BottomSheet/BottomSheetWeb.js.map +1 -1
- package/build/module/BottomSheet/TransparentBackdrop.js +1 -1
- package/build/module/BottomSheet/TransparentBackdrop.js.map +1 -1
- package/build/module/BottomSheet/index.js.map +1 -1
- package/build/module/BottomSheet/index.native.js.map +1 -1
- package/build/module/Carousel/CarouselNative.js.map +1 -1
- package/build/module/Carousel/CarouselProps.js.map +1 -1
- package/build/module/Carousel/CarouselWeb.js +1 -1
- package/build/module/Carousel/CarouselWeb.js.map +1 -1
- package/build/module/Carousel/index.js.map +1 -1
- package/build/module/Carousel/index.native.js.map +1 -1
- package/build/module/Carousel/utils.js.map +1 -1
- package/build/module/ComicViewer/ComicViewer.js +16 -11
- package/build/module/ComicViewer/ComicViewer.js.map +1 -1
- package/build/module/ComicViewer/ComicViewerItemProps.js.map +1 -1
- package/build/module/ComicViewer/ComicViewerProps.js.map +1 -1
- package/build/module/ComicViewer/ViewerItem.js +4 -3
- package/build/module/ComicViewer/ViewerItem.js.map +1 -1
- package/build/module/ComicViewer/index.js.map +1 -1
- package/build/module/DateTimePicker/DateTimePicker.js +2 -2
- package/build/module/DateTimePicker/DateTimePicker.js.map +1 -1
- package/build/module/DateTimePicker/DateTimePickerProps.js.map +1 -1
- package/build/module/DateTimePicker/DateTimePickerProvider.js.map +1 -1
- package/build/module/DateTimePicker/YearPicker.js +21 -17
- package/build/module/DateTimePicker/YearPicker.js.map +1 -1
- package/build/module/DateTimePicker/index.js.map +1 -1
- package/build/module/DateTimePicker/utils.js +2 -1
- package/build/module/DateTimePicker/utils.js.map +1 -1
- package/build/module/FlipCard/FlipCard.js +5 -5
- package/build/module/FlipCard/FlipCard.js.map +1 -1
- package/build/module/FlipCard/FlipCardProps.js.map +1 -1
- package/build/module/FlipCard/index.js.map +1 -1
- package/build/module/StatusBarProvider/Provider.js.map +1 -1
- package/build/module/StatusBarProvider/StatusBarProvider.js.map +1 -1
- package/build/module/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
- package/build/module/StatusBarProvider/index.js.map +1 -1
- package/build/module/ViewPager/ChildrenMemoizedPage.js +1 -1
- package/build/module/ViewPager/ChildrenMemoizedPage.js.map +1 -1
- package/build/module/ViewPager/ViewPagerNative.js.map +1 -1
- package/build/module/ViewPager/ViewPagerProps.js.map +1 -1
- package/build/module/ViewPager/ViewPagerWeb.js.map +1 -1
- package/build/module/ViewPager/index.js.map +1 -1
- package/build/module/ViewPager/index.native.js.map +1 -1
- package/build/module/ViewPager/utils.js +11 -10
- package/build/module/ViewPager/utils.js.map +1 -1
- package/build/module/hooks/index.js.map +1 -1
- package/build/module/hooks/useAppbarStyles.js.map +1 -1
- package/build/module/hooks/useElevationStyle.js.map +1 -1
- package/build/module/hooks/useHeight.js +4 -3
- package/build/module/hooks/useHeight.js.map +1 -1
- package/build/module/hooks/useUnstableCollapsibleAppBar.js +20 -23
- package/build/module/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
- package/build/module/hooks/useUnstableToggleDisplayStyle.js +7 -5
- package/build/module/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
- package/build/module/hooks/useWidth.js.map +1 -1
- package/build/module/index.js.map +1 -1
- package/build/typescript/AnimatedY/AnimatedY.d.ts +0 -1
- package/build/typescript/BottomSheet/BottomSheetNative.d.ts +0 -1
- package/build/typescript/BottomSheet/BottomSheetWeb.d.ts +0 -1
- package/build/typescript/BottomSheet/TransparentBackdrop.d.ts +0 -1
- package/build/typescript/Carousel/CarouselNative.d.ts +0 -1
- package/build/typescript/ComicViewer/ComicViewer.d.ts +0 -1
- package/build/typescript/DateTimePicker/DateTimePicker.d.ts +0 -1
- package/build/typescript/DateTimePicker/YearPicker.d.ts +0 -1
- package/build/typescript/FlipCard/FlipCard.d.ts +0 -1
- package/build/typescript/StatusBarProvider/StatusBarProvider.d.ts +0 -1
- package/build/typescript/ViewPager/ViewPagerNative.d.ts +0 -1
- package/build/typescript/ViewPager/ViewPagerWeb.d.ts +0 -1
- package/build/typescript/hooks/useUnstableCollapsibleAppBar.d.ts +2 -3
- package/build/typescript/hooks/useUnstableToggleDisplayStyle.d.ts +2 -2
- package/package.json +6 -5
- package/src/AnimatedY/AnimatedY.tsx +4 -4
- package/src/DateTimePicker/DateTimePicker.tsx +2 -2
- package/src/FlipCard/FlipCard.tsx +6 -6
- package/src/hooks/useHeight.ts +2 -2
- package/src/hooks/useUnstableCollapsibleAppBar.ts +25 -23
- package/src/hooks/useUnstableToggleDisplayStyle.ts +6 -5
|
@@ -21,10 +21,8 @@ function AnimatedY(props) {
|
|
|
21
21
|
translateY,
|
|
22
22
|
style
|
|
23
23
|
} = props;
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
const animatedStyle = _reactNativeReanimated.default.useAnimatedStyle(() => ({
|
|
24
|
+
const animatedY = (0, _reactNativeReanimated.useSharedValue)(translateY);
|
|
25
|
+
const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
28
26
|
transform: [{
|
|
29
27
|
translateY: animatedY.value
|
|
30
28
|
}]
|
|
@@ -32,7 +30,7 @@ function AnimatedY(props) {
|
|
|
32
30
|
|
|
33
31
|
_react.default.useEffect(() => {
|
|
34
32
|
if (translateY >= 0) {
|
|
35
|
-
animatedY.value = _reactNativeReanimated.
|
|
33
|
+
animatedY.value = (0, _reactNativeReanimated.withTiming)(translateY, {
|
|
36
34
|
duration: 150,
|
|
37
35
|
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.exp)
|
|
38
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["AnimatedY","props","children","translateY","style","animatedY","useSharedValue","animatedStyle","useAnimatedStyle","transform","value","React","useEffect","withTiming","duration","easing","Easing","out","exp"],"sources":["AnimatedY.tsx"],"sourcesContent":["import React from 'react';\nimport Animated, { Easing, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport type AnimatedYProps from './AnimatedYProps';\n\nexport default function AnimatedY(props: AnimatedYProps) {\n const {\n children,\n translateY,\n style,\n } = props;\n\n const animatedY = useSharedValue(translateY);\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ translateY: animatedY.value }],\n }));\n\n React.useEffect(() => {\n if (translateY >= 0) {\n animatedY.value = withTiming(translateY, {\n duration: 150,\n easing: Easing.out(Easing.exp),\n });\n }\n }, [translateY]);\n\n return (\n <Animated.View\n children={children}\n style={[\n animatedStyle,\n style,\n ]}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAGe,SAASA,SAAT,CAAmBC,KAAnB,EAA0C;EACrD,MAAM;IACFC,QADE;IAEFC,UAFE;IAGFC;EAHE,IAIFH,KAJJ;EAMA,MAAMI,SAAS,GAAG,IAAAC,qCAAA,EAAeH,UAAf,CAAlB;EACA,MAAMI,aAAa,GAAG,IAAAC,uCAAA,EAAiB,OAAO;IAC1CC,SAAS,EAAE,CAAC;MAAEN,UAAU,EAAEE,SAAS,CAACK;IAAxB,CAAD;EAD+B,CAAP,CAAjB,CAAtB;;EAIAC,cAAA,CAAMC,SAAN,CAAgB,MAAM;IAClB,IAAIT,UAAU,IAAI,CAAlB,EAAqB;MACjBE,SAAS,CAACK,KAAV,GAAkB,IAAAG,iCAAA,EAAWV,UAAX,EAAuB;QACrCW,QAAQ,EAAE,GAD2B;QAErCC,MAAM,EAAEC,6BAAA,CAAOC,GAAP,CAAWD,6BAAA,CAAOE,GAAlB;MAF6B,CAAvB,CAAlB;IAIH;EACJ,CAPD,EAOG,CAACf,UAAD,CAPH;;EASA,oBACI,6BAAC,8BAAD,CAAU,IAAV;IACI,QAAQ,EAAED,QADd;IAEI,KAAK,EAAE,CACHK,aADG,EAEHH,KAFG;EAFX,EADJ;AASH;;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["AnimatedYProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ComponentProps } from '@fountain-ui/core';\n\nexport default interface AnimatedYProps extends ComponentProps<{\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n\n /**\n * The translate y value of the component.\n */\n translateY: number;\n}> {}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './AnimatedY';\nexport type { default as AnimatedYProps } from './AnimatedYProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
|
|
@@ -17,7 +17,7 @@ var _TransparentBackdrop = _interopRequireDefault(require("./TransparentBackdrop
|
|
|
17
17
|
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
|
|
20
|
-
function _extends() { _extends = Object.assign
|
|
20
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
21
|
|
|
22
22
|
const NoHandle = () => null;
|
|
23
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["NoHandle","BottomSheet","props","backdropOpacity","children","index","onChange","snapPoints","indexRef","React","useRef","bottomSheetRef","handleChange","useCallback","newIndex","current","handleDismiss","useEffect","present","dismiss","snapToIndex","theme","useTheme","shadow","modalStyle","backgroundColor","Platform","select","android","elevation","ios","web","boxShadow","backgroundStyle","palette","paper","default","isBackdropTransparent","OpacityAwareBackdrop","TransparentBackdrop"],"sources":["BottomSheetNative.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from '@fountain-ui/styles';\nimport {\n BottomSheetBackdrop,\n BottomSheetBackdropProps,\n BottomSheetModal,\n BottomSheetModalProvider,\n} from '@gorhom/bottom-sheet';\nimport type BottomSheetProps from './BottomSheetProps';\nimport TransparentBackdrop from './TransparentBackdrop';\n\nconst NoHandle = () => null;\n\nexport default function BottomSheet(props: BottomSheetProps) {\n const {\n backdropOpacity = 0.5,\n children,\n index,\n onChange,\n snapPoints,\n } = props;\n\n const indexRef = React.useRef<number>(-1);\n const bottomSheetRef = React.useRef<BottomSheetModal | null>(null);\n\n const handleChange = React.useCallback((newIndex: number) => {\n indexRef.current = newIndex;\n\n if (onChange) {\n onChange(newIndex);\n }\n }, [onChange]);\n\n const handleDismiss = React.useCallback(() => {\n handleChange(-1);\n }, [handleChange]);\n\n React.useEffect(() => {\n if (index === indexRef.current) {\n return;\n }\n\n if (indexRef.current < 0 && index >= 0) {\n bottomSheetRef.current?.present();\n } else if (indexRef.current >= 0 && index < 0) {\n bottomSheetRef.current?.dismiss();\n } else {\n // @ts-ignore\n bottomSheetRef.current?.snapToIndex(index);\n }\n }, [index]);\n\n const theme = useTheme();\n const shadow = theme.shadow[12];\n const modalStyle = {\n backgroundColor: '#ffffff00',\n ...Platform.select<object>({\n android: shadow?.elevation,\n ios: shadow?.shadow,\n web: shadow?.boxShadow,\n }),\n };\n const backgroundStyle = {\n backgroundColor: theme.palette.paper.default,\n };\n\n const isBackdropTransparent = backdropOpacity <= 0;\n\n const OpacityAwareBackdrop = (props: BottomSheetBackdropProps) => (\n <BottomSheetBackdrop\n {...props}\n appearsOnIndex={0}\n disappearsOnIndex={-1}\n opacity={backdropOpacity}\n />\n );\n\n return (\n <BottomSheetModalProvider>\n <BottomSheetModal\n backdropComponent={isBackdropTransparent ? TransparentBackdrop : OpacityAwareBackdrop}\n // @ts-ignore\n backgroundStyle={backgroundStyle}\n index={index}\n handleComponent={NoHandle}\n onChange={handleChange}\n onDismiss={handleDismiss}\n ref={bottomSheetRef}\n snapPoints={snapPoints}\n style={modalStyle}\n >\n {children}\n </BottomSheetModal>\n </BottomSheetModalProvider>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["BottomSheetProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ComponentProps } from '@fountain-ui/core';\n\nexport default interface BottomSheetProps extends ComponentProps<{\n /**\n * Opacity for BackdropComponent\n * @default 0.5\n */\n backdropOpacity?: number;\n\n /**\n * BottomSheet children, usually the included sub-components.\n */\n children?: React.ReactNode;\n\n /**\n * Snap index. You could also provide -1 to bottom sheet in closed state.\n */\n index: number;\n\n /**\n * Callback fired when the index is changed.\n * Important! Use memoized value.\n */\n onChange?: (newIndex: number) => void;\n\n /**\n * Points for the bottom sheet to snap to, points should be sorted from bottom to top.\n * Important! Use memoized value.\n */\n snapPoints: Array<number>;\n}> {}\n"],"mappings":""}
|
|
@@ -35,14 +35,10 @@ const useStyles = function () {
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
const calculateHeight = points => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return (_points = points[points.length - 1]) !== null && _points !== void 0 ? _points : 0;
|
|
38
|
+
return points[points.length - 1] ?? 0;
|
|
41
39
|
};
|
|
42
40
|
|
|
43
41
|
function BottomSheet(props) {
|
|
44
|
-
var _snapPoints$index;
|
|
45
|
-
|
|
46
42
|
const {
|
|
47
43
|
backdropOpacity,
|
|
48
44
|
children,
|
|
@@ -59,7 +55,7 @@ function BottomSheet(props) {
|
|
|
59
55
|
};
|
|
60
56
|
|
|
61
57
|
const height = calculateHeight(snapPoints);
|
|
62
|
-
const translateY = height - (
|
|
58
|
+
const translateY = height - (snapPoints[index] ?? 0);
|
|
63
59
|
return /*#__PURE__*/_react.default.createElement(_core.Modal, {
|
|
64
60
|
backdropOpacity: backdropOpacity,
|
|
65
61
|
onClose: handleClose,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["useStyles","theme","useTheme","root","justifyContent","zIndex","dialog","animated","alignSelf","maxWidth","width","paper","borderBottomLeftRadius","borderBottomRightRadius","flexGrow","overflow","calculateHeight","points","length","BottomSheet","props","backdropOpacity","children","index","onChange","snapPoints","styles","handleClose","height","translateY","css","StyleSheet","absoluteFill"],"sources":["BottomSheetWeb.tsx"],"sourcesContent":["import React from 'react';\nimport { Modal, Paper, StyleSheet, css, useTheme } from '@fountain-ui/core';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport AnimatedY from '../AnimatedY';\nimport type BottomSheetProps from './BottomSheetProps';\n\ntype BottomSheetStyles = NamedStylesStringUnion<'root' | 'animated' | 'paper'>;\n\nconst useStyles: UseStyles<BottomSheetStyles> = function (): BottomSheetStyles {\n const theme = useTheme();\n\n return {\n root: {\n justifyContent: 'flex-end',\n zIndex: theme.zIndex.dialog\n },\n animated: {\n alignSelf: 'center',\n maxWidth: 720,\n width: '100%',\n },\n paper: {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n flexGrow: 1,\n overflow: 'hidden',\n },\n };\n};\n\nconst calculateHeight = (points: BottomSheetProps['snapPoints']): number => {\n return points[points.length - 1] ?? 0;\n};\n\nexport default function BottomSheet(props: BottomSheetProps) {\n const {\n backdropOpacity,\n children,\n index,\n onChange,\n snapPoints,\n } = props;\n\n const styles = useStyles();\n\n const handleClose = () => {\n if (onChange) {\n onChange(-1);\n }\n };\n\n const height = calculateHeight(snapPoints);\n const translateY = height - (snapPoints[index] ?? 0);\n\n return (\n <Modal\n backdropOpacity={backdropOpacity}\n onClose={handleClose}\n visible={index >= 0}\n style={css([StyleSheet.absoluteFill, styles.root])}\n >\n <AnimatedY\n style={styles.animated}\n translateY={translateY}\n >\n <Paper\n elevation={12}\n style={[\n styles.paper,\n { height },\n ]}\n >\n {children}\n </Paper>\n </AnimatedY>\n </Modal>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;AAKA,MAAMA,SAAuC,GAAG,YAA+B;EAC3E,MAAMC,KAAK,GAAG,IAAAC,cAAA,GAAd;EAEA,OAAO;IACHC,IAAI,EAAE;MACFC,cAAc,EAAE,UADd;MAEFC,MAAM,EAAEJ,KAAK,CAACI,MAAN,CAAaC;IAFnB,CADH;IAKHC,QAAQ,EAAE;MACNC,SAAS,EAAE,QADL;MAENC,QAAQ,EAAE,GAFJ;MAGNC,KAAK,EAAE;IAHD,CALP;IAUHC,KAAK,EAAE;MACHC,sBAAsB,EAAE,CADrB;MAEHC,uBAAuB,EAAE,CAFtB;MAGHC,QAAQ,EAAE,CAHP;MAIHC,QAAQ,EAAE;IAJP;EAVJ,CAAP;AAiBH,CApBD;;AAsBA,MAAMC,eAAe,GAAIC,MAAD,IAAoD;EACxE,OAAOA,MAAM,CAACA,MAAM,CAACC,MAAP,GAAgB,CAAjB,CAAN,IAA6B,CAApC;AACH,CAFD;;AAIe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,eADE;IAEFC,QAFE;IAGFC,KAHE;IAIFC,QAJE;IAKFC;EALE,IAMFL,KANJ;EAQA,MAAMM,MAAM,GAAG1B,SAAS,EAAxB;;EAEA,MAAM2B,WAAW,GAAG,MAAM;IACtB,IAAIH,QAAJ,EAAc;MACVA,QAAQ,CAAC,CAAC,CAAF,CAAR;IACH;EACJ,CAJD;;EAMA,MAAMI,MAAM,GAAGZ,eAAe,CAACS,UAAD,CAA9B;EACA,MAAMI,UAAU,GAAGD,MAAM,IAAIH,UAAU,CAACF,KAAD,CAAV,IAAqB,CAAzB,CAAzB;EAEA,oBACI,6BAAC,WAAD;IACI,eAAe,EAAEF,eADrB;IAEI,OAAO,EAAEM,WAFb;IAGI,OAAO,EAAEJ,KAAK,IAAI,CAHtB;IAII,KAAK,EAAE,IAAAO,SAAA,EAAI,CAACC,gBAAA,CAAWC,YAAZ,EAA0BN,MAAM,CAACvB,IAAjC,CAAJ;EAJX,gBAMI,6BAAC,kBAAD;IACI,KAAK,EAAEuB,MAAM,CAACnB,QADlB;IAEI,UAAU,EAAEsB;EAFhB,gBAII,6BAAC,WAAD;IACI,SAAS,EAAE,EADf;IAEI,KAAK,EAAE,CACHH,MAAM,CAACf,KADJ,EAEH;MAAEiB;IAAF,CAFG;EAFX,GAOKN,QAPL,CAJJ,CANJ,CADJ;AAuBH;;AAAA"}
|
|
@@ -13,7 +13,7 @@ var _styles = require("@fountain-ui/styles");
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
|
-
function _extends() { _extends = Object.assign
|
|
16
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
17
|
|
|
18
18
|
function TransparentBackdrop(props) {
|
|
19
19
|
// The reason that it did not use the opacity prop is that the close event is ignored in Android. (opacity < 0.1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["TransparentBackdrop","props","backdropStyle","css","backgroundColor","bottom","left","position","right","top"],"sources":["TransparentBackdrop.tsx"],"sourcesContent":["import React from 'react';\nimport { BottomSheetBackdrop, BottomSheetBackdropProps } from '@gorhom/bottom-sheet';\nimport { css } from '@fountain-ui/styles';\n\nexport default function TransparentBackdrop(props: BottomSheetBackdropProps) {\n // The reason that it did not use the opacity prop is that the close event is ignored in Android. (opacity < 0.1)\n const backdropStyle = css([\n {\n backgroundColor: '#ffffff00',\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n ]);\n\n return (\n <BottomSheetBackdrop\n {...props}\n appearsOnIndex={0}\n disappearsOnIndex={-1}\n style={backdropStyle}\n />\n );\n};"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAEe,SAASA,mBAAT,CAA6BC,KAA7B,EAA8D;EACzE;EACA,MAAMC,aAAa,GAAG,IAAAC,WAAA,EAAI,CACtB;IACIC,eAAe,EAAE,WADrB;IAEIC,MAAM,EAAE,CAFZ;IAGIC,IAAI,EAAE,CAHV;IAIIC,QAAQ,EAAE,UAJd;IAKIC,KAAK,EAAE,CALX;IAMIC,GAAG,EAAE;EANT,CADsB,CAAJ,CAAtB;EAWA,oBACI,6BAAC,gCAAD,eACQR,KADR;IAEI,cAAc,EAAE,CAFpB;IAGI,iBAAiB,EAAE,CAAC,CAHxB;IAII,KAAK,EAAEC;EAJX,GADJ;AAQH;;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './BottomSheetWeb';\nexport type { default as BottomSheetProps } from './BottomSheetProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.native.ts"],"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.native.ts"],"sourcesContent":["export { default } from './BottomSheetNative';\n"],"mappings":";;;;;;;;;;;;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["Carousel","props","autoplay","defaultAutoplay","autoplayInterval","defaultAutoplayInterval","centerSlidePadding","data","inactiveSlideOpacity","defaultInactiveSlideOpacity","inactiveSlideScale","defaultInactiveSlideScale","index","infinite","defaultInfinite","onChange","renderItem","carouselRef","useRef","sliderWidth","setSliderWidth","useState","Dimensions","get","width","itemWidth","undefined","useEffect","carousel","current","currentIndex","snapToItem","handleSnapToItem","newIndex","event","nativeEvent","layout"],"sources":["CarouselNative.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport RNSnapCarousel from 'react-native-snap-carousel';\nimport type CarouselProps from './CarouselProps';\nimport {\n defaultAutoplay,\n defaultAutoplayInterval,\n defaultInactiveSlideOpacity,\n defaultInactiveSlideScale,\n defaultInfinite,\n} from './utils';\n\nexport default function Carousel<ItemT>(props: CarouselProps<ItemT>) {\n const {\n autoplay = defaultAutoplay,\n autoplayInterval = defaultAutoplayInterval,\n centerSlidePadding,\n data,\n inactiveSlideOpacity = defaultInactiveSlideOpacity,\n inactiveSlideScale = defaultInactiveSlideScale,\n index,\n infinite = defaultInfinite,\n onChange,\n renderItem,\n } = props;\n\n const carouselRef = useRef<RNSnapCarousel<ItemT> | null>(null);\n\n const [sliderWidth, setSliderWidth] = useState(() => Dimensions.get('window').width);\n\n const itemWidth = centerSlidePadding !== undefined\n ? sliderWidth - (centerSlidePadding * 2)\n : sliderWidth;\n\n useEffect(() => {\n const carousel = carouselRef.current;\n if (carousel && index !== carousel.currentIndex) {\n carousel.snapToItem(index, true);\n }\n }, [index]);\n\n const handleSnapToItem = (newIndex: number) => {\n if (onChange) {\n onChange(newIndex);\n }\n };\n\n return (\n <View onLayout={(event) => setSliderWidth(event.nativeEvent.layout.width)}>\n <RNSnapCarousel\n autoplay={autoplay}\n autoplayInterval={autoplayInterval}\n data={data}\n horizontal={true}\n inactiveSlideOpacity={inactiveSlideOpacity}\n inactiveSlideScale={inactiveSlideScale}\n itemWidth={itemWidth}\n loop={infinite}\n loopClonesPerSide={2}\n onSnapToItem={handleSnapToItem}\n ref={carouselRef}\n renderItem={renderItem}\n sliderWidth={sliderWidth}\n />\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAQe,SAASA,QAAT,CAAyBC,KAAzB,EAAsD;EACjE,MAAM;IACFC,QAAQ,GAAGC,sBADT;IAEFC,gBAAgB,GAAGC,8BAFjB;IAGFC,kBAHE;IAIFC,IAJE;IAKFC,oBAAoB,GAAGC,kCALrB;IAMFC,kBAAkB,GAAGC,gCANnB;IAOFC,KAPE;IAQFC,QAAQ,GAAGC,sBART;IASFC,QATE;IAUFC;EAVE,IAWFf,KAXJ;EAaA,MAAMgB,WAAW,GAAG,IAAAC,aAAA,EAAqC,IAArC,CAApB;EAEA,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgC,IAAAC,eAAA,EAAS,MAAMC,uBAAA,CAAWC,GAAX,CAAe,QAAf,EAAyBC,KAAxC,CAAtC;EAEA,MAAMC,SAAS,GAAGnB,kBAAkB,KAAKoB,SAAvB,GACZP,WAAW,GAAIb,kBAAkB,GAAG,CADxB,GAEZa,WAFN;EAIA,IAAAQ,gBAAA,EAAU,MAAM;IACZ,MAAMC,QAAQ,GAAGX,WAAW,CAACY,OAA7B;;IACA,IAAID,QAAQ,IAAIhB,KAAK,KAAKgB,QAAQ,CAACE,YAAnC,EAAiD;MAC7CF,QAAQ,CAACG,UAAT,CAAoBnB,KAApB,EAA2B,IAA3B;IACH;EACJ,CALD,EAKG,CAACA,KAAD,CALH;;EAOA,MAAMoB,gBAAgB,GAAIC,QAAD,IAAsB;IAC3C,IAAIlB,QAAJ,EAAc;MACVA,QAAQ,CAACkB,QAAD,CAAR;IACH;EACJ,CAJD;;EAMA,oBACI,6BAAC,iBAAD;IAAM,QAAQ,EAAGC,KAAD,IAAWd,cAAc,CAACc,KAAK,CAACC,WAAN,CAAkBC,MAAlB,CAAyBZ,KAA1B;EAAzC,gBACI,6BAAC,gCAAD;IACI,QAAQ,EAAEtB,QADd;IAEI,gBAAgB,EAAEE,gBAFtB;IAGI,IAAI,EAAEG,IAHV;IAII,UAAU,EAAE,IAJhB;IAKI,oBAAoB,EAAEC,oBAL1B;IAMI,kBAAkB,EAAEE,kBANxB;IAOI,SAAS,EAAEe,SAPf;IAQI,IAAI,EAAEZ,QARV;IASI,iBAAiB,EAAE,CATvB;IAUI,YAAY,EAAEmB,gBAVlB;IAWI,GAAG,EAAEf,WAXT;IAYI,UAAU,EAAED,UAZhB;IAaI,WAAW,EAAEG;EAbjB,EADJ,CADJ;AAmBH;;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["CarouselProps.ts"],"sourcesContent":["import React, { RefObject } from 'react';\nimport type { ListRenderItemInfo } from 'react-native';\nimport type { ComponentProps } from '@fountain-ui/core';\n\nexport default interface CarouselProps<ItemT = any> extends ComponentProps<{\n /**\n * If `true`, enable autoplay.\n * @default false\n */\n autoplay?: boolean;\n\n /**\n * Delay in ms until navigating to the next item.\n * @default 3000\n */\n autoplayInterval?: number;\n\n /**\n * Padding for center slide. If specified, `slidesToScroll` and `slidesToShow` set to 1.\n */\n centerSlidePadding?: number;\n\n /**\n * Delay in ms until navigating to the next item.\n */\n data: ReadonlyArray<ItemT>;\n\n /**\n * Value of the opacity effect applied to inactive slides.\n * @default 0.7\n */\n inactiveSlideOpacity?: number;\n\n /**\n * Value of the 'scale' transform applied to inactive slides.\n * @default 0.9\n */\n inactiveSlideScale?: number;\n\n /**\n * Web only. Value of the 'scale' transform applied to a active slide.\n * @default 0.990\n */\n activeSlideScale?: number;\n\n /**\n * A number representing the index of the active slide.\n */\n index: number;\n\n /**\n * Enable infinite loop mode.\n * @default false\n */\n infinite?: boolean;\n\n /**\n * Callback fired when an index is changed.\n */\n onChange?: (newIndex: number) => void;\n\n /**\n * Takes an item from data and renders it into the list.\n */\n renderItem: (info: Omit<ListRenderItemInfo<ItemT>, 'separators'>) => React.ReactElement | null;\n\n /**\n * Web only. Number of slides to scroll at once.\n * @default 1\n */\n slidesToScroll?: number;\n\n /**\n * Web only. Number of slides to display.\n * @default 1\n */\n slidesToShow?: number;\n\n /**\n * Web only. Enable items to display at the center.\n * @default true\n */\n centerMode?: boolean;\n\n /**\n * Web only. Enable arrows to display.\n * @default true\n */\n arrows?: boolean;\n\n /**\n * Web only. Style of arrows\n * @default true\n */\n arrowsStyle?: object;\n\n /**\n * Web only. Style of track\n * @default object\n */\n trackStyle?: object;\n\n /**\n * Only web. Refer slick object\n */\n ref?: RefObject<any>;\n}> {}\n"],"mappings":""}
|
|
@@ -21,7 +21,7 @@ var _utils2 = require("./utils");
|
|
|
21
21
|
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
|
|
24
|
-
function _extends() { _extends = Object.assign
|
|
24
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
25
|
|
|
26
26
|
const baseSettings = {
|
|
27
27
|
dots: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CarouselWeb.tsx"],"names":["baseSettings","dots","draggable","lazyLoad","window","undefined","pauseOnFocus","pauseOnHover","rows","swipe","slidesPerRow","vertical","noop","StyledContainer","styled","div","props","display","position","userSelect","overflow","margin","padding","outline","cursor","transform","top","left","content","clear","trackStyle","float","height","minHeight","justifyContent","inactiveSlideScale","transition","opacity","inactiveSlideOpacity","activeSlideScale","arrowsStyle","ArrowContainer","children","currentSlide","slideCount","visible","otherProps","alignItems","backgroundColor","borderRadius","React","forwardRef","ref","defaultActiveSlideScale","autoplay","defaultAutoplay","autoplayInterval","defaultAutoplayInterval","centerMode","centerSlidePadding","data","defaultInactiveSlideOpacity","defaultInactiveSlideScale","index","infinite","defaultInfinite","onChange","renderItem","slidesToScroll","slidesToShow","arrows","slickRef","useRef","visibleArrow","setVisibleArrow","useState","useEffect","current","slickGoTo","fixOnClickNotWorkingAfterMobileSwipe","innerSlider","clickHandler","handleAfterChange","newIndex","handleBeforeChange","onPointerOver","onPointerLeave","item","child","cloneElement","key"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AASA,MAAMA,YAAsB,GAAG;AAC3BC,EAAAA,IAAI,EAAE,KADqB;AAE3BC,EAAAA,SAAS,EAAE,IAFgB;AAG3BC,EAAAA,QAAQ,EAAE,OAAOC,MAAP,KAAkB,WAAlB,GAAgCC,SAAhC,GAA4C,UAH3B;AAI3BC,EAAAA,YAAY,EAAE,IAJa;AAK3BC,EAAAA,YAAY,EAAE,IALa;AAM3BC,EAAAA,IAAI,EAAE,CANqB;AAO3BC,EAAAA,KAAK,EAAE,IAPoB;AAQ3BC,EAAAA,YAAY,EAAE,CARa;AAS3BC,EAAAA,QAAQ,EAAE;AATiB,CAA/B;;AAYA,MAAMC,IAAI,GAAG,MAAM,KAAK,CAAxB;;AAEA,MAAMC,eAAoB,GAAGC,gBAAOC,GAAP,CAAYC,KAAD,KAAiB;AACrD,GAAC,iBAAD,GAAqB;AACjBC,IAAAA,OAAO,EAAE,OADQ;AAEjBC,IAAAA,QAAQ,EAAE,UAFO;AAGjBC,IAAAA,UAAU,EAAE;AAHK,GADgC;AAMrD,GAAC,eAAD,GAAmB;AACfF,IAAAA,OAAO,EAAE,OADM;AAEfC,IAAAA,QAAQ,EAAE,UAFK;AAGfE,IAAAA,QAAQ,EAAE,QAHK;AAIfC,IAAAA,MAAM,EAAE,CAJO;AAKfC,IAAAA,OAAO,EAAE,CALM;AAMf,KAAC,SAAD,GAAa;AACTC,MAAAA,OAAO,EAAE;AADA,KANE;AASf,KAAC,YAAD,GAAgB;AACZC,MAAAA,MAAM,EAAE;AADI;AATD,GANkC;AAmBrD,GAAC,0DAAD,GAA8D;AAC1DC,IAAAA,SAAS,EAAE;AAD+C,GAnBT;AAsBrD,GAAC,gBAAD,GAAoB;AAChBR,IAAAA,OAAO,EAAE,OADO;AAEhBC,IAAAA,QAAQ,EAAE,UAFM;AAGhBQ,IAAAA,GAAG,EAAE,CAHW;AAIhBC,IAAAA,IAAI,EAAE,CAJU;AAKhB,KAAC,mBAAD,GAAuB;AACnBV,MAAAA,OAAO,EAAE,OADU;AAEnBW,MAAAA,OAAO,EAAE;AAFU,KALP;AAShB,KAAC,SAAD,GAAa;AACTC,MAAAA,KAAK,EAAE;AADE,KATG;AAYhB,OAAGb,KAAK,CAACc;AAZO,GAtBiC;AAoCrD,GAAC,gBAAD,GAAoB;AAChBb,IAAAA,OAAO,EAAE,MADO;AAEhBc,IAAAA,KAAK,EAAE,MAFS;AAGhBC,IAAAA,MAAM,EAAE,MAHQ;AAIhBC,IAAAA,SAAS,EAAE,CAJK;AAKhB,KAAC,SAAD,GAAa;AACTC,MAAAA,cAAc,EAAE,QADP;AAETjB,MAAAA,OAAO,EAAE,MAFA;AAGTQ,MAAAA,SAAS,EAAG,SAAQT,KAAK,CAACmB,kBAAmB,GAHpC;AAITC,MAAAA,UAAU,EAAE,eAJH;AAKTC,MAAAA,OAAO,EAAErB,KAAK,CAACsB;AALN;AALG,GApCiC;AAiDrD,GAAC,wBAAD,GAA4B;AACxBb,IAAAA,SAAS,EAAG,SAAQT,KAAK,CAACuB,gBAAiB,GADnB;AAExBF,IAAAA,OAAO,EAAE;AAFe,GAjDyB;AAqDrD,GAAC,mCAAD,GAAuC;AACnCpB,IAAAA,OAAO,EAAE;AAD0B,GArDc;AAwDrD,KAAGD,KAAK,CAACwB;AAxD4C,CAAjB,CAAX,CAA7B;;AAkEA,MAAMC,cAAc,GAAIzB,KAAD,IAAgC;AACnD,QAAM;AACF0B,IAAAA,QADE;AAEFC,IAAAA,YAFE;AAGFC,IAAAA,UAHE;AAIFC,IAAAA,OAJE;AAKF,OAAGC;AALD,MAMF9B,KANJ;AAQA,SAAO6B,OAAO;AAAA;AACV;AACA,mDAASC,UAAT;AAAqB,IAAA,KAAK,EAAE;AAAEtB,MAAAA,MAAM,EAAE;AAAV;AAA5B,mBACI,6BAAC,iBAAD;AACI,IAAA,KAAK,EAAE;AACHQ,MAAAA,MAAM,EAAE,MADL;AAEHE,MAAAA,cAAc,EAAE,QAFb;AAGHa,MAAAA,UAAU,EAAE,QAHT;AAIHC,MAAAA,eAAe,EAAE,OAJd;AAKHC,MAAAA,YAAY,EAAE;AALX;AADX,KASKP,QATL,CADJ,CAFU,GAeV,IAfJ;AAgBH,CAzBD;;4BA2BeQ,eAAMC,UAAN,CAAiB,CAACnC,KAAD,EAAuBoC,GAAvB,KAA+B;AAC3D,QAAM;AACFb,IAAAA,gBAAgB,GAAGc,+BADjB;AAEFC,IAAAA,QAAQ,GAAGC,uBAFT;AAGFC,IAAAA,gBAAgB,GAAGC,+BAHjB;AAIFC,IAAAA,UAAU,GAAG,KAJX;AAKFC,IAAAA,kBAAkB,GAAG,CALnB;AAMFC,IAAAA,IANE;AAOFtB,IAAAA,oBAAoB,GAAGuB,mCAPrB;AAQF1B,IAAAA,kBAAkB,GAAG2B,iCARnB;AASFC,IAAAA,KATE;AAUFC,IAAAA,QAAQ,GAAGC,uBAVT;AAWFC,IAAAA,QAXE;AAYFC,IAAAA,UAZE;AAaFC,IAAAA,cAAc,GAAG,CAbf;AAcFC,IAAAA,YAAY,GAAG,CAdb;AAeFC,IAAAA,MAAM,GAAG,KAfP;AAgBF9B,IAAAA,WAAW,GAAG,EAhBZ;AAiBFV,IAAAA,UAAU,GAAG;AAjBX,MAkBFd,KAlBJ;;AAoBA,QAAMuD,QAAQ,GAAGrB,eAAMsB,MAAN,CAA2B,IAA3B,CAAjB;;AACA,QAAM,CAACC,YAAD,EAAeC,eAAf,IAAkCxB,eAAMyB,QAAN,CAAe,KAAf,CAAxC;;AAEAzB,iBAAM0B,SAAN,CAAgB,MAAM;AAClB,QAAIL,QAAQ,CAACM,OAAb,EAAsB;AAClBN,MAAAA,QAAQ,CAACM,OAAT,CAAiBC,SAAjB,CAA2Bf,KAA3B,EAAkC,KAAlC;AACH;AACJ,GAJD,EAIG,CAACA,KAAD,CAJH;;AAMA,QAAMgB,oCAAoC,GAAG,MAAM;AAC/C;AACA,QAAIR,QAAQ,CAACM,OAAT,IAAoBN,QAAQ,CAACM,OAAT,CAAiBG,WAAzC,EAAsD;AAClD;AACAT,MAAAA,QAAQ,CAACM,OAAT,CAAiBG,WAAjB,CAA6BC,YAA7B,GAA4CrE,IAA5C;AACH;AACJ,GAND;;AAQA,QAAMsE,iBAAiB,GAAIC,QAAD,IAAsB;AAC5CJ,IAAAA,oCAAoC;;AAEpC,QAAIb,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAACiB,QAAD,CAAR;AACH;AACJ,GAND;;AAQA,QAAMC,kBAAkB,GAAG,MAAM;AAC7BL,IAAAA,oCAAoC;AACvC,GAFD;;AAIA,QAAMM,aAAa,GAAG,MAAMX,eAAe,CAAC,IAAD,CAA3C;;AACA,QAAMY,cAAc,GAAG,MAAMZ,eAAe,CAAC,KAAD,CAA5C;;AAEAxB,iBAAM0B,SAAN,CAAgB,MAAM;AAClB,QAAIxB,GAAJ,EAAS;AACL;AACAA,MAAAA,GAAG,CAACyB,OAAJ,GAAcN,QAAQ,CAACM,OAAvB;AACH;AACJ,GALD,EAKG,EALH;;AAOA,sBACI,6BAAC,eAAD;AACI,IAAA,gBAAgB,EAAEtC,gBADtB;AAEI,IAAA,oBAAoB,EAAED,oBAF1B;AAGI,IAAA,kBAAkB,EAAEH,kBAHxB;AAII,IAAA,WAAW,EAAEK,WAJjB;AAKI,IAAA,UAAU,EAAEV,UALhB;AAMI,IAAA,aAAa,EAAEuD,aANnB;AAOI,IAAA,cAAc,EAAEC;AAPpB,kBASI,6BAAC,mBAAD,eACQtF,YADR;AAEI,IAAA,WAAW,EAAEkF,iBAFjB;AAGI,IAAA,QAAQ,EAAE5B,QAHd;AAII,IAAA,aAAa,EAAEE,gBAJnB;AAKI,IAAA,YAAY,EAAE4B,kBALlB;AAMI,IAAA,UAAU,EAAE1B,UANhB;AAOI,IAAA,aAAa,EAAG,GAAEC,kBAAmB,IAPzC;AAQI,IAAA,QAAQ,EAAEK,QARd;AASI,IAAA,YAAY,EAAED,KATlB;AAUI,IAAA,GAAG,EAAEQ,QAVT;AAWI,IAAA,cAAc,EAAEH,cAXpB;AAYI,IAAA,YAAY,EAAEC,YAZlB;AAaI,IAAA,MAAM,EAAEC,MAbZ;AAcI,IAAA,SAAS,eAAE,6BAAC,cAAD;AAAgB,MAAA,OAAO,EAAEG,YAAzB;AAAuC,MAAA,QAAQ,eAAE,6BAAC,kBAAD;AAAa,QAAA,IAAI,EAAE;AAAnB;AAAjD,MAdf;AAeI,IAAA,SAAS,eAAE,6BAAC,cAAD;AAAgB,MAAA,OAAO,EAAEA,YAAzB;AAAuC,MAAA,QAAQ,eAAE,6BAAC,mBAAD;AAAc,QAAA,IAAI,EAAE;AAApB;AAAjD;AAff,MAiBK,uBAAW,CAACc,IAAD,EAAOxB,KAAP,KAAiB;AACzB,UAAMyB,KAAK,GAAGrB,UAAU,CAAC;AAAEoB,MAAAA,IAAF;AAAQxB,MAAAA;AAAR,KAAD,CAAxB;;AAEA,QAAIyB,KAAJ,EAAW;AACP,0BAAOtC,eAAMuC,YAAN,CAAmBD,KAAnB,EAA0B;AAAEE,QAAAA,GAAG,EAAE3B;AAAP,OAA1B,CAAP;AACH;;AACD,WAAOyB,KAAP;AACH,GAPA,EAOE5B,IAPF,CAjBL,CATJ,CADJ;AAsCH,CAlGc,C","sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport Slick, { Settings } from 'react-slick';\nimport styled from '@emotion/styled';\nimport { ChevronLeft, ChevronRight } from '@fountain-ui/icons';\nimport { mapIndexed } from '@fountain-ui/utils';\nimport type CarouselProps from './CarouselProps';\nimport {\n defaultActiveSlideScale,\n defaultAutoplay,\n defaultAutoplayInterval,\n defaultInactiveSlideOpacity,\n defaultInactiveSlideScale,\n defaultInfinite,\n} from './utils';\n\nconst baseSettings: Settings = {\n dots: false,\n draggable: true,\n lazyLoad: typeof window === 'undefined' ? undefined : 'ondemand',\n pauseOnFocus: true,\n pauseOnHover: true,\n rows: 1,\n swipe: true,\n slidesPerRow: 1,\n vertical: false,\n};\n\nconst noop = () => void 0;\n\nconst StyledContainer: any = styled.div((props: any) => ({\n ['& .slick-slider']: {\n display: 'block',\n position: 'relative',\n userSelect: 'none',\n },\n ['& .slick-list']: {\n display: 'block',\n position: 'relative',\n overflow: 'hidden',\n margin: 0,\n padding: 0,\n ['&:focus']: {\n outline: 'none',\n },\n ['&.dragging']: {\n cursor: 'pointer',\n },\n },\n ['& .slick-slider .slick-track, &.slick-slider .slick-list']: {\n transform: 'translate3d(0, 0, 0)',\n },\n ['& .slick-track']: {\n display: 'block',\n position: 'relative',\n top: 0,\n left: 0,\n ['&:before, &:after']: {\n display: 'table',\n content: '\\'\\'',\n },\n ['&:after']: {\n clear: 'both',\n },\n ...props.trackStyle,\n },\n ['& .slick-slide']: {\n display: 'none',\n float: 'left',\n height: '100%',\n minHeight: 1,\n ['& > div']: {\n justifyContent: 'center',\n display: 'flex',\n transform: `scale(${props.inactiveSlideScale})`,\n transition: 'transform .5s',\n opacity: props.inactiveSlideOpacity,\n },\n },\n ['& .slick-current > div']: {\n transform: `scale(${props.activeSlideScale})`,\n opacity: 1,\n },\n ['& .slick-initialized .slick-slide']: {\n display: 'block',\n },\n ...props.arrowsStyle,\n}));\n\ninterface ArrowContainerProps {\n children: React.ReactElement;\n visible: boolean;\n currentSlide?: any;\n slideCount?: any;\n}\n\nconst ArrowContainer = (props: ArrowContainerProps) => {\n const {\n children,\n currentSlide,\n slideCount,\n visible,\n ...otherProps\n } = props;\n\n return visible ? (\n // If root component is not a div, there's no arrow class.\n <div {...otherProps} style={{ cursor: 'pointer' }}>\n <View\n style={{\n height: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'white',\n borderRadius: 16,\n }}\n >\n {children}\n </View>\n </div>\n ) : null;\n};\n\nexport default React.forwardRef((props: CarouselProps, ref) => {\n const {\n activeSlideScale = defaultActiveSlideScale,\n autoplay = defaultAutoplay,\n autoplayInterval = defaultAutoplayInterval,\n centerMode = false,\n centerSlidePadding = 0,\n data,\n inactiveSlideOpacity = defaultInactiveSlideOpacity,\n inactiveSlideScale = defaultInactiveSlideScale,\n index,\n infinite = defaultInfinite,\n onChange,\n renderItem,\n slidesToScroll = 1,\n slidesToShow = 1,\n arrows = false,\n arrowsStyle = {},\n trackStyle = {},\n } = props;\n\n const slickRef = React.useRef<Slick | null>(null);\n const [visibleArrow, setVisibleArrow] = React.useState(false);\n\n React.useEffect(() => {\n if (slickRef.current) {\n slickRef.current.slickGoTo(index, false);\n }\n }, [index]);\n\n const fixOnClickNotWorkingAfterMobileSwipe = () => {\n // @ts-ignore\n if (slickRef.current && slickRef.current.innerSlider) {\n // @ts-ignore\n slickRef.current.innerSlider.clickHandler = noop;\n }\n };\n\n const handleAfterChange = (newIndex: number) => {\n fixOnClickNotWorkingAfterMobileSwipe();\n\n if (onChange) {\n onChange(newIndex);\n }\n };\n\n const handleBeforeChange = () => {\n fixOnClickNotWorkingAfterMobileSwipe();\n };\n\n const onPointerOver = () => setVisibleArrow(true);\n const onPointerLeave = () => setVisibleArrow(false);\n\n React.useEffect(() => {\n if (ref) {\n //@ts-ignore\n ref.current = slickRef.current;\n }\n }, []);\n\n return (\n <StyledContainer\n activeSlideScale={activeSlideScale}\n inactiveSlideOpacity={inactiveSlideOpacity}\n inactiveSlideScale={inactiveSlideScale}\n arrowsStyle={arrowsStyle}\n trackStyle={trackStyle}\n onPointerOver={onPointerOver}\n onPointerLeave={onPointerLeave}\n >\n <Slick\n {...baseSettings}\n afterChange={handleAfterChange}\n autoplay={autoplay}\n autoplaySpeed={autoplayInterval}\n beforeChange={handleBeforeChange}\n centerMode={centerMode}\n centerPadding={`${centerSlidePadding}px`}\n infinite={infinite}\n initialSlide={index}\n ref={slickRef}\n slidesToScroll={slidesToScroll}\n slidesToShow={slidesToShow}\n arrows={arrows}\n prevArrow={<ArrowContainer visible={visibleArrow} children={<ChevronLeft fill={'#767676'}/>}/>}\n nextArrow={<ArrowContainer visible={visibleArrow} children={<ChevronRight fill={'#767676'}/>}/>}\n >\n {mapIndexed((item, index) => {\n const child = renderItem({ item, index });\n\n if (child) {\n return React.cloneElement(child, { key: index });\n }\n return child;\n }, data)}\n </Slick>\n </StyledContainer>\n );\n});\n"]}
|
|
1
|
+
{"version":3,"names":["baseSettings","dots","draggable","lazyLoad","window","undefined","pauseOnFocus","pauseOnHover","rows","swipe","slidesPerRow","vertical","noop","StyledContainer","styled","div","props","display","position","userSelect","overflow","margin","padding","outline","cursor","transform","top","left","content","clear","trackStyle","float","height","minHeight","justifyContent","inactiveSlideScale","transition","opacity","inactiveSlideOpacity","activeSlideScale","arrowsStyle","ArrowContainer","children","currentSlide","slideCount","visible","otherProps","alignItems","backgroundColor","borderRadius","React","forwardRef","ref","defaultActiveSlideScale","autoplay","defaultAutoplay","autoplayInterval","defaultAutoplayInterval","centerMode","centerSlidePadding","data","defaultInactiveSlideOpacity","defaultInactiveSlideScale","index","infinite","defaultInfinite","onChange","renderItem","slidesToScroll","slidesToShow","arrows","slickRef","useRef","visibleArrow","setVisibleArrow","useState","useEffect","current","slickGoTo","fixOnClickNotWorkingAfterMobileSwipe","innerSlider","clickHandler","handleAfterChange","newIndex","handleBeforeChange","onPointerOver","onPointerLeave","mapIndexed","item","child","cloneElement","key"],"sources":["CarouselWeb.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport Slick, { Settings } from 'react-slick';\nimport styled from '@emotion/styled';\nimport { ChevronLeft, ChevronRight } from '@fountain-ui/icons';\nimport { mapIndexed } from '@fountain-ui/utils';\nimport type CarouselProps from './CarouselProps';\nimport {\n defaultActiveSlideScale,\n defaultAutoplay,\n defaultAutoplayInterval,\n defaultInactiveSlideOpacity,\n defaultInactiveSlideScale,\n defaultInfinite,\n} from './utils';\n\nconst baseSettings: Settings = {\n dots: false,\n draggable: true,\n lazyLoad: typeof window === 'undefined' ? undefined : 'ondemand',\n pauseOnFocus: true,\n pauseOnHover: true,\n rows: 1,\n swipe: true,\n slidesPerRow: 1,\n vertical: false,\n};\n\nconst noop = () => void 0;\n\nconst StyledContainer: any = styled.div((props: any) => ({\n ['& .slick-slider']: {\n display: 'block',\n position: 'relative',\n userSelect: 'none',\n },\n ['& .slick-list']: {\n display: 'block',\n position: 'relative',\n overflow: 'hidden',\n margin: 0,\n padding: 0,\n ['&:focus']: {\n outline: 'none',\n },\n ['&.dragging']: {\n cursor: 'pointer',\n },\n },\n ['& .slick-slider .slick-track, &.slick-slider .slick-list']: {\n transform: 'translate3d(0, 0, 0)',\n },\n ['& .slick-track']: {\n display: 'block',\n position: 'relative',\n top: 0,\n left: 0,\n ['&:before, &:after']: {\n display: 'table',\n content: '\\'\\'',\n },\n ['&:after']: {\n clear: 'both',\n },\n ...props.trackStyle,\n },\n ['& .slick-slide']: {\n display: 'none',\n float: 'left',\n height: '100%',\n minHeight: 1,\n ['& > div']: {\n justifyContent: 'center',\n display: 'flex',\n transform: `scale(${props.inactiveSlideScale})`,\n transition: 'transform .5s',\n opacity: props.inactiveSlideOpacity,\n },\n },\n ['& .slick-current > div']: {\n transform: `scale(${props.activeSlideScale})`,\n opacity: 1,\n },\n ['& .slick-initialized .slick-slide']: {\n display: 'block',\n },\n ...props.arrowsStyle,\n}));\n\ninterface ArrowContainerProps {\n children: React.ReactElement;\n visible: boolean;\n currentSlide?: any;\n slideCount?: any;\n}\n\nconst ArrowContainer = (props: ArrowContainerProps) => {\n const {\n children,\n currentSlide,\n slideCount,\n visible,\n ...otherProps\n } = props;\n\n return visible ? (\n // If root component is not a div, there's no arrow class.\n <div {...otherProps} style={{ cursor: 'pointer' }}>\n <View\n style={{\n height: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'white',\n borderRadius: 16,\n }}\n >\n {children}\n </View>\n </div>\n ) : null;\n};\n\nexport default React.forwardRef((props: CarouselProps, ref) => {\n const {\n activeSlideScale = defaultActiveSlideScale,\n autoplay = defaultAutoplay,\n autoplayInterval = defaultAutoplayInterval,\n centerMode = false,\n centerSlidePadding = 0,\n data,\n inactiveSlideOpacity = defaultInactiveSlideOpacity,\n inactiveSlideScale = defaultInactiveSlideScale,\n index,\n infinite = defaultInfinite,\n onChange,\n renderItem,\n slidesToScroll = 1,\n slidesToShow = 1,\n arrows = false,\n arrowsStyle = {},\n trackStyle = {},\n } = props;\n\n const slickRef = React.useRef<Slick | null>(null);\n const [visibleArrow, setVisibleArrow] = React.useState(false);\n\n React.useEffect(() => {\n if (slickRef.current) {\n slickRef.current.slickGoTo(index, false);\n }\n }, [index]);\n\n const fixOnClickNotWorkingAfterMobileSwipe = () => {\n // @ts-ignore\n if (slickRef.current && slickRef.current.innerSlider) {\n // @ts-ignore\n slickRef.current.innerSlider.clickHandler = noop;\n }\n };\n\n const handleAfterChange = (newIndex: number) => {\n fixOnClickNotWorkingAfterMobileSwipe();\n\n if (onChange) {\n onChange(newIndex);\n }\n };\n\n const handleBeforeChange = () => {\n fixOnClickNotWorkingAfterMobileSwipe();\n };\n\n const onPointerOver = () => setVisibleArrow(true);\n const onPointerLeave = () => setVisibleArrow(false);\n\n React.useEffect(() => {\n if (ref) {\n //@ts-ignore\n ref.current = slickRef.current;\n }\n }, []);\n\n return (\n <StyledContainer\n activeSlideScale={activeSlideScale}\n inactiveSlideOpacity={inactiveSlideOpacity}\n inactiveSlideScale={inactiveSlideScale}\n arrowsStyle={arrowsStyle}\n trackStyle={trackStyle}\n onPointerOver={onPointerOver}\n onPointerLeave={onPointerLeave}\n >\n <Slick\n {...baseSettings}\n afterChange={handleAfterChange}\n autoplay={autoplay}\n autoplaySpeed={autoplayInterval}\n beforeChange={handleBeforeChange}\n centerMode={centerMode}\n centerPadding={`${centerSlidePadding}px`}\n infinite={infinite}\n initialSlide={index}\n ref={slickRef}\n slidesToScroll={slidesToScroll}\n slidesToShow={slidesToShow}\n arrows={arrows}\n prevArrow={<ArrowContainer visible={visibleArrow} children={<ChevronLeft fill={'#767676'}/>}/>}\n nextArrow={<ArrowContainer visible={visibleArrow} children={<ChevronRight fill={'#767676'}/>}/>}\n >\n {mapIndexed((item, index) => {\n const child = renderItem({ item, index });\n\n if (child) {\n return React.cloneElement(child, { key: index });\n }\n return child;\n }, data)}\n </Slick>\n </StyledContainer>\n );\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './CarouselWeb';\nexport type { default as CarouselProps } from './CarouselProps';"],"mappings":";;;;;;;;;;;;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.native.ts"],"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.native.ts"],"sourcesContent":["export { default } from './CarouselNative';"],"mappings":";;;;;;;;;;;;AAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.defaultInfinite = exports.
|
|
6
|
+
exports.defaultInfinite = exports.defaultInactiveSlideScale = exports.defaultInactiveSlideOpacity = exports.defaultAutoplayInterval = exports.defaultAutoplay = exports.defaultActiveSlideScale = void 0;
|
|
7
7
|
const defaultAutoplay = false;
|
|
8
8
|
exports.defaultAutoplay = defaultAutoplay;
|
|
9
9
|
const defaultAutoplayInterval = 3000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["defaultAutoplay","defaultAutoplayInterval","defaultInactiveSlideOpacity","defaultInactiveSlideScale","defaultActiveSlideScale","defaultInfinite"],"sources":["utils.ts"],"sourcesContent":["export const defaultAutoplay = false;\n\nexport const defaultAutoplayInterval = 3000;\n\nexport const defaultInactiveSlideOpacity = 1;\n\nexport const defaultInactiveSlideScale = 0.9;\n\nexport const defaultActiveSlideScale = 1;\n\nexport const defaultInfinite = false;\n"],"mappings":";;;;;;AAAO,MAAMA,eAAe,GAAG,KAAxB;;AAEA,MAAMC,uBAAuB,GAAG,IAAhC;;AAEA,MAAMC,2BAA2B,GAAG,CAApC;;AAEA,MAAMC,yBAAyB,GAAG,GAAlC;;AAEA,MAAMC,uBAAuB,GAAG,CAAhC;;AAEA,MAAMC,eAAe,GAAG,KAAxB"}
|
|
@@ -19,7 +19,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
19
19
|
|
|
20
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
21
|
|
|
22
|
-
function _extends() { _extends = Object.assign
|
|
22
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
23
|
|
|
24
24
|
const getItemHeights = items => R.map(content => content.height)(items);
|
|
25
25
|
|
|
@@ -65,9 +65,10 @@ function ComicViewer(props) {
|
|
|
65
65
|
index
|
|
66
66
|
};
|
|
67
67
|
}, [itemHeights]);
|
|
68
|
-
const onViewableItemsChanged = (0, _react.useRef)(
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
const onViewableItemsChanged = (0, _react.useRef)(_ref => {
|
|
69
|
+
let {
|
|
70
|
+
viewableItems
|
|
71
|
+
} = _ref;
|
|
71
72
|
setItems(prev => {
|
|
72
73
|
const viewableItemIds = R.map(viewableItem => viewableItem.item.id)(viewableItems);
|
|
73
74
|
return R.map(prevItem => ({ ...prevItem,
|
|
@@ -95,17 +96,21 @@ function ComicViewer(props) {
|
|
|
95
96
|
|
|
96
97
|
debounceTimeOut.current = setTimeout(function () {
|
|
97
98
|
const errorsArray = Array.from(errors.current.entries());
|
|
98
|
-
const errorsInfo = R.map(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
const errorsInfo = R.map(_ref2 => {
|
|
100
|
+
let [key, value] = _ref2;
|
|
101
|
+
return {
|
|
102
|
+
id: key,
|
|
103
|
+
count: value
|
|
104
|
+
};
|
|
105
|
+
})(errorsArray);
|
|
102
106
|
onErrorHandler([...errorsInfo]);
|
|
103
107
|
errors.current.clear();
|
|
104
108
|
}, errorDebounceMillis);
|
|
105
109
|
}, [errorDebounceMillis, errors.current]);
|
|
106
|
-
const renderItem = (0, _react.useCallback)(
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
const renderItem = (0, _react.useCallback)(_ref3 => {
|
|
111
|
+
let {
|
|
112
|
+
item
|
|
113
|
+
} = _ref3;
|
|
109
114
|
const props = { ...item,
|
|
110
115
|
onError: itemErrorHandler
|
|
111
116
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ComicViewer.tsx"],"names":["getItemHeights","items","R","map","content","height","appender","left","right","getHeightAccum","itemHeights","mapAccum","keyExtractor","item","id","ComicViewer","props","data","errorDebounceMillis","errorRetryCount","initialNumToRender","initialScrollPercentage","itemVisiblePercentThreshold","onError","viewerWidth","windowSize","otherProps","flatListRef","errors","Map","debounceTimeOut","resourceString","toString","itemData","sourceUrl","initialItems","isViewable","width","setItems","itemHeightAccum","viewabilityConfig","getItemLayout","index","offsets","prepend","length","offset","onViewableItemsChanged","viewableItems","prev","viewableItemIds","viewableItem","prevItem","includes","onErrorHandler","isRetryLimited","any","error","count","itemErrorHandler","errorInfo","current","set","clearTimeout","setTimeout","errorsArray","Array","from","entries","errorsInfo","key","value","clear","renderItem","currentData","find","currentItemData","newItems","totalHeight","Math","floor","scrollToOffset","animated"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { FlatList, ListRenderItem, ViewToken } from 'react-native';\nimport * as R from 'ramda';\nimport { ComicViewerItemData, default as ComicViewerProps, ErrorInfo } from './ComicViewerProps';\nimport type ComicViewerItemProps from './ComicViewerItemProps';\nimport ViewerItem from './ViewerItem';\n\nconst getItemHeights = <T, >(items: ComicViewerItemProps<T>[]): number[] => R.map((content: ComicViewerItemProps<T>) => content.height)(items);\nconst appender = (left: number, right: number): [number, number] => [left + right, left + right];\nconst getHeightAccum = (itemHeights: number[]): [number, number[]] => R.mapAccum(appender, 0, itemHeights);\n\nconst keyExtractor = <T, >(item: ComicViewerItemProps<T>) => item.id;\n\nexport default function ComicViewer<T>(props: ComicViewerProps<T>) {\n const {\n data,\n errorDebounceMillis = 500,\n errorRetryCount = 3,\n initialNumToRender = 1,\n initialScrollPercentage = 0,\n itemVisiblePercentThreshold = 0,\n onError,\n viewerWidth,\n windowSize = 3,\n ...otherProps\n } = props;\n\n const flatListRef = useRef<FlatList>(null);\n\n const errors = useRef<Map<string, number>>(new Map());\n const debounceTimeOut = useRef<NodeJS.Timeout | null>(null);\n\n const resourceString = R.toString(R.map((itemData: ComicViewerItemData) => itemData.sourceUrl)(data));\n\n const initialItems = R.map((itemData: ComicViewerItemData<T>) => ({\n ...itemData,\n isViewable: false,\n width: viewerWidth,\n height: (itemData.height * viewerWidth) / itemData.width,\n }))(data);\n\n const [items, setItems] = useState<ComicViewerItemProps<T>[]>(initialItems);\n\n const itemHeights = getItemHeights(items);\n const itemHeightAccum = getHeightAccum(itemHeights);\n\n const viewabilityConfig = useMemo(() => ({\n itemVisiblePercentThreshold,\n }), [itemVisiblePercentThreshold]);\n\n const getItemLayout = useCallback((data: any, index: number) => {\n const offsets = R.prepend(0, itemHeightAccum[1]);\n\n return {\n length: itemHeights[index],\n offset: offsets[index],\n index,\n };\n }, [itemHeights]);\n\n const onViewableItemsChanged = useRef(({ viewableItems }: {\n viewableItems: Array<ViewToken>,\n }) => {\n setItems((prev: ComicViewerItemProps<T>[]) => {\n const viewableItemIds = R.map((viewableItem: ViewToken) => viewableItem.item.id)(viewableItems);\n\n return R.map((prevItem: ComicViewerItemProps<T>) => ({\n ...prevItem,\n isViewable: R.includes(prevItem.id, viewableItemIds),\n }))([...prev]);\n });\n });\n\n const onErrorHandler = (errors: ErrorInfo[]) => {\n const isRetryLimited = R.any((error: ErrorInfo) => error.count >= errorRetryCount)(errors);\n\n if (isRetryLimited) {\n return;\n }\n\n onError && onError(errors);\n };\n\n const itemErrorHandler = useCallback((errorInfo: ErrorInfo) => {\n errors.current.set(errorInfo.id, errorInfo.count);\n\n if (debounceTimeOut.current) {\n clearTimeout(debounceTimeOut.current);\n }\n\n debounceTimeOut.current = setTimeout(function () {\n const errorsArray = Array.from(errors.current.entries());\n const errorsInfo = R.map(([key, value]: [string, number]) => ({\n id: key,\n count: value,\n }))(errorsArray);\n\n onErrorHandler([...errorsInfo]);\n errors.current.clear();\n }, errorDebounceMillis);\n }, [errorDebounceMillis, errors.current]);\n\n const renderItem: ListRenderItem<ComicViewerItemProps<T>> = useCallback(({ item }) => {\n const props = {\n ...item,\n onError: itemErrorHandler,\n };\n\n return <ViewerItem props={props}/>;\n }, []);\n\n useEffect(() => {\n setItems((prev: ComicViewerItemProps<T>[]) => {\n return R.map((prevItem: ComicViewerItemProps<T>) => {\n const currentData = R.find((currentItemData: ComicViewerItemData<T>) => prevItem.id === currentItemData.id)(data);\n\n if (currentData && (currentData.sourceUrl !== prevItem.sourceUrl)) {\n return {\n ...prevItem,\n sourceUrl: currentData.sourceUrl,\n };\n }\n\n return prevItem;\n })([...prev]);\n });\n }, [resourceString]);\n\n useEffect(() => {\n const newItems = R.map((item: ComicViewerItemProps<T>) => ({\n ...item,\n width: viewerWidth,\n height: (item.height * viewerWidth) / item.width,\n }))(items);\n\n setItems(newItems);\n }, [viewerWidth]);\n\n useEffect(() => {\n const totalHeight = itemHeightAccum[0];\n const offset = Math.floor((initialScrollPercentage / 100) * totalHeight);\n\n if (flatListRef.current) {\n flatListRef.current.scrollToOffset({ offset, animated: false });\n }\n }, [flatListRef.current]);\n\n return (\n <FlatList\n data={items}\n getItemLayout={getItemLayout}\n initialNumToRender={initialNumToRender}\n keyExtractor={keyExtractor}\n onViewableItemsChanged={onViewableItemsChanged.current}\n ref={flatListRef}\n renderItem={renderItem}\n viewabilityConfig={viewabilityConfig}\n windowSize={windowSize}\n {...otherProps}\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"names":["getItemHeights","items","R","map","content","height","appender","left","right","getHeightAccum","itemHeights","mapAccum","keyExtractor","item","id","ComicViewer","props","data","errorDebounceMillis","errorRetryCount","initialNumToRender","initialScrollPercentage","itemVisiblePercentThreshold","onError","viewerWidth","windowSize","otherProps","flatListRef","useRef","errors","Map","debounceTimeOut","resourceString","toString","itemData","sourceUrl","initialItems","isViewable","width","setItems","useState","itemHeightAccum","viewabilityConfig","useMemo","getItemLayout","useCallback","index","offsets","prepend","length","offset","onViewableItemsChanged","viewableItems","prev","viewableItemIds","viewableItem","prevItem","includes","onErrorHandler","isRetryLimited","any","error","count","itemErrorHandler","errorInfo","current","set","clearTimeout","setTimeout","errorsArray","Array","from","entries","errorsInfo","key","value","clear","renderItem","useEffect","currentData","find","currentItemData","newItems","totalHeight","Math","floor","scrollToOffset","animated"],"sources":["ComicViewer.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { FlatList, ListRenderItem, ViewToken } from 'react-native';\nimport * as R from 'ramda';\nimport { ComicViewerItemData, default as ComicViewerProps, ErrorInfo } from './ComicViewerProps';\nimport type ComicViewerItemProps from './ComicViewerItemProps';\nimport ViewerItem from './ViewerItem';\n\nconst getItemHeights = <T, >(items: ComicViewerItemProps<T>[]): number[] => R.map((content: ComicViewerItemProps<T>) => content.height)(items);\nconst appender = (left: number, right: number): [number, number] => [left + right, left + right];\nconst getHeightAccum = (itemHeights: number[]): [number, number[]] => R.mapAccum(appender, 0, itemHeights);\n\nconst keyExtractor = <T, >(item: ComicViewerItemProps<T>) => item.id;\n\nexport default function ComicViewer<T>(props: ComicViewerProps<T>) {\n const {\n data,\n errorDebounceMillis = 500,\n errorRetryCount = 3,\n initialNumToRender = 1,\n initialScrollPercentage = 0,\n itemVisiblePercentThreshold = 0,\n onError,\n viewerWidth,\n windowSize = 3,\n ...otherProps\n } = props;\n\n const flatListRef = useRef<FlatList>(null);\n\n const errors = useRef<Map<string, number>>(new Map());\n const debounceTimeOut = useRef<NodeJS.Timeout | null>(null);\n\n const resourceString = R.toString(R.map((itemData: ComicViewerItemData) => itemData.sourceUrl)(data));\n\n const initialItems = R.map((itemData: ComicViewerItemData<T>) => ({\n ...itemData,\n isViewable: false,\n width: viewerWidth,\n height: (itemData.height * viewerWidth) / itemData.width,\n }))(data);\n\n const [items, setItems] = useState<ComicViewerItemProps<T>[]>(initialItems);\n\n const itemHeights = getItemHeights(items);\n const itemHeightAccum = getHeightAccum(itemHeights);\n\n const viewabilityConfig = useMemo(() => ({\n itemVisiblePercentThreshold,\n }), [itemVisiblePercentThreshold]);\n\n const getItemLayout = useCallback((data: any, index: number) => {\n const offsets = R.prepend(0, itemHeightAccum[1]);\n\n return {\n length: itemHeights[index],\n offset: offsets[index],\n index,\n };\n }, [itemHeights]);\n\n const onViewableItemsChanged = useRef(({ viewableItems }: {\n viewableItems: Array<ViewToken>,\n }) => {\n setItems((prev: ComicViewerItemProps<T>[]) => {\n const viewableItemIds = R.map((viewableItem: ViewToken) => viewableItem.item.id)(viewableItems);\n\n return R.map((prevItem: ComicViewerItemProps<T>) => ({\n ...prevItem,\n isViewable: R.includes(prevItem.id, viewableItemIds),\n }))([...prev]);\n });\n });\n\n const onErrorHandler = (errors: ErrorInfo[]) => {\n const isRetryLimited = R.any((error: ErrorInfo) => error.count >= errorRetryCount)(errors);\n\n if (isRetryLimited) {\n return;\n }\n\n onError && onError(errors);\n };\n\n const itemErrorHandler = useCallback((errorInfo: ErrorInfo) => {\n errors.current.set(errorInfo.id, errorInfo.count);\n\n if (debounceTimeOut.current) {\n clearTimeout(debounceTimeOut.current);\n }\n\n debounceTimeOut.current = setTimeout(function () {\n const errorsArray = Array.from(errors.current.entries());\n const errorsInfo = R.map(([key, value]: [string, number]) => ({\n id: key,\n count: value,\n }))(errorsArray);\n\n onErrorHandler([...errorsInfo]);\n errors.current.clear();\n }, errorDebounceMillis);\n }, [errorDebounceMillis, errors.current]);\n\n const renderItem: ListRenderItem<ComicViewerItemProps<T>> = useCallback(({ item }) => {\n const props = {\n ...item,\n onError: itemErrorHandler,\n };\n\n return <ViewerItem props={props}/>;\n }, []);\n\n useEffect(() => {\n setItems((prev: ComicViewerItemProps<T>[]) => {\n return R.map((prevItem: ComicViewerItemProps<T>) => {\n const currentData = R.find((currentItemData: ComicViewerItemData<T>) => prevItem.id === currentItemData.id)(data);\n\n if (currentData && (currentData.sourceUrl !== prevItem.sourceUrl)) {\n return {\n ...prevItem,\n sourceUrl: currentData.sourceUrl,\n };\n }\n\n return prevItem;\n })([...prev]);\n });\n }, [resourceString]);\n\n useEffect(() => {\n const newItems = R.map((item: ComicViewerItemProps<T>) => ({\n ...item,\n width: viewerWidth,\n height: (item.height * viewerWidth) / item.width,\n }))(items);\n\n setItems(newItems);\n }, [viewerWidth]);\n\n useEffect(() => {\n const totalHeight = itemHeightAccum[0];\n const offset = Math.floor((initialScrollPercentage / 100) * totalHeight);\n\n if (flatListRef.current) {\n flatListRef.current.scrollToOffset({ offset, animated: false });\n }\n }, [flatListRef.current]);\n\n return (\n <FlatList\n data={items}\n getItemLayout={getItemLayout}\n initialNumToRender={initialNumToRender}\n keyExtractor={keyExtractor}\n onViewableItemsChanged={onViewableItemsChanged.current}\n ref={flatListRef}\n renderItem={renderItem}\n viewabilityConfig={viewabilityConfig}\n windowSize={windowSize}\n {...otherProps}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["ComicViewerItemProps.ts"],"sourcesContent":["import { ComicViewerItemData, ErrorInfo } from './ComicViewerProps';\n\ntype ComicViewerItemProps<T> = ComicViewerItemData<T> & {\n /**\n * FlatListItem is viewable in screen.\n */\n isViewable: boolean;\n\n /**\n * Error handler\n */\n onError?: (errorInfo: ErrorInfo) => void;\n}\n\nexport default ComicViewerItemProps;"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["ComicViewerProps.ts"],"sourcesContent":["import { ComponentProps } from '@fountain-ui/core';\n\nexport interface ErrorInfo {\n /**\n * ComicViewerItemData.id.\n */\n id: string;\n\n /**\n * Number of times an error occurred.\n */\n count: number;\n}\n\nexport type ComicViewerItemData<T = {}> = T & {\n /**\n * Image height.\n */\n height: number;\n\n /**\n * Unique value for identifying.\n */\n id: string;\n\n /**\n * Image sourceUrl for displaying.\n */\n sourceUrl: string;\n\n /**\n * Image width.\n */\n width: number;\n}\n\nexport default interface ComicViewerProps<T> extends ComponentProps <{\n /**\n * Data for render.\n */\n data: ComicViewerItemData<T>[];\n\n /**\n * Delay Time to call the error handler.\n * @default 500\n */\n errorDebounceMillis?: number;\n\n /**\n * How many times retry onError when same item error occur\n * @default 3\n */\n errorRetryCount?: number;\n\n /**\n * How many items to render in the initial batch.\n * @default 1\n */\n initialNumToRender?: number;\n\n /**\n * Start at initialScrollPercentage.\n * If over 100, scroll to end.\n * @default 0\n */\n initialScrollPercentage?: number;\n\n /**\n * The value for FlatList viewabilityConfig.itemVisiblePercentThreshold.\n * @default 0\n */\n itemVisiblePercentThreshold?: number;\n\n /**\n * Handling all viewerItem errors at once.\n * @param errors Array of ViewerItems errorInfo.\n */\n onError?: (errors: ErrorInfo[]) => void;\n\n /**\n * Comic viewer width.\n */\n viewerWidth: number;\n\n /**\n * The value for FlatList windowSize.\n * @default 3\n */\n windowSize?: number;\n}> {}"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["styles","StyleSheet","create","placeholder","backgroundColor","ViewerItem","props","height","id","isViewable","onError","sourceUrl","width","isLoaded","setIsLoaded","useState","errorCount","useRef","onLoad","useCallback","current","handleError","count","viewStyle","Placeholder","uri","React","memo","prevProps","nextProps"],"sources":["ViewerItem.tsx"],"sourcesContent":["import React, { useCallback, useRef, useState } from 'react';\nimport { View } from 'react-native';\nimport { Image, StyleSheet } from '@fountain-ui/core';\nimport ComicViewerItemProps from './ComicViewerItemProps';\n\nconst styles = StyleSheet.create({\n placeholder: {\n backgroundColor: '#abcabc',\n },\n});\n\nfunction ViewerItem<T>({ props }: { props: ComicViewerItemProps<T> }) {\n const {\n height,\n id,\n isViewable,\n onError,\n sourceUrl,\n width,\n } = props;\n\n const [isLoaded, setIsLoaded] = useState(false);\n\n const errorCount = useRef<number>(0);\n\n const onLoad = useCallback(() => {\n errorCount.current = 0;\n setIsLoaded(true);\n }, []);\n\n const handleError = useCallback(() => {\n errorCount.current = errorCount.current + 1;\n\n onError && onError({\n id,\n count: errorCount.current\n });\n }, [id]);\n\n const viewStyle = { width, height };\n\n const Placeholder = () => (\n <View style={[\n viewStyle,\n styles.placeholder,\n ]}/>\n );\n\n if (!isViewable && !isLoaded) {\n return <Placeholder/>;\n }\n\n return (\n <Image\n disableOutline={true}\n key={sourceUrl}\n onLoad={onLoad}\n onError={handleError}\n source={{ uri: sourceUrl }}\n style={viewStyle}\n square={true}\n />\n );\n}\n\nexport default React.memo(ViewerItem, (prevProps, nextProps) => {\n if (prevProps.props.isViewable !== nextProps.props.isViewable) {\n return false;\n }\n\n if (prevProps.props.sourceUrl !== nextProps.props.sourceUrl) {\n return false;\n }\n\n return true;\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,MAAMA,MAAM,GAAGC,gBAAA,CAAWC,MAAX,CAAkB;EAC7BC,WAAW,EAAE;IACTC,eAAe,EAAE;EADR;AADgB,CAAlB,CAAf;;AAMA,SAASC,UAAT,OAAsE;EAAA,IAA/C;IAAEC;EAAF,CAA+C;EAClE,MAAM;IACFC,MADE;IAEFC,EAFE;IAGFC,UAHE;IAIFC,OAJE;IAKFC,SALE;IAMFC;EANE,IAOFN,KAPJ;EASA,MAAM,CAACO,QAAD,EAAWC,WAAX,IAA0B,IAAAC,eAAA,EAAS,KAAT,CAAhC;EAEA,MAAMC,UAAU,GAAG,IAAAC,aAAA,EAAe,CAAf,CAAnB;EAEA,MAAMC,MAAM,GAAG,IAAAC,kBAAA,EAAY,MAAM;IAC7BH,UAAU,CAACI,OAAX,GAAqB,CAArB;IACAN,WAAW,CAAC,IAAD,CAAX;EACH,CAHc,EAGZ,EAHY,CAAf;EAKA,MAAMO,WAAW,GAAG,IAAAF,kBAAA,EAAY,MAAM;IAClCH,UAAU,CAACI,OAAX,GAAqBJ,UAAU,CAACI,OAAX,GAAqB,CAA1C;IAEAV,OAAO,IAAIA,OAAO,CAAC;MACfF,EADe;MAEfc,KAAK,EAAEN,UAAU,CAACI;IAFH,CAAD,CAAlB;EAIH,CAPmB,EAOjB,CAACZ,EAAD,CAPiB,CAApB;EASA,MAAMe,SAAS,GAAG;IAAEX,KAAF;IAASL;EAAT,CAAlB;;EAEA,MAAMiB,WAAW,GAAG,mBAChB,6BAAC,iBAAD;IAAM,KAAK,EAAE,CACTD,SADS,EAETvB,MAAM,CAACG,WAFE;EAAb,EADJ;;EAOA,IAAI,CAACM,UAAD,IAAe,CAACI,QAApB,EAA8B;IAC1B,oBAAO,6BAAC,WAAD,OAAP;EACH;;EAED,oBACI,6BAAC,WAAD;IACI,cAAc,EAAE,IADpB;IAEI,GAAG,EAAEF,SAFT;IAGI,MAAM,EAAEO,MAHZ;IAII,OAAO,EAAEG,WAJb;IAKI,MAAM,EAAE;MAAEI,GAAG,EAAEd;IAAP,CALZ;IAMI,KAAK,EAAEY,SANX;IAOI,MAAM,EAAE;EAPZ,EADJ;AAWH;;4BAEcG,cAAA,CAAMC,IAAN,CAAWtB,UAAX,EAAuB,CAACuB,SAAD,EAAYC,SAAZ,KAA0B;EAC5D,IAAID,SAAS,CAACtB,KAAV,CAAgBG,UAAhB,KAA+BoB,SAAS,CAACvB,KAAV,CAAgBG,UAAnD,EAA+D;IAC3D,OAAO,KAAP;EACH;;EAED,IAAImB,SAAS,CAACtB,KAAV,CAAgBK,SAAhB,KAA8BkB,SAAS,CAACvB,KAAV,CAAgBK,SAAlD,EAA6D;IACzD,OAAO,KAAP;EACH;;EAED,OAAO,IAAP;AACH,CAVc,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './ComicViewer';\nexport type { ComicViewerItemData, default as ComicViewerProps, ErrorInfo } from './ComicViewerProps';\nexport type { default as ComicViewerItemProps } from './ComicViewerItemProps';"],"mappings":";;;;;;;;;;;;AAAA"}
|
|
@@ -100,8 +100,8 @@ function DateTimePicker(props) {
|
|
|
100
100
|
onPress: () => setYearPickerVisible(true)
|
|
101
101
|
}),
|
|
102
102
|
theme: {
|
|
103
|
-
backgroundColor: theme.palette.
|
|
104
|
-
calendarBackground: theme.palette.
|
|
103
|
+
backgroundColor: theme.palette.paper.default,
|
|
104
|
+
calendarBackground: theme.palette.paper.default,
|
|
105
105
|
dayTextColor: theme.palette.text.primary,
|
|
106
106
|
textDisabledColor: theme.palette.text.hint
|
|
107
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["useDateTimePicker","React","useContext","DateTimePickerContext","DateTimePicker","props","currentMonth","Date","locale","markedDate","markedDateProp","maxDate","minDate","onDayPress","onYearPress","onYearPressProp","theme","useTheme","yearPickerVisible","setYearPickerVisible","useState","locales","LeftArrow","RightArrow","date","LocaleConfig","defaultLocale","format","direction","selected","disableTouchEvent","selectedColor","palette","primary","main","selectedTextColor","contrastTextColor","formatDate","toDate","backgroundColor","paper","default","calendarBackground","dayTextColor","text","textDisabledColor","hint"],"sources":["DateTimePicker.tsx"],"sourcesContent":["import React from 'react';\nimport { format } from 'date-fns';\n//@ts-ignore\nimport { Calendar, LocaleConfig } from 'react-native-calendars';\nimport { Button, Typography } from '@fountain-ui/core';\nimport { useTheme } from '@fountain-ui/styles';\nimport YearPicker from './YearPicker';\nimport { DateTimePickerContext } from './DateTimePickerProvider';\nimport type DateTimePickerProps from './DateTimePickerProps';\nimport { formatDate } from './utils';\n\nconst useDateTimePicker = () => {\n return React.useContext(DateTimePickerContext);\n};\n\nexport default function DateTimePicker(props: DateTimePickerProps) {\n const {\n currentMonth = new Date(),\n locale,\n markedDate: markedDateProp,\n maxDate,\n minDate,\n onDayPress,\n onYearPress: onYearPressProp,\n } = props;\n\n const theme = useTheme();\n\n const [yearPickerVisible, setYearPickerVisible] = React.useState(false);\n const { locales } = useDateTimePicker();\n\n //TODO: Need to update arrow components\n const LeftArrow = <Typography children={'<'} color={'textPrimary'}/>;\n const RightArrow = <Typography children={'>'} color={'textPrimary'}/>;\n\n const onYearPress = (date: Date) => {\n setYearPickerVisible(false);\n onYearPressProp && onYearPressProp(date);\n };\n\n if (locale) {\n LocaleConfig.locales = locales;\n LocaleConfig.defaultLocale = locale;\n }\n\n const markedDate = markedDateProp ? format(markedDateProp, 'yyyy-MM-dd') : '';\n\n if (yearPickerVisible) {\n return (\n <YearPicker\n date={currentMonth}\n locale={locale}\n maxDate={maxDate}\n minDate={minDate}\n onYearPress={onYearPress}\n />\n );\n }\n\n return (\n <Calendar\n current={currentMonth}\n onDayPress={onDayPress}\n maxDate={maxDate}\n minDate={minDate}\n renderArrow={(direction: string) => direction === 'left' ? LeftArrow : RightArrow}\n markedDates={{\n [markedDate]: {\n selected: true,\n disableTouchEvent: true,\n selectedColor: theme.palette.primary.main,\n selectedTextColor: theme.palette.primary.contrastTextColor,\n },\n }}\n // @ts-ignore\n renderHeader={(date) => (\n <Button\n children={formatDate(date.toDate(), locale)}\n variant={'text'}\n size={'small'}\n onPress={() => setYearPickerVisible(true)}\n />\n )}\n theme={{\n backgroundColor: theme.palette.paper.default,\n calendarBackground: theme.palette.paper.default,\n dayTextColor: theme.palette.text.primary,\n textDisabledColor: theme.palette.text.hint,\n }}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["DateTimePickerProps.ts"],"sourcesContent":["import type { ComponentProps } from '@fountain-ui/core';\n\nexport interface Day {\n dateString: string;\n day: number;\n month: number;\n timestamp: number;\n year: number;\n}\n\nexport default interface DateTimePickerProps extends ComponentProps<{\n /**\n * To select month on calendar.\n * @default Date()\n */\n currentMonth?: Date;\n\n /**\n * Locale for calendar.\n */\n locale?: string;\n\n /**\n * Marked date on calendar.\n * @default Date()\n */\n markedDate?: Date;\n\n /**\n * Maximum date that can be selected, dates after maxDate will be grayed out.\n */\n maxDate?: Date;\n\n /**\n * Minimum date that can be selected, dates before minDate will be grayed out.\n */\n minDate?: Date;\n\n /**\n * Handler which gets executed on day press.\n */\n onDayPress?: (day: Day) => void;\n\n /**\n * Handler which gets executed on year press.\n */\n onYearPress?: (year: Date) => void;\n}> {}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["defaultValue","locales","DateTimePickerContext","React","createContext","Provider"],"sources":["DateTimePickerProvider.ts"],"sourcesContent":["import React from 'react';\n\nexport interface DateTimePickerValue {\n locales: object;\n}\n\nconst defaultValue: DateTimePickerValue = {\n locales: {},\n};\n\nexport const DateTimePickerContext = React.createContext<DateTimePickerValue>(defaultValue);\n\nexport default DateTimePickerContext.Provider;"],"mappings":";;;;;;;AAAA;;;;AAMA,MAAMA,YAAiC,GAAG;EACtCC,OAAO,EAAE;AAD6B,CAA1C;;AAIO,MAAMC,qBAAqB,gBAAGC,cAAA,CAAMC,aAAN,CAAyCJ,YAAzC,CAA9B;;;eAEQE,qBAAqB,CAACG,Q"}
|