@hmcts/ccd-case-ui-toolkit 7.3.96 → 7.3.97

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25958,11 +25958,11 @@ class ReadRichTextAreaFieldComponent extends AbstractFieldReadComponent {
25958
25958
  i0.ɵɵelement(0, "div", 0);
25959
25959
  } if (rf & 2) {
25960
25960
  i0.ɵɵproperty("innerHTML", ctx.sanitisedValue(), i0.ɵɵsanitizeHtml);
25961
- } }, styles: ["@charset \"UTF-8\";.ccd-rich-text-area-read{overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area-read strong,.ccd-rich-text-area-read strong *,.ccd-rich-text-area-read b,.ccd-rich-text-area-read b *{font-weight:700}.ccd-rich-text-area-read strong u,.ccd-rich-text-area-read u strong,.ccd-rich-text-area-read b u,.ccd-rich-text-area-read u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area-read p,.ccd-rich-text-area-read ul,.ccd-rich-text-area-read ol{margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area-read p:empty:before{content:\"\\a0\"}.ccd-rich-text-area-read ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area-read ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area-read ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area-read ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area-read ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area-read li{display:list-item;margin-bottom:5px}.ccd-rich-text-area-read li>p{margin:0}.ccd-rich-text-area-read li>ul,.ccd-rich-text-area-read li>ol{margin-top:5px}.ccd-rich-text-area-read h1{font-size:20px;font-weight:700}.ccd-rich-text-area-read .ccd-rich-text-indent-1{margin-left:40px}.ccd-rich-text-area-read .ccd-rich-text-indent-2{margin-left:80px}.ccd-rich-text-area-read .ccd-rich-text-indent-3{margin-left:120px}.ccd-rich-text-area-read .ccd-rich-text-indent-4{margin-left:160px}.ccd-rich-text-area-read .ccd-rich-text-indent-5{margin-left:200px}.ccd-rich-text-area-read .ccd-rich-text-indent-6{margin-left:240px}\n"], encapsulation: 2 });
25961
+ } }, styles: ["@charset \"UTF-8\";.ccd-rich-text-area-read{font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area-read strong,.ccd-rich-text-area-read strong *,.ccd-rich-text-area-read b,.ccd-rich-text-area-read b *{font-weight:700}.ccd-rich-text-area-read strong u,.ccd-rich-text-area-read u strong,.ccd-rich-text-area-read b u,.ccd-rich-text-area-read u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area-read p,.ccd-rich-text-area-read ul,.ccd-rich-text-area-read ol,.ccd-rich-text-area-read li{font-size:14px;margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area-read p:empty:before{content:\"\\a0\"}.ccd-rich-text-area-read ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area-read ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area-read ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area-read ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area-read ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area-read li{display:list-item;margin-bottom:5px}.ccd-rich-text-area-read li>p{margin:0}.ccd-rich-text-area-read li>ul,.ccd-rich-text-area-read li>ol{margin-top:5px}.ccd-rich-text-area-read h1{font-size:20px;font-weight:700}.ccd-rich-text-area-read h2{font-size:18px;font-weight:700}.ccd-rich-text-area-read h3{font-size:16px;font-weight:700}.ccd-rich-text-area-read .ccd-rich-text-indent-1{margin-left:40px}.ccd-rich-text-area-read .ccd-rich-text-indent-2{margin-left:80px}.ccd-rich-text-area-read .ccd-rich-text-indent-3{margin-left:120px}.ccd-rich-text-area-read .ccd-rich-text-indent-4{margin-left:160px}.ccd-rich-text-area-read .ccd-rich-text-indent-5{margin-left:200px}.ccd-rich-text-area-read .ccd-rich-text-indent-6{margin-left:240px}\n"], encapsulation: 2 });
25962
25962
  }
25963
25963
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadRichTextAreaFieldComponent, [{
25964
25964
  type: Component,
25965
- args: [{ selector: 'ccd-read-rich-text-area-field', template: `<div class="ccd-rich-text-area-read" [innerHTML]="sanitisedValue()"></div>`, encapsulation: ViewEncapsulation.None, standalone: false, styles: ["@charset \"UTF-8\";.ccd-rich-text-area-read{overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area-read strong,.ccd-rich-text-area-read strong *,.ccd-rich-text-area-read b,.ccd-rich-text-area-read b *{font-weight:700}.ccd-rich-text-area-read strong u,.ccd-rich-text-area-read u strong,.ccd-rich-text-area-read b u,.ccd-rich-text-area-read u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area-read p,.ccd-rich-text-area-read ul,.ccd-rich-text-area-read ol{margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area-read p:empty:before{content:\"\\a0\"}.ccd-rich-text-area-read ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area-read ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area-read ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area-read ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area-read ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area-read li{display:list-item;margin-bottom:5px}.ccd-rich-text-area-read li>p{margin:0}.ccd-rich-text-area-read li>ul,.ccd-rich-text-area-read li>ol{margin-top:5px}.ccd-rich-text-area-read h1{font-size:20px;font-weight:700}.ccd-rich-text-area-read .ccd-rich-text-indent-1{margin-left:40px}.ccd-rich-text-area-read .ccd-rich-text-indent-2{margin-left:80px}.ccd-rich-text-area-read .ccd-rich-text-indent-3{margin-left:120px}.ccd-rich-text-area-read .ccd-rich-text-indent-4{margin-left:160px}.ccd-rich-text-area-read .ccd-rich-text-indent-5{margin-left:200px}.ccd-rich-text-area-read .ccd-rich-text-indent-6{margin-left:240px}\n"] }]
25965
+ args: [{ selector: 'ccd-read-rich-text-area-field', template: `<div class="ccd-rich-text-area-read" [innerHTML]="sanitisedValue()"></div>`, encapsulation: ViewEncapsulation.None, standalone: false, styles: ["@charset \"UTF-8\";.ccd-rich-text-area-read{font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area-read strong,.ccd-rich-text-area-read strong *,.ccd-rich-text-area-read b,.ccd-rich-text-area-read b *{font-weight:700}.ccd-rich-text-area-read strong u,.ccd-rich-text-area-read u strong,.ccd-rich-text-area-read b u,.ccd-rich-text-area-read u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area-read p,.ccd-rich-text-area-read ul,.ccd-rich-text-area-read ol,.ccd-rich-text-area-read li{font-size:14px;margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area-read p:empty:before{content:\"\\a0\"}.ccd-rich-text-area-read ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area-read ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area-read ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area-read ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area-read ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area-read li{display:list-item;margin-bottom:5px}.ccd-rich-text-area-read li>p{margin:0}.ccd-rich-text-area-read li>ul,.ccd-rich-text-area-read li>ol{margin-top:5px}.ccd-rich-text-area-read h1{font-size:20px;font-weight:700}.ccd-rich-text-area-read h2{font-size:18px;font-weight:700}.ccd-rich-text-area-read h3{font-size:16px;font-weight:700}.ccd-rich-text-area-read .ccd-rich-text-indent-1{margin-left:40px}.ccd-rich-text-area-read .ccd-rich-text-indent-2{margin-left:80px}.ccd-rich-text-area-read .ccd-rich-text-indent-3{margin-left:120px}.ccd-rich-text-area-read .ccd-rich-text-indent-4{margin-left:160px}.ccd-rich-text-area-read .ccd-rich-text-indent-5{margin-left:200px}.ccd-rich-text-area-read .ccd-rich-text-indent-6{margin-left:240px}\n"] }]
25966
25966
  }], () => [{ type: i1$5.DomSanitizer }], null); })();
25967
25967
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadRichTextAreaFieldComponent, { className: "ReadRichTextAreaFieldComponent", filePath: "lib/shared/components/palette/rich-text-area/read-rich-text-area-field.component.ts", lineNumber: 13 }); })();
25968
25968
 
@@ -25971,7 +25971,7 @@ const _c1$e = a0 => ({ "form-group-error": a0 });
25971
25971
  const _c2$3 = a0 => ({ "ccd-rich-text-area__editor--error": a0 });
25972
25972
  const _c3 = a0 => ({ "ccd-rich-text-area__toolbar-button--active": a0 });
25973
25973
  function WriteRichTextAreaFieldComponent_span_2_Template(rf, ctx) { if (rf & 1) {
25974
- i0.ɵɵelementStart(0, "span", 41);
25974
+ i0.ɵɵelementStart(0, "span", 48);
25975
25975
  i0.ɵɵtext(1);
25976
25976
  i0.ɵɵpipe(2, "ccdFieldLabel");
25977
25977
  i0.ɵɵelementEnd();
@@ -25981,7 +25981,7 @@ function WriteRichTextAreaFieldComponent_span_2_Template(rf, ctx) { if (rf & 1)
25981
25981
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r1.caseField));
25982
25982
  } }
25983
25983
  function WriteRichTextAreaFieldComponent_span_3_Template(rf, ctx) { if (rf & 1) {
25984
- i0.ɵɵelementStart(0, "span", 42);
25984
+ i0.ɵɵelementStart(0, "span", 49);
25985
25985
  i0.ɵɵtext(1);
25986
25986
  i0.ɵɵpipe(2, "rpxTranslate");
25987
25987
  i0.ɵɵelementEnd();
@@ -25991,8 +25991,8 @@ function WriteRichTextAreaFieldComponent_span_3_Template(rf, ctx) { if (rf & 1)
25991
25991
  i0.ɵɵadvance();
25992
25992
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r1.caseField.hint_text));
25993
25993
  } }
25994
- function WriteRichTextAreaFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
25995
- i0.ɵɵelementStart(0, "span", 43);
25994
+ function WriteRichTextAreaFieldComponent_span_6_Template(rf, ctx) { if (rf & 1) {
25995
+ i0.ɵɵelementStart(0, "span", 50);
25996
25996
  i0.ɵɵtext(1);
25997
25997
  i0.ɵɵpipe(2, "ccdFirstError");
25998
25998
  i0.ɵɵelementEnd();
@@ -26002,8 +26002,31 @@ function WriteRichTextAreaFieldComponent_span_4_Template(rf, ctx) { if (rf & 1)
26002
26002
  i0.ɵɵadvance();
26003
26003
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 2, ctx_r1.richTextAreaControl.errors, ctx_r1.caseField.label), " ");
26004
26004
  } }
26005
- function WriteRichTextAreaFieldComponent_option_41_Template(rf, ctx) { if (rf & 1) {
26006
- i0.ɵɵelementStart(0, "option", 44);
26005
+ function WriteRichTextAreaFieldComponent_div_35_Template(rf, ctx) { if (rf & 1) {
26006
+ const _r3 = i0.ɵɵgetCurrentView();
26007
+ i0.ɵɵelementStart(0, "div", 51)(1, "label", 52);
26008
+ i0.ɵɵtext(2, "Heading level");
26009
+ i0.ɵɵelementEnd();
26010
+ i0.ɵɵelementStart(3, "select", 53);
26011
+ i0.ɵɵlistener("change", function WriteRichTextAreaFieldComponent_div_35_Template_select_change_3_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onHeadingLevelChange($event)); });
26012
+ i0.ɵɵelementStart(4, "option", 54);
26013
+ i0.ɵɵtext(5, "Heading 1");
26014
+ i0.ɵɵelementEnd();
26015
+ i0.ɵɵelementStart(6, "option", 55);
26016
+ i0.ɵɵtext(7, "Heading 2");
26017
+ i0.ɵɵelementEnd();
26018
+ i0.ɵɵelementStart(8, "option", 56);
26019
+ i0.ɵɵtext(9, "Heading 3");
26020
+ i0.ɵɵelementEnd()()();
26021
+ } if (rf & 2) {
26022
+ const ctx_r1 = i0.ɵɵnextContext();
26023
+ i0.ɵɵadvance();
26024
+ i0.ɵɵproperty("for", ctx_r1.headingLevelId());
26025
+ i0.ɵɵadvance(2);
26026
+ i0.ɵɵproperty("id", ctx_r1.headingLevelId())("value", ctx_r1.selectedHeadingLevel);
26027
+ } }
26028
+ function WriteRichTextAreaFieldComponent_option_48_Template(rf, ctx) { if (rf & 1) {
26029
+ i0.ɵɵelementStart(0, "option", 57);
26007
26030
  i0.ɵɵtext(1, "No list");
26008
26031
  i0.ɵɵelementEnd();
26009
26032
  } }
