@skyux/text-editor 4.0.0-beta.2 → 5.0.0-beta.4

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.
Files changed (101) hide show
  1. package/LICENSE +21 -0
  2. package/bundles/skyux-text-editor.umd.js +730 -562
  3. package/bundles/skyux-text-editor.umd.js.map +1 -1
  4. package/documentation.json +1961 -0
  5. package/esm2015/modules/rich-text-display/rich-text-display.component.js +17 -20
  6. package/esm2015/modules/rich-text-display/rich-text-display.module.js +22 -17
  7. package/esm2015/modules/shared/forms-utility.js +1 -1
  8. package/esm2015/modules/shared/sky-text-editor-resources.module.js +41 -0
  9. package/esm2015/modules/text-editor/defaults/font-list-defaults.js +1 -1
  10. package/esm2015/modules/text-editor/defaults/font-size-list-defaults.js +1 -1
  11. package/esm2015/modules/text-editor/defaults/menu-defaults.js +1 -1
  12. package/esm2015/modules/text-editor/defaults/style-state-defaults.js +1 -1
  13. package/esm2015/modules/text-editor/defaults/toolbar-action-defaults.js +1 -1
  14. package/esm2015/modules/text-editor/menubar/text-editor-menubar.component.js +32 -36
  15. package/esm2015/modules/text-editor/services/text-editor-adapter.service.js +17 -22
  16. package/esm2015/modules/text-editor/services/text-editor-selection.service.js +12 -13
  17. package/esm2015/modules/text-editor/services/text-editor.service.js +11 -11
  18. package/esm2015/modules/text-editor/services/text-sanitization.service.js +12 -14
  19. package/esm2015/modules/text-editor/text-editor.component.js +63 -68
  20. package/esm2015/modules/text-editor/text-editor.module.js +68 -27
  21. package/esm2015/modules/text-editor/toolbar/text-editor-toolbar.component.js +40 -42
  22. package/esm2015/modules/text-editor/types/editor-command.js +2 -1
  23. package/esm2015/modules/text-editor/types/editor-setting.js +2 -1
  24. package/esm2015/modules/text-editor/types/font-state.js +2 -1
  25. package/esm2015/modules/text-editor/types/menu-type.js +2 -1
  26. package/esm2015/modules/text-editor/types/style-state.js +2 -1
  27. package/esm2015/modules/text-editor/types/text-editor-merge-field.js +2 -1
  28. package/esm2015/modules/text-editor/types/toolbar-action-type.js +2 -1
  29. package/esm2015/modules/text-editor/url-modal/text-editor-url-modal-context.js +1 -1
  30. package/esm2015/modules/text-editor/url-modal/text-editor-url-modal-result.js +2 -1
  31. package/esm2015/modules/text-editor/url-modal/text-editor-url-modal.component.js +21 -18
  32. package/esm2015/modules/text-editor/url-modal/text-editor-url-target.js +1 -1
  33. package/esm2015/public-api.js +15 -0
  34. package/esm2015/skyux-text-editor.js +2 -14
  35. package/fesm2015/skyux-text-editor.js +359 -312
  36. package/fesm2015/skyux-text-editor.js.map +1 -1
  37. package/modules/rich-text-display/rich-text-display.component.d.ts +3 -0
  38. package/modules/rich-text-display/rich-text-display.module.d.ts +6 -0
  39. package/modules/shared/sky-text-editor-resources.module.d.ts +14 -0
  40. package/modules/text-editor/menubar/text-editor-menubar.component.d.ts +3 -0
  41. package/modules/text-editor/services/text-editor-adapter.service.d.ts +3 -0
  42. package/modules/text-editor/services/text-editor-selection.service.d.ts +3 -0
  43. package/modules/text-editor/services/text-editor.service.d.ts +3 -0
  44. package/modules/text-editor/services/text-sanitization.service.d.ts +3 -0
  45. package/modules/text-editor/text-editor.component.d.ts +3 -0
  46. package/modules/text-editor/text-editor.module.d.ts +21 -0
  47. package/modules/text-editor/toolbar/text-editor-toolbar.component.d.ts +3 -0
  48. package/modules/text-editor/url-modal/text-editor-url-modal.component.d.ts +3 -0
  49. package/package.json +20 -36
  50. package/public-api.d.ts +12 -0
  51. package/skyux-text-editor.d.ts +2 -13
  52. package/CHANGELOG.md +0 -13
  53. package/bundles/skyux-text-editor.umd.min.js +0 -2
  54. package/bundles/skyux-text-editor.umd.min.js.map +0 -1
  55. package/esm2015/plugin-resources/text-editor-resources-provider.js +0 -16
  56. package/esm2015/plugin-resources/text-editor-resources.module.js +0 -19
  57. package/esm2015/public_api.js +0 -3
  58. package/esm5/modules/rich-text-display/rich-text-display.component.js +0 -44
  59. package/esm5/modules/rich-text-display/rich-text-display.module.js +0 -24
  60. package/esm5/modules/shared/forms-utility.js +0 -14
  61. package/esm5/modules/text-editor/defaults/font-list-defaults.js +0 -42
  62. package/esm5/modules/text-editor/defaults/font-size-list-defaults.js +0 -5
  63. package/esm5/modules/text-editor/defaults/menu-defaults.js +0 -8
  64. package/esm5/modules/text-editor/defaults/style-state-defaults.js +0 -15
  65. package/esm5/modules/text-editor/defaults/toolbar-action-defaults.js +0 -12
  66. package/esm5/modules/text-editor/menubar/text-editor-menubar.component.js +0 -199
  67. package/esm5/modules/text-editor/services/text-editor-adapter.service.js +0 -470
  68. package/esm5/modules/text-editor/services/text-editor-selection.service.js +0 -77
  69. package/esm5/modules/text-editor/services/text-editor.service.js +0 -49
  70. package/esm5/modules/text-editor/services/text-sanitization.service.js +0 -41
  71. package/esm5/modules/text-editor/text-editor.component.js +0 -287
  72. package/esm5/modules/text-editor/text-editor.module.js +0 -63
  73. package/esm5/modules/text-editor/toolbar/text-editor-toolbar.component.js +0 -178
  74. package/esm5/modules/text-editor/types/editor-command.js +0 -1
  75. package/esm5/modules/text-editor/types/editor-setting.js +0 -1
  76. package/esm5/modules/text-editor/types/font-state.js +0 -1
  77. package/esm5/modules/text-editor/types/menu-type.js +0 -1
  78. package/esm5/modules/text-editor/types/style-state.js +0 -1
  79. package/esm5/modules/text-editor/types/text-editor-merge-field.js +0 -1
  80. package/esm5/modules/text-editor/types/toolbar-action-type.js +0 -1
  81. package/esm5/modules/text-editor/url-modal/text-editor-url-modal-context.js +0 -10
  82. package/esm5/modules/text-editor/url-modal/text-editor-url-modal-result.js +0 -1
  83. package/esm5/modules/text-editor/url-modal/text-editor-url-modal.component.js +0 -120
  84. package/esm5/modules/text-editor/url-modal/text-editor-url-target.js +0 -9
  85. package/esm5/plugin-resources/text-editor-resources-provider.js +0 -17
  86. package/esm5/plugin-resources/text-editor-resources.module.js +0 -22
  87. package/esm5/public_api.js +0 -3
  88. package/esm5/skyux-text-editor.js +0 -17
  89. package/fesm5/skyux-text-editor.js +0 -1620
  90. package/fesm5/skyux-text-editor.js.map +0 -1
  91. package/plugin-resources/text-editor-resources-provider.d.ts +0 -5
  92. package/plugin-resources/text-editor-resources.module.d.ts +0 -2
  93. package/public_api.d.ts +0 -7
  94. package/skyux-text-editor.metadata.json +0 -1
  95. package/src/assets/img/default-anatomy.png +0 -0
  96. package/src/assets/img/default-option-menu-toolbar-items.png +0 -0
  97. package/src/assets/img/default-use-when.png +0 -0
  98. package/src/assets/img/modern-anatomy.png +0 -0
  99. package/src/assets/img/modern-option-menu-toolbar-items.png +0 -0
  100. package/src/assets/img/modern-use-when.png +0 -0
  101. package/src/assets/locales/resources_en_US.json +0 -130
