Files
CommonWebComponents/dist/index.js
2026-04-23 10:40:41 +00:00

64 lines
1.9 KiB
JavaScript

import { defineComponent as s, openBlock as c, createElementBlock as d, normalizeClass as f, renderSlot as u } from "vue";
const p = ["disabled"], k = /* @__PURE__ */ s({
__name: "LimelightButton",
props: {
variant: {},
disabled: { type: Boolean }
},
setup(e) {
return (t, n) => (c(), d("button", {
type: "button",
class: f(["btn", [e.variant && `btn--${e.variant}`, { "btn--disabled": e.disabled }]]),
disabled: e.disabled
}, [
u(t.$slots, "default", {}, void 0, !0)
], 10, p));
}
}), m = (e, t) => {
const n = e.__vccOpts || e;
for (const [i, a] of t)
n[i] = a;
return n;
}, g = /* @__PURE__ */ m(k, [["__scopeId", "data-v-e0bc8f43"]]);
function y(e, t) {
return typeof FileMaker > "u" ? !1 : (FileMaker.PerformScript(e, t), !0);
}
function _(e, t, n) {
return typeof FileMaker > "u" ? !1 : (FileMaker.PerformScriptWithOption(e, t, n), !0);
}
const r = /* @__PURE__ */ new Map();
let b = 1;
function S(e, t = "", n) {
return new Promise((i, a) => {
if (typeof FileMaker > "u") {
a({ callbackId: -1, message: "FileMaker runtime not available" });
return;
}
const l = b++;
r.set(l, { resolve: i, reject: a });
const o = { callbackId: l, parameter: t };
FileMaker.PerformScript(e, JSON.stringify(o)), n !== void 0 && setTimeout(() => {
r.has(l) && (r.delete(l), a({ callbackId: l, message: `Timed out after ${n}ms` }));
}, n);
});
}
function h(e, t = "", n) {
const i = parseInt(e), a = r.get(i);
a && (r.delete(i), n ? a.reject({ callbackId: i, message: t }) : a.resolve(t));
}
function F(e, t, n = 10, i = 0) {
M() ? e() : i >= n ? t == null || t() : setTimeout(() => F(e, t, n, i + 1), 100);
}
function M() {
return typeof FileMaker < "u";
}
export {
g as LimelightButton,
S as callFileMakerScript,
M as isFileMakerEnvironment,
y as performScript,
_ as performScriptWithOption,
h as resolveFileMakerCallback,
F as waitForFileMaker
};