import {
  require_node
} from "/build/_shared/chunk-G7CHZRZX.js";
import {
  Card
} from "/build/_shared/chunk-QMPAUNNA.js";
import {
  Button
} from "/build/_shared/chunk-OGUYUMUT.js";
import {
  require_jsx_dev_runtime
} from "/build/_shared/chunk-XGOTYLZ5.js";
import {
  useLoaderData,
  useSearchParams
} from "/build/_shared/chunk-RG2SZ2V3.js";
import {
  createHotContext
} from "/build/_shared/chunk-73ZPIOGA.js";
import "/build/_shared/chunk-UWV35TSL.js";
import "/build/_shared/chunk-U4FRFQSK.js";
import "/build/_shared/chunk-7M6SC7J5.js";
import {
  __toESM
} from "/build/_shared/chunk-PNG5AS42.js";

// app/routes/rules._index.tsx
var import_node = __toESM(require_node(), 1);

// app/components/ui/Tag.tsx
var import_jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
if (!window.$RefreshReg$ || !window.$RefreshSig$ || !window.$RefreshRuntime$) {
  console.warn("remix:hmr: React Fast Refresh only works when the Remix compiler is running in development mode.");
} else {
  prevRefreshReg = window.$RefreshReg$;
  prevRefreshSig = window.$RefreshSig$;
  window.$RefreshReg$ = (type, id) => {
    window.$RefreshRuntime$.register(type, '"app\\\\components\\\\ui\\\\Tag.tsx"' + id);
  };
  window.$RefreshSig$ = window.$RefreshRuntime$.createSignatureFunctionForTransform;
}
var prevRefreshReg;
var prevRefreshSig;
if (import.meta) {
  import.meta.hot = createHotContext(
    //@ts-expect-error
    "app\\components\\ui\\Tag.tsx"
  );
  import.meta.hot.lastModified = "1742897479114.837";
}
function Tag({
  children,
  color = "default",
  closable = false,
  onClose,
  className = ""
}) {
  const baseClasses = "ant-tag";
  const colorClasses = {
    default: "",
    blue: "ant-tag-blue",
    green: "ant-tag-green",
    cyan: "ant-tag-cyan",
    purple: "ant-tag-purple",
    orange: "ant-tag-orange",
    red: "ant-tag-red"
  };
  const classes = [baseClasses, colorClasses[color], className].filter(Boolean).join(" ");
  const handleKeyDown = (e) => {
    if (e.key === "Enter" || e.key === " ") {
      e.preventDefault();
      onClose?.(e);
    }
  };
  return /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { className: classes, children: [
    children,
    closable && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: "ri-close-line ml-1 cursor-pointer text-opacity-60 hover:text-opacity-100", onClick: onClose, onKeyDown: handleKeyDown, role: "button", tabIndex: 0, "aria-label": "\u5173\u95ED\u6807\u7B7E" }, void 0, false, {
      fileName: "app/components/ui/Tag.tsx",
      lineNumber: 48,
      columnNumber: 20
    }, this)
  ] }, void 0, true, {
    fileName: "app/components/ui/Tag.tsx",
    lineNumber: 46,
    columnNumber: 10
  }, this);
}
_c = Tag;
var _c;
$RefreshReg$(_c, "Tag");
window.$RefreshReg$ = prevRefreshReg;
window.$RefreshSig$ = prevRefreshSig;

// app/models/rule.ts
if (import.meta) {
  import.meta.hot = createHotContext(
    //@ts-expect-error
    "app\\models\\rule.ts"
  );
  import.meta.hot.lastModified = "1742887964090.251";
}
var RULE_TYPE_LABELS = {
  essential: "\u57FA\u672C\u8981\u7D20\u7C7B",
  content: "\u5185\u5BB9\u5408\u89C4\u7C7B",
  format: "\u683C\u5F0F\u89C4\u8303\u7C7B",
  legal: "\u6CD5\u5F8B\u98CE\u9669\u7C7B",
  business: "\u4E1A\u52A1\u4E13\u9879\u7C7B"
};
var RULE_TYPE_COLORS = {
  essential: "blue",
  content: "purple",
  format: "green",
  legal: "cyan",
  business: "orange"
};
var RULE_PRIORITY_LABELS = {
  high: "\u9AD8",
  medium: "\u4E2D",
  low: "\u4F4E"
};
var RULE_PRIORITY_COLORS = {
  high: "red",
  medium: "orange",
  low: "green"
};

