1(() => { 2 const SHAPES = { 3 circle: /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("circle", { cx: "50", cy: "50", r: "44" })), 4 triangle: /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("polygon", { points: "50,8 92,84 8,84" })), 5 square: /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("path", { d: "M 12 12 L 88 12 L 88 88 L 12 88 Z" })), 6 hex: /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("polygon", { points: "50,6 90,28 90,72 50,94 10,72 10,28" })), 7 ring: /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("circle", { cx: "50", cy: "50", r: "44" }), /* @__PURE__ */ React.createElement("circle", { cx: "50", cy: "50", r: "28" })), 8 cross: /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("path", { d: "M 50 10 L 50 90 M 10 50 L 90 50", strokeLinecap: "round" })), 9 wave: /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("path", { d: "M 5 50 Q 25 20, 50 50 T 95 50" })), 10 diamond: /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("polygon", { points: "50,8 92,50 50,92 8,50" })) 11 }; 12 const VARIANTS = { 13 default: ["ring", "triangle", "hex", "square", "circle"], 14 geometric: ["hex", "diamond", "triangle", "cross", "ring"], 15 organic: ["wave", "circle", "ring", "wave", "circle"], 16 minimal: ["circle", "ring", "cross"] 17 }; 18 function AliveBackground({ variant = "default" }) { 19 const shapes = VARIANTS[variant] || VARIANTS.default; 20 return /* @__PURE__ */ React.createElement("div", { className: "alive", "aria-hidden": "true" }, shapes.map((name, i) => /* @__PURE__ */ React.createElement("div", { className: `alive__shape alive__shape--${i + 1}`, key: i }, SHAPES[name]))); 21 } 22 function SectionWave({ flip = false, color = "var(--white)" }) { 23 return /* @__PURE__ */ React.createElement("div", { className: "section-wave " + (flip ? "section-wave--top" : ""), "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 1440 80", preserveAspectRatio: "none" }, /* @__PURE__ */ React.createElement( 24 "path", 25 { 26 d: "M 0 40 C 240 10, 480 70, 720 40 S 1200 10, 1440 40 L 1440 80 L 0 80 Z M 1440 40 C 1680 10, 1920 70, 2160 40 S 2640 10, 2880 40 L 2880 80 L 1440 80 Z", 27 fill: color, 28 opacity: "0.6" 29 } 30 ))); 31 } 32 function ScrollRail({ children, trackClass = "", loop = false, step = 320, copies = 3 }) { 33 const ref = React.useRef(null); 34 const base = React.Children.toArray(children); 35 const perCopy = base.length; 36 const items = loop ? Array.from({ length: copies }).flatMap((_, k) => base.map((ch, j) => React.cloneElement(ch, { key: k + "-" + j }))) : base; 37 React.useEffect(() => { 38 if (!loop) return; 39 const el = ref.current; 40 if (!el) return; 41 const period = () => { 42 const kids = el.children; 43 return kids.length > perCopy ? kids[perCopy].offsetLeft - kids[0].offsetLeft : 0; 44 }; 45 const recenter = () => { 46 const p = period(); 47 if (!p) return; 48 if (el.scrollLeft < p) el.scrollLeft += p; 49 else if (el.scrollLeft >= 2 * p) el.scrollLeft -= p; 50 }; 51 const startId = requestAnimationFrame(() => { 52 const p = period(); 53 if (p) el.scrollLeft = p; 54 }); 55 let settle = 0; 56 const onScroll = () => { 57 clearTimeout(settle); 58 settle = setTimeout(recenter, 130); 59 }; 60 el.addEventListener("scroll", onScroll, { passive: true }); 61 window.addEventListener("resize", recenter); 62 el._railPeriod = period; 63 return () => { 64 cancelAnimationFrame(startId); 65 clearTimeout(settle); 66 el.removeEventListener("scroll", onScroll); 67 window.removeEventListener("resize", recenter); 68 }; 69 }, [loop, perCopy, copies]); 70 function scroll(dir) { 71 const el = ref.current; 72 if (!el) return; 73 if (loop && el._railPeriod) { 74 const p = el._railPeriod(); 75 if (p) { 76 if (dir > 0 && el.scrollLeft + step >= 2 * p) el.scrollLeft -= p; 77 else if (dir < 0 && el.scrollLeft - step < p) el.scrollLeft += p; 78 } 79 } 80 el.scrollBy({ left: dir * step, behavior: "smooth" }); 81 } 82 return /* @__PURE__ */ React.createElement("div", { className: "srail" }
82, /* @__PURE__ */ React.createElement("button", { type: "button", className: "srail__arrow srail__arrow--prev", onClick: () => scroll(-1), "aria-label": window.__EA_LANG === "en" ? "Back" : window.__EA_LANG === "kg" ? "\u0410\u0440\u0442\u043A\u0430" : "\u041D\u0430\u0437\u0430\u0434" }, /* @__PURE__ */ React.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React.createElement("polyline", { points: "15 18 9 12 15 6" }))), /* @__PURE__ */ React.createElement("div", { className: "srail__track " + trackClass, ref }, items), /* @__PURE__ */ React.createElement("button", { type: "button", className: "srail__arrow srail__arrow--next", onClick: () => scroll(1), "aria-label": window.__EA_LANG === "en" ? "Next" : window.__EA_LANG === "kg" ? "\u0410\u043B\u0434\u044B\u0433\u0430" : "\u0412\u043F\u0435\u0440\u0451\u0434" }, /* @__PURE__ */ React.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React.createElement("polyline", { points: "9 18 15 12 9 6" })))); 83 } 84 window.AliveBackground = AliveBackground; 85 window.SectionWave = SectionWave; 86 window.ScrollRail = ScrollRail; 87})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.