function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/*
 * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import classNames from "classnames";
import React from "react";
import { DropdownField } from "../../action-form/fields/DropdownField.js";
import { useRegisterPortal } from "../utils/PortalTracker.js";
import { ReadonlyDisplayCell } from "./ReadonlyDisplayCell.js";
import styles from "../EditableCell.module.css";
function DropdownCellFieldInner({
  fieldComponentProps,
  isRowFocused,
  inputValue,
  value,
  hasValidationError,
  isEdited,
  onChange
}) {
  const portalRef = useRegisterPortal();
  const {
    itemToStringLabel
  } = fieldComponentProps;
  if (!isRowFocused) {
    return /*#__PURE__*/React.createElement(ReadonlyDisplayCell, {
      inputValue: itemToStringLabel ? itemToStringLabel(value) : inputValue,
      hasValidationError: hasValidationError,
      isEdited: isEdited
    });
  }
  return /*#__PURE__*/React.createElement("div", {
    className: classNames(styles.osdkEditableCellDropdown, {
      [styles.error]: hasValidationError,
      [styles.osdkEditedInput]: isEdited
    })
  }, /*#__PURE__*/React.createElement(DropdownField, _extends({}, fieldComponentProps, {
    portalRef: portalRef,
    value: value,
    onChange: onChange,
    modal: false
  })));
}
export const DropdownCellField = /*#__PURE__*/React.memo(DropdownCellFieldInner);
//# sourceMappingURL=DropdownCellField.js.map