@@ -26027,6 +26050,7 @@ function orderedListTypeForStyle(style) {
26027
26050
  }
26028
26051
  const WORD_COLUMN_SPACING = 12;
26029
26052
  const MAX_INDENT = 6;
26053
+ const DEFAULT_HEADING_LEVEL = 3;
26030
26054
  const CSS_LENGTH_UNITS = ['rem', 'px', 'pt', 'in', 'cm', 'mm', 'em'];
26031
26055
  const BLOCK_NODE_NAMES = new Set([
26032
26056
  'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form',
@@ -26034,6 +26058,13 @@ const BLOCK_NODE_NAMES = new Set([
26034
26058
  ]);
26035
26059
  const richTextNodes = {
26036
26060
  ...nodes,
26061
+ heading: {
26062
+ ...nodes.heading,
26063
+ attrs: {
26064
+ ...nodes.heading.attrs,
26065
+ level: { default: DEFAULT_HEADING_LEVEL }
26066
+ }
26067
+ },
26037
26068
  list_item: {
26038
26069
  ...nodes.list_item,
26039
26070
  content: '(paragraph | heading) block*'
@@ -26088,10 +26119,12 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26088
26119
  editor;
26089
26120
  richTextAreaControl;
26090
26121
  activeToolbarCommands = {};
26122
+ selectedHeadingLevel = DEFAULT_HEADING_LEVEL;
26091
26123
  editorUpdateSubscription;
26092
26124
  isNormalisingValue = false;
26093
26125
  paragraphCommandApplied = false;
26094
26126
  statusChangesSubscription;
26127
+ toolbarPointerInteraction = false;
26095
26128
  valueChangesSubscription;
26096
26129
  ngOnInit() {
26097
26130
  this.editor = new Editor({
@@ -26155,9 +26188,15 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26155
26188
  errorId() {
26156
26189
  return `${this.id()}_error`;
26157
26190
  }
26191
+ keyboardInstructionsId() {
26192
+ return `${this.id()}_keyboard_instructions`;
26193
+ }
26158
26194
  listStyleId() {
26159
26195
  return `${this.id()}_list_style`;
26160
26196
  }
26197
+ headingLevelId() {
26198
+ return `${this.id()}_heading_level`;
26199
+ }
26161
26200
  toolbarLabel() {
26162
26201
  return `${this.caseField.label || this.caseField.id} formatting options`;
26163
26202
  }
@@ -26168,10 +26207,70 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26168
26207
  this.richTextAreaControl.markAsTouched();
26169
26208
  this.syncAccessibilityLater();
26170
26209
  }
26210
+ onEditorClick() {
26211
+ this.syncAccessibilityLater();
26212
+ }
26171
26213
  onToolbarButtonMouseDown(event) {
26214
+ this.toolbarPointerInteraction = true;
26215
+ this.setToolbarTabStop(event.currentTarget);
26172
26216
  event.preventDefault();
26173
26217
  }
26218
+ onToolbarFocusIn(event) {
26219
+ const control = event.target;
26220
+ if (control?.matches('button, select')) {
26221
+ this.setToolbarTabStop(control);
26222
+ }
26223
+ }
26224
+ onToolbarKeyDown(event) {
26225
+ if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {
26226
+ return;
26227
+ }
26228
+ const control = event.target;
26229
+ if (!control?.matches('button, select')) {
26230
+ return;
26231
+ }
26232
+ const isSelect = control.tagName === 'SELECT';
26233
+ const isPrevious = event.key === 'ArrowLeft';
26234
+ const isNext = event.key === 'ArrowRight';
26235
+ const isFirst = event.key === 'Home' && !isSelect;
26236
+ const isLast = event.key === 'End' && !isSelect;
26237
+ if (!isPrevious && !isNext && !isFirst && !isLast) {
26238
+ return;
26239
+ }
26240
+ const controls = this.toolbarControls();
26241
+ const currentIndex = controls.indexOf(control);
26242
+ if (currentIndex === -1 || controls.length === 0) {
26243
+ return;
26244
+ }
26245
+ event.preventDefault();
26246
+ event.stopPropagation();
26247
+ let nextIndex;
26248
+ if (isFirst) {
26249
+ nextIndex = 0;
26250
+ }
26251
+ else if (isLast) {
26252
+ nextIndex = controls.length - 1;
26253
+ }
26254
+ else {
26255
+ const direction = isPrevious ? -1 : 1;
26256
+ nextIndex = (currentIndex + direction + controls.length) % controls.length;
26257
+ }
26258
+ const nextControl = controls[nextIndex];
26259
+ this.setToolbarTabStop(nextControl);
26260
+ nextControl.focus();
26261
+ }
26174
26262
  handleEditorKeyDown(event) {
26263
+ if (event.key === 'Escape') {
26264
+ event.preventDefault();
26265
+ event.stopPropagation();
26266
+ const controls = this.toolbarControls();
26267
+ const toolbarControl = controls.find((control) => control.tabIndex === 0) || controls[0];
26268
+ if (toolbarControl) {
26269
+ this.setToolbarTabStop(toolbarControl);
26270
+ toolbarControl.focus();
26271
+ }
26272
+ return true;
26273
+ }
26175
26274
  const isUnmodifiedEnter = event.key === 'Enter' &&
26176
26275
  !event.shiftKey &&
26177
26276
  !event.altKey &&
@@ -26182,10 +26281,24 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26182
26281
  event.stopPropagation();
26183
26282
  return true;
26184
26283
  }
26185
- if (event.key !== 'Tab' || !this.isNodeActive('list_item')) {
26284
+ if (event.key !== 'Tab') {
26186
26285
  return false;
26187
26286
  }
26188
- this.executeToolbarCommand(event, event.shiftKey ? 'outdent' : 'indent');
26287
+ if (event.altKey || event.ctrlKey || event.metaKey) {
26288
+ return false;
26289
+ }
26290
+ if (!this.isNodeActive('list_item')) {
26291
+ return false;
26292
+ }
26293
+ const indentChanged = this.changeIndent(!event.shiftKey);
26294
+ if (!indentChanged) {
26295
+ return false;
26296
+ }
26297
+ event.preventDefault();
26298
+ event.stopPropagation();
26299
+ this.richTextAreaControl.markAsDirty();
26300
+ this.updateToolbarState();
26301
+ this.syncAccessibilityLater();
26189
26302
  return true;
26190
26303
  }
26191
26304
  splitListContinuationParagraph() {
@@ -26260,13 +26373,33 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26260
26373
  break;
26261
26374
  }
26262
26375
  this.richTextAreaControl.markAsDirty();
26263
- this.editor.view.focus();
26376
+ const eventTarget = event.currentTarget;
26377
+ const keepToolbarFocus = eventTarget?.matches('button, select') && !this.toolbarPointerInteraction;
26378
+ if (keepToolbarFocus) {
26379
+ this.setToolbarTabStop(eventTarget);
26380
+ eventTarget.focus();
26381
+ }
26382
+ else {
26383
+ this.editor.view.focus();
26384
+ }
26385
+ this.toolbarPointerInteraction = false;
26264
26386
  this.updateToolbarState();
26265
26387
  this.syncAccessibilityLater();
26266
26388
  }
26267
26389
  isToolbarCommandActive(command) {
26268
26390
  return !!this.activeToolbarCommands[command];
26269
26391
  }
26392
+ onHeadingLevelChange(event) {
26393
+ const level = Number(event.target.value);
26394
+ if (level !== 1 && level !== 2 && level !== 3) {
26395
+ return;
26396
+ }
26397
+ this.selectedHeadingLevel = level;
26398
+ this.applyHeadingLevel(level);
26399
+ this.richTextAreaControl.markAsDirty();
26400
+ this.updateToolbarState();
26401
+ this.syncAccessibilityLater();
26402
+ }
26270
26403
  currentListStyle() {
26271
26404
  const activeList = this.activeListNode();
26272
26405
  if (activeList?.type.name === 'ordered_list') {
@@ -26300,7 +26433,6 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26300
26433
  }
26301
26434
  this.applyListStyleSelection(listStyle);
26302
26435
  this.richTextAreaControl.markAsDirty();
26303
- this.editor.view.focus();
26304
26436
  this.updateToolbarState();
26305
26437
  this.syncAccessibilityLater();
26306
26438
  }
@@ -26813,6 +26945,7 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26813
26945
  if (this.caseField.hint_text) {
26814
26946
  ids.push(this.hintId());
26815
26947
  }
26948
+ ids.push(this.keyboardInstructionsId());
26816
26949
  if (this.isInvalid()) {
26817
26950
  ids.push(this.errorId());
26818
26951
  }
@@ -26834,7 +26967,7 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26834
26967
  Italic: 'italic',
26835
26968
  Underline: 'underline',
26836
26969
  Paragraph: 'paragraph',
26837
- 'Heading level 1': 'heading',
26970
+ Heading: 'heading',
26838
26971
  'Bullet List': 'bullet_list',
26839
26972
  'Numbered List': 'ordered_list'
26840
26973
  };
@@ -26851,6 +26984,21 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26851
26984
  button.setAttribute('aria-pressed', `${isActive}`);
26852
26985
  }
26853
26986
  });
26987
+ const controls = this.toolbarControls();
26988
+ if (controls.length && !controls.some((control) => control.tabIndex === 0)) {
26989
+ this.setToolbarTabStop(controls[0]);
26990
+ }
26991
+ }
26992
+ toolbarControls() {
26993
+ if (!this.editorHost) {
26994
+ return [];
26995
+ }
26996
+ return Array.prototype.slice.call(this.editorHost.nativeElement.querySelectorAll('.ccd-rich-text-area__toolbar button:not([disabled]), .ccd-rich-text-area__toolbar select:not([disabled])'));
26997
+ }
26998
+ setToolbarTabStop(activeControl) {
26999
+ this.toolbarControls().forEach((control) => {
27000
+ control.tabIndex = control === activeControl ? 0 : -1;
27001
+ });
26854
27002
  }
