import { animations, meshes } from '@hiberworld/code-kit';
import { addTo } from './addTo';
import { getGroup } from './getGroup';
import { getPrefab } from './getPrefab';
import { addInteractiveMediaAsset } from './addInteractiveMediaAsset';
import { addInvisibility } from './addInvisibility';
import { getExternalAvatar } from './getExternalAvatar';
import { EXTERNAL_AVATARS } from '.';
/**
 * A mannequin stand with an avatar and info panel
 * @example
 * ```ts
  addTo(
    world,
    getMannequinStand({
      url: 'https://cdn.hibervr.com/external/img100.html?imgSrc=https://cdn.hibervr.com/external/partners/showcase/images/0abc025f-46ef-475a-9ec8-649c20fb5e83.jpg',
      header: 'Tommy Hilfiger',
      preBody: 'Essentially Yours',
      emot: animations.an_default_idle,
      s: 1.5,
      avatar: {
        glb: 'https://d1a370nemizbjq.cloudfront.net/0abc025f-46ef-475a-9ec8-649c20fb5e83.glb',
        skg: 'SKG_RPM_FEMALE',
        asg: 'skg_rpm_female',
      },
      p: [0, 0, 5],
    })
  );
 * ```
 */
export const getMannequinStand = (options = {}) => {
    const { avatar = EXTERNAL_AVATARS.MattiasSir, emot = animations.an_default_idle, mannequinScale = 2.5, musicId = undefined, header = 'My Header', preBody = '', body = '', url = 'https://hiber.mv', openInNewTab = false, } = options;
    const wrapper = getGroup(options);
    const rpmAvatar = getExternalAvatar({
        avatar,
        emot,
        p: [0, 0.75, 0],
        r: [0, 180, 0],
        s: mannequinScale,
    });
    const hitBox = getPrefab({ s: [1, mannequinScale + 0.5, 1] });
    addTo(wrapper, addInvisibility(hitBox));
    const ima = addInteractiveMediaAsset(hitBox, {
        musicId,
        header,
        preBody,
        body,
        url,
        openInNewTab,
    });
    addTo(wrapper, rpmAvatar);
    const podest = {
        transform: {
            scale: 1.5,
        },
        rendering: {
            materialID: 'palette_01_grey',
            meshID: meshes.en_p_hiberpunk_blocks_j3_01.id,
        },
    };
    addTo(wrapper, podest);
    return wrapper;
};
//# sourceMappingURL=getMannequinStand.js.map