@shgysk8zer0/slack
Version:
An npm package for sending messages in Slack
46 lines (35 loc) • 1.05 kB
JavaScript
;
var input = require('./input.cjs');
var functions = require('../../functions.cjs');
var validation = require('../../validation.cjs');
class SlackEmailInputElement extends input.SlackInputElement {
#initialValue;
constructor({ id, action, autoFocus = false, placeholder, initialValue } = {}) {
super({ id, action, autoFocus, placeholder });
if (typeof initialValue !== 'undefined') {
this.initialValue = initialValue.toString();
}
}
get initialValue() {
return this.#initialValue;
}
set initialValue(val) {
if (validation.isEmail(val)) {
this.#initialValue = val;
} else {
throw new TypeError('initialValue must be a non-empty string.');
}
}
toJSON() {
return {
...super.toJSON(),
initial_value: this.#initialValue,
};
}
static get TYPE() {
return 'email_text_input';
}
}
const createSlackEmailInputElement = functions.createFactory(SlackEmailInputElement);
exports.SlackEmailInputElement = SlackEmailInputElement;
exports.createSlackEmailInputElement = createSlackEmailInputElement;