{"_id":"@desklync/svelte","_rev":"3-49428314baa1a9874d49c8acc459c255","name":"@desklync/svelte","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@desklync/svelte","version":"0.0.1","keywords":["desklync","svelte","sveltekit","chat","widget","customer-support","live-chat","ai-support"],"author":{"name":"DeskLync"},"license":"MIT","_id":"@desklync/svelte@0.0.1","maintainers":[{"name":"ajibadeabd","email":"ajibadeabd@gmail.com"}],"homepage":"https://desklync.com","bugs":{"url":"https://github.com/desklync/desklync-sdk/issues"},"dist":{"shasum":"c7080ea14ba2e7f0bbb08860151a7dbb67ee2e75","tarball":"https://registry.npmjs.org/@desklync/svelte/-/svelte-0.0.1.tgz","fileCount":6,"integrity":"sha512-KUXBg/av0oqDJFp4+HxFi8bwqav3hhmh+sdHvMO0hzC16EQui35LsBo2ZOADrfA4sYNJtqDBBL9GF4XI0NqRfA==","signatures":[{"sig":"MEQCIE9a1AK6eXbPhSX7Wds/PS2Ppm4oudJc38y4s4OttTDNAiBuhjsXL2FavO97qF9c3ZauRHsOjC6gV6zFW158+jtfVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15708},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","svelte":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","svelte":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"5fda1d2ae3e4d92c26de1bc335735b44d591dffd","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external svelte --watch","build":"tsup src/index.ts --format cjs,esm --dts --external svelte","clean":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajibadeabd","email":"ajibadeabd@gmail.com"},"repository":{"url":"git+https://github.com/desklync/desklync-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"DeskLync Chat Widget - Svelte SDK","directories":{},"_nodeVersion":"20.10.0","dependencies":{"@desklync/core":"^0.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","svelte":"^4.0.0","typescript":"^5.3.0"},"peerDependencies":{"svelte":">=3.0.0 || >=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/svelte_0.0.1_1767516392692_0.07832937574032095","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@desklync/svelte","version":"0.0.2","keywords":["desklync","svelte","sveltekit","chat","widget","customer-support","live-chat","ai-support"],"author":{"name":"DeskLync"},"license":"MIT","_id":"@desklync/svelte@0.0.2","maintainers":[{"name":"ajibadeabd","email":"ajibadeabd@gmail.com"}],"homepage":"https://desklync.com","bugs":{"url":"https://github.com/desklync/desklync-sdk/issues"},"dist":{"shasum":"bc87afe25737ad81a7a07c0595ec1155f02388a1","tarball":"https://registry.npmjs.org/@desklync/svelte/-/svelte-0.0.2.tgz","fileCount":6,"integrity":"sha512-fR9HgUOJkUdHlMnPb+wQup7JpobIqXd02+mkb5EyaAOc4oWHY9Oa6G1Lswg4afQDYmH6+kJqUdfPR2xs+uJqtg==","signatures":[{"sig":"MEUCIQDAlxWtwYtm+WUDY4CmznVsMYnrsK7WZDG86f6ROmFEAQIgVBJgR01/rYwcf6jk23/8GTa/gu+BA25okIjNKKXcj3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15708},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","svelte":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","svelte":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0a8d886eaff28943ec37acf600557a05117fa251","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external svelte --watch","build":"tsup src/index.ts --format cjs,esm --dts --external svelte","clean":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajibadeabd","email":"ajibadeabd@gmail.com"},"repository":{"url":"git+https://github.com/desklync/desklync-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"DeskLync Chat Widget - Svelte SDK","directories":{},"_nodeVersion":"20.10.0","dependencies":{"@desklync/core":"^0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","svelte":"^4.0.0","typescript":"^5.3.0"},"peerDependencies":{"svelte":">=3.0.0 || >=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/svelte_0.0.2_1767521823490_0.4936954447814874","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@desklync/svelte","version":"0.0.3","description":"DeskLync Chat Widget - Svelte SDK","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","svelte":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.mjs","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --external svelte","dev":"tsup src/index.ts --format cjs,esm --dts --external svelte --watch","clean":"rm -rf dist","prepublishOnly":"npm run build"},"keywords":["desklync","svelte","sveltekit","chat","widget","customer-support","live-chat","ai-support"],"author":{"name":"DeskLync"},"license":"MIT","homepage":"https://desklync.com","repository":{"type":"git","url":"git+https://github.com/desklync/desklync-sdk.git"},"peerDependencies":{"svelte":">=3.0.0 || >=4.0.0"},"dependencies":{"@desklync/core":"^0.0.3","@desklync/react":"^0.0.3"},"devDependencies":{"svelte":"^4.0.0","tsup":"^8.0.0","typescript":"^5.3.0"},"_id":"@desklync/svelte@0.0.3","gitHead":"0a8d886eaff28943ec37acf600557a05117fa251","bugs":{"url":"https://github.com/desklync/desklync-sdk/issues"},"_nodeVersion":"20.10.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-hz/2CTB5mNHtWAz794gpsY9a0Y6pdSkTKdOgLrRKZJ9JLSP1E5z7J9A9h3IJ6mMB7acU9US5pQfImLP2h1QYyQ==","shasum":"28d0f14affe90b61ad2eddb97e549b38d2162197","tarball":"https://registry.npmjs.org/@desklync/svelte/-/svelte-0.0.3.tgz","fileCount":6,"unpackedSize":15741,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICu216431oPfuGSaYyc2fvqvGElh9vrOrpWx119Qe41iAiEAzdAd02xa6K9+Svx0q4487Qw1ezADTDNLiwYLKIG1tKA="}]},"_npmUser":{"name":"ajibadeabd","email":"ajibadeabd@gmail.com"},"directories":{},"maintainers":[{"name":"ajibadeabd","email":"ajibadeabd@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/svelte_0.0.3_1767525532687_0.7335487482075085"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-04T08:46:32.526Z","modified":"2026-01-04T11:18:53.094Z","0.0.1":"2026-01-04T08:46:32.826Z","0.0.2":"2026-01-04T10:17:03.673Z","0.0.3":"2026-01-04T11:18:52.854Z"},"bugs":{"url":"https://github.com/desklync/desklync-sdk/issues"},"author":{"name":"DeskLync"},"license":"MIT","homepage":"https://desklync.com","keywords":["desklync","svelte","sveltekit","chat","widget","customer-support","live-chat","ai-support"],"repository":{"type":"git","url":"git+https://github.com/desklync/desklync-sdk.git"},"description":"DeskLync Chat Widget - Svelte SDK","maintainers":[{"name":"ajibadeabd","email":"ajibadeabd@gmail.com"}],"readme":"# @desklync/svelte\n\nSvelte SDK for the DeskLync chat widget.\n\n## Installation\n\n```bash\nnpm install @desklync/svelte\n# or\nyarn add @desklync/svelte\n# or\npnpm add @desklync/svelte\n```\n\n## Quick Start\n\n### Option 1: Global Stores (Simplest)\n\n```svelte\n<!-- +layout.svelte or App.svelte -->\n<script>\n  import { onMount } from 'svelte'\n  import { initDeskLync } from '@desklync/svelte'\n\n  onMount(() => {\n    initDeskLync({\n      businessId: 'your-business-id'\n    })\n  })\n</script>\n\n<slot />\n```\n\n```svelte\n<!-- Any component -->\n<script>\n  import { deskLyncReady, deskLyncOpen, deskLyncActions } from '@desklync/svelte'\n</script>\n\n<button on:click={deskLyncActions.open} disabled={!$deskLyncReady}>\n  {$deskLyncOpen ? 'Close Chat' : 'Open Chat'}\n</button>\n```\n\n### Option 2: Context API (Recommended for larger apps)\n\n```svelte\n<!-- +layout.svelte -->\n<script>\n  import { setDeskLyncContext } from '@desklync/svelte'\n\n  setDeskLyncContext({\n    businessId: 'your-business-id'\n  })\n</script>\n\n<slot />\n```\n\n```svelte\n<!-- Child component -->\n<script>\n  import { getDeskLync } from '@desklync/svelte'\n\n  const { isReady, isOpen, open, close } = getDeskLync()\n</script>\n\n<button on:click={open} disabled={!$isReady}>\n  {$isOpen ? 'Close Chat' : 'Open Chat'}\n</button>\n```\n\n## Configuration\n\n```javascript\ninitDeskLync({\n  businessId: 'your-business-id',\n  position: 'bottom-right',\n  primaryColor: '#6366f1',\n  welcomeMessage: 'Hi there! 👋',\n  welcomeSubtext: 'We usually reply within a few minutes.'\n})\n```\n\n## Global Stores\n\n```svelte\n<script>\n  import {\n    deskLyncReady,     // Readable<boolean>\n    deskLyncOpen,      // Readable<boolean>\n    deskLyncIdentified, // Readable<boolean>\n    deskLyncActions    // { open, close, toggle, identify, clearUser }\n  } from '@desklync/svelte'\n</script>\n\n{#if $deskLyncReady}\n  <button on:click={deskLyncActions.toggle}>\n    {$deskLyncOpen ? 'Close' : 'Chat'}\n  </button>\n{/if}\n```\n\n## Context API\n\n```svelte\n<script>\n  import { getDeskLync } from '@desklync/svelte'\n\n  const {\n    isReady,      // Readable<boolean>\n    isOpen,       // Readable<boolean>\n    isIdentified, // Readable<boolean>\n    open,         // () => void\n    close,        // () => void\n    toggle,       // () => void\n    identify,     // (user) => void\n    clearUser,    // () => void\n  } = getDeskLync()\n</script>\n```\n\n## User Identification\n\n```svelte\n<script>\n  import { deskLyncActions } from '@desklync/svelte'\n\n  function handleLogin(user) {\n    deskLyncActions.identify({\n      email: user.email,\n      name: user.name,\n      userHash: user.deskLyncHash, // From your server\n    })\n  }\n\n  function handleLogout() {\n    deskLyncActions.clearUser()\n  }\n</script>\n```\n\n## Listening for Messages\n\n```svelte\n<script>\n  import { onMount } from 'svelte'\n  import { onDeskLyncMessage } from '@desklync/svelte'\n\n  onMount(() => {\n    onDeskLyncMessage((message) => {\n      console.log('New message:', message.content)\n    })\n  })\n</script>\n```\n\n## SvelteKit SSR\n\nThe SDK handles SSR automatically. Initialization only runs on the client.\n\n```svelte\n<!-- +layout.svelte -->\n<script>\n  import { browser } from '$app/environment'\n  import { initDeskLync } from '@desklync/svelte'\n\n  if (browser) {\n    initDeskLync({\n      businessId: 'your-business-id'\n    })\n  }\n</script>\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}