{"version":3,"file":"js/821.7aae3646.js","mappings":"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","sources":["webpack://surface/./src/components/common/MeshOverlayContainer.vue","webpack://surface/./src/components/common/Tooltip.vue","webpack://surface/./src/components/common/Tooltip.vue?fd4c","webpack://surface/./src/components/common/ButtonCircularOverlay.vue","webpack://surface/./src/components/common/ButtonCircularOverlay.vue?2707","webpack://surface/./src/components/common/ButtonMagnifyOverlay.vue","webpack://surface/./src/components/common/ButtonMagnifyOverlay.vue?9b5b","webpack://surface/./src/components/common/MeshOverlayContainer.vue?a201"],"sourcesContent":["<template>\r\n  <div\r\n    id=\"meshOverlay\"\r\n    class=\"ui-mesh-overlay-container\"\r\n    :class=\"{\r\n      'ui-mesh-overlay-container--hidden': $store.state.meshOverlayHidden,\r\n    }\"\r\n  >\r\n    <div v-for=\"item in items\" v-bind:key=\"item.id\">\r\n      <ButtonCircularOverlay\r\n        v-if=\"item.type === 'actionDot'\"\r\n        :item=\"item\"\r\n        :position=\"isFamilyExplorer ? position(item) : null\"\r\n        :isShowing=\"isShowing(item)\"\r\n        @click=\"\r\n          () => {\r\n            if (this.onClick) {\r\n              this.onClick(item);\r\n            }\r\n          }\r\n        \"\r\n      />\r\n      <ButtonMagnifyOverlay\r\n        v-if=\"item.type === 'magnify'\"\r\n        :item=\"item\"\r\n        :position=\"isFamilyExplorer ? position(item) : null\"\r\n        :isShowing=\"isShowing(item)\"\r\n        @click=\"\r\n          () => {\r\n            if (this.onClick) {\r\n              this.onClick(item);\r\n            }\r\n          }\r\n        \"\r\n        :isOpen=\"currentTooltip === item.id\"\r\n      />\r\n      <Tooltip\r\n        v-if=\"item.type === 'tooltip'\"\r\n        :item=\"item\"\r\n        :position=\"isFamilyExplorer ? position(item) : null\"\r\n        :isShowing=\"isShowing(item)\"\r\n        :id=\"item.id\"\r\n        :isOpen=\"currentTooltip === item.id\"\r\n        :isFamExplorer=\"isFamilyExplorer\"\r\n      />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport Tooltip from \"@/components/common/Tooltip\";\r\nimport ButtonCircularOverlay from \"@/components/common/ButtonCircularOverlay\";\r\nimport ButtonMagnifyOverlay from \"@/components/common/ButtonMagnifyOverlay\";\r\n\r\nexport default {\r\n  name: \"MeshOverlayContainer\",\r\n  components: {\r\n    Tooltip,\r\n    ButtonCircularOverlay,\r\n    ButtonMagnifyOverlay,\r\n  },\r\n  setup(props) {\r\n    const store = useStore();\r\n\r\n    const items = computed(() => {\r\n      return store.state.meshOverlay.items;\r\n    });\r\n    const itemsPos = computed(() => {\r\n      return store.state.meshOverlay.itemsPos;\r\n    });\r\n    const isFamilyExplorer = computed(() => {\r\n      return store.state.isFamilyExplorer;\r\n    });\r\n    const cameraDeg = computed(() => {\r\n      return store.state.camDeg;\r\n    });\r\n\r\n    const currentTooltip = computed(() => {\r\n      return store.state.currentTooltip;\r\n    });\r\n    const famExpCurrentPosture = computed(() => {\r\n      return store.state.famExpCurrentPosture;\r\n    });\r\n    const famExpCurrentModel = computed(() => {\r\n      return store.state.famExpCurrentModel;\r\n    });\r\n\r\n    function position(item) {\r\n      return itemsPos.value[item.id];\r\n    }\r\n\r\n    function isShowing(item) {\r\n      let answer = true;\r\n      let rangesAnswer = true;\r\n      if (isFamilyExplorer.value) {\r\n        answer = false;\r\n        rangesAnswer = false;\r\n\r\n        if (\r\n          (currentTooltip.value && currentTooltip.value === item.id) ||\r\n          !currentTooltip.value\r\n        ) {\r\n          answer = true;\r\n        }\r\n        if (item.type === \"actionDot\" && !currentTooltip.value) {\r\n          answer = true;\r\n        }\r\n        if (item.data.ranges && item.data.modelRanges) {\r\n          rangesAnswer =\r\n            this.isInRange(item, \"ranges\", famExpCurrentPosture.value) &&\r\n            this.isInRange(item, \"modelRanges\", famExpCurrentModel.value);\r\n        } else if (item.data.modelRanges) {\r\n          rangesAnswer = this.isInRange(\r\n            item,\r\n            \"modelRanges\",\r\n            famExpCurrentModel.value\r\n          );\r\n        } else {\r\n          rangesAnswer = this.isInRange(\r\n            item,\r\n            \"ranges\",\r\n            famExpCurrentPosture.value\r\n          );\r\n        }\r\n      }\r\n\r\n      return answer && rangesAnswer;\r\n    }\r\n\r\n    function isValueInRange(range, val) {\r\n      if (range[0] > range[1]) {\r\n        return val >= range[0] || val <= range[1];\r\n      } else {\r\n        return val >= range[0] && val <= range[1];\r\n      }\r\n    }\r\n\r\n    function isInRange(item, ranges, postureOrModel) {\r\n      if (isFamilyExplorer.value && item.data[ranges]) {\r\n        if (item.data[ranges][postureOrModel]) {\r\n          // if there is more than one range, make sure it is within one of them\r\n          if (item.data[ranges][postureOrModel][0][0]) {\r\n            let isInAnyRange = false;\r\n            item.data[ranges][postureOrModel].forEach(range => {\r\n              if (!isInAnyRange) {\r\n                isInAnyRange = isValueInRange(\r\n                  [range[0], range[1]],\r\n                  cameraDeg.value\r\n                );\r\n              }\r\n            });\r\n            return isInAnyRange;\r\n          } else {\r\n            return isValueInRange(\r\n              [\r\n                item.data[ranges][postureOrModel][0],\r\n                item.data[ranges][postureOrModel][1],\r\n              ],\r\n              cameraDeg.value\r\n            );\r\n          }\r\n        } else if (Array.isArray(item.data[ranges])) {\r\n          return isValueInRange(\r\n            [item.data[ranges][0], item.data[ranges][1]],\r\n            cameraDeg.value\r\n          );\r\n        } else {\r\n          return false;\r\n        }\r\n      }\r\n      return true;\r\n    }\r\n\r\n    return {\r\n      props,\r\n      items,\r\n      itemsPos,\r\n      cameraDeg,\r\n      currentTooltip,\r\n      position,\r\n      isShowing,\r\n      isInRange,\r\n    };\r\n  },\r\n  props: {\r\n    isFamilyExplorer: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    onClick: {\r\n      type: Function,\r\n      required: false,\r\n    },\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.ui-mesh-overlay-container {\r\n  position: absolute;\r\n  background-color: transparent;\r\n  width: 100%;\r\n  height: 100%;\r\n  top: 0;\r\n  left: 0;\r\n  pointer-events: none;\r\n  touch-action: none;\r\n  transition: opacity 0.35s ease;\r\n  opacity: 1;\r\n\r\n  &--hidden {\r\n    opacity: 0;\r\n  }\r\n\r\n  > div > * {\r\n    pointer-events: all;\r\n    touch-action: auto;\r\n  }\r\n\r\n  &.DragActive {\r\n    .buttonCircularOverlay__icon {\r\n      transform: scale3d(1.1, 1.1, 1.1) !important;\r\n\r\n      &--inner {\r\n        transform: scale3d(2, 2, 2) !important;\r\n      }\r\n    }\r\n  }\r\n\r\n  &.DragHover {\r\n    .buttonCircularOverlay__icon {\r\n      transform: scale3d(1.1, 1.1, 1.1);\r\n\r\n      &--inner {\r\n        transform: scale3d(1.25, 1.25, 1.25);\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n  <div\r\n    :id=\"id\"\r\n    class=\"tooltip\"\r\n    :class=\"{\r\n      'tooltip--left': item.data.titleLeft,\r\n      'tooltip--hidden': !isShowing && item.id !== $store.state.currentTooltip,\r\n      'tooltip--family-explorer': isFamExplorer,\r\n    }\"\r\n    :style=\"{\r\n      transform: `translate3d(${position ? position.x : item.position.x}px, ${\r\n        position ? position.y : item.position.y\r\n      }px, 0)`,\r\n    }\"\r\n  >\r\n    <div class=\"tooltip__icon\">\r\n      <button\r\n        class=\"tooltip-plus\"\r\n        :class=\"{ 'tooltip-plus--close': props.isOpen }\"\r\n        @click=\"\r\n          () => {\r\n            props.isOpen && $store.state.currentTooltip === item.id\r\n              ? $store.dispatch('updateCurrentTooltip', '')\r\n              : $store.dispatch('updateCurrentTooltip', item.id);\r\n          }\r\n        \"\r\n        :tabindex=\"$store.state.isFamilyExplorer ? -1 : 0\"\r\n        :aria-label=\"\r\n          $t(item.data.title, { interpolation: { escapeValue: false } })\r\n        \"\r\n      >\r\n        <div class=\"tooltip-plus__line tooltip-plus__line--horizontal\"></div>\r\n        <div class=\"tooltip-plus__line tooltip-plus__line--vertical\"></div>\r\n      </button>\r\n      <transition name=\"fade\">\r\n        <div\r\n          v-show=\"props.isOpen && item.data.description\"\r\n          class=\"tooltip__drawer\"\r\n          :class=\"positionClass\"\r\n          :style=\"{\r\n            width: item.data.drawerWidth ? item.data.drawerWidth : '350px',\r\n            'max-height': maxDrawerHeight,\r\n          }\"\r\n        >\r\n          <h2\r\n            v-if=\"$store.state.isFamilyExplorer\"\r\n            v-html=\"\r\n              $t(item.data.title, { interpolation: { escapeValue: false } })\r\n            \"\r\n            class=\"tooltip__drawer-title\"\r\n          />\r\n          <div\r\n            v-html=\"\r\n              $t(item.data.description, {\r\n                interpolation: { escapeValue: false },\r\n              })\r\n            \"\r\n            class=\"tooltip__drawer-main\"\r\n            :class=\"{\r\n              'tooltip__drawer-main--overflowing': isOverflowing,\r\n            }\"\r\n            ref=\"tooltipDrawerMain\"\r\n          />\r\n          <div class=\"tooltip__drawer-flag\">\r\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\">\r\n              <polygon points=\"30 0 30 30 0 30 30 0\" style=\"fill:#E6E6E6\" />\r\n            </svg>\r\n          </div>\r\n        </div>\r\n      </transition>\r\n    </div>\r\n    <div\r\n      class=\"tooltip__title\"\r\n      :style=\"{ color: item.data.textColor || '#fff' }\"\r\n      v-if=\"$route.path != '/' + $store.state.actualLang\"\r\n    >\r\n      {{ $t(item.data.title) }}\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed, onMounted, ref, watch, nextTick } from \"vue\";\r\n\r\nexport default {\r\n  setup(props) {\r\n    const currentPosition = ref({ x: \"right\", y: \"bottom\" });\r\n    const maxDrawerHeight = ref(\"initail\");\r\n    const tooltipDrawerMain = ref(null);\r\n    const isOverflowing = ref(false);\r\n\r\n    onMounted(() => {\r\n      if (\r\n        props.item.data.changeTopBaseOnScreenWidth &&\r\n        window.innerWidth < 1024\r\n      ) {\r\n        props.item.data.top\r\n          ? (currentPosition.value.y = \"bottom\")\r\n          : (currentPosition.value.y = \"top\");\r\n      } else {\r\n        props.item.data.top\r\n          ? (currentPosition.value.y = \"top\")\r\n          : (currentPosition.value.y = \"bottom\");\r\n      }\r\n\r\n      if (\r\n        props.item.data.changeLeftBaseOnScreenWidth &&\r\n        window.innerWidth < 1024\r\n      ) {\r\n        props.item.data.left\r\n          ? (currentPosition.value.x = \"right\")\r\n          : (currentPosition.value.x = \"left\");\r\n      } else {\r\n        props.item.data.left\r\n          ? (currentPosition.value.x = \"left\")\r\n          : (currentPosition.value.x = \"right\");\r\n      }\r\n    });\r\n\r\n    const positionClass = computed(() => {\r\n      return `tooltip__drawer--${currentPosition.value.x}-${currentPosition.value.y}`;\r\n    });\r\n\r\n    const computeMaxDrawerHeight = () => {\r\n      if (\r\n        currentPosition.value.y === \"bottom\" &&\r\n        props.position &&\r\n        props.position.y\r\n      ) {\r\n        // position.y + iconHight + drawer top + drawer margin-top + a little extra padding\r\n        maxDrawerHeight.value = `calc(100vh - ${Math.floor(\r\n          props.position.y + 28 + 38 + 30 + 10\r\n        )}px)`;\r\n      } else if (\r\n        currentPosition.value.y === \"top\" &&\r\n        props.position &&\r\n        props.position.y\r\n      ) {\r\n        // position.y - drawer bottom - drawer margin-bottom - extra padding\r\n        maxDrawerHeight.value = `${Math.floor(\r\n          props.position.y - 40 - 30 - 40\r\n        )}px`;\r\n      }\r\n      nextTick(() => {\r\n        if (\r\n          tooltipDrawerMain.value &&\r\n          tooltipDrawerMain.value.scrollHeight >\r\n            tooltipDrawerMain.value.clientHeight\r\n        ) {\r\n          isOverflowing.value = true;\r\n        } else {\r\n          isOverflowing.value = false;\r\n        }\r\n      });\r\n    };\r\n\r\n    watch(\r\n      () => props.isOpen,\r\n      newVal => {\r\n        if (newVal && props.isFamExplorer) {\r\n          if (\r\n            props.position &&\r\n            props.position.y &&\r\n            props.position.y + 15 >= window.innerHeight / 2\r\n          ) {\r\n            currentPosition.value.y = \"top\";\r\n          } else {\r\n            currentPosition.value.y = \"bottom\";\r\n          }\r\n\r\n          computeMaxDrawerHeight();\r\n        } else {\r\n          maxDrawerHeight.value = \"initail\";\r\n        }\r\n      }\r\n    );\r\n\r\n    return {\r\n      props,\r\n      positionClass,\r\n      maxDrawerHeight,\r\n      tooltipDrawerMain,\r\n      isOverflowing,\r\n    };\r\n  },\r\n  props: {\r\n    id: {\r\n      type: String,\r\n      required: true,\r\n    },\r\n    item: {\r\n      type: Object,\r\n      required: true,\r\n    },\r\n    position: {\r\n      type: Object,\r\n      default: null,\r\n    },\r\n    isOpen: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    isShowing: {\r\n      type: Boolean,\r\n      required: true,\r\n    },\r\n    isFamExplorer: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.tooltip {\r\n  $tooltipIconSize: 28px;\r\n  position: absolute;\r\n  z-index: 11;\r\n  color: white;\r\n  display: flex;\r\n  align-items: center;\r\n  font-weight: 600;\r\n  text-transform: uppercase;\r\n  font-size: 16px;\r\n  line-height: 0.9;\r\n  cursor: default;\r\n  margin-top: $tooltipIconSize / -2;\r\n  margin-left: $tooltipIconSize / -2;\r\n  transition: opacity 0.3s ease-in;\r\n  will-change: transform;\r\n\r\n  &--hidden {\r\n    opacity: 0;\r\n    pointer-events: none;\r\n    touch-action: none;\r\n  }\r\n\r\n  &__icon {\r\n    position: relative;\r\n    border-radius: 100%;\r\n    width: $tooltipIconSize;\r\n    height: $tooltipIconSize;\r\n\r\n    .tooltip-plus {\r\n      position: relative;\r\n      //   backdrop-filter: $backdropBlur;\r\n      border-radius: 100%;\r\n      width: 28px;\r\n      height: 28px;\r\n      margin: 1px 0px 0px 1px;\r\n      border: 1px solid #242424;\r\n      background-color: $backgroundColorBlur;\r\n      transform: scale3d(1, 1, 1);\r\n      transition: all 250ms ease;\r\n      cursor: pointer;\r\n      padding: 0;\r\n      text-align: left;\r\n      box-sizing: content-box;\r\n\r\n      &__line {\r\n        position: absolute;\r\n        background-color: #242424;\r\n        transition: all 250ms ease;\r\n        transform: scale3d(1, 1, 1);\r\n        transform-origin: 50% 50%;\r\n\r\n        &--horizontal {\r\n          width: 11px;\r\n          height: 1px;\r\n          top: 14px;\r\n          left: 9px;\r\n        }\r\n\r\n        &--vertical {\r\n          height: 11px;\r\n          width: 1px;\r\n          top: 9px;\r\n          left: 14px;\r\n        }\r\n      }\r\n\r\n      &--close {\r\n        .tooltip-plus__line {\r\n          transform: scale3d(1, 1, 1) rotate(45deg);\r\n        }\r\n      }\r\n    }\r\n  }\r\n  &__title {\r\n    position: absolute;\r\n    white-space: nowrap;\r\n    right: -12px;\r\n    transform: translateX(100%);\r\n    user-select: none;\r\n  }\r\n  &--left {\r\n    .tooltip__icon {\r\n      margin: 0 0 0 12px;\r\n    }\r\n    .tooltip__title {\r\n      left: 0;\r\n      right: initial;\r\n      transform: translateX(-100%);\r\n    }\r\n  }\r\n\r\n  &__drawer {\r\n    font-family: \"Segoe UI\", Arial, sans-serif;\r\n    position: relative;\r\n    width: 300px;\r\n    background: $lightGray;\r\n    padding: 20px 2px 20px 20px;\r\n    margin: 30px 0;\r\n    color: $extraDarkGray;\r\n    font-size: 16px;\r\n    line-height: 1.5em;\r\n    font-weight: 500;\r\n    text-transform: none;\r\n    display: flex;\r\n    flex-direction: column;\r\n\r\n    @media all and (max-width: 1024px) and (max-height: 900px) {\r\n      max-width: 330px;\r\n    }\r\n\r\n    p {\r\n      position: relative;\r\n      margin: 0 0;\r\n      font-size: 16px;\r\n      line-height: 1.5em;\r\n    }\r\n\r\n    &-title {\r\n      margin-block-start: 0;\r\n      margin-block-end: 10px;\r\n      @include text(bodyBold);\r\n    }\r\n\r\n    &-main {\r\n      overflow: auto;\r\n      padding-right: 18px;\r\n      &--overflowing {\r\n        padding-right: 4px;\r\n      }\r\n    }\r\n\r\n    &-flag {\r\n      position: absolute;\r\n      width: 30px;\r\n      height: 30px;\r\n      overflow: hidden;\r\n      padding: 8px 8px 0px 8px;\r\n    }\r\n\r\n    &--left-top {\r\n      position: absolute;\r\n      bottom: 40px;\r\n      right: 14px;\r\n      box-shadow: 2px 2px 8px 0px rgba($darkGray, 0.5);\r\n      .tooltip__drawer-flag {\r\n        position: fixed;\r\n        bottom: 71px;\r\n        right: 6px;\r\n        transform: translateY(100%) scaleY(-1);\r\n\r\n        svg {\r\n          filter: drop-shadow(1px -3px 4px rgba($darkGray, 0.35));\r\n        }\r\n      }\r\n    }\r\n    &--right-top {\r\n      position: absolute;\r\n      bottom: 40px;\r\n      left: 16px;\r\n      box-shadow: 2px 2px 8px 0px rgba($darkGray, 0.5);\r\n      .tooltip__drawer-flag {\r\n        position: fixed;\r\n        bottom: 71px;\r\n        left: 8px;\r\n        transform: translateY(100%) scale(-1, -1);\r\n\r\n        svg {\r\n          filter: drop-shadow(1px -3px 4px rgba($darkGray, 0.35));\r\n        }\r\n      }\r\n    }\r\n    &--left-bottom {\r\n      position: absolute;\r\n      top: 38px;\r\n      right: 14px;\r\n      box-shadow: 2px 2px 8px 0px rgba($darkGray, 0.5);\r\n      .tooltip__drawer-flag {\r\n        position: fixed;\r\n        top: 70px;\r\n        right: 6px;\r\n        transform: translateY(-100%);\r\n\r\n        svg {\r\n          filter: drop-shadow(0px 0px 4px rgba($darkGray, 0.35));\r\n        }\r\n      }\r\n    }\r\n    &--right-bottom {\r\n      position: absolute;\r\n      top: 38px;\r\n      left: 16px;\r\n      box-shadow: 2px 2px 8px 0px rgba($darkGray, 0.5);\r\n\r\n      .tooltip__drawer-flag {\r\n        position: fixed;\r\n        top: 70px;\r\n        left: 8px;\r\n        transform: translateY(-100%) scaleX(-1);\r\n\r\n        svg {\r\n          filter: drop-shadow(-2px 5px 4px rgba($darkGray, 0.35));\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  .tooltip-plus {\r\n    &:hover {\r\n      border-color: #000000;\r\n      background-color: $backgroundColorBlurIntense;\r\n      transform: scale3d(1.1, 1.1, 1.1);\r\n\r\n      &__line {\r\n        background-color: #000000;\r\n        transform: scale3d(1.25, 1.25, 1.25);\r\n      }\r\n\r\n      &--close {\r\n        .tooltip-plus__line {\r\n          transform: scale3d(1.25, 1.25, 1.25) rotate(45deg);\r\n        }\r\n      }\r\n    }\r\n  }\r\n  &:active {\r\n    outline: none;\r\n  }\r\n  &:active,\r\n  &:focus {\r\n    .tooltip-plus {\r\n      outline: none;\r\n      border-color: $darkGray;\r\n\r\n      &__line {\r\n        background-color: $darkGray;\r\n      }\r\n    }\r\n  }\r\n\r\n  :deep(ul) {\r\n    list-style: none !important;\r\n    padding-left: 0 !important;\r\n    margin-left: 0 !important;\r\n  }\r\n  :deep(li) {\r\n    margin-bottom: 6px;\r\n  }\r\n  :deep(b) {\r\n    font-weight: 600;\r\n  }\r\n\r\n  &--family-explorer {\r\n    :deep(ul) {\r\n      padding-left: 24px !important;\r\n\r\n      li {\r\n        margin-left: 0;\r\n        padding-left: 0;\r\n      }\r\n    }\r\n    :deep(.tooltip__drawer-main) {\r\n      > p {\r\n        margin-top: 12px !important;\r\n        &:first-child {\r\n          margin-top: 0 !important;\r\n        }\r\n      }\r\n      > ul {\r\n        margin-top: 8px !important;\r\n        &:first-child {\r\n          margin-top: 0 !important;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","import { render } from \"./Tooltip.vue?vue&type=template&id=74bfa357&scoped=true\"\nimport script from \"./Tooltip.vue?vue&type=script&lang=js\"\nexport * from \"./Tooltip.vue?vue&type=script&lang=js\"\n\nimport \"./Tooltip.vue?vue&type=style&index=0&id=74bfa357&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-74bfa357\"]])\n\nexport default __exports__","<template>\r\n  <button\r\n    class=\"buttonCircularOverlay\"\r\n    :class=\"{\r\n      'buttonCircularOverlay--hidden':\r\n        !isShowing && item.id !== $store.state.currentTooltip,\r\n    }\"\r\n    :style=\"{\r\n      transform: `translate3d(${position ? position.x : item.position.x}px, ${\r\n        position ? position.y : item.position.y\r\n      }px, 0)`,\r\n    }\"\r\n    @keypress.enter=\"\r\n      !$store.state.isFamilyExplorer ? $store.dispatch('next') : null\r\n    \"\r\n    :tabindex=\"$store.state.isFamilyExplorer ? -1 : 0\"\r\n    :aria-label=\"item && item.data.text ? $t(item.data.text) : ''\"\r\n  >\r\n    <div\r\n      class=\"buttonCircularOverlay__description\"\r\n      :style=\"{ color: item.data.textColor || '#fff' }\"\r\n    >\r\n      {{ $t(item.data.text) }}\r\n    </div>\r\n    <div class=\"buttonCircularOverlay__icon\">\r\n      <div class=\"buttonCircularOverlay__icon--inner\"></div>\r\n    </div>\r\n    <div\r\n      v-if=\"item.data.arrows\"\r\n      class=\"buttonCircularOverlay__arrows-container\"\r\n    >\r\n      <div\r\n        v-if=\"item.data.arrows && item.data.arrows.top\"\r\n        class=\"buttonCircularOverlay__arrow buttonCircularOverlay__arrowTop\"\r\n      ></div>\r\n      <div\r\n        v-if=\"item.data.arrows && item.data.arrows.right\"\r\n        class=\"buttonCircularOverlay__arrow buttonCircularOverlay__arrowRight\"\r\n      ></div>\r\n      <div\r\n        v-if=\"item.data.arrows && item.data.arrows.bottom\"\r\n        class=\"buttonCircularOverlay__arrow buttonCircularOverlay__arrowBottom\"\r\n      ></div>\r\n      <div\r\n        v-if=\"item.data.arrows && item.data.arrows.left\"\r\n        class=\"buttonCircularOverlay__arrow buttonCircularOverlay__arrowLeft\"\r\n      ></div>\r\n    </div>\r\n  </button>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  setup(props) {\r\n    return { props };\r\n  },\r\n  props: {\r\n    item: {\r\n      type: Object,\r\n      required: true,\r\n    },\r\n    position: {\r\n      type: Object,\r\n      default: null,\r\n    },\r\n    isShowing: {\r\n      type: Boolean,\r\n      required: true,\r\n    },\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.buttonCircularOverlay {\r\n  $svgSize: 30px;\r\n  position: absolute;\r\n  top: calc((#{$svgSize} / 2) * -1);\r\n  left: calc((#{$svgSize} / 2) * -1);\r\n  display: flex;\r\n  font-family: sans-serif;\r\n  color: white;\r\n  pointer-events: all;\r\n  touch-action: auto;\r\n  transition: opacity 0.3s ease-in;\r\n  //   transition-delay: 0.1s;\r\n  cursor: pointer;\r\n  will-change: transform;\r\n  background: transparent;\r\n  border: none;\r\n  padding: 0;\r\n  text-align: left;\r\n\r\n  &--hidden {\r\n    opacity: 0 !important;\r\n    pointer-events: none !important;\r\n    touch-action: none !important;\r\n  }\r\n\r\n  &__icon {\r\n    position: relative;\r\n    // backdrop-filter: $backdropBlur;\r\n    border-radius: 100%;\r\n    width: $svgSize - 2px;\r\n    height: $svgSize - 2px;\r\n    margin: 1px 0px 0px 1px;\r\n    border: 1px solid $blue;\r\n    background-color: $backgroundColorBlur;\r\n    transform: scale3d(1, 1, 1);\r\n    transition: all 250ms ease;\r\n\r\n    &--inner {\r\n      background-color: $blue;\r\n      position: absolute;\r\n      width: 8px;\r\n      height: 8px;\r\n      top: calc(50% - 4px);\r\n      left: calc(50% - 4px);\r\n      border-radius: 100%;\r\n      transform: scale3d(1, 1, 1);\r\n      transition: all 250ms ease;\r\n    }\r\n  }\r\n\r\n  &__arrows-container {\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    z-index: 0;\r\n  }\r\n  &__arrow {\r\n    position: absolute;\r\n    content: url(\"data:image/svg+xml,%3Csvg width='7' height='9' viewBox='0 0 7 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 4.5L0.25 8.39711L0.25 0.602885L7 4.5Z' fill='%230078D4'/%3E%3C/svg%3E%0A\");\r\n    width: 14px;\r\n    &Top {\r\n      transform: translate(50%, -100%) rotate(270deg);\r\n      top: -4px;\r\n      right: 50%;\r\n    }\r\n    &Right {\r\n      transform: translate(100%, -50%);\r\n      top: 50%;\r\n      right: -4px;\r\n    }\r\n    &Bottom {\r\n      transform: translate(50%, 100%) rotate(90deg);\r\n      bottom: -4px;\r\n      right: 50%;\r\n    }\r\n    &Left {\r\n      transform: translate(-100%, -50%) rotate(180deg);\r\n      top: 50%;\r\n      left: -4px;\r\n    }\r\n  }\r\n\r\n  &__description {\r\n    position: absolute;\r\n    left: 50%;\r\n    top: -8px;\r\n    transform: translate(-50%, -100%);\r\n    text-align: center;\r\n    text-transform: uppercase;\r\n    white-space: nowrap;\r\n    font-weight: 600;\r\n    font-size: 15px;\r\n    line-height: 120%;\r\n    user-select: none;\r\n    color: $darkGray;\r\n    transition: opacity 0.25s ease;\r\n\r\n    &--bottom {\r\n      top: initial;\r\n      bottom: -4px;\r\n      transform: translate(-50%, 100%);\r\n    }\r\n  }\r\n\r\n  &:hover {\r\n    .buttonCircularOverlay__icon {\r\n      transform: scale3d(1.1, 1.1, 1.1);\r\n\r\n      &--inner {\r\n        transform: scale3d(1.25, 1.25, 1.25);\r\n      }\r\n    }\r\n  }\r\n\r\n  &:active,\r\n  &:focus {\r\n    outline: none;\r\n    .buttonCircularOverlay__icon {\r\n      transform: scale3d(1.1, 1.1, 1.1);\r\n\r\n      &--inner {\r\n        transform: scale3d(2, 2, 2);\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","import { render } from \"./ButtonCircularOverlay.vue?vue&type=template&id=1b52b6e2&scoped=true\"\nimport script from \"./ButtonCircularOverlay.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonCircularOverlay.vue?vue&type=script&lang=js\"\n\nimport \"./ButtonCircularOverlay.vue?vue&type=style&index=0&id=1b52b6e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1b52b6e2\"]])\n\nexport default __exports__","<template>\r\n  <button\r\n    class=\"buttonMagnifyOverlay\"\r\n    :class=\"{\r\n      'buttonMagnifyOverlay--hidden':\r\n        !isShowing && item.id !== $store.state.currentTooltip,\r\n    }\"\r\n    :style=\"{\r\n      transform: `translate3d(${position ? position.x : item.position.x}px, ${\r\n        position ? position.y : item.position.y\r\n      }px, 0)`,\r\n    }\"\r\n    @click=\"handleClick\"\r\n    :tabindex=\"$store.state.isFamilyExplorer ? -1 : 0\"\r\n    :aria-label=\"item && item.data.text ? $t(item.data.text) : ''\"\r\n  >\r\n    <div\r\n      v-if=\"item.data.text\"\r\n      class=\"buttonMagnifyOverlay__description\"\r\n      :style=\"{ color: item.data.textColor || '#fff' }\"\r\n    >\r\n      {{ $t(item.data.text) }}\r\n    </div>\r\n    <div class=\"buttonMagnifyOverlay__icon\">\r\n      <svg\r\n        width=\"28\"\r\n        height=\"28\"\r\n        fill=\"none\"\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n      >\r\n        <!-- <circle cx=\"14\" cy=\"14\" r=\"14\" fill=\"#E6E6E6\" fill-opacity=\"0.85\" /> -->\r\n        <!-- <circle cx=\"14\" cy=\"14\" r=\"13.5\" stroke=\"#000\" /> -->\r\n        <circle cx=\"12.8\" cy=\"12.8\" r=\"4.3\" stroke=\"#242424\" />\r\n        <path d=\"M16 16l4 4.002\" stroke=\"#242424\" />\r\n      </svg>\r\n    </div>\r\n  </button>\r\n</template>\r\n\r\n<script>\r\nimport { useStore } from \"vuex\";\r\n\r\nexport default {\r\n  setup(props) {\r\n    const store = useStore();\r\n    function handleClick() {\r\n      if (\r\n        (props.isOpen && store.state.currentTooltip === props.item.id) ||\r\n        !props.item.clickOnly\r\n      ) {\r\n        store.dispatch(\"updateCurrentTooltip\", \"\");\r\n      } else {\r\n        store.dispatch(\"updateCurrentTooltip\", props.item.id);\r\n      }\r\n    }\r\n\r\n    return { props, handleClick };\r\n  },\r\n  props: {\r\n    item: {\r\n      type: Object,\r\n      required: true,\r\n    },\r\n    position: {\r\n      type: Object,\r\n      default: null,\r\n    },\r\n    isOpen: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    isShowing: {\r\n      type: Boolean,\r\n      required: true,\r\n    },\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.buttonMagnifyOverlay {\r\n  $svgSize: 30px;\r\n  position: absolute;\r\n  top: calc((#{$svgSize} / 2) * -1);\r\n  left: calc((#{$svgSize} / 2) * -1);\r\n  display: flex;\r\n  font-family: sans-serif;\r\n  color: white;\r\n  pointer-events: all;\r\n  touch-action: auto;\r\n  transition: opacity 0.3s ease-in;\r\n  //   transition-delay: 0.1s;\r\n  cursor: pointer;\r\n  will-change: transform;\r\n  background: transparent;\r\n  border: none;\r\n  padding: 0;\r\n  text-align: left;\r\n\r\n  &--hidden {\r\n    opacity: 0;\r\n    pointer-events: none;\r\n    touch-action: none;\r\n  }\r\n\r\n  &__icon {\r\n    position: relative;\r\n    // backdrop-filter: $backdropBlur;\r\n    border-radius: 100%;\r\n    width: 28px;\r\n    height: 28px;\r\n    margin: 1px 0px 0px 1px;\r\n    border: 1px solid $darkGray;\r\n    background-color: $backgroundColorBlur;\r\n    transition: all 250ms ease;\r\n    transform: scale3d(1, 1, 1);\r\n\r\n    svg {\r\n      position: relative;\r\n      transition: all 250ms ease;\r\n      transform: scale3d(1, 1, 1);\r\n      width: $svgSize;\r\n      height: $svgSize;\r\n\r\n      circle,\r\n      path {\r\n        transition: all 250ms ease;\r\n      }\r\n    }\r\n  }\r\n\r\n  &__description {\r\n    position: absolute;\r\n    left: calc(100% + 8px);\r\n    top: calc(50% - 1px);\r\n    transform: translate(0, -50%);\r\n    text-align: center;\r\n    text-transform: uppercase;\r\n    white-space: nowrap;\r\n    color: #000;\r\n    font-weight: 600;\r\n    font-size: 15px;\r\n    line-height: 120%;\r\n    user-select: none;\r\n  }\r\n\r\n  &:hover {\r\n    .buttonMagnifyOverlay__icon {\r\n      border-color: #000000;\r\n      background-color: $backgroundColorBlurIntense;\r\n      transform: scale3d(1.1, 1.1, 1.1);\r\n\r\n      svg {\r\n        transform: scale3d(1.2, 1.2, 1.2);\r\n        circle,\r\n        path {\r\n          stroke: #000000;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  &:active,\r\n  &:focus {\r\n    .buttonMagnifyOverlay__icon {\r\n      transform: scale3d(0.9, 0.9, 0.9);\r\n      border-color: $darkGray;\r\n      svg {\r\n        transform: scale3d(0.9, 0.9, 0.9);\r\n        circle,\r\n        path {\r\n          stroke: $darkGray;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","import { render } from \"./ButtonMagnifyOverlay.vue?vue&type=template&id=3721ac76&scoped=true\"\nimport script from \"./ButtonMagnifyOverlay.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonMagnifyOverlay.vue?vue&type=script&lang=js\"\n\nimport \"./ButtonMagnifyOverlay.vue?vue&type=style&index=0&id=3721ac76&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3721ac76\"]])\n\nexport default __exports__","import { render } from \"./MeshOverlayContainer.vue?vue&type=template&id=f1233668\"\nimport script from \"./MeshOverlayContainer.vue?vue&type=script&lang=js\"\nexport * from \"./MeshOverlayContainer.vue?vue&type=script&lang=js\"\n\nimport \"./MeshOverlayContainer.vue?vue&type=style&index=0&id=f1233668&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","id","class","_normalizeClass","_ctx","$store","state","meshOverlayHidden","_Fragment","_renderList","$setup","items","item","key","type","_createBlock","_component_ButtonCircularOverlay","position","$props","isFamilyExplorer","isShowing","onClick","_createCommentVNode","_component_ButtonMagnifyOverlay","isOpen","currentTooltip","_component_Tooltip","isFamExplorer","_createElementVNode","_hoisted_4","_hoisted_5","xmlns","viewBox","points","style","data","titleLeft","_normalizeStyle","x","y","_hoisted_2","props","_cache","dispatch","tabindex","$t","title","interpolation","escapeValue","_hoisted_6","_hoisted_3","_createVNode","_Transition","name","default","_withCtx","positionClass","drawerWidth","maxDrawerHeight","innerHTML","_hoisted_7","description","isOverflowing","ref","_hoisted_8","_hoisted_9","_","$route","path","actualLang","color","textColor","_hoisted_1","setup","currentPosition","tooltipDrawerMain","onMounted","changeTopBaseOnScreenWidth","window","innerWidth","top","value","changeLeftBaseOnScreenWidth","left","computed","computeMaxDrawerHeight","Math","floor","nextTick","scrollHeight","clientHeight","watch","newVal","innerHeight","String","required","Object","Boolean","__exports__","onKeypress","_withKeys","$event","text","arrows","right","bottom","width","height","fill","cx","cy","r","stroke","d","args","handleClick","store","useStore","clickOnly","components","Tooltip","ButtonCircularOverlay","ButtonMagnifyOverlay","meshOverlay","itemsPos","cameraDeg","camDeg","famExpCurrentPosture","famExpCurrentModel","answer","rangesAnswer","ranges","modelRanges","this","isInRange","isValueInRange","range","val","postureOrModel","isInAnyRange","forEach","Array","isArray","Function","render"],"sourceRoot":""}