@@ -1,27 +1,36 @@
1
- import { __decorate } from 'tslib';
1
+ import * as i8 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
- import { ɵɵdefineInjectable, Injectable, Input, Component, NgModule, ɵɵinject, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, forwardRef, ViewEncapsulation } from '@angular/core';
4
- import { DomSanitizer } from '@angular/platform-browser';
5
- import dompurify from 'dompurify';
3
+ import * as i0 from '@angular/core';
4
+ import { Injectable, Component, Input, NgModule, ChangeDetectionStrategy, forwardRef, ViewEncapsulation, ViewChild } from '@angular/core';
5
+ import * as i1 from '@angular/platform-browser';
6
+ import createDOMPurify from 'dompurify';
7
+ import * as i5 from '@angular/forms';
6
8
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
9
+ import * as i6$1 from '@skyux/colorpicker';
7
10
  import { SkyColorpickerMessageType, SkyColorpickerModule } from '@skyux/colorpicker';
8
- import { SkyAppWindowRef, SkyCoreAdapterService, SkyCoreAdapterModule, SkyIdModule } from '@skyux/core';
11
+ import * as i3 from '@skyux/core';
12
+ import { SkyCoreAdapterModule, SkyIdModule } from '@skyux/core';
13
+ import * as i4$1 from '@skyux/forms';
9
14
  import { SkyInputBoxModule, SkyCheckboxModule } from '@skyux/forms';
10
- import { SkyModalInstance, SkyModalService, SkyModalModule } from '@skyux/modals';
11
- import { getStringForLocale, SKY_LIB_RESOURCES_PROVIDERS, SkyLibResourcesService, SkyI18nModule } from '@skyux/i18n';
15
+ import * as i1$1 from '@skyux/modals';
16
+ import { SkyModalModule } from '@skyux/modals';
17
+ import * as i2 from '@skyux/i18n';
18
+ import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
19
+ import * as i7 from '@skyux/indicators';
12
20
  import { SkyIconModule } from '@skyux/indicators';
21
+ import * as i3$1 from '@skyux/layout';
13
22
  import { SkyToolbarModule } from '@skyux/layout';
23
+ import * as i4 from '@skyux/popovers';
14
24
  import { SkyDropdownMessageType, SkyDropdownModule } from '@skyux/popovers';
25
+ import * as i3$2 from '@skyux/tabs';
15
26
  import { SkyTabsModule } from '@skyux/tabs';
27
+ import * as i6 from '@skyux/theme';
16
28
  import { SkyThemeModule } from '@skyux/theme';
17
29
  import { Subject, forkJoin } from 'rxjs';
18
30
  import { takeUntil, take } from 'rxjs/operators';
19
31
  import { SkyValidation } from '@skyux/validation';
20
32
 
21
- // TODO: figure out how to get the following `import` to work with docs-tools library.
22
- // import DOMPurify from 'dompurify';
23
-
24
- const domPurify = dompurify(window);
33
+ const domPurify = createDOMPurify(window);
25
34
  domPurify.addHook('afterSanitizeAttributes', (node) => {
26
35
  // Set all elements owning target to target=_blank
27
36
  // so we only allow the target attribute with that value.
@@ -36,7 +45,7 @@ domPurify.addHook('afterSanitizeAttributes', (node) => {
36
45
  * can preserve `<style>` tags and allow `target` attributes for new tab links.
37
46
  * @internal
38
47
  */
39
- let SkyTextSanitizationService = class SkyTextSanitizationService {
48
+ class SkyTextSanitizationService {
40
49
  constructor() {
41
50
  this.allowedAttributes = ['target'];
42
51
  }
@@ -46,15 +55,17 @@ let SkyTextSanitizationService = class SkyTextSanitizationService {
46
55
  sanitize(htmlString) {
47
56
  return domPurify.sanitize(htmlString, { ADD_ATTR: this.allowedAttributes });
48
57
  }
49
- };
50
- SkyTextSanitizationService.ɵprov = ɵɵdefineInjectable({ factory: function SkyTextSanitizationService_Factory() { return new SkyTextSanitizationService(); }, token: SkyTextSanitizationService, providedIn: "root" });
51
- SkyTextSanitizationService = __decorate([
52
- Injectable({
53
- providedIn: 'root'
54
- })
55
- ], SkyTextSanitizationService);
58
+ }
59
+ SkyTextSanitizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextSanitizationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
+ SkyTextSanitizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextSanitizationService, providedIn: 'root' });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextSanitizationService, decorators: [{
62
+ type: Injectable,
63
+ args: [{
64
+ providedIn: 'root'
65
+ }]
66
+ }] });
56
67
 
57
- let SkyRichTextDisplayComponent = class SkyRichTextDisplayComponent {
68
+ class SkyRichTextDisplayComponent {
58
69
  constructor(sanitizer, sanitizationService) {
59
70
  this.sanitizer = sanitizer;
60
71
  this.sanitizationService = sanitizationService;
@@ -73,62 +84,88 @@ let SkyRichTextDisplayComponent = class SkyRichTextDisplayComponent {
73
84
  this.sanitizedText = this.sanitizer.bypassSecurityTrustHtml(cleaned);
74
85
  }
75
86
  }
76
- };
77
- SkyRichTextDisplayComponent.ctorParameters = () => [
78
- { type: DomSanitizer },
79
- { type: SkyTextSanitizationService }
80
- ];
81
- __decorate([
82
- Input()
83
- ], SkyRichTextDisplayComponent.prototype, "richText", null);
84
- SkyRichTextDisplayComponent = __decorate([
85
- Component({
86
- selector: 'sky-rich-text-display',
87
- template: "<span\n class=\"sky-rich-text-display-text\"\n [innerHTML]=\"sanitizedText\"\n>\n</span>\n"
88
- })
89
- ], SkyRichTextDisplayComponent);
87
+ }
88
+ SkyRichTextDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyRichTextDisplayComponent, deps: [{ token: i1.DomSanitizer }, { token: SkyTextSanitizationService }], target: i0.ɵɵFactoryTarget.Component });
89
+ SkyRichTextDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyRichTextDisplayComponent, selector: "sky-rich-text-display", inputs: { richText: "richText" }, ngImport: i0, template: "<span\n class=\"sky-rich-text-display-text\"\n [innerHTML]=\"sanitizedText\"\n>\n</span>\n" });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyRichTextDisplayComponent, decorators: [{
91
+ type: Component,
92
+ args: [{
93
+ selector: 'sky-rich-text-display',
94
+ templateUrl: './rich-text-display.component.html'
95
+ }]
96
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: SkyTextSanitizationService }]; }, propDecorators: { richText: [{
97
+ type: Input
98
+ }] } });
90
99
 
91
- let SkyRichTextDisplayModule = class SkyRichTextDisplayModule {
92
- };
93
- SkyRichTextDisplayModule = __decorate([
94
- NgModule({
95
- imports: [
100
+ class SkyRichTextDisplayModule {
101
+ }
102
+ SkyRichTextDisplayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyRichTextDisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
103
+ SkyRichTextDisplayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyRichTextDisplayModule, declarations: [SkyRichTextDisplayComponent], imports: [CommonModule], exports: [SkyRichTextDisplayComponent] });
104
+ SkyRichTextDisplayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyRichTextDisplayModule, imports: [[
96
105
  CommonModule
97
- ],
98
- exports: [
99
- SkyRichTextDisplayComponent
100
- ],
101
- declarations: [
102
- SkyRichTextDisplayComponent
103
- ]
104
- })
105
- ], SkyRichTextDisplayModule);
106
+ ]] });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyRichTextDisplayModule, decorators: [{
108
+ type: NgModule,
109
+ args: [{
110
+ imports: [
111
+ CommonModule
112
+ ],
113
+ exports: [
114
+ SkyRichTextDisplayComponent
115
+ ],
116
+ declarations: [
117
+ SkyRichTextDisplayComponent
118
+ ]
119
+ }]
120
+ }] });
106
121
 