26855
27003
  getEditableElement() {
26856
27004
  if (!this.editorHost) {
@@ -26927,7 +27075,9 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
26927
27075
  if (headingLevel) {
26928
27076
  element.dataset.wordHeadingLevel = headingLevel.toString();
26929
27077
  }
26930
- if (hasBoldStyle) {
27078
+ // A Word heading style is rendered bold by the corresponding h1-h3
27079
+ // element. Only retain a strong mark for independently bold text.
27080
+ if (hasBoldStyle && !headingLevel) {
26931
27081
  this.wrapBoldInlineContents(documentElement, element);
26932
27082
  }
26933
27083
  });
@@ -27040,30 +27190,21 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
27040
27190
  normaliseWordSemanticBlocks(documentElement) {
27041
27191
  const blocks = Array.prototype.slice.call(documentElement.body.querySelectorAll('p, h1, h2, h3, h4, h5, h6'));
27042
27192
  blocks.forEach((block) => {
27043
- const namedHeadingLevel = this.namedWordHeadingLevel(block);
27044
27193
  const existingHeadingLevel = /^h([1-6])$/i.exec(block.tagName)?.[1];
27045
27194
  if (existingHeadingLevel) {
27046
- const heading = existingHeadingLevel === '1'
27047
- ? block
27048
- : this.replaceElementTag(documentElement, block, 'h1');
27049
- if (namedHeadingLevel) {
27050
- this.removeRedundantHeadingBold(heading);
27195
+ const supportedHeadingLevel = Math.min(Number(existingHeadingLevel), 3);
27196
+ const headingTag = `h${supportedHeadingLevel}`;
27197
+ if (block.tagName.toLowerCase() !== headingTag) {
27198
+ this.replaceElementTag(documentElement, block, headingTag);
27051
27199
  }
27052
27200
  return;
27053
27201
  }
27054
27202
  const headingLevel = this.wordHeadingLevel(block);
27055
27203
  if (headingLevel) {
27056
- const heading = this.replaceElementTag(documentElement, block, 'h1');
27057
- if (namedHeadingLevel) {
27058
- this.removeRedundantHeadingBold(heading);
27059
- }
27204
+ this.replaceElementTag(documentElement, block, `h${Math.min(headingLevel, 3)}`);
27060
27205
  }
27061
27206
  });
27062
27207
  }
27063
- removeRedundantHeadingBold(heading) {
27064
- const boldElements = Array.prototype.slice.call(heading.querySelectorAll('strong, b'));
27065
- boldElements.reverse().forEach((element) => this.unwrapElement(element));
27066
- }
27067
27208
  wordHeadingLevel(element) {
27068
27209
  const namedHeadingLevel = this.namedWordHeadingLevel(element);
27069
27210
  if (namedHeadingLevel) {
@@ -27194,7 +27335,10 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
27194
27335
  if (!style || this.isWordLayoutContainer(htmlElement)) {
27195
27336
  return;
27196
27337
  }
27197
- if (this.hasBoldStyle(style)) {
27338
+ // Heading elements provide their own bold presentation. Do not turn that
27339
+ // semantic heading weight into an independently selected Bold mark.
27340
+ const isHeading = /^h[1-3]$/i.test(htmlElement.tagName);
27341
+ if (this.hasBoldStyle(style) && !isHeading) {
27198
27342
  this.wrapBoldInlineContents(documentElement, htmlElement);
27199
27343
  }
27200
27344
  if (this.hasItalicStyle(style)) {
@@ -27762,12 +27906,16 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
27762
27906
  return;
27763
27907
  }
27764
27908
  const activeListType = this.activeListNode()?.type.name;
27909
+ const activeHeadingLevel = this.activeHeadingLevel();
27910
+ if (activeHeadingLevel === 1 || activeHeadingLevel === 2 || activeHeadingLevel === 3) {
27911
+ this.selectedHeadingLevel = activeHeadingLevel;
27912
+ }
27765
27913
  this.activeToolbarCommands = {
27766
27914
  bold: this.isMarkActive('strong'),
27767
27915
  italic: this.isMarkActive('em'),
27768
27916
  underline: this.isMarkActive('u'),
27769
27917
  paragraph: this.paragraphCommandApplied && this.isPlainParagraphActive(),
27770
- heading: this.isHeadingOneActive(),
27918
+ heading: activeHeadingLevel !== null,
27771
27919
  ordered_list: activeListType === 'ordered_list',
27772
27920
  bullet_list: activeListType === 'bullet_list'
27773
27921
  };
@@ -28065,23 +28213,21 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
28065
28213
  const listItemType = state.schema.nodes.list_item;
28066
28214
  if (listItemType && this.isNodeActive('list_item')) {
28067
28215
  if (!increase && this.changeListIndent(false, state, dispatch)) {
28068
- return;
28216
+ return true;
28069
28217
  }
28070
28218
  const listCommand = increase ? sinkListItem(listItemType) : liftListItem(listItemType);
28071
28219
  if (listCommand(state, dispatch)) {
28072
28220
  this.applyOrderedListStyleForCurrentDepth();
28073
- return;
28221
+ return true;
28074
28222
  }
28075
28223
  if (increase && this.changeListIndent(true, state, dispatch)) {
28076
- return;
28224
+ return true;
28077
28225
  }
28078
28226
  }
28079
28227
  if (increase) {
28080
- this.editor.commands.indent().exec();
28081
- }
28082
- else {
28083
- this.editor.commands.outdent().exec();
28228
+ return this.editor.commands.indent().exec();
28084
28229
  }
28230
+ return this.editor.commands.outdent().exec();
28085
28231
  }
28086
28232
  applyOrderedListStyleForCurrentDepth() {
28087
28233
  const { state, dispatch } = this.editor.view;
@@ -28141,7 +28287,7 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
28141
28287
  this.paragraphCommandApplied = true;
28142
28288
  }
28143
28289
  toggleHeading() {
28144
- if (this.isHeadingOneActive()) {
28290
+ if (this.activeHeadingLevel() !== null) {
28145
28291
  const paragraphType = this.editor.view.state.schema.nodes.paragraph;
28146
28292
  if (paragraphType) {
28147
28293
  setBlockType(paragraphType)(this.editor.view.state, this.editor.view.dispatch);
@@ -28149,34 +28295,38 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
28149
28295
  this.paragraphCommandApplied = false;
28150
28296
  return;
28151
28297
  }
28298
+ this.applyHeadingLevel(this.selectedHeadingLevel);
28299
+ this.paragraphCommandApplied = false;
28300
+ }
28301
+ applyHeadingLevel(level) {
28152
28302
  const headingType = this.editor.view.state.schema.nodes.heading;
28153
28303
  if (headingType) {
28154
- setBlockType(headingType, { level: 1 })(this.editor.view.state, this.editor.view.dispatch);
28304
+ setBlockType(headingType, { level })(this.editor.view.state, this.editor.view.dispatch);
28155
28305
  }
28156
28306
  this.paragraphCommandApplied = false;
28157
28307
  }
28158
- isHeadingOneActive() {
28308
+ activeHeadingLevel() {
28159
28309
  const state = this.editor.view.state;
28160
28310
  const headingType = state.schema.nodes.heading;
28161
28311
  if (!headingType) {
28162
- return false;
28312
+ return null;
28163
28313
  }
28164
28314
  const { $from, from, to } = state.selection;
28165
28315
  for (let depth = $from.depth; depth > 0; depth--) {
28166
28316
  const node = $from.node(depth);
28167
- if (node.type === headingType && node.attrs.level === 1) {
28168
- return true;
28317
+ if (node.type === headingType) {
28318
+ return Number(node.attrs.level);
28169
28319
  }
28170
28320
  }
28171
- let isActive = false;
28321
+ let activeLevel = null;
28172
28322
  state.doc.nodesBetween(from, to, (node) => {
28173
- if (node.type === headingType && node.attrs.level === 1) {
28174
- isActive = true;
28323
+ if (node.type === headingType) {
28324
+ activeLevel = Number(node.attrs.level);
28175
28325
  return false;
28176
28326
  }
28177
28327
  return true;
28178
28328
  });
28179
- return isActive;
28329
+ return activeLevel;
28180
28330
  }
28181
28331
  isPlainParagraphActive() {
28182
28332
  return this.isNodeActive('paragraph') &&
@@ -28251,110 +28401,118 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
28251
28401
  } if (rf & 2) {
28252
28402
  let _t;
28253
28403
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.editorHost = _t.first);
28254
- } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 57, vars: 45, consts: [["editorHost", ""], [1, "form-group", "ccd-rich-text-area", 3, "ngClass"], [3, "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 3, "id", 4, "ngIf"], ["class", "error-message", 3, "id", 4, "ngIf"], [1, "ccd-rich-text-area__editor", 3, "click", "keydown", "keyup", "paste", "ngClass"], ["role", "toolbar", 1, "ccd-rich-text-area__toolbar"], ["type", "button", "aria-label", "Undo", "title", "Undo", "aria-keyshortcuts", "Control+Z", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click"], ["viewBox", "0 0 24 24", "aria-hidden", "true", "focusable", "false", 1, "ccd-rich-text-area__toolbar-icon"], ["d", "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"], ["type", "button", "aria-label", "Redo", "title", "Redo", "aria-keyshortcuts", "Control+Y", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click"], ["d", "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"], ["aria-hidden", "true", 1, "ccd-rich-text-area__toolbar-separator"], ["type", "button", "aria-label", "Bold", "title", "Bold", "aria-keyshortcuts", "Control+B", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--bold", 3, "mousedown", "click", "ngClass"], ["d", "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5S13.83 9.5 13 9.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"], ["type", "button", "aria-label", "Italic", "title", "Italic", "aria-keyshortcuts", "Control+I", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--italic", 3, "mousedown", "click", "ngClass"], ["d", "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"], ["type", "button", "aria-label", "Underline", "title", "Underline", "aria-keyshortcuts", "Control+U", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--underline", 3, "mousedown", "click", "ngClass"], ["d", "M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z"], ["type", "button", "aria-label", "Paragraph", "title", "Paragraph", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--paragraph", 3, "mousedown", "click", "ngClass"], ["aria-hidden", "true", 1, "ccd-rich-text-area__toolbar-icon", "ccd-rich-text-area__toolbar-icon--paragraph"], ["type", "button", "aria-label", "Heading level 1", "title", "Heading level 1", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--heading", 3, "mousedown", "click", "ngClass"], ["aria-hidden", "true", 1, "ccd-rich-text-area__toolbar-icon", "ccd-rich-text-area__toolbar-icon--heading"], ["type", "button", "aria-label", "Bullet List", "title", "Bullet List", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click", "ngClass"], ["d", "M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6C3.17 4.5 2.5 5.17 2.5 6S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zM7 13h14v-2H7v2zm0 6h14v-2H7v2zM7 5v2h14V5H7z"], ["type", "button", "aria-label", "Numbered List", "title", "Numbered List", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click", "ngClass"], ["d", "M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1V14h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z"], [1, "ccd-rich-text-area__list-style"], [1, "ccd-rich-text-area__list-style-label", 3, "for"], [1, "ccd-rich-text-area__list-style-select", 3, "change", "id", "value"], ["value", "", 4, "ngIf"], ["value", "ordered_list"], ["value", "ordered_alpha"], ["value", "ordered_roman"], ["type", "button", "aria-label", "Decrease Indent", "title", "Decrease Indent", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click"], ["d", "M11 17h10v-2H11v2zm-8-5 4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"], ["type", "button", "aria-label", "Increase Indent", "title", "Increase Indent", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click"], ["d", "M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"], [1, "NgxEditor__Wrapper"], ["outputFormat", "html", 3, "focusIn", "focusOut", "editor", "formControl"], [1, "form-label"], [1, "form-hint", 3, "id"], [1, "error-message", 3, "id"], ["value", ""]], template: function WriteRichTextAreaFieldComponent_Template(rf, ctx) { if (rf & 1) {
28404
+ } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 65, vars: 47, consts: [["editorHost", ""], [1, "form-group", "ccd-rich-text-area", 3, "ngClass"], [3, "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 3, "id", 4, "ngIf"], [1, "ccd-rich-text-area__keyboard-instructions", 3, "id"], ["class", "error-message", 3, "id", 4, "ngIf"], [1, "ccd-rich-text-area__editor", 3, "click", "keydown", "keyup", "paste", "ngClass"], ["role", "toolbar", "aria-orientation", "horizontal", 1, "ccd-rich-text-area__toolbar", 3, "focusin", "keydown"], ["role", "group", "aria-label", "History", 1, "ccd-rich-text-area__toolbar-group"], ["type", "button", "tabindex", "0", "aria-label", "Undo", "title", "Undo", "aria-keyshortcuts", "Control+Z", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click"], ["viewBox", "0 0 24 24", "aria-hidden", "true", "focusable", "false", 1, "ccd-rich-text-area__toolbar-icon"], ["d", "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"], ["type", "button", "tabindex", "-1", "aria-label", "Redo", "title", "Redo", "aria-keyshortcuts", "Control+Y", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click"], ["d", "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"], ["aria-hidden", "true", 1, "ccd-rich-text-area__toolbar-separator"], ["role", "group", "aria-label", "Text formatting", 1, "ccd-rich-text-area__toolbar-group"], ["type", "button", "tabindex", "-1", "aria-label", "Bold", "title", "Bold", "aria-keyshortcuts", "Control+B", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--bold", 3, "mousedown", "click", "ngClass"], ["d", "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5S13.83 9.5 13 9.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"], ["type", "button", "tabindex", "-1", "aria-label", "Italic", "title", "Italic", "aria-keyshortcuts", "Control+I", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--italic", 3, "mousedown", "click", "ngClass"], ["d", "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"], ["type", "button", "tabindex", "-1", "aria-label", "Underline", "title", "Underline", "aria-keyshortcuts", "Control+U", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--underline", 3, "mousedown", "click", "ngClass"], ["d", "M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z"], ["role", "group", "aria-label", "Paragraph and heading formatting", 1, "ccd-rich-text-area__toolbar-group"], ["type", "button", "tabindex", "-1", "aria-label", "Paragraph", "title", "Paragraph", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--paragraph", 3, "mousedown", "click", "ngClass"], ["aria-hidden", "true", 1, "ccd-rich-text-area__toolbar-icon", "ccd-rich-text-area__toolbar-icon--paragraph"], ["type", "button", "tabindex", "-1", "aria-label", "Heading", "title", "Heading", 1, "ccd-rich-text-area__toolbar-button", "ccd-rich-text-area__toolbar-button--heading", 3, "mousedown", "click", "ngClass"], ["aria-hidden", "true", 1, "ccd-rich-text-area__toolbar-icon", "ccd-rich-text-area__toolbar-icon--heading"], ["class", "ccd-rich-text-area__heading-level", 4, "ngIf"], ["role", "group", "aria-label", "List formatting", 1, "ccd-rich-text-area__toolbar-group", "ccd-rich-text-area__toolbar-group--list"], ["type", "button", "tabindex", "-1", "aria-label", "Bullet List", "title", "Bullet List", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click", "ngClass"], ["d", "M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6C3.17 4.5 2.5 5.17 2.5 6S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zM7 13h14v-2H7v2zm0 6h14v-2H7v2zM7 5v2h14V5H7z"], ["type", "button", "tabindex", "-1", "aria-label", "Numbered List", "title", "Numbered List", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click", "ngClass"], ["d", "M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1V14h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z"], [1, "ccd-rich-text-area__list-style"], [1, "ccd-rich-text-area__list-style-label", 3, "for"], ["tabindex", "-1", 1, "ccd-rich-text-area__list-style-select", 3, "change", "id", "value"], ["value", "", 4, "ngIf"], ["value", "ordered_list"], ["value", "ordered_alpha"], ["value", "ordered_roman"], ["role", "group", "aria-label", "Indentation", 1, "ccd-rich-text-area__toolbar-group"], ["type", "button", "tabindex", "-1", "aria-label", "Decrease Indent", "title", "Decrease Indent", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click"], ["d", "M11 17h10v-2H11v2zm-8-5 4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"], ["type", "button", "tabindex", "-1", "aria-label", "Increase Indent", "title", "Increase Indent", 1, "ccd-rich-text-area__toolbar-button", 3, "mousedown", "click"], ["d", "M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"], [1, "NgxEditor__Wrapper"], ["outputFormat", "html", 3, "focusIn", "focusOut", "editor", "formControl"], [1, "form-label"], [1, "form-hint", 3, "id"], [1, "error-message", 3, "id"], [1, "ccd-rich-text-area__heading-level"], [1, "ccd-rich-text-area__heading-level-label", 3, "for"], ["tabindex", "-1", 1, "ccd-rich-text-area__heading-level-select", 3, "change", "id", "value"], ["value", "1"], ["value", "2"], ["value", "3"], ["value", ""]], template: function WriteRichTextAreaFieldComponent_Template(rf, ctx) { if (rf & 1) {
28255
28405
  const _r1 = i0.ɵɵgetCurrentView();
28256
28406
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
28257
28407
  i0.ɵɵtemplate(2, WriteRichTextAreaFieldComponent_span_2_Template, 3, 3, "span", 3);
28258
28408
  i0.ɵɵelementEnd();
28259
- i0.ɵɵtemplate(3, WriteRichTextAreaFieldComponent_span_3_Template, 3, 4, "span", 4)(4, WriteRichTextAreaFieldComponent_span_4_Template, 3, 5, "span", 5);
28260
- i0.ɵɵelementStart(5, "div", 6, 0);
28261
- i0.ɵɵlistener("click", function WriteRichTextAreaFieldComponent_Template_div_click_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.syncAccessibilityLater()); })("keydown", function WriteRichTextAreaFieldComponent_Template_div_keydown_5_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEditorKeyDown($event)); })("keyup", function WriteRichTextAreaFieldComponent_Template_div_keyup_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.syncAccessibilityLater()); })("paste", function WriteRichTextAreaFieldComponent_Template_div_paste_5_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onPaste($event)); });
28262
- i0.ɵɵelementStart(7, "div", 7)(8, "button", 8);
28263
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "undo")); });
28409
+ i0.ɵɵtemplate(3, WriteRichTextAreaFieldComponent_span_3_Template, 3, 4, "span", 4);
28410
+ i0.ɵɵelementStart(4, "span", 5);
28411
+ i0.ɵɵtext(5, " Press Escape to move from the editor to the formatting toolbar. ");
28412
+ i0.ɵɵelementEnd();
28413
+ i0.ɵɵtemplate(6, WriteRichTextAreaFieldComponent_span_6_Template, 3, 5, "span", 6);
28414
+ i0.ɵɵelementStart(7, "div", 7, 0);
28415
+ i0.ɵɵlistener("click", function WriteRichTextAreaFieldComponent_Template_div_click_7_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEditorClick()); })("keydown", function WriteRichTextAreaFieldComponent_Template_div_keydown_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEditorKeyDown($event)); })("keyup", function WriteRichTextAreaFieldComponent_Template_div_keyup_7_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.syncAccessibilityLater()); })("paste", function WriteRichTextAreaFieldComponent_Template_div_paste_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onPaste($event)); });
28416
+ i0.ɵɵelementStart(9, "div", 8);
28417
+ i0.ɵɵlistener("focusin", function WriteRichTextAreaFieldComponent_Template_div_focusin_9_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarFocusIn($event)); })("keydown", function WriteRichTextAreaFieldComponent_Template_div_keydown_9_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarKeyDown($event)); });
28418
+ i0.ɵɵelementStart(10, "div", 9)(11, "button", 10);
28419
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_11_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_11_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "undo")); });
28264
28420
  i0.ɵɵnamespaceSVG();
