UNPKG

bootstrap-vue-next

Version:

Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development

1 lines 4.24 kB
{"version":3,"file":"useForwardExpose-4OUimdPL.mjs","names":[],"sources":["../../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/shared/getActiveElement.js","../../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/shared/useForwardExpose.js"],"sourcesContent":["//#region src/shared/getActiveElement.ts\nfunction getActiveElement() {\n\tlet activeElement = document.activeElement;\n\tif (activeElement == null) return null;\n\twhile (activeElement != null && activeElement.shadowRoot != null && activeElement.shadowRoot.activeElement != null) activeElement = activeElement.shadowRoot.activeElement;\n\treturn activeElement;\n}\n\n//#endregion\nexport { getActiveElement };\n//# sourceMappingURL=getActiveElement.js.map","import { computed, getCurrentInstance, onUpdated, ref, triggerRef } from \"vue\";\nimport { unrefElement } from \"@vueuse/core\";\n\n//#region src/shared/useForwardExpose.ts\nfunction useForwardExpose() {\n\tconst instance = getCurrentInstance();\n\tconst currentRef = ref();\n\tconst currentElement = computed(() => resolveCurrentElement());\n\tonUpdated(() => {\n\t\tif (currentElement.value !== resolveCurrentElement()) triggerRef(currentRef);\n\t});\n\tfunction resolveCurrentElement() {\n\t\treturn currentRef.value && \"$el\" in currentRef.value && [\"#text\", \"#comment\"].includes(currentRef.value.$el.nodeName) ? currentRef.value.$el.nextElementSibling : unrefElement(currentRef);\n\t}\n\tconst localExpose = Object.assign({}, instance.exposed);\n\tconst ret = {};\n\tfor (const key in instance.props) Object.defineProperty(ret, key, {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: () => instance.props[key]\n\t});\n\tif (Object.keys(localExpose).length > 0) for (const key in localExpose) Object.defineProperty(ret, key, {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: () => localExpose[key]\n\t});\n\tObject.defineProperty(ret, \"$el\", {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: () => instance.vnode.el\n\t});\n\tinstance.exposed = ret;\n\tfunction forwardRef(ref$1) {\n\t\tcurrentRef.value = ref$1;\n\t\tif (!ref$1) return;\n\t\tObject.defineProperty(ret, \"$el\", {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => ref$1 instanceof Element ? ref$1 : ref$1.$el\n\t\t});\n\t\tif (!(ref$1 instanceof Element) && !Object.prototype.hasOwnProperty.call(ref$1, \"$el\")) {\n\t\t\tconst childExposed = ref$1.$.exposed;\n\t\t\tconst merged = Object.assign({}, ret);\n\t\t\tfor (const key in childExposed) Object.defineProperty(merged, key, {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tget: () => childExposed[key]\n\t\t\t});\n\t\t\tinstance.exposed = merged;\n\t\t}\n\t}\n\treturn {\n\t\tforwardRef,\n\t\tcurrentRef,\n\t\tcurrentElement\n\t};\n}\n\n//#endregion\nexport { useForwardExpose };\n//# sourceMappingURL=useForwardExpose.js.map"],"x_google_ignoreList":[0,1],"mappings":";;;AACA,SAAS,mBAAmB;CAC3B,IAAI,gBAAgB,SAAS;AAC7B,KAAI,iBAAiB,KAAM,QAAO;AAClC,QAAO,iBAAiB,QAAQ,cAAc,cAAc,QAAQ,cAAc,WAAW,iBAAiB,KAAM,iBAAgB,cAAc,WAAW;AAC7J,QAAO;;;;ACDR,SAAS,mBAAmB;CAC3B,MAAM,WAAW,oBAAoB;CACrC,MAAM,aAAa,KAAK;CACxB,MAAM,iBAAiB,eAAe,uBAAuB,CAAC;AAC9D,iBAAgB;AACf,MAAI,eAAe,UAAU,uBAAuB,CAAE,YAAW,WAAW;GAC3E;CACF,SAAS,wBAAwB;AAChC,SAAO,WAAW,SAAS,SAAS,WAAW,SAAS,CAAC,SAAS,WAAW,CAAC,SAAS,WAAW,MAAM,IAAI,SAAS,GAAG,WAAW,MAAM,IAAI,qBAAqB,aAAa,WAAW;;CAE3L,MAAM,cAAc,OAAO,OAAO,EAAE,EAAE,SAAS,QAAQ;CACvD,MAAM,MAAM,EAAE;AACd,MAAK,MAAM,OAAO,SAAS,MAAO,QAAO,eAAe,KAAK,KAAK;EACjE,YAAY;EACZ,cAAc;EACd,WAAW,SAAS,MAAM;EAC1B,CAAC;AACF,KAAI,OAAO,KAAK,YAAY,CAAC,SAAS,EAAG,MAAK,MAAM,OAAO,YAAa,QAAO,eAAe,KAAK,KAAK;EACvG,YAAY;EACZ,cAAc;EACd,WAAW,YAAY;EACvB,CAAC;AACF,QAAO,eAAe,KAAK,OAAO;EACjC,YAAY;EACZ,cAAc;EACd,WAAW,SAAS,MAAM;EAC1B,CAAC;AACF,UAAS,UAAU;CACnB,SAAS,WAAW,OAAO;AAC1B,aAAW,QAAQ;AACnB,MAAI,CAAC,MAAO;AACZ,SAAO,eAAe,KAAK,OAAO;GACjC,YAAY;GACZ,cAAc;GACd,WAAW,iBAAiB,UAAU,QAAQ,MAAM;GACpD,CAAC;AACF,MAAI,EAAE,iBAAiB,YAAY,CAAC,OAAO,UAAU,eAAe,KAAK,OAAO,MAAM,EAAE;GACvF,MAAM,eAAe,MAAM,EAAE;GAC7B,MAAM,SAAS,OAAO,OAAO,EAAE,EAAE,IAAI;AACrC,QAAK,MAAM,OAAO,aAAc,QAAO,eAAe,QAAQ,KAAK;IAClE,YAAY;IACZ,cAAc;IACd,WAAW,aAAa;IACxB,CAAC;AACF,YAAS,UAAU;;;AAGrB,QAAO;EACN;EACA;EACA;EACA"}