// app/routes/rules._index.tsx
var import_jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
if (!window.$RefreshReg$ || !window.$RefreshSig$ || !window.$RefreshRuntime$) {
  console.warn("remix:hmr: React Fast Refresh only works when the Remix compiler is running in development mode.");
} else {
  prevRefreshReg = window.$RefreshReg$;
  prevRefreshSig = window.$RefreshSig$;
  window.$RefreshReg$ = (type, id) => {
    window.$RefreshRuntime$.register(type, '"app\\\\routes\\\\rules._index.tsx"' + id);
  };
  window.$RefreshSig$ = window.$RefreshRuntime$.createSignatureFunctionForTransform;
}
var prevRefreshReg;
var prevRefreshSig;
var _s = $RefreshSig$();
if (import.meta) {
  import.meta.hot = createHotContext(
    //@ts-expect-error
    "app\\routes\\rules._index.tsx"
  );
}
var links = () => [{
  rel: "stylesheet",
  href: "/rules_index.css"
}];
var meta = () => {
  return [{
    title: "\u4E2D\u56FD\u70DF\u8349AI\u5408\u540C\u53CA\u5377\u5B97\u5BA1\u6838\u7CFB\u7EDF - \u8BC4\u67E5\u70B9\u5217\u8868"
  }, {
    name: "description",
    content: "\u8BC4\u67E5\u70B9\u7BA1\u7406\u5217\u8868"
  }];
};
function RulesList() {
  _s();
  const {
    rules,
    groups
  } = useLoaderData();
  const [searchParams, setSearchParams] = useSearchParams();
  const handleFilterChange = (e) => {
    const {
      name,
      value
    } = e.target;
    const newParams = new URLSearchParams(searchParams);
    if (value) {
      newParams.set(name, value);
    } else {
      newParams.delete(name);
    }
    setSearchParams(newParams);
  };
  const handleSearch = (e) => {
    e.preventDefault();
    const formData = new FormData(e.target);
    const keyword = formData.get("keyword");
    const newParams = new URLSearchParams(searchParams);
    if (keyword) {
      newParams.set("keyword", keyword);
    } else {
      newParams.delete("keyword");
    }
    setSearchParams(newParams);
  };
  const handleCopy = (rule) => {
    alert(`\u590D\u5236\u89C4\u5219: ${rule.name}`);
  };
  const handleDelete = (rule) => {
    if (window.confirm(`\u786E\u5B9A\u8981\u5220\u9664\u8BC4\u67E5\u70B9"${rule.name}"\u5417\uFF1F`)) {
      alert(`\u5220\u9664\u89C4\u5219: ${rule.name}`);
    }
  };
  return /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { className: "p-6", children: [
    /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { className: "mb-4 p-3 bg-blue-100 border border-blue-300 rounded text-blue-800", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("h3", { className: "font-bold text-lg", children: "\u5F53\u524D\u9875\u9762: \u8BC4\u67E5\u70B9\u5217\u8868 (rules._index.tsx)" }, void 0, false, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 205,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("p", { children: "\u5982\u679C\u4F60\u770B\u5230\u8FD9\u4E2A\u63D0\u793A\uFF0C\u8BF4\u660E\u4F60\u5DF2\u6210\u529F\u5230\u8FBE\u8BC4\u67E5\u70B9\u5217\u8868\u9875\u9762\u3002" }, void 0, false, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 206,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { className: "mt-2", children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("a", { href: "/debug", className: "text-blue-600 hover:underline", children: "\u67E5\u770B\u8DEF\u7531\u8BCA\u65AD\u9875\u9762" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 208,
          columnNumber: 11
        }, this),
        " |",
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("a", { href: "/", className: "ml-2 text-blue-600 hover:underline", children: "\u8FD4\u56DE\u9996\u9875" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 209,
          columnNumber: 11
        }, this)
      ] }, void 0, true, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 207,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/routes/rules._index.tsx",
      lineNumber: 204,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { className: "flex justify-between items-center mb-4", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("h2", { className: "text-xl font-medium", children: "\u8BC4\u67E5\u70B9\u7BA1\u7406" }, void 0, false, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 215,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Button, { type: "primary", icon: "ri-add-line", to: "/rules/new", children: "\u65B0\u589E\u8BC4\u67E5\u70B9" }, void 0, false, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 216,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/routes/rules._index.tsx",
      lineNumber: 214,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Card, { className: "mb-4", noDivider: true, children: /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { className: "grid grid-cols-1 md:grid-cols-4 gap-4 p-4", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("label", { htmlFor: "ruleType", className: "block text-sm mb-1", children: "\u8BC4\u67E5\u70B9\u7C7B\u578B" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 225,
          columnNumber: 13
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("select", { id: "ruleType", className: "form-select w-full rounded border-gray-300 shadow-sm", name: "ruleType", value: searchParams.get("ruleType") || "", onChange: handleFilterChange, children: [
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("option", { value: "", children: "\u5168\u90E8" }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 228,
            columnNumber: 15
          }, this),
          Object.entries(RULE_TYPE_LABELS).map(([value, label]) => /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("option", { value, children: label }, value, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 229,
            columnNumber: 73
          }, this))
        ] }, void 0, true, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 226,
          columnNumber: 13
        }, this)
      ] }, void 0, true, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 224,
        columnNumber: 11
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("label", { htmlFor: "groupId", className: "block text-sm mb-1", children: "\u6240\u5C5E\u89C4\u5219\u7EC4" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 233,
          columnNumber: 13
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("select", { id: "groupId", className: "form-select w-full rounded border-gray-300 shadow-sm", name: "groupId", value: searchParams.get("groupId") || "", onChange: handleFilterChange, children: [
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("option", { value: "", children: "\u5168\u90E8" }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 236,
            columnNumber: 15
          }, this),
          groups.map((group) => /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("option", { value: group.id, children: group.name }, group.id, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 237,
            columnNumber: 36
          }, this))
        ] }, void 0, true, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 234,
          columnNumber: 13
        }, this)
      ] }, void 0, true, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 232,
        columnNumber: 11
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("label", { htmlFor: "isActive", className: "block text-sm mb-1", children: "\u72B6\u6001" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 241,
          columnNumber: 13
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("select", { id: "isActive", className: "form-select w-full rounded border-gray-300 shadow-sm", name: "isActive", value: searchParams.get("isActive") || "", onChange: handleFilterChange, children: [
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("option", { value: "", children: "\u5168\u90E8" }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 244,
            columnNumber: 15
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("option", { value: "true", children: "\u542F\u7528" }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 245,
            columnNumber: 15
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("option", { value: "false", children: "\u7981\u7528" }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 246,
            columnNumber: 15
          }, this)
        ] }, void 0, true, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 242,
          columnNumber: 13
        }, this)
      ] }, void 0, true, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 240,
        columnNumber: 11
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("label", { htmlFor: "keyword", className: "block text-sm mb-1", children: "\u641C\u7D22" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 250,
          columnNumber: 13
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("form", { onSubmit: handleSearch, className: "flex items-center", children: [
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("input", { type: "text", id: "keyword", name: "keyword", className: "form-input rounded-l flex-1 border-gray-300 shadow-sm", placeholder: "\u8F93\u5165\u8BC4\u67E5\u70B9\u540D\u79F0\u6216\u7F16\u7801", defaultValue: searchParams.get("keyword") || "" }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 252,
            columnNumber: 15
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Button, { type: "primary", icon: "ri-search-line", className: "rounded-l-none", children: "\u641C\u7D22" }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 254,
            columnNumber: 15
          }, this)
        ] }, void 0, true, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 251,
          columnNumber: 13
        }, this)
      ] }, void 0, true, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 249,
        columnNumber: 11
      }, this)
    ] }, void 0, true, {
      fileName: "app/routes/rules._index.tsx",
      lineNumber: 223,
      columnNumber: 9
    }, this) }, void 0, false, {
      fileName: "app/routes/rules._index.tsx",
      lineNumber: 222,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Card, { noDivider: true, children: /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("table", { className: "w-full text-left border-collapse", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("thead", { className: "bg-gray-50", children: /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("tr", { className: "text-xs text-gray-500 border-b", children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("th", { className: "py-3 px-4", children: "\u8BC4\u67E5\u70B9\u7F16\u7801" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 268,
          columnNumber: 17
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("th", { className: "py-3 px-4", children: "\u8BC4\u67E5\u70B9\u540D\u79F0" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 269,
          columnNumber: 17
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("th", { className: "py-3 px-4", children: "\u8BC4\u67E5\u70B9\u7C7B\u578B" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 270,
          columnNumber: 17
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("th", { className: "py-3 px-4", children: "\u6240\u5C5E\u89C4\u5219\u7EC4" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 271,
          columnNumber: 17
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("th", { className: "py-3 px-4", children: "\u4F18\u5148\u7EA7" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 272,
          columnNumber: 17
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("th", { className: "py-3 px-4", children: "\u72B6\u6001" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 273,
          columnNumber: 17
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("th", { className: "py-3 px-4", children: "\u521B\u5EFA\u65F6\u95F4" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 274,
          columnNumber: 17
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("th", { className: "py-3 px-4", children: "\u64CD\u4F5C" }, void 0, false, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 275,
          columnNumber: 17
        }, this)
      ] }, void 0, true, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 267,
        columnNumber: 15
      }, this) }, void 0, false, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 266,
        columnNumber: 13
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("tbody", { children: rules.map((rule) => {
        const typeColor = RULE_TYPE_COLORS[rule.ruleType];
        const priorityColor = RULE_PRIORITY_COLORS[rule.priority];
        return /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("tr", { className: "border-b hover:bg-gray-50", children: [
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("td", { className: "py-3 px-4", children: rule.code }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 283,
            columnNumber: 21
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("td", { className: "py-3 px-4", children: rule.name }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 284,
            columnNumber: 21
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("td", { className: "py-3 px-4", children: /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Tag, { color: typeColor, children: RULE_TYPE_LABELS[rule.ruleType] }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 286,
            columnNumber: 23
          }, this) }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 285,
            columnNumber: 21
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("td", { className: "py-3 px-4", children: rule.groupName }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 288,
            columnNumber: 21
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("td", { className: "py-3 px-4", children: /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Tag, { color: priorityColor, children: RULE_PRIORITY_LABELS[rule.priority] }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 290,
            columnNumber: 23
          }, this) }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 289,
            columnNumber: 21
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("td", { className: "py-3 px-4", children: rule.isActive ? /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("span", { className: "flex items-center", children: [
            /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("i", { className: "inline-block w-2 h-2 rounded-full bg-green-500 mr-2" }, void 0, false, {
              fileName: "app/routes/rules._index.tsx",
              lineNumber: 294,
              columnNumber: 27
            }, this),
            "\u542F\u7528"
          ] }, void 0, true, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 293,
            columnNumber: 40
          }, this) : /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("span", { className: "flex items-center", children: [
            /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("i", { className: "inline-block w-2 h-2 rounded-full bg-gray-400 mr-2" }, void 0, false, {
              fileName: "app/routes/rules._index.tsx",
              lineNumber: 297,
              columnNumber: 27
            }, this),
            "\u7981\u7528"
          ] }, void 0, true, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 296,
            columnNumber: 35
          }, this) }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 292,
            columnNumber: 21
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("td", { className: "py-3 px-4", children: rule.createdAt }, void 0, false, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 301,
            columnNumber: 21
          }, this),
          /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("td", { className: "py-3 px-4", children: [
            /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Button, { type: "default", size: "small", icon: "ri-edit-line", to: `/rules/${rule.id}`, className: "mr-1", children: "\u7F16\u8F91" }, void 0, false, {
              fileName: "app/routes/rules._index.tsx",
              lineNumber: 303,
              columnNumber: 23
            }, this),
            /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Button, { type: "default", size: "small", icon: "ri-file-copy-line", className: "mr-1", onClick: () => handleCopy(rule), children: "\u590D\u5236" }, void 0, false, {
              fileName: "app/routes/rules._index.tsx",
              lineNumber: 306,
              columnNumber: 23
            }, this),
            /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Button, { type: "danger", size: "small", icon: "ri-delete-bin-line", onClick: () => handleDelete(rule), children: "\u5220\u9664" }, void 0, false, {
              fileName: "app/routes/rules._index.tsx",
              lineNumber: 309,
              columnNumber: 23
            }, this)
          ] }, void 0, true, {
            fileName: "app/routes/rules._index.tsx",
            lineNumber: 302,
            columnNumber: 21
          }, this)
        ] }, rule.id, true, {
          fileName: "app/routes/rules._index.tsx",
          lineNumber: 282,
          columnNumber: 22
        }, this);
      }) }, void 0, false, {
        fileName: "app/routes/rules._index.tsx",
        lineNumber: 278,
        columnNumber: 13
      }, this)
    ] }, void 0, true, {
      fileName: "app/routes/rules._index.tsx",
      lineNumber: 265,
      columnNumber: 11
    }, this) }, void 0, false, {
      fileName: "app/routes/rules._index.tsx",
      lineNumber: 264,
      columnNumber: 9
    }, this) }, void 0, false, {
      fileName: "app/routes/rules._index.tsx",
      lineNumber: 263,
      columnNumber: 7
    }, this)
  ] }, void 0, true, {
    fileName: "app/routes/rules._index.tsx",
    lineNumber: 202,
    columnNumber: 10
  }, this);
}
_s(RulesList, "XJwDgoE2H0lk/hcE8YrVrkebOKQ=", false, function() {
  return [useLoaderData, useSearchParams];
});
_c2 = RulesList;
var _c2;
$RefreshReg$(_c2, "RulesList");
window.$RefreshReg$ = prevRefreshReg;
window.$RefreshSig$ = prevRefreshSig;
export {
  RulesList as default,
  links,
  meta
};
//# sourceMappingURL=/build/routes/rules._index-5QMSMCT7.js.map
