index.js 1.3 KB

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