diff --git a/custom/modules/emmr_transcribe/emmr_transcribe.libraries.yml b/custom/modules/emmr_transcribe/emmr_transcribe.libraries.yml
index 734f78b..d9e2da7 100644
--- a/custom/modules/emmr_transcribe/emmr_transcribe.libraries.yml
+++ b/custom/modules/emmr_transcribe/emmr_transcribe.libraries.yml
@@ -16,3 +16,4 @@ admin:
css:
theme:
css/admin.css: { }
+ css/transcription.css: { }
diff --git a/custom/modules/emmr_transcribe/js/build/transInsert.js b/custom/modules/emmr_transcribe/js/build/transInsert.js
index c20d611..4ac5dc3 100644
--- a/custom/modules/emmr_transcribe/js/build/transInsert.js
+++ b/custom/modules/emmr_transcribe/js/build/transInsert.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.transInsert=t())}(self,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/ui.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/widget.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{"use strict";n.d(r,{default:()=>d});var e=n("ckeditor5/src/core.js"),t=n("ckeditor5/src/widget.js");class s extends e.Command{execute(){const{model:e}=this.editor;e.change((t=>{e.insertContent(function(e){const t=e.createElement("transInsert"),n=e.createElement("transInsertCaret");e.appendText("^",{},n);const r=e.createElement("transInsertText");let s=prompt("Enter transcription insert text");return e.appendText(s,{},r),e.append(n,t),e.append(r,t),t}(t))}))}refresh(){const{model:e}=this.editor,{selection:t}=e.document,n=e.schema.findAllowedParent(t.getFirstPosition(),"transInsert");this.isEnabled=null!==n}}class o extends e.Plugin{static get requires(){return[t.Widget]}init(){this._defineSchema(),this._defineConverters(),this.editor.commands.add("insertTransInsert",new s(this.editor))}_defineSchema(){const e=this.editor.model.schema;e.register("transInsert",{isObject:!0,allowWhere:"$block"}),e.register("transInsertCaret",{isLimit:!0,allowIn:"transInsert",allowContentOf:"$block"}),e.register("transInsertText",{isLimit:!0,allowIn:"transInsert",allowContentOf:"$block"}),e.addChildCheck(((e,t)=>{if(e.startsWith("trans")&&"transInsert"===t.name)return!1}))}_defineConverters(){const{conversion:e}=this.editor;e.for("upcast").elementToElement({model:"transInsert",view:{name:"trxnin"}}),e.for("upcast").elementToElement({model:"transInsertCaret",view:{name:"span",classes:"trxn-caret"}}),e.for("upcast").elementToElement({model:"transInsertText",view:{name:"span",classes:"trxn-text"}}),e.for("dataDowncast").elementToElement({model:"transInsert",view:{name:"trxnin"}}),e.for("dataDowncast").elementToElement({model:"transInsertCaret",view:{name:"span",classes:"trxn-caret"}}),e.for("dataDowncast").elementToElement({model:"transInsertText",view:{name:"span",classes:"trxn-text"}}),e.for("editingDowncast").elementToElement({model:"transInsert",view:(e,{writer:n})=>{const r=n.createContainerElement("trxnin",{});return(0,t.toWidget)(r,n,{label:"Transcription insert widget"})}}),e.for("editingDowncast").elementToElement({model:"transInsertCaret",view:(e,{writer:n})=>{const r=n.createContainerElement("span",{class:"trxn-caret"});return(0,t.toWidget)(r,n)}}),e.for("editingDowncast").elementToElement({model:"transInsertText",view:(e,{writer:n})=>{const r=n.createEditableElement("span",{class:"trxn-text"});return(0,t.toWidgetEditable)(r,n)}})}}var i=n("ckeditor5/src/ui.js");class a extends e.Plugin{init(){const e=this.editor;e.ui.componentFactory.add("transInsert",(t=>{const n=e.commands.get("insertTransInsert"),r=new i.ButtonView(t);return r.set({label:e.t("Transcription Insert"),icon:'\n',tooltip:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",(()=>e.execute("insertTransInsert"))),r}))}}class l extends e.Plugin{static get requires(){return[o,a]}}const d={TransInsert:l}})(),r=r.default})()));
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.transInsert=t())}(self,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/ui.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/widget.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{"use strict";n.d(r,{default:()=>d});var e=n("ckeditor5/src/core.js"),t=n("ckeditor5/src/widget.js");class s extends e.Command{execute(){const{model:e}=this.editor;e.change((t=>{e.insertContent(function(e){const t=e.createElement("transInsert"),n=e.createElement("transInsertCaret");e.appendText("^",{},n);const r=e.createElement("transInsertText");let s=prompt("Enter transcription insert text");return e.appendText(s,{},r),e.append(n,t),e.append(r,t),t}(t))}))}refresh(){const{model:e}=this.editor,{selection:t}=e.document,n=e.schema.findAllowedParent(t.getFirstPosition(),"transInsert");this.isEnabled=null!==n}}class o extends e.Plugin{static get requires(){return[t.Widget]}init(){this._defineSchema(),this._defineConverters(),this.editor.commands.add("insertTransInsert",new s(this.editor))}_defineSchema(){const e=this.editor.model.schema;e.register("transInsert",{isObject:!0,allowWhere:"$text"}),e.register("transInsertCaret",{isLimit:!0,allowIn:"transInsert",allowContentOf:"$block"}),e.register("transInsertText",{isLimit:!0,allowIn:"transInsert",allowContentOf:"$block"}),e.addChildCheck(((e,t)=>{if(e.startsWith("trans")&&"transInsert"===t.name)return!1}))}_defineConverters(){const{conversion:e}=this.editor;e.for("upcast").elementToElement({model:"transInsert",view:{name:"trxnin"}}),e.for("upcast").elementToElement({model:"transInsertCaret",view:{name:"span",classes:"trxn-caret"}}),e.for("upcast").elementToElement({model:"transInsertText",view:{name:"span",classes:"trxn-text"}}),e.for("dataDowncast").elementToElement({model:"transInsert",view:{name:"trxnin"}}),e.for("dataDowncast").elementToElement({model:"transInsertCaret",view:{name:"span",classes:"trxn-caret"}}),e.for("dataDowncast").elementToElement({model:"transInsertText",view:{name:"span",classes:"trxn-text"}}),e.for("editingDowncast").elementToElement({model:"transInsert",view:(e,{writer:n})=>{const r=n.createContainerElement("trxnin",{});return(0,t.toWidget)(r,n,{label:"Transcription insert widget"})}}),e.for("editingDowncast").elementToElement({model:"transInsertCaret",view:(e,{writer:n})=>{const r=n.createContainerElement("span",{class:"trxn-caret"});return(0,t.toWidget)(r,n)}}),e.for("editingDowncast").elementToElement({model:"transInsertText",view:(e,{writer:n})=>{const r=n.createEditableElement("span",{class:"trxn-text"});return(0,t.toWidgetEditable)(r,n)}})}}var i=n("ckeditor5/src/ui.js");class a extends e.Plugin{init(){const e=this.editor;e.ui.componentFactory.add("transInsert",(t=>{const n=e.commands.get("insertTransInsert"),r=new i.ButtonView(t);return r.set({label:e.t("Transcription Insert"),icon:'\n',tooltip:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",(()=>e.execute("insertTransInsert"))),r}))}}class l extends e.Plugin{static get requires(){return[o,a]}}const d={TransInsert:l}})(),r=r.default})()));
\ No newline at end of file
diff --git a/custom/modules/emmr_transcribe/js/build/transMargin.js b/custom/modules/emmr_transcribe/js/build/transMargin.js
index c104832..a8385cc 100644
--- a/custom/modules/emmr_transcribe/js/build/transMargin.js
+++ b/custom/modules/emmr_transcribe/js/build/transMargin.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.transMargin=t())}(self,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/ui.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/widget.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{"use strict";n.d(r,{default:()=>d});var e=n("ckeditor5/src/core.js"),t=n("ckeditor5/src/widget.js");class i extends e.Command{execute(){const{model:e}=this.editor;e.change((t=>{e.insertContent(function(e){const t=e.createElement("transMargin"),n=e.createElement("transMarginNumber");e.appendText("#",{},n);const r=e.createElement("transMarginText");let i=prompt("Enter transcription marginalia text");return e.appendText(i,{},r),e.append(n,t),e.append(r,t),t}(t))}))}refresh(){const{model:e}=this.editor,{selection:t}=e.document,n=e.schema.findAllowedParent(t.getFirstPosition(),"transMargin");this.isEnabled=null!==n}}class s extends e.Plugin{static get requires(){return[t.Widget]}init(){this._defineSchema(),this._defineConverters(),this.editor.commands.add("insertTransMargin",new i(this.editor))}_defineSchema(){const e=this.editor.model.schema;e.register("transMargin",{isObject:!0,allowWhere:"$block"}),e.register("transMarginNumber",{isLimit:!0,allowIn:"transMargin",allowContentOf:"$block"}),e.register("transMarginText",{isLimit:!0,allowIn:"transMargin",allowContentOf:"$block"}),e.addChildCheck(((e,t)=>{if(e.startsWith("trans")&&"transMargin"===t.name)return!1}))}_defineConverters(){const{conversion:e}=this.editor;e.for("upcast").elementToElement({model:"transMargin",view:{name:"trxnmar"}}),e.for("upcast").elementToElement({model:"transMarginNumber",view:{name:"span",classes:"trxn-number"}}),e.for("upcast").elementToElement({model:"transMarginText",view:{name:"span",classes:"trxn-text"}}),e.for("dataDowncast").elementToElement({model:"transMargin",view:{name:"trxnmar"}}),e.for("dataDowncast").elementToElement({model:"transMarginNumber",view:{name:"span",classes:"trxn-number"}}),e.for("dataDowncast").elementToElement({model:"transMarginText",view:{name:"span",classes:"trxn-text"}}),e.for("editingDowncast").elementToElement({model:"transMargin",view:(e,{writer:n})=>{const r=n.createContainerElement("trxnmar",{});return(0,t.toWidget)(r,n,{label:"Transcription marginalia widget"})}}),e.for("editingDowncast").elementToElement({model:"transMarginNumber",view:(e,{writer:n})=>{const r=n.createContainerElement("span",{class:"trxn-number"});return(0,t.toWidget)(r,n)}}),e.for("editingDowncast").elementToElement({model:"transMarginText",view:(e,{writer:n})=>{const r=n.createEditableElement("span",{class:"trxn-text"});return(0,t.toWidgetEditable)(r,n)}})}}var a=n("ckeditor5/src/ui.js");class o extends e.Plugin{init(){const e=this.editor;e.ui.componentFactory.add("transMargin",(t=>{const n=e.commands.get("insertTransMargin"),r=new a.ButtonView(t);return r.set({label:e.t("Transcription Marginalia"),icon:'\n',tooltip:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",(()=>e.execute("insertTransMargin"))),r}))}}class l extends e.Plugin{static get requires(){return[s,o]}}const d={TransMargin:l}})(),r=r.default})()));
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.transMargin=t())}(self,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/ui.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/widget.js":(e,t,n)=>{e.exports=n("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{"use strict";n.d(r,{default:()=>d});var e=n("ckeditor5/src/core.js"),t=n("ckeditor5/src/widget.js");class i extends e.Command{execute(){const{model:e}=this.editor;e.change((t=>{e.insertContent(function(e){const t=e.createElement("transMargin"),n=e.createElement("transMarginNumber");e.appendText("#",{},n);const r=e.createElement("transMarginText");let i=prompt("Enter transcription marginalia text");return e.appendText(i,{},r),e.append(n,t),e.append(r,t),t}(t))}))}refresh(){const{model:e}=this.editor,{selection:t}=e.document,n=e.schema.findAllowedParent(t.getFirstPosition(),"transMargin");this.isEnabled=null!==n}}class s extends e.Plugin{static get requires(){return[t.Widget]}init(){this._defineSchema(),this._defineConverters(),this.editor.commands.add("insertTransMargin",new i(this.editor))}_defineSchema(){const e=this.editor.model.schema;e.register("transMargin",{isObject:!0,allowWhere:"$text"}),e.register("transMarginNumber",{isLimit:!0,allowIn:"transMargin",allowContentOf:"$block"}),e.register("transMarginText",{isLimit:!0,allowIn:"transMargin",allowContentOf:"$block"}),e.addChildCheck(((e,t)=>{if(e.startsWith("trans")&&"transMargin"===t.name)return!1}))}_defineConverters(){const{conversion:e}=this.editor;e.for("upcast").elementToElement({model:"transMargin",view:{name:"trxnmar"}}),e.for("upcast").elementToElement({model:"transMarginNumber",view:{name:"span",classes:"trxn-number"}}),e.for("upcast").elementToElement({model:"transMarginText",view:{name:"span",classes:"trxn-text"}}),e.for("dataDowncast").elementToElement({model:"transMargin",view:{name:"trxnmar"}}),e.for("dataDowncast").elementToElement({model:"transMarginNumber",view:{name:"span",classes:"trxn-number"}}),e.for("dataDowncast").elementToElement({model:"transMarginText",view:{name:"span",classes:"trxn-text"}}),e.for("editingDowncast").elementToElement({model:"transMargin",view:(e,{writer:n})=>{const r=n.createContainerElement("trxnmar",{});return(0,t.toWidget)(r,n,{label:"Transcription marginalia widget"})}}),e.for("editingDowncast").elementToElement({model:"transMarginNumber",view:(e,{writer:n})=>{const r=n.createContainerElement("span",{class:"trxn-number"});return(0,t.toWidget)(r,n)}}),e.for("editingDowncast").elementToElement({model:"transMarginText",view:(e,{writer:n})=>{const r=n.createEditableElement("span",{class:"trxn-text"});return(0,t.toWidgetEditable)(r,n)}})}}var a=n("ckeditor5/src/ui.js");class o extends e.Plugin{init(){const e=this.editor;e.ui.componentFactory.add("transMargin",(t=>{const n=e.commands.get("insertTransMargin"),r=new a.ButtonView(t);return r.set({label:e.t("Transcription Marginalia"),icon:'\n',tooltip:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",(()=>e.execute("insertTransMargin"))),r}))}}class l extends e.Plugin{static get requires(){return[s,o]}}const d={TransMargin:l}})(),r=r.default})()));
\ No newline at end of file
diff --git a/custom/modules/emmr_transcribe/js/build/transReplace.js b/custom/modules/emmr_transcribe/js/build/transReplace.js
index 16c7de3..8da5869 100644
--- a/custom/modules/emmr_transcribe/js/build/transReplace.js
+++ b/custom/modules/emmr_transcribe/js/build/transReplace.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.transReplace=t())}(self,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,r)=>{e.exports=r("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/ui.js":(e,t,r)=>{e.exports=r("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/widget.js":(e,t,r)=>{e.exports=r("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,r),l.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n={};return(()=>{"use strict";r.d(n,{default:()=>c});var e=r("ckeditor5/src/core.js"),t=r("ckeditor5/src/widget.js");class s extends e.Command{execute(){const{model:e}=this.editor,{selection:t}=e.document,r=t.getFirstRange().getItems().next().value.data;e.change((t=>{e.insertContent(function(e,t){const r=e.createElement("transReplace"),n=e.createElement("transReplaceOld");e.appendText(t,{},n);const s=e.createElement("transReplaceText");let l=prompt("Enter transcription replacement text");return e.appendText(l,{},s),e.append(s,r),e.append(n,r),r}(t,r))}))}refresh(){const{model:e}=this.editor,{selection:t}=e.document,r=e.schema.findAllowedParent(t.getFirstPosition(),"transReplace");this.isEnabled=null!==r}}class l extends e.Plugin{static get requires(){return[t.Widget]}init(){this._defineSchema(),this._defineConverters(),this.editor.commands.add("insertTransReplace",new s(this.editor))}_defineSchema(){const e=this.editor.model.schema;e.register("transReplace",{isObject:!0,allowWhere:"$block"}),e.register("transReplaceOld",{isLimit:!0,allowIn:"transReplace",allowContentOf:"$block"}),e.register("transReplaceText",{isLimit:!0,allowIn:"transReplace",allowContentOf:"$block"}),e.addChildCheck(((e,t)=>{if(e.startsWith("trans")&&"transReplace"===t.name)return!1}))}_defineConverters(){const{conversion:e}=this.editor;e.for("upcast").elementToElement({model:"transReplace",view:{name:"trxnrep"}}),e.for("upcast").elementToElement({model:"transReplaceOld",view:{name:"s",classes:"trxn-replaced"}}),e.for("upcast").elementToElement({model:"transReplaceText",view:{name:"span",classes:"trxn-retext"}}),e.for("dataDowncast").elementToElement({model:"transReplace",view:{name:"trxnrep"}}),e.for("dataDowncast").elementToElement({model:"transReplaceOld",view:{name:"s",classes:"trxn-replaced"}}),e.for("dataDowncast").elementToElement({model:"transReplaceText",view:{name:"span",classes:"trxn-retext"}}),e.for("editingDowncast").elementToElement({model:"transReplace",view:(e,{writer:r})=>{const n=r.createContainerElement("trxnrep",{});return(0,t.toWidget)(n,r,{label:"Transcription replacement widget"})}}),e.for("editingDowncast").elementToElement({model:"transReplaceOld",view:(e,{writer:r})=>{const n=r.createContainerElement("s",{class:"trxn-replaced"});return(0,t.toWidget)(n,r)}}),e.for("editingDowncast").elementToElement({model:"transReplaceText",view:(e,{writer:r})=>{const n=r.createEditableElement("span",{class:"trxn-retext"});return(0,t.toWidgetEditable)(n,r)}})}}var a=r("ckeditor5/src/ui.js");class o extends e.Plugin{init(){const e=this.editor;e.ui.componentFactory.add("transReplace",(t=>{const r=e.commands.get("insertTransReplace"),n=new a.ButtonView(t);return n.set({label:e.t("Transcription Replace"),icon:'\n',tooltip:!0}),n.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(n,"execute",(()=>e.execute("insertTransReplace"))),n}))}}class i extends e.Plugin{static get requires(){return[l,o]}}const c={TransReplace:i}})(),n=n.default})()));
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.transReplace=t())}(self,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,r)=>{e.exports=r("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/ui.js":(e,t,r)=>{e.exports=r("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/widget.js":(e,t,r)=>{e.exports=r("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n={};return(()=>{"use strict";r.d(n,{default:()=>c});var e=r("ckeditor5/src/core.js"),t=r("ckeditor5/src/widget.js");class s extends e.Command{execute(){const{model:e}=this.editor,{selection:t}=e.document,r=t.getFirstRange().getItems().next().value.data;e.change((t=>{e.insertContent(function(e,t){const r=e.createElement("transReplace"),n=e.createElement("transReplaceOld");e.appendText(t,{},n);const s=e.createElement("transReplaceText");let a=prompt("Enter transcription replacement text");return e.appendText(a,{},s),e.append(s,r),e.append(n,r),r}(t,r))}))}refresh(){const{model:e}=this.editor,{selection:t}=e.document,r=e.schema.findAllowedParent(t.getFirstPosition(),"transReplace");this.isEnabled=null!==r}}class a extends e.Plugin{static get requires(){return[t.Widget]}init(){this._defineSchema(),this._defineConverters(),this.editor.commands.add("insertTransReplace",new s(this.editor))}_defineSchema(){const e=this.editor.model.schema;e.register("transReplace",{isObject:!0,allowWhere:"$text"}),e.register("transReplaceOld",{isLimit:!0,allowIn:"transReplace",allowContentOf:"$block"}),e.register("transReplaceText",{isLimit:!0,allowIn:"transReplace",allowContentOf:"$block"}),e.addChildCheck(((e,t)=>{if(e.startsWith("trans")&&"transReplace"===t.name)return!1}))}_defineConverters(){const{conversion:e}=this.editor;e.for("upcast").elementToElement({model:"transReplace",view:{name:"trxnrep"}}),e.for("upcast").elementToElement({model:"transReplaceOld",view:{name:"s",classes:"trxn-replaced"}}),e.for("upcast").elementToElement({model:"transReplaceText",view:{name:"span",classes:"trxn-retext"}}),e.for("dataDowncast").elementToElement({model:"transReplace",view:{name:"trxnrep"}}),e.for("dataDowncast").elementToElement({model:"transReplaceOld",view:{name:"s",classes:"trxn-replaced"}}),e.for("dataDowncast").elementToElement({model:"transReplaceText",view:{name:"span",classes:"trxn-retext"}}),e.for("editingDowncast").elementToElement({model:"transReplace",view:(e,{writer:r})=>{const n=r.createContainerElement("trxnrep",{});return(0,t.toWidget)(n,r,{label:"Transcription replacement widget"})}}),e.for("editingDowncast").elementToElement({model:"transReplaceOld",view:(e,{writer:r})=>{const n=r.createContainerElement("s",{class:"trxn-replaced"});return(0,t.toWidget)(n,r)}}),e.for("editingDowncast").elementToElement({model:"transReplaceText",view:(e,{writer:r})=>{const n=r.createEditableElement("span",{class:"trxn-retext"});return(0,t.toWidgetEditable)(n,r)}})}}var l=r("ckeditor5/src/ui.js");class o extends e.Plugin{init(){const e=this.editor;e.ui.componentFactory.add("transReplace",(t=>{const r=e.commands.get("insertTransReplace"),n=new l.ButtonView(t);return n.set({label:e.t("Transcription Replace"),icon:'\n',tooltip:!0}),n.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(n,"execute",(()=>e.execute("insertTransReplace"))),n}))}}class i extends e.Plugin{static get requires(){return[a,o]}}const c={TransReplace:i}})(),n=n.default})()));
\ No newline at end of file
diff --git a/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transInsert/src/transinsertediting.js b/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transInsert/src/transinsertediting.js
index ffa6899..3e3613a 100644
--- a/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transInsert/src/transinsertediting.js
+++ b/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transInsert/src/transinsertediting.js
@@ -57,7 +57,7 @@ export default class TransInsertEditing extends Plugin {
// Behaves like a self-contained object (e.g. an image).
isObject: true,
// Allow in places where other blocks are allowed (e.g. directly in the root).
- allowWhere: '$block',
+ allowWhere: '$text',
});
schema.register('transInsertCaret', {
diff --git a/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transMargin/src/transmarginediting.js b/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transMargin/src/transmarginediting.js
index 40c0a40..1215ae9 100644
--- a/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transMargin/src/transmarginediting.js
+++ b/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transMargin/src/transmarginediting.js
@@ -57,7 +57,7 @@ export default class TransMarginEditing extends Plugin {
// Behaves like a self-contained object (e.g. an image).
isObject: true,
// Allow in places where other blocks are allowed (e.g. directly in the root).
- allowWhere: '$block',
+ allowWhere: '$text',
});
schema.register('transMarginNumber', {
diff --git a/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transReplace/src/transreplaceediting.js b/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transReplace/src/transreplaceediting.js
index e018e99..c36f4a6 100644
--- a/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transReplace/src/transreplaceediting.js
+++ b/custom/modules/emmr_transcribe/js/ckeditor5_plugins/transReplace/src/transreplaceediting.js
@@ -57,7 +57,7 @@ export default class TransReplaceEditing extends Plugin {
// Behaves like a self-contained object (e.g. an image).
isObject: true,
// Allow in places where other blocks are allowed (e.g. directly in the root).
- allowWhere: '$block',
+ allowWhere: '$text',
});
schema.register('transReplaceOld', {
diff --git a/custom/themes/emmr_lib_unb_ca/src/scss/style.scss b/custom/themes/emmr_lib_unb_ca/src/scss/style.scss
index 7dfcfcc..b6b5a19 100644
--- a/custom/themes/emmr_lib_unb_ca/src/scss/style.scss
+++ b/custom/themes/emmr_lib_unb_ca/src/scss/style.scss
@@ -652,10 +652,10 @@ h1.page-header > a {
}
/* Transcription */
-trxnin, trxnin + p, p:has(+ trxnin),
-trxnrep, trxnrep + p, p:has(+ trxnrep),
-trxnmar, trxnmar + p, p:has(+ trxnmar) {
- display: inline;
+trxnin, trxnin span,
+trxnrep, trxnrep span, trxnrep s,
+trxnmar, trxnmar span {
+ display: inline-block;
}
#recipe-trans .trxn-caret {
@@ -702,6 +702,8 @@ trxnmar, trxnmar + p, p:has(+ trxnmar) {
}
.trxn-number {
+ line-height: 2rem;
+ height: 2rem;
background-color: $color-red;
color: white;
padding: 0 3px;
@@ -728,6 +730,13 @@ trxnmar, trxnmar + p, p:has(+ trxnmar) {
padding-left: 40px;
}
+/* In-editor */
+trxnin span,
+trxnrep span, trxnrep s,
+trxnmar span {
+ color: $color-red;
+}
+
/* Adcanced Sources View */
.advanced-source-row {
padding-bottom: 20px;