/* Chiketto — React-owned Lucide icon. Renders an <svg> inside a React-managed
   <span> via innerHTML, so it updates on prop change and never mutates React's
   DOM tree (avoids the lucide createIcons + React reconciliation crash). */
(function () {
  function pascal(name) {
    return String(name).split("-").map(function (s) { return s.charAt(0).toUpperCase() + s.slice(1); }).join("");
  }
  function nodeFor(name) {
    var L = window.lucide; if (!L) return null;
    var icons = L.icons || L;
    return icons[pascal(name)] || icons[name] || null;
  }
  var cache = {};
  function svgString(name, size, stroke) {
    var key = name + "|" + size + "|" + stroke;
    if (cache[key]) return cache[key];
    var node = nodeFor(name);
    if (!node || !Array.isArray(node)) return "";
    // Lucide ships either a bare child array or a full IconNode ["svg", attrs, children].
    var kids = (node.length === 3 && node[0] === "svg" && Array.isArray(node[2])) ? node[2] : node;
    if (!Array.isArray(kids)) return "";
    var children = kids.map(function (ch) {
      if (!Array.isArray(ch) || typeof ch[0] !== "string") return "";
      var tag = ch[0], attrs = (ch[1] && typeof ch[1] === "object") ? ch[1] : {};
      var a = Object.keys(attrs).map(function (k) { return k + '="' + String(attrs[k]).replace(/"/g, "&quot;") + '"'; }).join(" ");
      return "<" + tag + (a ? " " + a : "") + "></" + tag + ">";
    }).join("");
    var svg = '<svg xmlns="http://www.w3.org/2000/svg" width="' + size + '" height="' + size +
      '" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="' + stroke +
      '" stroke-linecap="round" stroke-linejoin="round">' + children + "</svg>";
    cache[key] = svg;
    return svg;
  }
  function CkIcon(props) {
    var name = props.name != null ? props.name : props.n;
    var size = props.size != null ? props.size : (props.s != null ? props.s : 20);
    var color = props.color != null ? props.color : props.c;
    var stroke = props.stroke != null ? props.stroke : (props.sw != null ? props.sw : 2);
    var style = Object.assign({ display: "inline-flex", alignItems: "center", justifyContent: "center", width: size, height: size, color: color, flexShrink: 0, lineHeight: 0 }, props.style || {});
    return React.createElement("span", { style: style, "aria-hidden": "true", dangerouslySetInnerHTML: { __html: svgString(name, size, stroke) } });
  }
  window.CkIcon = CkIcon;
})();
