/**
* Copyright (C) 2024 Puter Technologies Inc.
*
* This file is part of Puter.
*
* Puter is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
import UIWindow from './UIWindow.js'
function UIPrompt(options){
// set sensible defaults
if(arguments.length > 0){
// if first argument is a string, then assume it is the message
if(isString(arguments[0])){
options = {};
options.message = arguments[0];
}
// if second argument is an array, then assume it is the buttons
if(arguments[1] && Array.isArray(arguments[1])){
options.buttons = arguments[1];
}
}
return new Promise(async (resolve) => {
// provide an 'OK' button if no buttons are provided
if(!options.buttons || options.buttons.length === 0){
options.buttons = [
{label: 'Cancel', value: false, type: 'default'},
{label: 'OK', value: true, type: 'primary'},
]
}
let h = '';
// message
h += `