@sendbird/uikit-react-native-foundation 2.5.0 → 3.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +4 -0
  2. package/lib/commonjs/components/ImageWithPlaceholder/index.js +7 -1
  3. package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -1
  4. package/lib/commonjs/components/RegexText/index.js.map +1 -1
  5. package/lib/commonjs/index.js +8 -8
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/types.js.map +1 -1
  8. package/lib/commonjs/ui/Avatar/AvatarGroup.js +1 -1
  9. package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +1 -1
  10. package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js +37 -0
  11. package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js.map +1 -0
  12. package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js +54 -0
  13. package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js.map +1 -0
  14. package/lib/commonjs/ui/GroupChannelMessage/Message.file.js +80 -0
  15. package/lib/commonjs/ui/GroupChannelMessage/Message.file.js.map +1 -0
  16. package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js +120 -0
  17. package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js.map +1 -0
  18. package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js +54 -0
  19. package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js.map +1 -0
  20. package/lib/commonjs/ui/GroupChannelMessage/Message.user.js +44 -0
  21. package/lib/commonjs/ui/GroupChannelMessage/Message.user.js.map +1 -0
  22. package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js +59 -0
  23. package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js.map +1 -0
  24. package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js +74 -0
  25. package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -0
  26. package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js +110 -0
  27. package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js.map +1 -0
  28. package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js +91 -0
  29. package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -0
  30. package/lib/commonjs/ui/GroupChannelMessage/index.js +26 -0
  31. package/lib/commonjs/ui/GroupChannelMessage/index.js.map +1 -0
  32. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +1 -1
  33. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -1
  34. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +5 -2
  35. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  36. package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -1
  37. package/lib/module/components/ImageWithPlaceholder/index.js +7 -1
  38. package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -1
  39. package/lib/module/components/RegexText/index.js.map +1 -1
  40. package/lib/module/index.js +2 -2
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/types.js.map +1 -1
  43. package/lib/module/ui/Avatar/AvatarGroup.js +1 -1
  44. package/lib/module/ui/Avatar/AvatarGroup.js.map +1 -1
  45. package/lib/module/ui/GroupChannelMessage/Message.admin.js +29 -0
  46. package/lib/module/ui/GroupChannelMessage/Message.admin.js.map +1 -0
  47. package/lib/module/ui/GroupChannelMessage/Message.file.image.js +46 -0
  48. package/lib/module/ui/GroupChannelMessage/Message.file.image.js.map +1 -0
  49. package/lib/module/ui/GroupChannelMessage/Message.file.js +72 -0
  50. package/lib/module/ui/GroupChannelMessage/Message.file.js.map +1 -0
  51. package/lib/module/ui/GroupChannelMessage/Message.file.video.js +110 -0
  52. package/lib/module/ui/GroupChannelMessage/Message.file.video.js.map +1 -0
  53. package/lib/module/ui/GroupChannelMessage/Message.unknown.js +46 -0
  54. package/lib/module/ui/GroupChannelMessage/Message.unknown.js.map +1 -0
  55. package/lib/module/ui/GroupChannelMessage/Message.user.js +36 -0
  56. package/lib/module/ui/GroupChannelMessage/Message.user.js.map +1 -0
  57. package/lib/module/ui/GroupChannelMessage/Message.user.og.js +51 -0
  58. package/lib/module/ui/GroupChannelMessage/Message.user.og.js.map +1 -0
  59. package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js +66 -0
  60. package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -0
  61. package/lib/module/ui/GroupChannelMessage/MessageContainer.js +102 -0
  62. package/lib/module/ui/GroupChannelMessage/MessageContainer.js.map +1 -0
  63. package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js +83 -0
  64. package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -0
  65. package/lib/module/ui/GroupChannelMessage/index.js +18 -0
  66. package/lib/module/ui/GroupChannelMessage/index.js.map +1 -0
  67. package/lib/module/ui/OpenChannelMessage/Message.user.js +1 -1
  68. package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -1
  69. package/lib/module/ui/OpenChannelMessage/Message.user.og.js +5 -2
  70. package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  71. package/lib/module/ui/OpenChannelMessage/index.js.map +1 -1
  72. package/lib/typescript/src/components/RegexText/index.d.ts +2 -2
  73. package/lib/typescript/src/index.d.ts +4 -2
  74. package/lib/typescript/src/types.d.ts +1 -9
  75. package/lib/typescript/src/ui/GroupChannelMessage/Message.admin.d.ts +4 -0
  76. package/lib/typescript/src/ui/GroupChannelMessage/Message.file.d.ts +5 -0
  77. package/lib/typescript/src/ui/GroupChannelMessage/Message.file.image.d.ts +4 -0
  78. package/lib/typescript/src/ui/GroupChannelMessage/Message.file.video.d.ts +9 -0
  79. package/lib/typescript/src/ui/GroupChannelMessage/Message.unknown.d.ts +4 -0
  80. package/lib/typescript/src/ui/GroupChannelMessage/Message.user.d.ts +9 -0
  81. package/lib/typescript/src/ui/GroupChannelMessage/Message.user.og.d.ts +9 -0
  82. package/lib/typescript/src/ui/GroupChannelMessage/MessageBubbleWithText.d.ts +10 -0
  83. package/lib/typescript/src/ui/GroupChannelMessage/MessageContainer.d.ts +9 -0
  84. package/lib/typescript/src/ui/GroupChannelMessage/MessageOpenGraph.d.ts +8 -0
  85. package/lib/typescript/src/ui/GroupChannelMessage/index.d.ts +191 -0
  86. package/lib/typescript/src/ui/OpenChannelMessage/index.d.ts +7 -7
  87. package/package.json +5 -6
  88. package/src/components/ImageWithPlaceholder/index.tsx +3 -2
  89. package/src/components/RegexText/index.tsx +2 -2
  90. package/src/index.ts +5 -2
  91. package/src/types.ts +1 -11
  92. package/src/ui/Avatar/AvatarGroup.tsx +1 -1
  93. package/src/ui/GroupChannelMessage/Message.admin.tsx +34 -0
  94. package/src/ui/GroupChannelMessage/Message.file.image.tsx +45 -0
  95. package/src/ui/GroupChannelMessage/Message.file.tsx +70 -0
  96. package/src/ui/GroupChannelMessage/Message.file.video.tsx +106 -0
  97. package/src/ui/GroupChannelMessage/Message.unknown.tsx +47 -0
  98. package/src/ui/GroupChannelMessage/Message.user.og.tsx +62 -0
  99. package/src/ui/GroupChannelMessage/Message.user.tsx +49 -0
  100. package/src/ui/GroupChannelMessage/MessageBubbleWithText.tsx +80 -0
  101. package/src/ui/GroupChannelMessage/MessageContainer.tsx +106 -0
  102. package/src/ui/GroupChannelMessage/MessageOpenGraph.tsx +84 -0
  103. package/src/ui/GroupChannelMessage/index.ts +48 -0
  104. package/src/ui/OpenChannelMessage/Message.user.og.tsx +6 -2
  105. package/src/ui/OpenChannelMessage/Message.user.tsx +1 -1
  106. package/src/ui/OpenChannelMessage/index.ts +1 -1
  107. package/lib/commonjs/components/URLParsedText/index.js +0 -46
  108. package/lib/commonjs/components/URLParsedText/index.js.map +0 -1
  109. package/lib/module/components/URLParsedText/index.js +0 -38
  110. package/lib/module/components/URLParsedText/index.js.map +0 -1
  111. package/lib/typescript/src/components/URLParsedText/index.d.ts +0 -8
  112. package/src/components/URLParsedText/index.tsx +0 -50