28265
- i0.ɵɵelementStart(9, "svg", 9);
28266
- i0.ɵɵelement(10, "path", 10);
28421
+ i0.ɵɵelementStart(12, "svg", 11);
28422
+ i0.ɵɵelement(13, "path", 12);
28267
28423
  i0.ɵɵelementEnd()();
28268
28424
  i0.ɵɵnamespaceHTML();
28269
- i0.ɵɵelementStart(11, "button", 11);
28270
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_11_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_11_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "redo")); });
28425
+ i0.ɵɵelementStart(14, "button", 13);
28426
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_14_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_14_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "redo")); });
28271
28427
  i0.ɵɵnamespaceSVG();
28272
- i0.ɵɵelementStart(12, "svg", 9);
28273
- i0.ɵɵelement(13, "path", 12);
28274
- i0.ɵɵelementEnd()();
28428
+ i0.ɵɵelementStart(15, "svg", 11);
28429
+ i0.ɵɵelement(16, "path", 14);
28430
+ i0.ɵɵelementEnd()()();
28275
28431
  i0.ɵɵnamespaceHTML();
28276
- i0.ɵɵelement(14, "span", 13);
28277
- i0.ɵɵelementStart(15, "button", 14);
28278
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_15_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_15_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "bold")); });
28432
+ i0.ɵɵelement(17, "span", 15);
28433
+ i0.ɵɵelementStart(18, "div", 16)(19, "button", 17);
28434
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_19_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_19_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "bold")); });
28279
28435
  i0.ɵɵnamespaceSVG();
28280
- i0.ɵɵelementStart(16, "svg", 9);
28281
- i0.ɵɵelement(17, "path", 15);
28436
+ i0.ɵɵelementStart(20, "svg", 11);
28437
+ i0.ɵɵelement(21, "path", 18);
28282
28438
  i0.ɵɵelementEnd()();
28283
28439
  i0.ɵɵnamespaceHTML();
28284
- i0.ɵɵelementStart(18, "button", 16);
28285
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_18_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_18_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "italic")); });
28440
+ i0.ɵɵelementStart(22, "button", 19);
28441
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_22_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_22_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "italic")); });
28286
28442
  i0.ɵɵnamespaceSVG();
28287
- i0.ɵɵelementStart(19, "svg", 9);
28288
- i0.ɵɵelement(20, "path", 17);
28443
+ i0.ɵɵelementStart(23, "svg", 11);
28444
+ i0.ɵɵelement(24, "path", 20);
28289
28445
  i0.ɵɵelementEnd()();
28290
28446
  i0.ɵɵnamespaceHTML();
28291
- i0.ɵɵelementStart(21, "button", 18);
28292
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_21_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_21_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "underline")); });
28447
+ i0.ɵɵelementStart(25, "button", 21);
28448
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_25_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_25_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "underline")); });
28293
28449
  i0.ɵɵnamespaceSVG();
28294
- i0.ɵɵelementStart(22, "svg", 9);
28295
- i0.ɵɵelement(23, "path", 19);
28296
- i0.ɵɵelementEnd()();
28450
+ i0.ɵɵelementStart(26, "svg", 11);
28451
+ i0.ɵɵelement(27, "path", 22);
28452
+ i0.ɵɵelementEnd()()();
28297
28453
  i0.ɵɵnamespaceHTML();
28298
- i0.ɵɵelementStart(24, "button", 20);
28299
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_24_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_24_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "paragraph")); });
28300
- i0.ɵɵelementStart(25, "span", 21);
28301
- i0.ɵɵtext(26, "P");
28454
+ i0.ɵɵelementStart(28, "div", 23)(29, "button", 24);
28455
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_29_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_29_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "paragraph")); });
28456
+ i0.ɵɵelementStart(30, "span", 25);
28457
+ i0.ɵɵtext(31, "P");
28302
28458
  i0.ɵɵelementEnd()();
28303
- i0.ɵɵelementStart(27, "button", 22);
28304
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_27_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_27_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "heading")); });
28305
- i0.ɵɵelementStart(28, "span", 23);
28306
- i0.ɵɵtext(29, "H");
28459
+ i0.ɵɵelementStart(32, "button", 26);
28460
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_32_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_32_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "heading")); });
28461
+ i0.ɵɵelementStart(33, "span", 27);
28462
+ i0.ɵɵtext(34, "H");
28307
28463
  i0.ɵɵelementEnd()();
28308
- i0.ɵɵelement(30, "span", 13);
28309
- i0.ɵɵelementStart(31, "button", 24);
28310
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_31_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_31_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "bullet_list")); });
28464
+ i0.ɵɵtemplate(35, WriteRichTextAreaFieldComponent_div_35_Template, 10, 3, "div", 28);
28465
+ i0.ɵɵelementEnd();
28466
+ i0.ɵɵelement(36, "span", 15);
28467
+ i0.ɵɵelementStart(37, "div", 29)(38, "button", 30);
28468
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_38_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_38_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "bullet_list")); });
28311
28469
  i0.ɵɵnamespaceSVG();
