index.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
  2. const require_index = require("../use-namespace/index.js");
  3. const require_index$1 = require("../use-id/index.js");
  4. let vue = require("vue");
  5. let _vueuse_core = require("@vueuse/core");
  6. //#region ../../packages/hooks/use-popper-container/index.ts
  7. const usePopperContainerId = () => {
  8. const namespace = require_index.useGetDerivedNamespace();
  9. const idInjection = require_index$1.useIdInjection();
  10. const id = (0, vue.computed)(() => {
  11. return `${namespace.value}-popper-container-${idInjection.prefix}`;
  12. });
  13. return {
  14. id,
  15. selector: (0, vue.computed)(() => `#${id.value}`)
  16. };
  17. };
  18. const createContainer = (id) => {
  19. const container = document.createElement("div");
  20. container.id = id;
  21. document.body.appendChild(container);
  22. return container;
  23. };
  24. const usePopperContainer = () => {
  25. const { id, selector } = usePopperContainerId();
  26. (0, vue.onBeforeMount)(() => {
  27. if (!_vueuse_core.isClient) return;
  28. if (process.env.NODE_ENV === "test" || !document.body.querySelector(selector.value)) createContainer(id.value);
  29. });
  30. return {
  31. id,
  32. selector
  33. };
  34. };
  35. //#endregion
  36. exports.usePopperContainer = usePopperContainer;
  37. exports.usePopperContainerId = usePopperContainerId;
  38. //# sourceMappingURL=index.js.map