{"_id":"@adpulse/sdk","_rev":"7-5e6b9992f482ec4ec35bc33348f135cf","name":"@adpulse/sdk","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@adpulse/sdk","version":"1.0.0","_id":"@adpulse/sdk@1.0.0","maintainers":[{"name":"anupam-mern","email":"akv59199@gmail.com"}],"dist":{"shasum":"5e5035ff5c952c239fdd0171320d3173a42328c6","tarball":"https://registry.npmjs.org/@adpulse/sdk/-/sdk-1.0.0.tgz","fileCount":6,"integrity":"sha512-Up+OrCrbTixvBjXIQIjKLIn6ym3QKAEnGKUmSxtxo9vwMJd1WUsWSjvKRHPTJ6FeIzUaVyGHEtWYsN7N778bRw==","signatures":[{"sig":"MEUCIFMNGZlUFHq1rb1WKHBJUTpIVgeppWXSWzMSMecNpxeCAiEAm2K7YoRfWjS7rTKfLTXMKX5MAwgpNwHHkUsl3Csw7oQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25269},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"3e17b272c23bc07f56a830062cbc38aa736c67b4","scripts":{"build":"tsup src/index.tsx --format cjs,esm --dts --clean --external react"},"_npmUser":{"name":"anupam-mern","email":"akv59199@gmail.com"},"_npmVersion":"10.8.2","description":"AdPulse Client SDK wrapper for standard and animated ad slots","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.0_1783699616100_0.36996378878484415","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adpulse/sdk","version":"1.0.1","_id":"@adpulse/sdk@1.0.1","maintainers":[{"name":"anupam-mern","email":"akv59199@gmail.com"}],"dist":{"shasum":"9512328dea650edca540e5b4466fa85eefca0b3d","tarball":"https://registry.npmjs.org/@adpulse/sdk/-/sdk-1.0.1.tgz","fileCount":6,"integrity":"sha512-aNNwD/nFpYrJW82mZ7523IyRDqrBlN6Pr489q4yMopk/ZXtm6e8TAhLUfgWURyL105JSYOFwpxwABGSfEC/JMg==","signatures":[{"sig":"MEYCIQDmokUQLI8bT/wo3AGg4YYnWjXMpfF9KAYx+Kk39KnqgwIhAOd/yGRsq5j8cOnWk/IyfJHyn3coNgByuVS0JsF5MKWN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25269},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"3e17b272c23bc07f56a830062cbc38aa736c67b4","scripts":{"build":"tsup src/index.tsx --format cjs,esm --dts --clean --external react"},"_npmUser":{"name":"anupam-mern","email":"akv59199@gmail.com"},"_npmVersion":"10.8.2","description":"AdPulse Client SDK wrapper for standard and animated ad slots","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.1_1783699832432_0.6463873753692431","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@adpulse/sdk","version":"1.0.2","_id":"@adpulse/sdk@1.0.2","maintainers":[{"name":"anupam-mern","email":"akv59199@gmail.com"}],"dist":{"shasum":"7040db32ad6b7483ee06609a17043e0b280713f2","tarball":"https://registry.npmjs.org/@adpulse/sdk/-/sdk-1.0.2.tgz","fileCount":6,"integrity":"sha512-0V4CqO6rqvwwr6BNq791ZG6AZwoElVjyitWTyMaKPWXth+M5zDb2OQdV4ny+U7zPr0qx0SQ9tbul2xhiDEwJgg==","signatures":[{"sig":"MEQCIDJQoDT+l7Xqovg+1PTZhJ/jUcfd7QmYM1ePIJs5Us8JAiAEkMFy0jBJLBBVHcW5HyFB7FxjH/7SzYsBR3kCfsgKxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25463},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"3e17b272c23bc07f56a830062cbc38aa736c67b4","scripts":{"build":"tsup src/index.tsx --format cjs,esm --dts --clean --external react"},"_npmUser":{"name":"anupam-mern","email":"akv59199@gmail.com"},"_npmVersion":"10.8.2","description":"AdPulse Client SDK wrapper for standard and animated ad slots","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.2_1783701766124_0.4704775719703722","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@adpulse/sdk","version":"1.0.3","_id":"@adpulse/sdk@1.0.3","maintainers":[{"name":"anupam-mern","email":"akv59199@gmail.com"}],"dist":{"shasum":"2ab55b9aa6e3834ba2a7479e955035faf2b41768","tarball":"https://registry.npmjs.org/@adpulse/sdk/-/sdk-1.0.3.tgz","fileCount":6,"integrity":"sha512-tnF0K8q5LXFU+lDZ5eldKaogS387r6a9JN0Sobg2OSAzJ/Bodeueq2tqQ4kX46D7s4Njw+dpFPvvbFLB0+T0pQ==","signatures":[{"sig":"MEQCIAF64cy+nrOqf8iVGEpcEHZrMA5dSvhwxmxMCfhfJRZsAiAJjm66VcMw7FdoyY7SPFhJm/oswOM0Z3M7dSQAkbWNfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25463},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"3e17b272c23bc07f56a830062cbc38aa736c67b4","scripts":{"build":"tsup src/index.tsx --format cjs,esm --dts --clean --external react"},"_npmUser":{"name":"anupam-mern","email":"akv59199@gmail.com"},"_npmVersion":"10.8.2","description":"AdPulse Client SDK wrapper for standard and animated ad slots","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.3_1783702960268_0.7747525100289288","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@adpulse/sdk","version":"1.0.4","_id":"@adpulse/sdk@1.0.4","maintainers":[{"name":"anupam-mern","email":"akv59199@gmail.com"}],"dist":{"shasum":"fbf47a3857f13d181bf7465051db5d3275fa8e52","tarball":"https://registry.npmjs.org/@adpulse/sdk/-/sdk-1.0.4.tgz","fileCount":6,"integrity":"sha512-q6DX8gzqjF8g5Pa+Nh/d69EVBOLtCYcp2eWYkH+qT9zY/DK7m/N9GD8qlpNnh9J6nvA7v32c/8rX0NrZKC4EIA==","signatures":[{"sig":"MEUCIQDPam+ta4iI04l7YIQUoMawox9KOiv5cc7E1uhXhBiEQgIgfbA+3ufELoHDuKQzKZ0BQAQ3Sov6GTEN7Mmh+LMZcv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25463},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"3e17b272c23bc07f56a830062cbc38aa736c67b4","scripts":{"build":"tsup src/index.tsx --format cjs,esm --dts --clean --external react"},"_npmUser":{"name":"anupam-mern","email":"akv59199@gmail.com"},"_npmVersion":"10.8.2","description":"AdPulse Client SDK wrapper for standard and animated ad slots","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.4_1783703101241_0.04609125432282801","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@adpulse/sdk","version":"1.0.5","_id":"@adpulse/sdk@1.0.5","maintainers":[{"name":"anupam-mern","email":"akv59199@gmail.com"}],"dist":{"shasum":"09bcded7c0cfff37000200dd82e863d34ad87515","tarball":"https://registry.npmjs.org/@adpulse/sdk/-/sdk-1.0.5.tgz","fileCount":6,"integrity":"sha512-b/lzHkbwHjzpU2VFhLXASTnoCKm0PkKhWFs7itBP0E01/fn89j3ajxmuMwLDAeuH0EQ15AGkF/a8r4QlpQi27A==","signatures":[{"sig":"MEUCIDEVf9FpG/aCRKWTjbo58YokcXfXcOgBOjxGpjCLKiutAiEAren9cflHfnQJtU3S5RzNkZxon2CDH0DBl2TnXH8eaI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25463},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"3e17b272c23bc07f56a830062cbc38aa736c67b4","scripts":{"build":"tsup src/index.tsx --format cjs,esm --dts --clean --external react"},"_npmUser":{"name":"anupam-mern","email":"akv59199@gmail.com"},"_npmVersion":"10.8.2","description":"AdPulse Client SDK wrapper for standard and animated ad slots","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.5_1783703316202_0.9955054378106389","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@adpulse/sdk","version":"1.0.6","description":"AdPulse Client SDK wrapper for standard and animated ad slots","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"tsup src/index.tsx --format cjs,esm --dts --clean --external react"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"devDependencies":{"react":"^18.3.1","react-dom":"^18.3.1","tsup":"^8.0.2","typescript":"^5.0.0"},"publishConfig":{"access":"public"},"_id":"@adpulse/sdk@1.0.6","gitHead":"3e17b272c23bc07f56a830062cbc38aa736c67b4","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Oard08HShlWvzCUruIzDJv/D/OL72e5Nhdri21nmUKulc27KZvNd6fw9PCYiFTOWCIMjNo8ERSwlyYBjiNM5QQ==","shasum":"5057b0221e1e0737128f4c8b46d539cd7172c07d","tarball":"https://registry.npmjs.org/@adpulse/sdk/-/sdk-1.0.6.tgz","fileCount":6,"unpackedSize":25463,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDw0a1K1KZphXcIF6x5vksFtJPbceT956dqwCeWJVgBrgIhALigg7rGCFxFUmW/K5z+gX12lbzPOGQ75XgZwIieYu13"}]},"_npmUser":{"name":"anupam-mern","email":"akv59199@gmail.com"},"directories":{},"maintainers":[{"name":"anupam-mern","email":"akv59199@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_1.0.6_1783703673483_0.18129955537990594"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-10T16:06:55.904Z","modified":"2026-07-10T17:14:33.784Z","1.0.0":"2026-07-10T16:06:56.228Z","1.0.1":"2026-07-10T16:10:32.629Z","1.0.2":"2026-07-10T16:42:46.270Z","1.0.3":"2026-07-10T17:02:40.389Z","1.0.4":"2026-07-10T17:05:01.393Z","1.0.5":"2026-07-10T17:08:36.358Z","1.0.6":"2026-07-10T17:14:33.638Z"},"description":"AdPulse Client SDK wrapper for standard and animated ad slots","maintainers":[{"name":"anupam-mern","email":"akv59199@gmail.com"}],"readme":"# AdPulse Client Integration SDK (`@adpulse/sdk`)\n\n> Drop one script/component. Run beautiful ads.\n\n`@adpulse/sdk` is the official JavaScript and React integration library for the AdPulse self-hosted ad network management platform. It allows developers to seamlessly embed styled, responsive, and animated ad cards into React, Next.js, or vanilla HTML/JS websites.\n\n> [!TIP]\n> **Recommended:** Go to [vulnera.online/docs](https://vulnera.online/docs) and use the SDK-based templates for more design options, custom styling parameters, and better performance.\n\n---\n\n## 🚀 Installation\n\nInstall the package via your preferred package manager:\n\n```bash\nnpm install @adpulse/sdk\n# or\nyarn add @adpulse/sdk\n# or\npnpm add @adpulse/sdk\n```\n\n---\n\n## ⚛️ React & Next.js Usage\n\nThe package exports two React components:\n* `<AdSlot />`: Renders standard ad cards (classic, minimal, spotlight templates).\n* `<AdSlotBeta />`: Renders advanced animated ad cards with support for curved shapes/polygons.\n\n### 1. Basic Integration\n\n```tsx\nimport React from 'react';\nimport { AdSlot } from '@adpulse/sdk';\n\nexport default function BlogPost() {\n  return (\n    <article>\n      <h1>My Blog Post</h1>\n      <p>Content goes here...</p>\n\n      {/* Renders a standard inline ad card */}\n      <AdSlot\n        adId=\"ad_9x3kz\"\n        publisherKey=\"ap_live_pk_yourKeyHere\"\n        position=\"inline\"\n        theme=\"dark\"\n        accent=\"#22c55e\"\n      />\n    </article>\n  );\n}\n```\n\n### 2. Advanced / Animated Integration\n\nUse `<AdSlotBeta />` to apply entry animations, custom border curves, and high-impact media layouts:\n\n```tsx\nimport React from 'react';\nimport { AdSlotBeta } from '@adpulse/sdk';\n\nexport default function HeroSection() {\n  return (\n    <div>\n      <AdSlotBeta\n        adId=\"ad_k7m2p\"\n        publisherKey=\"ap_live_pk_yourKeyHere\"\n        position=\"inline\"\n        template=\"media\"\n        curve={true}\n        curvePath=\"polygon(0 0, 100% 0%, 100% 100%, 39% 100%)\"\n        curveWidth=\"200px\"\n        cardHeight=\"220px\"\n        animation=\"bounceSoft\"\n        theme=\"dark\"\n        accent=\"#f76a8a\"\n      />\n    </div>\n  );\n}\n```\n\n---\n\n## 🌐 Vanilla JS & Programmatic Usage\n\nFor websites not using React, you can import and initialize the script loaders programmatically:\n\n```javascript\nimport { initAdPulse } from '@adpulse/sdk';\n\n// 1. Initialize and dynamically inject the script tag\ninitAdPulse({ apiBase: 'https://vulnera.online' });\n\n// 2. Use window.AdPulse after script load\nwindow.addEventListener('load', () => {\n  if (window.AdPulse) {\n    window.AdPulse.render('#my-custom-container', {\n      adId: 'ad_9x3kz',\n      position: 'inline',\n      theme: 'dark',\n      accent: '#22c55e'\n    });\n    \n    // Listen to SDK events\n    window.AdPulse.on('impression', (data) => console.log('Ad viewed:', data));\n    window.AdPulse.on('click', (data) => console.log('Ad clicked:', data));\n  }\n});\n```\n\n---\n\n## ⚙️ Properties Reference\n\nThe following props can be passed to `<AdSlot />` and `<AdSlotBeta />`:\n\n| Prop Name | Type | Required | Default | Description |\n|---|---|---|---|---|\n| `adId` | `string` | **Yes** | - | Copy this from Dashboard > Ads |\n| `publisherKey` | `string` | **Yes** | - | Copy this from Dashboard > Publisher Keys |\n| `position` | `string` | No | `inline` | Layout format: `inline` \\| `sidebar` \\| `float` \\| `banner` \\| `overlay` |\n| `theme` | `string` | No | `dark` | Visual theme: `dark` \\| `light` \\| `auto` |\n| `template` | `string` | No | `classic` | Card template: `classic` \\| `minimal` \\| `media` \\| `spotlight` \\| `custom` |\n| `accent` | `string` | No | `#22c55e` | Brand accent color used for buttons and outlines |\n| `background` | `string` | No | - | Overrides card background color |\n| `textColor` | `string` | No | - | Overrides primary text color |\n| `animation` | `string` | No | `fadeUp` | Entry transition: `fadeUp` \\| `fadeIn` \\| `slideRight` \\| `slideLeft` \\| `bounceSoft` \\| `none` |\n| `cta` | `string` | No | `Learn More` | Custom call-to-action button label |\n| `ctaStyle` | `string` | No | `filled` | Button design: `filled` \\| `outline` \\| `link` |\n| `cardSize` | `string` | No | `standard` | Card dimension scale: `compact` \\| `standard` \\| `large` |\n| `radius` | `number` | No | `12` | Corner border-radius in pixels |\n| `closeable` | `boolean` | No | `false` | Shows a dismiss \"X\" button |\n| `lazy` | `boolean` | No | `true` | Delay rendering until the slot is close to entering the viewport |\n| `apiBase` | `string` | No | `https://vulnera.online` | Custom deployed AdPulse server URL |\n\n### Extra props for `<AdSlotBeta />`\n| Prop Name | Type | Required | Default | Description |\n|---|---|---|---|---|\n| `curve` | `boolean` | No | `false` | Enables border shape clipping for images |\n| `curvePath` | `string` | No | - | CSS polygon path (e.g. `polygon(0 0, 100% 0%, 100% 100%, 39% 100%)`) |\n| `curveWidth` | `string` | No | `200px` | Width of the curved media element |\n| `curveHeight` | `string` | No | `100%` | Height of the curved media element |\n\n---\n\n## 📄 License\n\nMIT\n","readmeFilename":"README.md"}