novo-elements 8.3.0 → 8.4.0-next.1

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 (205) hide show
  1. package/addons/ace-editor/AceEditor.d.ts +4 -2
  2. package/addons/code-editor/CodeEditor.d.ts +31 -0
  3. package/addons/code-editor/CodeEditor.module.d.ts +9 -0
  4. package/addons/code-editor/CodeEditor.scss +5 -0
  5. package/addons/code-editor/index.d.ts +2 -0
  6. package/addons/code-editor/novo-elements-addons-code-editor.d.ts +5 -0
  7. package/addons/code-editor/package.json +10 -0
  8. package/addons/index.d.ts +1 -0
  9. package/elements/aside/aside.component.scss +1 -1
  10. package/elements/calendar/Calendar.module.d.ts +2 -3
  11. package/elements/checkbox/CheckList.scss +1 -1
  12. package/elements/checkbox/Checkbox.scss +1 -1
  13. package/elements/common/overlay/Overlay.d.ts +1 -0
  14. package/elements/date-picker/DatePicker.module.d.ts +2 -2
  15. package/elements/date-picker/DatePickerInput.d.ts +8 -5
  16. package/elements/date-picker/MultiDateInput.d.ts +0 -1
  17. package/elements/date-time-picker/DateTimePicker.module.d.ts +2 -3
  18. package/elements/drag-drop/drag-drop-box.d.ts +45 -0
  19. package/elements/drag-drop/drag-drop.module.d.ts +7 -0
  20. package/elements/drag-drop/index.d.ts +2 -0
  21. package/elements/drag-drop/novo-elements-elements-drag-drop.d.ts +5 -0
  22. package/elements/drag-drop/package.json +10 -0
  23. package/elements/dropdown/Dropdown.d.ts +7 -1
  24. package/elements/field/formats/date-time-format.d.ts +2 -2
  25. package/elements/form/Control.d.ts +9 -6
  26. package/elements/form/ControlTemplates.d.ts +1 -1
  27. package/elements/form/Form.module.d.ts +6 -6
  28. package/elements/form/controls/code-editor/CodeEditorControl.d.ts +5 -0
  29. package/elements/form/controls/code-editor/index.d.ts +1 -0
  30. package/elements/form/controls/index.d.ts +2 -1
  31. package/elements/form/extras/FormExtras.module.d.ts +4 -4
  32. package/elements/form/extras/file/FileInput.d.ts +15 -16
  33. package/elements/form/extras/file/FileInput.scss +58 -30
  34. package/elements/index.d.ts +1 -0
  35. package/elements/query-builder/condition-builder/condition-builder.component.scss +1 -1
  36. package/elements/query-builder/condition-definitions/address-condition.definition.d.ts +1 -1
  37. package/elements/select-search/select-search.component.scss +1 -1
  38. package/elements/table/Table.module.d.ts +5 -6
  39. package/elements/time-picker/TimePicker.d.ts +2 -3
  40. package/elements/time-picker/TimePicker.module.d.ts +3 -4
  41. package/elements/time-picker/TimePickerInput.d.ts +0 -1
  42. package/esm2020/addons/ace-editor/AceEditor.mjs +8 -4
  43. package/esm2020/addons/ckeditor/CKEditor.mjs +8 -1
  44. package/esm2020/addons/code-editor/CodeEditor.mjs +129 -0
  45. package/esm2020/addons/code-editor/CodeEditor.module.mjs +19 -0
  46. package/esm2020/addons/code-editor/index.mjs +3 -0
  47. package/esm2020/addons/code-editor/novo-elements-addons-code-editor.mjs +5 -0
  48. package/esm2020/addons/index.mjs +2 -1
  49. package/esm2020/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.mjs +1 -1
  50. package/esm2020/elements/calendar/Calendar.module.mjs +5 -7
  51. package/esm2020/elements/calendar/calendar.component.mjs +3 -3
  52. package/esm2020/elements/calendar/month-select/month-select.component.mjs +3 -3
  53. package/esm2020/elements/calendar/month-view/month-view.component.mjs +3 -3
  54. package/esm2020/elements/calendar/year-select/year-select.component.mjs +3 -3
  55. package/esm2020/elements/common/overlay/Overlay.mjs +11 -5
  56. package/esm2020/elements/data-table/cell-headers/data-table-header-cell.component.mjs +1 -1
  57. package/esm2020/elements/data-table/data-table-clear-button.component.mjs +1 -1
  58. package/esm2020/elements/data-table/data-table.component.mjs +2 -2
  59. package/esm2020/elements/date-picker/DatePicker.module.mjs +6 -6
  60. package/esm2020/elements/date-picker/DatePickerInput.mjs +50 -29
  61. package/esm2020/elements/date-picker/DateRangeInput.mjs +10 -16
  62. package/esm2020/elements/date-picker/MultiDateInput.mjs +1 -17
  63. package/esm2020/elements/date-time-picker/DateTimePicker.module.mjs +4 -5
  64. package/esm2020/elements/drag-drop/drag-drop-box.mjs +224 -0
  65. package/esm2020/elements/drag-drop/drag-drop.module.mjs +16 -0
  66. package/esm2020/elements/drag-drop/index.mjs +3 -0
  67. package/esm2020/elements/drag-drop/novo-elements-elements-drag-drop.mjs +5 -0
  68. package/esm2020/elements/dropdown/Dropdown.mjs +29 -4
  69. package/esm2020/elements/field/formats/date-format.mjs +5 -5
  70. package/esm2020/elements/field/formats/date-range-format.mjs +5 -5
  71. package/esm2020/elements/field/formats/date-time-format.mjs +12 -12
  72. package/esm2020/elements/field/formats/time-format.mjs +6 -6
  73. package/esm2020/elements/form/Control.mjs +20 -8
  74. package/esm2020/elements/form/ControlTemplates.mjs +54 -27
  75. package/esm2020/elements/form/Form.module.mjs +12 -13
  76. package/esm2020/elements/form/NovoFormControl.mjs +1 -2
  77. package/esm2020/elements/form/controls/code-editor/CodeEditorControl.mjs +9 -0
  78. package/esm2020/elements/form/controls/code-editor/index.mjs +2 -0
  79. package/esm2020/elements/form/controls/index.mjs +3 -2
  80. package/esm2020/elements/form/controls/timezone/TimezoneControl.mjs +2 -2
  81. package/esm2020/elements/form/extras/FormExtras.module.mjs +8 -9
  82. package/esm2020/elements/form/extras/file/FileInput.mjs +38 -261
  83. package/esm2020/elements/index.mjs +2 -1
  84. package/esm2020/elements/query-builder/condition-definitions/address-condition.definition.mjs +2 -2
  85. package/esm2020/elements/query-builder/condition-group/condition-group.component.mjs +1 -1
  86. package/esm2020/elements/simple-table/cell-header.mjs +2 -2
  87. package/esm2020/elements/simple-table/cell.mjs +1 -1
  88. package/esm2020/elements/tabbed-group-picker/TabbedGroupPicker.mjs +1 -1
  89. package/esm2020/elements/table/Table.mjs +1 -1
  90. package/esm2020/elements/table/Table.module.mjs +1 -6
  91. package/esm2020/elements/table/extras/dropdown-cell/DropdownCell.mjs +1 -1
  92. package/esm2020/elements/time-picker/TimePicker.mjs +5 -6
  93. package/esm2020/elements/time-picker/TimePicker.module.mjs +4 -5
  94. package/esm2020/elements/time-picker/TimePickerInput.mjs +3 -65
  95. package/esm2020/index.mjs +1 -1
  96. package/esm2020/novo-elements.module.mjs +9 -3
  97. package/esm2020/novo-elements.providers.mjs +2 -2
  98. package/esm2020/services/date-format/DateFormat.mjs +153 -47
  99. package/esm2020/services/global/global.service.mjs +7 -1
  100. package/esm2020/utils/date/Date.mjs +1 -1
  101. package/esm2020/utils/date/index.mjs +3 -2
  102. package/esm2020/utils/date/timezone-support.mjs +87 -0
  103. package/fesm2015/novo-elements-addons-ace-editor.mjs +7 -3
  104. package/fesm2015/novo-elements-addons-ace-editor.mjs.map +1 -1
  105. package/fesm2015/novo-elements-addons-ckeditor.mjs +7 -0
  106. package/fesm2015/novo-elements-addons-ckeditor.mjs.map +1 -1
  107. package/fesm2015/novo-elements-addons-code-editor.mjs +150 -0
  108. package/fesm2015/novo-elements-addons-code-editor.mjs.map +1 -0
  109. package/fesm2015/novo-elements-addons.mjs +155 -5
  110. package/fesm2015/novo-elements-addons.mjs.map +1 -1
  111. package/fesm2015/novo-elements-elements-breadcrumbs.mjs +1 -1
  112. package/fesm2015/novo-elements-elements-breadcrumbs.mjs.map +1 -1
  113. package/fesm2015/novo-elements-elements-calendar.mjs +12 -13
  114. package/fesm2015/novo-elements-elements-calendar.mjs.map +1 -1
  115. package/fesm2015/novo-elements-elements-common.mjs +10 -2
  116. package/fesm2015/novo-elements-elements-common.mjs.map +1 -1
  117. package/fesm2015/novo-elements-elements-data-table.mjs +3 -3
  118. package/fesm2015/novo-elements-elements-data-table.mjs.map +1 -1
  119. package/fesm2015/novo-elements-elements-date-picker.mjs +64 -62
  120. package/fesm2015/novo-elements-elements-date-picker.mjs.map +1 -1
  121. package/fesm2015/novo-elements-elements-date-time-picker.mjs +3 -4
  122. package/fesm2015/novo-elements-elements-date-time-picker.mjs.map +1 -1
  123. package/fesm2015/novo-elements-elements-drag-drop.mjs +245 -0
  124. package/fesm2015/novo-elements-elements-drag-drop.mjs.map +1 -0
  125. package/fesm2015/novo-elements-elements-dropdown.mjs +28 -3
  126. package/fesm2015/novo-elements-elements-dropdown.mjs.map +1 -1
  127. package/fesm2015/novo-elements-elements-field.mjs +19 -19
  128. package/fesm2015/novo-elements-elements-field.mjs.map +1 -1
  129. package/fesm2015/novo-elements-elements-form.mjs +124 -300
  130. package/fesm2015/novo-elements-elements-form.mjs.map +1 -1
  131. package/fesm2015/novo-elements-elements-query-builder.mjs +1 -1
  132. package/fesm2015/novo-elements-elements-query-builder.mjs.map +1 -1
  133. package/fesm2015/novo-elements-elements-simple-table.mjs +2 -2
  134. package/fesm2015/novo-elements-elements-simple-table.mjs.map +1 -1
  135. package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs +1 -1
  136. package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
  137. package/fesm2015/novo-elements-elements-table.mjs +2 -6
  138. package/fesm2015/novo-elements-elements-table.mjs.map +1 -1
  139. package/fesm2015/novo-elements-elements-time-picker.mjs +7 -71
  140. package/fesm2015/novo-elements-elements-time-picker.mjs.map +1 -1
  141. package/fesm2015/novo-elements-elements.mjs +1 -0
  142. package/fesm2015/novo-elements-elements.mjs.map +1 -1
  143. package/fesm2015/novo-elements-services.mjs +158 -46
  144. package/fesm2015/novo-elements-services.mjs.map +1 -1
  145. package/fesm2015/novo-elements-utils.mjs +88 -1
  146. package/fesm2015/novo-elements-utils.mjs.map +1 -1
  147. package/fesm2015/novo-elements.mjs +8 -2
  148. package/fesm2015/novo-elements.mjs.map +1 -1
  149. package/fesm2020/novo-elements-addons-ace-editor.mjs +7 -3
  150. package/fesm2020/novo-elements-addons-ace-editor.mjs.map +1 -1
  151. package/fesm2020/novo-elements-addons-ckeditor.mjs +7 -0
  152. package/fesm2020/novo-elements-addons-ckeditor.mjs.map +1 -1
  153. package/fesm2020/novo-elements-addons-code-editor.mjs +150 -0
  154. package/fesm2020/novo-elements-addons-code-editor.mjs.map +1 -0
  155. package/fesm2020/novo-elements-addons.mjs +155 -5
  156. package/fesm2020/novo-elements-addons.mjs.map +1 -1
  157. package/fesm2020/novo-elements-elements-breadcrumbs.mjs +1 -1
  158. package/fesm2020/novo-elements-elements-breadcrumbs.mjs.map +1 -1
  159. package/fesm2020/novo-elements-elements-calendar.mjs +12 -13
  160. package/fesm2020/novo-elements-elements-calendar.mjs.map +1 -1
  161. package/fesm2020/novo-elements-elements-common.mjs +8 -2
  162. package/fesm2020/novo-elements-elements-common.mjs.map +1 -1
  163. package/fesm2020/novo-elements-elements-data-table.mjs +3 -3
  164. package/fesm2020/novo-elements-elements-data-table.mjs.map +1 -1
  165. package/fesm2020/novo-elements-elements-date-picker.mjs +62 -62
  166. package/fesm2020/novo-elements-elements-date-picker.mjs.map +1 -1
  167. package/fesm2020/novo-elements-elements-date-time-picker.mjs +3 -4
  168. package/fesm2020/novo-elements-elements-date-time-picker.mjs.map +1 -1
  169. package/fesm2020/novo-elements-elements-drag-drop.mjs +244 -0
  170. package/fesm2020/novo-elements-elements-drag-drop.mjs.map +1 -0
  171. package/fesm2020/novo-elements-elements-dropdown.mjs +28 -3
  172. package/fesm2020/novo-elements-elements-dropdown.mjs.map +1 -1
  173. package/fesm2020/novo-elements-elements-field.mjs +19 -19
  174. package/fesm2020/novo-elements-elements-field.mjs.map +1 -1
  175. package/fesm2020/novo-elements-elements-form.mjs +125 -302
  176. package/fesm2020/novo-elements-elements-form.mjs.map +1 -1
  177. package/fesm2020/novo-elements-elements-query-builder.mjs +1 -1
  178. package/fesm2020/novo-elements-elements-query-builder.mjs.map +1 -1
  179. package/fesm2020/novo-elements-elements-simple-table.mjs +2 -2
  180. package/fesm2020/novo-elements-elements-simple-table.mjs.map +1 -1
  181. package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs +1 -1
  182. package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
  183. package/fesm2020/novo-elements-elements-table.mjs +2 -6
  184. package/fesm2020/novo-elements-elements-table.mjs.map +1 -1
  185. package/fesm2020/novo-elements-elements-time-picker.mjs +7 -71
  186. package/fesm2020/novo-elements-elements-time-picker.mjs.map +1 -1
  187. package/fesm2020/novo-elements-elements.mjs +1 -0
  188. package/fesm2020/novo-elements-elements.mjs.map +1 -1
  189. package/fesm2020/novo-elements-services.mjs +158 -46
  190. package/fesm2020/novo-elements-services.mjs.map +1 -1
  191. package/fesm2020/novo-elements-utils.mjs +88 -1
  192. package/fesm2020/novo-elements-utils.mjs.map +1 -1
  193. package/fesm2020/novo-elements.mjs +8 -2
  194. package/fesm2020/novo-elements.mjs.map +1 -1
  195. package/novo-elements.module.d.ts +1 -1
  196. package/novo-elements.scss +1 -1
  197. package/package.json +23 -4
  198. package/services/date-format/DateFormat.d.ts +62 -3
  199. package/services/global/global.service.d.ts +3 -0
  200. package/styles/content/root.scss +1 -1
  201. package/styles/themes/light-test.scss +1 -1
  202. package/styles/themes/light.scss +1 -1
  203. package/styles/variables.scss +1 -1
  204. package/utils/date/index.d.ts +2 -1
  205. package/utils/date/timezone-support.d.ts +5 -0
