@trypanacea/sdk
Advanced tools
Comparing version 0.0.1 to 0.0.2
{ | ||
"name": "@trypanacea/sdk", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"main": "dist/index.js", | ||
@@ -5,0 +5,0 @@ "scripts": { |
193
README.md
@@ -0,55 +1,144 @@ | ||
# Panacea SDK | ||
The Panacea SDK enables developers to seamlessly integrate the Panacea live chat widget into their web applications. It provides tools for initializing chat sessions, customizing widget behavior, and managing user interactions—all with minimal setup. | ||
## Features | ||
- Easy-to-integrate chat widget | ||
- Customizable launcher button | ||
- Supports shadow DOM for CSS isolation | ||
- API-driven session creation | ||
- Lightweight and developer-friendly | ||
## Installation | ||
Install the Panacea SDK via npm: | ||
```bash | ||
npm install @panacea/sdk | ||
``` | ||
sdk | ||
├─ .git | ||
│ ├─ COMMIT_EDITMSG | ||
│ ├─ FETCH_HEAD | ||
│ ├─ HEAD | ||
│ ├─ config | ||
│ ├─ description | ||
│ ├─ hooks | ||
│ │ ├─ applypatch-msg.sample | ||
│ │ ├─ commit-msg.sample | ||
│ │ ├─ fsmonitor-watchman.sample | ||
│ │ ├─ post-update.sample | ||
│ │ ├─ pre-applypatch.sample | ||
│ │ ├─ pre-commit.sample | ||
│ │ ├─ pre-merge-commit.sample | ||
│ │ ├─ pre-push.sample | ||
│ │ ├─ pre-rebase.sample | ||
│ │ ├─ pre-receive.sample | ||
│ │ ├─ prepare-commit-msg.sample | ||
│ │ ├─ push-to-checkout.sample | ||
│ │ ├─ sendemail-validate.sample | ||
│ │ └─ update.sample | ||
│ ├─ index | ||
│ ├─ info | ||
│ │ └─ exclude | ||
│ ├─ logs | ||
│ │ ├─ HEAD | ||
│ │ └─ refs | ||
│ │ └─ heads | ||
│ │ └─ main | ||
│ ├─ objects | ||
│ │ ├─ 6a | ||
│ │ │ └─ 42a29845abc6bb79a518aa4192d34c0714d088 | ||
│ │ ├─ b2 | ||
│ │ │ └─ f0450cc666ec14d705276937d6b9681df38254 | ||
│ │ ├─ d7 | ||
│ │ │ └─ 69981f6d0929123730cdaccf36956b0af313fc | ||
│ │ ├─ f0 | ||
│ │ │ └─ 6235c460c2de3d97efc8371125594b7b761b08 | ||
│ │ ├─ info | ||
│ │ └─ pack | ||
│ └─ refs | ||
│ ├─ heads | ||
│ │ └─ main | ||
│ └─ tags | ||
├─ .gitignore | ||
├─ package-lock.json | ||
├─ package.json | ||
├─ src | ||
│ └─ index.ts | ||
└─ tsconfig.json | ||
``` | ||
## Usage | ||
### Basic Setup | ||
Import and initialize the SDK in your application: | ||
```javascript | ||
import { PanaceaSDK } from "@panacea/sdk"; | ||
PanaceaSDK.initPanacea({ | ||
appKey: "your-app-key", // Replace with your app key | ||
apiKey: "your-api-key", // Replace with your API key | ||
settings: { | ||
userId: "12345", // Optional: Unique user ID | ||
firstName: "John", // Optional: User's first name | ||
lastName: "Doe", // Optional: User's last name | ||
email: "john.doe@example.com", // Optional: User's email | ||
actionColor: "#3498db", // Optional: Button color | ||
backgroundColor: "#ffffff", // Optional: Widget background color | ||
region: "us", // Optional: Default region (us, eu, ap) | ||
}, | ||
}); | ||
``` | ||
### Customizing the Launcher Button | ||
You can hide the default launcher and use a custom element: | ||
```javascript | ||
PanaceaSDK.initPanacea({ | ||
appKey: "your-app-key", | ||
apiKey: "your-api-key", | ||
settings: { | ||
customLauncherSelector: "#custom-launcher", | ||
hideDefaultLauncher: true, | ||
}, | ||
}); | ||
``` | ||
In your HTML: | ||
```html | ||
<button id="custom-launcher">Start Chat</button> | ||
``` | ||
### Example with React | ||
Here's how to integrate the SDK in a React component: | ||
```javascript | ||
import { useEffect } from "react"; | ||
import { PanaceaSDK } from "@panacea/sdk"; | ||
const ChatWidget = () => { | ||
useEffect(() => { | ||
PanaceaSDK.initPanacea({ | ||
appKey: "your-app-key", | ||
apiKey: "your-api-key", | ||
settings: { | ||
firstName: "Jane", | ||
email: "jane.doe@example.com", | ||
}, | ||
}); | ||
}, []); | ||
return null; | ||
}; | ||
export default ChatWidget; | ||
``` | ||
## API Reference | ||
### `initPanacea({ appKey, apiKey, settings })` | ||
- **appKey** (string): Your app's unique identifier. **Required.** | ||
- **apiKey** (string): API key for authentication. **Required.** | ||
- **settings** (object): Configuration options: | ||
- **userId** (string): User ID for the session. | ||
- **firstName** (string): User's first name. | ||
- **lastName** (string): User's last name. | ||
- **email** (string): User's email. | ||
- **avatar** (string): URL to the user's avatar image. | ||
- **customLauncherSelector** (string): CSS selector for a custom launcher. | ||
- **hideDefaultLauncher** (boolean): Hide the default launcher button. | ||
- **actionColor** (string): Color for interactive elements. | ||
- **backgroundColor** (string): Chat widget background color. | ||
- **region** (string): Server region (us, eu, ap). | ||
## Development | ||
### Running Tests | ||
Run the unit tests to ensure everything is working correctly: | ||
```bash | ||
npm test | ||
``` | ||
### Building the Package | ||
Compile the TypeScript code: | ||
```bash | ||
npm run build | ||
``` | ||
## Contributing | ||
Contributions are welcome! Please follow these steps: | ||
1. Fork the repository. | ||
2. Create a new branch: `git checkout -b feature/your-feature` | ||
3. Make your changes and commit them: `git commit -m "Add your feature"` | ||
4. Push to your branch: `git push origin feature/your-feature` | ||
5. Submit a pull request. | ||
## License | ||
This package is licensed under the MIT License. | ||
## Support | ||
If you encounter issues or have questions, please open an issue in the GitHub repository. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
21583
145