UNPKG

@oceanicjs/builders

Version:

Helpful builders for various Discord related things.

146 lines 7.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const Component_1 = tslib_1.__importDefault(require("./Component")); const oceanic_js_1 = require("oceanic.js"); class TextInput extends Component_1.default { customID; label; maxLength; minLength; placeholder; required; style; value; constructor(style, label, customID) { super(oceanic_js_1.ComponentTypes.TEXT_INPUT); this.style = style; this.label = label; this.customID = customID; } /** this method is meant to be for internal use only, don't use it, as it may break or change at a moments notice */ load(style, label, customID, placeholder, value, minLength, maxLength, required) { if (style) { this.setStyle(style); } if (label) { this.setLabel(label); } if (customID) { this.setCustomID(customID); } if (placeholder) { this.setPlaceholder(placeholder); } if (value) { this.setValue(value); } if (minLength) { this.setLength(minLength, undefined); } if (maxLength) { this.setLength(undefined, maxLength); } if (typeof required !== "undefined") { this.setRequired(required); } return this; } /** * Set the custom id of this text input. * @param customID A developer-defined identifier for the input, max 100 characters. */ setCustomID(customID) { this.customID = customID; return this; } /** * Set the label of this text input. * @param label The label to display on this text input. */ setLabel(label) { this.label = label; return this; } /** * Set the minimum/maximum length of this text input. * @param min The minimum length. * @param max The maximum length. */ setLength(min, max) { if (min) { this.minLength = min; } if (max) { this.maxLength = max; } return this; } /** * Make this text input optional. */ setOptional() { this.required = false; return this; } /** * Set the placeholder of this text input. * @param placeholder Custom placeholder text if nothing is selected, max 100 characters. */ setPlaceholder(placeholder) { this.placeholder = placeholder; return this; } /** * Make this text input required. * @param required If this text input should be required or not - default true, setOptional also exists. */ setRequired(required = true) { this.required = required; return this; } /** * Set the style of this text input. * @param style The [style](https://discord.com/developers/docs/interactions/message-components#text-inputs-text-input-styles) of this text input. */ setStyle(style) { this.style = style; return this; } /** * Set the initial value of this text input. * @param value A pre-filled value for this component, max 4000 characters. */ setValue(value) { this.value = value; return this; } toJSON() { return { type: this.type, customID: this.customID, style: this.style, label: this.label, minLength: this.minLength, maxLength: this.maxLength, required: this.required, value: this.value, placeholder: this.placeholder }; } toJSONRaw() { return { type: this.type, custom_id: this.customID, style: this.style, label: this.label, min_length: this.minLength, max_length: this.maxLength, required: this.required, value: this.value, placeholder: this.placeholder }; } } exports.default = TextInput; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dElucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL1N0cnVjdHVyZXMvVGV4dElucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9FQUFvQztBQUNwQywyQ0FBb0c7QUFFcEcsTUFBcUIsU0FBVSxTQUFRLG1CQUFvQztJQUN2RSxRQUFRLENBQVM7SUFDakIsS0FBSyxDQUFTO0lBQ2QsU0FBUyxDQUFVO0lBQ25CLFNBQVMsQ0FBVTtJQUNuQixXQUFXLENBQVU7SUFDckIsUUFBUSxDQUFXO0lBQ25CLEtBQUssQ0FBa0I7SUFDdkIsS0FBSyxDQUFVO0lBQ2YsWUFBWSxLQUFzQixFQUFFLEtBQWEsRUFBRSxRQUFnQjtRQUMvRCxLQUFLLENBQUMsMkJBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsb0hBQW9IO0lBQzVHLElBQUksQ0FBQyxLQUF1QixFQUFFLEtBQWMsRUFBRSxRQUFpQixFQUFFLFdBQW9CLEVBQUUsS0FBYyxFQUFFLFNBQWtCLEVBQUUsU0FBa0IsRUFBRSxRQUFrQjtRQUNySyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLFdBQVcsRUFBRTtZQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDcEM7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLFNBQVMsRUFBRTtZQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxTQUFTLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLFFBQWdCO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxHQUFZLEVBQUUsR0FBWTtRQUNoQyxJQUFJLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztTQUN4QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLFdBQW1CO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUk7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFzQjtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVRLE1BQU07UUFDWCxPQUFPO1lBQ0gsSUFBSSxFQUFTLElBQUksQ0FBQyxJQUFJO1lBQ3RCLFFBQVEsRUFBSyxJQUFJLENBQUMsUUFBUTtZQUMxQixLQUFLLEVBQVEsSUFBSSxDQUFDLEtBQUs7WUFDdkIsS0FBSyxFQUFRLElBQUksQ0FBQyxLQUFLO1lBQ3ZCLFNBQVMsRUFBSSxJQUFJLENBQUMsU0FBUztZQUMzQixTQUFTLEVBQUksSUFBSSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFLLElBQUksQ0FBQyxRQUFRO1lBQzFCLEtBQUssRUFBUSxJQUFJLENBQUMsS0FBSztZQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDaEMsQ0FBQztJQUNOLENBQUM7SUFFUSxTQUFTO1FBQ2QsT0FBTztZQUNILElBQUksRUFBUyxJQUFJLENBQUMsSUFBSTtZQUN0QixTQUFTLEVBQUksSUFBSSxDQUFDLFFBQVE7WUFDMUIsS0FBSyxFQUFRLElBQUksQ0FBQyxLQUFLO1lBQ3ZCLEtBQUssRUFBUSxJQUFJLENBQUMsS0FBSztZQUN2QixVQUFVLEVBQUcsSUFBSSxDQUFDLFNBQVM7WUFDM0IsVUFBVSxFQUFHLElBQUksQ0FBQyxTQUFTO1lBQzNCLFFBQVEsRUFBSyxJQUFJLENBQUMsUUFBUTtZQUMxQixLQUFLLEVBQVEsSUFBSSxDQUFDLEtBQUs7WUFDdkIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ2hDLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFySkQsNEJBcUpDIn0=