// Copyright 2021-2025, University of Colorado Boulder
/**
 * The content for the "Simulation" tab in the PreferencesDialog. Contains controls for any simulation-specific
 * preferences.
 *
 * @author Jesse Greenberg (PhET Interactive Simulations)
 */
import '../../../globals.js';
import optionize from '../../../phet-core/js/optionize.js';
import VBox from '../../../scenery/js/layout/nodes/VBox.js';
import PreferencesDialogConstants from './PreferencesDialogConstants.js';
import PreferencesPanel from './PreferencesPanel.js';
import PreferencesPanelSection from './PreferencesPanelSection.js';
import PreferencesType from './PreferencesType.js';
class SimulationPreferencesPanel extends PreferencesPanel {
    /**
     * @param simulationModel - configuration for the Tab, see PreferencesModel for entries
     * @param selectedTabProperty
     * @param tabVisibleProperty
     * @param [providedOptions]
     */
    constructor(simulationModel, selectedTabProperty, tabVisibleProperty, providedOptions) {
        const options = optionize()({
            labelContent: 'Simulation',
            // phet-io
            phetioVisiblePropertyInstrumented: false
        }, providedOptions);
        super(PreferencesType.SIMULATION, selectedTabProperty, tabVisibleProperty, options);
        const panelContent = new VBox({
            align: 'left',
            spacing: PreferencesDialogConstants.CONTENT_SPACING
        });
        this.addChild(panelContent);
        // Just the provided panel content with its own spacing
        const providedChildren = [];
        simulationModel.customPreferences.forEach(customPreference => {
            const contentNode = customPreference.createContent(options.tandem);
            const preferencesPanelSection = new PreferencesPanelSection({ contentNode: contentNode });
            providedChildren.push(preferencesPanelSection);
        });
        panelContent.children = providedChildren;
    }
}
export default SimulationPreferencesPanel;
//# sourceMappingURL=SimulationPreferencesPanel.js.map