UNPKG

@undp/design-system-react

Version:

React based design system for UNDP

1,207 lines (1,206 loc) 30.9 kB
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