@metamask/snaps-sdk
Version:
A library containing the core functionality for building MetaMask Snaps
62 lines • 3.42 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserInputEventStruct = exports.FileUploadEventStruct = exports.InputChangeEventStruct = exports.FormSubmitEventStruct = exports.AssetSelectorStateStruct = exports.FileStruct = exports.ButtonClickEventStruct = exports.GenericEventStruct = exports.UserInputEventType = void 0;
const superstruct_1 = require("@metamask/superstruct");
const utils_1 = require("@metamask/utils");
/**
* The type of user input event fired.
* Currently only three events are supported:
*
* - `ButtonClickEvent` - A button has been clicked in the UI.
* - `FormSubmitEvent` - A Form has been submitted in the UI.
* - `InputChangeEvent` - The value of an input field has changed in the UI.
* - `FileUploadEvent` - A file has been uploaded in the UI.
*/
var UserInputEventType;
(function (UserInputEventType) {
UserInputEventType["ButtonClickEvent"] = "ButtonClickEvent";
UserInputEventType["FormSubmitEvent"] = "FormSubmitEvent";
UserInputEventType["InputChangeEvent"] = "InputChangeEvent";
UserInputEventType["FileUploadEvent"] = "FileUploadEvent";
})(UserInputEventType || (exports.UserInputEventType = UserInputEventType = {}));
exports.GenericEventStruct = (0, superstruct_1.object)({
type: (0, superstruct_1.string)(),
name: (0, superstruct_1.optional)((0, superstruct_1.string)()),
});
exports.ButtonClickEventStruct = (0, superstruct_1.assign)(exports.GenericEventStruct, (0, superstruct_1.object)({
type: (0, superstruct_1.literal)(UserInputEventType.ButtonClickEvent),
name: (0, superstruct_1.optional)((0, superstruct_1.string)()),
}));
exports.FileStruct = (0, superstruct_1.object)({
name: (0, superstruct_1.string)(),
size: (0, superstruct_1.number)(),
contentType: (0, superstruct_1.string)(),
contents: (0, superstruct_1.string)(),
});
exports.AssetSelectorStateStruct = (0, superstruct_1.object)({
asset: utils_1.CaipAssetTypeStruct,
name: (0, superstruct_1.string)(),
symbol: (0, superstruct_1.string)(),
});
exports.FormSubmitEventStruct = (0, superstruct_1.assign)(exports.GenericEventStruct, (0, superstruct_1.object)({
type: (0, superstruct_1.literal)(UserInputEventType.FormSubmitEvent),
value: (0, superstruct_1.record)((0, superstruct_1.string)(), (0, superstruct_1.nullable)((0, superstruct_1.union)([(0, superstruct_1.string)(), exports.FileStruct, (0, superstruct_1.boolean)(), exports.AssetSelectorStateStruct]))),
name: (0, superstruct_1.string)(),
}));
exports.InputChangeEventStruct = (0, superstruct_1.assign)(exports.GenericEventStruct, (0, superstruct_1.object)({
type: (0, superstruct_1.literal)(UserInputEventType.InputChangeEvent),
name: (0, superstruct_1.string)(),
value: (0, superstruct_1.union)([(0, superstruct_1.string)(), (0, superstruct_1.boolean)(), exports.AssetSelectorStateStruct]),
}));
exports.FileUploadEventStruct = (0, superstruct_1.assign)(exports.GenericEventStruct, (0, superstruct_1.object)({
type: (0, superstruct_1.literal)(UserInputEventType.FileUploadEvent),
name: (0, superstruct_1.string)(),
file: (0, superstruct_1.nullable)(exports.FileStruct),
}));
exports.UserInputEventStruct = (0, superstruct_1.union)([
exports.ButtonClickEventStruct,
exports.FormSubmitEventStruct,
exports.InputChangeEventStruct,
exports.FileUploadEventStruct,
]);
//# sourceMappingURL=user-input.cjs.map