28312
- i0.ɵɵelementStart(32, "svg", 9);
28313
- i0.ɵɵelement(33, "path", 25);
28470
+ i0.ɵɵelementStart(39, "svg", 11);
28471
+ i0.ɵɵelement(40, "path", 31);
28314
28472
  i0.ɵɵelementEnd()();
28315
28473
  i0.ɵɵnamespaceHTML();
28316
- i0.ɵɵelementStart(34, "button", 26);
28317
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_34_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_34_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "ordered_list")); });
28474
+ i0.ɵɵelementStart(41, "button", 32);
28475
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_41_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_41_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "ordered_list")); });
28318
28476
  i0.ɵɵnamespaceSVG();
28319
- i0.ɵɵelementStart(35, "svg", 9);
28320
- i0.ɵɵelement(36, "path", 27);
28477
+ i0.ɵɵelementStart(42, "svg", 11);
28478
+ i0.ɵɵelement(43, "path", 33);
28321
28479
  i0.ɵɵelementEnd()();
28322
28480
  i0.ɵɵnamespaceHTML();
28323
- i0.ɵɵelementStart(37, "div", 28)(38, "label", 29);
28324
- i0.ɵɵtext(39, "List style");
28481
+ i0.ɵɵelementStart(44, "div", 34)(45, "label", 35);
28482
+ i0.ɵɵtext(46, "List style");
28325
28483
  i0.ɵɵelementEnd();
28326
- i0.ɵɵelementStart(40, "select", 30);
28327
- i0.ɵɵlistener("change", function WriteRichTextAreaFieldComponent_Template_select_change_40_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onListStyleChange($event)); });
28328
- i0.ɵɵtemplate(41, WriteRichTextAreaFieldComponent_option_41_Template, 2, 0, "option", 31);
28329
- i0.ɵɵelementStart(42, "option", 32);
28330
- i0.ɵɵtext(43, "Numbers (1, 2, 3)");
28484
+ i0.ɵɵelementStart(47, "select", 36);
28485
+ i0.ɵɵlistener("change", function WriteRichTextAreaFieldComponent_Template_select_change_47_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onListStyleChange($event)); });
28486
+ i0.ɵɵtemplate(48, WriteRichTextAreaFieldComponent_option_48_Template, 2, 0, "option", 37);
28487
+ i0.ɵɵelementStart(49, "option", 38);
28488
+ i0.ɵɵtext(50, "Numbers (1, 2, 3)");
28331
28489
  i0.ɵɵelementEnd();
28332
- i0.ɵɵelementStart(44, "option", 33);
28333
- i0.ɵɵtext(45, "Letters (a, b, c)");
28490
+ i0.ɵɵelementStart(51, "option", 39);
28491
+ i0.ɵɵtext(52, "Letters (a, b, c)");
28334
28492
  i0.ɵɵelementEnd();
28335
- i0.ɵɵelementStart(46, "option", 34);
28336
- i0.ɵɵtext(47, "Roman numerals (i), (ii), (iii)");
28337
- i0.ɵɵelementEnd()()();
28338
- i0.ɵɵelement(48, "span", 13);
28339
- i0.ɵɵelementStart(49, "button", 35);
28340
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_49_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_49_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "outdent")); });
28493
+ i0.ɵɵelementStart(53, "option", 40);
28494
+ i0.ɵɵtext(54, "Roman numerals (i), (ii), (iii)");
28495
+ i0.ɵɵelementEnd()()()();
28496
+ i0.ɵɵelement(55, "span", 15);
28497
+ i0.ɵɵelementStart(56, "div", 41)(57, "button", 42);
28498
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_57_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_57_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "outdent")); });
28341
28499
  i0.ɵɵnamespaceSVG();
28342
- i0.ɵɵelementStart(50, "svg", 9);
28343
- i0.ɵɵelement(51, "path", 36);
28500
+ i0.ɵɵelementStart(58, "svg", 11);
28501
+ i0.ɵɵelement(59, "path", 43);
28344
28502
  i0.ɵɵelementEnd()();
28345
28503
  i0.ɵɵnamespaceHTML();
28346
- i0.ɵɵelementStart(52, "button", 37);
28347
- i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_52_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_52_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "indent")); });
28504
+ i0.ɵɵelementStart(60, "button", 44);
28505
+ i0.ɵɵlistener("mousedown", function WriteRichTextAreaFieldComponent_Template_button_mousedown_60_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onToolbarButtonMouseDown($event)); })("click", function WriteRichTextAreaFieldComponent_Template_button_click_60_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.executeToolbarCommand($event, "indent")); });
28348
28506
  i0.ɵɵnamespaceSVG();
28349
- i0.ɵɵelementStart(53, "svg", 9);
28350
- i0.ɵɵelement(54, "path", 38);
28351
- i0.ɵɵelementEnd()()();
28507
+ i0.ɵɵelementStart(61, "svg", 11);
28508
+ i0.ɵɵelement(62, "path", 45);
28509
+ i0.ɵɵelementEnd()()()();
28352
28510
  i0.ɵɵnamespaceHTML();
28353
- i0.ɵɵelementStart(55, "div", 39)(56, "ngx-editor", 40);
28354
- i0.ɵɵlistener("focusIn", function WriteRichTextAreaFieldComponent_Template_ngx_editor_focusIn_56_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.syncAccessibilityLater()); })("focusOut", function WriteRichTextAreaFieldComponent_Template_ngx_editor_focusOut_56_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEditorFocusOut()); });
28511
+ i0.ɵɵelementStart(63, "div", 46)(64, "ngx-editor", 47);
28512
+ i0.ɵɵlistener("focusIn", function WriteRichTextAreaFieldComponent_Template_ngx_editor_focusIn_64_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.syncAccessibilityLater()); })("focusOut", function WriteRichTextAreaFieldComponent_Template_ngx_editor_focusOut_64_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEditorFocusOut()); });
28355
28513
  i0.ɵɵelementEnd()()()();
28356
28514
  } if (rf & 2) {
28357
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(27, _c1$e, !ctx.richTextAreaControl.valid && ctx.richTextAreaControl.dirty));
28515
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(29, _c1$e, !ctx.richTextAreaControl.valid && ctx.richTextAreaControl.dirty));
28358
28516
  i0.ɵɵadvance();
28359
28517
  i0.ɵɵproperty("id", ctx.labelId());
28360
28518
  i0.ɵɵadvance();
@@ -28362,31 +28520,35 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
28362
28520
  i0.ɵɵadvance();
28363
28521
  i0.ɵɵproperty("ngIf", ctx.caseField.hint_text);
28364
28522
  i0.ɵɵadvance();
28523
+ i0.ɵɵproperty("id", ctx.keyboardInstructionsId());
28524
+ i0.ɵɵadvance(2);
28365
28525
  i0.ɵɵproperty("ngIf", ctx.isInvalid());
28366
28526
  i0.ɵɵadvance();
28367
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(29, _c2$3, ctx.isInvalid()));
28527
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(31, _c2$3, ctx.isInvalid()));
28368
28528
  i0.ɵɵadvance(2);
28369
28529
  i0.ɵɵattribute("aria-label", ctx.toolbarLabel());
28370
- i0.ɵɵadvance(8);
28371
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(31, _c3, ctx.isToolbarCommandActive("bold")));
28530
+ i0.ɵɵadvance(10);
28531
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(33, _c3, ctx.isToolbarCommandActive("bold")));
28372
28532
  i0.ɵɵattribute("aria-pressed", ctx.isToolbarCommandActive("bold"));
28373
28533
  i0.ɵɵadvance(3);
28374
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(33, _c3, ctx.isToolbarCommandActive("italic")));
28534
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(35, _c3, ctx.isToolbarCommandActive("italic")));
28375
28535
  i0.ɵɵattribute("aria-pressed", ctx.isToolbarCommandActive("italic"));
28376
28536
  i0.ɵɵadvance(3);
28377
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(35, _c3, ctx.isToolbarCommandActive("underline")));
28537
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(37, _c3, ctx.isToolbarCommandActive("underline")));
28378
28538
  i0.ɵɵattribute("aria-pressed", ctx.isToolbarCommandActive("underline"));
28379
- i0.ɵɵadvance(3);
28380
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(37, _c3, ctx.isToolbarCommandActive("paragraph")));
28539
+ i0.ɵɵadvance(4);
28540
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(39, _c3, ctx.isToolbarCommandActive("paragraph")));
28381
28541
  i0.ɵɵattribute("aria-pressed", ctx.isToolbarCommandActive("paragraph"));
28382
28542
  i0.ɵɵadvance(3);
28383
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(39, _c3, ctx.isToolbarCommandActive("heading")));
28543
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(41, _c3, ctx.isToolbarCommandActive("heading")));
28384
28544
  i0.ɵɵattribute("aria-pressed", ctx.isToolbarCommandActive("heading"));
28385
- i0.ɵɵadvance(4);
28386
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(41, _c3, ctx.isToolbarCommandActive("bullet_list")));
28545
+ i0.ɵɵadvance(3);
28546
+ i0.ɵɵproperty("ngIf", ctx.isToolbarCommandActive("heading"));
28547
+ i0.ɵɵadvance(3);
28548
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(43, _c3, ctx.isToolbarCommandActive("bullet_list")));
28387
28549
  i0.ɵɵattribute("aria-pressed", ctx.isToolbarCommandActive("bullet_list"));
28388
28550
  i0.ɵɵadvance(3);
28389
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(43, _c3, ctx.isOrderedListActive()));
28551
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(45, _c3, ctx.isOrderedListActive()));
28390
28552
  i0.ɵɵattribute("aria-pressed", ctx.isOrderedListActive());
28391
28553
  i0.ɵɵadvance(4);
28392
28554
  i0.ɵɵproperty("for", ctx.listStyleId());
@@ -28394,18 +28556,18 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
28394
28556
  i0.ɵɵproperty("id", ctx.listStyleId())("value", ctx.currentListSelectValue());
28395
28557
  i0.ɵɵadvance();
28396
28558
  i0.ɵɵproperty("ngIf", !ctx.isOrderedListActive());
28397
- i0.ɵɵadvance(15);
28559
+ i0.ɵɵadvance(16);
28398
28560
  i0.ɵɵproperty("editor", ctx.editor)("formControl", ctx.richTextAreaControl);
