/**
 * Copyright (c) 2023-present Pi Dash Software, Inc. and contributors
 * SPDX-License-Identifier: AGPL-3.0-only
 * See the LICENSE file for details.
 */

import type {
  SingleOrArray,
  TFilterConditionNodeForDisplay,
  TFilterProperty,
  TFilterValue,
  TSupportedFilterFieldConfigs,
} from "@pi-dash/types";

export const COMMON_FILTER_ITEM_BORDER_CLASSNAME = "border-r border-subtle-1";

export const EMPTY_FILTER_PLACEHOLDER_TEXT = "--";

export type TFilterValueInputProps<P extends TFilterProperty, V extends TFilterValue> = {
  condition: TFilterConditionNodeForDisplay<P, V>;
  filterFieldConfig: TSupportedFilterFieldConfigs<V>;
  isDisabled?: boolean;
  onChange: (values: SingleOrArray<V>) => void;
};
