UNPKG

@metamask/snaps-sdk

Version:

A library containing the core functionality for building MetaMask Snaps

78 lines 3.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserInputEventStruct = exports.FileUploadEventStruct = exports.InputChangeEventStruct = exports.FormSubmitEventStruct = exports.AssetSelectorStateStruct = exports.FileStruct = exports.AccountSelectorStateStruct = exports.ButtonClickEventStruct = exports.GenericEventStruct = exports.UserInputEventType = void 0; const superstruct_1 = require("@metamask/superstruct"); const utils_1 = require("@metamask/utils"); const internals_1 = require("../../internals/index.cjs"); /** * 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, internals_1.literal)(UserInputEventType.ButtonClickEvent), name: (0, superstruct_1.optional)((0, superstruct_1.string)()), })); exports.AccountSelectorStateStruct = (0, superstruct_1.object)({ accountId: (0, superstruct_1.string)(), addresses: (0, superstruct_1.array)(utils_1.CaipAccountIdStruct), }); 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, internals_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.AccountSelectorStateStruct, exports.AssetSelectorStateStruct, ]))), name: (0, superstruct_1.string)(), })); exports.InputChangeEventStruct = (0, superstruct_1.assign)(exports.GenericEventStruct, (0, superstruct_1.object)({ type: (0, internals_1.literal)(UserInputEventType.InputChangeEvent), name: (0, superstruct_1.string)(), value: (0, superstruct_1.nullable)((0, superstruct_1.union)([ (0, superstruct_1.string)(), (0, superstruct_1.boolean)(), exports.AccountSelectorStateStruct, exports.AssetSelectorStateStruct, ])), })); exports.FileUploadEventStruct = (0, superstruct_1.assign)(exports.GenericEventStruct, (0, superstruct_1.object)({ type: (0, internals_1.literal)(UserInputEventType.FileUploadEvent), name: (0, superstruct_1.string)(), file: (0, superstruct_1.nullable)(exports.FileStruct), })); exports.UserInputEventStruct = (0, internals_1.typedUnion)([ exports.ButtonClickEventStruct, exports.FormSubmitEventStruct, exports.InputChangeEventStruct, exports.FileUploadEventStruct, ]); //# sourceMappingURL=user-input.cjs.map