@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.
Files changed (105) hide show
  1. package/lib/commonjs/components/Box/index.js +46 -0
  2. package/lib/commonjs/components/Box/index.js.map +1 -0
  3. package/lib/commonjs/components/ImageWithPlaceholder/index.js +92 -0
  4. package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -0
  5. package/lib/commonjs/components/PressBox/index.js +60 -0
  6. package/lib/commonjs/components/PressBox/index.js.map +1 -0
  7. package/lib/commonjs/index.js +39 -5
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/theme/DarkUIKitTheme.js +220 -179
  10. package/lib/commonjs/theme/DarkUIKitTheme.js.map +1 -1
  11. package/lib/commonjs/theme/LightUIKitTheme.js +220 -179
  12. package/lib/commonjs/theme/LightUIKitTheme.js.map +1 -1
  13. package/lib/commonjs/types.js.map +1 -1
  14. package/lib/commonjs/ui/Header/index.js +4 -2
  15. package/lib/commonjs/ui/Header/index.js.map +1 -1
  16. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js +40 -0
  17. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js.map +1 -0
  18. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js +57 -0
  19. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js.map +1 -0
  20. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js +90 -0
  21. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js.map +1 -0
  22. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js +134 -0
  23. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js.map +1 -0
  24. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js +55 -0
  25. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js.map +1 -0
  26. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +83 -0
  27. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -0
  28. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +140 -0
  29. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -0
  30. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js +136 -0
  31. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js.map +1 -0
  32. package/lib/commonjs/ui/OpenChannelMessage/index.js +35 -0
  33. package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -0
  34. package/lib/commonjs/ui/OpenChannelPreview/index.js +134 -0
  35. package/lib/commonjs/ui/OpenChannelPreview/index.js.map +1 -0
  36. package/lib/module/components/Box/index.js +33 -0
  37. package/lib/module/components/Box/index.js.map +1 -0
  38. package/lib/module/components/ImageWithPlaceholder/index.js +71 -0
  39. package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -0
  40. package/lib/module/components/PressBox/index.js +45 -0
  41. package/lib/module/components/PressBox/index.js.map +1 -0
  42. package/lib/module/index.js +6 -1
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/theme/DarkUIKitTheme.js +220 -179
  45. package/lib/module/theme/DarkUIKitTheme.js.map +1 -1
  46. package/lib/module/theme/LightUIKitTheme.js +220 -179
  47. package/lib/module/theme/LightUIKitTheme.js.map +1 -1
  48. package/lib/module/types.js.map +1 -1
  49. package/lib/module/ui/Header/index.js +4 -2
  50. package/lib/module/ui/Header/index.js.map +1 -1
  51. package/lib/module/ui/OpenChannelMessage/Message.admin.js +27 -0
  52. package/lib/module/ui/OpenChannelMessage/Message.admin.js.map +1 -0
  53. package/lib/module/ui/OpenChannelMessage/Message.file.image.js +41 -0
  54. package/lib/module/ui/OpenChannelMessage/Message.file.image.js.map +1 -0
  55. package/lib/module/ui/OpenChannelMessage/Message.file.js +71 -0
  56. package/lib/module/ui/OpenChannelMessage/Message.file.js.map +1 -0
  57. package/lib/module/ui/OpenChannelMessage/Message.file.video.js +112 -0
  58. package/lib/module/ui/OpenChannelMessage/Message.file.video.js.map +1 -0
  59. package/lib/module/ui/OpenChannelMessage/Message.unknown.js +41 -0
  60. package/lib/module/ui/OpenChannelMessage/Message.unknown.js.map +1 -0
  61. package/lib/module/ui/OpenChannelMessage/Message.user.js +67 -0
  62. package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -0
  63. package/lib/module/ui/OpenChannelMessage/Message.user.og.js +121 -0
  64. package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -0
  65. package/lib/module/ui/OpenChannelMessage/MessageContainer.js +116 -0
  66. package/lib/module/ui/OpenChannelMessage/MessageContainer.js.map +1 -0
  67. package/lib/module/ui/OpenChannelMessage/index.js +18 -0
  68. package/lib/module/ui/OpenChannelMessage/index.js.map +1 -0
  69. package/lib/module/ui/OpenChannelPreview/index.js +117 -0
  70. package/lib/module/ui/OpenChannelPreview/index.js.map +1 -0
  71. package/lib/typescript/src/components/Box/index.d.ts +11 -0
  72. package/lib/typescript/src/components/ImageWithPlaceholder/index.d.ts +11 -0
  73. package/lib/typescript/src/components/PressBox/index.d.ts +16 -0
  74. package/lib/typescript/src/index.d.ts +8 -1
  75. package/lib/typescript/src/types.d.ts +21 -5
  76. package/lib/typescript/src/ui/Header/index.d.ts +1 -0
  77. package/lib/typescript/src/ui/OpenChannelMessage/Message.admin.d.ts +4 -0
  78. package/lib/typescript/src/ui/OpenChannelMessage/Message.file.d.ts +5 -0
  79. package/lib/typescript/src/ui/OpenChannelMessage/Message.file.image.d.ts +4 -0
  80. package/lib/typescript/src/ui/OpenChannelMessage/Message.file.video.d.ts +9 -0
  81. package/lib/typescript/src/ui/OpenChannelMessage/Message.unknown.d.ts +4 -0
  82. package/lib/typescript/src/ui/OpenChannelMessage/Message.user.d.ts +5 -0
  83. package/lib/typescript/src/ui/OpenChannelMessage/Message.user.og.d.ts +5 -0
  84. package/lib/typescript/src/ui/OpenChannelMessage/MessageContainer.d.ts +7 -0
  85. package/lib/typescript/src/ui/OpenChannelMessage/index.d.ts +136 -0
  86. package/lib/typescript/src/ui/OpenChannelPreview/index.d.ts +10 -0
  87. package/package.json +4 -4
  88. package/src/components/Box/index.tsx +65 -0
  89. package/src/components/ImageWithPlaceholder/index.tsx +83 -0
  90. package/src/components/PressBox/index.tsx +53 -0
  91. package/src/index.ts +8 -1
  92. package/src/theme/DarkUIKitTheme.ts +213 -171
  93. package/src/theme/LightUIKitTheme.ts +213 -171
  94. package/src/types.ts +41 -6
  95. package/src/ui/Header/index.tsx +7 -2
  96. package/src/ui/OpenChannelMessage/Message.admin.tsx +24 -0
  97. package/src/ui/OpenChannelMessage/Message.file.image.tsx +34 -0
  98. package/src/ui/OpenChannelMessage/Message.file.tsx +67 -0
  99. package/src/ui/OpenChannelMessage/Message.file.video.tsx +93 -0
  100. package/src/ui/OpenChannelMessage/Message.unknown.tsx +31 -0
  101. package/src/ui/OpenChannelMessage/Message.user.og.tsx +120 -0
  102. package/src/ui/OpenChannelMessage/Message.user.tsx +61 -0
  103. package/src/ui/OpenChannelMessage/MessageContainer.tsx +121 -0
  104. package/src/ui/OpenChannelMessage/index.ts +42 -0
  105. 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"}
@@ -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, "MenuBarProps", {
138
+ Object.defineProperty(exports, "Modal", {
127
139
  enumerable: true,
128
140
  get: function () {
129
- return _MenuBar.MenuBarProps;
141
+ return _Modal.default;
130
142
  }
131
143
  });
132
- Object.defineProperty(exports, "Modal", {
144
+ Object.defineProperty(exports, "OpenChannelMessage", {
133
145
  enumerable: true,
134
146
  get: function () {
135
- return _Modal.default;
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 = _interopRequireWildcard(require("./ui/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, MenuBarProps } from './ui/MenuBar';\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;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
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"}