var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/plus/pisellTopology/topologyElementKinds.ts
var topologyElementKinds_exports = {};
__export(topologyElementKinds_exports, {
  TOPOLOGY_AMUSEMENT_KIND: () => TOPOLOGY_AMUSEMENT_KIND,
  TOPOLOGY_AP_KIND: () => TOPOLOGY_AP_KIND,
  TOPOLOGY_CASHIER_KIND: () => TOPOLOGY_CASHIER_KIND,
  TOPOLOGY_GATE_KIND: () => TOPOLOGY_GATE_KIND,
  TOPOLOGY_INTEGRATED_POS_KIND: () => TOPOLOGY_INTEGRATED_POS_KIND,
  TOPOLOGY_KIOSK_KIND: () => TOPOLOGY_KIOSK_KIND,
  TOPOLOGY_PRINTER_KIND: () => TOPOLOGY_PRINTER_KIND,
  TOPOLOGY_ROUTER_KIND: () => TOPOLOGY_ROUTER_KIND,
  TOPOLOGY_SWITCH_KIND: () => TOPOLOGY_SWITCH_KIND,
  TOPOLOGY_ZONE_KIND: () => import_materials.FLOOR_MAP_ZONE_ELEMENT_KIND,
  getTopologyElementKindCategories: () => getTopologyElementKindCategories,
  getTopologyElementKinds: () => getTopologyElementKinds
});
module.exports = __toCommonJS(topologyElementKinds_exports);
var import_materials = require("@pisell/materials");
var import_topologyFloorPlanConstants = require("./topologyFloorPlanConstants");
var TOPOLOGY_ROUTER_KIND = "topologyRouter";
var TOPOLOGY_SWITCH_KIND = "topologySwitch";
var TOPOLOGY_AP_KIND = "topologyAp";
var TOPOLOGY_CASHIER_KIND = "topologyCashier";
var TOPOLOGY_GATE_KIND = "topologyGate";
var TOPOLOGY_KIOSK_KIND = "topologyKiosk";
var TOPOLOGY_INTEGRATED_POS_KIND = "topologyIntegratedPos";
var TOPOLOGY_PRINTER_KIND = "topologyPrinter";
var TOPOLOGY_AMUSEMENT_KIND = "topologyAmusement";
function getTopologyElementKindCategories() {
  return [
    { id: "layout", label: "Layout", order: -1 },
    { id: "network", label: "Network", order: 0 },
    { id: "pos", label: "POS", order: 1 },
    { id: "gate", label: "Gate", order: 2 },
    { id: "amusement", label: "Amusement", order: 3 }
  ];
}
function getTopologyElementKinds() {
  const bind = {
    dataBindingPolicy: "optional",
    allowedDataSourceKeys: [import_topologyFloorPlanConstants.TOPOLOGY_DEVICES_DATA_SOURCE_KEY],
    showInPalette: true
  };
  return [
    {
      value: import_materials.FLOOR_MAP_ZONE_ELEMENT_KIND,
      label: "Zone",
      categoryId: "layout",
      dataBindingPolicy: "none",
      showInPalette: true
    },
    { value: TOPOLOGY_ROUTER_KIND, label: "Router", categoryId: "network", ...bind },
    { value: TOPOLOGY_SWITCH_KIND, label: "Switch", categoryId: "network", ...bind },
    { value: TOPOLOGY_AP_KIND, label: "AP", categoryId: "network", ...bind },
    { value: TOPOLOGY_CASHIER_KIND, label: "Cashier", categoryId: "pos", ...bind },
    { value: TOPOLOGY_GATE_KIND, label: "Gate", categoryId: "gate", ...bind },
    { value: TOPOLOGY_KIOSK_KIND, label: "Kiosk", categoryId: "pos", ...bind },
    {
      value: TOPOLOGY_INTEGRATED_POS_KIND,
      label: "Integrated POS",
      categoryId: "pos",
      ...bind
    },
    {
      value: TOPOLOGY_PRINTER_KIND,
      label: "打印机",
      categoryId: "pos",
      ...bind
    },
    {
      value: TOPOLOGY_AMUSEMENT_KIND,
      label: "Amusement",
      categoryId: "amusement",
      ...bind
    }
  ];
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  TOPOLOGY_AMUSEMENT_KIND,
  TOPOLOGY_AP_KIND,
  TOPOLOGY_CASHIER_KIND,
  TOPOLOGY_GATE_KIND,
  TOPOLOGY_INTEGRATED_POS_KIND,
  TOPOLOGY_KIOSK_KIND,
  TOPOLOGY_PRINTER_KIND,
  TOPOLOGY_ROUTER_KIND,
  TOPOLOGY_SWITCH_KIND,
  TOPOLOGY_ZONE_KIND,
  getTopologyElementKindCategories,
  getTopologyElementKinds
});