28399
- } }, dependencies: [i5.NgClass, i5.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.NgControlStatus, i4.FormControlDirective, i3$1.NgxEditorComponent, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], styles: [".ccd-rich-text-area{margin-bottom:30px}.ccd-rich-text-area__editor{max-width:100%}.ccd-rich-text-area__toolbar{align-items:center;background:#fff;border:1px solid #d8dde0;border-radius:6px;display:flex;flex-wrap:wrap;gap:2px;margin-bottom:10px;padding:6px 8px;width:fit-content}.ccd-rich-text-area .NgxEditor__Wrapper{border:1px solid #000;border-radius:0;box-sizing:border-box;height:255px;max-width:100%;min-height:255px;min-width:200px;overflow:hidden;resize:both;width:100%}.ccd-rich-text-area .NgxEditor__Wrapper:focus-within{outline:3px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-button{background:#fff;align-items:center;border:0;border-radius:2px;color:#0b0c0c;display:inline-flex;font-family:inherit;font-size:18px;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:4px;width:28px}.ccd-rich-text-area__toolbar-button:hover{background:#f3f2f1}.ccd-rich-text-area__toolbar-button:focus{background:#fd0;box-shadow:0 0 0 2px #0b0c0c;outline:2px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-button--active,.ccd-rich-text-area__toolbar-button--active:hover{background:#1d70b8;color:#fff}.ccd-rich-text-area__toolbar-button--italic{font-style:italic}.ccd-rich-text-area__toolbar-button--underline{text-decoration:underline}.ccd-rich-text-area__toolbar-separator{border-left:1px solid #b1b4b6;height:24px;margin:0 5px 0 3px}.ccd-rich-text-area__list-style{align-items:center;display:inline-flex;gap:8px;margin:0 4px}.ccd-rich-text-area__list-style-label{font-weight:700;white-space:nowrap}.ccd-rich-text-area__list-style-select{background-color:#fff;border:1px solid #0b0c0c;border-radius:0;color:#0b0c0c;font-family:inherit;font-size:16px;height:32px;min-width:190px;padding:2px 28px 2px 8px}.ccd-rich-text-area__list-style-select:focus{box-shadow:0 0 0 2px #0b0c0c;outline:3px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-icon{display:block;fill:currentColor;height:20px;width:20px}.ccd-rich-text-area__toolbar-icon--paragraph{display:inline-flex;font-size:18px;line-height:1;width:auto}.ccd-rich-text-area__toolbar-icon--heading{display:inline-flex;font-size:18px;font-weight:700;line-height:1;width:auto}.ccd-rich-text-area .ProseMirror h1{font-size:20px;font-weight:700}.ccd-rich-text-area .NgxEditor__Wrapper .NgxEditor{border:0;border-radius:0;height:100%;min-height:0;overflow:hidden;width:100%}.ccd-rich-text-area__editor--error .NgxEditor__Wrapper{border-color:#d4351c}.ccd-rich-text-area .NgxEditor__Content{box-sizing:border-box;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px}.ccd-rich-text-area .ProseMirror{min-height:231px;outline:0;overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area .ProseMirror [data-indent=\"1\"]{margin-left:40px}.ccd-rich-text-area .ProseMirror [data-indent=\"2\"]{margin-left:80px}.ccd-rich-text-area .ProseMirror [data-indent=\"3\"]{margin-left:120px}.ccd-rich-text-area .ProseMirror [data-indent=\"4\"]{margin-left:160px}.ccd-rich-text-area .ProseMirror [data-indent=\"5\"]{margin-left:200px}.ccd-rich-text-area .ProseMirror [data-indent=\"6\"]{margin-left:240px}.ccd-rich-text-area .ProseMirror strong,.ccd-rich-text-area .ProseMirror strong *,.ccd-rich-text-area .ProseMirror b,.ccd-rich-text-area .ProseMirror b *{font-weight:700}.ccd-rich-text-area .ProseMirror strong u,.ccd-rich-text-area .ProseMirror u strong,.ccd-rich-text-area .ProseMirror b u,.ccd-rich-text-area .ProseMirror u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area .ProseMirror:focus{box-shadow:none;outline:0}.ccd-rich-text-area .ProseMirror p,.ccd-rich-text-area .ProseMirror ul,.ccd-rich-text-area .ProseMirror ol{margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area .ProseMirror p{margin-bottom:5px}.ccd-rich-text-area .ProseMirror ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area .ProseMirror ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"1\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"1\"]{margin-left:40px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"2\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"2\"]{margin-left:80px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"3\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"3\"]{margin-left:120px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"4\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"4\"]{margin-left:160px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"5\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"5\"]{margin-left:200px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"6\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"6\"]{margin-left:240px;padding-left:25px}.ccd-rich-text-area .ProseMirror ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area .ProseMirror ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area .ProseMirror ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area .ProseMirror li{display:list-item;margin-bottom:5px}.ccd-rich-text-area .ProseMirror li>p{margin:0}.ccd-rich-text-area .ProseMirror li>ul,.ccd-rich-text-area .ProseMirror li>ol{margin-top:5px}\n"], encapsulation: 2 });
28561
+ } }, dependencies: [i5.NgClass, i5.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.NgControlStatus, i4.FormControlDirective, i3$1.NgxEditorComponent, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], styles: [".ccd-rich-text-area{margin-bottom:30px}.ccd-rich-text-area__editor{max-width:100%}.ccd-rich-text-area__keyboard-instructions{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ccd-rich-text-area__toolbar{align-items:center;background:#fff;border:1px solid #d8dde0;border-radius:6px;box-sizing:border-box;display:flex;flex-wrap:wrap;column-gap:2px;margin-bottom:10px;max-width:100%;padding:6px 8px;row-gap:6px;width:fit-content}.ccd-rich-text-area__toolbar-group{align-items:center;display:inline-flex;flex:0 0 auto;gap:2px}.ccd-rich-text-area__toolbar-group--list{max-width:100%}.ccd-rich-text-area .NgxEditor__Wrapper{border:1px solid #000;border-radius:0;box-sizing:border-box;height:255px;max-width:100%;min-height:255px;min-width:200px;overflow:hidden;resize:both;width:100%}.ccd-rich-text-area .NgxEditor__Wrapper:focus-within{outline:3px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-button{background:#fff;align-items:center;border:0;border-radius:2px;color:#0b0c0c;display:inline-flex;font-family:inherit;font-size:18px;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:4px;width:28px}.ccd-rich-text-area__toolbar-button:hover{background:#f3f2f1}.ccd-rich-text-area__toolbar-button:focus{background:#fd0;box-shadow:0 0 0 2px #0b0c0c;outline:2px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-button--active,.ccd-rich-text-area__toolbar-button--active:hover{background:#1d70b8;color:#fff}.ccd-rich-text-area__toolbar-button--italic{font-style:italic}.ccd-rich-text-area__toolbar-button--underline{text-decoration:underline}.ccd-rich-text-area__toolbar-separator{border-left:1px solid #b1b4b6;height:24px;margin:0 5px 0 3px}.ccd-rich-text-area__heading-level{display:inline-flex;margin-right:3px}.ccd-rich-text-area__heading-level-label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ccd-rich-text-area__heading-level-select{background-color:#fff;border:1px solid #0b0c0c;border-radius:0;color:#0b0c0c;font-family:inherit;font-size:16px;height:32px;min-width:108px;padding:2px 24px 2px 6px;width:150px}.ccd-rich-text-area__heading-level-select:focus{box-shadow:0 0 0 2px #0b0c0c;outline:3px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__list-style{align-items:center;display:inline-flex;gap:8px;margin:0 4px;min-width:0}.ccd-rich-text-area__list-style-label{font-weight:700;white-space:nowrap}.ccd-rich-text-area__list-style-select{background-color:#fff;border:1px solid #0b0c0c;border-radius:0;color:#0b0c0c;font-family:inherit;font-size:16px;height:32px;max-width:100%;min-width:0;padding:2px 28px 2px 8px;width:260px}.ccd-rich-text-area__list-style-select:focus{box-shadow:0 0 0 2px #0b0c0c;outline:3px solid #ffdd00;outline-offset:0}@media(max-width:480px){.ccd-rich-text-area__toolbar-group--list{flex-wrap:wrap}.ccd-rich-text-area__list-style{flex:1 1 100%;margin-left:0}.ccd-rich-text-area__list-style-select{flex:1 1 auto;width:auto}}.ccd-rich-text-area__toolbar-icon{display:block;fill:currentColor;height:20px;width:20px}.ccd-rich-text-area__toolbar-icon--paragraph{display:inline-flex;font-size:18px;line-height:1;width:auto}.ccd-rich-text-area__toolbar-icon--heading{display:inline-flex;font-size:18px;font-weight:700;line-height:1;width:auto}.ccd-rich-text-area .ProseMirror h1{font-size:20px;font-weight:700}.ccd-rich-text-area .ProseMirror h2{font-size:18px;font-weight:700}.ccd-rich-text-area .ProseMirror h3{font-size:16px;font-weight:700}.ccd-rich-text-area .NgxEditor__Wrapper .NgxEditor{border:0;border-radius:0;height:100%;min-height:0;overflow:hidden;width:100%}.ccd-rich-text-area__editor--error .NgxEditor__Wrapper{border-color:#d4351c}.ccd-rich-text-area .NgxEditor__Content{box-sizing:border-box;font-size:14px;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px}.ccd-rich-text-area .ProseMirror{font-size:14px;min-height:231px;outline:0;overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area .ProseMirror [data-indent=\"1\"]{margin-left:40px}.ccd-rich-text-area .ProseMirror [data-indent=\"2\"]{margin-left:80px}.ccd-rich-text-area .ProseMirror [data-indent=\"3\"]{margin-left:120px}.ccd-rich-text-area .ProseMirror [data-indent=\"4\"]{margin-left:160px}.ccd-rich-text-area .ProseMirror [data-indent=\"5\"]{margin-left:200px}.ccd-rich-text-area .ProseMirror [data-indent=\"6\"]{margin-left:240px}.ccd-rich-text-area .ProseMirror strong,.ccd-rich-text-area .ProseMirror strong *,.ccd-rich-text-area .ProseMirror b,.ccd-rich-text-area .ProseMirror b *{font-weight:700}.ccd-rich-text-area .ProseMirror strong u,.ccd-rich-text-area .ProseMirror u strong,.ccd-rich-text-area .ProseMirror b u,.ccd-rich-text-area .ProseMirror u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area .ProseMirror:focus{box-shadow:none;outline:0}.ccd-rich-text-area .ProseMirror p,.ccd-rich-text-area .ProseMirror ul,.ccd-rich-text-area .ProseMirror ol,.ccd-rich-text-area .ProseMirror li{font-size:14px;margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area .ProseMirror p{margin-bottom:5px}.ccd-rich-text-area .ProseMirror ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area .ProseMirror ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"1\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"1\"]{margin-left:40px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"2\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"2\"]{margin-left:80px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"3\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"3\"]{margin-left:120px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"4\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"4\"]{margin-left:160px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"5\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"5\"]{margin-left:200px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"6\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"6\"]{margin-left:240px;padding-left:25px}.ccd-rich-text-area .ProseMirror ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area .ProseMirror ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area .ProseMirror ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area .ProseMirror li{display:list-item;margin-bottom:5px}.ccd-rich-text-area .ProseMirror li>p{margin:0}.ccd-rich-text-area .ProseMirror li>ul,.ccd-rich-text-area .ProseMirror li>ol{margin-top:5px}\n"], encapsulation: 2 });
28400
28562
  }
