{"_id":"@canvas-medical/embed-scheduler","_rev":"5-c3a3078292db4dfed5b1471440062c40","name":"@canvas-medical/embed-scheduler","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.7":{"name":"@canvas-medical/embed-scheduler","version":"0.0.7","_id":"@canvas-medical/embed-scheduler@0.0.7","maintainers":[{"name":"tboyles-cm","email":"thomas.boyles@canvasmedical.com"},{"name":"mvanlonden","email":"melvanlonden@gmail.com"},{"name":"beaugunderson","email":"beau@beaugunderson.com"},{"name":"eabruzzese","email":"eric.abruzzese@gmail.com"}],"dist":{"shasum":"1472f842b67516529dfd73ba144a7b443d6fc84e","tarball":"https://registry.npmjs.org/@canvas-medical/embed-scheduler/-/embed-scheduler-0.0.7.tgz","fileCount":39,"integrity":"sha512-cTvkiZtEVI1a1zaLcTyTsTwwAwl1oA8sgdWOm1HuvfOKPCEijc06iza2yfEGLwVcgiKKcrLOI3clrqB6ah+X3g==","signatures":[{"sig":"MEUCIQC0iyrKwjksoMSAaVIstnQHuV0BXJo5d1FiOiTNaP+duQIgeVQYwL7pktcrSOjGIemT5H/GiPspohEa6k6S8VaZhnU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDGuqCRA9TVsSAnZWagAAZtkP/2xM49vep7j/lQAWZlfw\n/JPI1sjOSHx0adtEryvTiF84P+tyW7Dbt2WxHoXGXvK0d6PxgdLFIbMQ0g45\nZMcoNj9SPSSFC3+yOU+O8HX/IlxOwrGMtf7WVDnq/XMLbvDLIcTHD3wQ/kWZ\nuECJ0A8PgwYP9RBGUz4QZiXy0n5DCOrDMKCcm0ZT4Vxhjtz61M2pINR9PaPU\ns/oChag3hY5Zxu6L5DfgUfrseiTtoIJT2enfLH26hwEsReZms8hjoIW5kSB2\nvSz+AxNQ6ve+TbHXYuMAuyfxvrnC1FxeHvvlxTgErgU51UTuM7z6U6YdqbK4\n8vm8b2OKjxcaecfmK746zVFmOm4ilPqjdGLcTdq3v6gfT5qFfyzBbq+bjezW\n43HQ5HocSqhGARquwwJJZ5UzJyEquALlijFvmRyeDfMY9Zt4hokNrWECEeJd\ntC+JXdrr3q+dp+YPndxrkOZ97aCLoKZNjUgJEkBiLfX3DzcBURu804yGIwRd\nqY96KDNPDl3vjJQkwYhNVZcLCMXoSRprf/YCcnB+fKpohUNqUs+Sxd7lRvzg\nKYDhnIDuPagRIZI/pYoOh9dah3T8bqbK3MbJIOP7JaaWEcmwsersUYfEQg15\ns8UKxtDhDZqLgE15fh5la2bjOOA8mgc/MPODF41lmxCL5IPUEgcFPEes6DYs\nPTU+\r\n=p8Nc\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"jest-preset-preact","collectCoverage":true,"coverageThreshold":{"global":{"lines":10,"branches":20,"functions":0,"statements":10}},"collectCoverageFrom":["./src/**"]},"babel":{"plugins":[["@babel/plugin-transform-react-jsx",{"pragma":"h","pragmaFrag":"Fragment"}],"babel-plugin-styled-components"],"presets":["@babel/env",["@babel/typescript",{"jsxPragma":"h"}]]},"private":false,"scripts":{"test":"jest ./tests","build":"webpack build","start":"webpack server --open"},"_npmUser":{"name":"mvanlonden","email":"melvanlonden@gmail.com"},"prettier":{"semi":false,"arrowParens":"avoid","singleQuote":true},"description":"## CDN Installation","directories":{},"dependencies":{"preact":"^10.6.5","@canvas-medical/embed-common":"^0.0.7"},"eslintConfig":{"extends":["preact","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","eslint":"^8.9.0","webpack":"^5.68.0","prettier":"^2.5.1","ts-loader":"^9.2.6","css-loader":"^6.6.0","typescript":"^4.5.5","@babel/core":"^7.17.2","webpack-cli":"^4.9.2","@babel/preset-env":"^7.16.11","jest-preset-preact":"^4.0.5","webpack-dev-server":"^4.7.4","@babel/preset-react":"^7.16.7","babel-preset-preact":"^2.0.0","html-webpack-plugin":"^5.5.0","eslint-plugin-prettier":"^4.0.0","@testing-library/preact":"^2.0.1","preact-render-to-string":"^5.1.19","@babel/preset-typescript":"^7.16.7","@testing-library/jest-dom":"^5.16.2","babel-plugin-styled-components":"^2.0.2","@babel/plugin-transform-react-jsx":"^7.16.7","@nick.telsan/eslint-config-preact":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/embed-scheduler_0.0.7_1644981161850_0.7561486596365947","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"@canvas-medical/embed-scheduler","version":"0.0.8","license":"MIT","_id":"@canvas-medical/embed-scheduler@0.0.8","maintainers":[{"name":"tboyles-cm","email":"thomas.boyles@canvasmedical.com"},{"name":"mvanlonden","email":"melvanlonden@gmail.com"},{"name":"beaugunderson","email":"beau@beaugunderson.com"},{"name":"eabruzzese","email":"eric.abruzzese@gmail.com"}],"dist":{"shasum":"bf3189c70ed5878952c0f973e35e4d90b926d4e2","tarball":"https://registry.npmjs.org/@canvas-medical/embed-scheduler/-/embed-scheduler-0.0.8.tgz","fileCount":6,"integrity":"sha512-9Ca2arlCtmsbukvQe92bFThgHmAvFsr4X0M6qoeiRgPEll2VN0Ll63ySnIIPSLTkz2bzzAnyDUxds9foUNmt9A==","signatures":[{"sig":"MEUCIF9yyfsQS12W6LjHlk2HvFzrHoNjudPqs/liUQDTBIXQAiEAkYK1I52s6IuozAPwk7VyYhZWydG2CfL/oA9qzd1MAzo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":160493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD846ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpArA//SMZM3JhjeL5zW7QTQdr5RdEEyR6X0RASdQe45AJHgIyw+420\r\nquTcrCsz7v0zq6Bhivhodtb/y99fxBXR7zHgir0e9+rcUS59A2hLeHvAJXYB\r\nYXi7lSqovnoReNrJVcCxrZ2P3fnLgbmEynznXtxttG1nRBUiXGS1kcviAnHr\r\nCzKdvuU0AUBuFXNU5NCpDkMdXQoGxEjVQS3udv22J4lryFY3pJYFQsT/X7ee\r\nfn1vpMBsYRI/kS8fBW2Wyy9tZxAfQrfF/H4fiUOo3rEeTZALwsUacUPuzdx6\r\ngEVrIl8KpZgroPXj+BmZ9qMcMJHXYCp4DFcb/BnHQ+Euz44Qk4zMVjcep6fh\r\n/Y/pL5Q5S3HxQGI/qeCiHZWPWhMnL10+sh0R9ayERVdSWI2EZPyQTACno+lM\r\nBYhhnFHUq3VO49/gN4FMfPjjpc59EScNZDqrzO2HSixD1KL09OIpvrta2QXo\r\n2g63gKwsiWvmQQzsjckZ6+6YAXro6QuzYWHQWRxo+Eupy8StDRpT5j5AQjaD\r\nSzILPSOEgscoQWR1EgkvpZA8uFFg7aTnMyw4htt7xBdquddefgHkP8T3Kia0\r\n5GfLwYYIYVqa72kcAlai28l7ydftdarH5M/3dXgctpOuXcMtaXquK15I3XJM\r\nWxXxf+camEMcjsPiT3Q48yWjYvv+72IzoTs=\r\n=TWFC\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"jest-preset-preact","collectCoverage":true,"coverageThreshold":{"global":{"lines":0,"branches":0,"functions":0,"statements":0}},"collectCoverageFrom":["./src/**"]},"main":"dist/scheduler.js","babel":{"plugins":[["@babel/plugin-transform-react-jsx",{"pragma":"h","pragmaFrag":"Fragment"}],"babel-plugin-styled-components"],"presets":["@babel/env",["@babel/typescript",{"jsxPragma":"h"}]]},"private":false,"scripts":{"test":"TZ=UTC jest ./tests","build":"webpack build --env prod","start":"webpack server --open","build:esm":"webpack build --env prod --env esm","test:update":"yarn test --updateSnapshot"},"_npmUser":{"name":"mvanlonden","email":"melvanlonden@gmail.com"},"prettier":{"semi":false,"arrowParens":"avoid","singleQuote":true},"description":"## CDN Installation","directories":{},"dependencies":{"preact":"^10.6.5","@canvas-medical/embed-common":"^0.0.8"},"eslintConfig":{"extends":["preact","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","eslint":"^8.9.0","webpack":"^5.68.0","prettier":"^2.5.1","ts-loader":"^9.2.6","css-loader":"^6.6.0","typescript":"^4.5.5","@babel/core":"^7.17.2","webpack-cli":"^4.9.2","@babel/preset-env":"^7.16.11","jest-preset-preact":"^4.0.5","webpack-dev-server":"^4.7.4","@babel/preset-react":"^7.16.7","babel-preset-preact":"^2.0.0","html-webpack-plugin":"^5.5.0","eslint-plugin-prettier":"^4.0.0","@testing-library/preact":"^2.0.1","preact-render-to-string":"^5.1.19","@babel/preset-typescript":"^7.16.7","@testing-library/jest-dom":"^5.16.2","babel-plugin-styled-components":"^2.0.2","@babel/plugin-transform-react-jsx":"^7.16.7","@nick.telsan/eslint-config-preact":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/embed-scheduler_0.0.8_1645203002178_0.8393638308843818","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"@canvas-medical/embed-scheduler","version":"0.0.9","license":"MIT","_id":"@canvas-medical/embed-scheduler@0.0.9","maintainers":[{"name":"tboyles-cm","email":"thomas.boyles@canvasmedical.com"},{"name":"mvanlonden","email":"melvanlonden@gmail.com"},{"name":"beaugunderson","email":"beau@beaugunderson.com"},{"name":"eabruzzese","email":"eric.abruzzese@gmail.com"}],"dist":{"shasum":"a344957149370c4a3a553be6924bb270a6c8766b","tarball":"https://registry.npmjs.org/@canvas-medical/embed-scheduler/-/embed-scheduler-0.0.9.tgz","fileCount":6,"integrity":"sha512-8cfBJfU4RrEd8+0KO7LBDx7aaYfeXvoBETs6sjACxlHPFxI/1A9eAjqqhkLL2LGV0dqww67jIgUsloqSv1olWw==","signatures":[{"sig":"MEUCIA8WUcwTFo8pEJXZJJBD2/es7xsHjK9akGUGFLQY03Q9AiEAsWGQuoybcCQooHMz9XHBPslXl2cIDXtTlicfIKRX+cE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":164662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiF81DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodwA//RVMGSzMQGBsysdfUwNHh9vnzys/9AgHQeriofAh7ZooXTFXH\r\nIGAPsSHuSi4fFhkZJ0bFQZyEMAgBlSucV8XUn7lNQhS8cPu3qYu3GpCmmypu\r\njcNhWvoAzxoQqLHjyrGkpFSIjyONbKPdTX8hFEXhPQQfTrDZ2OSYxEMnVbPC\r\nD3JOPieeQW49C4ovkgYsS+joLCgS8maO+FoD3rqd5Om1HKf18uoVRhgZ3POR\r\nnORjBr5bxjR5NeniB5TuUWeAkUoFBwAvJnEhpNh6bY8ghHTz+LFkoGfYmW+q\r\nUmRCaLBL16XH0Wu54AZEZBYRrlF/lLiQ53ufvgHUj2fxXxvu7UD+w96OJG7U\r\nkEkAjuRJwr8vNHOR818CNIbUu9aD9YXCaQKjLVdr5Joo8dwPl7irNemP1bPq\r\n318C/rbF44RVlXQKEPaKI8Hn8GYUPz46hvYaoCBxSXzWrb78r9Ds/odg42Mu\r\n2ylplWgFQNSv4VQ6tQLXIOyFLPZQJk61H1kP9ChDf7arnEXqFvwk/mUvougf\r\nAnhe2RhKuCfPPNlY56FXBjuj3xbjzNE2tj86zfXTPZiOwMZMSilgG8iGr2h4\r\nYpVUtUzVQp1QkfmZ+K15acY33tpjj4v0PCXf/k4LoeVY/WftvYnCF+r2G5sP\r\nUM0wlIGJhY7Lj0d5kbVwv/1mKYT1kjE4LuE=\r\n=vWbj\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"jest-preset-preact","collectCoverage":true,"coverageThreshold":{"global":{"lines":0,"branches":0,"functions":0,"statements":0}},"collectCoverageFrom":["./src/**"]},"main":"dist/scheduler.js","babel":{"plugins":[["@babel/plugin-transform-react-jsx",{"pragma":"h","pragmaFrag":"Fragment"}],"babel-plugin-styled-components"],"presets":["@babel/env",["@babel/typescript",{"jsxPragma":"h"}]]},"private":false,"scripts":{"test":"TZ=UTC jest ./tests","build":"webpack build --env prod","start":"webpack server --open","build:esm":"webpack build --env prod --env esm","test:update":"yarn test --updateSnapshot"},"_npmUser":{"name":"mvanlonden","email":"melvanlonden@gmail.com"},"prettier":{"semi":false,"arrowParens":"avoid","singleQuote":true},"description":"## CDN Installation","directories":{},"dependencies":{"preact":"^10.6.5","@canvas-medical/embed-common":"^0.0.9"},"eslintConfig":{"extends":["preact","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","eslint":"^8.9.0","webpack":"^5.68.0","prettier":"^2.5.1","ts-loader":"^9.2.6","css-loader":"^6.6.0","typescript":"^4.5.5","@babel/core":"^7.17.2","webpack-cli":"^4.9.2","@babel/preset-env":"^7.16.11","jest-preset-preact":"^4.0.5","webpack-dev-server":"^4.7.4","@babel/preset-react":"^7.16.7","babel-preset-preact":"^2.0.0","html-webpack-plugin":"^5.5.0","eslint-plugin-prettier":"^4.0.0","@testing-library/preact":"^2.0.1","preact-render-to-string":"^5.1.19","@babel/preset-typescript":"^7.16.7","@testing-library/jest-dom":"^5.16.2","babel-plugin-styled-components":"^2.0.2","@babel/plugin-transform-react-jsx":"^7.16.7","@nick.telsan/eslint-config-preact":"^1.3.1"},"_npmOperationalInternal":{"tmp":"tmp/embed-scheduler_0.0.9_1645727042852_0.3432867797332806","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-02-16T03:12:41.770Z","modified":"2026-03-03T01:47:16.929Z","0.0.7":"2022-02-16T03:12:42.007Z","0.0.8":"2022-02-18T16:50:02.351Z","0.0.9":"2022-02-24T18:24:03.423Z"},"license":"MIT","description":"## CDN Installation","maintainers":[{"email":"beau@beaugunderson.com","name":"beaugunderson"}],"readme":"# Canvas - Embed Scheduler\n\n## CDN Installation\n\n- Add a host container\n\n```\n<div id=\"embed-root\"></div>\n```\n\n- Add CDN Link to your application\n\n```\n<script src=\"https://d1avuomfq0werr.cloudfront.net/scheduler.js\" type=\"text/javascript\"></script>\n```\n\n- Add a script tag to initialize application\n\n```\n<script type=\"text/javascript\">\n  Scheduler.init({\n    api: https://your.api.url,\n    appointmentCoding: {\n      system: 'https://coding.system',\n      code: '8675309',\n      display: 'Some display'\n    }\n    bailoutURL: 'https://your.host.site',  // Return user here if they exit early\n    duration: 20,\n    locationId: 'someID',\n    patientId: 'someID',\n    patientKey: 'someKey',\n    providerIds: [\n      'someID',\n      'someOtherID',\n    ],\n    description: 'some description for appointment,\n    returnURL: 'https://your.host.site/done', // Send user here when they finish\n    rootId: 'embed-root',  // The id of your host container\n    brandColor: '#000000',  // Your custom brand color in hex code\n    accentColor: '#000000,  // Your custom accent color in hex code\n    fontFamily: \"'my font', serif\",  // Your custom font. See below.\n  })\n</script>\n```\n\n## NPM Installation\n\n### Install with prefered package manager\n\n```\n  npm i @canvas-medical/embed-scheduler --save\n```\n\n```\n  yarn add @canvas-medical/embed-scheduler\n```\n\n### Initialize embeds\n\n- Add a host container\n\n```\n<div id=\"embed-root\"></div>\n```\n\n- Import the initializer\n\n```\n\nimport { init } from '@canvas-medical/embed-scheduler'\n\n```\n\n- Call the initializer and supply it some config\n\n```\n  init({\n    api: https://your.api.url,\n    appointmentCoding: {\n      system: 'https://coding.system',\n      code: '8675309',\n      display: 'Some display'\n    }\n    bailoutURL: 'https://your.host.site',  // Return user here if they exit early\n    duration: 20,\n    locationId: 'someID',\n    patientId: 'someID',\n    patientKey: 'someKey',\n    providerIds: [\n      'someID',\n      'someOtherID',\n    ],\n    description: 'some description for appointment,\n    returnURL: 'https://your.host.site/done', // Send user here when they finish\n    rootId: 'embed-root',   // The id of your host container\n    brandColor: '#000000',  // Your custom brand color in hex code\n    accentColor: '#000000,  // Your custom accent color in hex code\n    fontFamily: \"'my font', serif\",  // Your custom font. See below.\n  })\n```\n\n# Important Note About Fonts\n\nThese embeds rely on the shadow DOM to encapsulate their styles from the host application's styles. As a result, you need to do a bit of extra work to get custom fonts working.\n\nTo add your font, either link it in your document head or add an `@import` statement to your document's CSS or a style tag.\n\nThe embed uses 400 and 700 weights, so make sure your font import includes at least both of those.\n\nLink Example\n\n```\n  <head>\n    <meta charset=\"utf-8\" />\n    <title>My Application</title>\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n    <style>\n      body {\n        margin: 0;\n        overflow: hidden;\n      }\n    </style>\n    <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n    <link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap\" rel=\"stylesheet\">\n  </head>\n```\n\nImport Example\n\n```\n  <head>\n    <meta charset=\"utf-8\" />\n    <title>My Application</title>\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n    <style>\n      @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');\n\n      body {\n        margin: 0;\n        overflow: hidden;\n      }\n    </style>\n  </head>\n```\n\nOnce you have imported your font, you can provide its name to the `customFont` parameter in the initializer.\n\nWe recommend using [Roboto](https://fonts.google.com/specimen/Roboto) as your default font. If you use Roboto, you don't need to provide a `customFont` parameter to the initializer.\n\n## React Example\n\n`Scheduler.jsx`\n\n```\nimport React, { useEffect } from 'react'\nimport { init } from '@canvas-medical/embed-scheduler'\n\nexport const Scheduler = (props) => {\n  useEffect(() => {\n    init({\n      api: https://your.api.url,\n      appointmentCoding: {\n        system: 'https://coding.system',\n        code: '8675309',\n        display: 'Some display'\n      }\n      bailoutURL: 'https://your.host.site',  // Return user here if they exit early\n      duration: 20,\n      locationId: 'someID',\n      patientId: 'someID',\n      patientKey: 'someKey',\n      providerIds: [\n        'someID',\n        'someOtherID',\n      ],\n      description: 'some description for appointment,\n      returnURL: 'https://your.host.site/done', // Send user here when they finish\n      rootId: 'embed-root',  // The id of your host container\n      brandColor: '#000000',  // Your custom brand color in hex code\n      accentColor: '#000000,  // Your custom accent color in hex code\n    })\n  }, [])\n\n  return (\n    <div id=\"embed-root\" />\n  )\n}\n```\n","readmeFilename":"README.md"}