import _ from 'lodash';
import '../../../globals.js';
// Copyright 2022-2023, University of Colorado Boulder
/**
 * key object, intended for use in the PhET common-code keypad
 *
 * @author Aadish Gupta
 * @author John Blanco
 */
import optionize from '../../../phet-core/js/optionize.js';
import sceneryPhet from '../sceneryPhet.js';
class Key {
    /**
     * @param label - node or string that will appear on the key
     * @param identifier - ID for this key, see KeyID.js
     * @param [providedOptions]
     */
    constructor(label, identifier, providedOptions) {
        this.label = label;
        this.identifier = identifier;
        const options = optionize()({
            horizontalSpan: 1,
            verticalSpan: 1,
            keyboardIdentifiers: []
        }, providedOptions);
        this.horizontalSpan = options.horizontalSpan;
        this.verticalSpan = options.verticalSpan;
        this.keyboardIdentifiers = options.keyboardIdentifiers;
        this.buttonTandemName = `${_.camelCase(this.identifier)}Button`;
    }
}
sceneryPhet.register('Key', Key);
export default Key;
//# sourceMappingURL=Key.js.map