@undp/design-system-react
Version:
React based design system for UNDP
1,207 lines (1,206 loc) • 30.9 kB
JavaScript
import { t as e } from "./utils-ca9as9Ye.js";
import { t } from "./chevron-left-B_CGIw-p.js";
import { t as n } from "./chevron-right-De8BUaNW.js";
import { H2 as r, P as i } from "./Typography.js";
import * as a from "react";
import { useCallback as o, useEffect as s, useRef as c, useState as l } from "react";
import { jsx as u, jsxs as d } from "react/jsx-runtime";
//#region node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js
function f(e) {
return Object.prototype.toString.call(e) === "[object Object]";
}
function p(e) {
return f(e) || Array.isArray(e);
}
function m() {
return !!(typeof window < "u" && window.document && window.document.createElement);
}
function h(e, t) {
let n = Object.keys(e), r = Object.keys(t);
return n.length !== r.length || JSON.stringify(Object.keys(e.breakpoints || {})) !== JSON.stringify(Object.keys(t.breakpoints || {})) ? !1 : n.every((n) => {
let r = e[n], i = t[n];
return typeof r == "function" ? `${r}` == `${i}` : !p(r) || !p(i) ? r === i : h(r, i);
});
}
function g(e) {
return e.concat().sort((e, t) => e.name > t.name ? 1 : -1).map((e) => e.options);
}
function _(e, t) {
if (e.length !== t.length) return !1;
let n = g(e), r = g(t);
return n.every((e, t) => {
let n = r[t];
return h(e, n);
});
}
//#endregion
//#region node_modules/embla-carousel/esm/embla-carousel.esm.js
function v(e) {
return typeof e == "number";
}
function y(e) {
return typeof e == "string";
}
function b(e) {
return typeof e == "boolean";
}
function x(e) {
return Object.prototype.toString.call(e) === "[object Object]";
}
function S(e) {
return Math.abs(e);
}
function C(e) {
return Math.sign(e);
}
function w(e, t) {
return S(e - t);
}
function T(e, t) {
return e === 0 || t === 0 || S(e) <= S(t) ? 0 : S(w(S(e), S(t)) / e);
}
function E(e) {
return Math.round(e * 100) / 100;
}
function D(e) {
return M(e).map(Number);
}
function O(e) {
return e[k(e)];
}
function k(e) {
return Math.max(0, e.length - 1);
}
function A(e, t) {
return t === k(e);
}
function j(e, t = 0) {
return Array.from(Array(e), (e, n) => t + n);
}
function M(e) {
return Object.keys(e);
}
function N(e, t) {
return [e, t].reduce((e, t) => (M(t).forEach((n) => {
let r = e[n], i = t[n];
e[n] = x(r) && x(i) ? N(r, i) : i;
}), e), {});
}
function P(e, t) {
return t.MouseEvent !== void 0 && e instanceof t.MouseEvent;
}
function F(e, t) {
let n = {
start: r,
center: i,
end: a
};
function r() {
return 0;
}
function i(e) {
return a(e) / 2;
}
function a(e) {
return t - e;
}
function o(r, i) {
return y(e) ? n[e](r) : e(t, r, i);
}
return { measure: o };
}
function I() {
let e = [];
function t(t, n, i, a = { passive: !0 }) {
let o;
if ("addEventListener" in t) t.addEventListener(n, i, a), o = () => t.removeEventListener(n, i, a);
else {
let e = t;
e.addListener(i), o = () => e.removeListener(i);
}
return e.push(o), r;
}
function n() {
e = e.filter((e) => e());
}
let r = {
add: t,
clear: n
};
return r;
}
function L(e, t, n, r) {
let i = I(), a = 1e3 / 60, o = null, s = 0, c = 0;
function l() {
i.add(e, "visibilitychange", () => {
e.hidden && m();
});
}
function u() {
p(), i.clear();
}
function d(e) {
if (!c) return;
o || (o = e, n(), n());
let i = e - o;
for (o = e, s += i; s >= a;) n(), s -= a;
r(s / a), c &&= t.requestAnimationFrame(d);
}
function f() {
c ||= t.requestAnimationFrame(d);
}
function p() {
t.cancelAnimationFrame(c), o = null, s = 0, c = 0;
}
function m() {
o = null, s = 0;
}
return {
init: l,
destroy: u,
start: f,
stop: p,
update: n,
render: r
};
}
function ee(e, t) {
let n = t === "rtl", r = e === "y", i = r ? "y" : "x", a = r ? "x" : "y", o = !r && n ? -1 : 1, s = u(), c = d();
function l(e) {
let { height: t, width: n } = e;
return r ? t : n;
}
function u() {
return r ? "top" : n ? "right" : "left";
}
function d() {
return r ? "bottom" : n ? "left" : "right";
}
function f(e) {
return e * o;
}
return {
scroll: i,
cross: a,
startEdge: s,
endEdge: c,
measureSize: l,
direction: f
};
}
function R(e = 0, t = 0) {
let n = S(e - t);
function r(t) {
return t < e;
}
function i(e) {
return e > t;
}
function a(e) {
return r(e) || i(e);
}
function o(n) {
return a(n) ? r(n) ? e : t : n;
}
function s(e) {
return n ? e - n * Math.ceil((e - t) / n) : e;
}
return {
length: n,
max: t,
min: e,
constrain: o,
reachedAny: a,
reachedMax: i,
reachedMin: r,
removeOffset: s
};
}
function z(e, t, n) {
let { constrain: r } = R(0, e), i = e + 1, a = o(t);
function o(e) {
return n ? S((i + e) % i) : r(e);
}
function s() {
return a;
}
function c(e) {
return a = o(e), d;
}
function l(e) {
return u().set(s() + e);
}
function u() {
return z(e, s(), n);
}
let d = {
get: s,
set: c,
add: l,
clone: u
};
return d;
}
function B(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v) {
let { cross: y, direction: x } = e, E = [
"INPUT",
"SELECT",
"TEXTAREA"
], D = { passive: !1 }, O = I(), k = I(), A = R(50, 225).constrain(p.measure(20)), j = {
mouse: 300,
touch: 400
}, M = {
mouse: 500,
touch: 600
}, N = m ? 43 : 25, F = !1, L = 0, ee = 0, z = !1, B = !1, V = !1, H = !1;
function te(e) {
if (!v) return;
function n(t) {
(b(v) || v(e, t)) && oe(t);
}
let r = t;
O.add(r, "dragstart", (e) => e.preventDefault(), D).add(r, "touchmove", () => void 0, D).add(r, "touchend", () => void 0).add(r, "touchstart", n).add(r, "mousedown", n).add(r, "touchcancel", W).add(r, "contextmenu", W).add(r, "click", ce, !0);
}
function ne() {
O.clear(), k.clear();
}
function re() {
let e = H ? n : t;
k.add(e, "touchmove", se, D).add(e, "touchend", W).add(e, "mousemove", se, D).add(e, "mouseup", W);
}
function ie(e) {
let t = e.nodeName || "";
return E.includes(t);
}
function U() {
return (m ? M : j)[H ? "mouse" : "touch"];
}
function ae(e, t) {
let n = d.add(C(e) * -1), r = u.byDistance(e, !m).distance;
return m || S(e) < A ? r : g && t ? r * .5 : u.byIndex(n.get(), 0).distance;
}
function oe(e) {
let t = P(e, r);
H = t, V = m && t && !e.buttons && F, F = w(i.get(), o.get()) >= 2, !(t && e.button !== 0) && (ie(e.target) || (z = !0, a.pointerDown(e), l.useFriction(0).useDuration(0), i.set(o), re(), L = a.readPoint(e), ee = a.readPoint(e, y), f.emit("pointerDown")));
}
function se(e) {
if (!P(e, r) && e.touches.length >= 2) return W(e);
let t = a.readPoint(e), n = a.readPoint(e, y), o = w(t, L), c = w(n, ee);
if (!B && !H && (!e.cancelable || (B = o > c, !B))) return W(e);
let u = a.pointerMove(e);
o > h && (V = !0), l.useFriction(.3).useDuration(.75), s.start(), i.add(x(u)), e.preventDefault();
}
function W(e) {
let t = u.byDistance(0, !1).index !== d.get(), n = a.pointerUp(e) * U(), r = ae(x(n), t), i = T(n, r), o = N - 10 * i, s = _ + i / 50;
B = !1, z = !1, k.clear(), l.useDuration(o).useFriction(s), c.distance(r, !m), H = !1, f.emit("pointerUp");
}
function ce(e) {
V &&= (e.stopPropagation(), e.preventDefault(), !1);
}
function le() {
return z;
}
return {
init: te,
destroy: ne,
pointerDown: le
};
}
function V(e, t) {
let n, r;
function i(e) {
return e.timeStamp;
}
function a(n, r) {
let i = `client${(r || e.scroll) === "x" ? "X" : "Y"}`;
return (P(n, t) ? n : n.touches[0])[i];
}
function o(e) {
return n = e, r = e, a(e);
}
function s(e) {
let t = a(e) - a(r), o = i(e) - i(n) > 170;
return r = e, o && (n = e), t;
}
function c(e) {
if (!n || !r) return 0;
let t = a(r) - a(n), o = i(e) - i(n), s = i(e) - i(r) > 170, c = t / o;
return o && !s && S(c) > .1 ? c : 0;
}
return {
pointerDown: o,
pointerMove: s,
pointerUp: c,
readPoint: a
};
}
function H() {
function e(e) {
let { offsetTop: t, offsetLeft: n, offsetWidth: r, offsetHeight: i } = e;
return {
top: t,
right: n + r,
bottom: t + i,
left: n,
width: r,
height: i
};
}
return { measure: e };
}
function te(e) {
function t(t) {
return t / 100 * e;
}
return { measure: t };
}
function ne(e, t, n, r, i, a, o) {
let s = [e].concat(r), c, l, u = [], d = !1;
function f(e) {
return i.measureSize(o.measure(e));
}
function p(i) {
if (!a) return;
l = f(e), u = r.map(f);
function o(n) {
for (let a of n) {
if (d) return;
let n = a.target === e, o = r.indexOf(a.target), s = n ? l : u[o];
if (S(f(n ? e : r[o]) - s) >= .5) {
i.reInit(), t.emit("resize");
break;
}
}
}
c = new ResizeObserver((e) => {
(b(a) || a(i, e)) && o(e);
}), n.requestAnimationFrame(() => {
s.forEach((e) => c.observe(e));
});
}
function m() {
d = !0, c && c.disconnect();
}
return {
init: p,
destroy: m
};
}
function re(e, t, n, r, i, a) {
let o = 0, s = 0, c = i, l = a, u = e.get(), d = 0;
function f() {
let t = r.get() - e.get(), i = !c, a = 0;
return i ? (o = 0, n.set(r), e.set(r), a = t) : (n.set(e), o += t / c, o *= l, u += o, e.add(o), a = u - d), s = C(a), d = u, x;
}
function p() {
return S(r.get() - t.get()) < .001;
}
function m() {
return c;
}
function h() {
return s;
}
function g() {
return o;
}
function _() {
return y(i);
}
function v() {
return b(a);
}
function y(e) {
return c = e, x;
}
function b(e) {
return l = e, x;
}
let x = {
direction: h,
duration: m,
velocity: g,
seek: f,
settled: p,
useBaseFriction: v,
useBaseDuration: _,
useFriction: b,
useDuration: y
};
return x;
}
function ie(e, t, n, r, i) {
let a = i.measure(10), o = i.measure(50), s = R(.1, .99), c = !1;
function l() {
return !(c || !e.reachedAny(n.get()) || !e.reachedAny(t.get()));
}
function u(i) {
if (!l()) return;
let c = S(e[e.reachedMin(t.get()) ? "min" : "max"] - t.get()), u = n.get() - t.get(), d = s.constrain(c / o);
n.subtract(u * d), !i && S(u) < a && (n.set(e.constrain(n.get())), r.useDuration(25).useBaseFriction());
}
function d(e) {
c = !e;
}
return {
shouldConstrain: l,
constrain: u,
toggleActive: d
};
}
function U(e, t, n, r, i) {
let a = R(-t + e, 0), o = d(), s = u(), c = f();
function l(e, t) {
return w(e, t) <= 1;
}
function u() {
let e = o[0], t = O(o);
return R(o.lastIndexOf(e), o.indexOf(t) + 1);
}
function d() {
return n.map((e, t) => {
let { min: r, max: i } = a, o = a.constrain(e), s = !t, c = A(n, t);
return s ? i : c || l(r, o) ? r : l(i, o) ? i : o;
}).map((e) => parseFloat(e.toFixed(3)));
}
function f() {
if (t <= e + i) return [a.max];
if (r === "keepSnaps") return o;
let { min: n, max: c } = s;
return o.slice(n, c);
}
return {
snapsContained: c,
scrollContainLimit: s
};
}
function ae(e, t, n) {
let r = t[0];
return { limit: R(n ? r - e : O(t), r) };
}
function oe(e, t, n, r) {
let i = .1, { reachedMin: a, reachedMax: o } = R(t.min + i, t.max + i);
function s(e) {
return e === 1 ? o(n.get()) : e === -1 && a(n.get());
}
function c(t) {
if (!s(t)) return;
let n = t * -1 * e;
r.forEach((e) => e.add(n));
}
return { loop: c };
}
function se(e) {
let { max: t, length: n } = e;
function r(e) {
let r = e - t;
return n ? r / -n : 0;
}
return { get: r };
}
function W(e, t, n, r, i) {
let { startEdge: a, endEdge: o } = e, { groupSlides: s } = i, c = d().map(t.measure), l = f(), u = p();
function d() {
return s(r).map((e) => O(e)[o] - e[0][a]).map(S);
}
function f() {
return r.map((e) => n[a] - e[a]).map((e) => -S(e));
}
function p() {
return s(l).map((e) => e[0]).map((e, t) => e + c[t]);
}
return {
snaps: l,
snapsAligned: u
};
}
function ce(e, t, n, r, i, a) {
let { groupSlides: o } = i, { min: s, max: c } = r, l = u();
function u() {
let r = o(a), i = !e || t === "keepSnaps";
return n.length === 1 ? [a] : i ? r : r.slice(s, c).map((e, t, n) => {
let r = !t, i = A(n, t);
return r ? j(O(n[0]) + 1) : i ? j(k(a) - O(n)[0] + 1, O(n)[0]) : e;
});
}
return { slideRegistry: l };
}
function le(e, t, n, r, i) {
let { reachedAny: a, removeOffset: o, constrain: s } = r;
function c(e) {
return e.concat().sort((e, t) => S(e) - S(t))[0];
}
function l(n) {
let r = e ? o(n) : s(n), { index: i } = t.map((e, t) => ({
diff: u(e - r, 0),
index: t
})).sort((e, t) => S(e.diff) - S(t.diff))[0];
return {
index: i,
distance: r
};
}
function u(t, r) {
let i = [
t,
t + n,
t - n
];
if (!e) return t;
if (!r) return c(i);
let a = i.filter((e) => C(e) === r);
return a.length ? c(a) : O(i) - n;
}
function d(e, n) {
return {
index: e,
distance: u(t[e] - i.get(), n)
};
}
function f(n, r) {
let o = i.get() + n, { index: s, distance: c } = l(o), d = !e && a(o);
return !r || d ? {
index: s,
distance: n
} : {
index: s,
distance: n + u(t[s] - c, 0)
};
}
return {
byDistance: f,
byIndex: d,
shortcut: u
};
}
function ue(e, t, n, r, i, a, o) {
function s(i) {
let s = i.distance, c = i.index !== t.get();
a.add(s), s && (r.duration() ? e.start() : (e.update(), e.render(1), e.update())), c && (n.set(t.get()), t.set(i.index), o.emit("select"));
}
function c(e, t) {
s(i.byDistance(e, t));
}
function l(e, n) {
let r = t.clone().set(e);
s(i.byIndex(r.get(), n));
}
return {
distance: c,
index: l
};
}
function de(e, t, n, r, i, a, o, s) {
let c = {
passive: !0,
capture: !0
}, l = 0;
function u(u) {
if (!s) return;
function f(t) {
if ((/* @__PURE__ */ new Date()).getTime() - l > 10) return;
o.emit("slideFocusStart"), e.scrollLeft = 0;
let a = n.findIndex((e) => e.includes(t));
v(a) && (i.useDuration(0), r.index(a, 0), o.emit("slideFocus"));
}
a.add(document, "keydown", d, !1), t.forEach((e, t) => {
a.add(e, "focus", (e) => {
(b(s) || s(u, e)) && f(t);
}, c);
});
}
function d(e) {
e.code === "Tab" && (l = (/* @__PURE__ */ new Date()).getTime());
}
return { init: u };
}
function G(e) {
let t = e;
function n() {
return t;
}
function r(e) {
t = o(e);
}
function i(e) {
t += o(e);
}
function a(e) {
t -= o(e);
}
function o(e) {
return v(e) ? e : e.get();
}
return {
get: n,
set: r,
add: i,
subtract: a
};
}
function fe(e, t) {
let n = e.scroll === "x" ? o : s, r = t.style, i = null, a = !1;
function o(e) {
return `translate3d(${e}px,0px,0px)`;
}
function s(e) {
return `translate3d(0px,${e}px,0px)`;
}
function c(t) {
if (a) return;
let o = E(e.direction(t));
o !== i && (r.transform = n(o), i = o);
}
function l(e) {
a = !e;
}
function u() {
a || (r.transform = "", t.getAttribute("style") || t.removeAttribute("style"));
}
return {
clear: u,
to: c,
toggleActive: l
};
}
function pe(e, t, n, r, i, a, o, s, c) {
let l = .5, u = D(i), d = D(i).reverse(), f = _().concat(v());
function p(e, t) {
return e.reduce((e, t) => e - i[t], t);
}
function m(e, t) {
return e.reduce((e, n) => p(e, t) > 0 ? e.concat([n]) : e, []);
}
function h(e) {
return a.map((n, i) => ({
start: n - r[i] + l + e,
end: n + t - l + e
}));
}
function g(t, r, i) {
let a = h(r);
return t.map((t) => {
let r = i ? 0 : -n, o = i ? n : 0, l = i ? "end" : "start", u = a[t][l];
return {
index: t,
loopPoint: u,
slideLocation: G(-1),
translate: fe(e, c[t]),
target: () => s.get() > u ? r : o
};
});
}
function _() {
let e = o[0];
return g(m(d, e), n, !1);
}
function v() {
let e = t - o[0] - 1;
return g(m(u, e), -n, !0);
}
function y() {
return f.every(({ index: e }) => p(u.filter((t) => t !== e), t) <= .1);
}
function b() {
f.forEach((e) => {
let { target: t, translate: n, slideLocation: r } = e, i = t();
i !== r.get() && (n.to(i), r.set(i));
});
}
function x() {
f.forEach((e) => e.translate.clear());
}
return {
canLoop: y,
clear: x,
loop: b,
loopPoints: f
};
}
function me(e, t, n) {
let r, i = !1;
function a(a) {
if (!n) return;
function o(e) {
for (let n of e) if (n.type === "childList") {
a.reInit(), t.emit("slidesChanged");
break;
}
}
r = new MutationObserver((e) => {
i || (b(n) || n(a, e)) && o(e);
}), r.observe(e, { childList: !0 });
}
function o() {
r && r.disconnect(), i = !0;
}
return {
init: a,
destroy: o
};
}
function he(e, t, n, r) {
let i = {}, a = null, o = null, s, c = !1;
function l() {
s = new IntersectionObserver((e) => {
c || (e.forEach((e) => {
let n = t.indexOf(e.target);
i[n] = e;
}), a = null, o = null, n.emit("slidesInView"));
}, {
root: e.parentElement,
threshold: r
}), t.forEach((e) => s.observe(e));
}
function u() {
s && s.disconnect(), c = !0;
}
function d(e) {
return M(i).reduce((t, n) => {
let r = parseInt(n), { isIntersecting: a } = i[r];
return (e && a || !e && !a) && t.push(r), t;
}, []);
}
function f(e = !0) {
if (e && a) return a;
if (!e && o) return o;
let t = d(e);
return e && (a = t), e || (o = t), t;
}
return {
init: l,
destroy: u,
get: f
};
}
function ge(e, t, n, r, i, a) {
let { measureSize: o, startEdge: s, endEdge: c } = e, l = n[0] && i, u = m(), d = h(), f = n.map(o), p = g();
function m() {
if (!l) return 0;
let e = n[0];
return S(t[s] - e[s]);
}
function h() {
if (!l) return 0;
let e = a.getComputedStyle(O(r));
return parseFloat(e.getPropertyValue(`margin-${c}`));
}
function g() {
return n.map((e, t, n) => {
let r = !t, i = A(n, t);
return r ? f[t] + u : i ? f[t] + d : n[t + 1][s] - e[s];
}).map(S);
}
return {
slideSizes: f,
slideSizesWithGaps: p,
startGap: u,
endGap: d
};
}
function _e(e, t, n, r, i, a, o, s, c) {
let { startEdge: l, endEdge: u, direction: d } = e, f = v(n);
function p(e, t) {
return D(e).filter((e) => e % t === 0).map((n) => e.slice(n, n + t));
}
function m(e) {
return e.length ? D(e).reduce((n, f, p) => {
let m = O(n) || 0, h = m === 0, g = f === k(e), _ = i[l] - a[m][l], v = i[l] - a[f][u], y = !r && h ? d(o) : 0, b = S(v - (!r && g ? d(s) : 0) - (_ + y));
return p && b > t + c && n.push(f), g && n.push(e.length), n;
}, []).map((t, n, r) => {
let i = Math.max(r[n - 1] || 0);
return e.slice(i, t);
}) : [];
}
function h(e) {
return f ? p(e, n) : m(e);
}
return { groupSlides: h };
}
function ve(e, t, n, r, i, a, o) {
let { align: s, axis: c, direction: l, startIndex: u, loop: d, duration: f, dragFree: p, dragThreshold: m, inViewThreshold: h, slidesToScroll: g, skipSnaps: _, containScroll: v, watchResize: y, watchSlides: b, watchDrag: x, watchFocus: S } = a, C = H(), w = C.measure(t), T = n.map(C.measure), E = ee(c, l), A = E.measureSize(w), j = te(A), M = F(s, A), N = !d && !!v, { slideSizes: P, slideSizesWithGaps: R, startGap: ve, endGap: ye } = ge(E, w, T, n, d || !!v, i), be = _e(E, A, g, d, w, T, ve, ye, 2), { snaps: xe, snapsAligned: Se } = W(E, M, w, T, be), K = -O(xe) + O(R), { snapsContained: Ce, scrollContainLimit: we } = U(A, K, Se, v, 2), q = N ? Ce : Se, { limit: J } = ae(K, q, d), Y = z(k(q), u, d), Te = Y.clone(), Ee = D(n), De = ({ dragHandler: e, scrollBody: t, scrollBounds: n, options: { loop: r } }) => {
r || n.constrain(e.pointerDown()), t.seek();
}, Oe = ({ scrollBody: e, translate: t, location: n, offsetLocation: r, previousLocation: i, scrollLooper: a, slideLooper: o, dragHandler: s, animation: c, eventHandler: l, scrollBounds: u, options: { loop: d } }, f) => {
let p = e.settled(), m = !u.shouldConstrain(), h = d ? p : p && m, g = h && !s.pointerDown();
g && c.stop();
let _ = n.get() * f + i.get() * (1 - f);
r.set(_), d && (a.loop(e.direction()), o.loop()), t.to(r.get()), g && l.emit("settle"), h || l.emit("scroll");
}, ke = L(r, i, () => De(Be), (e) => Oe(Be, e)), Ae = .68, X = q[Y.get()], je = G(X), Me = G(X), Z = G(X), Q = G(X), $ = re(je, Z, Me, Q, f, Ae), Ne = le(d, q, K, J, Q), Pe = ue(ke, Y, Te, $, Ne, Q, o), Fe = se(J), Ie = I(), Le = he(t, n, o, h), { slideRegistry: Re } = ce(N, v, q, we, be, Ee), ze = de(e, n, Re, Pe, $, Ie, o, S), Be = {
ownerDocument: r,
ownerWindow: i,
eventHandler: o,
containerRect: w,
slideRects: T,
animation: ke,
axis: E,
dragHandler: B(E, e, r, i, Q, V(E, i), je, ke, Pe, $, Ne, Y, o, j, p, m, _, Ae, x),
eventStore: Ie,
percentOfView: j,
index: Y,
indexPrevious: Te,
limit: J,
location: je,
offsetLocation: Z,
previousLocation: Me,
options: a,
resizeHandler: ne(t, o, i, n, E, y, C),
scrollBody: $,
scrollBounds: ie(J, Z, Q, $, j),
scrollLooper: oe(K, J, Z, [
je,
Z,
Me,
Q
]),
scrollProgress: Fe,
scrollSnapList: q.map(Fe.get),
scrollSnaps: q,
scrollTarget: Ne,
scrollTo: Pe,
slideLooper: pe(E, A, K, P, R, xe, q, Z, n),
slideFocus: ze,
slidesHandler: me(t, o, b),
slidesInView: Le,
slideIndexes: Ee,
slideRegistry: Re,
slidesToScroll: be,
target: Q,
translate: fe(E, t)
};
return Be;
}
function ye() {
let e = {}, t;
function n(e) {
t = e;
}
function r(t) {
return e[t] || [];
}
function i(e) {
return r(e).forEach((n) => n(t, e)), c;
}
function a(t, n) {
return e[t] = r(t).concat([n]), c;
}
function o(t, n) {
return e[t] = r(t).filter((e) => e !== n), c;
}
function s() {
e = {};
}
let c = {
init: n,
emit: i,
off: o,
on: a,
clear: s
};
return c;
}
var be = {
align: "center",
axis: "x",
container: null,
slides: null,
containScroll: "trimSnaps",
direction: "ltr",
slidesToScroll: 1,
inViewThreshold: 0,
breakpoints: {},
dragFree: !1,
dragThreshold: 10,
loop: !1,
skipSnaps: !1,
duration: 25,
startIndex: 0,
active: !0,
watchDrag: !0,
watchResize: !0,
watchSlides: !0,
watchFocus: !0
};
function xe(e) {
function t(e, t) {
return N(e, t || {});
}
function n(n) {
let r = n.breakpoints || {};
return t(n, M(r).filter((t) => e.matchMedia(t).matches).map((e) => r[e]).reduce((e, n) => t(e, n), {}));
}
function r(t) {
return t.map((e) => M(e.breakpoints || {})).reduce((e, t) => e.concat(t), []).map(e.matchMedia);
}
return {
mergeOptions: t,
optionsAtMedia: n,
optionsMediaQueries: r
};
}
function Se(e) {
let t = [];
function n(n, r) {
return t = r.filter(({ options: t }) => e.optionsAtMedia(t).active !== !1), t.forEach((t) => t.init(n, e)), r.reduce((e, t) => Object.assign(e, { [t.name]: t }), {});
}
function r() {
t = t.filter((e) => e.destroy());
}
return {
init: n,
destroy: r
};
}
function K(e, t, n) {
let r = e.ownerDocument, i = r.defaultView, a = xe(i), o = Se(a), s = I(), c = ye(), { mergeOptions: l, optionsAtMedia: u, optionsMediaQueries: d } = a, { on: f, off: p, emit: m } = c, h = O, g = !1, _, v = l(be, K.globalOptions), b = l(v), x = [], S, C, w;
function T() {
let { container: t, slides: n } = b;
C = (y(t) ? e.querySelector(t) : t) || e.children[0];
let r = y(n) ? C.querySelectorAll(n) : n;
w = [].slice.call(r || C.children);
}
function E(t) {
let n = ve(e, C, w, r, i, t, c);
return t.loop && !n.slideLooper.canLoop() ? E(Object.assign({}, t, { loop: !1 })) : n;
}
function D(e, t) {
g || (v = l(v, e), b = u(v), x = t || x, T(), _ = E(b), d([v, ...x.map(({ options: e }) => e)]).forEach((e) => s.add(e, "change", O)), b.active && (_.translate.to(_.location.get()), _.animation.init(), _.slidesInView.init(), _.slideFocus.init(U), _.eventHandler.init(U), _.resizeHandler.init(U), _.slidesHandler.init(U), _.options.loop && _.slideLooper.loop(), C.offsetParent && w.length && _.dragHandler.init(U), S = o.init(U, x)));
}
function O(e, t) {
let n = R();
k(), D(l({ startIndex: n }, e), t), c.emit("reInit");
}
function k() {
_.dragHandler.destroy(), _.eventStore.clear(), _.translate.clear(), _.slideLooper.clear(), _.resizeHandler.destroy(), _.slidesHandler.destroy(), _.slidesInView.destroy(), _.animation.destroy(), o.destroy(), s.clear();
}
function A() {
g || (g = !0, s.clear(), k(), c.emit("destroy"), c.clear());
}
function j(e, t, n) {
!b.active || g || (_.scrollBody.useBaseFriction().useDuration(t === !0 ? 0 : b.duration), _.scrollTo.index(e, n || 0));
}
function M(e) {
j(_.index.add(1).get(), e, -1);
}
function N(e) {
j(_.index.add(-1).get(), e, 1);
}
function P() {
return _.index.add(1).get() !== R();
}
function F() {
return _.index.add(-1).get() !== R();
}
function L() {
return _.scrollSnapList;
}
function ee() {
return _.scrollProgress.get(_.offsetLocation.get());
}
function R() {
return _.index.get();
}
function z() {
return _.indexPrevious.get();
}
function B() {
return _.slidesInView.get();
}
function V() {
return _.slidesInView.get(!1);
}
function H() {
return S;
}
function te() {
return _;
}
function ne() {
return e;
}
function re() {
return C;
}
function ie() {
return w;
}
let U = {
canScrollNext: P,
canScrollPrev: F,
containerNode: re,
internalEngine: te,
destroy: A,
off: p,
on: f,
emit: m,
plugins: H,
previousScrollSnap: z,
reInit: h,
rootNode: ne,
scrollNext: M,
scrollPrev: N,
scrollProgress: ee,
scrollSnapList: L,
scrollTo: j,
selectedScrollSnap: R,
slideNodes: ie,
slidesInView: B,
slidesNotInView: V
};
return D(t, n), setTimeout(() => c.emit("init"), 0), U;
}
K.globalOptions = void 0;
//#endregion
//#region node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js
function Ce(e = {}, t = []) {
let n = c(e), r = c(t), [i, a] = l(), [u, d] = l(), f = o(() => {
i && i.reInit(n.current, r.current);
}, [i]);
return s(() => {
h(n.current, e) || (n.current = e, f());
}, [e, f]), s(() => {
_(r.current, t) || (r.current = t, f());
}, [t, f]), s(() => {
if (m() && u) {
K.globalOptions = Ce.globalOptions;
let e = K(u, n.current, r.current);
return a(e), () => e.destroy();
} else a(void 0);
}, [u, a]), [d, i];
}
Ce.globalOptions = void 0;
//#endregion
//#region src/components/ui/feature-showcase.tsx
var we = a.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ u("div", {
ref: r,
className: e("@container flex w-full flex-wrap items-stretch gap-0 bg-surface", t),
...n
})), q = a.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ u("div", {
ref: r,
className: e("@5xl:mx-[8.3333%] mx-0 box-border flex @5xl:w-[33.3334%] w-full flex-col justify-center @5xl:p-8 p-6", t),
...n
}));
q.displayName = "FeatureShowcaseIntro";
var J = a.forwardRef(({ className: t, ...n }, i) => /* @__PURE__ */ u(r, {
ref: i,
className: e("text-left text-content-primary rtl:text-right", t),
...n
}));
J.displayName = "FeatureShowcaseIntroTitle";
var Y = a.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ u(i, {
ref: r,
className: e("text-left text-content-primary rtl:text-right", t),
...n
}));
Y.displayName = "FeatureShowcaseIntroBody";
function Te(r) {
let { showTabs: a = !0, sections: o, className: c } = r, [f, p] = Ce({ loop: !1 }), m = () => p?.scrollPrev(), h = () => p?.scrollNext(), g = o.flatMap((e) => e.items.map((t, n) => ({
...t,
index: n + 1,
section: e.section,
total: e.items.length
}))), [_, v] = l(!1), [y, b] = l(!1), [x, S] = l(0);
return s(() => {
if (!p) return;
let e = () => {
v(p.canScrollPrev()), b(p.canScrollNext()), S(p.selectedScrollSnap());
};
return e(), p.on("select", e), p.on("reInit", e), () => {
p.off("select", e), p.off("reInit", e);
};
}, [p]), /* @__PURE__ */ u("div", {
className: e("flex @5xl:w-1/2 w-full flex-col gap-0", c),
children: /* @__PURE__ */ u("div", {
className: "mx-auto w-full",
children: /* @__PURE__ */ d("div", {
className: "relative overflow-hidden",
ref: f,
children: [
/* @__PURE__ */ u("div", {
className: "flex",
children: g.map((e) => /* @__PURE__ */ u("div", {
className: "min-w-0 flex-[0_0_100%] border-b-16",
style: { borderColor: e.stripColor || "var(--blue-600)" },
children: /* @__PURE__ */ d("div", {
className: "flex h-full flex-col",
children: [/* @__PURE__ */ u("div", {
className: "h-[40vh] w-full overflow-hidden",
children: /* @__PURE__ */ u("img", {
alt: "card header",
src: e.headerImage,
className: "h-full w-full object-cover object-center"
})
}), /* @__PURE__ */ u("div", {
className: `box-border w-full grow bg-white @5xl:px-10 px-4 pb-24 ${a ? "pt-24" : "pt-10"}`,
children: /* @__PURE__ */ u("div", {
className: "@5xl:w-3/4 w-full",
children: e.content
})
})]
})
}, `${e.section}_${e.index}`))
}),
a && /* @__PURE__ */ d("div", {
className: "absolute top-[40vh] box-border flex w-full justify-between gap-2 @5xl:px-10 px-4 pt-10",
children: [/* @__PURE__ */ u("div", {
className: "mb-2 flex items-center gap-4 border-stroke border-b-2",
children: o.map((e) => /* @__PURE__ */ u("button", {
type: "button",
className: `shrink-0 border-b-2 bg-transparent font-body uppercase ${g[x].section === e.section ? "border-primary" : "border-stroke"} -mb-0.5 font-base font-bold`,
onClick: () => p?.scrollTo(g.findIndex((t) => t.section === e.section)),
children: e.section
}, e.section))
}), /* @__PURE__ */ u("div", {
className: "@5xl:inline hidden",
children: /* @__PURE__ */ d(i, {
marginBottom: "none",
size: "base",
className: "-mb-0.5 bg-transparent font-body font-bold uppercase",
children: [
g[x].index,
"/",
g[x].total
]
})
})]
}),
/* @__PURE__ */ d("div", {
className: "absolute @5xl:right-4 bottom-10 @5xl:left-auto left-4 flex @5xl:w-auto w-[calc(100%-32px)] items-center justify-between",
children: [/* @__PURE__ */ d("div", {
className: "flex gap-1",
children: [/* @__PURE__ */ u("button", {
type: "button",
"aria-label": "Go to next page",
onClick: m,
disabled: !_,
className: "rounded-full bg-foreground-soft p-2 text-content-reverse disabled:opacity-disabled rtl:scale-x-[-1]",
children: /* @__PURE__ */ u(t, { className: "h-6 w-6" })
}), /* @__PURE__ */ u("button", {
type: "button",
onClick: h,
"aria-label": "Go to next page",
disabled: !y,
className: "rounded-full bg-foreground-soft p-2 text-content-reverse disabled:opacity-disabled rtl:scale-x-[-1]",
children: /* @__PURE__ */ u(n, { className: "h-6 w-6" })
})]
}), /* @__PURE__ */ u("div", {
className: "inline @5xl:hidden",
children: /* @__PURE__ */ d(i, {
marginBottom: "none",
size: "base",
className: "-mb-0.5 bg-transparent font-body font-bold uppercase",
children: [
g[x].index,
"/",
g[x].total
]
})
})]
})
]
})
})
});
}
//#endregion
export { J as a, Y as i, Te as n, q as r, we as t };
//# sourceMappingURL=feature-showcase-DcIXLjEo.js.map