{"_id":"@altoresmonaco/support-portal-widget","_rev":"3-cfa657ecb47b3e811c72cb9f219feff0","name":"@altoresmonaco/support-portal-widget","dist-tags":{"latest":"0.0.24"},"versions":{"0.0.21":{"name":"@altoresmonaco/support-portal-widget","version":"0.0.21","keywords":["react-native","support-portal","altores","mobile","ios","android"],"license":"MIT","_id":"@altoresmonaco/support-portal-widget@0.0.21","maintainers":[{"name":"altoresmonaco","email":"general@altores.app"}],"homepage":"https://github.com/altores/support-portal-react-native-widget#readme","bugs":{"url":"https://github.com/altores/support-portal-react-native-widget/issues"},"dist":{"shasum":"8232710cd13e1bb8aef8fc1791257ab6cda8aa57","tarball":"https://registry.npmjs.org/@altoresmonaco/support-portal-widget/-/support-portal-widget-0.0.21.tgz","fileCount":12,"integrity":"sha512-J+1GfsEO2hN5AsShbmDLC50rpQdFzBrmzAoOLdov2L4X0oRqFbpfjtDoyzYdlOq8J/zx6Ng1OOGdcWueDbFkLA==","signatures":[{"sig":"MEYCIQD2fO6XvZlHlAlEHVMQEY6bQFtpaTqEyopWnEeMYLQCvQIhAKTxBJCEOUQ4sb0dMJHHaKofnaeTeoe+iD8aRNPGeOgv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17446},"main":"index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./index.d.ts","gitHead":"cd280c2642b6d054606df81d55062018f76091ae","scripts":{"lint":"eslint .","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"altoresmonaco","email":"general@altores.app"},"repository":{"url":"git+https://github.com/altores/support-portal-react-native-widget.git","type":"git"},"_npmVersion":"10.8.2","description":"React Native widget for Altores Support Portal","directories":{},"lint-staged":{"*.js":["prettier --write","eslint --fix","git add"]},"_nodeVersion":"18.20.8","dependencies":{"react-native-modal":"^13.0.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^5.1.3","eslint":"^7.21.0","prettier":"^2.2.1","lint-staged":"^10.5.4","eslint-plugin-prettier":"^3.3.1","metro-react-native-babel-preset":"^0.65.2","@react-native-community/eslint-config":"^2.0.0","@react-native-community/eslint-plugin":"^1.1.0"},"peerDependencies":{"react":"*","react-native":"*","react-native-webview":">=13.8.6","@react-native-async-storage/async-storage":">=1.23.1"},"_npmOperationalInternal":{"tmp":"tmp/support-portal-widget_0.0.21_1768183523954_0.9570310477548365","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@altoresmonaco/support-portal-widget","version":"0.0.22","keywords":["react-native","support-portal","altores","mobile","ios","android"],"license":"MIT","_id":"@altoresmonaco/support-portal-widget@0.0.22","maintainers":[{"name":"altoresmonaco","email":"general@altores.app"}],"homepage":"https://github.com/altores/support-portal-react-native-widget#readme","bugs":{"url":"https://github.com/altores/support-portal-react-native-widget/issues"},"dist":{"shasum":"6ba4dd8ca21d990c48710fb1cdbe84b659405734","tarball":"https://registry.npmjs.org/@altoresmonaco/support-portal-widget/-/support-portal-widget-0.0.22.tgz","fileCount":12,"integrity":"sha512-75ggCxKVvS6zJyArxp1X4HmXBKqLl1GJoKyQe9mBTzp15ZgVaVVBA8q+GxrA+5Rlmj6GLwSicuyvtzvs9xFAGA==","signatures":[{"sig":"MEYCIQCc1H2q85PNUS1BI9FWlZRUaOu32MEdtRHB7QJnBmOILwIhAK4x+ay1ykRc9Fv8oVUqKNunEhBAN4g6dKSCJTb9jJD1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16324},"main":"index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./index.d.ts","gitHead":"cd280c2642b6d054606df81d55062018f76091ae","scripts":{"lint":"eslint .","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"altoresmonaco","email":"general@altores.app"},"repository":{"url":"git+https://github.com/altores/support-portal-react-native-widget.git","type":"git"},"_npmVersion":"11.1.0","description":"React Native widget for Altores Support Portal","directories":{},"lint-staged":{"*.js":["prettier --write","eslint --fix","git add"]},"_nodeVersion":"23.6.0","dependencies":{"react-native-modal":"^13.0.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^5.1.3","eslint":"^7.21.0","prettier":"^2.2.1","lint-staged":"^10.5.4","eslint-plugin-prettier":"^3.3.1","metro-react-native-babel-preset":"^0.65.2","@react-native-community/eslint-config":"^2.0.0","@react-native-community/eslint-plugin":"^1.1.0"},"peerDependencies":{"react":"*","react-native":"*","react-native-webview":">=13.8.6","@react-native-async-storage/async-storage":">=1.23.1"},"_npmOperationalInternal":{"tmp":"tmp/support-portal-widget_0.0.22_1769702037406_0.29223124988601556","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@altoresmonaco/support-portal-widget","version":"0.0.24","description":"React Native widget for Altores Support Portal","main":"index.js","scripts":{"lint":"eslint .","test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"react-native-modal":"^13.0.1"},"peerDependencies":{"@react-native-async-storage/async-storage":">=1.23.1","react":"*","react-native":"*","react-native-webview":">=13.8.6"},"devDependencies":{"@react-native-community/eslint-config":"^2.0.0","@react-native-community/eslint-plugin":"^1.1.0","eslint":"^7.21.0","eslint-plugin-prettier":"^3.3.1","husky":"^5.1.3","lint-staged":"^10.5.4","metro-react-native-babel-preset":"^0.65.2","prettier":"^2.2.1"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.js":["prettier --write","eslint --fix","git add"]},"repository":{"type":"git","url":"git+https://github.com/altores/support-portal-react-native-widget.git"},"keywords":["react-native","support-portal","altores","mobile","ios","android"],"bugs":{"url":"https://github.com/altores/support-portal-react-native-widget/issues"},"homepage":"https://github.com/altores/support-portal-react-native-widget#readme","license":"MIT","_id":"@altoresmonaco/support-portal-widget@0.0.24","gitHead":"cd280c2642b6d054606df81d55062018f76091ae","types":"./index.d.ts","_nodeVersion":"23.6.0","_npmVersion":"11.1.0","dist":{"integrity":"sha512-KGjlx5j1aAd42/LpJy7QbPbEwQhxazAfM0rTz+ApOUQygsKt5wO9fRz4Ec/nezhyjN3k/rxFRSFj6l7ILGUr9g==","shasum":"a4db9b95bec34985bce46ff39248683039af14e2","tarball":"https://registry.npmjs.org/@altoresmonaco/support-portal-widget/-/support-portal-widget-0.0.24.tgz","fileCount":12,"unpackedSize":18078,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDDT/Syxufi9gqKlNFtc+951GTHtR9Y73+GQf4nvYGkRQIgCu/v3KKqnqkp3h6cBhKLzZt4D3nwws8YRWEm2DBhOTg="}]},"_npmUser":{"name":"altoresmonaco","email":"general@altores.app"},"directories":{},"maintainers":[{"name":"altoresmonaco","email":"general@altores.app"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/support-portal-widget_0.0.24_1770029697013_0.5016066506231454"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-12T02:05:23.881Z","modified":"2026-02-02T10:54:57.257Z","0.0.21":"2026-01-12T02:05:24.130Z","0.0.22":"2026-01-29T15:53:57.551Z","0.0.24":"2026-02-02T10:54:57.159Z"},"bugs":{"url":"https://github.com/altores/support-portal-react-native-widget/issues"},"license":"MIT","homepage":"https://github.com/altores/support-portal-react-native-widget#readme","keywords":["react-native","support-portal","altores","mobile","ios","android"],"repository":{"type":"git","url":"git+https://github.com/altores/support-portal-react-native-widget.git"},"description":"React Native widget for Altores Support Portal","maintainers":[{"name":"altoresmonaco","email":"general@altores.app"}],"readme":"<h1>\nsupport-portal-react-native-widget\n</h1>\n\n![](https://img.shields.io/npm/v/@altoresmonaco/support-portal-widget?style=flat)\n![](https://img.shields.io/npm/dt/@altoresmonaco/support-portal-widget.svg)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)\n![](https://img.shields.io/npm/l/@altoresmonaco/support-portal-widget)\n\n- **Supported Support Portal version:** 2.16.0+\n\n<img src=\"https://user-images.githubusercontent.com/12408980/203909820-938136a6-bf5b-433e-9f68-d7f28a1303be.png\" alt=\"screenshot\" width=\"350\">\n\n### Installation\n\nInstall the library using either yarn or npm like so:\n\n```sh\nyarn add @altoresmonaco/support-portal-widget\n```\n\nOR\n\n```sh\nnpm install --save @altoresmonaco/support-portal-widget\n```\n\nThis library depends on [react-native-webview](https://www.npmjs.com/package/react-native-webview) and [async-storage](https://github.com/react-native-async-storage/async-storage). Please follow the instructions provided in the docs.\n\n### iOS Installation\n\nIf you're using React Native versions > 60.0, it's relatively straightforward.\n\n```sh\ncd ios && pod install\n```\n\n### How to use\n\n1. Create a website channel in Support Portal server by following the steps described in your Support Portal documentation\n2. Replace `websiteToken` prop and `baseUrl`\n\n```\n\nimport React, { useState } from 'react';\n\nimport { StyleSheet, View, SafeAreaView, TouchableOpacity, Text } from 'react-native';\n\nimport SupportPortalWidget from '@altoresmonaco/support-portal-widget';\n\nconst App = () => {\n  const [showWidget, toggleWidget] = useState(false);\n  const user = {\n    identifier: 'john@gmail.com',\n    name: 'John Samuel',\n    avatar_url: '',\n    email: 'john@gmail.com',\n    identifier_hash: '',\n  };\n  const customAttributes = { accountId: 1, pricingPlan: 'paid', status: 'active' };\n  const websiteToken = 'WEBSITE_TOKEN';\n  const baseUrl = 'SUPPORT_PORTAL_INSTALLATION_URL';\n  const locale = 'en';\n  const colorScheme='dark'\n\n  return (\n    <SafeAreaView style={styles.container}>\n      <View>\n        <TouchableOpacity style={styles.button} onPress={() => toggleWidget(true)}>\n          <Text style={styles.buttonText}>Open widget</Text>\n        </TouchableOpacity>\n      </View>\n      {\n        showWidget&&\n          <SupportPortalWidget\n            websiteToken={websiteToken}\n            locale={locale}\n            baseUrl={baseUrl}\n            closeModal={() => toggleWidget(false)}\n            isModalVisible={showWidget}\n            user={user}\n            customAttributes={customAttributes}\n            colorScheme={colorScheme}\n          />\n      }\n\n    </SafeAreaView>\n  );\n};\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n\n  button: {\n    height: 48,\n    marginTop: 32,\n    paddingTop: 8,\n    paddingBottom: 8,\n    backgroundColor: '#1F93FF',\n    borderRadius: 8,\n    borderWidth: 1,\n    borderColor: '#fff',\n    justifyContent: 'center',\n  },\n  buttonText: {\n    color: '#fff',\n    textAlign: 'center',\n    paddingLeft: 10,\n    fontWeight: '600',\n    fontSize: 16,\n    paddingRight: 10,\n  },\n});\n\nexport default App;\n\n```\n\nYou're done!\n\nThe whole example is in the `/example` folder.\n\n### Props\n\n<table class=\"table\">\n<thead><tr>\n  <th>Name</th><th>Default</th><th>Type</th><th>Description</th>\n</tr></thead>\n<tbody>\n  <tr>\n    <td>baseUrl</td>\n    <td> - </td>\n    <td> String </td>\n    <td>Support Portal installation URL</td>\n  </tr>\n <tr>\n    <td>websiteToken</td>\n    <td> - </td>\n    <td> String </td>\n    <td>Website channel token</td>\n  </tr>\n  <tr>\n    <td>colorScheme</td>\n    <td> light </td>\n    <td> String </td>\n    <td>Widget color scheme (light/dark/auto)</td>\n  </tr>\n   <tr>\n    <td>locale</td>\n    <td> en </td>\n    <td> String </td>\n    <td>Locale</td>\n  </tr>\n  <tr>\n    <td>isModalVisible</td>\n    <td> false </td>\n    <td> Boolean </td>\n    <td>Widget is visible or not</td>\n  </tr>\n    <tr>\n    <td>closeModal</td>\n    <td> - </td>\n    <td> Function </td>\n    <td>Close event</td>\n  </tr>\n  <tr>\n\t  <td>user</td>\n    <td> {} </td>\n    <td> Object </td>\n    <td>User information about the user like email, username and avatar_url</td>\n  </tr>\n  <tr>\n   <td>customAttributes</td>\n    <td> {} </td>\n    <td> Object </td>\n    <td>Additional information about the customer</td>\n  </tr>\n </tbody>\n</table>\n\n## Feedback & Contributing\n\nFeel free to send us feedback or [file an issue](https://github.com/altores/support-portal-react-native-widget/issues).\n\n_Support Portal_ &copy; 2025, Altores Inc - Released under the MIT License.\n","readmeFilename":"README.md"}