{"_id":"@bentoproject/facebook","_rev":"217-489fb0437d4f2a2a67b2546ad5cb21d7","name":"@bentoproject/facebook","dist-tags":{"nightly":"1.2302271541.0","latest":"1.2302271541.0"},"versions":{"1.2110261518.0":{"name":"@bentoproject/facebook","version":"1.2110261518.0","description":"AMP HTML amp-facebook Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":"./web-component","./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"e4bbe5c706c18a2c817265b40388ca4d4771613a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2110261518.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-lKSuleJ2EaoYh2MV/jTQlxIQtYvBk4RcYnvlr0rlwJZBJksREMq6o/kj4WDF+MaDedSD2UuihCgOdrC8l3lZqA==","shasum":"d4533c955a6980595d9c986f81a486871e413a6d","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2110261518.0.tgz","fileCount":27,"unpackedSize":2593667,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4pCZPFX+eo9/F54QhLoTK0zxUhp4vtU6QzoGTeNw+fwIhAKv+k7GFDOfz7MV+nu16p4438gEDd0lg73A5JWPezvKW"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2110261518.0_1635445031963_0.8019469178982606"},"_hasShrinkwrap":false},"1.2110252343.0":{"name":"@bentoproject/facebook","version":"1.2110252343.0","description":"Bento facebook Component","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":"./web-component","./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nThe Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.\n\n## Usage\n\n### Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n#### Example: Include via `<script>`\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/bento.js\"></script>\n  <!-- These styles prevent Cumulative Layout Shift on the unupgraded custom element -->\n  <style>\n    bento-facebook {\n      display: block;\n      overflow: hidden;\n      position: relative;\n    }\n  </style>\n  <script\n    async\n    src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n  ></script>\n  <style>\n    bento-facebook {\n      width: 375px;\n      height: 472px;\n    }\n  </style>\n</head>\n\n<!-- Facebook Post -->\n<bento-facebook\n  id=\"facebook-post\"\n  data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-post\">Change Facebook post</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookPost = document.querySelector('#facebook-post');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-post').onclick = () => {\n      facebookPost.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Video-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Page-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Like-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"like\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n\n<!-- Facebook Comments-->\n<bento-facebook\n  id=\"facebook-comments\"\n  data-embed-as=\"comments\"\n  data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n>\n</bento-facebook>\n```\n\n#### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n#### Attributes\n\n##### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n### Preact/React Component\n\nThe examples below demonstrate use of the `<BentoFacebook>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n#### Props\n\n##### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"57e62ecc0e24bc2cd64467dba9d0f9836eea0182","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2110252343.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-NsjAfakM/yoihkqAvXO7qP7LdjBT3TmuBr2UQG3Mzf5NKSxaPISRwS/9fZayXqFzb/Rjh9dCD2YCxtlXW98DQw==","shasum":"4024d56fc84146a51fd2f9b452718b5c3f08f80f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2110252343.0.tgz","fileCount":27,"unpackedSize":2593647,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBSOArg130ta8cXzIV1k3ht+1vfX6e1s1FTtYpEKJMcSAiEAjvFQ3acFS83ia3yNqmNrOI/QP51wlQw8JhS6ihOqtcw="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2110252343.0_1635457642660_0.17067992326406722"},"_hasShrinkwrap":false},"1.2110281959.0":{"name":"@bentoproject/facebook","version":"1.2110281959.0","description":"Bento facebook Component","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":"./web-component","./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nThe Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.\n\n## Usage\n\n### Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n#### Example: Include via `<script>`\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/bento.js\"></script>\n  <!-- These styles prevent Cumulative Layout Shift on the unupgraded custom element -->\n  <style>\n    bento-facebook {\n      display: block;\n      overflow: hidden;\n      position: relative;\n    }\n  </style>\n  <script\n    async\n    src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n  ></script>\n  <style>\n    bento-facebook {\n      width: 375px;\n      height: 472px;\n    }\n  </style>\n</head>\n\n<!-- Facebook Post -->\n<bento-facebook\n  id=\"facebook-post\"\n  data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-post\">Change Facebook post</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookPost = document.querySelector('#facebook-post');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-post').onclick = () => {\n      facebookPost.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Video-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Page-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Like-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"like\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n\n<!-- Facebook Comments-->\n<bento-facebook\n  id=\"facebook-comments\"\n  data-embed-as=\"comments\"\n  data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n>\n</bento-facebook>\n```\n\n#### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n#### Attributes\n\n##### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n### Preact/React Component\n\nThe examples below demonstrate use of the `<BentoFacebook>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n#### Props\n\n##### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"55fa3e004e2aeece5faf9a68717228077c215a13","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2110281959.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-u8HwE48DwVbxwGnSmD3yXcAPzsufhdb+fs0Zq/8aUwe+lFkwnAhDAzNmRJWVDgpLEmiTPKvPeb5Z+mTx1pdnGQ==","shasum":"4c7203167c1339c054761a248f1b48fa6aabc269","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2110281959.0.tgz","fileCount":27,"unpackedSize":2593647,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDqGGLxZvmcGBdQuJOJFVHlVavAer6vMCiwMSP2B9oBnAiEAmm14YEOmox2vjGmhpbED264xsaxIjYcT+9UrL0Y+790="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2110281959.0_1635508292032_0.5914005392646"},"_hasShrinkwrap":false},"1.2110290545.0":{"name":"@bentoproject/facebook","version":"1.2110290545.0","description":"Bento facebook Component","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":"./web-component","./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nThe Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.\n\n## Usage\n\n### Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n#### Example: Include via `<script>`\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/bento.js\"></script>\n  <!-- These styles prevent Cumulative Layout Shift on the unupgraded custom element -->\n  <style>\n    bento-facebook {\n      display: block;\n      overflow: hidden;\n      position: relative;\n    }\n  </style>\n  <script\n    async\n    src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n  ></script>\n  <style>\n    bento-facebook {\n      width: 375px;\n      height: 472px;\n    }\n  </style>\n</head>\n\n<!-- Facebook Post -->\n<bento-facebook\n  id=\"facebook-post\"\n  data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-post\">Change Facebook post</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookPost = document.querySelector('#facebook-post');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-post').onclick = () => {\n      facebookPost.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Video-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Page-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Like-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"like\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n\n<!-- Facebook Comments-->\n<bento-facebook\n  id=\"facebook-comments\"\n  data-embed-as=\"comments\"\n  data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n>\n</bento-facebook>\n```\n\n#### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n#### Attributes\n\n##### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n### Preact/React Component\n\nThe examples below demonstrate use of the `<BentoFacebook>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n#### Props\n\n##### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"1cc07336e186d25fc5fbfb2e8f7e12c4a5c79fe9","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2110290545.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-rplVd9QqzeJyic+nVQitZmUrOLPS+PtPmfOly/cKjuJxsuSmhgBGl3vzF8CTgAE8BGqIBu2GvuuWRFwSXrq1WA==","shasum":"d65992c19ca0888df3eb8600070f6ecfafc3398c","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2110290545.0.tgz","fileCount":27,"unpackedSize":2593647,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDK0v7MzEEzYBU7vNb31yRa66jbybzIz1vPJ+AA40H72wIgRjCPT21sA7aQkc1c6Jgk3dplhm3/czUfBNrrWo4QrTo="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2110290545.0_1635592874287_0.9166644446661432"},"_hasShrinkwrap":false},"1.2111011823.0":{"name":"@bentoproject/facebook","version":"1.2111011823.0","description":"The Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nThe Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.\n\n## Usage\n\n### Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n#### Example: Include via `<script>`\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/bento.js\"></script>\n  <!-- These styles prevent Cumulative Layout Shift on the unupgraded custom element -->\n  <style>\n    bento-facebook {\n      display: block;\n      overflow: hidden;\n      position: relative;\n    }\n  </style>\n  <script\n    async\n    src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n  ></script>\n  <style>\n    bento-facebook {\n      width: 375px;\n      height: 472px;\n    }\n  </style>\n</head>\n\n<!-- Facebook Post -->\n<bento-facebook\n  id=\"facebook-post\"\n  data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-post\">Change Facebook post</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookPost = document.querySelector('#facebook-post');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-post').onclick = () => {\n      facebookPost.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Video-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Page-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Like-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"like\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n\n<!-- Facebook Comments-->\n<bento-facebook\n  id=\"facebook-comments\"\n  data-embed-as=\"comments\"\n  data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n>\n</bento-facebook>\n```\n\n#### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n#### Attributes\n\n##### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n### Preact/React Component\n\nThe examples below demonstrate use of the `<BentoFacebook>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n#### Props\n\n##### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"7bd4192edeb4ded8e78291b094118653b1a78939","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111011823.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-fDvJJh4KDlDVKDmYjSj53nJ3mLBwtaw5bdYDSwRfGtR9s2ARreWnIJRONG8RZWeP6IkK0gh4jeF2KKgjM1scdA==","shasum":"35edc9142a56c5736fb5f4717f3f8ec8fc81add6","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111011823.0.tgz","fileCount":27,"unpackedSize":2593822,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjAN2Ksd8oQNKc9xGQj369fY3wReUj+p8Yoit64qvQQwIgJTSfyMgEIc2b8lVoxSa+wFxnO9ky/2BwKoDFi3phMgE="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111011823.0_1635852309423_0.5659789610337957"},"_hasShrinkwrap":false},"1.2110152252.3":{"name":"@bentoproject/facebook","version":"1.2110152252.3","description":"The Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"7a44c3f3047d8b5f5bcbcf5a86c4c1cb30184bdc","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2110152252.3","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-v6KbC3wdzdzGvEQ/EW9SogawEBC4FWg+1TflTmz9gmqymuG4dvEvb9Bt6nIi+7LzEBH/A9OCUPeMeBcyAdy1wQ==","shasum":"49c503576260ee3c924eec7a879d6b00c2a8445d","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2110152252.3.tgz","fileCount":27,"unpackedSize":2593822,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA7fKZW8XKc7jCuA28vduF4pqSasdQ9hEOwAkkvqgt3SAiBzWD6dqSUkz60yQP+F5BXlW3Yf8f0fUGtrDDlDlNl2RQ=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2110152252.3_1635890655048_0.38286193867103924"},"_hasShrinkwrap":false},"1.2110212130.2":{"name":"@bentoproject/facebook","version":"1.2110212130.2","description":"The Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"7a44c3f3047d8b5f5bcbcf5a86c4c1cb30184bdc","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2110212130.2","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-OYMKD419Mb9I37HE3cB/F48hCHzc1v/1kWgyWOI6FGNghW3jJ8oDLJI5J8pK7tgW5PMZX6Yhkt9ujCtgVkXCIA==","shasum":"5d7e17fe0ab7461c3447b4c62fb18ac58fb1cd3b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2110212130.2.tgz","fileCount":27,"unpackedSize":2593822,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzo78VHZt3MhCgR01wiTLQGcKSBZchlfx5P47ZxrquVAiBdtOMEeiaeQeX6+BYdFstfAARa3wq0ud/hScFvwrh28Q=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2110212130.2_1635891245876_0.7808454232269928"},"_hasShrinkwrap":false},"1.2111022043.0":{"name":"@bentoproject/facebook","version":"1.2111022043.0","description":"The Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nThe Bento Facebook component allows you to embed a Facebook post, a Facebook video, or a comment on a Facebook post.\n\n## Usage\n\n### Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n#### Example: Include via `<script>`\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/bento.js\"></script>\n  <!-- These styles prevent Cumulative Layout Shift on the unupgraded custom element -->\n  <style>\n    bento-facebook {\n      display: block;\n      overflow: hidden;\n      position: relative;\n    }\n  </style>\n  <script\n    async\n    src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n  ></script>\n  <style>\n    bento-facebook {\n      width: 375px;\n      height: 472px;\n    }\n  </style>\n</head>\n\n<!-- Facebook Post -->\n<bento-facebook\n  id=\"facebook-post\"\n  data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-post\">Change Facebook post</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookPost = document.querySelector('#facebook-post');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-post').onclick = () => {\n      facebookPost.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Video-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Page-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"video\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n<div class=\"buttons\" style=\"margin-top: 8px\">\n  <button id=\"change-facebook-video\">Change Facebook video</button>\n</div>\n\n<script>\n  (async () => {\n    const facebookVideo = document.querySelector('#facebook-video');\n    await customElements.whenDefined('bento-facebook');\n    // set up button actions\n    document.querySelector('#change-facebook-video').onclick = () => {\n      facebookVideo.setAttribute(\n        'data-href',\n        'https://www.facebook.com/NASA/videos/846648316199961/'\n      );\n    };\n  })();\n</script>\n\n<!-- Facebook Like-->\n<bento-facebook\n  id=\"facebook-video\"\n  data-embed-as=\"like\"\n  data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n>\n</bento-facebook>\n\n<!-- Facebook Comments-->\n<bento-facebook\n  id=\"facebook-comments\"\n  data-embed-as=\"comments\"\n  data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n>\n</bento-facebook>\n```\n\n#### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n#### Attributes\n\n##### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n### Preact/React Component\n\nThe examples below demonstrate use of the `<BentoFacebook>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\nInstall via npm:\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n#### Props\n\n##### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will\nlook like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or\ncomment reply will look like\n`https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n##### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`.\nThe default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"`\nfor Facebook videos embeds the player of the video, and adds the accompanying\npost card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This\nis done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on\ncontent using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook.\nThe `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between\n[post embeds](https://developers.facebook.com/docs/plugins/embedded-posts),\n[video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player),\n[like embeds](https://developers.facebook.com/docs/plugins/like-button),\nand [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post.\nThis is not to be confused with\n[`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n##### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the\npost/video container to center.\n\n##### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n##### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the\nparent comment of the reply.\n\n##### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The\ndefault is `like`.\n\n##### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be\none of `standard`, `button_count`, `button` or `box_count`. The default is\n`standard`.\n\n##### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n##### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n##### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK.\nIf your web site or online service, or a portion of your service, is directed to\nchildren under 13 you must enable this attribute. The default is `false`.\n\n##### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can\nspecify a locale as well.\n\nFor details on strings accepted here please visit the\n[Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n##### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100.\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n##### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can\ncontain alphanumeric characters and some punctuation.\n\n##### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only\nworks with the XFBML version. The default is `false`.\n\n##### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n##### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The\ndefault is `small`.\n\nFor details, see the\n[Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n##### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n##### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a\ncomma-separated list to add multiple tabs (e.g., `timeline, events`). By\ndefault, the Facebook page plugin shows the timeline activity.\n\n##### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"f4d548031e8e20aaea8ade649d3394d56518b769","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111022043.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-QCdkTL/lquIOvbs1OaEZm2gaVpyLjb4laUv/5/QMbzcXWjdQN+MyU8KyhVG2MvfAb0SGgwH2y6PQse/DV/JxGA==","shasum":"c25ffb6d878ccf6a3f2b56da09eeaf5ce5a11cbe","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111022043.0.tgz","fileCount":27,"unpackedSize":2593822,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBXGl1maB33LSvCZbwYsUMABIdactw9pi/2GoQte/ZgAIhAOaTMethjgk0vNvHPQoyUu+cE5l8daCxtiEzOABi5Nh9"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111022043.0_1635938474001_0.5105665379364388"},"_hasShrinkwrap":false},"1.2111180040.0":{"name":"@bentoproject/facebook","version":"1.2111180040.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Example: Include via `<script>`\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"f53cd87e15233c147123f81aad5da820c5581752","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111180040.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-XKLd7apzc551yT6tIle/V/qBSllIHcXyEW78V0jP73OqASPoVF19oCsP2k+E0ieZ896QVcEC3s1iQvDm+i2eVg==","shasum":"39ab8db6f65affd5b1659ec9eefcd406fd35339d","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111180040.0.tgz","fileCount":27,"unpackedSize":2477284,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlsT9CRA9TVsSAnZWagAArSAP/3PGUnxbwDIoRNtAezbV\npo81DfO0YNE57Wy6N7fqm50NOJboFbgw+PYzbApb5s1w1owv3DZXg+txC1Sj\n8T/7xC1hdBuaeAEn4g7baBTOWmZtlptJdkQCe6atb9z5JUQN2oWI1Rfvypn6\nwZ3L8lBz9kx0ZgWmhQmlZ6LuC9mzz3ra6sR85NIew2JojdzjSwIgkkX/7gJX\nx3dEYUvlE72Wo9wfhaM7Mmy2dZwBQhcPZsW9HGu6b5OLeNgSDE47x43HaAf6\nZuYfVF8dzfEAxfRGBdR1vwYZ6jxiUg1TC3Z7khq6ACI/TNDoPluMe0mZyyLT\nGQUzIh1eSIIfXppE6hLXxjNA7fmiNbXAXQOkM0pj6P0MLMYdwzrV1yV5imQE\nduon1ye+qExMgcKqH+kiPLnqvWzcmldF2DMFCAM7r8PHA76ukHbyr3+x/9Of\n+ZmLoJqu2/7BR3+5/crw58BUPv+sle0BTBsSwWvVpGcDXf1EwhLgEDSzfY0o\nuowkCw5XuaKw9h3voZ7MCY8BN8+amecGW4/rxEIGM1lt2UPan7DbsGdaS2aT\nJIpLETX/y8gZFRiafJw7zujvHVayP5s3L7yC31tQoCtdkgTtC7y0WxdMrhg1\n4QZwdbkHaH9Finj91nfpVz0aRxZz6DKPulM0jygj3HW+kw5Gv3aPXUCTpbjZ\npKEZ\r\n=evRF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCna3GBupLiyU5cI6eXigV8Zl5Wj+C7rpo9Zci6foCAlAIgRR2QInAoVD7o0mLgm2yJ1dk+2dfB1HxPeYMa+2TkX/w="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111180040.0_1637270781004_0.5700848432499095"},"_hasShrinkwrap":false},"1.2111060251.3":{"name":"@bentoproject/facebook","version":"1.2111060251.3","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"f53cd87e15233c147123f81aad5da820c5581752","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111060251.3","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-Gbg7EX7sGy8eV8oB7Ap//D+Teey+81oBD8zbVSoxlvDNnL4YnAy3ME1L2Zm3OVm9x8d01xisHUsW8Uyhtg+k/A==","shasum":"f626c37dd51ee8d2d95250103adb609dcb169970","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111060251.3.tgz","fileCount":27,"unpackedSize":2477284,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlsjKCRA9TVsSAnZWagAAF2MP/RPt2UC0jk3Wk2svCjeb\nT5rdqkWUVxHBrSBqAGHgBc4l/KfDLAg3nncltFz75zj4JmUDIPZSQ3ckWmIK\nNHtEv7SC1vad9a/FVDiwl5rpzRDhW3JZUuooEJnipk4Uu60JR4bPurjooJUt\n6iwoC4YowMTwV9uHMS5zoDeKtHZCqHYxumWuQ8DO7Ha0pc26LSV7MRwh/oJq\n6b3IjauWHf18g5sHePStmj6v7CRCxGNxgFyDY8pgTn6NyspCr9EFP/rcS7b5\nX9xZOmVOM+oXoLsgpeA1BWQp5Q2QVeVdLUBSxT+Vmu5hTnpwDU0jcr+v8m3N\np0ywlAijgBrpg2p9CKx/qXHZvAjBROJs5gkfwmFoWlybOOQtolpnalZQmJZX\nCT7gC9hZOKzUxre8+ij6BvC0BP8NUvbJVyZFp/LBMUaw+ZCVJ8PfUtrtb1hN\nyPwc6QIVkdFswKjZb31BdBYbwd0LLXmcAnNSNO/4Eyj+JlDEw0TwpgGpeXNa\n5hpCgyNQ6tD0W6IOB8KeZ15QhEoeUTCReEew/6I/GCtLA4G9L1bDJgbZu98Q\npvSIGQnYCGoi76s8O15fHjGMxud8ZwdnVllnLoM8PM/8ZE+q+Tw9ZVx/ikHS\nCWzWVPg3ECwV/SDvEKqj9A0BShEZINxTv8pRSfJ9WvfNkgT4dKeWCYSWZgj5\nKmYh\r\n=WZBf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiq99oGKV2oNHnE6FxLMGK+t0fPHopDJmQlonh2TwGXAIhAJpmh6cKqr8JLhAtMGvt0nRQMQHyyhsPrckYJ5v3A80i"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111060251.3_1637271754127_0.5534871274602684"},"_hasShrinkwrap":false},"1.2111182332.0":{"name":"@bentoproject/facebook","version":"1.2111182332.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"34ebd943d9b16506b7a515b38941fdd8357bd288","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111182332.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-nuM8LEwRmwaj8HeAiwHurEZKHv+JQVJZyr+eElJhN+UXF512FBYT2Hck1odNl9MwsBFb42P7hplJUjJIm4+oAw==","shasum":"24e7777c79ca366f5053e5da2dc5c15737190e94","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111182332.0.tgz","fileCount":27,"unpackedSize":2488675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl5eYCRA9TVsSAnZWagAA+MsP/igL2I9oE2xExMGUki2h\ncgG0dDr59GxWPxHCRlfBGJUH3Rek4m+M840ASwhujGQlqaDEAH0wJhLOves1\nW0KntmrkOhdgg33vbONrz/twoDI/2c9dQYUZb14pCfljuPsIGMmr17EsjyPp\nylDwmSy5+kRzg40jMl3G7D2JMctrrr1Z9HGHqqGW6BCvDkbYgrME5cyj0b4W\nu2xYvwVzcPaxuSL7BZMgTuHmCZyHufHBXvT1hIC4nZH6kJt1ouDf/X7DXlNR\nL2nA1Ah1SVOuOI2syHa/5rZWibiYlbUIa4wzVktbkSSo5p3Ts3rfvjw4n/TG\n+z/BATOgpQN/Ce093GUKfd1IOj4J4tv97vVGhpNIkZ5Eesilvq3EHONZ8CBx\ng08/jR38cMTu+Iad6BTjKYmdIj+2DjYYjEJwt+jQ51mq4noe6+rMszJ6ysPZ\nT++J60AAUQVC3pEq8xXmLogEoXInfyu5hBuiELNc5swJVsjh/DVTbqLzA2BJ\nJB3GhG5zQ87oPK65619tn5+9Xx9131q2jiQzwtQmYT3Tk8WVgZgxTmvge1AB\nnxnaPTnqiOq63I4vthAhZb5/i26XwtrnIcyo6YE4O2beeTpBVr8M2E9AvxVC\naQ2BpOmcL/wmKZxX4mb2ceDz4hxsjIlyq8pYc0pKrY7LJDUHVuY6ChFiniZf\n/5py\r\n=P0PK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMMOMdMjl3Z0KwCU9Sh6HlAv/BY7/7iLe2DP8r+cEUigIgBglmJK5CWX/vGXLY2e16U1pbBS+c90DEk1b1IXVHqF4="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111182332.0_1637324696145_0.3004442313156932"},"_hasShrinkwrap":false},"1.2111060251.9":{"name":"@bentoproject/facebook","version":"1.2111060251.9","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"04e44a3695f8db307eda69f753e10665cfa70fa1","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111060251.9","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-haUKEUECWSnT0n+vuAvzZtQ8JADfG+OJp2ldX0TWx/4/T4jVe7RT+QdPwGZd8ObJV4G8MFFZQpjAVCdqtf+IZg==","shasum":"2aadd7082c8bec447e69623edf3d586c03b72902","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111060251.9.tgz","fileCount":27,"unpackedSize":2488675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl9F5CRA9TVsSAnZWagAA1LMP/AxtYHFRa0fK7A12LRs+\nZGwIDceM2B2mKMSVVU3CoBx6LsEY7Mm2ydGPj2b87L4RjS9yiObiOxs4o9Zf\nTFgYruXsXlPAZ1NT51L6AgEjQqUx6/bhtD3veBOmSjklVhLVYUD+/+wRCVo/\nZWsA8PEZMKw2YKxsG8FYBsYLYQqSIVPlw9fZJVLpMPHqfIVTT8/GQiG7XrDT\nRKneihOEOMGbRWXmU2aVe074t0CvXZ2IwWs1iVQl8DeLUpmwzw4dWYe+wbFS\nmtML0kmLxN/v/v6nKWNVIrBJ23yF/9bb0Clau0Xv6t2G2G1cH3DExHS69lbz\ngPC4+mhIt6OiTnp1xOiAJAJdGMWR6mzO9xK8prR+KaoSB+ZgzxFbb9v9ipue\naTinG8COQHi0vKkxRojWuipR0d3ZfM58MYPmE9Dnpu7QCdIkXJBCNGNvQFbW\nniM9Yo7LDINDtMJtidWd8GA87VuCLwC3Adkq6CSbHPntbxPyoaEmJNTXT1JK\nAKKbrJElS3CwTd3ns6QDDWXs4N+TxfDKel0Dx/BkExZyNSs8s4lD006tNRg9\nawVQHwDC4PvXzyrug+CrJI6IDTJb/OrUfbNfeCtrrV9/FxogL2jd0M/V/Zw3\nEfA4vxfyWOYs5oSwIpU45SpFfrkdBpvDqSq5x6leBMziN8INEwl4MC4yq4sq\neaW+\r\n=N16T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJItCChLEjTWopDtfhoANsVljhMxoei03bRVHWAzk2eQIhALk4HxoklsoYRd/CpBciN6gDBYKHbAUibt6Sum/1lLaP"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111060251.9_1637339513754_0.23813672256256502"},"_hasShrinkwrap":false},"1.2111191951.0":{"name":"@bentoproject/facebook","version":"1.2111191951.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"22d6da19b9e01e75e6b67f54cd425c465822fe8c","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111191951.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-7MIfzTqRF4Jjjco0hIKmWS/iKjpvW3k4X5CMvAnKTF0pM3sUztacGny2a9wDy9+KSZbmliZgUgeJN90bxpCaDA==","shasum":"c66803f4bc86f759c5b39175f8631da544e8a237","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111191951.0.tgz","fileCount":27,"unpackedSize":2489531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmOjRCRA9TVsSAnZWagAAGW4P/3USRIdSKB332nwstUpK\ngUneEX+mqzrFUyvJMTZHcDJGL9Qh//GZc3Nw5EktuG7211A90lMlvUsXVLMd\n062HHEjJzSxVKbZ1QKV3lkNAOZaAL/gS23yQFsTr7n0/VycbLYYu58mnlXCq\nsrhW7w87HRqjQsi/k7oG2DrF+o4x1ar60hv8NZzqahLhmTEsbdKVKKU3cQT/\nrP4oIbvNU0OhuY6qtvLP35Vt1u0G66ivjrWIH1ZJJjWb5u+6DznOzqe/arpD\nTTCBjZLLrjUc481eJYGaK8n9ZUzDo5ZKdIZabJFYjr6B4eYh+9oPWf81sRGP\nM5mp1+bQhJgY5S8LH9VzWzZHzDw/iJp6lTtqHy25zSVZYMKmkizV7alssKRu\nu1E3E7feLUDtSARpK9OEz4R+++t7rWFYyxBxY7u1B3dXPJGi9HraRRwhVZ+8\nc60sL9RuM8wSiBx0nCfVuLs4u3lqJJ7daBIAv7AWpe2Z4tbgC5/v7Pd7yDmE\ntB88lj7GftPRroxOIfRdDZknzVkldx6F/0prdUanNrhYUGzNxY+uUIviax2M\nzuH7aRedcpnHea+Vqg4UJErXnn4J/EVfSSWsqgIzltvYh2uH5RjtamYmAC/J\nluoqNg1W0N5ZBPECTDGCYIUdpF5Jbev03YsY83i8If9GeEsMbuHP43HjN/HW\nrvs6\r\n=0oQD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa9yMn2j/2+1Xwl9i4CFNNOJxWM9jOJ/b/5Dav8Dy2TAIhAJjvHiLoWkwyiqotoJG+P5h+ZZk6pjmHVE1UTD5sNeO1"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111191951.0_1637411025403_0.5563751853225514"},"_hasShrinkwrap":false},"1.2111230244.0":{"name":"@bentoproject/facebook","version":"1.2111230244.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"d906c0bae3e05aebd88696b9659414f63c1ca45a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111230244.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-Yf42vRWrX5sweI/9FScmhv1nBFXNv/XifxePBpJ9dqMKdBAfSs+e+wMhmD+xBRBFblolFzDidDpx/Hcnq30/kQ==","shasum":"99d12efe7ad313c9b544df0b2ae6bf8df1f9a3c0","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111230244.0.tgz","fileCount":27,"unpackedSize":2489531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnN17CRA9TVsSAnZWagAAYGMP/0RrUt0bFPkfDt2bCInB\nU2nMdDwiqNgsVcn+4fgDsCKcLrYKKXedJsb18qDexiebuMFWmUeCp7h7lwp7\nqIMxQX9/fsE/jEAkZ3kUAOwrPubofxWZEONWCaNzfjqCv7fvMDlPpdBIy7ze\nwrMm40dKIASyEcsgGkkJbe3D36vJCUwn9VOw0DrpY69cZleKeor642gx1rSm\niHPtzJohbMAJ7hANRTg36avetkCVpmCxG1GKuT7XogmRiMe863dzuPF3d0WC\nQ+cuaZ366z0Lg+8xmMELgTlv/YooP7ZuMyI0aCitqhkDnygkAIbcl+nHakld\nUzO/Q9F+X5UkjWs1ta3YtPyTsfnwZoZBJZC64C7q5XLrXJp/HRGzl7Qe61Dj\n6Z/mfm0kDr7bkp7vvtUNjjHgiq7YEGcsgU895pqNS9y6TXs/O8/w03N5P7A7\nocDaRgg+xf4P7zZUpIJ1HqMgv/rfp/AXqMF5NfsjiJSbarFPmK7nyKpyqiw8\nclvfrlyZsDrYlrRgyFbKyiTQ+r4gjuIrVE0n3L1CmgWgzJnko/MPlN+tUf6g\nE3Q5qFa0FpMdF28FJ7NcSNG96VyrMN9ovFFjSeMbLBX0/tDZTwJytIehzJkH\noJ/JvMpGhWV+ubnSoDAdCqs83tirUc4kut0WfsBDj255OEyjiOJ99uTyJZ4c\nsrVm\r\n=CQFz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBhuuuuFeSzLlfsCYpMGgDXzun2Wrg7KBZIyqQJ61VcgIhAIf+n7XRXjFOkQcDZg3vDMQ6Wv9YM347HhlJSXcfutTH"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111230244.0_1637670266841_0.9169349277906169"},"_hasShrinkwrap":false},"1.2111230636.0":{"name":"@bentoproject/facebook","version":"1.2111230636.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"46e8f482bf5e3008ef07e950034d194c48317990","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111230636.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-VWO2xALLorbDV8xLQ3/ifF2z10tSCIU6xDpCpks5dJ5iSmc7y/pvswlflJ/KsiDBOkCbWSlI564lOYhVpyxz9g==","shasum":"3f7746101f63e22e2577e2020afe5c25041615d0","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111230636.0.tgz","fileCount":27,"unpackedSize":2489531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhni6FCRA9TVsSAnZWagAAj14P/jUtbOfdh/nWP6c88vlr\nwzJGHaRqReOrTT1r3QVJEC8PmHqJ50JkvkXOqIjmAMRXskYZvgSFte0fSk68\nuRBW30P8ss5+zRIS/TgEjdU08+CEQYUayhqCbnZXXIMGOxpuXCieNeeURYof\nLkoP7FoEke1Otj40rncwLrAtXwvBsv7YDCj0i9GyFUTXfg+DCYCzGbo6doMM\nXZ44uDSMZnkR1YZ5ZwwAkf2H83Jh/DgE6ve2/b92LrKtDlrY+eOfrm8rw21N\nS5M7J4j9mUklcRe0IUs1372FZWuBEs8R9+eOqNcKZreDk6LK8VQnmXH/UmOx\nOLLV8QqBWh70H3rzgDuXsDcg44VakafaCSnZfpkQRAn/6TYgjuDbx4E8hnbK\nkFPBqWAOTkSahLLXzK3rg4rfkQbInLqYCHlWXoKlVQCL9SbCwuLuo3DpLvKx\nfQ4vBAjgd82H/1O4B79PiB98kNUwkl93zgdoKHhqFvgQ4DzrlqrxSeGqiuxi\nmtkCJtboWrgI21kNzojtTrgBnOUeY35N6F+86MI74WXKvN5GBp9IleackJ/5\nVDTltmRKVWjG39G+uu/LU++GiadPlDUNnA1I+hrnmQv0cW1IDqnJVW1LCAZC\nTygjnXO/NS6TI6072Y8wgBiHamaOr8RHKxJfMUWRDHLuwv/do1MGTNVZdfHm\nYTNZ\r\n=r2E8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFZkUdqiH+f9I7ELm9D+W2BwOBvLJo4IEBsO8fjxLnAgIgJqxKs/KE4KWtAqipo3Nw3goxyA57Vm45h5pLb1CbYgU="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111230636.0_1637756549101_0.024816023458380077"},"_hasShrinkwrap":false},"1.2111242025.0":{"name":"@bentoproject/facebook","version":"1.2111242025.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"b78e8781ff3976b3bff1ba881cf66dd2609b5c07","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111242025.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-4auAM0ubdrcHrVaNtZbcvg7/WZSC9qMmMjx1W+7nrv7LjHGsjsa6V5QiiLf+KNSKGP+zelTSs6jnFewjGT9jXQ==","shasum":"f86d4e2b36189b61c4f806daed864de1fdaf23d2","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111242025.0.tgz","fileCount":27,"unpackedSize":2489531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn4SqCRA9TVsSAnZWagAAaYcP/0Y++2KLfBvfhBpuSvjx\nc0n9niG+rdsXEbe9WRLaejSfqfEYS/VkeJ/gjajQUk94ug/r6rxl+Wn5O5hM\neSXQ3akg5JXkHv1i0+KubMmYyyDvK/Uv97FwTI1uD3M0pK55weC5r6dxkrJ4\nFeP6XR4EhraYDqzGkEiW++/Mm2GF9Ck3sNQyDMIjVt+7OE2D3HiU6Wrv+yZi\ndlbq19fOv47pvpyYnv9Q0hWp1KS3Ki8QWFJSq/3O20BnFOkqGM2ZOBUE2Xwx\nZlX5QKQm39HUWU6eNiii4gjXuTFFr3a6JVbZkMA3tFBIxqJ1dA+IAhd6HGI1\nDR1f7i1YpAJdjfgJpwAw0eesIb1V9uqSJwqk4NHOBQDpDG6LtkXKGl6xg4U+\nBGVxBqPIg9RU1cP6sqsLPK23Jhjw1gcw0MdrHfdRZysG4kOkGnKNOr9cnkPH\nEiVE0lU8MPpScWu/D18QfWgKlGQNE6jSNvbv2BPvMc20k3Vi78cjzw8Il5MF\nyTtxOnftBZscHsdnTn/lhBkNa6YK3rexq/kxYk3b73JaJbPsA+RYo2ZYNmZM\nlrHCuL5YyrVMTSaAuiTs65I+Y7admjZaMaiJsxfr/+PMtYfVJxv9/9IoVXzk\nbdBZIibB8YRlw/Q02pWgn/M1XkMM4OQ/69O7+Nk3ibClf9umabz3miEiZsi5\n7Hmd\r\n=wbiZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDamwO6kvT31M7NFWPMkmAX9CV/oA9K41Vh1lvuTLPv0AIhAKoZlOEEXCkJfnPwY87UoNbmMFcXXkbSSQfC/NzTG0oW"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111242025.0_1637844138497_0.8714770835028394"},"_hasShrinkwrap":false},"1.2111292120.0":{"name":"@bentoproject/facebook","version":"1.2111292120.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"e938f7c9446e2d1eb0f0f865c0f1ff42a4be76c5","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111292120.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-n6onTVTKXI0+6TObVPVazd0XS2eLjX2SJipsV0pxeMvZUN0JxZACaDQ85PRHwcBSYEYNd3vvc7wlty16rE8wFA==","shasum":"d28186ddb41acc1815b05c2f9853bb67765fec85","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111292120.0.tgz","fileCount":27,"unpackedSize":2489531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhphvaCRA9TVsSAnZWagAAPAwP/3SOMnE1y4BXmk8jHZlP\nYNNniVzRXyMyDytiLHfmvRE8TynqMvr2Ng5r+cydG+q7Nq9josmUae3cHFr5\nsDlQOOeFQ6rLPkWLsiLTyeBytI1YD1krlJ+xwTflflicg6EcD0nmHxbTtZTF\n/iefJwcnTWLJyYQzOknzhLL7htE65a5kW3tdZPTR5NPQEVvt/pRBzDTwa7zN\nJsicL3ND7AOZmu2exZli/j4OZLcqSQS2dBAgw8zD2s4Gwq3RnHDOZXUMTuxT\nxi5SjnMtmNUSk+nH3qWyR/wbjxQxChdYXRf0f85jGBGFqzSDIs1bUEkfKK04\nPa6kJ6N/GDiCkUWUYrOIdECehaKVqHO0ua3/vEDyKodjTswFTkHy5NbrEkHd\n3pWtx39vRuj+lKZb4nhP0iRA7sJfp30ijoRCDTGHT5k15bb0Cn2VxDRe46fU\nJbBB22Ax/6oOrBB7avtd8s1ua3bquppFScN0oM9Z4JIik1Mpt1TVE97EAopQ\nSNmeZliiV2TiOAumQDjqGcID+C54IELq/nKb/ZObN2plk+eTeM7130i//x2/\nYNzW8UgoPnDgb8Yfrh8LUa/DwfWsGalXaAVtulx835YEhKsgOOyvoX/rgHtT\nuU8Rs+nFh271WipKvbfJ7GRANeXCpvh7LX32WOb1gVpzD5jQVp0fVhRxvaVn\nWXkI\r\n=NIxf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZSsDdv7pFfStkna5jjldyymJeljljl5lj+kQBAmz4bQIgf1EIjo1hdVXb/Wpi+QqiZXTT82MwtU7YdIOzFI8r9io="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111292120.0_1638276058738_0.03597289645318069"},"_hasShrinkwrap":false},"1.2111152338.2":{"name":"@bentoproject/facebook","version":"1.2111152338.2","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"27e204ed206cf75fae0a37d8f110b5fedb45fa7e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111152338.2","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-YCgml1BTY6pKeWttLBT0QlgVIVGC6KwLbPcFAr552I0IJpfJQPCu/ejFskCKn5DjgpbrFMYO1DUgmuP02sTBzw==","shasum":"863101dfda080976ae0402f8400311f7ab8ec3d2","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111152338.2.tgz","fileCount":27,"unpackedSize":2489531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpmVsCRA9TVsSAnZWagAAg2MQAITioErztn625a2OqBSF\ns+vKQaL002W++xvyJKX7g5o6YyEfajNhNJbPVBImhfkYVNrC+OcCnn2Qbg4W\nH/WIUJIpAjmi/FsUqDOltbvPz5h6XLW5rEENu6YE+z4FtvQ8ncwGcky7CvKG\nVtJVL1lVaiqsRONjJtquTvneuZc8TFP3pQ5VV71xOIOGBPQMoJz2+qc/fjXG\nfccPSBTwi1eCyXf7Abmf3nq/ohZxhc654A3SDHnr78/5BvDJ3OsG3KqDxiSa\nhTunvubXO/B5PAOOOdkSrRZUQv1Yh/ZZd4YmBk4xMBSg+4w/lSiOwTqPfIHl\nXRU5O6hPaalVkgYSGUFpStTDSHutk+lQdG3YDOmq8Dnrfq+bFx35OMkKTgfP\nvl31Q+LFI4S1swZ1slFHiqGLbtOwD+yeN260UyGM7WPjnVcI11ujUi33ycfB\n/OsN+PnQgzZ7HtcqUUvK7ZqZikw1PT5aVAwJxEgK5P8WsFG13M1EVYvzcvjI\nz4Kgkc4halWI2snQvyKBRtrz6f3jtJ261kWvNk3TDxvuaP/Sq8rne5nEEXvI\nRXv8hcgUaHLNoOb/5J75FxSxrTN6CkCbUM/jwABMWnXwrFJxXSMBiSEvr5rM\nPtTsz6LZZn9Wo7mFJYv+rsmCBrAl0M4fjg3CBS5itthSfWOFZZ1DmrznABX1\nQh8g\r\n=N1SF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICE06OQaCkn5q90O9d9soM4CXLsXoMowMFke6rB1FfK0AiAi8Fu7fcRCVjliPYuzERBYY7V6Rpkf1Wma65c3RNa3uQ=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111152338.2_1638294891932_0.5007210865663694"},"_hasShrinkwrap":false},"1.2112010058.0":{"name":"@bentoproject/facebook","version":"1.2112010058.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"6d1060a3a4288fb99047cc700661d589bc9e2a01","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112010058.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-5NilPWn0/0wSkFy0L9N99QmHjRvHwD9zTbsStijarEcczcGAAh7HBLe7dkxq0KRjTis1SH0J3VjZ1Pxz/r61XQ==","shasum":"748dd4242bc4132e75facd53800e2617550d900f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112010058.0.tgz","fileCount":27,"unpackedSize":2489803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhp2gpCRA9TVsSAnZWagAABV8P/R3/aksUP+TTuWem8GtW\npRwOLqZZH4Pew56KKGUf+RpMAX+hJsk1f6y9gCe3MA3zA9Nizvk9FezZu73s\nD0C+Vl9NQXDa3FF4mqG+otbAINlIq7ckMtrUebJOEVfkZXBpcizTohVsY3Dm\nX2ohatGhl8k0vUXeeWttyZa53w312J23KxNvNVY8qc4GgPFmxUDUzkHmthoT\nNDO+24oejQHmF/auOGazXza4tuwckOGRBsvgU1PiUM2ZNfthO/le8Ze7sIQK\njpwybO5bkgfwohbK4A/1sJnvrpNsPBR08TYfU/4i4eGn94vRIMpuB/QKmp/e\nx5loKJR3ZmLelg+LbkfMFU+A/dF2sAXUc+1T6GG6nEFgKL0qUhIRqqUAkuAY\nmEZ8mfqM/F8krSmGgEJ6RwUqX6Q22zoeI9AfO+8L3PBgENgKAwikyu+AHqTD\nvef9EWFrnGhg7DD/E1zFYypqA+sMpDJKE3QEFqJXDQIc4QW03EcQQjViRei6\nVbR5ro0uA54bi9ZFFX81p9x7Xv0OzJyZ8ICcNVMXspeSKc7YkCMK42Q52IsB\nJoxAcJ/ZsDruyoi0hu7uSqKHhmfHEq3PxR40UtG8eeCpV6iLnDmyJ2klIZFZ\nDpUCay5NTnaCsfOO2rUeCgtVFzk5EEpyGU8wtnicTryVftBjaSx5ncaS/MwV\neTT3\r\n=dvhz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDs5WxfI6wsSYHrUX5sVXeIicnZQaONTTkuaI1ZE3ozkwIhAOhyCXzS5Dvj+BWB0123P/+KVqvnnfBSej7oj298pmtF"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112010058.0_1638361129133_0.9600313926266917"},"_hasShrinkwrap":false},"1.2112012300.0":{"name":"@bentoproject/facebook","version":"1.2112012300.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"4ecf84d856583465c1ab59847234535fed16d55a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112012300.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-gDnAjyZz8jhcBrevz5v/zYCT6rF1q0tWb+PKGPVcGmBUbXB2M2m7sr98Q5AJvgIV8WCm+lCDhgiICiX+SzeX6A==","shasum":"a994b3b1923bc4ffe59956a9b70921ee89a861c0","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112012300.0.tgz","fileCount":27,"unpackedSize":2489803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqLxpCRA9TVsSAnZWagAAbsIP/iGrMwLe7rrDDT//AmDz\ngu0MYHLLrX4EItAQFaTBAcTSPdYKf79BDiFoaxPbtMOY/bclEHUHyUSEpPjk\nSr4iwxDG4Z97G9ZhlNiC2TRKli54VQ8pgkaiJ0dCOjYscXzBeX1k53a74CNN\n1f9oN164Dmfi6vBCDlrdn6MK/nPs/xLUgKuABy/5l5vaEHniaAfKUCckOzU0\nNJGqdV7+31HEnUvyQgYu1BqPWbGG1OLKv3UQeHCIM8COr4F2KHDzy586CjBi\nVow6Mmvn3s80GDS7a01e7/p56uYCKIkUfciJjZz/Cm2CGhnHVvqkBHa9lIUz\nQTAD3cv/rusJQEb5nknOpir/fzcTOkYLjllGt76p0mYWWhul1JyWkXkayrAQ\npv634d9+izVj8lS1JO5UC7hhxh5lYpqqGb0/kXuWCWTGtWavl7QOVzEBrkXN\nq7tSyrANCJQXoVKXxBPQ3mNl/CExWWCjTrcisc8l8jijcDjuxwUkT0h3vtXi\nvDsTZW/Rm18FdNs6/zpSNy3VMdFJ8EJ0YNDI4Dlvxyigb/zRQK2xoOKmqFoN\nbL7MjN7wAn6yuR6tPY6c02cc6p2CWYHlztSV/X6vR5VM6JfWHS4YO+h5/T93\nnolYrEmsvnme0toYj2HUBY+PYcqJEWcKBgw1HqCcEQ3yCjUYdOel1LDKWkgk\nrK60\r\n=bsqT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDoe4t+v4Ptgq4RNlBmsHBMZHZoig8+4tTm2GGMek/oqAiEAk2iCCmBDjSvwLDnRyQ1Vl9g2ErUJg2j6KgeorBZ0nMI="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112012300.0_1638448233482_0.40768873543766326"},"_hasShrinkwrap":false},"1.2112021656.0":{"name":"@bentoproject/facebook","version":"1.2112021656.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"4a66d3f7120b51959ea01867aa68d516d5e0dc36","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112021656.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-yo2V1ViqHr7nCB4uV+HPk/ZIEwfxEh+zKhRUSL9Ye3IgIY2d+1mf3M40VkSLgZ8nwRc7QwYgo6cGhEq9ySoU4g==","shasum":"9b85bdcf57537b093ec06e71c109326498649a15","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112021656.0.tgz","fileCount":27,"unpackedSize":2489803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqgvmCRA9TVsSAnZWagAA1hUP/0HytulFiGTRG1oBB1qm\nWikZYqe7XrXO6/UEaxPWwCca6VVUBXono57zw0OtD42c2oEUjy/2yAM9nhPw\njtP86BB9hUFU0bi4+x4X5vfZYrnK9+8oTX5KLpRwxmUDz5JefQSz8vbC1/qR\nf7jGFz1Z+8T0DpC6iaMrmg3llyXvHlJGFQr2kDlJc6K2q1awhhXOe/ClLQwI\n7FwpnK7t5nvDgF3DTI7+GswxxMAldzedqnJs6TWcNS4es/fBVE7KDMUhyg1a\nl35xrqrfzOMuBdNt+19s6K/KgsKLOa0fie0ywSuBtO7dSZaNYmZ/krXayIuV\n8dEZSGfE89ED2eQtg2D3DpAmGwfv8Aus4Bd+uSF8Np63GE/zxam0cKcEPUck\nJK9khSuu/Fbj6APNNuRjISjl9ILaHKdWUTerz2ber8Sm3Tt/HmokNRKEiVeW\ncTEdyv9ibHiuHpUljswq9Qpl3IYGnwZr5Io7VNLWDFV2X6YTLOHOVbjf3+xM\nrk4xeAQbXhISHd/P1y7dz33FvlOqxrgBZ0t7gCKEbDy/PkSHG+mkmhh1O15D\ndMlKhbocOXHg6yYVUBfkmaeTMYKiYFN3AB8xCs7b6YgrkMJ2B9vsmM+r83Nm\nr9h8clmuEcjn3CWvWrHyyc9rErprVrQV7bWPBn+hwjNno7gNoAVYVClyiQtJ\n++Oi\r\n=5XxC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF+e/3vOsxKoY2LBwyNlzkt3gWTrfRA9QBQf850fHmsyAiEAiXFfjhb/CbQPq2vhfIyS89We7zvx0/wsJrfRVXYNGck="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112021656.0_1638534118705_0.453437443113063"},"_hasShrinkwrap":false},"1.2112032204.0":{"name":"@bentoproject/facebook","version":"1.2112032204.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"80ca53e97f8ac619b78398d429e0031f40cf68c0","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112032204.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-rGhI6cQPRTUJEI+hctHlJ2IrHyQHUwJ4j2Xvp/2vxXPrGbQdwmUTpHstp0/sEWXX+fFi1JO0SkSHp0T8DOeV8w==","shasum":"73a629d11175f762ba31771d8403f2057645ba3b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112032204.0.tgz","fileCount":27,"unpackedSize":2480494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhq1zwCRA9TVsSAnZWagAAhTkP/AsEyGbmVNFRIsLINQIL\nhhkW4J4g+7sUbvRuFlW+LDsPjM207Ui+f45UoYXD9OhtNhniGTstvT6Ju677\npQ7B131Hpq7fub60I56djnfijcIMsU4T2n/NQcw7UdNPlDRvGY0on/57HDYo\nH7TIkSQq2IdUFJfFdqVOlLx/2hmrB1FhjQRM5MeOk+ID/B8cYRkFesdZKB0C\nTsxOL45LkxGId/dU2V/+qS4rFj8Vg0vql4nALtrqabu6KH6m8Nj8V82ldZT6\nYxLN8Oug+43HoRrZ1bzeKMC2BrtntEAKJrB61W8vjydnEGpqGFJ0GK6QpImQ\nVrO6y+Ba9wnw9DXu/+T2qMMjmrO7x3ye9N5Z9OzUgnC6gLuWhvvSougSkOIh\n/+VSicf02aC9K4+jAy91p7jg2G/LCvlNl0ywHRc0/ffbvi+svQnU9ZLKtAUT\nBchbk29E1/a/ha367yYMqUy0qPy8WSQE6f5QDSderJkp6uOjyeOyq/jxMM5S\nYtGuvrxdgiVnAbnbYNUBfcQ7b1KbOQTZ6MJ6Ao+TEMuPwYmSHeMLGtLBhsC7\nR54sbfKum1TD3uIZI7BbRTvub3X5b8LtPIyHQ9md3yRi22eU5s5rl4Gr7FbZ\nhaky6BNxDMlT0CL0hLRcT4VSHFew+xdJE4RqPQoLCiPXiqGp8+ZfiZsgqqlt\ncpCe\r\n=/u4z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQErMQ55/FsNTfkCnenEbFZofixhEEWwWX6uS1WlCTFAiEAurE8Gda8kjS1ESyyYDeJK6Ax59/KrDEAw+ez2/Ql6JQ="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112032204.0_1638620400273_0.3808063392617691"},"_hasShrinkwrap":false},"1.2112062322.0":{"name":"@bentoproject/facebook","version":"1.2112062322.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"cddcce65024c209c9420ce0567f525aef4fc971f","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112062322.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-0wU+wtEFEKJWN6bmeehZDMQAuJQj0P1vonX+1l/2ibDfdjfG6TDsX9Y8HtWoBhA9SqtH8ystRSKuhM4Od94jKw==","shasum":"c5ca664ae55321f8ab8d61fc82ec929905a6ad0b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112062322.0.tgz","fileCount":27,"unpackedSize":2482603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhr1MlCRA9TVsSAnZWagAAGB4P/jvOVbPZWYNsOSOagZTg\nIHhQjJPFViAjPEKF5aXUdyGOSh0IPag0MgVMqBqr+AbXj3ExJp9+BVFIEsUo\nGwudSADcXgpXj7squOWj1MfrQscWYY5QiZclDIEM+79bckweZFt7gkWDUfHe\nfO0oZjTD52t5ybD2d+CAb1plujvMKqQl8lAIm7sjEymVvTkTqaNkJCMkpoCy\nzJKbHLL1uISS6fJ3JAQdCCqds7sycQQYM0mQ+2XvlwOSsBwJMbgTr5lOxrqB\nUrRM+u+wesUGSObkZBaiLomCWymANP4VPheDcX5bFe/TCrp8KH9/+9IfKJBA\n3b1g7ynOkQZB/ry8Bcq3RIJTl0pcmJavAEp3u3moETS+FdzO9gQQm0MEFY8d\neelu49pPksLqdcw0eLVl2Suf90yC1T2xZBfM5YhWVSQ/UsO2HMdluIxZEvJM\nSFLzgAbXUEnPHsK05TGjz5QUdn2fUy4r+JMcA9TrPWGtRRIxdlguPOiAnUPI\nEGsjh8miN2qHpx72y+ixorkBJe+FXzADp+rrbRoS83XVxCgm0/7cuDs3rFtc\n+KP7hwf3wov5nEhsIrp7G50X20+2kFmbbi3jyDMAVE/YOqrtYwIYQa7F95ME\nEZDEh1B0fYWTEVBIKbm9JKkqONSnW5SvhKUXLgQBHPT/3nWLfGNC2sxAsPjb\ntQwM\r\n=IRek\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4w5EKOe5A88mrCvTfK8ptz4zFHq+WtWd9gW08zEF0AgIgFlf/14Rv0rnSPM57OR3hYczszwK+VcJ/9bnUJ+b2xTI="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112062322.0_1638880037287_0.4748556055746198"},"_hasShrinkwrap":false},"1.2112062322.2":{"name":"@bentoproject/facebook","version":"1.2112062322.2","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"3e8072d191c8771ac14d19f2122bba93b872265b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112062322.2","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-HlZH1CgJ8ZhFZgBHFV8D/u070I05oJDvH12GuaGi7irnkmapCIzPnEN0gKG5Ldrk14noqfsLtUSOEhjxfFFY0w==","shasum":"65d86a6cfdcdcb5888f38b15753424a101afae78","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112062322.2.tgz","fileCount":27,"unpackedSize":2482603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhr+AUCRA9TVsSAnZWagAAazQP/jCf8UCwbvicXYG4urui\nSIu45EOEyZJagAe3Ro82JnTaJ08N/qthf7sNb/unkwNy1d6FZ2ilHj3H5rt+\nbiH1bPBOH04aeTJKZX++XlxLUJ1gHa/8tedUhZlQ2P09Vupd00BRMWOPim5H\n8FajtudCS64fhq0BN6fjf49MCrsGAt4hLCpiEftiDUHFiibtL4nDY/SFPNp5\nfSVCmwx9Bov8dOy2JGX4Vg+21W0gTUt1ZyGOq2pOd50tT0IhG5rJAgG+BRVl\nm90M5lMN5IAwPexUkHPRfndjZaSq8jCWQQCS4yqeOZbV18eNJDG50ProCTj2\nbjalj9dDp59cTqcvEYwRa4CnrM0+ggsSNqbhx/D95Vr5aBMPRNOyKqu6XWgj\n1zKPVWXs+hzZZWn7CNutLt1wAO43xhPZfMOXiHaf3eDtq8bY2/UFamiyFOin\nxgVbRE6rfiCWfLELkGAFU9K8dYHoXxoS6QA1qXgfwZAch85i7WrrX/wdXpAk\nXFdgSSG5jReGaCwKZEkVjBFu4zrM408leCFyHQrfp/ySNZyeOKNabuz4vbGa\nVtBPyTftFj5Cxhul64+bP6FPTCUsPWQ8F8oQe4hCUnqY1NiEd3Zv56LsyATM\nMPeR6GZ0Q1i4dS074vnj4zalgYnwcDFKkqsSY+aBw1EY4yIxUnhBHG7rmchy\nSRJa\r\n=YvGd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF61RknmfNScv/K4NNQf+onE5fTiUaoeyVbH2SQGaiZvAiEA5JKg1hoU15R58r/UHNsSnuMCcks4q3uGS/JtmexNC3g="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112062322.2_1638916116544_0.6673972895163842"},"_hasShrinkwrap":false},"1.2112080230.0":{"name":"@bentoproject/facebook","version":"1.2112080230.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"6d03180e136b7ae380fb9d5d3d6fd8c0d5b28e04","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112080230.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-kWgX+aMud/tVd2nCXi4yap7l/IOBhkpbHO6rxebxc4CJlHcxmGMzImsp2vxYKXs8n3II7KcdD3uyPVJshzZl5Q==","shasum":"236db57d6172a97d4b668e6cb2f605b9d70971d6","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112080230.0.tgz","fileCount":27,"unpackedSize":2482603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsLFJCRA9TVsSAnZWagAAJZ4P/3IpAz/LMahgkA1ysnfg\nCGhpgJQII6jXwtilyS4VEevMd6R7TAXmPJMk8nlsQiR8aGiA58EuJpy9GxVz\n7rR+GUjYR0tCbEplWlK9jn4T875qHl2M3mAvNnyRjKvEIszjjrWS8exdlmQd\nteSFKuTkLCg5oJou4+oaQuoo6NxZrPHSwMKpMiKYtK6PV6x5mBQtfBAgN6Yl\nMCURsLfbR+r9NADq4qQ203xvYLDiyg3wbrKuabvDe7cBHAxMxIlueYvM+BKB\nnQZMM81JfnvmX4zX4tOvFh6KQ8JFlyAy9oVFvTJLKQn4tBI4bZUrf3JdQ1bM\nQiHykrOFDXg2di0qxUCvcGCINhJ+ewXwpGo4TE68RogGRGT+ISH3Umq8XiMw\ndPlcr8u03vn83+SkA+GnshpARctVE9Z/LFxeREuyxOFd59QUiI9OudKwzGZv\nmwX7BEJiY++/cZRoEg5/REXmoDvA5/Y0TKGLEm5HmjcB/z1NqDfHzMOXxzKG\nsyxCj4qYTjB5MlxsDHW1C0h/AgHF0c7SyUugY+QRIF5r2iRJorYM9o9ZVbTy\nHM51v+nDZSSqtRgEtf30zrRKbbpyp5h1Vt/hs7JM2MpcXm2OqKRE5+qs4gEa\n4u0mdlYXtLTuj969Di6ZH6Ki95ybSSQtHXmPiD484ua1VqPvbXnKScexuANV\nXz8C\r\n=JXkO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHmX+w2aSct5qKJjQV0kIQRYDxvlz0C7uvPnpEnYzvxAIhAMXSOP1rSLLBMfePI5zlQ1u2/BjB9/UbTyF1Pxj24j8M"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112080230.0_1638969673362_0.6120807717162937"},"_hasShrinkwrap":false},"1.2112080230.1":{"name":"@bentoproject/facebook","version":"1.2112080230.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"6268ef31f81697778937a9d77d4ccda3a561f39f","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112080230.1","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-OFdQFBOrMR8ZfE3bHKL0LkO9dWWxQ3EcRNF0WSqNw4gtaLjUdvympYYo548IBGU404UPCdBIfSIC4HPMj86OAQ==","shasum":"eda8f1969b00c8d6a629e0318bcea93af8453d2e","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112080230.1.tgz","fileCount":27,"unpackedSize":2482621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsNX3CRA9TVsSAnZWagAAWrwQAKBQIPltIpYFLEv32Jhc\n19f7PftY2AaBghBDjsKynH38FRUXFPEEAxSqs/TTXldZVkJWTOtswKQxaSs5\nFxsw6+SXzcfW2iZiaiogX5D3qpIFagbkWVEOYVxA+x56Hy/ylNdvmfBtgjy6\ngkFjXqok3hEYg8Ahm0zS4N9qRQK+rdqopoHtJCaHN6k5A0rcfHwgVZ4S7UDR\n6Pr+6hgZPTKs582QL5Uc0hgqKEzM+h75phsGyfxKFbydtwboS9gNtinGmr6n\numoH0S3JI5WCPxj9pGp5NaBSod+itJFr7ICz+YmvB/hWAzy8MIuyGquxEM7x\naiDPK2hw3oddOWpKgHaoIhya7WYHz1tMdR8Tkv/g5Ljo0nSANPuriXsX2HLl\nsi60HEb9Mx2bzhuO7FyZb0pMgCw43LXBPRgHBQqjX3QECPhuRd/ZuJmotabg\n//sSQVA/jAdfPOvmiV4f3bWoDrjRglAq4peWKc7OoeH8PTkwnVv4Ybnl0aDP\nLg8icxL5bgoNc5s4N1kwn1SXypgMBo4sjA/OTKRdsFCyE3XmTAX8VRHm1/nY\nsa1ZyROsPGaWtV0+6YmJr2Vjt9PGwpsDEFWiqUdee832SGVia5pzNcbX+kL7\n4x9K37Ktq9vpreq0rsPONwXZufnGLuMoYk7IWqYrY3JWWAY8aPBsdrKqz334\nyB9K\r\n=guiU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD49d0kTKmU/C61YLWP699UxIyO7X8mLePYCLmHuHwdWAIgIygr0XOe62f5dwipt1E+51hnuw8/yDqpHCtytGGpCB4="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112080230.1_1638979063598_0.4019429358146245"},"_hasShrinkwrap":false},"1.2112082232.0":{"name":"@bentoproject/facebook","version":"1.2112082232.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"b7b1a9f9f7f0773645f4fbcb9a550233900046a0","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112082232.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-xoQ9GGXIUQ5TTrvvlqGJvFVkp0KQS6c4eM8jk218KgqySZHwYfNxLFPlYOh7/mu7UAmqpkQwZIP6uj2CE9KG2w==","shasum":"fceb8ec7e9122861dabb43226c6ef12ac1eafeed","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112082232.0.tgz","fileCount":27,"unpackedSize":2482621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsfpbCRA9TVsSAnZWagAAtDIP/iFY4mztxZPGihj8HZaK\nVt+Vi8PUPT7Q7aPstvuinB0sso6dKXQUh5+kOh1n5NmMxCKsZeie1Tyx6sDf\n+20T5inHIari9GoYyifc+Eqz3IQ7l6KRe+DDGJzhdbpihNx0rroAoUapkUck\nl8nvfPA2EBAuSNk01mPZBc8j8hDAUFhJ+mhqJsaTdxzvmhwapio8KCknr8ZO\nrk1SP7g+vwkfjcx5uPCD/ClKmrulcSs+PY+ds6/9Tgo29ddUSBpLabm27qjq\nWxuWwz+C4zWwWdc4Cg5cEk/w+YOAX6ImWTX9t60pL5d7h86Gtzk1MiEbwakE\n6Op55+JY1InE1kIzvn1pcQrJAtlPVXYX+IttgpA3dPwa1N1jrN8DqVgRTKRs\nIq8Ock4Iz6rjJDjcP/Lw0QwkV+RrR8lMIsYwxKyvVsUxVySZCsPrB3+Uzs7r\nHCJZsboZqB7B9Fab6a9E7u6uaghQQs+V8CgZtF4YwctjyYZv1U2D74LJYjV3\npHd27r3yl/vzi3UMnKKv5sIHudglKSRRqcumSIZOQC3xEOPUVkgfrO6cgtBV\np6mPSXfBFhw22NX7ynI/svq6WuYFW2/RN1vnfgSyxvSRvBuCmncn8COtBJx+\nKmSQ7uEgVBQCvrvn1+It2o6duuIhk6bBZ+aM/5hl8+4vf2z8G7NuoF58lD4o\nMrzU\r\n=nOL6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFlISvhXRoELYWWidjupztOTlQ8EBLjW/ID+qFNrSAQQIhAJPAyAb+IL2bL2o/ezPl/08n4kIMv6r1J61ye59XmKjs"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112082232.0_1639053915655_0.27471067783423897"},"_hasShrinkwrap":false},"1.2111242025.1":{"name":"@bentoproject/facebook","version":"1.2111242025.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"b65dbd2c132f8cee302c477f3a52cb864a79663a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2111242025.1","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-O2Ttw5pZle+1y5RvDyQjDqQX5bLev0AXlwtrLp3sbASaBv2Wz+h8ZQeaB/WGszWrcIt/bD3iOVso3QnYma5J3g==","shasum":"6289499fce0259fafc859bb10bf6823ff38b0c4f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2111242025.1.tgz","fileCount":27,"unpackedSize":2464404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhspszCRA9TVsSAnZWagAAMjAP/1O8huza3h6KIm2mbyTw\njXqtEadBjEjSKQnZLGkTlwfX+C5yOdVHA9AVxrFY6j//g4qtP7HkGAijfclh\n1+Ubm5yJIUvZbGUBx+6/YTrv/qtUdrfyxkdisCPT/dys+l29r36yjgdsBn2Q\nW2BqKS/22ntXDuFRHvrVnaRH0KxzcmkoBP6BN7ESQ5sgSbFcv5FW6GaqGi28\niTvkkUTu0rnXoXX3SWtcMBlW0ceX0XhjlYHrZ1f+GlF8CywQ2tsSW+XSDLow\nrUeRDij5bijmA/RPr4ae47ntdvPjqDvcTHFL79jC2ZLx+3pEiESVVPfcYDIX\nUvxkphVHKk757FEh4Hk5XgymuDm8RXIwEI0nPbn30jwH+5c27p3WoIH6XAvN\nSuaemxzXkaIPQ6S8vP63aeizmIJqbFQLxaPnAwQ3boVayGOSru5b94jVEh7d\n3EoYYQ5nRsYazM9jLJridAVYWJy+umMq23ezF995Zo008QP5BBSjKA1GD229\n1OaapCcUzviwuFiJax6RiIK5LRT3fnOpQ7sBaI8Kcgzs50ril2L6R/FrB2xX\n8dCAtk4Bl3HSPXuu3bgZsHt5l2aXvkBb9Ku14RBFPssXKDGWbFZELeli19fe\nAtwdIExPEEtrRiRrh9LvADhn0LXHYJa0PL12qtFNJvQTU4EGgpfw6D9uVimr\nZCuR\r\n=OkLD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrdUCn/kzL4rqwzof/ZPF5QavEyfKrbiViJKhEVRz0sQIgZ6jn+MYP24B1bf3pyfBZ52FZ23EBNmk8vJFl8vJAC/c="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2111242025.1_1639095091173_0.7115041215815887"},"_hasShrinkwrap":false},"1.2112091956.0":{"name":"@bentoproject/facebook","version":"1.2112091956.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"b65dbd2c132f8cee302c477f3a52cb864a79663a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112091956.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-GiJe2c3MNsnYteIyBbvc1Yai9QQbjqAzfRtndT8TRmyWvPajjUZdIrTQS7N5KvZvsGu20t46J5xYAfyYImi23w==","shasum":"3b0c1f40160d0a50b2e858e635a134f671b2df87","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112091956.0.tgz","fileCount":27,"unpackedSize":2464404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhs0waCRA9TVsSAnZWagAAZWMP/il+hjByaurg5IO3XKjG\n9TTi+mXOCWE6jop5a/RypZo5yM66X/9SGYyYFDchQuUX/nR4tC3Vz6sAJIc9\nVZRKXkMBtMeK7JseoUNBfIUD0awBSfanPPBkr2HlHQbYfkxDNgKy+aubXOa7\n+AN92ZsbSmtJZvZT/7envDfTpARZHlapcRazLLztnlCcDTQRFbfU+NKA02sk\nI4X2uG4z2NvhDLmH2r9cPPsFQWQCa7r+u+26aXyIH5kWNNXwtGByOoX1IGRG\nFoN8dxWP3g6vURxAFYtbyedocCzI6Sn4aXl7HrMzBTaSTqNaI1+g1G41SQ5B\nXbtJCqwq4+qCcaJGhaJZncj28kvyecVK2I5IVDh4IBmhqepSvtZEspVwfvAR\nmVLb2XDRwK13IIpMQv/6+OdDoegXa0Kz72hm5JS5s+S7ZH2HBdQcrxPcYrCe\nx/xI5iWf2WVzhFe3zTBBAHrMA3U/smCpRAy28vCnclbpUdyKV18McOpJjQob\n83w24bqFy3EWtjTS792r3BzRrssTvLjg52NZ7/7zBLrY5HNuIT6RKppq9KUL\nu1GJt7kgmVnBdOEAAzSaRQ9/W0GAahlFLXpEXBXzTrtljvFDQyJWpvPdVfmm\nCpv2ikLfl8k3e6Lb8dc/8WtUsbiy620hRN50id10peAv0CW7OVKpj8+3X3rO\nIy4H\r\n=VGST\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAG9Y+Yx1072QiuE8nv5wUiOjYjLgQQpR0VBGyrqoM7sAiEA1m734YldmyMYNIfPBPrYx7CN3XpI6zvY9lT2XGJtW54="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112091956.0_1639140378561_0.17092749915528072"},"_hasShrinkwrap":false},"1.2112102136.0":{"name":"@bentoproject/facebook","version":"1.2112102136.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"07236921f8e25ede71217e1921f8aac93c30ab6b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112102136.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-PxFrtqOnT0FpLfYWstp/1cjab+xwoG9SH8OfgJFtMC/xLc/pgDVOlDqB1st+gVmEaAZCe+AZQHEaAxdav4Kgsg==","shasum":"780aa7121dd09cbd69225599bc9a154fdc266fad","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112102136.0.tgz","fileCount":27,"unpackedSize":2460036,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhtJoVCRA9TVsSAnZWagAASToP/jCg9zBu99FB38w9v+G2\nzBs979WVMzzspnCBLR4zeSrVF8PGDRwxAl35e4A6UbK8obabmBW91RP2RzQ+\noHeQkVFzadr/8p9IZGhN4PfS5V7BbIAZpcEHJHpwaLWdohZk+LXtBilZqgVz\nmG8By4fIUoPnmYF+lK6A1hBO4YJKopzi2EIXJ0ECIzM6bI32NnlX95tmAvt7\nSr3ctuwVPBwhFID0mqW0KFl3ruHi5PmUcbPMV4yvH8PLbX66jR0+pxXFw2s1\n5uuNTd3CsVkWUkSQJnZZQSVZahNQ/vhcwcJXlmZdAiHBPqOcUvR4+MFBGkr+\ncKMOhGOxGlHz9uUhA8Meu7J91+yUkTG30nJfv/TPZxYuyglLppVNH9scQdK7\nKEYmCqjbbqBX44CrjuXdkLUHBkIIy5Ndex5K05PcMQ7/09ZE4I6ik5bs3d9W\ndWMPLMq5/KzRvHntmQkZLnYxICnOJ8VEQHtuEMfyrEOcl4pZUxZ0vGPmJyvY\n7e+l4aAUDV43d2/nPWEcZ218TWZX6uzr/06Gr8NXp4QgzkBXv5cLZukmtfKt\nKFyzR1b8BOoiRJik7ac4dQAbjqo7XP/lxP4NSdQKuCTBVL8BnJAoZdlLnTYi\nJ8ARHN4OZzkXBX/8IZI0/Z1tDVY6nl3wBXKA/VOUy5DFbujW3HmeMoHiODko\nExsl\r\n=vWMe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAcEeQL1GYapNrQ/IyCAbjzUtbqcCKUPbf//LZcWRZRkAiANsxwhoL4n9wPHNiyq7nkM9Bnj6cpdIeo1at9A0oAXlQ=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112102136.0_1639225876876_0.0981645532668245"},"_hasShrinkwrap":false},"1.2112132331.0":{"name":"@bentoproject/facebook","version":"1.2112132331.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"cf62ae1d6a12b70dfb6a7bd8ce66ed5bc6e30d1b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112132331.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-xxKDzFKopcqj/yLb7yqHRQ0FALuL9V2r23ykfXPWHkJz4b57lbYaoNl+gteUyxhQD/mO/lc8YSgjZ/q1vreXhw==","shasum":"aa5092dbdf10a08029aa283fea21e36b530c2c55","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112132331.0.tgz","fileCount":27,"unpackedSize":2457831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuJUjCRA9TVsSAnZWagAAd9UP/RyoAHFWH9HQYnp61e/7\nUDb6PN8TusXsr7phw214X4k4nh1uwbFMexKZYEbuM6mjSgruGXL+O91JGNKz\nJvYZYA+MNQ1yTvBEOQdgQm42bdBWQ/eqnZteSUHf7VEq37NMy/2fOcxB8wNS\nmclvlZdPpzv7rUckW9Tr1IxJpbzzZLsUGsdbqyo23WuAXLAL8dQo1KzCfwe4\nYKt/heUaN1Ta7xIbxUnvRxT6PThfv3ddYkyrdER4sJu8EHfxEmDRz5LA3fTN\nDPL01fFsV/IL8haWLuPuQRmsZV89i+b56CWYxFbkxXdYRpJPDPtiT1w/61CQ\n7kXHjS7/SAlpywZLMZG02I4PLy/LCMxGGCTV3aQN8g4BHWmVT2KlQzy6psNw\nhDvd1EcaB0KLMtGpyCJH4QmHY6wNWST6leEXq33MRlc4ByuhYQ/t4iLow6AR\n7F/Ix9yn8OIwvJ91ShQ8s8oK8ZOesyyLGOHaOtH6wLqD/730zQY6LCcFSBhi\nlM03ry5wsn3Iw41XzCGew9O4dieHBszGdLG3P0IJBkMDR073JD/ghOGwSD+9\nB/OBAgGizoeyfrmHMV0w0jBFUruyxNCPnQ4DVmFfruPwJooG0mnau2XKAGoj\nSiMbHm29c5EiF+6AgXZWlqj4X0ZF3Z/knP0zrSuQTQ1VKeUVvlvdCGmNhf0C\nik2d\r\n=vCuo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHhkkbWhx7pwTJVyrVpzZvwnWrXQWj9Z/i2HcCTeK85QIgUYOHaUq6MQZPFeuqPf32nPiV5jpPrI25XLPUVxA0vKQ="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112132331.0_1639486755658_0.8501924108603709"},"_hasShrinkwrap":false},"1.2112160003.0":{"name":"@bentoproject/facebook","version":"1.2112160003.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"2bfd164830b15f49d7d86cf73821410a039d9039","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112160003.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-bKovyfftwVfKqQy74mQ5rupE6oPIHo/g26zRtz0rA473cCMK/e52nNCAbYH+iWs3BATH0dgmCm6rD2Bi48EGtQ==","shasum":"a2f8cc9f81b74c5bb7886338d5d66e11aa26cb45","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112160003.0.tgz","fileCount":27,"unpackedSize":2457831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuy7mCRA9TVsSAnZWagAAiKcP/itSrtHHzIRBFHH/K4YL\n2ypXlyqO1eeGRzg44BBm/X6QcMo8Aa5DsOZORH16q5EQ6GP21WDU0/Je2GcS\nJa5sS9u7mwQ640SVmjtCIFFn31iXINkXGh8I4dstEhFaUuTlfGZeKQvDk1Kp\n2O1JTgGwMSDAauLWSLSJakRww3tv/vul8OyjB97CBE7n0kkMh6TV7oW/iDQ+\nM/Qf0Rhpqfe7WoEXMqlftA4fm58wGdLFWDRX+qvhGDlg+oJ5j/i44EL+TtXQ\ng+zql4UKRU2TF7861/qn7LA68DxHELCbhzPeFgq/i9scgl4rFx6YkAZpBI/T\ncjiVSENocuEfa6btqGjgkawlytzjaEJELDibb7BVOMgAcpPejejjkAKIhpv6\nVJMLiGxdP918PLpeFYsm0tFcAvdP26Aa+86XruTuz/fPwUN1QxIhaJo0EcNz\n1SJFO91QTuOt/7djgeT9tuDq382Cnog76UQ/wGdOiV67kLkQQMFYv/RNby/z\nLClww69WiW3SWTvGXzWbl9vjRiuDMlsAKgwBfRciwHlkH8l6055J7NN7s5ms\nAxndJAP3NGXPn9B2xqw8drqSau3f7WtnwDJDHHfoWySBaxbMlhLUALVxjrvu\nFq3wirkuPQ2KP33o30NlpReRFa9cbBm3PG9NeEBJU3T5FKmnFLdXbTnAsTGO\nymGu\r\n=Nhb+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDTsYYt/RjHPBU6IHT2h/r21suONxrUO33wdaT4vQulZAiAfAyOfNq06iTLpJmFSF9w71VUM/WP6Sw8xAgXEUmG+nA=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112160003.0_1639657190566_0.16211027755718388"},"_hasShrinkwrap":false},"1.2112162055.0":{"name":"@bentoproject/facebook","version":"1.2112162055.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"e3242ec094a87348831cbdd342f5187068444994","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112162055.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-9h7X5DH8qMEWbbajMvKijvY1t3sOdaSzVOOkkskf16Jo9xL8BrzIMUVcdAAUx787DoLosQSGrsTWxlc6L2bEtA==","shasum":"2ab48e5b707c882f9a6249dac0f262819e5b35f5","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112162055.0.tgz","fileCount":27,"unpackedSize":2457543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvH/bCRA9TVsSAnZWagAAwDwP/01sJf22kmB6SL+qoLcv\nW8QSNvtBtPzYuobsH2zrN8JXncaVWSjCwHOSizgUZo5csrPIsIN5fmXnsE2o\nGIqp+FaHmSSotj7dnJ+0ZTEhXJ4vHrPiGHGH3mCOhHy5K4hIs4LECUrrZdCW\nb12M3qWdSRMTM31TzotxsU7a+zULwJQ+e2Mqs7c2jtriufcK3YU80Z61bI2E\nQD9CJic9nUBISPqcEQEn9kU0PwRZJbW0uuT98e1rNK+uF0tyWaDD5G85d/nW\nSv4IUAXAk+WbTjPTdkTJ/KrdCjAV/T73nJpPmxESw9WqFh8VEgsIomyOcfTg\nbBzPQBKZ0vSTRq8L8oEjWApAgGshD94qrWfIfbs/fMtFdU1Xk7vfZb+dTloa\nWLEDcmE66uraCLA9G2ZAG6a2rtWI+T5wzuyCnM/ZyFAxohR4q1ss3up2etwz\ngiQz2SJ599OY/SYtSqpWPoi8Tp0aCqzOqPiOKWv4Nr5l14SSxTMpxAdboHN6\nMCaD2rjmE7F9uhEgpuID7lgQS0RKuTuUEyxKdTGt9tpwd9fczabZgUJ5yYk8\nUXleOHrHViS3COHzqgXlBCn22MkOXLFmkfm0VTu2KpxdcBRyiGbciiay68s6\nv/iYO5ShKrzUyHaLGSFCyl8eCTQEmZRUQ4Z1AtTjibDhRwj1n5un0aTrkxWr\n1fPe\r\n=j11c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE5WToWOTUV2+/dEC20tilADX9fjFTdnVfKfcd+iz8EAAiEAsweh2aN/dBCj5xN2zbxURhLajqSQ6hy4Xz8tO3Vrmjk="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112162055.0_1639743451583_0.850523214768711"},"_hasShrinkwrap":false},"1.2112170012.0":{"name":"@bentoproject/facebook","version":"1.2112170012.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"38e50237c04e29792bd0ccfdc13308940a873817","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112170012.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Hg+wwSEp70DrENK7Szq7BzfosgzwVE3kMzm8ITXcfaH8OjOkL0FPkUuc7dbgQUFchBlCiaoXimoZo88fdTbjKw==","shasum":"af9a42c881422b060557098d634d6f34386969b7","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112170012.0.tgz","fileCount":27,"unpackedSize":2457765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvdFtCRA9TVsSAnZWagAAy6MP/349RrD88VT5AW/HWthW\nIRw4Z4zvlE1mTWPdLrrF2k6lVUDYOuIsMsPxAIoR3Knsm7kO49QeXKrMQKuk\nhAJaOYRUalkrcOiUYHSHcqb772rcPmpWw1TzMHYRVxTN1BrqwvAShQHQ4dKz\ndS+ea5w8EmiK1coRpQxK5BuLJ1pkQ3cRgkWSm1Ti2J/EQ1XHWj4SjXEyq3JG\nsqeoOL8BntnfnYSOocA3xj5oJnYhqtOf1lXbLaL57oKhjquvshETw7zNQC5t\ndYVJnkPk3aRzLW6jQ4KO3SjRdSFWnTiqtyxpxyZquYgEFdhFkrOgCwEi1uPY\nygTjr+cpIChhhewz7smBnCHsqZTdlaarp9QcPLNVn/+Gg+E3hCmy18STfXCv\nWHQLL5ielCCNOh6tR6htcJdfzERdMkydbAyHxXbbb3kf6oEzMrqZPOxCFnRz\ndMQkir6K0HJ1zikDnnGogVKIbDPDpxM6g+Rq2yujLWDiY0dTEWqFTHRTXTnV\nw9QkQx0oWXu4QsnZCQad5kL6jj0XiK2UIYVwEDPL7EHjBT+oTVpo+Xao7c86\n05cGWqGd0GL0O2AZpGQVdtkKsfxoGf6nS52SHdA1MEOaVnVZM/m2iPD5Cci+\nbZN1RdBqIygc732rFaZob6nKExaoneAeICMqKtj1G4eFhLY7jvBVIc/ragHH\nq29L\r\n=88e0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKTua4nkhGt6dVcW7wmy250Uyfc77YpLs1mkIZZTdyIAiEA+fCNYQVHCflBlO+HTHb4nPSZSZjTRxAQy9Txzn0UPQQ="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112170012.0_1639829869416_0.7401535501040171"},"_hasShrinkwrap":false},"1.2112201724.0":{"name":"@bentoproject/facebook","version":"1.2112201724.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"a8be9d1eaab4dcebc8c170c9911acf0c8a5e73c1","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112201724.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-bm1pqjfxF4lV0mCTs6hlMhYQ38dD9QGX6FhMIJM5PNUeW2mG5cThkAV7bwvs/yOJ4Y3GMQIT76elNKU+9QbqLg==","shasum":"658610ea1065f1c2d44c88e5d6a77d1cbbc1880c","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112201724.0.tgz","fileCount":27,"unpackedSize":2457765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwca7CRA9TVsSAnZWagAAZRgP/06s2Xi1Y9FBP9aduSF5\nvv0/9VAHPPESM9H3X5A6wimHN8jQPMNweA4v3PPtzh98vFZfOgHxF89j07vJ\nYq4eQY/1dC0Tm6E2QKLTppcUFj5YyJTswYoRo68pOJsKAL7ckDFA5CFMgpG+\nh0LDOl4yd9Ky58XKIgxNRXT3cC+RfeHFoTzgczdoaCU2rhRaiZg9X9VO1B/w\nQbChsJZSqYISCMNGYSktHwCbwUmhi8/Q3C827UhwZQHSO15hHGY2Id7xpC8Q\nfiQ7A4La9WBSkAon1pY3NZQS3yhCZ4AkmMaRPp3FAN0o4oDQAqcHyEvFAoSg\nAeCtEyX6oNPfjih6rLCgNJsD475aRuLZZXb5rYEGeWCTMRWeECX8GVyaWKaO\nb6ymTbxvV6D0DcquLjkCajKLQ4UAHvgKyEUZUnfvGhA9OkoigOw30lpNHtwm\nmrOQY1g53CuTojq0z4jKa4K2GeWo55blo/o8/weAZ2hPDRGkTaPXEMMYL7LV\nSA2jaVDcvKGCOxOEuwmiiErKmm/u+FUgH5B81mJDh1F73ssjMm45n0mi8QYo\na7YB+KweFEnLq9ZG+CAFJ10RJZbeb5h6+j6ZPRDGb+GHKqovvmmGv3vD5heq\nbLRePwVhvH9xu0t4EhzaKHIfwYa732zQAOkfxQx7LxN/2CS69/VGPP0qguUt\n717s\r\n=zJT+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4WMNHtTDM4RotdqzfOj8YLw4A/UAipgETe8kohFR5yAIgPG21tI+GCkG2B1KutjdHTegqHsjxaUD+Nbq2glkYOEY="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112201724.0_1640089274841_0.021954662077954712"},"_hasShrinkwrap":false},"1.2112212349.0":{"name":"@bentoproject/facebook","version":"1.2112212349.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"a6b6a6c259283b2cfcfb474966602c2ada072484","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112212349.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-ZBK62e/Y3QRdK3HoJ5uJ6oE7XVxzY6xxq5oaGXhTDA+juyPKm6viPlao8nNdnvtHQoHBogrP71xyUGKG2MbHkw==","shasum":"74a85de45ca093ad4f18008bb8c8fcde2ceed90e","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112212349.0.tgz","fileCount":27,"unpackedSize":2457765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwxi0CRA9TVsSAnZWagAAvqQP/ibL9ICGAbPa0GS3bgIl\nQZv3dh2el/ug/imhMEuXSNQ6AfhCNZLqpjoV3tW+GS/8CUiwFTB0w1XSQEDQ\nkDu3gDH840jjUJrlL/0Wyi2iTdK/YS3QR/YWHEnVVAMz282yBLbHdTt9dwUl\nSVvBhcSl1DgHvCC817SKoRQhgMBeaDdFE1zdCxFdVHB+iozggEF0FUT3nUJR\nuwxtOSN6aSaKC4A2FLyQ0r1rjr7tngLTJjGhwHFjBwSm9WQDEbR/AZ0+tRm3\nZcfSrm280A1gocdQR1ohhJUxRLebfUgqTkhkwJZ2QRDGvcHHS34/PVvIS/lY\nqqkiyfM/RwHL108a6VkNcOvV60cDaMZtTfkzqtlWWBBPRzD/UbHqrNstlE3T\nFc2PW89Du3lMxahS6kef7To5drCqu/TRKrEr69NcZ1rrKHFV9xjc6wZk3c6r\nNdznR8HOopvMEa9LyrokJ+HKKK8nb/AJ17gemqxUFuRV/yl1QIx46ytRTIZd\nF46nk8g7aRBkfA3Mt9lmlsJap7g78+XIioYvWdUgegwr0sg3vAKbnFmR79cH\nEWDTeRAHF46J3gdm5xIYu8t8clkmc8/By32Ydc53Oo1NgdsGGJimJejxLMjb\nMhR+k3cdAXWgGMPMvkT1OH+cVxQPVYc2bxNGREPvJYE0ZBJi052MWrKQvpDb\nj4Cm\r\n=tv31\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzpBRVrCCwZrVsDZDtgezTgrBKUOFCY3GiaNnQ1iQkxAIhAIgyFTjbUJ9BX8uriR6OPGEzBDwEbkyAemtPWQAUDDHt"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112212349.0_1640175795831_0.4534771597813674"},"_hasShrinkwrap":false},"1.2112221739.0":{"name":"@bentoproject/facebook","version":"1.2112221739.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"5d282652a97695e5ec57a655f76c0cb6d40de066","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112221739.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-1UnYnoquJUmgd/DqZ4XA3L/j3AV9IcmemquuEUF5hR3agqSaZW1I3TrzB9FAFZCe6Pi2kiy9EwYhXCQ+w2SS8w==","shasum":"76307175971dc9452158ff7d5a0da66663333efe","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112221739.0.tgz","fileCount":27,"unpackedSize":2457765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxGklCRA9TVsSAnZWagAAe+gP/iY4wte5tyMIS+rBir3u\nHdl3Ag8c3331TjGZOvBLGD6g+9a2HtbWzlTdwZICH65mL6ktbFjLifKiVK8W\npUPPYN8x9rrNdbw45peEVIgv0QqJ2WPcf7Vj/Sp/7K9OInXKjhvGJ/f5IYHb\nuGXsrod4bmc37TcPQEDWUtNSWOB7kW/AeSqiqKMcqEf1A+CLKx5rTqQ3tGO2\ndD6aSkldqgEX7pu1MYV3C3Qkq6BpZ+qnjuFjeBqxMYSRAA//x3tkYHSNBL+/\nmsBzEXZOwnd9DGYROhhGMw+ZLnTqfejgMk/NCZ8VoDLHydMAm1RElZdemORx\n24vvLXKm8Yur05rwzda7LpPe4zvnPvsnZGhntbtuTnxqaS5c2QvzgU4hY0e8\n3guks1Q+Egyv6dA+SSJU/ljFDsCBVgoCreqhDnFYptFGPy7s/ovx1ap/kQNm\n3QOXp9agSIhsK0NLlntNAETslFtzoB1PZzPFgzh0R9KUPBqU+pM6HJB6GqTT\noAS8Enc73bJoWn3K+zRZ4Rc6Zs+imaQDpsuWU2p3NjQZeau7lrBSviifypcH\nUGdS+ObEQtrgiVuMoPLwFtHy+xe20XUsBRgk8gLpMu0RoMbxYUxRagBWt4B1\n4Wd+oBFez+DahAMDCQjBz7djRyl+/sSjwDkLsfZxih05+foS3Mg6Fq/KH1pg\nXskK\r\n=mu1O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHFGXE8EAQLvza2crtP2I91ouQU0eQvj32FdH6Krk20MAiEA/8Kw1pMtC/0sTNQwqbR62teNNstgXAgifecslTaZXc0="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112221739.0_1640261925323_0.37038346821071966"},"_hasShrinkwrap":false},"1.2112231523.0":{"name":"@bentoproject/facebook","version":"1.2112231523.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"3d06e61b6949affa49fa2c89bd550777f0fc8c3a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112231523.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-dWsenFRNcz5GxhzDLuBhSLc7FIBduPlTTNDrwiMDjunPo8UOUGNQAPVmAjQ3HnaeXFOmSYy65e9FxPMSoBnG6w==","shasum":"fdcdde9aad4ef4e2e580501e8a163ebe129eb9dd","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112231523.0.tgz","fileCount":27,"unpackedSize":2457765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxbr6CRA9TVsSAnZWagAANoAP/0jdC/L3XDYxzpdKmJHl\nReC6XbHP0YYGSTJqYqOT4u5RY5MQCtAtyw8SWgLwr83Pg7RSPNmdigeCG+E1\nR1tbNFmbiarqlu7qNln23cKwGanpaFjjy4AhWjs1jWep/6q/xUEqkzXr3FCt\nDEi4IvJPhxyXe2BuJDp0GvHi5uKq1aMmXqxakOXd6himMwYBHWsPPA4ajOvb\nunog6/nk4tMk/JhOyDYtW9+iSdVdb5QkumMwMUYLfcB28sPTkTWdgYo7l1Oi\n4kir8GK4dBEhswnDiVLSCC9l3pwYEN9Ff7d5VbMwLkX5++rUsFOcGNkTq/8l\nlzVsRdlZu+TqQMkOM8mYxruoNwGw9oTyznDwG+FnRTZ/hQ3rmFLvB97t+5ij\nRXOZCTLYfci6Utar1xLvPe3CvqyOWCI9USJ2H2WUIestzW3mq+MWIDJSMJ9a\nxTSd3j9280+pb8LjNpbwM20vphkwcPJHT72zfDi1PDXpDcgITRjYKz1O50ka\n97QrbBDKiWkDBAg/CSWZF8nmvBKZYJ0Bo07mHYY6lmN9skGbGGhBVozOAWR2\n/GQFmDshmlOF38ikG/Wk/hrunULpsodovoT/YAHY/Z/ARaKkgkExdIwsW7dE\nYMG1mqUkNuidiKgA+z3p3knqWswu6EbsGvEoJor7sWfkAtxO+fpt7+xYaxfj\nC6oh\r\n=jjWL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH63D1MYOQL2m2bvPsNL+MD3HjkLw0MMEuDq9bgsbS1NAiB2EKctB1E2AYltLxG9/qkh5/YlREboOebU5N1J/kNXtw=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112231523.0_1640348410237_0.714455269527632"},"_hasShrinkwrap":false},"1.2201042109.0":{"name":"@bentoproject/facebook","version":"1.2201042109.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"9526fe41f7489e55b2e2a8bf52d6b0e4367e19e8","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201042109.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-dicfs9vFFSpH4abSR65FbGG2rHDU+LGbrpu72RY8ssnde7GBnqYPP3JO8idjSBc/ZOpPLZ/tfBNbw41WPbANLA==","shasum":"22879b49e41b8b58461f92225c6d6f390dfec171","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201042109.0.tgz","fileCount":27,"unpackedSize":2427901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1Y+cCRA9TVsSAnZWagAAojsP/31W8bOJiorbQPcgCPWl\nG18wOkSg1VhRLY/Dlo2dB2wrGdZ68HYBQy26v5D0XN/OX2RR0jDqv0FAc89Q\n3R6822GgIoVfElserwlbTX6JTMRJGtcNwIWWzK6IziJgjudGt8+XpnxaC+0v\nhO4wUKnz8/tYoI9pO+qUpz8s6cBdYVycqAjNhaT72ZE/X6POisqHGghzJD/q\nk3CrbAiQ0w3R5fV8SkMex1G2B9erA2z8Z11etb7VR2un13sFIjKXudBUiVDf\nSVdXXJmGNp/gNdVClH4l1GpC6GzCS3t+z4IrpoHzgtZIAK1rplf+U0w4LAt5\nmWOgecNFsip1qRT11BDtIxkmpX4waazBw5+1hrwWvkBzMF1ivZQ//XOL6vPr\nU2gORL2Bn6ajQuDlaafsk4BBUjIZSCHEGB/wW+yeqqQd9/x8ez+gjjb0oN92\nmgVHu/VxBVgbMssl3woCV/2TKic+CPh7vtCUkjK07GcQkl0w+G4K+O4TPL4S\nPyueSiNjiO/er5V1o5Pm01NThHiCMv5LCxNtcT+HipClbxkwU5qjvlmnGimk\nanSGzkHWJ9kc5WRaEGim9JBb2I1kFvJNQiuYll0CHoDgDYwntIAgWvVDxxcV\ninYyDsmGT6/ZPxH7Zeok57jN7UHseucUk7VLYYAnDvAqwBb75edAnD+Ohjph\njEzh\r\n=myQd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbNRVWvVYT1093tYmgwQTH67/7yZz8s/dBll9NIkk72QIgCUitAtUVGyYBcnvN+itKTeoK8Lfeku8HfVqdYYO8xCA="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201042109.0_1641385884241_0.5907642809775795"},"_hasShrinkwrap":false},"1.2201052144.0":{"name":"@bentoproject/facebook","version":"1.2201052144.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"09cb7c2c04a007089967ccf35accd80cfaff0c83","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201052144.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-+TvSnftlaGlGg/SCKDRJaR0YJs+quM6bh8jdLQyOYNIQWsYmiDMpMeyAxRsijIIHp8ypxyWJ9LuemFdu743A9g==","shasum":"09f1c9b8e9eae125c4a1a1b6cf846797b82ce6d1","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201052144.0.tgz","fileCount":27,"unpackedSize":2427901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1uNoCRA9TVsSAnZWagAAY60QAIcPca6JHPIEN6usWIOs\nPWEPTsiKuDiqmPYKpSIbcsykjwgHKKuP0Ho9/9GQLrSq62hYEYqM6zNL+8fW\naDuQ9p7Toa35lk2BJdDbJ2fMF98nKOi7j4biv+OwrfchHWJj+eC8YIX7zSqy\nheLTJJb2Z16suqUg/MN3TnqiJVJpZH8dz6xp4hf6NBl6fztyvetOzoDTQm+x\nr3Yx4tocfzCUkfHLhVQ10jjaK7pJeA4eDOnCYi2nm//2sFrySYl4V9SPqzCv\nFNl6PN0Bml9SNcUoemnJ8VUbfC6dQh5A29Buki/fcECAi3rnY8x/fpur+8qK\nPzr/AMpyaOwKiQEI7wb++LdgqjqOPZmHiPhkjM93GeXmDy/PSpI3fmpg38DA\nhBbY5rilrmtQkAD+fmgCHum8EJFOFZa7Dbj/NuN+10D3y6xtuLDaE79JzFC+\nyyHri37rGW4LEM0WgbpHuIb0eBqiT7idwtNZHlodXtcP4SEApYe5FsrojUFJ\nymNpUig6+Zlav7Qx6FbHmk8/zsSr8sBzv+h5BJrAgvzDMPnPMmPJUd/nIvPr\n48c3HkSiSFCh04ZoXgMd68Mwh+DGJxFot4j67SGmme2bScEQQnF3bJ3O5bih\nLArZxxTbmOu6beXXKuSy/Dd29v8w07mLAUKSBXj9H3W1ljisvRry1Feg0MVJ\ndXHg\r\n=DE4N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoOSb6xGIPQWbN/3DmVpsuFfk2bdsTafBqAXhQlVY9HQIhALWWZe3QKcL1ZuMnegPSyOh41arnb3pvq/Dt5lugJwbQ"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201052144.0_1641472872123_0.3056629517421383"},"_hasShrinkwrap":false},"1.2201061922.0":{"name":"@bentoproject/facebook","version":"1.2201061922.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"737b882748278c09f4270720744c1618e36be6ba","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201061922.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-SpDuU/63v0Bet41DQ/nhxMn66oKHgAGfRUydZxbeD8zPco7ATFQvNLhc9tGbRpzUPGjqzrmqJKhUkOWevaT1Iw==","shasum":"eb7369d3b38995dfe606f6fb53d142c4b304cdd8","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201061922.0.tgz","fileCount":27,"unpackedSize":1157562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2DLQCRA9TVsSAnZWagAARtQP/10wULOs6ZpqtYkPuU+w\nDeItROI2Nz4SLdPzeM7UDYyLPNTYSyxXZwqjOJbOWfi7sYt0T7vQZVSXptHz\nQRRFie2ESZjadHI43yhd8sVozglJXJvXei6xFKBPbSb2FzxT+lNV0Y7g/GKK\nkSrnb9FzCUZQqPAeND1WfnpaVs+Ztim+itPnMJVCe8RovgJWOIOmsQkqU3e8\nrixaCpMeu2XhNQ/USp05xXTkBBIIER5rCK3/cT5Bl9OzWguLBGol9CPSi7nk\nV9CT8FDFfLLstB106pdUo/UTrggcZxbE6i4tzDTnft7Hfd6pPe7hhNgmFuXK\n4S6pIJlO1eU2y42aVcrAsa4tgoX3BbNC0NYjcH5FkYs8Rz0gjc9iYOIO9fVu\ncTBVa23sF4ariEu/oVGyp3bsuVhLyp3hrSbBy7Lnb/VoSWrUI1Y23cA+6ZKc\n7ZKNvfdBoavnTd39KFMSNy8yWK3MqNZwzWUoalwJ6gwi8oSJc7EWUAM9/Xyk\ncjIglkHl+/WS4jtvTa2aLDD1or50NxYMoOARzHr28VQxWNbFJLvyza2v/jnn\nqzAophckmP2VdDLzMvdmijOGnLUYC8917kSNHKdV/KuL8licakQtz0EP7i0e\nI8PdF9lEIjT7MwA7aQ+kzqF/NAHYljuT6S9KdI/Nl6WdNlSiqkdnq+6sJcxk\np4E0\r\n=HTW+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC2VHRVaNl3e2C8aksL5RLlU14jmtxje+6v49aTjFqP6AiEAwfk3lepFyjx6vX5Sdn2cBT1zxrToQ+XgjHkUQNYYtq4="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201061922.0_1641558735999_0.2793952355230316"},"_hasShrinkwrap":false},"1.2201071715.0":{"name":"@bentoproject/facebook","version":"1.2201071715.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"e40a24fdddceb1c635f67571d9cf513c7e58800e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201071715.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-m9SoA+9QH3rUk8pzwp9aKsh2l15sD1EQzy4kCaNj1wnYlGH4uz1dONR/9vPtp7lOdsUiNd78CgbtOSXSj9gqcw==","shasum":"a55f066078be393ca851b764fca9a09d15fbbcfe","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201071715.0.tgz","fileCount":27,"unpackedSize":1157562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2YHqCRA9TVsSAnZWagAAGmIP/A9D89YTnHwo3YkHAcp4\nT7HnI8BBtDlaP/LsUO1faS/hie4TrgJG9Rip0VVBFagmY1VRPJVbaFFgWyBx\n5irM6dDv32ecWPXTmzCcl2KvRsFCQSa2tpwNiZRNQ0Elo3wKqdfbuiNqbbER\nehfAsCpjNyAAbU+oe8+bBGhN0o26VFpRrmh/5ucfU0bCXkAWtewf01CeXJZl\nhS/tggmMcNe05JdwP2wmFBa/w1hOOxa/MLG9xlMoVTLRJZRV0nd9uyDOZf/I\nwaarxT/FcNyBR7H/HsFZi9UBMPib5wLPYSgbgwjpMkn7XoEICkswDQoicaaq\n+eaaKwaR82xh6/QHl7hTn8zCe5uIcTXVjKe/2/bHlpjwRsEuzIhPAZYd4aAr\nIUbtZBMMx0IZadTtfrDdvc9EjL73ZzqPwAY181gqWi/Gs7lI30toNNXeFYSR\nOcBdKTSrTJJbJ1SHqVGmwTRTv5uD4VYXqLsF4y4rxSWBJcpWkx+ufDQP0lqx\ngTx3l9QRLDUGOr+CyhYupSPAzSbcIk1hGirk1IzQ9aepeQB1rrxcXPisktqe\nHDt3N5pfuQdXqtJPw2xcCQ6b8u3jfA7lF54BCpNzsgvQjkXW59Qo/0S4fGt5\nKuxBdbQfspS0hcxFnH5B3Zg8bLeHRbAFU7AKeVeQHE6TIn64sWg2lT5aDgiT\nhDVU\r\n=pVJz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCenLQQFdDgpGreFWTDhEfYUV3ky3/kHzl18zy88MVJnAIgGhjpXZuiEMpFbkX0GAwxrMup2VFMcFUcc8PGK8FTHA4="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201071715.0_1641644522264_0.1283989248358266"},"_hasShrinkwrap":false},"1.2201101902.0":{"name":"@bentoproject/facebook","version":"1.2201101902.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"f0b7ffe685c60b51cfbab92bada4e0c87e0377a1","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201101902.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-S2+bb5dZzz73C1jP0X/ct9uEa+jmUElI9p7RKYgdtn9Ao42re/NJMH1zp1W/tppSuyfQLIVbd8ady6VMtPMV0A==","shasum":"6187783e258516faf01508de63b4b0532205230a","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201101902.0.tgz","fileCount":27,"unpackedSize":1157562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3XhSCRA9TVsSAnZWagAAk3AP/1HEucBzKOgDfbWPqguA\nqylX9hgq865wZJpaihaXKKvAKCp6+lKuo+6h82lDM1J6NKFej7DrERCy1HlC\nJc8D7ZcRZmCYWiYn2L+QHqpkIsWf5oEo/DjDwZU6aCLAQXYdyCoY1ALTZV4A\nQPqGIzWm6cMt2RTsB1jd8Jmce5PbScQTLRjH7/oNDZN5EQzBlvk3Z0dWso8a\nJngkB6Wj67NbFUZ3ISv4HjKCl9YrUWotG5YT/g/VxnVz4TpEoltogqfmYUZ3\nBBpaPwu50NsNIi7owRLGulTSAbD56nUeVeVTAqeL8gIPUvOvdUdaH5jtTT1n\nnHKdo9F2Y9SnM3SGT7Kwjol1W9opua2EUGJXU83W/951/RKifNouYoO9ZT7u\n3D6WNt7jb7PYcUq5magz1hkXhqrS51Y9tXNXiUUdhKhqRzRT1xmQ3ToiYyxX\nNLOiKWHK4Wh9YvXRmevx/5DPjilt0q0+ewJqstCAp293u7SB0UArm3VmcVik\nlqc9dEF4nYvcFMFZQC8G8jIUe3Qvb6eUkZL7VIhd2zZ11JCXUzAozmRlDyUG\n5bvYEQqTM4P5XESiN14MPJFrATDsJC252LxgcfjsDI/+e9AUbWXowMPoBZvd\nrrxo19BHv4oB5OjZbq5H7SmoXzTFuAAF9tw95SCn5rxqR5ZEppzlT0dUV/sU\nHoAk\r\n=vg5a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID+vXpQCZijH+ZGAoHBAJFlT+Kt0yxWjJ6X75ejrgRjuAiBLmYygdabfiGuuGMJ+8MJbLnZMWXGFfePyvrKTBNCLVg=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201101902.0_1641904210591_0.3935284338171683"},"_hasShrinkwrap":false},"1.2112231523.1":{"name":"@bentoproject/facebook","version":"1.2112231523.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"1ba2e6854831868cfbd5aecf8a74b09bb0fbc2ce","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112231523.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-BK9UTcIdCAHcmC833i5+gE0DOuvwbOitwVd19vg0iETBfHR3katly4EgD2JTKXtII55ELot9WdU9huBTJh1NEw==","shasum":"47289a227de152ede4da6dff44a84b87c35ba1f8","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112231523.1.tgz","fileCount":27,"unpackedSize":1157562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3dm/CRA9TVsSAnZWagAAzfEP+QA1Y0JLC19g4Ur8MPYc\ntAD8N26RUjS5gn91PVq9mEBDqtWVVpZqnaTLH41TuKjRbxWiFxfmXMu9uVOn\nLA0jRgXCrRvedNtOiJa9t/sEGQQZscU1yAOALjFEym+eokFOCqGpJY98NgVB\nGJduTfrGqJq92xrEJcs5ZhKDul32gq51KPY58Uwv714ctBSV/+fw/k5MLopw\nT2M9T96Fk3YYqFTsitnjkXRMhmBonsPL4hFnd5d/hUCJtiZGMjjIOy8RnK5k\nZf++XsWRDaU7upIiX+uDj9bM+Lml+8p2ewhOZUHk3/3dfUehIsMrLBgL+RPZ\nQnyjsZd2OvC46BhVFzpFyzHuOaSxmdmcNNbC/Lk+3I2lW9FUBz4LNrrHXnKl\nHCKiS+K75WOFbAkcRunDYN5seY2XfowTPwZd5v/+EQSv9SaF0sYolho/cGst\ng2duFr5uw/NRhPOzY/urH5fExe/Qawz7RiRXTDi1hP6Hmh8EMZPTktTeh6RF\nwixpXGd4LboERmCgcMGbQC5ijWIbKI7r98/yazuFBHL92PVm62VejL7Xn0Di\nh+wugHRhbNh6Nn0aH8vitNH39KwAxGyIxN8nT+BRzdzb4iRR0MC08n2YYsrZ\n5oepxctPqf47JdRAzdO00AZLq5EJvenDqbFGpAJzLWm6Ssj+l6zdjhy+K+PY\nAY7v\r\n=RLp+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYFQRH6YnpHrQV4UPjsElSHt3w5qACq6EF7rlANTFW0QIhALpZELvRdH3f8gjQtxwsnj55NjsenElrHaTEphhXqii1"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112231523.1_1641929151597_0.5081349919318885"},"_hasShrinkwrap":false},"1.2201120015.0":{"name":"@bentoproject/facebook","version":"1.2201120015.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"c592aa0f3999a8b6109a8a31a07cae6a83115d8e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201120015.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-XAmE7ZN4gMriENa+gXgFc8BZymL5vZ7GgiuzrwUW37lN+qA5xu0YSG2NYnBUIm0y+mAPeQU8kDfLbNVHcwxutA==","shasum":"3f3cbbcaf28798413df7e8cb6cc905987ae2ba3f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201120015.0.tgz","fileCount":27,"unpackedSize":1139676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3sneCRA9TVsSAnZWagAA+9oP/3qJfmzQfqBD5k+piHoE\n1jX3JdR6rmePbwSRf0cnctOXtW/B7CMnZSGvyIpkFibMzx3LSvYvRhIZcRh1\neVtDqvxcgfavNvHJBmdpGdm4ZcsoAUHP832R4iSt8Q0loySbIkCEzgutlkn/\nppTmOtA3/dW4XSZmN3XZe57ULYIBKbDcf6ipqT7DS2Ph7cPe/wUTkKMbuKcq\n4e6JjJycwAyk6t1CIzq7ck86fy197AQ9svtsyVX+tKsFsuZ0uJKyafVJaWLI\n1H2TG0qe02HqGXgp4MSng7j106iaDcreG+PinRtUlpy67166dPI4EKT6Wsip\nHj699g9edFsyp9DPPhoAzqr1VFuSpwuQJTEDKg1R/0jEL3J0v/55By4DGsYc\nToLTRNaOUOeg+F2xMW3jVC8quPRo9pUi0WWzlz2i5zJwwx/xYWSEMKaam1lB\nrkTQFxVCSNnwCP1l9xeY4N61bVC4s00rjwam7sETT1eUTm2cm/jpL37SKLGM\n/VGpXXAVpu5WC2HOqnJ0etm6IrS1OihpzTfm58UC3Xj/a5bZVpLeGeAENR0P\nMxwuWSTdyQ/OWY9KFLXXhViVHnXU0SxDfLYRVUlk30IQLUOn9AWzz6fro7zI\n7FFuAcynwejvEmZXvXDaovjr7fjyA7XNxIbQ9ZPs/gR3EDmiveQKhYJELlKe\nzh0P\r\n=vXkI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBiWdgJYlSpthLPi5fkF+YjBcfe557sJhKVFj+iTRGBoAiEAmm843y66tLnwr0DefRkFwCE9DLzMA8nSUZgGWqXxEME="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201120015.0_1641990622459_0.7885841326215346"},"_hasShrinkwrap":false},"1.2112231523.2":{"name":"@bentoproject/facebook","version":"1.2112231523.2","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"036fd40f8ecb160f2d6c65688c6ff4765a670bf8","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2112231523.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-4ZwHKgW5FcFHj/HNVQDI1V6c83hiAZ7rbtC7YfAOCTwOaDmFREsoyyZ/T5FoO93h+/k2IZIVjWvJdHNeh0L9iQ==","shasum":"e1f064a7ba4b668316010f4fcad00e7e6073835a","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2112231523.2.tgz","fileCount":27,"unpackedSize":1135962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh31iLCRA9TVsSAnZWagAAqQgP/31ViVgIOZcLGe98O8Yb\nwoUaCb+h03p/7ceooQCNJfeT7hitjZf4vkDlD77lRpcruy8TVX5BVY8G/v8l\nwWeZXzMolxFb9wtCW7wDcUGyAn+kSk4o5FUfkFMW1JRwE//6WEaCp1FDq6f9\nfdm5sKqdxaKqpcj1oZXEu9U322JfpmY+fmKIn5kNuLofcuJ6/AUNIORqQDk9\nOfi8i5hFGtbv67sk4540WCDOqL9m0HudPFjoe31wfZosSEUEmYo9jfhCjVR6\nSAMvdo8QBc1qdUvJh3kdZ5lU58ua7b4YBFqFnZj2tShspijMpbqj6J7aTI17\nQ0JYeqoIQT16t1hN0lmoC5TbuhSmUYh6nHNYRu/PCElurBbKDG2TcQWOeIcC\n00RL7cXLXRKklJ1GDlgjPfewKtOXUGstCNri9cgHOfAwrHcnxZ3QVz8UW5vx\n/haKcXhUo6ZSDy1iegDMrAGdzCVr7yAR2t8MM+Kofepob4AjkvALKF7EveQI\n0DktyWmdNBevic46gExHId62Jrdm7oRovNOM72jYueukD3yKYagxEN5l6hJU\nM6jUEOGJQOOSRPQP1QhkwL0FK6U4CvUC7IxYm0n5jSzvzeQ/Zfz3X9Qv7v8f\ndtPG5++K3U414n/eAq/QCO5C0z9KA3xQVWHd8SgxlxlnzD3XUCoF9bSivsXP\nPhqJ\r\n=VHuR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFtYgqkeqCaBLsZrz2FYHaMR6v+ez/Ma12VOZMgJSKNTAiABm8tVuKcP4FYlR/I2ei9s6iT6XqCJnb9NBCtB3954Iw=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2112231523.2_1642027147455_0.19569785266065587"},"_hasShrinkwrap":false},"1.2201122239.0":{"name":"@bentoproject/facebook","version":"1.2201122239.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"c04895bc1c2e1d0b7b874427b9bf1cec2b4b9f72","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201122239.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-OZtZys5T5lYpy4EHM9fEi69tUFAMY8pbqvPB9jWZ50JthurMJTdXfSKzXPRAPsQTo2KTNnB0URjR8u7dXKogDQ==","shasum":"3fa543603621324b084579fb241a134269353c08","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201122239.0.tgz","fileCount":27,"unpackedSize":1135962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4CJJCRA9TVsSAnZWagAAb4kP/iD3izfPoRFDBl6jqJxW\novbryGaq0Qv+vhGpXtZO9KUxbJd0Ld3XO1n8wIzjVbwSlieEA8p22ZJjoFlf\n4Oe86V8gQnQhqtNFiu0diiKCmmXBo7MAz5jkll6DTd3Wp/sOaF4ctCRAW2Kl\nf4FnlRQnpbU2xFDl6+GhWfN2CV2XaWKnNA+ch3CNNsOHgjPuuOKIbFhXumKP\nkXyrpgdrUBxq7aYGOjSf3arthDADCmIg6C0d/RELjWkmUgRVBtLTnSEwT1qP\nYIb/EWfZMYCCE8ygbixpnu8/aDcHcziv4GpU8kTmSi/idpsyKoq6GhWRrwij\nLE3DpN4RH+v82tGNZWng5JepCorkQXw8FErdAmEeKNyR5PXducZc4RPoYAMj\nmRY2HKwBxOOOmsZGc79yd6GV4oa5yVfJN2nNMbiktjD59eOZT/eO106BBtJg\nd9whWqZbNV+INl6E0d27EeXfxWaj+Lnc11RwQIk+HicKnHha8g119lHHsKyD\nE3c0k08zytzuZTwVbGlK9BgB1rrbs5H+bCqD7VnMCTYrQuP7sY5vd/YeCQK/\nE73w4J7D/J8Kj13jCTVhj/wPrDYxJc0AdJZZ+0FZhPjXYmz1ihnnaOu/msBC\n6DDu6PKssqx/P5ujTjI7d8Fs85+iRRdq51UchneGKzMtJtMLpNfjkc/r3AUt\npTFn\r\n=PePd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHX6/BK6fLvcFXw3qABKoyraoLMxeAQyZLPz9zpJM7usAiEArIS98yMs0YsUecnqaho8OIdWxl2frL7MjPENrflHCEc="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201122239.0_1642078792820_0.8045607240057131"},"_hasShrinkwrap":false},"1.2201131702.0":{"name":"@bentoproject/facebook","version":"1.2201131702.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"e9b16ad7a5cee398ceaabf6ba7990488624e098b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201131702.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-tiISVgnvMv8WWunu/DhP3G1gdCkFiCuqSpgvISK1uD0GthU0ekHAJLGiwV1gx510kb9BCAvE49lbg7A8vYKVkA==","shasum":"7f0253e2a6e91a70698628f448fac348acd11356","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201131702.0.tgz","fileCount":27,"unpackedSize":1138786,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4XTQCRA9TVsSAnZWagAAD5UQAJTJe1qhDbdrUqbpUbRU\n/8/8RsCjI8C5QfjzYXHqqaM7LJm5vRZYG9OeQYXKdmFLJhGBRxYLeZTaJWEw\nRnUXLavnjjCklTFZ1IoDMlC7r0eZ7ecpPgC8WE8N3ZZE+SVVCg9wZd266zH+\nCivsNN596ZngLo6Av/WE7ME+OLW8V+mpgtR4rB8PE22PmP0nN4L5ei4iYU6V\nj2aritJW7uclfV9ia3I6V1mmwwtOHFowRJvg2soA+cxxwRa52FrOUwvBThqk\n1cgZ6LSqzCF2Qc30T9wFMtfPaJpE2kq0+uPFGbfM2mdG1V5qudfSQwK3rKep\nKTjy0iy0FJsPm/kA4tZquW8irvvJ2m6QQprKzuOnrSJChHRnJtEPUTlEIbpb\niKrA/Y932sYldTF74/UAEcYQNGDSBC8aQRICswHAVx97aZ7Id3PpOftYtwL8\nO9JcH0KTc4X9HgPZLm5irK9fhRqqum68kEVpUwAkKR4DbItVITrUd9i+Rhn+\nf2o3jKdhaZHVOM73QWox45mRz+yQQG1aySQJi38k410t2zLczpwkggiLaPoU\nUxJ8FGY+pz202I0MGL0vrcT81sGea9JtU5Mi3YD88BxtGvGDfgs6Dj3GfYtk\nPzYNJTDOGJ9nVSpkGQn8/Vq4BqGIqMCARuDI+ohHoS9/xXXigMFKOgseKQp7\nTgmJ\r\n=r7QE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIACkEEYO1fKiMbPGobdT0G5Z6MEWnXD/Box6/Zv8MEZUAiEAwOMBcpnLix/3IHwBv/xlKAGMBH21oywIaaJzjuiiico="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201131702.0_1642165456375_0.665467252449842"},"_hasShrinkwrap":false},"1.2201141909.0":{"name":"@bentoproject/facebook","version":"1.2201141909.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"96bebbc98d1f79b185c5ff6c58442ddc2092547d","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201141909.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-ynom5X83417lPdz4fPpZuilyCUoaJQ48S6tcxA1xxG8GAF8qX69BPUuJ4EeVHtQaYvviUi8DaiwoZKRs1TjCwg==","shasum":"79af06435368aa0e25365b374991dbb30a28f80b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201141909.0.tgz","fileCount":27,"unpackedSize":1136748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4rw+CRA9TVsSAnZWagAAcroP/jS9NiRG4xS3624O1YxC\nsWmq7AGlumhorQN2pjEtunTULy+Mredb9neRB2DnnHYLWWiNGhLFCaUPlXsq\n/Spqr24akI/MhEvUjgkXgYMR/LCSa3aBVf3HJB4drz5S83x09kj2SpOFBJ84\neDQm9nfb49q1ECpqpllZFdiJYrE9LGzDS2Fn1y+B7Zy43yuQzQ3RwZGHq1AQ\nUt+BXmJPyqM06JOhpOyVcCcNluqRyXLLz3spsZrVt8q+DPSoLMAN2mUVnb1g\nhKjPT+mDBfafHn8HBxgGyGSN8CaIsBCKxn6iG46RUmiDo0q3jatshtKko8Gy\nv2EtV0/Fye7kHQYz4g3ASPNWRxUrfmAPKPfqlm/Y67oyFRM+cdKCvp2WLWMw\nub4kvOa8NZgeAXOtHvFZKOAhwYQHyOKldqiqBML/+A/87x9nCw4SB7OLXqz1\nqqdh8w+8Pjqcpw7ioCYzKdzBuRYb/I+IE8De2TNeC21PTucdzBuqJSnST14c\nEkQwplLInhHImsoF60XYe6L13KiGOxwGXVlm/sSJxz04qow9AB4pDnIoNg34\nTuZA9Lef8veGOJPkh82FopIuBGfYca+JHvSNWrR6tOeqM/hreeDBq0K5W5YN\nsmBQPwtMbnZ8Kt+KzHWntnSthPt0K1v20y2ui2asRKEyTBsOry4P98AN5rl9\nm0ll\r\n=Pe/k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2slFx+xzEmRj4x9Oc3/oiVwysCu1kGxjsj544oX135gIhAIoA0JyiCNQ/FZHp+CzNFtPE2xO2qXDDa3jehpHKtdLI"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201141909.0_1642249278557_0.9478582219672458"},"_hasShrinkwrap":false},"1.2201141909.1":{"name":"@bentoproject/facebook","version":"1.2201141909.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"6474ad58b0a7e1997cf1472b09ba21af402b09fd","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201141909.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Tr+lnoCjyv2qM+1uVHbAPCghcTO0XmJRtDOqYJqEau4Feb0nuh+7XGuD+j7EyHM2Ym11+wNyRMKB7LAEFgmOyQ==","shasum":"252c4de261ba7a30fae1d75fd2af54022c40c4c4","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201141909.1.tgz","fileCount":27,"unpackedSize":1125701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8FRYCRA9TVsSAnZWagAAuUEP/j8mX4Bm+kG1aUsD4pU4\nYGcJ7NbELlaKb0jMK27b6cbb8ZHMJlDk6SoNkXu6H0m/EbRcxjrU7knkZcQv\n9xsEMZAjDRakdH9z/EJzWq88UhfmIBVssVXlx7HlgOGM/CXF+ntASWpIxoUR\nEdSCXhg4/2iFcD57hZkPG+Sh63Y67ChAWVJ8WVSRgF/CwtJ9wgMhZVnSyWGx\nFWrk6ScgIDpE+1MzMbp5aO2YpK2qC8Fc2+wmOMNoy/OX1KKaquQiE3FzzCXl\nGS2vLj2jQW997HOQcVgxoEgRPs2/EIkWlEvkuRdaOQYsHFluPHUTiKJ86tn+\ntkN+IINQgHsGHRKTfMqDuZrXrH90MNLwbW0RPxBIO6RgD3M8hQuAeOwOPmEU\nYN2gDxCLb5SDrgq7LXCIpGCOzurMydu9WhClTiw+slMfkdHzoBqlN2OlOrK3\nJBosJNcEF0u028mZYe6zwl/PNyZ8R7qTVBwcaSwb3dNJVxEoQzJfPUbuW3f+\nMa3FAnPNHIYxDASGr1FNYGr6v3XqLmjyqmVcveSNAYnwdDZQkpxqBuzbrQ0W\n5W+kRmjXDMSxvrvWBSJnrlmbQ4Xq4zcDhLazJdGQRdCzXVJ4sh9564oaWrsA\nK4NsLmRtZPgB+NjUBKAbiWZb94chKcvB6xW6ZQC2Rokow/N4oUsNfVhug3+8\nz2OD\r\n=ZB/c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGMY2Cq5pJqzznwHmWEEF3rMhRsbHzb4IYvsq4dKmFidAiEAlR0PF4jcifBo5m8Lb7Tf8cBfNZ4KGwd9rYUtAgKL7do="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201141909.1_1643140183819_0.0821044876529593"},"_hasShrinkwrap":false},"1.2201141909.3":{"name":"@bentoproject/facebook","version":"1.2201141909.3","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"1edf4ae1e7a533868a19fad5b3b4da9917432bdc","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201141909.3","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-tLbET5yJpvdiAxKe1gMVMwZLh2fBhfS2ryn60X/R6NCpAbNPlzW4GAkASlmbPPhwNTFvqZ+e9J7UEwRTTf0CZw==","shasum":"ff131f3869e84269e4f004eb85af3f8ac96bea15","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201141909.3.tgz","fileCount":27,"unpackedSize":1128132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8bYgCRA9TVsSAnZWagAAbXgP/0JjTw/otYXUPMystAPQ\nl6c/qS4zvmAfOc32hnBCMqlL9idDselhTrPL4zgRBWshum5kXx/Af8kid6xH\nZBlHcxIEw1TBfCq5oTdwOppjWVv0fp2ShleQwwh4g/DOIE3krgY+jMj2gdov\n7HIFcyHNa66DGYnOcPHL8+I/QsucnvJlt/rVVNGlfhaK8jXfUMvkKoC+6Boq\nmqOYmsCqNc8Vca92+K272bMIM6D/Ya3n/kR2I0i+Ki6legF145i7dAyAMJDK\nEPBlIq1RbK6Q9tqq/JewSdEdzVp8el8FqxYY83fIF+9/TpCj4ezMgoaUiZFo\nbyD8D05l8utuPbF9SAKZsPaUNE+FHy1VW6y50a5EZqYOJ28cSH/y+ADDuTrU\nM/3XfT87rvRFykeBT+q5AcoeyF9HH0PZl7+zo3DEkxhl+FP/tnnAznCRVlII\ngkeMyg3u+grddVTXBvrAYGCalJbm1KJeXSHUZb/FFA7OKfw7jcT3MnoZxaXo\nsr94fxQD32czpdUY+FpdatkAdxv5cPycjMX8c3AOGdDdNpkECFoytnj0K8zq\nRLvH7fCdZtv5gNLBmZ5Id710gpv6FKHMN1TsbLTVE9hKWbGYG4c8gi8EosQf\nxzEZCQYA7tnHcSx+Eksy1WCaib1aaI3r6t72eWx2V/ruM9kXDoxUW6UrCvM3\n2V6e\r\n=cZ+0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCM4PgKi46Qs+rnjHYj7B2TFZg7Iz+y6BWpk5dnLM9kewIgOgjQh0HR0FXozFRQ4wLwiIf2sK2UnndHvMu4z9tyjWU="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201141909.3_1643230752163_0.28365858195473925"},"_hasShrinkwrap":false},"1.2201141909.4":{"name":"@bentoproject/facebook","version":"1.2201141909.4","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"6e60d79b180fd0983c9644d325b45bd569c6da2d","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201141909.4","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-S2FDQXnEokcsva82EzZOe/XI4RHf0G1XSgvMYLwqqROxKFqsLaGHDuhfv2+62Pj7DEZxL8CiHYkDRuZneGs7Fw==","shasum":"aa1de772b9456d00699db9e91c3e79f6dfa03335","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201141909.4.tgz","fileCount":27,"unpackedSize":1129571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+ahWCRA9TVsSAnZWagAA6+AP/0CWK0NtVQS1phNAA3TE\nxANhKLRzU6Gtt+71TC0nXWO4xwM8n4ClQ/VtmpNEI6Vjw2Uo6NLp7TCV56Of\nzydclY6etqsE70Z0FM4NG+h0585nREnJG+CFtG4n/0ARitXfFGHtLEoWTeO4\nv3Qr3daplGg7OViqUowSiAIeb+YRsDcxZfzCTgqkvuDVbqmGjNFKfv5okXzS\nBi8TyPB0Xj4ZSdzERDC2M6BCiMl/r6ZmEMfS468y3A8JnIBdKJVkH8iOX2Jz\n8w9wEjPH1XuH+whCouMvMPeNY8u/TX4mxYFm457aNoDcXkLZHURKg3oFoY9k\n+TLgKyQBHmaMhESr+h6PUCfXQO3rZtMUwerJyLgGL3yvP4tCbrnb/Hsl+GU0\nKCJVRiCGFg2kWHGkLD2w9gO/b+2uYvxS4PavBxSc+xpYulzxvomIfE9UVnez\n0xsIScJPqVzOl3Ua7MMt99TZkNgXDk6sqSicHbYbSyTSVB30zZsLM4sBPRZQ\n3YLZ5qNySZpZVSXFgyt+JEPZwlOJdSy6McBBwZo//RvFdGbe/misrq8PXnsJ\n8X38xTgAF3tTYsuZfkIAZkbOFxiWNc0amYXB3dR8ITDXagY8HZixl5QT9Mo1\nbvvrddwRhIbjUZ68mNGWZmApnomnp6bDlMVF/yhH6rvFXyAfbVtJGhPm6TMH\ngrLs\r\n=NQFd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID1B9+UKPKqzlGK2KMqKBDV7ZsLiXuobdFjVoWCi5P/LAiEAubfD44ptK8/RzrFNpzj/yUbc6uZ+VSGpD9L9sbsTqNs="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201141909.4_1643751510072_0.7398209148001116"},"_hasShrinkwrap":false},"1.2201212122.3":{"name":"@bentoproject/facebook","version":"1.2201212122.3","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"ca1c7d4b4b4a72f4913d7c304b5368187458574a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201212122.3","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-gseR+2xizE3bDbZGWqPKGjBKY/bN+uFdovbNjzqS69k+cpNU3ilFk3eO/tnBgEI53LI2aIwrJ2XYxoK0j+bGsw==","shasum":"0fd8b3679599ec122ed188d8bd02b4a4dc80f71f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201212122.3.tgz","fileCount":27,"unpackedSize":1129571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+sZBCRA9TVsSAnZWagAAnpUP/j8GUH/pDPsc5oZLp7Js\nd7CGrDwvDmoYehZz9e4owNymbNNeQrLTU3j5eAsh00G1xMqojeOSHHWWRv/4\nZIKOKRjLlewO1nwYZrGxjk2a11uQ4CbQ7FPsdLzqQBcPQQEBUfaqkhU5a9mG\nGR8t5Ga5z6jkfzUk8Y5Ji/PZSII2VViMF6YWKJG8SYhtsSmVOVWCVCt0LAaU\nugeKANsIHw6g28/JWbtgrZ34elcPtL4f2BWYGetgTHDnTpfDXl9lDs2CpOD+\nAk24JU4hKJYUC5yWV/3WfSCk3VU3snrgTQH3LWVggmuhOT7ZqdYrLeLvtcCJ\ndEBlZCUvugiXvrrzaUhSyfyQbDfDwgMCZf4iLkYVutdctVzLNzV8yvxmRy11\npm7IC/dcuT5x5QiW80bR1/1Ip9PQOnUIEbubpOwbcHxHaIJqebzm/azysuAe\nST7au27ZAfVRwo66oIcP9rB6ndI/Fm6fKJyjsxx1zafv1Z6qQgn/Jmgk5kKZ\nCJcYSspjc749j2Ov5N7ACv1Qrmjo5KDMm1v52M396FWtECJpc1lJAMxNAqB/\n/BrUDuZ2JlZGzCQPud+cshalY/PZnf3f0l1fBxywVM08+LhX0i+w2JyMfl4S\n3cpEuiBIyT3ImSUsylX5kYk1sKMFUPirXW75doidmcaAFqVwjRDCghGcwiXh\nYXrM\r\n=fLEf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHPsRjkFQvOYqU17fIks4iOdXg8rq+Va85/LjqBn06nQIhAPXNUzY6KfuBBel00OyUqXQ/HAs1X3c5gNy4m+IhYHdp"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201212122.3_1643824705405_0.7205724326729936"},"_hasShrinkwrap":false},"1.2202012258.0":{"name":"@bentoproject/facebook","version":"1.2202012258.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"fb0c4a54446b5abfcc53d1d446f24370c05507c2","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202012258.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-8uKmqsiP+FdP5t+xAI/V+urGVmZkRYlklxMa/ICSgzR7qyaisYGFybyv48QLUW1ZE3r1Jj3xp9c9lj4TFU2zBw==","shasum":"405d2c854e4760190989e498c8315f3089714363","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202012258.0.tgz","fileCount":27,"unpackedSize":1129571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+tfaCRA9TVsSAnZWagAAvfIP/3q0KN9GCHihbefxwjDt\nPJ4yCWSZ6b3PoLkWIWUBoqCOmrewU/N9WtVjW6+PlDKprFgBf4VgEsoUqKqu\n/G75I01pUeWueEZPV5u4rLzkZT740KKHLL3/ECu3JsFZuex6Ey1NiTcDEgSu\n6Hc1NcoHonJR4F//qyx74A8Ef7F6mQfA2O2IEyunXsGOLvrg0N9YtD+y9qzF\nHw/FYjBq+DSF22uhUlEJwa3Vw3GQ+KWhnNAAwUclPr3J8UKcRu6QB7jNm/GT\nkjSD/7L/jNvPlwxxtgMY0gqsVxQ1K9zw8k++9LMGKrnC7soNOL2N/bv/shM1\n9TP3CAn8u7VEYTwV9RUYn4/fBHtFvet/4Sozxv5WBH/AXch79z5JxCT2KyWI\nYrTFEV57fzIlYWoVY6EFqblXkzAH4zRZtxQoRFYlvHFN1pyWG9yAiH9U3dVt\nevqToGTbrh++UheRO4/xgFcZLixplh4/o5Eia4PRRP8BmaJcYAt6dIfiSWXE\nUGHy4USoKI+a1F0FBuO3zk2UkwwFz1CPy2qmelcUsHMQXwSpbp+gPDtsNk4H\nlfUtVpJeZ8HkjrW7uKL4j6XGlbH3TWvXoXU+0psMcG72toYYb9vocLzpYAO3\n+BtFozk7LHuIHFfJEvp9blIRFz3j8ZU69dPolYsFh7BjKh1GqFhxCj+Vzt/8\nColl\r\n=QyYR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBk8ykk252rhdn89QKiOtz9vKMX4x+QQvvo34ie2Se5sAiEAsVT1MYYNKy50OSMK+hrnJxm9dbOLCPFEr8oWsmZQz6E="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202012258.0_1643829210413_0.09898126944887808"},"_hasShrinkwrap":false},"1.2202022130.0":{"name":"@bentoproject/facebook","version":"1.2202022130.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"76b8fbdfc923fb90c4ecf4dededfbae0a5978ff5","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202022130.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-A0Rg+fW4UZPksofz8/AsHOzoKh3wyTsCMFBxyY67fm6nJnAGe/zCk39cXRAG1mrgVKdNux1hSi45/a/vRp7dDQ==","shasum":"1dd3a19ab6dee07e9bab3b86ab29e58591b47bbd","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202022130.0.tgz","fileCount":27,"unpackedSize":1129571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/AlZCRA9TVsSAnZWagAAEIMP/01ykhRMTAkwaGdmAKcW\nHqi+lVmI8b7Mre07DGm0CHe2gxNRUkcbkNDGZtmmCMwcuqrstmtAQHxOQKX1\n37uVO1PL5hDgbXfklSYWfoZuaHXvGUIJjaWG52AU21m8WGcehUyMHfjpywJQ\nQ2RV11dPN9QdsPyAlKy6VV5KKeM5OT2NpoecXj7QgvEKmiyOOaZ7p8PGex/y\na2kcm194bbbOksR13S0mRAJlXPw+IJquFH+tDf07LrzphThiQiWd9CVDTb2f\nf7jyyS0wWJfrSKELVoVAg/KkfparcAUS4CqQCtlmMAwP7PKYYzcNrMPBun/C\nlx9mn+bIrqac4IWwC+Z1izpBJPnnD3xPJJzRLUhW6jTS+otC7MUslyYlOKkU\nVpdSdjbsFlQbOmcS4VvBpmk7gHzY94e0lB63yp7UasKLnolx7vWiZBojWvqh\nX+Cnvwia/9WtsGHwgJwO3FNvBfJcQB6Y40XpE5wLgnKeKIs2J/8x4oSFcEKm\n6350MyomyIHqsk+352TyZbd6qY3acldoRi18aeD9/bsYatolkyhsA5ZdAtQo\ndxINZYeOPfP7WFdmhxf+uyRFDwAoXvQdA9jl/wm7VwIYsETastd6+zvjvX16\n9N8BrZ/QnW6H/vc24n7ThbP1ezeQ0kVTxFX8V56GVydwUsLpD17ko7DgNzFZ\n1Q5V\r\n=6jY/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGiokzVkmhKJJZQN+Wz1fHIu50vvHdYspMkpRsdR1FfAIgLashwxGZzxsYwSaobvt8H8m7luW8pTQJ+3SPV84Hmzo="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202022130.0_1643907417625_0.5221003908920201"},"_hasShrinkwrap":false},"1.2202031816.0":{"name":"@bentoproject/facebook","version":"1.2202031816.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"b29dbd478c93a5298a18f8df14e6c1f5184879e3","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202031816.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-pgynv9Ut1H4c94rvW+mosUvQ3xEUknwNvqWU7MGG1pf+lAymvDv7QNMKNacWUuAgdxNoV9CEwwBta1fclL6MpQ==","shasum":"9e924ca7c89ebbd34ed3d48f7e37e8c4edcb3e46","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202031816.0.tgz","fileCount":27,"unpackedSize":1129571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/Up5CRA9TVsSAnZWagAA3lcP/2y46f9rVVG/CAom/H5J\nbpLYQ1n2GnNfg20uXgcULrv5WAn1fkMHY6JFcTTwXtHdlY6IyxFX453DlUP8\nAKVhdpfF4+zIsQPf3OrsBNwhJl9N3upili98WjJNrUHl+76bvjzUYHzHHOf9\ndufPBFDjWjlLl8kaDY2Wc9l+arlrvZ5WWihK9SlmpQrMWGEVerSB2biknOL0\nAECsmWqgFgMD2jqBD4z6acBnj1/pLTjBHmnGG/AHr6OVzPtOawNTw5fp8lnq\nz2aQ+uMiAjU/rXwnbQchtfPTKmtj1pHQDjQLrbSThUK1f8rCFQjltIWKfXY1\nrVRU6sYXo6l/2iQDV/IxkV0fLha8Vy1vc+T0vvvyJBMbaO4xfLsgPxx37uSR\n3pQGYdiHiahdWKHrn9b9WWaLXYDX1UE1aoob3pFZ0OR0n2w6W0R10cKTAuB+\n3OLvY7dZaGvDcIPsEso5pFZDdLOP9o9A6dFcDutl6L8U8eQfO4pE8CPCZaLK\nWIgxae+hs2WIFdKSKhX9iAfTI6lhh+eMdu8NNHGd+z/fYl5KABP+YyWCFBds\nT9sP8qo9zvYReRFZ1h8kO82G0qcX/RQ7k6ZdNJ6kRTqdLYIyamPefw9wniHw\noBXOrfDnLUl0BiJFjvA+GPKdbm3fqQCW9lQG76uoQUimqmHYzbIUPSaOTH4+\nHcBV\r\n=EjNN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICVn6QiMujistxO6qEerCjBHjABYcFa50Mzy3bVe5h7YAiEA0JFrjsKQdhj9pGSOIJtBVONivD+WgmyDY/Ov37z9aro="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202031816.0_1643989625124_0.028670467241017628"},"_hasShrinkwrap":false},"1.2202042210.0":{"name":"@bentoproject/facebook","version":"1.2202042210.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"04d031e10759f2ab3f4a10cacd2b776e3de93812","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202042210.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-CXfa2BELmeFrfg8KwbVj7Ck8ge3exO6MQpkPfw0gsuhLA7CJ0oy60E4osTCZoL79s/2RuVw/Mlb12LA4p6fYMg==","shasum":"58c7cf3d5a9080aafb74f27f52d343fd4ef13033","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202042210.0.tgz","fileCount":27,"unpackedSize":1131243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/kDLCRA9TVsSAnZWagAAqpgP/2J9D9wK9/Aj0hqNSNBv\nm+6TcAiNGHsgyN9n+h7JuRgFenNu05fR0TniCfhIGESDHfA98nBvaSDXSg9n\ngGuWbsHFJHywm8OiKbDsl6BajA7a+OByxmToOXz5BFFcN1jxeyj1jtQhkclx\nAS2UmdG1wvh2dpnZ/DK1O1LvQkYtZtniADQGSP0V37fsFZJ5gYxRlQ/KLIxK\nwHgJVwl9Cm38UAZ4wPZDSAm/+RCHuUXAEep3dJa3W4ewmn0HcaITYRJJNh0q\nZnaKskGMZdryEhYPo9WI/giINpf42LLWmgvxbbLDrtBvdXCuPU0kPQDHVYhX\nCRnVK61NYEQxv6Adt+U0tzu1dwIS+0GAHyg2fgCMpsYA6AAaUL/6kPjgpfO/\ng93EEaav4rAabOxBV8/4Bo2tXtzaMKFeS5l0/PxYoms7JAuGw2gGDlXLRoqS\nC6FfBgyPn0XV+bvdbUWpduKwUBg0/Rgn6UeYxl0BOnR1yDWUQH96ztRZOVm2\n/rSQJtsopPJrfxD6WA4a28gHp8i6zSyp9DkUJXyJ5lqJ4zqaMbqSvRFrI1E8\nT6HmIfpbI5UThefkpTVZXSVIfg1ayOS3XVsM4nVua4zckEsZ7VNRJZ1TmZUo\nExaXXkFn00ufFto424qeaExbqDUymNmWWUQ/lSPxdStVQApeDzQ4Kf6bWiJH\nLk0P\r\n=ZK8b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXVSIy/4Jyi2uF+jB5PJRmd7ogJXwt7DqGeKP9L4o6wAIgYpBnZRZ7kJNbKlwJkzK51kV3EBg4/xOtU8/WKQVA+FE="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202042210.0_1644052683483_0.44408097015600045"},"_hasShrinkwrap":false},"1.2202072236.0":{"name":"@bentoproject/facebook","version":"1.2202072236.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"1d8443e81e44defe1ab915032668da75884187d8","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202072236.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-79G8nTQ/LSpoMAmIfa+8bC27ToeUP/MYRPi162vBdXyUBIupaZtTUFClozPS7PTO6dXuWSALg5x7sUvO9L2toA==","shasum":"38ae989ee518dcf51cf8e6b8a6a26a632d126b85","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202072236.0.tgz","fileCount":27,"unpackedSize":1131243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAjXJCRA9TVsSAnZWagAAEe4QAJRFVKmsSd9+KFykwKpF\nx7xYEDl3AVoVK6fGN26H8OkdbgmUqMoIRo1D5AlzX5d8NrKV75kmHkIdncO7\nqM+QGs56erBCiz/2YTZm7pIEtD/BjcB8gNupne0WRAPACwOWhLvvjaM6e6nr\nSUipRAFZn3JS9SsWQzFjvItONFqqWOtlVbrc/7kjkh1wKtUpfmASzulWOxTI\n53A9UCAqbe5Z/fvxJ6RaIdAAVx6s0rBukFPKTzMTMkUeIx8uMWUm7vp1uly+\nl1BDwupDmnDP8f1JpcVIK3VJKYJEiiXRIK8HUPYkbwgRHhiPxkDfbE4rD3Tt\nhp1qIy+OzG9cJt7UeymO6ko51tp1JU5Ad8L/btt0gxrS5tHMzmvC9u+dnY/D\ni6I46KfN0WT9tqPgbQZESycrXq0lUqbEN1ApsGny8OI/e300b6YiqcP0pDIP\nDNyhXPw38PXXHqCdcDUCspWh7puINKKV5HsBoK6HAse/x12Tz9WUyGukjHJA\nB4+3AHo8i5TCwkn7rKeZZ0vkxIe4mBHm0oigtQWmJENV5xIfdOEC6ZpvJrvk\nSuH8AUwN3vkezNWA6QTiuA74cYMBmBi2sOGKfypHNaPVXCcZ7OjNCZgngpXt\nfdyqL2SeQvZI1uzpXACqMi/IUwnlQ/7FtUtPnLLltp3pLwpPIQrAXXeLhshR\ntjfx\r\n=qPSF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4f4//+N7LFM5XZjMMR99sXJ56lB3uhesK/aypYDg8kgIhAIJD9uFu3/9krUTRSI0lZT1IR8REO692gctCNQS3u445"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202072236.0_1644312009238_0.3780217638494028"},"_hasShrinkwrap":false},"1.2201262038.1":{"name":"@bentoproject/facebook","version":"1.2201262038.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"cb2af7d382510037805d85242e3f21a88654a20b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2201262038.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-utIWaxIhV2RvOk7PLT1zaD1nrzT9WF/dPacVBomxrNucLl22BpU9CEn6vGdqzYdXJLJPsqFG/4OxWT6MRX6nKw==","shasum":"9f2078cc1319e1ab3b002e6143ac3ca448f41293","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2201262038.1.tgz","fileCount":28,"unpackedSize":1137319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAtzSCRA9TVsSAnZWagAAqFYP/RpUx0iCez3iMsJg1G6Q\ntViRdI2boeX7v5P3a/j5Zcnpz5/ckl2lu7ntxhaw9gvX941jabxFR5I1ba9M\nhJnmHUL0Rl4ds/e8yd8tIRXVBfcjI3ENeFP87NN7fMK8rtPY6DpyZtHMMbtd\niO7PzzYKdUkUzNVh4Q0zsi4zdpGy/0AZV0gL/scUH1G4xnMRt/ojKHdKKbdG\nNbW5CXjE6fncaYL1soy2ECslvzxYrtnXa88R+30ON35HmrsyOYP5lednK5tT\nd/O25PnxcdOkIDFXhQEuqx4d3F0hQhp9/W59Ua6O3Cfm9JvyOAneRlU/VKAJ\nEQ0wRK8ucZiszpyKVxrLSmZ0/rNAgh1LAIyOujKUTtoDLZeqq3H0R6fLq/oH\nZYLMfqYdgLOCQkuHgJCZ3lMu3pBXcmgbdtxh0pG7DUlWLl6W4AL7qoMvO7TQ\nMiI9EJm4PvFg1xaihgjaV4RhW6HNcnI0q8N0pfQnfcaXl58GlWORnV1CWtKl\nw4oLRdnEJvg/oeWsVenFA/0KuVSBGkkSxULghVXtr3FIzf9T6+C/n8+TFyws\n8VZbW2A9EI7/bmJ9x/dR5utubruVKISlycKID5ffDX8TkflSGYlylBaCou4f\nSSz7zSbngX2DN+7gTj+2XtrVyAkzAGZg9NvsIP/bfPfCucUMMOlXeyr9VGyH\nfvjT\r\n=01KC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0Mk25SnXnD/lVc5hddQrmEvRP2kF3XICTQCgCMV/jWgIhALJV0i/ujm4GgiLooXfokFOTOFAO8cGOhrbBmjOw0+5m"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2201262038.1_1644354770194_0.32465833734432836"},"_hasShrinkwrap":false},"1.2202082004.0":{"name":"@bentoproject/facebook","version":"1.2202082004.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"572ca92abd38a7a42e381c556e12e2d929f26802","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202082004.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-QjqBEiQXMErZoEkgEYQIon9fFgmWHcoDvGfMKDn/u2KLszKRWG+vlJ4xwwPkU1jgPvIKTt/geT42jNVMHWVj5w==","shasum":"9c1af75bd94be3096eae83056dbde1b9aea2e77a","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202082004.0.tgz","fileCount":28,"unpackedSize":1137319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBD0vCRA9TVsSAnZWagAAW70P/j3saqeTmantYIB/1DrE\nU71u5IzhWk/P0gh+hJ4qmX9jSrLQskZ5o25jWRN6OFcTHA/BNzq+gkQfM9aq\ntUhQRtliO7kErGdeoznRFPtNQdCKbK8+ApECNWx7QVkaTGGwXWqJXy95ZXFo\nYoQQe0RvAsUuO0uGTAkIwn/oQX8+p0N7bV0OOCgPJbeBozswIcE97sDhO8Tb\nrVQkDt8xq818YZkKvy9KM1AIB+CeI/xzlx7JiyPdAAAJaQZTRu9LLWVulVvO\nOvBq+gsuy8dLvkHlTWB1h2Ro9xZDVOydLciNaIlZ3V5h36ADF6a6fvjW2AyN\nwb2mrSGlyVAngHY3GMBdTvuvI9025U4AKd7brC2Ld9QkqQH/30tV3vSaiIJG\nNyo333hYwWmptN4LB9eeOcTm0rIu2Dfy1qabt3xS6HrvL2d/wqR/1W7wVFad\nIJ8PvzAItF21zx7X3eIhdf3z24oqRvvMJFKd5oXNh0zEC8KMcWZXHjq1JhgM\nSbBMgRmovyug0Oay2XMnkljqHDj++zZi7LEJPmbd7CWphe9ZX3brFFM46BKU\nzRHBAWHJnS4tEWKqOen3idKwgmFmjriQ6eU6FlUNmd4twDHnL9UwYKX4Ffj6\nyt45RKcRRVpF1W+fAYKtK+OyUBckqkH6lKIYNpMLTX7IAD7PcvqS3a0TxFiZ\nxwfA\r\n=zETS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBfd5Mxs5DlkMrbsjWN+fsNC/1pFttf/BTzykZkTTedYAiEA+0p+4yoIJ+dhAwZZYj9cKLIcf0orTo2VxTuEVVChfus="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202082004.0_1644444975189_0.47841124306319527"},"_hasShrinkwrap":false},"1.2202092050.0":{"name":"@bentoproject/facebook","version":"1.2202092050.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"37b830a030b935fcd922e108d5afe28be61d68c7","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202092050.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-fI5N5snwb8y4ujlHRG+YNZyQ2M/TzvOQYVBOokUbh28rmpdpx18gJWj0cDutD7e+FP1+HI2H2rNbJdwueiCfng==","shasum":"0ae4a14b97c7eb582eb83fc8a6054774afeef817","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202092050.0.tgz","fileCount":28,"unpackedSize":1137319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBVIJCRA9TVsSAnZWagAAf2EP/jcbr0LhIy7btjwBtKe7\nctdaUlNfyniRkFAlC12cdUEvtjpf1ywUbglDpLMqN3sX+Yrc4n6JAwULQZSj\nGLebhm9L6x4iH7LYsWvfaU1ZS4pR0wnk/URHiw9kYbitGhgDPpM2RjWzziz6\nnKLJqUtrX0+UeqH9vkABtUDQNNcrtnBZC49ZiOubAieFkwwjIcI6UGqEydJg\nunKXMjo+/VMC3VwCTRmyrODzO7vr/6JUTD8yGgaxRwD/yMIHLVzKfLblHoQ7\nA3LVxq5b1RIfhEGJgAO6MIMQhMwEBLYzk/RDZKptAz4WV5/YXcrsCYzjXZ0r\noLF/6eutMLx7ucxRDar73nnIMHETahdS+nSTqimzWDsPYUlLjM0XwYfzQNut\npztc7tqdUnilcKFY/fnRCeelPetA4liXmQgjJYiFfzQLJ5zai9n4k7Uu3JS1\nf6fQGoLTlwGieEUdrjsRbW7CTwEThZkW+cxjJYansVNWBdcbljm6nEdpjN7W\njK5i0tG6JtAevj7Pp/U2mNv3LDPIgQaL6kVETAc2kkh7ctvE/cLRsWDVOUbB\nbpqbdacUVG2r8yuhFeEv05ofMAGv7dKwVDeWmqsWhDj6wDh8pdr98ccW8hOg\nAA/Da9k2+tEeCELCIOr08DnRJz4CoCQ062xeUGsjyzRLn4mxnZNHDGL3zSxl\na3ue\r\n=wiU/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqucsgg3JFeiVYodro7Kiy9E/DmdyTHGh4UUa7eJRZvAiEAvuCOb404lM+FQrOnimNZO0yiSVWXtVpA8dls08ltFyk="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202092050.0_1644515849559_0.37670174530511424"},"_hasShrinkwrap":false},"1.2202112230.0":{"name":"@bentoproject/facebook","version":"1.2202112230.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"42cc51fbf53c86e33b0a12004dfe9c35b8f5d0fa","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202112230.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Cvmxx5io48mrr7nzB7Ex1pnxzEBOeZmozmQTwASAGC8nIqMC4brg20zQjpq9qxt9W2Ze5yc/NX3mJ1S8U9aNtA==","shasum":"ea084b1053fd0bd569664f021edcf267e44f10be","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202112230.0.tgz","fileCount":28,"unpackedSize":1136089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCsQzCRA9TVsSAnZWagAAB6cP/jV5ylBSjNPM429dpwmc\nLr6vaLzuEs6xEs5tmB96MwZrzoBS0po6uA+sQkEJxX2J213tqz6Ectcmywmt\nA0QkREkucSphffWD6V/Oeo690NQBjNblBIqqAdMzdoVj+8ar2feG0pnnyjmE\nnKgKA7dc8B7BTXI/PkWuegHREISD/gUP24KiBiIg3impxXUmFdzSv3eLBjL2\nVWKX3Z0BShfKUxa3//ATsPh8gmu9A37kjk8ndExZ20Ey3M7X3SJHVKkx2U4W\nf+Sbh9XQt/juX8d2bVcf5phwW41A6UOt/XA8+okouO95ebJWKdc0k5U80UmB\nPR3Otm64D+hk8EHrX3z5DJA03IL1kGZo+NAI1/mbs/iUlwQBY6hSYkVsi+eJ\neH31+k+sTCFu+9nBlHGzVR7FmLYPwb6T2e3pBRl2f8C1xbh7LugbBtH5sxVn\n5HGrsmlvxGXew6JarYb2u//27bCIaAy6gCPjXh2QnOrAYaMrk+YCtrxGlQho\n2ZmLdNOtB445MHYdn9gMZID2aDo05pJIO+i4744ejhvW4B6mlKJ+/DT65UfC\nurCHelpqx/gkK9xQK3TM2V2WV5Dym6a1x8F36QPcARfZPFKqLhMmDpoJH9Iq\nigpPPQaCEPU4+x1lQZtzLejiLwTG8fiZ+pc+FBh1dDLvzXDXaBRP0VmzY9lT\nSBXN\r\n=ojoU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbGeuKzy2yk6OOHTaUKdrRxkLZ/QQKUJP3JglO1DMTiwIhANtpqlh+OedO8PfFKM+DLgtIh/iUvffqfFi/0g3SumhO"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202112230.0_1644872755502_0.5806078817151787"},"_hasShrinkwrap":false},"1.2202142035.0":{"name":"@bentoproject/facebook","version":"1.2202142035.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"4bb5570c3d04ec8e2a88418e8ed8b420e5b31ce2","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202142035.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-2ESK88s+ONVRSNm/DfxdvHGXrydo+ACBE9Tn4lGHcY7tFHSU/IZzUTQBiJIph7THv2M/XyPiW/bsuCjmJ+zgBw==","shasum":"dde8da36998c1c6902f29c601feddc0bb894fb42","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202142035.0.tgz","fileCount":28,"unpackedSize":1136089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC3GECRA9TVsSAnZWagAA6L4P/j1QaQU/0REYHj5d05Wj\nP1afGSnMNkGAJXYqzlS7Wy8B2yh2flEyBuWMqKwKhyDZDVTO4S2l/vlVKUaX\ni8/RcbanygN50gyltF7FM3I18N6kgjH8QkoAFBCYAzG2IIv6iXNLwJncwPD2\ncVPTHHe+9IxopmrkbpeqTC6B46akoqCCiyAsZHcIId7rpa4FTpX5fvb4zsGA\n0t9/kzcFL3JXUJsLUpQ1eEsnWDRpLJTchYVIlQ/OKUJRDuzYId7hWWttGZrh\nKBHOUjGezqPEtzobNsb1FXHt9y2CvzUkTUravo+PV85WHa0GkPUPVmosnMCb\nqWoLiAqNA+2fVIGPiaoJrpNeNhWX8QzpoCYuFFnHmXzHVvNtns+NTxxoVLAK\nirXMnQmW0xblLYIoRbSu67LKbp87qqQG9HAyibaAiMop6ngxMXhBoNaOD1u5\n2XI564zbupiNkrgGB9k1+DcpN9cx4j/HZUgRHlLiNVt6jX9c07NpAc9JhLlv\n9ZABAaJcpDEqzDHM4rZHh1hJYLW6/83YfqN5NJ6NSOcmxLnaMaZRhW7XVIfe\n6lxhtiilVDwvEEyCw/Myh5HGt+ScOqsBN7KFckgB2NQRsrNjFFs6O1RYeeXa\ngMQB0yXQRl23t9h23rrY46ZM/HYhGZ1vurM0lllO4qhLq6RMDsC7RRYvMldy\ngDdl\r\n=SBlj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDN7mHfHAtwMyrQmkA8rWiZ5nDaVK7FpHNeSDlO5C888AiANhgWTpkcmtE3SHFQMRxOcssZJrlBrEMkJBbIPDEnENg=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202142035.0_1644917124827_0.4182326512421042"},"_hasShrinkwrap":false},"1.2202042210.1":{"name":"@bentoproject/facebook","version":"1.2202042210.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"a656b221ffc7e0c9f092bede5668a546628e9512","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202042210.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-xh2H/N8tINJehJ9dE6fcx84RBY6Lac8/kw2GI7VsTkaSH4eHttBZ2VEPg+UVPU+4w2gzzd6Y2AFujptHbQfP8Q==","shasum":"d439bccbe57c2bff0cd517e1c4a74e380c401d76","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202042210.1.tgz","fileCount":28,"unpackedSize":1137940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC++RCRA9TVsSAnZWagAANoAP/0ySKjqS5jN3RjoK5nZP\nIUjbXDqlzRmomJK6kjP7jmhC9+NuyYRkCSyyVleEZo///VMlOvUgID3veOcD\nP6rNgmVRt3vjMqwgEcvc1Z1WqXoYkVrMgko2JV9rdgBxGRJW0UZUccG8Yka3\n1GcZoVKxyMLkAn7DxAPD5L6t3YINpqkFY/bkWBCiZ1igAx5+6J3u0So1LRPM\nu8GpTDfkFFvW6U1COPfqy+FywoBbSvd8E1ctodLYUW0IYeN3uwvjGuP0DW1A\n+uuUw0xsVG2acPyEhaWoV0GdfGgE2CBcO5StaJTlq+FG0ycMC9ZbVP//Jq8W\nj7+Ph+fgfGzVbRwNOK3BlaH20HyQj/E/6eOhnx3efRj5v1fZKniG245GwPg7\nTdXXBT+7HEtb1G9/UrUCw/hJDR7MS2uH+moJvx2xqwp5C6jNfFmCzaHDagUw\nQI3Al6OgLXdpmOk+KxtY7qaQ+TQrbRRlH2A0moaWPQfoGNX2cNqMR9zMuwyc\nisN2wnnR75JxQcJ6QACqVTXfnPbxEAgPSble3mEHCyQEMCRZ08xGhPWK3jLf\nNckg0FipF/2ONMLswGdLYsnMa1uA3QuwF+3vr5CO0LEbt327QhMKTMwh/0KL\nPbeMX7C/O3DdOUzU9kLDi/4OFh8PKaRWPXf9/0qp9GaIXCUJglbiXkN+mMbK\nZcGZ\r\n=SU4y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuvJpr8dl/IGQK6i6ReVPhVhqtXz9zj34FDssJkgt7UgIhAMwFkHp3Si8aUPlGvyw8R0vtKRcK/g6PCP9CrjWFErgW"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202042210.1_1644949393385_0.5563056609236725"},"_hasShrinkwrap":false},"1.2202152253.0":{"name":"@bentoproject/facebook","version":"1.2202152253.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"a50f1711cb8aecae95387e7f6b1fd1862206166b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202152253.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-frr1/raMPFfxH9bI4VgHwq3Cpu9dHQkBeqTcozQEAzpoarMRztIyi6lMPXJKtOrb+vDKbgV1VHxLrxSOQ9yCUg==","shasum":"0e29544e5d2b2b1408cdb25524d770e680961222","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202152253.0.tgz","fileCount":28,"unpackedSize":1136089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDL8NCRA9TVsSAnZWagAAFRcP/3g8hOW2A8+N+GvVUE1T\n+m5K/8Z0gT7StKeryzkpxF9kbeeRDmCZZw/gseXxay1hF05Iig5yeSKVHu7x\nui+j91Cc4/WkYvMqPRRgSmtBdiEll4gb7aNvUJffwRsb3HnF4iA+vOo85JVt\n2/9RMOjlrSa7E0+6sjBjp5ay3cRgcZOu5PFFtn7pk5qCqfmk99FK4TmCdBP3\nYCQtlW9mYGDpq5jbjM6EWYPJOM7UIyhss9qDCVeNHstkC4D0t7L+CspiiYkH\npEzPuxFdtvZUARYR4Irt22YGoPMZdIG/7EVeDzj2+yVpSpEBFNgTzpjmjMwL\nLPBh1MPXEAvklm6+WWSTVFhA4UFE0D1mZESJ/bo9jwQC1jKVxDONi2NmOCmW\nHpw3ZmXOfklAxFgF8y7/F/HOoqVM3KJZbTTD0iXLGjnWj+g2EnMjuSsKw+MC\n93zKaPmWCBybVOlTZDx9z5BJ5I6xm10oSdOab+m7ht9sFMHzi0Nt+H+f1iJF\nXk6KmUIOEwlPkP4BEsk+XK1kGQduw8Z6QjTDpbOAmmsHaN5CfWACSsgjQuow\n1uv4Lyj+19KSIcX4OcYNboNK1rn63tw4eS+Sw+QgJvao88dyTXtGB6XmgdUO\nTlykah6qCnrta1CPQsMArP8nA1baKRoIT3V/eyyauq4N/1akj54gtTmvHrR9\nFbKl\r\n=PFng\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDW1ijI8k00dFPihsH0VM8WM5K8uLkH8W0Dl1mQhi4JKQIhANGfbr530TeddQFXaxG/axFgu1v72r4cqdTPye35Th08"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202152253.0_1645002509736_0.7303281275562641"},"_hasShrinkwrap":false},"1.2202162256.0":{"name":"@bentoproject/facebook","version":"1.2202162256.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"7548b64f77fe070829e46481b6fa247b8813958a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202162256.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-tq+/k2cLT/TbAcNdq5ffLDEUhZfirFwQqvpwjme0JlnLloEzH7mqvcwN0yQCEMDOAEJuHP6Q5Ltv4IAg1fas8A==","shasum":"2cabbc8ee091bc99392715a54361a0a58f819f32","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202162256.0.tgz","fileCount":28,"unpackedSize":1136089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDhWLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpcfw/8DFJNleHwnvz4xWEime0F/acOdr5pCUfLEZpdWosVtNFTpXB0\r\nfEldRq6AG8fnsGWJO1qtPTqgbIbcJ896ag2HT2Rz7pUdjAnBqig3ta/zFo/3\r\nNA5Dzz4vR25xF7hNvV6AZtlqDcW+W3BxPhSdECrSKZoD8BJEs2amoSglRPh2\r\nljwJ8OoeKlKHvo/e28tTQAtG43FOS4gKLzQEQmRuPu8JHgShc3PXuNzwhGwC\r\nc/hvxntT97xb6I6+VHB3veI3dVSCRr1JEZmB/oucb0jbTEv3J3HYHM7zOeoF\r\nGBbGo1qrq9CTG8itk+ZTEs+UDbAiWqEhuRrqcX3HwawI2WJ+4cFo+3Sjd2eX\r\ncOOfzni4wF1wSS+aNdRpzXCLbSDgBPzVQfq75b4I4E1S6Pee1FNHOXjdxh8d\r\nwZEPzE7lXWbCAmaeiM4q74Q5QvpruJMfG/t/HEOg6wDHHyDXwTyO81Ow5GMl\r\nNft1u8r4f5yLjB5BnoszCHcDnwdWmcAMpQij29BVEB9gxnpm9r3B3Uswh8Vf\r\no9H9ZbZVeg5Fg/GO2kIps2sMQXswJcTDKnhG3Sw2Tk6KLyuMpJUKrOA2LB5l\r\nvhiwWcT6pQ4Zcn2BbjWF1AA08wgfCev+k8V8cXXVFSHowL1MjUH8Mjm5Wegr\r\n6DSE6fwuRg8GBzq+hxe6pOew2+B62m8bwSc=\r\n=HAy5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSLIcpw+4Pk1Boq0/eIFTE20iPzadscG0YosM8G4vRcgIgJRDbKt5NhxeXAxVwWzvBzQT8odGgNygcEI9Zkad0gn4="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202162256.0_1645090187025_0.7590649916256029"},"_hasShrinkwrap":false},"1.2202180255.0":{"name":"@bentoproject/facebook","version":"1.2202180255.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"8708c2591965df37c54fa25ae829421f10de58aa","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202180255.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-bsUdJKzlnh0W8bhMRuGkuy6k2jm/weCa8WpNETGg5Ceir3tb8T4B9jE1PCJxLw5ytHfM/3F8LZn/vU8DX0wgzw==","shasum":"26a9e82087c42d87cba0a836115f2f4c18f8ce1f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202180255.0.tgz","fileCount":28,"unpackedSize":2420173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD2qBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouqA/9HxbH1P0eSyMx9gA5Q0YpSM2KJFjkG6CpOtJQDt6Zp/60LQ9Y\r\nJwcAzF2xhg8eAmBEkokZAS18abIT2/CO4ibvnYKRHamnzbXZkE7lmJjxfIGN\r\nTGGZJyBcQldnA88QEZY3CYRCoXqnyk1j/TFH93jNiHDWo5vJxZJRVGNCrhMr\r\nCp9pa7aFGXwPwoD73W3U2mV3o+Ck14iUMPbsseROOavyX5KBfCWHfGK1LiFb\r\n4VDOOtEWQT8iCu8OZo08dw1fxwSJpvP1Rha+tqWZJx2I0XZ8hiAtpAdcnVWz\r\nrOcgsIH3aCkiyQJvWyZeaTypwBKNKltj2lA7vWBw+d3oO3Tisb15dplTpyhV\r\n63oWB1ULdh7geQ81qqzc7gOEXreKoB8Pd7vqv/u3lmSU4A4Vkvr6bgJYtWXa\r\ni/RyRau7FHmxeZG9TN0n+sM9k1rNA4nYgcN7cu5oFNnTXyHMAx18H01rTY8i\r\n4vrw2RX2vtrKeuI+s+3a/rX4YVaG67bzXq6WpUGz79+mz0o7FPnzO+dYpBfw\r\nNnOg53a8snMor9nvsteoWBK842mUYKvpq/ccxEhTArCpLT52bbT/y99Fx75t\r\nVDiY8aYrkN4KWaEwPLRtKxWZCDhi4c3dMdkec6RqNrcY8wjB2WAzQDoYeYiP\r\n9bG9ojmIU24cnY7H5P/PmxPDYpvgCf0mDSI=\r\n=I3E5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA2OZYPGQXI4jtAlKIi+2MYPAUFNqqkUux3cUmpQqVaIAiEAxI75HYBpdHiCXSUGG9+rx12puhvbHEFyYrrdADPwx40="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202180255.0_1645177473600_0.07206328796794303"},"_hasShrinkwrap":false},"1.2202230359.0":{"name":"@bentoproject/facebook","version":"1.2202230359.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"02e5f5f51d0375b35a2a20b27815ab79d9767e51","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202230359.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-jghjd3EvF4Dc6goqB4SabqPF91xMjUNi5Vh4/Hg2IkqLYOT5j6WKVt5siIrZ+CA3VlwgGXxLC1p9RJFplZYGJg==","shasum":"36bd01949be5133d81e8268fd12f5a413add163f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202230359.0.tgz","fileCount":28,"unpackedSize":2420701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFf59ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqjug//XVu2/QkZsgxskQ7c3HuLq0G6TiK5d95xIW6biRnc6oU2d32F\r\nesMb00Ah6P3rw3YAOv8JvI4vC2/DYsGZztXxVPc1i0+fB2aUrHc5bMkNmu7n\r\nGTQ369LduY/cOSSSQ6Sv+vsWKcul9B0u3Ihr/D2Kkzs7Eitk0VLre0OCj+rz\r\n18tN6MgS9itfo5VsnLqfg7ZFEOo9wgxlR+bOivD7+APVP0e/LbJIBYfi7Al1\r\ntQ4diTAn2+Q2WjuA7qf+jpZ3G5s+ZkdZqT8IrXUFQFVsj/DCtVO3JzFxeLCw\r\nM2F7yxU/I/KNaLRcdMkVt5BWcbcIAcXfqnWg7ABYXweUq//Jn/Ex8lKB3/eg\r\nTVbssLfRJ0PAbXJfZJrYQjlwYR00HPeEBHHfXLC1hlebwi2Iq4kMNU1b9tj7\r\n2k5yJQ/n/gWI/ir22QewvBnYKLmsSJBFlaqYoKlp+Ko/6mj0F3GsFM4qJhnc\r\nJL51Z74UZzW/Q9xaWE922LJkWb+XbdbqQgbSyGYQ7UM1z2SOj047fnl6z2PU\r\nCA9CwlLPeasXAW5KizjH53j8xJDrmJHgaB1a3cx7aqavNtoMk6GHxrRPkExS\r\n/UrK/mI8cxqsaA0H8Xc52s2Cf+I0piZqUpsRHl9aj2DBwUhvWNTlySpSWMkN\r\nBwYrY7YumwfRho531jl73JxVOamTnm3weBQ=\r\n=mu8G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDl036ehAr0hDanAQVzfZVfzvfd/SG+UG/ChK9d+89wyAiEAmZwf5fr6RO7JAmi2g8EG0lF2R4+xL5tiRJ+Nav8NqUk="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202230359.0_1645608573219_0.38933172289565743"},"_hasShrinkwrap":false},"1.2202232232.0":{"name":"@bentoproject/facebook","version":"1.2202232232.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"66c8923bb334f4cf267bf8feebf822629a9129ac","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202232232.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-0k1H61vhRfvMKHc0FHOaEvmSZc8VIvxjKfWiK4fteBmHhLfx70bDXMihp4QFNoSeOFpq2M2QT3VgpazcsB9qFA==","shasum":"6cdc8b2f1faa17c2c44612ec272067333c43158b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202232232.0.tgz","fileCount":28,"unpackedSize":2421307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiF6LaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUWQ/9HV+XOY8Y6CkulWAZ4KDELZ+iXhMRIiYdZ1LsHvBzkThYEXFM\r\nHNxrBz08fdzwDz5eo2CqM3K0YgtayB9LTdR1vFoEVnlBkZo6XsztuP0FUPgs\r\nQot5wV6DN7aWYdQGK1RBlswSN9zJkwfKHnRGfrMyVDEyNJhMwc8FklXKF3jm\r\n6RaVWL+b+j7IzSsMs5ckwVQSFnE8bcfgOxfZdnf1d8YIgIWPqHvvlrobfn29\r\n63p0BPu44GyQyU7UGVd3GAVjJuHtjdfRcGVoOeOcpBbRYJzW/iBkbV3GFyLg\r\njrbdvq7nT5l5OA9GUWpLORFITllh+pz+AfHwXjlprgWX2zpNDseyqhUmfDG1\r\njRpNp/v/B4fLrftMgJ1Tsvyr9Zf8pRd3n97S857/7qsKLunKIjgCVi4XRmqt\r\nNYtNlvBih78hXUMlwBWc4A0pP1b2Wm85TMhxYcjIHTXPSAJp2nX1gjb5LOuO\r\nUpeqcTOrIizyelJ0lgjKb3Pfy3AfLCNOxeur0xsSTvlKis+b3hv41x/+/2kE\r\ncjKLoilq+rN7rW0f4U6euS5q1x02W2mhFc6VK2gUkfX4RmNhhF+eADxAduAc\r\nCsJ2r1y9dyJpCbF5NNp8feIwFNo1+EP2T8T7f70yQ4lWoRGQ048HbTn4DJoF\r\nbZmR+k8lulc3jG/GHQEe7XAq6sZ/dIEMXoQ=\r\n=doBP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCm3ocnpoO6zNqLM5/KaYgnyQkDAYnYW1BZ9Jz2/ktZEgIgYwIz56tE3WShKyW3B9k++83Is9b0Ka/l1LWSsgjA5dI="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202232232.0_1645716185798_0.717629770273805"},"_hasShrinkwrap":false},"1.2202241911.0":{"name":"@bentoproject/facebook","version":"1.2202241911.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"d0f22f13b53d3b67847e18749e07ae4640258f87","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202241911.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-FWqDU5J/WC4DIl4fE6MiwcD9D40aehyPUMwg6R977y9RmmXB9ON98NRtY4X0zkRhRwX9v4EsU17+7NBrywJJQw==","shasum":"052177b5d6c09404aec9ecbfbdd19a97e7117c47","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202241911.0.tgz","fileCount":28,"unpackedSize":2421307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiGPMrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6tQ/9FiB6fOvZHt/9qp7nrtbTUQMIB6NiDcprr1GLpQZk7BZ+8Vcw\r\n3MOYSQYtTu8ce0nnoqK93HwGfUKkGtN0IO2uXY6ElR5Sn7zQwDAxS6Zzy57y\r\nCeDs+7elBYlI5qIT9KiCS565TXhwbNzfFYXxpYF5L76myrHYR8z2616WtRkg\r\n/CBCIttQ0RPXzUS9uHBf9/G38fdWwWA7Z/b4k/+V6HqjlFvuO4xXzwt8csO9\r\nx3G1nsYntUGFLyp010ZLnx0WcASEPw8REZazbpXeZhYUPNkdN8QsI6AlEeSH\r\n/+hL6uoqR6WP/dprc8Q4E+OoRf5y/CnjKZXB6tgCxOmAn5mwYQ6UhN2AWroi\r\nS4jDuSaK4DHKNhcvq1y7yVGdXIc5V+LHb8ET+k+iVzRv/Hg7V/xUGZU2txzq\r\nbL4cpsYE1Mo5izKXEcEbzQ4bBI+NreFD3hFJNPZHjw7SXLGdJ5sALUteBJ73\r\nbax2VX7fdJMAsd4B7Bi4qxDiWRH41PA8qZFiJI0Fiq1OmFqU97gbI9bn/mv0\r\noPC0aG3BZprufi95r4+FZ7ySeu7Mh1I8FzDzwGMsHFgKH+UB9AqlwC7+U5te\r\nbhjFQfXeFfEXf7V9v6EwgoUpX/Y/QG6cVd0Wy7d2D/KSyhciu0n1zQlUVpxe\r\nR/Q27ly/MfKNZd71j56XjDLL7Aps+os+K7Q=\r\n=Rcmb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEW+48Gexhve/EWZaufqnNpg3UKgP6s2KKX3HVwxcLbJAiB26hlKrgF+tYOp1EBgj+Ds1J7kgDUat2DJrjQVVwY0FQ=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202241911.0_1645802283660_0.6427209309631321"},"_hasShrinkwrap":false},"1.2202252101.0":{"name":"@bentoproject/facebook","version":"1.2202252101.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"fa0da0bef1bacbbaabdd17ebdc31b018e6450c58","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202252101.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-SRutXMCuxwbYDLViNzoAZw5x/FZQ3gBJcTDEVyryBbw6mhdS0LgqYvbKDn4bemhxBpi7y9gI7B3sUu/pMFb9sQ==","shasum":"f13aeef48e9ee72c169b62c8a12169828850d7c7","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202252101.0.tgz","fileCount":28,"unpackedSize":2421307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHPxrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPHhAAl/hA2bkS1h4yyW3esUL/isOs4hYVEd85QQ7meHIS3WAhlXdr\r\nEK1KAfZm4qA0umRV+Wmi66Ph/hBYfZvsb8zkPeNZ4mdap3XkheVvBlW62XFI\r\nKBkp9zXlzps+ZjIi9fbC9ujNbRdT4O6WvwFwvhhEIabH6cHFy5LrOqHMnuKG\r\nx2isyF3AH22f/xNkebDY9cy7DSl6JdKR2RdPtg1hTB2Tm2rdzodFb/Lz7nNO\r\nhVfQWWrO3KZdFmwAwWlilIwROj3Zl5rXktL7sOwO2M0jcdUv3FuQRhwY2CgB\r\nIJw9nhMRvJfy3eJw3S+p/Qc+hsdgKr4O1yfzpQZr1FHVwvKOS6AvwU3SAp6q\r\ng4d3QB0BRTOrgL9aeSr94RM6Lia/bydKNOZgjCcKWPhUCEKL4+iiYUXxdxhJ\r\ndMHtCoDxbAs++xijWz2z2J9ag9NeqEkPzRdlAoH3/4Ck01pnXXalhSqsn1bH\r\nEo+qH3xc1cczAXudxa4ym790T/68yhSi/rmVcZDqEftCJbpVSU+WrQJxWyM4\r\nOpSVS9QrAiUMRzS0ZnwE9GTHzOBEFjHWp1Q0+q1zsw1Nxc7wMTsSuqMXY7CQ\r\nfJjHXJ1VbxX+Mw6cul+VX68flha2BsJzzhwG0r62EDkxUyKKJFa3X1syV4kj\r\nrFJtuZXKumoj+OVX8hSewoXIz4O68BfnMGY=\r\n=WJPJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd3R7/iFBRJfifn+4ovvGg8J6TPzgRQwCFXikpzZLOHAIgU/SB+dAej+64kZl14SqR8faEbhbxpsE4EJpLSc5mLoI="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202252101.0_1646066795106_0.29471072770041196"},"_hasShrinkwrap":false},"1.2202230359.1":{"name":"@bentoproject/facebook","version":"1.2202230359.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"gitHead":"f459124bb58e0a0d2076f658b8fbe3c9db13a04e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2202230359.1","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-2TrvXg6bqZUUyBqREweRcHC5q+6g441yFZwKn+AbZPnDbYm22///kWOCuyJGmezR5wIQEUO/YfJHx+fqeBb6vA==","shasum":"5d52fd9e1e86fa9fe8044310c1cfb2752da1c951","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2202230359.1.tgz","fileCount":28,"unpackedSize":2421307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHpixACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqofg//Qu0DJ+rCRK1GXMaJlxOjW3q9OyjlIwWxd8/SfeTxKYj3SoC8\r\nOXNNuvajVVARiVKfZxRKRLwothuNcr8gPGauwzRodrUlxcWV4/3DILW5/37M\r\n64v+CczU1NFoMT19Sxznl5tcG/uF4NJrGAqg9JxrJTfRpdq/BGnbE0KetIpF\r\nAtzjXWHbnWXRFldFam1reNMuTzjLDjpH0s2t2RJ8P7O88DdCq/+jKRo/TqxI\r\n6sg7QfVT/f7P22+U97GhEw6XJGcgqd44/mKyVnenzlw8SyBhpA85mJrVDPUb\r\n57evhz/QXftCoXhT93AAQ3ynv/fqu8pzUySg/k85QzR5zsoREN+PRFGpGG3U\r\n9kOAH81Z+H5JW+ptpKT3R4GW5rW4kSqUl6sUfq2LsZBFvAlHdloCJXmkpXwg\r\nXSOLxrpDgmNZqB0CwgoNXwN16F6DNEWjYBNT/ubiQKO9THKQGiZ7z3uHJGnj\r\nSqsE++CAFyZg/HHusBShfSLAOeLUlI5ui0H5mDBGwpwjUXQsiLYWjgXa5qom\r\n4DC8oZT43WbxZQy73lvc6f0OCEU9vmijJeZdp9LC1U9E0IrZ+9TgsR+BbfGq\r\n44KmU9BhMSH/WEgwCu4Kv8of0/E3Xg99e4t5dv61FytYDiAQIcotXs/yh2zY\r\nWVWoLTY3p32nLxkgJ6dN1y1BI65tglkAk9E=\r\n=wuUY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrH2D8xxpE+aRHLpPQlyWBr1Y+oN2dr1thjT+LPCtCuQIgXsMt122BjxxNr+VgOEUCsZHgEpkfKshwue3cUtzx/eE="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2202230359.1_1646172337745_0.5971880638675278"},"_hasShrinkwrap":false},"1.2203041950.0":{"name":"@bentoproject/facebook","version":"1.2203041950.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2203041950.0"},"gitHead":"419d49d2920fbdf4bf88e8efc3421f7c37ec209b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2203041950.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-UQTcYhVWiiCzBoiXZt4fIss/IrcqZU4BM6cQpssSZyxZr24L/CfYJ1z5i/l0S1NW/RlXB4VSElqjJmdYPIxkcg==","shasum":"2553034fde351ce594b8279fb11f769cce6c0df4","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2203041950.0.tgz","fileCount":28,"unpackedSize":1262871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMN0LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfjhAAgNI8+QjAKbniaPdsi6V+LxMdRGySRe8+BXCuBEwizGVK595m\r\ndODImmpNqddGRAC/puGZ6SdM+W4YEPWzyo8KPy2+sYHqH40P5vDJHfUOS2vO\r\nJXQDHcCaBmQ3KjGTUF9LWO5GIh5ZazlmbgJFocRBfYw22bMbuhXjAXRPQigm\r\niKNjFUchRKArACilOx7i7ntUV7lxPwO2l3xsyC99D0zIXDQ4ZxKNnR5TD/Rw\r\nsY08PQ2f7MnM7lWIEzo+kRz3nKE8rnl/GKJoFdtNnKE6E3BC8q3JPEK5ZjVl\r\nfiR4eeZzVUi40DZxdUgNeWZVEu9jRFfq8WyXjwnqgswJXn1qMbcA+h46m+Np\r\nY95AzMqI6KDjm6DeruPhgMASfBXB0Fm6RnVPE0Rqx/UqMd4A9TJBvquK612b\r\nAQw2uj+vXooprG3ZL1Yg6waGhhUUBefP6+RxvK+cq/W6bryCA0661O6aDKl4\r\nEDJu2PlVYqV3cdIPYopRtDJXeS/8PIUCdXcBn43imMYNVNnEFn1GuWBpWOmJ\r\nA/DKbHUmmf1nIjlrBdXZa9jeCpSNQZE+u9f59Y8edAF76bc4Qb0NATVsunor\r\n/vUtLs9KKRWr499ovpGbigO4SNDsSTlwSs04ch3rV/RI2FC/20CN1N2dTIoH\r\ndc7ov56XUdKeJW3eZIhPDg0lTmuD9pk6Yvw=\r\n=J4V4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCieCf5xT0vgV1mdY2lueW8aJI+PDbiuLI6xMdIk9YOjQIhAKspjH2pnRbmUcxvYrRdD3X5pyeRfkLKFBGWbDeuhE52"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2203041950.0_1647369482908_0.7737302378581006"},"_hasShrinkwrap":false},"1.2203151539.0":{"name":"@bentoproject/facebook","version":"1.2203151539.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2203151539.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"fc739c0d339dbae236fa53a87188f5f7ca58f25c","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2203151539.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-3BAo3R5BiF07SbgIgXSdedEmCPNFyfI3b/vkXbkjbC/dBsXgwLJRe6ZNmiRCbGrJ9AxCouMKXWoF4UrMBXF0wg==","shasum":"773102a3952fe68c794c8d9bd9ee39f5ff5728b6","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2203151539.0.tgz","fileCount":28,"unpackedSize":1262871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMZ41ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodRQ/9FuY6Qb74tVLzgPbSPJuzb8cRlYV9bGXaooSUH/7JVZF7JaUo\r\n9TqDn7tvj/18gMMxZzSdVDSeiO6UCTD+4gMN50GNR/wgDh4tLz1FFV0zpNgd\r\nYm6CJnG447hkiJKVwMvqC8Ina369fHC1V0o/Z6dSev4WP5CPIsZNG0EXusYK\r\nGDcUoTseG8OjFdjpkOclAerX6eQ3ydnGEwGZ69C5L0Tb0fQDEoj+61TQEuzq\r\nyIdomq5DxF2MeX6Ci7j+r1BaJ0jZZ013LaVNGAnAXt6cCfKUeStpyvFPHuFA\r\n4en2FfTqcLI6UxUaylwy0qbeKMithiHyDO9pJTF3zw+vothOjSvY26gBV9o4\r\nJXak1w7gP6G+qNL+vlM6Zre+kTYUEzvKxJckZXWDLd5/BLVGRvP97MnhhKib\r\n5FcyH+oQysnjDje9Ix4AFXUrV4gqUYOf2oIgtWtlXlE/OATzwVJJjz9TBZGk\r\n5mkvIWrQmfbjgDR3jY6hUAar0UCX5hZ3ODTjkOIatJndRyFVCJmayzcqwceg\r\nWKtKB5c/GLhzV/XcaXAU4oJ9KOp2HJag68bmtw/4zpqBxc+UiS7VHQ8nsx/6\r\nh9Q6LqCtKAfvqkWXr1dZJQ3M0+/jyrVLvyXQ3g0qKRqE7IU2JXsYY9QLn0sN\r\nvQ5D+aXHsdBp4z8FGrte+kwaDIB6BTnpsyY=\r\n=V/yU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIOiTqdepyP1loRGag4GhC2hf37jGPrjulteHaML4MFQIgBRbloF3GOveaoLAC3HFZ3u0D2YN4mJaCyAV6kkSoaL0="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2203151539.0_1647418932802_0.6059371120368611"},"_hasShrinkwrap":false},"1.2203172113.0":{"name":"@bentoproject/facebook","version":"1.2203172113.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2203172113.0"},"gitHead":"96b2159ef70d24edf6c33303cb76a623a4669cfb","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2203172113.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-fPpWzcCr9NsSRyqFlZUamlZAnwgvv7xPnkoCRliUpNKWiFYh3rv35YsS8kml0WU/19hw+u+gY6mGdsin4tNQNQ==","shasum":"5e60bfa30637ec6d265866488bbdd7d98e6efa25","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2203172113.0.tgz","fileCount":28,"unpackedSize":1262871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNEGCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqnehAAnT0L+vIzDxCVhDJ6swMgZ81FlcqhH0V6b1jaMNxyOkK22BHp\r\nLcEsUxjgH5eYgDl0yijDD55Cn/qIaCYpKUpiFh9wR2pyFaaQWoyW7BJh7H93\r\n7GlaVUtXxM13s40ok9KyUezG89S93IqHHpkje0y5APyipUYvCjRo9jB2qnuN\r\nN4A2FjH+aJ6Kfyq7yUCWI5IRaNJTEWpTIO4HF+7MFML/XVgr8hdu0eNPNHYW\r\nLHPGIFera5TtKQtyxxoEIznHn0Rqhs/l084EuT+x8jK/uzutQCkm8Y86wkvg\r\nOpyB+46kvcqnRgfonMv2yx/Oj40PgkjaL8T2CrRo3IGUWKG4CB0EQLrOWfG0\r\n2z+CEpd6SIReqvS7i2tNdkZOJ/wf/pt9Q4ERsapLvOks0YRsFQAL+QBlrl1N\r\n0a2Lhp5iDMo1mAXJbHvI7S5g6NpoHcxjP169WLZU1XVHR1vsaMfFpSoAOll6\r\n/WlAGUVbj7OWl8BJB5PDtRUSqDYww4llO0A9YutGIantwI7brL/Z48fL5+UV\r\nYlZOPsipn1/DW6sovUirB6BtMzsN8mOS7idelozcmNe0FYj32A6BDIfMHqKI\r\nC4UWaRpsQoWu5kHnJcyDmSraW2EM+hDFq2dRP07r2yuwnoWGKTAjc9KlMS7w\r\nfOff1hNvnhlwLwCBGNAxGuZltpqDkF5ODXA=\r\n=1WMx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9Dmco9bLfvAj5aMVj1mWHkYYbkcAexKeh+8ocewP00gIhAK6AjF7v974k0lMCSwupiB02Gl2r/tNacZ0xFNGjB9tc"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2203172113.0_1647591809802_0.8083574983449202"},"_hasShrinkwrap":false},"1.2203221937.0":{"name":"@bentoproject/facebook","version":"1.2203221937.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2203221937.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"11fb2607ccf78c526a38e31bc141dbd3ac75d326","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2203221937.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-6U5pV4VrM7QgmKFnPX0ZUE7FqiEoqUr8I2S0y+MwFzman49WlOMMzydr/6gv3E+9iiH+ywNhw7riKyNObfot9w==","shasum":"b397ef7a075aa5875d92d5e7df08970d7069fa23","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2203221937.0.tgz","fileCount":28,"unpackedSize":1262871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOtl8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJRg/+IAaLpDEEA+tFF4R3Ul8QFwhtfSjqV6WwKfLZPzMV7ODWjSkw\r\noyAcVCuTwL9kX7AIQ/z53BCFMwmtLKiZ1RJMxASbbwCKtdMxQymAI9tKByGz\r\n1wB3TtottTXj2gnBOoHyrKr0TZTSy5RsrgbYagb2cqGcBDNpFaGHyGYbDDpO\r\nthkSqXrzrdMDVCS1IBTvYTG4Yv34OCg51ESO6vsjFXuisNNNENUdD2FGradF\r\nZoSaDTVLs2OkaK6GP7QNjH4n2ViY/lYjij/v3BKHOY4OfuiePtxrHwLr6Jg3\r\nbgJvF1HqwykUe2jBbS2x6f2qUI5Iaf8zy6hlboO6vowRWMeFYGr9UTI2k0Aa\r\nSGPQIO3SGLeqEXxJfIdA7NJsTMymG1XJXRngziginefooLI+EsaEKar0k1g7\r\n5zTPjHdTp8IpSNEfy/jzoZWtmNsfOb8K9i7f3PDt1/qkcs6OHuzcE3UWhXeK\r\nEybiZNxMN1riQQ0ogc2PmtWaVX7Xy+10FUHMTO86KNiWM1fSeyPt0r/EaLgc\r\nyqJm9lltoilCikDzbN2lWuKa/GLT3Tr++KkbLmIE3ic0YkhqRZW4579e9PLc\r\ns8h0Z+2Aoijo7UCuiJLF76x6OXR5zMAEaNZnjW8CJX5pqE+/3P44Fe8V/Tr6\r\nUAC0+azrlu8m1Mm2I0kUcrJnAqaOC000QaY=\r\n=0t4F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYXFFC7QquYZzwwmCowHbrG+IoX/Q/xlK2uXEdJemQxAiEA7izcpqHfqRyC0F8zbegJ/9rAGJw51IOc0161rS7rL8c="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2203221937.0_1648023932319_0.42251231008071133"},"_hasShrinkwrap":false},"1.2203231914.0":{"name":"@bentoproject/facebook","version":"1.2203231914.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2203231914.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"9bf7cbdf0dbb4de2bc6b81fe042e52c990576b61","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2203231914.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-Vo9xmbmz6ZIPE3D8zSxUH+zBMLbhzULZFHIFDgKA9cu/ZEw/i79V8ckHGnAy7IuBoz7NZwuJy6jNxqrb9dipUA==","shasum":"8d503112a8d22161948b020ebb884b1b4088adf2","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2203231914.0.tgz","fileCount":28,"unpackedSize":1263732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPCpwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmor+g//UlE4ZqXt9lXLbBVsX39R5pKT626OWblYq3lE0PdJB7RpNhvZ\r\nh6wFKoQJ50+j8xpNMfm25xcfJ8HazP7Q+5zvMlM38PwIIPfSt65k5wMkRFrU\r\nHzbD5bMN/MoakFq38NYvZ+Zyj6aWDitxnvkLs8YTnH5HUP/FYFpTLeX/AxBw\r\nru2BV0rXBXR5PgHcng8avF7TqJMGjCKtAlUQHUJ4b0+9VS4sOgyJ2xD0c4KT\r\n1stum5W8gIn1UXrE/w84X8tNvjZsJKQnCE8Bb60GL6K0RhZNrtVOw/8sKUYv\r\nUrVSBIbsjP/P1iQBxzhimnJaJouBmsmZ/H9K+hXvmHyDKpzRaz5gJG7amO3t\r\nRyocFr3UCWjIiCwoQfJqPOS+EejGuIyUeg6ax4bNBVeMfSbvdhnJmpavFkeT\r\nRFD4Mi6shPN+8DEbXtgBWvwlVXxcQ3AlVFVLzfuNNF5No6+n3CFk8Jt4R64P\r\njo6jFWAGmxK9V5VWF6w0wqjHfOjxfFdl8oiq4GwAnkEZ0w6rFzAHsgKPbpwa\r\ncmSuCp1p9OkeN/O9ztcNCU9FjvXjZg3YMjCDjoO/+YCMbqVtxm4YV+Qv71mt\r\n3xqqWgGcRdnYffdMvCpZRwGXv9lZr0NG2iNwks57N436H50GMn1gI6yxwm8x\r\nCOlm8aVLlFVTByg7l3aJFHFMCUYZffBqRyU=\r\n=CCmY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDArpySDaKF7XzrGVOuBxWsfiBne0ZBB0zsmUFDRQ4YYgIhAO592GPTzGc0N+W2YAbdu3/oRk8xOuDsp9AawR1Yktly"}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2203231914.0_1648110192298_0.18199458583029515"},"_hasShrinkwrap":false},"1.2203101844.0":{"name":"@bentoproject/facebook","version":"1.2203101844.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2203101844.0"},"gitHead":"9bf7cbdf0dbb4de2bc6b81fe042e52c990576b61","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2203101844.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-9f2xjJDRP6Y5KItA7QbWTB6MX1ZTCNekfSWFkN7+kISqAQxLdUJmKdvxlt6lTNaL6mROJLwUx8RuUGj9KfUcIw==","shasum":"706efb7669cd897feee2a79e2f679721a325beba","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2203101844.0.tgz","fileCount":28,"unpackedSize":1263732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPNAkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqjBw//UlYWkqChnGf/bcieCyMkt5f11IfJlJ00RGlHERrCR0vhPkIW\r\nym+zLs4ARWQ8VQsWfxti+MrDhTj6X3EWKZxUNyw27ErbinS5W9lPQonHtNQM\r\nXP+vHjZHbFxdLwKKgqtA7h9Dkcr/ytuIJ56Ssd9nsIFUi8c/T2++IC1/dvaY\r\n754YzlIx85SQm5XfhAQClzfESi1chyQUUP599ozn5YKY6e+9vcR9NbjEfYAV\r\n5OI4hw1H0JAYnk5whDCeFakNNec7+RHIs5erfQbqz3iceTdKcFeNBRkTFam7\r\nbAXm8ZLAAUeJAh2xWbfv2yLTE7UP1d1oW465+wNWGXgMH22CcNYe8HElq8I+\r\nJLiU+tE0a91ffvPGkbTE8mIg9mUII3WSuQyhsHO1dskbdm4GtyTaBmNXZOG7\r\nrElqUtO6i+3McZL2O7og5yZz29in9E6z0zhjdDRIYysVNLsOjDple1gOmMjf\r\ngkm7X50LC0lWuIR9xPT6XhZpPjwxK9TybcmzXnrb56cFbWDdlOQk9zdOqrIr\r\noK0PNPPi5G+XuCtpDMja4gzcAGO5Fb1aZJBaUWHi1fwA5eqSoFWNpX1YnMG3\r\n0fMqgeyiVb5d3KYDLtHdUV3WXAKXEi6q1Gfki93KFdDYPWL+hM8OoZNLLvwZ\r\n1YHgCxK7uwteZ/s/pgt5ar1cOlpIPePnTBU=\r\n=f6Fq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIZ+bdN59kYqzGYJg0VDspQyHRQZEOYiaFap3szgGuwAiB755SqOEJsVBJp7+LXLM8iiChLpD5PeO+YQJbTw05cKg=="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2203101844.0_1648152612787_0.7449502641095487"},"_hasShrinkwrap":false},"1.2203281422.0":{"name":"@bentoproject/facebook","version":"1.2203281422.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2203281422.0"},"gitHead":"f74833d1e2b0d9176900cb183c4edacc4ae53986","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2203281422.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-SxKwcC1AciVwxqCQ7erbKw2HfkAkrvTGzYM5Y870Bk8M60z6M6PVbZBXMgaKDp35sG0IHkPNaKsCCdmdGbiGtw==","shasum":"42cbbb14ddaef9395bc1336683cb03b040f119db","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2203281422.0.tgz","fileCount":28,"unpackedSize":1263732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQsMqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoshA//RFFVo9EcSx0+XISfohxAZ/ZzZQWmyuMPTwPjUerc+UjbVGpZ\r\npNmTf0nOTTpJOK5XqDLX//VoJQcwdzGzRkyBUqDv0dr8St5icQsZV/mM10wo\r\naLDnMmfa5ybuaC92qkhSQsCvJun3/aOlrHywrBoEA+WKcgeQreVckQ9yOpF6\r\n7UuewGuDM3iXEIwCdy/zrDP7EBVyGP5bhgn3TkmwUiZC2JHHvNKglU++oLVZ\r\najLDRRZKBPh7Dzcy/QXRzex1gB40X1Umuhtg8Hhv6SbQbD0gEZMP2W8PSNo4\r\ndoCpLnNEwT3TgnxuOhmtSiI+Fw9ToVNOZXi2awbtsLfi+HssMjujoagBfFcb\r\n1EZLxfAOfB+NFqTyVCCo1KnupreTLLj3yXrubNbhu/zp9+rRva52XOrbPUvk\r\nFmSYR21JNJ1Ijafl2B0xeWq+PFfBpHorkSzpLswQXSbH3+xy2wV+3KpUbc7Q\r\nlfz3LL0BT3siy3QvB+i6etRJggGcVickU+ji/bhio6jsOmdTokdP7mMO9Lmp\r\noSSeci6I0NrYk3QqJLelL4WsOlhrnI1Dd/Y5qieuF8Wd2VbNBYrcDQ5yqdyk\r\ni8uOH5Ks4i0H3KZrHbw++X2ymc9cVfQLpFhj3pehgpeoDV9iNFFQWc28DMm9\r\nVRLT63nOuv0AWapOFmTY1CDoExWHWKFbtZU=\r\n=ptn6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPWP1ZHbZ/LOBs/OlODL4C0flaSvo54gbBSZ0zlo/BDwIgZU3Qarordqmj/xTWzv/2Gq28bqJImGi5xsBqvGzekoQ="}]},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2203281422.0_1648542506064_0.9246955317378993"},"_hasShrinkwrap":false},"1.2204121632.0":{"name":"@bentoproject/facebook","version":"1.2204121632.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204121632.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"dce11ee1542a2d10e47b8e9875dae137f4cc1b0a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204121632.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-L6L9e63Ga/dKf6MQEjlHaUNKWox/XrPgEej+l/hVYPsE2HSLsmA+JqaPZwvmXUxtwBYPjo+0IWYAU1HOC+FPDQ==","shasum":"df730cd40c499c9efa5697e537842a6f16185e61","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204121632.0.tgz","fileCount":28,"unpackedSize":1255502,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBAtu2sWi4hvEYArFA4pMBDDHfh8UlEITPsi/uY5LCaiAiB/GWIDCDbMO7wOY+edZW5wL7HDCLB0IOnN6NgbuMUE5w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVcInACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzNQ/9E5eCFBHBltcfygzzP+32p4qRzb3TU9iBfu/MAzJVGwcdBDTO\r\nKNn6EEy3lsVkqOt8Ev+eMjyHuKzdvnsGd0vezzXdFzRYpM+j1i9tEZicDtki\r\nfW+sxGrdbUj5JrtpmeQhyGRlZGZJ7Seft2l4K9bMfhubN9SXMWnHOkBM9FoE\r\n8E1LfcBmHBvJJVsDfzQjfs6k7PWcg4rGi281W8jg9hW6i7awm1UE3RY59JCF\r\nRJX73+2aEKnLrqjzZsOBXWAh4rKl0eSQFFv1Q8EJH/43/zBUoypTXFjPWcp3\r\nBj4CNq8ntdsvjffKV1nc1i5NYwSYwo8Bq9soPsj6ziWtbjKorNkdRu8nVjlP\r\nFXXOXGnnCRJn87xC2lxuv5vR0VziMghsDusABe5jZu0a9wxENv8BQUsK9r4y\r\noYwVfsQocXyonm7cQBVknQV3eR9vaKK3w7PtvsTf9Sc+XkzJH2GM97ZkJaUC\r\n7y89lThwy/b+alVWHzZ7pQi7TkwzWhvwGuQpk5eYl6+Agqt4oMk0k0Ttn6HV\r\nfAeEdS6mELAVcsbhMuDnc2snkoxd+gILiMRUckl5/8KBjY3b+L3orJkWQxF6\r\nUaXFQFRh60n5/mwfC6MBL0CWP/kdQ/u9VZJzp2c/HSqJ7X4wzHRGpsTQ6XQJ\r\nErit/vZAmu3cG0VkAERbP0Zp1kSC30QcxPQ=\r\n=igCx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204121632.0_1649787430791_0.2781126247663406"},"_hasShrinkwrap":false},"1.2204122000.0":{"name":"@bentoproject/facebook","version":"1.2204122000.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204122000.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"9d10200b5a9784c35ca9fa16b1a4b3078aab3180","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204122000.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-vLH7pB8WZzNLEQrziEDzvZR3PRV+56MWLeG6XlQJbMF1vZ03C39r4WFoSj7nNz+XTEr5TsiqqRwdCGKNwDm4Qg==","shasum":"9ed0ec8872c1bfdc0067532cb7e1629ed549353a","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204122000.0.tgz","fileCount":28,"unpackedSize":1255222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF44BbCMaUL9vBqa4ScBDgAoT58Hx6NP60+RLsN8qKPzAiAo1JW5neKmdrv6GSiR7di4/16xyIElswSXYFPNmbfJuQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVoqgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGdA/9FG0NFoWXT2ZaDL/HWotzoBODiOVp712hpJQRj5PxvC1uBgDR\r\nOmUddkCZaODDWqsjkLZ6kPQTvvTsjo2rTdJv7QN7jU+dpn5shqkzdqlu4t3G\r\nL6JGxHrp23lFiS804rEPWHAVoe8LBCK+5iM9joRp5+1mc8WCQLpEqjS2Haf9\r\n5nH6mqZ1zEcZNffHsML704nyEsnanLQBn4psr8i8Gau+I6SgkkxiK6uYiij0\r\nR6oYqfPmV9LcswvGA4ZIKozR8DfHNv6brxdA1w4a5lgwnauKCLeSEVZDObq6\r\nKs7Gd6hx2cc5VOBG4i5PpxVNH5Ye2x+5CJ8ZGuhh9Q8enokjEPDgM9BzwD+E\r\nh9W1FgUZTf6Hnjdz0uZQ4NED/rrjtooI/ViFKtNLF8xhzYmRFMVjOsDF/Nzr\r\nOLbyHSR6RQShiD4or6EmKEHQyAO+0R5S/0QsJrC4Q5BLzmABxMCksXxvloVE\r\n+tpd9XzFpcabtU+FowU7WTbra8ftL2IgtF/2gq/qSfrabg3rMR+Ed6efq7fz\r\nWy+47nsSp6vvkXp91j7CNqUzLtPFJS6kvfsGu+Gd/bDc0+Y44r0Cc3mSYhBT\r\nY4Qu+yF2JQKpjt4F5gkSAKhosXchnqsk3Oomudm/sHz9jO7YJSXQ204U737x\r\nA0nHNBKSn34QrATGNjOIwGbN0ECnbWUktNE=\r\n=eLzb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204122000.0_1649838752515_0.41187463821808"},"_hasShrinkwrap":false},"1.2204132005.0":{"name":"@bentoproject/facebook","version":"1.2204132005.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204132005.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"26ab90e1d3f7c29ac76e3fe33cdbeec9e828eff1","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204132005.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-6X8zFDMLOoDiCbgUeaPGFDUwKNtafoZAi/TjSDmWM1SgmliQxTzQeBelsilSe9e3K3Ic1AftAB4Lu68k1pnifQ==","shasum":"66c078424c9014558e87479e73edf33e33802ac9","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204132005.0.tgz","fileCount":28,"unpackedSize":1255222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMbXLjWPkp3qTSi+VmJv5CCYiN37hryiMShViyeac5+AiEA/zaLXlg8tbWzVrMdIrSHXYtS+usebQm29qp1qJet/Tk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiV9xyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLbA//Tz+e+nMVW5IAIfjWclkGyJMkXj/m74DKf6eXTS4PtGTE8Io8\r\nhgNbrlweCclXbnnYL+tWs7LzAQmKmIecIqbQpEYTDzKvllKVSKM9YwBrbMqP\r\nFlEHlGDK8BeL8pplaea0EJ4N9q3HvrcBQuNuaEWfpRHi9mfMNByl4T9TG6rZ\r\nWKcFRrxRUQJsTzpPJIkDt48we9FZZJpl3rAns1KxcFbuvF39LtPZl0+/S3Ga\r\nhv+gTamqark3aeXP+PXVvA/SKAfYTVxMJaVRuGHq1XgSwJg43cRfe8SzwvyC\r\n3dFw3myzzMNMDFKFBtQOaEJlSgLD1xRlrOX7BR0DN5rdflU25qsiKQqg1vPW\r\nL39r1X+ZKFoNhb+fjeEIe11+jrZSWO5+WrnM4Uqo34CS6DyzEhEhjBudvQbj\r\n4ACltApHbGMNRxwDJsHokIuI9Z1GfVeleXeC5TCc2LREQsp9KHUrDnCHX/9B\r\nsywo2Ixr8wQuTHfCAnf+OlNVO+19rJAJ+b9q54xvDPHsJypSvgZ0vCt9UL6M\r\nOHvvgafNCeLuCnjSaFTBsozav/Y9I/7goGBnpdfD8Pe+2VXr+GrIW0xPdvvD\r\nULFiuazJlTQQUAxz3eAPvztTLdkI3ri1hMq26VAaWoAqtjbEjEaS8UhzETgm\r\nJp0OjKo8wy3e7IMkjTEmSzfYPqdegpLsxTo=\r\n=9qpP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204132005.0_1649925233722_0.46644521976600073"},"_hasShrinkwrap":false},"1.2204142048.0":{"name":"@bentoproject/facebook","version":"1.2204142048.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204142048.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"32d29a09afd66bca55e024a4f21b1cdf6690cfdb","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204142048.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-c/Eu8NJ1LuKzeroLV8oVwj6Ep1a4UNItfYu7U9HXuENEW0eXln5ADHUIu5YqrmUE379XcyqV/BpZPE2cLcZuCQ==","shasum":"dae2b1bace7635071a02eb6a6c31347c2a1619ab","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204142048.0.tgz","fileCount":28,"unpackedSize":1255222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgrU6HPNMoWksrmNRokxQY9uYE5oxUtdYsHY+vkxn4fAIhALjBECtnjEBn6FA9jt++hvV60DLr1+lZyt2fwRVjIdp9"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWSw3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHRQ/+LuJ5mULVPjafs6ZsUYvE82u+JMCnKw9DaShMDvSYzOTEcMu4\r\nvkr66q8n8nPGYndIbGmFJvHxHgsZ+WgWSOIKlfhZJ4TWIwpYF7ryK93Wh1Jk\r\numQLkFhyz6PCIj1gdTPYYKDZyJSEI1Q/oycKiZXS1YLw22+G3nfrAWlkMUUA\r\nemdBVRnvvQ1Q+toB+atmS2D+LGvyrzy8dhvmw/2VF/WmzDy7jGabgl5hF+Hl\r\nmwcmsOoYOJns+AQdCgNvAnBHDKjncYApnl1VPjkHwywBx4vacg9OWrMdz3lz\r\nBhRQ4FuBsIuYTBYGPNIVu2MvlkbDNmvLrTummglpngsgqHUqrmKmMPc0zJW8\r\nTXa3JCgQYgz6w36HA5sxcZ/IzPzHPhunal1IWdx25vOFQ6fW5/Z2OJsJLAIZ\r\nERD1TO38ROOT5kQomdVb/QGAUVHZZWROS9qGN8UWrYSuCoS1Pg2oV8tX8Fg3\r\nLWjpf95TgstqXPm1YU+eJJ78nX2Jdo6DQC+PPa7UBJgdOU4uKQcrXwL7KBsF\r\nfpV+wjPuksoeO3D7KUesdjVY5bB6uY5QzZq/xXmJ7oL/ln2vBLvm//6eUcHV\r\nY4iOBx1DmgzMQhslYm4ISZQ95z/w3ZnCTDdwd1sHm60f8TE/K+wLi/mMk88w\r\nhF8OfC1TEHC8kFofYYW+jN6EggvY27fK8/k=\r\n=1IxE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204142048.0_1650011191191_0.11340504114737415"},"_hasShrinkwrap":false},"1.2204160405.0":{"name":"@bentoproject/facebook","version":"1.2204160405.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204160405.0"},"gitHead":"a26d51722a65f29aa7f77872b7906f6e7ed62e9a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204160405.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-90ql/4sv0DbPoxPxrS1ZbNGWqw0u4dUFyoVXyFwh7r8tfS3eQjbDry5AFk3CpgJTaUbbe5eLic4j3LvvJcVz/w==","shasum":"692bcc053dac0eeefcde4617040a9b75b2e80493","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204160405.0.tgz","fileCount":28,"unpackedSize":1255222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/4Zw7c1xcezJiup6rbRkacsDEvh9131FeGM4ce6+yDwIgLuIM5Sk/pbhCsM/sGb3eTrT9nPW+gzf+KlTiJNW2hAQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWn16ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLZQ//bJomPh/4EcpUuO9Jls4Np1Y7gmS82MrHe8/SP/aUdDyhPHSk\r\nquqijUV+QQmef8q30zoUHpIKWsCriFncD13EJVyqaevPEgevIQeWKkf5fVvm\r\noOzCWDsma+xWSI0s0J9AzDipYrKLL40Kkn5l0TkBqFUCt+tbcddWY4XQ9kbJ\r\n+sMZF6QWZmhq8eQCmi7kyUfncMAEESxotYGLA0Sa+bsf5Vu15k1C3G2YIGhu\r\nH8X7aajtS7jk7IlTNRF5gWsJTzyDJXAYAR93NVGCgJfxcX78BMbe0Dr31djH\r\n9aNSFSx1fXjJvjm376fgtqtPICXodbUDETT35ea99wElYb4V5rLrjheFY+K0\r\n5Wo39bi3xdDtIjC//CbDkalSduCKyVH74qeWIuQi9iFnKPlUztXVtlFQkDwI\r\nubAKxvix6ZSvMNvywJ5/JJC2BbP9rSow5VnyNg5BhI72TF4+uboA/h/XUkvc\r\nGoaaDRfep7vAlyw1G6XRd2cvqahqWUO95dAb3c8TEinzmh26KYdatNVivr/P\r\nVid1RBffMxPqqkDFcFqm+CZkjkg39Mj4jecOSbokk8xXMc08qxU7oNsblP39\r\nLrTx6Za6ObEIG8F8eWSo2eTxTjePCLK5qTM3dJRLAZ8EMVPnz+swN2jmiB0L\r\nnWlEaLvRA9Q/1Hfdv/wLk//fT328DEy1Lu0=\r\n=Vq3h\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204160405.0_1650097530561_0.6841483871377076"},"_hasShrinkwrap":false},"1.2204182206.0":{"name":"@bentoproject/facebook","version":"1.2204182206.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204182206.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"83e7c80d7406923369ada8c1a7a5dc660ebdcad6","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204182206.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-l6eHM0LdP05b/ouLxhmV10zk1ohtU7Z24a1V4rBQC7WmzNg2TXSo5E7aapoGrQtqZP7GMBV9ut4Yy3thyb3UUA==","shasum":"3b78c4f01dd947ca23670fabf09758b3f6688b20","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204182206.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXwwP0d5UdVWpp0nPrk2k4rclseAA0tktPAxS1JeIv4wIhAKbVI+G5uZYpo5lX/QVZsYS0gUzEFmSERyuMheJ17df1"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXnNQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpt3Q/7BPnR60CNb2Mb4Jo4R+khq536IzDtEb0qHbaCIvr7J4y1+YB0\r\np8TVeBBJR+HRvMxC4amaNlHMhuPQZ5LU+v41WtLOrnscqSQgbJwZ3aAydv+i\r\nNyh7Gm4YRXYiaOe2IQ8vTBjsiUoQAyHhWXMJsiOgSAwwY+xiWSoxd4GXlPTZ\r\nYAfRJSKp1EOWr/FRC3j7fb3q/59ZJ6o6Pjl7dBEfT/av0uH1C2/m/3Egvouj\r\n1bJiu2YQgPwzJyuzIH125p0p/vUacspUcGKkTy667URQhy21VVduzyA5li3g\r\n2AyFBozH1bTha4OG7Ey+aKfXwJOxSBMzzbr3kciQdw7IoxugPDj4+6o6bqv8\r\nfsrESIDMji8qhpxJdERU5vfxJU7g2QRmPYH5Yo6XI75AeNnu5C1w32JuXRP9\r\npCbVQxhLqha0UKjR+0eSebWT3FiSnf2uwBFe9f6QbYseT6eESjSOBfjFTa1z\r\nNgFlZeOPSp0Gag27Ict2auWS9aSl9+M7MuCGktVvalPbl69ti0RB4uDo8wvQ\r\nnD8ZGqAJ+jh2MBUqIqfdrnyax8xOJKwmrngXmstGQwMYm4FTZdp13EgInObf\r\nLqkdMKteYPAMDxDvBybWoOQ+UdLI0bhZRN9zHJu/bV1VMaWXgbZYSY2rWTuq\r\npdKyiap+iv5hGgrCLeREKGJhyMq55xgRfBE=\r\n=5YLM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204182206.0_1650357072021_0.5541886301443315"},"_hasShrinkwrap":false},"1.2204191429.0":{"name":"@bentoproject/facebook","version":"1.2204191429.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204191429.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"2ef2d96efb4624b0ef0313b60134c9e35a4e8429","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204191429.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-gJyDBbGIA07E19iYl+AJeeFp2Y3uA9oiru+0x4btcFcwrBCHHfVjnb9L/2pKcnk0NPuwVeRaVgsY9aimAdSQOA==","shasum":"f769d0d4a9e9967486d35ff9f6478c82881b00dc","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204191429.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDv4UaFjswdu44jBd6MhM5FcMdR1V0FJbJQeHHOnDg63wIhAI90B8yc0CRBJHjTCy/3RrZDGInHRSRfl7bO2OX36Z7a"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX8VKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUaQ/+K5VOi0biuIPouVBm/BDEiqKo8Vp7qRBI9bG4QZJS/RrF9zzP\r\ntKFgeFvztpU7cXwZWhB1qhVdvp5kW8ocj7i5nkuHZTzH9Cn5IDxrEG0MGqYh\r\nA0s92Fff+vnmW5VwmdiYlVqlE7A7LWOtPi/Ta80uzMsTZyAQJZ2j39uMKn7+\r\n1FOXp0uFjro1YiLbhpfNmQsbxtNrAZCn8p8yTXVmLYSViwUHa75SZi+BpalZ\r\nlNmkVF+7cXkeLnc275c6vhf8Zet8sat8qCpCzhuMd8H4mIcfvyM8OXrWZHD0\r\nF4qFp7MctOsHlcZDzUBob9SlbFWFjyHEY4pTXI3cNPXAq3601mpIHiHo+8ed\r\na+/1WGQBjp+CRCkSBLaRglsqOoI6+N2c+XFwnaCBD86QOih8Gjh2MZu8/t8q\r\nxgc4sIAzyLrCyXRac/BsUEOITj/xg8FuwXl8r1comQBOIR7tg5VoVWfzPX7W\r\nAIiQ328NjFmhTQfjaBsoy1d4XzNxlrrFsKXFsrCXHz6sJgHTRG9y6LjEj+uK\r\ncuzplpUuh+Pm4tBDJpZjOCgPwDKyNaQBN9OqpeZLOZImV/I35F123qEyEg7l\r\nxx60I86AYlwwmJ/fqBuW037kbSEDoVWK10KhxKe934czXgEDGkJZO6jn3FXU\r\n/II5oI1KQu4LNCpWR2Jk/FKP4cakQ+RcB9M=\r\n=6Fp9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204191429.0_1650443594741_0.4961475410077867"},"_hasShrinkwrap":false},"1.2204211736.0":{"name":"@bentoproject/facebook","version":"1.2204211736.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204211736.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"01dad70364e4b2b9707441c2c8ec973e1547b195","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204211736.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-Nw414mI/iky2DEF3h3H/ucO2YrpmyMECfhik5UVV1oTMUbcNE5IUVy7fHr+UNHdWEdSvuJn/5K8H335mEeNOUg==","shasum":"800f2da25e6223c7f3dfc3e0393d8c724b4b1202","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204211736.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHDsbnFwNPDdP2h/EiHYDTz1YN5szKjCVk+YeWVG7horAiEAt80Pr5FQEoBk7h1s8wUb3eBbWIjigemEwSW3h5T2tZo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYmbjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrakxAAhe/tZJDgjTUuMypR/pJpmZHCSlBiiaQQjBPiSvFBM8Hk7BeD\r\ngwTa9O4VuUeYh595fKcoQIOfBw3W9Xvmf/IvfaXq819QnrfM0SwIksR1H1pb\r\nZKZ9AKT6A3lB/X6WYrDIVLA7F9gvWpkBzVI8To4YAoY1XT5oXY3dWROX0SmB\r\nMftuWdaFJ7+vsg8w53MxQp/jmKXpAyWUYYxnuxDRSQxZXmOQwmrWCCOJ+TJ0\r\nc82KZk1TLwBX3BSyBGcPE19van2su8zHhmGoHoUumVI5Q8pYlIkjr0MEnEqJ\r\nMUTkHMprUHTGZc1PpW4Zijy+PFkXBUTbkFAj0uInkQhtfIUW9182ogv8IFKD\r\nTEZf5qDAsME8tSWTn4WjMk5U49DarJvcGV2vQeIwntRmRc0RIhKP+kSoH1Iv\r\nbYq/qZ54KRBBXzgBbmWVgZxRWy0JAU0n8ni+IJcP7y4XV1twmCj6lZoURJE2\r\noZ9VL65MgR58q9sH4wPijZewE82W1I7P/IAmkXb4af2Tybk2VvVNxPMvco3/\r\nmm/9hHRxQgomRbpYUjKFigFQzJ0tFKO9rVpnji+VMgPYzgP8qnM2jHLwnxog\r\nVFZgmFM/6oOgEjPS/c3BHW1T5kxJ1T22qpb2XgqUviB9OFjj0yl8vn/sVZ1u\r\ncX/PBP1TlZSefbH+jYP9MOba26Wi6czXPzo=\r\n=IrWT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204211736.0_1650616035647_0.8215852737383158"},"_hasShrinkwrap":false},"1.2204221712.0":{"name":"@bentoproject/facebook","version":"1.2204221712.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204221712.0"},"gitHead":"fd84f283465064f90218f67c2964f8c0ecc248fe","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204221712.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-FQ1bA/suJGbZqxVKK4RkvgEofS3wfjIjYYbT2mwbWKAvV4lCIlJlJeaoBkDa5jExPwjNBC2VuYwtK7/Dy/wpvw==","shasum":"524805ae22c5bb06bec2ee3ee690b76010130e84","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204221712.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWJ6fvXfMbFHgFK5E3Dgcah62FuWc2ty6zF5PAjaKsbAIhAPjZwuYcUDssp+y42wJXLfwldur8u9SPoikoqkwAYLU7"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiY7gcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfdA//RUkqWBfa2FZSDdxjBlPIGarkdp4Vcd4CeGnkMluplrIyckGD\r\n1aUuipAVSMw9/PQTR/4Vyr1TtYWntAl5vPMsi83E8f+yf4kTZTYgUnEJxVLy\r\n1U31kqwZ345HESlBbQiGo605Gs9/K1t05jLPsba3APwRdbcjobjkCfjvQ15q\r\nUkNPQWsZTu92dZ2Y0S0uIirngZBYu3pc2KPvcfVtGdm9pHwhLus+qtyYqGW5\r\nvLpWX3fHvyUADL5+yqqKto/mPuCEMf1ep5EDRmJw93Rcq31mv6K4dcxJ81Qz\r\nmz3cr97FPHQ/7Q14mR2cInvcTViFCxZywYXjLycx5dA6YfeDThtwtKAbCg1N\r\nFafFTVMh6RPAX/NTEtwMycYqBQCcuFB58LOsZTf8NDGLWimSsMXzNc6lvNsu\r\nsrwqWpoCZV5E0GLWYHwVptbl1NtAlJPBqdYr7ywM/upwSS2Br6w1nHT2ATdV\r\nq0lXsj7qXq/bXGxKdpaLS/FPf1bpAXcWGogenr/x4ILQlU1bgPGR85Kz+F4Z\r\nyQLf6M6fLG22GyLL8klAY+ob+IfAhTsenSZ3vvSr33TC1vdjXbv2mHvAfBYt\r\nNAEz9H4p/fzXeGd3oesapowMbWs8a4wXu1Sp8tgh4vfYG9rL6CLm0jL7mn4d\r\nLMj5k5AvOkO9By2zhqoePu1pC5/x+ZTMAL4=\r\n=C5TS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204221712.0_1650702364628_0.03979795771451622"},"_hasShrinkwrap":false},"1.2204252045.0":{"name":"@bentoproject/facebook","version":"1.2204252045.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204252045.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"9dcb73514b52c635b732b72b56561ac680ea344e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204252045.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-m3c/yN6NgNEeHZriH0ebm/7gETm+PZubvgJWHG2EUhzG2q54n8iQM3LzPDsnWMiVsgB37V6zJON0m/TdNjM4rA==","shasum":"a6cef830ac73466565bcce8754c07a69d59a058b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204252045.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRe4dKh8ja48lulJi3LshGqTn21KBbQ9Ve0nVz3Q85YQIgJKygLAlniRq0zch7MSAvQUyv4n4vRDkdWLVaeat5Rys="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ64+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrzww/6A58hibTHHpYEVOH69oGO1bQMUgjkie5v84n8HkyoIpocKuuP\r\ntdVJ7Kx+wlnWXbTOylBeEw8WZEaH4KYgxBEsIlK5e6qqOeXS4RDDJjf4iQI3\r\nVc4/Fkhrjv5Z51Mgetfsiu/ZDRiCnyhj5EgO6NGUPAifZUgJJCL6v4NBIWsw\r\nnF6MW3W6gzVxV2/Rdocl3eyX4R0lA0ZtsifG6N+5299Qcrv79nCSu67xQpQq\r\nLSHdIMk1DJXPZj1Hv54e+jnBUr/q7mOACm+LErA5Z5pRBvM7ATdEVjC2YdEz\r\nOgIh2K9lpaCtWdQJmmf5Kx3pZc720GH/AtVLxwGOY8xAFPl1niNQVvbfq8qH\r\nvoGXD8Rroyou93lnblJn6PsVbW7mffnoVVt7bSSWzi5bTHTanYadQFCeG6s1\r\nLmjwu7DxF3XeccXpTZG1HO+nuXtkb5OQy9YOmzhlGbjoNVo7LBsj8FNlakrq\r\nGJMPBT4YIuLm9MlrSqUeDXYsSGs56AYZ5QWic+DtYjBTT8Wh00CASnAJZ2Wi\r\nKy0OEavqMSd5B1qft9VYpPaYyZ59z48dQt6+dbhozN+w++SaH6yH6s9A4gaz\r\nf4epxuO5B1lXVRmHR4kFGs80Qk6SknuFBWUcm3Tm5g4pHvhfXZs+96UmTaUx\r\nUkvk2/nUrxa7GT27/IE4Ah5i/TVpQrOZQAo=\r\n=3n12\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204252045.0_1650961982620_0.6754892801243435"},"_hasShrinkwrap":false},"1.2204272205.0":{"name":"@bentoproject/facebook","version":"1.2204272205.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204272205.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"c2397d28837191a7d145806840ca6ca9a73823d4","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204272205.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-Yb3xmG0xze+A6xIKvIc17XR9D8OYwh7+5yNa3IcU1CUcMveHB4fM2L4Tmf3KgxwGg8YmODOPWsgo8wnncAemog==","shasum":"dcdd561983dc69ec0a70150f42411528a3a090c5","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204272205.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDb7UKY9JQIz9Qapr4mKDPPTzLjlT+QpVbNCyd7mwm4xgIgOpGIRjSkrMCg8tWn4cGUJIj3wAwQ0CTG36oJTuzq4UY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJialCrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDiw/+IucHMFAb3WgN6M9rEvTScRg2LVb2DTINfY3uTcR4c7TR2SwH\r\npASwdSJPZHPyoqjrkDYr/BFn7D/KIf3W0qvsgNX2rJSGCThr04wboCyRpuxu\r\n1vggKXD1Mn9mHQadhZOS5orOqJysq3g0lNsnrb+6LY8s91fzc/Nt7BNFu9q/\r\n3Mx6jz/5OerEDNaILSLx9b+wtLLuCxHnrbkoFdUVbNehB4ZJteZ8VimUoLoj\r\nUmoy7Ur3bbSg4DhUnC7w22HV7ftqWx81MP/tJQogbOT4csjT7VHWcynfUewR\r\nsooIrDen5YDkJYR4Uoa0Pqia5qe1kB379LSPiz+s1TiAOZOcxe5iL4jr5tSh\r\niA98demEEkEWzWbgPRmLaIHfclAXcRYsk1OUOgAEpJF9wHm1ouNch2OAtglH\r\nARnqwpNRUPw+jcrW7QkdBm5QHM4eK6ccRz1wUMZ6QA1MGqlZp23rxkMetiYM\r\n/ZUEJUVXAyqxTJ1Fg+/6XD7dVjOVwxMluk+8H+SNSTdRx7hWfp54Xa+nIj5B\r\nbDug7DW5oyJgzsRKs9FL5WaxZZj8w7El4yYpywBFV0+aNSzjlHemCs2AVsnx\r\nN6W/osuKImgUjMdBcKgYXZNppH7KHLFKygZs1ovos2WpZIplhGMeHgyFKOGN\r\n2+Nyy23+wXcBWlRyIbHYbJ8ASDAnZB+q7bw=\r\n=Ncct\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204272205.0_1651134635623_0.3602036560530337"},"_hasShrinkwrap":false},"1.2204281949.0":{"name":"@bentoproject/facebook","version":"1.2204281949.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204281949.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"8bd4749759e81fea16cc216637d7a185eea3402e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204281949.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-P3N5HpIarjCEo9K/YYbLYW0hvJTNRJwnjzO/zs4Jg1f0JXTXN5UCJn/k1UvqaJhZi3R4xuBYSAvTUAyaFdPcpQ==","shasum":"f5a4e36547fdf92cee147c76551aff75495a9384","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204281949.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFo0VB9W6B9YJAeSEUwp3VJR3+EzhzQs0BSC0c1X1eDMAiBjaf0Py2nOO2mmJN81WhaA/GGJ/Gxz6bKXkVwyKhlIBg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia6GqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYuw/9HQUF5GQ14pIgx1cl9d3+vrsCJqM8nzA5nrUEbI0HypihFIm5\r\ntWNx5WDxF6u6c4buEFjqee47Ze0ynDxRcRFEossTeyJIw6uhNaPE4Hn7QE5X\r\n5nvwNC0uPvyPysopxKaHRrSrA592Nlc3F2Hjq6ZhhgP5RFpJ7oz2DpwpyWLq\r\n8Ei/CIL9kVMSGKvb3pHvuxY4k8lYRjTIb6SYKy1Z99akwE65oovULEi0KuaS\r\nbrfyWqlIaCWX1R38IkOgsTvCFIhSxIBm/07/q/57q5ekMXv0e683kR2the2G\r\n6NAxtegFlyzxRqobyGCQIJ6f1JmbXRS4cSo1N1T0o8N56d9y0X4qR2U4mm7r\r\nfiNer/tMmgmFbVUD0zzc5jctfjQloil1c4S5eO4Yjr7zWNwrFBkZohNdZ19G\r\nAJTMz8xb5YmWV9v4jslPt7apVO0At10ZjqQ2Ij4BikY+FWjuJQjfZJduymLP\r\nFhFeKUqYPJptIIDTxFBWD1IFS3kmrv9j+1DzDGzkezshNmfpJSQms3LSmiE2\r\nNy0eUt1tMENQHh/iiJqWxr3KXu1yrUIr+36MCZvhfn980ZhO1VZMog1sGP1T\r\nOADRvSirl6aq3/Wsh62hrJ/2TBKldlyjIwTnAQFNFJ9C6unotKyR+IapLRrq\r\nv+7LQo+zCA8eMp8y5kobzdx7sTllF3jWfdE=\r\n=TtED\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204281949.0_1651220906084_0.7142958087354305"},"_hasShrinkwrap":false},"1.2204292129.0":{"name":"@bentoproject/facebook","version":"1.2204292129.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2204292129.0"},"gitHead":"266c274e2aa669399dede55e9fc55b8917069279","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2204292129.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-zeIOmcstKrVfR4FoVnP1M5n5PtH03SbSFpfceiDNU19vgd9f5e05JIQe3ImwpgA9F2lpzhHdnDAapagtPXHChQ==","shasum":"2e48e87449647968e6f14928a298de79468ca24d","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2204292129.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4Qj5ukeodM7Z/pvWj0O9F2cX+wpe8tP0nb3OYURr4UwIgNA0ptrL+k0I+dVRzRB8rooYgqA0yulRTg6jEhGOjTT8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibPI/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYDA/+JZJLdM7KwbT+ObaYAkLBC9W/XJ+rZ0W46X8DPTZIATXt07MT\r\nYtwOw4vH6urS2I1wJdar1Z6W1FbP+loY8NlcHwE/BkeD8aZv9JmkTpCVxcII\r\njnfAi4pRbAuIEEkMH5RuhcYHEpPuZJdY4Rfjxe887hkKx7gc2NCUTLNCZaur\r\naXAiVFlrfhGNY+cyUJ8X4iL2j/TQqmn42Q16JThvWAV8MCjebeuoRCHfKMCH\r\n0ZiaRXmpLKmn26fG2lEQmoHQr3lwyF2kpF+kGcxCGIsVww9JXBWXXBARf6sg\r\nPSjDZOfrvMvPuxIK8+IP9xb+gUXgtlf6q6wvzc9qKksY+kD4r4oCFox5O8am\r\nnupQYzCvf9Re/T91XYvcvQryHNQUWR74X7YBl4dWQJVEgKNBHO+BrNvSdai/\r\nShEoG/3GKMIe/cxIfSga0CMpK4U1a1soA8r1fw2q/gHO7FkkxWyAtMYTEXu1\r\nmEeqqGlNc0NTntNMpS+OqcKtimjImbdrVx7UxkvybnEM7IupHFY/pkqOPQgq\r\n+wDCb5iZA0x50Gu4b/ZPTDzZ/y+j9sls0Fjgj4s4tLBARzAymGup0sMcEh7B\r\nlOi8fZK2QkOB87gatZv13fjuXBq17jyLAp1I7npXukJMaVN/+Iwyvb8TZ9j3\r\nmzc2Fr6XfD74sw4TbPFV5D6pfCcSk6Bes9M=\r\n=8I1O\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2204292129.0_1651307070794_0.8867879183988543"},"_hasShrinkwrap":false},"1.2205031420.0":{"name":"@bentoproject/facebook","version":"1.2205031420.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205031420.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"d3652194dae7f17865db127c7135ec194907b7fb","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205031420.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-WTp5thBRFl1IDCt8iG6ChPHMlgG7X6+Y+s7KXFFBnnL7F0XxiHMyWll/WNdkj2TKiJMfzOepTsqh9jnUVpb2bQ==","shasum":"c1062e018e427b4a1d6f518746037ab33a5d5731","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205031420.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYKxzyfKOo67Xpj7jB0H1eohsqtS7e7HZ7wkFyxzRFZAiEA0afdy2/0al7KfwAfUvuwI5zJNjvLbZRks8BmxD62ils="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicjj7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoi6g//WZDExFCx9ESTUFEK3jBUThxCVwpd3KP/gqXWyzmCoFmQQtiW\r\nQdGhrh7YnNkxUASVQGO/j5QkM/aYwI7WeVTzEbrTLvTsrub+dV00mUdrwtww\r\naqLlLi9bRizxK8tdoml1A4ZjiY1t/QAQYvB18x4Z8mEbOj35f3lfILJqJrG8\r\nPGD+l3WPxzWtt+fgefE+fVAaU5IKMDPwD/AFuTPdYTkD0CZEvLbP2kiLsGFq\r\nX2Y72f37fGSMqA04XzlfJ2s4OH9kUp3fc5PxYCj32yiW7Z78kA9UD6LJo+2q\r\nZSQABYJGD10s9adFF73rQVOQ0E7IqS1nDRqIWHFNEdaRSJs85CdYBFlpstHk\r\nv0XfHpbA8qhdpLIyq/efdYQOpf2rmqCMdNf+WVScNbhELTO2+3pXuo+wIWr+\r\nEaM+ec3h2WV0artPOBNFtIv/iKO+DDcZT3PC95oLAi+ELjAqg4l9V7xR7m1e\r\nfQrswzeOnwMys8nblFjL0e8awZVwkFEgLnDiueorvgVC4qC32hlHEOQuAasH\r\nDeemctv4tbAq3Uk9cEB8jQ0Zb+wZB1AGLIBp5rzXOWVmx4NcZPPMjuzIA3FO\r\nBZiisQK9FfHXPNKMLLJS+yoj2UrWt2YUsE+NlYGbC837m0VgaQzZqqNTbE1/\r\nlrQPiOiHeKwHQ38MQXG+GxnqwpORIuAySXg=\r\n=TK/s\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205031420.0_1651652859605_0.52743292806208"},"_hasShrinkwrap":false},"1.2205041533.0":{"name":"@bentoproject/facebook","version":"1.2205041533.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205041533.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"8c9c66c7b1ace99b28d77b82807f84e9e8cb305b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205041533.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-fDlEzdox/hRpnXOfU7aDBllhT4ahhfSOz3463b28YYS373ImU4z2uRsj8IS1F25P/vRVJLgSo45s9+6xmtf2rQ==","shasum":"a117ad61d8bbd4b6e4ed33e5b2889c9082837a7a","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205041533.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBytuBdiUIT+c5bd1lo0pcPF9zd9JEJZ8j8ZvFLLZj4eAiA7O4wGt2GZLEWK9iSZ8XuMFoCzK+HGFBh6Ah424yriLg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJic4qAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7eRAAgooU+RVpPVG6jmUzL9vXfCY++w7HWIEGuDvplgVoPFJp6x96\r\nt0bM9f3D/+9eRdqmB3cuiBglCZQ7+1x/9yWiqLtUQrXwnp6My2lg9+iYXRwY\r\n5utKs+UiMRCfKkSYvYwITFaTsadKHA73hz92FbAhdm01jhmN4J+iFRQuPQw9\r\nxOP5231fj59YgR+ocHRtN1kSwH5WWZ13rLP367p+3kulo4ANYNlvGMLtMY52\r\nWVMNQw9lX6Emb/nnVJaChgN3kuHiIdBJ2HfV81vz4fGjeXsJrth5i4TQ1B1q\r\nMfrHdCzzkUZrYlWK6E/WUDj9km2/tiiMd0fz+QqfiNHippEoCbhgoayJRyQM\r\nNWUe0MaBI8xUS46GVFITnXaqsMbutrGVOGFdoV93Lh4ulvxnsy1PPEIDZkPx\r\ntkdJ9AOC1HX7in0Wl1/qDYeSOeFz41St8WfQisyQ64z7httkRsTZaxJrEXRp\r\niKpv983o7q5E4IAo4s0WFDvd5Yaq19D7rYYQRjO2ht9TfO48oMLqcwOASmq1\r\n0BBArApZ/+czUpyW9BKZaqgkU7xzDXSfzm6CqKJEE/wZl7j2t5NDRvFlSZT3\r\ngHArZVXqiWHZ/0vDjec3LvScvHseVjae8sH/VG/2INRqiEVJDt/ke6RLGzFN\r\nV+9NvD8pZh3v6d9LR0vDGtamDfLC9kvCtlc=\r\n=I8OD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205041533.0_1651739264669_0.9808873014100361"},"_hasShrinkwrap":false},"1.2205051832.0":{"name":"@bentoproject/facebook","version":"1.2205051832.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205051832.0"},"gitHead":"3658b8bf865c7e71c605f93088560c0657af9cb4","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205051832.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-UuiB73srzurLVk1kTrPOJSWTKA+WAAxjfXi3R0KRnVMuwFv11N4n2hDl//yCty+3tr81rS5mo75Xrocr+GLzwQ==","shasum":"f5c220e46f520dac9806841d4c0d1ce6fb1f3021","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205051832.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCW3SuknllQDpe02pAkuUdkPH78aaLZPARXVsGnaGqrSQIhAIrygWNg0b/G7urrQ6NYtB96/GxxoEa2/gDzSphJ6gLD"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidNvlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDCw/+KLAwr/n3Zolc2NFYB0KvAU1dy8Kzb+lb7F/5YqUBwifCDMwn\r\nc4QUchrIC+17ig2j4Kx0KwGIPrznLRJfEvTz7UFaHRRY9KlfSEAGe//6XiBF\r\ndyB35iQ/IzgQ3xHk7UF3Jwn/3G3L2Qg2VFmrhT54hg5JxcPs2e+ggVlSTudC\r\nTWlrqYco8Xp2Va7IK+DsKWi8KdoH6fECBxtjaK+pmmxHliG84YncQCtAtHm+\r\ngzACMBgjUwEblpZe6dDxdpTEdbKOc+pxROfCmPnNF7jHMp4YtSAsaepMMdb2\r\nqK04NCIoao8bi8Q43g6z8bHlypIlXET/rvlrdQCoo4Wp15B1OiL0i6JFzC+w\r\nMFIMczDc31PtlO2Q6mB+/LDXyCpjmqfLHlQL3jB7fDrt7Cl9ZL7WsvK8XkCz\r\nT9p8umeW6dIM3bifjqABvpxWPfHs4Lv1FDd8EPWLeDYxCYbp9Z4bL0ApaQJo\r\n05w/5yDRyBaWygTnkQwoZb3epDJ85LtzmCYrf/eB+ZcWBxT5gBHlh9zVi46+\r\nc0XUxD7n0eoNmNtNAU+wZGgsm7ZxIE3oVN0t/yzHgmiajBUd+R4cFh3c1Tfz\r\n6oXGz4SMZoGeEpMiqpa/JgYfdsbBNS8BcNikIrghxXjv3mpzGNf/F4DN4s2B\r\nfPZeVDWX/jYTZMHHM1P3gIZNIGiryaTKfFE=\r\n=H6CN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205051832.0_1651825636930_0.16460702169650632"},"_hasShrinkwrap":false},"1.2205090810.0":{"name":"@bentoproject/facebook","version":"1.2205090810.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205090810.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"3fe2ae4108e8ce4355c90640458d13cf81af160c","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205090810.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-TfejORkAzFnJmEYgQGzXjpwJK+tI1zSq4q6Qy9HtW3zxPZ6k2od/m83IxNuvklRa3rRloeWc5hcBB1+CZX8wjw==","shasum":"4be929140c2e6fb9b11f9c3d88486d8d082bd629","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205090810.0.tgz","fileCount":29,"unpackedSize":1256594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDSKBHgIeqaYDrsr3p7tGTKI0vFx8LzPev0vQlojDrlZAiEA7GsgWmbtPZoxm8lmT8ZHGkc4aYYnRcSx38UWbp+zE54="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieiLuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphQg//U9yurGEhDfb/F9rIinX5bLy2h446NPAklybUHSPpN5pDr+DB\r\nwiMmfTcFHcIZMBA8ecF9US85D5zpTduuFsnuaFGTSyJnfhYfaK4VooS38j7V\r\nCLt8HrdOQzIxi3vfFjADX8MEK5pf9ZbTz02JR9Uiw2KlzM60Ayv9UZDH8eFA\r\n7BrjA1zIMpHtOvcftviS8s0bIwow/fVdTeEPZJGZFdFp7ruEG//dzC06r1fy\r\nVK7hWQ3ew5B9tVlH9r8NzYwmBOg0Z8dpneCz8naGGUItuTJIzb+e6HA//8xO\r\nRj2503sbNZpsNZ053ip1EpeeEnNu2+mRF3gYKPQh3F6rpEpUgueZBslxhrQC\r\nuB4l2IBVC4T+xW8CfC57TVeV+CVgFzVqeDaYDmRZVlgaSxr+MMz4s1E45qUP\r\nVLwOelZsQZTjQ4LPOdv7+gz8UrAaEyRucdd3GTEs1izEx/PwHsIH0Fkgx3gx\r\ntILF+rsKE/N1K3apth/3k5iIFtOle/z3zchFHX+8EDj2GqJw3bJe52tc0PvD\r\nd16XUkhkRWu7ye2Na9bqBQ9Yc5/h7kCuyMTCaVe0cmwLLnxi0StMcioZBVkb\r\n4iZgU6UBVORGMUi58HDostCQbCiellUvb3Lsy6dNkw6vqidXxJz4hWhX/3sd\r\nO90vRwAsjZPtDF4BRX1Rdq1PLFARq1ujDC4=\r\n=5sga\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205090810.0_1652171502450_0.8419422088832911"},"_hasShrinkwrap":false},"1.2205101904.0":{"name":"@bentoproject/facebook","version":"1.2205101904.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205101904.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"43d879755f765aee2d0eab657533b493a025713f","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205101904.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-HXtmZr/TBQ82Jk6fKHdkGL9kzMhTNdD2srb0c49CyPMtcVTgBLRFhTCLswbFiasp6jLoD0+mpy4tAyHgvRHo5A==","shasum":"c645c84f401495e1a89f37a5eb81749d3fdb8344","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205101904.0.tgz","fileCount":29,"unpackedSize":1256600,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGwfW4oBj+LiKvinVeTn+neKvMWAk1KHXA3aDRMZTWosAiBSa0C3Ak+hSihVimUEv6prpTzE4jePZ6MeXzR1ifxIuA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJie3Q+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtiA//fucplt5SADvWiKZRCX1/j/6iFgcR4TpCREwws20uMKmjkX6Y\r\n9jzkfGbPAnGCZt+L/2cBtX+Z/4v0Aw5vp+75qaFOJBEAeCRlrDbMzTsPjyXX\r\ntgBZf3APJso5woJZMKsahlUmGhM4MHm2xsP17Eb/PkpvI+1oKs5LkHIv5W25\r\n+DRPfdFCqh4p9SBTgv60VcQYMfVutXJRrEOTEWX24Hf3Yd3YbRcP/EwP1FlV\r\ntkNYZ/Lm8WtBCt/wKhLcIWwj/0s9E0YHfJ157BR3tROxNfxVFl9eEJ0R2n5O\r\nDlxrH0JH04TvGcuFuUiEW9Ex+GGDGFF03vmvKtoJyuTLgNBZ/xv9tViCoXWq\r\nMQixInwNurR1OzPj9dYsrdc9N1FN9GKgTqERBmp6YaQB5ZV38r9zqA54OCX8\r\n4eyKrn0DoB158/8Ng5JCjS9oT461Yfut9g+FjVl3a/Gh1xavja7hvuRaJjDs\r\nAtPn0et8FJwV2TSmorHtf8wVRJB4EgA6l5RqR3BgzEmdaaUx9MO7JO5xJ4Et\r\ngNEXDJZR91xBpLD8XLe87wMf2jp6H+m8cX1c7ZE3ZEjY7lUyXvOqaA7jtlnO\r\nWCfMzrb6VWxR4wGcOmH3OdKhmVS8i5wGecVfYm/olBaOToJ5ziyAQAlZZWk1\r\n1ovmLM47ejnYidfkOcouc08d2Fnp1aPD1S0=\r\n=wBz7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205101904.0_1652257853999_0.4552779255775219"},"_hasShrinkwrap":false},"1.2205120110.0":{"name":"@bentoproject/facebook","version":"1.2205120110.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205120110.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"46f34860b9f501caf0eda81977d1ae3aef4a947c","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205120110.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-G0VU+zX32crZuIiuIJg1JbMsSmuIHEa95s+DUPzcgGT0jRZG/BM/eH684i3nZvKMqdbvY3GjWFihU8ZKAq06mw==","shasum":"82a0c4ae5b6232af7bb354fbc4c2381a2ec387b3","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205120110.0.tgz","fileCount":29,"unpackedSize":1256600,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHkihxJKl21IIukdCGO45QIX7j7GOUDiyfj57kQ1tc/5AiEAlqxD76Ui7qQLZhvXfcSy6XbV++XRpOkg4N1tWlsHjj8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifMYIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsdQ//cpGPDiBr0ALeCUdXnGmoHAfDMJvMXTfJNOV2T9V1ONE0zVwv\r\nizmB2Rn+LrzczD80tb021GLHBKoUeoAEfyDlAzuW7I80DfGvdaASVHvLS/12\r\nGJfhzIIQtRLiTvRf5DResow8QzvhqyHYS5Aatb4s/K/riHE1ABsFAeWluzYH\r\nCiOjRv4M1aZKHkLD3/Yv7fAFFzJyRhK/LtREVLMINqzW2eTjVrM7jH9acDyT\r\nh9PlyVK+eoPJuVuB/tZVhQSrHqiIs2kF97XuQH2P1n5K3QHXhIvh/jzSRFak\r\n7wPa9eEU5DPxrD7Pmkx2nPjhfCXStIhsoEvZxwoscSuY89ARAMk1Y/iAHIuK\r\n/w/JpoBgmgQP8DVH/hANZcHmLAIyNC2GxirJgmpF5mQXAeSEMXN8/UhD/g9L\r\nGjlR0q5Yn9nB7SUM+1rVH3pKvVE7HZyfjB9M5NXipI5d6O49ttYDgiOxD9i+\r\nOb4edEZRX0g124KPfn8AlvCSc65nGAwFByacUb6LsRNQRMKjYQDJXKXtSVky\r\n6FvEBWBL/wS5cah/uYeBhYbNac0DBIK+4WR1+96cxKKBDFdUD7ZZsNlLcBL/\r\n1lzftsMosno5Jm1YCq6UKWzO7eajMOjSIqyBTMYNBDFAIgSkRy8litLl17HS\r\nUsrhFogpijE1Y+OfXucj681ZFVhUL1oHjlQ=\r\n=x7aO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205120110.0_1652344328051_0.8155420486352982"},"_hasShrinkwrap":false},"1.2205161914.0":{"name":"@bentoproject/facebook","version":"1.2205161914.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205161914.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"2fb4e151488ba4d856b33f836151d66b45ca457e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205161914.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-KrUKzdNj7BQ7i2ZenalmgHsrz4YZLD0mj4Xov8jmGrG9VNqg1DEYLcM4Z1MKCLGyKBOSVNAfc/9IT5Bcl2LKnA==","shasum":"f4b5451c2e4a00f90f94e92a7010b07064655679","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205161914.0.tgz","fileCount":29,"unpackedSize":1256600,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGFHUhhcZsjPPpwMV6GIoUAlp0A787qNhWvnUdhFqmVsAiAGvqlZE1PJMgBsEDwe4MMMn1HlE4L46taZ/lbwjJ/Vbg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJig1x8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvqA/7BSk1KdhsZzDN3AoQqEoYt/LnLJOjR9PMmPeygdAY5o697LAB\r\nDz38JFwFt3uUuQsRlHdSjvVZejWbaetgN/Hm0VKNEduuY2y6hl7QFX47l9xZ\r\nBFKZfrvuU2qR3hxwyl91PIi3pjmotXUvVpjYmRvHaAuY9xkqgxlPPBQOg8i2\r\ny6TtWSE4uhr3DX9DTTvMnFA/Sb7OtpTqyOX+O6QBBNR+1qOGU3bnRbxta4D9\r\nI8tBZEwlOKk3/9KmhulqGKlnD6E8PWzGfmMpAo8TagtEOOSJ77tfcTWqVwJV\r\nghMcXtCtmPowQWKXXIOeLCtXwX589SKbxCTmq30LESxctkfXgbA6M1+5+N1d\r\nNru2MihEqMLay/jdNaSGFoChQ5wb+w0c7cmlaKOpPY8IZJUaCmPJAQx/Yxmv\r\n4K2qTD8rDy3XPYl9QB47EknENnJrssYd6t0RaSeTw4grPBkmremaGCbJS6bT\r\nueCQrxdOLLO0xihkD5rNBJiSh1u3SE2tUotXLyqL/eui7mYz3Vo1NLOoKHGV\r\nc9mxDqQKOsrRZCDzk2zkJv+bTtiT4m0HV200tvuYYx3ERVCED+XdtOYeIif/\r\ngId6oXIBQTolSOH6eIlseEmv6xYEGI2wTzwXSiHuOAsIhNbgSfNAGDnFyeyp\r\n4zdYewnh0Z75UpeDzeXvbt8ksVgNnljcWJo=\r\n=kufV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205161914.0_1652776060310_0.7728010913166365"},"_hasShrinkwrap":false},"1.2205181800.0":{"name":"@bentoproject/facebook","version":"1.2205181800.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205181800.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"fb3f61c46e2221f0f2e1dd836127cce386c7bbda","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205181800.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-9PgBJYK+mDCtdA4kWiF9tl//0Li1hyLthJWWaxTuw7JgYg4dd8ahRj1Jhzz0NDLVhvyU69EPfYDNvhl6t9qMDg==","shasum":"4c572844a390c1a5c3bd3da27c46a189e1bf3b2b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205181800.0.tgz","fileCount":29,"unpackedSize":1256600,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEElWoH5MLpDTaKlCJRe7jwEfCvw1NLt0DXBaDFNIjH4AiEAkiyz6OP6szUAc1cWV/GqwEiX4VgBnHM8kNtzeSYF68g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihf+xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpc6w//VDOxKNSHW1fck19TwReZTWZ+QQbk71ErHuk3Bp7lXCyOMqXz\r\nEjSeTpiod+ePhXhpRYLWk+gPR8MU1cHLxTJSwmw6mnEGa0MzTl+79++sPOJx\r\nVz19JfA5CiVeSre5DIVRHQWOpBy4D1iH5HRb6W2MMIkHMk2hfU5fHDyaN8Kf\r\n5o5aHlRgUEzMbdsC5O3C9FeuzYJQjEHOV0z4TwX8vEl/0QXB6SkmOn3Sp4mi\r\nY7uGzMRnjdmEPBSa6FVf2eo/AhhMckkMMY6+Q5KGf8keSXXCPQs3+zK5VVTo\r\nA6o5WC1IQx68gQwoUlzPKfGkkIkh9ThipI/7goehGVIzJwI/THAZ3JAWQVZw\r\nYrIFB5dBFtwvZJk394eXKS9Ca9JpMr2tIk5KXYsiYYgXki8MkX6gOBQaj0oX\r\n1C0JA1ZAYc+ZFNauZs8pJnQwcgu9xcUYUw75w9bTHPrDdMTEvCDXMuyjqrlN\r\ni9w/TRA5qJWuA0HOyfTbHBE29blV+dxnvMIEOn9pNGnw+oyGV368mqxtYE9W\r\nlcYZeo/m9qyjoq8dMPTz/veMwYVFXRI2P2cnOI/1T9Nd/HIUjrufEmEOVnto\r\n8zLdaeyaSijQ06PYRLGCGP6L525fY4oAzTSU8p1UEg9+zVD852yvFCwY8psS\r\nooQdPE8GffSiIEQT91S+Chz+crur7b0qOTU=\r\n=OdLU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205181800.0_1652948912959_0.5577118739991294"},"_hasShrinkwrap":false},"1.2205191749.0":{"name":"@bentoproject/facebook","version":"1.2205191749.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205191749.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"83c369066eb9c7dfccb12aea936f29a84bad30fc","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205191749.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-bCFKnBBKOKECColLRrnTOuHbHl/9LlV7/eFc+ZQZtbOKbbfN1iGCNtjiqorUlxXy6mUAAngAK7WQFPfvcdl/Rg==","shasum":"456ebf208ad87052a3b4562db649e0ccc5ef3711","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205191749.0.tgz","fileCount":29,"unpackedSize":1256600,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEdbtd1YquyyXDGdbInYs7DzV5OGorg/eIlNbfJ4HZ5LAiEAs1Qbrtv+0SV2SnYOcmAC/c1hbt30j24m8cDl2/jnCFg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJih1EoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3bg//UHsicgVWkCcKQi2/0P2lql2+oGbeffv2UAEHFbFLgJVO4PxB\r\n2ffoaeIC3jqByUpEozZjxJUovJYbhSk7tFLUxNCkZAvz7GKBXTBFd/tJnfd4\r\nQ0vacCn1LDTVRIuNjP1yS71u14dCMq+dC3XSHGT3ukmb8inmgqaIOtqs6WUb\r\nRYWp0eLKDCKd56f6+zQfzl2UwAfXeuKMKU4sp2KUOmAszwdifL6nr4pN8/40\r\nL3MvmmlqQWGA/pcMLgrgdwuiriRBPh3HLlcSJ5CtfMHrUL5kSCb9OMzZmGyL\r\nPXeQKNfpugRsY8lVQYM3Y10cECLCTmcEzwYJgF5hJ7YEVXdVHqvSYTCLIDr9\r\n5PPl6GXBXLPp7I9o8evR1gtjznt2zUfLo5//W+P7xuJf26IFgPS24I0BmddA\r\nBdrCwZOH+X1Zt5gA12w8A14nqAej0gamTbcHPvAmisg2FBCUc6Lksb+1l3V9\r\nESkjR6qWLFExXVFQZAlBUJ8ZvUmJqKDsLimD92iGKzetKehZ36OYutlGM/dY\r\nYTdSbmsIoomwm/K1x04kXQZV/l2KByXKU6W0soUG0LYacRBGRpXWs+ZdzxFX\r\nfmfajEmCuwqoACmvZxy1h84yDT6Qw4QSUgq8CxxbKV20EC6fJ/H5YHzzmFi+\r\nHWqkrJMVs+WPuqfPBdfBKQ4T8XpicPcVE6s=\r\n=UBU1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205191749.0_1653035304324_0.3896710936533818"},"_hasShrinkwrap":false},"1.2205232225.0":{"name":"@bentoproject/facebook","version":"1.2205232225.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205232225.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"ed0c674bfc87fac47bc1360a13f5d69611a1228f","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205232225.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-7h/AZzIru1OBy+ptloNOehiNwg6WWBE9bSnUYp+qkt2Br9rLvlGRt9oXxGhmI1zjpGjhvXqdT/RjGgQ+IFKG/Q==","shasum":"8d6c46929c34eb6a94e862e81c795e2b788d9677","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205232225.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEhEMeDSHZ06sTDE7HoFJmi8xWYAVmAiBa0aM0/4vbLwIhAO5g+fr2PFsxFqpyLQSOONc+yb3lhKIUDe2Am7JR2ANJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijJb0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcaA/8D57LwNQMCBl6L56NjnEA+LWfwfaR08TEkJAZmfa2Y0R2GO+3\r\nCJdZSzAMHQRbOswP3lcoj1a3Xyg7HW2iOXvK8JMcCV2pQKmcynwmQdSpqdl6\r\n1tTaN/kv3veeggyfWFYHFRxpnjvXWlh3cdyUnZGaVageSDrMuoseDfbaiDDp\r\nnPUVMFbjn4d9t7tw8Cbn8pXX1xDz+pKLUfboefu3q6QpjWa710u+7EVDPHXV\r\nopHltFPMYMMa2BMTgw6ltVlrsPwgxo8OQX1GbQHMhuiLXuMjf5ca1uU0i0A5\r\nYznblP00U1mD+KTshLGIKABSWrwsqB2e7ghVTKwvTmWoAhEJEpmlXWgPtV1h\r\nZVuiR5y364VxxnSTDbQ+5+BycEQhGajQCBFtCl3yWasTX9ckgeqKDkP2NA7W\r\nX2C+kegXdZyH83nunxfJCfcB7LMDv8B5rBMoyiPu5hogspnKyppmdEDOycqJ\r\nzXZs8Qkc9HAEOcS3xKFi689LKu0+LaEh8k71aEU4pm0QyUMvrXSxOB3z9ao5\r\nS3pwpfpnco2+t7e9YFeC7tki+2PbKmRRUQDyzCsiOsWcraO6hfcg4lP6s/xA\r\n/S7QW6SctnajUWskTBIlV2VfkWVBXbtp8ql99t84huErJFgeWiuMz9MoBK1y\r\nvC5xXh0h6jZsFY1AELz/9J97ngTSDbm98G0=\r\n=em1I\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205232225.0_1653380852363_0.9527042976806341"},"_hasShrinkwrap":false},"1.2205120110.1":{"name":"@bentoproject/facebook","version":"1.2205120110.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205120110.1"},"gitHead":"ed0c674bfc87fac47bc1360a13f5d69611a1228f","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205120110.1","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-F69ErJdjkqRxJU6oOXERiSWZaKVc8zPaYw1EqQG7nHkqUApy4Pe2ogGcJr7kTtRl8YMz5yth/MdyFNiPFWicoQ==","shasum":"f51e7d7f6b214a5d5ffceffcd84700c1ebafba33","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205120110.1.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIE5s8qugONHegchQ4MDftI2XqjEgnlYZaf8IAypR0SQIgVJId7qWc4Hn4ZWq9t/EhqaJ8OAnrp+FUB0NRtM2ASmw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijS6JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrObhAAlLE+4w1ONI2HV7tF0zlZkFlUC/uQQGYt+LqG5Ga6s6FDRwKs\r\nQfTK5ukDv4oL064YX+sGOctrTucTaZ18AqHDN4pxPfINyDJ5qKf5UyNAzlW3\r\n28IVdDoA90LGRZhN56Zm2PaBL7i/sIaxklpjZtXb9jIFwkCsPI21X1c+xU9+\r\nR7y9IrL6FRMwPUZT5UvKzdrW4QzwUzrPlAf32M3ruhAKBjAYHE6NDxhD7Gkt\r\nE1jMcx/b2xuP8dxRmoR9B5Mj8Fjb/VlYmoBcrJQsrZrJmF2BZXA6ZtyJJVig\r\nqP30bngYVgcDQErUWBHhCULOigySxXqXHsxbGlGX6T+YULOcp8JRoPU8Rrvt\r\nTkdx/QGIB/b127DnjgnW7OzQmSAYbe+1CL914JKgyLx3n63NU1spiXA5TP9U\r\nkxfyg+na9Yx+HJc9bkhZiwl7a6BjORVFtA/wDykCspViVQIuzO32BKA2hbVJ\r\nPL9HDbzuq+iWNt/yYiVnx1ynol/HiZzv/nK/cakkfVowqhlUPzEbMhPuR//h\r\nqUQhi30iaPWVRJRpxkOCPH+kCxx8K2gBal7KZ+o+Ul8SAPs4Xmp1foMvFAwp\r\nOGkfOKnJLjCSTjlt4nn1rn3e2BYcQhabP9twgTBGkFgdO8VqTO9nfkEn5ue/\r\na63+sfPLt+C4gAqUOgFDrexwZm0Q6jygucI=\r\n=4vto\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205120110.1_1653419656905_0.9932574070123998"},"_hasShrinkwrap":false},"1.2205251942.0":{"name":"@bentoproject/facebook","version":"1.2205251942.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205251942.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"e2f9546e2689785f0d9b4ba72e61759323c45bef","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205251942.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-TeWoeOVUOlFSJmTiR5m4SS3LmDSRABW6FUiFQmIly9deykwsg24gaICDfrtuyineZtCXUNBV/hLDlIdvQDLeoA==","shasum":"0cccd42dcd1debbc755a4591653231240560bb56","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205251942.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHusxnh1NpWwqfSe/8rR+xGbD2cvWKzDuGxc47TUmKpqAiEAu9mkGdzCAW9AE72432gj79n2z9i2gTZC1PLcpv+i7ZI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijzozACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOhBAAjvKmhlJlyU0MqkvtJ9eYx/mpOt4LZSIkV25vPDIsrN3cFibT\r\n/d0QynWanx3nng7Al3zhHtKeQkog8+g52+YPs4g+sZVtxc+8ZLc7jED5ce5K\r\njNZutLVVwXEbg9KuzdbE/Gzy1yXn+cTtkI/NQYmh96rEEZS63JKylFKkjnQT\r\nsf6gXtSMW2DBwXLx+65d86XKp+pPIg8M1hJKfFMdh7jrkLQPzsxfG9g1wKnw\r\nOtQRbtj7oJQZ4Pp6/U8kFUaNMA9KWszLszgeRVC31R10ZA2TGJ6BFZ+tdyMo\r\nIv4TFKR9LuE1krbo1Ev4qacCuOxjpnSQZwm17jyfyGA2pudT/4gyjOuHUyxU\r\nuhGwZPT8NibrBIrApWg3l8LqcpOcPHXmovs1Wusp27dQyja62SmNJyPbxwJE\r\nGNt6S0cmBXBvmRUpHgUtKMhnmvhZH6cET15YU36OYJGi6zdetr2jGGEbm/PK\r\nIbpGUoX1LnTWA7bAQ2b46yP26o0xfHGRqw1BDyY/6gKs5SUfz2nOH5v5jtL0\r\n/Y62+lpl+GYv+2Npiuu2pQ1o+BqBbMs5oxSks5nuSpMt1WMxjWQxolrfUGZu\r\nypsSqA23Z79xCADnKUy5sCsKwm8XfRp5lQmincO/7ksLqslWGPrgfhSWKKoS\r\nBQDcBaNecJ+VUHl958Ox/u+kmj5GUub8v0o=\r\n=TUBU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205251942.0_1653553715535_0.6603772659440821"},"_hasShrinkwrap":false},"1.2205270638.0":{"name":"@bentoproject/facebook","version":"1.2205270638.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205270638.0"},"gitHead":"11e6020f1ca745e65b5d80408e0beca2a8d38004","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205270638.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-2lfkNy4fbcrr/gQeIvk63fZKV+54BZ1kAEgHTXWvXyaSJ9tph9KgN0yidWKgGdN3MMZOcFfW/Q0VaNPNB6VAKg==","shasum":"9c0c8d85fa731eeef3f07788dc2234b1043ea79f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205270638.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3API9E5T6ZbZ6Qdcn0p4clXolZAYfcCHIqXam54wNagIhAJUg11UajNwEVB6J03mYUuaFOnrCTBzusaiIO0WPj6L9"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikIt3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqf2w/8Dp/0BaSvkIzyuPfxKyqAlMRv1VIuXTYJhPuUQllwmjKQM1kJ\r\nn2BF55GbFzUwgDSLAScQPSP1vHqPuRKU00DTQpGhTVxZEWxEWzto7Sdo9ZKJ\r\n2vuceOyJH5rhNE3q+Z//ur3i0nMnxOgjO7jP3tiy0K7FBsAzCzPBooOoxlWT\r\nvSh8B5YS4HFgMfR7VnbodmKSYbiDOSm9+BZYWcmairV9PiNM6nG7p7v5OAI+\r\nPuQ5zvb6wIxJI6chB+YBPKfskcZvw5eAl3YvnG770G/I+oWytxvndWDr8kEA\r\n2kDLlAdQRGwkshALKKeg5KXcqZlEeD0sLGSd/2a/YbRkjfFkbSWwpPIUs+Mn\r\nrJ6cNBiPh27a2PfTWBHhvDBJRUnPpT+bA9kLbNAw24ggtNKrbIj1i+dtugAr\r\nDvuMlsYXblwnt4ldC9YzwGl3NFbT8FfGP313MXu9OTKnKYwSS5YWZThxPyeL\r\nNyN1t1rHEsg4DGGxfyAsady4x7Kea7jPohsKme2swCfgfEVH5dwyo3Dye/8Y\r\nCbcEmRa9Rg5hNgjDGMISn8OdTD3oOgZYN+Vp2nGhaiaFDTZORNj0n4P+rlLb\r\ner25vz5jCdG6AanY/KAr9WHh7NKMuwx3/c9D272LgGYbSXKfmFBxfjaRaDIn\r\nw4sAChSnXxRD6Cp8dImvJz4tNlcRF2DA7cI=\r\n=MPV7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205270638.0_1653640054936_0.2916144611995366"},"_hasShrinkwrap":false},"1.2206071918.0":{"name":"@bentoproject/facebook","version":"1.2206071918.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206071918.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"f200c815cb7bd0e1495bd9c338425aed1887a459","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206071918.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-mYlMPsok9w2baXJSbAQ2tKyn0+qlwBGp5oyp8iotVAIwHK3aIsvnGykXfTppJpcxDI6VB9Jx/OTcRO0FxnBv1g==","shasum":"7512ff795e90af4233ddf16cafdbe241d8eb2c24","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206071918.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6eOZwUiiQL74gWOBXNyeRMLxp4yMV1pE2Ihw6CZeJhAiEAr9QvviRu8h2fbFqa8Dg2yB3Z+MMZDmQ9yxkcQNj5uag="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin9EmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocWhAAlk8596Ha+HFrMV+AF1rJ2kXK1GHf+QKE3i0u90Ercibi9FUh\r\nLX0HLUN3bb1qQhjmk0SfT6aJGmVCezUR1PlIGY0vKnTfUD2e5Krg9nRYjydE\r\nfmw7LSOou6N5DAJMjGZXaAPl0uSr8eegKG7qHYiaE37AV33G2LI/sW8fT+GD\r\ngQRz6ZyAf8Ggw315JsUbJNSDyphrtf+veeqQktUMQ3nVr5DJDYKoizRvn3Ij\r\nm3XQmv09HyxzORQz+sqzCH32Gwikj3iWhaAcWhH0gPXLQj/EyetxK/ge7iFt\r\ncb1VDZmSK/X8EyZEKTdZpg+RF7DMMzu5+yobSx2Go2HiFYvFyzCKYAZ5pzKQ\r\nM7O4bQoVONHGLvAvxfnOjCPg2jWCtcyMZI/jiAQpFg0Hph3Yc7Lsi88qG7Ml\r\nl8wzwhbV6Bbc3cBC2HGStWljvV/4Tfbt04tFnDHzEH5b4LqxziBSPpUFxrXg\r\niU1AlbsWVMrWl4lvwlWlB4e9mTiPAqMp1Zbx5nYPHDVToZS3F+Z8iRDfOZPh\r\n+/GYgOcCVTPNQUV/CNJ9smKrxi0pRA+fmfay84b/UKLaaJtMsmZrI5gbt5wC\r\nuM9GY/xPVRZVIePwKjeESXfh1Ic5+2rGZ3EgvbDIrHpZ5RjqyaYtDDZpda4y\r\nmTzNgLGNdVpbeYN2Bmrdeui3qptrNIQjSdw=\r\n=t58X\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206071918.0_1654640933920_0.7037557622496073"},"_hasShrinkwrap":false},"1.2206072228.0":{"name":"@bentoproject/facebook","version":"1.2206072228.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206072228.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"9cfa89fc95b4eedfeb00b4eec539909f0b0c0f6e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206072228.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-g3r7qttiKjmEklqfvDJ9kJ37AeWka8/QiGB91f1O+/R7UtMJLQShLZF+PxiCqn//2YxPT5MVPWV6w9G8Q6FOmw==","shasum":"f1000b44da90569472cea2dee71379e860e1e731","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206072228.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5v75BdOQCrs4Bf62yr3zIMybTof07+AZgvv0Dg0sHSwIgQweT2NGvyOTzN/nA3X43MU5u6KjWSRA1go7G7ej+R1Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioF2kACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqd3Q//dTsIwpkLnufRPzgzZMtpWqUAtZ8QkjUk4xA6FQ4U6L5F+e9X\r\nJyD8cMzzdWJwHUiSPqr1bhkYUDltFu+6S9a1Lu0mkTtsqicZq2RIOgF4i30I\r\ntV8zcgbEjgOsLgmYsKQjYUiD2rCrZVNlPm1EsbhQ1gTXvjWrIF7P8RPYHbZg\r\nzVcHGkdLYKJ0+v5IVF29LeFkC8VO7EYXTQRDYbuNCugwWi51Nepo5GzmFPC9\r\n0pnhuyMUz+1jCMtR02FGJmwdZ9j2sqyUecrbLKL6YWADqZ6oWsSez0EBXIwh\r\n2VbFX57Pw9eAOafBEY/W7xs0xSLdsMR6nfEoIJgdAxXWjPyAQoTox8+btR6V\r\nAXQcbdxIfbiWZ6/4hIE/ug7pgHBd4qWG1+pAIw/0A+K14lsTjrxL9r16Eyit\r\nqPP34Co0oTrfmtGKwF1mPc04ej5NVNK8l1s0vDfolxWtK3dT6gQre3ZH9bi3\r\nY0jCIIoSLqaRFOYYcjk6DOHmbHnBERGiYxpXFjRTGqFvqR3ZRyI3Lj8sLfSw\r\n0gHFb17KxU8k+Qhq3ZdvGYpXaTF1weYRIxVLxGt0jaFUqDc4d4zWANj/7A2A\r\nFMrHQOOtYowrLB4xGnn2UIvYc8MR8vP/vChCScQXy9JN1DW3K+LJ5bgviWq9\r\nIQ5c2st1toailXh1PuHSzk4gmxtWe8fMxTY=\r\n=PASc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206072228.0_1654676900249_0.33920297035625535"},"_hasShrinkwrap":false},"1.2206082301.0":{"name":"@bentoproject/facebook","version":"1.2206082301.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206082301.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"32e83d3790f33da4840247d996ed3f6b256a796d","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206082301.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-i/ZX88btheM878MFejKVvLpq16yDDyprPv8hsQvL5EQXWAoZtZnqYtdcVfUjI4sHw3dgt0mfUhHXu4AbV0+TzA==","shasum":"4ca0547394340e3629a73e096585a558038494d2","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206082301.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD13y6jEIBHirwM8e+cOy/MKuuDMeFyiFjcqZXTEqHXfgIhANME/VlYEWTQhsQGCGOUYEMAti+u1yGOGKCBNSNHUgzL"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioa/tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp05g//eCLq0e8TE8P5vebfIGLpuDka0gDalxJTlRwDj5V57gWLKY/K\r\nYCBPndNBUTCD3oU7WLeSt9ljwpig4FEjlSw6fchsKmN8UMNw3qKNeobdjPi2\r\nSobg+pyaP9T7xIcA6+kggOwzTGKO9P75dWW/emX08ggOHjauUwKL1vCR7K7N\r\nFiRp4ahwd7gSkQGwGjLVe2Iuiqwp0zm0LMB2B2UkTtfBAAmpBC4zl+1CBS1o\r\nQolDwmJzkb1JSO2gqeYh1ZVeXn33Y2AcP/DRl1nx37MRTj/hlpvE0uKqKIiG\r\nhKAC/UqOlZxOmtbSuqfE64ArZePMCOzB+PeuK2iXJ8d4uitRzoSLW0wzdyDE\r\nx+1mTn8C8ky5b8C1h7F7S/2zKWOnxJ9J55Td9cGDp3wwLGXkSWjQeD+VwQqS\r\nU+zcR0VxD1Jnvx2rAobDdiSuzmTH8VldIPx8oXCeRp+dScavwCWczK04jdtu\r\nIwvdhjHZVT0FEcqSN64PcesDyFw4Vb6scq/csi1oylFhUFqFjScmGYatr8ls\r\ni2XESeAuTjNFoMKGped0283mfBQTuZd6pVu0vlF7n4ws3UVgWY3zCUrbeyJ8\r\n9HygmTdydv9uBTmse17U7qqla3uJDYXT+fTlO8+xq6bXwiuR73NOFGT9TV92\r\n/RqNNOmpjYpqoa0Pj6QVdx3JRpt4D068h+U=\r\n=5kwJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206082301.0_1654763501346_0.47388138789015044"},"_hasShrinkwrap":false},"1.2205270638.4":{"name":"@bentoproject/facebook","version":"1.2205270638.4","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2205270638.4"},"gitHead":"89e43e107472144de698a2c3ebc9e78ef35d58b9","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2205270638.4","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-z2w1W1fcRqZTwYtzMHDvHMgQvGTqy9BJ5fs6eWQS67ymzUpcAjinEKucjoLfT0KXpZPLHCyGNYLjOxtXRF/jww==","shasum":"4d715f0b86cd12337dc03d8251254e0df039b763","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2205270638.4.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTx0YTmpikCrVpXG6tazejpiikQXxwCsWp8il6qucB5AIgNxuUrkq7EfSjXeVs88sf3s5Avk7nZ5xbqob1BzJKHLU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJio7llACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5Cg//XNZ7bfWU5Hqw1C2IblUhkUUZ04FLiTjIdQOcJmaMlh8Jor+q\r\nfyeYW+gzB/aCCRvxUaJIXs1w2zHx3QeExagKTmrNafVttq7xN6dKAO5mWY4W\r\nxGWwJhlqG7vJOUf/7sON/ZRn5vtQUTb5T2EtaMSE4EpiOx7a8iHY++fkrMGn\r\n2rZc8g4Pqs7G/JAqlzq4msu63DzPluj7i/Hdd5XXW52fH6Yx+Hx6epVmggJl\r\nU6gr7IPaCpXBMseKbqphhpqQSQtfNNSTyIZmXyB5j3bij5qPLxTI7UogV15V\r\nx9KJ0DP+Q5YxMFVtOMn81h0mA1c+WNzH6zwTyZYizOEvx7/ejdPcexQYnEbn\r\nXMrFmWskuXNI87/j5rcRxikIqeylPAehduL1cOg+TF7TWYQzI3UH7jzZO8by\r\nE1kgt5CdrDq19I7TQoP3yAr1djnxfb9RKEpXAUPdVoUe3RkiDHcBWDmSgUv/\r\nRk0OEFKU4hQ+HAhe2bzMTcNI4pcRPMxfIZj4steoUI7f991LZxXVW4L0LDja\r\nBooL5R0KfzTJ8WWOqlJLnbLrsGQmvq4KN+9GvD2JFBtO1M47NNCYwuVtNdp+\r\nAn9zbbd0EehXpG11XmgvLg1SWb50L62iVA/ejBc+4VtW2Pz+0usc2N/nFD5j\r\nkQJAXpoekB8jxpiqviM5ir6cO30efetv/hw=\r\n=GV23\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2205270638.4_1654896997200_0.5740092814842488"},"_hasShrinkwrap":false},"1.2206101637.0":{"name":"@bentoproject/facebook","version":"1.2206101637.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206101637.0"},"gitHead":"89e43e107472144de698a2c3ebc9e78ef35d58b9","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206101637.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-7febrsKJKcvUeivMnoL+Id5FdR1FsjwrEFWYms5GMU2d3ceDd466M5QE4HTEOWbfvy2Lp9NIQDwmd9axyFAXNg==","shasum":"319c0e76e14d9a4e3f2ec8bd4248c514285fde86","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206101637.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFOpBMouDZ7rfC4KE5ocVH3SjwmMMleoDqX+PkolY3IHAiBZDtzV0wnfw+cV//WjKVqQ82Hd4luGZMJoAzBcTMTFFw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipFH8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmobbg//dKpQheHq42MTb/DG6qRuHfzOu2qp3tzq90C7mm5ZQU9iL4N2\r\nY/bezaFK+ehyWD/z4EPj1NJLWSIYzUOJcyukNWxbGcpjWq3NLNbjVYq9dBsD\r\ngm7UoVpNsCTao+kSG6BA66eSZvgYN0mR2tnQ5fii8Q5OkMRKXQFkwQhpRQtN\r\ngK0NYQrzIke1tJ0HryR8j5OXXsFg4+hA6ussq1V831ki8RDNbXNI8NZE9DP2\r\n3N17mXaU5tBbkYtjrvWb1UL2A31CH+sTgEGCS9KQkqLenOjn2gwFxgObGlfV\r\n6VDEym8Daz6Je51h7Ny5mmxdP/V0akt0hHCHM9Z/4pL+E9DhAaGecdSic3F2\r\npAu0siDTQB0PLCa4aypzyMXmkDSOPP5t15ma3m2J+K4JpUQNE5cRsjlhuMFF\r\nD5Umrxd8OgPDjGvn3OYGfCptx2sTZmt/zA81NVovZJkvnC5jQAvnFrNzScSJ\r\nPVGek+Em5vSIr6j24t0F8L00fe/p1J9WBAlokrqMySNkJLpFXOAkiSQdgRNw\r\nnowo2x3pvnuHi6lghMwrwHtLO6F3SowxEaGA+xgYngtOEKeaGQig/7DIO8mR\r\nKkzM6Rxi/vhdF8caMYS54ILFmgEs4gbEUCR+yNLY62u9kP1Th/ikptfcaKP9\r\nVQ7AAqGjdd3HD0vpZVdrnfF1RiLfUHzmiUw=\r\n=Cxkx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206101637.0_1654936060269_0.2823213715959798"},"_hasShrinkwrap":false},"1.2206131450.0":{"name":"@bentoproject/facebook","version":"1.2206131450.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206131450.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"f8fbcf58e78ea43df73b529ed4a25e79ac758981","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206131450.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-K59+ylmMNMffheWo9zCo5xfALdOaaXngZjAkUkPQezxtfYuwdege5XiG84npVKo9T+7lYHBfdKVkzuqCoKVnig==","shasum":"0c043a813514d2e698b58823bcbd0dc4fdfcc85c","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206131450.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3mwKYc1EtwRb0v2KDh9LtXRP451tYqVEesrlATvioMgIhAJpCkPwh7MGUPGb1M969xtpYbKrpFHFc7hmnRLNLJSUv"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqEbBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquoQ/9FwDGwwjddLMTKb7zHQqSNV49B2DNn2EH/fGpu+4dCMeSslJG\r\nGrFrwCJqeJRFwm4wRb1Hox4u4rAiLVEFJwaxOROGWg0fBbtXJdLV19jhXCzI\r\nz2QJDosCcKlMf55sZtBfL8dsus1xjQQtPl0tiilNx77gYUGKRKE8yh57m7U3\r\nZWn2g4oKT+uww1/gpZ/++3Bl/1IqUVEKw4rjjb6gd5ppbQx+YX9subhmZgpJ\r\njjor+wBO6uI5XlP6O1aYuj9xqGllUJ2dsUC/WenaBXwoecQHaaBrvCc0Okt2\r\n1MAxIX3RbJBzGLvAtBGB9dcTikG8kx1ICQkHFTTifCpzGZUbxsRX88enfKic\r\nli+TCKVbxXqjeB+c//2kwQtQ8XiphdKgKiwmdnI5t//Es4801suTF/AL6zw6\r\n/h4aLNm3N80tWalMdHjJp5vigVGdsxndPk9WANVafwRHTic3q1QTtfDuvSJl\r\nr9/zRMKsOQehJoIOQiqpm/uM8v0cZs7lPPIMBWueA85/a5KrEGyZe3aCurMr\r\njfOHK8FAKILl+yhWeIljYlhOAoHIaXcOsGsLF9kLz88QOG80xOEOCvFgDPKR\r\n2AXZccBWmK5hIgJqbnEA9ybO1rb2XF1WkLBEkgeEGb+x3wQyWzp6H2Eg+sH2\r\n+0l6qSVRp6UjzNgwsY/v2pnzllB5kUO2Mnw=\r\n=+1TU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206131450.0_1655195328703_0.506566258325621"},"_hasShrinkwrap":false},"1.2206071918.1":{"name":"@bentoproject/facebook","version":"1.2206071918.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206071918.1"},"gitHead":"fb620756f1e66d99fa06cbc467207602e4aeafee","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206071918.1","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-pyOmk3z1Lnqk7fEsy+GVJgy9F1zx/ALPZ7znkymJqUkasH2/XgPGxK+EBqfH+UUJ47XvvRGNHjALOO81KV3pWg==","shasum":"3f6d841bb9ddc3a0d34393f47a7103bfd311c35b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206071918.1.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA17rBpt9nGL2YXDnkXWGfNWUaDXOBrYSvXYQP3jkegzAiEA9W7e8xFAamDNva1IqYNHhJwogQw/Nfz9spv9cYQPzFE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqP1bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSjhAAiEe/e9OI9Jem3Adku9w+ajmzqvnlCq4oI2dfUMRBURLg1VwO\r\nz69rJv/Q2t4hZjWbiI4fCiqVOq4zGfsMzfvEvVu/mIR67SBI4IHQ+BwCpTqC\r\ndvy2r766M99pLkOiobELcn1qouurFjN3IiFLXakmGtLv5ahMuDbtRruXCVAk\r\n0WZ0o2S084Ed/CoGjlAYfIhiu+GhXAEBvbHvVIWTHa3pV3r1bKYsrsllgzLH\r\nn/XaOE5xhauKucOkOin67b/O1nXQtzdzM9zta0Hc/lFNKNmkwl0Gr93v0ScX\r\nwWL6lXgeODOzXZhl8rb702RzmrVhXNMXkKtonUePmt+sMaYMb487oGKjtXav\r\n8aaOw75FODz7FMG7X+fz9gVVxBs70kyrJj7j2WowvRkHTpfA5sDSLTXQeG9u\r\nsmEu8GeTKrLpABepPeFHj/b0l9DWWmyQQOEUTGz9MkdgnwcZJDgVssZUbO2e\r\n7EMGc9KVTUa5RWCHPSw/anvDdu81fMQwO9Q23E6W3OodQC6SjJFh1X59Qk6u\r\ndleWLZLYyOZS2G5AE8boBWwTz+y7w5zkYOUEZAYP0/NTaAt5LQrPc4xBcYGy\r\nzqKoCp0XD9dBjbQNJTLYkE91aiRhpqy2pBv2hN07AwIvx922j2IaJA7h9TO6\r\nz7455lL72nrCMvvqBhU7RDPrfRKVoxoSMQU=\r\n=jOOG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206071918.1_1655242075294_0.9401273188321537"},"_hasShrinkwrap":false},"1.2206162023.0":{"name":"@bentoproject/facebook","version":"1.2206162023.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206162023.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"15781b541aae254d04a1cc777016aa40759100cb","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206162023.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-m/Rb95umVyLk51cPCziBAwVWnmPzumKSos6ruRR1JZzvSsSZi/3TihDl9vABBl4QTh4ZE7sOZoDl+0BcOj6KQw==","shasum":"bbf00e8a0e9eb75ca49981385749c154e023dd5b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206162023.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBvr2I8apQgxWJFCIsrg/sFQOMnHOBZQOMD+R10l5DF8AiEAngY9X+1LUCWOsI18cdJJf/Q8oYm35qQx2HDLY6IkNpw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirDsWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpH+w//bC9Y8TQ/lfZ59O0irYajS/oCvdlv8+kusVGEBDurPrD5C+tN\r\nkUYBhEwbV8D+uh+i9wHPv0QglHHbYeRcRbL966jEbdbPwKR23Wfh5j8mMGyA\r\nWqPG8twfmupoh4r5aimwUAiu5bL8mTXQaHk7B5Up2EpxAekgS9ExSYys/jQr\r\nh5G1nINilWIV+OoGTm3BiRONPwX7WmiMlB+RiAjLVtVF4OS/bdJbXoeNKv2h\r\nGbL7fi6E+Pw3yrPp6muBGM0UF+OXeFPxZrHR+8otMm5iSFTG48tOgc2gocuq\r\nLfkJbUf2SDLkRjvzjNXsN6Ywksz+EEmqdq6d/6uax/Vwxd/+bVjBMRM9REXm\r\nbP2kWex/BpmrD8w7riCtJ5CFuEeH61xQ8sVxILPf3fPbLc/Q866Qwzuegv/L\r\nMTpJvLBc8mGWbSJ2j09lLW/U5Yng3wsh8wqZvcKHHhDi6saOxPOC1H6hqY7p\r\n0M3Cwk2fXg4YoiI8Ak/Vfug5gNRuk1OgEjq5TJc92ylnGkH+nr9mdxzp4iBi\r\n1dwHvMeTmLanqSXOA7HHTPasgMSOebjAV3aDAjRC8N0QtUyoIaeOfeasT+Ra\r\n6aJeiuGIyLUoShGMTtDyDldeTzviqRot+NUNFhmf8qzQJlg0Z2GNUtyJK2A7\r\nzaEDLmzoZ6F+Eee+hp7sUObhSlIuSbYpkWU=\r\n=dmxv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206162023.0_1655454486465_0.7551478127547733"},"_hasShrinkwrap":false},"1.2206221455.0":{"name":"@bentoproject/facebook","version":"1.2206221455.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206221455.0"},"gitHead":"0f6cdcebd462d3dcf580d8df0a7dfcdc02de9061","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206221455.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-yFsls9+7L1kLJ9Noog5n/B++e9Xt6YQFHNaRR/A27Leai1mbXS3JR5jwOjwlhH8LeB5jQhkNIUevrtKAnNd0RQ==","shasum":"4d7f4f9162ae698e359e544a4b739acfd7f976d7","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206221455.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2I1V4Y8nyYkzIFswDa4zVSpr9ulT/UL69XYcoYJnhuwIhAKG4e9gyRcSw9V6+tsCFwTE5VmMwjJ5ez2VqbkHPpf5m"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitCQvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqh5RAAn/P6r9xGWaKrafJhW5kQjmtd+m3jHg9r/tzQmcbIw2uEEE7r\r\nr0Lefptft7ZH3Tg0FydR8Bp/bj5H+esWuS1cHWxYcN8Zaf897uug3G6dfCcG\r\nIqMii/mtShlc8bbVquw180v/7jFwGUoR8OLkUkAkXrLpDjmUnQgeaMixTiLj\r\ni69c0wxcPOdBhuwkshcBv6iSiNNlubbYgzkSOhxavvnXNM9rF3XAzFCVXKtQ\r\nfFSDYVsrWKxpNz+uDDy8maaKYGnjtI0+egbMmpMaJ2j7bEMhzE4c81BM2n5L\r\nOoGB42hV8e3VDuTt7Y55T/XWKqNJGOE9vjcUlO8yw4OCn1vu9qsUJsv+InhZ\r\n9TvAmdgp63MJLQ0TS9Tt80aH2GoYfOb54guqFKkCtzvj+WfG3XvJ5AZTJhQR\r\nvBYqgkqQL4wFU0NAbl/DdhaG5aV32MigQt+Y5eVofFl3oHXsoUmX6aR2tfTE\r\nkGD+dg7ktNkQBZlduEKmMAz8ak16r5FWkQNWsalSDxREyV55fN9zofLzeINg\r\nShXIVLkNYiILSidXM4zqoMooPWaqfF+qDNJVuRVrGnjvkJJ2sLeZBkfzlV05\r\nvMAU6A4ypmE2UDav526dgZ+C3wA6xVzz7mlIK3TRFNeGWsxGWYtY3brqv5ce\r\npN3sEB0vebkXj5yKTaidA4/fp2XZpLYf4L0=\r\n=EbjS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206221455.0_1655972911026_0.532970120885691"},"_hasShrinkwrap":false},"1.2206291614.0":{"name":"@bentoproject/facebook","version":"1.2206291614.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2206291614.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"34fbeda57c3cc9d01ab3c39cf9618342ec840187","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2206291614.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-jil2Z9csU0bQifz8kmT0UpHMDe+2pSJN7toG2KkWB4aeCkjPa2PKVUgjKIMW0a4oV9reFluzkZefFmB3PTGf2Q==","shasum":"0ea7b5e22f260db255a7e04b1730835bd9c4271d","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2206291614.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4kn4YEjI8WJJQQL5TGvdZxvWaAEArQ7X6yKXcbIG8VAIhAKlIxx+b4/YwZ4YWkSiDn6TWtqPI5mEoHoi0zHrugyJ6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivcqoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrX5g//RXN5yW+DJ7FahkX7m8TFNApvK0hG2bsPqkoAa4bTS16SIw3g\r\nYYQVCDKL0q7rgmqCL/eXxcfTkBMnX4kbprRwAqdd0UvupFnfW9ys3tEfur56\r\nyYFN0Gl5wgHr91YmjRt1ekyE/OzUJB4zBp/UE+W/wnmQ289F5fPl3ZaYxnPt\r\n5tl3C3Eqxf9CIZFPHNd7pbnBE1c5qv7vILGGbyqjdHsPfRh6jEmnsTqEKSG3\r\n2yKFU0ttlwPi1Imc6yB+op8ZIO9QS6AmDvDP9O8h8zjUVyfLGnXoVu9NTVQZ\r\ncBRg1S2fVWPXySAffx303URG8C+/7nBaP5BjOYHCiII+lKID9X46BOa27sVT\r\nrXvgM4tuDLt96UDFqYH6kG2QK0s6G6dAse7JRPiJ33byUVM3AKB9qM7FMxDw\r\nwBOxlffZ9LJuPO6vAa1H7D+dzD9N7U1pOJahEvVID3IvYc2kQ23/ozFi/pRJ\r\nz1MqlDyQpdkPCT7CzO04M7HMY2MrB+4ZOQjyDo+ZpJ2rVNaKWuA6R3SHIByu\r\n3e93Yyk+ko0/++D4mcIQTqLw1bBafMPAHLxJwcLWHbkypBX0BIxa8EG3xNQF\r\nH6IGMK1C1mZCVng/N6SnhIzFP/Tid513GlwdhHM6on3wIar6qBmjXEnSYDZZ\r\nomp0icpXRoVHjpq/w11FnijiOVytYbZTYM4=\r\n=mj8j\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2206291614.0_1656605352260_0.4408228996163548"},"_hasShrinkwrap":false},"1.2207071723.0":{"name":"@bentoproject/facebook","version":"1.2207071723.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2207071723.0"},"gitHead":"4ab5ca14023804a1af71c15bba775c5805e2085d","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2207071723.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-mt629EugoEF3Yq4LJof1ll8cdlItRrzNz0ann1tV6mXvQdQ+mXrPqAfL70rGS/hFy3fVO+bNtKyZVRn1GK9S0A==","shasum":"043358abad9e3e42d72f7d73208e577305216047","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2207071723.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGENTbBv8HAGDo9lidG+B8RYOkInk/4c+j88DuuFHS28AiEAsJ5Bh3DC6Rww/mpXYHvEJSvmRX5uurLiENKN2IrlgYQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJix+wbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwQg//a8XmfubJGmNgThAIpE7BuVYyAVNhsK4INPl/FytkS2QIE3Pn\r\nxf6erju+5QQ/1RGtfkS/7sgvH/1NuPvbGN1tnsiPisWw9l2KuEnpEctHVZWp\r\nE6/c9BBBaaXzSmGPono4XhU+/sAZXfc59kSwAztOw8XaGwfQlWIiJM08qN6z\r\nIYCAKXUpf09BLSEM9EToPB+mKTGbjxTldiK3DTDnxnQIobqCAEBzski3I7fg\r\ngjzgR6oJAtcE7TAghlC2oz5pSEDHN+Qkobg2MvFAbatHLJvGLyTt2vpsmg4W\r\ngF2NN+nXciYQ7H4/4RSaU6p2p3bIJ+3w5wUMFAYg4Fti1T7VnzaKgalsSmIs\r\nEiJWRBDUHUhZ7t/mD22m9zWmWcFjbnEsUOmR2M2bFoSPSIFcP5LVVnCmLfY9\r\nspAYhyAZAUSxFtT86p/xy8WBJiY3mKvb40LnYmg/qJise+ccWYjnrSR0wPch\r\niTYR4v+UoxFfdqd6Am6HJOkUywqV/bRX2rJnYRPzCHeoM3aEtdqoeq6y4QVA\r\n+iJ3RCF1Km7D4kTqXHJOOYCLAJOm+onfEls9AqfoOxFdV+Z48eZG8UbJkRDp\r\n/xkCZHN0fmmoo9PJsmh2A8Vg/j9di5wDzilYQB1KzRKtBUluhd5GHW/2AHeo\r\nDJD87W2ZDeRhJxMq2XzyUCmsMMnb+PjKIGI=\r\n=N+k+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2207071723.0_1657269275679_0.6710399938066032"},"_hasShrinkwrap":false},"1.2207181727.0":{"name":"@bentoproject/facebook","version":"1.2207181727.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2207181727.0"},"gitHead":"78802d83c6c9791cd4400e761bf22f9909218a58","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2207181727.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-bdYbwSt5oHy1GfcHYpunX/4+t+sz4c6PQosOrwV157jM8Y/NE0h1hExsTDMq4+IxgnHN1XwF9IPDNo7INRmCng==","shasum":"0be96dcde1a58b2d0a8757556099b78cd66a4e24","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2207181727.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID57Os6+tIUeZdZGAlwZhCVAn+HPHbFSfQyvl5iuCxsHAiEAyLQX+nPS/qyHDP3qUkEAFmNg8jiCj+KPSmNbmjh32Ao="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1mrmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYEw/7BkyvpXIePVbAFUGVAY0QzK1GUCOozpTvA28MRrtwC8OT0JVh\r\nNJowIDjasCprQv+q2vRYuqsTF9gccXM8RccZmaHo+TiYukrSI6OKydWeF6ca\r\nOAfxOY/T4cx+S7g+uLqGVevcT9uSScOgp5GuctW22KCwTIwntm0y+6w7GVsR\r\nzUpKtSts5YNjlI3y5+Pf5r46lFlYiFhnqTb1IKXGanNWUQKU6pssTPZvwHuy\r\nKmZIB8m4VpN3bQhee5x1dUX64hiTiz90GCGWl2IoIfJvrGIHcJBtafIait6k\r\nW5qhuV495Dp5q3D2FUgylH1h6Ak17T0arLOgGtkvTozJQntCErQ7/X+Kr01i\r\nM34lXWQgOTglQ4Gs7AktTg9oq/SuzscD4K0bp9xyaHnKLbNsszgHbPihtElC\r\nf6HU1xb6QLJTjr4KhrabfVqcBzfdLNQP0cbanWVcCO7gdsAadLyQRocgQiZ+\r\nKnaU9zSr+JafI0cDco6cBY+uzqMnvq/wy9ptoY4Ga6drYiygFVN+GpwRZgzt\r\nn48N4cXILYazhkefgTDJxrgZLPLpDazE1jZAOJT6rHg6utUk+fXUkha2I6Hq\r\n0EQvgd4fL3xLmZ4t/Ww8bgL/T7ybepjctBG/6EtdHOgsWjzyz9IkKbPe0knV\r\nXkGgOiIIZo32yiuqImI5hoX25Xkpm9ijLSw=\r\n=ZYua\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2207181727.0_1658219238641_0.0038609126724160614"},"_hasShrinkwrap":false},"1.2207201724.0":{"name":"@bentoproject/facebook","version":"1.2207201724.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2207201724.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"62d86212e783d34fd2dfa8bd02ffb0e447c0538b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2207201724.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-bWW8F9aDAyMAteIGWzow1X8WSAd70TiJkplYzFcG8t6UwUzl7+TNr80W6op6D1cto9uelk9Qm3qcvvd6Dyycpg==","shasum":"e54cf5ab71dbab7dd4fb4d0c836c2a5f95a81a3d","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2207201724.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC45yR2SXY7rf80s598F0q9kC1COQShzA3bYfyaMpJpZwIgDRwCTxbzCHCJl+mDBR1Q2gDOKaBgBcw5RGw4/Kx3Kh0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2Q4nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmozJA/9Gyduuj2adqA+PqYMQWQAedlNz2Dr5vAhOCeaW3SR5pOiTaDC\r\nrSGBhjMJVa40gJUPvPiujFPE2NNpe5MgIgXbE4nGIUS2D4vAt0znuZIs4K3M\r\nWb8lVFceG3rBj9uvxKnDe1Fj7IxpHCLVKZ88t8UwxzizY3tFOs2ptx8t/Tnd\r\nB7CZ/iECkqfWQhDSFE8cnfUYTp243eiOaKxtRF7zzplMCkap0wFdzSyp7snk\r\njIRGnUmDj5kYJWxYmg6OoXIy8o/Y9eS6OaHHnew1C0Umyt/hp9q+zPLlQ/xt\r\nY/nDQSj0r1Rijrwc8g3A0t8gMqNLkZUWjZQTLNgpyyqemMaiznuGNnsr4Z7A\r\nnhV6pfaen4E/A0LXQRg8tUC7WydeA6j/z2APa6J4gcrLY86iQ2rRumvX5zr9\r\nXDsSf6TNj/85VnrOPzLufBoyM1w3dGoX13SKQJg/HmTDjokLRHa6MVzMqrKA\r\nXHL6KEyqaO2gVyuR5vzrM8u7i3h/3exJWujDf5DXApX/M1UbE3bHOlZekjxj\r\n+N2PzNdDasGAq5myN3wyoMBlPIKuxT7zqau3dJpboAGvy6XA/pmAEVCjlXFl\r\ng9FTSf/F20XaIowU3Sj5B21pLQ2tldJcwY/z18CBtXb5VlfdgpG9j5kUrtJn\r\nCtYELGkcIG+SSucaWgWlTZ832RaxVeCS9pg=\r\n=hNwJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2207201724.0_1658392102687_0.08428770306313349"},"_hasShrinkwrap":false},"1.2207221643.0":{"name":"@bentoproject/facebook","version":"1.2207221643.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2207221643.0"},"gitHead":"83270c82c0130eff7988664c86a7482098f9477e","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2207221643.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-V4EELhxngJK+NlY04fEpA0ihCIVHn9+mVaDaoeoJL2khO6bhQhY/xs8ys8xxNrw7DrGJ+ORquJRKjezFjanXuw==","shasum":"33270aefc6378737f5b1d0c6428fe0ecbed0ac9b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2207221643.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6r5EaVSWg5gvjZHFKwyTQP/8uOkCrEL7j5VSzTlCYvgIgJU4CiSmXlje1/m0nelvTDGn0ln2vmTkRaex4lYxWQgM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi27ELACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoy+g/+NvnGcvAYF+pJ2dLbfbffiXSmHsqpT2NFeHvv+/dJgnNuvmFr\r\nVDD0GV203XgS7sybTwAo9KS8I5D28TZKEocz618CjdeBXRMA6RBWbim33zue\r\nE2GjycbnPtzI8uMVdACSpzo2+DrcqVFBgRnDufhkLawU9S16aJaCErITRGT6\r\ng9X/ibE2qO+6ZK7BFVFtmIDfDn/4bjFYqm3oQaDzbFbcp7VoOkT0nqcXwS+B\r\nm4uomT1Ww7ZoxTz7R/aojaJ1VBSq2a86upOT0vs1sJmEzf1SGkwZ0hfvjFZe\r\nFgIphyVUh/qH6q88MNtJE5mqAYYTHeatHFo3bS3L1Ux8DpraS1I8xbHFmZ7K\r\nSHLG+MYDeKFyuRxFSNYrbNFzWloC9N2mXFYO7Z1N1DhcYuScVs0xMO3K5R62\r\nNwFczkL9q11FMDmvBE41mfvd9B0iwHccIMc6QwJC6Yc6wQDife8Hlm17Sz+P\r\nFKYSN7Y4GSplJ7Oo1eFNt3KqndUWV6vjXqMYISscZ3wPj6F72/B8DNMwglwc\r\nHRrhjFABPYh8IHGewxgzW1dyCfOL7bPvptrdxHmDZJVHLPvnttGsyaBfHz5V\r\nZ5KoFWI426rv9QMBn8zCOVGwd35Uk/x6gWqIZo0ETi4RknX3a+j0Mk1CrIPs\r\nzupxCY1RDMPBDj1SMccWxCzKzU6vS6sgLnw=\r\n=4hsT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2207221643.0_1658564874572_0.5635505694361718"},"_hasShrinkwrap":false},"1.2207261725.0":{"name":"@bentoproject/facebook","version":"1.2207261725.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2207261725.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"b73520d61dc1a279ec10d2a27f58891e2e2d5d93","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2207261725.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-SaW0uxww3VzBYM5QqH3XGsBKvZOD4sRS5z7kRj+Id9ti8LFWY8J+y2snaxto8fMtqO7M6FHLz0+s0qhm39ESfA==","shasum":"b784516d8b29e473ee7c84e8d1d62db8c1a678b2","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2207261725.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFggD605BlufcOwX8PrNacU6KUXniNvENb8vgnrOBCaAiAfr+KF2GoxbxDtr94gHN1UkQvJ9vxevITrfXAwmUOkfw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4PciACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAxg//QhgzJ/guOulZGMjF787w5LHgIGYNyDJaoltju0eDTN4AXJOy\r\nHPr8XG3xF0+PZzDOzQ35OzWkPHJf97qk/54Bvff9Fxgq4icw/+D+avZLhtzZ\r\nsCVeC5SHnAK8Fd/7rZFqJC2x7Od7XO8jfqbe020mBQWigp4TubELjB9OisIU\r\nmGZ6iBVN+K6P0Rd/bdf8Yhq5OeZG2q5jBkpaI5G0iy8Yjm42sCg5TcwAhzTB\r\nR7v2Km2GSnRRHlCPwKZ7lWw8YEAPll8qw44eH4YJ4Dz1ZqnD8Iei2TA2iddh\r\nzSVWFKdMVYbF8lAqgin9epzr8UT2X4GEgYnnOYj8MoCKY0RTaQGDXXSWSoE1\r\nC+gUJcsn6kvYtyusmnOTN4gJGkQ8UpZE6OdYGWVM+rqo3oD6rFGhRcwYypHu\r\n//FTNGocnVKaKxUkH5bYaIdnKO80DrBlwJ9Ei8GVPnxiiyCiRYYLuUZ1s100\r\n2cuuKwGYtQWJW5oN/ZUxPXh6tjEp6sowtMroX5nOsMwEscA2bvHI6kikDbgW\r\nRIA8RTUxXOvlXxSgJRZbgaebnIeYQuOfVEOdYWKgkxFhlpI/3Vt34osxNOS6\r\n/kFKnPSRzEsRS90d+UFHkSRtaIwpfLY5eezyItYq+SZpHqjIloWXNqN8lao8\r\n6Ld3n3SEl0laYq7IVLx/p68NEcW4yNMKHT0=\r\n=w/WI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2207261725.0_1658910497981_0.22207970280124134"},"_hasShrinkwrap":false},"1.2207281718.0":{"name":"@bentoproject/facebook","version":"1.2207281718.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2207281718.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"5e3f3eee6148e0ebb57aabc48ef987e9b5528611","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2207281718.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-71G7SSwuFXd6v051CFZwK0Dum4HtZQ9o02WhvOg/wY02buc6WKk1j2aTplOZuU4BvDVqnnAFcjBDv5zHalrFlw==","shasum":"c4e6a6244a440d0ead29baf4f902bd50e0035a25","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2207281718.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDW8IHZXScCzIn9lr1dwqBL+1X7EQs7TK7LJui7XxcBtwIhAPRRzyFQayiDmaGCJPmbiL3UFG12tZnR4PRSNdz3Vm+P"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi45qIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5hw//Td5/25pJr+KiYhsnhcHEArV9C442H7ofn32QAzFqEQNdgZ+l\r\n9uVeZgknQhH1wFt7qym01J0GC3UkL0QVJ64DCyeJN2Sggc8MJ4ImdnOAxklp\r\nmcBiZfNQSQmSULdUZpHMmIdenD7emgDHwn7efWsp1RvOoh9XjTJgPngqDMtu\r\nav6oF7yQqtz7U9vyoVCPLkvQ7kp+qAA9WbMgmrgFthTdZWqY6E4iLK3ntHWR\r\na+JlSmE0v2p9hlycT98ndde4RXXXVOa9XD7pLWS56+CvEszioiarup/J4ckr\r\n9wRmKevAOsBY7wWMkRle5xpOwdBY0pMt0PmqUGWKXXxZDE67WBFB0BmwxnqL\r\npzVZOwBhQlmeFqnjj0tUINwH9NEReikwTsjBZe2wphgQpQDr+Ml0ESqK08/m\r\nGFLwK1wcoGVsR+PuprcSypZMCsrz8JrLJn+3bwIJX4vPujrC4WZR/lRIk5WA\r\nPUkwrKReNHifPY+CXpgH788VUKE2iBTVXE5arH7/w9ZXK1zDRrgaChTNsXgF\r\nkuE08p1ZpzNSfiiENUmfKDhNA99fFR0x0hU+EslLIIEo4wGbfO5GschyXPxj\r\n+VNHTEw4IdfW7B9vBDiqXWzHzmaEoD/s703qk3oFYVOf9W0Qd66Lr+31MsoP\r\neGp40ZuLAnmoUd1gf2EQnIOihUYM9MlRsFM=\r\n=sO+j\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2207281718.0_1659083400081_0.17238815289627163"},"_hasShrinkwrap":false},"1.2208021808.0":{"name":"@bentoproject/facebook","version":"1.2208021808.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208021808.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"b82b832cae23ff854449af280f1b02f4dfeb99f4","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208021808.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-T0VDbJKU3Z+o9LJk6KV1czWwDFE79wIm4GTWmVDvxJTvUd/5YMXArMk36iLeKxBUqDkdcC5ZgWGG96kpvr5Ljw==","shasum":"e407e3cc6b6c759fcf26329c2590150441681b4d","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208021808.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUkF2qzVVpjtSeA46YxeimJn5CAGhfJJvvme9SZHW+RAIgeG2xRfozhLx1DelR8sdlciGQV8OqkMpc3ZQX3rgd8As="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6jGmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQ9w//euJd2vEJ9+03L9P82xPB06/2pdmX2zW3sSIr1JajzQFCPe0n\r\n1QCPuPDu+thdEK9+6//n7wWlPkwWpCT3RDX6CIIj35SqBnYVbj7x6sYWEfdS\r\nLOiB9/j9rbMvTquvm49psFl3rEv+wEomU4HlUPQjUoOTnMmxRpmWIREUrU1O\r\n24E9AkaadgnQNJrvKjTDA/kkyLWQj/LHB68I/L7eJaIdHYTTkzYlqtTkQXO5\r\nvgwMCNX8Kys6maqjaYSUIDjL4uilSGExAz9MAVf0A6+6drbtBN0IH/tigxCT\r\n/1F0DxFUNr2j5ON/gWCxv/js7ZyzC/idsBYBv1mx3zk8vEEJThX6x/AZyV7Q\r\nxFVnusY1jyB2ygDpb+trWvp/66dhOoiZmA5931p9vekWA6NtL9Y8JfeLv+rO\r\n+jT7IDm1jqmgeTP6cV43qMkssyUpcfTCWCrQOQARf8uXGvb0T/Ow9e66XrbO\r\nbYFzGXLagSXHrTnNoN4ajF9/fO0I+5aQIps52d+q8b0KWl6rKfJhnvcFwhqn\r\nPM25rQmisnWRoT2evIrzrEkJ8OROB4EbrHtp5nhrgNSc8MUdm0d2HjKIxwbR\r\nUeHHM56gwyGV+04URFPFGBaiiA9/RBv33QVGe9Nkh5qAimwAyArOU/lJd4eF\r\n2rQ68WUvFZqur88+4Yi0BfkxzVKvalr/Cpc=\r\n=1wPJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208021808.0_1659515302398_0.13378714856560192"},"_hasShrinkwrap":false},"1.2208042017.0":{"name":"@bentoproject/facebook","version":"1.2208042017.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208042017.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"598aa15d3922507a106666aca29a90334c7b2c05","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208042017.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Nn/MEhpnkqDY0zvamCFnlRI2gQQZsn9TfQbAqqto3ueRhXcSuS0Es4mkup8VOA8NWyxxK8YV78Ue9kz767ySew==","shasum":"2494a2474fb5e7c428491b0d646ef4956ba02d99","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208042017.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA9S7JdhmoGVARtAHF7pBITKN65XdKtHO1I5tQKhkipbAiEA6F033/+eM2kKFgGh/eryGfR5RYA+YboAEI3FXi3YLtI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7NUaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJ7hAAkzpZoy1yLXvur/0MsFw/JgFpnvsn+yQFqhwDSoEOx/LBQTMt\r\n3tskJITEK+drNUln+pFjs/mPzeNr0xYVNrVQ2hKxbJi6HUfokd3BG8mkZegT\r\nhHoodCogXlFDWGhFjTqvdGtKBd0lF2xm9RHLlywPE6TB4AkVZFU6hR3JBrpu\r\nR1FFjrxzYloYbzI8zxytI7slRjuNtE1HKob22zIS1cvHt8WJiwPENIRzM20C\r\nn92Jv0OOpq5XW/WmtWySISaAmfFawv/BdxmAPQ+rIKRZ9OYaMmXY/CKJQ/zs\r\nJYceL/4xlmqodf8ECEV/NOu0thUISNFy5g6EW5EcF6NBH6JmZ0xbrwRiQJ79\r\nzjv6TGDc9GfPJBJcfmtPa02RyEuAzwLaWSiNV8VQ5HeWQ2XBI4+pqNN+qG3s\r\ndXNXzyHrNDczZVlD4SbYkr4odIeXIoSo85MTG88B30ufkQ2P5NUB7b/JBJiT\r\nMGMXvZQt9DnHCKGc5Ye/ayZKu6KpEy1rFgX09QVTfpswjyixjOKkXWHM+9Ym\r\npyl52m9C5e7YJ685wBjD465YbmBdpFP/eci5ROxH9fJ9VpCmA2KEmDPRBQ/s\r\ni5X7ZKayi1aAKrQdGjUdvUGAuy/4yfSNyEYfuK8wC8vlN6aoDrHc1cW6YX0U\r\n1Z4VquiG0btigjk4izTLLSAS//FdOQhpe0I=\r\n=KEAM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208042017.0_1659688218562_0.5212398348510809"},"_hasShrinkwrap":false},"1.2208051912.0":{"name":"@bentoproject/facebook","version":"1.2208051912.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208051912.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"5f50e49dee3435f3a242126437de7cc8263c2ea8","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208051912.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-WDYkHV1rSHoG2KjFNVL9mw1kZszddgwBS8FLSftawxZE5KfTfhheWhJ9KEe8xPyk6nzMiATu1T6rRp9ga9QhHg==","shasum":"338312f2f2e2414bec790fdcdfce505306f8edf8","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208051912.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUHPs7FE5AApl182gr26dn2c5YQWVIVdhtuLpjcXwRYAIhAIXkYi3s9r9W+jq+JGNhYaRyEfvE3ZEwgCrXUTk/G3AF"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7iZMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppcQ//af5fQ5jc6JyU/AA3F41oOAGZ7XkKcaRVtGHoR2N+ZAXdjzlm\r\nYWtAreewDLvhajkqDNyQw7uv5VtF77k7lbnnJGUryUB4WKC6cfSeBfFln2r+\r\noADMZXtIQKo9I3Ny3YP9gXHfUdmsgR8ArAlaTn7tHXtH3NYda34lSXhHhGaJ\r\nXSIThsK6tetySxNrdQdcL1MP2BiFKgiVlt3ph3L+ruOKCLAwKhYx2mh2aZiV\r\nunAJTqt6FbtpNVzvehH/VRofje+owGDzORFmuTN6R+vTM1fuSIctF277rs9R\r\nB+TX5FRrhGu0BUkt41oNqV4ODihKArbrV54AETjh59s30nhSmpimxTiJiEw4\r\n4Yz7dYp3lWa1cgqfX4VXyGhbMrcpUXmhoPLcckaKIEG5V3EOXN6CpedURam1\r\nNgKoTunDUfu2wkkTVJEJO2QUXHYYynkzHqnr9xs6zAtxdrOd/oCoUZhT8KlW\r\nFCNHaUbByFEPcm9eseONDtWNcuxGJBQ5eJmsGjfzV6BwiQfcHGmDJ1cIki+G\r\nkPiDDLsU2QUQVHLn99/VzkgVezxbogjClELur3LBG50LPQ4ZrLMnc4lMTiZ8\r\nMqiAiySdnh50N8LwyAI20OKYy+/P6uPcIKeg0EMYG61ehFcVWDHdol/ZWEx9\r\nz/JGJjxyUIkmQqob8hCBInx2JDSS7v/ifpg=\r\n=cDIh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208051912.0_1659774540453_0.5727709954119578"},"_hasShrinkwrap":false},"1.2208081650.0":{"name":"@bentoproject/facebook","version":"1.2208081650.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208081650.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"beb9a33429ef933995a664a1aa534cf7ac0984f5","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208081650.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-yuVcQdINNzDJbiux3BhPXdrYlh5l/V2uUmiGS5yrPJ5rT/Ro+vXcfcdCyQdqsZyYDR8kc4rQr9bCZs1fYzZ9Jg==","shasum":"6080ccdb2196e660e0dc800f1a45f5146d1a2a6b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208081650.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+y3ClRL9mfp0Xa4aNBG+fGPeSUPK3akMoHUjRydBkPAIgBhZ7DiZJRcSfa6IpMNT1caHf5uObm4Omlsnkt7PdhKQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8hqzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqgdw/+LDvxRnLM9g28PqzDXyT+iP5lji4YDncxMc2oxjgEgH7FS6wA\r\n5vo77R9jUi6vmktLgJpMWJPSw2wy6dxGepKJxxmHPmmq5BwH065rgq1KwYC3\r\nFIgUimT+wKw2iqhHFMAywzWLNucgO8KDs7KqB/uImT6BhCRUN4JVcyY4XSqc\r\nbBdjM87i+2zKAytN+HCduQj8n0ej6GH8rHvHjnutSwjsK1IE/IWEjMLI9i7J\r\naNX0fV/Bffv+t6eykD7PS49F36Nd0YD16Qb+LSlGrv6pqGQMF5vpzVs0zlW8\r\nB3R5xUa6VCsjEluwpoANOAM+dPbP2qPJX3F25TiNFLeeECPf/gJuXXMzjjgL\r\nKV3DK74EJ/mAyXxNstfv/l2XACFZfP83zagemqyZaNMNj0wjOFzMK43LcP7T\r\n9vAyOVevLYRw3zEeqo3AxO7fbE6YH9bN247KUKESXHcmUVRtLgNTBm9WHEZo\r\n8KMalxk3y5GDwB+nP2xP6o8RuZHrOqlRphPSCIp05B4mITiY9J6ZuXGGItwB\r\njCd8+f0QP1rjOH44EzB8RnW7N1sVqsWtqdSw9j9PpcDo45c7KgWag4daWuth\r\n4exbtteF02FfMDiFifv2OLGz+b82CDfQnJO/qt4jDHLuHUA7tLvk8+pvc7Fp\r\n2wehGIdQd1f7jbpelG0iIi3+qk9P9gY/W9c=\r\n=su20\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208081650.0_1660033715231_0.8019926206753953"},"_hasShrinkwrap":false},"1.2208092047.0":{"name":"@bentoproject/facebook","version":"1.2208092047.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208092047.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"5147b5f8b54805bbea52be75a64d125a06f88aea","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208092047.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-VgYUHyQNIavO7r1Y28FuJIh+Zk7l5IR62YQNIzCreWmsDkG8IZjgSXBNAQ+4jO4cR31ke2G2+nv/QVujHbJw3A==","shasum":"6f397132afdadccc827d47cdaf89008b8a602ae9","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208092047.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDm+s7zA0RYQnEOlj5zNnIgsHjrQRtTj5J9eXRogQw/jwIgaA24p8WNVUhcoenv3/93gW5Wg5D17bOQgMA7nmbDB5Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi82wxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqxlQ/9Gt9jwfTl7UcyzRVCgKj3USppZ66AaevN4jc6qnKzC0wNDW2/\r\n98LQ3JcyFr3bQL9x6R/rR/JWqw7ZLcG0EFhfsCAa5LuHiacSk7RJ8h4lMD4/\r\ngAWpgtNVpUtwMLjopsoXanRR30qYP/8sTn3Yv9Ht05DB0yR7iAHx24HLCUd0\r\nDqgM1ahn6C8j43y9EMYn5Ri8nD/YMl07OcDtTzIbzqeuKhvTaIq1GMRElphQ\r\nyoSoY5XMmLNaMNAXpeDJDt+19DDUYTqNC6su1UUMzXX4fAox/aH1mNFA/p/9\r\n94O6lyrGwkM0JOki5izYjbv3F3Xo9ZzBKtY6BtKHkrXsDfUXkeqnx5We67+e\r\nsIkXEKhVvPAqUqN9kLXzTZQ2PmpaOWsjDyKkOde0ns1zrZNMjreJKRIubZff\r\npiLdqPuFNY+J+p+sq5LUfYQFXonuLU52PVwcepPH5vY5z/PCtE9tgx79E64S\r\n2eCWP/vOTUo0cVAvbe729UT6jxP4exINIBjD4l6Yhfd+6v71HIb5PGVd/cX5\r\neyTv9gRFk3yEhfNOAS8+knm6aVpiZcpUWNgtrSEYe7DbBHUkU2gWYvsiSBDy\r\nXXkTGu/EmYaQauBsob+TMTWNpY/1gpxVWCLtjl4CU7oOyz8xjD/WEZun+qXL\r\nkCuiFa2Vl7tssBQ3csrZys//5A/0N+LRPMA=\r\n=G+8M\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208092047.0_1660120113034_0.0765709334722664"},"_hasShrinkwrap":false},"1.2207281718.1":{"name":"@bentoproject/facebook","version":"1.2207281718.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2207281718.1"},"gitHead":"b2cc07c9f0ea3633ed63866b9243ad0bc964dfe1","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2207281718.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-aaRMcQPIqq/4tOpm6R3w9StedsPQjxyPrZKPo39MrJcH3eFC0aSrSjHzMrJHbvUohkXT0ndA6ZHHHcjhBKAbtQ==","shasum":"85ab198d38dc72f9d738c8cdaed940ccd1deb339","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2207281718.1.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxwf5q5Yvqn/zGQXRAfaRXb2EqC4/vrnuGOz+/+F6jxgIgR/5+RZbw+7a2ZYpnNbAhhyd4jIIqYfukonRTH9DVMGU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8+POACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwLg/9Hd355zZF50L7GEGX3VBpxeAx9ATRGTPeZkxt+Sm/zF4LzRWQ\r\nfM1yyrxChYt4EerzChhvS8AXwB5auFfxgsgVEBrmAYuHCntM+5xLEJdZ4uw8\r\narG0RUM+DIt2TsmXnfAyoS2+wIFZtjMyh77hAVZ7grsMH4u0X5l3rc0xvJce\r\nu6mfaF/o1Wxj29BekI+hEYCDqZYOgbqqypKSoic7qiYIv2Y+ldux/XfRZzMs\r\n4IJ7GhkW47RWvT2mEwaJzPK3wjrfXsI0c05zES6vn2erfKi/i6IN0CZlZlSs\r\nban3IAqgiyZQUfKaNereu+diZek0JgEO3bItuH2ud55ftDRRXtnGbCSx+lBv\r\n50LhzoGvCSQjxigoRh6qpleIRTYfmj1p6Nl4eRLa/Iu9G4PNAb4FQb89obGA\r\n1eXYRXcPTLeerc8xq0IA8vexjf0dIsCRULOpk0LV0/grEEA685Ilz/S40IXM\r\nFw15zYXZM+wW05hbrkFwT1Cr9n1FmSTgjRpbE5lRDWSmHKLZGdSQ7OE7ihkv\r\nJi3ID5i1/Khf4+kWM+zIoO+LUez4U9HjG2EZjnQg394mXRrtTndfowAnnWa5\r\nmxyC3+sf4BFpYMXXfsOy3vWhpw434hcz6wwqvqb6ZVC8qEcFT2Fb7FBuDqLr\r\nH0xvEQZYaKb13XrZXIbChStyjylYgyBR25Y=\r\n=LQ9N\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2207281718.1_1660150733778_0.5012450827799577"},"_hasShrinkwrap":false},"1.2207281718.2":{"name":"@bentoproject/facebook","version":"1.2207281718.2","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2207281718.2"},"gitHead":"b2cc07c9f0ea3633ed63866b9243ad0bc964dfe1","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2207281718.2","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Ot1InxrefSL1TNcJ/Pd9J7MZ6zZhqCXxUo9n9RqvjNOQAy7bEemKp+geGEebcao+PWGVt7Nmm9KP29n/OQ8L0Q==","shasum":"3ea0164150262c83db62ae790db94086c5abe4fa","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2207281718.2.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+PkgaSVp/mo71Fyoobu6hQ58C0KIqFRCGjpAVfG5Y4QIhAKcIWUMIaPmz/Q11+kY4FRVzOqwEHWUttPqP0JtWISSW"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8/YZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfPQ//Q49OkHG6dFH7NVL1R1xGtlzFqwAXSaor5krZFAmPHIvI20f6\r\nI+hiI9NlCQrFcNR453AoMgglqa8TkwvjNTO8B7UOmOwUhTowlgMu9mE9VEaZ\r\nvdm2DchNPBWRi0c6NvSCTVkzvVHR6Uqw89g1HeO5kyYN5ZYvJmAN5dEZSnep\r\nP0QdUD8LUvyJys1TB9BGcTt532xgTU4UFeKEbvP7Fns7iwo1NWjmFRLIzz9e\r\nDl3wXILWyiH3hBoeTB34XXbG0bnVeA/MXgnf5Jq6izuZ9iMYPEYpEFh+mGMp\r\nC+eosHYK94zPcbmxPLRgQvn4cJojJNnhLtW888LBgGNCRYQ6OoxOSTNxSmDB\r\neouiVM3zcDkekKg8tkWMNI1B26SpcKQPko0VJ2zPuY7frxfFot4XmVCZ4kZW\r\n/GQvrPCj34i8iOW71CyMcDspnuEyBC1h6Ty07B7j+Jd1mqZMkOeTu0FAQ9xi\r\nvtLJQgYO1lpKO8V4FN0dC/hFx2ohrfm1xi2VS8dPG8/DSlHWJv1R93pgSZRH\r\nh0HAxNKryeACi419l3LJ6AoE+KqjHtA76rzCXsRNyAQ56BC0lQg7YoUftOm0\r\nCzls7Jb9VkfTlGPQ8Z32S39svE6UhbdnGpOM0fWKV0RbYBq4S3DYMH6nYGHH\r\nnYOlr7CVmkk1OFndm6M3i2Xu7lnKfu+PKdk=\r\n=AWzn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2207281718.2_1660155417059_0.49017119028499745"},"_hasShrinkwrap":false},"1.2208112015.0":{"name":"@bentoproject/facebook","version":"1.2208112015.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208112015.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"83d345ea27d61c78ced5f68848c4f342e947fab2","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208112015.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-D1FMWu4WcMZ+WMkFi12JNFqMX/PrNqUu4+r1OVMAWLXJkSfc4m+GpPHu/5Y4rKw4S5bl5ebfyv6u+NShYz8SPg==","shasum":"00859c6dffe52a7f96716d641ca5d07c4bfe1d05","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208112015.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDqsiyLa9woauqcjfCk3+FapszAFnofaF5wENB/Wn/zHAiBZB5XJDQda01CCwwpk068TM/nGD9Jvmyi87W/h1wmV8w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9g9HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNVg//UgJ0JvzJ3yFHj5F5tRMxXtTx0L1eFjq/8qBgBSZaXBqRy4RK\r\nn8GxqjnmZ4CFKKyspkI7fLMZy12MmqXmPsiRdLNYHgJepHSZXZI+OceZ7YmQ\r\nbnMPtgv5tgwc6lSP157qDj46HbXE98dGBnbGjn+tIkXEgt5JAuS4/riMfSUD\r\nuOCO+tM1EVB69XqtL9pnV+7uYQWFZ5uNBHfdiQ5I4UsMTmQxmA7jUbUDglL7\r\nSzuTzg+Kn5Eah5UY9fSfnvCDrIEKsPlHAvonMptj90G8t0ikXnHO/ATGRBNo\r\nZr4lCqOGBF4ztY9dc/c3/phzwxhxncF52Kh7+hV0Vtu1R8GYsKbw6kTUuPf6\r\nxPSdD7ZPeNPcDA0sJHeLCJ5PHyJdiQ+nJOsTwWZ0OfOfkUed6RJMJxP8/9LA\r\nyKlX5crJ/Ya1+cWJ0etCMm97667bX5pX10Pfxh+qOyPV44an/L7YR/MANWAv\r\n0Ccfgsn7rzZ5WQx/VsIhh3IiOI2oPBkhVTwMfdwltLK+D8OhcbIN+081U9+f\r\nDFRDnfH1cEreDuL11PmdgoLtmTi6K3MUkZfV8ZofkOXj84Uv7SkRFSbVinFo\r\nY9+sUxGG57p8bJorVHJA0wduXBsa/y8yeTWhz/1MZIoxS13PrvJt/1iG6aJi\r\nQ8/u+q85Fc52W2GoXyY/QshZ6CH/2DMuQUY=\r\n=xroY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208112015.0_1660292935416_0.7774663845159238"},"_hasShrinkwrap":false},"1.2208121708.0":{"name":"@bentoproject/facebook","version":"1.2208121708.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208121708.0"},"gitHead":"c9c6de085436b10c2fcf8e6c10541d6d2658af93","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208121708.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-c8pAciWvg+sM6c8s+I7YoLxXq78+/UrwgKQoL1uzFGWguJaWO9zFr/tHNruzGVZvwITsdm9KmtF0lfIDtYZhdQ==","shasum":"67141d8c685d3cbb164605960194f5401d6accb9","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208121708.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBM8OWn/hdWmSNlrIPJNPOiBVGhI7S+FeX1joE4IiIeLAiEAwowVPsqCerJLAxPxUqRXS4EqqafAYr3P9ceg2ObhtqU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi92CDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMpw/+NoF/qim8jIODi6bzu6XOekeIjXFnZ5JSwfw6W07Jl2mjXmHW\r\nzks2gx19tvz+dlK8t+rYG7PsFn5Og0Zopk5xYRw4Bfy5P9Qp4pqArFtlFrqP\r\nHLMEfYhkBI4FGKgaVieUyLszfd2BLm6ystETNSFyQCy+rtR8QYyB4RB4Qnto\r\ntquE5/0j1ZH/1Wqe/C/pRsrJT0FxLehPMna0qRqJk7AkL98HcCHh0msnf6vH\r\nADUqzDbOYGx9FXj6QsqGRsZ7GOmFMCsUWkNhpeuRInnPGlJP3UjHgBUQnyxy\r\ns9u+W63kf1vq/HchpnVdOH5YDNA9ej8ur7xVOtKbd6P51i2rDcxQ/I0mV6YB\r\nXsFMh1RhDZgP4AWkwfwN2ipT2m1MpZD/N+7dJkCPkCEN5zYr0BawHdRcSVvm\r\na6cyOhFkphpeu21oFurXM5f7asCtILyP75fwCCbvF/foZrgj2n+r08wYYJhT\r\nE4lYUZolwGZj7lEr7JnNlHjUzktnQp/JTYiLF/mKxgS9MLMwLemutjG3boNX\r\nN3eRfR9Sf7tz0AQOwHnyxYt+vHXuh/ptOd8nYdkb5BMKNKIoftcFUKZ1owi8\r\nc7q6AzGL2+hxj/cQwGslL5fvx4leAmLcDj6NO2BB85fTph7bbaU0N07BS2Uj\r\noSIiFDB7GtGAXY/EbHxoBlB9chSQikFgVhc=\r\n=XutV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208121708.0_1660379267404_0.7902180952780149"},"_hasShrinkwrap":false},"1.2208051912.1":{"name":"@bentoproject/facebook","version":"1.2208051912.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208051912.1"},"gitHead":"c9c6de085436b10c2fcf8e6c10541d6d2658af93","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208051912.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-j5sHh6QNwxpEKaVJp5wnDKsiNGWvrMxUuMMaWLYWd9otZoX09uI3zBuuaCXqsZuym+TB3KmA6V+dsAJigyEILw==","shasum":"058e966fc8ecfbf12d2fb9ff17b1faefae962527","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208051912.1.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqTU1Rx1+O4XMShmVUo0WNeao1z+BlU5RFIxhPt1wwnAIgFDyMI/E7Iyt/p28tomT+/jkUA8XLJgtNOjmeENTvghc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/CMAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9jw//daHkQ2gLgoHkdj7XhhA8rRs8JJqlVpU8X8Mf23TnHfnVwpCP\r\nyFx5+FZHFJIXGBLkKmBze4SVBRFr9c3bgquLbuRuMhsS5u4enKxOOdudsDer\r\nojidy5sWFK9WNvbD1g+ZJAI2H/TPLawjFT5QhxHJ8kcB2MQJbH8C3AjMfz34\r\nshWcr8rpCS6FkT+r4bHdfGxND2c32eAjE5TGhVrYyLgsjD2smTkZpMhpjH9u\r\nLjHGpGf51LlyvILCOsTTXfo1D5zYZjVlpDP1Jx6fvL1tKyP48mLxztC8UBfy\r\nLtsB0lnbekBV77xJmSVG3r//NSN8eX9LmQZvmzmwCI4N5MUabdAk54L6PXzd\r\nfcbvBvHSt35J6yugdKN1t1xSG5DWV04Wx1kHOkcRJyeqT+A7xtPpyXJpaleu\r\nNR1H6d73BjXGQ5f0fQZXVCbzYnezWy1a/VpDVJO58SJw5LEKt6DXMfXAXZ9j\r\n4axKn/6WSTwV4Dy3c4jnQYQ7h/q06vxFRe76eNsorWPIpLuki3gGpaPI4xnX\r\nTUHDjVcQK+4E17SlNw2+fpcjIbLtIlIgl0quWte5NdiQJVYmdkHCzrulaTQI\r\nGDH1T30Qqk/tflZR/dZV7VYAOewE80GJgbuQ6Vb9NrL9mxddju5AETI005Hp\r\n1YnRvd0IhkrAGXxiPYNz8uJKc96x3HE4RYY=\r\n=BOBz\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208051912.1_1660691199702_0.43424547838920735"},"_hasShrinkwrap":false},"1.2208172101.0":{"name":"@bentoproject/facebook","version":"1.2208172101.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208172101.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"372d5623dc25138bb97bd48cd5f97f3be8008658","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208172101.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-7rT3lfQO1PTDS2CD3tsd/vvJ7aMGc3MPRo0sbm6HfhyqTXn0KWLukO32qdliISpQfznM0bqZYB8S3FZeTS9N9A==","shasum":"0b8f6287994fae07016274e282217c81b1cd7bc9","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208172101.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEku2b0AFuoJO8ZFQSabb1SFo/e6HXZ39z6cTkvIWkpWAiEAveo6QO0zhTMvOD5Auk4qKCzU4rJy0e8o1N4uNmb8ans="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBpCvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowBw//e9VOTy6+E7Vjl7MqkutDYMMluNmGycGiPMVrH1q3VpNvhql9\r\nt55K2s1iP+IfROqdI4/suL3tTpivsE0N7o8Xly/oeW/iSKqta1yY7RplywV7\r\nMVp/+4baUvCm12oHKqgUcIzw7Otxw+rAxs2X2GY7Rsj9x3HA6eu/QFzvcL5v\r\ndgNY3dOV2d10rFR5RkzesG4QviQzV5s+RAdas5aHMDcoSPcjghhHbox6mZjF\r\nGm+PoB4bWVWnng79zUUHw9/Crh4XCjLD1UeDW2+CBoVMWLW5dVpfHU1Djn2f\r\nqQx8mY3zURicyw4ve3//PQAYjjrj5Fu3dxeS+hTN2X3plI4Bf5K3IxCFskc4\r\nt+c0/hQLJGifkUu0aBJR2pkAd2HUrpIpH6Y3FIHuLFkhppx6ZJFVqA023gX5\r\nodQ9eODaaRZiNmro+74efpZx6Ylnb058S9HcnNy9oa/80HfCi+phGIT1YfVs\r\n9dNAue/LySV/movM1ZvLRHmaVCSRxBxMQ7b+MaMdnyLZbw6DTjN2SDAnHpwb\r\nrXOPFvdceaRkByXRQXO/7XA0FKdP2aDrZ74vynTyyQwicOTinqHG9a7dXXvB\r\nQO84L5+t/uXFFXu25iqXF3ukyyhgDpuXJMT+PXTg40mldT1U2RgSY7a7QK/y\r\nkuqgTRECoMUABjsDTjAj+CrAxl2Yq2VkU3Y=\r\n=B93A\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208172101.0_1661374639372_0.7082547433035793"},"_hasShrinkwrap":false},"1.2208242209.0":{"name":"@bentoproject/facebook","version":"1.2208242209.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208242209.0"},"gitHead":"0775e3db3f5e3447749a9de6b4ef38433f6db4d3","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208242209.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-K5iFXi3kKiu1IQC3Xg1slmgto/lwBZAT3SdipyO3EEDCouiI7/0b4RmFf3FXsR745iTCLi1rdeM5YQnp4xDp0A==","shasum":"708d81cc5c5a9e48c54679ca574b045b26758b19","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208242209.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARMytAWr8vwBdQ7GUgaikh5BVb02+qryYJD4dBRx+pDAiEAh71ryaY4zr54XaA3AJ+UK70752sVjy4by6GknL8pCoU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBzKXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+OA//bOk/vjOW3My164P3/YkFu312zJYLikkz9plQ+ItGhCFx8jF/\r\naQmNM8pDUngkRg33kPB3kD2dplW+uhbI+eZ2QWh2VjBf7DcC8bwoTZ8AXg1g\r\ns5pzVgpvzKxSdGLgHwkaKzAjzhLJHWcozvU1p7WjI37Oh8hJKtAW9BaBHlLb\r\nsb24JvDzr4Oh4eZcSAcQpebmE6WRjNUro3Mc299DwEWyc9sZiCFAZuXan+24\r\nBsHtyyHGToEpHDmYiZ6Vs3JnyGzbNEILIdSI7yERcxSg1KnzYoYD9Of5oYWy\r\neownXGfJAGv+fPAbMX866TTVpxUjfaHt1GiuxtI1vIs2VTCAvqB+3kpXV8EW\r\nkNoadMFq3gifbsAt5wZhlWOFWRsrAQb8eecxj/Alut2Plzb8iTjf9dDQeXDG\r\nPnI3bGFHBc+hHPaKmXHx+HHjTngwzAR7+lA7MxoO/pdwk6FmJ8Co2q44Ajkr\r\nxH4DzE36w+D6KbZTSkrnDVHo4GceSP3LXaBtIRZXVG9BIT0zZ+C5o1dgMjEN\r\nix/rQyAetGRn/K9FakUphtEMnzEPOAFlJfzYx4L1a6Vh1CtQx2M6c6CdXJdu\r\niuHiy59Jjjrb5nyLXlvCHToP2016h5inxRH6MQHfwA66RWm9CMUAdD9lF6qx\r\ncuyffT3HtLPYkHAl+YZLoZ3HAv9MDeL4t0M=\r\n=W7EF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208242209.0_1661416087155_0.8009717041610862"},"_hasShrinkwrap":false},"1.2209072154.0":{"name":"@bentoproject/facebook","version":"1.2209072154.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2209072154.0"},"gitHead":"b0743385edcd11eb02b6e380c4fb5a18793960fe","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2209072154.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-hlj/R8pVMB1p9qttv07nHVJOg1HvwD+IhrS5eWc/3i8sHREHNehHlHIF6E15qVqbAtYNCMOtLcqzadvyFXxb2w==","shasum":"cbf0a7ca873ab707e7e4f09b8c32ac1cd00819d6","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2209072154.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDT4hIDbVLfNG3OWAOdvpPI2EZempqklSAApWqVxkBeXAiAZxLpLkPQMnKuJzU0QUCSIOoqXkOnDTPx4bmzz1MtNGQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGaccACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZRQ/7BYjvCPLOwo+Ty9PJzY9cADCfYKJuYtu1TcrXFp2qtLmHYcsZ\r\n9KeP84qARKuIGP/xGfC8D6D0C0RhWcVsgai3/w3iCQIkRlJLFiCLSbBLD1wz\r\n2fLWtCLn+UYcTWx4qrWjZXsbetpK+DxkD3e761dEyRRIfSHpuALfuoKm0qCF\r\n1EpzjbqDYwTnQ5x8cfSEk64AYTtBWQmmGqL92D2XUlmAHCBnZReoHoT/JVu/\r\nD2XaiHLzyLzfCY9Z9y47M9i2cvwTikhhwfVSNMCt2siFbsdFGOVnPRq9bpe1\r\nizE/GNCpuzNXXctdIjWA1IKaUeNsnjdCESwZdnDuU9npzPaNFOUSnU6uaTjk\r\nY81QQrJTzFhdnV5RLAN77YjuUKz4SwnwCAjmgnGSCx3VNzyrDJjoYKGfxNyp\r\nRRdNDFQAnH8bA0ggvSu7uEDunGv6S7ghQ79iQ8YMK5Nqlinl1bTqShFqyIks\r\nvtySZtr5FX+T8/pSOPY9PFnIJ17ny8OrnW46WazONFAL+lO1YaFqmfgWhF2p\r\nw9zZ7Qqpzu7g653vx1aWg22MNmU7iIu6ZegXrpkZTXnXOBdc1RfH2YtiyvJF\r\nRha9djVlJ13WWAyXVpAVgCBsSt3VJ/yS59m3bgFo6tTAIk8ZlfA6uOPXN//u\r\n6ftItxmyJpmPeWCiLu4oiXkLxSNoKPVoro4=\r\n=Bx/6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2209072154.0_1662625564480_0.05854488315278594"},"_hasShrinkwrap":false},"1.2209131909.0":{"name":"@bentoproject/facebook","version":"1.2209131909.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2209131909.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"b912a3976adc47e6a81ae645cb98e51d1e778150","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2209131909.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-dunjDVOWTtT+tD6Tw9qnUjCz3T9X++KwdiuXqRk5MKqL5mx6WPW+FTAUirZW78cdts6eVwMDakJc06BKAiOg8g==","shasum":"9aa0aa198a20f1431fdab3c5f022bd265b94ebdc","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2209131909.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGofT10dMeDw9j/irBtqNKbrC6zvwJiWz7F625STd45QAiBGBnAtyix5cNB5jtWPKcnJc2qJHdaP0s31cHdHR3pLvA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIZYgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqO8w/8C0UD00CNXVRFocZY5CgMXxcNEte1N99zSElttifX7Q0pN7Fh\r\nJDp+iPeX6Vakh3tc+5lGknyxaEMWs8par1PIxyaUHg8rl6lWzf09H97iEazZ\r\nrJ6napz+II2YX7/HXhE925Jb3WEYFBWgEK08AtFN8t0NwvFA/Z0Srg8vEudY\r\nyIkjvS/wi+U3BENz+pBAaOdbmojKuOz9o48tdDh2RfJy3m/bxQELnAFukiib\r\nrB2PJAtb8UVfErZcrdL3kSmdpitgxhZMwQCSyHNbFeD0tnZDKGL9Ajnvlz0J\r\n3BNZB2vUqPV146qC7xv3MwTEGQjG4OYMNg/A/4pQUax95nTLLj8uZEYeEM8z\r\nQbIroDvVjDrRiawjou64VS9k1RFiuDHYg+c4vnAZ8jzEIM2o7TydHkpeHZIf\r\nAEHRHFw7DeKAn6rUiF5UabEWHIYalDHHMydsIyNXhEyTuL6eK3hqmXNIWFLw\r\nwCDsRDCJAsBqgmJ2jCTOsQWsB5kEecVx7oWMd3qq1HP79F+kVWNdEk+lq6Bb\r\nSz2JqnoTctmtFVh1d2H/z0l4mWMKLtjOkcS/qeTsqSUzX9ZWJU1mAd8cwfg7\r\nnZm2N3/XzUINH5+tVwokZz56w/bSAzx8Eq8uw7GABKYVAVoXxwf8fCw/Kqmr\r\njR6KiPFayxzfc5xh8YMF/gtgDKdq/EHwPQs=\r\n=Z8UQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2209131909.0_1663145504501_0.413449498913411"},"_hasShrinkwrap":false},"1.2208242209.1":{"name":"@bentoproject/facebook","version":"1.2208242209.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2208242209.1"},"gitHead":"a64b6c7fbfdfb75c935b112118bddb3fff58ba57","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2208242209.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-nqg1sPctdMN2LKukGevA8aQFBZLUWwyRgVuc1SFkSylXUQgml4mxW5tFQKcGDjLk3YT9f9KWc+NhbHmuq9jdUg==","shasum":"6df349fccf38158e2786acc268bd3d622e83695e","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2208242209.1.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4wfEVuhoaOFBn07BEme/wGYtr/xHudC18FazCC0QSXAiEAsJ62hIufooG0/taN4Q8wjfoKIZtphbnxzOH1q4HAtUA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjI1Y4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8kQ/8Dwde0VUjsHQB2I4Tuk5QQviy60pAXbKL1o6qEZ8q7sSqs61E\r\nbgxXZ7A5jgMWz39/Ja3cJHSrHHC3JYau5j4fk4zuNIn21cZg8mb32NXk11ql\r\nS3ceBxRGAHYNS+jbPTascni1DHexDCjgk95Ipr9rbJa0s5LCCt6W2F+nnPnG\r\nUvT4dWK+uBkT/jyVyrbDHkGGXjSYZ8b4SI9t/ArakI+5rAiLy4ZzW1UDJOm5\r\nyO98XAgRuqj3cea1TcAaAqkCnwCW3SDA4H0VHpi5ceJt+ectHCkwVehA0oXy\r\n/ahaTF8dWK+ryNAzF59Hem04p6xC6wMFJnwfbRemUjh8/1V3PSOdLiKhXrUr\r\nIsg/Ru8hycLW8ePPR8nz/uYcXtkrX12YSoBHfeV2GuxQ9fE7ZKWApNnuqQB9\r\nUkmtKHaYoSV6iNkXLrfdJf4lhJXCJkuHbzCsoiCzB5qTexyC+n543bEDE1qp\r\nXfUVSXWEI5FX1nTShfvBYYpJl48tsYB1sIJq3vDxlaLx4wHs+GtoOHk7PS+r\r\nY46PT9VnETVcMUpIJW95GRGj4KHBqrEGlN+R1eQXuEdZOt4z7IjF+SLxKo4e\r\n0cM9wRo3i+kTT+mmKcgjkdLg6Uj1B+EuwawNIWZx+P7Xj+GSV0TKEdXnnhT0\r\n70WxGBHM1mgGkXy/LQOoD3JhDKeLNGYtOdA=\r\n=0Odm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2208242209.1_1663260215926_0.9989335661186751"},"_hasShrinkwrap":false},"1.2209142312.0":{"name":"@bentoproject/facebook","version":"1.2209142312.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2209142312.0"},"gitHead":"8484b3b1dc31fb138a231b2368acfe2cb4eb913d","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2209142312.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-PpmPeIWNxaLBwvVLohMCionJw+Z68X0Q4yqbM2y0PlMjIs7IXoMr76+QkwcKNt9O9KaBXoEDOCrWw/Hnjm4jOQ==","shasum":"c980613baa3f27ec5d8867a1c2df7207ae5b0813","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2209142312.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDGCapZtvjVk2Fk6kpdOc5LxjndtixZi954J2L4KbygPAiAMuFCUevR/FbmR+6oD4hHCqjt7M4yDdj8NZ73asYcCdQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKjnuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0KA//Wkg2Pf38e/Z6iSGGnuMvwO7GTZH5Hs+nzN4xP1zesWr8mUk6\r\n0ox6a/SuNYoRYVDIgnOBIwpnTYgSm0Y4C5H/nFRnBx1yHd9sbjw4GWMp/ZAi\r\nQ3Ws64HaVi962Ay64hiSHa+jLbp0oziPn4D/1/YNUBm2bea0EMSTmW2MzJ2N\r\nCALahCXR2WUrMc30VOv2d8cGCRnkDuiYeXtuWlsV2tcLCbgM71MZaAG21z2R\r\nTxbrqrEz86H7kl98UErKqR3+SRUyrEX3jhSV9mQxadAjTCZewzX+lnzNQcCk\r\nfmIVZC+XLsMbujkJL7KU94xOAa1j8ouUSI3Ta06Zoj61aN3pQsBD8v6iIacD\r\n8yzpvELuaoAykrDiF4DY0GzpC7PE66icRrKQzgGfmzHirfpl79zqxizRmKHY\r\n/J2G1jAUWVYPuOpK78q7uAoKdLmMSSCYAwK7JGBE3aiRfR5bP1WnIB8ZEMvs\r\nNT9bio2nfKExu3/qTDovCHEmEgiL/6A5kq/KxwdhpTnc5RFjlgu7ee6/f759\r\nlL5VHykj2E3gYaQiL2uik51IIriDSVXzb2y39lHmNHR0ZXpz+xYU8Tr0l+f7\r\nSm689v16TTfHP6LV4vFbKITUml3zYoUPDWWFNlwUzGj+zRouJuuTVcDCjyVU\r\n4nfRc6Lu1AGwHZ7ZrDQaN8hNt4u/u1d1RfU=\r\n=cc+g\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2209142312.0_1663711725965_0.6955105101291699"},"_hasShrinkwrap":false},"1.2210010655.0":{"name":"@bentoproject/facebook","version":"1.2210010655.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210010655.0"},"gitHead":"b0c5acce5be2019b787b6f4bf7feb13b045ca7ff","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210010655.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Bs/S/z121NQmjGLnNWOqvAIabcYh+kvpUlL9e81/JPBlBc0Yr3T06REfSgi53xRzoTJtXVhuPbeQsp7wgQpVIw==","shasum":"9c21792ce22c1cb851b171f5257961322c84872b","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210010655.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbqzUqVuIBf/M3hP90coQxOr2Cs5Ia/fZRqpgMPov8ZAiAk+gXLboaZdKkK6E2kWpKR1pCUTzmayKR+QEfW7YFjgg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPGR9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRHA//RAOg6biTZX+qp8cqAOPoqkGc8R3lUTQsKoh075eGVmylofdX\r\nvs7CNn65eX7rq3yDROxAZw2r/W2yf8mKI/jFztJZOP+Jupt6lpDvArECGDsR\r\nH8FPQ+3nPQg3qaQNv9oW87ypGcAMZbOqtvbhcBTlYLABLsNJmsbkCRhqf4Or\r\n23Em2Hmioeeg1Zh9tapIaLbrHNTwwDje6Prpk9rw4j7uFA4vas9WwUQroD3a\r\n1w7axlHjzcm98kQRB3wSX/E/WWKuXGvaDzPVpz5nrIUwhy7EPhxC6f80sYr4\r\ny+/dUCFL2R6QaobwDBYT48x1ORr3MuUzbl2CIQVZMoPFsjcxH3Ul099W9X/J\r\nNz4Scgo92eSVhBbaSghWbJ+kM/t3tUjRJonMs5ct6Ee8M/Qj3jyU+WPsmYF+\r\nw5+s2H0XUtTfsjMD5skt/u/tjA9vRiIDRakkp+uCwHDH3De5EgNAu2HBdOHe\r\nCyh3NwA0EWIGwjOTw6cbaxwP/pFvEeX0hEwZShEi3iq9R+avfJ1yZpGfC4v1\r\nN5/xq4okLv93u0EgzqvoJnJwvVlNq1ry9Rv0QuqzNeXjSsE1Zp3GdnTkH0hf\r\nybNfUGHBveJokd7KNNfaxsOJDJHte99k+ap5LSIELkhRQxxi8vz0mOFozaUW\r\nxslw2xYRTW+Rut/q25MSvzOX0DY4TXQL3Yk=\r\n=JZma\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210010655.0_1664902269595_0.5846848428576343"},"_hasShrinkwrap":false},"1.2210041838.0":{"name":"@bentoproject/facebook","version":"1.2210041838.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210041838.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"e79aecc1c4639b06a7f2843d961bb14f293a53ce","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210041838.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-YEiD+/7AyO1aS13gv2x0RtnfGUtP/DG1M6Wd7wmV5P7ukU/SxPfOJzwIoA3C2Z5wwneQtpQaD8bDkC9sbzDDpQ==","shasum":"e62fd88ac94b88050a72edafbe6f9952343633a5","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210041838.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNOAKym8oOpTvYew829FcIXoNDHiGLhf8vcSKNpYPXiQIgHf0D3T+LhLdKuHtwPALAOy23+FLHb/4Mm/ZTkucaY74="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPUDYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1AA/9HRpD+m4Cws95P0MyZCbBOaanX780l/A/pEEbOy9dK6qgEAmG\r\nVB2j1YqtByr/Hhf2zyLNkQ+bpyQsOcrpwTQGtX/rubEasiQpwJZBQKC3fA+p\r\nS4Sf09tewhwIp6G2SDrAkU5+1iqRdgX7C5sU3mggkCYuPcu7403D5imT9OzX\r\n6i+VUl/fRGKZwbUZL5Lnw0sGjvvu5q5YBvamlsodXT6sJ92ElTn92R1I2VcD\r\nXs8z5HrFhHJO6hYFLOARmBLXtQZ7TFrNLLHNrp1fehEpdqI3iYvoWjth1QQE\r\nGXb946LrnthwG/pJFeSgNdm/18w/+ZvtGhXOsebSyLWddJFAsTpQoTcGOVAb\r\ndiJG35vxDQRT/HzY6K6U8vabqW1czTKbolwL7Jf/npRSEuhZpUilXiyXc4z/\r\nLFtZO9oGFSU0trSnsz5ZRvB9XgVnt23iaeZafTOt6haZR614b4gBmY7lInbm\r\nUZohebwV4f5LXCh7Fxo6dZfRt/BIz+s5Vpl+Hajoi23QONplvGJsgjh7I7Ga\r\nxEwggwKS+XFdcV3nuFsOtDWy5WEcjyA6iITAKBoXutddH+qV7H7c6PL46OO1\r\nxLEiumKUStOu9ENoV8WAKoZedrpJbCI7uvRSon1RykuqeykJUIc91PrXvEwe\r\nxLLlFQ2HZ5gzBH49ALvTc+XYz3prU5kzVgY=\r\n=rYy5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210041838.0_1664958680292_0.9365496368833954"},"_hasShrinkwrap":false},"1.2210052034.0":{"name":"@bentoproject/facebook","version":"1.2210052034.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210052034.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"8a0a0067f57f89d0566ee1db3d4bfeea072d3c56","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210052034.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-DVBtwEsUkdjoTiLD5MFS8h7h2Ke7iEdhTVIgWykrdXq6NmJL8iZ45r7eiQo6gjtgH3kdyQVD8P/7GzGhQRD76A==","shasum":"c7cbad6cbf942649179f488909a47c3f3915c1bd","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210052034.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKS+WyB+WhIzHaBMPme/bkp8ts2I1hc476DZc912mB+QIgY8kuNuQxppEZmUV1hd2oNT0YFSFr6imSo9xEtENDLVk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPpEwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmryihAAhpsr3js0FoJKNR+1zFULAcVNScTtZgcDLb40rEI7ThYQdqvY\r\nCD1USzzoZoUywnp9LuWia6ThiVab8oXCs2aWnyxolckjF5WNvJEmQymOwrzV\r\n7HOsQLVlKfcqLJxjv3P4rOMiy4VhLcrYvNqUtpbbNPLEK+m+YXXSba2QIvYv\r\nr5XhQnga51xdT/fkfvkeb112yeS8JqtSKo0gQTDF+wtjILOEfGfGdnlKJHly\r\nnwje1sgJs6SYoc+nj8X9QteKwnjTRRbn1BW6enCUTt/g8WWSo1uzisjM0teI\r\nP1hStTTWMsfxQH1Op9kVmSAbciEC9JjtIAguKmw32wagfTsomfFlIdCTJ3OZ\r\nbJ/nzdhkqU0zXeG0bKO/TfLypsLaa9Goip498EqXPxiRy377S9aXSJnVxcID\r\nfDfDWeQOft2BRnFMwvIgT90NYUwn8Rvd6HSIgcYUScXvDT7zYE7Fvp6fpzyb\r\nchbS9qJ2BDHKK8bGs+S+ervae5Wb9lR1AzdEmLkoSVRSVceT1JtWPswBTLfX\r\nlAYXDJHCgOY6OiYIrWEYbn6I+9jSW2v74mrGD85sKhZoOPyu04q6ClYJqss0\r\n6Oc/0ywV2NgsWDYjSTHhKpgc9WsFO72mQAZZxp2Ucn+1pcgnnFqcU+yoaJwQ\r\nj8xQ4M0cUYV50BWY53C5tiyt6gC1PmhYa8M=\r\n=5ssh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210052034.0_1665044784048_0.7858082551403107"},"_hasShrinkwrap":false},"1.2210071758.0":{"name":"@bentoproject/facebook","version":"1.2210071758.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210071758.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"7c969ff5fd5406304f6a9867fa0db59b74e94524","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210071758.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-pTfDkTpQWIfJvQe1ACnnliY2672CY3RKTH814p4uuJQW9NTk8opgu+p/87a8MU+WliMWmJMqE6P4XAOVAb216w==","shasum":"e80d85bfa7acb8652862dc11b3ee243bd3958c94","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210071758.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5E3lVwCakylbJ1iH4AyXcujXFM8qF0DiYqMPz8y5rAAiBsA0Jtg4xbsX50TNICt1rqczSEdt9cslVtRaonwU7vog=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQTRWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdgBAAk8Ky8SU5UP0FLKir1MPjQnXiBHJy6Q1QY5112rHa4/16LbiH\r\nQgVSY/MMMIVUrnJGbHoh5xXR0gbbf+7QhPSEvT1vn36iVaEVSx5RqFZXKIcB\r\nA9lPty/RIShVIMIG1jEmUAhugjwCtXQoDmx3f88Ai4JkCLIeFcbBRprcwszG\r\nkZF7IN67V4tljFTjXYzMMNeaFAgp3SsFlMIrDrpPb7wjbpvGJb/JI5O+lDFu\r\nlIjolStqzI5eYWFJi3pONyOt9klrG9Zr5x1Re6tP+ZmCv4q1mOTDG3nforUb\r\nmGlGXMKxFiNqSYDifYjPUY2dVQXErk7tosDzTWnP2D9C4yh3W9PGRkC/cMBP\r\nAk/5zzvBz0FcPv9BrN+V8jV3VrBiAC1kdCSCoKGflobh5SsKBWjaRR2ydlLa\r\n5z20pK91iI+heBBJbNJVX2AZl+paRyvI+zjSDHBb3cWu8bDiL2LnG5yCv8pi\r\nrpRXzhmk+DAZQClE0UE50J5IoPidhL5yx3gWDyENpMKZ0jk1BJkZ6UL1hq9t\r\nftlmham7QQt/y1l8J46AGrIzDGdYJsWdGXU6Yv/ajnGLQ7BEzqXEXd8UGVI9\r\nt3Vy1igiZ/Eqr5LHhJfCc218ayRm5ZW95vCMQzIX8yYV/QPgf7jJiDvJQ3aS\r\nli9mq9POIEdh2dw9G4aztFqZAlr3jQsyVk4=\r\n=IrKk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210071758.0_1665217622478_0.5071735973965135"},"_hasShrinkwrap":false},"1.2210112333.0":{"name":"@bentoproject/facebook","version":"1.2210112333.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210112333.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"1d82bae06844d5413aeb632cfb2f3ef443548ad0","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210112333.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-eaBjxh1hgdgYZtbmg25kQOlx+YtzrER2QKCKWEK4EdZcq+E4BCnRrb3D8nOhbVBZ/pLTl3/XDMiJrCo91igayw==","shasum":"5eee84d1c9369e759be012818565eb75b681162d","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210112333.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBk98hCXOs3Da1EBJudmQ+a0WCKrH/8HsGq/AqhihM0tAiEAs2nN7ktGDkC5OSBlHnCCjOqnQkwdeZlsGwGXroELXVs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRnm0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3ohAAo0cVZXHWprxQqXQOmIgHm2MFPlszEkys4SEeEEzLn5CpS0oh\r\nxTFzJzNoTiXXw9FOxriPJb3ZRYnHNwU2X8YcXQ+ZipZpP91jn2FCmQBJ446m\r\niElo+ZWlyhELupqAHMyzY9F5yR0e6SIaefQymECmvpwDIz8JoTu/WHqVWeq5\r\ndFjRU8fG0JdF3p4N5kvtV2SpACkamDUiP8K99/llHZg27U4tci6gUMDSgxrJ\r\ne9UtRZH2nBxPLrbdDNYMKgca4wxQ4aKoZ+dtB2Zxvz9PKzsvlfVFK5E1oBtj\r\nlPQ6V0zWyWFyu/C0e0fxnt8+F9d0Juv887klFZCoaINYlFl2SfTj5u8uiZp/\r\nvwXDE2L4hEA4+73A4hSXjoVV4WSR0QD8eeEtTY0934UZ1Qr/r0C+LIBpi78o\r\ngpLzEQZO0Fot56vP0raG9tIkikdEIOiwM1yr+8avZoQiC4vQmBVpiujnRhmy\r\n7hoONZmXJAR2dnX/uJjwzHohbQbE8IQPWXq+xmctk5o3qnH/fpl1Dg9YFN18\r\nkOPEE/pRgTNsFM75WNsJddZoqYqrdLj7a5FIxXU38EyVs+X1AqupDXZKPABY\r\nyCZw3PPs20Gn00MZGnqlc8WhYs02eaZwokY6wscDpjU09aCPwN6KTW/K+DOS\r\nl3BmfJmz5Bq7E9Xn9NBYY0ORJZY+q6gVle4=\r\n=rTEv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210112333.0_1665563059853_0.7530056297267378"},"_hasShrinkwrap":false},"1.2210142102.0":{"name":"@bentoproject/facebook","version":"1.2210142102.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210142102.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"4cbbe2b23e7b0c5b0c005c94a574ea48a45f7693","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210142102.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-ZYda+S0OXtzjNjsY215opd6YCZNeLbPyRUU1th8nLIhDrNBbi/WqGxYkpbjQ1lESdrWf+cMFqomvCgg4Gxq3ug==","shasum":"b160bdd786990fc5b55b1f6dd576d2eb2e6a2438","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210142102.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG4l1PBFGfFaKIyPeAkWmDNpAAyQMJqM0IElo+J8dteTAiEA+w7FQc+ApudkAZ8t+DxWL1HpLDBbM28AYH6X1P0MY60="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSm6SACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRYg/+KsJYahYiPXfg+acb8+72pxSeVZJNwotVFr1/F6gR5Eq8loDa\r\nTZA+e6bLokXnHzpntUkeUohMPnsy55UDfwPcWWEzrattnPtt1g2V+jyicuQO\r\nGUMGeOBIbN+o44J8cF6LATSv8kYALLGSWr/DLkf1XRD1AbKxY9TspNtHiqUO\r\nubVEiYm9y0n1XHmVv9hkCIXnvvL8b/zM1l5pXW706oK/HYUbiZDTcz+sW2Qi\r\nzAagAjVCIrDafe8spreNcePujkT2NE0alI2Dt4sxCFyxFkB+NfBRdKS5aoaQ\r\nELkdZvwSuknx6W/WBdzEwU787NolaYkNJN1kpKmH9Ov1rZE4mahMVXGIz9si\r\nne4mjJEztgx9mMK7bm2gCJR8a5fojbIXFIM2AFeVoRBmeRuYbWMEkqd2j5wk\r\nLzOVeQJzhGiDMQfHE4TOZ+kbAs5sGnYX13dLfiCv99cj7jcGjtmv0I0yiVSD\r\nKrZKC7bmdlDPNQBlYimV2ingnsqKJFaGpJ+N9lB51FrDgxpvjLqzk9Punduv\r\nvME66O0GnLZ/97GQQ5ttxbE0kUyhBhRFtw+Hi2YMwqSWemV2r3Diuj5DRWym\r\n+OoE+grd30f8YrfrvO6ZWC5UM6bfuLRZThtMJmeAUgAeQGyPjwknOhrKWaLm\r\nPrRSl4ziDBtwtxSoQjyBgMlrPi1LuaFxv8I=\r\n=k7Cf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210142102.0_1665822353919_0.8546721639590196"},"_hasShrinkwrap":false},"1.2210172057.0":{"name":"@bentoproject/facebook","version":"1.2210172057.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210172057.0"},"gitHead":"fde225e8d98aa5d96a939351e6e53cc7abb13cf6","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210172057.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-bk7k5NyujHAmzqp0ZRXb7oN/aRd1dEL5jvSViMIevxBWMHoN3Mh9o7WeicBdhzK22KYprjfGbIiQiiXsWCvdxg==","shasum":"e477a4a811cff036d068a7c456699a04e4c5ba5f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210172057.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDo4x5D8yPy+5tCGUwk9/WPHacHFRiXpD2yO5ZuxMUR8AIgSdYSXst0RXyD1bDcrMQJ4HIwnJCgFPzASPeyY6gymEE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTmPQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXxA//TYVFMl7a0vR71fJYIZoxlWHm2Q7gRloIo0Xuw0TCjwALO3UL\r\nTHDDlrpi3DYHlBhnVB60sxrI/Vjzw+fPwVq8XOKAWUqO+zjRtm6fKSRsfnHh\r\nZqZoRQYiv+nWN8KM+CGW5SjVWY13FnbS6mx+cbGF1wwnVpoc9Yo/JqP9TV4q\r\nxJSqzyn2VyQ8pnYrgLzS9YmZZzVNG4RdbfdJNIFS4nDeZYIQVf9hiMkGwEy4\r\nGvCZ2UvAHqga9181A0uKhZQYLuJsl/4VswjNeWez5YuWK5QIDiFtsUF0+fuO\r\nadYil3mWdIP5e5x00CIEHTkoi+1DRCXtn9b6Fv1qYOgFQWd7j4B7FIfDyo2+\r\n3eDI+r4Lgd14KCaVK5TcmszDs+MEuqajOOYfPJ3dAQH098Rq6RooEJUNPQkw\r\nS8S9qesCjDeaMjxvPXmVWPA+fzZBgLjyWpm23bofiStfOR76C4AAl9/d6ZzI\r\nImjjqTWe3lzooBRaYxc8cYOUqYngJGV54NdhMbjit4WQm1ZQpP7VAkhtLoGA\r\n4aW/avnPzxGHuEVSGfE2WOjNHsU53ZEjKDd2WPd0xXhkgFOeb6CpLvE6Xgun\r\nErNZssvsNjWyJPvGwcgBmxWuuUMWFF2vfeQyKiXK47W4w6jO1K+Z8YUSCWt2\r\n6JMXtfSQPYNBBKY1mtOpClcRRCkday60ZZA=\r\n=MfUK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210172057.0_1666081744587_0.316314901557716"},"_hasShrinkwrap":false},"1.2210191347.0":{"name":"@bentoproject/facebook","version":"1.2210191347.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210191347.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"b2888af97582abcfae901ed340328b22e9caf2fc","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210191347.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-hMndzc5uV7nE9GWw4l5UnRWbDbXvnyJNUoSUkaqtr/sTfFu8F/GR1O3pc2won0oj4klFae+MMxs336BR0GwYXw==","shasum":"5d843529266d05f9202f41daccc60db50480710e","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210191347.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqc9QE59NyvjlBOdqJN5X9LwOIPw40o2BjR1r7u3sc8AiBDF8rHwX8smG208XCVzC30bZKokVYXtpfKv+11NhMgSA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUQYmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtRg/7BK6JY//f/N3TK+xAzLGgPlOPrnDoAzsi9oKhbH7FXsD/QSCU\r\nRTbj3hCbFnbXja8A3Hg1aXqay4Lz0bRjqktIrP4cpmh7z8lD1Q0zvl1xg6Sn\r\nivfuk7vODngb9yAcX3HYl2zyfJbtzCsLX8eyG+2ApFCeDuuNlSPQBV6tcrzH\r\nzgVp+CMboCrVPGp4qR8xihAfSK3HYWxh4Z3drBoUSMC67tQfACUp42ENcOgu\r\nxXmXX4Cm8tCFJdBZNXWKbEW+a5VKFxPDpn6a1eTvnXPZZTUFpn+jCs2WllLM\r\nUbr7p56cASKpJdJFBscZl2fau0W5vtMImJmbcjb38+rIZYnhvXv3xjMudRbz\r\nwQWDYRR34HpjC1AkAIXvcR0DkJ1yhcxE9qr+tnma7H92nfFe7HnfCZTKSIrG\r\n+8NAthyceCJNhkvyp/owUC6DMDuZvQjUT7nHCv+M1Sn15saaXPOujbCQnwoJ\r\n005TrbdFLJlOw2AYTcX0TPD3EOeMUKKCJ2mfgdGhJvX3bmQFUUCkA40Bp3IC\r\nEFfwVnkUepV2c8i1b0agDnXmf0DvZ5z0J8ano1gegdKEGMYHL6670YwBvav6\r\nkBNkT6GyvrUuNc4UWmTTnXNmUlnYh2Ci38Odz8mreOqecHFmZ1Y/qDFXD8QN\r\n3s1d8PBd7eeQbHy2Ej8aFEk1alcT2HIUh7A=\r\n=Dkyj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210191347.0_1666254374498_0.10675568498865862"},"_hasShrinkwrap":false},"1.2210211855.0":{"name":"@bentoproject/facebook","version":"1.2210211855.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210211855.0"},"gitHead":"07d99f82baf83d9f0162a6c7b8790cef43e820fa","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210211855.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-yJ1zPCGLXLQEAtdSM1vEgObq/6+v2h9FKxfqQkntD+GBa0ejCey8S4Rj1UIANXckt9UYGKW0J6ZPrn7/eT199w==","shasum":"50fb589ff1cf5cf684266b761a224c63f9a553b4","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210211855.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5T/f3DsVLLaLluUXsMtiq1lIW4tK+Oqv+HyHU0kiqpAiAc4Bqa17fV2715qjczo5/PndTWg2bwS0nkg73yFaPszQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjU6juACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqghA/+NZEyoOdT9WcYTYulk8G9RBmQsoHVgMtvPxNyftiQJgVt42fT\r\npJoWghPB6XhvKXEEtnWNdHHYm8wVB5+frWLjTMVwHfp88EiDcTzaYhmPRYf8\r\n/NgO/hdeifyAWogTre+Io2r3AEnaxx4QqavhDx/cLI2TaWfw9JZ1fUEL1cjV\r\n5V5MpwO/SrxSsQigMnkpQoboSm6nxAd2KAWrPfNLEoZiImlYRQs8kxQZ1FqL\r\njMN07gxcrfNnHDAbHX4l5IcLTBE7LiNx7iJnzoNRSYEWPmGnKvjSXDPhhEEZ\r\nBdynDhy8pBf1irV2T+8QiNedLIeqH5ultRCSN81ZT4IiG2Rp/lDUTcoIEX6h\r\nWZBMZoPYJK6uOEZCctqIXKUo8mwl+GBIIWZRzo4reVyMrTSJuC/7fEzFflFG\r\nlMb6e6gLSPA1YDE5dbhKsI4VYHDBnOY0/7yBnjqfQPp57dUWQ5E/iSm+jpK1\r\nMx74TdP4dTuSjLM3VGKz+qFE2d3crWJRWXSlDJNRYHNGWI98XMQUcwV6VYF9\r\nIVQ0Yk/HuF8LLamWHXVVcWMlGC8sGsCnzxoGx50br57w1twAbySuXp0FAN0O\r\nIuLHDKol5vtGm/uZXMAMym4pkusqyQtXMgDwo4F+Bi+95wi8cZBwinBUxVF0\r\nojwF0ViM3c1WYdA0rgjv+kle2NVpGEo/r4M=\r\n=igPg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210211855.0_1666427117842_0.3424529628480384"},"_hasShrinkwrap":false},"1.2210251605.0":{"name":"@bentoproject/facebook","version":"1.2210251605.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210251605.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"a1f66509b5a6104dc33409f285dac1ab133942f6","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210251605.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-B/61K3mGIsqLXyXU3aWl5RdO5qdm6PnIT1Wav8iTSQ2UnT/9gyV3vQLN93JiWb50kXb8xl85n6tW+tMlq9cBbQ==","shasum":"59090ec9d13c29246c8f9fb6a04e13176bdd03b2","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210251605.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChXh2oqtnWYaLrHO0Nj3+TwgoL4Q+hJxU3Pby0bZdSLAiEA/g3CNBgMHN/sTvdAy5t3FVPhrCz1AdxDWTKBjqhUvU4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWO+/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwLg/+JcE6D6S22ZgH7l18pGHrbe62ElAkVFmmds9wUqdQ2MqqGT8K\r\nGMiHzPfH55y6ACkk3IRFVJM0QKxbEeOo5VeMCX8hh7EcgIWqhzsxoh1vQPFg\r\nSiXfBoozZUsMrUOjd52aXl0g6Z2XAHe4KddlWAsHjC1ApsXEgQU+Mlac73vF\r\nl/VQ0motml617SYj0YJo38kl300k8GwLEDdTTmry0i1HhGXvIObNyAdKB2P5\r\nNd86YeUTN/sqW8WNPJQwR3rfuXV9VGeprL2r4wLy/iKx5Txf67xaMczkWUkb\r\nZ5bUOLMHZP6Qo9Ie3c593/u4drbir+xtLTnIjd7MZSPmXVeedNQniDcgiYLu\r\nuZD6LY4OrD4ywpBFbLpRaozZ/f5U0CluGQNi/Fhhda5bApi1V0KFf84k3eM7\r\nswezLGAv2YIt49m/I8BECcSdzPmbLiYinqlsjwgD/roecFlsqThFwq5jfT7/\r\nwcxDGK3NWCVMiQf7AcxjHC3dh+FfKvq9m6exiMP4775gvOtrEdsJMeaRq1+1\r\nw+KyTDcj10vaJGqs/Zk+JP5rDikISdi2Fd/GirhG4HJv8+AhZF/9pxECt+Zf\r\ntyw3mnEXPH19XZ+6HJVUx9x5kOJRxV9R18in/ZySNtEQT64BjNlPKEQ1XuQK\r\nms5gYTzlXFQyYHXqX8nC5lQJir/mcZkwTiU=\r\n=nMmq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210251605.0_1666772926828_0.6655042109329967"},"_hasShrinkwrap":false},"1.2210272257.0":{"name":"@bentoproject/facebook","version":"1.2210272257.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2210272257.0"},"gitHead":"9664ef260a4ec8fcc997a65025bb11a20fea937c","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2210272257.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-qaDpvq++u5KtA4nHfVnD/XjS0Rsf/ijG9bjGJBBT7+ilQgIjXpJy9f1ljX4N2q/9yAi6yfBBtgMXePu7U+sb9g==","shasum":"908eb9237ac38a7d32dbb6340a96844b3d22a254","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2210272257.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKBNIsYo1Ie0WIxjVjTvJKufGLqgRoWwg5jNCFWk4rtAIhAITUSraqjZNOUtRQWE8KnhryECGtVWfZKgWc6lxlE41b"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjW5KNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWwQ//ZkFKfwan3E5tK7GMQvRhMXEhVV9J86LihvvzBbODENjwmBwQ\r\nRmsTy0pHat+2RFvFgGZOWGEX5CdHRBRi+Ogk74nvwWiVTIXH957MelErMZhm\r\nJQPl9URAMgWk6UfrgebLQalefLhH7iA/vDQLHcA23lwK8rXru+DFqCZ+cXSR\r\nQnB+pRQ3Iup0Ov27RJM/TFDNeruzf+x7Cuc0WNlXSHplPVN4SG+teZxpSDT/\r\n87pp02mTdzDnCflDP89Y5y3eRhjP6HOXnPRFT3LWmxxAwsK8VKB3430R4pad\r\nhzuSSUKj1dLiRuEDIQHuryCnCxYC3+hh4wwVF85TPFwgIQ6MEV3yfiAN0GSD\r\nzXjibOAL8hfM/5FKBvCL4GdLXSpw90dudUG3u7YstyRhhMu3igc4YazGHYW/\r\nqmWv7+oCQLv7aRyhWg2aSRvkrgeMlxBb623pA8v4m0Nt1InGM1S+DaCS3V7i\r\nZ43cge4RahNFdl1PRx4Gr7qTdQ8rogyyTujgqrA2DI7LTcasmfbZg93wwRlG\r\nnDahUyRW6XR8KYISyRA5zwCDa9lmXaB6sby5OOBeg6Dt57xbC3e6EN7E9Fgs\r\nxqulcbQv7iR7+ovhLeDrciNoc6mzlmj8o+/JD8y5CKrHv9FUybrMAZkbrPbq\r\nB+QtuWomXBRPmFJ7KZfJJeHicztE3ATq2j8=\r\n=t2Y3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2210272257.0_1666945677319_0.7835314462643075"},"_hasShrinkwrap":false},"1.2211042305.0":{"name":"@bentoproject/facebook","version":"1.2211042305.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211042305.0"},"gitHead":"592500a0e400703252086eb8ab7b1cd46d674ff2","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211042305.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Q5VsLxfHN1qwchc6ElakJ5uP/Z9W89KXwrBlqw/a2+5dtgwBQbNmTHwpkndfdcIebKQp1m1ees3HT8LRl1mw6A==","shasum":"2f640dc083293f0e48508dc1af3aad18d305868f","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211042305.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG+Urv8k00UjA/GzmhzauekKqdnyTbxV9TnwUCwPB3EzAiAFutvY00tqQfBfKi5rxmGpoVt9R0wG96csgQwATBnaKQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZh4OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoj/w/9GaAfTGaX97WlP614Q7N2ZAT8J1DUaKp98Gy0XXa7gv7XcbW/\r\nTkNe8/7Jh0N6iLUFIDfxq3nLWmojtgjuynda74x7qAGYSu9/sJO7v5i9j+la\r\nhzyLT+U7UioD3GUwD7CMR75Gu0/uBTHqs3cTzS8Nsf2QPzxuU/R9PWr/bQ+0\r\no53xMLXb5c0ZomkzYZIAUeWH71xVLWH+XS6Lc5vTgamUQyg3nUxmjDdoXY2v\r\nn2e4VEvbhR97QYaB6S2326T16OaMfpDCBml1t5JEx1i9Cdk/UWNPWGGbKSS2\r\n0YRu8Fui9Z8kG2Afs6iO0mZlLfd9rOUWUCWf+1XznhYTzbHbfY3+kfalt/4C\r\noiZ9ZOAzlTcGTSb/wRVU1IW525gXxfLoGTKWJh8UOmoi1aDvMuFD+UPqb9XA\r\nn2S00JgHEpueiA3FunqDts3iexq5tUZJwWAscWgTDaHfFSIG37OKBg+kxkUQ\r\njCsakrOSBKFaOn/+/A4wuPhMPWZm2437V1V28OzSGVreWl0+IyYVM8DPR2Dy\r\n5Ahg1IOOPffby8eG/6C0i5NER9Czlqf9oEXeUN1rU+2Elarw8pEL1Wj8o6sZ\r\nkx4WStHVnPJFzPsrHwrYtBjaD5e5xA8gsKhjcOwz+2WmHArzKVQkD5ZHpWj0\r\nLqxAm3BH18JEFqmxxJAQKSKyZABc0CQnQxc=\r\n=jSOb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211042305.0_1667636750086_0.7857860058864983"},"_hasShrinkwrap":false},"1.2211060024.0":{"name":"@bentoproject/facebook","version":"1.2211060024.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211060024.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"f6dce0a3fbdbc90de3eb1773dbfc31ff1e476460","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211060024.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-yq6t5jdwUVxbD4N3BrJveGlydkeSWToUmD/bmVULDoJpa8CxWY/juFPXyN8HlJYNWq1qU5x1q474vXokRC/Ziw==","shasum":"567156f5dc59d7af3fe8331a5f953b452dd77776","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211060024.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFGHxA9C+0vXvRHAjvNZHXNMCEVo27tWfdQXT96lbvoWAiEAsVJBMKMMRuv1kc1OK30x9F+cjbbeP+iYZ6+tf2yOqB8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjahLOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1zQ//b7xg1TjX7ABY0yTa1ijVn5dZwUEz3+Gwl57X/gJpWy9oh94H\r\n59AYqBCHm4EJT3/+mrk5D8xZWP/pAg5WJ7wPjPtJMciUblP2C+wmQ/q9kABB\r\nC967SZossKJESnnhTc/SxQflbcmWbzKg9gfzcGMIXLNdnWfxdx4Uv218xw3x\r\nNembbDE3BmXIx70O6SgKoGnp1nXb7b/A5mRzXly14b06WF0bAdJUcATOmdPF\r\ntS6LVl9QkZZDzUDq58lke4Hjv1On5pipKxIyD5Sp1Dl87IhABN2rGqVodZBm\r\nWb3t/6pUKOVePsEF35mJjFIK237W7qZsfYZGSHmyYGEswX6yMTdZm+TLZrJC\r\nngcDKnze0v9mKtRn/suS0BKPbkwyONaQ9SxiE/+rEPKxLnoKCvk7LJGq5BIn\r\nTwOE4HOfp318mW1KaLFN1JjQ83vxmFtnw1l+HxpHBG8448Y2eRw88vxg55LG\r\noQAT9yfU75Q3a8O/Lu29fHI69kpP4IsPUk56PsHXWqkHrscYaAONl7F71pQK\r\nCakYQ3jx91L+UEoDcDf1+ciDdcBZ52fQfdHVdnZTmKLfBE4lLmYEVjfdDmOq\r\nttkviqegvehufav2xmIC04XfInik3Gl6Im3Q/ik7w2gOyuOLQJqcrukZENoK\r\n90YxoOwYq7G+1Tij1v7ZH4xogIgzVlNLzG0=\r\n=4lf8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211060024.0_1667896014440_0.6294436202001958"},"_hasShrinkwrap":false},"1.2211111611.0":{"name":"@bentoproject/facebook","version":"1.2211111611.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211111611.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"f9c1138144838b5c4612a779bf407d2b2413d105","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211111611.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Fc7aAs/p192T5kgZp+079YxjX/Sg1F5/q560tghavC8SVK4Z5cfEcnsdYqV/N3hYCDZbVutrzfImcuZ3nhu2IQ==","shasum":"abc97cb9c3b9ebcd429cfec56f79a7756d2d2341","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211111611.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGoKIfJK3YjNegm52x5dim2RduonbPGkrGMH1haK5gIAIhAJ2KaC3D1WodWk/GxTiIiLJdLg4ll9P3axMLoh296/4E"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjb1iPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroQg//bBXxjJOr0Cr4TkKKYkCmNIFtHC+mWgK0VpxmfdOZL5rkcoBd\r\nxwmm9oCdw3XuHabViwiQJWwII8efafyKfa/9MDVbf9+M4Ow1V2RJzTCdr5Hk\r\noEqeuCUkmpYk+pVgsfZAS1xi9l1hqYZ4hhqrzbFi49SNma+WfZh2tzPhld1N\r\nbW1OZZE2BelgJanTnc2SLuGa9fZ7nqbWxBOBGUP6c2DCR745m0tWYgvwXzEy\r\n6+gOk7A4KJMF/QmPTTs4l340GoFmlHslGw05e+FanBuQyJE5JMvQnuJEbBXU\r\nZumFUpLG7/Q4scGsk95UJmr1qU7wik/lVtrWngbc6YgNFItyATk9+Uc3WmQK\r\npeV5GqM/kpQ3yC9eeI2FYapSJJyxiCw0ji5QEgFVvGyxiJZ3EJ95A0Zvp0e4\r\npqutgZe9CdvqFSIMTjxq8y20+Ed7hGTB2EyMfYl5jfrq3QlGOzRI4blCYTeQ\r\niXEU6EHHdJV4kACz1co+4HEQqsZ7cspVjudHOxBl2l6C4iwIVlXFWd8g3ENC\r\nGdj4YY4KqweKs52PXDj3WE/hFowkcKM2J6TmAcqSzfNgRbHfOE5Nbw4wkXN+\r\nL73UrwdxmozPn7sYAuGhn68F8p5FjNHqcP7XhL4VDHBziA4WtcFy+JmNzybL\r\ny0rcByZlUeKhi0JHCP4dhtYCcysPxih+qbw=\r\n=vnCy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211111611.0_1668241551025_0.3553885720804346"},"_hasShrinkwrap":false},"1.2211151402.0":{"name":"@bentoproject/facebook","version":"1.2211151402.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211151402.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"db41c24bd071b6322e0a5188c4bd74aa94cb9d5f","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211151402.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-CgEb0bUw132cp11hXeQdH/eDILHBeBaGhYgippiDKhhfeunnFfgYquQTrrjAdOjT87KdoYXtwsUEmWxPS9tBLg==","shasum":"4c24228342077306891765f597ab64f6744ffd18","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211151402.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGNl9t6E1xwYDDTXUw9aIU4eOkXk9c02VzXQWWDfZkw/AiArmb5BXjuGyhfQvYETpDQq7UlWPPotwWjnJzoopUoLNA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdS9BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9fA//f0R3qP13UIIY0L1Vm1cLxN8qap/PSfgP9mSPNjTuKG06dCnK\r\nv6+rVyt6hbwKVnn00AtqI92XfR1MpTmGcLL7yejZvETnj9bKGnlWAF3HchFA\r\ndjNXv2Rioz9I57sCDLFQDOAffrBsvm3/ZqRxltwqbsQR4vjpwa1QOfnvAJ5v\r\nrfnuqzEfI0tAtPI8gi37ynuu3loXi9vKKeKh6s/N8wWRVpqc9BBZ3hj0v1Y9\r\nARot7rjnegQhfYSZ//mAmTfkGykZDaVUggNvq3CPNOeEJHcaYv3SjFTVLuLR\r\nnSSNxID0Lw7PNM4+wTTvDLkAEULbJFqq9yUFuAwOLLaWFw4QAtqh6FfwmcA7\r\nheslb3jlU4GcKJMHBf3XsJYmD7qtpuU9G8XRf8h3p6mBYfPFnJ73Dd7luAyr\r\n8hEtpTtB1zJnGo5nfIt5Scp/2N4wVb3QPaedGe+MPhIjsxP2OrAw8ZRsoNCV\r\n2lPMnUVQJQ3XU9c1nqaYszahaCYMz0sdOjqeIgjP2dI4zdCPGRAbq+cLO9fY\r\nY3kv4/k9C/GFrlXSEfAQsghGhdh7MJKjXd3q+KQJlUB0ZLl0IW07mzg6dy1u\r\nnVG8uRJ2mWqsEc9M0tU7BlE2NAad2QrdEBTURUrU+rQYupOcWrGfdvINpWhc\r\njkcuIL/fk/DwuEQyH8IrG2QnoIPp6BxLCGs=\r\n=X7ZT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211151402.0_1668624193138_0.31558962591449613"},"_hasShrinkwrap":false},"1.2211182146.0":{"name":"@bentoproject/facebook","version":"1.2211182146.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211182146.0"},"gitHead":"d5bdbc6c36475eb2c4c14f2b02a112669f244641","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211182146.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-t3hC/0gC4F417phcymHyMALEv/BEJKE42gLBH6lL8yeQd7Qlu0TWZqcgGc06s8f5HGGd4/9XIoWv1nSc+zZ7tA==","shasum":"600c7ab95a18213ac981c5d389700a38e2d3afe9","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211182146.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHtLMh4cAUeHQtWrdwIXU7GwNW44Akm4eT/sTzIWNUcyAiAlLNBCDI2atkBPIpI0eZwwCfe3FY1BbWsS9zpkSDxjdw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjeJNsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyvRAAo0Phfo3RyQ1VYquM0Sz23WiowDcoplATMrDvO2WQ563lujSI\r\n+zjs+2+W7uuJOZLOkPe6vN+KjhDJuO2Roypd8Yo92msfpOi65wHlYsG+FUJZ\r\nawwwNqxqjxcIvT0i30OPbFFdXEgFXBSK8teh8Fw/Be2wWoOKdtncDRS1cwFI\r\nYrt/ZGp9ap8UqDJ+lz6vTwiF46JJi/CtDrP6a0KD4zMsO7PK3ov5Eet3UjG/\r\nPZ5YGHv8BDSXUVIgBPkhiT2C8kXwePT1MTYbkg5Ds3gCzYtiXBNnp4AnT7A0\r\n20gIMiefAKjuSyE4G7N7ObApPmoBchYsGZV9viBx3hQ0DV5CsEpJzXYe6S9L\r\nP9qyo1JUELuBY8SXDYj/Ha6csjU8xdFsiMUXIztXKLZdmAvyvxmPRGbKcd6d\r\n49jAMRg4z05OIcKEFkdXQih+90JPJCmZ84P9c/W64kLChu2WkANi1/qKPWnM\r\n4bj7OBDRLiGTjezbSdsQENc0OSVsBHG5wTtHKdkkpGRwVyrVDW41ojlOv8KC\r\nnLhGujnTiRslaTKTe6XZuCAt+kJP4P2gN4DFBhLkl6Op8sQx9YuNebKwmKD0\r\nFeAGtarDIWQj6m5dBUUb2cy4F7fmZCfagejQ/pGtBdts0wMuYikuiJ54Ozud\r\njUFMv/GCf9J4ZvTtYNG6at1IiqCeqE6dxIc=\r\n=4fdZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211182146.0_1668846443881_0.9401989721457895"},"_hasShrinkwrap":false},"1.2211250451.0":{"name":"@bentoproject/facebook","version":"1.2211250451.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211250451.0"},"gitHead":"3f47d465c6e6f4ea83045b32b2c9f56eccb943e5","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211250451.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-XLzgFmsAAbdtNypOBGp7/SnfSvwCWVcBWfyo5EDeOQbN2i2f1uP2/H2j/FEb0nc1uP8bsHWOT291xXkXWozpVQ==","shasum":"b65dbc96ff24055c20fea5da474dfbf2f4a3c62a","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211250451.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiQdCngiYcsF0wIrdZURIz7t4pg9ZYZABLkoCnKs4hzAiEAwjJayuZ2xFvZ8pw1ydTA9MyRFryNJsU7XZKWFsija2I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgHwPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrekw//Rmhm1rCdk066HBa/sjCA1eD9gca2DK03tYKVn5Wkhl8XhwIx\r\nprjXsi2pkaTFbBN0sTpJgfvM84c8aUTkvIIggmwNrmAqhiexnu3AfURnuxQ0\r\nA/ckQRm1DJHsZxEqs/JXfyhLtPXsOPyaZwd/jW3pW9NA0bvk1XUT/eWr3YhH\r\nl6kxKJ8i4X9MMQPdOPJAfHhP6ibuHAcMC82eFiy4emjGJ8Ds0stA3EcD154I\r\nGLXZkOEdgjLuW/AhZBuaaB9ZHVGZDrlr3RPwUdPJH6CvOR+7oGqx/JbZv3m5\r\nLN9eSRFOuJGEdwl00d9w9qmt0NoVlsRpArpz8cEdixIp00qABcdByzcZ38yQ\r\n2oNyHUdlEZToGss1B8JKxYW4XRplytWFGRGwLNYmWvzeJSFF9OLvv3VsewRm\r\nMWk46VT+ho2TrlaqTi8KvGEztFoaH92+LAjVPBmVO77gnbgNhznU7890R8tn\r\nHzWarcXLlD4GOA4E+I8XDNNWkgBUhU2xN22Xx3VS6030wE/Ez+1J2IeuKYIG\r\nMcxvI7WEJptKsTCn68iMKAn8gcIEph+h+WgcalbAwkUQyUHf1S9XZLPU+8Ub\r\nwzZ6BWcKG+P0rIBP6RTf6j4nxyynl7xRNVHG++KymaKl9ZZnc22+Kk1swkhE\r\nMwoiDxn4aFHZRi94itUUmPVSVnWMBYQHmug=\r\n=WrBW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211250451.0_1669364751295_0.05599724946509599"},"_hasShrinkwrap":false},"1.2211302304.0":{"name":"@bentoproject/facebook","version":"1.2211302304.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211302304.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"8ec16ecf1bb95c1a6368ab455a6cfc7b1caddc46","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211302304.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ROmBq/hq4HMNQefcHBTsGer5/E8W0+55AiY4jVXJXFjfhlNkemFAC2MX44Qn84nv5uEcV/jMb2+poEfzBo1qeA==","shasum":"18922d28029ed4e269e680718dc972e9b67b83ca","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211302304.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKdm5BWYdGsUnxt6vzPN18DXensxyH/HRF+M+QVWeMdAIgNSRTd+Qw3oV27IKkj8763nCyp5mzhK4h9F7/AagPCuI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiGTxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYyg//TgV+iV0w5cXV5du8XSnMLidquJAf6q3BxHoTamNBUEDQgfvb\r\niE1yg29Eqyc3l0fTLG1oCJvaf4o1M/G8ehQ+DNBTtcsL2vtSpPu1MJt/yWds\r\neTxHeiK1iDQEvGsF3JAFthMzR5nBhGx7vO6ypLSYgVfxj49XHbJghCMCBDSk\r\nPK5cmemVj2SmCfGZBE7VSUZZHLg7NOm713Wph1HGYnK+ZlPQneIuKn5ijxTF\r\nv2JWtHOmpgOp9JX7zvmtzTqEPE9mFbfLz7VzpC6gjFVcSkRUsC+cuve/P3CV\r\n1qWgNsDSlPBw72Wu87UgvTgIw9acUTOyMiMct5FjK0BQTL7NHnz1QqAUkBcs\r\nqq3hCOQESpfVbDIab0I9CO2hAuwbM2SQDATdROGypbfY+Svf69wSjektQEwy\r\nti3RUFjpto0UM26aJWfEKWKr0Y69NWscTPVNbz0pv/knKca5UfTbSDD5yJTH\r\nHiZxC3QtawPRQw6Uy98rIlOimu3UBERH5Ka0PPegQHBWfLTmhdFNVQy70OsE\r\narJ2re3h6f3z1e/lQ8SclDPvePUSD03edecCTm/P2NfNmhtlNC/VOUxJwIx6\r\nY7vndMBYV0vKDlOQyjmqszKnz4w87gInJKdRw2pahKQGGl5MDxKVA/7JFWLn\r\nTP0o6dqMhvr5DkdvwgcJOwottOXHpTqlACs=\r\n=whCq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211302304.0_1669883121368_0.45261144291232425"},"_hasShrinkwrap":false},"1.2212071834.0":{"name":"@bentoproject/facebook","version":"1.2212071834.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2212071834.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"9e7a659da459058028a29b649ceae3a2dda7771b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2212071834.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-VdUEGYtcvAjkR4qaQ6pbP1Q97YIqxHx/kKQ+GkSp+oMYBCeoWj30mdJTuUa1VOzOIJ0y+uckm0CMf5i3C0UtmQ==","shasum":"84423d038d45ce6650b34f7bc42e940cd57e2860","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2212071834.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID24Hncdx1LMsnj8lAqMvbLbuvpUPW7ZG7aWZhsfhueAAiEA+neR8GlT/uGPGgp6CzmuEOxTSiLJ5E2Xhsbz42Ip7KU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkOvTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMlQ/8DXvbnNm/nn5SGyW2JaSCJSMG9/p1akpmXTh2HE7+1e+oQOHl\r\n/xW4Ken8Uj5c5y4/HVnrIm6wCxcxqnnk8bEK1C9hH+YjEEnWqU6RAwlBriue\r\nnSm1yR1pRGpWm6xoUIKFQpK3yzQrqqn7u9jHxoetZlG8yWUaYY7hcc56Invq\r\n1n/TH3556cO0I6Zmlf8ZI8LkjD7tW6kkHbTOmuG6HULDzQjX+cx0Orb98DxT\r\nRPiAD3DH087iB5sGIEgqMw2CzHqXBOni6kBlg49nbxv8C9puoSTL838OeP0t\r\nMHDgYiKSXjVTdK4UuraE/BBh073P0j8tTwpSbn0YYofFydPjMdcxRHFq5nLH\r\nevf++CJ/FQdpD13RixRxAFGCSTRNtXZ0+qhpcS0CpIw3KarJSCMDIHuJOPIj\r\nm+JPQC3KgWGIAgkCA9bVy0g7qlxDw5ysuShhJo+ieOMU7LDFrTdxtW7i+Fpq\r\nbmwGAOJO4FDDtWIpPQvWXIshk17xzQg9N0GGB4jAQ6LWnmFtb5IFsUl3/Ajq\r\naZhc4kuJo4S6tP2kPIDIc1V+UCINcBl47IuIN8F9CBk4SFVS8NOZwU2Pe8f0\r\nRkHmaMty9bIBk1AY2/oZ00rf6PBfsxywE58Ogv2NsnibCdy0z3QOi5hdcSKi\r\njVqoSp7Yt8YQCMdse95ZEd3GFc0tHQC6JOw=\r\n=By3o\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2212071834.0_1670441939036_0.33529864978385326"},"_hasShrinkwrap":false},"1.2212092023.0":{"name":"@bentoproject/facebook","version":"1.2212092023.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2212092023.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"16bff17f2a3e911f517c49d1fd2c74c8089e78e0","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2212092023.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-hUmEILZg2jgzDmQCQeqS5iOhAx12bJSWMgN4aQ8qV4xB6AWPryjJXlsYN4en9Ipkc6H75Hw50do6PaCvC3+BFw==","shasum":"01172c7e81bba42c49c3934b1926b351e478a810","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2212092023.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKNbEMhBZJbS/dXFuj61BR3b2BOsjvCsyfdh2EUtg+FgIhAKBJVQOFYikJeGTB1xZLy0FbGpAkWjKXgj6FQiaBRPFJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlELXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo76g//QoLvAx2BevOPvJ4xqERTD1Ym8G9bh6l68AWTr6XQRtVe7TNx\r\nUDZ/nWQRtm2Q/d+4wwQfZ6DOzZb4KEDpjchnnz3oZ5sl0o9Tg8degr12LFCR\r\n+gOFro+tngTitbUxvBaqd8SRdpOgCgCj6ckSpO+Hf44koGQYltRFE7qKaGMI\r\n3g/j8pNIwo1cKmC9GJd0rjaB2rCdD/W/dTkUSRE3VLB1wvVu4mUL2UweqdNN\r\nJ3pdUAZgNVr3Q2eCpcQFLHWSM8MYnWdKCPy/8EX1mM+m1CUSoAxiS4IUkbLv\r\n4XDV4q6LTnQTj5oSwqcLm8y8ZoTRIYUWU7jQoghmK5nqvP035+hTft3IX/6t\r\nDKkNZkGKlb5bJLSP3LvTai31XpJYMpXHYjYKFjpslimO7jqGzh6heYtaf4oO\r\nma3V/45P1RFafKy69OBWNzJdo+jUOKwB0HK8hpD+Juwqqg52H6S7lk+6DbWO\r\n640+RU6eJEhk/YuG2BCjXPqptbZ+dH8eIMXVwz8XhavxAM0lJpNcCIgATDJ3\r\ntezyjYuO1iJbz7JTPhBNf5j9f+mmEjees0dP6HbvV10CA5oObWyTRaO1pQFI\r\nAjxs/TwgPUXRw7K+4Zb1On6k/eS3kpdSxU2ULH7MGqhgUNepKhVaNDF1J92Z\r\nziJuVOuke34a8/sN3Oxpcj5swe6MIAuEsV4=\r\n=T2MP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2212092023.0_1670660823408_0.897480326167089"},"_hasShrinkwrap":false},"1.2211302304.1":{"name":"@bentoproject/facebook","version":"1.2211302304.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211302304.1"},"gitHead":"16bff17f2a3e911f517c49d1fd2c74c8089e78e0","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211302304.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-OPFsZPDsmy985PYF8JE1c1GP0T7EkPk+y7gxy9WY8RdryCyiQ4s/0FCnunhSMn+3P7vbcoiI/jVHnybBl9VwVw==","shasum":"68a280befe39aa07072a992f203632343b32a30c","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211302304.1.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd9m3gdQAs2UVrBdy7JWK4vySrgozE23DCu+YVyPDJBQIhAOFB7iEPny6oBCvCS6sysfP9gGsFsnlZvNTeHJxrVnXc"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmPQWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqxdQ//ZZOpBnpHvvc5+5q/Mcy3WOLLcPBIrmRD2OqIaCrSBjdnl7IX\r\nOVGyRwF0FarV+6K0vKdFB6L9JoiS9RQWLxwnwYshyQ2WkrNU+KYYXs77RYx7\r\nKoObKQ3cskOSBKZ5a0Tfl3Yqxj+YFMwTKo6y5F5/HPpTKOezRhpX80kx3iYC\r\nkvMdwj5fP/vwFM8rqB7YTUSP6QXBT1Ax9rL8ogCW4lvp+GxsWpQDscE9ps38\r\nKmto/wYMrM6Yfl38HsBJbfh+UYHV3UJyUcVNMS0+LAtymBaYBdnF9TdQJgIO\r\niD86M5ugfIp4oacQGeOKxEsfZ9x1FsavExs1bTr9TJa4Juna2ZTsDXjQJf4L\r\nFO9PIgYyoTMZkmuUmVn7JaokqwDDDVAW62qMpPiRKVpHmIX066/vk92tgQRV\r\nop7r3IPvE2izBIMh/XgyWcptNOGofo0jJFtB63Cc80Cd5q9MeF0Yq+UVt4Kx\r\n2aIKGMmsLtYcqDi2gs3MgcSooHwYuTHFoHXgUnsA2SiU0rJ43dpsApyUR24K\r\nk0e+Wr0aWKhoJ1MabIZclNDv1wJMS4jGykbxSE+ihcHC6sLqMcGamrdB0GEu\r\niI7GIgGD9DWyxUv/YLi3MpUrxDAyKXHpHkxKLwK16gK+ECscjm1Dnj/Jjtmj\r\ngoTrQfVgrY8DtaIjqUbrdjn9Q6WWZtSWQyw=\r\n=5QqU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211302304.1_1670968342520_0.12550461320760653"},"_hasShrinkwrap":false},"1.2212151632.0":{"name":"@bentoproject/facebook","version":"1.2212151632.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2212151632.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"6754eb8b2feb7d6eadedb57776b91613ad5d6dcf","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2212151632.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-JAn0HNcYYAmM1V4jMultDmFgFfsmszsENSZ8jAtjUzWGJrkB54TVY88bwYS8R9XdHWD8eX/NWkAWEcZMzk9W2A==","shasum":"c2d7ec93d34d8a65bc768a8cf8a3e31598a7ef4c","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2212151632.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrZxrrmh3ekvtqx2VcHQ7ns1rXK+G0zGwUsatb+ABLNwIgCemVf+fWga56kSxyKmnvB7OhvllTpNGp/NmQrGskFn8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjodqNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoD2A/8DnwpU03O58zl+eyhT1BJW7gfEGUy+gZTGgoQCBVuRqypyGRW\r\nX56Ksoia+bdsyDMvxsJWg9u5xQrwJt25WuaHsdHWgvyEv27btrwpC+zjlWNk\r\n7jqTOdmjZaQIs8XYtGIqpPkJeUQe36KnIcGor5rM0jrD2tVBKv2UsjKaryIg\r\nlap3gtR5RgrRRETCG5QTkv8K2mmYB+D/Jv79f+IyvfvCo0x9AMGSdOAO+3kD\r\nXifiTZ/OcQJIbQ7Dwtr7gFVE4mphke6oMU/CoypZDUZX+P+6yLLPmcwcE31b\r\nozsE27BlFM8CLEt2tt0D8EO0O+HW3Db0CR3K+sPZj1Yrg1hN8FmZITJ+G7Z2\r\ny+QGlhRKAnJG3xi5Twl1bNN98koWQYpj+grLWlESxhjIGKJTDOtrdcObOtYC\r\nFIYhHFgh/5pCLk2jfQffmU8Lox6HM4zZgSnyGbYDteQd7C6N+D8FR5i4InbS\r\nr3zS2ATogh/nCzM69B6UT85roVL8Bnbz1DKqZ/unkUnotFAjpLv7kn5X+VEZ\r\nQEY3UMc0FyW1QMuMOpN1AIr17Sa2EJ1VE+MHYOgcOP1OC1E5a6jI6/uHlFWc\r\nesRwElxdy9nT5OmfNprEmaiQvRPwNv/5BYaDfkhuxdVu2P5OK1rVwhTq7LAq\r\naE+dVmtq/qHZTKJ0y6/PzNX8OCdpzmwINnA=\r\n=lC0a\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2212151632.0_1671551629494_0.04249033886638531"},"_hasShrinkwrap":false},"1.2212151632.1":{"name":"@bentoproject/facebook","version":"1.2212151632.1","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2212151632.1"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"0daa515ff1e284cb2e31dc8fda7f29c073e60b60","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2212151632.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-fsUKcQpLFcRBSKVEnh1bYOK2MH2NabWdSGmwRvT94FLS7lks3LIGNxrqGDqsF44AT3K11zFFoWRmz4hiLxjPeg==","shasum":"984243c0adb9fe3957b40e415bad6800a07d4de3","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2212151632.1.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCp54PNvr1pcNpoeOCbjuuYn5/S/exb9icOTTZjKO++WQIhAMm8tYFeBl5UhqI3LxvApG6LJfCf+X07pL0QJOPQoOUZ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjohZ/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqlPA//TEcLJcGpomAbxJMXV+UkabXcKy9WrACw5aNacT+wQ3IB9Aii\r\n10PmzvLE0mOkYzLsxiNzoAEOK1h446+No9yfnTqsuUCMGJwLKIAzVFLviQiW\r\n9xttfmYYckWbapgnGRj/kHLXJvSFGoAj7wTHCoUO1IM7zx1FSzvmsPJjEUyP\r\nQ+Kr4Rt7aS41/Q2sNo+QYpWV4GO/MovrOX707VQnpuAVfobUuJsgotav6t5j\r\nDPm/idTfWNJ3b6chJsyzsNrSIcFZmkmTlw1h72WxbB80JFktcCr8UX+Vou+d\r\nbjlzYLUXJeWE0GwH9n1YO8Mtfnu/HzC5Lkhw++j+7/PWfyBWXfss2/FCEEan\r\nkTsQZiU44vZzNUkNyI5OzGRgvtNd+Ww1z4FwqaIFxHDLsQ+ef18PdMrbMnL9\r\nttHK3tNs+mjMNQgv1k1OC8TGz2oOHCyVWo1gP05/8Ja1ExuYcZeEDFSxUQdp\r\ns2O2l9Hkm+INqWBzflLYHdsN/vleR4F3juZaBmKYqrBuVsyNKT0emFizuL/O\r\nKB+XKBWtkk1id7jRYkiqi48A8zflFpwthqmOKdqrdQe41I9fS5cAzL+dHlFY\r\nU36Dhfg/+w4F8ecmZesy0aFo6H0RRaPZDBcYwcwOs37o4reUq80KHhVDH+R2\r\ngCglFFkZxivK2mifNU3hQg4V60/0mQ7fzDo=\r\n=RGCE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2212151632.1_1671566975278_0.6754222931894136"},"_hasShrinkwrap":false},"1.2211302304.2":{"name":"@bentoproject/facebook","version":"1.2211302304.2","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2211302304.2"},"gitHead":"910a4ee7a16075d9db8fd2c6c5bfb607f22bf54f","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2211302304.2","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-0oMs9o2Q9Iq5Fc0dZcPE9wrex3YMzX23lIeH7Q27gpC4O/hwOyTjsFILtJmS0rLFGit16YzlMZlp7N8r2N3i5w==","shasum":"0f0887136f9bc5503ca5a17fc048b90fbe42550e","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2211302304.2.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdjj/RrbLMTg34bebiy2YoVIZU8mxE4wrGQbR6vvjiUAiEAumlSifDIRpMp1SBCz1+Dqop26oLnyQAuFTy3T0axNaI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjojhTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsbxAAon4byGZ6f0ihli8rIKeF7Ui0STjbcUmeM+cbl+nPXPfA5SAy\r\nbjshyxrTFi9pAVqu9UAeertMeAaHW1Vb67FnK3Apxe/Nvt+9TdTh6V8zpi8i\r\n8B+0iOt+DLb7y8GNRRTURQXDuFFwbW75sB5/OT3z6HC3yactzD7xZuEnbWMx\r\nRh34N8OmuPtuLtBVr8hKUkfz/tcoCeValgMgxjR8sVbUSZXKEe4TKoWmUhTl\r\n3u6Sw6YW9XHvGJmSPraVWkE5+mRMyF/ahGOi11LfvwY4Aqmy0CYdRPNKCJh3\r\nUrQabsybgUFl9PTsp9m5PQymZWe3Df+k2mtU1OjrD7V+xdpYh9xZZcNRRLK1\r\nLpcVTFVICYV/KR7mUm6Y+Q53Z9WumRH5w5iVi8YKmDMmPr9PlemYttcn2sXq\r\n/G4EhoBYhm87CecB+sdLy5yYJuSTa+O1/KO9nqNPqMXUOwO2Px9/Efi/KSf8\r\nwoUm/pzgLV5yV+BYkptuAijF7H2Ho3xK7eEkkNyH4ivugGFyRH2Nuzd3q2at\r\nX78xmO+Vb+J/pfBviWd+q8Lml3CzsSfY4+ryOk6FfYj58z+C6Gkno1mcqz9g\r\nUuTtVN7PuMHRBw3wdumY7AsOV+y3Bb11cvHQBhE2ndjhfnVXNG2jI6P84SZ5\r\nDrstH0jDAo1TbZcQLlZipoh7h/imMAu/Nts=\r\n=cHlD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2211302304.2_1671575635621_0.929226151524182"},"_hasShrinkwrap":false},"1.2212151632.2":{"name":"@bentoproject/facebook","version":"1.2212151632.2","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2212151632.2"},"gitHead":"e3ba25e45c2728fd6b1c91daacfcf7d0870ba6e9","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2212151632.2","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-6zztXZ72JhrfRDUkNyF2N3xMhNSOsI2GjEto1s1hx0GEjDd7pRZktBKL/jH0IDr0JbE31bboxdA7oT1i80SuIw==","shasum":"144767a54eccff06cc495d9fd4cdb0a9a0eb7076","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2212151632.2.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBa9KVfueDYTdybtwPhurvnWLxvPRHtLucnE7KdHaMlSAiEAxtbUszHdKNeLycssSF2u16meniSTrPxQRP/kREQTbh8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtHBvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpI8RAAg3bJt3Kpfj0Fjj82ioIgVU4nV15lxZXkpMVUSa5bYc69D0Mo\r\nBHyxSq4H6vGMohHVhoJ0cpdnGyjDgWdcTkTV9Ix7T7/HrZcLk/V5QrjPNz5s\r\npZaXWNW24vI8krWlxX+YlMzR0jmE5Z/6Bo6gfgJ52Dwrowrn9p7E2t8GzVoE\r\nyOfeKDKvB7Dgz8HHaWrtQxQOXngL+Sub877q/vnEn/LsazPwHMUkT40P3lqB\r\nHrzzEstMAckpFUT+QFkckr7cZjaRQUBWR+HWKRsCL1/MKmeaoly9+sYUE8q9\r\nmsdO12RFVlfu8khFoTyNo6IetxzQwuqq2HNr8qGlfuStlgQeJdKLKJOKd8ag\r\n/Mw1xIQhESuXc0yrPUZDbPC/munNSEbQ21ucxi4BZgrp14fqrONERLg3ZXqn\r\nvOpSiAeu3z1BLocGzvn3QGfaBDXxiI4vjr0vpeVfsETKkkqM5jUbOAopmh8J\r\n/91PkvKHQGl7RFFVI5SZBAgYkgs33A1C4qqGL1TanRY1Mn1wrq5tDilCrJ0+\r\n4G6v9dnvbX0aojyKvTwxUT9NtDf92qf0qibEpSNl/Aa8FFyTsZLRVD+HkEJh\r\nrkoZfsCPSanHL46ApWWdwv1+TrePc4Hi0N4bR+91ENYnE8igkvbyaub4mZGG\r\nw6vKBVBMx+pkgEQikF/s+Lpd2QZtsjvjqRo=\r\n=0rIE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2212151632.2_1672769647092_0.8297021751763021"},"_hasShrinkwrap":false},"1.2301031703.0":{"name":"@bentoproject/facebook","version":"1.2301031703.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2301031703.0"},"gitHead":"e3ba25e45c2728fd6b1c91daacfcf7d0870ba6e9","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2301031703.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-6oQfmfw3BCx3so18/ILCWPyXIIUf02waEu23UfOAXcv4rr77BUBcsbR5BanpJH8z+yY9RfHr1fftPyEcTVb4cA==","shasum":"45616c9b888266065a02a1d18e8d3ad24e168b54","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2301031703.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHLUhbE/k7WzhPKgRehJ2j15HC/msyYtbSpg3DMVEyyAiEAujgcz97exYdYxQVOTBR8XDTPeTL8PiJLeqk7ZBR6oIA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtJDOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobiA/6A5M68MLivCf6SJXwgdRoAH6J/3SWISjYdQfipMOeDAOnPUkE\r\nGfbt2EGPQqcdhvltGDNu6vbY3M5RUVyjWUjuqo10xntKAFTV+tsJ1/oo13PF\r\n0FbWYkequFcMAQfr2I4qwZu9khMyPk8YLAxPsUlnseRHwlVl9blGsQ0dXqRL\r\nXMvcCZFbIYuLmuKWrqra2tE9buAUYHMul8/C00Baw0PLC0dFNN4Hq66qKmA0\r\nF7QjM5vX631YY2VD8S7mYue/sYMKLAe7/F4uq2vFKKHdW3/dV33rLJOXRDXM\r\njmjyRkMD9oLyGCJW8ysdkmSoXtQpYzwWEhfRikfuQSTAphZiMRi11az37yDV\r\ndBbbGfjipYtxrXnUoeepf+2A96s/zPEuTFB3f2nrwrpnBDFwg2EGe2VqHHEx\r\nqPKKq/fsAlZkby++tfxXLTB5dWS+Y9caXZcsAQUkDF0BDPHiXI6YRRI1shwq\r\nw7P/lzJKSoMGL/3wffzq7w33n4n3smrYBOnYTmkdbzKvlWA6ONSK5BX6HoFy\r\n0KjDFUtT0ULdSL3TrxNDlW7jz/KGQvsorOrtkOGqyAAiqVMziANQhU6HUngr\r\n6Kx0VhrGowrTODAtPd16DGM0AvEtG/+LsRiMHDOzanDv6ynjfMFzdhTJW+7O\r\n4pXg9KY2O1fJ7BDGtL5Dz/23SDz9gW7Dhjg=\r\n=vg5i\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2301031703.0_1672777934474_0.05781324065782645"},"_hasShrinkwrap":false},"1.2301032153.0":{"name":"@bentoproject/facebook","version":"1.2301032153.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2301032153.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"418b16026c82f72bf8e885668d34a40fe043c9b7","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2301032153.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-JMhMI6KelDWRfgywybROrB7xeiDAAkuQhe8Z5/6G+C6nswhOrbeVorW37f7RjNwbGKk4p3Z4MbXADv/JN8IU1A==","shasum":"47d7355f5e5f9eda22fd6bac9f55a9aaf02052e4","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2301032153.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9Lt1EWpq0Ubd6Uz6qC4cRV4azpCyPlY2PEdx7+8tbzgIgND3yb/DxybMp1w6S5/4Me9yeZFyu4rGJw0wyxDSfT7Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtThSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbZg/+Nb+9IfkU2C+QXY3O+3nCmLTflwSHqxC+q9QOMsP0EyHlyMMx\r\nxhxPW7/deQuCx5RIb8xSjQx1Z90wd1TpIMJ+qExBGWFcUOnm51KkypOx419H\r\nN1TJuFThPgrAnJGQj0P+apPwZbm95CSCTuKDRkrcaqJQ7mKwSX62c1fxn8Y3\r\nk7UiMSR9NEwIpQynAOQe4NIPxIFzSyG1sfaF3P3nFbbRho2v4X2FJQuOk+bk\r\noRGKZCmMVCii0BEXvBS88TutdR1OCQ8KkRrku3iJO0wtyMyPZrk8kxTr8LQO\r\ndv78Sm6sM5wdUG6Q2/4GUow1BUu0ymscOprDTOK0hllEYGPHXVY67vVIXIPo\r\nB0MIt/gLaPkS2P7hJJmgTkSXiK8ZrRTFf3UK3jnEXyXnbAvo+w0JH3Q+nzxT\r\nEZkLmWSbaBBa+40K/bTHQWCnfusECqbHxh30DHkijWemWKL6n+TIhaLEOyhU\r\n6h6vtCpX8wQH/BGEFHgeU1ssLlOHLvafGXKY1bvXu0osWSyUXxVv+JCeInqP\r\noQr8R9wFDvyXSfNQ5zwZTvufMA7bwLzYkyalMALljtvj03b3dYQdfNG0a/c1\r\n9J5roAHMT1sK4LgqfN9E4cQwPYrE1uqw3yqPVSK7wxnbBN287EuWn89WAuQQ\r\n7dX7+qfDjJvqpL0rhFwQHI44+UG49hifxjA=\r\n=AK5O\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2301032153.0_1672820818164_0.0053607332607170655"},"_hasShrinkwrap":false},"1.2301041800.0":{"name":"@bentoproject/facebook","version":"1.2301041800.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2301041800.0"},"gitHead":"7026aa71b81896aaf30f29b822e1a578138e33e2","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2301041800.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Zh7I70zJoE90b5bAmxBkXyFg6MJsHDuOraN+NwmAFDA6tk6l2icHUkxc60EIFoWZvJCgjEwk0hD9LjSgLmNh1Q==","shasum":"ec550cc7801b78ebcae736bff57ae210bf8ba860","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2301041800.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4Klb+snEIvCF4/j4/JKxeV0eJpp7reVe11UfVebxC2wIhAJIstLiLCiVJG3eHHLLXa7iZ3NoiK+CRtz/m901anrZ6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtonXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+og//cZcOwDPlcgnVH4pCWv5FhuUSnmJ1pUC/Z3kBlLlp4IZ0XaG7\r\nJOdqXya2BujVZPbDee8L68tj/A6QVPrBZUWCcOWcsUggB1PWEjtJKvuWzYD7\r\nosoWZZRXkDm1Ci1Ta7TNi8uOoTt6biI+Jf3JqSivVJoCOWSw89u9mO/1ss6W\r\ndbHPUxwDWNe4N2S45Ax444IXoXYyXq5ByXZxe7JXQlDQVtRd/pazUceeR/9N\r\nMskevd4clu2MDtnh2be8TRkIxjAC9s5VVn26p9yBHF9SS8MfAcuGh8JOOGD/\r\nTdPu6ByH20pHRaiADWM9XpAq68u6UEHnUBYX88YH+nNOaMSGPgukvEHjo9JO\r\nJ6p73xUhFX2VGunSJ6nkMmNMTdnkQ5Ks3PsfJM1yrqLtgHeR+mVbuPoB9mkH\r\nrcHmN9h5aKcbs5RzUx57NPtzdMY5nAilTYnNkeKkPOwwT/YkE9nBrRPFbodL\r\n68QmzVO8pnB4aFQRRsk7++4e4uViJXqaCvpaIfE3m7YLzuonLMGQEy/ujepN\r\nRA6LUuhojtIF0YlvF0rmXgCyOcBW4VEnEynvZXcCvYgeGGtA2R8iiYw8zDJP\r\nULMwdHN2EOrkmsFJgwXRz127q6Xat2xQnIiAEB3rjO7HxqET/RtpjfotM6HK\r\njKraVRdEbxErQ6KJazp5nj/QL0G13pfVi7Y=\r\n=Lr3P\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2301041800.0_1672907223053_0.4341385410590135"},"_hasShrinkwrap":false},"1.2301100345.0":{"name":"@bentoproject/facebook","version":"1.2301100345.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2301100345.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"12a8a2eb9a3656064439da35b736023090e7c78a","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2301100345.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-+roy0wFqsBGUhWIcov1QG9Rysvw5iUzNDdJYn/N8Cp/D3KJcHp3TGRU5/vMnjb8mGjcx3087CI5aeisjm64AiA==","shasum":"df833e265abe6458241e0400fcc205647a6a6e84","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2301100345.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4QTiJwaj5LCKEhpVf+8EDXB6/2SboLKb4o081nmM1IQIhAMBhZ9OizWpyBbcNB44kgsLzLsoQrc2C7ZUyLr/P9LFe"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvSEoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoriw/+JTTHsPeJZy/lCnxo3gZNABX1EATxUTSZPyzPbOw6vHpv8xHk\r\n9e8mLNyFyYBA5R0AgbIq2DmNc4GA1c0kzzzbeG5PJwepPl3sfjqMmaQk11aS\r\ny4mfm3T2dIg4ssiejtrE9398jyV3o7W3VRnrRQH5q/DRffZgC2VknUVfqVDU\r\n/KoS4SiU67wuVYjU0tQQJfc+WpIn0oY+1x9D8Yp8GPq94byMawtLfULMBdLp\r\nC2d/ZhuGhYjAVxLUp1cjPoziz2UPO07dExpuc/LNJfFHAiXm73Iz8Jykonr0\r\nkEiJnP8jeEeKeDCtwzchh6Q3mqwB7R0F96S9jZsr8fgITvIXuT12yigIj8na\r\nPOysXV/vSP5AyUGoKB1oQWnfC9yWyD0c1rAptF+aIJ9mbSklDiwgQ6ERy+VN\r\nc3ZvBKpd/elAwydtPT3PLId5trAbfB5KfCfkPFfXY2388ODO30G4eCabz4M6\r\nbywOtBK/1m6+oIAXCsyBTpmBVEGf/qjacJKqQnbt2kdANK720NneZL5nA3zm\r\nm5BiBpzLPE7f6ZrGd0sLzMOSBmIENpA6s2BT7UeO7ZBgWzhAHYiOn1PYc+D9\r\ni2EDUJiD7Xcorucv04pCuF5KqwJYP09e6QQ6NimiZEWH9t6odJyjmrDTfqb8\r\nWHuEOXhSf7Vi0YCst+Cfh422IzCLSWhLst0=\r\n=hDDR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2301100345.0_1673339176110_0.08786884004780227"},"_hasShrinkwrap":false},"1.2301112346.0":{"name":"@bentoproject/facebook","version":"1.2301112346.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2301112346.0"},"gitHead":"290809452fa1006da1ea148fc925beb127bc65a4","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2301112346.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-yfwzRVdOa0akM8xx+0V5QnypMamkw2ZAAnu0+pyL7hZAN+yfR2nSKJpKReDjSiBm1HOgGBgdM/TqLEkrjJnavg==","shasum":"9b8a59c37eb38b0aa8802e41771b1b41dd2e6948","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2301112346.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCc9VknLq2yY+2CFIQIqdMydM+EwiQzTS2hiUDNIZdXmAIhAN7rHmaEtZInxwc/QW/2VSkz1uTGqmXx98POuHOoXiOp"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjv8S+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2iQ/+NWGKSqEECA+1AcHGz2YfbeGu43pOmjcIcWr7GRt9ZiZfxbaS\r\nntj4imsrRT7DW+Ww2XZWMqKeCMpy9C1KVmvYHFKpXfQB3C0yY7l7hkOm+ikn\r\nkUWf3o/G654QRnq9y5PHpP8nweAi3IH3ZP7mEG+NomyRDWb8gh113GmGPhRd\r\nUpBJ0/d4HiKk4EyFlvZuA7nPz5JH1ZRaKPViOBQdgQJ7lRCekYCZ/vidu+yn\r\nqlVdRMvZupzrvSKFZC3LQGAgTwEVNDyorfgvxBaLdiuDrNDKRv8abiJML2y6\r\nlZMZKYDVDddKGMBZ31b+cfTIM93W9a1A8cxjai8BmijbMoIUUWWSmxUuivw+\r\n6gcrUFyNl4zwL1zNNRUCNi8I1X3ULBmQXtmYxTMYZ0QvU9m+pEOmmcIkFQcP\r\ngg4F86pldLO14tTu7syp21xmXkPuNVHQWmYnzyoNSQSPexNHVyxW+/9xKirZ\r\nO73CX0ELVcYp4tz/n+AvRauLmGtaqSjlDTTHIqhkA6zqUy/TyOWBy1HA1TPt\r\nkAlAGNvltVmPp8JfhMeWNN7LzILFew6SpF5iyR9wZJxfzvt9KNx5brCaVSJF\r\nBAohjO8V7F6/zdx1Na8Pi6tfqaHHjQnQwmhng5bM8FtThgjbssvPBiF3VQiG\r\nMiQPjzhD2wR8xhrwZPgT/cGdolvj5g5xtoA=\r\n=ROAe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2301112346.0_1673512126517_0.9035877449818654"},"_hasShrinkwrap":false},"1.2301181928.0":{"name":"@bentoproject/facebook","version":"1.2301181928.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2301181928.0"},"gitHead":"8d4b04c8f4aed6f3fb83e6cdd785a334ecaa8a4f","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2301181928.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-DnYCNWYzDBnkX5ly965/OVWLUiaSs80YygxPUxg1DENp75QDNvwmju33S6YDCbH47NhE9nlc95N8suI0saxsfg==","shasum":"ebf2a5029fe5b9320cd564033b2f960a4e6c0939","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2301181928.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxiLfRBP08plx+eJh8c5h+HvX4j1VofU3JeHaVp2yNFwIgWcf1J265TGfQv6lyWHS/vN18Cg98i37A4jH74CzYjjQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyP72ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqstw/8C9lX2QIdHjsdEvvFKAU5594h18PZI7Nf1ruzxmSASvR1D3BL\r\nRze1dT5+FOk3HYf5iWzn+w1n0LOQ7JBm+a4bGNyZL55SoXX9edD77CAtrdU7\r\nUqmfEFTJDnOBu9tfmAVShjjxWD4kiFac62FS2BjSBNte+hV5T5WoXIs8KlNJ\r\n2Qrc4dyMJtposz48Qlci4sbO/azR0nn17UvnXqioAV5MaSh/O6lbK2alQwx2\r\n6tgTEbtIs//3ntNo2QnbelPfmsLD1b+ERUB2ghXxvX8wumy61MZIWyCEKTKi\r\nPsh74Qr64cvGL9ofBlkVMTdxgERBoC7I+qHPpWMGGDh3d0zklsvWZ2VLXd8j\r\nKVpGLbKKYx/K+3cnAp4vrgQKDq8WVnyxhgJ34FBlHc63njwnqbfNu7VdRyiF\r\nonH8HDJwu8nesmWg8WRIh1MqdA4guN0RG4VZs75f6CZ20liSfHCCg4pmNHtM\r\nUpOs78UCLKWkyNkngY258H7cWHC6NS5V8QT67O6Xq62NXm54MP6Xvyao9GIa\r\nlj5py4F42X9icalR3lhlza+76sJLaNmIxyIIhwJXv6K6+7nB+Jtrbo3E84ju\r\nBjoaiLOaSI4sHGqP9UbRQ+2oe51ULk5cgUhpJQgEXokqDnRasl9BgkSGHW2T\r\n+t5d5k8H6ruauYVug6eJSDLojLWu0uFkOKI=\r\n=hehl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2301181928.0_1674116853669_0.9623986090176384"},"_hasShrinkwrap":false},"1.2301261900.0":{"name":"@bentoproject/facebook","version":"1.2301261900.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2301261900.0"},"gitHead":"a6ea9dbc37fe6d4b0f68e25838c857835dd4f7e7","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2301261900.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-pwjWBpUKKIWZUokDR9+e+LKCWUPfKJulE0cg2z84P3hfZYL/Q/q35IOGmXDdpGzI8zGFlPq6vxDwgozB/NyEqg==","shasum":"31b8c23f212c483e53832f3ca563ab28891372fa","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2301261900.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcvM8dofLOtSWZHOgEIM/nQ5BSuvyBWRa7I6o55jCsdQIhAOWmEtQf0v0Zkewgr7jykkMMEQRIKfXl3pa/+lb7f63N"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj04tIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrO8Q/+KTaD6Q0zlnvjeQxpza0Jqx6NvjJDeac5uQvgqvXnfMt2gqGt\r\nlBFBDzli3Al95zvMkBVI9dl6ZtdfE9mK+1knWIn0fbcrAVN1afa6xoB1cVtu\r\nz/B38l+CWJARIsJCsSe8ouAwGgH4tugbvBQUIaOv++3fa5XiHB78k7QyFbMd\r\ntUNTpA/2KNTVMwAuB0JLKSg7kMMmTTHJEVEdkIegeEdYBY0pInhg7NF7LW8J\r\nasSZnC7XK7/Wzhz8YEmugPJCo3gkPknAAv3AQ0KC/n3TlLGeIBs5ULFYfLRv\r\nDeVatEQ9hrmLusPn3Vje4JDm7NmehZvISUooe/x4UqRkziZOk7q+jY9Jnwkf\r\n3JdrMnJVQSq0I9r6h9jClxVMflVWY6TNk2ZJl1aco2iLrACr9e5hZqG8PH8w\r\nv2WHhpUmIvaO0XU4iDKQRzBm5q1L79LBMFOeQDQ9sdYmk7fCsVoxl8z7Z5K+\r\nTU1Rutu386T0gREtO7srUUIovFw6PThNWh+9ug4+7C1Z7LNPe/bgdHI5lu6n\r\n5t2AmGm9wVkuU5GNQFnSJrErOT/EX0RergSm2Xs9SMtilJARBt60BtuWo7uh\r\noR3/eTZC5yhCQKagyKARMsdRisXCy7/Aw6wAWhwtTngavd3Yah0xQ32fnZO3\r\nmxf5hwdlGsTdRk+hOQwmxEvsjbimZn6/nuE=\r\n=Wd7S\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2301261900.0_1674808136176_0.5002939110280216"},"_hasShrinkwrap":false},"1.2301301810.0":{"name":"@bentoproject/facebook","version":"1.2301301810.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2301301810.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"06d7a2baddf76737d7cde110a7b4bb9351feb38d","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2301301810.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-c+RJN7o4y41pGg3I8MqoULlcIso9YgD0pXknV5DvtJYJH/6E8Czti5PEz/RgFBaqhDcb0Dz5VHzN+rM/HkEY/A==","shasum":"6472e87f253a9ef23009773d75b34537aaa13958","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2301301810.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChfDycRZq3pJ6DGHTp3KpR5GKPN776HEzGZnMf8ZdVFQIgY3C3d/57rKbWpGqn2WO542/lfYfPEBYtc2nY9tBaYRU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2NE6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZfg//cJfkpOZUawhoJ4Ei2rQvEF+07G1XDEKFRNLIeagqHtVUFa4v\r\nPABKk0xj1og8NsD2jXvpuPrlpfwzOD2hYKlpUWJSxLE6efpeTAaakVx/kqBA\r\nXDZAXVpJYJt/KJMf+hyvZrZ9xP44KVaOZbxTT1ax6Rd3b519zVApPrDevwHf\r\nmzwckxdGl07E7lmvgh9NMsNpSCrNPJtCz29xZkr5LdcdQWloafnCq8X3T8FZ\r\n0Mq8IUmZAu5eLDNiQdD6Us4NOWtPeoQvzKqPSL417rE5pHhqgzaRrqFLX8N3\r\nkcVK19o8E+rtDFPA3JsnhbAgi6x99j6yGnwFSzhGXS2GlBSy8GqtH0YUPTs9\r\nez4BD1a2hPqk/CpBwGw8ani2T54C0vV32+4JI1198yXdI1qsI4Nqn/LViLZK\r\n+Wzt6uO7cf3rWjpWboNBoMwLbu+qw9f7xqbM4kUADEyQSx+bugUsq+bdzW8a\r\nWbCZj+0r1Oj04Hr+MMyVlUPDv2MDMdZBuop+ve6KF+Nq/XrLikCXco8U9nLn\r\nOu5LaMmG3hQCZW79Ab1gIv+kVQ6IipxqHwD9kfjkYQLjm/luNEZDVxyboNGc\r\nLeeCQwg6vkwD6G06Jn/MTg6dnNSSGuPVC4QpQo2/w6A7ReQxUT2LsL+hULtd\r\ntiwTWCGawlDC22gIxrSA9w8iM+/YZnvAuw0=\r\n=QAel\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2301301810.0_1675153722062_0.8283958073197111"},"_hasShrinkwrap":false},"1.2302012254.0":{"name":"@bentoproject/facebook","version":"1.2302012254.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2302012254.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"e4c14ac075b71415995f07a6bcc3ca93a8af5cc0","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2302012254.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-RE/gwQweyxz8kt4H2JGVSIzx2QyjOuJ4RCsOgReDqj1sc93rQiCPn1aIF64c8C8qhJx2Nb0K8BRbRS4RsOqKGA==","shasum":"eb878a352f985b308ee2cfcc206c8bcb3d6741f9","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2302012254.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBruUzXmW3JWq0WdqfjLIGys4ZJvYup2FkrIReEuCAGAIhAJjkj0z1R8nPMcVUolFH2qAPLnTvH8lzyf8NBCOuqyji"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj23OtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGxg/9Eqhj7RSzbnKFP2K9T03SkUHsOGx69v5gjM+heAJmQ9Z2NQDI\r\ndp1MmNAs12bCVzvale4qV83yz5T02I/h0rTkTVxZytY2ngcZbgpdzkczKsUE\r\nOIWyVmljVrPScozVz0ly2+IbDathJxx5CclAWQocLKKQK6anDrbma4u0LMzs\r\nVQ5HQUiH2dATUC0tUlhucUTCNZo8Zu4DqhsKxpr3MCd6HNXTb5BnKR2gRk0C\r\nfs7ZRIx8cq5CKQAYc9rhVBVsyLcwSnYmiuvd2JD+cuYfDxXq67AsKjYlDRuu\r\niXePLDeoCa1pIFdPrh7o7OkZWibJp6R5NmQVsFhHb0mtxh4lR9CUeVpzqZyH\r\n53j6XOVeYZy+b+t1PFXI//U6mEepGZJ6nhCLUSqLb24Ye4fvqOffsLQ5oEWZ\r\nJmku9djVOECEQWySbSy9WC3DFmFlt8F6pWgyx07yTaDW2kldlgn7CUB3PK2D\r\njDudvZqtnL9OemS3EiGkO9lL5lolBQrMoPfR6kQFpKvlUUZgyJOEp7IXeXw0\r\nevQQZbZGjnlv2ywBxYzb9OoPZ8hB7F66enRTYI667yRzrNMOWhmgmN69Mp2w\r\nDv6N1b82DX923rfm9NFK4dgxsoub5eZiKE533jaCmB7JO/NJQUkziDYjjY42\r\nIdNeWCtSkZiAE/CJaWQsp3x/9AZUa9a5ChU=\r\n=xC4c\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2302012254.0_1675326380836_0.8143591742119445"},"_hasShrinkwrap":false},"1.2302021743.0":{"name":"@bentoproject/facebook","version":"1.2302021743.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2302021743.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"a27cd72c15b628053806c94efc4c96730603dbd5","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2302021743.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-7VPam3jS295n1B4C5EyDunjz/WBJ3ym5Or9FPEWvrL0YpAPQfzV1jMWalKfboXw7FJL4tUVwAU7TTGbxp8v8eQ==","shasum":"e38eb0c9a3c6e2fb41517bacb067202fe212b903","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2302021743.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmoKpvHTleV0ixK6+S6ot3B8raj0a93jr7QVem7pGzaAiAtS8pXrHsnOpFHqiafA58htRfye2Qnbbv/FcW6l21coA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3MWAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqeZBAAgJgFPSHQq2Av9g2a1WWr4uqRTG3+kxJleMkJLfm7QZupwXuF\r\nnP+BPnr/pl747K1fVIp+jPAWpBcQniQmFKPbPwS94Zxe/OvpvxQruuepmuur\r\n/kgAdtxRD8TaKH5jZKeZsMl26ARp6brMFTJRboSWaa77h3AArOYWH0mBLgZw\r\nZrKcT3i0ANbQCCWQNtecJA4EB/oBjFLdohW0b8s4C5UCuoffYuwI792OlOeo\r\naCzbUNUFKgVnlhXfXGBGZsMHRXYcOGjsMYQ+eUfdShNOf+pAvVurAyDEfvMG\r\nTTbh6Wc9IGCvjtkgXKPiy98rr8XSuPX7cQQhCxMvWcd+jPIziEmpLv6GTr9r\r\nu/sGFtYLdsyYyfR75OrIZcLP+ww7jJ/zmKsqrL+vwzoLNTrlU4nEAkXneRYp\r\njJTM8mLZqQFo3JCE14VZAqv79Botd34vcnVavNgnBimzzWr9nVXS5C1q9HrQ\r\nbmGRRjN5QKrodUwDOffUvSxV0yS7ZfvUc0gfEiPOC9dntsiy7qSIhnC8kSfC\r\nXAMvmyzphlTH0MLvUWbae3l94ZW3KAAmA8sQybo8qkcktn+7Kb7t8AVhirE3\r\n2Asb/vjf6EPC8huU+O2qFHvrD7sWW7oLIothtAIQxckxVAm1Gjfx1SVQr1Um\r\nrM33DxuHiAqP77ZDYZkqs/GzM4p4DGlYoto=\r\n=k6Lk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2302021743.0_1675412864391_0.18061002699684714"},"_hasShrinkwrap":false},"1.2302031721.0":{"name":"@bentoproject/facebook","version":"1.2302031721.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2302031721.0"},"gitHead":"f8cbfb0c4e4db6b8dea923c0afdf75aa7888e4b8","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2302031721.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-CANnQe4YFeNiq4GN9a3H36PrZIsQeXdurVK3UiayPsUFvEUoJl25fjz1GyUc20Rt9ZXqEorVZpALbRhevtaGtw==","shasum":"28f4541df16bf5d7c1bbfb6249f02f0f32ada894","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2302031721.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF6eO1S/IH7KPr/RS1o73K+rbgnPQCHkCBSfITR5PiWqAiEArMd6E19M8o2RHfqgIlbpYB6cUcAL7snW9ufdLCATG4g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3hZ7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxXw/+NM9DLNuMnfFZCsupxsBT4ur9RhvOBeKP3O9LER6w7XrcK32R\r\nWhvUnmfgTnIWztjXw9FBgN/tO5bW5+sovpT7TzuZj4iaEyzKhVEnkdG0cbSt\r\nss2s93AeEhzlkc5ree0SiyGGVg3Yzyfgc41MRx2Tv/QgM9Ya0At55EgfuKMd\r\nl+nK0Wzqrmo/czQtQiimPFDvRBLH1uOVIxge2j4z7vPigmhd/WopBt6n66Ym\r\nfY6elRWTU6XaCS6/rEbqriZdrw/OswuLO0XCdB0RStlRAombFUWXYroKRAOp\r\nZ8TqOeoQyreAe4heWloEivCTMZ6K/dX0/Ncij1JCR8Z9AtkFHqZ48qtMv4Lt\r\nfzZ2bkZly7O6Lr9eQYU8kStxtQ1xl4iau5lA+Z71uFQis3NrayCO5tkOZ74p\r\nrqAPUB+eHWKcJPnZkaaAdotb4vMEXNqEZxvDPay7mYYqNIvL9Yb1vottl0QH\r\nUJxhpiDOE8rkSFxDGgJcFculjboH2MUfEcwI334/30MPsJVrb58updYoWndq\r\nLrojW9Cv6A+qXJA8Isv/rcXztgmKx8qchyAU0vWeEZBxjpyTujzMC8KHSyWH\r\nE1cvfdY/DTn5vYRdoIEcnr14P2c56bpRYAILl3iRnD3OtfcZ77SPaUXtQZ/H\r\nClQJrHkJUjDBo0cj2d/HYOuqNmPNHrHJW64=\r\n=CsH3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2302031721.0_1675499130944_0.0883034686304045"},"_hasShrinkwrap":false},"1.2302171719.0":{"name":"@bentoproject/facebook","version":"1.2302171719.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2302171719.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"767b9ceecbb9759948c2b0db6f66c49097659f98","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2302171719.0","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-hfdk40l+Td3hTV60YvRSUFboJZz7w941p+zqjqrOJ/qFIYDsezb6eHtvWa01GZ6C/dF4NQLLdId9KHS8k6S3eA==","shasum":"93724979dc7c7a771e52bd05d6313bbb4efc5ca7","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2302171719.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqi6HnF1BzD1L4/po/N2MvCgcd5vw3+IM+Cl58jEkdHwIhAK8neCuj8RFQCsGSQp79S8MqOKOf88XpZ2ucEuJNcwF8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8ItHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCdA//ToU7LNMTfnmxIMQKJwUyda0yYSKYfLyMJEcCtVPDmh5zCRUv\r\n45Pp6tSIJlaScsLrgPWGbB7bbCur+SDzGm+hxDzSw9RhwUAfAW/C0fx4PPZV\r\nltRr9iKYXXiifTgrIWp+uX0zahTJNVbagyFNdg1ceEV/Whn0VrS3eFN2QQQD\r\nT1IYzg+SxYx/I3H/jOMHkWqVaA/YLrGZ4ciIbDiKblVBpQNIg5Rlf8kTZkIa\r\njsW18AlxsWdDqU0NPMzaWFPhkSV5DbfeMruKyOZVb5AjIOQ1etRcgSXO8Xzb\r\n3hlF9mWtmxjThxVU+JP4EYMhjQpcKwftxXELCocl+7/HwBQMb4/EouUxzKuI\r\nBOK0xYrjd48CgNaMlYVATFFcgNp0R4DKkp6G8jTlwADbnFIcWR/RrR2vqdxi\r\nqHKiU15TDjA5/zUZUe3/p2r4hZhjrx2azl2/UG56ZOG0oFdxx89C844Q+vat\r\n0lrElA9Ig1bKPMg8v8eiipe7aGLwA3UxFFha7l1x0GkiyxWWW0Nh8Rb1rY/E\r\nCo5yTWZe6X3bKwnCBB7SyV1OLTdCLs9KLNPsSEQn+HH7hhZ/4zWYQxVQs2AR\r\ni4apk7Dlg81lz8fxzTfpZG1OG7zBWAnI8rbpui1JLcEmryKq+F+34Ede3J88\r\nV8WEcpKsmmOXaA1QUMV1/3viERF24qSo6L4=\r\n=bF01\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2302171719.0_1676708679048_0.5808100455681302"},"_hasShrinkwrap":false},"1.2302271541.0":{"name":"@bentoproject/facebook","version":"1.2302271541.0","description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","author":{"name":"Bento Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./web-component.css":"./dist/web-component.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"dependencies":{"@bentoproject/core":"0.2302271541.0"},"readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md","gitHead":"13cfe7f4354a82bebe08fd29496c4c7de848a18b","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@bentoproject/facebook@1.2302271541.0","_nodeVersion":"18.14.1","_npmVersion":"9.3.1","dist":{"integrity":"sha512-+aRZPyIkLVTKSJCu+AdhKcHrwaPmREpjbMqQX5kSCHdeckjwQJdkyyptCqmctVaMPI5EbbftCO+ds7llcTdM0w==","shasum":"7928d9f4e8ce4e1ba7f5a425bf9e7ae5cf8b0a50","tarball":"https://registry.npmjs.org/@bentoproject/facebook/-/facebook-1.2302271541.0.tgz","fileCount":29,"unpackedSize":1261562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBVMOEw5sNLyD3dXugY9+w/WruoA5wXi6ejYfRlAjvwHAiEAiirdqXLsY7N7PiPK7eIRSX9TbTqrS+HHjvoiVtrFWg4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/jksACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpehBAAokWnQVH+uWKaCrHml9BEQiVA8amqzrNfUjAMX86gV/H5j1oU\r\nu/Gi0WqELgknMNn62RZk7KO15k4UnaJWQ8sPLyL5L4C93KXNfNvA6NFmDP0X\r\n90TGh9PGElcl15COU/PE5zend4EG1cA3q5PMGkDhDIH+d4lzb1PrGRBgqDiR\r\nfREpbOtC1BZFRQ7cWBnAw/vX2RszbrmoBFAFb1k0CvRrEF7LTaCXZmRUhjc+\r\n3lsm4wf1NV7bulqW0h6/Cqc1YidLHwphvQrMKzi/KkXiUf8K8bmR9KDVs2I0\r\nOP6ptGT8AzFLS5cdgEmmVuCq/W66lahrH3QAOPPs171lUr6UeqrTa45KqdCB\r\n9OIviE6NseyvZS1twcj/iClo4DjWat8RlWPbvmJLTO5ELq4BfxoL/CVAV9PV\r\ns8/+PjMprNbCRLb9xwlnCb01ecFjzdYboZUASEQAn1+IenS5TyAwyGgW/3dt\r\nBqSBSfchMwGv+uAXWJhYRpAXpG7XAVCTqJzSKwhFM841qvUCNbBx0uY7y9Uz\r\ntiuevHYDZuvlkezV6AHvfbQ6eCgCI1hSiePn+1pxW0nu0hxyc78k2TFI/lhM\r\n66vlnG0KfBztYPRjiQDfEgl772t3nb57CnUfz8uH1ZeQFtSvHe8sbLscEK9Z\r\npVRQnxCha7+/cC4sKmxYwTfKaBvF1wF+YMI=\r\n=ZY5L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bentoprojectbot","email":"bentobot@amp.dev"},"directories":{},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook_1.2302271541.0_1677605163822_0.04672952065749958"},"_hasShrinkwrap":false}},"time":{"created":"2021-10-28T18:17:11.911Z","1.2110261518.0":"2021-10-28T18:17:12.144Z","modified":"2023-03-07T18:43:10.723Z","1.2110252343.0":"2021-10-28T21:47:22.887Z","1.2110281959.0":"2021-10-29T11:51:32.301Z","1.2110290545.0":"2021-10-30T11:21:14.508Z","1.2111011823.0":"2021-11-02T11:25:09.620Z","1.2110152252.3":"2021-11-02T22:04:15.189Z","1.2110212130.2":"2021-11-02T22:14:06.091Z","1.2111022043.0":"2021-11-03T11:21:14.181Z","1.2111180040.0":"2021-11-18T21:26:21.236Z","1.2111060251.3":"2021-11-18T21:42:34.432Z","1.2111182332.0":"2021-11-19T12:24:56.370Z","1.2111060251.9":"2021-11-19T16:31:53.976Z","1.2111191951.0":"2021-11-20T12:23:45.594Z","1.2111230244.0":"2021-11-23T12:24:27.153Z","1.2111230636.0":"2021-11-24T12:22:29.277Z","1.2111242025.0":"2021-11-25T12:42:18.755Z","1.2111292120.0":"2021-11-30T12:40:58.968Z","1.2111152338.2":"2021-11-30T17:54:52.133Z","1.2112010058.0":"2021-12-01T12:18:49.367Z","1.2112012300.0":"2021-12-02T12:30:33.723Z","1.2112021656.0":"2021-12-03T12:21:58.901Z","1.2112032204.0":"2021-12-04T12:20:00.484Z","1.2112062322.0":"2021-12-07T12:27:17.480Z","1.2112062322.2":"2021-12-07T22:28:36.783Z","1.2112080230.0":"2021-12-08T13:21:13.561Z","1.2112080230.1":"2021-12-08T15:57:43.807Z","1.2112082232.0":"2021-12-09T12:45:15.882Z","1.2111242025.1":"2021-12-10T00:11:31.397Z","1.2112091956.0":"2021-12-10T12:46:18.707Z","1.2112102136.0":"2021-12-11T12:31:17.032Z","1.2112132331.0":"2021-12-14T12:59:15.840Z","1.2112160003.0":"2021-12-16T12:19:50.685Z","1.2112162055.0":"2021-12-17T12:17:31.751Z","1.2112170012.0":"2021-12-18T12:17:49.611Z","1.2112201724.0":"2021-12-21T12:21:15.066Z","1.2112212349.0":"2021-12-22T12:23:16.076Z","1.2112221739.0":"2021-12-23T12:18:45.525Z","1.2112231523.0":"2021-12-24T12:20:10.484Z","1.2201042109.0":"2022-01-05T12:31:24.465Z","1.2201052144.0":"2022-01-06T12:41:12.358Z","1.2201061922.0":"2022-01-07T12:32:16.221Z","1.2201071715.0":"2022-01-08T12:22:02.565Z","1.2201101902.0":"2022-01-11T12:30:10.741Z","1.2112231523.1":"2022-01-11T19:25:51.849Z","1.2201120015.0":"2022-01-12T12:30:22.621Z","1.2112231523.2":"2022-01-12T22:39:07.817Z","1.2201122239.0":"2022-01-13T12:59:53.266Z","1.2201131702.0":"2022-01-14T13:04:16.573Z","1.2201141909.0":"2022-01-15T12:21:18.788Z","1.2201141909.1":"2022-01-25T19:49:44.057Z","1.2201141909.3":"2022-01-26T20:59:12.364Z","1.2201141909.4":"2022-02-01T21:38:30.297Z","1.2201212122.3":"2022-02-02T17:58:25.705Z","1.2202012258.0":"2022-02-02T19:13:30.629Z","1.2202022130.0":"2022-02-03T16:56:57.922Z","1.2202031816.0":"2022-02-04T15:47:05.280Z","1.2202042210.0":"2022-02-05T09:18:03.764Z","1.2202072236.0":"2022-02-08T09:20:09.491Z","1.2201262038.1":"2022-02-08T21:12:50.417Z","1.2202082004.0":"2022-02-09T22:16:15.333Z","1.2202092050.0":"2022-02-10T17:57:29.885Z","1.2202112230.0":"2022-02-14T21:05:55.921Z","1.2202142035.0":"2022-02-15T09:25:24.957Z","1.2202042210.1":"2022-02-15T18:23:13.616Z","1.2202152253.0":"2022-02-16T09:08:29.936Z","1.2202162256.0":"2022-02-17T09:29:47.294Z","1.2202180255.0":"2022-02-18T09:44:33.881Z","1.2202230359.0":"2022-02-23T09:29:33.395Z","1.2202232232.0":"2022-02-24T15:23:06.018Z","1.2202241911.0":"2022-02-25T15:18:03.884Z","1.2202252101.0":"2022-02-28T16:46:35.341Z","1.2202230359.1":"2022-03-01T22:05:37.928Z","1.2203041950.0":"2022-03-15T18:38:03.172Z","1.2203151539.0":"2022-03-16T08:22:13.048Z","1.2203172113.0":"2022-03-18T08:23:30.083Z","1.2203221937.0":"2022-03-23T08:25:32.598Z","1.2203231914.0":"2022-03-24T08:23:12.696Z","1.2203101844.0":"2022-03-24T20:10:12.969Z","1.2203281422.0":"2022-03-29T08:28:26.315Z","1.2204121632.0":"2022-04-12T18:17:11.068Z","1.2204122000.0":"2022-04-13T08:32:32.680Z","1.2204132005.0":"2022-04-14T08:33:54.057Z","1.2204142048.0":"2022-04-15T08:26:31.442Z","1.2204160405.0":"2022-04-16T08:25:30.776Z","1.2204182206.0":"2022-04-19T08:31:12.267Z","1.2204191429.0":"2022-04-20T08:33:14.909Z","1.2204211736.0":"2022-04-22T08:27:15.910Z","1.2204221712.0":"2022-04-23T08:26:04.848Z","1.2204252045.0":"2022-04-26T08:33:02.818Z","1.2204272205.0":"2022-04-28T08:30:35.820Z","1.2204281949.0":"2022-04-29T08:28:26.270Z","1.2204292129.0":"2022-04-30T08:24:31.012Z","1.2205031420.0":"2022-05-04T08:27:39.861Z","1.2205041533.0":"2022-05-05T08:27:44.960Z","1.2205051832.0":"2022-05-06T08:27:17.165Z","1.2205090810.0":"2022-05-10T08:31:42.730Z","1.2205101904.0":"2022-05-11T08:30:54.258Z","1.2205120110.0":"2022-05-12T08:32:08.334Z","1.2205161914.0":"2022-05-17T08:27:40.611Z","1.2205181800.0":"2022-05-19T08:28:33.204Z","1.2205191749.0":"2022-05-20T08:28:24.549Z","1.2205232225.0":"2022-05-24T08:27:32.555Z","1.2205120110.1":"2022-05-24T19:14:17.201Z","1.2205251942.0":"2022-05-26T08:28:35.756Z","1.2205270638.0":"2022-05-27T08:27:35.086Z","1.2206071918.0":"2022-06-07T22:28:54.172Z","1.2206072228.0":"2022-06-08T08:28:20.419Z","1.2206082301.0":"2022-06-09T08:31:41.640Z","1.2205270638.4":"2022-06-10T21:36:37.424Z","1.2206101637.0":"2022-06-11T08:27:40.456Z","1.2206131450.0":"2022-06-14T08:28:48.982Z","1.2206071918.1":"2022-06-14T21:27:55.520Z","1.2206162023.0":"2022-06-17T08:28:06.714Z","1.2206221455.0":"2022-06-23T08:28:31.275Z","1.2206291614.0":"2022-06-30T16:09:12.505Z","1.2207071723.0":"2022-07-08T08:34:35.908Z","1.2207181727.0":"2022-07-19T08:27:18.837Z","1.2207201724.0":"2022-07-21T08:28:23.010Z","1.2207221643.0":"2022-07-23T08:27:55.129Z","1.2207261725.0":"2022-07-27T08:28:18.249Z","1.2207281718.0":"2022-07-29T08:30:00.303Z","1.2208021808.0":"2022-08-03T08:28:22.556Z","1.2208042017.0":"2022-08-05T08:30:18.839Z","1.2208051912.0":"2022-08-06T08:29:00.640Z","1.2208081650.0":"2022-08-09T08:28:35.469Z","1.2208092047.0":"2022-08-10T08:28:33.324Z","1.2207281718.1":"2022-08-10T16:58:54.007Z","1.2207281718.2":"2022-08-10T18:16:57.357Z","1.2208112015.0":"2022-08-12T08:28:55.738Z","1.2208121708.0":"2022-08-13T08:27:47.668Z","1.2208051912.1":"2022-08-16T23:06:39.988Z","1.2208172101.0":"2022-08-24T20:57:19.585Z","1.2208242209.0":"2022-08-25T08:28:07.399Z","1.2209072154.0":"2022-09-08T08:26:04.733Z","1.2209131909.0":"2022-09-14T08:51:44.680Z","1.2208242209.1":"2022-09-15T16:43:36.122Z","1.2209142312.0":"2022-09-20T22:08:46.139Z","1.2210010655.0":"2022-10-04T16:51:09.899Z","1.2210041838.0":"2022-10-05T08:31:20.562Z","1.2210052034.0":"2022-10-06T08:26:24.267Z","1.2210071758.0":"2022-10-08T08:27:02.684Z","1.2210112333.0":"2022-10-12T08:24:20.120Z","1.2210142102.0":"2022-10-15T08:25:54.278Z","1.2210172057.0":"2022-10-18T08:29:04.903Z","1.2210191347.0":"2022-10-20T08:26:14.714Z","1.2210211855.0":"2022-10-22T08:25:18.055Z","1.2210251605.0":"2022-10-26T08:28:47.041Z","1.2210272257.0":"2022-10-28T08:27:57.613Z","1.2211042305.0":"2022-11-05T08:25:50.315Z","1.2211060024.0":"2022-11-08T08:26:54.669Z","1.2211111611.0":"2022-11-12T08:25:51.198Z","1.2211151402.0":"2022-11-16T18:43:13.501Z","1.2211182146.0":"2022-11-19T08:27:24.107Z","1.2211250451.0":"2022-11-25T08:25:51.552Z","1.2211302304.0":"2022-12-01T08:25:21.588Z","1.2212071834.0":"2022-12-07T19:38:59.485Z","1.2212092023.0":"2022-12-10T08:27:03.685Z","1.2211302304.1":"2022-12-13T21:52:22.718Z","1.2212151632.0":"2022-12-20T15:53:49.671Z","1.2212151632.1":"2022-12-20T20:09:35.503Z","1.2211302304.2":"2022-12-20T22:33:55.928Z","1.2212151632.2":"2023-01-03T18:14:07.305Z","1.2301031703.0":"2023-01-03T20:32:14.683Z","1.2301032153.0":"2023-01-04T08:26:58.396Z","1.2301041800.0":"2023-01-05T08:27:03.228Z","1.2301100345.0":"2023-01-10T08:26:16.349Z","1.2301112346.0":"2023-01-12T08:28:46.770Z","1.2301181928.0":"2023-01-19T08:27:34.015Z","1.2301261900.0":"2023-01-27T08:28:56.440Z","1.2301301810.0":"2023-01-31T08:28:42.232Z","1.2302012254.0":"2023-02-02T08:26:21.111Z","1.2302021743.0":"2023-02-03T08:27:44.633Z","1.2302031721.0":"2023-02-04T08:25:31.224Z","1.2302171719.0":"2023-02-18T08:24:39.294Z","1.2302271541.0":"2023-02-28T17:26:04.033Z"},"maintainers":[{"name":"bentoprojectbot","email":"bentobot@amp.dev"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"esth","email":"esther@amp.dev"}],"description":"Embeds a Facebook post, a Facebook video, or a comment on a Facebook post.","homepage":"https://github.com/ampproject/amphtml/tree/main/src/bento/components/bento-facebook/1.0","repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"src/bento/components/bento-facebook/1.0"},"author":{"name":"Bento Authors"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"license":"Apache-2.0","readme":"# Bento Facebook\n\nEmbeds a [Facebook](https://facebook.com) post, a Facebook video, or a comment on a Facebook post.\n\n## Web Component\n\nYou must include each Bento component's required CSS library before adding custom styles in order to guarantee proper loading. Or use the lightweight pre-uprgrade styles available inline. See [Layout and Style](#layout-and-style).\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport {defineElement as defineBentoFacebook} from '@bentoproject/facebook';\ndefineBentoFacebook();\n```\n\n### Include via `<script>`\n\n```html\n<script type=\"module\" src=\"https://cdn.ampproject.org/bento.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/bento.js\" crossorigin=\"anonymous\"></script>\n<script type=\"module\" src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\" crossorigin=\"anonymous\"></script>\n<script nomodule src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\" crossorigin=\"anonymous\"></script>\n<link rel=\"stylesheet\" href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\" crossorigin=\"anonymous\">\n```\n\n### Example\n\n##### Embed a Facebook Post\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-post\"\n      data-href=\"https://www.facebook.com/ParksCanada/posts/1712989015384373\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-post\">Change Facebook post</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookPost = document.querySelector('#facebook-post');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-post').onclick = () => {\n          facebookPost.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Video\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Page\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"video\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n    <div class=\"buttons\" style=\"margin-top: 8px\">\n      <button id=\"change-facebook-video\">Change Facebook video</button>\n    </div>\n\n    <script>\n      (async () => {\n        const facebookVideo = document.querySelector('#facebook-video');\n        await customElements.whenDefined('bento-facebook');\n        // set up button actions\n        document.querySelector('#change-facebook-video').onclick = () => {\n          facebookVideo.setAttribute(\n            'data-href',\n            'https://www.facebook.com/NASA/videos/846648316199961/'\n          );\n        };\n      })();\n    </script>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Like Button\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-video\"\n      data-embed-as=\"like\"\n      data-href=\"https://www.facebook.com/nasaearth/videos/10155187938052139\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n##### Embed a Facebook Comment Section\n\n<!--% example %-->\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/bento.mjs\"\n    ></script>\n    <script nomodule src=\"https://cdn.ampproject.org/bento.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n    />\n    <script\n      type=\"module\"\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.mjs\"\n    ></script>\n    <script\n      nomodule\n      async\n      src=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.js\"\n    ></script>\n    <style>\n      bento-facebook {\n        width: 375px;\n        height: 472px;\n      }\n    </style>\n  </head>\n  <body>\n    <bento-facebook\n      id=\"facebook-comments\"\n      data-embed-as=\"comments\"\n      data-href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\"\n    >\n    </bento-facebook>\n  </body>\n</html>\n```\n\n### Layout and Style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link\n  rel=\"stylesheet\"\n  type=\"text/css\"\n  href=\"https://cdn.ampproject.org/v0/bento-facebook-1.0.css\"\n/>\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style>\n  bento-facebook {\n    display: block;\n    overflow: hidden;\n    position: relative;\n  }\n</style>\n```\n\n### Attributes\n\n#### `data-href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `data-embed-as`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `data-align-center`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `data-allowfullscreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `data-include-comment-parent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `data-action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `data-hide-cover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `data-hide-cta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `data-kd_site` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `data-layout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `data-locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `data-numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-order-by` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `data-ref` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `data-share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `data-show-facepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `data-size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `data-small-header` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `data-tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n\n---\n\n## Preact/React Component\n\n### Import via npm\n\n```sh\nnpm install @bentoproject/facebook\n```\n\n```javascript\nimport React from 'react';\nimport {BentoFacebook} from '@bentoproject/facebook/react';\nimport '@bentoproject/facebook/styles.css';\n\nfunction App() {\n  return (\n    <BentoFacebook\n      embedAs=\"post\"\n      href=\"https://www.facebook.com/NASA/photos/a.67899501771/10159193669016772/\"\n    ></BentoFacebook>\n  );\n}\n```\n\n### Props\n\n#### `href`\n\nThe URL of the Facebook post/video/comment. For example, a post or video will look like `https://www.facebook.com/zuck/posts/10102593740125791`. A comment or comment reply will look like `https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185`.\n\n#### `embedAs`\n\nThe value can be either `post`, `video`, `comments`, `like`, or `page`. The default value is `post`.\n\nBoth posts and videos can be embedded as a post. Setting `data-embed-as=\"video\"` for Facebook videos embeds the player of the video, and adds the accompanying post card with it. Setting `data-embed-as=\"post\"` ignores the caption card. This is done to make sure we are zooming in on videos correctly.\n\nThe `comments` value embeds a comment section which allows people to comment on content using their Facebook account.\n\nThe `like` value embeds a like button which, when clicked, triggers the like to be logged on Facebook. The `page` value embeds any public facebook page.\n\nCheck out the documentation for differences between [post embeds](https://developers.facebook.com/docs/plugins/embedded-posts), [video embeds](https://developers.facebook.com/docs/plugins/embedded-video-player), [like embeds](https://developers.facebook.com/docs/plugins/like-button), and [page embeds](https://developers.facebook.com/docs/plugins/page-plugin).\n\nThe `comment` value is deprecated but previously was used to embed a single comment (or reply to a comment) on a post. This is not to be confused with [`amp-facebook-comments`](https://amp.dev/documentation/examples/components/amp-facebook-comments/).\n\n#### `alignCenter`\n\nThe value is either `true` or `false`. The default is `false`.\n\nFor posts and videos, having this attribute set to true would align the post/video container to center.\n\n#### `allowFullScreen`\n\nThe value is either set or omitted. The default is omitted (no fullscreen).\n\nWhen embedding a video, set this value to allow for a fullscreen experience.\n\n#### `includeCommentParent`\n\nThe value is either `true` or `false`. The default is `false`.\n\nWhen you are embedding a comment reply, you can optionally also include the parent comment of the reply.\n\n#### `action` (optional)\n\nThe verb to display on the button. Can be either `like` or `recommend`. The default is `like`.\n\n#### `dataLayout` (optional)\n\nSelects one of the different layouts that are available for the plugin. Can be one of `standard`, `button_count`, `button` or `box_count`. The default is `standard`.\n\n#### `hideCover` (optional)\n\nHides the cover photo in the header. Default value is `false`.\n\n#### `hideCta` (optional)\n\nHides the custom call to action button (if available). Default value is `false`.\n\n#### `kdSite` (optional)\n\nThis attribute is also known as `data-kid_directed_site` in the Facebook SDK. If your web site or online service, or a portion of your service, is directed to children under 13 you must enable this attribute. The default is `false`.\n\n#### `locale` (optional)\n\nBy default, the locale is set to user's system language; however, you can specify a locale as well.\n\nFor details on strings accepted here please visit the [Facebook API Localization page](https://developers.facebook.com/docs/internationalization).\n\n#### `numposts` (optional)\n\nThe number of comments to show. Currently Facebook SDK limits this to max 100. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `orderBy` (optional)\n\nThe order to use when displaying comments. For details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/comments).\n\n#### `refLabel` (optional)\n\nA label for tracking referrals which must be less than 50 characters and can contain alphanumeric characters and some punctuation.\n\n#### `share` (optional)\n\nSpecifies whether to include a share button beside the Like button. This only works with the XFBML version. The default is `false`.\n\n#### `showFacepile` (optional)\n\nShows profile photos of friends who like the page. Default value is `true`.\n\n#### `size` (optional)\n\nThe size of the button, which can be one of two sizes, `large` or `small`. The default is `small`.\n\nFor details, see the [Facebook comments documentation](https://developers.facebook.com/docs/plugins/like-button#settings).\n\n#### `smallHeader` (optional)\n\nUses the small header instead. Default value is `false`.\n\n#### `tabs` (optional)\n\nSpecifies the tabs to render (i.e., `timeline`, `events`, `messages`). Use a comma-separated list to add multiple tabs (e.g., `timeline, events`). By default, the Facebook page plugin shows the timeline activity.\n\n#### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"Facebook\"`.\n","readmeFilename":"README.md"}