<scriptsetuplang="ts">importCommaSeparatedFilterfrom"components/Filter/CommaSeparatedFilter.vue";import{icons}from"utils/icons";constprops=defineProps<{modelValue:string[];}>();constemit=defineEmits<{(e:"update:modelValue",value:string[]):void;(e:"change"):void;}>();// host or net in CIDR notation or !host or !net in CIDR notation
constvalidateRegex=/^(!)?(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[0-9a-fA-F]{1,4}:){1,7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|:(:[0-9a-fA-F]{1,4}){1,7}|::)(?:\/\d+)?$/;</script><template><CommaSeparatedFilterlabel="Source":icon="icons.address":model-value="props.modelValue"@update:model-value="emit('update:modelValue',$event)"@change="emit('change')"placeholder="192.168.1.0/24"inputClass="w-32":validate-regex="validateRegex"/></template>