{"_id":"@ditto-insurance/vanilla-timely","_rev":"4-a107ce7ac5f7b9f900f3fc66ba8cb2a6","name":"@ditto-insurance/vanilla-timely","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@ditto-insurance/vanilla-timely","version":"1.0.0","author":{"name":"joinditto"},"license":"MIT","_id":"@ditto-insurance/vanilla-timely@1.0.0","maintainers":[{"name":"sachinditto","email":"Sachin.jacob@joinditto.in"},{"name":"arifraveendran","email":"arif.r@joinditto.in"},{"name":"lokeshg","email":"lokesh@joinditto.in"}],"dist":{"shasum":"c6847420d14ffa745e2b3b7b875fe7fb55c32ad0","tarball":"https://registry.npmjs.org/@ditto-insurance/vanilla-timely/-/vanilla-timely-1.0.0.tgz","fileCount":3,"integrity":"sha512-JxXbmJvXGsPF2PQnRtjKksi+Q3P4wcrFzJrAJC8593Blt+7nYGEIoxuEFELr8DOSp+vZ+rhgachHlOjovRWsdw==","signatures":[{"sig":"MEQCIHc+EzhOE1vrOP451IzV9OWsqOos9c4BW76IynZwamHLAiAx4Xq5g6rZe8Dxv1AMNAcFedFV0+dSYx15dnxq0bOjHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7835},"main":"index.js","gitHead":"ebbf6cf0220270e30bb42460a2ce3dac3aee47ce","_npmUser":{"name":"sachinditto","email":"Sachin.jacob@joinditto.in"},"_npmVersion":"8.11.0","description":"Load Ditto Insurance's timely slot booking application in a modal from any website","directories":{},"_nodeVersion":"16.15.1","dependencies":{"tingle.js":"^0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vanilla-timely_1.0.0_1693903730056_0.2510143846943069","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@ditto-insurance/vanilla-timely","version":"1.0.1","author":{"name":"joinditto"},"license":"MIT","_id":"@ditto-insurance/vanilla-timely@1.0.1","maintainers":[{"name":"sachinditto","email":"Sachin.jacob@joinditto.in"},{"name":"arifraveendran","email":"arif.r@joinditto.in"},{"name":"lokeshg","email":"lokesh@joinditto.in"}],"dist":{"shasum":"dda3dc60da1bdf04e660313269e137809c43fd81","tarball":"https://registry.npmjs.org/@ditto-insurance/vanilla-timely/-/vanilla-timely-1.0.1.tgz","fileCount":3,"integrity":"sha512-TK3qDAGOnxPHnxdxgb9mdsZ5m4lU99Gf30JeroNZM2bJhtygottRxm9GrpESd2WfM8YknTn9cP3MRF9aE2hrXg==","signatures":[{"sig":"MEYCIQDka9JJ4llaKJShkDDsV/RcdskvLsIKtXpUwVqsG6MI/gIhAKScRqSDKU8TdzqZeCA4cEoZMXoKC2PgLzM7bbNI3ZQ+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7868},"main":"index.js","gitHead":"14f6c14b77701d171afe05ab2de8725e185fbaca","_npmUser":{"name":"sachinditto","email":"Sachin.jacob@joinditto.in"},"_npmVersion":"8.11.0","description":"Load Ditto Insurance's timely slot booking application in a modal from any website","directories":{},"_nodeVersion":"16.15.1","dependencies":{"tingle.js":"^0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vanilla-timely_1.0.1_1693904540930_0.2522563200438397","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@ditto-insurance/vanilla-timely","version":"1.0.2","author":{"name":"joinditto"},"license":"MIT","_id":"@ditto-insurance/vanilla-timely@1.0.2","maintainers":[{"name":"sachinditto","email":"Sachin.jacob@joinditto.in"},{"name":"arifraveendran","email":"arif.r@joinditto.in"},{"name":"lokeshg","email":"lokesh@joinditto.in"}],"dist":{"shasum":"67bf497a74319b8ee07dff9c8c2585d8ed4426a1","tarball":"https://registry.npmjs.org/@ditto-insurance/vanilla-timely/-/vanilla-timely-1.0.2.tgz","fileCount":3,"integrity":"sha512-L8Nkbo8KWuQmEMKCm6nx9c9v66H2fnOs0ZNCmgVaYtVhMTEY/uamRsy6R5cP/UyNsjiWOrdHALqBWfuERKRMoQ==","signatures":[{"sig":"MEUCIH41oeWJf/rET5WAaVR6CrfT9ZtTL7nbMlUMeUbSWlGzAiEA8tHtG+W7nhXjQT5zO+O6CSDkUrHqAHxI/AjgTaQR/y8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7858},"main":"index.js","gitHead":"5d36d2501de7fe1677e7f9d71e3208ab3cb7b2be","_npmUser":{"name":"sachinditto","email":"Sachin.jacob@joinditto.in"},"_npmVersion":"8.11.0","description":"Load Ditto Insurance's timely slot booking application in a modal from any website","directories":{},"_nodeVersion":"16.15.1","dependencies":{"tingle.js":"^0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vanilla-timely_1.0.2_1693905273236_0.9130126997535388","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@ditto-insurance/vanilla-timely","version":"1.2.0","description":"Load Ditto Insurance's timely slot booking application in a modal from any website","author":{"name":"joinditto"},"license":"MIT","main":"index.js","scripts":{"build:iife":"esbuild index.js --bundle --format=iife --global-name=DittoTimely --outfile=dist/vanilla-timely.iife.js --minify","prepublishOnly":"npm run build:iife"},"publishConfig":{"access":"public"},"devDependencies":{"esbuild":"^0.27.4"},"_id":"@ditto-insurance/vanilla-timely@1.2.0","gitHead":"f3b339e4003dd9f0b6bb831ac217454c9cc8f01a","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-tx/aTTPxuPVadquaP0uIZFMaZ/ZgX5Z0AXu7tB90R52cUQtCvtb8HDVJpH1uMNPsvIjXLQ1G6vrYtUZb5HujWQ==","shasum":"c8f921cfae6310b090a47868e3bdbb48be5b3295","tarball":"https://registry.npmjs.org/@ditto-insurance/vanilla-timely/-/vanilla-timely-1.2.0.tgz","fileCount":4,"unpackedSize":19569,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDwzGjxfhRq0P+HFRb9IeTH8JA0PiG1xUtFrHNpEa7IvAIgNT3LJ2fgC8s1m+30cA36dfvtz5CJ4LAFAyioVXtSKLM="}]},"_npmUser":{"name":"arifraveendran","email":"arif.r@joinditto.in"},"directories":{},"maintainers":[{"name":"lokeshg","email":"lokesh@joinditto.in"},{"name":"arifraveendran","email":"arif.r@joinditto.in"},{"name":"sachinditto","email":"Sachin.jacob@joinditto.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vanilla-timely_1.2.0_1781270399030_0.14430567993835153"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-05T08:48:49.937Z","modified":"2026-06-12T13:19:59.376Z","1.0.0":"2023-09-05T08:48:50.237Z","1.0.1":"2023-09-05T09:02:21.058Z","1.0.2":"2023-09-05T09:14:33.394Z","1.2.0":"2026-06-12T13:19:59.188Z"},"author":{"name":"joinditto"},"license":"MIT","description":"Load Ditto Insurance's timely slot booking application in a modal from any website","maintainers":[{"name":"lokeshg","email":"lokesh@joinditto.in"},{"name":"arifraveendran","email":"arif.r@joinditto.in"},{"name":"sachinditto","email":"Sachin.jacob@joinditto.in"}],"readme":"## Vanilla JS Timely Modal\n\n### Features\n\n- Open Ditto's timely modal in any website to book call advisory slots\n- Close the timely modal programmatically (sends close message to iframe)\n- Responsive layout: centered on desktop, contained on tablet, bottom-sheet on mobile\n- Loading spinner while the booking page loads\n- Supports UTM params, embed configuration, and form prefill\n\n### openTimely\n\n```js\nopenTimely(eventName, params, env, options)\n```\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `eventName` | string | Yes | — | The timely event name |\n| `params` | object | No | `{}` | UTM and custom query params |\n| `env` | string | No | `\"prod\"` | `\"prod\"` or `\"staging\"` |\n| `options` | object | No | `{}` | Additional configuration (see below) |\n\n> Make use of staging env to test out timely prior to using production version.\n\n#### `options.embed`\n\nOverride embed parameters. Defaults are applied if not specified.\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `embed_type` | `\"popup\"` \\| `\"inline\"` | `\"popup\"` | How the embed should display |\n| `embed_domain` | string | `window.location.host` | Domain where the iframe is embedded |\n| `embed_path` | string | `window.location.pathname` | Path where the iframe is embedded |\n\n#### `options.prefill`\n\nPrefill form fields in the booking page. All fields are optional.\n\n| Key | Type | Description |\n|-----|------|-------------|\n| `name` | string | User's full name |\n| `email` | string | User's email address |\n| `phone` | string | User's phone number |\n| `product` | string | Product or service identifier |\n| `query` | string | User's query or question |\n| `date` | string | Preferred date |\n\n#### Supported UTM params\n\n```\nutm_source\nutm_campaign\nutm_medium\nutm_content\nutm_term\n```\n\n### closeTimely\n\n```js\ncloseTimely()\n```\n\nNo parameters. Sends a close message to the iframe and hides the modal.\n\n## Installing\n\n```\nnpm install @ditto-insurance/vanilla-timely\n```\n\n## Usage\n\n### With a bundler (ES module)\n\n```js\nimport { openTimely, closeTimely } from '@ditto-insurance/vanilla-timely';\n\n// Basic usage\nopenTimely(\"ditto-hotline\", { utm_source: \"blog\" }, \"prod\");\n\n// With embed override\nopenTimely(\"ditto-hotline\", { utm_source: \"blog\" }, \"prod\", {\n  embed: { embed_type: \"inline\" }\n});\n\n// With prefill\nopenTimely(\"ditto-hotline\", { utm_source: \"blog\" }, \"prod\", {\n  prefill: { name: \"John\", email: \"john@example.com\", phone: \"9876543210\" }\n});\n\n// Close programmatically\ncloseTimely();\n```\n\n### Without a bundler (IIFE script tag)\n\nBuild the IIFE bundle:\n\n```\nnpm run build:iife\n```\n\nThen include it in your HTML:\n\n```html\n<script src=\"dist/vanilla-timely.iife.js\"></script>\n<script>\n  function openModal() {\n    DittoTimely.openTimely(\"ditto-hotline\", { utm_source: \"landing-page\" }, \"prod\");\n  }\n\n  function closeModal() {\n    DittoTimely.closeTimely();\n  }\n</script>\n\n<button onclick=\"openModal()\">Open Modal</button>\n<button onclick=\"closeModal()\">Close Modal</button>\n```\n","readmeFilename":"README.md"}