@verbb/formie-browser 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/chunks/_survey-presentations-RbSqcQph.js +4 -0
- package/dist/chunks/{address-state-BQ0xGV9n.js → address-state-BwE01m2_.js} +1 -1
- package/dist/chunks/{api-DztsCJ4r.js → api-BYe9YPko.js} +194 -153
- package/dist/chunks/{bpoint-2qDxlKD9.js → bpoint-C0VOftX9.js} +1 -1
- package/dist/chunks/{combobox-D-2b42wn.js → combobox-C0EuExSI.js} +1 -1
- package/dist/chunks/{eway-CImXrB4g.js → eway-CS6Y1Yvo.js} +1 -1
- package/dist/chunks/{file-upload-D49m8-DR.js → file-upload-rqfZNqlH.js} +1 -1
- package/dist/chunks/{go-cardless-Bz7HHtH0.js → go-cardless-BTPD668l.js} +1 -1
- package/dist/chunks/{mollie-BtnB3KGh.js → mollie-CXgBwvo6.js} +1 -1
- package/dist/chunks/{moneris-Bd4vUk8b.js → moneris-B6oLu7nj.js} +1 -1
- package/dist/chunks/{opayo-B-eRIXo-.js → opayo-DPUA5CKr.js} +1 -1
- package/dist/chunks/{paddle-BUFeEU4d.js → paddle-GRlsm5mm.js} +1 -1
- package/dist/chunks/{paypal-8Euw7Hrn.js → paypal-CdcZnf6r.js} +2 -2
- package/dist/chunks/{payway-dV0SzJxy.js → payway-CfmYOS__.js} +2 -2
- package/dist/chunks/{repeater-B5leVxZU.js → repeater-BVnPUqTj.js} +1 -1
- package/dist/chunks/rich-text-Bg_--4TG.js +349 -0
- package/dist/chunks/{square-reyJukb7.js → square-BY--5M-X.js} +1 -1
- package/dist/chunks/{stripe-BC-2PBvY.js → stripe-uusYjWty.js} +2 -2
- package/dist/chunks/{summary-D3AjxpYN.js → summary-Dks0gXS3.js} +42 -38
- package/dist/chunks/survey-likert-DkE6bR7B.js +20 -0
- package/dist/chunks/survey-rank-DN6x4IZM.js +127 -0
- package/dist/chunks/survey-rating-BnsNL9U5.js +88 -0
- package/dist/chunks/{table-C-lkQN6I.js → table-CAjCJHrL.js} +1 -1
- package/dist/chunks/{upload-manager-BpqWSHmU.js → upload-manager-W-QDgxKD.js} +1 -1
- package/dist/css/formie-theme.css +1 -0
- package/dist/css/theme/_tokens.css +10 -5
- package/dist/css/theme/fields/_check-radio.css +1 -1
- package/dist/css/theme/fields/_combobox.css +1 -1
- package/dist/css/theme/fields/_file.css +3 -3
- package/dist/css/theme/fields/_input.css +1 -1
- package/dist/css/theme/fields/_repeater.css +1 -1
- package/dist/css/theme/fields/_rich-text.css +1 -1
- package/dist/css/theme/fields/_select.css +1 -1
- package/dist/css/theme/fields/_survey-presentations.css +396 -0
- package/dist/css/theme/fields/_table.css +1 -1
- package/dist/css/theme/fields/_upload-manager.css +3 -3
- package/dist/css/theme/integrations/_paypal.css +1 -1
- package/dist/css/theme/integrations/_payway.css +1 -1
- package/dist/css/theme/integrations/_stripe.css +1 -1
- package/dist/index.js +398 -376
- package/dist/js/contracts/schema.d.ts +5 -0
- package/dist/js/contracts/schema.d.ts.map +1 -1
- package/dist/js/core/create-formie-client.d.ts.map +1 -1
- package/dist/js/core/page-client-event.d.ts +8 -4
- package/dist/js/core/page-client-event.d.ts.map +1 -1
- package/dist/js/core/submit-flow.d.ts.map +1 -1
- package/dist/js/core/submit-result-state.d.ts.map +1 -1
- package/dist/js/core/submit-result-ui.d.ts +1 -0
- package/dist/js/core/submit-result-ui.d.ts.map +1 -1
- package/dist/js/modules/fields/index.d.ts.map +1 -1
- package/dist/js/modules/fields/summary.d.ts.map +1 -1
- package/dist/js/modules/fields/survey-likert.d.ts +3 -0
- package/dist/js/modules/fields/survey-likert.d.ts.map +1 -0
- package/dist/js/modules/fields/survey-rank.d.ts +3 -0
- package/dist/js/modules/fields/survey-rank.d.ts.map +1 -0
- package/dist/js/modules/fields/survey-rating.d.ts +3 -0
- package/dist/js/modules/fields/survey-rating.d.ts.map +1 -0
- package/dist/js/transport/forms-api.d.ts.map +1 -1
- package/dist/js/utils/fields.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/css/formie-theme.css +1 -0
- package/src/css/theme/_tokens.css +10 -5
- package/src/css/theme/fields/_check-radio.css +1 -1
- package/src/css/theme/fields/_combobox.css +1 -1
- package/src/css/theme/fields/_file.css +3 -3
- package/src/css/theme/fields/_input.css +1 -1
- package/src/css/theme/fields/_repeater.css +1 -1
- package/src/css/theme/fields/_rich-text.css +1 -1
- package/src/css/theme/fields/_select.css +1 -1
- package/src/css/theme/fields/_survey-presentations.css +396 -0
- package/src/css/theme/fields/_table.css +1 -1
- package/src/css/theme/fields/_upload-manager.css +3 -3
- package/src/css/theme/integrations/_paypal.css +1 -1
- package/src/css/theme/integrations/_payway.css +1 -1
- package/src/css/theme/integrations/_stripe.css +1 -1
- package/src/js/contracts/schema.ts +6 -0
- package/src/js/core/create-formie-client.ts +14 -1
- package/src/js/core/page-client-event.ts +86 -18
- package/src/js/core/submit-flow.ts +3 -1
- package/src/js/core/submit-result-state.ts +18 -2
- package/src/js/core/submit-result-ui.ts +47 -9
- package/src/js/modules/fields/index.ts +3 -0
- package/src/js/modules/fields/summary.ts +17 -3
- package/src/js/modules/fields/survey-likert.ts +50 -0
- package/src/js/modules/fields/survey-rank.ts +385 -0
- package/src/js/modules/fields/survey-rating.ts +182 -0
- package/src/js/transport/forms-api.ts +1 -0
- package/src/js/utils/fields.ts +14 -2
- package/dist/chunks/rich-text-D0sb8bmX.js +0 -349
|
@@ -5,29 +5,33 @@ import { t as r } from "./async-nPFRNQ06.js";
|
|
|
5
5
|
import { t as i } from "./styles-BfoIZwJp.js";
|
|
6
6
|
import { r as a, t as o } from "./shared-Bx9s0i0P.js";
|
|
7
7
|
//#region src/css/theme/fields/_summary.css?inline
|
|
8
|
-
var s = "@layer formie-theme{.formie-summary-container{padding:var(--formie-summary-padding);border:var(--formie-border-width) solid var(--formie-color-border);border-radius:var(--formie-radius-sm)}.formie-summary-heading{color:var(--formie-color-heading)}.formie-summary-blocks{gap:var(--formie-gap-summary);display:grid}.formie-summary-blocks[data-formie-loading=true]{min-height:calc(var(--formie-loading-size) + var(--formie-space-4));position:relative}.formie-summary-blocks[data-formie-loading=true]>*{opacity:0;pointer-events:none}.formie-summary-blocks[data-formie-loading=true]:before{content:\"\";background:var(--formie-color-bg);border-radius:inherit;z-index:1;display:block;position:absolute;inset:0}.formie-summary-blocks[data-formie-loading=true]:after{width:var(--formie-loading-size);height:var(--formie-loading-size);content:\"\";border:var(--formie-loading-border-width) solid var(--formie-loading-color);border-radius:var(--formie-radius-full);z-index:2;animation:formie-loading-spin var(--formie-loading-speed) linear infinite;border-top-color:#0000;border-right-color:#0000;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}", c = "[data-formie-summary-blocks]", l = "[data-formie-summary-container]", u = "formie/fields/get-summary-html", d = "
|
|
9
|
-
i(
|
|
10
|
-
function
|
|
8
|
+
var s = "@layer formie-theme{.formie-summary-container{padding:var(--formie-summary-padding);border:var(--formie-border-width) solid var(--formie-color-border);border-radius:var(--formie-radius-sm)}.formie-summary-heading{color:var(--formie-color-heading)}.formie-summary-blocks{gap:var(--formie-gap-summary);display:grid}.formie-summary-blocks[data-formie-loading=true]{min-height:calc(var(--formie-loading-size) + var(--formie-space-4));position:relative}.formie-summary-blocks[data-formie-loading=true]>*{opacity:0;pointer-events:none}.formie-summary-blocks[data-formie-loading=true]:before{content:\"\";background:var(--formie-color-bg);border-radius:inherit;z-index:1;display:block;position:absolute;inset:0}.formie-summary-blocks[data-formie-loading=true]:after{width:var(--formie-loading-size);height:var(--formie-loading-size);content:\"\";border:var(--formie-loading-border-width) solid var(--formie-loading-color);border-radius:var(--formie-radius-full);z-index:2;animation:formie-loading-spin var(--formie-loading-speed) linear infinite;border-top-color:#0000;border-right-color:#0000;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}", c = "[data-formie-summary-blocks]", l = "[data-formie-summary-container]", u = "formie/fields/get-summary-html", d = "data-formie-theme-config", f = "data-formie-frontend-theme", p = "summary", m = e("fields", "summary");
|
|
9
|
+
i(p, [s]);
|
|
10
|
+
function h() {
|
|
11
11
|
let e = new URL(window.location.href);
|
|
12
12
|
return e.hash = "", e.toString();
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
return {
|
|
14
|
+
function g(e, t) {
|
|
15
|
+
return {
|
|
16
|
+
accessToken: e.querySelector("[data-formie-summary-token]")?.value?.trim() || null,
|
|
17
|
+
themeConfig: t.getAttribute(d)?.trim() || null,
|
|
18
|
+
frontendTheme: t.getAttribute(f)?.trim() || null
|
|
19
|
+
};
|
|
16
20
|
}
|
|
17
|
-
async function
|
|
21
|
+
async function _(e, t, r) {
|
|
18
22
|
if (!t.accessToken) throw Error("Summary field requires an access token.");
|
|
19
23
|
let i = new FormData(e);
|
|
20
|
-
return i.set("action", u), i.set("accessToken", t.accessToken), n(
|
|
24
|
+
return i.set("action", u), i.set("accessToken", t.accessToken), t.themeConfig && i.set("themeConfig", t.themeConfig), t.frontendTheme && i.set("frontendTheme", t.frontendTheme), n(h(), {
|
|
21
25
|
method: "POST",
|
|
22
26
|
body: i,
|
|
23
27
|
signal: r,
|
|
24
28
|
headers: { Accept: "text/html" }
|
|
25
29
|
});
|
|
26
30
|
}
|
|
27
|
-
function
|
|
31
|
+
function v(e, n) {
|
|
28
32
|
let i = e.closest("form");
|
|
29
|
-
if (!(i instanceof HTMLFormElement)) return
|
|
30
|
-
let a = !1, s = !0, u = !1,
|
|
33
|
+
if (!(i instanceof HTMLFormElement)) return m.warn("Missing form ancestor; skipping field."), () => {};
|
|
34
|
+
let a = !1, s = !0, u = !1, d = 0, f = 0, h = null, v = () => {
|
|
31
35
|
let t = e.querySelector(c);
|
|
32
36
|
return t instanceof HTMLElement ? t : null;
|
|
33
37
|
}, y = () => {
|
|
@@ -43,72 +47,72 @@ function g(e, n) {
|
|
|
43
47
|
n.removeAttribute("data-formie-loading"), n.removeAttribute("aria-busy"), t(n, i, "loading", !1);
|
|
44
48
|
}
|
|
45
49
|
};
|
|
46
|
-
b(!!
|
|
50
|
+
b(!!g(e, i).accessToken);
|
|
47
51
|
let x = () => {
|
|
48
|
-
!u || a && !s || (
|
|
52
|
+
!u || a && !s || (m.log("Queueing fetch."), S());
|
|
49
53
|
}, S = r(async () => {
|
|
50
|
-
let t =
|
|
54
|
+
let t = g(e, i);
|
|
51
55
|
if (!v() || !t.accessToken) {
|
|
52
|
-
|
|
56
|
+
m.warn("Missing state for fetch.", t), b(!1);
|
|
53
57
|
return;
|
|
54
58
|
}
|
|
55
|
-
|
|
56
|
-
let n =
|
|
57
|
-
|
|
59
|
+
f += 1;
|
|
60
|
+
let n = f, r = d;
|
|
61
|
+
h?.abort(), h = new AbortController(), b(!0);
|
|
58
62
|
try {
|
|
59
|
-
let c = await
|
|
60
|
-
if (n !==
|
|
61
|
-
let u = y(),
|
|
62
|
-
|
|
63
|
-
let v =
|
|
64
|
-
u && v instanceof HTMLElement ? u.replaceWith(v) : u && (u.innerHTML = c), a = !0, s =
|
|
63
|
+
let c = await _(i, t, h.signal);
|
|
64
|
+
if (n !== f) return;
|
|
65
|
+
let u = y(), g = document.createElement("template");
|
|
66
|
+
g.innerHTML = c.trim();
|
|
67
|
+
let v = g.content.querySelector(l);
|
|
68
|
+
u && v instanceof HTMLElement ? u.replaceWith(v) : u && (u.innerHTML = c), a = !0, s = d !== r, m.log("Fetch complete.", {
|
|
65
69
|
isDirty: s,
|
|
66
|
-
dirtyVersion:
|
|
70
|
+
dirtyVersion: d,
|
|
67
71
|
requestVersion: n
|
|
68
|
-
}), o(e,
|
|
72
|
+
}), o(e, p, "fetch-summary", {
|
|
69
73
|
summary: e,
|
|
70
74
|
html: c
|
|
71
75
|
});
|
|
72
76
|
} catch (e) {
|
|
73
77
|
if (e instanceof DOMException && e.name === "AbortError") {
|
|
74
|
-
|
|
78
|
+
m.log("Fetch aborted.");
|
|
75
79
|
return;
|
|
76
80
|
}
|
|
77
81
|
console.error("[formie] Failed to load summary field HTML.", e);
|
|
78
82
|
} finally {
|
|
79
|
-
n ===
|
|
83
|
+
n === f && (b(!1), h = null, s && x());
|
|
80
84
|
}
|
|
81
85
|
}, 300), C = (t) => {
|
|
82
86
|
let n = t?.target;
|
|
83
|
-
n instanceof Node && e.contains(n) || (s = !0,
|
|
87
|
+
n instanceof Node && e.contains(n) || (s = !0, d += 1, m.log("Marked dirty.", { dirtyVersion: d }));
|
|
84
88
|
}, w = (e) => {
|
|
85
89
|
C(e), x();
|
|
86
90
|
}, T = () => {
|
|
87
|
-
s = !0,
|
|
91
|
+
s = !0, m.log("Submit result received; refreshing."), x();
|
|
88
92
|
}, E = () => {
|
|
89
|
-
s = !0,
|
|
93
|
+
s = !0, m.log("Page navigation received; refreshing."), x();
|
|
90
94
|
}, D = new IntersectionObserver((t) => {
|
|
91
|
-
u = !!t[0]?.isIntersecting, u && (
|
|
95
|
+
u = !!t[0]?.isIntersecting, u && (m.log("Field became visible."), o(e, p, "field-visible", { summary: e }), x());
|
|
92
96
|
}, {
|
|
93
97
|
root: i,
|
|
94
98
|
rootMargin: "50px"
|
|
95
99
|
});
|
|
96
100
|
return D.observe(e), i.addEventListener("input", w), i.addEventListener("change", w), n.addEventListener("formie:page:navigate:after", E), n.addEventListener("formie:submit:result", T), () => {
|
|
97
|
-
|
|
101
|
+
h?.abort(), D.disconnect(), i.removeEventListener("input", w), i.removeEventListener("change", w), n.removeEventListener("formie:page:navigate:after", E), n.removeEventListener("formie:submit:result", T), m.log("Field destroyed.");
|
|
98
102
|
};
|
|
99
103
|
}
|
|
100
|
-
var
|
|
101
|
-
id:
|
|
104
|
+
var y = {
|
|
105
|
+
id: p,
|
|
102
106
|
kind: "field",
|
|
103
107
|
match: (e) => !!e.target.querySelector(c),
|
|
104
108
|
setup: async (e) => {
|
|
105
|
-
let t = a(e).map((t) =>
|
|
106
|
-
return
|
|
109
|
+
let t = a(e).map((t) => v(t, e.root));
|
|
110
|
+
return m.log("Module setup.", { fieldCount: t.length }), await e.emit("formie:module:summary:init", { count: t.length }), { destroy: () => {
|
|
107
111
|
t.forEach((e) => {
|
|
108
112
|
e();
|
|
109
|
-
}),
|
|
113
|
+
}), m.log("Module destroy.", { fieldCount: t.length }), e.emit("formie:module:summary:destroy", {});
|
|
110
114
|
} };
|
|
111
115
|
}
|
|
112
116
|
};
|
|
113
117
|
//#endregion
|
|
114
|
-
export {
|
|
118
|
+
export { y as summaryModule };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { t as e } from "./debug-BV0DvdHx.js";
|
|
2
|
+
import { t } from "./styles-BfoIZwJp.js";
|
|
3
|
+
import { t as n } from "./_survey-presentations-RbSqcQph.js";
|
|
4
|
+
//#region src/js/modules/fields/survey-likert.ts
|
|
5
|
+
var r = "[data-formie-likert-field-layout]", i = "survey-likert", a = e("fields", "survey-likert");
|
|
6
|
+
t(i, [n]);
|
|
7
|
+
var o = {
|
|
8
|
+
id: i,
|
|
9
|
+
kind: "field",
|
|
10
|
+
match: (e) => e.target instanceof HTMLElement && (e.target.matches(r) || !!e.target.querySelector(r)),
|
|
11
|
+
setup: async (e) => {
|
|
12
|
+
if (!(e.target instanceof HTMLElement)) return;
|
|
13
|
+
let t = e.target.matches(r) ? [e.target] : Array.from(e.target.querySelectorAll(r)).filter((e) => e instanceof HTMLElement);
|
|
14
|
+
return a.log("Module setup.", { fieldCount: t.length }), await e.emit("formie:module:survey-likert:init", { count: t.length }), { destroy: () => {
|
|
15
|
+
a.log("Module destroy.", { fieldCount: t.length }), e.emit("formie:module:survey-likert:destroy", {});
|
|
16
|
+
} };
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { o as surveyLikertModule };
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { t as e } from "./debug-BV0DvdHx.js";
|
|
2
|
+
import { t } from "./styles-BfoIZwJp.js";
|
|
3
|
+
import { t as n } from "./shared-Bx9s0i0P.js";
|
|
4
|
+
import { t as r } from "./_survey-presentations-RbSqcQph.js";
|
|
5
|
+
//#region src/js/modules/fields/survey-rank.ts
|
|
6
|
+
var i = "[data-formie-survey-rank]", a = "[data-formie-survey-rank-list]", o = "[data-formie-survey-rank-item]", s = "[data-formie-rank-handle]", c = "formie-rank-placeholder", l = .42, u = "survey-rank", d = e("fields", "survey-rank");
|
|
7
|
+
t(u, [r]);
|
|
8
|
+
function f(e) {
|
|
9
|
+
e.querySelectorAll(o).forEach((e, t) => {
|
|
10
|
+
e instanceof HTMLElement && e.querySelectorAll("input[data-formie-rank-input]").forEach((e) => {
|
|
11
|
+
e instanceof HTMLInputElement && (e.dataset.formieRankOrder = String(t));
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function p(e) {
|
|
16
|
+
return Array.from(e.querySelectorAll(o)).filter((e) => e instanceof HTMLElement);
|
|
17
|
+
}
|
|
18
|
+
function m(e, t) {
|
|
19
|
+
return Array.from(e.children).indexOf(t);
|
|
20
|
+
}
|
|
21
|
+
function h(e, t, n) {
|
|
22
|
+
return Array.from(e.children).filter((e) => e instanceof HTMLElement && e !== t && e !== n);
|
|
23
|
+
}
|
|
24
|
+
function g(e, t) {
|
|
25
|
+
return Math.max(0, Math.min(e.bottom, t.bottom) - Math.max(e.top, t.top));
|
|
26
|
+
}
|
|
27
|
+
function _(e) {
|
|
28
|
+
let t = e.getBoundingClientRect();
|
|
29
|
+
return t.top + t.height / 2;
|
|
30
|
+
}
|
|
31
|
+
function v(e, t, n, r) {
|
|
32
|
+
let i = e.getBoundingClientRect(), a = _(e), o = h(t, n, e);
|
|
33
|
+
for (let e = 0; e < o.length; e += 1) {
|
|
34
|
+
let t = o[e].getBoundingClientRect(), n = t.top + t.height * l;
|
|
35
|
+
if (g(i, t) / t.height >= l) return r ? Math.min(e + 1, o.length) : e;
|
|
36
|
+
if (a < n) return e;
|
|
37
|
+
}
|
|
38
|
+
return o.length;
|
|
39
|
+
}
|
|
40
|
+
function y(e, t, n, r) {
|
|
41
|
+
let i = h(e, t, n)[r] ?? null;
|
|
42
|
+
if (i) {
|
|
43
|
+
e.insertBefore(t, i);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
e.appendChild(t);
|
|
47
|
+
}
|
|
48
|
+
function b(e, t) {
|
|
49
|
+
let n = document.createElement("li");
|
|
50
|
+
return n.className = c, n.setAttribute("data-formie-rank-placeholder", "true"), n.setAttribute("aria-hidden", "true"), n.style.height = `${t.offsetHeight}px`, e.insertBefore(n, t), n;
|
|
51
|
+
}
|
|
52
|
+
function x(e) {
|
|
53
|
+
return {
|
|
54
|
+
position: e.style.position,
|
|
55
|
+
left: e.style.left,
|
|
56
|
+
top: e.style.top,
|
|
57
|
+
width: e.style.width,
|
|
58
|
+
zIndex: e.style.zIndex,
|
|
59
|
+
pointerEvents: e.style.pointerEvents,
|
|
60
|
+
margin: e.style.margin
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function S(e, t) {
|
|
64
|
+
e.style.position = "fixed", e.style.left = `${t.left}px`, e.style.top = `${t.top}px`, e.style.width = `${t.width}px`, e.style.zIndex = "1000", e.style.pointerEvents = "none", e.style.margin = "0";
|
|
65
|
+
}
|
|
66
|
+
function C(e, t, n) {
|
|
67
|
+
e.style.left = `${t.clientX - n.x}px`, e.style.top = `${t.clientY - n.y}px`;
|
|
68
|
+
}
|
|
69
|
+
function w(e, t) {
|
|
70
|
+
e.style.position = t.position, e.style.left = t.left, e.style.top = t.top, e.style.width = t.width, e.style.zIndex = t.zIndex, e.style.pointerEvents = t.pointerEvents, e.style.margin = t.margin;
|
|
71
|
+
}
|
|
72
|
+
function T(e) {
|
|
73
|
+
let t = e.querySelector(a);
|
|
74
|
+
if (!(t instanceof HTMLElement)) return d.warn("Missing rank list; skipping field."), () => {};
|
|
75
|
+
let r = null, i = null, o = null, c = null, l = null, h = null, g = null, T = null, E = null, D = !1, O = [], k = () => {
|
|
76
|
+
if (r && i ? (t.insertBefore(r, i), i.remove()) : i && i.remove(), r && o && (w(r, o), r.removeAttribute("data-formie-rank-dragging")), l && h !== null) try {
|
|
77
|
+
l.releasePointerCapture(h);
|
|
78
|
+
} catch {}
|
|
79
|
+
r = null, i = null, o = null, c = null, l = null, h = null, g = null, T = null, E = null, t.removeAttribute("data-formie-rank-sorting"), D && (f(t), n(e, u, "reorder", { rankField: e })), D = !1;
|
|
80
|
+
}, A = (e) => {
|
|
81
|
+
if (!r || !i || !c || e.pointerId !== h) return;
|
|
82
|
+
e.preventDefault(), C(r, e, c);
|
|
83
|
+
let n = _(r), a = E === null || n >= E;
|
|
84
|
+
E = n;
|
|
85
|
+
let o = v(r, t, i, a);
|
|
86
|
+
o !== g && (g = o, y(t, i, r, o));
|
|
87
|
+
}, j = (e) => {
|
|
88
|
+
e.pointerId === h && (document.removeEventListener("pointermove", A), document.removeEventListener("pointerup", j), document.removeEventListener("pointercancel", j), i && T !== null && (D = m(t, i) !== T), k());
|
|
89
|
+
};
|
|
90
|
+
return p(t).forEach((e) => {
|
|
91
|
+
if (!e.querySelector(s)) return;
|
|
92
|
+
let n = (n) => {
|
|
93
|
+
if (n.button !== 0 || n.target instanceof HTMLInputElement) return;
|
|
94
|
+
n.preventDefault();
|
|
95
|
+
let a = e.getBoundingClientRect();
|
|
96
|
+
r = e, l = e, h = n.pointerId, c = {
|
|
97
|
+
x: n.clientX - a.left,
|
|
98
|
+
y: n.clientY - a.top
|
|
99
|
+
}, o = x(e), i = b(t, e), T = m(t, i), D = !1, S(e, a), e.setAttribute("data-formie-rank-dragging", "true"), t.setAttribute("data-formie-rank-sorting", "true"), e.setPointerCapture(n.pointerId), E = _(e), g = v(e, t, i, !0), document.addEventListener("pointermove", A), document.addEventListener("pointerup", j), document.addEventListener("pointercancel", j);
|
|
100
|
+
};
|
|
101
|
+
e.addEventListener("pointerdown", n), O.push(() => {
|
|
102
|
+
e.removeEventListener("pointerdown", n);
|
|
103
|
+
});
|
|
104
|
+
}), f(t), () => {
|
|
105
|
+
document.removeEventListener("pointermove", A), document.removeEventListener("pointerup", j), document.removeEventListener("pointercancel", j), O.forEach((e) => {
|
|
106
|
+
e();
|
|
107
|
+
}), k();
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
var E = {
|
|
111
|
+
id: u,
|
|
112
|
+
kind: "field",
|
|
113
|
+
match: (e) => e.target instanceof HTMLElement && (e.target.matches(i) || !!e.target.querySelector(i)),
|
|
114
|
+
setup: async (e) => {
|
|
115
|
+
if (!(e.target instanceof HTMLElement)) return;
|
|
116
|
+
let t = e.target.matches(i) ? [e.target] : Array.from(e.target.querySelectorAll(i)).filter((e) => e instanceof HTMLElement);
|
|
117
|
+
d.log("Module setup.", { fieldCount: t.length });
|
|
118
|
+
let n = t.map((e) => T(e));
|
|
119
|
+
return await e.emit("formie:module:survey-rank:init", { count: t.length }), { destroy: () => {
|
|
120
|
+
n.forEach((e) => {
|
|
121
|
+
e();
|
|
122
|
+
}), d.log("Module destroy.", { fieldCount: t.length }), e.emit("formie:module:survey-rank:destroy", {});
|
|
123
|
+
} };
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
//#endregion
|
|
127
|
+
export { E as surveyRankModule };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { t as e } from "./debug-BV0DvdHx.js";
|
|
2
|
+
import { t } from "./styles-BfoIZwJp.js";
|
|
3
|
+
import { t as n } from "./shared-Bx9s0i0P.js";
|
|
4
|
+
import { t as r } from "./_survey-presentations-RbSqcQph.js";
|
|
5
|
+
//#region src/js/modules/fields/survey-rating.ts
|
|
6
|
+
var i = "[data-formie-survey-rating]", a = "[data-formie-survey-rating-stars]", o = "[data-formie-rating-option]", s = "input[data-formie-rating-input]", c = "data-formie-rating-pressed-while-checked", l = "survey-rating", u = e("fields", "survey-rating");
|
|
7
|
+
t(l, [r]);
|
|
8
|
+
function d(e) {
|
|
9
|
+
return Array.from(e.querySelectorAll(s)).filter((e) => e instanceof HTMLInputElement);
|
|
10
|
+
}
|
|
11
|
+
function f(e) {
|
|
12
|
+
let t = d(e).findIndex((e) => e.checked);
|
|
13
|
+
if (t >= 0) {
|
|
14
|
+
e.setAttribute("data-formie-rating-value", String(t + 1));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
e.removeAttribute("data-formie-rating-value");
|
|
18
|
+
}
|
|
19
|
+
function p(e) {
|
|
20
|
+
let t = e.querySelector(a);
|
|
21
|
+
if (!(t instanceof HTMLElement)) return u.warn("Missing rating stars container; skipping field."), () => {};
|
|
22
|
+
let r = [], i = () => {
|
|
23
|
+
t.removeAttribute("data-formie-rating-hover");
|
|
24
|
+
}, p = (e) => {
|
|
25
|
+
let n = Array.from(t.querySelectorAll(o)).indexOf(e);
|
|
26
|
+
n >= 0 && t.setAttribute("data-formie-rating-hover", String(n + 1));
|
|
27
|
+
};
|
|
28
|
+
return t.querySelectorAll(o).forEach((e) => {
|
|
29
|
+
if (!(e instanceof HTMLElement)) return;
|
|
30
|
+
let t = e.querySelector(s), n = () => {
|
|
31
|
+
if (t instanceof HTMLInputElement) {
|
|
32
|
+
if (t.checked) {
|
|
33
|
+
t.setAttribute(c, "true");
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
t.removeAttribute(c);
|
|
37
|
+
}
|
|
38
|
+
}, i = () => {
|
|
39
|
+
p(e);
|
|
40
|
+
};
|
|
41
|
+
e.addEventListener("pointerdown", n), e.addEventListener("mouseenter", i), r.push(() => {
|
|
42
|
+
e.removeEventListener("pointerdown", n), e.removeEventListener("mouseenter", i);
|
|
43
|
+
});
|
|
44
|
+
}), t.addEventListener("mouseleave", i), r.push(() => {
|
|
45
|
+
t.removeEventListener("mouseleave", i);
|
|
46
|
+
}), d(t).forEach((i) => {
|
|
47
|
+
let a = (r) => {
|
|
48
|
+
if (i.getAttribute(c) !== "true") {
|
|
49
|
+
f(t), n(e, l, "change", {
|
|
50
|
+
ratingField: e,
|
|
51
|
+
value: i.checked ? i.value : ""
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
r.preventDefault(), d(t).forEach((e) => {
|
|
56
|
+
e.checked = !1, e.removeAttribute(c);
|
|
57
|
+
}), f(t), n(e, l, "change", {
|
|
58
|
+
ratingField: e,
|
|
59
|
+
value: ""
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
i.addEventListener("click", a), r.push(() => {
|
|
63
|
+
i.removeEventListener("click", a), i.removeAttribute(c);
|
|
64
|
+
});
|
|
65
|
+
}), f(t), () => {
|
|
66
|
+
r.forEach((e) => {
|
|
67
|
+
e();
|
|
68
|
+
}), i(), t.removeAttribute("data-formie-rating-value");
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
var m = {
|
|
72
|
+
id: l,
|
|
73
|
+
kind: "field",
|
|
74
|
+
match: (e) => e.target instanceof HTMLElement && (e.target.matches(i) || !!e.target.querySelector(i)),
|
|
75
|
+
setup: async (e) => {
|
|
76
|
+
if (!(e.target instanceof HTMLElement)) return;
|
|
77
|
+
let t = e.target.matches(i) ? [e.target] : Array.from(e.target.querySelectorAll(i)).filter((e) => e instanceof HTMLElement);
|
|
78
|
+
u.log("Module setup.", { fieldCount: t.length });
|
|
79
|
+
let n = t.map((e) => p(e));
|
|
80
|
+
return await e.emit("formie:module:survey-rating:init", { count: t.length }), { destroy: () => {
|
|
81
|
+
n.forEach((e) => {
|
|
82
|
+
e();
|
|
83
|
+
}), u.log("Module destroy.", { fieldCount: t.length }), e.emit("formie:module:survey-rating:destroy", {});
|
|
84
|
+
} };
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
//#endregion
|
|
88
|
+
export { m as surveyRatingModule };
|
|
@@ -2,7 +2,7 @@ import { n as e } from "./async-nPFRNQ06.js";
|
|
|
2
2
|
import { t } from "./styles-BfoIZwJp.js";
|
|
3
3
|
import { a as n, o as r, t as i } from "./shared-Bx9s0i0P.js";
|
|
4
4
|
//#region src/css/theme/fields/_table.css?inline
|
|
5
|
-
var a = "@layer formie-theme{.formie-table-wrapper{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto hidden}.formie-table{width:var(--formie-table-width);margin-bottom:var(--formie-table-margin-bottom);border-collapse:var(--formie-table-border-collapse)}.formie-table th{text-align:var(--formie-table-th-text-align);font-size:var(--formie-table-th-font-size);font-weight:var(--formie-table-th-font-weight);color:var(--formie-table-th-color,var(--formie-
|
|
5
|
+
var a = "@layer formie-theme{.formie-table-wrapper{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto hidden}.formie-table{width:var(--formie-table-width);margin-bottom:var(--formie-table-margin-bottom);border-collapse:var(--formie-table-border-collapse)}.formie-table th{text-align:var(--formie-table-th-text-align);font-size:var(--formie-table-th-font-size);font-weight:var(--formie-table-th-font-weight);color:var(--formie-table-th-color,var(--formie-color-text-muted))}.formie-table th,.formie-table td{padding:var(--formie-table-row-padding);vertical-align:top}.formie-table th:first-child,.formie-table td:first-child{padding-left:0}.formie-table th:last-child,.formie-table td:last-child{padding-right:0}.formie-table [data-col-remove]{width:calc(var(--formie-button-icon-button-size) + (var(--formie-table-row-padding) * 2));min-width:calc(var(--formie-button-icon-button-size) + (var(--formie-table-row-padding) * 2));white-space:nowrap;text-align:center;vertical-align:middle}.formie-table [data-formie-table-column-type=checkbox]{text-align:center;vertical-align:middle}.formie-table [data-formie-table-column-type=checkbox] .formie-checkbox-option{width:100%;min-height:var(--formie-check-size);justify-content:center;align-items:center;margin:0;display:flex}.formie-table [data-formie-table-column-type=checkbox] .formie-checkbox-option-label{width:var(--formie-check-size);min-width:var(--formie-check-size);height:var(--formie-check-size);margin:0 auto;padding-left:0;font-size:0;line-height:0;display:block}.formie-table [data-formie-table-column-type=checkbox] .formie-checkbox-option-label:before{position:static}.formie-table-color-input{min-width:4rem;padding:var(--formie-space-1)}.formie-table-multiline-input{min-height:calc(var(--formie-control-height) + var(--formie-space-2))}.formie-table-remove-button{vertical-align:middle;display:inline-flex}.formie-button.formie-table-add-button{width:auto;max-width:100%;padding-left:var(--formie-table-add-button-padding-left);justify-content:center;justify-self:start;align-items:center;display:inline-flex;position:relative}.formie-button.formie-table-add-button:before{content:\"\";width:var(--formie-table-add-button-width);height:var(--formie-table-add-button-height);left:var(--formie-table-add-button-left);-webkit-mask-image:var(--formie-table-add-button-icon-mask);-webkit-mask-image:var(--formie-table-add-button-icon-mask);mask-image:var(--formie-table-add-button-icon-mask);background-color:currentColor;display:block;position:absolute;top:50%;transform:translateY(-50%);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}", o = "[data-formie-table-field-layout]", s = "[data-formie-table]", c = "[data-formie-table-body]", l = "[data-formie-table-row]", u = "[data-formie-table-add]", d = "[data-formie-table-remove]", f = "data-formie-template-id", p = "data-formie-table-row-id", m = "table";
|
|
6
6
|
t(m, [a]);
|
|
7
7
|
function h(e, t) {
|
|
8
8
|
return n(e, t);
|
|
@@ -2081,7 +2081,7 @@ var Be = {
|
|
|
2081
2081
|
}
|
|
2082
2082
|
this.uppy.removeUploader(this.#o);
|
|
2083
2083
|
}
|
|
2084
|
-
}, He = "@layer formie-theme{.formie-upload-manager{gap:var(--formie-gap-field);flex-direction:column;display:flex}.formie-upload-manager-dropzone{justify-content:center;align-items:center;gap:var(--formie-space-2);padding:var(--formie-space-4);min-height:calc(var(--formie-control-height) * 3);border:var(--formie-border-width) dashed var(--formie-color-border);border-radius:var(--formie-radius-sm);background:var(--formie-color-surface-subtle);color:var(--formie-color-text);text-align:center;cursor:pointer;flex-direction:column;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.formie-upload-manager-dropzone:hover,.formie-upload-manager-dropzone.formie-upload-manager-dropzone-active{border-color:var(--formie-color-focus-ring);background:var(--formie-color-surface-muted)}.formie-upload-manager-dropzone:focus{outline:0}.formie-upload-manager-dropzone:focus-visible{box-shadow:0 0 0 var(--formie-focus-ring-width) var(--formie-color-focus-ring)}.formie-field-has-error .formie-upload-manager-dropzone{border-color:var(--formie-color-danger)}.formie-upload-manager-prompt{font-size:var(--formie-font-size-sm);color:var(--formie-color-text-muted);margin:0}.formie-upload-manager-list{gap:var(--formie-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.formie-upload-manager-item{align-items:center;gap:var(--formie-space-2);padding:var(--formie-space-2) var(--formie-space-3);border:var(--formie-border-width) solid var(--formie-color-border);border-radius:var(--formie-radius-sm);background:var(--formie-color-surface);grid-template-columns:minmax(0,1fr) minmax(6.5rem,8rem) auto;display:grid}.formie-upload-manager-item.is-error{border-color:var(--formie-color-danger)}.formie-upload-manager-item.is-complete .formie-upload-manager-progress{opacity:0;visibility:hidden;pointer-events:none}.formie-upload-manager-filename{text-overflow:ellipsis;white-space:nowrap;font-size:var(--formie-font-size-sm);overflow:hidden}.formie-upload-manager-progress{justify-content:center;gap:var(--formie-space-1);min-height:var(--formie-button-icon-button-size);opacity:1;visibility:visible;flex-direction:column;align-self:center;transition:opacity .2s,visibility .2s;display:flex}.formie-upload-manager-progress-track{border-radius:var(--formie-radius-full);background:var(--formie-color-surface-muted);height:.375rem;position:relative;overflow:hidden}.formie-upload-manager-progress-bar{border-radius:inherit;background:var(--formie-color-primary);width:0;height:100%;transition:width .18s ease-out,background-color .2s}.formie-upload-manager-item.is-upload-complete .formie-upload-manager-progress-bar{background:var(--formie-color-success,var(--formie-color-primary));width:100%!important}.formie-upload-manager-item.is-uploading:not(.is-upload-complete) .formie-upload-manager-progress-track[data-indeterminate=true] .formie-upload-manager-progress-bar,.formie-upload-manager-item.is-preparing .formie-upload-manager-progress-bar,.formie-upload-manager-item.is-processing .formie-upload-manager-progress-bar{width:35%;animation:1.1s ease-in-out infinite formie-upload-manager-progress-indeterminate}.formie-upload-manager-item.is-processing .formie-upload-manager-progress-bar{opacity:.85}.formie-upload-manager-item.is-processing .formie-upload-manager-progress-label{color:var(--formie-color-text)}@keyframes formie-upload-manager-progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.formie-upload-manager-progress-label{font-size:var(--formie-font-size-xs);color:var(--formie-color-text-muted);text-align:center;white-space:nowrap;line-height:1.2}.formie-upload-manager-item.is-upload-complete .formie-upload-manager-progress-label{color:var(--formie-color-success,var(--formie-color-primary));font-weight:var(--formie-font-weight-medium)}.formie-upload-manager-error{font-size:var(--formie-font-size-xs);color:var(--formie-color-danger);grid-column:1/-1}.formie-upload-manager-browse-button{margin-top:var(--formie-space-1)}.formie-upload-manager-actions{align-items:center;gap:var(--formie-space-2);flex-shrink:0;align-self:center;display:flex}.formie-upload-manager-sort-controls{border-radius:var(--formie-radius-sm);background:0 0;flex-direction:row;align-items:center;gap:.0625rem;padding:0;display:inline-flex}.formie-upload-manager-sort-controls[hidden]{display:none}.formie-upload-manager-sort-button,.formie-upload-manager-action-button{border-radius:var(--formie-radius-sm);width:1.375rem;height:1.375rem;color:var(--formie-color-text-muted);cursor:pointer;text-indent:-9999px;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:0;line-height:0;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex;position:relative;overflow:hidden}.formie-upload-manager-sort-button{width:1.375rem;height:1.375rem}.formie-upload-manager-sort-button:hover:not(:disabled),.formie-upload-manager-action-button:hover{background:var(--formie-color-surface-muted);color:var(--formie-color-text)}.formie-upload-manager-sort-button:focus-visible,.formie-upload-manager-action-button:focus-visible{box-shadow:0 0 0 var(--formie-focus-ring-width) var(--formie-color-focus-ring);outline:0}.formie-upload-manager-sort-button:disabled{opacity:.28;cursor:not-allowed}.formie-upload-manager-sort-button:after,.formie-upload-manager-action-button:after{content:\"\";background-color:currentColor;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.formie-upload-manager-sort-button[data-formie-icon=arrow-up]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-arrow-up)}.formie-upload-manager-sort-button[data-formie-icon=arrow-down]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-arrow-down)}.formie-upload-manager-action-button[data-formie-icon=close]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-close)}.formie-upload-manager-sort-button:after{width:.75rem;height:.75rem;-webkit-mask-image:var(--formie-upload-manager-icon-mask);-webkit-mask-image:var(--formie-upload-manager-icon-mask);mask-image:var(--formie-upload-manager-icon-mask)}.formie-upload-manager-action-button:after{width:.825rem;height:.825rem;-webkit-mask-image:var(--formie-upload-manager-icon-mask);-webkit-mask-image:var(--formie-upload-manager-icon-mask);mask-image:var(--formie-upload-manager-icon-mask)}.formie-upload-manager-remove-button{flex-shrink:0}}", z = "[data-formie-upload-manager-root]", B = "[data-formie-upload-manager]", Ue = "[data-formie-upload-manager-browse]", We = "[data-formie-upload-manager-input]", V = "[data-formie-upload-manager-status]", Ge = "[data-formie-upload-manager-list]", Ke = "[data-formie-upload-manager-sort-controls]", qe = "[data-formie-upload-manager-sort=\"up\"]", Je = "[data-formie-upload-manager-sort=\"down\"]", H = "data-formie-file-upload-anchor", Ye = "data-formie-file-upload-asset-id", Xe = n("reset"), Ze = r("repeater", "init-row"), Qe = "upload-manager", $e = "upload-manager", et = ["uploadManagerRequired", "uploadManagerFileLimit"], tt = 900, nt = 95, rt = 12e4, U = i("fields", "upload-manager");
|
|
2084
|
+
}, He = "@layer formie-theme{.formie-upload-manager{gap:var(--formie-gap-field);flex-direction:column;display:flex}.formie-upload-manager-dropzone{justify-content:center;align-items:center;gap:var(--formie-space-2);padding:var(--formie-space-4);min-height:calc(var(--formie-control-height) * 3);border:var(--formie-border-width) dashed var(--formie-color-border-control);border-radius:var(--formie-radius-sm);background:var(--formie-color-surface-subtle);color:var(--formie-color-text);text-align:center;cursor:pointer;flex-direction:column;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.formie-upload-manager-dropzone:hover,.formie-upload-manager-dropzone.formie-upload-manager-dropzone-active{border-color:var(--formie-color-focus-ring);background:var(--formie-color-surface-muted)}.formie-upload-manager-dropzone:focus{outline:0}.formie-upload-manager-dropzone:focus-visible{box-shadow:0 0 0 var(--formie-focus-ring-width) var(--formie-color-focus-ring)}.formie-field-has-error .formie-upload-manager-dropzone{border-color:var(--formie-color-danger)}.formie-upload-manager-prompt{font-size:var(--formie-font-size-sm);color:var(--formie-color-text-muted);margin:0}.formie-upload-manager-list{gap:var(--formie-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.formie-upload-manager-item{align-items:center;gap:var(--formie-space-2);padding:var(--formie-space-2) var(--formie-space-3);border:var(--formie-border-width) solid var(--formie-color-border-control);border-radius:var(--formie-radius-sm);background:var(--formie-color-surface);grid-template-columns:minmax(0,1fr) minmax(6.5rem,8rem) auto;display:grid}.formie-upload-manager-item.is-error{border-color:var(--formie-color-danger)}.formie-upload-manager-item.is-complete .formie-upload-manager-progress{opacity:0;visibility:hidden;pointer-events:none}.formie-upload-manager-filename{text-overflow:ellipsis;white-space:nowrap;font-size:var(--formie-font-size-sm);overflow:hidden}.formie-upload-manager-progress{justify-content:center;gap:var(--formie-space-1);min-height:var(--formie-button-icon-button-size);opacity:1;visibility:visible;flex-direction:column;align-self:center;transition:opacity .2s,visibility .2s;display:flex}.formie-upload-manager-progress-track{border-radius:var(--formie-radius-full);background:var(--formie-color-surface-muted);height:.375rem;position:relative;overflow:hidden}.formie-upload-manager-progress-bar{border-radius:inherit;background:var(--formie-color-primary);width:0;height:100%;transition:width .18s ease-out,background-color .2s}.formie-upload-manager-item.is-upload-complete .formie-upload-manager-progress-bar{background:var(--formie-color-success,var(--formie-color-primary));width:100%!important}.formie-upload-manager-item.is-uploading:not(.is-upload-complete) .formie-upload-manager-progress-track[data-indeterminate=true] .formie-upload-manager-progress-bar,.formie-upload-manager-item.is-preparing .formie-upload-manager-progress-bar,.formie-upload-manager-item.is-processing .formie-upload-manager-progress-bar{width:35%;animation:1.1s ease-in-out infinite formie-upload-manager-progress-indeterminate}.formie-upload-manager-item.is-processing .formie-upload-manager-progress-bar{opacity:.85}.formie-upload-manager-item.is-processing .formie-upload-manager-progress-label{color:var(--formie-color-text)}@keyframes formie-upload-manager-progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.formie-upload-manager-progress-label{font-size:var(--formie-font-size-xs);color:var(--formie-color-text-muted);text-align:center;white-space:nowrap;line-height:1.2}.formie-upload-manager-item.is-upload-complete .formie-upload-manager-progress-label{color:var(--formie-color-success-dark,var(--formie-color-primary));font-weight:var(--formie-font-weight-medium)}.formie-upload-manager-error{font-size:var(--formie-font-size-xs);color:var(--formie-color-danger);grid-column:1/-1}.formie-upload-manager-browse-button{margin-top:var(--formie-space-1)}.formie-upload-manager-actions{align-items:center;gap:var(--formie-space-2);flex-shrink:0;align-self:center;display:flex}.formie-upload-manager-sort-controls{border-radius:var(--formie-radius-sm);background:0 0;flex-direction:row;align-items:center;gap:.0625rem;padding:0;display:inline-flex}.formie-upload-manager-sort-controls[hidden]{display:none}.formie-upload-manager-sort-button,.formie-upload-manager-action-button{border-radius:var(--formie-radius-sm);width:1.375rem;height:1.375rem;color:var(--formie-color-text-muted);cursor:pointer;text-indent:-9999px;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:0;line-height:0;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex;position:relative;overflow:hidden}.formie-upload-manager-sort-button{width:1.375rem;height:1.375rem}.formie-upload-manager-sort-button:hover:not(:disabled),.formie-upload-manager-action-button:hover{background:var(--formie-color-surface-muted);color:var(--formie-color-text)}.formie-upload-manager-sort-button:focus-visible,.formie-upload-manager-action-button:focus-visible{box-shadow:0 0 0 var(--formie-focus-ring-width) var(--formie-color-focus-ring);outline:0}.formie-upload-manager-sort-button:disabled{opacity:.28;cursor:not-allowed}.formie-upload-manager-sort-button:after,.formie-upload-manager-action-button:after{content:\"\";background-color:currentColor;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.formie-upload-manager-sort-button[data-formie-icon=arrow-up]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-arrow-up)}.formie-upload-manager-sort-button[data-formie-icon=arrow-down]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-arrow-down)}.formie-upload-manager-action-button[data-formie-icon=close]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-close)}.formie-upload-manager-sort-button:after{width:.75rem;height:.75rem;-webkit-mask-image:var(--formie-upload-manager-icon-mask);-webkit-mask-image:var(--formie-upload-manager-icon-mask);mask-image:var(--formie-upload-manager-icon-mask)}.formie-upload-manager-action-button:after{width:.825rem;height:.825rem;-webkit-mask-image:var(--formie-upload-manager-icon-mask);-webkit-mask-image:var(--formie-upload-manager-icon-mask);mask-image:var(--formie-upload-manager-icon-mask)}.formie-upload-manager-remove-button{flex-shrink:0}}", z = "[data-formie-upload-manager-root]", B = "[data-formie-upload-manager]", Ue = "[data-formie-upload-manager-browse]", We = "[data-formie-upload-manager-input]", V = "[data-formie-upload-manager-status]", Ge = "[data-formie-upload-manager-list]", Ke = "[data-formie-upload-manager-sort-controls]", qe = "[data-formie-upload-manager-sort=\"up\"]", Je = "[data-formie-upload-manager-sort=\"down\"]", H = "data-formie-file-upload-anchor", Ye = "data-formie-file-upload-asset-id", Xe = n("reset"), Ze = r("repeater", "init-row"), Qe = "upload-manager", $e = "upload-manager", et = ["uploadManagerRequired", "uploadManagerFileLimit"], tt = 900, nt = 95, rt = 12e4, U = i("fields", "upload-manager");
|
|
2085
2085
|
o(Qe, [He]);
|
|
2086
2086
|
function W(e) {
|
|
2087
2087
|
return !!e && typeof e == "object" && !Array.isArray(e);
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
@import "./theme/fields/_select.css";
|
|
16
16
|
@import "./theme/fields/_combobox.css";
|
|
17
17
|
@import "./theme/fields/_check-radio.css";
|
|
18
|
+
@import "./theme/fields/_survey-presentations.css";
|
|
18
19
|
@import "./theme/fields/_address.css";
|
|
19
20
|
@import "./theme/fields/_address-state.css";
|
|
20
21
|
@import "./theme/integrations/_payment-modal.css";
|
|
@@ -52,6 +52,8 @@
|
|
|
52
52
|
--formie-neutral-200: #e2e8f0;
|
|
53
53
|
--formie-neutral-300: #cbd5e1;
|
|
54
54
|
--formie-neutral-400: #94a3b8;
|
|
55
|
+
/* Lightest slate step that meets ~3:1 non-text contrast on white (WCAG 1.4.11). */
|
|
56
|
+
--formie-neutral-450: #8796ac;
|
|
55
57
|
--formie-neutral-500: #64748b;
|
|
56
58
|
--formie-neutral-600: #475569;
|
|
57
59
|
--formie-neutral-700: #334155;
|
|
@@ -101,16 +103,19 @@
|
|
|
101
103
|
--formie-color-surface-subtle: var(--formie-neutral-50);
|
|
102
104
|
--formie-color-surface-muted: var(--formie-neutral-100);
|
|
103
105
|
--formie-color-text: var(--formie-neutral-700);
|
|
104
|
-
--formie-color-text-muted: var(--formie-neutral-
|
|
106
|
+
--formie-color-text-muted: var(--formie-neutral-600);
|
|
105
107
|
--formie-color-heading: var(--formie-neutral-900);
|
|
108
|
+
/* Structural chrome: tabs, groups, dividers. */
|
|
106
109
|
--formie-color-border: var(--formie-neutral-300);
|
|
110
|
+
/* Interactive controls: inputs, selects, checkboxes. Border-only; use focus ring for interaction contrast. */
|
|
111
|
+
--formie-color-border-control: var(--formie-neutral-400);
|
|
107
112
|
--formie-color-border-soft: var(--formie-neutral-200);
|
|
108
113
|
--formie-color-primary: var(--formie-primary-400);
|
|
109
114
|
--formie-color-primary-hover: var(--formie-primary-500);
|
|
110
115
|
--formie-color-primary-border: var(--formie-primary-500);
|
|
111
116
|
--formie-color-primary-soft: var(--formie-primary-100);
|
|
112
117
|
--formie-color-focus-ring: var(--formie-primary-300);
|
|
113
|
-
--formie-color-danger: var(--formie-danger-
|
|
118
|
+
--formie-color-danger: var(--formie-danger-600);
|
|
114
119
|
--formie-color-danger-soft: var(--formie-danger-50);
|
|
115
120
|
--formie-color-danger-dark: var(--formie-danger-900);
|
|
116
121
|
--formie-color-success: var(--formie-success-500);
|
|
@@ -158,8 +163,8 @@
|
|
|
158
163
|
--formie-button-icon-border-radius: var(--formie-radius-full);
|
|
159
164
|
--formie-button-icon-background: var(--formie-neutral-100);
|
|
160
165
|
--formie-button-icon-background-hover: var(--formie-neutral-200);
|
|
161
|
-
--formie-button-icon-border: var(--formie-border-width) solid var(--formie-
|
|
162
|
-
--formie-button-icon-border-hover: var(--formie-border-width) solid var(--formie-neutral-
|
|
166
|
+
--formie-button-icon-border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
167
|
+
--formie-button-icon-border-hover: var(--formie-border-width) solid var(--formie-neutral-450);
|
|
163
168
|
--formie-button-icon-color: var(--formie-neutral-950);
|
|
164
169
|
--formie-button-opacity-disabled: 0.7;
|
|
165
170
|
--formie-button-shadow-focus: 0 0 0 3px var(--formie-color-border-soft);
|
|
@@ -273,7 +278,7 @@
|
|
|
273
278
|
--formie-signature-width: 100%;
|
|
274
279
|
--formie-signature-height: 8rem;
|
|
275
280
|
--formie-signature-background: var(--formie-color-surface-subtle);
|
|
276
|
-
--formie-signature-border: 1px solid var(--formie-color-border);
|
|
281
|
+
--formie-signature-border: 1px solid var(--formie-color-border-control);
|
|
277
282
|
--formie-signature-border-radius: var(--formie-radius-sm);
|
|
278
283
|
|
|
279
284
|
--formie-signature-remove-button-top: 0;
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
height: var(--formie-check-size);
|
|
52
52
|
content: "";
|
|
53
53
|
cursor: pointer;
|
|
54
|
-
border: var(--formie-border-width) solid var(--formie-color-border);
|
|
54
|
+
border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
55
55
|
background-color: var(--formie-check-label-background-color);
|
|
56
56
|
background-repeat: no-repeat;
|
|
57
57
|
background-position: center center;
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
overflow: hidden;
|
|
33
33
|
z-index: 1;
|
|
34
34
|
width: 100%;
|
|
35
|
-
border: var(--formie-border-width) solid var(--formie-color-border);
|
|
35
|
+
border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
36
36
|
border-radius: var(--formie-radius-sm);
|
|
37
37
|
background-color: var(--formie-color-surface);
|
|
38
38
|
background-image: none;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
margin-inline-end: var(--formie-space-2);
|
|
13
13
|
padding: calc(var(--formie-control-padding-y) - 1px) var(--formie-space-2);
|
|
14
14
|
min-height: calc(var(--formie-control-height) - (var(--formie-space-1) * 2));
|
|
15
|
-
border: var(--formie-border-width) solid var(--formie-color-border);
|
|
15
|
+
border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
16
16
|
border-radius: calc(var(--formie-radius-sm) - 1px);
|
|
17
17
|
background: var(--formie-color-surface-subtle);
|
|
18
18
|
color: var(--formie-color-heading);
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
.formie-file-input:hover::file-selector-button,
|
|
28
28
|
.formie-file-input:hover::-webkit-file-upload-button {
|
|
29
|
-
border-color: color-mix(in srgb, var(--formie-color-border) 70%, var(--formie-color-heading) 30%);
|
|
29
|
+
border-color: color-mix(in srgb, var(--formie-color-border-control) 70%, var(--formie-color-heading) 30%);
|
|
30
30
|
background: var(--formie-color-surface-muted);
|
|
31
31
|
}
|
|
32
32
|
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
.formie-file-summary {
|
|
48
48
|
padding: var(--formie-file-summary-padding);
|
|
49
49
|
gap: var(--formie-gap-file-summary);
|
|
50
|
-
border: var(--formie-border-width) solid var(--formie-color-border);
|
|
50
|
+
border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
51
51
|
border-radius: var(--formie-radius-sm);
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
.formie-input,
|
|
4
4
|
.formie-textarea {
|
|
5
|
-
border: var(--formie-border-width) solid var(--formie-color-border);
|
|
5
|
+
border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
6
6
|
border-radius: var(--formie-radius-sm);
|
|
7
7
|
background: var(--formie-color-surface);
|
|
8
8
|
transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
display: grid;
|
|
10
10
|
gap: var(--formie-space-4);
|
|
11
11
|
padding: var(--formie-space-4);
|
|
12
|
-
border: var(--formie-border-width) solid var(--formie-color-border);
|
|
12
|
+
border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
13
13
|
border-radius: var(--formie-radius-md);
|
|
14
14
|
transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
|
|
15
15
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@layer formie-theme {
|
|
2
2
|
.formie-rich-text {
|
|
3
|
-
border: var(--formie-border-width) solid var(--formie-color-border);
|
|
3
|
+
border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
4
4
|
border-radius: var(--formie-radius-sm);
|
|
5
5
|
background: var(--formie-color-surface);
|
|
6
6
|
box-sizing: border-box;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@layer formie-theme {
|
|
2
2
|
.formie-select {
|
|
3
|
-
border: var(--formie-border-width) solid var(--formie-color-border);
|
|
3
|
+
border: var(--formie-border-width) solid var(--formie-color-border-control);
|
|
4
4
|
border-radius: var(--formie-radius-sm);
|
|
5
5
|
background: var(--formie-color-surface);
|
|
6
6
|
transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
|