{"version":3,"file":"planPerks-CIfFQDUe.js","sources":["../../../app/javascript/shared/components/InfoTooltip.vue","../../../app/javascript/assets/images/icons/film.svg","../../../app/javascript/assets/images/icons/video-playlist.svg","../../../app/javascript/assets/images/icons/b-comment.svg","../../../app/javascript/assets/images/icons/cockade.svg","../../../app/javascript/assets/images/icons/shopping-label.svg","../../../app/javascript/assets/images/icons/flag.svg","../../../app/javascript/assets/images/icons/hyperlink.svg","../../../app/javascript/shared/data/planPerks.js"],"sourcesContent":["<template>\n  <div\n    class=\"tw-w-4 tw-h-4 tw-rounded-full tw-border tw-border-neutral-300 tw-grid tw-place-items-center tw-text-xs tw-text-neutral-300 tw-select-none\"\n    v-tooltip=\"{\n      content,\n      placement,\n      html: true,\n    }\"\n  >\n    i\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nconst props = withDefaults(\n  defineProps<{\n    title?: string\n    tooltip: string | object\n    placement: string\n  }>(),\n  {\n    title: '',\n    placement: 'top',\n  },\n)\n\nconst content = computed(() => {\n  if (props.title) {\n    return `<div class='tw-heading-5 tw-mb-2 tw-text-white'>${props.title}</div><div class='tw-text-neutral-400'>${props.tooltip}</div>`\n  }\n\n  return props.tooltip\n})\n</script>\n","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n  viewBox: \"0 0 16 16\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"g\", { \"clip-path\": \"url(#clip0_7150_12796)\" }, [\n  /*#__PURE__*/_createElementVNode(\"path\", {\n    d: \"M16 4L12 6.4V4C12 3.46957 11.7893 2.96086 11.4142 2.58579C11.0391 2.21071 10.5304 2 10 2H2C1.46957 2 0.960859 2.21071 0.585786 2.58579C0.210714 2.96086 0 3.46957 0 4L0 12C0 12.5304 0.210714 13.0391 0.585786 13.4142C0.960859 13.7893 1.46957 14 2 14H10C10.5304 14 11.0391 13.7893 11.4142 13.4142C11.7893 13.0391 12 12.5304 12 12V9.6L16 12V4ZM2 12V4H10V12H2Z\",\n    fill: \"currentColor\"\n  })\n], -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"defs\", null, [\n  /*#__PURE__*/_createElementVNode(\"clipPath\", { id: \"clip0_7150_12796\" }, [\n    /*#__PURE__*/_createElementVNode(\"rect\", {\n      width: \"16\",\n      height: \"16\",\n      fill: \"white\"\n    })\n  ])\n], -1)\nconst _hoisted_4 = [\n  _hoisted_2,\n  _hoisted_3\n]\n\nexport function render(_ctx, _cache) {\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [..._hoisted_4]))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = {\n  viewBox: \"0 0 16 16\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"<g clip-path=\\\"url(#clip0_7150_12810)\\\"><path d=\\\"M15.0002 3.99975H1.00024C0.866825 3.99173 0.733227 4.0121 0.608267 4.05952C0.483307 4.10694 0.369827 4.18032 0.275319 4.27483C0.180811 4.36934 0.107426 4.48282 0.060008 4.60778C0.01259 4.73274 -0.00778171 4.86634 0.000237932 4.99975V14.9997C-0.00778171 15.1332 0.01259 15.2668 0.060008 15.3917C0.107426 15.5167 0.180811 15.6302 0.275319 15.7247C0.369827 15.8192 0.483307 15.8926 0.608267 15.94C0.733227 15.9874 0.866825 16.0078 1.00024 15.9997H15.0002C15.1337 16.0078 15.2672 15.9874 15.3922 15.94C15.5172 15.8926 15.6306 15.8192 15.7252 15.7247C15.8197 15.6302 15.8931 15.5167 15.9405 15.3917C15.9879 15.2668 16.0083 15.1332 16.0002 14.9997V4.99975C16.0083 4.86634 15.9879 4.73274 15.9405 4.60778C15.8931 4.48282 15.8197 4.36934 15.7252 4.27483C15.6306 4.18032 15.5172 4.10694 15.3922 4.05952C15.2672 4.0121 15.1337 3.99173 15.0002 3.99975ZM6.00024 12.9997V6.99975L11.0002 9.99975L6.00024 12.9997Z\\\" fill=\\\"currentColor\\\"></path><path d=\\\"M3 0H13C13.2652 0 13.5196 0.105357 13.7071 0.292893C13.8946 0.48043 14 0.734784 14 1V2H2V1C2 0.734784 2.10536 0.48043 2.29289 0.292893C2.48043 0.105357 2.73478 0 3 0V0Z\\\" fill=\\\"currentColor\\\"></path></g><defs><clipPath id=\\\"clip0_7150_12810\\\"><rect width=\\\"16\\\" height=\\\"16\\\" fill=\\\"white\\\"></rect></clipPath></defs>\", 2)\nconst _hoisted_4 = [\n  _hoisted_2\n]\n\nexport function render(_ctx, _cache) {\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [..._hoisted_4]))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = {\n  viewBox: \"0 0 16 16\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"<g clip-path=\\\"url(#clip0_7150_11524)\\\"><path d=\\\"M6.5 0C2.91 0 0 2.462 0 5.5C0 6.575 0.37 7.574 1 8.422V12L3.699 10.458C4.548 10.802 5.496 11 6.5 11C10.09 11 13 8.538 13 5.5C13 2.462 10.09 0 6.5 0Z\\\" fill=\\\"currentColor\\\"></path><path d=\\\"M15.9998 9.50033C15.9998 8.51333 15.5708 7.60333 14.8528 6.86133C14.1238 10.3483 10.6598 13.0003 6.49982 13.0003C6.39682 13.0003 6.29782 12.9823 6.19482 12.9793C7.23082 13.6173 8.55582 14.0003 9.99982 14.0003C10.4488 14.0003 10.8858 13.9603 11.3068 13.8903L14.9998 16.0003V12.0003H14.9878C15.6268 11.2853 15.9998 10.4253 15.9998 9.50033Z\\\" fill=\\\"currentColor\\\"></path></g><defs><clipPath id=\\\"clip0_7150_11524\\\"><rect width=\\\"16\\\" height=\\\"16\\\" fill=\\\"white\\\"></rect></clipPath></defs>\", 2)\nconst _hoisted_4 = [\n  _hoisted_2\n]\n\nexport function render(_ctx, _cache) {\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [..._hoisted_4]))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = {\n  viewBox: \"0 0 16 16\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"<g clip-path=\\\"url(#clip0_7150_11539)\\\"><path d=\\\"M8 10C10.7614 10 13 7.76142 13 5C13 2.23858 10.7614 0 8 0C5.23858 0 3 2.23858 3 5C3 7.76142 5.23858 10 8 10Z\\\" fill=\\\"currentColor\\\"></path><path d=\\\"M13.8001 8.90039C12.7001 10.6004 10.8001 11.8004 8.6001 12.0004L10.5001 16.0004L12.4001 12.9004L16.0001 13.4004L13.8001 8.90039Z\\\" fill=\\\"currentColor\\\"></path><path d=\\\"M2.2 8.90039L0 13.4004L3.6 12.9004L5.4 16.0004L7.3 12.0004C5.2 11.8004 3.3 10.6004 2.2 8.90039Z\\\" fill=\\\"currentColor\\\"></path></g><defs><clipPath id=\\\"clip0_7150_11539\\\"><rect width=\\\"16\\\" height=\\\"16\\\" fill=\\\"white\\\"></rect></clipPath></defs>\", 2)\nconst _hoisted_4 = [\n  _hoisted_2\n]\n\nexport function render(_ctx, _cache) {\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [..._hoisted_4]))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n  viewBox: \"0 0 16 16\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"g\", { \"clip-path\": \"url(#clip0_7150_11569)\" }, [\n  /*#__PURE__*/_createElementVNode(\"path\", {\n    d: \"M14.707 6.29325L8.707 0.29325C8.316 -0.09775 7.684 -0.09775 7.293 0.29325L1.293 6.29325C1.105 6.48025 1 6.73525 1 7.00025V15.0002C1 15.5522 1.448 16.0002 2 16.0002H14C14.552 16.0002 15 15.5522 15 15.0002V7.00025C15 6.73525 14.895 6.48025 14.707 6.29325ZM8 5.00025C9.105 5.00025 10 5.89525 10 7.00025C10 8.10425 9.105 9.00025 8 9.00025C6.895 9.00025 6 8.10425 6 7.00025C6 5.89525 6.895 5.00025 8 5.00025ZM12 13.0002H4V11.0002H12V13.0002Z\",\n    fill: \"currentColor\"\n  })\n], -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"defs\", null, [\n  /*#__PURE__*/_createElementVNode(\"clipPath\", { id: \"clip0_7150_11569\" }, [\n    /*#__PURE__*/_createElementVNode(\"rect\", {\n      width: \"16\",\n      height: \"16\",\n      fill: \"white\"\n    })\n  ])\n], -1)\nconst _hoisted_4 = [\n  _hoisted_2,\n  _hoisted_3\n]\n\nexport function render(_ctx, _cache) {\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [..._hoisted_4]))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n  viewBox: \"0 0 16 16\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M13 6L15 1H3C3 0.4 2.6 0 2 0C1.4 0 1 0.4 1 1V15C1 15.6 1.4 16 2 16C2.6 16 3 15.6 3 15V11H15L13 6Z\",\n  fill: \"currentColor\"\n}, null, -1)\nconst _hoisted_3 = [\n  _hoisted_2\n]\n\nexport function render(_ctx, _cache) {\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [..._hoisted_3]))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n  viewBox: \"0 0 16 16\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M13 5.142V7.278C13.595 7.625 14 8.263 14 9V11C14 12.103 13.103 13 12 13H8C6.897 13 6 12.103 6 11V9C6 7.897 6.897 7 8 7H9V5H8C5.794 5 4 6.794 4 9V11C4 13.206 5.794 15 8 15H12C14.206 15 16 13.206 16 11V9C16 7.141 14.721 5.589 13 5.142Z\",\n  fill: \"currentColor\"\n}, null, -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M8 1H4C1.794 1 0 2.794 0 5V7C0 8.859 1.279 10.411 3 10.858V8.722C2.405 8.375 2 7.737 2 7V5C2 3.897 2.897 3 4 3H8C9.103 3 10 3.897 10 5V7C10 8.103 9.103 9 8 9H7V11H8C10.206 11 12 9.206 12 7V5C12 2.794 10.206 1 8 1Z\",\n  fill: \"currentColor\"\n}, null, -1)\nconst _hoisted_4 = [\n  _hoisted_2,\n  _hoisted_3\n]\n\nexport function render(_ctx, _cache) {\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [..._hoisted_4]))\n}\nexport default { render: render }","import FilmIcon from '@/assets/images/icons/film.svg'\nimport VideoPlaylistIcon from '@/assets/images/icons/video-playlist.svg'\nimport CommentsIcon from '@/assets/images/icons/b-comment.svg'\nimport CockadeIcon from '@/assets/images/icons/cockade.svg'\nimport GoldCoinIcon from '@/assets/images/icons/gold-coin-2.svg'\nimport ShoppingLabelIcon from '@/assets/images/icons/shopping-label.svg'\nimport CommentAddIcon from '@/assets/images/icons/comment-add.svg'\nimport ChessKingIcon from '@/assets/images/icons/chess-king.svg'\nimport FlagIcon from '@/assets/images/icons/flag.svg'\nimport HyperlinkIcon from '@/assets/images/icons/hyperlink.svg'\n\nconst planPerksIcons = {\n  'film-icon': FilmIcon,\n  'video-playlist-icon': VideoPlaylistIcon,\n  'comments-icon': CommentsIcon,\n  'cockade-icon': CockadeIcon,\n  'gold-coin-icon': GoldCoinIcon,\n  'shopping-label-icon': ShoppingLabelIcon,\n  'comment-add-icon': CommentAddIcon,\n  'chess-king-icon': ChessKingIcon,\n  'flag-icon': FlagIcon,\n  'hyperlink-icon': HyperlinkIcon,\n}\n\nconst getPlanPerksWithIcons = (perks) => {\n  if (!perks) return []\n  return perks.map((perk) => ({\n    ...perk,\n    icon: planPerksIcons[perk.icon],\n  }))\n}\n\nconst comparePlans = (plans, plan, compareToPlan) => {\n  const perksWithIcons = getPlanPerksWithIcons(plans[plan])\n  const perksToCompare = perksWithIcons.filter(\n    (perk) => perk.includeInComparison,\n  )\n  const compareToPerks = plans[compareToPlan]\n  return perksToCompare.reduce((acc, perk) => {\n    const hasPerk = compareToPerks.some(\n      (compareToPerk) => compareToPerk.text === perk.text,\n    )\n    return hasPerk ? acc : [...acc, perk]\n  }, [])\n}\n\nexport { planPerksIcons, comparePlans, getPlanPerksWithIcons }\n"],"names":["props","__props","content","computed","_hoisted_1","_hoisted_2","_createElementVNode","_hoisted_3","_hoisted_4","render","_ctx","_cache","_openBlock","_createElementBlock","FilmIcon","_createStaticVNode","VideoPlaylistIcon","CommentsIcon","CockadeIcon","ShoppingLabelIcon","FlagIcon","HyperlinkIcon","planPerksIcons","GoldCoinIcon","CommentAddIcon","ChessKingIcon","getPlanPerksWithIcons","perks","perk","comparePlans","plans","plan","compareToPlan","perksToCompare","compareToPerks","acc","compareToPerk"],"mappings":"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"}