{"_id":"@adsurf/storefront-sdk","_rev":"2-4eb21bcbc1622f0e504dd9f1d66a68c3","name":"@adsurf/storefront-sdk","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@adsurf/storefront-sdk","version":"0.1.0","keywords":["adsurf","ecommerce","storefront","headless","shopify","sdk"],"author":{"url":"https://adsurf.ai","name":"Adsurf","email":"dev@adsurf.ai"},"license":"MIT","_id":"@adsurf/storefront-sdk@0.1.0","maintainers":[{"name":"holdenjrussell","email":"holden@justrawdogit.com"}],"homepage":"https://github.com/holdenjrussell/adsurf-sdk#readme","bugs":{"url":"https://github.com/holdenjrussell/adsurf-sdk/issues"},"dist":{"shasum":"d3e85de7cac31f73fec9c3b4e036904e408cf9ce","tarball":"https://registry.npmjs.org/@adsurf/storefront-sdk/-/storefront-sdk-0.1.0.tgz","fileCount":35,"integrity":"sha512-5tnpwDmgahqsx8mVolb+QYZqBaeYMdGQAVUR6wCT1DHb4J7UdQo0jiKZ3PYDQUpifx1Y4aqsK8C8TOhXr4OeZg==","signatures":[{"sig":"MEYCIQDUQOfb0JmRPhiCqXcmX1vsXHvYel8eI4C7+XzZFU8FhAIhAMMtK8yJ7yCOC09mvo3VF5/3J9RYDyOoG60cr+BtM/sQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1035091},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","require":"./dist/hooks/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./tracking":{"types":"./dist/tracking/index.d.ts","import":"./dist/tracking/index.mjs","require":"./dist/tracking/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"dd6f94813832ab58cb0ecb4a6fb0778c30374aab","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"holdenjrussell","email":"holden@justrawdogit.com"},"repository":{"url":"git+https://github.com/holdenjrussell/adsurf-sdk.git","type":"git"},"_npmVersion":"11.3.0","description":"SDK for building storefronts on the Adsurf platform","directories":{},"_nodeVersion":"23.10.0","dependencies":{"zustand":"^4.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","eslint":"^8.54.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/node":"^20.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/storefront-sdk_0.1.0_1770687650490_0.19627329823944795","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@adsurf/storefront-sdk","version":"0.1.1","description":"SDK for building storefronts on the Adsurf platform","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","require":"./dist/hooks/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"},"./tracking":{"types":"./dist/tracking/index.d.ts","import":"./dist/tracking/index.mjs","require":"./dist/tracking/index.js"}},"scripts":{"build":"tsup","dev":"tsup --watch","type-check":"tsc --noEmit","lint":"eslint src --ext .ts,.tsx","prepublishOnly":"npm run build"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"dependencies":{"zustand":"^4.4.0"},"devDependencies":{"@types/node":"^20.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0","eslint":"^8.54.0","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.0","typescript":"^5.3.0"},"keywords":["adsurf","ecommerce","storefront","headless","shopify","sdk"],"author":{"name":"Adsurf","email":"dev@adsurf.ai","url":"https://adsurf.ai"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/holdenjrussell/adsurf-sdk.git"},"bugs":{"url":"https://github.com/holdenjrussell/adsurf-sdk/issues"},"homepage":"https://github.com/holdenjrussell/adsurf-sdk#readme","_id":"@adsurf/storefront-sdk@0.1.1","gitHead":"dd6f94813832ab58cb0ecb4a6fb0778c30374aab","_nodeVersion":"23.10.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-hm40vdKEyR41TlZPFi7JviZYizUIkowFylJKnwrQOHPdtZ8NBeipoiAaIhaAq/nfmvg/Hi/4aWcEaoG+fHLCzQ==","shasum":"81e24aa463f04a3d67f3853f6f63cd0f0bc99558","tarball":"https://registry.npmjs.org/@adsurf/storefront-sdk/-/storefront-sdk-0.1.1.tgz","fileCount":35,"unpackedSize":1334112,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCMqbQ5V+5ROnNPuj6FROBCpP/oBffaaeniemZIfZN6GQIhAMm1zBX/nA2pBypZthMecpQ0CvSEl5NeryvP/a2DTpBH"}]},"_npmUser":{"name":"holdenjrussell","email":"holden@justrawdogit.com"},"directories":{},"maintainers":[{"name":"holdenjrussell","email":"holden@justrawdogit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/storefront-sdk_0.1.1_1770689540075_0.3416936671885449"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-10T01:40:50.351Z","modified":"2026-02-10T02:12:20.411Z","0.1.0":"2026-02-10T01:40:50.667Z","0.1.1":"2026-02-10T02:12:20.287Z"},"bugs":{"url":"https://github.com/holdenjrussell/adsurf-sdk/issues"},"author":{"name":"Adsurf","email":"dev@adsurf.ai","url":"https://adsurf.ai"},"license":"MIT","homepage":"https://github.com/holdenjrussell/adsurf-sdk#readme","keywords":["adsurf","ecommerce","storefront","headless","shopify","sdk"],"repository":{"type":"git","url":"git+https://github.com/holdenjrussell/adsurf-sdk.git"},"description":"SDK for building storefronts on the Adsurf platform","maintainers":[{"name":"holdenjrussell","email":"holden@justrawdogit.com"}],"readme":"# @adsurf/storefront-sdk\n\nSDK for building storefronts on the Adsurf platform.\n\n## Installation\n\n```bash\nnpm install @adsurf/storefront-sdk\n```\n\n## Quick Start\n\n```typescript\nimport {\n  createPlatformClient,\n  useCart,\n  AddToCartButton,\n  CartDrawer,\n  initializeAnalytics,\n} from '@adsurf/storefront-sdk'\n\n// Initialize the platform client\nconst client = createPlatformClient({\n  apiKey: process.env.NEXT_PUBLIC_PLATFORM_API_KEY!,\n})\n\n// Fetch products\nconst { products } = await client.getProducts()\n\n// Initialize analytics (in your app layout)\ninitializeAnalytics({\n  ga4Id: 'G-XXXXXX',\n  metaPixelId: 'XXXXXXXX',\n})\n```\n\n## API Client\n\n```typescript\nimport { createPlatformClient } from '@adsurf/storefront-sdk'\n\nconst client = createPlatformClient({\n  apiKey: 'sk_live_xxx',\n  baseUrl: 'https://adsurf.ai', // Optional, defaults to adsurf.ai\n})\n\n// Get all products\nconst { products } = await client.getProducts(50)\n\n// Get a single product\nconst { product } = await client.getProduct('product-handle')\n\n// Get all collections\nconst { collections } = await client.getCollections()\n\n// Get a collection with its products\nconst { collection } = await client.getCollection('collection-handle')\n\n// Get brand configuration\nconst config = await client.getConfig()\n```\n\n## Cart Hook\n\n```typescript\nimport { useCart } from '@adsurf/storefront-sdk'\n\nfunction CartButton() {\n  const { itemCount, openCart } = useCart()\n\n  return (\n    <button onClick={openCart}>\n      Cart ({itemCount})\n    </button>\n  )\n}\n\nfunction ProductActions({ product, variant }) {\n  const { addItem } = useCart()\n\n  const handleAdd = () => {\n    addItem({\n      variantId: variant.id,\n      productId: product.id,\n      title: product.title,\n      variantTitle: variant.title,\n      price: variant.price,\n      compareAtPrice: variant.compareAtPrice,\n      handle: product.handle,\n      image: product.images[0],\n    })\n  }\n\n  return <button onClick={handleAdd}>Add to Cart</button>\n}\n```\n\n## Components\n\n### AddToCartButton\n\n```tsx\nimport { AddToCartButton } from '@adsurf/storefront-sdk'\n\n<AddToCartButton\n  product={product}\n  variant={selectedVariant}\n  quantity={1}\n  className=\"bg-black text-white px-6 py-3 rounded-lg\"\n/>\n```\n\n### CartDrawer\n\n```tsx\nimport { CartDrawer } from '@adsurf/storefront-sdk'\n\nfunction Layout({ children }) {\n  const handleCheckout = () => {\n    // Redirect to checkout\n    window.location.href = '/checkout'\n  }\n\n  return (\n    <>\n      {children}\n      <CartDrawer onCheckout={handleCheckout} />\n    </>\n  )\n}\n```\n\n## Analytics\n\n```typescript\nimport {\n  initializeAnalytics,\n  trackPageView,\n  trackViewItem,\n  trackAddToCart,\n  trackPurchase,\n} from '@adsurf/storefront-sdk'\n\n// Initialize once in your app\ninitializeAnalytics({\n  ga4Id: 'G-XXXXXX',\n  metaPixelId: 'XXXXXXXX',\n  clarityId: 'XXXXXXXX',\n})\n\n// Track page views\ntrackPageView('/products/my-product', 'My Product')\n\n// Track product views\ntrackViewItem({\n  item_id: 'variant-123',\n  item_name: 'Product Name',\n  price: 49.99,\n  quantity: 1,\n})\n\n// Track purchases\ntrackPurchase('order-123', items, 149.99)\n```\n\n## Utilities\n\n```typescript\nimport { formatMoney, calculateDiscount } from '@adsurf/storefront-sdk'\n\nformatMoney(49.99) // \"$49.99\"\nformatMoney(49.99, { currency: 'EUR', locale: 'de-DE' }) // \"49,99 €\"\n\ncalculateDiscount(100, 75) // 25\n```\n\n## TypeScript\n\nThe SDK is fully typed. Import types as needed:\n\n```typescript\nimport type {\n  Product,\n  Collection,\n  BrandConfig,\n  CartItem,\n} from '@adsurf/storefront-sdk'\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}