107
- let SkyTextEditorResourcesProvider = class SkyTextEditorResourcesProvider {
108
- constructor() {
109
- this.resources = { "EN-US": { "skyux_text_editor_format_menu_action_bold_label": "Bold", "skyux_text_editor_format_menu_action_bold_key_shortcut": "Ctrl+B", "skyux_text_editor_format_menu_action_italic_label": "Italic", "skyux_text_editor_format_menu_action_italic_key_shortcut": "Ctrl+I", "skyux_text_editor_format_menu_action_underline_label": "Underline", "skyux_text_editor_format_menu_action_underline_key_shortcut": "Ctrl+U", "skyux_text_editor_format_menu_action_strikethrough_label": "Strikethrough", "skyux_text_editor_format_menu_action_clear_formatting_label": "Clear formatting", "skyux_text_editor_edit_menu_action_undo_label": "Undo", "skyux_text_editor_edit_menu_action_undo_key_shortcut": "Ctrl+Z", "skyux_text_editor_edit_menu_action_redo_label": "Redo", "skyux_text_editor_edit_menu_action_redo_key_shortcut": "Ctrl+Y", "skyux_text_editor_edit_menu_action_cut_label": "Cut", "skyux_text_editor_edit_menu_action_cut_key_shortcut": "Ctrl+X", "skyux_text_editor_edit_menu_action_copy_label": "Copy", "skyux_text_editor_edit_menu_action_copy_key_shortcut": "Ctrl+C", "skyux_text_editor_edit_menu_action_paste_label": "Paste", "skyux_text_editor_edit_menu_action_paste_key_shortcut": "Ctrl+V", "skyux_text_editor_edit_menu_action_select_all_label": "Select all", "skyux_text_editor_edit_menu_action_select_all_key_shortcut": "Ctrl+A", "skyux_text_editor_menubar_dropdown_button_edit_label": "Edit", "skyux_text_editor_menubar_dropdown_button_format_label": "Format", "skyux_text_editor_menubar_dropdown_button_insert_label": "Insert merge field", "skyux_text_editor_url_modal_header_label": "Create link", "skyux_text_editor_url_modal_url_label": "Enter a URL to link to:", "skyux_text_editor_url_modal_open_label": "Where should it open?", "skyux_text_editor_url_modal_current_option_label": "Current window", "skyux_text_editor_url_modal_new_option_label": "New window", "skyux_text_editor_url_modal_email_label": "Email address", "skyux_text_editor_url_modal_subject_label": "Subject line", "skyux_text_editor_url_modal_save_button_label": "Save", "skyux_text_editor_url_modal_cancel_button_label": "Cancel" } };
110
- }
122
+ /**
123
+ * NOTICE: DO NOT MODIFY THIS FILE!
124
+ * The contents of this file were automatically generated by
125
+ * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-text-editor' schematic.
126
+ * To update this file, simply rerun the command.
127
+ */
128
+ const RESOURCES = {
129
+ 'EN-US': { "skyux_text_editor_format_menu_action_bold_label": { "message": "Bold" }, "skyux_text_editor_format_menu_action_bold_key_shortcut": { "message": "Ctrl+B" }, "skyux_text_editor_format_menu_action_italic_label": { "message": "Italic" }, "skyux_text_editor_format_menu_action_italic_key_shortcut": { "message": "Ctrl+I" }, "skyux_text_editor_format_menu_action_underline_label": { "message": "Underline" }, "skyux_text_editor_format_menu_action_underline_key_shortcut": { "message": "Ctrl+U" }, "skyux_text_editor_format_menu_action_strikethrough_label": { "message": "Strikethrough" }, "skyux_text_editor_format_menu_action_clear_formatting_label": { "message": "Clear formatting" }, "skyux_text_editor_edit_menu_action_undo_label": { "message": "Undo" }, "skyux_text_editor_edit_menu_action_undo_key_shortcut": { "message": "Ctrl+Z" }, "skyux_text_editor_edit_menu_action_redo_label": { "message": "Redo" }, "skyux_text_editor_edit_menu_action_redo_key_shortcut": { "message": "Ctrl+Y" }, "skyux_text_editor_edit_menu_action_cut_label": { "message": "Cut" }, "skyux_text_editor_edit_menu_action_cut_key_shortcut": { "message": "Ctrl+X" }, "skyux_text_editor_edit_menu_action_copy_label": { "message": "Copy" }, "skyux_text_editor_edit_menu_action_copy_key_shortcut": { "message": "Ctrl+C" }, "skyux_text_editor_edit_menu_action_paste_label": { "message": "Paste" }, "skyux_text_editor_edit_menu_action_paste_key_shortcut": { "message": "Ctrl+V" }, "skyux_text_editor_edit_menu_action_select_all_label": { "message": "Select all" }, "skyux_text_editor_edit_menu_action_select_all_key_shortcut": { "message": "Ctrl+A" }, "skyux_text_editor_menubar_dropdown_button_edit_label": { "message": "Edit" }, "skyux_text_editor_menubar_dropdown_button_format_label": { "message": "Format" }, "skyux_text_editor_menubar_dropdown_button_insert_label": { "message": "Insert merge field" }, "skyux_text_editor_url_modal_header_label": { "message": "Create link" }, "skyux_text_editor_url_modal_url_label": { "message": "Enter a URL to link to:" }, "skyux_text_editor_url_modal_open_label": { "message": "Where should it open?" }, "skyux_text_editor_url_modal_current_option_label": { "message": "Current window" }, "skyux_text_editor_url_modal_new_option_label": { "message": "New window" }, "skyux_text_editor_url_modal_email_label": { "message": "Email address" }, "skyux_text_editor_url_modal_subject_label": { "message": "Subject line" }, "skyux_text_editor_url_modal_save_button_label": { "message": "Save" }, "skyux_text_editor_url_modal_cancel_button_label": { "message": "Cancel" } },
130
+ };
131
+ class SkyTextEditorResourcesProvider {
111
132
  getString(localeInfo, name) {
112
- return getStringForLocale(this.resources, localeInfo.locale, name);
133
+ return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
113
134
  }
114
- };
115
- SkyTextEditorResourcesProvider = __decorate([
116
- Injectable()
117
- ], SkyTextEditorResourcesProvider);
135
+ }
136
+ /**
137
+ * Import into any component library module that needs to use resource strings.
138
+ */
139
+ class SkyTextEditorResourcesModule {
140
+ }
141
+ SkyTextEditorResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
142
+ SkyTextEditorResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorResourcesModule, exports: [SkyI18nModule] });
143
+ SkyTextEditorResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorResourcesModule, providers: [{
144
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
145
+ useClass: SkyTextEditorResourcesProvider,
146
+ multi: true
147
+ }], imports: [SkyI18nModule] });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorResourcesModule, decorators: [{
149
+ type: NgModule,
150
+ args: [{
151
+ exports: [SkyI18nModule],
152
+ providers: [{
153
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
154
+ useClass: SkyTextEditorResourcesProvider,
155
+ multi: true
156
+ }]
157
+ }]
158
+ }] });
118
159
 
119
- let SkyTextEditorResourcesModule = class SkyTextEditorResourcesModule {
120
- };
121
- SkyTextEditorResourcesModule = __decorate([
122
- NgModule({
123
- providers: [
124
- {
125
- provide: SKY_LIB_RESOURCES_PROVIDERS,
126
- useClass: SkyTextEditorResourcesProvider,
127
- multi: true
128
- }
129
- ]
130
- })
131
- ], SkyTextEditorResourcesModule);
160
+ // Need to add the following to classes which contain static methods.
161
+ // See: https://github.com/ng-packagr/ng-packagr/issues/641
162
+ // @dynamic
163
+ class SkyFormsUtility {
164
+ /** Coerces a data-bound value (typically a string) to a boolean. */
165
+ static coerceBooleanProperty(value) {
166
+ return value !== undefined && `${value}` !== 'false';
167
+ }
168
+ }
132
169
 
133
170
  /**
134
171
  * @internal
@@ -198,56 +235,11 @@ var UrlTarget;
198
235
  /**
199
236
  * @internal
200
237
  */
