@sendbird/uikit-react-native-foundation 3.2.0 → 3.3.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 (35) hide show
  1. package/lib/commonjs/components/TextInput/index.js +10 -3
  2. package/lib/commonjs/components/TextInput/index.js.map +1 -1
  3. package/lib/commonjs/index.js +9 -2
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/styles/createStyleSheet.js +4 -0
  6. package/lib/commonjs/styles/createStyleSheet.js.map +1 -1
  7. package/lib/commonjs/ui/Avatar/AvatarStack.js +96 -0
  8. package/lib/commonjs/ui/Avatar/AvatarStack.js.map +1 -0
  9. package/lib/commonjs/ui/Avatar/index.js +3 -1
  10. package/lib/commonjs/ui/Avatar/index.js.map +1 -1
  11. package/lib/commonjs/ui/TypingIndicatorBubble/index.js +118 -0
  12. package/lib/commonjs/ui/TypingIndicatorBubble/index.js.map +1 -0
  13. package/lib/module/components/TextInput/index.js +10 -3
  14. package/lib/module/components/TextInput/index.js.map +1 -1
  15. package/lib/module/index.js +3 -2
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/styles/createStyleSheet.js +4 -0
  18. package/lib/module/styles/createStyleSheet.js.map +1 -1
  19. package/lib/module/ui/Avatar/AvatarStack.js +88 -0
  20. package/lib/module/ui/Avatar/AvatarStack.js.map +1 -0
  21. package/lib/module/ui/Avatar/index.js +3 -1
  22. package/lib/module/ui/Avatar/index.js.map +1 -1
  23. package/lib/module/ui/TypingIndicatorBubble/index.js +108 -0
  24. package/lib/module/ui/TypingIndicatorBubble/index.js.map +1 -0
  25. package/lib/typescript/src/index.d.ts +4 -3
  26. package/lib/typescript/src/ui/Avatar/AvatarStack.d.ts +16 -0
  27. package/lib/typescript/src/ui/Avatar/index.d.ts +14 -0
  28. package/lib/typescript/src/ui/TypingIndicatorBubble/index.d.ts +10 -0
  29. package/package.json +3 -3
  30. package/src/components/TextInput/index.tsx +10 -3
  31. package/src/index.ts +4 -4
  32. package/src/styles/createStyleSheet.ts +4 -0
  33. package/src/ui/Avatar/AvatarStack.tsx +103 -0
  34. package/src/ui/Avatar/index.tsx +2 -0
  35. package/src/ui/TypingIndicatorBubble/index.tsx +120 -0
