{"_id":"@ansarissab/ngx-paddle-wrapper","_rev":"5-f1b45a3ef1aba954d9ba9130b2dec0d8","time":{"created":"2024-05-11T10:50:09.268Z","1.1.0":"2024-05-11T10:16:19.986Z","modified":"2024-05-11T11:10:44.092Z","1.1.1":"2024-05-11T10:32:16.820Z","1.1.2":"2024-05-11T10:50:09.499Z","1.1.3":"2024-05-11T11:10:43.921Z"},"name":"@ansarissab/ngx-paddle-wrapper","dist-tags":{"latest":"1.1.3"},"versions":{"1.1.2":{"name":"@ansarissab/ngx-paddle-wrapper","version":"1.1.2","peerDependencies":{"@angular/compiler":"^15.0.4","@angular/core":"^15.0.4"},"dependencies":{"tslib":"^2.0.0"},"description":"This is an Angular wrapper library for Paddle.js.","repository":{"type":"git","url":"git+https://github.com/ansarissab/ngx-paddle-wrapper.git"},"keywords":["angular","library","paddle.js","wrapper"],"author":{"name":"Ansarissab"},"license":"MIT","bugs":{"url":"https://github.com/ansarissab/ngx-paddle-wrapper/issues"},"homepage":"https://github.com/ansarissab/ngx-paddle-wrapper#readme","main":"src/public-api.ts","module":"fesm2015/ansarissab-ngx-paddle-wrapper.mjs","es2020":"fesm2020/ansarissab-ngx-paddle-wrapper.mjs","esm2020":"esm2020/ansarissab-ngx-paddle-wrapper.mjs","fesm2020":"fesm2020/ansarissab-ngx-paddle-wrapper.mjs","fesm2015":"fesm2015/ansarissab-ngx-paddle-wrapper.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/ansarissab-ngx-paddle-wrapper.mjs","es2020":"./fesm2020/ansarissab-ngx-paddle-wrapper.mjs","es2015":"./fesm2015/ansarissab-ngx-paddle-wrapper.mjs","node":"./fesm2015/ansarissab-ngx-paddle-wrapper.mjs","default":"./fesm2020/ansarissab-ngx-paddle-wrapper.mjs"}},"sideEffects":false,"_id":"@ansarissab/ngx-paddle-wrapper@1.1.2","gitHead":"9e38a435a9d94d5b7391a078159ce98cdc9286cc","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-8cOQuozVypSSNb9Uz7YERp2SX/nhV8xZNLAz46c5hHBI2Rl5e2oZJkAfBIPzdsk8HVxNMPSDHJKPuwEpdblYog==","shasum":"2396764b3cb61e5501f924147ff2003694cee160","tarball":"https://registry.npmjs.org/@ansarissab/ngx-paddle-wrapper/-/ngx-paddle-wrapper-1.1.2.tgz","fileCount":18,"unpackedSize":156912,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF5i6hy2us5I5b8cwADduOmenenI4Nv35kjxLrCPKdYzAiEA9B0gCvnkko9RCIERwCPXhNPMic1Uh+ldL6rj6cyP7RI="}]},"_npmUser":{"name":"ansarissab","email":"zahidensari116@gmail.com"},"directories":{},"maintainers":[{"name":"ansarissab","email":"zahidensari116@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngx-paddle-wrapper_1.1.2_1715424609348_0.3000630330716205"},"_hasShrinkwrap":false},"1.1.3":{"name":"@ansarissab/ngx-paddle-wrapper","version":"1.1.3","peerDependencies":{"@angular/compiler":"^15.0.4","@angular/core":"^15.0.4"},"dependencies":{"tslib":"^2.0.0"},"description":"This is an Angular wrapper library for Paddle.js.","repository":{"type":"git","url":"git+https://github.com/ansarissab/ngx-paddle-wrapper.git"},"keywords":["angular","library","paddle.js","wrapper"],"author":{"name":"Ansarissab"},"license":"MIT","bugs":{"url":"https://github.com/ansarissab/ngx-paddle-wrapper/issues"},"homepage":"https://github.com/ansarissab/ngx-paddle-wrapper#readme","main":"src/public-api.ts","module":"fesm2015/ansarissab-ngx-paddle-wrapper.mjs","es2020":"fesm2020/ansarissab-ngx-paddle-wrapper.mjs","esm2020":"esm2020/ansarissab-ngx-paddle-wrapper.mjs","fesm2020":"fesm2020/ansarissab-ngx-paddle-wrapper.mjs","fesm2015":"fesm2015/ansarissab-ngx-paddle-wrapper.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/ansarissab-ngx-paddle-wrapper.mjs","es2020":"./fesm2020/ansarissab-ngx-paddle-wrapper.mjs","es2015":"./fesm2015/ansarissab-ngx-paddle-wrapper.mjs","node":"./fesm2015/ansarissab-ngx-paddle-wrapper.mjs","default":"./fesm2020/ansarissab-ngx-paddle-wrapper.mjs"}},"sideEffects":false,"_id":"@ansarissab/ngx-paddle-wrapper@1.1.3","gitHead":"9e38a435a9d94d5b7391a078159ce98cdc9286cc","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-4IsCqICWirP424qo/JCIE6t5DAU7jrUTqOnuCfhLvCDuEpBxLSlvBmar1qgitdtGes9xZRkdixJNz+PXsM+/lA==","shasum":"f98fd479c1ba3f65036fc58a73cb45a314cf9413","tarball":"https://registry.npmjs.org/@ansarissab/ngx-paddle-wrapper/-/ngx-paddle-wrapper-1.1.3.tgz","fileCount":18,"unpackedSize":160415,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHgjWTinsbt1Ab4rgSg6I7dhHVChtgj65vSdyehRUMSgIhAKvJ4P5G/dDlm3d55KblQxOx60OVFxm0c2J3fc6Zjv+i"}]},"_npmUser":{"name":"ansarissab","email":"zahidensari116@gmail.com"},"directories":{},"maintainers":[{"name":"ansarissab","email":"zahidensari116@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngx-paddle-wrapper_1.1.3_1715425843738_0.1334358485177598"},"_hasShrinkwrap":false}},"maintainers":[{"name":"ansarissab","email":"zahidensari116@gmail.com"}],"description":"This is an Angular wrapper library for Paddle.js.","homepage":"https://github.com/ansarissab/ngx-paddle-wrapper#readme","keywords":["angular","library","paddle.js","wrapper"],"repository":{"type":"git","url":"git+https://github.com/ansarissab/ngx-paddle-wrapper.git"},"author":{"name":"Ansarissab"},"bugs":{"url":"https://github.com/ansarissab/ngx-paddle-wrapper/issues"},"license":"MIT","readme":"# Angular Paddle Wrapper\n\nThis is an Angular wrapper library for Paddle.js.\n\nThe author has no affiliation with Paddle.com Market Limited.\n\nThis project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.4\nand updated to Angular v15.\n\n## How to use\n\nMake sure you have an active Paddle account and have read the docs on [paddle.com](https://developer.paddle.com/).\n\n#### 1a) Install with NPM\n\n```shell\n$ npm install ngx-paddle-wrapper\n```\n\n#### 1b) Or Yarn\n\n```shell\n$ yarn add ngx-paddle-wrapper\n```\n\n#### 2) Import the PaddleModule\n\n```typescript\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\n\nimport { AppComponent } from './app.component';\n\nimport { PaddleModule } from 'ngx-paddle-wrapper';\nimport { environment } from '../environments/environment';\n\n@NgModule({\n  declarations: [AppComponent],\n  imports: [\n    BrowserModule,\n    // set the sandbox boolean to control which Paddle\n    // environment you are using:\n    PaddleModule.forRoot({ sandbox: !environment.production }),\n  ],\n  providers: [],\n  bootstrap: [AppComponent],\n})\nexport class AppModule {}\n```\n\n#### 3a) The easy way, using the `ngxPaddle` Directive\n\n```html\n<button ngxPaddle [vendor]=\"123456\" [product]=\"654321\" email=\"test@test.com\" (onCheckoutEvent)=\"checkEvent($event)\"></button>\n```\n\n#### 3b) The less easy way, using the Service directly\n\nSince most of the functionality is through the service you can imlpement this yourself to customize to your needs further.\n\n```typescript\nimport { Component, AfterViewInit } from '@angular/core';\n\nimport { PaddleService, PaddleCheckoutOptions, PaddleEventCallbackData, PADDLE_EVENT_TYPE } from 'ngx-paddle-wrapper';\n\nexport class ComponentThatImplementsPaddle implements AfterViewInit {\n  private paddleOptions: PaddleCheckoutOptions = {\n    product: 654321,\n    title: 'Test Title',\n    message: 'Test Message',\n    coupon: 'TEST',\n    email: 'test@test.com',\n  };\n\n  constructor(private paddleServ: PaddleService) {}\n\n  // Create and open programmatically once the library is loaded.\n  ngAfterViewInit() {\n    this.paddleServ.create({\n      vendor: 123456,\n      eventCallback: this.checkEvent,\n    });\n  }\n\n  onSubscribe() {\n    this.paddleServ.open(this.paddleOptions);\n  }\n\n  checkEvent(data: PaddleEventCallbackData) {\n    // Handle Event\n    if (data.event === PADDLE_EVENT_TYPE.CheckoutComplete) {\n      console.log('User has completed checkout!');\n    } else {\n      console.log(data.event);\n    }\n  }\n}\n```\n\n#### 3c) Use Available Options (see official docs for more)\n\nFor Directive:\n| Attribute/prop | input/output | optional/required | Type |Description |\n| --------------- | ------------ | ----------------- | -------- | -------------------------- |\n| vendor | input | required | number | Your vendor id |\n| product | input | required | number | Your product id |\n| title | input | optional | string | See docs |\n| message | input | optional | string | See docs |\n| coupon | input | optional | string | See docs |\n| email | input | optional | string | See docs |\n| onCheckoutEvent | output | optional | string | See docs |\n\nFor Service: all other options\n\n#### 4) Get Price\n\n```typescript\nimport { Component, AfterViewInit } from '@angular/core';\n\nimport {\n  PaddleProductPrice,\n  PaddleService,\n  PaddleCheckoutOptions,\n  PaddleEventCallbackData,\n  PADDLE_EVENT_TYPE,\n} from 'ngx-paddle-wrapper';\n\nexport class ComponentThatImplementsPaddle implements AfterViewInit {\n  private paddleOptions: PaddleCheckoutOptions = {\n    product: 654321,\n    title: 'Test Title',\n    message: 'Test Message',\n    coupon: 'TEST',\n    email: 'test@test.com',\n  };\n  price: PaddleProductPrice;\n\n  constructor(private paddleServ: PaddleService) {}\n\n  // Create and open programatically once the library is loaded.\n  ngAfterViewInit() {\n    this.paddleServ.create({\n      vendor: 123456,\n      eventCallback: this.checkEvent,\n    });\n    // GET YOUR PRODUCTS PRICE:\n    const numberOfProductsToPrice = 2;\n    this.price = await this.paddleServ.getPrice(this.paddleOptions.product, numberOfProductsToPrice);\n    // OR (quantity defaults to 1):\n    this.price = await this.paddleServ.getPrice(this.paddleOptions.product);\n  }\n  [...]\n}\n```\n\n## How to contribute\n\nWant to contribute to this project? Awesome! There are many ways you can contribute, see below.\n\n### Opening issues\n\nOpen an issue to report bugs or to propose new features. If you have a general usage question please note that this is just a wrapper and most questions should be directed to the actual library in Stack Overflow etc.\n\n### Proposing pull requests\n\nPull requests are more than welcome. Note that if you are going to propose drastic changes or new features, be sure to open an issue for discussion first, to make sure that your PR will be accepted before you spend effort coding it.\n\n### Todo\n\nTests!\n\n### Building ngx-paddle-wrapper\n\nIn the root directory of the repo:\n\n```bash\nng build paddle --configuration production\n```\n\n### Publishing\n\n```bash\nnpm login\ncd dist/paddle\nnpm publish --access public\n```\n\n### Installing for local development\n\n```bash\ncd dist/paddle\nnpm pack\n```\n\nIn destination project\n\n```bash\nnpm install ../../../ngx-paddle/wrapper/dist/paddle/ansarissab-ngx-paddle-wrapper-1.0.0.tgz\n```\n","readmeFilename":"README.md"}