201
- let SkyTextEditorService = class SkyTextEditorService {
202
- constructor() {
203
- /**
204
- * A dictionary representing all active text editors and their settings.
205
- */
206
- this.editors = {};
207
- }
208
- /**
209
- * Returns the click observable from the editor with the corresponding id.
210
- */
211
- clickListener(id) {
212
- return this.editors[id].clickObservable;
213
- }
214
- /**
215
- * Returns the command change observable from the editor with the corresponding id.
216
- */
217
- commandChangeListener(id) {
218
- return this.editors[id].commandChangeObservable;
219
- }
220
- /**
221
- * Removes editor from the `editors` index by id.
222
- */
223
- removeEditor(id) {
224
- if (id in this.editors) {
225
- delete this.editors[id];
226
- }
227
- }
228
- /**
229
- * Returns the selection change observable from the editor with the corresponding id.
230
- */
231
- selectionChangeListener(id) {
232
- return this.editors[id].selectionChangeObservable;
233
- }
234
- };
235
- SkyTextEditorService.ɵprov = ɵɵdefineInjectable({ factory: function SkyTextEditorService_Factory() { return new SkyTextEditorService(); }, token: SkyTextEditorService, providedIn: "root" });
236
- SkyTextEditorService = __decorate([
237
- Injectable({
238
- providedIn: 'root'
239
- })
240
- ], SkyTextEditorService);
241
-
242
- /**
243
- * @internal
244
- */
245
- let SkyTextEditorSelectionService = class SkyTextEditorSelectionService {
238
+ class SkyTextEditorSelectionService {
246
239
  isElementSelected(documentEl, element) {
247
240
  const selectedNode = this.getCurrentSelection(documentEl).anchorNode;
248
241
  return selectedNode &&
249
- (element.contains(selectedNode) ||
250
- (selectedNode.parentNode && element.contains(selectedNode.parentNode)));
242
+ (element.contains(selectedNode) || (selectedNode.parentNode && element.contains(selectedNode.parentNode)));
251
243
  }
252
244
  getCurrentSelection(documentEl) {
253
245
  return documentEl.getSelection();
@@ -301,18 +293,66 @@ let SkyTextEditorSelectionService = class SkyTextEditorSelectionService {
301
293
  }
302
294
  }
303
295
  }
304
- };
305
- SkyTextEditorSelectionService.ɵprov = ɵɵdefineInjectable({ factory: function SkyTextEditorSelectionService_Factory() { return new SkyTextEditorSelectionService(); }, token: SkyTextEditorSelectionService, providedIn: "root" });
306
- SkyTextEditorSelectionService = __decorate([
307
- Injectable({
308
- providedIn: 'root'
309
- })
310
- ], SkyTextEditorSelectionService);
296
+ }
297
+ SkyTextEditorSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
298
+ SkyTextEditorSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorSelectionService, providedIn: 'root' });
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorSelectionService, decorators: [{
300
+ type: Injectable,
301
+ args: [{
302
+ providedIn: 'root'
303
+ }]
304
+ }] });
311
305
 
312
306
  /**
313
307
  * @internal
314
308
  */
315
- let SkyTextEditorAdapterService = class SkyTextEditorAdapterService {
309
+ class SkyTextEditorService {
310
+ constructor() {
311
+ /**
312
+ * A dictionary representing all active text editors and their settings.
313
+ */
314
+ this.editors = {};
315
+ }
316
+ /**
317
+ * Returns the click observable from the editor with the corresponding id.
318
+ */
319
+ clickListener(id) {
320
+ return this.editors[id].clickObservable;
321
+ }
322
+ /**
323
+ * Returns the command change observable from the editor with the corresponding id.
324
+ */
325
+ commandChangeListener(id) {
326
+ return this.editors[id].commandChangeObservable;
327
+ }
328
+ /**
329
+ * Removes editor from the `editors` index by id.
330
+ */
331
+ removeEditor(id) {
332
+ if (id in this.editors) {
333
+ delete this.editors[id];
334
+ }
335
+ }
336
+ /**
337
+ * Returns the selection change observable from the editor with the corresponding id.
338
+ */
339
+ selectionChangeListener(id) {
340
+ return this.editors[id].selectionChangeObservable;
341
+ }
342
+ }
343
+ SkyTextEditorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
344
+ SkyTextEditorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorService, providedIn: 'root' });
345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorService, decorators: [{
346
+ type: Injectable,
347
+ args: [{
348
+ providedIn: 'root'
349
+ }]
350
+ }] });
351
+
352
+ /**
353
+ * @internal
354
+ */
355
+ class SkyTextEditorAdapterService {
316
356
  constructor(selectionService, textEditorService, windowService) {
317
357
  this.selectionService = selectionService;
318
358
  this.textEditorService = textEditorService;
@@ -720,38 +760,28 @@ let SkyTextEditorAdapterService = class SkyTextEditorAdapterService {
720
760
  setEditorDisabled(id, focusableChildren, textEditorNativeElement, disabled) {
721
761
  textEditorNativeElement.style.pointerEvents = disabled ? 'none' : 'auto';
722
762
  textEditorNativeElement.setAttribute('aria-disabled', disabled ? 'true' : 'false');
723
- focusableChildren.forEach(aFocusableChild => {
724
- aFocusableChild.tabIndex = disabled ? -1 : 0;
725
- });
763
+ /* istanbul ignore else */
764
+ if (focusableChildren.length > 0) {
765
+ focusableChildren.forEach(aFocusableChild => {
766
+ aFocusableChild.tabIndex = disabled ? -1 : 0;
767
+ });
768
+ }
726
769
  this.getIframeDocumentEl(id).body.setAttribute('contenteditable', disabled ? 'false' : 'true');
727
770
  }
728
- };
729
- SkyTextEditorAdapterService.ctorParameters = () => [
730
- { type: SkyTextEditorSelectionService },
731
- { type: SkyTextEditorService },
732
- { type: SkyAppWindowRef }
733
- ];
734
- SkyTextEditorAdapterService.ɵprov = ɵɵdefineInjectable({ factory: function SkyTextEditorAdapterService_Factory() { return new SkyTextEditorAdapterService(ɵɵinject(SkyTextEditorSelectionService), ɵɵinject(SkyTextEditorService), ɵɵinject(SkyAppWindowRef)); }, token: SkyTextEditorAdapterService, providedIn: "root" });
735
- SkyTextEditorAdapterService = __decorate([
736
- Injectable({
737
- providedIn: 'root'
738
- })
739
- ], SkyTextEditorAdapterService);
740
-
741
- // Need to add the following to classes which contain static methods.
742
- // See: https://github.com/ng-packagr/ng-packagr/issues/641
743
- // @dynamic
744
- class SkyFormsUtility {
745
- /** Coerces a data-bound value (typically a string) to a boolean. */
746
- static coerceBooleanProperty(value) {
747
- return value !== undefined && `${value}` !== 'false';
748
- }
749
771
  }
772
+ SkyTextEditorAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorAdapterService, deps: [{ token: SkyTextEditorSelectionService }, { token: SkyTextEditorService }, { token: i3.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
773
+ SkyTextEditorAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorAdapterService, providedIn: 'root' });
774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorAdapterService, decorators: [{
775
+ type: Injectable,
776
+ args: [{
777
+ providedIn: 'root'
778
+ }]
779
+ }], ctorParameters: function () { return [{ type: SkyTextEditorSelectionService }, { type: SkyTextEditorService }, { type: i3.SkyAppWindowRef }]; } });
750
780
 
751
781
  /**
752
782
  * @internal
753
783
  */
