@giphy/react-native-sdk
Version:
Giphy React Native SDK
46 lines • 1.81 kB
JavaScript
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
import React from 'react';
import { deserializeGiphyMedia } from './dto/giphyMedia';
import { serializeTheme } from './dto/giphyTheme';
import NativeGiphyGridView from './specs/GiphyGridViewNativeComponent';
export class GiphyGridView extends React.Component {
mediaSelectHandler = e => {
const {
onMediaSelect
} = this.props;
if (!onMediaSelect) {
return;
}
const media = JSON.parse(e.nativeEvent.media ?? '{}') || {};
e.nativeEvent.media = deserializeGiphyMedia(media);
return onMediaSelect(e);
};
render() {
const {
cellPadding = 0,
clipsPreviewRenditionType = 'fixed_width',
content,
disableEmojiVariations = false,
fixedSizeCells = false,
onMediaSelect,
orientation = 'vertical',
renditionType = 'fixed_width',
showCheckeredBackground = false,
theme = 'light',
...other
} = this.props;
return /*#__PURE__*/React.createElement(NativeGiphyGridView, _extends({
cellPadding: cellPadding,
clipsPreviewRenditionType: clipsPreviewRenditionType,
content: content ? JSON.stringify(content) : '',
disableEmojiVariations: disableEmojiVariations,
fixedSizeCells: fixedSizeCells,
onMediaSelect: onMediaSelect ? this.mediaSelectHandler : undefined,
orientation: orientation,
renditionType: renditionType,
showCheckeredBackground: showCheckeredBackground,
theme: JSON.stringify(serializeTheme(theme))
}, other));
}
}
//# sourceMappingURL=GiphyGridView.js.map