/** * Internal dependencies */ import type { FieldType } from '../types/private'; import { OPERATOR_CONTAINS, OPERATOR_IS, OPERATOR_IS_ALL, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_NOT, OPERATOR_IS_NOT_ALL, OPERATOR_NOT_CONTAINS, OPERATOR_STARTS_WITH, } from '../constants'; import render from './utils/render-default'; import sort from './utils/sort-text'; import isValidRequired from './utils/is-valid-required'; import isValidMinLength from './utils/is-valid-min-length'; import isValidMaxLength from './utils/is-valid-max-length'; import isValidPattern from './utils/is-valid-pattern'; import isValidElements from './utils/is-valid-elements'; import getValueFormatted from './utils/get-value-formatted-default'; export default { type: 'text', render, Edit: 'text', sort, enableSorting: true, enableGlobalSearch: false, defaultOperators: [ OPERATOR_IS_ANY, OPERATOR_IS_NONE ], validOperators: [ // Single selection OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_CONTAINS, OPERATOR_NOT_CONTAINS, OPERATOR_STARTS_WITH, // Multiple selection OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL, ], format: {}, getValueFormatted, validate: { required: isValidRequired, pattern: isValidPattern, minLength: isValidMinLength, maxLength: isValidMaxLength, elements: isValidElements, }, } satisfies FieldType< any >;