754
- let SkyTextEditorMenubarComponent = class SkyTextEditorMenubarComponent {
784
+ class SkyTextEditorMenubarComponent {
755
785
  constructor(adapterService, changeDetector, resources) {
756
786
  this.adapterService = adapterService;
757
787
  this.changeDetector = changeDetector;
@@ -901,35 +931,28 @@ let SkyTextEditorMenubarComponent = class SkyTextEditorMenubarComponent {
901
931
  }
902
932
  this.execCommand('removeFormat');
903
933
  }
904
- };
905
- SkyTextEditorMenubarComponent.ctorParameters = () => [
906
- { type: SkyTextEditorAdapterService },
907
- { type: ChangeDetectorRef },
908
- { type: SkyLibResourcesService }
909
- ];
910
- __decorate([
911
- Input()
912
- ], SkyTextEditorMenubarComponent.prototype, "editorFocusStream", void 0);
913
- __decorate([
914
- Input()
915
- ], SkyTextEditorMenubarComponent.prototype, "editorId", void 0);
916
- __decorate([
917
- Input()
918
- ], SkyTextEditorMenubarComponent.prototype, "menus", void 0);
919
- __decorate([
920
- Input()
921
- ], SkyTextEditorMenubarComponent.prototype, "mergeFields", void 0);
922
- __decorate([
923
- Input()
924
- ], SkyTextEditorMenubarComponent.prototype, "disabled", null);
925
- SkyTextEditorMenubarComponent = __decorate([
926
- Component({
927
- selector: 'sky-text-editor-menubar',
928
- template: "\n <sky-toolbar-item *ngFor=\"let menu of menus\"\n class=\"sky-text-editor-menu\"\n [ngClass]=\"'sky-text-editor-menu-' + menu\"\n >\n <ng-container\n [ngSwitch]=\"menu\"\n >\n <ng-container *ngSwitchCase=\"'edit'\">\n <sky-dropdown\n label=\"Edit menu\"\n [disabled]=\"disabled\"\n [messageStream]=\"editDropdownStream\"\n >\n <sky-dropdown-button>\n {{ 'skyux_text_editor_menubar_dropdown_button_edit_label' | skyLibResources }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let editItem of editItems\">\n <button *ngIf=\"!editItem.isDivider\"\n type=\"button\"\n (click)=\"editItem.function()\"\n >\n {{ editItem.label }}\n <div *ngIf=\"editItem.keyShortcut\"\n class=\"sky-text-editor-menu-key-shortcut\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized' : 'modern',\n 'sky-deemphasized' : 'default'\n }\"\n >\n {{ editItem.keyShortcut }}\n </div>\n </button>\n <div *ngIf=\"editItem.isDivider\"\n class=\"sky-text-editor-dropdown-item-divider\"\n role=\"divider\"\n >\n </div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'format'\">\n <sky-dropdown\n label=\"Format menu\"\n [disabled]=\"disabled\"\n [messageStream]=\"formatDropdownStream\"\n >\n <sky-dropdown-button>\n {{ 'skyux_text_editor_menubar_dropdown_button_format_label' | skyLibResources }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let formatItem of formatItems\">\n <button *ngIf=\"!formatItem.isDivider\"\n type=\"button\"\n (click)=\"formatItem.function()\"\n >\n {{ formatItem.label }}\n <div *ngIf=\"formatItem.keyShortcut\"\n class=\"sky-text-editor-menu-key-shortcut\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized' : 'modern',\n 'sky-deemphasized' : 'default'\n }\"\n >\n {{ formatItem.keyShortcut}}\n </div>\n </button>\n <div *ngIf=\"formatItem.isDivider\"\n class=\"sky-text-editor-dropdown-item-divider\"\n role=\"divider\"\n >\n </div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'merge-field'\">\n <sky-dropdown *ngIf=\"mergeFields && mergeFields.length > 0\"\n label=\"Insert merge field\"\n [disabled]=\"disabled\"\n [messageStream]=\"mergeFieldDropdownStream\"\n >\n <sky-dropdown-button>\n {{ 'skyux_text_editor_menubar_dropdown_button_insert_label' | skyLibResources }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let mergeField of mergeFields\">\n <button\n type=\"button\"\n (click)=\"insertMergeField(mergeField)\"\n >\n {{ mergeField.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n </ng-container>\n </sky-toolbar-item>\n",
929
- changeDetection: ChangeDetectionStrategy.OnPush,
930
- styles: [".sky-text-editor-dropdown-item-divider{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:0 0;border-bottom:1px solid rgba(0,0,0,.1);cursor:default;filter:none}.sky-text-editor-menu-key-shortcut{float:right;margin-left:15px}"]
931
- })
932
- ], SkyTextEditorMenubarComponent);
934
+ }
935
+ SkyTextEditorMenubarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorMenubarComponent, deps: [{ token: SkyTextEditorAdapterService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
936
+ SkyTextEditorMenubarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyTextEditorMenubarComponent, selector: "sky-text-editor-menubar", inputs: { editorFocusStream: "editorFocusStream", editorId: "editorId", menus: "menus", mergeFields: "mergeFields", disabled: "disabled" }, ngImport: i0, template: "\n <sky-toolbar-item *ngFor=\"let menu of menus\"\n class=\"sky-text-editor-menu\"\n [ngClass]=\"'sky-text-editor-menu-' + menu\"\n >\n <ng-container\n [ngSwitch]=\"menu\"\n >\n <ng-container *ngSwitchCase=\"'edit'\">\n <sky-dropdown\n label=\"Edit menu\"\n [disabled]=\"disabled\"\n [messageStream]=\"editDropdownStream\"\n >\n <sky-dropdown-button>\n {{ 'skyux_text_editor_menubar_dropdown_button_edit_label' | skyLibResources }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let editItem of editItems\">\n <button *ngIf=\"!editItem.isDivider\"\n type=\"button\"\n (click)=\"editItem.function()\"\n >\n {{ editItem.label }}\n <div *ngIf=\"editItem.keyShortcut\"\n class=\"sky-text-editor-menu-key-shortcut\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized' : 'modern',\n 'sky-deemphasized' : 'default'\n }\"\n >\n {{ editItem.keyShortcut }}\n </div>\n </button>\n <div *ngIf=\"editItem.isDivider\"\n class=\"sky-text-editor-dropdown-item-divider\"\n role=\"divider\"\n >\n </div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'format'\">\n <sky-dropdown\n label=\"Format menu\"\n [disabled]=\"disabled\"\n [messageStream]=\"formatDropdownStream\"\n >\n <sky-dropdown-button>\n {{ 'skyux_text_editor_menubar_dropdown_button_format_label' | skyLibResources }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let formatItem of formatItems\">\n <button *ngIf=\"!formatItem.isDivider\"\n type=\"button\"\n (click)=\"formatItem.function()\"\n >\n {{ formatItem.label }}\n <div *ngIf=\"formatItem.keyShortcut\"\n class=\"sky-text-editor-menu-key-shortcut\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized' : 'modern',\n 'sky-deemphasized' : 'default'\n }\"\n >\n {{ formatItem.keyShortcut}}\n </div>\n </button>\n <div *ngIf=\"formatItem.isDivider\"\n class=\"sky-text-editor-dropdown-item-divider\"\n role=\"divider\"\n >\n </div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'merge-field'\">\n <sky-dropdown *ngIf=\"mergeFields && mergeFields.length > 0\"\n label=\"Insert merge field\"\n [disabled]=\"disabled\"\n [messageStream]=\"mergeFieldDropdownStream\"\n >\n <sky-dropdown-button>\n {{ 'skyux_text_editor_menubar_dropdown_button_insert_label' | skyLibResources }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let mergeField of mergeFields\">\n <button\n type=\"button\"\n (click)=\"insertMergeField(mergeField)\"\n >\n {{ mergeField.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n </ng-container>\n </sky-toolbar-item>\n", styles: [".sky-text-editor-dropdown-item-divider{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,.1);cursor:default;filter:none}.sky-text-editor-menu-key-shortcut{float:right;margin-left:15px}\n"], components: [{ type: i3$1.λ39, selector: "sky-toolbar-item" }, { type: i4.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { type: i4.λ2, selector: "sky-dropdown-button" }, { type: i4.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { type: i4.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], pipes: { "skyLibResources": i2.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorMenubarComponent, decorators: [{
938
+ type: Component,
939
+ args: [{
940
+ selector: 'sky-text-editor-menubar',
941
+ templateUrl: './text-editor-menubar.component.html',
942
+ styleUrls: ['./text-editor-menubar.component.scss'],
943
+ changeDetection: ChangeDetectionStrategy.OnPush
944
+ }]
945
+ }], ctorParameters: function () { return [{ type: SkyTextEditorAdapterService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyLibResourcesService }]; }, propDecorators: { editorFocusStream: [{
946
+ type: Input
947
+ }], editorId: [{
948
+ type: Input
949
+ }], menus: [{
950
+ type: Input
951
+ }], mergeFields: [{
952
+ type: Input
953
+ }], disabled: [{
954
+ type: Input
955
+ }] } });
933
956
 
934
957
  /**
935
958
  * @internal
@@ -942,7 +965,7 @@ const queryStringParamKey = '?Subject=';
942
965
  /**
943
966
  * @internal
944
967
  */
945
- let SkyTextEditorUrlModalComponent = class SkyTextEditorUrlModalComponent {
968
+ class SkyTextEditorUrlModalComponent {
946
969
  constructor(modalInstance, modalContext) {
947
970
  this.modalInstance = modalInstance;
948
971
  this.emailAddressValid = false;
@@ -1024,23 +1047,22 @@ let SkyTextEditorUrlModalComponent = class SkyTextEditorUrlModalComponent {
1024
1047
  }
1025
1048
  return !!this.emailAddress && SkyValidation.isEmail(this.emailAddress);
1026
1049
  }
1027
- };
1028
- SkyTextEditorUrlModalComponent.ctorParameters = () => [
1029
- { type: SkyModalInstance },
1030
- { type: SkyUrlModalContext }
1031
- ];
1032
- SkyTextEditorUrlModalComponent = __decorate([
1033
- Component({
1034
- selector: 'skyux-text-editor-url-modal',
1035
- template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab\n tabHeading=\"Web page\"\n >\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"url\"\n skyId\n #urlInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label\n class=\"sky-control-label\"\n [for]=\"targetInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n [(ngModel)]=\"target\"\n skyId\n #targetInput=\"skyId\"\n >\n <option value=\"0\">\n {{ 'skyux_text_editor_url_modal_current_option_label' | skyLibResources }}\n </option>\n <option value=\"1\">\n {{ 'skyux_text_editor_url_modal_new_option_label' | skyLibResources }}\n </option>\n </select>\n </sky-input-box>\n </sky-tab>\n <sky-tab\n tabHeading=\"Email address\"\n >\n <div class=\"sky-form-group first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"emailAddress\"\n skyId\n #emailAddressInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label\n class=\"sky-control-label\"\n [for]=\"subjectInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"subject\"\n skyId\n #subjectInput=\"skyId\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link\"\n (click)=\"cancel()\"\n >\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n",
1036
- styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}"]
1037
- })
1038
- ], SkyTextEditorUrlModalComponent);
1050
+ }
1051
+ SkyTextEditorUrlModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorUrlModalComponent, deps: [{ token: i1$1.SkyModalInstance }, { token: SkyUrlModalContext }], target: i0.ɵɵFactoryTarget.Component });
1052
+ SkyTextEditorUrlModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyTextEditorUrlModalComponent, selector: "skyux-text-editor-url-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab\n tabHeading=\"Web page\"\n >\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"url\"\n skyId\n #urlInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label\n class=\"sky-control-label\"\n [for]=\"targetInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n [(ngModel)]=\"target\"\n skyId\n #targetInput=\"skyId\"\n >\n <option value=\"0\">\n {{ 'skyux_text_editor_url_modal_current_option_label' | skyLibResources }}\n </option>\n <option value=\"1\">\n {{ 'skyux_text_editor_url_modal_new_option_label' | skyLibResources }}\n </option>\n </select>\n </sky-input-box>\n </sky-tab>\n <sky-tab\n tabHeading=\"Email address\"\n >\n <div class=\"sky-form-group first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"emailAddress\"\n skyId\n #emailAddressInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label\n class=\"sky-control-label\"\n [for]=\"subjectInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"subject\"\n skyId\n #subjectInput=\"skyId\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link\"\n (click)=\"cancel()\"\n >\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}\n"], components: [{ type: i1$1.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i1$1.λ4, selector: "sky-modal-header" }, { type: i1$1.λ2, selector: "sky-modal-content" }, { type: i3$2.λ2, selector: "sky-tabset", inputs: ["active", "ariaLabel", "ariaLabelledBy", "permalinkId", "tabStyle"], outputs: ["activeChange", "newTab", "openTab", "tabIndexesChange"] }, { type: i3$2.λ1, selector: "sky-tab", inputs: ["active", "disabled", "permalinkValue", "tabHeaderCount", "tabHeading", "tabIndex"], outputs: ["close"] }, { type: i4$1.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: i1$1.λ3, selector: "sky-modal-footer" }], directives: [{ type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "skyLibResources": i2.SkyLibResourcesPipe } });
1053
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorUrlModalComponent, decorators: [{
1054
+ type: Component,
1055
+ args: [{
1056
+ selector: 'skyux-text-editor-url-modal',
1057
+ templateUrl: './text-editor-url-modal.component.html',
1058
+ styleUrls: ['./text-editor-url-modal.component.scss']
1059
+ }]
1060
+ }], ctorParameters: function () { return [{ type: i1$1.SkyModalInstance }, { type: SkyUrlModalContext }]; } });
1039
1061
 
