@oceanicjs/builders
Version:
Helpful builders for various Discord related things.
146 lines • 7.85 kB
JavaScript
"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dElucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL1N0cnVjdHVyZXMvVGV4dElucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9FQUFvQztBQUNwQywyQ0FBb0c7QUFFcEcsTUFBcUIsU0FBVSxTQUFRLG1CQUFvQztJQUN2RSxRQUFRLENBQVM7SUFDakIsS0FBSyxDQUFTO0lBQ2QsU0FBUyxDQUFVO0lBQ25CLFNBQVMsQ0FBVTtJQUNuQixXQUFXLENBQVU7SUFDckIsUUFBUSxDQUFXO0lBQ25CLEtBQUssQ0FBa0I7SUFDdkIsS0FBSyxDQUFVO0lBQ2YsWUFBWSxLQUFzQixFQUFFLEtBQWEsRUFBRSxRQUFnQjtRQUMvRCxLQUFLLENBQUMsMkJBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsb0hBQW9IO0lBQzVHLElBQUksQ0FBQyxLQUF1QixFQUFFLEtBQWMsRUFBRSxRQUFpQixFQUFFLFdBQW9CLEVBQUUsS0FBYyxFQUFFLFNBQWtCLEVBQUUsU0FBa0IsRUFBRSxRQUFrQjtRQUNySyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLFdBQVcsRUFBRTtZQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDcEM7UUFDRCxJQUFJLEtBQUssRUFBRTtZ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