@sendbird/uikit-react-native-foundation 2.3.0 → 2.4.1
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/lib/commonjs/components/Box/index.js +46 -0
- package/lib/commonjs/components/Box/index.js.map +1 -0
- package/lib/commonjs/components/ImageWithPlaceholder/index.js +92 -0
- package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -0
- package/lib/commonjs/components/PressBox/index.js +60 -0
- package/lib/commonjs/components/PressBox/index.js.map +1 -0
- package/lib/commonjs/index.js +39 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/theme/DarkUIKitTheme.js +220 -179
- package/lib/commonjs/theme/DarkUIKitTheme.js.map +1 -1
- package/lib/commonjs/theme/LightUIKitTheme.js +220 -179
- package/lib/commonjs/theme/LightUIKitTheme.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/ui/Header/index.js +4 -2
- package/lib/commonjs/ui/Header/index.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js +40 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js +57 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.js +90 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js +134 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js +55 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +83 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +140 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js +136 -0
- package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/index.js +35 -0
- package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelPreview/index.js +134 -0
- package/lib/commonjs/ui/OpenChannelPreview/index.js.map +1 -0
- package/lib/module/components/Box/index.js +33 -0
- package/lib/module/components/Box/index.js.map +1 -0
- package/lib/module/components/ImageWithPlaceholder/index.js +71 -0
- package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -0
- package/lib/module/components/PressBox/index.js +45 -0
- package/lib/module/components/PressBox/index.js.map +1 -0
- package/lib/module/index.js +6 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/theme/DarkUIKitTheme.js +220 -179
- package/lib/module/theme/DarkUIKitTheme.js.map +1 -1
- package/lib/module/theme/LightUIKitTheme.js +220 -179
- package/lib/module/theme/LightUIKitTheme.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/ui/Header/index.js +4 -2
- package/lib/module/ui/Header/index.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.admin.js +27 -0
- package/lib/module/ui/OpenChannelMessage/Message.admin.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/Message.file.image.js +41 -0
- package/lib/module/ui/OpenChannelMessage/Message.file.image.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/Message.file.js +71 -0
- package/lib/module/ui/OpenChannelMessage/Message.file.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/Message.file.video.js +112 -0
- package/lib/module/ui/OpenChannelMessage/Message.file.video.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/Message.unknown.js +41 -0
- package/lib/module/ui/OpenChannelMessage/Message.unknown.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/Message.user.js +67 -0
- package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/Message.user.og.js +121 -0
- package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/MessageContainer.js +116 -0
- package/lib/module/ui/OpenChannelMessage/MessageContainer.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/index.js +18 -0
- package/lib/module/ui/OpenChannelMessage/index.js.map +1 -0
- package/lib/module/ui/OpenChannelPreview/index.js +117 -0
- package/lib/module/ui/OpenChannelPreview/index.js.map +1 -0
- package/lib/typescript/src/components/Box/index.d.ts +11 -0
- package/lib/typescript/src/components/ImageWithPlaceholder/index.d.ts +11 -0
- package/lib/typescript/src/components/PressBox/index.d.ts +16 -0
- package/lib/typescript/src/index.d.ts +8 -1
- package/lib/typescript/src/types.d.ts +21 -5
- package/lib/typescript/src/ui/Header/index.d.ts +1 -0
- package/lib/typescript/src/ui/OpenChannelMessage/Message.admin.d.ts +4 -0
- package/lib/typescript/src/ui/OpenChannelMessage/Message.file.d.ts +5 -0
- package/lib/typescript/src/ui/OpenChannelMessage/Message.file.image.d.ts +4 -0
- package/lib/typescript/src/ui/OpenChannelMessage/Message.file.video.d.ts +9 -0
- package/lib/typescript/src/ui/OpenChannelMessage/Message.unknown.d.ts +4 -0
- package/lib/typescript/src/ui/OpenChannelMessage/Message.user.d.ts +5 -0
- package/lib/typescript/src/ui/OpenChannelMessage/Message.user.og.d.ts +5 -0
- package/lib/typescript/src/ui/OpenChannelMessage/MessageContainer.d.ts +7 -0
- package/lib/typescript/src/ui/OpenChannelMessage/index.d.ts +136 -0
- package/lib/typescript/src/ui/OpenChannelPreview/index.d.ts +10 -0
- package/package.json +4 -4
- package/src/components/Box/index.tsx +65 -0
- package/src/components/ImageWithPlaceholder/index.tsx +83 -0
- package/src/components/PressBox/index.tsx +53 -0
- package/src/index.ts +8 -1
- package/src/theme/DarkUIKitTheme.ts +213 -171
- package/src/theme/LightUIKitTheme.ts +213 -171
- package/src/types.ts +41 -6
- package/src/ui/Header/index.tsx +7 -2
- package/src/ui/OpenChannelMessage/Message.admin.tsx +24 -0
- package/src/ui/OpenChannelMessage/Message.file.image.tsx +34 -0
- package/src/ui/OpenChannelMessage/Message.file.tsx +67 -0
- package/src/ui/OpenChannelMessage/Message.file.video.tsx +93 -0
- package/src/ui/OpenChannelMessage/Message.unknown.tsx +31 -0
- package/src/ui/OpenChannelMessage/Message.user.og.tsx +120 -0
- package/src/ui/OpenChannelMessage/Message.user.tsx +61 -0
- package/src/ui/OpenChannelMessage/MessageContainer.tsx +121 -0
- package/src/ui/OpenChannelMessage/index.ts +42 -0
- package/src/ui/OpenChannelPreview/index.tsx +97 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
13
|
+
|
|
14
|
+
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
const Box = _ref => {
|
|
21
|
+
let {
|
|
22
|
+
style,
|
|
23
|
+
children,
|
|
24
|
+
...props
|
|
25
|
+
} = _ref;
|
|
26
|
+
const boxStyle = useBoxStyle(props);
|
|
27
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
|
|
28
|
+
style: [boxStyle, style]
|
|
29
|
+
}, props), children);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const useBoxStyle = props => {
|
|
33
|
+
const theme = (0, _useUIKitTheme.default)();
|
|
34
|
+
const {
|
|
35
|
+
backgroundColor,
|
|
36
|
+
...rest
|
|
37
|
+
} = props;
|
|
38
|
+
return {
|
|
39
|
+
backgroundColor: (0, _uikitUtils.isFunction)(backgroundColor) ? backgroundColor(theme) : backgroundColor,
|
|
40
|
+
...rest
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
var _default = Box;
|
|
45
|
+
exports.default = _default;
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Box","style","children","props","boxStyle","useBoxStyle","theme","useUIKitTheme","backgroundColor","rest","isFunction"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewProps, ViewStyle } from 'react-native';\n\nimport { isFunction } from '@sendbird/uikit-utils';\n\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { UIKitColors, UIKitPalette } from '../../types';\n\ntype BaseBoxProps = Pick<\n ViewStyle,\n | 'flex'\n | 'flexShrink'\n | 'flexGrow'\n | 'flexDirection'\n | 'alignItems'\n | 'justifyContent'\n | 'borderRadius'\n | 'borderWidth'\n | 'borderColor'\n | 'borderBottomColor'\n | 'borderBottomWidth'\n | 'margin'\n | 'marginHorizontal'\n | 'marginVertical'\n | 'marginLeft'\n | 'marginRight'\n | 'marginTop'\n | 'marginBottom'\n | 'padding'\n | 'paddingHorizontal'\n | 'paddingVertical'\n | 'paddingLeft'\n | 'paddingRight'\n | 'paddingTop'\n | 'paddingBottom'\n | 'overflow'\n | 'width'\n | 'height'\n> & {\n backgroundColor?: string | ((theme: { colors: UIKitColors; palette: UIKitPalette }) => string);\n};\n\ntype BoxProps = BaseBoxProps & ViewProps;\nconst Box = ({ style, children, ...props }: BoxProps) => {\n const boxStyle = useBoxStyle(props);\n\n return (\n <View style={[boxStyle, style]} {...props}>\n {children}\n </View>\n );\n};\n\nconst useBoxStyle = (props: BaseBoxProps): StyleProp<ViewStyle> => {\n const theme = useUIKitTheme();\n\n const { backgroundColor, ...rest } = props;\n\n return {\n backgroundColor: isFunction(backgroundColor) ? backgroundColor(theme) : backgroundColor,\n ...rest,\n };\n};\n\nexport default Box;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;;;;;AAsCA,MAAMA,GAAG,GAAG,QAA6C;EAAA,IAA5C;IAAEC,KAAF;IAASC,QAAT;IAAmB,GAAGC;EAAtB,CAA4C;EACvD,MAAMC,QAAQ,GAAGC,WAAW,CAACF,KAAD,CAA5B;EAEA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAE,CAACC,QAAD,EAAWH,KAAX;EAAb,GAAoCE,KAApC,GACGD,QADH,CADF;AAKD,CARD;;AAUA,MAAMG,WAAW,GAAIF,KAAD,IAA+C;EACjE,MAAMG,KAAK,GAAG,IAAAC,sBAAA,GAAd;EAEA,MAAM;IAAEC,eAAF;IAAmB,GAAGC;EAAtB,IAA+BN,KAArC;EAEA,OAAO;IACLK,eAAe,EAAE,IAAAE,sBAAA,EAAWF,eAAX,IAA8BA,eAAe,CAACF,KAAD,CAA7C,GAAuDE,eADnE;IAEL,GAAGC;EAFE,CAAP;AAID,CATD;;eAWeT,G"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
13
|
+
|
|
14
|
+
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
|
|
15
|
+
|
|
16
|
+
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
17
|
+
|
|
18
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
|
19
|
+
|
|
20
|
+
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
21
|
+
|
|
22
|
+
var _Image = _interopRequireDefault(require("../Image"));
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
const useRetry = function (hasError) {
|
|
31
|
+
let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
|
|
32
|
+
if (_reactNative.Platform.OS === 'android') return '';
|
|
33
|
+
const forceUpdate = (0, _uikitUtils.useForceUpdate)();
|
|
34
|
+
const retryCountRef = (0, _react.useRef)(1);
|
|
35
|
+
const retryTimeoutRef = (0, _react.useRef)();
|
|
36
|
+
(0, _react.useEffect)(() => {
|
|
37
|
+
if (hasError) {
|
|
38
|
+
const reloadReservation = () => {
|
|
39
|
+
if (retryCountRef.current < retryCount) {
|
|
40
|
+
retryTimeoutRef.current = setTimeout(() => {
|
|
41
|
+
retryCountRef.current++;
|
|
42
|
+
reloadReservation();
|
|
43
|
+
forceUpdate();
|
|
44
|
+
}, retryCountRef.current * 5000);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
return reloadReservation();
|
|
49
|
+
} else {
|
|
50
|
+
return clearTimeout(retryTimeoutRef.current);
|
|
51
|
+
}
|
|
52
|
+
}, [hasError]);
|
|
53
|
+
return retryCountRef.current;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const ImageWithPlaceholder = props => {
|
|
57
|
+
const {
|
|
58
|
+
colors
|
|
59
|
+
} = (0, _useUIKitTheme.default)();
|
|
60
|
+
const [imageNotFound, setImageNotFound] = (0, _react.useState)(false);
|
|
61
|
+
const key = useRetry(imageNotFound);
|
|
62
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
63
|
+
style: [{
|
|
64
|
+
overflow: 'hidden',
|
|
65
|
+
width: props.width,
|
|
66
|
+
height: props.height
|
|
67
|
+
}, props.style],
|
|
68
|
+
backgroundColor: colors.onBackground04
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_Image.default, {
|
|
70
|
+
key: key,
|
|
71
|
+
source: props.source,
|
|
72
|
+
style: [_reactNative.StyleSheet.absoluteFill, imageNotFound && styles.hide],
|
|
73
|
+
resizeMode: 'cover',
|
|
74
|
+
resizeMethod: 'resize',
|
|
75
|
+
onError: () => setImageNotFound(true),
|
|
76
|
+
onLoad: () => setImageNotFound(false)
|
|
77
|
+
}), imageNotFound && /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
78
|
+
containerStyle: _reactNative.StyleSheet.absoluteFill,
|
|
79
|
+
icon: 'thumbnail-none',
|
|
80
|
+
size: 48,
|
|
81
|
+
color: colors.onBackground02
|
|
82
|
+
}));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
const styles = (0, _createStyleSheet.default)({
|
|
86
|
+
hide: {
|
|
87
|
+
display: 'none'
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
var _default = ImageWithPlaceholder;
|
|
91
|
+
exports.default = _default;
|
|
92
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useRetry","hasError","retryCount","Platform","OS","forceUpdate","useForceUpdate","retryCountRef","useRef","retryTimeoutRef","useEffect","reloadReservation","current","setTimeout","clearTimeout","ImageWithPlaceholder","props","colors","useUIKitTheme","imageNotFound","setImageNotFound","useState","key","overflow","width","height","style","onBackground04","source","StyleSheet","absoluteFill","styles","hide","onBackground02","createStyleSheet","display"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Platform, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Box from '../Box';\nimport Icon from '../Icon';\nimport Image from '../Image';\n\nconst useRetry = (hasError: boolean, retryCount = 5) => {\n if (Platform.OS === 'android') return '';\n\n const forceUpdate = useForceUpdate();\n const retryCountRef = useRef(1);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n if (hasError) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n forceUpdate();\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [hasError]);\n\n return retryCountRef.current;\n};\n\ntype Props = {\n source: number | { uri: string };\n width?: number | string;\n height?: number | string;\n style?: StyleProp<ViewStyle>;\n};\nconst ImageWithPlaceholder = (props: Props) => {\n const { colors } = useUIKitTheme();\n const [imageNotFound, setImageNotFound] = useState(false);\n\n const key = useRetry(imageNotFound);\n return (\n <Box\n style={[{ overflow: 'hidden', width: props.width, height: props.height }, props.style]}\n backgroundColor={colors.onBackground04}\n >\n <Image\n key={key}\n source={props.source}\n style={[StyleSheet.absoluteFill, imageNotFound && styles.hide]}\n resizeMode={'cover'}\n resizeMethod={'resize'}\n onError={() => setImageNotFound(true)}\n onLoad={() => setImageNotFound(false)}\n />\n {imageNotFound && (\n <Icon\n containerStyle={StyleSheet.absoluteFill}\n icon={'thumbnail-none'}\n size={48}\n color={colors.onBackground02}\n />\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n hide: {\n display: 'none',\n },\n});\n\nexport default ImageWithPlaceholder;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,UAACC,QAAD,EAAuC;EAAA,IAAnBC,UAAmB,uEAAN,CAAM;EACtD,IAAIC,qBAAA,CAASC,EAAT,KAAgB,SAApB,EAA+B,OAAO,EAAP;EAE/B,MAAMC,WAAW,GAAG,IAAAC,0BAAA,GAApB;EACA,MAAMC,aAAa,GAAG,IAAAC,aAAA,EAAO,CAAP,CAAtB;EACA,MAAMC,eAAe,GAAG,IAAAD,aAAA,GAAxB;EAEA,IAAAE,gBAAA,EAAU,MAAM;IACd,IAAIT,QAAJ,EAAc;MACZ,MAAMU,iBAAiB,GAAG,MAAM;QAC9B,IAAIJ,aAAa,CAACK,OAAd,GAAwBV,UAA5B,EAAwC;UACtCO,eAAe,CAACG,OAAhB,GAA0BC,UAAU,CAAC,MAAM;YACzCN,aAAa,CAACK,OAAd;YACAD,iBAAiB;YACjBN,WAAW;UACZ,CAJmC,EAIjCE,aAAa,CAACK,OAAd,GAAwB,IAJS,CAApC;QAKD;MACF,CARD;;MAUA,OAAOD,iBAAiB,EAAxB;IACD,CAZD,MAYO;MACL,OAAOG,YAAY,CAACL,eAAe,CAACG,OAAjB,CAAnB;IACD;EACF,CAhBD,EAgBG,CAACX,QAAD,CAhBH;EAkBA,OAAOM,aAAa,CAACK,OAArB;AACD,CA1BD;;AAkCA,MAAMG,oBAAoB,GAAIC,KAAD,IAAkB;EAC7C,MAAM;IAAEC;EAAF,IAAa,IAAAC,sBAAA,GAAnB;EACA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,IAAoC,IAAAC,eAAA,EAAS,KAAT,CAA1C;EAEA,MAAMC,GAAG,GAAGtB,QAAQ,CAACmB,aAAD,CAApB;EACA,oBACE,6BAAC,YAAD;IACE,KAAK,EAAE,CAAC;MAAEI,QAAQ,EAAE,QAAZ;MAAsBC,KAAK,EAAER,KAAK,CAACQ,KAAnC;MAA0CC,MAAM,EAAET,KAAK,CAACS;IAAxD,CAAD,EAAmET,KAAK,CAACU,KAAzE,CADT;IAEE,eAAe,EAAET,MAAM,CAACU;EAF1B,gBAIE,6BAAC,cAAD;IACE,GAAG,EAAEL,GADP;IAEE,MAAM,EAAEN,KAAK,CAACY,MAFhB;IAGE,KAAK,EAAE,CAACC,uBAAA,CAAWC,YAAZ,EAA0BX,aAAa,IAAIY,MAAM,CAACC,IAAlD,CAHT;IAIE,UAAU,EAAE,OAJd;IAKE,YAAY,EAAE,QALhB;IAME,OAAO,EAAE,MAAMZ,gBAAgB,CAAC,IAAD,CANjC;IAOE,MAAM,EAAE,MAAMA,gBAAgB,CAAC,KAAD;EAPhC,EAJF,EAaGD,aAAa,iBACZ,6BAAC,aAAD;IACE,cAAc,EAAEU,uBAAA,CAAWC,YAD7B;IAEE,IAAI,EAAE,gBAFR;IAGE,IAAI,EAAE,EAHR;IAIE,KAAK,EAAEb,MAAM,CAACgB;EAJhB,EAdJ,CADF;AAwBD,CA7BD;;AA+BA,MAAMF,MAAM,GAAG,IAAAG,yBAAA,EAAiB;EAC9BF,IAAI,EAAE;IACJG,OAAO,EAAE;EADL;AADwB,CAAjB,CAAf;eAMepB,oB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.DEFAULT_LONG_PRESS_DELAY = void 0;
|
|
7
|
+
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
const DEFAULT_LONG_PRESS_DELAY = 350;
|
|
21
|
+
exports.DEFAULT_LONG_PRESS_DELAY = DEFAULT_LONG_PRESS_DELAY;
|
|
22
|
+
|
|
23
|
+
const PressBox = props => {
|
|
24
|
+
if (props.activeOpacity && props.activeOpacity < 1) return /*#__PURE__*/React.createElement(PressBoxWithTouchableOpacity, props);
|
|
25
|
+
return /*#__PURE__*/React.createElement(PressBoxWithPressable, props);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const PressBoxWithPressable = _ref => {
|
|
29
|
+
let {
|
|
30
|
+
children,
|
|
31
|
+
...props
|
|
32
|
+
} = _ref;
|
|
33
|
+
return /*#__PURE__*/React.createElement(_reactNative.Pressable, _extends({
|
|
34
|
+
disabled: !props.onPress && !props.onLongPress,
|
|
35
|
+
delayLongPress: DEFAULT_LONG_PRESS_DELAY
|
|
36
|
+
}, props), state => (0, _uikitUtils.isFunction)(children) ? children(state) : children);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const PressBoxWithTouchableOpacity = _ref2 => {
|
|
40
|
+
let {
|
|
41
|
+
children,
|
|
42
|
+
style,
|
|
43
|
+
...props
|
|
44
|
+
} = _ref2;
|
|
45
|
+
const [pressed, setPressed] = (0, React.useState)(false);
|
|
46
|
+
const state = {
|
|
47
|
+
pressed
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, _extends({
|
|
50
|
+
disabled: !props.onPress && !props.onLongPress,
|
|
51
|
+
delayLongPress: DEFAULT_LONG_PRESS_DELAY,
|
|
52
|
+
style: (0, _uikitUtils.isFunction)(style) ? style(state) : style,
|
|
53
|
+
onPressIn: () => setPressed(true),
|
|
54
|
+
onPressOut: () => setPressed(false)
|
|
55
|
+
}, props), (0, _uikitUtils.isFunction)(children) ? children(state) : children);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
var _default = PressBox;
|
|
59
|
+
exports.default = _default;
|
|
60
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_LONG_PRESS_DELAY","PressBox","props","activeOpacity","PressBoxWithPressable","children","onPress","onLongPress","state","isFunction","PressBoxWithTouchableOpacity","style","pressed","setPressed","useState"],"sources":["index.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useState } from 'react';\nimport type { GestureResponderEvent, StyleProp, ViewStyle } from 'react-native';\nimport { Pressable, TouchableOpacity } from 'react-native';\n\nimport { isFunction } from '@sendbird/uikit-utils';\n\ntype PressBoxStateParams = {\n pressed: boolean;\n};\n\ntype Props = {\n onPress?: (event: GestureResponderEvent) => void;\n onLongPress?: (event: GestureResponderEvent) => void;\n delayLongPress?: number;\n activeOpacity?: number;\n style?: StyleProp<ViewStyle> | ((state: PressBoxStateParams) => StyleProp<ViewStyle>);\n children?: React.ReactNode | ((params: PressBoxStateParams) => React.ReactNode);\n};\n\nexport const DEFAULT_LONG_PRESS_DELAY = 350;\n\nconst PressBox = (props: Props) => {\n if (props.activeOpacity && props.activeOpacity < 1) return <PressBoxWithTouchableOpacity {...props} />;\n return <PressBoxWithPressable {...props} />;\n};\n\nconst PressBoxWithPressable = ({ children, ...props }: Props) => {\n return (\n <Pressable disabled={!props.onPress && !props.onLongPress} delayLongPress={DEFAULT_LONG_PRESS_DELAY} {...props}>\n {(state) => (isFunction(children) ? children(state) : children)}\n </Pressable>\n );\n};\n\nconst PressBoxWithTouchableOpacity = ({ children, style, ...props }: Props) => {\n const [pressed, setPressed] = useState(false);\n const state: PressBoxStateParams = { pressed };\n return (\n <TouchableOpacity\n disabled={!props.onPress && !props.onLongPress}\n delayLongPress={DEFAULT_LONG_PRESS_DELAY}\n style={isFunction(style) ? style(state) : style}\n onPressIn={() => setPressed(true)}\n onPressOut={() => setPressed(false)}\n {...props}\n >\n {isFunction(children) ? children(state) : children}\n </TouchableOpacity>\n );\n};\n\nexport default PressBox;\n"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA;;;;;;;;AAeO,MAAMA,wBAAwB,GAAG,GAAjC;;;AAEP,MAAMC,QAAQ,GAAIC,KAAD,IAAkB;EACjC,IAAIA,KAAK,CAACC,aAAN,IAAuBD,KAAK,CAACC,aAAN,GAAsB,CAAjD,EAAoD,oBAAO,oBAAC,4BAAD,EAAkCD,KAAlC,CAAP;EACpD,oBAAO,oBAAC,qBAAD,EAA2BA,KAA3B,CAAP;AACD,CAHD;;AAKA,MAAME,qBAAqB,GAAG,QAAmC;EAAA,IAAlC;IAAEC,QAAF;IAAY,GAAGH;EAAf,CAAkC;EAC/D,oBACE,oBAAC,sBAAD;IAAW,QAAQ,EAAE,CAACA,KAAK,CAACI,OAAP,IAAkB,CAACJ,KAAK,CAACK,WAA9C;IAA2D,cAAc,EAAEP;EAA3E,GAAyGE,KAAzG,GACIM,KAAD,IAAY,IAAAC,sBAAA,EAAWJ,QAAX,IAAuBA,QAAQ,CAACG,KAAD,CAA/B,GAAyCH,QADxD,CADF;AAKD,CAND;;AAQA,MAAMK,4BAA4B,GAAG,SAA0C;EAAA,IAAzC;IAAEL,QAAF;IAAYM,KAAZ;IAAmB,GAAGT;EAAtB,CAAyC;EAC7E,MAAM,CAACU,OAAD,EAAUC,UAAV,IAAwB,IAAAC,cAAA,EAAS,KAAT,CAA9B;EACA,MAAMN,KAA0B,GAAG;IAAEI;EAAF,CAAnC;EACA,oBACE,oBAAC,6BAAD;IACE,QAAQ,EAAE,CAACV,KAAK,CAACI,OAAP,IAAkB,CAACJ,KAAK,CAACK,WADrC;IAEE,cAAc,EAAEP,wBAFlB;IAGE,KAAK,EAAE,IAAAS,sBAAA,EAAWE,KAAX,IAAoBA,KAAK,CAACH,KAAD,CAAzB,GAAmCG,KAH5C;IAIE,SAAS,EAAE,MAAME,UAAU,CAAC,IAAD,CAJ7B;IAKE,UAAU,EAAE,MAAMA,UAAU,CAAC,KAAD;EAL9B,GAMMX,KANN,GAQG,IAAAO,sBAAA,EAAWJ,QAAX,IAAuBA,QAAQ,CAACG,KAAD,CAA/B,GAAyCH,QAR5C,CADF;AAYD,CAfD;;eAiBeJ,Q"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "BottomSheet", {
|
|
|
33
33
|
return _BottomSheet.default;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "Box", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _Box.default;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
36
42
|
Object.defineProperty(exports, "Button", {
|
|
37
43
|
enumerable: true,
|
|
38
44
|
get: function () {
|
|
@@ -105,6 +111,12 @@ Object.defineProperty(exports, "Image", {
|
|
|
105
111
|
return _Image.default;
|
|
106
112
|
}
|
|
107
113
|
});
|
|
114
|
+
Object.defineProperty(exports, "ImageWithPlaceholder", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function () {
|
|
117
|
+
return _ImageWithPlaceholder.default;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
108
120
|
Object.defineProperty(exports, "LightUIKitTheme", {
|
|
109
121
|
enumerable: true,
|
|
110
122
|
get: function () {
|
|
@@ -123,16 +135,22 @@ Object.defineProperty(exports, "MenuBar", {
|
|
|
123
135
|
return _MenuBar.default;
|
|
124
136
|
}
|
|
125
137
|
});
|
|
126
|
-
Object.defineProperty(exports, "
|
|
138
|
+
Object.defineProperty(exports, "Modal", {
|
|
127
139
|
enumerable: true,
|
|
128
140
|
get: function () {
|
|
129
|
-
return
|
|
141
|
+
return _Modal.default;
|
|
130
142
|
}
|
|
131
143
|
});
|
|
132
|
-
Object.defineProperty(exports, "
|
|
144
|
+
Object.defineProperty(exports, "OpenChannelMessage", {
|
|
133
145
|
enumerable: true,
|
|
134
146
|
get: function () {
|
|
135
|
-
return
|
|
147
|
+
return _OpenChannelMessage.default;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(exports, "OpenChannelPreview", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function () {
|
|
153
|
+
return _OpenChannelPreview.default;
|
|
136
154
|
}
|
|
137
155
|
});
|
|
138
156
|
Object.defineProperty(exports, "OutlinedButton", {
|
|
@@ -153,6 +171,12 @@ Object.defineProperty(exports, "Placeholder", {
|
|
|
153
171
|
return _Placeholder.default;
|
|
154
172
|
}
|
|
155
173
|
});
|
|
174
|
+
Object.defineProperty(exports, "PressBox", {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
get: function () {
|
|
177
|
+
return _PressBox.default;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
156
180
|
Object.defineProperty(exports, "ProfileCard", {
|
|
157
181
|
enumerable: true,
|
|
158
182
|
get: function () {
|
|
@@ -300,14 +324,20 @@ Object.defineProperty(exports, "useUIKitTheme", {
|
|
|
300
324
|
|
|
301
325
|
var _icon = _interopRequireDefault(require("./assets/icon"));
|
|
302
326
|
|
|
327
|
+
var _Box = _interopRequireDefault(require("./components/Box"));
|
|
328
|
+
|
|
303
329
|
var _Divider = _interopRequireDefault(require("./components/Divider"));
|
|
304
330
|
|
|
305
331
|
var _Icon = _interopRequireDefault(require("./components/Icon"));
|
|
306
332
|
|
|
307
333
|
var _Image = _interopRequireDefault(require("./components/Image"));
|
|
308
334
|
|
|
335
|
+
var _ImageWithPlaceholder = _interopRequireDefault(require("./components/ImageWithPlaceholder"));
|
|
336
|
+
|
|
309
337
|
var _Modal = _interopRequireDefault(require("./components/Modal"));
|
|
310
338
|
|
|
339
|
+
var _PressBox = _interopRequireDefault(require("./components/PressBox"));
|
|
340
|
+
|
|
311
341
|
var _RegexText = _interopRequireDefault(require("./components/RegexText"));
|
|
312
342
|
|
|
313
343
|
var _Switch = _interopRequireDefault(require("./components/Switch"));
|
|
@@ -340,7 +370,11 @@ var _Header = _interopRequireDefault(require("./ui/Header"));
|
|
|
340
370
|
|
|
341
371
|
var _LoadingSpinner = _interopRequireDefault(require("./ui/LoadingSpinner"));
|
|
342
372
|
|
|
343
|
-
var _MenuBar =
|
|
373
|
+
var _MenuBar = _interopRequireDefault(require("./ui/MenuBar"));
|
|
374
|
+
|
|
375
|
+
var _OpenChannelMessage = _interopRequireDefault(require("./ui/OpenChannelMessage"));
|
|
376
|
+
|
|
377
|
+
var _OpenChannelPreview = _interopRequireDefault(require("./ui/OpenChannelPreview"));
|
|
344
378
|
|
|
345
379
|
var _OutlinedButton = _interopRequireDefault(require("./ui/OutlinedButton"));
|
|
346
380
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["/** Assets **/\nexport { default as IconAssets } from './assets/icon';\n\n/** Component **/\nexport { default as Divider } from './components/Divider';\nexport { default as Icon } from './components/Icon';\nexport { default as Image } from './components/Image';\nexport { default as Modal } from './components/Modal';\nexport { default as RegexText } from './components/RegexText';\nexport { default as Switch } from './components/Switch';\nexport { default as Text } from './components/Text';\nexport { default as TextInput } from './components/TextInput';\nexport { default as URLParsedText } from './components/URLParsedText';\n\n/** UI **/\nexport { default as ActionMenu } from './ui/ActionMenu';\nexport { default as Alert } from './ui/Alert';\nexport { default as Avatar } from './ui/Avatar';\nexport { default as Badge } from './ui/Badge';\nexport { default as BottomSheet } from './ui/BottomSheet';\nexport { default as Button } from './ui/Button';\nexport { default as ChannelFrozenBanner } from './ui/ChannelFrozenBanner';\nexport { DialogProvider, useActionMenu, useAlert, usePrompt, useBottomSheet } from './ui/Dialog';\nexport { default as GroupChannelPreview } from './ui/GroupChannelPreview';\nexport { default as Header } from './ui/Header';\nexport { default as LoadingSpinner } from './ui/LoadingSpinner';\nexport { default as MenuBar
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["/** Assets **/\nexport { default as IconAssets } from './assets/icon';\n\n/** Component **/\nexport { default as Box } from './components/Box';\nexport { default as Divider } from './components/Divider';\nexport { default as Icon } from './components/Icon';\nexport { default as Image } from './components/Image';\nexport { default as ImageWithPlaceholder } from './components/ImageWithPlaceholder';\nexport { default as Modal } from './components/Modal';\nexport { default as PressBox } from './components/PressBox';\nexport { default as RegexText } from './components/RegexText';\nexport { default as Switch } from './components/Switch';\nexport { default as Text } from './components/Text';\nexport { default as TextInput } from './components/TextInput';\nexport { default as URLParsedText } from './components/URLParsedText';\n\n/** UI **/\nexport { default as ActionMenu } from './ui/ActionMenu';\nexport { default as Alert } from './ui/Alert';\nexport { default as Avatar } from './ui/Avatar';\nexport { default as Badge } from './ui/Badge';\nexport { default as BottomSheet } from './ui/BottomSheet';\nexport { default as Button } from './ui/Button';\nexport { default as ChannelFrozenBanner } from './ui/ChannelFrozenBanner';\nexport { DialogProvider, useActionMenu, useAlert, usePrompt, useBottomSheet } from './ui/Dialog';\nexport { default as GroupChannelPreview } from './ui/GroupChannelPreview';\nexport { default as Header } from './ui/Header';\nexport { default as LoadingSpinner } from './ui/LoadingSpinner';\nexport { default as MenuBar } from './ui/MenuBar';\nexport type { MenuBarProps } from './ui/MenuBar';\nexport { default as OpenChannelMessage } from './ui/OpenChannelMessage';\nexport type { OpenChannelMessageProps } from './ui/OpenChannelMessage';\nexport { default as OpenChannelPreview } from './ui/OpenChannelPreview';\nexport { default as OutlinedButton } from './ui/OutlinedButton';\nexport { default as Placeholder } from './ui/Placeholder';\nexport { default as ProfileCard } from './ui/ProfileCard';\nexport { default as Prompt } from './ui/Prompt';\nexport { default as Toast, useToast, ToastProvider } from './ui/Toast';\n\n/** Styles **/\nexport { default as createSelectByColorScheme } from './styles/createSelectByColorScheme';\nexport { default as createScaleFactor } from './styles/createScaleFactor';\nexport { default as createStyleSheet } from './styles/createStyleSheet';\nexport { default as createTypography } from './styles/createTypography';\nexport { default as getDefaultHeaderHeight } from './styles/getDefaultHeaderHeight';\nexport { HeaderStyleContext, HeaderStyleProvider } from './styles/HeaderStyleContext';\nexport { default as useHeaderStyle } from './styles/useHeaderStyle';\n\n/** Theme **/\nexport { default as createTheme } from './theme/createTheme';\nexport { default as DarkUIKitTheme } from './theme/DarkUIKitTheme';\nexport { default as LightUIKitTheme } from './theme/LightUIKitTheme';\nexport { default as Palette } from './theme/Palette';\nexport { default as UIKitThemeContext } from './theme/UIKitThemeContext';\nexport { default as UIKitThemeProvider } from './theme/UIKitThemeProvider';\nexport { default as useUIKitTheme } from './theme/useUIKitTheme';\n\n/** Types **/\nexport type {\n TypoName,\n UIKitTheme,\n UIKitTypography,\n FontAttributes,\n BaseHeaderProps,\n UIKitColorScheme,\n UIKitColors,\n ComponentColorTree,\n UIKitPalette,\n HeaderElement,\n HeaderPartProps,\n ComponentColors,\n Component,\n GetColorTree,\n} from './types';\nexport type { ActionMenuItem } from './ui/ActionMenu';\nexport type { BottomSheetItem } from './ui/BottomSheet';\nexport type { UIKitTypographyOverrides } from './styles/createTypography';\nexport type { HeaderStyleContextType } from './styles/HeaderStyleContext';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
|