{"_id":"@alexal1/react-native-gifted-chat","_rev":"4-95f10609d238379aef9a3988dd3187ed","name":"@alexal1/react-native-gifted-chat","dist-tags":{"latest":"0.4.3-alpha3"},"versions":{"0.4.3":{"name":"@alexal1/react-native-gifted-chat","version":"0.4.3","description":"The most complete chat UI for React Native","main":"index.js","types":"index.d.ts","repository":{"type":"git","url":"git+https://github.com/FaridSafi/react-native-gifted-chat.git"},"keywords":["android","ios","react-native","react","react-component","messenger","message","chat"],"author":{"name":"Farid Safi"},"license":"MIT","bugs":{"url":"https://github.com/FaridSafi/react-native-gifted-chat/issues"},"homepage":"https://github.com/FaridSafi/react-native-gifted-chat#readme","scripts":{"lint":"eslint . --ext .js,.jsx","precommit":"yarn lint","test":"jest --no-watchman","test:watch":"jest --watch","test:coverage":"jest --coverage","appr":"cd example-expo && ./setPRVersion.js && yarn && yarn appr","deploy":"cd example-expo && yarn install && exp login --username $EXP_USERNAME --password $EXP_PASSWORD && exp publish --non-interactive"},"jest":{"preset":"react-native","setupFiles":["./tests/setup.js"],"modulePathIgnorePatterns":["<rootDir>/example","<rootDir>/example-expo","<rootDir>/example-slack-message"]},"devDependencies":{"@types/react":"^16.0.38","@types/react-native":"^0.52.12","babel":"6.23.0","babel-jest":"23.0.0","babel-preset-react-native":"4.0.0","eslint":"^4.9.0","eslint-config-airbnb":"16.1.0","eslint-config-cooperka":"0.2.9","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","eslint-plugin-react-native":"3.2.1","husky":"0.15.0-rc.2","jest":"22.1.4","react-test-renderer":"16.4.0","react":"16.2.0","react-native":"0.51.0","prop-types":"15.6.2"},"dependencies":{"@expo/react-native-action-sheet":"^1.0.1","moment":"^2.19.0","react-native-communications":"2.2.1","react-native-lightbox":"^0.7.0","react-native-parsed-text":"^0.0.20","uuid":"3.3.0"},"peerDependencies":{"prop-types":"*","react":"*","react-native":"*"},"gitHead":"052094d4dd1f2cd2726454605cf53ff115b5b9fa","_id":"@alexal1/react-native-gifted-chat@0.4.3","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"alexal1","email":"5740235@gmail.com"},"dist":{"integrity":"sha512-MHo5k1a08kWY9R5YKair2C0/H4Ccc7pkycp8/NnASLVRlI8WZfd6iMEWnosUXuMBePMCIEmHgkoS4KinM5Yc8g==","shasum":"5b1ec9d53b0196431634a4b87c2735ea1f7b2977","tarball":"https://registry.npmjs.org/@alexal1/react-native-gifted-chat/-/react-native-gifted-chat-0.4.3.tgz","fileCount":74,"unpackedSize":355837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbenTeCRA9TVsSAnZWagAAWUkQAI74xVgdqF3YjEZ+ORct\n5lswz+mVYScz9vLTtxf2MQoII0RWPratvWxzKxLJGcgW6VeUozYOVP5gtDGA\nOgofFy50A/UCaz8HOO9A+egAsMYkU2BQww3X8c8x44PJ4XIbWc3Qwa+yoN00\ncIFvv32g4Cfk33DrAcPcSNnwafdnhvv/ym3RuHgIoqDXjNZGUHSI8nFTL5pO\nwcRv/eXbLGD6h2BmoZ2PjzWHSHRdu4YdH5ZReqIfwB50IwN41ciqVQZWhYgw\nTyrHKUr1zDD6PUd2wxAXGP3Kbj5g+NygBZjBeGPxYz3UrgjhrLRIKWvMyYxM\nqgU3MQ5cA6vUqBPv+iShLx/h1fst2CVoUnv4cvpETQp7XVr9prpRy/iI9FH+\nOGMrd6aCCY3sHQtioMj1PyBJV9bg1T9bT3lvTlgx7lVCwz6YkeP8Qcs+zEdc\nZGeVUOLtzRCeyMtHIlRUA63Bdk/7lEsvK5N0ig2Lom6i60dZwuIFGaf3qzv5\nLEXAJUshAsi9UZvK/aDFx0a0ziQWhWsWg5qln7iPFuoU2R5ZxHcriPA0u9sy\nZMvI2RRar4GLtn2KwRpk1gIb0LsAxOA1EDw9R1nqCgXx+cM+WzGYxf5ge5tq\niIy1+zC27U4YBLcYKruvDMvXGn9SBIF3wA/fBCsxdnjTb3T5NkfH1o/xuBkq\nnwkQ\r\n=NtpC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBOgiZxuIQxJqKLMIcGHh+QxwZGldrbScKphzYBjCE5NAiEA8f7kAdByuXETsQOyJZcaXCQhwDh13eJrzNpRLxZ8cuA="}]},"maintainers":[{"name":"alexal1","email":"5740235@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-gifted-chat_0.4.3_1534751966275_0.8718620977146869"},"_hasShrinkwrap":false},"0.4.3-alpha1":{"name":"@alexal1/react-native-gifted-chat","version":"0.4.3-alpha1","description":"The most complete chat UI for React Native","main":"index.js","types":"index.d.ts","repository":{"type":"git","url":"git+https://github.com/FaridSafi/react-native-gifted-chat.git"},"keywords":["android","ios","react-native","react","react-component","messenger","message","chat"],"author":{"name":"Farid Safi"},"license":"MIT","bugs":{"url":"https://github.com/FaridSafi/react-native-gifted-chat/issues"},"homepage":"https://github.com/FaridSafi/react-native-gifted-chat#readme","scripts":{"lint":"eslint . --ext .js,.jsx","precommit":"yarn lint","test":"jest --no-watchman","test:watch":"jest --watch","test:coverage":"jest --coverage","appr":"cd example-expo && ./setPRVersion.js && yarn && yarn appr","deploy":"cd example-expo && yarn install && exp login --username $EXP_USERNAME --password $EXP_PASSWORD && exp publish --non-interactive"},"jest":{"preset":"react-native","setupFiles":["./tests/setup.js"],"modulePathIgnorePatterns":["<rootDir>/example","<rootDir>/example-expo","<rootDir>/example-slack-message"]},"devDependencies":{"@types/react":"^16.0.38","@types/react-native":"^0.52.12","babel":"6.23.0","babel-jest":"23.0.0","babel-preset-react-native":"4.0.0","eslint":"^4.9.0","eslint-config-airbnb":"16.1.0","eslint-config-cooperka":"0.2.9","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","eslint-plugin-react-native":"3.2.1","husky":"0.15.0-rc.2","jest":"22.1.4","react-test-renderer":"16.4.0","react":"16.2.0","react-native":"0.51.0","prop-types":"15.6.2"},"dependencies":{"@expo/react-native-action-sheet":"^1.0.1","moment":"^2.19.0","react-native-communications":"2.2.1","react-native-lightbox":"^0.7.0","react-native-parsed-text":"^0.0.20","uuid":"3.3.0"},"peerDependencies":{"prop-types":"*","react":"*","react-native":"*"},"gitHead":"68cf61140a5128855e254679fb34114d76109c66","_id":"@alexal1/react-native-gifted-chat@0.4.3-alpha1","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"alexal1","email":"5740235@gmail.com"},"dist":{"integrity":"sha512-BYZjhmXIpQkK4T/V3Ee1CRqaITA/hmwPLbxik3/PRw1y8Wp9sw5Ke1pEaV0TysiiCQ1pJkmdRwQ4uNeVDtPtaQ==","shasum":"f07950d73b7e01fa5ce4684acaca9576d1b3a660","tarball":"https://registry.npmjs.org/@alexal1/react-native-gifted-chat/-/react-native-gifted-chat-0.4.3-alpha1.tgz","fileCount":74,"unpackedSize":364242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbepaoCRA9TVsSAnZWagAAkrsQAISWta86HuM7lZ0A6cEy\nOLHOjAKyPLHsg9MLn0lzlLEq1V81nDPAmBhLthbaFskQPo4SqKnbhLNPn2AI\n2g6+5wTVBGHSsRYap5QC26lBHm4y5GMohsexUIwhgcvcb1i0moQHGfmrJpTu\n5y4fBMLTmJARah5LCGiRo6f5LVrs2tl2l0e35jN2K0y0EA7hoCclSX4MiXLw\naf6hBooTRk6O2rz/PZi9+rhwDBpE87uLcWG8WSj4mbLP2oidbNt7cb/M8ADy\nLYAsR2vchBWq/8AE/SXwuT8Nr/SZGAM8/+p+g/9SItodBj8GYj3jcbmINv/z\nDrpI+i7u1uTJIEJ2WwlAGQEVR82IABHwRoOU3f52AfPBE1I4T8SUk6HSM61b\noWhDKH4os2uLf5PlRFfP58DQCICSWi6cJHXQjHIrYXKW9faFi5V2wawkBxey\nm8BrHmuJXvP/5VFt+xgRosDc4o7rJ5jRBPzNKJIDd6RIFbczVWNOMJwcrolN\neTetA8zBPu+t8UfrzqvEoAYSGuZpQF50IlNyHWHniUJrkooBljr64DYINr5M\ndaXoKGBCDaiqN0oGHQTxa4oQZSdVoayeODyxVZ2owJDOJjpuEfIb8kI0MXqd\nvRK70ccMn8e6kodfJMz36LLCH4tOVD9bZW83Uchlj0gOTLKbx0bFAH4EFt0z\nzUco\r\n=pgqL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLYs0giYOiKP4TSShmaqBynU+5h+PunXXOMMrp+pt4TwIhAJMZT39grCCrMWnggmJcgBs+kULNdUKXCjFWzz0cA93Z"}]},"maintainers":[{"name":"alexal1","email":"5740235@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-gifted-chat_0.4.3-alpha1_1534760615565_0.7217249138127118"},"_hasShrinkwrap":false},"0.4.3-alpha2":{"name":"@alexal1/react-native-gifted-chat","version":"0.4.3-alpha2","description":"The most complete chat UI for React Native","main":"index.js","types":"index.d.ts","repository":{"type":"git","url":"git+https://github.com/FaridSafi/react-native-gifted-chat.git"},"keywords":["android","ios","react-native","react","react-component","messenger","message","chat"],"author":{"name":"Farid Safi"},"license":"MIT","bugs":{"url":"https://github.com/FaridSafi/react-native-gifted-chat/issues"},"homepage":"https://github.com/FaridSafi/react-native-gifted-chat#readme","scripts":{"lint":"eslint . --ext .js,.jsx","precommit":"yarn lint","test":"jest --no-watchman","test:watch":"jest --watch","test:coverage":"jest --coverage","appr":"cd example-expo && ./setPRVersion.js && yarn && yarn appr","deploy":"cd example-expo && yarn install && exp login --username $EXP_USERNAME --password $EXP_PASSWORD && exp publish --non-interactive"},"jest":{"preset":"react-native","setupFiles":["./tests/setup.js"],"modulePathIgnorePatterns":["<rootDir>/example","<rootDir>/example-expo","<rootDir>/example-slack-message"]},"devDependencies":{"@types/react":"^16.0.38","@types/react-native":"^0.52.12","babel":"6.23.0","babel-jest":"23.0.0","babel-preset-react-native":"4.0.0","eslint":"^4.9.0","eslint-config-airbnb":"16.1.0","eslint-config-cooperka":"0.2.9","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","eslint-plugin-react-native":"3.2.1","husky":"0.15.0-rc.2","jest":"22.1.4","react-test-renderer":"16.4.0","react":"16.2.0","react-native":"0.51.0","prop-types":"15.6.2"},"dependencies":{"@expo/react-native-action-sheet":"^1.0.1","moment":"^2.19.0","react-native-communications":"2.2.1","react-native-lightbox":"^0.7.0","react-native-parsed-text":"^0.0.20","uuid":"3.3.0"},"peerDependencies":{"prop-types":"*","react":"*","react-native":"*"},"gitHead":"4376b91675d6bb883b3606260d95fc116fdbc083","_id":"@alexal1/react-native-gifted-chat@0.4.3-alpha2","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"alexal1","email":"5740235@gmail.com"},"dist":{"integrity":"sha512-+acLhVTaOCGyr2cUhssONjhcjMiCDvwbcqZiKWZszSKF+UlBndg6rU9EewSA4qFPf4ZJZ64bnlaOJsiJFW0yBg==","shasum":"e0b7b180c10c85e30f6ac63c365b88e8e3d259a5","tarball":"https://registry.npmjs.org/@alexal1/react-native-gifted-chat/-/react-native-gifted-chat-0.4.3-alpha2.tgz","fileCount":74,"unpackedSize":366188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbgEX4CRA9TVsSAnZWagAAPFsP/0dYCRjonp0HUpxsPNwS\n1aKP9FIFJwJQzrHVK/evNeHsKTJXV+8YwlWknf6y7tsfczFRoH9/wyJL6SGm\nw7jRKXLwiBJOwFGUSIinZebe4++XDAIENGynO09cSRmco4J4tsiA/s8JQxuU\nGSKtCvoWBoeqcn6cRs20hYrUXrDiYRG+lka35dGnLktU4Dfv++w+PH83IaTX\nwTi+URUItmy7CdQLbV7U8S6ioTKsJU/XT1Bpu8xCagIqh7YdzJL/7FvVYIjS\nsMTiPasNDl29hcSNNHocATRTtzGLCARjpVrnBY2tbNy/jYxrui8VsZn7wk0j\nii0oAGGtHBmsB3q/3HUaAok6X1jdIRnBBlXQva1ujGF/nqwbahFyBp1YYX7L\nXgHLaR0Uex9CL7YP8Ry190Ov1cpk9gScjI+eFIHDGutP14Vi4/doZPJpP+t5\nVm+6Axo/Ax1APLoB+fMP0RX5/lr8TDLiGhqNa9mUB7lyzeIJeXETqTOws3ES\nOw7AAarZsXIbqchfKugKWU/+ORccM6yExfIp6+5mVeiE2UQpGrkM3pseMHJy\nsXMFtuPYxup8GmHAW3j6Kzek+IMnFMuC3vZ878P0YyKM7vLo0/ReSxEAJjRL\n5j9bnJiVlNP9BlVeuc/6Njm4nNLnk5Bw5fuk2AAOTUeRcNwxdfUCC1FynmhS\nCJ68\r\n=BuH0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEoA7qXGm9TJiuN2fb1jomzASMZppWslbwkceO9QcTLuAiB2XFCmJsKxuRIhphFEVBRhIUz7SbjwsoWxR0PIX+nP1Q=="}]},"maintainers":[{"name":"alexal1","email":"5740235@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-gifted-chat_0.4.3-alpha2_1535133176122_0.06946689477636259"},"_hasShrinkwrap":false},"0.4.3-alpha3":{"name":"@alexal1/react-native-gifted-chat","version":"0.4.3-alpha3","description":"The most complete chat UI for React Native","main":"index.js","types":"index.d.ts","repository":{"type":"git","url":"git+https://github.com/FaridSafi/react-native-gifted-chat.git"},"keywords":["android","ios","react-native","react","react-component","messenger","message","chat"],"author":{"name":"Farid Safi"},"license":"MIT","bugs":{"url":"https://github.com/FaridSafi/react-native-gifted-chat/issues"},"homepage":"https://github.com/FaridSafi/react-native-gifted-chat#readme","scripts":{"lint":"eslint . --ext .js,.jsx","precommit":"yarn lint","test":"jest --no-watchman","test:watch":"jest --watch","test:coverage":"jest --coverage","appr":"cd example-expo && ./setPRVersion.js && yarn && yarn appr","deploy":"cd example-expo && yarn install && exp login --username $EXP_USERNAME --password $EXP_PASSWORD && exp publish --non-interactive"},"jest":{"preset":"react-native","setupFiles":["./tests/setup.js"],"modulePathIgnorePatterns":["<rootDir>/example","<rootDir>/example-expo","<rootDir>/example-slack-message"]},"devDependencies":{"@types/react":"^16.0.38","@types/react-native":"^0.52.12","babel":"6.23.0","babel-jest":"23.0.0","babel-preset-react-native":"4.0.0","eslint":"^4.9.0","eslint-config-airbnb":"16.1.0","eslint-config-cooperka":"0.2.9","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","eslint-plugin-react-native":"3.2.1","husky":"0.15.0-rc.2","jest":"22.1.4","react-test-renderer":"16.4.0","react":"16.2.0","react-native":"0.51.0","prop-types":"15.6.2"},"dependencies":{"@expo/react-native-action-sheet":"^1.0.1","moment":"^2.19.0","react-native-communications":"2.2.1","react-native-lightbox":"^0.7.0","react-native-parsed-text":"^0.0.20","uuid":"3.3.0"},"peerDependencies":{"prop-types":"*","react":"*","react-native":"*"},"gitHead":"b420f3a434580843f5c1c9f395af214e9ffce249","_id":"@alexal1/react-native-gifted-chat@0.4.3-alpha3","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"alexal1","email":"5740235@gmail.com"},"dist":{"integrity":"sha512-ChBf3RiEd/CRnzkW4HU6FGKM5S8v8D7Ti6AYH68415ijzD4w72/OgezyN4JCjlT77hrahcatOsktADAcD8cIoQ==","shasum":"c55cf228fb264a4f9067adf847c884d62def0a3a","tarball":"https://registry.npmjs.org/@alexal1/react-native-gifted-chat/-/react-native-gifted-chat-0.4.3-alpha3.tgz","fileCount":74,"unpackedSize":368396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbhFlnCRA9TVsSAnZWagAAHaYP/3anHW1tNcMHNVGS+Sdz\nhNOTcNajAohWH/Z+8gwta15NXcBNbDWAh44/+UNprb5+f3XGs+lKD3hqkZLj\nL/Bmd4seUY0WK0mrFuy/hFABvpuUtSeXQPzudKAVd3EDnnR7eJ5WgpdMek32\nUZMwwidcrruffE1/MHZgMrmyBOF9l1sW79BZ5jku5coevuoh7FwXb0Y0d5yW\n23Pheq2wyOCk2kY2+3dVf3lkuHDijakiASpYmKG8u0SfG5MaQuZ+PI1XSS+v\nScqZs2nUIuNNJ/IJKBstHBXbScfdIaARzZ8pfn0Di+jWkyLmv0EYAWPnXvbG\nI0RG7V8nQ6C3eQSuh18w/ATIhUdNpwK3K4hlFxSBXOzLvPOvlg+/PVjqTmhp\nG5YggYg3ajjXxtDGudJzWwmpz/lPheMU3eBl8ZEpXc68wczNkvP7KizWxnQ7\nlJ8JEo8LJX2if8byrMkNWNyvLtqWGyCcnMnuY4Lq9uQHL5PEjDMW5gRASN/N\n5Qg+HUZyLPcuAj90HpsE9lUlnPIxQwe1/gZQ6KE8e6+JkwU+7VGiP/gJYv6Y\n4GKIclODNPqhFaV5VhLjDdtI6ui0ZPQw0bkESt8bz6KSk/dkmrg1cmap/K4H\nzICRMK3PywdGRrilsGKlBI9Q+vybA9xk1DQzy0XpWrkCU10qJ2Uogep1Q0Sd\nGgzH\r\n=APEo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9cykPUizxFycxZ3w6mq0o6wFqO4dNgZkIgFQuwBmOgQIgBhg07Yjqrr4kNlxW9oh5DaQS9ZUxMInDvXCp0CLSIFU="}]},"maintainers":[{"name":"alexal1","email":"5740235@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-gifted-chat_0.4.3-alpha3_1535400294580_0.5063035582329245"},"_hasShrinkwrap":false}},"time":{"created":"2018-08-20T07:59:26.040Z","0.4.3":"2018-08-20T07:59:26.397Z","modified":"2022-04-04T12:38:58.460Z","0.4.3-alpha1":"2018-08-20T10:23:35.631Z","0.4.3-alpha2":"2018-08-24T17:52:56.202Z","0.4.3-alpha3":"2018-08-27T20:04:54.685Z"},"maintainers":[{"name":"alexal1","email":"5740235@gmail.com"}],"description":"The most complete chat UI for React Native","homepage":"https://github.com/FaridSafi/react-native-gifted-chat#readme","keywords":["android","ios","react-native","react","react-component","messenger","message","chat"],"repository":{"type":"git","url":"git+https://github.com/FaridSafi/react-native-gifted-chat.git"},"author":{"name":"Farid Safi"},"bugs":{"url":"https://github.com/FaridSafi/react-native-gifted-chat/issues"},"license":"MIT","readme":"<p align=\"center\" >\n    <img alt=\"react-native-gifted-chat\" src=\"https://thumbs.gfycat.com/AbsoluteSadDobermanpinscher-size_restricted.gif\" width=\"260\" height=\"510\" />\n\n</p>\n\n<h3 align=\"center\">\n  💬 Gifted Chat\n</h3>\n<p align=\"center\">\n  The most complete chat UI for React Native <br/>\n  <small>formerly known as Gifted Messenger</small>\n</p>\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/react-native-gifted-chat\">\n  <img alt=\"npm dowloads\" src=\"https://img.shields.io/npm/dm/react-native-gifted-chat.svg\"/></a>\n  <a href=\"https://www.npmjs.com/package/react-native-gifted-chat\"><img alt=\"npm version\" src=\"https://badge.fury.io/js/react-native-gifted-chat.svg\"/></a>\n  <a href=\"https://greenkeeper.io/\"><img src=\"https://badges.greenkeeper.io/FaridSafi/react-native-gifted-chat.svg\" alt=\"build\"></a>\n  <a href=\"https://reactnative.gallery\"><img src=\"https://img.shields.io/badge/reactnative.gallery-%E2%99%A5-red.svg\" alt=\"reactnative.gallery\"></a>\n\n</p>\n<p align=\"center\">\n  <a href=\"https://circleci.com/gh/FaridSafi/react-native-gifted-chat\"><img src=\"https://circleci.com/gh/FaridSafi/react-native-gifted-chat.svg?style=shield\" alt=\"build\"></a>\n  <a href=\"https://travis-ci.org/FaridSafi/react-native-gifted-chat\"><img src=\"https://api.travis-ci.org/FaridSafi/react-native-gifted-chat.svg\" alt=\"deployed\"></a>\n  <a href=\"https://codecov.io/gh/FaridSafi/react-native-gifted-chat\"><img src=\"https://codecov.io/gh/FaridSafi/react-native-gifted-chat/coverage.svg\"></a>\n  <a title='License' href=\"https://github.com/FaridSafi/react-native-gifted-chat/blob/master/LICENSE\" height=\"18\">\n    <img src='https://img.shields.io/badge/license-MIT-blue.svg' />\n  </a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=exp://expo.io/@xcarpentier/gifted-chat\">\n  <br>\n  <a href=\"https://snack.expo.io/@xcarpentier/gifted-chat\" target=\"_blank\"><i>demo</i></a>\n</p>\n\n## Sponsor\n\n<p align=\"center\">\n <sup>Sponsored by <a href=\"https://pusher.com/chatkit?utm_source=github&utm_campaign=react-native-gifted-chat-sponsorship\">Pusher Chatkit</a>:</sup>\n</p>\n<p align=\"center\">\n  <a href=\"https://pusher.com/chatkit?utm_source=github&utm_campaign=react-native-gifted-chat-sponsorship\">\n    <img width=\"650\" src=\"https://github.com/bookercodes/react-native-gifted-chat/blob/master/media/chatit-banner.png?raw=true\" alt=\"Pusher Chatkit\"></a>\n</p>\n\n## Features\n\n* Fully customizable components\n* Composer actions (to attach photos, etc.)\n* Load earlier messages\n* Copy messages to clipboard\n* Touchable links using [react-native-parsed-text](https://github.com/taskrabbit/react-native-parsed-text)\n* Avatar as user's initials\n* Localized dates\n* Multiline TextInput\n* InputToolbar avoiding keyboard\n* Redux support\n* System message\n\n## Dependency\n\n* Use version `0.2.x` for RN `>= 0.44.0`\n* Use version `0.1.x` for RN `>= 0.40.0`\n* Use version `0.0.10` for RN `< 0.40.0`\n\n## Installation\n\n* Using [npm](https://www.npmjs.com/#getting-started): `npm install react-native-gifted-chat --save`\n* Using [Yarn](https://yarnpkg.com/): `yarn add react-native-gifted-chat`\n\n## Example\n\n```jsx\nimport { GiftedChat } from 'react-native-gifted-chat'\n\nclass Example extends React.Component {\n  state = {\n    messages: [],\n  }\n\n  componentWillMount() {\n    this.setState({\n      messages: [\n        {\n          _id: 1,\n          text: 'Hello developer',\n          createdAt: new Date(),\n          user: {\n            _id: 2,\n            name: 'React Native',\n            avatar: 'https://placeimg.com/140/140/any',\n          },\n        },\n      ],\n    })\n  }\n\n  onSend(messages = []) {\n    this.setState(previousState => ({\n      messages: GiftedChat.append(previousState.messages, messages),\n    }))\n  }\n\n  render() {\n    return (\n      <GiftedChat\n        messages={this.state.messages}\n        onSend={messages => this.onSend(messages)}\n        user={{\n          _id: 1,\n        }}\n      />\n    )\n  }\n}\n```\n\n## Advanced example\n\nSee [`example/App.js`](example/App.js) for a working demo!\n\n## \"Slack\" example\n\nSee the files in [`example-slack-message`](example-slack-message) for an example of how to override the default UI to make something that looks more like Slack -- with usernames displayed and all messages on the left.\n\n## Message object\n\ne.g. Chat Message\n\n```js\n{\n  _id: 1,\n  text: 'My message',\n  createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 0)),\n  user: {\n    _id: 2,\n    name: 'React Native',\n    avatar: 'https://facebook.github.io/react/img/logo_og.png',\n  },\n  image: 'https://facebook.github.io/react/img/logo_og.png',\n  // Any additional custom parameters are passed through\n}\n```\n\ne.g. System Message\n\n```js\n{\n  _id: 1,\n  text: 'This is a system message',\n  createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 0)),\n  system: true,\n  // Any additional custom parameters are passed through\n}\n```\n\n## Props\n\n* **`messages`** _(Array)_ - Messages to display\n* **`text`** _(String)_ - Input text; default is `undefined`, but if specified, it will override GiftedChat's internal state (e.g. for redux; [see notes below](#notes-for-redux))\n* **`placeholder`** _(String)_ - Placeholder when `text` is empty; default is `'Type a message...'`\n* **`messageIdGenerator`** _(Function)_ - Generate an id for new messages. Defaults to UUID v4, generated by [uuid](https://github.com/kelektiv/node-uuid)\n* **`user`** _(Object)_ - User sending the messages: `{ _id, name, avatar }`\n* **`onSend`** _(Function)_ - Callback when sending a message\n* **`alwaysShowSend`** _(Bool)_ - Always show send button in input text composer; default `false`, show only when text input is not empty\n* **`locale`** _(String)_ - Locale to localize the dates\n* **`timeFormat`** _(String)_ - Format to use for rendering times; default is `'LT'`\n* **`dateFormat`** _(String)_ - Format to use for rendering dates; default is `'ll'`\n* **`isAnimated`** _(Bool)_ - Animates the view when the keyboard appears\n* **`loadEarlier`** _(Bool)_ - Enables the \"Load earlier messages\" button\n* **`onLoadEarlier`** _(Function)_ - Callback when loading earlier messages\n* **`isLoadingEarlier`** _(Bool)_ - Display an `ActivityIndicator` when loading earlier messages\n* **`renderLoading`** _(Function)_ - Render a loading view when initializing\n* **`renderLoadEarlier`** _(Function)_ - Custom \"Load earlier messages\" button\n* **`renderAvatar`** _(Function)_ - Custom message avatar; set to `null` to not render any avatar for the message\n* **`showUserAvatar`** _(Bool)_ - Whether to render an avatar for the current user; default is `false`, only show avatars for other users\n* **`showAvatarForEveryMessage`** _(Bool)_ - When false, avatars will only be displayed when a consecutive message is from the same user on the same day; default is `false`\n* **`onPressAvatar`** _(Function(`user`))_ - Callback when a message avatar is tapped\n* **`renderAvatarOnTop`** _(Bool)_ - Render the message avatar at the top of consecutive messages, rather than the bottom; default is `false`\n* **`renderBubble`** _(Function)_ - Custom message bubble\n* **`renderSystemMessage`** _(Function)_ - Custom system message\n* **`onLongPress`** _(Function(`context`, `message`))_ - Callback when a message bubble is long-pressed; default is to show an ActionSheet with \"Copy Text\" (see [example using `showActionSheetWithOptions()`](https://github.com/FaridSafi/react-native-gifted-chat/blob/master@%7B2017-09-25%7D/src/Bubble.js#L96-L119))\n* **`inverted`** _(Bool)_ - Reverses display order of `messages`; default is `true`\n* **`renderMessage`** _(Function)_ - Custom message container\n* **`renderMessageText`** _(Function)_ - Custom message text\n* **`renderMessageImage`** _(Function)_ - Custom message image\n* **`imageProps`** _(Object)_ - Extra props to be passed to the [`<Image>`](https://facebook.github.io/react-native/docs/image.html) component created by the default `renderMessageImage`\n* **`lightboxProps`** _(Object)_ - Extra props to be passed to the `MessageImage`'s [Lightbox](https://github.com/oblador/react-native-lightbox)\n* **`renderCustomView`** _(Function)_ - Custom view inside the bubble\n* **`renderDay`** _(Function)_ - Custom day above a message\n* **`renderTime`** _(Function)_ - Custom time inside a message\n* **`renderFooter`** _(Function)_ - Custom footer component on the ListView, e.g. `'User is typing...'`; see [example/App.js](example/App.js) for an example\n* **`renderChatFooter`** _(Function)_ - Custom component to render below the MessageContainer (separate from the ListView)\n* **`renderInputToolbar`** _(Function)_ - Custom message composer container\n* **`renderComposer`** _(Function)_ - Custom text input message composer\n* **`renderActions`** _(Function)_ - Custom action button on the left of the message composer\n* **`renderSend`** _(Function)_ - Custom send button; you can pass children to the original `Send` component quite easily, for example to use a custom icon ([example](https://github.com/FaridSafi/react-native-gifted-chat/pull/487))\n* **`renderAccessory`** _(Function)_ - Custom second line of actions below the message composer\n* **`onPressActionButton`** _(Function)_ - Callback when the Action button is pressed (if set, the default `actionSheet` will not be used)\n* **`bottomOffset`** _(Integer)_ - Distance of the chat from the bottom of the screen (e.g. useful if you display a tab bar)\n* **`minInputToolbarHeight`** _(Integer)_ - Minimum height of the input toolbar; default is `44`\n* **`listViewProps`** _(Object)_ - Extra props to be passed to the messages [`<ListView>`](https://facebook.github.io/react-native/docs/listview.html); some props can't be overridden, see the code in `MessageContainer.render()` for details\n* **`textInputProps`** _(Object)_ - Extra props to be passed to the [`<TextInput>`](https://facebook.github.io/react-native/docs/textinput.html)\n* **`keyboardShouldPersistTaps`** _(Enum)_ - Determines whether the keyboard should stay visible after a tap; see [`<ScrollView>`](https://facebook.github.io/react-native/docs/scrollview.html) docs\n* **`onInputTextChanged`** _(Function)_ - Callback when the input text changes\n* **`maxInputLength`** _(Integer)_ - Max message composer TextInput length\n* **`parsePatterns`** _(Function)_ - Custom parse patterns for [react-native-parsed-text](https://github.com/taskrabbit/react-native-parsed-text) used to linkify message content (like URLs and phone numbers), e.g.:\n\n  ```js\n  <GiftedChat\n    parsePatterns={(linkStyle) => [\n      { type: 'phone', style: linkStyle, onPress: this.onPressPhoneNumber },\n      { pattern: /#(\\w+)/, style: { ...linkStyle, styles.hashtag }, onPress: this.onPressHashtag },\n    ]}\n  />\n  ```\n\n## Imperative methods\n\n* `focusTextInput()` - Open the keyboard and focus the text input box\n\n## Notes for [Redux](https://github.com/reactjs/redux)\n\nThe `messages` prop should work out-of-the-box with Redux. In most cases this is all you need.\n\nIf you decide to specify a `text` prop, GiftedChat will no longer manage its own internal `text` state and will defer entirely to your prop.\nThis is great for using a tool like Redux, but there's one extra step you'll need to take:\nsimply implement `onInputTextChanged` to receive typing events and reset events (e.g. to clear the text `onSend`):\n\n```js\n<GiftedChat\n  text={customText}\n  onInputTextChanged={text => this.setCustomText(text)}\n  /* ... */\n/>\n```\n\n## Notes for Android\n\nIf you are using Create React Native App / Expo, no Android specific installation steps are required -- you can skip this section. Otherwise we recommend modifying your project configuration as follows.\n\n* Make sure you have `android:windowSoftInputMode=\"adjustResize\"` in your `AndroidManifest.xml`:\n\n  ```xml\n  <activity\n    android:name=\".MainActivity\"\n    android:label=\"@string/app_name\"\n    android:windowSoftInputMode=\"adjustResize\"\n    android:configChanges=\"keyboard|keyboardHidden|orientation|screenSize\">\n  ```\n* For **Expo**, there are almost 2 solutions to fix it:\n  * adding KeyboardAvoidingView after GiftedChat\n  * adding an opaque background status bar on app.json https://docs.expo.io/versions/latest/guides/configuration.html#androidstatusbar\n\n* If you plan to use `GiftedChat` inside a `Modal`, see [#200](https://github.com/FaridSafi/react-native-gifted-chat/issues/200).\n## Notes for local development\n\nYou can use [`wml`](https://github.com/wix/wml) to keep the example app in sync\nwith any changes you make to the library during development. Steps:\n\n1. Install it: `npm install -g wml`\n2. Configure it: `wml add . example/node_modules/react-native-gifted-chat` from the root directory\n3. `cd example`\n4. `npm start`\n5. `wml start` in another terminal window (doesn't matter where)\n\nNote that it's important for `wml start` to come **after** `npm start`, or you'll get `Can't find entry file index.js` errors.\nIf you have any issues, you can clear your watches using `watchman watch-del-all` and try again.\n\n## Questions\n\n* [How can I set Bubble color for each user?](https://github.com/FaridSafi/react-native-gifted-chat/issues/672)\n* [How can I pass style props to InputToolbar design and customize it's color and other styles properties?](https://github.com/FaridSafi/react-native-gifted-chat/issues/662)\n* [How can I change the color of the message box?](https://github.com/FaridSafi/react-native-gifted-chat/issues/640)\n* [Is there a way to manually dismiss the keyboard?](https://github.com/FaridSafi/react-native-gifted-chat/issues/647)\n* [I want to implement a popover that pops right after clicking on a specific avatar,\n  what is the best implementation in this case and how?](https://github.com/FaridSafi/react-native-gifted-chat/issues/660)\n* [Why Textinput is hidden on Android?](https://github.com/FaridSafi/react-native-gifted-chat/issues/680#issuecomment-359699364)\n* [How to use renderLoading?](https://github.com/FaridSafi/react-native-gifted-chat/issues/298)\n* [Can I use MySql to save the message?](https://github.com/FaridSafi/react-native-gifted-chat/issues/738)\n\n## License\n\n* [MIT](LICENSE)\n\n## Author\n\nFeel free to ask me questions on Twitter [@FaridSafi](https://www.twitter.com/FaridSafi)!\n\n## Contributors\n\n* Kevin Cooper [cooperka](https://github.com/cooperka)\n* Kfir Golan [kfiroo](https://github.com/kfiroo)\n* Bruno Cascio [brunocascio](https://github.com/brunocascio)\n* Xavier Carpentier [xcarpentier](https://github.com/xcarpentier)\n* [more](https://github.com/FaridSafi/react-native-gifted-chat/graphs/contributors)\n\n<img src=\"https://api.keen.io/3.0/projects/5ae31b61c9e77c0001cc2093/events/pageviews?api_key=55301C3E5BAB217E90A5867113C02506CE20385CD6F4C9C1CCDD4671B1A9DE374C3DF9DEF70C0BB3F5A9C5CA4CB1CCCFAF25FC3ED9CF63FB83102456A6881EFBAECD1C7D9718EE5402752DD8F6FA2DEC4D844BCB17FE6262570DB447D9A8CED2&data=eyJ0aXRsZSI6ICJnYyJ9\" />\n","readmeFilename":"README.md"}