import '../../../globals.js';
import optionize from '../../../phet-core/js/optionize.js';
import { VBox } from '../../../scenery/js/imports.js';
import joist from '../joist.js';
import PreferencesDialog from './PreferencesDialog.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: PreferencesDialog.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;
    }
}
joist.register('SimulationPreferencesPanel', SimulationPreferencesPanel);
export default SimulationPreferencesPanel;
//# sourceMappingURL=SimulationPreferencesPanel.js.map