"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Pill = void 0;
/* eslint-disable @typescript-eslint/no-unused-vars */
const react_1 = __importDefault(require("react"));
const Select_1 = require("./Select");
const Boolean_1 = require("./Boolean");
const Multi_1 = require("./Multi");
function Pill(props) {
    switch (props.type) {
        case 'select': {
            const { type, ...narrowedProps } = props;
            return react_1.default.createElement(Select_1.SelectPill, { ...narrowedProps });
        }
        case 'boolean': {
            const { type, ...narrowedProps } = props;
            return react_1.default.createElement(Boolean_1.BooleanPill, { ...narrowedProps });
        }
        case 'multi': {
            const { type, ...narrowedProps } = props;
            return react_1.default.createElement(Multi_1.MultiPill, { ...narrowedProps });
        }
        default:
            //@ts-ignore
            expectNever(props);
    }
}
exports.Pill = Pill;
const expectNever = (value) => {
    throw new TypeError('Unexpected value: ' + JSON.stringify(value));
};
//# sourceMappingURL=index.js.map