@inkline/inkline
Version:
Inkline is the intuitive UI Components library that gives you a developer-friendly foundation for building high-quality, accessible, and customizable Vue.js 3 Design Systems.
34 lines (33 loc) • 989 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useAlert = useAlert;
var _IButton = require("@inkline/inkline/components/IButton");
var _i18n = require("@inkline/inkline/i18n");
var _utils = require("@grozav/utils");
var _vue = require("vue");
var _builder = require("@inkline/inkline/composables/modals/builder");
function useAlert() {
const builder = (0, _builder.useModalBuilder)();
return options => new Promise(resolve => {
const id = (0, _utils.uid)("alert");
builder.show({
id,
type: "alert",
onClose: () => resolve(),
header: options.title,
body: options.message,
footer: options.footer || (0, _vue.h)(_IButton.IButton, {
onClick: () => {
builder.hide({
id
});
},
color: "primary",
...options.confirmButtonProps
}, () => options.confirmButtonText ?? (0, _i18n.translate)("modals.confirm")),
...options
});
});
}