"use strict"; class Rich_Text_Editor extends Component { on_ready() { const $editor = this.$sid('editor'); // Toolbar button handlers this.$sid('toolbar').find('[data-command]').on('click', e => { e.preventDefault(); const command = $(e.currentTarget).attr('data-command'); if (command === 'createLink') { const url = prompt('Enter URL:'); if (url) { document.execCommand(command, false, url); } } else { document.execCommand(command, false, null); } $editor.focus(); }); // Track changes $editor.on('input', () => { if (this.args.on_change) { this.args.on_change(this.get_value()); } }); // Prevent default behavior on paste (optional - can be customized) $editor.on('paste', e => { if (this.args.plain_text_paste) { e.preventDefault(); const text = e.originalEvent.clipboardData.getData('text/plain'); document.execCommand('insertText', false, text); } }); } get_value() { return this.$sid('editor').html(); } get_text() { return this.$sid('editor').text(); } set_value(html) { this.$sid('editor').html(html); } clear() { this.$sid('editor').empty(); } focus() { this.$sid('editor').focus(); } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSaWNoX1RleHRfRWRpdG9yIiwiSnFodG1sX0NvbXBvbmVudCIsIm9uX3JlYWR5IiwiJGVkaXRvciIsIiRpZCIsImZpbmQiLCJvbiIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImNvbW1hbmQiLCIkIiwiY3VycmVudFRhcmdldCIsImF0dHIiLCJ1cmwiLCJwcm9tcHQiLCJkb2N1bWVudCIsImV4ZWNDb21tYW5kIiwiZm9jdXMiLCJhcmdzIiwib25fY2hhbmdlIiwiZ2V0X3ZhbHVlIiwicGxhaW5fdGV4dF9wYXN0ZSIsInRleHQiLCJvcmlnaW5hbEV2ZW50IiwiY2xpcGJvYXJkRGF0YSIsImdldERhdGEiLCJodG1sIiwiZ2V0X3RleHQiLCJzZXRfdmFsdWUiLCJjbGVhciIsImVtcHR5Il0sInNvdXJjZXMiOlsicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvUmljaF9UZXh0X0VkaXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBSaWNoX1RleHRfRWRpdG9yIGV4dGVuZHMgSnFodG1sX0NvbXBvbmVudCB7XG4gICAgb25fcmVhZHkoKSB7XG4gICAgICAgIGNvbnN0ICRlZGl0b3IgPSB0aGlzLiRpZCgnZWRpdG9yJyk7XG5cbiAgICAgICAgLy8gVG9vbGJhciBidXR0b24gaGFuZGxlcnNcbiAgICAgICAgdGhpcy4kaWQoJ3Rvb2xiYXInKS5maW5kKCdbZGF0YS1jb21tYW5kXScpLm9uKCdjbGljaycsIChlKSA9PiB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBjb21tYW5kID0gJChlLmN1cnJlbnRUYXJnZXQpLmF0dHIoJ2RhdGEtY29tbWFuZCcpO1xuXG4gICAgICAgICAgICBpZiAoY29tbWFuZCA9PT0gJ2NyZWF0ZUxpbmsnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gcHJvbXB0KCdFbnRlciBVUkw6Jyk7XG4gICAgICAgICAgICAgICAgaWYgKHVybCkge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZChjb21tYW5kLCBmYWxzZSwgdXJsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKGNvbW1hbmQsIGZhbHNlLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJGVkaXRvci5mb2N1cygpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBUcmFjayBjaGFuZ2VzXG4gICAgICAgICRlZGl0b3Iub24oJ2lucHV0JywgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXJncy5vbl9jaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFyZ3Mub25fY2hhbmdlKHRoaXMuZ2V0X3ZhbHVlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBQcmV2ZW50IGRlZmF1bHQgYmVoYXZpb3Igb24gcGFzdGUgKG9wdGlvbmFsIC0gY2FuIGJlIGN1c3RvbWl6ZWQpXG4gICAgICAgICRlZGl0b3Iub24oJ3Bhc3RlJywgKGUpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFyZ3MucGxhaW5fdGV4dF9wYXN0ZSkge1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gZS5vcmlnaW5hbEV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsIHRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRfdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiRpZCgnZWRpdG9yJykuaHRtbCgpO1xuICAgIH1cblxuICAgIGdldF90ZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kaWQoJ2VkaXRvcicpLnRleHQoKTtcbiAgICB9XG5cbiAgICBzZXRfdmFsdWUoaHRtbCkge1xuICAgICAgICB0aGlzLiRpZCgnZWRpdG9yJykuaHRtbChodG1sKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy4kaWQoJ2VkaXRvcicpLmVtcHR5KCk7XG4gICAgfVxuXG4gICAgZm9jdXMoKSB7XG4gICAgICAgIHRoaXMuJGlkKCdlZGl0b3InKS5mb2N1cygpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxnQkFBZ0IsU0FBU0MsZ0JBQWdCLENBQUM7RUFDNUNDLFFBQVFBLENBQUEsRUFBRztJQUNQLE1BQU1DLE9BQU8sR0FBRyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxRQUFRLENBQUM7O0lBRWxDO0lBQ0EsSUFBSSxDQUFDQSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDQyxFQUFFLENBQUMsT0FBTyxFQUFHQyxDQUFDLElBQUs7TUFDMURBLENBQUMsQ0FBQ0MsY0FBYyxDQUFDLENBQUM7TUFDbEIsTUFBTUMsT0FBTyxHQUFHQyxDQUFDLENBQUNILENBQUMsQ0FBQ0ksYUFBYSxDQUFDLENBQUNDLElBQUksQ0FBQyxjQUFjLENBQUM7TUFFdkQsSUFBSUgsT0FBTyxLQUFLLFlBQVksRUFBRTtRQUMxQixNQUFNSSxHQUFHLEdBQUdDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDaEMsSUFBSUQsR0FBRyxFQUFFO1VBQ0xFLFFBQVEsQ0FBQ0MsV0FBVyxDQUFDUCxPQUFPLEVBQUUsS0FBSyxFQUFFSSxHQUFHLENBQUM7UUFDN0M7TUFDSixDQUFDLE1BQU07UUFDSEUsUUFBUSxDQUFDQyxXQUFXLENBQUNQLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO01BQzlDO01BRUFOLE9BQU8sQ0FBQ2MsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDOztJQUVGO0lBQ0FkLE9BQU8sQ0FBQ0csRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNO01BQ3RCLElBQUksSUFBSSxDQUFDWSxJQUFJLENBQUNDLFNBQVMsRUFBRTtRQUNyQixJQUFJLENBQUNELElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUksQ0FBQ0MsU0FBUyxDQUFDLENBQUMsQ0FBQztNQUN6QztJQUNKLENBQUMsQ0FBQzs7SUFFRjtJQUNBakIsT0FBTyxDQUFDRyxFQUFFLENBQUMsT0FBTyxFQUFHQyxDQUFDLElBQUs7TUFDdkIsSUFBSSxJQUFJLENBQUNXLElBQUksQ0FBQ0csZ0JBQWdCLEVBQUU7UUFDNUJkLENBQUMsQ0FBQ0MsY0FBYyxDQUFDLENBQUM7UUFDbEIsTUFBTWMsSUFBSSxHQUFHZixDQUFDLENBQUNnQixhQUFhLENBQUNDLGFBQWEsQ0FBQ0MsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUNoRVYsUUFBUSxDQUFDQyxXQUFXLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRU0sSUFBSSxDQUFDO01BQ25EO0lBQ0osQ0FBQyxDQUFDO0VBQ047RUFFQUYsU0FBU0EsQ0FBQSxFQUFHO0lBQ1IsT0FBTyxJQUFJLENBQUNoQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUNzQixJQUFJLENBQUMsQ0FBQztFQUNwQztFQUVBQyxRQUFRQSxDQUFBLEVBQUc7SUFDUCxPQUFPLElBQUksQ0FBQ3ZCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQ2tCLElBQUksQ0FBQyxDQUFDO0VBQ3BDO0VBRUFNLFNBQVNBLENBQUNGLElBQUksRUFBRTtJQUNaLElBQUksQ0FBQ3RCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQ3NCLElBQUksQ0FBQ0EsSUFBSSxDQUFDO0VBQ2pDO0VBRUFHLEtBQUtBLENBQUEsRUFBRztJQUNKLElBQUksQ0FBQ3pCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQzBCLEtBQUssQ0FBQyxDQUFDO0VBQzlCO0VBRUFiLEtBQUtBLENBQUEsRUFBRztJQUNKLElBQUksQ0FBQ2IsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDYSxLQUFLLENBQUMsQ0FBQztFQUM5QjtBQUNKIiwiaWdub3JlTGlzdCI6W119