@@ -1 +1 @@
1
- {"version":3,"names":["React","urlRegexStrict","PressBox","RegexText","Text","useUIKitTheme","MessageContainer","UserMessage","props","colors","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","createElement","_ref","_props$strings","pressed","_extends","body3","enabled","textMsg","patterns","regex","replacer","_ref2","match","parentProps","keyPrefix","index","key","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited"],"sources":["Message.user.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexStrict } from '@sendbird/uikit-utils';\n\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst UserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexStrict,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={onPressURL}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n );\n};\n\nexport default UserMessage;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,OAAOC,QAAQ,MAAM,2BAA2B;AAChD,OAAOC,SAAS,MAAM,4BAA4B;AAClD,OAAOC,IAAI,MAAM,uBAAuB;AACxC,OAAOC,aAAa,MAAM,2BAA2B;AACrD,OAAOC,gBAAgB,MAAM,oBAAoB;AAIjD,MAAMC,WAAW,GAAIC,KAA0D,IAAK;EAClF,MAAM;IAAEC;EAAO,CAAC,GAAGJ,aAAa,EAAE;EAClC,MAAM;IAAEK,OAAO;IAAEC,WAAW;IAAEC,UAAU;IAAE,GAAGC;EAAK,CAAC,GAAGL,KAAK;EAC3D,MAAMM,KAAK,GAAGL,MAAM,CAACM,EAAE,CAACC,kBAAkB,CAACC,OAAO;EAElD,oBACEjB,KAAA,CAAAkB,aAAA,CAAChB,QAAQ;IAACQ,OAAO,EAAEA,OAAQ;IAACC,WAAW,EAAEA;EAAY,GAClDQ,IAAA;IAAA,IAAAC,cAAA;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAF,IAAA;IAAA,oBACXnB,KAAA,CAAAkB,aAAA,CAACZ,gBAAgB,EAAAgB,QAAA;MAACD,OAAO,EAAEA;IAAQ,GAAKR,IAAI,gBAC1Cb,KAAA,CAAAkB,aAAA,CAACd,IAAI;MAACmB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC;IAAQ,gBACvCzB,KAAA,CAAAkB,aAAA,CAACf,SAAS;MACRoB,KAAK;MACLT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC,OAAQ;MAC7BC,QAAQ,EAAE,CACR;QACEC,KAAK,EAAE1B,cAAc;QACrB2B,QAAQA,CAAAC,KAAA,EAA2C;UAAA,IAA1C;YAAEC,KAAK;YAAEC,WAAW;YAAEC,SAAS;YAAEC;UAAM,CAAC,GAAAJ,KAAA;UAC/C,oBACE7B,KAAA,CAAAkB,aAAA,CAACd,IAAI,EAAAkB,QAAA,KACCS,WAAW;YACfG,GAAG,EAAG,GAAEF,SAAU,IAAGC,KAAM,EAAE;YAC7BvB,OAAO,EAAEE,UAAW;YACpBD,WAAW,EAAEA,WAAY;YACzBG,KAAK,EAAEL,MAAM,CAAC0B,OAAQ;YACtBC,KAAK,EAAEL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEK;UAAM,IAEzBN,KAAK,CACD;QAEX;MACF,CAAC;IACD,GAEDtB,KAAK,CAAC6B,OAAO,CAACA,OAAO,CACZ,EACXC,OAAO,CAAC9B,KAAK,CAAC6B,OAAO,CAACE,SAAS,CAAC,iBAC/BvC,KAAA,CAAAkB,aAAA,CAACd,IAAI;MAACmB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACgB;IAAe,GAC7C,EAAApB,cAAA,GAAAZ,KAAK,CAACiC,OAAO,cAAArB,cAAA,uBAAbA,cAAA,CAAesB,MAAM,KAAI,WAAW,CAExC,CACI,CACU;EAAA,CACpB,CACQ;AAEf,CAAC;AAED,eAAenC,WAAW"}
1
+ {"version":3,"names":["React","urlRegexStrict","PressBox","RegexText","Text","useUIKitTheme","MessageContainer","UserMessage","props","colors","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","createElement","_ref","_props$strings","pressed","_extends","body3","enabled","textMsg","patterns","regex","replacer","_ref2","match","parentProps","keyPrefix","index","key","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited"],"sources":["Message.user.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexStrict } from '@sendbird/uikit-utils';\n\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst UserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexStrict,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => onPressURL?.(match)}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n );\n};\n\nexport default UserMessage;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,OAAOC,QAAQ,MAAM,2BAA2B;AAChD,OAAOC,SAAS,MAAM,4BAA4B;AAClD,OAAOC,IAAI,MAAM,uBAAuB;AACxC,OAAOC,aAAa,MAAM,2BAA2B;AACrD,OAAOC,gBAAgB,MAAM,oBAAoB;AAIjD,MAAMC,WAAW,GAAIC,KAA0D,IAAK;EAClF,MAAM;IAAEC;EAAO,CAAC,GAAGJ,aAAa,EAAE;EAClC,MAAM;IAAEK,OAAO;IAAEC,WAAW;IAAEC,UAAU;IAAE,GAAGC;EAAK,CAAC,GAAGL,KAAK;EAC3D,MAAMM,KAAK,GAAGL,MAAM,CAACM,EAAE,CAACC,kBAAkB,CAACC,OAAO;EAElD,oBACEjB,KAAA,CAAAkB,aAAA,CAAChB,QAAQ;IAACQ,OAAO,EAAEA,OAAQ;IAACC,WAAW,EAAEA;EAAY,GAClDQ,IAAA;IAAA,IAAAC,cAAA;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAF,IAAA;IAAA,oBACXnB,KAAA,CAAAkB,aAAA,CAACZ,gBAAgB,EAAAgB,QAAA;MAACD,OAAO,EAAEA;IAAQ,GAAKR,IAAI,gBAC1Cb,KAAA,CAAAkB,aAAA,CAACd,IAAI;MAACmB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC;IAAQ,gBACvCzB,KAAA,CAAAkB,aAAA,CAACf,SAAS;MACRoB,KAAK;MACLT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC,OAAQ;MAC7BC,QAAQ,EAAE,CACR;QACEC,KAAK,EAAE1B,cAAc;QACrB2B,QAAQA,CAAAC,KAAA,EAA2C;UAAA,IAA1C;YAAEC,KAAK;YAAEC,WAAW;YAAEC,SAAS;YAAEC;UAAM,CAAC,GAAAJ,KAAA;UAC/C,oBACE7B,KAAA,CAAAkB,aAAA,CAACd,IAAI,EAAAkB,QAAA,KACCS,WAAW;YACfG,GAAG,EAAG,GAAEF,SAAU,IAAGC,KAAM,EAAE;YAC7BvB,OAAO,EAAEA,CAAA,KAAME,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGkB,KAAK,CAAE;YACnCnB,WAAW,EAAEA,WAAY;YACzBG,KAAK,EAAEL,MAAM,CAAC0B,OAAQ;YACtBC,KAAK,EAAEL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEK;UAAM,IAEzBN,KAAK,CACD;QAEX;MACF,CAAC;IACD,GAEDtB,KAAK,CAAC6B,OAAO,CAACA,OAAO,CACZ,EACXC,OAAO,CAAC9B,KAAK,CAAC6B,OAAO,CAACE,SAAS,CAAC,iBAC/BvC,KAAA,CAAAkB,aAAA,CAACd,IAAI;MAACmB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACgB;IAAe,GAC7C,EAAApB,cAAA,GAAAZ,KAAK,CAACiC,OAAO,cAAArB,cAAA,uBAAbA,cAAA,CAAesB,MAAM,KAAI,WAAW,CAExC,CACI,CACU;EAAA,CACpB,CACQ;AAEf,CAAC;AAED,eAAenC,WAAW"}
@@ -47,7 +47,7 @@ const OpenGraphUserMessage = props => {
47
47
  } = _ref2;
48
48
  return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
49
49
  key: `${keyPrefix}-${index}`,
50
- onPress: onPressURL,
50
+ onPress: () => onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(match),
51
51
  onLongPress: onLongPress,
52
52
  color: colors.primary,
53
53
  style: parentProps === null || parentProps === void 0 ? void 0 : parentProps.style
@@ -62,7 +62,10 @@ const OpenGraphUserMessage = props => {
62
62
  grouped: true
63
63
  }), /*#__PURE__*/React.createElement(PressBox, {
64
64
  style: styles.ogContainer,
65
- onPress: onPressURL,
65
+ onPress: () => {
66
+ var _props$message$ogMeta;
67
+ return ((_props$message$ogMeta = props.message.ogMetaData) === null || _props$message$ogMeta === void 0 ? void 0 : _props$message$ogMeta.url) && (onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(props.message.ogMetaData.url));
68
+ },
66
69
  onLongPress: onLongPress
67
70
  }, _ref3 => {
68
71
  let {
@@ -1 +1 @@
1
- {"version":3,"names":["React","urlRegexRough","Box","ImageWithPlaceholder","PressBox","RegexText","Text","createStyleSheet","useUIKitTheme","MessageContainer","OpenGraphUserMessage","props","colors","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","createElement","_ref","_props$strings","pressed","_extends","body3","enabled","textMsg","patterns","regex","replacer","_ref2","match","parentProps","keyPrefix","index","key","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited","ogMetaData","grouped","styles","ogContainer","_ref3","padding","borderRadius","backgroundColor","bubbleBackground","numberOfLines","caption2","onBackground02","ogUrl","url","body2","ogTitle","title","description","onBackground01","defaultImage","ogImage","source","uri","maxWidth","marginBottom","width","height","marginTop"],"sources":["Message.user.og.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexRough } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport ImageWithPlaceholder from '../../components/ImageWithPlaceholder';\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst OpenGraphUserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <Box>\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexRough,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={onPressURL}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n {props.message.ogMetaData && (\n <MessageContainer {...rest} grouped>\n <PressBox style={styles.ogContainer} onPress={onPressURL} onLongPress={onLongPress}>\n {({ pressed }) =>\n props.message.ogMetaData && (\n <Box\n padding={8}\n borderRadius={8}\n style={styles.ogContainer}\n backgroundColor={pressed ? color.pressed.bubbleBackground : color.enabled.bubbleBackground}\n >\n <Text numberOfLines={1} caption2 color={colors.onBackground02} style={styles.ogUrl}>\n {props.message.ogMetaData.url}\n </Text>\n\n <Text numberOfLines={2} body2 color={colors.primary} style={styles.ogTitle}>\n {props.message.ogMetaData.title}\n </Text>\n\n {Boolean(props.message.ogMetaData.description) && (\n <Text numberOfLines={2} caption2 color={colors.onBackground01}>\n {props.message.ogMetaData.description}\n </Text>\n )}\n\n {Boolean(props.message.ogMetaData.defaultImage) && (\n <ImageWithPlaceholder\n style={styles.ogImage}\n source={{ uri: props.message.ogMetaData.defaultImage.url }}\n />\n )}\n </Box>\n )\n }\n </PressBox>\n </MessageContainer>\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n ogContainer: {\n maxWidth: 296,\n },\n ogUrl: {\n marginBottom: 4,\n },\n ogTitle: {\n marginBottom: 8,\n },\n ogImage: {\n width: '100%',\n height: 156,\n marginTop: 12,\n },\n});\n\nexport default OpenGraphUserMessage;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","urlRegexRough","Box","ImageWithPlaceholder","PressBox","RegexText","Text","createStyleSheet","useUIKitTheme","MessageContainer","OpenGraphUserMessage","props","colors","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","createElement","_ref","_props$strings","pressed","_extends","body3","enabled","textMsg","patterns","regex","replacer","_ref2","match","parentProps","keyPrefix","index","key","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited","ogMetaData","grouped","styles","ogContainer","_props$message$ogMeta","url","_ref3","padding","borderRadius","backgroundColor","bubbleBackground","numberOfLines","caption2","onBackground02","ogUrl","body2","ogTitle","title","description","onBackground01","defaultImage","ogImage","source","uri","maxWidth","marginBottom","width","height","marginTop"],"sources":["Message.user.og.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexRough } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport ImageWithPlaceholder from '../../components/ImageWithPlaceholder';\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst OpenGraphUserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <Box>\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexRough,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => onPressURL?.(match)}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n {props.message.ogMetaData && (\n <MessageContainer {...rest} grouped>\n <PressBox\n style={styles.ogContainer}\n onPress={() => props.message.ogMetaData?.url && onPressURL?.(props.message.ogMetaData.url)}\n onLongPress={onLongPress}\n >\n {({ pressed }) =>\n props.message.ogMetaData && (\n <Box\n padding={8}\n borderRadius={8}\n style={styles.ogContainer}\n backgroundColor={pressed ? color.pressed.bubbleBackground : color.enabled.bubbleBackground}\n >\n <Text numberOfLines={1} caption2 color={colors.onBackground02} style={styles.ogUrl}>\n {props.message.ogMetaData.url}\n </Text>\n\n <Text numberOfLines={2} body2 color={colors.primary} style={styles.ogTitle}>\n {props.message.ogMetaData.title}\n </Text>\n\n {Boolean(props.message.ogMetaData.description) && (\n <Text numberOfLines={2} caption2 color={colors.onBackground01}>\n {props.message.ogMetaData.description}\n </Text>\n )}\n\n {Boolean(props.message.ogMetaData.defaultImage) && (\n <ImageWithPlaceholder\n style={styles.ogImage}\n source={{ uri: props.message.ogMetaData.defaultImage.url }}\n />\n )}\n </Box>\n )\n }\n </PressBox>\n </MessageContainer>\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n ogContainer: {\n maxWidth: 296,\n },\n ogUrl: {\n marginBottom: 4,\n },\n ogTitle: {\n marginBottom: 8,\n },\n ogImage: {\n width: '100%',\n height: 156,\n marginTop: 12,\n },\n});\n\nexport default OpenGraphUserMessage;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["AdminMessage","FileMessage","ImageFileMessage","VideoFileMessage","UnknownMessage","UserMessage","OpenGraphUserMessage","OpenChannelMessage","User","OpenGraphUser","File","ImageFile","VideoFile","Admin","Unknown"],"sources":["index.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { SendbirdMessage, SendbirdOpenChannel } from '@sendbird/uikit-utils';\n\nimport AdminMessage from './Message.admin';\nimport FileMessage from './Message.file';\nimport ImageFileMessage from './Message.file.image';\nimport VideoFileMessage from './Message.file.video';\nimport UnknownMessage from './Message.unknown';\nimport UserMessage from './Message.user';\nimport OpenGraphUserMessage from './Message.user.og';\n\nexport type OpenChannelMessageProps<T extends SendbirdMessage, AdditionalProps = unknown> = {\n channel: SendbirdOpenChannel;\n message: T;\n strings?: {\n senderName?: string;\n sentDate?: string;\n edited?: string;\n fileName?: string;\n unknownTitle?: string;\n unknownDescription?: string;\n };\n children?: React.ReactNode;\n grouped?: boolean;\n onPress?: () => void;\n onLongPress?: () => void;\n onPressAvatar?: () => void;\n onPressURL?: () => void;\n} & AdditionalProps;\n\nconst OpenChannelMessage = {\n User: UserMessage,\n OpenGraphUser: OpenGraphUserMessage,\n File: FileMessage,\n ImageFile: ImageFileMessage,\n VideoFile: VideoFileMessage,\n Admin: AdminMessage,\n Unknown: UnknownMessage,\n};\n\nexport default OpenChannelMessage;\n"],"mappings":"AAIA,OAAOA,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,oBAAoB,MAAM,mBAAmB;AAqBpD,MAAMC,kBAAkB,GAAG;EACzBC,IAAI,EAAEH,WAAW;EACjBI,aAAa,EAAEH,oBAAoB;EACnCI,IAAI,EAAET,WAAW;EACjBU,SAAS,EAAET,gBAAgB;EAC3BU,SAAS,EAAET,gBAAgB;EAC3BU,KAAK,EAAEb,YAAY;EACnBc,OAAO,EAAEV;AACX,CAAC;AAED,eAAeG,kBAAkB"}
1
+ {"version":3,"names":["AdminMessage","FileMessage","ImageFileMessage","VideoFileMessage","UnknownMessage","UserMessage","OpenGraphUserMessage","OpenChannelMessage","User","OpenGraphUser","File","ImageFile","VideoFile","Admin","Unknown"],"sources":["index.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { SendbirdMessage, SendbirdOpenChannel } from '@sendbird/uikit-utils';\n\nimport AdminMessage from './Message.admin';\nimport FileMessage from './Message.file';\nimport ImageFileMessage from './Message.file.image';\nimport VideoFileMessage from './Message.file.video';\nimport UnknownMessage from './Message.unknown';\nimport UserMessage from './Message.user';\nimport OpenGraphUserMessage from './Message.user.og';\n\nexport type OpenChannelMessageProps<T extends SendbirdMessage, AdditionalProps = unknown> = {\n channel: SendbirdOpenChannel;\n message: T;\n strings?: {\n senderName?: string;\n sentDate?: string;\n edited?: string;\n fileName?: string;\n unknownTitle?: string;\n unknownDescription?: string;\n };\n children?: React.ReactNode;\n grouped?: boolean;\n onPress?: () => void;\n onLongPress?: () => void;\n onPressAvatar?: () => void;\n onPressURL?: (url: string) => void;\n} & AdditionalProps;\n\nconst OpenChannelMessage = {\n User: UserMessage,\n OpenGraphUser: OpenGraphUserMessage,\n File: FileMessage,\n ImageFile: ImageFileMessage,\n VideoFile: VideoFileMessage,\n Admin: AdminMessage,\n Unknown: UnknownMessage,\n};\n\nexport default OpenChannelMessage;\n"],"mappings":"AAIA,OAAOA,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,oBAAoB,MAAM,mBAAmB;AAqBpD,MAAMC,kBAAkB,GAAG;EACzBC,IAAI,EAAEH,WAAW;EACjBI,aAAa,EAAEH,oBAAoB;EACnCI,IAAI,EAAET,WAAW;EACjBU,SAAS,EAAET,gBAAgB;EAC3BU,SAAS,EAAET,gBAAgB;EAC3BU,KAAK,EAAEb,YAAY;EACnBc,OAAO,EAAEV;AACX,CAAC;AAED,eAAeG,kBAAkB"}
@@ -1,5 +1,5 @@
1
1
  import { TextProps } from '../Text';
2
- interface Pattern {
2
+ export interface RegexTextPattern {
3
3
  regex: RegExp;
4
4
  replacer(params: {
5
5
  match: string;
@@ -10,7 +10,7 @@ interface Pattern {
10
10
  }): string | JSX.Element;
11
11
  }
12
12
  type Props = {
13
- patterns: Pattern[];
13
+ patterns: RegexTextPattern[];
14
14
  } & TextProps;
15
15
  declare const RegexText: ({ children, patterns, ...props }: Props) => JSX.Element;
16
16
  export default RegexText;
@@ -9,10 +9,10 @@ export { default as ImageWithPlaceholder } from './components/ImageWithPlacehold
9
9
  export { default as Modal } from './components/Modal';
10
10
  export { default as PressBox } from './components/PressBox';
11
11
  export { default as RegexText } from './components/RegexText';
12
+ export type { RegexTextPattern } from './components/RegexText';
12
13
  export { default as Switch } from './components/Switch';
13
14
  export { default as Text } from './components/Text';
14
15
  export { default as TextInput } from './components/TextInput';
15
- export { default as URLParsedText } from './components/URLParsedText';
16
16
  /** UI **/
17
17
  export { default as ActionMenu } from './ui/ActionMenu';
18
18
  export { default as Alert } from './ui/Alert';
@@ -22,11 +22,13 @@ export { default as BottomSheet } from './ui/BottomSheet';
22
22
  export { default as Button } from './ui/Button';
23
23
  export { default as ChannelFrozenBanner } from './ui/ChannelFrozenBanner';
24
24
  export { DialogProvider, useActionMenu, useAlert, usePrompt, useBottomSheet } from './ui/Dialog';
25
- export { default as GroupChannelPreview } from './ui/GroupChannelPreview';
26
25
  export { default as Header } from './ui/Header';
27
26
  export { default as LoadingSpinner } from './ui/LoadingSpinner';
28
27
  export { default as MenuBar } from './ui/MenuBar';
29
28
  export type { MenuBarProps } from './ui/MenuBar';
29
+ export { default as GroupChannelMessage } from './ui/GroupChannelMessage';
30
+ export type { GroupChannelMessageProps } from './ui/GroupChannelMessage';
31
+ export { default as GroupChannelPreview } from './ui/GroupChannelPreview';
30
32
  export { default as OpenChannelMessage } from './ui/OpenChannelMessage';
31
33
  export type { OpenChannelMessageProps } from './ui/OpenChannelMessage';
32
34
  export { default as OpenChannelPreview } from './ui/OpenChannelPreview';
@@ -26,7 +26,7 @@ export interface UIKitTheme {
26
26
  colors: UIKitColors;
27
27
  typography: UIKitTypography;
28
28
  }
29
- export type Component = 'Header' | 'Button' | 'Dialog' | 'Input' | 'Badge' | 'Placeholder' | 'DateSeparator' | 'GroupChannelMessage' | 'GroupChannelPreview' | 'ProfileCard' | 'Reaction' | 'OpenChannelMessage' | 'OpenChannelPreview' | 'Message';
29
+ export type Component = 'Header' | 'Button' | 'Dialog' | 'Input' | 'Badge' | 'Placeholder' | 'DateSeparator' | 'GroupChannelMessage' | 'GroupChannelPreview' | 'ProfileCard' | 'Reaction' | 'OpenChannelMessage' | 'OpenChannelPreview';
30
30
  export type GetColorTree<Tree extends {
31
31
  Variant: {
32
32
  [key in Component]: string;
@@ -53,8 +53,6 @@ export type ComponentColorTree = GetColorTree<{
53
53
  Reaction: 'default' | 'rounded';
54
54
  OpenChannelMessage: 'default';
55
55
  OpenChannelPreview: 'default';
56
- /** @deprecated **/
57
- Message: 'incoming' | 'outgoing';
58
56
  };
59
57
  State: {
60
58
  Header: 'none';
@@ -70,8 +68,6 @@ export type ComponentColorTree = GetColorTree<{
70
68
  Reaction: 'enabled' | 'selected';
71
69
  OpenChannelMessage: 'enabled' | 'pressed';
72
70
  OpenChannelPreview: 'none';
73
- /** @deprecated **/
74
- Message: 'enabled' | 'pressed';
75
71
  };
76
72
  ColorPart: {
77
73
  Header: 'background' | 'borderBottom';
@@ -87,8 +83,6 @@ export type ComponentColorTree = GetColorTree<{
87
83
  Reaction: 'background' | 'highlight';
88
84
  OpenChannelMessage: 'textMsg' | 'textMsgPostfix' | 'textSenderName' | 'textTime' | 'textOperator' | 'background' | 'bubbleBackground' | 'adminBackground';
89
85
  OpenChannelPreview: 'textTitle' | 'textParticipants' | 'frozenIcon' | 'participantsIcon' | 'background' | 'coverBackground' | 'separator';
90
- /** @deprecated **/
91
- Message: 'textMsg' | 'textEdited' | 'textSenderName' | 'textTime' | 'background';
92
86
  };
93
87
  }>;
94
88
  export type ComponentColors<T extends Component> = {
@@ -135,8 +129,6 @@ export interface UIKitColors {
135
129
  reaction: ComponentColors<'Reaction'>;
136
130
  openChannelMessage: ComponentColors<'OpenChannelMessage'>;
137
131
  openChannelPreview: ComponentColors<'OpenChannelPreview'>;
138
- /** @deprecated Please use `colors.ui.groupChannelMessage` **/
139
- message: ComponentColors<'Message'>;
140
132
  };
141
133
  }
142
134
  export type HeaderElement = string | ReactElement | null;
@@ -0,0 +1,4 @@
1
+ import type { SendbirdAdminMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ declare const AdminMessage: (props: GroupChannelMessageProps<SendbirdAdminMessage>) => JSX.Element;
4
+ export default AdminMessage;
@@ -0,0 +1,5 @@
1
+ import { SendbirdFileMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ type Props = GroupChannelMessageProps<SendbirdFileMessage>;
4
+ declare const FileMessage: (props: Props) => JSX.Element;
5
+ export default FileMessage;
@@ -0,0 +1,4 @@
1
+ import type { SendbirdFileMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ declare const ImageFileMessage: (props: GroupChannelMessageProps<SendbirdFileMessage>) => JSX.Element;
4
+ export default ImageFileMessage;
@@ -0,0 +1,9 @@
1
+ import type { SendbirdFileMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ type Props = GroupChannelMessageProps<SendbirdFileMessage, {
4
+ fetchThumbnailFromVideoSource: (uri: string) => Promise<{
5
+ path: string;
6
+ } | null>;
7
+ }>;
8
+ declare const VideoFileMessage: (props: Props) => JSX.Element;
9
+ export default VideoFileMessage;
@@ -0,0 +1,4 @@
1
+ import type { SendbirdMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ declare const UnknownMessage: (props: GroupChannelMessageProps<SendbirdMessage>) => JSX.Element;
4
+ export default UnknownMessage;
@@ -0,0 +1,9 @@
1
+ import type { SendbirdUserMessage } from '@sendbird/uikit-utils';
2
+ import type { RegexTextPattern } from '../../components/RegexText';
3
+ import type { GroupChannelMessageProps } from './index';
4
+ type Props = GroupChannelMessageProps<SendbirdUserMessage, {
5
+ regexTextPatterns?: RegexTextPattern[];
6
+ renderRegexTextChildren?: (message: SendbirdUserMessage) => string;
7
+ }>;
8
+ declare const UserMessage: (props: Props) => JSX.Element;
9
+ export default UserMessage;
@@ -0,0 +1,9 @@
1
+ import type { SendbirdUserMessage } from '@sendbird/uikit-utils';
2
+ import type { RegexTextPattern } from '../../components/RegexText';
3
+ import type { GroupChannelMessageProps } from './index';
4
+ type Props = GroupChannelMessageProps<SendbirdUserMessage, {
5
+ regexTextPatterns?: RegexTextPattern[];
6
+ renderRegexTextChildren?: (message: SendbirdUserMessage) => string;
7
+ }>;
8
+ declare const OpenGraphUserMessage: (props: Props) => JSX.Element;
9
+ export default OpenGraphUserMessage;
@@ -0,0 +1,10 @@
1
+ import { SendbirdUserMessage } from '@sendbird/uikit-utils';
2
+ import { RegexTextPattern } from '../../components/RegexText';
3
+ import type { GroupChannelMessageProps } from './index';
4
+ type Props = GroupChannelMessageProps<SendbirdUserMessage, {
5
+ backgroundColor?: string;
6
+ regexTextPatterns?: RegexTextPattern[];
7
+ renderRegexTextChildren?: (message: SendbirdUserMessage) => string;
8
+ }>;
9
+ declare const MessageBubbleWithText: ({ backgroundColor, message, onPressURL, onLongPress, strings, variant, regexTextPatterns, renderRegexTextChildren, }: Props) => JSX.Element;
10
+ export default MessageBubbleWithText;
@@ -0,0 +1,9 @@
1
+ import type { SendbirdMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ type Props = GroupChannelMessageProps<SendbirdMessage>;
4
+ declare const MessageContainer: {
5
+ (props: Props): JSX.Element;
6
+ Incoming({ children, groupedWithNext, groupedWithPrev, message, onPressAvatar, strings, }: Props): JSX.Element;
7
+ Outgoing({ children, message, groupedWithNext, strings, sendingStatus, }: Props): JSX.Element;
8
+ };
9
+ export default MessageContainer;
@@ -0,0 +1,8 @@
1
+ import type { SendbirdUserMessage } from '@sendbird/uikit-utils';
2
+ declare const MessageOpenGraph: ({ onPressURL, onLongPress, ogMetaData, variant, }: {
3
+ ogMetaData: Required<SendbirdUserMessage>['ogMetaData'];
4
+ variant: 'outgoing' | 'incoming';
5
+ onPressURL?: ((url: string) => void) | undefined;
6
+ onLongPress?: (() => void) | undefined;
7
+ }) => JSX.Element;
8
+ export default MessageOpenGraph;
@@ -0,0 +1,191 @@
1
+ import type React from 'react';
2
+ import type { SendbirdGroupChannel, SendbirdMessage, SendbirdUser } from '@sendbird/uikit-utils';
3
+ export type GroupChannelMessageProps<T extends SendbirdMessage, AdditionalProps = unknown> = {
4
+ channel: SendbirdGroupChannel;
5
+ message: T;
6
+ variant?: 'outgoing' | 'incoming';
7
+ strings?: {
8
+ senderName?: string;
9
+ sentDate?: string;
10
+ edited?: string;
11
+ fileName?: string;
12
+ unknownTitle?: string;
13
+ unknownDescription?: string;
14
+ };
15
+ children?: React.ReactNode;
16
+ sendingStatus?: React.ReactNode;
17
+ groupedWithPrev: boolean;
18
+ groupedWithNext: boolean;
19
+ onPress?: () => void;
20
+ onLongPress?: () => void;
21
+ onPressAvatar?: () => void;
22
+ onPressURL?: (url: string) => void;
23
+ onPressMentionedUser?: (mentionedUser?: SendbirdUser) => void;
24
+ } & AdditionalProps;
25
+ declare const GroupChannelMessage: {
26
+ User: (props: {
27
+ channel: SendbirdGroupChannel;
28
+ message: import("@sendbird/chat/message").UserMessage;
29
+ variant?: "incoming" | "outgoing" | undefined;
30
+ strings?: {
31
+ senderName?: string | undefined;
32
+ sentDate?: string | undefined;
33
+ edited?: string | undefined;
34
+ fileName?: string | undefined;
35
+ unknownTitle?: string | undefined;
36
+ unknownDescription?: string | undefined;
37
+ } | undefined;
38
+ children?: React.ReactNode;
39
+ sendingStatus?: React.ReactNode;
40
+ groupedWithPrev: boolean;
41
+ groupedWithNext: boolean;
42
+ onPress?: (() => void) | undefined;
43
+ onLongPress?: (() => void) | undefined;
44
+ onPressAvatar?: (() => void) | undefined;
45
+ onPressURL?: ((url: string) => void) | undefined;
46
+ onPressMentionedUser?: ((mentionedUser?: SendbirdUser) => void) | undefined;
47
+ } & {
48
+ regexTextPatterns?: import("../..").RegexTextPattern[] | undefined;
49
+ renderRegexTextChildren?: ((message: import("@sendbird/chat/message").UserMessage) => string) | undefined;
50
+ }) => JSX.Element;
51
+ OpenGraphUser: (props: {
52
+ channel: SendbirdGroupChannel;
53
+ message: import("@sendbird/chat/message").UserMessage;
54
+ variant?: "incoming" | "outgoing" | undefined;
55
+ strings?: {
56
+ senderName?: string | undefined;
57
+ sentDate?: string | undefined;
58
+ edited?: string | undefined;
59
+ fileName?: string | undefined;
60
+ unknownTitle?: string | undefined;
61
+ unknownDescription?: string | undefined;
62
+ } | undefined;
63
+ children?: React.ReactNode;
64
+ sendingStatus?: React.ReactNode;
65
+ groupedWithPrev: boolean;
66
+ groupedWithNext: boolean;
67
+ onPress?: (() => void) | undefined;
68
+ onLongPress?: (() => void) | undefined;
69
+ onPressAvatar?: (() => void) | undefined;
70
+ onPressURL?: ((url: string) => void) | undefined;
71
+ onPressMentionedUser?: ((mentionedUser?: SendbirdUser) => void) | undefined;
72
+ } & {
73
+ regexTextPatterns?: import("../..").RegexTextPattern[] | undefined;
74
+ renderRegexTextChildren?: ((message: import("@sendbird/chat/message").UserMessage) => string) | undefined;
75
+ }) => JSX.Element;
76
+ File: (props: {
77
+ channel: SendbirdGroupChannel;
78
+ message: import("@sendbird/chat/message").FileMessage;
79
+ variant?: "incoming" | "outgoing" | undefined;
80
+ strings?: {
81
+ senderName?: string | undefined;
82
+ sentDate?: string | undefined;
83
+ edited?: string | undefined;
84
+ fileName?: string | undefined;
85
+ unknownTitle?: string | undefined;
86
+ unknownDescription?: string | undefined;
87
+ } | undefined;
88
+ children?: React.ReactNode;
89
+ sendingStatus?: React.ReactNode;
90
+ groupedWithPrev: boolean;
91
+ groupedWithNext: boolean;
92
+ onPress?: (() => void) | undefined;
93
+ onLongPress?: (() => void) | undefined;
94
+ onPressAvatar?: (() => void) | undefined;
95
+ onPressURL?: ((url: string) => void) | undefined;
96
+ onPressMentionedUser?: ((mentionedUser?: SendbirdUser) => void) | undefined;
97
+ }) => JSX.Element;
98
+ ImageFile: (props: {
99
+ channel: SendbirdGroupChannel;
100
+ message: import("@sendbird/chat/message").FileMessage;
101
+ variant?: "incoming" | "outgoing" | undefined;
102
+ strings?: {
103
+ senderName?: string | undefined;
104
+ sentDate?: string | undefined;
105
+ edited?: string | undefined;
106
+ fileName?: string | undefined;
107
+ unknownTitle?: string | undefined;
108
+ unknownDescription?: string | undefined;
109
+ } | undefined;
110
+ children?: React.ReactNode;
111
+ sendingStatus?: React.ReactNode;
112
+ groupedWithPrev: boolean;
113
+ groupedWithNext: boolean;
114
+ onPress?: (() => void) | undefined;
115
+ onLongPress?: (() => void) | undefined;
116
+ onPressAvatar?: (() => void) | undefined;
117
+ onPressURL?: ((url: string) => void) | undefined;
118
+ onPressMentionedUser?: ((mentionedUser?: SendbirdUser) => void) | undefined;
119
+ }) => JSX.Element;
120
+ VideoFile: (props: {
121
+ channel: SendbirdGroupChannel;
122
+ message: import("@sendbird/chat/message").FileMessage;
123
+ variant?: "incoming" | "outgoing" | undefined;
124
+ strings?: {
125
+ senderName?: string | undefined;
126
+ sentDate?: string | undefined;
127
+ edited?: string | undefined;
128
+ fileName?: string | undefined;
129
+ unknownTitle?: string | undefined;
130
+ unknownDescription?: string | undefined;
131
+ } | undefined;
132
+ children?: React.ReactNode;
133
+ sendingStatus?: React.ReactNode;
134
+ groupedWithPrev: boolean;
135
+ groupedWithNext: boolean;
136
+ onPress?: (() => void) | undefined;
137
+ onLongPress?: (() => void) | undefined;
138
+ onPressAvatar?: (() => void) | undefined;
139
+ onPressURL?: ((url: string) => void) | undefined;
140
+ onPressMentionedUser?: ((mentionedUser?: SendbirdUser) => void) | undefined;
141
+ } & {
142
+ fetchThumbnailFromVideoSource: (uri: string) => Promise<{
143
+ path: string;
144
+ } | null>;
145
+ }) => JSX.Element;
146
+ Admin: (props: {
147
+ channel: SendbirdGroupChannel;
148
+ message: import("@sendbird/chat/message").AdminMessage;
149
+ variant?: "incoming" | "outgoing" | undefined;
150
+ strings?: {
151
+ senderName?: string | undefined;
152
+ sentDate?: string | undefined;
153
+ edited?: string | undefined;
154
+ fileName?: string | undefined;
155
+ unknownTitle?: string | undefined;
156
+ unknownDescription?: string | undefined;
157
+ } | undefined;
158
+ children?: React.ReactNode;
159
+ sendingStatus?: React.ReactNode;
160
+ groupedWithPrev: boolean;
161
+ groupedWithNext: boolean;
162
+ onPress?: (() => void) | undefined;
163
+ onLongPress?: (() => void) | undefined;
164
+ onPressAvatar?: (() => void) | undefined;
165
+ onPressURL?: ((url: string) => void) | undefined;
166
+ onPressMentionedUser?: ((mentionedUser?: SendbirdUser) => void) | undefined;
167
+ }) => JSX.Element;
168
+ Unknown: (props: {
169
+ channel: SendbirdGroupChannel;
170
+ message: SendbirdMessage;
171
+ variant?: "incoming" | "outgoing" | undefined;
172
+ strings?: {
173
+ senderName?: string | undefined;
174
+ sentDate?: string | undefined;
175
+ edited?: string | undefined;
176
+ fileName?: string | undefined;
177
+ unknownTitle?: string | undefined;
178
+ unknownDescription?: string | undefined;
179
+ } | undefined;
180
+ children?: React.ReactNode;
181
+ sendingStatus?: React.ReactNode;
182
+ groupedWithPrev: boolean;
183
+ groupedWithNext: boolean;
184
+ onPress?: (() => void) | undefined;
185
+ onLongPress?: (() => void) | undefined;
186
+ onPressAvatar?: (() => void) | undefined;
187
+ onPressURL?: ((url: string) => void) | undefined;
188
+ onPressMentionedUser?: ((mentionedUser?: SendbirdUser) => void) | undefined;
189
+ }) => JSX.Element;
190
+ };
191
+ export default GroupChannelMessage;
@@ -16,7 +16,7 @@ export type OpenChannelMessageProps<T extends SendbirdMessage, AdditionalProps =
16
16
  onPress?: () => void;
17
17
  onLongPress?: () => void;
18
18
  onPressAvatar?: () => void;
19
- onPressURL?: () => void;
19
+ onPressURL?: (url: string) => void;
20
20
  } & AdditionalProps;
21
21
  declare const OpenChannelMessage: {
22
22
  User: (props: {
@@ -35,7 +35,7 @@ declare const OpenChannelMessage: {
35
35
  onPress?: (() => void) | undefined;
36
36
  onLongPress?: (() => void) | undefined;
37
37
  onPressAvatar?: (() => void) | undefined;
38
- onPressURL?: (() => void) | undefined;
38
+ onPressURL?: ((url: string) => void) | undefined;
39
39
  }) => JSX.Element;
40
40
  OpenGraphUser: (props: {
41
41
  channel: SendbirdOpenChannel;
@@ -53,7 +53,7 @@ declare const OpenChannelMessage: {
53
53
  onPress?: (() => void) | undefined;
54
54
  onLongPress?: (() => void) | undefined;
55
55
  onPressAvatar?: (() => void) | undefined;
56
- onPressURL?: (() => void) | undefined;
56
+ onPressURL?: ((url: string) => void) | undefined;
57
57
  }) => JSX.Element;
58
58
  File: (props: {
59
59
  channel: SendbirdOpenChannel;
@@ -71,7 +71,7 @@ declare const OpenChannelMessage: {
71
71
  onPress?: (() => void) | undefined;
72
72
  onLongPress?: (() => void) | undefined;
73
73
  onPressAvatar?: (() => void) | undefined;
74
- onPressURL?: (() => void) | undefined;
74
+ onPressURL?: ((url: string) => void) | undefined;
75
75
  }) => JSX.Element;
76
76
  ImageFile: (props: {
77
77
  channel: SendbirdOpenChannel;
@@ -89,7 +89,7 @@ declare const OpenChannelMessage: {
89
89
  onPress?: (() => void) | undefined;
90
90
  onLongPress?: (() => void) | undefined;
91
91
  onPressAvatar?: (() => void) | undefined;
92
- onPressURL?: (() => void) | undefined;
92
+ onPressURL?: ((url: string) => void) | undefined;
93
93
  }) => JSX.Element;
94
94
  VideoFile: (props: OpenChannelMessageProps<import("@sendbird/chat/message").FileMessage, {
95
95
  fetchThumbnailFromVideoSource: (uri: string) => Promise<{
@@ -112,7 +112,7 @@ declare const OpenChannelMessage: {
112
112
  onPress?: (() => void) | undefined;
113
113
  onLongPress?: (() => void) | undefined;
114
114
  onPressAvatar?: (() => void) | undefined;
115
- onPressURL?: (() => void) | undefined;
115
+ onPressURL?: ((url: string) => void) | undefined;
116
116
  }) => JSX.Element;
117
117
  Unknown: (props: {
118
118
  channel: SendbirdOpenChannel;
@@ -130,7 +130,7 @@ declare const OpenChannelMessage: {
130
130
  onPress?: (() => void) | undefined;
131
131
  onLongPress?: (() => void) | undefined;
132
132
  onPressAvatar?: (() => void) | undefined;
133
- onPressURL?: (() => void) | undefined;
133
+ onPressURL?: ((url: string) => void) | undefined;
134
134
  }) => JSX.Element;
135
135
  };
136
136
  export default OpenChannelMessage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendbird/uikit-react-native-foundation",
3
- "version": "2.5.0",
3
+ "version": "3.0.0-rc.0",
4
4
  "description": "A foundational UI kit for building chat-enabled React Native apps.",
5
5
  "keywords": [
6
6
  "sendbird",
@@ -46,7 +46,7 @@
46
46
  "access": "public"
47
47
  },
48
48
  "dependencies": {
49
- "@sendbird/uikit-utils": "2.5.0"
49
+ "@sendbird/uikit-utils": "3.0.0-rc.0"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/react": "*",
@@ -59,8 +59,8 @@
59
59
  "typescript": "4.9.4"
60
60
  },
61
61
  "peerDependencies": {
62
- "react": ">=16.13.1",
63
- "react-native": ">=0.63.3",
62
+ "react": ">=17.0.2",
63
+ "react-native": ">=0.65.0",
64
64
  "react-native-fast-image": ">=8.5.11",
65
65
  "react-native-safe-area-context": ">=3.3.2"
66
66
  },
@@ -87,6 +87,5 @@
87
87
  "entryPoint": "./src/index.ts",
88
88
  "readmeFile": "./README.md",
89
89
  "displayName": "@sendbird/uikit-react-native-foundation"
90
- },
91
- "gitHead": "4e2d6a30075a8fb6cf2615c5c20d50a0d0ddfcda"
90
+ }
92
91
  }
@@ -10,6 +10,7 @@ import Icon from '../Icon';
10
10
  import Image from '../Image';
11
11
 
12
12
  const useRetry = (hasError: boolean, retryCount = 5) => {
13
+ // NOTE: Glide(fast-image) will retry automatically on Android
13
14
  if (Platform.OS === 'android') return '';
14
15
 
15
16
  const forceUpdate = useForceUpdate();
@@ -44,14 +45,14 @@ type Props = {
44
45
  style?: StyleProp<ViewStyle>;
45
46
  };
46
47
  const ImageWithPlaceholder = (props: Props) => {
47
- const { colors } = useUIKitTheme();
48
+ const { palette, select, colors } = useUIKitTheme();
48
49
  const [imageNotFound, setImageNotFound] = useState(false);
49
50
 
50
51
  const key = useRetry(imageNotFound);
51
52
  return (
52
53
  <Box
53
54
  style={[{ overflow: 'hidden', width: props.width, height: props.height }, props.style]}
54
- backgroundColor={colors.onBackground04}
55
+ backgroundColor={select({ dark: palette.background400, light: palette.background100 })}
55
56
  >
56
57
  <Image
57
58
  key={key}
@@ -4,7 +4,7 @@ import { replaceWithRegex } from '@sendbird/uikit-utils';
4
4
 
5
5
  import Text, { TextProps } from '../Text';
6
6
 
7
- interface Pattern {
7
+ export interface RegexTextPattern {
8
8
  regex: RegExp;
9
9
  replacer(params: {
10
10
  match: string;
@@ -15,7 +15,7 @@ interface Pattern {
15
15
  }): string | JSX.Element;
16
16
  }
17
17
 
18
- type Props = { patterns: Pattern[] } & TextProps;
18
+ type Props = { patterns: RegexTextPattern[] } & TextProps;
19
19
 
20
20
  const RegexText = ({ children, patterns, ...props }: Props) => {
21
21
  if (patterns.length === 0 || typeof children !== 'string') return <>{children}</>;