@@ -28,12 +28,16 @@ const TextInput = /*#__PURE__*/_react.default.forwardRef(function TextInput(_ref
28
28
  borderBottomWidth: 2,
29
29
  borderBottomColor: inputStyle.highlight
30
30
  };
31
+ const fontStyle = {
32
+ ...typography.body3,
33
+ lineHeight: typography.body3.fontSize ? typography.body3.fontSize * 1.2 : undefined
34
+ };
31
35
  return /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, _extends({
32
36
  ref: ref,
33
37
  editable: editable,
34
38
  selectionColor: inputStyle.highlight,
35
39
  placeholderTextColor: inputStyle.placeholder,
36
- style: [typography.body3, styles.input, {
40
+ style: [fontStyle, styles.input, {
37
41
  color: inputStyle.text,
38
42
  backgroundColor: inputStyle.background
39
43
  }, underlineStyle, style]
@@ -41,8 +45,11 @@ const TextInput = /*#__PURE__*/_react.default.forwardRef(function TextInput(_ref
41
45
  });
42
46
  const styles = (0, _createStyleSheet.default)({
43
47
  input: {
44
- paddingVertical: 8,
45
- paddingHorizontal: 16
48
+ includeFontPadding: false,
49
+ paddingTop: 8,
50
+ paddingBottom: 8,
51
+ paddingLeft: 16,
52
+ paddingRight: 16
46
53
  }
47
54
  });
48
55
  var _default = TextInput;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_createStyleSheet","_useUIKitTheme","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","TextInput","React","forwardRef","_ref","ref","children","style","variant","editable","props","typography","colors","useUIKitTheme","variantStyle","inputStyle","active","disabled","underlineStyle","borderBottomWidth","borderBottomColor","highlight","createElement","selectionColor","placeholderTextColor","placeholder","body3","styles","input","color","text","backgroundColor","background","createStyleSheet","paddingVertical","paddingHorizontal","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { TextInput as RNTextInput, TextInputProps } from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { UIKitTheme } from '../../types';\n\ntype Props = { variant?: keyof UIKitTheme['colors']['ui']['input'] } & TextInputProps;\nconst TextInput = React.forwardRef<RNTextInput, Props>(function TextInput(\n { children, style, variant = 'default', editable = true, ...props },\n ref,\n) {\n const { typography, colors } = useUIKitTheme();\n\n const variantStyle = colors['ui']['input'][variant];\n const inputStyle = editable ? variantStyle.active : variantStyle.disabled;\n const underlineStyle = variant === 'underline' && { borderBottomWidth: 2, borderBottomColor: inputStyle.highlight };\n\n return (\n <RNTextInput\n ref={ref}\n editable={editable}\n selectionColor={inputStyle.highlight}\n placeholderTextColor={inputStyle.placeholder}\n style={[\n typography.body3,\n styles.input,\n { color: inputStyle.text, backgroundColor: inputStyle.background },\n underlineStyle,\n style,\n ]}\n {...props}\n >\n {children}\n </RNTextInput>\n );\n});\n\nconst styles = createStyleSheet({\n input: {\n paddingVertical: 8,\n paddingHorizontal: 16,\n },\n});\n\nexport default TextInput;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAsD,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAItD,MAAMQ,SAAS,gBAAGC,cAAK,CAACC,UAAU,CAAqB,SAASF,SAASA,CAAAG,IAAA,EAEvEC,GAAG,EACH;EAAA,IAFA;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,OAAO,GAAG,SAAS;IAAEC,QAAQ,GAAG,IAAI;IAAE,GAAGC;EAAM,CAAC,GAAAN,IAAA;EAGnE,MAAM;IAAEO,UAAU;IAAEC;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAE9C,MAAMC,YAAY,GAAGF,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAACJ,OAAO,CAAC;EACnD,MAAMO,UAAU,GAAGN,QAAQ,GAAGK,YAAY,CAACE,MAAM,GAAGF,YAAY,CAACG,QAAQ;EACzE,MAAMC,cAAc,GAAGV,OAAO,KAAK,WAAW,IAAI;IAAEW,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAEL,UAAU,CAACM;EAAU,CAAC;EAEnH,oBACE3C,MAAA,CAAAQ,OAAA,CAAAoC,aAAA,CAACzC,YAAA,CAAAoB,SAAW,EAAAd,QAAA;IACVkB,GAAG,EAAEA,GAAI;IACTI,QAAQ,EAAEA,QAAS;IACnBc,cAAc,EAAER,UAAU,CAACM,SAAU;IACrCG,oBAAoB,EAAET,UAAU,CAACU,WAAY;IAC7ClB,KAAK,EAAE,CACLI,UAAU,CAACe,KAAK,EAChBC,MAAM,CAACC,KAAK,EACZ;MAAEC,KAAK,EAAEd,UAAU,CAACe,IAAI;MAAEC,eAAe,EAAEhB,UAAU,CAACiB;IAAW,CAAC,EAClEd,cAAc,EACdX,KAAK;EACL,GACEG,KAAK,GAERJ,QAAQ,CACG;AAElB,CAAC,CAAC;AAEF,MAAMqB,MAAM,GAAG,IAAAM,yBAAgB,EAAC;EAC9BL,KAAK,EAAE;IACLM,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYnC,SAAS;AAAAoC,OAAA,CAAAnD,OAAA,GAAAkD,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_createStyleSheet","_useUIKitTheme","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","TextInput","React","forwardRef","_ref","ref","children","style","variant","editable","props","typography","colors","useUIKitTheme","variantStyle","inputStyle","active","disabled","underlineStyle","borderBottomWidth","borderBottomColor","highlight","fontStyle","body3","lineHeight","fontSize","undefined","createElement","selectionColor","placeholderTextColor","placeholder","styles","input","color","text","backgroundColor","background","createStyleSheet","includeFontPadding","paddingTop","paddingBottom","paddingLeft","paddingRight","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { TextInput as RNTextInput, TextInputProps } from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { UIKitTheme } from '../../types';\n\ntype Props = { variant?: keyof UIKitTheme['colors']['ui']['input'] } & TextInputProps;\nconst TextInput = React.forwardRef<RNTextInput, Props>(function TextInput(\n { children, style, variant = 'default', editable = true, ...props },\n ref,\n) {\n const { typography, colors } = useUIKitTheme();\n\n const variantStyle = colors['ui']['input'][variant];\n const inputStyle = editable ? variantStyle.active : variantStyle.disabled;\n const underlineStyle = variant === 'underline' && { borderBottomWidth: 2, borderBottomColor: inputStyle.highlight };\n const fontStyle = {\n ...typography.body3,\n lineHeight: typography.body3.fontSize ? typography.body3.fontSize * 1.2 : undefined,\n };\n\n return (\n <RNTextInput\n ref={ref}\n editable={editable}\n selectionColor={inputStyle.highlight}\n placeholderTextColor={inputStyle.placeholder}\n style={[\n fontStyle,\n styles.input,\n { color: inputStyle.text, backgroundColor: inputStyle.background },\n underlineStyle,\n style,\n ]}\n {...props}\n >\n {children}\n </RNTextInput>\n );\n});\n\nconst styles = createStyleSheet({\n input: {\n includeFontPadding: false,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingRight: 16,\n },\n});\n\nexport default TextInput;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAsD,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAItD,MAAMQ,SAAS,gBAAGC,cAAK,CAACC,UAAU,CAAqB,SAASF,SAASA,CAAAG,IAAA,EAEvEC,GAAG,EACH;EAAA,IAFA;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,OAAO,GAAG,SAAS;IAAEC,QAAQ,GAAG,IAAI;IAAE,GAAGC;EAAM,CAAC,GAAAN,IAAA;EAGnE,MAAM;IAAEO,UAAU;IAAEC;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAE9C,MAAMC,YAAY,GAAGF,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAACJ,OAAO,CAAC;EACnD,MAAMO,UAAU,GAAGN,QAAQ,GAAGK,YAAY,CAACE,MAAM,GAAGF,YAAY,CAACG,QAAQ;EACzE,MAAMC,cAAc,GAAGV,OAAO,KAAK,WAAW,IAAI;IAAEW,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAEL,UAAU,CAACM;EAAU,CAAC;EACnH,MAAMC,SAAS,GAAG;IAChB,GAAGX,UAAU,CAACY,KAAK;IACnBC,UAAU,EAAEb,UAAU,CAACY,KAAK,CAACE,QAAQ,GAAGd,UAAU,CAACY,KAAK,CAACE,QAAQ,GAAG,GAAG,GAAGC;EAC5E,CAAC;EAED,oBACEhD,MAAA,CAAAQ,OAAA,CAAAyC,aAAA,CAAC9C,YAAA,CAAAoB,SAAW,EAAAd,QAAA;IACVkB,GAAG,EAAEA,GAAI;IACTI,QAAQ,EAAEA,QAAS;IACnBmB,cAAc,EAAEb,UAAU,CAACM,SAAU;IACrCQ,oBAAoB,EAAEd,UAAU,CAACe,WAAY;IAC7CvB,KAAK,EAAE,CACLe,SAAS,EACTS,MAAM,CAACC,KAAK,EACZ;MAAEC,KAAK,EAAElB,UAAU,CAACmB,IAAI;MAAEC,eAAe,EAAEpB,UAAU,CAACqB;IAAW,CAAC,EAClElB,cAAc,EACdX,KAAK;EACL,GACEG,KAAK,GAERJ,QAAQ,CACG;AAElB,CAAC,CAAC;AAEF,MAAMyB,MAAM,GAAG,IAAAM,yBAAgB,EAAC;EAC9BL,KAAK,EAAE;IACLM,kBAAkB,EAAE,KAAK;IACzBC,UAAU,EAAE,CAAC;IACbC,aAAa,EAAE,CAAC;IAChBC,WAAW,EAAE,EAAE;IACfC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY1C,SAAS;AAAA2C,OAAA,CAAA1D,OAAA,GAAAyD,QAAA"}
@@ -237,6 +237,12 @@ Object.defineProperty(exports, "ToastProvider", {
237
237
  return _Toast.ToastProvider;
238
238
  }
239
239
  });
240
+ Object.defineProperty(exports, "TypingIndicatorBubble", {
241
+ enumerable: true,
242
+ get: function () {
243
+ return _TypingIndicatorBubble.default;
244
+ }
245
+ });
240
246
  Object.defineProperty(exports, "UIKitThemeContext", {
241
247
  enumerable: true,
242
248
  get: function () {
@@ -355,11 +361,11 @@ var _BottomSheet = _interopRequireDefault(require("./ui/BottomSheet"));
355
361
  var _Button = _interopRequireDefault(require("./ui/Button"));
356
362
  var _ChannelFrozenBanner = _interopRequireDefault(require("./ui/ChannelFrozenBanner"));
357
363
  var _Dialog = require("./ui/Dialog");
364
+ var _GroupChannelMessage = _interopRequireDefault(require("./ui/GroupChannelMessage"));
365
+ var _GroupChannelPreview = _interopRequireDefault(require("./ui/GroupChannelPreview"));
358
366
  var _Header = _interopRequireDefault(require("./ui/Header"));
359
367
  var _LoadingSpinner = _interopRequireDefault(require("./ui/LoadingSpinner"));
360
368
  var _MenuBar = _interopRequireDefault(require("./ui/MenuBar"));
361
- var _GroupChannelMessage = _interopRequireDefault(require("./ui/GroupChannelMessage"));
362
- var _GroupChannelPreview = _interopRequireDefault(require("./ui/GroupChannelPreview"));
363
369
  var _OpenChannelMessage = _interopRequireDefault(require("./ui/OpenChannelMessage"));
364
370
  var _OpenChannelPreview = _interopRequireDefault(require("./ui/OpenChannelPreview"));
365
371
  var _OutlinedButton = _interopRequireDefault(require("./ui/OutlinedButton"));
@@ -367,6 +373,7 @@ var _Placeholder = _interopRequireDefault(require("./ui/Placeholder"));
367
373
  var _ProfileCard = _interopRequireDefault(require("./ui/ProfileCard"));
368
374
  var _Prompt = _interopRequireDefault(require("./ui/Prompt"));
369
375
  var _Toast = _interopRequireWildcard(require("./ui/Toast"));
376
+ var _TypingIndicatorBubble = _interopRequireDefault(require("./ui/TypingIndicatorBubble"));
370
377
  var _createSelectByColorScheme = _interopRequireDefault(require("./styles/createSelectByColorScheme"));
371
378
  var _createScaleFactor = _interopRequireDefault(require("./styles/createScaleFactor"));
372
379
  var _createStyleSheet = _interopRequireDefault(require("./styles/createStyleSheet"));
@@ -1 +1 @@
1
- {"version":3,"names":["_icon","_interopRequireDefault","require","_Box","_Divider","_Icon","_Image","_ImageWithPlaceholder","_Modal","_PressBox","_ProgressBar","_RegexText","_Switch","_Text","_TextInput","_VideoThumbnail","_ActionMenu","_Alert","_Avatar","_Badge","_BottomSheet","_Button","_ChannelFrozenBanner","_Dialog","_Header","_LoadingSpinner","_MenuBar","_GroupChannelMessage","_GroupChannelPreview","_OpenChannelMessage","_OpenChannelPreview","_OutlinedButton","_Placeholder","_ProfileCard","_Prompt","_Toast","_interopRequireWildcard","_createSelectByColorScheme","_createScaleFactor","_createStyleSheet","_createTypography","_getDefaultHeaderHeight","_HeaderStyleContext","_useHeaderStyle","_createTheme","_DarkUIKitTheme","_LightUIKitTheme","_Palette","_UIKitThemeContext","_UIKitThemeProvider","_useUIKitTheme","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"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 ProgressBar } from './components/ProgressBar';\nexport { default as RegexText } from './components/RegexText';\nexport type { RegexTextPattern } 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 { VideoThumbnail } from './components/VideoThumbnail';\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 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 GroupChannelMessage } from './ui/GroupChannelMessage';\nexport type { GroupChannelMessageProps } from './ui/GroupChannelMessage';\nexport { default as GroupChannelPreview } from './ui/GroupChannelPreview';\n\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":"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"}
1
+ {"version":3,"names":["_icon","_interopRequireDefault","require","_Box","_Divider","_Icon","_Image","_ImageWithPlaceholder","_Modal","_PressBox","_ProgressBar","_RegexText","_Switch","_Text","_TextInput","_VideoThumbnail","_ActionMenu","_Alert","_Avatar","_Badge","_BottomSheet","_Button","_ChannelFrozenBanner","_Dialog","_GroupChannelMessage","_GroupChannelPreview","_Header","_LoadingSpinner","_MenuBar","_OpenChannelMessage","_OpenChannelPreview","_OutlinedButton","_Placeholder","_ProfileCard","_Prompt","_Toast","_interopRequireWildcard","_TypingIndicatorBubble","_createSelectByColorScheme","_createScaleFactor","_createStyleSheet","_createTypography","_getDefaultHeaderHeight","_HeaderStyleContext","_useHeaderStyle","_createTheme","_DarkUIKitTheme","_LightUIKitTheme","_Palette","_UIKitThemeContext","_UIKitThemeProvider","_useUIKitTheme","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"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 ProgressBar } from './components/ProgressBar';\nexport { default as RegexText } from './components/RegexText';\nexport type { RegexTextPattern } 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 { VideoThumbnail } from './components/VideoThumbnail';\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 GroupChannelMessage } from './ui/GroupChannelMessage';\nexport type { GroupChannelMessageProps } from './ui/GroupChannelMessage';\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';\nexport { default as TypingIndicatorBubble } from './ui/TypingIndicatorBubble';\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":"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"}
@@ -18,11 +18,15 @@ const preProcessor = {
18
18
  'height': SCALE_FACTOR_WITH_STR,
19
19
  'width': SCALE_FACTOR_WITH_STR,
20
20
  'padding': SCALE_FACTOR_WITH_STR,
21
+ 'paddingVertical': SCALE_FACTOR_WITH_STR,
22
+ 'paddingHorizontal': SCALE_FACTOR_WITH_STR,
21
23
  'paddingTop': SCALE_FACTOR_WITH_STR,
22
24
  'paddingBottom': SCALE_FACTOR_WITH_STR,
23
25
  'paddingLeft': SCALE_FACTOR_WITH_STR,
24
26
  'paddingRight': SCALE_FACTOR_WITH_STR,
25
27
  'margin': SCALE_FACTOR_WITH_STR,
28
+ 'marginVertical': SCALE_FACTOR_WITH_STR,
29
+ 'marginHorizontal': SCALE_FACTOR_WITH_STR,
26
30
  'marginTop': SCALE_FACTOR_WITH_STR,
27
31
  'marginBottom': SCALE_FACTOR_WITH_STR,
28
32
  'marginLeft': SCALE_FACTOR_WITH_STR,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_createScaleFactor","SCALE_FACTOR_WITH_STR","val","DEFAULT_SCALE_FACTOR","preProcessor","preProcessorKeys","Object","keys","preProcessorLen","length","createStyleSheet","styles","values","forEach","style","styleKeys","styleLen","key","StyleSheet","create","_default","exports","default"],"sources":["createStyleSheet.ts"],"sourcesContent":["import { ImageStyle, StyleSheet, TextStyle, ViewStyle } from 'react-native';\n\nimport { DEFAULT_SCALE_FACTOR } from './createScaleFactor';\n\ntype Styles = ViewStyle | TextStyle | ImageStyle;\ntype StylePreprocessor<T extends Styles = Styles> = { [key in keyof T]: (val: NonNullable<T[key]>) => typeof val };\n\nconst SCALE_FACTOR_WITH_STR = (val: string | number) => (typeof val === 'string' ? val : DEFAULT_SCALE_FACTOR(val));\n\nconst preProcessor: Partial<StylePreprocessor> = {\n 'fontSize': DEFAULT_SCALE_FACTOR,\n 'lineHeight': DEFAULT_SCALE_FACTOR,\n 'borderRadius': DEFAULT_SCALE_FACTOR,\n 'minWidth': SCALE_FACTOR_WITH_STR,\n 'maxWidth': SCALE_FACTOR_WITH_STR,\n 'minHeight': SCALE_FACTOR_WITH_STR,\n 'maxHeight': SCALE_FACTOR_WITH_STR,\n 'height': SCALE_FACTOR_WITH_STR,\n 'width': SCALE_FACTOR_WITH_STR,\n 'padding': SCALE_FACTOR_WITH_STR,\n 'paddingTop': SCALE_FACTOR_WITH_STR,\n 'paddingBottom': SCALE_FACTOR_WITH_STR,\n 'paddingLeft': SCALE_FACTOR_WITH_STR,\n 'paddingRight': SCALE_FACTOR_WITH_STR,\n 'margin': SCALE_FACTOR_WITH_STR,\n 'marginTop': SCALE_FACTOR_WITH_STR,\n 'marginBottom': SCALE_FACTOR_WITH_STR,\n 'marginLeft': SCALE_FACTOR_WITH_STR,\n 'marginRight': SCALE_FACTOR_WITH_STR,\n 'left': SCALE_FACTOR_WITH_STR,\n 'right': SCALE_FACTOR_WITH_STR,\n 'top': SCALE_FACTOR_WITH_STR,\n 'bottom': SCALE_FACTOR_WITH_STR,\n};\n\nconst preProcessorKeys = Object.keys(preProcessor);\nconst preProcessorLen = preProcessorKeys.length;\n\n/**\n * Create StyleSheet with customized pre-processor\n * Return a StyleSheet that pre-processed\n * @param styles\n * @returns StyleSheet\n * */\nconst createStyleSheet = <T extends StyleSheet.NamedStyles<T>>(styles: T | StyleSheet.NamedStyles<T>): T => {\n Object.values(styles).forEach((style) => {\n // @ts-ignore\n const styleKeys = Object.keys(style);\n const styleLen = styleKeys.length;\n\n const keys = styleLen < preProcessorLen ? styleKeys : preProcessorKeys;\n keys.forEach((key) => {\n // @ts-ignore\n if (preProcessor[key] && typeof style[key] !== 'undefined') style[key] = preProcessor[key](style[key]);\n });\n });\n\n return StyleSheet.create<T>(styles);\n};\n\nexport default createStyleSheet;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AAKA,MAAME,qBAAqB,GAAIC,GAAoB,IAAM,OAAOA,GAAG,KAAK,QAAQ,GAAGA,GAAG,GAAG,IAAAC,uCAAoB,EAACD,GAAG,CAAE;AAEnH,MAAME,YAAwC,GAAG;EAC/C,UAAU,EAAED,uCAAoB;EAChC,YAAY,EAAEA,uCAAoB;EAClC,cAAc,EAAEA,uCAAoB;EACpC,UAAU,EAAEF,qBAAqB;EACjC,UAAU,EAAEA,qBAAqB;EACjC,WAAW,EAAEA,qBAAqB;EAClC,WAAW,EAAEA,qBAAqB;EAClC,QAAQ,EAAEA,qBAAqB;EAC/B,OAAO,EAAEA,qBAAqB;EAC9B,SAAS,EAAEA,qBAAqB;EAChC,YAAY,EAAEA,qBAAqB;EACnC,eAAe,EAAEA,qBAAqB;EACtC,aAAa,EAAEA,qBAAqB;EACpC,cAAc,EAAEA,qBAAqB;EACrC,QAAQ,EAAEA,qBAAqB;EAC/B,WAAW,EAAEA,qBAAqB;EAClC,cAAc,EAAEA,qBAAqB;EACrC,YAAY,EAAEA,qBAAqB;EACnC,aAAa,EAAEA,qBAAqB;EACpC,MAAM,EAAEA,qBAAqB;EAC7B,OAAO,EAAEA,qBAAqB;EAC9B,KAAK,EAAEA,qBAAqB;EAC5B,QAAQ,EAAEA;AACZ,CAAC;AAED,MAAMI,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAACH,YAAY,CAAC;AAClD,MAAMI,eAAe,GAAGH,gBAAgB,CAACI,MAAM;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAyCC,MAAqC,IAAQ;EAC1GL,MAAM,CAACM,MAAM,CAACD,MAAM,CAAC,CAACE,OAAO,CAAEC,KAAK,IAAK;IACvC;IACA,MAAMC,SAAS,GAAGT,MAAM,CAACC,IAAI,CAACO,KAAK,CAAC;IACpC,MAAME,QAAQ,GAAGD,SAAS,CAACN,MAAM;IAEjC,MAAMF,IAAI,GAAGS,QAAQ,GAAGR,eAAe,GAAGO,SAAS,GAAGV,gBAAgB;IACtEE,IAAI,CAACM,OAAO,CAAEI,GAAG,IAAK;MACpB;MACA,IAAIb,YAAY,CAACa,GAAG,CAAC,IAAI,OAAOH,KAAK,CAACG,GAAG,CAAC,KAAK,WAAW,EAAEH,KAAK,CAACG,GAAG,CAAC,GAAGb,YAAY,CAACa,GAAG,CAAC,CAACH,KAAK,CAACG,GAAG,CAAC,CAAC;IACxG,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOC,uBAAU,CAACC,MAAM,CAAIR,MAAM,CAAC;AACrC,CAAC;AAAC,IAAAS,QAAA,GAEaV,gBAAgB;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_reactNative","require","_createScaleFactor","SCALE_FACTOR_WITH_STR","val","DEFAULT_SCALE_FACTOR","preProcessor","preProcessorKeys","Object","keys","preProcessorLen","length","createStyleSheet","styles","values","forEach","style","styleKeys","styleLen","key","StyleSheet","create","_default","exports","default"],"sources":["createStyleSheet.ts"],"sourcesContent":["import { ImageStyle, StyleSheet, TextStyle, ViewStyle } from 'react-native';\n\nimport { DEFAULT_SCALE_FACTOR } from './createScaleFactor';\n\ntype Styles = ViewStyle | TextStyle | ImageStyle;\ntype StylePreprocessor<T extends Styles = Styles> = { [key in keyof T]: (val: NonNullable<T[key]>) => typeof val };\n\nconst SCALE_FACTOR_WITH_STR = (val: string | number) => (typeof val === 'string' ? val : DEFAULT_SCALE_FACTOR(val));\n\nconst preProcessor: Partial<StylePreprocessor> = {\n 'fontSize': DEFAULT_SCALE_FACTOR,\n 'lineHeight': DEFAULT_SCALE_FACTOR,\n 'borderRadius': DEFAULT_SCALE_FACTOR,\n 'minWidth': SCALE_FACTOR_WITH_STR,\n 'maxWidth': SCALE_FACTOR_WITH_STR,\n 'minHeight': SCALE_FACTOR_WITH_STR,\n 'maxHeight': SCALE_FACTOR_WITH_STR,\n 'height': SCALE_FACTOR_WITH_STR,\n 'width': SCALE_FACTOR_WITH_STR,\n 'padding': SCALE_FACTOR_WITH_STR,\n 'paddingVertical': SCALE_FACTOR_WITH_STR,\n 'paddingHorizontal': SCALE_FACTOR_WITH_STR,\n 'paddingTop': SCALE_FACTOR_WITH_STR,\n 'paddingBottom': SCALE_FACTOR_WITH_STR,\n 'paddingLeft': SCALE_FACTOR_WITH_STR,\n 'paddingRight': SCALE_FACTOR_WITH_STR,\n 'margin': SCALE_FACTOR_WITH_STR,\n 'marginVertical': SCALE_FACTOR_WITH_STR,\n 'marginHorizontal': SCALE_FACTOR_WITH_STR,\n 'marginTop': SCALE_FACTOR_WITH_STR,\n 'marginBottom': SCALE_FACTOR_WITH_STR,\n 'marginLeft': SCALE_FACTOR_WITH_STR,\n 'marginRight': SCALE_FACTOR_WITH_STR,\n 'left': SCALE_FACTOR_WITH_STR,\n 'right': SCALE_FACTOR_WITH_STR,\n 'top': SCALE_FACTOR_WITH_STR,\n 'bottom': SCALE_FACTOR_WITH_STR,\n};\n\nconst preProcessorKeys = Object.keys(preProcessor);\nconst preProcessorLen = preProcessorKeys.length;\n\n/**\n * Create StyleSheet with customized pre-processor\n * Return a StyleSheet that pre-processed\n * @param styles\n * @returns StyleSheet\n * */\nconst createStyleSheet = <T extends StyleSheet.NamedStyles<T>>(styles: T | StyleSheet.NamedStyles<T>): T => {\n Object.values(styles).forEach((style) => {\n // @ts-ignore\n const styleKeys = Object.keys(style);\n const styleLen = styleKeys.length;\n\n const keys = styleLen < preProcessorLen ? styleKeys : preProcessorKeys;\n keys.forEach((key) => {\n // @ts-ignore\n if (preProcessor[key] && typeof style[key] !== 'undefined') style[key] = preProcessor[key](style[key]);\n });\n });\n\n return StyleSheet.create<T>(styles);\n};\n\nexport default createStyleSheet;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AAKA,MAAME,qBAAqB,GAAIC,GAAoB,IAAM,OAAOA,GAAG,KAAK,QAAQ,GAAGA,GAAG,GAAG,IAAAC,uCAAoB,EAACD,GAAG,CAAE;AAEnH,MAAME,YAAwC,GAAG;EAC/C,UAAU,EAAED,uCAAoB;EAChC,YAAY,EAAEA,uCAAoB;EAClC,cAAc,EAAEA,uCAAoB;EACpC,UAAU,EAAEF,qBAAqB;EACjC,UAAU,EAAEA,qBAAqB;EACjC,WAAW,EAAEA,qBAAqB;EAClC,WAAW,EAAEA,qBAAqB;EAClC,QAAQ,EAAEA,qBAAqB;EAC/B,OAAO,EAAEA,qBAAqB;EAC9B,SAAS,EAAEA,qBAAqB;EAChC,iBAAiB,EAAEA,qBAAqB;EACxC,mBAAmB,EAAEA,qBAAqB;EAC1C,YAAY,EAAEA,qBAAqB;EACnC,eAAe,EAAEA,qBAAqB;EACtC,aAAa,EAAEA,qBAAqB;EACpC,cAAc,EAAEA,qBAAqB;EACrC,QAAQ,EAAEA,qBAAqB;EAC/B,gBAAgB,EAAEA,qBAAqB;EACvC,kBAAkB,EAAEA,qBAAqB;EACzC,WAAW,EAAEA,qBAAqB;EAClC,cAAc,EAAEA,qBAAqB;EACrC,YAAY,EAAEA,qBAAqB;EACnC,aAAa,EAAEA,qBAAqB;EACpC,MAAM,EAAEA,qBAAqB;EAC7B,OAAO,EAAEA,qBAAqB;EAC9B,KAAK,EAAEA,qBAAqB;EAC5B,QAAQ,EAAEA;AACZ,CAAC;AAED,MAAMI,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAACH,YAAY,CAAC;AAClD,MAAMI,eAAe,GAAGH,gBAAgB,CAACI,MAAM;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAyCC,MAAqC,IAAQ;EAC1GL,MAAM,CAACM,MAAM,CAACD,MAAM,CAAC,CAACE,OAAO,CAAEC,KAAK,IAAK;IACvC;IACA,MAAMC,SAAS,GAAGT,MAAM,CAACC,IAAI,CAACO,KAAK,CAAC;IACpC,MAAME,QAAQ,GAAGD,SAAS,CAACN,MAAM;IAEjC,MAAMF,IAAI,GAAGS,QAAQ,GAAGR,eAAe,GAAGO,SAAS,GAAGV,gBAAgB;IACtEE,IAAI,CAACM,OAAO,CAAEI,GAAG,IAAK;MACpB;MACA,IAAIb,YAAY,CAACa,GAAG,CAAC,IAAI,OAAOH,KAAK,CAACG,GAAG,CAAC,KAAK,WAAW,EAAEH,KAAK,CAACG,GAAG,CAAC,GAAGb,YAAY,CAACa,GAAG,CAAC,CAACH,KAAK,CAACG,GAAG,CAAC,CAAC;IACxG,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOC,uBAAU,CAACC,MAAM,CAAIR,MAAM,CAAC;AACrC,CAAC;AAAC,IAAAS,QAAA,GAEaV,gBAAgB;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _Text = _interopRequireDefault(require("../../components/Text"));
10
+ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const DEFAULT_MAX = 3;
13
+ const DEFAULT_BORDER_WIDTH = 2;
14
+ const DEFAULT_AVATAR_GAP = -4;
15
+ const DEFAULT_AVATAR_SIZE = 26;
16
+ const DEFAULT_REMAINS_MAX = 99;
17
+ const AvatarStack = _ref => {
18
+ let {
19
+ children,
20
+ containerStyle,
21
+ styles,
22
+ maxAvatar = DEFAULT_MAX,
23
+ size = DEFAULT_AVATAR_SIZE,
24
+ avatarGap = DEFAULT_AVATAR_GAP
25
+ } = _ref;
26
+ const {
27
+ colors,
28
+ palette,
29
+ select
30
+ } = (0, _useUIKitTheme.default)();
31
+ const defaultStyles = {
32
+ borderWidth: DEFAULT_BORDER_WIDTH,
33
+ borderColor: colors.background,
34
+ remainsTextColor: colors.onBackground02,
35
+ remainsBackgroundColor: select({
36
+ light: palette.background100,
37
+ dark: palette.background600
38
+ })
39
+ };
40
+ const avatarStyles = {
41
+ ...defaultStyles,
42
+ ...styles
43
+ };
44
+ const childrenArray = _react.default.Children.toArray(children).filter(it => /*#__PURE__*/_react.default.isValidElement(it));
45
+ const remains = childrenArray.length - maxAvatar;
46
+ const shouldRenderRemains = remains > 0;
47
+ const actualSize = size + avatarStyles.borderWidth * 2;
48
+ const actualGap = avatarGap - avatarStyles.borderWidth;
49
+ const renderAvatars = () => {
50
+ return childrenArray.slice(0, maxAvatar).map((child, index) => /*#__PURE__*/_react.default.cloneElement(child, {
51
+ size: actualSize,
52
+ containerStyle: {
53
+ left: actualGap * index,
54
+ borderWidth: avatarStyles.borderWidth,
55
+ borderColor: avatarStyles.borderColor
56
+ }
57
+ }));
58
+ };
59
+ const renderRemainsCount = () => {
60
+ if (!shouldRenderRemains) return null;
61
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
62
+ style: [avatarStyles, {
63
+ left: actualGap * maxAvatar,
64
+ width: actualSize,
65
+ height: actualSize,
66
+ borderRadius: actualSize / 2,
67
+ alignItems: 'center',
68
+ justifyContent: 'center',
69
+ backgroundColor: avatarStyles.remainsBackgroundColor
70
+ }]
71
+ }, /*#__PURE__*/_react.default.createElement(_Text.default, {
72
+ style: {
73
+ color: avatarStyles.remainsTextColor,
74
+ fontSize: 8
75
+ },
76
+ caption4: true
77
+ }, `+${Math.min(remains, DEFAULT_REMAINS_MAX)}`));
78
+ };
79
+ const calculateWidth = () => {
80
+ const widthEach = actualSize + actualGap;
81
+ const avatarCountOffset = shouldRenderRemains ? 1 : 0;
82
+ const avatarCount = shouldRenderRemains ? maxAvatar : childrenArray.length;
83
+ const count = avatarCount + avatarCountOffset;
84
+ return widthEach * count + avatarStyles.borderWidth;
85
+ };
86
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
87
+ style: [containerStyle, {
88
+ left: -avatarStyles.borderWidth,
89
+ flexDirection: 'row',
90
+ width: calculateWidth()
91
+ }]
92
+ }, renderAvatars(), renderRemainsCount());
93
+ };
94
+ var _default = AvatarStack;
95
+ exports.default = _default;
96
+ //# sourceMappingURL=AvatarStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Text","_useUIKitTheme","obj","__esModule","default","DEFAULT_MAX","DEFAULT_BORDER_WIDTH","DEFAULT_AVATAR_GAP","DEFAULT_AVATAR_SIZE","DEFAULT_REMAINS_MAX","AvatarStack","_ref","children","containerStyle","styles","maxAvatar","size","avatarGap","colors","palette","select","useUIKitTheme","defaultStyles","borderWidth","borderColor","background","remainsTextColor","onBackground02","remainsBackgroundColor","light","background100","dark","background600","avatarStyles","childrenArray","React","Children","toArray","filter","it","isValidElement","remains","length","shouldRenderRemains","actualSize","actualGap","renderAvatars","slice","map","child","index","cloneElement","left","renderRemainsCount","createElement","View","style","width","height","borderRadius","alignItems","justifyContent","backgroundColor","color","fontSize","caption4","Math","min","calculateWidth","widthEach","avatarCountOffset","avatarCount","count","flexDirection","_default","exports"],"sources":["AvatarStack.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\nconst DEFAULT_MAX = 3;\nconst DEFAULT_BORDER_WIDTH = 2;\nconst DEFAULT_AVATAR_GAP = -4;\nconst DEFAULT_AVATAR_SIZE = 26;\nconst DEFAULT_REMAINS_MAX = 99;\n\ntype Props = React.PropsWithChildren<{\n size?: number;\n containerStyle?: StyleProp<ViewStyle>;\n maxAvatar?: number;\n avatarGap?: number;\n styles?: {\n borderWidth?: number;\n borderColor?: string;\n remainsTextColor?: string;\n remainsBackgroundColor?: string;\n };\n}>;\n\nconst AvatarStack = ({\n children,\n containerStyle,\n styles,\n maxAvatar = DEFAULT_MAX,\n size = DEFAULT_AVATAR_SIZE,\n avatarGap = DEFAULT_AVATAR_GAP,\n}: Props) => {\n const { colors, palette, select } = useUIKitTheme();\n const defaultStyles = {\n borderWidth: DEFAULT_BORDER_WIDTH,\n borderColor: colors.background,\n remainsTextColor: colors.onBackground02,\n remainsBackgroundColor: select({ light: palette.background100, dark: palette.background600 }),\n };\n const avatarStyles = { ...defaultStyles, ...styles };\n\n const childrenArray = React.Children.toArray(children).filter((it) => React.isValidElement(it));\n const remains = childrenArray.length - maxAvatar;\n const shouldRenderRemains = remains > 0;\n\n const actualSize = size + avatarStyles.borderWidth * 2;\n const actualGap = avatarGap - avatarStyles.borderWidth;\n\n const renderAvatars = () => {\n return childrenArray.slice(0, maxAvatar).map((child, index) =>\n React.cloneElement(child as ReactElement, {\n size: actualSize,\n containerStyle: {\n left: actualGap * index,\n borderWidth: avatarStyles.borderWidth,\n borderColor: avatarStyles.borderColor,\n },\n }),\n );\n };\n\n const renderRemainsCount = () => {\n if (!shouldRenderRemains) return null;\n return (\n <View\n style={[\n avatarStyles,\n {\n left: actualGap * maxAvatar,\n width: actualSize,\n height: actualSize,\n borderRadius: actualSize / 2,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: avatarStyles.remainsBackgroundColor,\n },\n ]}\n >\n <Text style={{ color: avatarStyles.remainsTextColor, fontSize: 8 }} caption4>\n {`+${Math.min(remains, DEFAULT_REMAINS_MAX)}`}\n </Text>\n </View>\n );\n };\n\n const calculateWidth = () => {\n const widthEach = actualSize + actualGap;\n const avatarCountOffset = shouldRenderRemains ? 1 : 0;\n const avatarCount = shouldRenderRemains ? maxAvatar : childrenArray.length;\n const count = avatarCount + avatarCountOffset;\n return widthEach * count + avatarStyles.borderWidth;\n };\n\n return (\n <View style={[containerStyle, { left: -avatarStyles.borderWidth, flexDirection: 'row', width: calculateWidth() }]}>\n {renderAvatars()}\n {renderRemainsCount()}\n </View>\n );\n};\n\nexport default AvatarStack;\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyle
13
13
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
14
14
  var _AvatarGroup = _interopRequireDefault(require("./AvatarGroup"));
15
15
  var _AvatarIcon = _interopRequireDefault(require("./AvatarIcon"));
16
+ var _AvatarStack = _interopRequireDefault(require("./AvatarStack"));
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  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); }
18
19
  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; }
@@ -80,7 +81,8 @@ const styles = (0, _createStyleSheet.default)({
80
81
  });
81
82
  var _default = Object.assign(Avatar, {
82
83
  Group: _AvatarGroup.default,
83
- Icon: _AvatarIcon.default
84
+ Icon: _AvatarIcon.default,
85
+ Stack: _AvatarStack.default
84
86
  });
85
87
  exports.default = _default;
86
88
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Icon","_interopRequireDefault","_Image","_createStyleSheet","_useUIKitTheme","_AvatarGroup","_AvatarIcon","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Avatar","_ref","uri","square","muted","size","containerStyle","colors","palette","useUIKitTheme","loadFailure","setLoadFailure","useState","createElement","View","style","styles","container","width","height","borderRadius","backgroundColor","background300","conditionChaining","Boolean","onError","source","resizeMode","StyleSheet","absoluteFill","icon","color","onBackgroundReverse01","MutedOverlay","_ref2","primary300","opacity","onBackgroundDark01","createStyleSheet","alignItems","justifyContent","overflow","_default","assign","Group","AvatarGroup","Icon","AvatarIcon","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Icon from '../../components/Icon';\nimport Image from '../../components/Image';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport AvatarGroup from './AvatarGroup';\nimport AvatarIcon from './AvatarIcon';\n\ntype Props = {\n uri?: string;\n size?: number;\n square?: boolean;\n muted?: boolean;\n containerStyle?: StyleProp<ViewStyle>;\n};\n\nconst Avatar = ({ uri, square, muted = false, size = 56, containerStyle }: Props) => {\n const { colors, palette } = useUIKitTheme();\n const [loadFailure, setLoadFailure] = useState(false);\n\n return (\n <View\n style={[\n styles.container,\n { width: size, height: size, borderRadius: square ? 0 : size / 2, backgroundColor: palette.background300 },\n containerStyle,\n ]}\n >\n {conditionChaining(\n [Boolean(uri) && !loadFailure],\n [\n <Image\n onError={() => setLoadFailure(true)}\n source={{ uri }}\n resizeMode={'cover'}\n style={StyleSheet.absoluteFill}\n />,\n <Icon icon={'user'} size={size / 2} color={colors.onBackgroundReverse01} />,\n ],\n )}\n {muted && <MutedOverlay size={size} />}\n </View>\n );\n};\n\nconst MutedOverlay = ({ size }: { size: number }) => {\n const { palette } = useUIKitTheme();\n return (\n <View style={[styles.container, StyleSheet.absoluteFill]}>\n <View style={[StyleSheet.absoluteFill, { backgroundColor: palette.primary300, opacity: 0.5 }]} />\n <Icon color={palette.onBackgroundDark01} icon={'mute'} size={size * 0.72} />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n});\n\nexport default Object.assign(Avatar, {\n Group: AvatarGroup,\n Icon: AvatarIcon,\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Icon","_interopRequireDefault","_Image","_createStyleSheet","_useUIKitTheme","_AvatarGroup","_AvatarIcon","_AvatarStack","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Avatar","_ref","uri","square","muted","size","containerStyle","colors","palette","useUIKitTheme","loadFailure","setLoadFailure","useState","createElement","View","style","styles","container","width","height","borderRadius","backgroundColor","background300","conditionChaining","Boolean","onError","source","resizeMode","StyleSheet","absoluteFill","icon","color","onBackgroundReverse01","MutedOverlay","_ref2","primary300","opacity","onBackgroundDark01","createStyleSheet","alignItems","justifyContent","overflow","_default","assign","Group","AvatarGroup","Icon","AvatarIcon","Stack","AvatarStack","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Icon from '../../components/Icon';\nimport Image from '../../components/Image';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport AvatarGroup from './AvatarGroup';\nimport AvatarIcon from './AvatarIcon';\nimport AvatarStack from './AvatarStack';\n\ntype Props = {\n uri?: string;\n size?: number;\n square?: boolean;\n muted?: boolean;\n containerStyle?: StyleProp<ViewStyle>;\n};\n\nconst Avatar = ({ uri, square, muted = false, size = 56, containerStyle }: Props) => {\n const { colors, palette } = useUIKitTheme();\n const [loadFailure, setLoadFailure] = useState(false);\n\n return (\n <View\n style={[\n styles.container,\n { width: size, height: size, borderRadius: square ? 0 : size / 2, backgroundColor: palette.background300 },\n containerStyle,\n ]}\n >\n {conditionChaining(\n [Boolean(uri) && !loadFailure],\n [\n <Image\n onError={() => setLoadFailure(true)}\n source={{ uri }}\n resizeMode={'cover'}\n style={StyleSheet.absoluteFill}\n />,\n <Icon icon={'user'} size={size / 2} color={colors.onBackgroundReverse01} />,\n ],\n )}\n {muted && <MutedOverlay size={size} />}\n </View>\n );\n};\n\nconst MutedOverlay = ({ size }: { size: number }) => {\n const { palette } = useUIKitTheme();\n return (\n <View style={[styles.container, StyleSheet.absoluteFill]}>\n <View style={[StyleSheet.absoluteFill, { backgroundColor: palette.primary300, opacity: 0.5 }]} />\n <Icon color={palette.onBackgroundDark01} icon={'mute'} size={size * 0.72} />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n});\n\nexport default Object.assign(Avatar, {\n Group: AvatarGroup,\n Icon: AvatarIcon,\n Stack: AvatarStack,\n});\n"],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _Box = _interopRequireDefault(require("../../components/Box"));
10
+ var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
11
+ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
12
+ var _Avatar = _interopRequireDefault(require("../Avatar"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
+ 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; }
16
+ const TypingIndicatorBubble = _ref => {
17
+ let {
18
+ typingUsers,
19
+ containerStyle,
20
+ maxAvatar
21
+ } = _ref;
22
+ const {
23
+ select,
24
+ palette,
25
+ colors
26
+ } = (0, _useUIKitTheme.default)();
27
+ if (typingUsers.length === 0) return null;
28
+ return /*#__PURE__*/_react.default.createElement(_Box.default, {
29
+ flexDirection: 'row',
30
+ justifyContent: 'flex-start',
31
+ alignItems: 'center',
32
+ style: containerStyle
33
+ }, /*#__PURE__*/_react.default.createElement(_Avatar.default.Stack, {
34
+ size: 26,
35
+ maxAvatar: maxAvatar,
36
+ styles: {
37
+ remainsTextColor: colors.onBackground02,
38
+ remainsBackgroundColor: select({
39
+ light: palette.background100,
40
+ dark: palette.background400
41
+ })
42
+ },
43
+ containerStyle: {
44
+ marginRight: 12
45
+ }
46
+ }, typingUsers.map((user, index) => /*#__PURE__*/_react.default.createElement(_Avatar.default, {
47
+ key: index,
48
+ uri: user.profileUrl
49
+ }))), /*#__PURE__*/_react.default.createElement(TypingDots, {
50
+ dotColor: select({
51
+ light: palette.background100,
52
+ dark: palette.background400
53
+ }),
54
+ backgroundColor: colors.onBackground02
55
+ }));
56
+ };
57
+ const TypingDots = _ref2 => {
58
+ let {
59
+ dotColor,
60
+ backgroundColor
61
+ } = _ref2;
62
+ const animation = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
63
+ const dots = matrix.map(_ref3 => {
64
+ let [timeline, scale, opacity] = _ref3;
65
+ return [animation.interpolate({
66
+ inputRange: timeline,
67
+ outputRange: scale,
68
+ extrapolate: 'clamp'
69
+ }), animation.interpolate({
70
+ inputRange: timeline,
71
+ outputRange: opacity,
72
+ extrapolate: 'clamp'
73
+ })];
74
+ });
75
+ (0, _react.useEffect)(() => {
76
+ const animated = _reactNative.Animated.loop(_reactNative.Animated.timing(animation, {
77
+ toValue: 1.4,
78
+ duration: 1400,
79
+ easing: _reactNative.Easing.linear,
80
+ useNativeDriver: true
81
+ }));
82
+ animated.start();
83
+ return () => animated.reset();
84
+ }, []);
85
+ return /*#__PURE__*/_react.default.createElement(_Box.default, {
86
+ flexDirection: 'row',
87
+ alignItems: 'center',
88
+ justifyContent: 'center',
89
+ borderRadius: 16,
90
+ paddingHorizontal: 12,
91
+ height: 34,
92
+ backgroundColor: dotColor
93
+ }, dots.map((_ref4, index) => {
94
+ let [scale, opacity] = _ref4;
95
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
96
+ key: index,
97
+ style: [styles.dot, {
98
+ marginRight: index === dots.length - 1 ? 0 : 6,
99
+ opacity: opacity,
100
+ transform: [{
101
+ scale: scale
102
+ }],
103
+ backgroundColor: backgroundColor
104
+ }]
105
+ });
106
+ }));
107
+ };
108
+ const matrix = [[[0.4, 0.7, 1.0], [1.0, 1.2, 1.0], [0.12, 0.38, 0.12]], [[0.6, 0.9, 1.2], [1.0, 1.2, 1.0], [0.12, 0.38, 0.12]], [[0.8, 1.1, 1.4], [1.0, 1.2, 1.0], [0.12, 0.38, 0.12]]];
109
+ const styles = (0, _createStyleSheet.default)({
110
+ dot: {
111
+ width: 8,
112
+ height: 8,
113
+ borderRadius: 4
114
+ }
115
+ });
116
+ var _default = TypingIndicatorBubble;
117
+ exports.default = _default;
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Box","_interopRequireDefault","_createStyleSheet","_useUIKitTheme","_Avatar","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypingIndicatorBubble","_ref","typingUsers","containerStyle","maxAvatar","select","palette","colors","useUIKitTheme","length","createElement","flexDirection","justifyContent","alignItems","style","Stack","size","styles","remainsTextColor","onBackground02","remainsBackgroundColor","light","background100","dark","background400","marginRight","map","user","index","uri","profileUrl","TypingDots","dotColor","backgroundColor","_ref2","animation","useRef","Animated","Value","current","dots","matrix","_ref3","timeline","scale","opacity","interpolate","inputRange","outputRange","extrapolate","useEffect","animated","loop","timing","toValue","duration","easing","Easing","linear","useNativeDriver","start","reset","borderRadius","paddingHorizontal","height","_ref4","View","dot","transform","createStyleSheet","width","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated, Easing, StyleProp, ViewStyle } from 'react-native';\n\nimport type { SendbirdUser } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Avatar from '../Avatar';\n\ntype Props = {\n typingUsers: SendbirdUser[];\n containerStyle?: StyleProp<ViewStyle>;\n maxAvatar?: number;\n};\n\nconst TypingIndicatorBubble = ({ typingUsers, containerStyle, maxAvatar }: Props) => {\n const { select, palette, colors } = useUIKitTheme();\n\n if (typingUsers.length === 0) return null;\n\n return (\n <Box flexDirection={'row'} justifyContent={'flex-start'} alignItems={'center'} style={containerStyle}>\n <Avatar.Stack\n size={26}\n maxAvatar={maxAvatar}\n styles={{\n remainsTextColor: colors.onBackground02,\n remainsBackgroundColor: select({ light: palette.background100, dark: palette.background400 }),\n }}\n containerStyle={{ marginRight: 12 }}\n >\n {typingUsers.map((user, index) => (\n <Avatar key={index} uri={user.profileUrl} />\n ))}\n </Avatar.Stack>\n <TypingDots\n dotColor={select({ light: palette.background100, dark: palette.background400 })}\n backgroundColor={colors.onBackground02}\n />\n </Box>\n );\n};\n\ntype TypingDotsProps = {\n dotColor: string;\n backgroundColor: string;\n};\nconst TypingDots = ({ dotColor, backgroundColor }: TypingDotsProps) => {\n const animation = useRef(new Animated.Value(0)).current;\n const dots = matrix.map(([timeline, scale, opacity]) => [\n animation.interpolate({ inputRange: timeline, outputRange: scale, extrapolate: 'clamp' }),\n animation.interpolate({ inputRange: timeline, outputRange: opacity, extrapolate: 'clamp' }),\n ]);\n\n useEffect(() => {\n const animated = Animated.loop(\n Animated.timing(animation, { toValue: 1.4, duration: 1400, easing: Easing.linear, useNativeDriver: true }),\n );\n animated.start();\n return () => animated.reset();\n }, []);\n\n return (\n <Box\n flexDirection={'row'}\n alignItems={'center'}\n justifyContent={'center'}\n borderRadius={16}\n paddingHorizontal={12}\n height={34}\n backgroundColor={dotColor}\n >\n {dots.map(([scale, opacity], index) => {\n return (\n <Animated.View\n key={index}\n style={[\n styles.dot,\n {\n marginRight: index === dots.length - 1 ? 0 : 6,\n opacity: opacity,\n transform: [{ scale: scale }],\n backgroundColor: backgroundColor,\n },\n ]}\n />\n );\n })}\n </Box>\n );\n};\n\nconst matrix = [\n [\n [0.4, 0.7, 1.0],\n [1.0, 1.2, 1.0],\n [0.12, 0.38, 0.12],\n ],\n [\n [0.6, 0.9, 1.2],\n [1.0, 1.2, 1.0],\n [0.12, 0.38, 0.12],\n ],\n [\n [0.8, 1.1, 1.4],\n [1.0, 1.2, 1.0],\n [0.12, 0.38, 0.12],\n ],\n];\n\nconst styles = createStyleSheet({\n dot: {\n width: 8,\n height: 8,\n borderRadius: 4,\n },\n});\n\nexport default TypingIndicatorBubble;\n"],"mappings":"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"}
@@ -21,12 +21,16 @@ const TextInput = /*#__PURE__*/React.forwardRef(function TextInput(_ref, ref) {
21
21
  borderBottomWidth: 2,
22
22
  borderBottomColor: inputStyle.highlight
23
23
  };
24
+ const fontStyle = {
25
+ ...typography.body3,
26
+ lineHeight: typography.body3.fontSize ? typography.body3.fontSize * 1.2 : undefined
27
+ };
24
28
  return /*#__PURE__*/React.createElement(RNTextInput, _extends({
25
29
  ref: ref,
26
30
  editable: editable,
27
31
  selectionColor: inputStyle.highlight,
28
32
  placeholderTextColor: inputStyle.placeholder,
29
- style: [typography.body3, styles.input, {
33
+ style: [fontStyle, styles.input, {
30
34
  color: inputStyle.text,
31
35
  backgroundColor: inputStyle.background
32
36
  }, underlineStyle, style]
@@ -34,8 +38,11 @@ const TextInput = /*#__PURE__*/React.forwardRef(function TextInput(_ref, ref) {
34
38
  });
35
39
  const styles = createStyleSheet({
36
40
  input: {
37
- paddingVertical: 8,
38
- paddingHorizontal: 16
41
+ includeFontPadding: false,
42
+ paddingTop: 8,
43
+ paddingBottom: 8,
44
+ paddingLeft: 16,
45
+ paddingRight: 16
39
46
  }
40
47
  });
41
48
  export default TextInput;
@@ -1 +1 @@
1
- {"version":3,"names":["React","TextInput","RNTextInput","createStyleSheet","useUIKitTheme","forwardRef","_ref","ref","children","style","variant","editable","props","typography","colors","variantStyle","inputStyle","active","disabled","underlineStyle","borderBottomWidth","borderBottomColor","highlight","createElement","_extends","selectionColor","placeholderTextColor","placeholder","body3","styles","input","color","text","backgroundColor","background","paddingVertical","paddingHorizontal"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { TextInput as RNTextInput, TextInputProps } from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { UIKitTheme } from '../../types';\n\ntype Props = { variant?: keyof UIKitTheme['colors']['ui']['input'] } & TextInputProps;\nconst TextInput = React.forwardRef<RNTextInput, Props>(function TextInput(\n { children, style, variant = 'default', editable = true, ...props },\n ref,\n) {\n const { typography, colors } = useUIKitTheme();\n\n const variantStyle = colors['ui']['input'][variant];\n const inputStyle = editable ? variantStyle.active : variantStyle.disabled;\n const underlineStyle = variant === 'underline' && { borderBottomWidth: 2, borderBottomColor: inputStyle.highlight };\n\n return (\n <RNTextInput\n ref={ref}\n editable={editable}\n selectionColor={inputStyle.highlight}\n placeholderTextColor={inputStyle.placeholder}\n style={[\n typography.body3,\n styles.input,\n { color: inputStyle.text, backgroundColor: inputStyle.background },\n underlineStyle,\n style,\n ]}\n {...props}\n >\n {children}\n </RNTextInput>\n );\n});\n\nconst styles = createStyleSheet({\n input: {\n paddingVertical: 8,\n paddingHorizontal: 16,\n },\n});\n\nexport default TextInput;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,IAAIC,WAAW,QAAwB,cAAc;AAEvE,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,OAAOC,aAAa,MAAM,2BAA2B;AAIrD,MAAMH,SAAS,gBAAGD,KAAK,CAACK,UAAU,CAAqB,SAASJ,SAASA,CAAAK,IAAA,EAEvEC,GAAG,EACH;EAAA,IAFA;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,OAAO,GAAG,SAAS;IAAEC,QAAQ,GAAG,IAAI;IAAE,GAAGC;EAAM,CAAC,GAAAN,IAAA;EAGnE,MAAM;IAAEO,UAAU;IAAEC;EAAO,CAAC,GAAGV,aAAa,EAAE;EAE9C,MAAMW,YAAY,GAAGD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAACJ,OAAO,CAAC;EACnD,MAAMM,UAAU,GAAGL,QAAQ,GAAGI,YAAY,CAACE,MAAM,GAAGF,YAAY,CAACG,QAAQ;EACzE,MAAMC,cAAc,GAAGT,OAAO,KAAK,WAAW,IAAI;IAAEU,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAEL,UAAU,CAACM;EAAU,CAAC;EAEnH,oBACEtB,KAAA,CAAAuB,aAAA,CAACrB,WAAW,EAAAsB,QAAA;IACVjB,GAAG,EAAEA,GAAI;IACTI,QAAQ,EAAEA,QAAS;IACnBc,cAAc,EAAET,UAAU,CAACM,SAAU;IACrCI,oBAAoB,EAAEV,UAAU,CAACW,WAAY;IAC7ClB,KAAK,EAAE,CACLI,UAAU,CAACe,KAAK,EAChBC,MAAM,CAACC,KAAK,EACZ;MAAEC,KAAK,EAAEf,UAAU,CAACgB,IAAI;MAAEC,eAAe,EAAEjB,UAAU,CAACkB;IAAW,CAAC,EAClEf,cAAc,EACdV,KAAK;EACL,GACEG,KAAK,GAERJ,QAAQ,CACG;AAElB,CAAC,CAAC;AAEF,MAAMqB,MAAM,GAAG1B,gBAAgB,CAAC;EAC9B2B,KAAK,EAAE;IACLK,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAenC,SAAS"}
1
+ {"version":3,"names":["React","TextInput","RNTextInput","createStyleSheet","useUIKitTheme","forwardRef","_ref","ref","children","style","variant","editable","props","typography","colors","variantStyle","inputStyle","active","disabled","underlineStyle","borderBottomWidth","borderBottomColor","highlight","fontStyle","body3","lineHeight","fontSize","undefined","createElement","_extends","selectionColor","placeholderTextColor","placeholder","styles","input","color","text","backgroundColor","background","includeFontPadding","paddingTop","paddingBottom","paddingLeft","paddingRight"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { TextInput as RNTextInput, TextInputProps } from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { UIKitTheme } from '../../types';\n\ntype Props = { variant?: keyof UIKitTheme['colors']['ui']['input'] } & TextInputProps;\nconst TextInput = React.forwardRef<RNTextInput, Props>(function TextInput(\n { children, style, variant = 'default', editable = true, ...props },\n ref,\n) {\n const { typography, colors } = useUIKitTheme();\n\n const variantStyle = colors['ui']['input'][variant];\n const inputStyle = editable ? variantStyle.active : variantStyle.disabled;\n const underlineStyle = variant === 'underline' && { borderBottomWidth: 2, borderBottomColor: inputStyle.highlight };\n const fontStyle = {\n ...typography.body3,\n lineHeight: typography.body3.fontSize ? typography.body3.fontSize * 1.2 : undefined,\n };\n\n return (\n <RNTextInput\n ref={ref}\n editable={editable}\n selectionColor={inputStyle.highlight}\n placeholderTextColor={inputStyle.placeholder}\n style={[\n fontStyle,\n styles.input,\n { color: inputStyle.text, backgroundColor: inputStyle.background },\n underlineStyle,\n style,\n ]}\n {...props}\n >\n {children}\n </RNTextInput>\n );\n});\n\nconst styles = createStyleSheet({\n input: {\n includeFontPadding: false,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingRight: 16,\n },\n});\n\nexport default TextInput;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,IAAIC,WAAW,QAAwB,cAAc;AAEvE,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,OAAOC,aAAa,MAAM,2BAA2B;AAIrD,MAAMH,SAAS,gBAAGD,KAAK,CAACK,UAAU,CAAqB,SAASJ,SAASA,CAAAK,IAAA,EAEvEC,GAAG,EACH;EAAA,IAFA;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,OAAO,GAAG,SAAS;IAAEC,QAAQ,GAAG,IAAI;IAAE,GAAGC;EAAM,CAAC,GAAAN,IAAA;EAGnE,MAAM;IAAEO,UAAU;IAAEC;EAAO,CAAC,GAAGV,aAAa,EAAE;EAE9C,MAAMW,YAAY,GAAGD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAACJ,OAAO,CAAC;EACnD,MAAMM,UAAU,GAAGL,QAAQ,GAAGI,YAAY,CAACE,MAAM,GAAGF,YAAY,CAACG,QAAQ;EACzE,MAAMC,cAAc,GAAGT,OAAO,KAAK,WAAW,IAAI;IAAEU,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAEL,UAAU,CAACM;EAAU,CAAC;EACnH,MAAMC,SAAS,GAAG;IAChB,GAAGV,UAAU,CAACW,KAAK;IACnBC,UAAU,EAAEZ,UAAU,CAACW,KAAK,CAACE,QAAQ,GAAGb,UAAU,CAACW,KAAK,CAACE,QAAQ,GAAG,GAAG,GAAGC;EAC5E,CAAC;EAED,oBACE3B,KAAA,CAAA4B,aAAA,CAAC1B,WAAW,EAAA2B,QAAA;IACVtB,GAAG,EAAEA,GAAI;IACTI,QAAQ,EAAEA,QAAS;IACnBmB,cAAc,EAAEd,UAAU,CAACM,SAAU;IACrCS,oBAAoB,EAAEf,UAAU,CAACgB,WAAY;IAC7CvB,KAAK,EAAE,CACLc,SAAS,EACTU,MAAM,CAACC,KAAK,EACZ;MAAEC,KAAK,EAAEnB,UAAU,CAACoB,IAAI;MAAEC,eAAe,EAAErB,UAAU,CAACsB;IAAW,CAAC,EAClEnB,cAAc,EACdV,KAAK;EACL,GACEG,KAAK,GAERJ,QAAQ,CACG;AAElB,CAAC,CAAC;AAEF,MAAMyB,MAAM,GAAG9B,gBAAgB,CAAC;EAC9B+B,KAAK,EAAE;IACLK,kBAAkB,EAAE,KAAK;IACzBC,UAAU,EAAE,CAAC;IACbC,aAAa,EAAE,CAAC;IAChBC,WAAW,EAAE,EAAE;IACfC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAEF,eAAe1C,SAAS"}
@@ -25,11 +25,11 @@ export { default as BottomSheet } from './ui/BottomSheet';
25
25
  export { default as Button } from './ui/Button';
26
26
  export { default as ChannelFrozenBanner } from './ui/ChannelFrozenBanner';
27
27
  export { DialogProvider, useActionMenu, useAlert, usePrompt, useBottomSheet } from './ui/Dialog';
28
+ export { default as GroupChannelMessage } from './ui/GroupChannelMessage';
29
+ export { default as GroupChannelPreview } from './ui/GroupChannelPreview';
28
30
  export { default as Header } from './ui/Header';
29
31
  export { default as LoadingSpinner } from './ui/LoadingSpinner';
30
32
  export { default as MenuBar } from './ui/MenuBar';
31
- export { default as GroupChannelMessage } from './ui/GroupChannelMessage';
32
- export { default as GroupChannelPreview } from './ui/GroupChannelPreview';
33
33
  export { default as OpenChannelMessage } from './ui/OpenChannelMessage';
34
34
  export { default as OpenChannelPreview } from './ui/OpenChannelPreview';
35
35
  export { default as OutlinedButton } from './ui/OutlinedButton';
@@ -37,6 +37,7 @@ export { default as Placeholder } from './ui/Placeholder';
37
37
  export { default as ProfileCard } from './ui/ProfileCard';
38
38
  export { default as Prompt } from './ui/Prompt';
39
39
  export { default as Toast, useToast, ToastProvider } from './ui/Toast';
40
+ export { default as TypingIndicatorBubble } from './ui/TypingIndicatorBubble';
40
41
 
41
42
  /** Styles **/
42
43
  export { default as createSelectByColorScheme } from './styles/createSelectByColorScheme';