@@ -1,5 +1,38 @@
1
1
  @import "../../../../styles/variables.scss";
2
2
 
3
+ @mixin file-item-style() {
4
+ background-color: $white;
5
+ box-shadow: 0 1px 4px rgba(#000, 0.15), 0 2px 10px rgba(#000, 0.09);
6
+ padding: 4px 12px;
7
+ display: flex;
8
+ flex-flow: row nowrap;
9
+ align-items: center;
10
+ i.bhi-move {
11
+ color: $grey;
12
+ padding-right: 0.75em;
13
+ padding-bottom: 4px;
14
+ font-size: 2em;
15
+ cursor: -webkit-grab;
16
+ cursor: grab;
17
+ }
18
+ label {
19
+ flex: 1;
20
+ white-space: nowrap;
21
+ text-overflow: ellipsis;
22
+ overflow: hidden;
23
+ span {
24
+ margin: 0 8px;
25
+ }
26
+ }
27
+ button {
28
+ font-size: 1.4rem;
29
+ width: 42px;
30
+ height: 42px;
31
+ padding: 4px;
32
+ color: $grey;
33
+ }
34
+ }
35
+
3
36
  novo-file-input {
4
37
  display: flex;
5
38
  flex-flow: row wrap;
@@ -10,39 +43,10 @@ novo-file-input {
10
43
  width: 100%;
11
44
  margin-top: 15px;
12
45
  .file-item {
13
- background-color: $white;
14
- box-shadow: 0 1px 4px rgba(#000, 0.15), 0 2px 10px rgba(#000, 0.09);
46
+ @include file-item-style;
15
47
  margin-bottom: 15px;
16
48
  position: relative; //border-radius: 3px;
17
- display: flex;
18
- flex-flow: row nowrap;
19
- align-items: center;
20
- padding: 4px 12px;
21
49
  width: 100%;
22
- i.bhi-move {
23
- color: $grey;
24
- padding-right: 0.75em;
25
- padding-bottom: 4px;
26
- font-size: 2em;
27
- cursor: -webkit-grab;
28
- cursor: grab;
29
- }
30
- label {
31
- flex: 1;
32
- white-space: nowrap;
33
- text-overflow: ellipsis;
34
- overflow: hidden;
35
- span {
36
- margin: 0 8px;
37
- }
38
- }
39
- button {
40
- font-size: 1.4rem;
41
- width: 42px;
42
- height: 42px;
43
- padding: 4px;
44
- color: $grey;
45
- }
46
50
  button:hover,
47
51
  button:focus,
48
52
  button.active {
@@ -54,6 +58,12 @@ novo-file-input {
54
58
  border: 2px dashed $grey;
55
59
  }
56
60
  }
61
+ &.cdk-drop-list-dragging {
62
+ cursor: grabbing;
63
+ .file-item {
64
+ transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
65
+ }
66
+ }
57
67
  }
58
68
  .file-input-group {
59
69
  cursor: pointer;
@@ -119,3 +129,21 @@ novo-file-input {
119
129
  }
120
130
  }
121
131
  }
132
+
133
+ // Configuration for CDK Drag/Drop
134
+ // https://material.angular.io/cdk/drag-drop/overview
135
+
136
+ .cdk-drag-preview.file-item {
137
+ cursor: grab;
138
+ @include file-item-style;
139
+ }
140
+
141
+ .cdk-drag-placeholder.file-item {
142
+ opacity: 0;
143
+ }
144
+
145
+ // This element will be outside of component layout, at the DOM root
146
+ .cdk-drag-animating.file-item {
147
+ transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
148
+ }
149
+
@@ -15,6 +15,7 @@ export * from 'novo-elements/elements/data-table';
15
15
  export * from 'novo-elements/elements/date-picker';
16
16
  export * from 'novo-elements/elements/date-time-picker';
17
17
  export * from 'novo-elements/elements/divider';
18
+ export * from 'novo-elements/elements/drag-drop';
18
19
  export * from 'novo-elements/elements/dropdown';
19
20
  export * from 'novo-elements/elements/expansion';
20
21
  export * from 'novo-elements/elements/field';
@@ -1,4 +1,4 @@
1
- @import "~novo-design-tokens/scss";
1
+ @import "novo-design-tokens/scss";
2
2
 
3
3
  :host {
4
4
  position: relative;
@@ -1,9 +1,9 @@
1
1
  import { ElementRef, QueryList } from '@angular/core';
2
2
  import { AbstractControl } from '@angular/forms';
3
- import { AbstractConditionFieldDef } from './abstract-condition.definition';
4
3
  import { NovoPickerToggleElement } from 'novo-elements/elements/field';
5
4
  import { PlacesListComponent } from 'novo-elements/elements/places';
6
5
  import { NovoLabelService } from 'novo-elements/services';
6
+ import { AbstractConditionFieldDef } from './abstract-condition.definition';
7
7
  import * as i0 from "@angular/core";
8
8
  /**
9
9
  * Handle selection of field values when a list of options is provided.
@@ -1,6 +1,6 @@
1
1
  // @import "../../styles/variables.scss";
2
2
  // @import "../common/typography/text.mixins.scss";
3
- @import "~novo-design-tokens/scss";
3
+ @import "novo-design-tokens/scss";
4
4
 
5
5
  $novo-menu-side-padding: 16px !default;
6
6
  $clear-button-width: 20px;
@@ -11,13 +11,12 @@ import * as i9 from "novo-elements/elements/dropdown";
11
11
  import * as i10 from "novo-elements/elements/loading";
12
12
  import * as i11 from "novo-elements/elements/date-picker";
13
13
  import * as i12 from "novo-elements/elements/checkbox";
14
- import * as i13 from "angular2-text-mask";
15
- import * as i14 from "angular-imask";
16
- import * as i15 from "novo-elements/elements/common";
17
- import * as i16 from "novo-elements/elements/flex";
18
- import * as i17 from "novo-elements/elements/icon";
14
+ import * as i13 from "angular-imask";
15
+ import * as i14 from "novo-elements/elements/common";
16
+ import * as i15 from "novo-elements/elements/flex";
17
+ import * as i16 from "novo-elements/elements/icon";
19
18
  export declare class NovoTableModule {
20
19
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoTableModule, never>;
21
- static ɵmod: i0.ɵɵNgModuleDeclaration<NovoTableModule, [typeof i1.NovoTableElement], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.NovoFormModule, typeof i5.NovoTableExtrasModule, typeof i6.NovoToastModule, typeof i7.NovoButtonModule, typeof i8.NovoTooltipModule, typeof i9.NovoDropdownModule, typeof i10.NovoLoadingModule, typeof i11.NovoDatePickerModule, typeof i4.NovoFormExtrasModule, typeof i12.NovoCheckboxModule, typeof i13.TextMaskModule, typeof i14.IMaskDirectiveModule, typeof i15.NovoOptionModule, typeof i15.NovoCommonModule, typeof i16.NovoFlexModule, typeof i17.NovoIconModule], [typeof i1.NovoTableElement]>;
20
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NovoTableModule, [typeof i1.NovoTableElement], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.NovoFormModule, typeof i5.NovoTableExtrasModule, typeof i6.NovoToastModule, typeof i7.NovoButtonModule, typeof i8.NovoTooltipModule, typeof i9.NovoDropdownModule, typeof i10.NovoLoadingModule, typeof i11.NovoDatePickerModule, typeof i4.NovoFormExtrasModule, typeof i12.NovoCheckboxModule, typeof i13.IMaskDirectiveModule, typeof i14.NovoOptionModule, typeof i14.NovoCommonModule, typeof i15.NovoFlexModule, typeof i16.NovoIconModule], [typeof i1.NovoTableElement]>;
22
21
  static ɵinj: i0.ɵɵInjectorDeclaration<NovoTableModule>;
23
22
  }
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
- import { DateFormatService, NovoLabelService } from 'novo-elements/services';
3
+ import { NovoLabelService } from 'novo-elements/services';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare enum TIME_VALUE_FORMATS {
6
6
  iso8601 = "iso8601",
@@ -9,7 +9,6 @@ export declare enum TIME_VALUE_FORMATS {
9
9
  export declare class NovoTimePickerElement implements ControlValueAccessor, OnInit, OnChanges {
10
10
  element: ElementRef;
11
11
  labels: NovoLabelService;
12
- dateFormatService: DateFormatService;
13
12
  protected cdr: ChangeDetectorRef;
14
13
  military: boolean;
15
14
  analog: boolean;
@@ -34,7 +33,7 @@ export declare class NovoTimePickerElement implements ControlValueAccessor, OnIn
34
33
  _onChange: Function;
35
34
  _onTouched: Function;
36
35
  flatten(arr: any): any[];
37
- constructor(element: ElementRef, labels: NovoLabelService, dateFormatService: DateFormatService, cdr: ChangeDetectorRef);
36
+ constructor(element: ElementRef, labels: NovoLabelService, cdr: ChangeDetectorRef);
38
37
  ngOnInit(): void;
39
38
  ngOnChanges(changes?: SimpleChanges): void;
40
39
  init(value: any, dispatch: any): void;
@@ -4,11 +4,10 @@ import * as i2 from "./TimePickerInput";
4
4
  import * as i3 from "@angular/common";
5
5
  import * as i4 from "@angular/forms";
6
6
  import * as i5 from "angular-imask";
7
- import * as i6 from "angular2-text-mask";
8
- import * as i7 from "novo-elements/elements/common";
9
- import * as i8 from "novo-elements/elements/list";
7
+ import * as i6 from "novo-elements/elements/common";
8
+ import * as i7 from "novo-elements/elements/list";
10
9
  export declare class NovoTimePickerModule {
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoTimePickerModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<NovoTimePickerModule, [typeof i1.NovoTimePickerElement, typeof i2.NovoTimePickerInputElement], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.IMaskDirectiveModule, typeof i6.TextMaskModule, typeof i7.NovoOverlayModule, typeof i8.NovoListModule], [typeof i1.NovoTimePickerElement, typeof i2.NovoTimePickerInputElement]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NovoTimePickerModule, [typeof i1.NovoTimePickerElement, typeof i2.NovoTimePickerInputElement], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.IMaskDirectiveModule, typeof i6.NovoOverlayModule, typeof i7.NovoListModule], [typeof i1.NovoTimePickerElement, typeof i2.NovoTimePickerInputElement]>;
13
12
  static ɵinj: i0.ɵɵInjectorDeclaration<NovoTimePickerModule>;
14
13
  }
@@ -56,7 +56,6 @@ export declare class NovoTimePickerInputElement implements OnInit, OnChanges, Co
56
56
  clearValue(): void;
57
57
  get hasValue(): boolean;
58
58
  scrollToIndex(index: number): void;
59
- convertTime12to24(time12h: string): string;
60
59
  hourOneFormatRequired(hourInput: string): boolean;
61
60
  protected formatTime(value: string): void;
62
61
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoTimePickerInputElement, never>;
@@ -3,18 +3,21 @@ import { Component, ElementRef, EventEmitter, forwardRef, Input, Output } from '
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  // Vendor
5
5
  // organize-imports-ignore
6
- import 'brace/index';
6
+ import * as ace from 'brace';
7
+ import 'brace/ext/language_tools.js';
7
8
  import 'brace/mode/javascript';
8
9
  import 'brace/theme/chrome';
9
- import 'brace/ext/language_tools.js';
10
10
  // APP
11
- import { Helpers } from 'novo-elements/utils';
11
+ import { Helpers, notify } from 'novo-elements/utils';
12
12
  import * as i0 from "@angular/core";
13
13
  const ACE_VALUE_ACCESSOR = {
14
14
  provide: NG_VALUE_ACCESSOR,
15
15
  useExisting: forwardRef(() => NovoAceEditor),
16
16
  multi: true,
17
17
  };
18
+ /**
19
+ * @deprecated Use NovoCodeEditor instead
20
+ */
18
21
  export class NovoAceEditor {
19
22
  constructor(elementRef) {
20
23
  this.elementRef = elementRef;
@@ -29,6 +32,7 @@ export class NovoAceEditor {
29
32
  this.text = '';
30
33
  this.onChange = (_) => { };
31
34
  this.onTouched = () => { };
35
+ notify('[Deprecated]: The ace editor component is deprecated. Please migrate to novo-code-editor!');
32
36
  }
33
37
  set theme(theme) {
34
38
  this.setTheme(theme);
@@ -125,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
125
129
  }], focus: [{
126
130
  type: Output
127
131
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNlRWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvYWRkb25zL2FjZS1lZGl0b3IvQWNlRWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLE9BQU8sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLDZCQUE2QixDQUFDO0FBQ3JDLE1BQU07QUFDTixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSTlDLE1BQU0sa0JBQWtCLEdBQUc7SUFDekIsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUM1QyxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFRRixNQUFNLE9BQU8sYUFBYTtJQXFDeEIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWxCMUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkIsYUFBUSxHQUFRO1lBQ3RCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLG1CQUFtQixFQUFFLElBQUk7U0FDMUIsQ0FBQztRQUNNLFdBQU0sR0FBVyxRQUFRLENBQUM7UUFDMUIsVUFBSyxHQUFXLFlBQVksQ0FBQztRQUU3QixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBSWxCLGFBQVEs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QUFPO3NCQURWLEtBQUs7Z0JBTUYsSUFBSTtzQkFEUCxLQUFLO2dCQU1OLElBQUk7c0JBREgsS0FBSztnQkFHTixJQUFJO3NCQURILE1BQU07Z0JBR1AsS0FBSztzQkFESixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTkcyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vIFZlbmRvclxuLy8gb3JnYW5pemUtaW1wb3J0cy1pZ25vcmVcbmltcG9ydCAnYnJhY2UvaW5kZXgnO1xuaW1wb3J0ICdicmFjZS9tb2RlL2phdmFzY3JpcHQnO1xuaW1wb3J0ICdicmFjZS90aGVtZS9jaHJvbWUnO1xuaW1wb3J0ICdicmFjZS9leHQvbGFuZ3VhZ2VfdG9vbHMuanMnO1xuLy8gQVBQXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnbm92by1lbGVtZW50cy91dGlscyc7XG5cbmRlY2xhcmUgdmFyIGFjZTogYW55O1xuXG5jb25zdCBBQ0VfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOb3ZvQWNlRWRpdG9yKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLWFjZS1lZGl0b3InLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL0FjZUVkaXRvci5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0FDRV9WQUxVRV9BQ0NFU1NPUl0sXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9BY2VFZGl0b3IgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBzZXQgdGhlbWUodGhlbWU6IGFueSkge1xuICAgIHRoaXMuc2V0VGhlbWUodGhlbWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKG9wdGlvbnMpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG1vZGUobW9kZTogYW55KSB7XG4gICAgdGhpcy5zZXRNb2RlKG1vZGUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuICBAT3V0cHV0KClcbiAgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX29wdGlvbnM6IGFueSA9IHtcbiAgICBzaG93UHJpbnRNYXJnaW46IGZhbHNlLFxuICAgIGRpc3BsYXlJbmRlbnRHdWlkZXM6IHRydWUsXG4gIH07XG4gIHByaXZhdGUgX3RoZW1lOiBzdHJpbmcgPSAnY2hyb21lJztcbiAgcHJpdmF0ZSBfbW9kZTogc3RyaW5nID0gJ2phdmFzY3JpcHQnO1xuXG4gIHByaXZhdGUgdGV4dDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgb2xkVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIGVkaXRvcjogYW55O1xuXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplRWRpdG9yKCk7XG4gICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRWRpdG9yKCkge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5lZGl0b3IgPSBhY2UuZWRpdChlbCk7XG4gICAgdGhpcy5lZGl0b3IuJGJsb2NrU2Nyb2xsaW5nID0gSW5maW5pdHk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVPcHRpb25zKCkge1xuICAgIHRoaXMuc2V0T3B0aW9ucyh0aGlzLl9vcHRpb25zIHx8IHt9KTtcbiAgICB0aGlzLnNldFRoZW1lKHRoaXMuX3RoZW1lKTtcbiAgICB0aGlzLnNldE1vZGUodGhpcy5fbW9kZSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFdmVudHMoKSB7XG4gICAgdGhpcy5lZGl0b3Iub24oJ2ZvY3VzJywgKGV2ZW50KSA9PiB0aGlzLmZvY3VzLmVtaXQoZXZlbnQpKTtcbiAgICB0aGlzLmVkaXRvci5vbignYmx1cicsIChldmVudCkgPT4gdGhpcy5mb2N1cy5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lZGl0b3Iub24oJ2NoYW5nZScsICgpID0+IHRoaXMudXBkYXRlVGV4dCgpKTtcbiAgICB0aGlzLmVkaXRvci5vbigncGFzdGUnLCAoKSA9PiB0aGlzLnVwZGF0ZVRleHQoKSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRleHQoKSB7XG4gICAgY29uc3QgbmV3VmFsID0gdGhpcy5lZGl0b3IuZ2V0VmFsdWUoKTtcblxuICAgIGlmIChuZXdWYWwgPT09IHRoaXMub2xkVGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudGV4dCA9IG5ld1ZhbDtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbCk7XG4gICAgdGhpcy5vbGRUZXh0ID0gbmV3VmFsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUZXh0KHRleHQ6IHN0cmluZykge1xuICAgIGlmIChIZWxwZXJzLmlzQmxhbmsodGV4dCkpIHtcbiAgICAgIHRleHQgPSAnJztcbiAgICB9XG4gICAgaWYgKHRoaXMudGV4dCAhPT0gdGV4dCkge1xuICAgICAgdGhpcy50ZXh0ID0gdGV4dDtcbiAgICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKHRleHQpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0ZXh0KTtcbiAgICAgIHRoaXMuZWRpdG9yLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRPcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuZWRpdG9yLnNldE9wdGlvbnMob3B0aW9ucyB8fCB7fSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aGVtZSA9IHRoZW1lO1xuICAgIHRoaXMuZWRpdG9yLnNldFRoZW1lKGBhY2UvdGhlbWUvJHt0aGVtZX1gKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TW9kZShtb2RlOiBhbnkpIHtcbiAgICB0aGlzLl9tb2RlID0gbW9kZTtcbiAgICB0aGlzLmVkaXRvci5nZXRTZXNzaW9uKCkuc2V0TW9kZShgYWNlL21vZGUvJHt0aGlzLl9tb2RlfWApO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5zZXRUZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG59XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNlRWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvYWRkb25zL2FjZS1lZGl0b3IvQWNlRWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLE9BQU8sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sNkJBQTZCLENBQUM7QUFDckMsT0FBTyx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLG9CQUFvQixDQUFDO0FBQzVCLE1BQU07QUFDTixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV0RCxNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDNUMsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7O0dBRUc7QUFPSCxNQUFNLE9BQU8sYUFBYTtJQXFDeEIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWxCMUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkIsYUFBUSxHQUFRO1lBQ3RCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLG1CQUFtQixFQUFFLElBQUk7U0FDMUIsQ0FBQztRQUNNLFdBQU0sR0FBVyxRQUFRLENBQUM7UUFDMUIsVUFBSyxHQUFXLFlBQVksQ0FBQztR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QUFpQixZQUNqQixFQUFFLGFBRUQsQ0FBQyxrQkFBa0IsQ0FBQztpR0FJM0IsS0FBSztzQkFEUixLQUFLO2dCQU1GLE9BQU87c0JBRFYsS0FBSztnQkFNRixJQUFJO3NCQURQLEtBQUs7Z0JBTU4sSUFBSTtzQkFESCxLQUFLO2dCQUdOLElBQUk7c0JBREgsTUFBTTtnQkFHUCxLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBORzJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuLy8gVmVuZG9yXG4vLyBvcmdhbml6ZS1pbXBvcnRzLWlnbm9yZVxuaW1wb3J0ICogYXMgYWNlIGZyb20gJ2JyYWNlJztcbmltcG9ydCAnYnJhY2UvZXh0L2xhbmd1YWdlX3Rvb2xzLmpzJztcbmltcG9ydCAnYnJhY2UvbW9kZS9qYXZhc2NyaXB0JztcbmltcG9ydCAnYnJhY2UvdGhlbWUvY2hyb21lJztcbi8vIEFQUFxuaW1wb3J0IHsgSGVscGVycywgbm90aWZ5IH0gZnJvbSAnbm92by1lbGVtZW50cy91dGlscyc7XG5cbmNvbnN0IEFDRV9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5vdm9BY2VFZGl0b3IpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIE5vdm9Db2RlRWRpdG9yIGluc3RlYWRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by1hY2UtZWRpdG9yJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFsnLi9BY2VFZGl0b3Iuc2NzcyddLFxuICBwcm92aWRlcnM6IFtBQ0VfVkFMVUVfQUNDRVNTT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvQWNlRWRpdG9yIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgc2V0IHRoZW1lKHRoZW1lOiBhbnkpIHtcbiAgICB0aGlzLnNldFRoZW1lKHRoZW1lKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBvcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBtb2RlKG1vZGU6IGFueSkge1xuICAgIHRoaXMuc2V0TW9kZShtb2RlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIG5hbWU6IHN0cmluZztcbiAgQE91dHB1dCgpXG4gIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIF9vcHRpb25zOiBhbnkgPSB7XG4gICAgc2hvd1ByaW50TWFyZ2luOiBmYWxzZSxcbiAgICBkaXNwbGF5SW5kZW50R3VpZGVzOiB0cnVlLFxuICB9O1xuICBwcml2YXRlIF90aGVtZTogc3RyaW5nID0gJ2Nocm9tZSc7XG4gIHByaXZhdGUgX21vZGU6IHN0cmluZyA9ICdqYXZhc2NyaXB0JztcblxuICBwcml2YXRlIHRleHQ6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIG9sZFRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBlZGl0b3I6IGFueTtcblxuICBwcml2YXRlIG9uQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgbm90aWZ5KCdbRGVwcmVjYXRlZF06IFRoZSBhY2UgZWRpdG9yIGNvbXBvbmVudCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgbWlncmF0ZSB0byBub3ZvLWNvZGUtZWRpdG9yIScpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplRWRpdG9yKCk7XG4gICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRWRpdG9yKCkge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5lZGl0b3IgPSBhY2UuZWRpdChlbCk7XG4gICAgdGhpcy5lZGl0b3IuJGJsb2NrU2Nyb2xsaW5nID0gSW5maW5pdHk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVPcHRpb25zKCkge1xuICAgIHRoaXMuc2V0T3B0aW9ucyh0aGlzLl9vcHRpb25zIHx8IHt9KTtcbiAgICB0aGlzLnNldFRoZW1lKHRoaXMuX3RoZW1lKTtcbiAgICB0aGlzLnNldE1vZGUodGhpcy5fbW9kZSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFdmVudHMoKSB7XG4gICAgdGhpcy5lZGl0b3Iub24oJ2ZvY3VzJywgKGV2ZW50KSA9PiB0aGlzLmZvY3VzLmVtaXQoZXZlbnQpKTtcbiAgICB0aGlzLmVkaXRvci5vbignYmx1cicsIChldmVudCkgPT4gdGhpcy5mb2N1cy5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lZGl0b3Iub24oJ2NoYW5nZScsICgpID0+IHRoaXMudXBkYXRlVGV4dCgpKTtcbiAgICB0aGlzLmVkaXRvci5vbigncGFzdGUnLCAoKSA9PiB0aGlzLnVwZGF0ZVRleHQoKSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRleHQoKSB7XG4gICAgY29uc3QgbmV3VmFsID0gdGhpcy5lZGl0b3IuZ2V0VmFsdWUoKTtcblxuICAgIGlmIChuZXdWYWwgPT09IHRoaXMub2xkVGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudGV4dCA9IG5ld1ZhbDtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbCk7XG4gICAgdGhpcy5vbGRUZXh0ID0gbmV3VmFsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUZXh0KHRleHQ6IHN0cmluZykge1xuICAgIGlmIChIZWxwZXJzLmlzQmxhbmsodGV4dCkpIHtcbiAgICAgIHRleHQgPSAnJztcbiAgICB9XG4gICAgaWYgKHRoaXMudGV4dCAhPT0gdGV4dCkge1xuICAgICAgdGhpcy50ZXh0ID0gdGV4dDtcbiAgICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKHRleHQpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0ZXh0KTtcbiAgICAgIHRoaXMuZWRpdG9yLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRPcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuZWRpdG9yLnNldE9wdGlvbnMob3B0aW9ucyB8fCB7fSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aGVtZSA9IHRoZW1lO1xuICAgIHRoaXMuZWRpdG9yLnNldFRoZW1lKGBhY2UvdGhlbWUvJHt0aGVtZX1gKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TW9kZShtb2RlOiBhbnkpIHtcbiAgICB0aGlzLl9tb2RlID0gbW9kZTtcbiAgICB0aGlzLmVkaXRvci5nZXRTZXNzaW9uKCkuc2V0TW9kZShgYWNlL21vZGUvJHt0aGlzLl9tb2RlfWApO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5zZXRUZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG59XG4iXX0=
@@ -8,6 +8,13 @@ const CKEDITOR_CONTROL_VALUE_ACCESSOR = {
8
8
  useExisting: forwardRef(() => NovoCKEditorElement),
9
9
  multi: true,
10
10
  };
11
+ // Prevents CKEDITOR from querying the page for all [contenteditable] elements (fixes a conflict against Codemirror Editor)
12
+ try {
13
+ CKEDITOR.disableAutoInline = true;
14
+ }
15
+ catch (err) {
16
+ // may be running in a context without CKEDITOR - ignore
17
+ }
11
18
  /**
12
19
  * CKEditor component
13
20
  * Usage :
@@ -246,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
246
253
  }], value: [{
247
254
  type: Input
248
255
  }] } });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ0tFZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9hZGRvbnMvY2tlZGl0b3IvQ0tFZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTTtBQUNOLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFekUsc0RBQXNEO0FBQ3RELE1BQU0sK0JBQStCLEdBQUc7SUFDdEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sbUJBQW1CO0lBbUM5QixZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQXpCaEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsOEJBQXlCLEdBQVcsRUFBRSxDQUFDO1FBRXZDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0IsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0IsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJNUIsV0FBTSxHQUFXLEVBQUUsQ0FBQztJQUllLENBQUM7SUFFcEMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJ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QUk7c0JBREgsU0FBUzt1QkFBQyxNQUFNO2dCQWNiLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5HMlxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gVmFsdWUgYWNjZXNzb3IgZm9yIHRoZSBjb21wb25lbnQgKHN1cHBvcnRzIG5nTW9kZWwpXG5jb25zdCBDS0VESVRPUl9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTm92b0NLRWRpdG9yRWxlbWVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuZGVjbGFyZSB2YXIgQ0tFRElUT1I6IGFueTtcbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgQ0tFRElUT1I6IGFueTtcbiAgfVxufVxuXG4vKipcbiAqIENLRWRpdG9yIGNvbXBvbmVudFxuICogVXNhZ2UgOlxuICogIDxub3ZvLWVkaXRvciBbKG5nTW9kZWwpXT1cImRhdGFcIiBbY29uZmlnXT1cInsuLi59XCIgZGVib3VuY2U9XCI1MDBcIj48L25vdm8tZWRpdG9yPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLWVkaXRvcicsXG4gIHByb3ZpZGVyczogW0NLRURJVE9SX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICB0ZW1wbGF0ZTogJzx0ZXh0YXJlYSBbbmFtZV09XCJuYW1lXCIgW2lkXT1cIm5hbWVcIiAjaG9zdD48L3RleHRhcmVhPicsXG4gIHN0eWxlVXJsczogWycuL0NLRWRpdG9yLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTm92b0NLRWRpdG9yRWxlbWVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKVxuICBjb25maWc7XG4gIEBJbnB1dCgpXG4gIGRlYm91bmNlO1xuICBASW5wdXQoKVxuICBuYW1lO1xuICBASW5wdXQoKVxuICBtaW5pbWFsO1xuICBASW5wdXQoKVxuICBzdGFydHVwRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgZmlsZUJyb3dzZXJJbWFnZVVwbG9hZFVybDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcGFzdGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2hvc3QnKVxuICBob3N0O1xuXG4gIF92YWx1ZTogc3RyaW5nID0gJyc7XG4gIGluc3RhbmNlO1xuICBkZWJvdW5jZVRpbWVvdXQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHt9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2KSB7XG4gICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHYpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICB0aGlzLmluc3RhbmNlLmZvY3VzTWFuYWdlci5ibHVyKHRydWUpOyAvLyBSZW1vdmUgZm9jdXMgZnJvbSBlZGl0b3JcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmluc3RhbmNlLnJlbW92ZUFsbExpc3RlbmVycygpO1xuICAgICAgICBjb25zdCBhSW5zdGFuY2UgPSBDS0VESVRPUi5pbnN0YW5jZXNbdGhpcy5pbnN0YW5jZS5uYW1lXTtcbiAgICAgICAgaWYgKGFJbnN0YW5jZSkge1xuICAgICAgICAgIGFJbnN0YW5jZS5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnN0YW5jZS5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy5nZXRCYXNlQ29uZmlnKCksIHRoaXMuY29uZmlnKTtcbiAgICBpZiAodGhpcy5zdGFydHVwRm9jdXMpIHtcbiAgICAgIGNvbmZpZy5zdGFydHVwRm9jdXMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgY29uZmlnLnJlYWRPbmx5ID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5ja2VkaXRvckluaXQoY29uZmlnKTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2tlZGl0b3JJbml0KGNvbmZpZykge1xuICAgIGlmICghQ0tFRElUT1IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ01ha2Ugc3VyZSB0byBpbmNsdWRlIENLRWRpdG9yIHNvdXJjZXMgaW4geW91ciBkZXBlbmRlbmNpZXMhJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ0tFZGl0b3IgcmVwbGFjZSB0ZXh0YXJlYVxuICAgIHRoaXMuaW5zdGFuY2UgPSBDS0VESVRPUi5yZXBsYWNlKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCBjb25maWcpO1xuXG4gICAgLy8gU2V0IGluaXRpYWwgdmFsdWVcbiAgICB0aGlzLmluc3RhbmNlLnNldERhdGEodGhpcy52YWx1ZSk7XG5cbiAgICAvLyBsaXN0ZW4gZm9yIGluc3RhbmNlUmVhZHkgZXZlbnRcbiAgICB0aGlzLmluc3RhbmNlLm9uKCdpbnN0YW5jZVJlYWR5JywgKGV2dCkgPT4ge1xuICAgICAgLy8gc2VuZCB0aGUgZXZ0IHRvIHRoZSBFdmVudEVtaXR0ZXJcbiAgICAgIHRoaXMucmVhZHkuZW1pdChldnQpO1xuICAgIH0pO1xuXG4gICAgLy8gQ0tFZGl0b3IgY2hhbmdlIGV2ZW50XG4gICAgdGhpcy5pbnN0YW5jZS5vbignY2hhbmdlJywgKCkgPT4ge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnN0YW5jZS5nZXREYXRhKCk7XG5cbiAgICAgIC8vIERlYm91bmNlIHVwZGF0ZVxuICAgICAgaWYgKHRoaXMuZGVib3VuY2UpIHtcbiAgICAgICAgaWYgKHRoaXMuZGVib3VuY2VUaW1lb3V0KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVib3VuY2VUaW1lb3V0KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlYm91bmNlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgIHRoaXMuZGVib3VuY2VUaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgfSwgcGFyc2VJbnQodGhpcy5kZWJvdW5jZSwgMTApKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuaW5zdGFuY2Uub24oJ2JsdXInLCAoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuYmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLmluc3RhbmNlLm9uKCdmb2N1cycsIChldmVudCkgPT4ge1xuICAgICAgdGhpcy5mb2N1cy5lbWl0KGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLmluc3RhbmNlLm9uKCdwYXN0ZScsIChldmVudCkgPT4ge1xuICAgICAgdGhpcy5wYXN0ZS5lbWl0KGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLmluc3RhbmNlLm9uKCdsb2FkZWQnLCAoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMubG9hZGVkLmVtaXQoZXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0QmFzZUNvbmZpZygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBiYXNlQ29uZmlnID0ge1xuICAgICAgZW50ZXJNb2RlOiBDS0VESVRPUi5FTlRFUl9CUixcbiAgICAgIGVudGl0aWVzOiBmYWxzZSxcbiAgICAgIHNoaWZ0RW50ZXJNb2RlOiBDS0VESVRPUi5FTlRFUl9QLFxuICAgICAgZGlzYWJsZU5hdGl2ZVNwZWxsQ2hlY2tlcjogZmFsc2UsXG4gICAgICByZW1vdmVQbHVnaW5zOiAnbGlzdHN0eWxlLHRhYmxldG9vbHMsY29udGV4dG1lbnUsdGFibGVzZWxlY3Rpb24nLCAvLyBhbGxvd3MgYnJvd3NlciBiYXNlZCBzcGVsbCBjaGVja2luZ1xuICAgICAgZXh0cmFBbGxvd2VkQ29udGVudDogJyooKil7Kn07dGFibGUgdGJvZHkgdHIgdGQgdGhbKl07JywgLy8gYWxsb3dzIGNsYXNzIG5hbWVzICgqKSBhbmQgaW5saW5lIHN0eWxlcyB7Kn0gZm9yIGFsbCBhbmQgYXR0cmlidXRlcyBbKl0gb24gdGFibGVzXG4gICAgICBmb250X25hbWVzOlxuICAgICAgICAnQXJpYWwvQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsnICtcbiAgICAgICAgJ0NhbGlicmkvQ2FsaWJyaSwgVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmOycgK1xuICAgICAgICAnQ29taWMgU2FucyBNUy9Db21pYyBTYW5zIE1TLCBjdXJzaXZlOycgK1xuICAgICAgICAnQ291cmllciBOZXcvQ291cmllciBOZXcsIENvdXJpZXIsIG1vbm9zcGFjZTsnICtcbiAgICAgICAgJ0dlb3JnaWEvR2VvcmdpYSwgc2VyaWY7JyArXG4gICAgICAgICdMdWNpZGEgU2FucyBVbmljb2RlL0x1Y2lkYSBTYW5zIFVuaWNvZGUsIEx1Y2lkYSBHcmFuZGUsIHNhbnMtc2VyaWY7JyArXG4gICAgICAgICdUYWhvbWEvVGFob21hLCBHZW5ldmEsIHNhbnMtc2VyaWY7JyArXG4gICAgICAgICdUaW1lcyBOZXcgUm9tYW4vVGltZXMgTmV3IFJvbWFuLCBUaW1lcywgc2VyaWY7JyArXG4gICAgICAgICdUcmVidWNoZXQgTVMvVHJlYnVjaGV0IE1TLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7JyArXG4gICAgICAgICdWZXJkYW5hL1ZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZicsXG4gICAgfTtcblxuICAgIGNvbnN0IG1pbmltYWxDb25maWcgPSB7XG4gICAgICB0b29sYmFyOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnYmFzaWNzdHlsZXMnLFxuICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAnU3R5bGVzJyxcbiAgICAgICAgICAgICdGb250U2l6ZScsXG4gICAgICAgICAgICAnQm9sZCcsXG4gICAgICAgICAgICAnSXRhbGljJyxcbiAgICAgICAgICAgICdVbmRlcmxpbmUnLFxuICAgICAgICAgICAgJ1RleHRDb2xvcicsXG4gICAgICAgICAgICAnLScsXG4gICAgICAgICAgICAnTnVtYmVyZWRMaXN0JyxcbiAgICAgICAgICAgICdCdWxsZXRlZExpc3QnLFxuICAgICAgICAgICAgJ091dGRlbnQnLFxuICAgICAgICAgICAgJ0luZGVudCcsXG4gICAgICAgICAgICAnTGluaycsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGNvbnN0IGV4dGVuZGVkQ29uZmlnID0ge1xuICAgICAgdG9vbGJhcjogW1xuICAgICAgICB7IG5hbWU6ICdjbGlwYm9hcmQnLCBpdGVtczogWydQYXN0ZScsICdQYXN0ZVRleHQnLCAnUGFzdGVGcm9tV29yZCcsICdVbmRvJywgJ1JlZG8nXSB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3BhcmFncmFwaCcsXG4gICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICdOdW1iZXJlZExpc3QnLFxuICAgICAgICAgICAgJ0J1bGxldGVkTGlzdCcsXG4gICAgICAgICAgICAnT3V0ZGVudCcsXG4gICAgICAgICAgICAnSW5kZW50JyxcbiAgICAgICAgICAgICdCbG9ja3F1b3RlJyxcbiAgICAgICAgICAgICdKdXN0aWZ5TGVmdCcsXG4gICAgICAgICAgICAnSnVzdGlmeUNlbnRlcicsXG4gICAgICAgICAgICAnSnVzdGlmeVJpZ2h0JyxcbiAgICAgICAgICAgICdKdXN0aWZ5QmxvY2snLFxuICAgICAgICAgICAgJ0JpZGlMdHInLFxuICAgICAgICAgICAgJ0JpZGlSdGwnLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgbmFtZTogJ2xpbmtzJywgaXRlbXM6IFsnTGluayddIH0sXG4gICAgICAgIHsgbmFtZTogJ2luc2VydCcsIGl0ZW1zOiBbJ0ltYWdlJywgJ1RhYmxlJywgJ0hvcml6b250YWxSdWxlJ10gfSxcbiAgICAgICAgeyBuYW1lOiAndG9vbHMnLCBpdGVtczogWydNYXhpbWl6ZScsICdTb3VyY2UnXSB9LFxuICAgICAgICAnLycsIC8vIGxpbmUgYnJlYWtcbiAgICAgICAgeyBuYW1lOiAnYmFzaWNzdHlsZXMnLCBpdGVtczogWydCb2xkJywgJ0l0YWxpYycsICdVbmRlcmxpbmUnLCAnU3RyaWtlJywgJ1N1YnNjcmlwdCcsICdTdXBlcnNjcmlwdCddIH0sXG4gICAgICAgIHsgbmFtZTogJ3N0eWxlcycsIGl0ZW1zOiBbJ1N0eWxlcycsICdGb3JtYXQnLCAnRm9udCcsICdGb250U2l6ZSddIH0sXG4gICAgICAgIHsgbmFtZTogJ2NvbG9ycycsIGl0ZW1zOiBbJ1RleHRDb2xvcicsICdCR0NvbG9yJ10gfSxcbiAgICAgIF0sXG4gICAgICBmaWxlYnJvd3NlckltYWdlVXBsb2FkVXJsOiB0aGlzLmZpbGVCcm93c2VySW1hZ2VVcGxvYWRVcmwsXG4gICAgfTtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKGJhc2VDb25maWcsIHRoaXMubWluaW1hbCA/IG1pbmltYWxDb25maWcgOiBleHRlbmRlZENvbmZpZyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xuICAgICAgdGhpcy5pbnN0YW5jZS5zZXREYXRhKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSh2YWx1ZT86IGFueSkge31cblxuICBvblRvdWNoZWQoZXZlbnQ/KSB7fVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbikge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICBDS0VESVRPUi5pbnN0YW5jZXNbdGhpcy5pbnN0YW5jZS5uYW1lXS5zZXRSZWFkT25seShkaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgaW5zZXJ0VGV4dCh0ZXh0KSB7XG4gICAgY29uc3QgdHJpbW1lZFRleHQgPSB0ZXh0LnRyaW0oKTtcbiAgICB0aGlzLmluc3RhbmNlLmluc2VydFRleHQodHJpbW1lZFRleHQpO1xuICB9XG59XG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ0tFZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9hZGRvbnMvY2tlZGl0b3IvQ0tFZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTTtBQUNOLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFekUsc0RBQXNEO0FBQ3RELE1BQU0sK0JBQStCLEdBQUc7SUFDdEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVFGLDJIQUEySDtBQUMzSCxJQUFJO0lBQ0YsUUFBUSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztDQUNuQztBQUFDLE9BQU0sR0FBRyxFQUFFO0lBQ1gsd0RBQXdEO0NBQ3pEO0FBRUQ7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxtQkFBbUI7SUFtQzlCLFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBekJoQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU5Qiw4QkFBeUIsR0FBVyxFQUFFLENBQUM7UUFFdkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FB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REosTUFBTTtnQkFHUCxJQUFJO3NCQURILE1BQU07Z0JBR1AsS0FBSztzQkFESixNQUFNO2dCQUdQLEtBQUs7c0JBREosTUFBTTtnQkFHUCxNQUFNO3NCQURMLE1BQU07Z0JBR1AsSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU07Z0JBY2IsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTkcyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBWYWx1ZSBhY2Nlc3NvciBmb3IgdGhlIGNvbXBvbmVudCAoc3VwcG9ydHMgbmdNb2RlbClcbmNvbnN0IENLRURJVE9SX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOb3ZvQ0tFZGl0b3JFbGVtZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5kZWNsYXJlIHZhciBDS0VESVRPUjogYW55O1xuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBDS0VESVRPUjogYW55O1xuICB9XG59XG4vLyBQcmV2ZW50cyBDS0VESVRPUiBmcm9tIHF1ZXJ5aW5nIHRoZSBwYWdlIGZvciBhbGwgW2NvbnRlbnRlZGl0YWJsZV0gZWxlbWVudHMgKGZpeGVzIGEgY29uZmxpY3QgYWdhaW5zdCBDb2RlbWlycm9yIEVkaXRvcilcbnRyeSB7XG4gIENLRURJVE9SLmRpc2FibGVBdXRvSW5saW5lID0gdHJ1ZTtcbn0gY2F0Y2goZXJyKSB7XG4gIC8vIG1heSBiZSBydW5uaW5nIGluIGEgY29udGV4dCB3aXRob3V0IENLRURJVE9SIC0gaWdub3JlXG59XG5cbi8qKlxuICogQ0tFZGl0b3IgY29tcG9uZW50XG4gKiBVc2FnZSA6XG4gKiAgPG5vdm8tZWRpdG9yIFsobmdNb2RlbCldPVwiZGF0YVwiIFtjb25maWddPVwiey4uLn1cIiBkZWJvdW5jZT1cIjUwMFwiPjwvbm92by1lZGl0b3I+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdm8tZWRpdG9yJyxcbiAgcHJvdmlkZXJzOiBbQ0tFRElUT1JfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl0sXG4gIHRlbXBsYXRlOiAnPHRleHRhcmVhIFtuYW1lXT1cIm5hbWVcIiBbaWRdPVwibmFtZVwiICNob3N0PjwvdGV4dGFyZWE+JyxcbiAgc3R5bGVVcmxzOiBbJy4vQ0tFZGl0b3Iuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvQ0tFZGl0b3JFbGVtZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIGNvbmZpZztcbiAgQElucHV0KClcbiAgZGVib3VuY2U7XG4gIEBJbnB1dCgpXG4gIG5hbWU7XG4gIEBJbnB1dCgpXG4gIG1pbmltYWw7XG4gIEBJbnB1dCgpXG4gIHN0YXJ0dXBGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBmaWxlQnJvd3NlckltYWdlVXBsb2FkVXJsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBwYXN0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIGxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZCgnaG9zdCcpXG4gIGhvc3Q7XG5cbiAgX3ZhbHVlOiBzdHJpbmcgPSAnJztcbiAgaW5zdGFuY2U7XG4gIGRlYm91bmNlVGltZW91dDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSkge31cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHYpIHtcbiAgICBpZiAodiAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAgIHRoaXMub25DaGFuZ2Uodik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuaW5zdGFuY2UuZm9jdXNNYW5hZ2VyLmJsdXIodHJ1ZSk7IC8vIFJlbW92ZSBmb2N1cyBmcm9tIGVkaXRvclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgICAgIGNvbnN0IGFJbnN0YW5jZSA9IENLRURJVE9SLmluc3RhbmNlc1t0aGlzLmluc3RhbmNlLm5hbWVdO1xuICAgICAgICBpZiAoYUluc3RhbmNlKSB7XG4gICAgICAgICAgYUluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZSA9IG51bGw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgY29uZmlnID0gT2JqZWN0LmFzc2lnbih0aGlzLmdldEJhc2VDb25maWcoKSwgdGhpcy5jb25maWcpO1xuICAgIGlmICh0aGlzLnN0YXJ0dXBGb2N1cykge1xuICAgICAgY29uZmlnLnN0YXJ0dXBGb2N1cyA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25maWcucmVhZE9ubHkgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmNrZWRpdG9ySW5pdChjb25maWcpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBja2VkaXRvckluaXQoY29uZmlnKSB7XG4gICAgaWYgKCFDS0VESVRPUikge1xuICAgICAgY29uc29sZS5lcnJvcignTWFrZSBzdXJlIHRvIGluY2x1ZGUgQ0tFZGl0b3Igc291cmNlcyBpbiB5b3VyIGRlcGVuZGVuY2llcyEnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDS0VkaXRvciByZXBsYWNlIHRleHRhcmVhXG4gICAgdGhpcy5pbnN0YW5jZSA9IENLRURJVE9SLnJlcGxhY2UodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsIGNvbmZpZyk7XG5cbiAgICAvLyBTZXQgaW5pdGlhbCB2YWx1ZVxuICAgIHRoaXMuaW5zdGFuY2Uuc2V0RGF0YSh0aGlzLnZhbHVlKTtcblxuICAgIC8vIGxpc3RlbiBmb3IgaW5zdGFuY2VSZWFkeSBldmVudFxuICAgIHRoaXMuaW5zdGFuY2Uub24oJ2luc3RhbmNlUmVhZHknLCAoZXZ0KSA9PiB7XG4gICAgICAvLyBzZW5kIHRoZSBldnQgdG8gdGhlIEV2ZW50RW1pdHRlclxuICAgICAgdGhpcy5yZWFkeS5lbWl0KGV2dCk7XG4gICAgfSk7XG5cbiAgICAvLyBDS0VkaXRvciBjaGFuZ2UgZXZlbnRcbiAgICB0aGlzLmluc3RhbmNlLm9uKCdjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmluc3RhbmNlLmdldERhdGEoKTtcblxuICAgICAgLy8gRGVib3VuY2UgdXBkYXRlXG4gICAgICBpZiAodGhpcy5kZWJvdW5jZSkge1xuICAgICAgICBpZiAodGhpcy5kZWJvdW5jZVRpbWVvdXQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWJvdW5jZVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVib3VuY2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgdGhpcy5kZWJvdW5jZVRpbWVvdXQgPSBudWxsO1xuICAgICAgICB9LCBwYXJzZUludCh0aGlzLmRlYm91bmNlLCAxMCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5pbnN0YW5jZS5vbignYmx1cicsIChldmVudCkgPT4ge1xuICAgICAgdGhpcy5ibHVyLmVtaXQoZXZlbnQpO1xuICAgIH0pO1xuICAgIHRoaXMuaW5zdGFuY2Uub24oJ2ZvY3VzJywgKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmZvY3VzLmVtaXQoZXZlbnQpO1xuICAgIH0pO1xuICAgIHRoaXMuaW5zdGFuY2Uub24oJ3Bhc3RlJywgKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLnBhc3RlLmVtaXQoZXZlbnQpO1xuICAgIH0pO1xuICAgIHRoaXMuaW5zdGFuY2Uub24oJ2xvYWRlZCcsIChldmVudCkgPT4ge1xuICAgICAgdGhpcy5sb2FkZWQuZW1pdChldmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRCYXNlQ29uZmlnKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGJhc2VDb25maWcgPSB7XG4gICAgICBlbnRlck1vZGU6IENLRURJVE9SLkVOVEVSX0JSLFxuICAgICAgZW50aXRpZXM6IGZhbHNlLFxuICAgICAgc2hpZnRFbnRlck1vZGU6IENLRURJVE9SLkVOVEVSX1AsXG4gICAgICBkaXNhYmxlTmF0aXZlU3BlbGxDaGVja2VyOiBmYWxzZSxcbiAgICAgIHJlbW92ZVBsdWdpbnM6ICdsaXN0c3R5bGUsdGFibGV0b29scyxjb250ZXh0bWVudSx0YWJsZXNlbGVjdGlvbicsIC8vIGFsbG93cyBicm93c2VyIGJhc2VkIHNwZWxsIGNoZWNraW5nXG4gICAgICBleHRyYUFsbG93ZWRDb250ZW50OiAnKigqKXsqfTt0YWJsZSB0Ym9keSB0ciB0ZCB0aFsqXTsnLCAvLyBhbGxvd3MgY2xhc3MgbmFtZXMgKCopIGFuZCBpbmxpbmUgc3R5bGVzIHsqfSBmb3IgYWxsIGFuZCBhdHRyaWJ1dGVzIFsqXSBvbiB0YWJsZXNcbiAgICAgIGZvbnRfbmFtZXM6XG4gICAgICAgICdBcmlhbC9BcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOycgK1xuICAgICAgICAnQ2FsaWJyaS9DYWxpYnJpLCBWZXJkYW5hLCBHZW5ldmEsIHNhbnMtc2VyaWY7JyArXG4gICAgICAgICdDb21pYyBTYW5zIE1TL0NvbWljIFNhbnMgTVMsIGN1cnNpdmU7JyArXG4gICAgICAgICdDb3VyaWVyIE5ldy9Db3VyaWVyIE5ldywgQ291cmllciwgbW9ub3NwYWNlOycgK1xuICAgICAgICAnR2VvcmdpYS9HZW9yZ2lhLCBzZXJpZjsnICtcbiAgICAgICAgJ0x1Y2lkYSBTYW5zIFVuaWNvZGUvTHVjaWRhIFNhbnMgVW5pY29kZSwgTHVjaWRhIEdyYW5kZSwgc2Fucy1zZXJpZjsnICtcbiAgICAgICAgJ1RhaG9tYS9UYWhvbWEsIEdlbmV2YSwgc2Fucy1zZXJpZjsnICtcbiAgICAgICAgJ1RpbWVzIE5ldyBSb21hbi9UaW1lcyBOZXcgUm9tYW4sIFRpbWVzLCBzZXJpZjsnICtcbiAgICAgICAgJ1RyZWJ1Y2hldCBNUy9UcmVidWNoZXQgTVMsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsnICtcbiAgICAgICAgJ1ZlcmRhbmEvVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmJyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWluaW1hbENvbmZpZyA9IHtcbiAgICAgIHRvb2xiYXI6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdiYXNpY3N0eWxlcycsXG4gICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICdTdHlsZXMnLFxuICAgICAgICAgICAgJ0ZvbnRTaXplJyxcbiAgICAgICAgICAgICdCb2xkJyxcbiAgICAgICAgICAgICdJdGFsaWMnLFxuICAgICAgICAgICAgJ1VuZGVybGluZScsXG4gICAgICAgICAgICAnVGV4dENvbG9yJyxcbiAgICAgICAgICAgICctJyxcbiAgICAgICAgICAgICdOdW1iZXJlZExpc3QnLFxuICAgICAgICAgICAgJ0J1bGxldGVkTGlzdCcsXG4gICAgICAgICAgICAnT3V0ZGVudCcsXG4gICAgICAgICAgICAnSW5kZW50JyxcbiAgICAgICAgICAgICdMaW5rJyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgZXh0ZW5kZWRDb25maWcgPSB7XG4gICAgICB0b29sYmFyOiBbXG4gICAgICAgIHsgbmFtZTogJ2NsaXBib2FyZCcsIGl0ZW1zOiBbJ1Bhc3RlJywgJ1Bhc3RlVGV4dCcsICdQYXN0ZUZyb21Xb3JkJywgJ1VuZG8nLCAnUmVkbyddIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAncGFyYWdyYXBoJyxcbiAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgJ051bWJlcmVkTGlzdCcsXG4gICAgICAgICAgICAnQnVsbGV0ZWRMaXN0JyxcbiAgICAgICAgICAgICdPdXRkZW50JyxcbiAgICAgICAgICAgICdJbmRlbnQnLFxuICAgICAgICAgICAgJ0Jsb2NrcXVvdGUnLFxuICAgICAgICAgICAgJ0p1c3RpZnlMZWZ0JyxcbiAgICAgICAgICAgICdKdXN0aWZ5Q2VudGVyJyxcbiAgICAgICAgICAgICdKdXN0aWZ5UmlnaHQnLFxuICAgICAgICAgICAgJ0p1c3RpZnlCbG9jaycsXG4gICAgICAgICAgICAnQmlkaUx0cicsXG4gICAgICAgICAgICAnQmlkaVJ0bCcsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBuYW1lOiAnbGlua3MnLCBpdGVtczogWydMaW5rJ10gfSxcbiAgICAgICAgeyBuYW1lOiAnaW5zZXJ0JywgaXRlbXM6IFsnSW1hZ2UnLCAnVGFibGUnLCAnSG9yaXpvbnRhbFJ1bGUnXSB9LFxuICAgICAgICB7IG5hbWU6ICd0b29scycsIGl0ZW1zOiBbJ01heGltaXplJywgJ1NvdXJjZSddIH0sXG4gICAgICAgICcvJywgLy8gbGluZSBicmVha1xuICAgICAgICB7IG5hbWU6ICdiYXNpY3N0eWxlcycsIGl0ZW1zOiBbJ0JvbGQnLCAnSXRhbGljJywgJ1VuZGVybGluZScsICdTdHJpa2UnLCAnU3Vic2NyaXB0JywgJ1N1cGVyc2NyaXB0J10gfSxcbiAgICAgICAgeyBuYW1lOiAnc3R5bGVzJywgaXRlbXM6IFsnU3R5bGVzJywgJ0Zvcm1hdCcsICdGb250JywgJ0ZvbnRTaXplJ10gfSxcbiAgICAgICAgeyBuYW1lOiAnY29sb3JzJywgaXRlbXM6IFsnVGV4dENvbG9yJywgJ0JHQ29sb3InXSB9LFxuICAgICAgXSxcbiAgICAgIGZpbGVicm93c2VySW1hZ2VVcGxvYWRVcmw6IHRoaXMuZmlsZUJyb3dzZXJJbWFnZVVwbG9hZFVybCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYmFzZUNvbmZpZywgdGhpcy5taW5pbWFsID8gbWluaW1hbENvbmZpZyA6IGV4dGVuZGVkQ29uZmlnKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICB0aGlzLmluc3RhbmNlLnNldERhdGEodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlKHZhbHVlPzogYW55KSB7fVxuXG4gIG9uVG91Y2hlZChldmVudD8pIHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuKSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgaWYgKHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgIENLRURJVE9SLmluc3RhbmNlc1t0aGlzLmluc3RhbmNlLm5hbWVdLnNldFJlYWRPbmx5KGRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICBpbnNlcnRUZXh0KHRleHQpIHtcbiAgICBjb25zdCB0cmltbWVkVGV4dCA9IHRleHQudHJpbSgpO1xuICAgIHRoaXMuaW5zdGFuY2UuaW5zZXJ0VGV4dCh0cmltbWVkVGV4dCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,129 @@
1
+ // NG2
2
+ import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, forwardRef } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ // Vendor
5
+ import { defaultKeymap } from '@codemirror/commands';
6
+ import { javascript } from '@codemirror/lang-javascript';
7
+ import { Annotation, EditorState } from '@codemirror/state';
8
+ import { EditorView, keymap } from '@codemirror/view';
9
+ import { basicSetup } from 'codemirror';
10
+ import * as i0 from "@angular/core";
11
+ // organize-imports-ignore
12
+ // APP
13
+ const CODE_EDITOR_VALUE_ACCESSOR = {
14
+ provide: NG_VALUE_ACCESSOR,
15
+ useExisting: forwardRef(() => NovoCodeEditor),
16
+ multi: true,
17
+ };
18
+ // CodeMirror transaction annotation to show changes that came in through writeValue (FormControl value) as opposed to UI editing
19
+ const FormControlCodeWriter = Annotation.define();
20
+ // (This is a replacement for the "novo-ace-editor". Notably, we are no longer naming it based on the underlying component. It is possible, in the future,
21
+ // we decide there is another code editing component that better fits our use case - in which situation we should replace the implementation here, but keep its name)
22
+ export class NovoCodeEditor {
23
+ constructor(elementRef) {
24
+ this.elementRef = elementRef;
25
+ this.theme = 'default';
26
+ this.lineNumbers = true;
27
+ this.blur = new EventEmitter();
28
+ this.focus = new EventEmitter();
29
+ this.changed = new EventEmitter();
30
+ this.mode = 'javascript';
31
+ this.initialValue = '';
32
+ this.disabled = false;
33
+ }
34
+ ngOnInit() {
35
+ }
36
+ ngOnDestroy() {
37
+ }
38
+ ngAfterViewInit() {
39
+ this.createEditorView();
40
+ }
41
+ createEditorView() {
42
+ const extensions = [
43
+ basicSetup,
44
+ keymap.of(defaultKeymap)
45
+ ];
46
+ if (this.mode === 'javascript') {
47
+ extensions.push(javascript());
48
+ }
49
+ const initialEditorState = EditorState.create({
50
+ doc: this.initialValue,
51
+ extensions,
52
+ });
53
+ this.editorView = new EditorView({
54
+ state: initialEditorState,
55
+ parent: this.elementRef.nativeElement,
56
+ dispatch: (transaction, view) => {
57
+ // Prevent changes if the form is disabled - unless the change came from writeValue function
58
+ if (transaction.annotation(FormControlCodeWriter) || !(this.disabled && transaction.docChanged)) {
59
+ view.update([transaction]);
60
+ }
61
+ if (transaction.docChanged) {
62
+ this.changed.emit(view.state.doc.toString());
63
+ }
64
+ }
65
+ });
66
+ }
67
+ onFocus() {
68
+ this.focus.emit();
69
+ }
70
+ onBlur() {
71
+ this.blur.emit();
72
+ }
73
+ // ControlValueAccessor forward implementation
74
+ writeValue(value) {
75
+ if (this.editorView) {
76
+ this.editorView.dispatch({
77
+ changes: {
78
+ from: 0,
79
+ to: this.editorView.state.doc.length,
80
+ insert: value,
81
+ },
82
+ annotations: FormControlCodeWriter.of({}),
83
+ });
84
+ }
85
+ else if (value != null) {
86
+ this.initialValue = value;
87
+ }
88
+ }
89
+ registerOnChange(fn) {
90
+ this.changed.subscribe(fn);
91
+ }
92
+ registerOnTouched(fn) {
93
+ this.blur.subscribe(fn);
94
+ }
95
+ setDisabledState(isDisabled) {
96
+ this.disabled = isDisabled;
97
+ }
98
+ }
99
+ NovoCodeEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
100
+ NovoCodeEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoCodeEditor, selector: "novo-code-editor", inputs: { theme: "theme", lineNumbers: "lineNumbers", name: "name", mode: "mode" }, outputs: { blur: "blur", focus: "focus" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.editor-disabled": "this.disabled" } }, providers: [CODE_EDITOR_VALUE_ACCESSOR], viewQueries: [{ propertyName: "editorRoot", first: true, predicate: ["editorRoot"], descendants: true }], ngImport: i0, template: '', isInline: true, styles: [":host{height:200px;display:block;overflow:auto}\n"] });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditor, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'novo-code-editor', template: '', providers: [CODE_EDITOR_VALUE_ACCESSOR], styles: [":host{height:200px;display:block;overflow:auto}\n"] }]
104
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { theme: [{
105
+ type: Input
106
+ }], lineNumbers: [{
107
+ type: Input
108
+ }], name: [{
109
+ type: Input
110
+ }], blur: [{
111
+ type: Output
112
+ }], focus: [{
113
+ type: Output
114
+ }], mode: [{
115
+ type: Input
116
+ }], editorRoot: [{
117
+ type: ViewChild,
118
+ args: ['editorRoot']
119
+ }], disabled: [{
120
+ type: HostBinding,
121
+ args: ['class.editor-disabled']
122
+ }], onFocus: [{
123
+ type: HostListener,
124
+ args: ['focus']
125
+ }], onBlur: [{
126
+ type: HostListener,
127
+ args: ['blur']
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZUVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2FkZG9ucy9jb2RlLWVkaXRvci9Db2RlRWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsU0FBUztBQUNULE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBRXhDLDBCQUEwQjtBQUUxQixNQUFNO0FBQ04sTUFBTSwwQkFBMEIsR0FBRztJQUNqQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQzdDLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLGlJQUFpSTtBQUNqSSxNQUFNLHFCQUFxQixHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUVsRCwwSkFBMEo7QUFDMUoscUtBQXFLO0FBT3JLLE1BQU0sT0FBTyxjQUFjO0lBNEJ6QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBMUIxQyxVQUFLLEdBQVcsU0FBUyxDQUFDO1FBRzFCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBTW5CLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5CLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXBDLFNBQUksR0FBVyxZQUFZLENBQUM7UUFNckMsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFHVixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBRW9CLENBQUM7SUFFOUMsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxVQUFVLEdBQUc7WUFDakIsVUFBVTtZQUNWLE1BQU0sQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQ3pCLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUMvQjtRQUNELE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUM1QyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDdEIsVUFBVTtTQUNYLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDL0IsS0FBSyxFQUFFLGtCQUFrQjtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO1lBQ3JDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDOUIsNEZBQTRGO2dCQUM1RixJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQy9GLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2lCQUM1QjtnQkFDRCxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQzlDO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBR0QsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsQ0FBQztvQkFDUCxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU07b0JBQ3BDLE1BQU0sRUFBRSxLQUFLO2lCQUNkO2dCQUNELFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQzFDLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7OzRHQXhHVSxjQUFjO2dHQUFkLGNBQWMsdVNBRmQsQ0FBQywwQkFBMEIsQ0FBQyxvSUFGN0IsRUFBRTs0RkFJRCxjQUFjO2tCQU4xQixTQUFTOytCQUNFLGtCQUFrQixZQUNsQixFQUFFLGFBRUQsQ0FBQywwQkFBMEIsQ0FBQztpR0FJdkMsS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxNQUFNO2dCQUdQLEtBQUs7c0JBREosTUFBTTtnQkFLRSxJQUFJO3NCQUFaLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFlBQVk7Z0JBT2YsUUFBUTtzQkFEZixXQUFXO3VCQUFDLHVCQUF1QjtnQkE0Q3BDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQU1yQixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5HMlxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vIFZlbmRvclxuaW1wb3J0IHsgZGVmYXVsdEtleW1hcCB9IGZyb20gJ0Bjb2RlbWlycm9yL2NvbW1hbmRzJztcbmltcG9ydCB7IGphdmFzY3JpcHQgfSBmcm9tICdAY29kZW1pcnJvci9sYW5nLWphdmFzY3JpcHQnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbiwgRWRpdG9yU3RhdGUgfSBmcm9tICdAY29kZW1pcnJvci9zdGF0ZSc7XG5pbXBvcnQgeyBFZGl0b3JWaWV3LCBrZXltYXAgfSBmcm9tICdAY29kZW1pcnJvci92aWV3JztcbmltcG9ydCB7IGJhc2ljU2V0dXAgfSBmcm9tICdjb2RlbWlycm9yJztcblxuLy8gb3JnYW5pemUtaW1wb3J0cy1pZ25vcmVcblxuLy8gQVBQXG5jb25zdCBDT0RFX0VESVRPUl9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5vdm9Db2RlRWRpdG9yKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG4vLyBDb2RlTWlycm9yIHRyYW5zYWN0aW9uIGFubm90YXRpb24gdG8gc2hvdyBjaGFuZ2VzIHRoYXQgY2FtZSBpbiB0aHJvdWdoIHdyaXRlVmFsdWUgKEZvcm1Db250cm9sIHZhbHVlKSBhcyBvcHBvc2VkIHRvIFVJIGVkaXRpbmdcbmNvbnN0IEZvcm1Db250cm9sQ29kZVdyaXRlciA9IEFubm90YXRpb24uZGVmaW5lKCk7XG5cbi8vIChUaGlzIGlzIGEgcmVwbGFjZW1lbnQgZm9yIHRoZSBcIm5vdm8tYWNlLWVkaXRvclwiLiBOb3RhYmx5LCB3ZSBhcmUgbm8gbG9uZ2VyIG5hbWluZyBpdCBiYXNlZCBvbiB0aGUgdW5kZXJseWluZyBjb21wb25lbnQuIEl0IGlzIHBvc3NpYmxlLCBpbiB0aGUgZnV0dXJlLFxuLy8gd2UgZGVjaWRlIHRoZXJlIGlzIGFub3RoZXIgY29kZSBlZGl0aW5nIGNvbXBvbmVudCB0aGF0IGJldHRlciBmaXRzIG91ciB1c2UgY2FzZSAtIGluIHdoaWNoIHNpdHVhdGlvbiB3ZSBzaG91bGQgcmVwbGFjZSB0aGUgaW1wbGVtZW50YXRpb24gaGVyZSwgYnV0IGtlZXAgaXRzIG5hbWUpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLWNvZGUtZWRpdG9yJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFsnLi9Db2RlRWRpdG9yLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbQ09ERV9FRElUT1JfVkFMVUVfQUNDRVNTT1JdXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9Db2RlRWRpdG9yIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KClcbiAgdGhlbWU6IHN0cmluZyA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKVxuICBsaW5lTnVtYmVycyA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJ2phdmFzY3JpcHQnO1xuXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvclJvb3QnKVxuICBlZGl0b3JSb290OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBlZGl0b3JWaWV3OiBFZGl0b3JWaWV3O1xuICBpbml0aWFsVmFsdWUgPSAnJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVkaXRvci1kaXNhYmxlZCcpXG4gIHByaXZhdGUgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUVkaXRvclZpZXcoKTtcbiAgfVxuXG4gIGNyZWF0ZUVkaXRvclZpZXcoKTogdm9pZCB7XG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IFtcbiAgICAgIGJhc2ljU2V0dXAsXG4gICAgICBrZXltYXAub2YoZGVmYXVsdEtleW1hcClcbiAgICBdO1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdqYXZhc2NyaXB0Jykge1xuICAgICAgZXh0ZW5zaW9ucy5wdXNoKGphdmFzY3JpcHQoKSk7XG4gICAgfVxuICAgIGNvbnN0IGluaXRpYWxFZGl0b3JTdGF0ZSA9IEVkaXRvclN0YXRlLmNyZWF0ZSh7XG4gICAgICBkb2M6IHRoaXMuaW5pdGlhbFZhbHVlLFxuICAgICAgZXh0ZW5zaW9ucyxcbiAgICB9KTtcbiAgICB0aGlzLmVkaXRvclZpZXcgPSBuZXcgRWRpdG9yVmlldyh7XG4gICAgICBzdGF0ZTogaW5pdGlhbEVkaXRvclN0YXRlLFxuICAgICAgcGFyZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgIGRpc3BhdGNoOiAodHJhbnNhY3Rpb24sIHZpZXcpID0+IHtcbiAgICAgICAgLy8gUHJldmVudCBjaGFuZ2VzIGlmIHRoZSBmb3JtIGlzIGRpc2FibGVkIC0gdW5sZXNzIHRoZSBjaGFuZ2UgY2FtZSBmcm9tIHdyaXRlVmFsdWUgZnVuY3Rpb25cbiAgICAgICAgaWYgKHRyYW5zYWN0aW9uLmFubm90YXRpb24oRm9ybUNvbnRyb2xDb2RlV3JpdGVyKSB8fCAhKHRoaXMuZGlzYWJsZWQgJiYgdHJhbnNhY3Rpb24uZG9jQ2hhbmdlZCkpIHtcbiAgICAgICAgICB2aWV3LnVwZGF0ZShbdHJhbnNhY3Rpb25dKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHJhbnNhY3Rpb24uZG9jQ2hhbmdlZCkge1xuICAgICAgICAgIHRoaXMuY2hhbmdlZC5lbWl0KHZpZXcuc3RhdGUuZG9jLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1cy5lbWl0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgb25CbHVyKCkge1xuICAgIHRoaXMuYmx1ci5lbWl0KCk7XG4gIH1cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBmb3J3YXJkIGltcGxlbWVudGF0aW9uXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLmVkaXRvclZpZXcpIHtcbiAgICAgIHRoaXMuZWRpdG9yVmlldy5kaXNwYXRjaCh7XG4gICAgICAgIGNoYW5nZXM6IHtcbiAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgIHRvOiB0aGlzLmVkaXRvclZpZXcuc3RhdGUuZG9jLmxlbmd0aCxcbiAgICAgICAgICBpbnNlcnQ6IHZhbHVlLFxuICAgICAgICB9LFxuICAgICAgICBhbm5vdGF0aW9uczogRm9ybUNvbnRyb2xDb2RlV3JpdGVyLm9mKHt9KSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5pbml0aWFsVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLmNoYW5nZWQuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLmJsdXIuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { NgModule } from "@angular/core";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { NovoCodeEditor } from "./CodeEditor";
5
+ import * as i0 from "@angular/core";
6
+ export class NovoCodeEditorModule {
7
+ }
8
+ NovoCodeEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ NovoCodeEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditorModule, declarations: [NovoCodeEditor], imports: [CommonModule, FormsModule], exports: [NovoCodeEditor] });
10
+ NovoCodeEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditorModule, imports: [[CommonModule, FormsModule]] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditorModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [CommonModule, FormsModule],
15
+ declarations: [NovoCodeEditor],
16
+ exports: [NovoCodeEditor]
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZUVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9hZGRvbnMvY29kZS1lZGl0b3IvQ29kZUVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBTzlDLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFIZCxjQUFjLGFBRG5CLFlBQVksRUFBRSxXQUFXLGFBRXpCLGNBQWM7bUhBRWYsb0JBQW9CLFlBSnBCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBRTs0RkFJNUIsb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUU7b0JBQ3JDLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBOb3ZvQ29kZUVkaXRvciB9IGZyb20gXCIuL0NvZGVFZGl0b3JcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSBdLFxuICAgIGRlY2xhcmF0aW9uczogW05vdm9Db2RlRWRpdG9yXSxcbiAgICBleHBvcnRzOiBbTm92b0NvZGVFZGl0b3JdXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9Db2RlRWRpdG9yTW9kdWxlIHt9Il19
@@ -0,0 +1,3 @@
1
+ export * from './CodeEditor';
2
+ export * from './CodeEditor.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9hZGRvbnMvY29kZS1lZGl0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQ29kZUVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL0NvZGVFZGl0b3IubW9kdWxlJztcblxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm92by1lbGVtZW50cy1hZGRvbnMtY29kZS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9hZGRvbnMvY29kZS1lZGl0b3Ivbm92by1lbGVtZW50cy1hZGRvbnMtY29kZS1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './ace-editor';
2
2
  export * from './ckeditor';
3
+ export * from './code-editor';
3
4
  export * from './dragula';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9hZGRvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjZS1lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9ja2VkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RyYWd1bGEnO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9hZGRvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjZS1lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9ja2VkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvZGUtZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZ3VsYSc7XG5cbiJdfQ==