1040
1062
  /**
1041
1063
  * @internal
1042
1064
  */
1043
- let SkyTextEditorToolbarComponent = class SkyTextEditorToolbarComponent {
1065
+ class SkyTextEditorToolbarComponent {
1044
1066
  constructor(adapterService, changeDetector, modalService) {
1045
1067
  this.adapterService = adapterService;
1046
1068
  this.changeDetector = changeDetector;
@@ -1153,41 +1175,32 @@ let SkyTextEditorToolbarComponent = class SkyTextEditorToolbarComponent {
1153
1175
  }
1154
1176
  }
1155
1177
  }
1156
- };
1157
- SkyTextEditorToolbarComponent.ctorParameters = () => [
1158
- { type: SkyTextEditorAdapterService },
1159
- { type: ChangeDetectorRef },
1160
- { type: SkyModalService }
1161
- ];
1162
- __decorate([
1163
- Input()
1164
- ], SkyTextEditorToolbarComponent.prototype, "editorFocusStream", void 0);
1165
- __decorate([
1166
- Input()
1167
- ], SkyTextEditorToolbarComponent.prototype, "editorId", void 0);
1168
- __decorate([
1169
- Input()
1170
- ], SkyTextEditorToolbarComponent.prototype, "fontList", void 0);
1171
- __decorate([
1172
- Input()
1173
- ], SkyTextEditorToolbarComponent.prototype, "fontSizeList", void 0);
1174
- __decorate([
1175
- Input()
1176
- ], SkyTextEditorToolbarComponent.prototype, "toolbarActions", void 0);
1177
- __decorate([
1178
- Input()
1179
- ], SkyTextEditorToolbarComponent.prototype, "styleState", null);
1180
- __decorate([
1181
- Input()
1182
- ], SkyTextEditorToolbarComponent.prototype, "disabled", null);
1183
- SkyTextEditorToolbarComponent = __decorate([
1184
- Component({
1185
- selector: 'sky-text-editor-toolbar',
1186
- template: "\n <sky-toolbar-item *ngFor=\"let action of toolbarActions\"\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n >\n <ng-container\n [ngSwitch]=\"action\"\n >\n <ng-container *ngSwitchCase=\"'font-family'\">\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let fontModel of fontList\">\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-size'\">\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let size of fontSizeList\">\n <button\n type=\"button\"\n (click)=\"changeFontSize(size)\"\n >\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-style'\">\n <div\n class=\"sky-switch-icon-group sky-text-editor-font-style-picker\"\n >\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"toggleFontStyle(styleState.boldState, $event, 'bold')\"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"toggleFontStyle(styleState.italicState, $event, 'italic')\"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"toggleFontStyle(styleState.underlineState, $event, 'underline')\"\n >\n </sky-checkbox>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'color'\">\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n #colorPicker\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n #backColorPicker\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'list'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"list-ul\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"bullet-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"list-ol\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"number-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'alignment'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-left\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"align-left-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-center\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"center-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-right\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"align-right-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'indentation'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"outdent\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"outdent-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"indent\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"indent-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'undo-redo'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"undo\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"undo-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"repeat\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"redo-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'link'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"link\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"link-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"unlink\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"unlink-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n </ng-container>\n </sky-toolbar-item>\n",
1187
- changeDetection: ChangeDetectionStrategy.OnPush,
1188
- styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}"]
1189
- })
1190
- ], SkyTextEditorToolbarComponent);
1178
+ }
1179
+ SkyTextEditorToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorToolbarComponent, deps: [{ token: SkyTextEditorAdapterService }, { token: i0.ChangeDetectorRef }, { token: i1$1.SkyModalService }], target: i0.ɵɵFactoryTarget.Component });
1180
+ SkyTextEditorToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyTextEditorToolbarComponent, selector: "sky-text-editor-toolbar", inputs: { editorFocusStream: "editorFocusStream", editorId: "editorId", fontList: "fontList", fontSizeList: "fontSizeList", toolbarActions: "toolbarActions", styleState: "styleState", disabled: "disabled" }, ngImport: i0, template: "\n <sky-toolbar-item *ngFor=\"let action of toolbarActions\"\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n >\n <ng-container\n [ngSwitch]=\"action\"\n >\n <ng-container *ngSwitchCase=\"'font-family'\">\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let fontModel of fontList\">\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-size'\">\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let size of fontSizeList\">\n <button\n type=\"button\"\n (click)=\"changeFontSize(size)\"\n >\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-style'\">\n <div\n class=\"sky-switch-icon-group sky-text-editor-font-style-picker\"\n >\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"toggleFontStyle(styleState.boldState, $event, 'bold')\"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"toggleFontStyle(styleState.italicState, $event, 'italic')\"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"toggleFontStyle(styleState.underlineState, $event, 'underline')\"\n >\n </sky-checkbox>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'color'\">\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n #colorPicker\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n #backColorPicker\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'list'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"list-ul\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"bullet-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"list-ol\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"number-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'alignment'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-left\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"align-left-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-center\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"center-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-right\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"align-right-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'indentation'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"outdent\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"outdent-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"indent\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"indent-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'undo-redo'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"undo\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"undo-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"repeat\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"redo-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'link'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"link\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"link-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"unlink\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"unlink-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n </ng-container>\n </sky-toolbar-item>\n", styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}\n"], components: [{ type: i3$1.λ39, selector: "sky-toolbar-item" }, { type: i4.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { type: i4.λ2, selector: "sky-dropdown-button" }, { type: i4.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { type: i4.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { type: i4$1.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i6$1.λ1, selector: "sky-colorpicker", inputs: ["label", "labelledBy", "messageStream", "showResetButton"], outputs: ["selectedColorChanged", "selectedColorApplied"] }, { type: i7.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6$1.λ2, selector: "[skyColorpickerInput]", inputs: ["skyColorpickerInput", "initialColor", "returnFormat", "outputFormat", "presetColors", "alphaChannel", "allowTransparency"] }, { type: i6.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorToolbarComponent, decorators: [{
1182
+ type: Component,
1183
+ args: [{
1184
+ selector: 'sky-text-editor-toolbar',
1185
+ templateUrl: './text-editor-toolbar.component.html',
1186
+ styleUrls: ['./text-editor-toolbar.component.scss'],
1187
+ changeDetection: ChangeDetectionStrategy.OnPush
1188
+ }]
1189
+ }], ctorParameters: function () { return [{ type: SkyTextEditorAdapterService }, { type: i0.ChangeDetectorRef }, { type: i1$1.SkyModalService }]; }, propDecorators: { editorFocusStream: [{
1190
+ type: Input
1191
+ }], editorId: [{
1192
+ type: Input
1193
+ }], fontList: [{
1194
+ type: Input
1195
+ }], fontSizeList: [{
1196
+ type: Input
1197
+ }], toolbarActions: [{
1198
+ type: Input
1199
+ }], styleState: [{
1200
+ type: Input
1201
+ }], disabled: [{
1202
+ type: Input
1203
+ }] } });
1191
1204
 
1192
1205
  /**
1193
1206
  * @internal
@@ -1214,7 +1227,6 @@ const TOOLBAR_ACTION_DEFAULTS = [
1214
1227
  */
1215
1228
  const FONT_SIZE_LIST_DEFAULTS = [6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 36, 48];
1216
1229
 
1217
- var SkyTextEditorComponent_1;
1218
1230
  /**
1219
1231
  * Auto-incrementing integer used to generate unique ids for radio components.
1220
1232
  */
@@ -1222,7 +1234,7 @@ let nextUniqueId = 0;
1222
1234
  /**
1223
1235
  * The text editor component lets users format and manipulate text.
1224
1236
  */
1225
- let SkyTextEditorComponent = SkyTextEditorComponent_1 = class SkyTextEditorComponent {
1237
+ class SkyTextEditorComponent {
1226
1238
  constructor(changeDetector, coreAdapterService, adapterService, editorService, sanitizationService) {
1227
1239
  this.changeDetector = changeDetector;
1228
1240
  this.coreAdapterService = coreAdapterService;
@@ -1407,70 +1419,84 @@ let SkyTextEditorComponent = SkyTextEditorComponent_1 = class SkyTextEditorCompo
1407
1419
  this.value = this.adapterService.getEditorInnerHtml(this.id);
1408
1420
  this._initialStyleState = Object.assign(Object.assign({}, this._initialStyleState), this.adapterService.getStyleState(this.id));
1409
1421
  }
1410
- };
1411
- SkyTextEditorComponent.ctorParameters = () => [
1412
- { type: ChangeDetectorRef },
1413
- { type: SkyCoreAdapterService },
1414
- { type: SkyTextEditorAdapterService },
1415
- { type: SkyTextEditorService },
1416
- { type: SkyTextSanitizationService }
1417
- ];
1418
- __decorate([
1419
- Input()
1420
- ], SkyTextEditorComponent.prototype, "autofocus", void 0);
1421
- __decorate([
1422
- Input()
1423
- ], SkyTextEditorComponent.prototype, "disabled", null);
1424
- __decorate([
1425
- Input()
1426
- ], SkyTextEditorComponent.prototype, "fontList", void 0);
1427
- __decorate([
1428
- Input()
1429
- ], SkyTextEditorComponent.prototype, "fontSizeList", void 0);
1430
- __decorate([
1431
- Input()
1432
- ], SkyTextEditorComponent.prototype, "id", void 0);
1433
- __decorate([
1434
- Input()
1435
- ], SkyTextEditorComponent.prototype, "initialStyleState", null);
1436
- __decorate([
1437
- Input()
1438
- ], SkyTextEditorComponent.prototype, "menus", void 0);
1439
- __decorate([
1440
- Input()
1441
- ], SkyTextEditorComponent.prototype, "mergeFields", void 0);
1442
- __decorate([
1443
- Input()
1444
- ], SkyTextEditorComponent.prototype, "placeholder", null);
1445
- __decorate([
1446
- Input()
1447
- ], SkyTextEditorComponent.prototype, "toolbarActions", void 0);
1448
- __decorate([
1449
- ViewChild('iframe')
1450
- ], SkyTextEditorComponent.prototype, "iframeRef", void 0);
1451
- SkyTextEditorComponent = SkyTextEditorComponent_1 = __decorate([
1452
- Component({
1453
- selector: 'sky-text-editor',
1454
- template: "<div\n class=\"sky-text-editor\"\n>\n <sky-toolbar\n class=\"sky-text-editor-toolbar\"\n >\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"menubar\"\n role=\"toolbar\"\n >\n <sky-text-editor-menubar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [menus]=\"menus\"\n [mergeFields]=\"mergeFields\"\n >\n </sky-text-editor-menubar>\n </sky-toolbar-section>\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"toolbar\"\n role=\"toolbar\"\n >\n <sky-text-editor-toolbar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [fontList]=\"fontList\"\n [fontSizeList]=\"fontSizeList\"\n [toolbarActions]=\"toolbarActions\"\n [styleState]=\"initialStyleState\"\n >\n </sky-text-editor-toolbar>\n </sky-toolbar-section>\n </sky-toolbar>\n <iframe\n class=\"sky-text-editor-wrapper\"\n src=\"about:blank\"\n title=\"Text Editor\"\n [ngClass]=\"{\n 'sky-text-editor-wrapper-disabled': disabled\n }\"\n #iframe\n >\n </iframe>\n</div>\n",
1455
- providers: [
1456
- {
1457
- provide: NG_VALUE_ACCESSOR,
1458
- // tslint:disable-next-line: no-forward-ref
1459
- useExisting: forwardRef(() => SkyTextEditorComponent_1),
1460
- multi: true
1461
- }
1462
- ],
1463
- changeDetection: ChangeDetectionStrategy.OnPush,
1464
- encapsulation: ViewEncapsulation.None,
1465
- styles: [".sky-text-editor .sky-text-editor-wrapper{display:flex;flex-wrap:wrap;background-color:#fff;width:100%;height:300px;padding:1rem;font-size:1.2rem;border:1px solid silver;overflow-y:auto;outline:0}.sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ededee}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-left:1px solid #cdcfd2!important;border-right:1px solid #cdcfd2!important}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-dropdown-button{border:none}.sky-text-editor .sky-text-editor-toolbar sky-text-editor-menubar,.sky-text-editor .sky-text-editor-toolbar sky-text-editor-toolbar{display:flex;flex-wrap:wrap}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper{border:1px solid #d2d2d2}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ececed}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar{padding:10px 10px 0}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-top:1px solid #d2d2d2!important;border-left:1px solid #d2d2d2!important;border-right:1px solid #d2d2d2!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 0 0!important}"]
1466
- })
1467
- ], SkyTextEditorComponent);
1422
+ }
1423
+ SkyTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i3.SkyCoreAdapterService }, { token: SkyTextEditorAdapterService }, { token: SkyTextEditorService }, { token: SkyTextSanitizationService }], target: i0.ɵɵFactoryTarget.Component });
1424
+ SkyTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyTextEditorComponent, selector: "sky-text-editor", inputs: { autofocus: "autofocus", disabled: "disabled", fontList: "fontList", fontSizeList: "fontSizeList", id: "id", initialStyleState: "initialStyleState", menus: "menus", mergeFields: "mergeFields", placeholder: "placeholder", toolbarActions: "toolbarActions" }, providers: [
1425
+ {
1426
+ provide: NG_VALUE_ACCESSOR,
1427
+ // tslint:disable-next-line: no-forward-ref
1428
+ useExisting: forwardRef(() => SkyTextEditorComponent),
1429
+ multi: true
1430
+ }
1431
+ ], viewQueries: [{ propertyName: "iframeRef", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0, template: "<div\n class=\"sky-text-editor\"\n>\n <sky-toolbar\n class=\"sky-text-editor-toolbar\"\n >\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"menubar\"\n role=\"toolbar\"\n >\n <sky-text-editor-menubar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [menus]=\"menus\"\n [mergeFields]=\"mergeFields\"\n >\n </sky-text-editor-menubar>\n </sky-toolbar-section>\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"toolbar\"\n role=\"toolbar\"\n >\n <sky-text-editor-toolbar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [fontList]=\"fontList\"\n [fontSizeList]=\"fontSizeList\"\n [toolbarActions]=\"toolbarActions\"\n [styleState]=\"initialStyleState\"\n >\n </sky-text-editor-toolbar>\n </sky-toolbar-section>\n </sky-toolbar>\n <iframe\n class=\"sky-text-editor-wrapper\"\n src=\"about:blank\"\n title=\"Text Editor\"\n [ngClass]=\"{\n 'sky-text-editor-wrapper-disabled': disabled\n }\"\n #iframe\n >\n </iframe>\n</div>\n", styles: [".sky-text-editor .sky-text-editor-wrapper{display:flex;flex-wrap:wrap;background-color:#fff;width:100%;height:300px;padding:1rem;font-size:1.2rem;border:1px solid #C0C0C0;overflow-y:auto;outline:none}.sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ededee}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-left:1px solid #cdcfd2!important;border-right:1px solid #cdcfd2!important}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-dropdown-button{border:none}.sky-text-editor .sky-text-editor-toolbar sky-text-editor-menubar,.sky-text-editor .sky-text-editor-toolbar sky-text-editor-toolbar{display:flex;flex-wrap:wrap}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper{border:1px solid #d2d2d2}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ececed}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar{padding:10px 10px 0}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-top:1px solid #d2d2d2!important;border-left:1px solid #d2d2d2!important;border-right:1px solid #d2d2d2!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 0 0!important}\n"], components: [{ type: i3$1.λ37, selector: "sky-toolbar" }, { type: i3$1.λ38, selector: "sky-toolbar-section" }, { type: SkyTextEditorMenubarComponent, selector: "sky-text-editor-menubar", inputs: ["editorFocusStream", "editorId", "menus", "mergeFields", "disabled"] }, { type: SkyTextEditorToolbarComponent, selector: "sky-text-editor-toolbar", inputs: ["editorFocusStream", "editorId", "fontList", "fontSizeList", "toolbarActions", "styleState", "disabled"] }], directives: [{ type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorComponent, decorators: [{
1433
+ type: Component,
1434
+ args: [{
1435
+ selector: 'sky-text-editor',
1436
+ templateUrl: './text-editor.component.html',
1437
+ styleUrls: ['./text-editor.component.scss'],
1438
+ providers: [
1439
+ {
1440
+ provide: NG_VALUE_ACCESSOR,
1441
+ // tslint:disable-next-line: no-forward-ref
1442
+ useExisting: forwardRef(() => SkyTextEditorComponent),
1443
+ multi: true
1444
+ }
1445
+ ],
1446
+ changeDetection: ChangeDetectionStrategy.OnPush,
1447
+ encapsulation: ViewEncapsulation.None
1448
+ }]
1449
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i3.SkyCoreAdapterService }, { type: SkyTextEditorAdapterService }, { type: SkyTextEditorService }, { type: SkyTextSanitizationService }]; }, propDecorators: { autofocus: [{
1450
+ type: Input
1451
+ }], disabled: [{
1452
+ type: Input
1453
+ }], fontList: [{
1454
+ type: Input
1455
+ }], fontSizeList: [{
1456
+ type: Input
1457
+ }], id: [{
1458
+ type: Input
1459
+ }], initialStyleState: [{
1460
+ type: Input
1461
+ }], menus: [{
1462
+ type: Input
1463
+ }], mergeFields: [{
1464
+ type: Input
1465
+ }], placeholder: [{
1466
+ type: Input
1467
+ }], toolbarActions: [{
1468
+ type: Input
1469
+ }], iframeRef: [{
1470
+ type: ViewChild,
1471
+ args: ['iframe']
1472
+ }] } });
1468
1473
 
1469
- let SkyTextEditorModule = class SkyTextEditorModule {
1470
- };
1471
- SkyTextEditorModule = __decorate([
1472
- NgModule({
1473
- imports: [
1474
+ class SkyTextEditorModule {
1475
+ }
1476
+ SkyTextEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1477
+ SkyTextEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorModule, declarations: [SkyTextEditorComponent,
1478
+ SkyTextEditorUrlModalComponent,
1479
+ SkyTextEditorToolbarComponent,
1480
+ SkyTextEditorMenubarComponent], imports: [CommonModule,
1481
+ FormsModule,
1482
+ ReactiveFormsModule,
1483
+ SkyCoreAdapterModule,
1484
+ SkyTextEditorResourcesModule,
1485
+ SkyI18nModule,
1486
+ SkyIconModule,
1487
+ SkyIdModule,
1488
+ SkyInputBoxModule,
1489
+ SkyColorpickerModule,
1490
+ SkyCheckboxModule,
1491
+ SkyDropdownModule,
1492
+ SkyModalModule,
1493
+ SkyTabsModule,
1494
+ SkyThemeModule,
1495
+ SkyToolbarModule], exports: [SkyTextEditorComponent,
1496
+ SkyTextEditorUrlModalComponent,
1497
+ SkyTextEditorToolbarComponent,
1498
+ SkyTextEditorMenubarComponent] });
1499
+ SkyTextEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorModule, imports: [[
1474
1500
  CommonModule,
1475
1501
  FormsModule,
1476
1502
  ReactiveFormsModule,
@@ -1487,28 +1513,49 @@ SkyTextEditorModule = __decorate([
1487
1513
  SkyTabsModule,
1488
1514
  SkyThemeModule,
1489
1515
  SkyToolbarModule
1490
- ],
1491
- exports: [
1492
- SkyTextEditorComponent,
1493
- SkyTextEditorUrlModalComponent,
1494
- SkyTextEditorToolbarComponent,
1495
- SkyTextEditorMenubarComponent
1496
- ],
1497
- declarations: [
1498
- SkyTextEditorComponent,
1499
- SkyTextEditorUrlModalComponent,
1500
- SkyTextEditorToolbarComponent,
1501
- SkyTextEditorMenubarComponent
1502
- ],
1503
- entryComponents: [
1504
- SkyTextEditorUrlModalComponent
1505
- ]
1506
- })
1507
- ], SkyTextEditorModule);
1516
+ ]] });
1517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextEditorModule, decorators: [{
1518
+ type: NgModule,
1519
+ args: [{
1520
+ imports: [
1521
+ CommonModule,
1522
+ FormsModule,
1523
+ ReactiveFormsModule,
1524
+ SkyCoreAdapterModule,
1525
+ SkyTextEditorResourcesModule,
1526
+ SkyI18nModule,
1527
+ SkyIconModule,
1528
+ SkyIdModule,
1529
+ SkyInputBoxModule,
1530
+ SkyColorpickerModule,
1531
+ SkyCheckboxModule,
1532
+ SkyDropdownModule,
1533
+ SkyModalModule,
1534
+ SkyTabsModule,
1535
+ SkyThemeModule,
1536
+ SkyToolbarModule
1537
+ ],
1538
+ exports: [
1539
+ SkyTextEditorComponent,
1540
+ SkyTextEditorUrlModalComponent,
1541
+ SkyTextEditorToolbarComponent,
1542
+ SkyTextEditorMenubarComponent
1543
+ ],
1544
+ declarations: [
1545
+ SkyTextEditorComponent,
1546
+ SkyTextEditorUrlModalComponent,
1547
+ SkyTextEditorToolbarComponent,
1548
+ SkyTextEditorMenubarComponent
1549
+ ],
1550
+ entryComponents: [
1551
+ SkyTextEditorUrlModalComponent
1552
+ ]
1553
+ }]
1554
+ }] });
1508
1555
 
1509
1556
  /**
1510
1557
  * Generated bundle index. Do not edit.
1511
1558
  */
1512
1559
 
1513
- export { SkyRichTextDisplayModule, SkyTextEditorModule, SkyRichTextDisplayComponent as ɵa, SkyTextSanitizationService as ɵb, SkyTextEditorResourcesModule as ɵc, SkyTextEditorResourcesProvider as ɵd, SkyTextEditorComponent as ɵe, SkyTextEditorAdapterService as ɵf, SkyTextEditorSelectionService as ɵg, SkyTextEditorService as ɵh, SkyTextEditorUrlModalComponent as ɵi, SkyUrlModalContext as ɵj, SkyTextEditorToolbarComponent as ɵk, SkyTextEditorMenubarComponent as ɵl };
1560
+ export { SkyRichTextDisplayModule, SkyTextEditorModule, SkyRichTextDisplayComponent as λ1, SkyTextEditorMenubarComponent as λ2, SkyTextEditorUrlModalComponent as λ3, SkyTextEditorToolbarComponent as λ4, SkyTextEditorComponent as λ5 };
1514
1561
  //# sourceMappingURL=skyux-text-editor.js.map