28401
28563
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteRichTextAreaFieldComponent, [{
28402
28564
  type: Component,
28403
- args: [{ selector: 'ccd-write-rich-text-area-field', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"form-group ccd-rich-text-area\" [ngClass]=\"{'form-group-error': !richTextAreaControl.valid && richTextAreaControl.dirty}\">\n <div [id]=\"labelId()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </div>\n <span [id]=\"hintId()\" class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span [id]=\"errorId()\" class=\"error-message\" *ngIf=\"isInvalid()\">\n {{richTextAreaControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <div\n #editorHost\n class=\"ccd-rich-text-area__editor\"\n [ngClass]=\"{'ccd-rich-text-area__editor--error': isInvalid()}\"\n (click)=\"syncAccessibilityLater()\"\n (keydown)=\"onEditorKeyDown($event)\"\n (keyup)=\"syncAccessibilityLater()\"\n (paste)=\"onPaste($event)\">\n <div\n class=\"ccd-rich-text-area__toolbar\"\n role=\"toolbar\"\n [attr.aria-label]=\"toolbarLabel()\">\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n aria-label=\"Undo\"\n title=\"Undo\"\n aria-keyshortcuts=\"Control+Z\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'undo')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n aria-label=\"Redo\"\n title=\"Redo\"\n aria-keyshortcuts=\"Control+Y\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'redo')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z\"></path>\n </svg>\n </button>\n <span class=\"ccd-rich-text-area__toolbar-separator\" aria-hidden=\"true\"></span>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--bold\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('bold')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('bold')\"\n aria-label=\"Bold\"\n title=\"Bold\"\n aria-keyshortcuts=\"Control+B\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'bold')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5S13.83 9.5 13 9.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--italic\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('italic')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('italic')\"\n aria-label=\"Italic\"\n title=\"Italic\"\n aria-keyshortcuts=\"Control+I\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'italic')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--underline\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('underline')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('underline')\"\n aria-label=\"Underline\"\n title=\"Underline\"\n aria-keyshortcuts=\"Control+U\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'underline')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--paragraph\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('paragraph')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('paragraph')\"\n aria-label=\"Paragraph\"\n title=\"Paragraph\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'paragraph')\">\n <span class=\"ccd-rich-text-area__toolbar-icon ccd-rich-text-area__toolbar-icon--paragraph\" aria-hidden=\"true\">P</span>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--heading\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('heading')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('heading')\"\n aria-label=\"Heading level 1\"\n title=\"Heading level 1\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'heading')\">\n <span class=\"ccd-rich-text-area__toolbar-icon ccd-rich-text-area__toolbar-icon--heading\" aria-hidden=\"true\">H</span>\n </button>\n <span class=\"ccd-rich-text-area__toolbar-separator\" aria-hidden=\"true\"></span>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('bullet_list')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('bullet_list')\"\n aria-label=\"Bullet List\"\n title=\"Bullet List\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'bullet_list')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6C3.17 4.5 2.5 5.17 2.5 6S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zM7 13h14v-2H7v2zm0 6h14v-2H7v2zM7 5v2h14V5H7z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isOrderedListActive()}\"\n [attr.aria-pressed]=\"isOrderedListActive()\"\n aria-label=\"Numbered List\"\n title=\"Numbered List\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'ordered_list')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1V14h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z\"></path>\n </svg>\n </button>\n <div class=\"ccd-rich-text-area__list-style\">\n <label class=\"ccd-rich-text-area__list-style-label\" [for]=\"listStyleId()\">List style</label>\n <select\n class=\"ccd-rich-text-area__list-style-select\"\n [id]=\"listStyleId()\"\n [value]=\"currentListSelectValue()\"\n (change)=\"onListStyleChange($event)\">\n <option *ngIf=\"!isOrderedListActive()\" value=\"\">No list</option>\n <option value=\"ordered_list\">Numbers (1, 2, 3)</option>\n <option value=\"ordered_alpha\">Letters (a, b, c)</option>\n <option value=\"ordered_roman\">Roman numerals (i), (ii), (iii)</option>\n </select>\n </div>\n <span class=\"ccd-rich-text-area__toolbar-separator\" aria-hidden=\"true\"></span>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n aria-label=\"Decrease Indent\"\n title=\"Decrease Indent\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'outdent')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M11 17h10v-2H11v2zm-8-5 4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n aria-label=\"Increase Indent\"\n title=\"Increase Indent\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'indent')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z\"></path>\n </svg>\n </button>\n </div>\n\n <div class=\"NgxEditor__Wrapper\">\n <ngx-editor\n [editor]=\"editor\"\n [formControl]=\"richTextAreaControl\"\n outputFormat=\"html\"\n (focusIn)=\"syncAccessibilityLater()\"\n (focusOut)=\"onEditorFocusOut()\">\n </ngx-editor>\n </div>\n </div>\n</div>\n", styles: [".ccd-rich-text-area{margin-bottom:30px}.ccd-rich-text-area__editor{max-width:100%}.ccd-rich-text-area__toolbar{align-items:center;background:#fff;border:1px solid #d8dde0;border-radius:6px;display:flex;flex-wrap:wrap;gap:2px;margin-bottom:10px;padding:6px 8px;width:fit-content}.ccd-rich-text-area .NgxEditor__Wrapper{border:1px solid #000;border-radius:0;box-sizing:border-box;height:255px;max-width:100%;min-height:255px;min-width:200px;overflow:hidden;resize:both;width:100%}.ccd-rich-text-area .NgxEditor__Wrapper:focus-within{outline:3px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-button{background:#fff;align-items:center;border:0;border-radius:2px;color:#0b0c0c;display:inline-flex;font-family:inherit;font-size:18px;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:4px;width:28px}.ccd-rich-text-area__toolbar-button:hover{background:#f3f2f1}.ccd-rich-text-area__toolbar-button:focus{background:#fd0;box-shadow:0 0 0 2px #0b0c0c;outline:2px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-button--active,.ccd-rich-text-area__toolbar-button--active:hover{background:#1d70b8;color:#fff}.ccd-rich-text-area__toolbar-button--italic{font-style:italic}.ccd-rich-text-area__toolbar-button--underline{text-decoration:underline}.ccd-rich-text-area__toolbar-separator{border-left:1px solid #b1b4b6;height:24px;margin:0 5px 0 3px}.ccd-rich-text-area__list-style{align-items:center;display:inline-flex;gap:8px;margin:0 4px}.ccd-rich-text-area__list-style-label{font-weight:700;white-space:nowrap}.ccd-rich-text-area__list-style-select{background-color:#fff;border:1px solid #0b0c0c;border-radius:0;color:#0b0c0c;font-family:inherit;font-size:16px;height:32px;min-width:190px;padding:2px 28px 2px 8px}.ccd-rich-text-area__list-style-select:focus{box-shadow:0 0 0 2px #0b0c0c;outline:3px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-icon{display:block;fill:currentColor;height:20px;width:20px}.ccd-rich-text-area__toolbar-icon--paragraph{display:inline-flex;font-size:18px;line-height:1;width:auto}.ccd-rich-text-area__toolbar-icon--heading{display:inline-flex;font-size:18px;font-weight:700;line-height:1;width:auto}.ccd-rich-text-area .ProseMirror h1{font-size:20px;font-weight:700}.ccd-rich-text-area .NgxEditor__Wrapper .NgxEditor{border:0;border-radius:0;height:100%;min-height:0;overflow:hidden;width:100%}.ccd-rich-text-area__editor--error .NgxEditor__Wrapper{border-color:#d4351c}.ccd-rich-text-area .NgxEditor__Content{box-sizing:border-box;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px}.ccd-rich-text-area .ProseMirror{min-height:231px;outline:0;overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area .ProseMirror [data-indent=\"1\"]{margin-left:40px}.ccd-rich-text-area .ProseMirror [data-indent=\"2\"]{margin-left:80px}.ccd-rich-text-area .ProseMirror [data-indent=\"3\"]{margin-left:120px}.ccd-rich-text-area .ProseMirror [data-indent=\"4\"]{margin-left:160px}.ccd-rich-text-area .ProseMirror [data-indent=\"5\"]{margin-left:200px}.ccd-rich-text-area .ProseMirror [data-indent=\"6\"]{margin-left:240px}.ccd-rich-text-area .ProseMirror strong,.ccd-rich-text-area .ProseMirror strong *,.ccd-rich-text-area .ProseMirror b,.ccd-rich-text-area .ProseMirror b *{font-weight:700}.ccd-rich-text-area .ProseMirror strong u,.ccd-rich-text-area .ProseMirror u strong,.ccd-rich-text-area .ProseMirror b u,.ccd-rich-text-area .ProseMirror u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area .ProseMirror:focus{box-shadow:none;outline:0}.ccd-rich-text-area .ProseMirror p,.ccd-rich-text-area .ProseMirror ul,.ccd-rich-text-area .ProseMirror ol{margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area .ProseMirror p{margin-bottom:5px}.ccd-rich-text-area .ProseMirror ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area .ProseMirror ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"1\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"1\"]{margin-left:40px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"2\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"2\"]{margin-left:80px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"3\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"3\"]{margin-left:120px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"4\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"4\"]{margin-left:160px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"5\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"5\"]{margin-left:200px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"6\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"6\"]{margin-left:240px;padding-left:25px}.ccd-rich-text-area .ProseMirror ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area .ProseMirror ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area .ProseMirror ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area .ProseMirror li{display:list-item;margin-bottom:5px}.ccd-rich-text-area .ProseMirror li>p{margin:0}.ccd-rich-text-area .ProseMirror li>ul,.ccd-rich-text-area .ProseMirror li>ol{margin-top:5px}\n"] }]
28565
+ args: [{ selector: 'ccd-write-rich-text-area-field', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"form-group ccd-rich-text-area\" [ngClass]=\"{'form-group-error': !richTextAreaControl.valid && richTextAreaControl.dirty}\">\n <div [id]=\"labelId()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </div>\n <span [id]=\"hintId()\" class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span [id]=\"keyboardInstructionsId()\" class=\"ccd-rich-text-area__keyboard-instructions\">\n Press Escape to move from the editor to the formatting toolbar.\n </span>\n <span [id]=\"errorId()\" class=\"error-message\" *ngIf=\"isInvalid()\">\n {{richTextAreaControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <div\n #editorHost\n class=\"ccd-rich-text-area__editor\"\n [ngClass]=\"{'ccd-rich-text-area__editor--error': isInvalid()}\"\n (click)=\"onEditorClick()\"\n (keydown)=\"onEditorKeyDown($event)\"\n (keyup)=\"syncAccessibilityLater()\"\n (paste)=\"onPaste($event)\">\n <div\n class=\"ccd-rich-text-area__toolbar\"\n role=\"toolbar\"\n aria-orientation=\"horizontal\"\n [attr.aria-label]=\"toolbarLabel()\"\n (focusin)=\"onToolbarFocusIn($event)\"\n (keydown)=\"onToolbarKeyDown($event)\">\n <div class=\"ccd-rich-text-area__toolbar-group\" role=\"group\" aria-label=\"History\">\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n tabindex=\"0\"\n aria-label=\"Undo\"\n title=\"Undo\"\n aria-keyshortcuts=\"Control+Z\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'undo')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n tabindex=\"-1\"\n aria-label=\"Redo\"\n title=\"Redo\"\n aria-keyshortcuts=\"Control+Y\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'redo')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z\"></path>\n </svg>\n </button>\n </div>\n <span class=\"ccd-rich-text-area__toolbar-separator\" aria-hidden=\"true\"></span>\n <div class=\"ccd-rich-text-area__toolbar-group\" role=\"group\" aria-label=\"Text formatting\">\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--bold\"\n tabindex=\"-1\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('bold')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('bold')\"\n aria-label=\"Bold\"\n title=\"Bold\"\n aria-keyshortcuts=\"Control+B\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'bold')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5S13.83 9.5 13 9.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--italic\"\n tabindex=\"-1\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('italic')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('italic')\"\n aria-label=\"Italic\"\n title=\"Italic\"\n aria-keyshortcuts=\"Control+I\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'italic')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--underline\"\n tabindex=\"-1\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('underline')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('underline')\"\n aria-label=\"Underline\"\n title=\"Underline\"\n aria-keyshortcuts=\"Control+U\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'underline')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z\"></path>\n </svg>\n </button>\n </div>\n <div class=\"ccd-rich-text-area__toolbar-group\" role=\"group\" aria-label=\"Paragraph and heading formatting\">\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--paragraph\"\n tabindex=\"-1\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('paragraph')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('paragraph')\"\n aria-label=\"Paragraph\"\n title=\"Paragraph\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'paragraph')\">\n <span class=\"ccd-rich-text-area__toolbar-icon ccd-rich-text-area__toolbar-icon--paragraph\" aria-hidden=\"true\">P</span>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button ccd-rich-text-area__toolbar-button--heading\"\n tabindex=\"-1\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('heading')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('heading')\"\n aria-label=\"Heading\"\n title=\"Heading\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'heading')\">\n <span class=\"ccd-rich-text-area__toolbar-icon ccd-rich-text-area__toolbar-icon--heading\" aria-hidden=\"true\">H</span>\n </button>\n <div\n *ngIf=\"isToolbarCommandActive('heading')\"\n class=\"ccd-rich-text-area__heading-level\">\n <label class=\"ccd-rich-text-area__heading-level-label\" [for]=\"headingLevelId()\">Heading level</label>\n <select\n class=\"ccd-rich-text-area__heading-level-select\"\n tabindex=\"-1\"\n [id]=\"headingLevelId()\"\n [value]=\"selectedHeadingLevel\"\n (change)=\"onHeadingLevelChange($event)\">\n <option value=\"1\">Heading 1</option>\n <option value=\"2\">Heading 2</option>\n <option value=\"3\">Heading 3</option>\n </select>\n </div>\n </div>\n <span class=\"ccd-rich-text-area__toolbar-separator\" aria-hidden=\"true\"></span>\n <div\n class=\"ccd-rich-text-area__toolbar-group ccd-rich-text-area__toolbar-group--list\"\n role=\"group\"\n aria-label=\"List formatting\">\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n tabindex=\"-1\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isToolbarCommandActive('bullet_list')}\"\n [attr.aria-pressed]=\"isToolbarCommandActive('bullet_list')\"\n aria-label=\"Bullet List\"\n title=\"Bullet List\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'bullet_list')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6C3.17 4.5 2.5 5.17 2.5 6S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zM7 13h14v-2H7v2zm0 6h14v-2H7v2zM7 5v2h14V5H7z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n tabindex=\"-1\"\n [ngClass]=\"{'ccd-rich-text-area__toolbar-button--active': isOrderedListActive()}\"\n [attr.aria-pressed]=\"isOrderedListActive()\"\n aria-label=\"Numbered List\"\n title=\"Numbered List\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'ordered_list')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1V14h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z\"></path>\n </svg>\n </button>\n <div class=\"ccd-rich-text-area__list-style\">\n <label class=\"ccd-rich-text-area__list-style-label\" [for]=\"listStyleId()\">List style</label>\n <select\n class=\"ccd-rich-text-area__list-style-select\"\n tabindex=\"-1\"\n [id]=\"listStyleId()\"\n [value]=\"currentListSelectValue()\"\n (change)=\"onListStyleChange($event)\">\n <option *ngIf=\"!isOrderedListActive()\" value=\"\">No list</option>\n <option value=\"ordered_list\">Numbers (1, 2, 3)</option>\n <option value=\"ordered_alpha\">Letters (a, b, c)</option>\n <option value=\"ordered_roman\">Roman numerals (i), (ii), (iii)</option>\n </select>\n </div>\n </div>\n <span class=\"ccd-rich-text-area__toolbar-separator\" aria-hidden=\"true\"></span>\n <div class=\"ccd-rich-text-area__toolbar-group\" role=\"group\" aria-label=\"Indentation\">\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n tabindex=\"-1\"\n aria-label=\"Decrease Indent\"\n title=\"Decrease Indent\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'outdent')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M11 17h10v-2H11v2zm-8-5 4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z\"></path>\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"ccd-rich-text-area__toolbar-button\"\n tabindex=\"-1\"\n aria-label=\"Increase Indent\"\n title=\"Increase Indent\"\n (mousedown)=\"onToolbarButtonMouseDown($event)\"\n (click)=\"executeToolbarCommand($event, 'indent')\">\n <svg class=\"ccd-rich-text-area__toolbar-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z\"></path>\n </svg>\n </button>\n </div>\n </div>\n\n <div class=\"NgxEditor__Wrapper\">\n <ngx-editor\n [editor]=\"editor\"\n [formControl]=\"richTextAreaControl\"\n outputFormat=\"html\"\n (focusIn)=\"syncAccessibilityLater()\"\n (focusOut)=\"onEditorFocusOut()\">\n </ngx-editor>\n </div>\n </div>\n</div>\n", styles: [".ccd-rich-text-area{margin-bottom:30px}.ccd-rich-text-area__editor{max-width:100%}.ccd-rich-text-area__keyboard-instructions{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ccd-rich-text-area__toolbar{align-items:center;background:#fff;border:1px solid #d8dde0;border-radius:6px;box-sizing:border-box;display:flex;flex-wrap:wrap;column-gap:2px;margin-bottom:10px;max-width:100%;padding:6px 8px;row-gap:6px;width:fit-content}.ccd-rich-text-area__toolbar-group{align-items:center;display:inline-flex;flex:0 0 auto;gap:2px}.ccd-rich-text-area__toolbar-group--list{max-width:100%}.ccd-rich-text-area .NgxEditor__Wrapper{border:1px solid #000;border-radius:0;box-sizing:border-box;height:255px;max-width:100%;min-height:255px;min-width:200px;overflow:hidden;resize:both;width:100%}.ccd-rich-text-area .NgxEditor__Wrapper:focus-within{outline:3px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-button{background:#fff;align-items:center;border:0;border-radius:2px;color:#0b0c0c;display:inline-flex;font-family:inherit;font-size:18px;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:4px;width:28px}.ccd-rich-text-area__toolbar-button:hover{background:#f3f2f1}.ccd-rich-text-area__toolbar-button:focus{background:#fd0;box-shadow:0 0 0 2px #0b0c0c;outline:2px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__toolbar-button--active,.ccd-rich-text-area__toolbar-button--active:hover{background:#1d70b8;color:#fff}.ccd-rich-text-area__toolbar-button--italic{font-style:italic}.ccd-rich-text-area__toolbar-button--underline{text-decoration:underline}.ccd-rich-text-area__toolbar-separator{border-left:1px solid #b1b4b6;height:24px;margin:0 5px 0 3px}.ccd-rich-text-area__heading-level{display:inline-flex;margin-right:3px}.ccd-rich-text-area__heading-level-label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ccd-rich-text-area__heading-level-select{background-color:#fff;border:1px solid #0b0c0c;border-radius:0;color:#0b0c0c;font-family:inherit;font-size:16px;height:32px;min-width:108px;padding:2px 24px 2px 6px;width:150px}.ccd-rich-text-area__heading-level-select:focus{box-shadow:0 0 0 2px #0b0c0c;outline:3px solid #ffdd00;outline-offset:0}.ccd-rich-text-area__list-style{align-items:center;display:inline-flex;gap:8px;margin:0 4px;min-width:0}.ccd-rich-text-area__list-style-label{font-weight:700;white-space:nowrap}.ccd-rich-text-area__list-style-select{background-color:#fff;border:1px solid #0b0c0c;border-radius:0;color:#0b0c0c;font-family:inherit;font-size:16px;height:32px;max-width:100%;min-width:0;padding:2px 28px 2px 8px;width:260px}.ccd-rich-text-area__list-style-select:focus{box-shadow:0 0 0 2px #0b0c0c;outline:3px solid #ffdd00;outline-offset:0}@media(max-width:480px){.ccd-rich-text-area__toolbar-group--list{flex-wrap:wrap}.ccd-rich-text-area__list-style{flex:1 1 100%;margin-left:0}.ccd-rich-text-area__list-style-select{flex:1 1 auto;width:auto}}.ccd-rich-text-area__toolbar-icon{display:block;fill:currentColor;height:20px;width:20px}.ccd-rich-text-area__toolbar-icon--paragraph{display:inline-flex;font-size:18px;line-height:1;width:auto}.ccd-rich-text-area__toolbar-icon--heading{display:inline-flex;font-size:18px;font-weight:700;line-height:1;width:auto}.ccd-rich-text-area .ProseMirror h1{font-size:20px;font-weight:700}.ccd-rich-text-area .ProseMirror h2{font-size:18px;font-weight:700}.ccd-rich-text-area .ProseMirror h3{font-size:16px;font-weight:700}.ccd-rich-text-area .NgxEditor__Wrapper .NgxEditor{border:0;border-radius:0;height:100%;min-height:0;overflow:hidden;width:100%}.ccd-rich-text-area__editor--error .NgxEditor__Wrapper{border-color:#d4351c}.ccd-rich-text-area .NgxEditor__Content{box-sizing:border-box;font-size:14px;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px}.ccd-rich-text-area .ProseMirror{font-size:14px;min-height:231px;outline:0;overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area .ProseMirror [data-indent=\"1\"]{margin-left:40px}.ccd-rich-text-area .ProseMirror [data-indent=\"2\"]{margin-left:80px}.ccd-rich-text-area .ProseMirror [data-indent=\"3\"]{margin-left:120px}.ccd-rich-text-area .ProseMirror [data-indent=\"4\"]{margin-left:160px}.ccd-rich-text-area .ProseMirror [data-indent=\"5\"]{margin-left:200px}.ccd-rich-text-area .ProseMirror [data-indent=\"6\"]{margin-left:240px}.ccd-rich-text-area .ProseMirror strong,.ccd-rich-text-area .ProseMirror strong *,.ccd-rich-text-area .ProseMirror b,.ccd-rich-text-area .ProseMirror b *{font-weight:700}.ccd-rich-text-area .ProseMirror strong u,.ccd-rich-text-area .ProseMirror u strong,.ccd-rich-text-area .ProseMirror b u,.ccd-rich-text-area .ProseMirror u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area .ProseMirror:focus{box-shadow:none;outline:0}.ccd-rich-text-area .ProseMirror p,.ccd-rich-text-area .ProseMirror ul,.ccd-rich-text-area .ProseMirror ol,.ccd-rich-text-area .ProseMirror li{font-size:14px;margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area .ProseMirror p{margin-bottom:5px}.ccd-rich-text-area .ProseMirror ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area .ProseMirror ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"1\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"1\"]{margin-left:40px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"2\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"2\"]{margin-left:80px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"3\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"3\"]{margin-left:120px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"4\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"4\"]{margin-left:160px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"5\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"5\"]{margin-left:200px;padding-left:25px}.ccd-rich-text-area .ProseMirror ul[data-indent=\"6\"],.ccd-rich-text-area .ProseMirror ol[data-indent=\"6\"]{margin-left:240px;padding-left:25px}.ccd-rich-text-area .ProseMirror ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area .ProseMirror ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area .ProseMirror ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area .ProseMirror li{display:list-item;margin-bottom:5px}.ccd-rich-text-area .ProseMirror li>p{margin:0}.ccd-rich-text-area .ProseMirror li>ul,.ccd-rich-text-area .ProseMirror li>ol{margin-top:5px}\n"] }]
28404
28566
  }], null, { editorHost: [{
28405
28567
  type: ViewChild,
28406
28568
  args: ['editorHost']
28407
28569
  }] }); })();
28408
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteRichTextAreaFieldComponent, { className: "WriteRichTextAreaFieldComponent", filePath: "lib/shared/components/palette/rich-text-area/write-rich-text-area-field.component.ts", lineNumber: 128 }); })();
28570
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteRichTextAreaFieldComponent, { className: "WriteRichTextAreaFieldComponent", filePath: "lib/shared/components/palette/rich-text-area/write-rich-text-area-field.component.ts", lineNumber: 137 }); })();
28409
28571
 
28410
28572
  class ReadTextFieldComponent extends AbstractFieldReadComponent {
28411
28573
  static ɵfac = /*@__PURE__*/ (() => { let ɵReadTextFieldComponent_BaseFactory; return function ReadTextFieldComponent_Factory(__ngFactoryType__) { return (ɵReadTextFieldComponent_BaseFactory || (ɵReadTextFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadTextFieldComponent)))(__ngFactoryType__ || ReadTextFieldComponent); }; })();