require("../../_virtual/_rolldown/runtime.js");
const require_objectSpread2 = require("../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js");
const require_topologyFloorPlanConstants = require("./topologyFloorPlanConstants.js");
let _pisell_materials = require("@pisell/materials");
//#region src/plus/pisellTopology/topologyElementKinds.ts
const TOPOLOGY_ROUTER_KIND = "topologyRouter";
const TOPOLOGY_SWITCH_KIND = "topologySwitch";
const TOPOLOGY_AP_KIND = "topologyAp";
const TOPOLOGY_CASHIER_KIND = "topologyCashier";
const TOPOLOGY_GATE_KIND = "topologyGate";
const TOPOLOGY_KIOSK_KIND = "topologyKiosk";
const TOPOLOGY_INTEGRATED_POS_KIND = "topologyIntegratedPos";
const TOPOLOGY_PRINTER_KIND = "topologyPrinter";
const 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: [require_topologyFloorPlanConstants.TOPOLOGY_DEVICES_DATA_SOURCE_KEY],
		showInPalette: true
	};
	return [
		{
			value: _pisell_materials.FLOOR_MAP_ZONE_ELEMENT_KIND,
			label: "Zone",
			categoryId: "layout",
			dataBindingPolicy: "none",
			showInPalette: true
		},
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_ROUTER_KIND,
			label: "Router",
			categoryId: "network"
		}, bind),
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_SWITCH_KIND,
			label: "Switch",
			categoryId: "network"
		}, bind),
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_AP_KIND,
			label: "AP",
			categoryId: "network"
		}, bind),
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_CASHIER_KIND,
			label: "Cashier",
			categoryId: "pos"
		}, bind),
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_GATE_KIND,
			label: "Gate",
			categoryId: "gate"
		}, bind),
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_KIOSK_KIND,
			label: "Kiosk",
			categoryId: "pos"
		}, bind),
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_INTEGRATED_POS_KIND,
			label: "Integrated POS",
			categoryId: "pos"
		}, bind),
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_PRINTER_KIND,
			label: "打印机",
			categoryId: "pos"
		}, bind),
		require_objectSpread2._objectSpread2({
			value: TOPOLOGY_AMUSEMENT_KIND,
			label: "Amusement",
			categoryId: "amusement"
		}, bind)
	];
}
//#endregion
exports.TOPOLOGY_AP_KIND = TOPOLOGY_AP_KIND;
exports.TOPOLOGY_ROUTER_KIND = TOPOLOGY_ROUTER_KIND;
exports.TOPOLOGY_SWITCH_KIND = TOPOLOGY_SWITCH_KIND;
exports.getTopologyElementKindCategories = getTopologyElementKindCategories;
exports.getTopologyElementKinds = getTopologyElementKinds;
