@sendbird/uikit-react-native-foundation 3.11.3 → 3.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/ImageWithPlaceholder/index.js +1 -2
- package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -1
- package/lib/commonjs/components/Modal/index.js +1 -2
- package/lib/commonjs/components/Modal/index.js.map +1 -1
- package/lib/commonjs/components/PressBox/index.js +1 -2
- package/lib/commonjs/components/PressBox/index.js.map +1 -1
- package/lib/commonjs/components/ProgressBar/index.js +1 -2
- package/lib/commonjs/components/ProgressBar/index.js.map +1 -1
- package/lib/commonjs/components/Switch/index.js +1 -2
- package/lib/commonjs/components/Switch/index.js.map +1 -1
- package/lib/commonjs/components/VideoThumbnail/index.js +1 -2
- package/lib/commonjs/components/VideoThumbnail/index.js.map +1 -1
- package/lib/commonjs/index.js +1 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/ActionMenu/index.js +1 -2
- package/lib/commonjs/ui/ActionMenu/index.js.map +1 -1
- package/lib/commonjs/ui/Avatar/index.js +1 -2
- package/lib/commonjs/ui/Avatar/index.js.map +1 -1
- package/lib/commonjs/ui/Dialog/index.js +1 -2
- package/lib/commonjs/ui/Dialog/index.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.voice.js +1 -2
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.voice.js.map +1 -1
- package/lib/commonjs/ui/LoadingSpinner/index.js +1 -2
- package/lib/commonjs/ui/LoadingSpinner/index.js.map +1 -1
- package/lib/commonjs/ui/Prompt/index.js +1 -2
- package/lib/commonjs/ui/Prompt/index.js.map +1 -1
- package/lib/commonjs/ui/Toast/index.js +1 -2
- package/lib/commonjs/ui/Toast/index.js.map +1 -1
- package/lib/commonjs/ui/TypingIndicatorBubble/index.js +1 -2
- package/lib/commonjs/ui/TypingIndicatorBubble/index.js.map +1 -1
- package/lib/typescript/src/components/TextInput/index.d.ts +2 -1
- package/lib/typescript/src/styles/createSelectByColorScheme.d.ts +1 -1
- package/lib/typescript/src/ui/Avatar/index.d.ts +15 -14
- package/lib/typescript/src/ui/GroupChannelMessage/MessageOpenGraph.d.ts +4 -4
- package/lib/typescript/src/ui/GroupChannelMessage/index.d.ts +81 -153
- package/lib/typescript/src/ui/Header/index.d.ts +1 -1
- package/lib/typescript/src/ui/OpenChannelMessage/index.d.ts +7 -109
- package/lib/typescript/src/ui/Toast/index.d.ts +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Icon","_interopRequireDefault","_Image","_createStyleSheet","_useUIKitTheme","_AvatarGroup","_AvatarIcon","_AvatarStack","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Icon","_interopRequireDefault","_Image","_createStyleSheet","_useUIKitTheme","_AvatarGroup","_AvatarIcon","_AvatarStack","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Avatar","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","primary300","opacity","onBackgroundDark01","createStyleSheet","alignItems","justifyContent","overflow","_default","exports","assign","Group","AvatarGroup","Icon","AvatarIcon","Stack","AvatarStack"],"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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","ignoreList":[]}
|
|
@@ -11,8 +11,7 @@ var _Alert = _interopRequireDefault(require("../Alert"));
|
|
|
11
11
|
var _BottomSheet = _interopRequireDefault(require("../BottomSheet"));
|
|
12
12
|
var _Prompt = _interopRequireDefault(require("../Prompt"));
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
function
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
15
|
const AlertContext = /*#__PURE__*/_react.default.createContext(null);
|
|
17
16
|
const ActionMenuContext = /*#__PURE__*/_react.default.createContext(null);
|
|
18
17
|
const PromptContext = /*#__PURE__*/_react.default.createContext(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_ActionMenu","_interopRequireDefault","_Alert","_BottomSheet","_Prompt","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","AlertContext","React","createContext","ActionMenuContext","PromptContext","BottomSheetContext","DISMISS_TIMEOUT","DialogProvider","defaultLabels","children","_workingDialogJob$cur","_workingDialogJob$cur2","_defaultLabels$alert","_workingDialogJob$cur3","_defaultLabels$prompt","_defaultLabels$prompt2","_defaultLabels$prompt3","_workingDialogJob$cur4","waitDismissTimeout","useRef","waitDismissPromise","waitDismiss","useCallback","resolver","current","setTimeout","completeDismiss","clearTimeout","undefined","render","useForceUpdate","dialogQueue","workingDialogJob","visibleState","isProcessing","Boolean","updateToShow","updateToHide","Promise","resolve","consumeQueue","job","shift","createJob","type","props","jobItem","push","alert","openMenu","openPrompt","openSheet","createElement","Provider","value","onHide","onDismiss","visible","title","menuItems","message","buttons","text","ok","onSubmit","defaultValue","submitLabel","prompt","cancelLabel","cancel","placeholder","sheetItems","HeaderComponent","exports","useActionMenu","context","useContext","Error","useAlert","usePrompt","useBottomSheet"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type { ActionMenuItem } from '../ActionMenu';\nimport ActionMenu from '../ActionMenu';\nimport type { AlertItem } from '../Alert';\nimport Alert from '../Alert';\nimport type { BottomSheetItem } from '../BottomSheet';\nimport BottomSheet from '../BottomSheet';\nimport type { PromptItem } from '../Prompt';\nimport Prompt from '../Prompt';\n\ntype DialogJob =\n | {\n type: 'ActionMenu';\n props: ActionMenuItem;\n }\n | {\n type: 'Alert';\n props: AlertItem;\n }\n | {\n type: 'Prompt';\n props: PromptItem;\n }\n | {\n type: 'BottomSheet';\n props: BottomSheetItem;\n };\n\ntype DialogPropsBy<T extends DialogJob['type'], U extends DialogJob = DialogJob> = U extends { type: T; props: infer P }\n ? P\n : never;\n\ntype DialogContextType = {\n openMenu: (props: DialogPropsBy<'ActionMenu'>) => void;\n alert: (props: DialogPropsBy<'Alert'>) => void;\n openPrompt: (props: DialogPropsBy<'Prompt'>) => void;\n openSheet: (props: DialogPropsBy<'BottomSheet'>) => void;\n};\n\nconst AlertContext = React.createContext<Pick<DialogContextType, 'alert'> | null>(null);\nconst ActionMenuContext = React.createContext<Pick<DialogContextType, 'openMenu'> | null>(null);\nconst PromptContext = React.createContext<Pick<DialogContextType, 'openPrompt'> | null>(null);\nconst BottomSheetContext = React.createContext<Pick<DialogContextType, 'openSheet'> | null>(null);\n\ntype Props = React.PropsWithChildren<{\n defaultLabels?: {\n alert?: { ok?: string };\n prompt?: { placeholder?: string; ok?: string; cancel?: string };\n };\n}>;\nconst DISMISS_TIMEOUT = 3000;\nexport const DialogProvider = ({ defaultLabels, children }: Props) => {\n const waitDismissTimeout = useRef<NodeJS.Timeout>();\n const waitDismissPromise = useRef<() => void>();\n const waitDismiss = useCallback((resolver: () => void) => {\n waitDismissPromise.current = resolver;\n waitDismissTimeout.current = setTimeout(completeDismiss, DISMISS_TIMEOUT);\n }, []);\n const completeDismiss = useCallback(() => {\n if (waitDismissTimeout.current) clearTimeout(waitDismissTimeout.current);\n if (waitDismissPromise.current) waitDismissPromise.current();\n waitDismissTimeout.current = undefined;\n waitDismissPromise.current = undefined;\n }, []);\n\n const render = useForceUpdate();\n const dialogQueue = useRef<DialogJob[]>([]);\n const workingDialogJob = useRef<DialogJob>();\n const visibleState = useRef(false);\n\n const isProcessing = () => Boolean(workingDialogJob.current);\n const updateToShow = useCallback(() => {\n visibleState.current = true;\n render();\n }, []);\n const updateToHide = useCallback((): Promise<void> => {\n return new Promise((resolve) => {\n visibleState.current = false;\n render();\n waitDismiss(resolve);\n });\n }, []);\n const consumeQueue = useCallback(() => {\n completeDismiss();\n const job = dialogQueue.current.shift();\n if (job) {\n workingDialogJob.current = job;\n updateToShow();\n } else {\n workingDialogJob.current = undefined;\n }\n }, []);\n\n const createJob =\n <T extends DialogJob['type']>(type: T) =>\n (props: DialogPropsBy<T>) => {\n const jobItem = { type, props } as DialogJob;\n if (isProcessing()) dialogQueue.current.push(jobItem);\n else {\n workingDialogJob.current = jobItem;\n updateToShow();\n }\n };\n\n const alert = useCallback(createJob('Alert'), []);\n const openMenu = useCallback(createJob('ActionMenu'), []);\n const openPrompt = useCallback(createJob('Prompt'), []);\n const openSheet = useCallback(createJob('BottomSheet'), []);\n\n return (\n <AlertContext.Provider value={{ alert }}>\n <ActionMenuContext.Provider value={{ openMenu }}>\n <PromptContext.Provider value={{ openPrompt }}>\n <BottomSheetContext.Provider value={{ openSheet }}>\n {children}\n {workingDialogJob.current?.type === 'ActionMenu' && (\n <ActionMenu\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n menuItems={workingDialogJob.current.props.menuItems}\n />\n )}\n {workingDialogJob.current?.type === 'Alert' && (\n <Alert\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n message={workingDialogJob.current.props.message}\n buttons={workingDialogJob.current.props.buttons ?? [{ text: defaultLabels?.alert?.ok || 'OK' }]}\n />\n )}\n {workingDialogJob.current?.type === 'Prompt' && (\n <Prompt\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n onSubmit={workingDialogJob.current.props.onSubmit}\n defaultValue={workingDialogJob.current.props.defaultValue}\n submitLabel={workingDialogJob.current.props.submitLabel ?? defaultLabels?.prompt?.ok}\n cancelLabel={workingDialogJob.current.props.cancelLabel ?? defaultLabels?.prompt?.cancel}\n placeholder={workingDialogJob.current.props.placeholder ?? defaultLabels?.prompt?.placeholder}\n />\n )}\n {workingDialogJob.current?.type === 'BottomSheet' && (\n <BottomSheet\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n sheetItems={workingDialogJob.current.props.sheetItems}\n HeaderComponent={workingDialogJob.current.props.HeaderComponent}\n />\n )}\n </BottomSheetContext.Provider>\n </PromptContext.Provider>\n </ActionMenuContext.Provider>\n </AlertContext.Provider>\n );\n};\n\nexport const useActionMenu = () => {\n const context = useContext(ActionMenuContext);\n if (!context) throw new Error('ActionMenuContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useAlert = () => {\n const context = useContext(AlertContext);\n if (!context) throw new Error('AlertContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const usePrompt = () => {\n const context = useContext(PromptContext);\n if (!context) throw new Error('PromptContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useBottomSheet = () => {\n const context = useContext(BottomSheetContext);\n if (!context) throw new Error('BottomSheetContext is not provided, wrap your app with DialogProvider');\n return context;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_ActionMenu","_interopRequireDefault","_Alert","_BottomSheet","_Prompt","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AlertContext","React","createContext","ActionMenuContext","PromptContext","BottomSheetContext","DISMISS_TIMEOUT","DialogProvider","defaultLabels","children","_workingDialogJob$cur","_workingDialogJob$cur2","_defaultLabels$alert","_workingDialogJob$cur3","_defaultLabels$prompt","_defaultLabels$prompt2","_defaultLabels$prompt3","_workingDialogJob$cur4","waitDismissTimeout","useRef","waitDismissPromise","waitDismiss","useCallback","resolver","current","setTimeout","completeDismiss","clearTimeout","undefined","render","useForceUpdate","dialogQueue","workingDialogJob","visibleState","isProcessing","Boolean","updateToShow","updateToHide","Promise","resolve","consumeQueue","job","shift","createJob","type","props","jobItem","push","alert","openMenu","openPrompt","openSheet","createElement","Provider","value","onHide","onDismiss","visible","title","menuItems","message","buttons","text","ok","onSubmit","defaultValue","submitLabel","prompt","cancelLabel","cancel","placeholder","sheetItems","HeaderComponent","exports","useActionMenu","context","useContext","Error","useAlert","usePrompt","useBottomSheet"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type { ActionMenuItem } from '../ActionMenu';\nimport ActionMenu from '../ActionMenu';\nimport type { AlertItem } from '../Alert';\nimport Alert from '../Alert';\nimport type { BottomSheetItem } from '../BottomSheet';\nimport BottomSheet from '../BottomSheet';\nimport type { PromptItem } from '../Prompt';\nimport Prompt from '../Prompt';\n\ntype DialogJob =\n | {\n type: 'ActionMenu';\n props: ActionMenuItem;\n }\n | {\n type: 'Alert';\n props: AlertItem;\n }\n | {\n type: 'Prompt';\n props: PromptItem;\n }\n | {\n type: 'BottomSheet';\n props: BottomSheetItem;\n };\n\ntype DialogPropsBy<T extends DialogJob['type'], U extends DialogJob = DialogJob> = U extends { type: T; props: infer P }\n ? P\n : never;\n\ntype DialogContextType = {\n openMenu: (props: DialogPropsBy<'ActionMenu'>) => void;\n alert: (props: DialogPropsBy<'Alert'>) => void;\n openPrompt: (props: DialogPropsBy<'Prompt'>) => void;\n openSheet: (props: DialogPropsBy<'BottomSheet'>) => void;\n};\n\nconst AlertContext = React.createContext<Pick<DialogContextType, 'alert'> | null>(null);\nconst ActionMenuContext = React.createContext<Pick<DialogContextType, 'openMenu'> | null>(null);\nconst PromptContext = React.createContext<Pick<DialogContextType, 'openPrompt'> | null>(null);\nconst BottomSheetContext = React.createContext<Pick<DialogContextType, 'openSheet'> | null>(null);\n\ntype Props = React.PropsWithChildren<{\n defaultLabels?: {\n alert?: { ok?: string };\n prompt?: { placeholder?: string; ok?: string; cancel?: string };\n };\n}>;\nconst DISMISS_TIMEOUT = 3000;\nexport const DialogProvider = ({ defaultLabels, children }: Props) => {\n const waitDismissTimeout = useRef<NodeJS.Timeout>();\n const waitDismissPromise = useRef<() => void>();\n const waitDismiss = useCallback((resolver: () => void) => {\n waitDismissPromise.current = resolver;\n waitDismissTimeout.current = setTimeout(completeDismiss, DISMISS_TIMEOUT);\n }, []);\n const completeDismiss = useCallback(() => {\n if (waitDismissTimeout.current) clearTimeout(waitDismissTimeout.current);\n if (waitDismissPromise.current) waitDismissPromise.current();\n waitDismissTimeout.current = undefined;\n waitDismissPromise.current = undefined;\n }, []);\n\n const render = useForceUpdate();\n const dialogQueue = useRef<DialogJob[]>([]);\n const workingDialogJob = useRef<DialogJob>();\n const visibleState = useRef(false);\n\n const isProcessing = () => Boolean(workingDialogJob.current);\n const updateToShow = useCallback(() => {\n visibleState.current = true;\n render();\n }, []);\n const updateToHide = useCallback((): Promise<void> => {\n return new Promise((resolve) => {\n visibleState.current = false;\n render();\n waitDismiss(resolve);\n });\n }, []);\n const consumeQueue = useCallback(() => {\n completeDismiss();\n const job = dialogQueue.current.shift();\n if (job) {\n workingDialogJob.current = job;\n updateToShow();\n } else {\n workingDialogJob.current = undefined;\n }\n }, []);\n\n const createJob =\n <T extends DialogJob['type']>(type: T) =>\n (props: DialogPropsBy<T>) => {\n const jobItem = { type, props } as DialogJob;\n if (isProcessing()) dialogQueue.current.push(jobItem);\n else {\n workingDialogJob.current = jobItem;\n updateToShow();\n }\n };\n\n const alert = useCallback(createJob('Alert'), []);\n const openMenu = useCallback(createJob('ActionMenu'), []);\n const openPrompt = useCallback(createJob('Prompt'), []);\n const openSheet = useCallback(createJob('BottomSheet'), []);\n\n return (\n <AlertContext.Provider value={{ alert }}>\n <ActionMenuContext.Provider value={{ openMenu }}>\n <PromptContext.Provider value={{ openPrompt }}>\n <BottomSheetContext.Provider value={{ openSheet }}>\n {children}\n {workingDialogJob.current?.type === 'ActionMenu' && (\n <ActionMenu\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n menuItems={workingDialogJob.current.props.menuItems}\n />\n )}\n {workingDialogJob.current?.type === 'Alert' && (\n <Alert\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n message={workingDialogJob.current.props.message}\n buttons={workingDialogJob.current.props.buttons ?? [{ text: defaultLabels?.alert?.ok || 'OK' }]}\n />\n )}\n {workingDialogJob.current?.type === 'Prompt' && (\n <Prompt\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n onSubmit={workingDialogJob.current.props.onSubmit}\n defaultValue={workingDialogJob.current.props.defaultValue}\n submitLabel={workingDialogJob.current.props.submitLabel ?? defaultLabels?.prompt?.ok}\n cancelLabel={workingDialogJob.current.props.cancelLabel ?? defaultLabels?.prompt?.cancel}\n placeholder={workingDialogJob.current.props.placeholder ?? defaultLabels?.prompt?.placeholder}\n />\n )}\n {workingDialogJob.current?.type === 'BottomSheet' && (\n <BottomSheet\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n sheetItems={workingDialogJob.current.props.sheetItems}\n HeaderComponent={workingDialogJob.current.props.HeaderComponent}\n />\n )}\n </BottomSheetContext.Provider>\n </PromptContext.Provider>\n </ActionMenuContext.Provider>\n </AlertContext.Provider>\n );\n};\n\nexport const useActionMenu = () => {\n const context = useContext(ActionMenuContext);\n if (!context) throw new Error('ActionMenuContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useAlert = () => {\n const context = useContext(AlertContext);\n if (!context) throw new Error('AlertContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const usePrompt = () => {\n const context = useContext(PromptContext);\n if (!context) throw new Error('PromptContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useBottomSheet = () => {\n const context = useContext(BottomSheetContext);\n if (!context) throw new Error('BottomSheetContext is not provided, wrap your app with DialogProvider');\n return context;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,8 +16,7 @@ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme")
|
|
|
16
16
|
var _LoadingSpinner = _interopRequireDefault(require("../LoadingSpinner"));
|
|
17
17
|
var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
|
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
-
function
|
|
20
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
20
|
const VoiceFileMessage = props => {
|
|
22
21
|
const {
|
|
23
22
|
onLongPress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_Box","_interopRequireDefault","_Icon","_PressBox","_ProgressBar","_Text","_createStyleSheet","_useUIKitTheme","_LoadingSpinner","_MessageContainer","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceFileMessage","props","onLongPress","variant","onToggleVoiceMessage","message","durationMetaArrayKey","onUnmount","initialCurrentTime","onSubscribeStatus","onUnsubscribeStatus","colors","useUIKitTheme","state","setState","useState","_meta$value","meta","metaArrays","find","it","key","value","initialDuration","parseInt","status","currentTime","duration","useEffect","updateCurrentTime","prev","channel","url","messageId","uiColors","ui","groupChannelMessage","remainingTime","createElement","style","styles","container","backgroundColor","enabled","background","onPress","current","total","minWidth","height","trackColor","voiceProgressTrack","overlay","flex","flexDirection","alignItems","justifyContent","paddingHorizontal","size","color","voiceSpinner","containerStyle","voiceActionIconBackground","padding","borderRadius","icon","body3","lineHeight","undefined","marginStart","opacity","textVoicePlaytime","millsToMSS","children","createStyleSheet","overflow","image","maxWidth","width","_default","exports"],"sources":["Message.file.voice.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { SendbirdFileMessage } from '@sendbird/uikit-utils';\nimport { millsToMSS } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport Icon from '../../components/Icon';\nimport PressBox from '../../components/PressBox';\nimport ProgressBar from '../../components/ProgressBar';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport LoadingSpinner from '../LoadingSpinner';\nimport MessageContainer from './MessageContainer';\nimport type { GroupChannelMessageProps } from './index';\n\nexport type VoiceFileMessageState = {\n status: 'preparing' | 'playing' | 'paused';\n currentTime: number;\n duration: number;\n};\n\ntype Props = GroupChannelMessageProps<\n SendbirdFileMessage,\n {\n durationMetaArrayKey?: string;\n onUnmount: () => void;\n initialCurrentTime?: number;\n onSubscribeStatus?: (channelUrl: string, messageId: number, subscriber: (currentTime: number) => void) => void;\n onUnsubscribeStatus?: (channelUrl: string, messageId: number, subscriber: (currentTime: number) => void) => void;\n }\n>;\nconst VoiceFileMessage = (props: Props) => {\n const {\n onLongPress,\n variant = 'incoming',\n onToggleVoiceMessage,\n message,\n durationMetaArrayKey = 'KEY_VOICE_MESSAGE_DURATION',\n onUnmount,\n initialCurrentTime,\n onSubscribeStatus,\n onUnsubscribeStatus,\n } = props;\n\n const { colors } = useUIKitTheme();\n\n const [state, setState] = useState<VoiceFileMessageState>(() => {\n const meta = message.metaArrays.find((it) => it.key === durationMetaArrayKey);\n const value = meta?.value?.[0];\n const initialDuration = value ? parseInt(value, 10) : 0;\n return {\n status: 'paused',\n currentTime: initialCurrentTime || 0,\n duration: initialDuration,\n };\n });\n\n useEffect(() => {\n return () => {\n onUnmount();\n };\n }, []);\n\n useEffect(() => {\n const updateCurrentTime = (currentTime: number) => {\n setState((prev) => ({ ...prev, currentTime }));\n };\n onSubscribeStatus?.(props.channel.url, props.message.messageId, updateCurrentTime);\n return () => {\n onUnsubscribeStatus?.(props.channel.url, props.message.messageId, updateCurrentTime);\n };\n }, []);\n\n const uiColors = colors.ui.groupChannelMessage[variant];\n const remainingTime = state.duration - state.currentTime;\n\n return (\n <MessageContainer {...props}>\n <Box style={styles.container} backgroundColor={uiColors.enabled.background}>\n <PressBox onPress={() => onToggleVoiceMessage?.(state, setState)} onLongPress={onLongPress}>\n <ProgressBar\n current={state.currentTime}\n total={state.duration}\n style={{ minWidth: 136, height: 44 }}\n trackColor={uiColors.enabled.voiceProgressTrack}\n overlay={\n <Box\n flex={1}\n flexDirection={'row'}\n alignItems={'center'}\n justifyContent={'space-between'}\n paddingHorizontal={12}\n >\n {state.status === 'preparing' ? (\n <LoadingSpinner size={24} color={uiColors.enabled.voiceSpinner} />\n ) : (\n <Icon\n size={16}\n containerStyle={{\n backgroundColor: uiColors.enabled.voiceActionIconBackground,\n padding: 6,\n borderRadius: 16,\n }}\n icon={state.status === 'paused' ? 'play' : 'pause'}\n />\n )}\n <Text\n body3\n style={{ lineHeight: undefined, marginStart: 6, opacity: 0.88 }}\n color={uiColors.enabled.textVoicePlaytime}\n >\n {millsToMSS(state.currentTime === 0 ? state.duration : remainingTime)}\n </Text>\n </Box>\n }\n />\n </PressBox>\n {props.children}\n </Box>\n </MessageContainer>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n image: {\n maxWidth: 240,\n width: 240,\n height: 160,\n borderRadius: 16,\n overflow: 'hidden',\n },\n});\n\nexport default VoiceFileMessage;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_Box","_interopRequireDefault","_Icon","_PressBox","_ProgressBar","_Text","_createStyleSheet","_useUIKitTheme","_LoadingSpinner","_MessageContainer","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","VoiceFileMessage","props","onLongPress","variant","onToggleVoiceMessage","message","durationMetaArrayKey","onUnmount","initialCurrentTime","onSubscribeStatus","onUnsubscribeStatus","colors","useUIKitTheme","state","setState","useState","_meta$value","meta","metaArrays","find","it","key","value","initialDuration","parseInt","status","currentTime","duration","useEffect","updateCurrentTime","prev","channel","url","messageId","uiColors","ui","groupChannelMessage","remainingTime","createElement","style","styles","container","backgroundColor","enabled","background","onPress","current","total","minWidth","height","trackColor","voiceProgressTrack","overlay","flex","flexDirection","alignItems","justifyContent","paddingHorizontal","size","color","voiceSpinner","containerStyle","voiceActionIconBackground","padding","borderRadius","icon","body3","lineHeight","undefined","marginStart","opacity","textVoicePlaytime","millsToMSS","children","createStyleSheet","overflow","image","maxWidth","width","_default","exports"],"sources":["Message.file.voice.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { SendbirdFileMessage } from '@sendbird/uikit-utils';\nimport { millsToMSS } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport Icon from '../../components/Icon';\nimport PressBox from '../../components/PressBox';\nimport ProgressBar from '../../components/ProgressBar';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport LoadingSpinner from '../LoadingSpinner';\nimport MessageContainer from './MessageContainer';\nimport type { GroupChannelMessageProps } from './index';\n\nexport type VoiceFileMessageState = {\n status: 'preparing' | 'playing' | 'paused';\n currentTime: number;\n duration: number;\n};\n\ntype Props = GroupChannelMessageProps<\n SendbirdFileMessage,\n {\n durationMetaArrayKey?: string;\n onUnmount: () => void;\n initialCurrentTime?: number;\n onSubscribeStatus?: (channelUrl: string, messageId: number, subscriber: (currentTime: number) => void) => void;\n onUnsubscribeStatus?: (channelUrl: string, messageId: number, subscriber: (currentTime: number) => void) => void;\n }\n>;\nconst VoiceFileMessage = (props: Props) => {\n const {\n onLongPress,\n variant = 'incoming',\n onToggleVoiceMessage,\n message,\n durationMetaArrayKey = 'KEY_VOICE_MESSAGE_DURATION',\n onUnmount,\n initialCurrentTime,\n onSubscribeStatus,\n onUnsubscribeStatus,\n } = props;\n\n const { colors } = useUIKitTheme();\n\n const [state, setState] = useState<VoiceFileMessageState>(() => {\n const meta = message.metaArrays.find((it) => it.key === durationMetaArrayKey);\n const value = meta?.value?.[0];\n const initialDuration = value ? parseInt(value, 10) : 0;\n return {\n status: 'paused',\n currentTime: initialCurrentTime || 0,\n duration: initialDuration,\n };\n });\n\n useEffect(() => {\n return () => {\n onUnmount();\n };\n }, []);\n\n useEffect(() => {\n const updateCurrentTime = (currentTime: number) => {\n setState((prev) => ({ ...prev, currentTime }));\n };\n onSubscribeStatus?.(props.channel.url, props.message.messageId, updateCurrentTime);\n return () => {\n onUnsubscribeStatus?.(props.channel.url, props.message.messageId, updateCurrentTime);\n };\n }, []);\n\n const uiColors = colors.ui.groupChannelMessage[variant];\n const remainingTime = state.duration - state.currentTime;\n\n return (\n <MessageContainer {...props}>\n <Box style={styles.container} backgroundColor={uiColors.enabled.background}>\n <PressBox onPress={() => onToggleVoiceMessage?.(state, setState)} onLongPress={onLongPress}>\n <ProgressBar\n current={state.currentTime}\n total={state.duration}\n style={{ minWidth: 136, height: 44 }}\n trackColor={uiColors.enabled.voiceProgressTrack}\n overlay={\n <Box\n flex={1}\n flexDirection={'row'}\n alignItems={'center'}\n justifyContent={'space-between'}\n paddingHorizontal={12}\n >\n {state.status === 'preparing' ? (\n <LoadingSpinner size={24} color={uiColors.enabled.voiceSpinner} />\n ) : (\n <Icon\n size={16}\n containerStyle={{\n backgroundColor: uiColors.enabled.voiceActionIconBackground,\n padding: 6,\n borderRadius: 16,\n }}\n icon={state.status === 'paused' ? 'play' : 'pause'}\n />\n )}\n <Text\n body3\n style={{ lineHeight: undefined, marginStart: 6, opacity: 0.88 }}\n color={uiColors.enabled.textVoicePlaytime}\n >\n {millsToMSS(state.currentTime === 0 ? state.duration : remainingTime)}\n </Text>\n </Box>\n }\n />\n </PressBox>\n {props.children}\n </Box>\n </MessageContainer>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n image: {\n maxWidth: 240,\n width: 240,\n height: 160,\n borderRadius: 16,\n overflow: 'hidden',\n },\n});\n\nexport default VoiceFileMessage;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,8 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _Icon = _interopRequireDefault(require("../../components/Icon"));
|
|
10
10
|
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
function
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
13
|
const LoadingSpinner = ({
|
|
15
14
|
size = 24,
|
|
16
15
|
color,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Icon","_interopRequireDefault","_useUIKitTheme","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Icon","_interopRequireDefault","_useUIKitTheme","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LoadingSpinner","size","color","style","colors","useUIKitTheme","createElement","Rotate","icon","primary","useLoopAnimated","duration","useNativeDriver","animated","useRef","Animated","Value","current","useEffect","loop","timing","toValue","easing","Easing","inOut","linear","resetBeforeIteration","start","stopAnimation","setValue","children","rotate","interpolate","inputRange","outputRange","View","transform","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated, Easing, StyleProp, ViewStyle } from 'react-native';\n\nimport Icon from '../../components/Icon';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype Props = {\n size?: number;\n color?: string;\n style?: StyleProp<ViewStyle>;\n};\n\nconst LoadingSpinner = ({ size = 24, color, style }: Props) => {\n const { colors } = useUIKitTheme();\n return (\n <Rotate style={style}>\n <Icon icon={'spinner'} size={size} color={color ?? colors.primary} />\n </Rotate>\n );\n};\n\nconst useLoopAnimated = (duration: number, useNativeDriver = true) => {\n const animated = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n Animated.loop(\n Animated.timing(animated, { toValue: 1, duration, useNativeDriver, easing: Easing.inOut(Easing.linear) }),\n { resetBeforeIteration: true },\n ).start();\n\n return () => {\n animated.stopAnimation();\n animated.setValue(0);\n };\n }, []);\n\n return animated;\n};\n\nconst Rotate = ({ children, style }: React.PropsWithChildren<{ style: StyleProp<ViewStyle> }>) => {\n const loop = useLoopAnimated(1000);\n const rotate = loop.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] });\n return <Animated.View style={[style, { transform: [{ rotate }] }]}>{children}</Animated.View>;\n};\n\nexport default LoadingSpinner;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,8 +16,7 @@ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme")
|
|
|
16
16
|
var _Button = _interopRequireDefault(require("../Button"));
|
|
17
17
|
var _DialogBox = _interopRequireDefault(require("../Dialog/DialogBox"));
|
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
-
function
|
|
20
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
20
|
const Prompt = ({
|
|
22
21
|
onDismiss,
|
|
23
22
|
visible,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Modal","_interopRequireDefault","_Text","_TextInput","_createStyleSheet","_useHeaderStyle","_useUIKitTheme","_Button","_DialogBox","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Prompt","onDismiss","visible","onHide","autoFocus","title","defaultValue","placeholder","onSubmit","NOOP","onCancel","submitLabel","cancelLabel","statusBarTranslucent","useHeaderStyle","colors","useUIKitTheme","inputRef","useRef","width","height","useWindowDimensions","buttons","text","onPress","setText","useState","useEffect","setTimeout","_inputRef$current","_inputRef$current2","Platform","OS","current","blur","focus","createElement","enableKeyboardAvoid","disableBackgroundClose","onClose","backgroundStyle","alignItems","justifyContent","style","styles","container","Boolean","View","titleContainer","h1","color","ui","dialog","none","numberOfLines","inputContainer","ref","variant","value","onChangeText","paddingStart","paddingEnd","paddingTop","paddingBottom","buttonContainer","map","index","key","button","contentColor","highlight","Keyboard","dismiss","createStyleSheet","marginBottom","paddingVertical","paddingHorizontal","flexDirection","padding","marginStart","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Keyboard, Platform, TextInput as RNTextInput, View, useWindowDimensions } from 'react-native';\n\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport Modal from '../../components/Modal';\nimport Text from '../../components/Text';\nimport TextInput from '../../components/TextInput';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Button from '../Button';\nimport DialogBox from '../Dialog/DialogBox';\n\nexport type PromptItem = {\n title: string;\n placeholder?: string;\n defaultValue?: string;\n onSubmit?: (text: string) => void;\n submitLabel?: string;\n onCancel?: () => void;\n cancelLabel?: string;\n};\n\ntype Props = {\n visible: boolean;\n onHide: () => void;\n onDismiss?: () => void;\n autoFocus?: boolean;\n} & PromptItem;\nconst Prompt = ({\n onDismiss,\n visible,\n onHide,\n autoFocus = true,\n title,\n defaultValue = '',\n placeholder = 'Enter',\n onSubmit = NOOP,\n onCancel = NOOP,\n submitLabel = 'Submit',\n cancelLabel = 'Cancel',\n}: Props) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const inputRef = useRef<RNTextInput>(null);\n const { width, height } = useWindowDimensions();\n\n const buttons = [\n { text: cancelLabel, onPress: onCancel },\n { text: submitLabel, onPress: () => onSubmit(text) },\n ];\n\n const [text, setText] = useState(defaultValue);\n\n // FIXME: autoFocus trick with modal\n // Android\n // - InputProps.autoFocus is not trigger keyboard appearing.\n // - InputRef.focus() is trigger keyboard appearing, but position of keyboard selection is always the start of text.\n // iOS\n // - InputProps.autoFocus is trigger weird UI behavior on landscape mode.\n useEffect(() => {\n if (autoFocus && visible) {\n setTimeout(() => {\n if (Platform.OS === 'android') inputRef.current?.blur();\n inputRef.current?.focus();\n }, 250);\n }\n }, [autoFocus, visible, `${width}-${height}`]);\n\n return (\n <Modal\n enableKeyboardAvoid\n disableBackgroundClose\n onClose={onHide}\n onDismiss={() => {\n setText('');\n onDismiss?.();\n }}\n statusBarTranslucent={statusBarTranslucent}\n visible={visible}\n backgroundStyle={{ alignItems: 'center', justifyContent: 'center' }}\n >\n <DialogBox style={styles.container}>\n {Boolean(title) && (\n <View style={styles.titleContainer}>\n <Text h1 color={colors.ui.dialog.default.none.text} numberOfLines={1}>\n {title}\n </Text>\n </View>\n )}\n\n <View style={styles.inputContainer}>\n <TextInput\n autoFocus={autoFocus && Platform.OS === 'android'}\n ref={inputRef}\n placeholder={placeholder}\n variant={'underline'}\n value={text}\n onChangeText={setText}\n style={{ paddingStart: 0, paddingEnd: 0, paddingTop: 10, paddingBottom: 10 }}\n />\n </View>\n\n <View style={styles.buttonContainer}>\n {buttons.map(({ text, onPress }, index) => {\n return (\n <Button\n key={text + index}\n variant={'text'}\n style={styles.button}\n contentColor={colors.ui.dialog.default.none.highlight}\n onPress={() => {\n Keyboard.dismiss();\n try {\n onPress?.();\n } finally {\n onHide();\n }\n }}\n >\n {text}\n </Button>\n );\n })}\n </View>\n </DialogBox>\n </Modal>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingTop: 8,\n },\n titleContainer: {\n marginBottom: 12,\n paddingVertical: 12,\n paddingHorizontal: 24,\n alignItems: 'flex-start',\n },\n inputContainer: {\n paddingHorizontal: 24,\n marginBottom: 12,\n },\n buttonContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: 12,\n },\n button: {\n marginStart: 8,\n },\n});\n\nexport default Prompt;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Modal","_interopRequireDefault","_Text","_TextInput","_createStyleSheet","_useHeaderStyle","_useUIKitTheme","_Button","_DialogBox","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Prompt","onDismiss","visible","onHide","autoFocus","title","defaultValue","placeholder","onSubmit","NOOP","onCancel","submitLabel","cancelLabel","statusBarTranslucent","useHeaderStyle","colors","useUIKitTheme","inputRef","useRef","width","height","useWindowDimensions","buttons","text","onPress","setText","useState","useEffect","setTimeout","_inputRef$current","_inputRef$current2","Platform","OS","current","blur","focus","createElement","enableKeyboardAvoid","disableBackgroundClose","onClose","backgroundStyle","alignItems","justifyContent","style","styles","container","Boolean","View","titleContainer","h1","color","ui","dialog","none","numberOfLines","inputContainer","ref","variant","value","onChangeText","paddingStart","paddingEnd","paddingTop","paddingBottom","buttonContainer","map","index","key","button","contentColor","highlight","Keyboard","dismiss","createStyleSheet","marginBottom","paddingVertical","paddingHorizontal","flexDirection","padding","marginStart","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Keyboard, Platform, TextInput as RNTextInput, View, useWindowDimensions } from 'react-native';\n\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport Modal from '../../components/Modal';\nimport Text from '../../components/Text';\nimport TextInput from '../../components/TextInput';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Button from '../Button';\nimport DialogBox from '../Dialog/DialogBox';\n\nexport type PromptItem = {\n title: string;\n placeholder?: string;\n defaultValue?: string;\n onSubmit?: (text: string) => void;\n submitLabel?: string;\n onCancel?: () => void;\n cancelLabel?: string;\n};\n\ntype Props = {\n visible: boolean;\n onHide: () => void;\n onDismiss?: () => void;\n autoFocus?: boolean;\n} & PromptItem;\nconst Prompt = ({\n onDismiss,\n visible,\n onHide,\n autoFocus = true,\n title,\n defaultValue = '',\n placeholder = 'Enter',\n onSubmit = NOOP,\n onCancel = NOOP,\n submitLabel = 'Submit',\n cancelLabel = 'Cancel',\n}: Props) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const inputRef = useRef<RNTextInput>(null);\n const { width, height } = useWindowDimensions();\n\n const buttons = [\n { text: cancelLabel, onPress: onCancel },\n { text: submitLabel, onPress: () => onSubmit(text) },\n ];\n\n const [text, setText] = useState(defaultValue);\n\n // FIXME: autoFocus trick with modal\n // Android\n // - InputProps.autoFocus is not trigger keyboard appearing.\n // - InputRef.focus() is trigger keyboard appearing, but position of keyboard selection is always the start of text.\n // iOS\n // - InputProps.autoFocus is trigger weird UI behavior on landscape mode.\n useEffect(() => {\n if (autoFocus && visible) {\n setTimeout(() => {\n if (Platform.OS === 'android') inputRef.current?.blur();\n inputRef.current?.focus();\n }, 250);\n }\n }, [autoFocus, visible, `${width}-${height}`]);\n\n return (\n <Modal\n enableKeyboardAvoid\n disableBackgroundClose\n onClose={onHide}\n onDismiss={() => {\n setText('');\n onDismiss?.();\n }}\n statusBarTranslucent={statusBarTranslucent}\n visible={visible}\n backgroundStyle={{ alignItems: 'center', justifyContent: 'center' }}\n >\n <DialogBox style={styles.container}>\n {Boolean(title) && (\n <View style={styles.titleContainer}>\n <Text h1 color={colors.ui.dialog.default.none.text} numberOfLines={1}>\n {title}\n </Text>\n </View>\n )}\n\n <View style={styles.inputContainer}>\n <TextInput\n autoFocus={autoFocus && Platform.OS === 'android'}\n ref={inputRef}\n placeholder={placeholder}\n variant={'underline'}\n value={text}\n onChangeText={setText}\n style={{ paddingStart: 0, paddingEnd: 0, paddingTop: 10, paddingBottom: 10 }}\n />\n </View>\n\n <View style={styles.buttonContainer}>\n {buttons.map(({ text, onPress }, index) => {\n return (\n <Button\n key={text + index}\n variant={'text'}\n style={styles.button}\n contentColor={colors.ui.dialog.default.none.highlight}\n onPress={() => {\n Keyboard.dismiss();\n try {\n onPress?.();\n } finally {\n onHide();\n }\n }}\n >\n {text}\n </Button>\n );\n })}\n </View>\n </DialogBox>\n </Modal>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingTop: 8,\n },\n titleContainer: {\n marginBottom: 12,\n paddingVertical: 12,\n paddingHorizontal: 24,\n alignItems: 'flex-start',\n },\n inputContainer: {\n paddingHorizontal: 24,\n marginBottom: 12,\n },\n buttonContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: 12,\n },\n button: {\n marginStart: 8,\n },\n});\n\nexport default Prompt;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,8 +12,7 @@ var _Text = _interopRequireDefault(require("../../components/Text"));
|
|
|
12
12
|
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
|
|
13
13
|
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
function
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
16
|
const ToastContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
18
17
|
const useOpacity = () => {
|
|
19
18
|
const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_Icon","_interopRequireDefault","_Text","_createStyleSheet","_useUIKitTheme","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ToastContext","createContext","useOpacity","opacity","useRef","Animated","Value","current","transition","value","timing","toValue","duration","useNativeDriver","start","show","hide","Toast","visible","type","children","top","bottom","colors","select","palette","useUIKitTheme","color","useMemo","dark","error300","light","error200","secondary300","secondary200","backgroundColor","useEffect","createElement","View","pointerEvents","style","styles","toast","icon","containerStyle","onBackgroundReverse01","body3","numberOfLines","text","VISIBLE_MS","ToastProvider","dismissTimeout","state","setState","useState","useSafeAreaInsets","hideTimeout","setTimeout","prev","clearTimeout","Provider","KeyboardAvoidingView","behavior","Platform","OS","undefined","keyboardVerticalOffset","toastPosition","exports","useToast","context","useContext","Error","createStyleSheet","position","height","paddingHorizontal","justifyContent","alignItems","alignSelf","borderRadius","flexDirection","marginEnd","maxWidth","_default"],"sources":["index.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { Animated, KeyboardAvoidingView, Platform } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport Icon from '../../components/Icon';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype ToastType = 'normal' | 'error' | 'success';\ntype Context = { show(text: string, type?: ToastType): void };\n\nconst ToastContext = createContext<Context | null>(null);\n\ntype Props = React.PropsWithChildren<{\n top?: number;\n bottom?: number;\n visible: boolean;\n type: ToastType;\n children: string;\n}>;\n\nconst useOpacity = () => {\n const opacity = useRef(new Animated.Value(0)).current;\n const transition = (value: number) => {\n Animated.timing(opacity, { toValue: value, duration: 500, useNativeDriver: true }).start();\n };\n\n return {\n opacity,\n show: () => transition(1),\n hide: () => transition(0),\n };\n};\n\nconst Toast = ({ visible, type, children, top, bottom }: Props) => {\n const { colors, select, palette } = useUIKitTheme();\n const { opacity, show, hide } = useOpacity();\n\n const color = useMemo(() => {\n if (type === 'error') {\n return select({ dark: palette.error300, light: palette.error200 });\n }\n if (type === 'success') {\n return select({ dark: palette.secondary300, light: palette.secondary200 });\n }\n return 'transparent';\n }, [type, select]);\n\n const backgroundColor = useMemo(() => {\n return select({ light: 'rgba(0,0,0,0.64)', dark: 'rgba(255,255,255,0.64)' });\n }, [select]);\n\n useEffect(() => {\n visible ? show() : hide();\n }, [visible]);\n\n return (\n <Animated.View pointerEvents={'none'} style={[styles.toast, { opacity, top, bottom, backgroundColor }]}>\n {type !== 'normal' && (\n <Icon icon={type === 'success' ? 'done' : 'error'} color={color} containerStyle={styles.icon} />\n )}\n <Text color={colors.onBackgroundReverse01} body3 numberOfLines={2} style={styles.text}>\n {children}\n </Text>\n </Animated.View>\n );\n};\n\nconst VISIBLE_MS = 3000;\nexport const ToastProvider = ({\n children,\n dismissTimeout = VISIBLE_MS,\n}: React.PropsWithChildren<{ dismissTimeout?: number }>) => {\n const [state, setState] = useState({ visible: false, type: 'error' as ToastType, text: '' });\n const { bottom } = useSafeAreaInsets();\n\n useEffect(() => {\n if (!state.visible) return;\n\n const hideTimeout = setTimeout(() => {\n setState((prev) => ({ ...prev, visible: false }));\n }, dismissTimeout);\n return () => clearTimeout(hideTimeout);\n });\n\n return (\n <ToastContext.Provider value={{ show: (text, type = 'normal') => text && setState({ text, type, visible: true }) }}>\n {children}\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'position' : undefined}\n keyboardVerticalOffset={-bottom}\n pointerEvents={'none'}\n >\n <Toast type={state.type} visible={state.visible} bottom={bottom + styles.toastPosition.bottom}>\n {state.text}\n </Toast>\n </KeyboardAvoidingView>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = () => {\n const context = useContext(ToastContext);\n if (!context) throw new Error('ToastContext is not provided, wrap your app with ToastProvider');\n return context;\n};\n\nconst styles = createStyleSheet({\n toast: {\n position: 'absolute',\n height: 48,\n paddingHorizontal: 12,\n justifyContent: 'center',\n alignItems: 'center',\n alignSelf: 'center',\n borderRadius: 24,\n flexDirection: 'row',\n },\n icon: {\n marginEnd: 4,\n },\n text: {\n maxWidth: 240,\n paddingHorizontal: 4,\n },\n toastPosition: {\n bottom: 60,\n },\n});\n\nexport default Toast;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_Icon","_interopRequireDefault","_Text","_createStyleSheet","_useUIKitTheme","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToastContext","createContext","useOpacity","opacity","useRef","Animated","Value","current","transition","value","timing","toValue","duration","useNativeDriver","start","show","hide","Toast","visible","type","children","top","bottom","colors","select","palette","useUIKitTheme","color","useMemo","dark","error300","light","error200","secondary300","secondary200","backgroundColor","useEffect","createElement","View","pointerEvents","style","styles","toast","icon","containerStyle","onBackgroundReverse01","body3","numberOfLines","text","VISIBLE_MS","ToastProvider","dismissTimeout","state","setState","useState","useSafeAreaInsets","hideTimeout","setTimeout","prev","clearTimeout","Provider","KeyboardAvoidingView","behavior","Platform","OS","undefined","keyboardVerticalOffset","toastPosition","exports","useToast","context","useContext","Error","createStyleSheet","position","height","paddingHorizontal","justifyContent","alignItems","alignSelf","borderRadius","flexDirection","marginEnd","maxWidth","_default"],"sources":["index.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { Animated, KeyboardAvoidingView, Platform } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport Icon from '../../components/Icon';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype ToastType = 'normal' | 'error' | 'success';\ntype Context = { show(text: string, type?: ToastType): void };\n\nconst ToastContext = createContext<Context | null>(null);\n\ntype Props = React.PropsWithChildren<{\n top?: number;\n bottom?: number;\n visible: boolean;\n type: ToastType;\n children: string;\n}>;\n\nconst useOpacity = () => {\n const opacity = useRef(new Animated.Value(0)).current;\n const transition = (value: number) => {\n Animated.timing(opacity, { toValue: value, duration: 500, useNativeDriver: true }).start();\n };\n\n return {\n opacity,\n show: () => transition(1),\n hide: () => transition(0),\n };\n};\n\nconst Toast = ({ visible, type, children, top, bottom }: Props) => {\n const { colors, select, palette } = useUIKitTheme();\n const { opacity, show, hide } = useOpacity();\n\n const color = useMemo(() => {\n if (type === 'error') {\n return select({ dark: palette.error300, light: palette.error200 });\n }\n if (type === 'success') {\n return select({ dark: palette.secondary300, light: palette.secondary200 });\n }\n return 'transparent';\n }, [type, select]);\n\n const backgroundColor = useMemo(() => {\n return select({ light: 'rgba(0,0,0,0.64)', dark: 'rgba(255,255,255,0.64)' });\n }, [select]);\n\n useEffect(() => {\n visible ? show() : hide();\n }, [visible]);\n\n return (\n <Animated.View pointerEvents={'none'} style={[styles.toast, { opacity, top, bottom, backgroundColor }]}>\n {type !== 'normal' && (\n <Icon icon={type === 'success' ? 'done' : 'error'} color={color} containerStyle={styles.icon} />\n )}\n <Text color={colors.onBackgroundReverse01} body3 numberOfLines={2} style={styles.text}>\n {children}\n </Text>\n </Animated.View>\n );\n};\n\nconst VISIBLE_MS = 3000;\nexport const ToastProvider = ({\n children,\n dismissTimeout = VISIBLE_MS,\n}: React.PropsWithChildren<{ dismissTimeout?: number }>) => {\n const [state, setState] = useState({ visible: false, type: 'error' as ToastType, text: '' });\n const { bottom } = useSafeAreaInsets();\n\n useEffect(() => {\n if (!state.visible) return;\n\n const hideTimeout = setTimeout(() => {\n setState((prev) => ({ ...prev, visible: false }));\n }, dismissTimeout);\n return () => clearTimeout(hideTimeout);\n });\n\n return (\n <ToastContext.Provider value={{ show: (text, type = 'normal') => text && setState({ text, type, visible: true }) }}>\n {children}\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'position' : undefined}\n keyboardVerticalOffset={-bottom}\n pointerEvents={'none'}\n >\n <Toast type={state.type} visible={state.visible} bottom={bottom + styles.toastPosition.bottom}>\n {state.text}\n </Toast>\n </KeyboardAvoidingView>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = () => {\n const context = useContext(ToastContext);\n if (!context) throw new Error('ToastContext is not provided, wrap your app with ToastProvider');\n return context;\n};\n\nconst styles = createStyleSheet({\n toast: {\n position: 'absolute',\n height: 48,\n paddingHorizontal: 12,\n justifyContent: 'center',\n alignItems: 'center',\n alignSelf: 'center',\n borderRadius: 24,\n flexDirection: 'row',\n },\n icon: {\n marginEnd: 4,\n },\n text: {\n maxWidth: 240,\n paddingHorizontal: 4,\n },\n toastPosition: {\n bottom: 60,\n },\n});\n\nexport default Toast;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,8 +11,7 @@ var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyle
|
|
|
11
11
|
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
12
12
|
var _Avatar = _interopRequireDefault(require("../Avatar"));
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
function
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
15
|
const TypingIndicatorBubble = ({
|
|
17
16
|
typingUsers,
|
|
18
17
|
containerStyle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Box","_interopRequireDefault","_createStyleSheet","_useUIKitTheme","_Avatar","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Box","_interopRequireDefault","_createStyleSheet","_useUIKitTheme","_Avatar","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypingIndicatorBubble","typingUsers","containerStyle","maxAvatar","select","palette","colors","useUIKitTheme","length","createElement","flexDirection","justifyContent","alignItems","style","Stack","size","styles","remainsTextColor","onBackground02","remainsBackgroundColor","light","background100","dark","background400","marginEnd","map","user","index","key","uri","profileUrl","TypingDots","dotColor","backgroundColor","animation","useRef","Animated","Value","current","dots","matrix","timeline","scale","opacity","interpolate","inputRange","outputRange","extrapolate","useEffect","animated","loop","timing","toValue","duration","easing","Easing","linear","useNativeDriver","start","reset","borderRadius","paddingHorizontal","height","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={{ marginEnd: 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 marginEnd: 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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","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TextInput as RNTextInput, TextInputProps } from 'react-native';
|
|
3
|
+
import type { UIKitTheme } from '../../types';
|
|
3
4
|
import { RTLTextAlignSupportProps } from '../Text';
|
|
4
5
|
declare const TextInput: React.ForwardRefExoticComponent<{
|
|
5
|
-
variant?: "
|
|
6
|
+
variant?: keyof UIKitTheme["colors"]["ui"]["input"];
|
|
6
7
|
} & TextInputProps & RTLTextAlignSupportProps & React.RefAttributes<RNTextInput>>;
|
|
7
8
|
export default TextInput;
|
|
@@ -5,5 +5,5 @@ import type { UIKitColorScheme, UIKitTheme } from '../types';
|
|
|
5
5
|
* @param colorScheme
|
|
6
6
|
* @returns Function
|
|
7
7
|
* */
|
|
8
|
-
declare const createSelectByColorScheme: (colorScheme: UIKitColorScheme) => UIKitTheme[
|
|
8
|
+
declare const createSelectByColorScheme: (colorScheme: UIKitColorScheme) => UIKitTheme["select"];
|
|
9
9
|
export default createSelectByColorScheme;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
import Icon from '../../components/Icon';
|
|
3
4
|
type Props = {
|
|
4
5
|
uri?: string;
|
|
5
6
|
size?: number;
|
|
@@ -9,30 +10,30 @@ type Props = {
|
|
|
9
10
|
};
|
|
10
11
|
declare const _default: (({ uri, square, muted, size, containerStyle }: Props) => React.JSX.Element) & {
|
|
11
12
|
Group: ({ children, containerStyle, size }: {
|
|
12
|
-
size?: number
|
|
13
|
+
size?: number;
|
|
13
14
|
containerStyle?: StyleProp<ViewStyle>;
|
|
14
15
|
} & {
|
|
15
|
-
children?: React.ReactNode;
|
|
16
|
+
children?: React.ReactNode | undefined;
|
|
16
17
|
}) => React.JSX.Element;
|
|
17
18
|
Icon: ({ size, icon, containerStyle, backgroundColor }: {
|
|
18
|
-
icon:
|
|
19
|
-
size?: number
|
|
20
|
-
backgroundColor?: string
|
|
19
|
+
icon: keyof typeof Icon.Assets;
|
|
20
|
+
size?: number;
|
|
21
|
+
backgroundColor?: string;
|
|
21
22
|
containerStyle?: StyleProp<ViewStyle>;
|
|
22
23
|
}) => React.JSX.Element;
|
|
23
24
|
Stack: ({ children, containerStyle, styles, maxAvatar, size, avatarGap, }: {
|
|
24
|
-
size?: number
|
|
25
|
+
size?: number;
|
|
25
26
|
containerStyle?: StyleProp<ViewStyle>;
|
|
26
|
-
maxAvatar?: number
|
|
27
|
-
avatarGap?: number
|
|
27
|
+
maxAvatar?: number;
|
|
28
|
+
avatarGap?: number;
|
|
28
29
|
styles?: {
|
|
29
|
-
borderWidth?: number
|
|
30
|
-
borderColor?: string
|
|
31
|
-
remainsTextColor?: string
|
|
32
|
-
remainsBackgroundColor?: string
|
|
33
|
-
}
|
|
30
|
+
borderWidth?: number;
|
|
31
|
+
borderColor?: string;
|
|
32
|
+
remainsTextColor?: string;
|
|
33
|
+
remainsBackgroundColor?: string;
|
|
34
|
+
};
|
|
34
35
|
} & {
|
|
35
|
-
children?: React.ReactNode;
|
|
36
|
+
children?: React.ReactNode | undefined;
|
|
36
37
|
}) => React.JSX.Element;
|
|
37
38
|
};
|
|
38
39
|
export default _default;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { SendbirdUserMessage } from '@sendbird/uikit-utils';
|
|
3
3
|
declare const MessageOpenGraph: ({ onPressURL, onLongPress, ogMetaData, variant, }: {
|
|
4
|
-
ogMetaData: NonNullable<SendbirdUserMessage[
|
|
5
|
-
variant:
|
|
6
|
-
onPressURL?: (
|
|
7
|
-
onLongPress?: (
|
|
4
|
+
ogMetaData: NonNullable<SendbirdUserMessage["ogMetaData"]>;
|
|
5
|
+
variant: "outgoing" | "incoming";
|
|
6
|
+
onPressURL?: (url: string) => void;
|
|
7
|
+
onLongPress?: () => void;
|
|
8
8
|
}) => React.JSX.Element;
|
|
9
9
|
export default MessageOpenGraph;
|