@ember-eui/core 11.0.2 → 12.0.0

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 (544) hide show
  1. package/README.md +9 -7
  2. package/declarations/-private/random-id.d.ts +0 -1
  3. package/declarations/-private/random-id.d.ts.map +1 -1
  4. package/declarations/components/eui-accordion.d.ts +2 -1
  5. package/declarations/components/eui-accordion.d.ts.map +1 -1
  6. package/declarations/components/eui-breadcrumbs.d.ts +2 -1
  7. package/declarations/components/eui-breadcrumbs.d.ts.map +1 -1
  8. package/declarations/components/eui-code-block/virtualized.d.ts +1 -1
  9. package/declarations/components/eui-code-block.d.ts +2 -1
  10. package/declarations/components/eui-code-block.d.ts.map +1 -1
  11. package/declarations/components/eui-code.d.ts +2 -1
  12. package/declarations/components/eui-code.d.ts.map +1 -1
  13. package/declarations/components/eui-combo-box/options.d.ts +1 -1
  14. package/declarations/components/eui-combo-box/options.d.ts.map +1 -1
  15. package/declarations/components/eui-combo-box/trigger/input.d.ts +1 -1
  16. package/declarations/components/eui-combo-box/trigger/input.d.ts.map +1 -1
  17. package/declarations/components/eui-form-control-layout-custom-icon.d.ts +1 -1
  18. package/declarations/components/eui-global-toast-list.d.ts +2 -1
  19. package/declarations/components/eui-global-toast-list.d.ts.map +1 -1
  20. package/declarations/components/eui-hide-for.d.ts.map +1 -1
  21. package/declarations/components/eui-i18n.d.ts +1 -1
  22. package/declarations/components/eui-icon.d.ts +1 -0
  23. package/declarations/components/eui-icon.d.ts.map +1 -1
  24. package/declarations/components/eui-markdown-editor-toolbar.d.ts +4 -3
  25. package/declarations/components/eui-markdown-editor-toolbar.d.ts.map +1 -1
  26. package/declarations/components/eui-markdown-editor.d.ts +8 -3
  27. package/declarations/components/eui-markdown-editor.d.ts.map +1 -1
  28. package/declarations/components/eui-page-header-content.d.ts +1 -1
  29. package/declarations/components/eui-popover.d.ts +2 -1
  30. package/declarations/components/eui-popover.d.ts.map +1 -1
  31. package/declarations/components/eui-portal.d.ts +2 -1
  32. package/declarations/components/eui-portal.d.ts.map +1 -1
  33. package/declarations/components/eui-range-track.d.ts +1 -1
  34. package/declarations/components/eui-show-for.d.ts +1 -1
  35. package/declarations/components/eui-show-for.d.ts.map +1 -1
  36. package/declarations/components/eui-super-date-picker/date-popover/absolute-tab.d.ts +2 -1
  37. package/declarations/components/eui-super-date-picker/date-popover/absolute-tab.d.ts.map +1 -1
  38. package/declarations/components/eui-super-date-picker/date-popover/datetime-picker.d.ts +2 -1
  39. package/declarations/components/eui-super-date-picker/date-popover/datetime-picker.d.ts.map +1 -1
  40. package/declarations/components/eui-super-date-picker/date-popover/eui-date-popover-content.d.ts +1 -1
  41. package/declarations/components/eui-super-date-picker/date-popover/relative-tab.d.ts +2 -1
  42. package/declarations/components/eui-super-date-picker/date-popover/relative-tab.d.ts.map +1 -1
  43. package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.d.ts +2 -1
  44. package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.d.ts.map +1 -1
  45. package/declarations/components/eui-tabbed-content.d.ts +2 -1
  46. package/declarations/components/eui-tabbed-content.d.ts.map +1 -1
  47. package/declarations/components/eui-tool-tip-popover.d.ts +2 -1
  48. package/declarations/components/eui-tool-tip-popover.d.ts.map +1 -1
  49. package/declarations/components.d.ts +148 -148
  50. package/declarations/helpers/arg-or-default.d.ts +1 -1
  51. package/declarations/helpers/eui-page-restrict-width.d.ts +1 -1
  52. package/declarations/helpers/eui-palette.d.ts +1 -1
  53. package/declarations/helpers/get-range-tick.d.ts +2 -2
  54. package/declarations/helpers/hex-to-rgb.d.ts +1 -1
  55. package/declarations/helpers/is-color-dark.d.ts +1 -1
  56. package/declarations/helpers/is-item-open.d.ts +1 -1
  57. package/declarations/helpers/is-valid-hex.d.ts +1 -1
  58. package/declarations/helpers/nullish.d.ts +1 -1
  59. package/declarations/helpers/starts-with.d.ts +1 -1
  60. package/declarations/helpers/to-initials.d.ts +1 -1
  61. package/declarations/helpers/type-of.d.ts +3 -3
  62. package/declarations/helpers/type-of.d.ts.map +1 -1
  63. package/declarations/helpers/use-state.d.ts +1 -1
  64. package/declarations/modifiers/screen-reader-only.d.ts +1 -1
  65. package/declarations/modifiers/simple-style.d.ts +1 -1
  66. package/declarations/modifiers/validatable-control.d.ts +1 -1
  67. package/declarations/utils/markdown/markdown-actions.d.ts +1 -1
  68. package/declarations/utils/markdown/markdown-modes.d.ts.map +1 -1
  69. package/declarations/utils/markdown/markdown-types.d.ts +1 -1
  70. package/declarations/utils/markdown/markdown-types.d.ts.map +1 -1
  71. package/dist/-private/random-id.js.map +1 -1
  72. package/dist/components/common.js.map +1 -1
  73. package/dist/components/eui-accordion.js +14 -14
  74. package/dist/components/eui-accordion.js.map +1 -1
  75. package/dist/components/eui-auto-sizer.js +31 -31
  76. package/dist/components/eui-auto-sizer.js.map +1 -1
  77. package/dist/components/eui-avatar.js +2 -2
  78. package/dist/components/eui-avatar.js.map +1 -1
  79. package/dist/components/eui-badge-group.js.map +1 -1
  80. package/dist/components/eui-badge.js +1 -1
  81. package/dist/components/eui-badge.js.map +1 -1
  82. package/dist/components/eui-beta-badge.js +1 -1
  83. package/dist/components/eui-beta-badge.js.map +1 -1
  84. package/dist/components/eui-bottom-bar.js +13 -13
  85. package/dist/components/eui-bottom-bar.js.map +1 -1
  86. package/dist/components/eui-breadcrumbs.js +40 -42
  87. package/dist/components/eui-breadcrumbs.js.map +1 -1
  88. package/dist/components/eui-button-content.js.map +1 -1
  89. package/dist/components/eui-button-empty.js +1 -1
  90. package/dist/components/eui-button-empty.js.map +1 -1
  91. package/dist/components/eui-button-group-button.js +1 -1
  92. package/dist/components/eui-button-group-button.js.map +1 -1
  93. package/dist/components/eui-button-group.js +1 -1
  94. package/dist/components/eui-button-group.js.map +1 -1
  95. package/dist/components/eui-button-icon.js +1 -1
  96. package/dist/components/eui-button-icon.js.map +1 -1
  97. package/dist/components/eui-button.js +2 -2
  98. package/dist/components/eui-button.js.map +1 -1
  99. package/dist/components/eui-call-out.js +1 -1
  100. package/dist/components/eui-call-out.js.map +1 -1
  101. package/dist/components/eui-card-select.js +8 -8
  102. package/dist/components/eui-card-select.js.map +1 -1
  103. package/dist/components/eui-card.js +6 -6
  104. package/dist/components/eui-card.js.map +1 -1
  105. package/dist/components/eui-checkable-card.js.map +1 -1
  106. package/dist/components/eui-checkbox-group.js +1 -1
  107. package/dist/components/eui-checkbox-group.js.map +1 -1
  108. package/dist/components/eui-checkbox.js +4 -4
  109. package/dist/components/eui-checkbox.js.map +1 -1
  110. package/dist/components/eui-code-block/controls.js.map +1 -1
  111. package/dist/components/eui-code-block/full-screen-display.js.map +1 -1
  112. package/dist/components/eui-code-block/virtualized.js +9 -9
  113. package/dist/components/eui-code-block/virtualized.js.map +1 -1
  114. package/dist/components/eui-code-block.js +71 -71
  115. package/dist/components/eui-code-block.js.map +1 -1
  116. package/dist/components/eui-code.js +16 -16
  117. package/dist/components/eui-code.js.map +1 -1
  118. package/dist/components/eui-collapsible-nav-group.js +1 -1
  119. package/dist/components/eui-collapsible-nav-group.js.map +1 -1
  120. package/dist/components/eui-collapsible-nav.js +21 -22
  121. package/dist/components/eui-collapsible-nav.js.map +1 -1
  122. package/dist/components/eui-combo-box/create-option.js +9 -9
  123. package/dist/components/eui-combo-box/create-option.js.map +1 -1
  124. package/dist/components/eui-combo-box/group.js.map +1 -1
  125. package/dist/components/eui-combo-box/no-matches-message.js.map +1 -1
  126. package/dist/components/eui-combo-box/options.js +32 -16
  127. package/dist/components/eui-combo-box/options.js.map +1 -1
  128. package/dist/components/eui-combo-box/search-message.js.map +1 -1
  129. package/dist/components/eui-combo-box/trigger/input.js +20 -19
  130. package/dist/components/eui-combo-box/trigger/input.js.map +1 -1
  131. package/dist/components/eui-combo-box/trigger.js +2 -2
  132. package/dist/components/eui-combo-box/trigger.js.map +1 -1
  133. package/dist/components/eui-combo-box-pill.js +1 -1
  134. package/dist/components/eui-combo-box-pill.js.map +1 -1
  135. package/dist/components/eui-combo-box.js +58 -60
  136. package/dist/components/eui-combo-box.js.map +1 -1
  137. package/dist/components/eui-comment-list.js.map +1 -1
  138. package/dist/components/eui-comment-timeline.js +1 -1
  139. package/dist/components/eui-comment-timeline.js.map +1 -1
  140. package/dist/components/eui-comment.js +1 -1
  141. package/dist/components/eui-comment.js.map +1 -1
  142. package/dist/components/eui-confirm-modal.js.map +1 -1
  143. package/dist/components/eui-context-menu-item.js +4 -4
  144. package/dist/components/eui-context-menu-item.js.map +1 -1
  145. package/dist/components/eui-context-menu-panel.js.map +1 -1
  146. package/dist/components/eui-copy.js +3 -3
  147. package/dist/components/eui-copy.js.map +1 -1
  148. package/dist/components/eui-described-form-group.js.map +1 -1
  149. package/dist/components/eui-description-list-description.js.map +1 -1
  150. package/dist/components/eui-description-list-title.js.map +1 -1
  151. package/dist/components/eui-description-list.js.map +1 -1
  152. package/dist/components/eui-dual-range.js +110 -110
  153. package/dist/components/eui-dual-range.js.map +1 -1
  154. package/dist/components/eui-empty-prompt.js +1 -1
  155. package/dist/components/eui-empty-prompt.js.map +1 -1
  156. package/dist/components/eui-field-number.js +1 -1
  157. package/dist/components/eui-field-number.js.map +1 -1
  158. package/dist/components/eui-field-password.js +1 -1
  159. package/dist/components/eui-field-password.js.map +1 -1
  160. package/dist/components/eui-field-search.js +26 -26
  161. package/dist/components/eui-field-search.js.map +1 -1
  162. package/dist/components/eui-field-text.js +1 -1
  163. package/dist/components/eui-field-text.js.map +1 -1
  164. package/dist/components/eui-file-picker.js +16 -16
  165. package/dist/components/eui-file-picker.js.map +1 -1
  166. package/dist/components/eui-flex-grid.js.map +1 -1
  167. package/dist/components/eui-flex-group.js.map +1 -1
  168. package/dist/components/eui-flex-item.js.map +1 -1
  169. package/dist/components/eui-flyout-body.js.map +1 -1
  170. package/dist/components/eui-flyout-footer.js.map +1 -1
  171. package/dist/components/eui-flyout-header.js.map +1 -1
  172. package/dist/components/eui-flyout.js +35 -36
  173. package/dist/components/eui-flyout.js.map +1 -1
  174. package/dist/components/eui-form-control-layout-clear-button.js.map +1 -1
  175. package/dist/components/eui-form-control-layout-custom-icon.js.map +1 -1
  176. package/dist/components/eui-form-control-layout-delimited.js +1 -1
  177. package/dist/components/eui-form-control-layout-delimited.js.map +1 -1
  178. package/dist/components/eui-form-control-layout-icons.js +1 -1
  179. package/dist/components/eui-form-control-layout-icons.js.map +1 -1
  180. package/dist/components/eui-form-control-layout.js +1 -1
  181. package/dist/components/eui-form-control-layout.js.map +1 -1
  182. package/dist/components/eui-form-error-text.js.map +1 -1
  183. package/dist/components/eui-form-fieldset.js.map +1 -1
  184. package/dist/components/eui-form-help-text.js.map +1 -1
  185. package/dist/components/eui-form-label.js.map +1 -1
  186. package/dist/components/eui-form-legend.js.map +1 -1
  187. package/dist/components/eui-form-row.js +4 -4
  188. package/dist/components/eui-form-row.js.map +1 -1
  189. package/dist/components/eui-form.js +1 -1
  190. package/dist/components/eui-form.js.map +1 -1
  191. package/dist/components/eui-global-toast-list.js +43 -43
  192. package/dist/components/eui-global-toast-list.js.map +1 -1
  193. package/dist/components/eui-header-alert.js.map +1 -1
  194. package/dist/components/eui-header-breadcrumbs.js.map +1 -1
  195. package/dist/components/eui-header-link.js.map +1 -1
  196. package/dist/components/eui-header-links.js +1 -1
  197. package/dist/components/eui-header-links.js.map +1 -1
  198. package/dist/components/eui-header-logo.js.map +1 -1
  199. package/dist/components/eui-header-section-item-button.js +6 -6
  200. package/dist/components/eui-header-section-item-button.js.map +1 -1
  201. package/dist/components/eui-header-section-item.js.map +1 -1
  202. package/dist/components/eui-header-section.js.map +1 -1
  203. package/dist/components/eui-header.js +2 -2
  204. package/dist/components/eui-header.js.map +1 -1
  205. package/dist/components/eui-health.js.map +1 -1
  206. package/dist/components/eui-hide-for.js.map +1 -1
  207. package/dist/components/eui-horizontal-rule.js.map +1 -1
  208. package/dist/components/eui-i18n/render.js.map +1 -1
  209. package/dist/components/eui-i18n.js +3 -3
  210. package/dist/components/eui-i18n.js.map +1 -1
  211. package/dist/components/eui-icon-tip.js.map +1 -1
  212. package/dist/components/eui-icon.js +43 -37
  213. package/dist/components/eui-icon.js.map +1 -1
  214. package/dist/components/eui-image.js +8 -8
  215. package/dist/components/eui-image.js.map +1 -1
  216. package/dist/components/eui-inner-text.js +11 -11
  217. package/dist/components/eui-inner-text.js.map +1 -1
  218. package/dist/components/eui-input-popover.js +32 -32
  219. package/dist/components/eui-input-popover.js.map +1 -1
  220. package/dist/components/eui-key-pad-menu-item.js +3 -3
  221. package/dist/components/eui-key-pad-menu-item.js.map +1 -1
  222. package/dist/components/eui-key-pad-menu.js.map +1 -1
  223. package/dist/components/eui-link.js +1 -1
  224. package/dist/components/eui-link.js.map +1 -1
  225. package/dist/components/eui-list-group-item.js +4 -1
  226. package/dist/components/eui-list-group-item.js.map +1 -1
  227. package/dist/components/eui-list-group.js +1 -1
  228. package/dist/components/eui-list-group.js.map +1 -1
  229. package/dist/components/eui-loading-content.js +1 -1
  230. package/dist/components/eui-loading-content.js.map +1 -1
  231. package/dist/components/eui-loading-logo.js.map +1 -1
  232. package/dist/components/eui-loading-spinner.js.map +1 -1
  233. package/dist/components/eui-markdown-editor-drop-zone.js.map +1 -1
  234. package/dist/components/eui-markdown-editor-footer/icons/markdown-logo.js.map +1 -1
  235. package/dist/components/eui-markdown-editor-footer.js +3 -3
  236. package/dist/components/eui-markdown-editor-footer.js.map +1 -1
  237. package/dist/components/eui-markdown-editor-text-area.js.map +1 -1
  238. package/dist/components/eui-markdown-editor-toolbar/icons/markdown-checkmark.js.map +1 -1
  239. package/dist/components/eui-markdown-editor-toolbar.js +9 -11
  240. package/dist/components/eui-markdown-editor-toolbar.js.map +1 -1
  241. package/dist/components/eui-markdown-editor.js +147 -96
  242. package/dist/components/eui-markdown-editor.js.map +1 -1
  243. package/dist/components/eui-markdown-format/markdown-checkbox.js +7 -7
  244. package/dist/components/eui-markdown-format/markdown-checkbox.js.map +1 -1
  245. package/dist/components/eui-markdown-format/markdown-code-block.js.map +1 -1
  246. package/dist/components/eui-markdown-format/markdown-code.js.map +1 -1
  247. package/dist/components/eui-markdown-format/markdown-tooltip.js.map +1 -1
  248. package/dist/components/eui-markdown-format.js +14 -16
  249. package/dist/components/eui-markdown-format.js.map +1 -1
  250. package/dist/components/eui-modal-body.js.map +1 -1
  251. package/dist/components/eui-modal-footer.js.map +1 -1
  252. package/dist/components/eui-modal-header-title.js.map +1 -1
  253. package/dist/components/eui-modal-header.js.map +1 -1
  254. package/dist/components/eui-modal.js +1 -1
  255. package/dist/components/eui-modal.js.map +1 -1
  256. package/dist/components/eui-notification-badge.js.map +1 -1
  257. package/dist/components/eui-notification-event-messages.js.map +1 -1
  258. package/dist/components/eui-notification-event-meta.js +1 -1
  259. package/dist/components/eui-notification-event-meta.js.map +1 -1
  260. package/dist/components/eui-notification-event-read-button.js.map +1 -1
  261. package/dist/components/eui-notification-event-read-icon.js.map +1 -1
  262. package/dist/components/eui-notification-event.js +1 -1
  263. package/dist/components/eui-notification-event.js.map +1 -1
  264. package/dist/components/eui-overlay-mask.js +6 -6
  265. package/dist/components/eui-overlay-mask.js.map +1 -1
  266. package/dist/components/eui-page-body.js.map +1 -1
  267. package/dist/components/eui-page-content-body.js.map +1 -1
  268. package/dist/components/eui-page-content-header-section.js.map +1 -1
  269. package/dist/components/eui-page-content-header.js.map +1 -1
  270. package/dist/components/eui-page-content.js.map +1 -1
  271. package/dist/components/eui-page-header-content.js +4 -4
  272. package/dist/components/eui-page-header-content.js.map +1 -1
  273. package/dist/components/eui-page-header-section.js.map +1 -1
  274. package/dist/components/eui-page-header.js +1 -1
  275. package/dist/components/eui-page-header.js.map +1 -1
  276. package/dist/components/eui-page-side-bar.js.map +1 -1
  277. package/dist/components/eui-page-template.js +12 -12
  278. package/dist/components/eui-page-template.js.map +1 -1
  279. package/dist/components/eui-page.js.map +1 -1
  280. package/dist/components/eui-pagination/button-wrapper.js.map +1 -1
  281. package/dist/components/eui-pagination/next-button.js +1 -1
  282. package/dist/components/eui-pagination/next-button.js.map +1 -1
  283. package/dist/components/eui-pagination/previous-button.js +1 -1
  284. package/dist/components/eui-pagination/previous-button.js.map +1 -1
  285. package/dist/components/eui-pagination-button.js.map +1 -1
  286. package/dist/components/eui-pagination.js +39 -39
  287. package/dist/components/eui-pagination.js.map +1 -1
  288. package/dist/components/eui-panel.js +1 -1
  289. package/dist/components/eui-panel.js.map +1 -1
  290. package/dist/components/eui-popover-footer.js.map +1 -1
  291. package/dist/components/eui-popover-title.js.map +1 -1
  292. package/dist/components/eui-popover.js +126 -126
  293. package/dist/components/eui-popover.js.map +1 -1
  294. package/dist/components/eui-portal.js +8 -8
  295. package/dist/components/eui-portal.js.map +1 -1
  296. package/dist/components/eui-progress.js +1 -1
  297. package/dist/components/eui-progress.js.map +1 -1
  298. package/dist/components/eui-radio-group.js +2 -2
  299. package/dist/components/eui-radio-group.js.map +1 -1
  300. package/dist/components/eui-radio.js +1 -1
  301. package/dist/components/eui-radio.js.map +1 -1
  302. package/dist/components/eui-range-highlight.js.map +1 -1
  303. package/dist/components/eui-range-input.js +1 -1
  304. package/dist/components/eui-range-input.js.map +1 -1
  305. package/dist/components/eui-range-label.js.map +1 -1
  306. package/dist/components/eui-range-levels.js +7 -7
  307. package/dist/components/eui-range-levels.js.map +1 -1
  308. package/dist/components/eui-range-slider.js.map +1 -1
  309. package/dist/components/eui-range-thumb.js.map +1 -1
  310. package/dist/components/eui-range-ticks.js +6 -6
  311. package/dist/components/eui-range-ticks.js.map +1 -1
  312. package/dist/components/eui-range-tooltip.js +20 -20
  313. package/dist/components/eui-range-tooltip.js.map +1 -1
  314. package/dist/components/eui-range-track.js +49 -49
  315. package/dist/components/eui-range-track.js.map +1 -1
  316. package/dist/components/eui-range-wrapper.js.map +1 -1
  317. package/dist/components/eui-range.js +26 -26
  318. package/dist/components/eui-range.js.map +1 -1
  319. package/dist/components/eui-select.js +1 -1
  320. package/dist/components/eui-select.js.map +1 -1
  321. package/dist/components/eui-selectable-list-item.js +1 -1
  322. package/dist/components/eui-selectable-list-item.js.map +1 -1
  323. package/dist/components/eui-show-for.js +8 -8
  324. package/dist/components/eui-show-for.js.map +1 -1
  325. package/dist/components/eui-side-nav-item/button.js.map +1 -1
  326. package/dist/components/eui-side-nav-item.js +1 -1
  327. package/dist/components/eui-side-nav-item.js.map +1 -1
  328. package/dist/components/eui-side-nav.js +4 -4
  329. package/dist/components/eui-side-nav.js.map +1 -1
  330. package/dist/components/eui-spacer.js.map +1 -1
  331. package/dist/components/eui-split-panel/inner.js.map +1 -1
  332. package/dist/components/eui-split-panel/outer.js +1 -1
  333. package/dist/components/eui-split-panel/outer.js.map +1 -1
  334. package/dist/components/eui-stat/description.js +1 -0
  335. package/dist/components/eui-stat/description.js.map +1 -1
  336. package/dist/components/eui-stat/title.js.map +1 -1
  337. package/dist/components/eui-stat.js +5 -5
  338. package/dist/components/eui-stat.js.map +1 -1
  339. package/dist/components/eui-step-horizontal.js.map +1 -1
  340. package/dist/components/eui-step-number.js +1 -1
  341. package/dist/components/eui-step-number.js.map +1 -1
  342. package/dist/components/eui-step.js.map +1 -1
  343. package/dist/components/eui-steps-horizontal.js.map +1 -1
  344. package/dist/components/eui-steps.js.map +1 -1
  345. package/dist/components/eui-sub-steps.js.map +1 -1
  346. package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js +27 -27
  347. package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js.map +1 -1
  348. package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js +73 -73
  349. package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js.map +1 -1
  350. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js +6 -6
  351. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js.map +1 -1
  352. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js +5 -5
  353. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js.map +1 -1
  354. package/dist/components/eui-super-date-picker/date-popover/now-tab.js.map +1 -1
  355. package/dist/components/eui-super-date-picker/date-popover/relative-tab.js +27 -27
  356. package/dist/components/eui-super-date-picker/date-popover/relative-tab.js.map +1 -1
  357. package/dist/components/eui-super-date-picker/eui-date-picker-range.js.map +1 -1
  358. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-commonly-used-time-ranges.js +1 -1
  359. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-commonly-used-time-ranges.js.map +1 -1
  360. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js +25 -25
  361. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js.map +1 -1
  362. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-recently-used.js +1 -1
  363. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-recently-used.js.map +1 -1
  364. package/dist/components/eui-super-date-picker/eui-quick-select-popover.js +9 -9
  365. package/dist/components/eui-super-date-picker/eui-quick-select-popover.js.map +1 -1
  366. package/dist/components/eui-super-date-picker/eui-super-update-button.js.map +1 -1
  367. package/dist/components/eui-super-date-picker/utils/date-utils.js.map +1 -1
  368. package/dist/components/eui-super-date-picker/utils/index.js.map +1 -1
  369. package/dist/components/eui-super-date-picker/utils/pretty-duration.js.map +1 -1
  370. package/dist/components/eui-super-date-picker/utils/quick-select.js +1 -1
  371. package/dist/components/eui-super-date-picker/utils/quick-select.js.map +1 -1
  372. package/dist/components/eui-super-date-picker/utils/time-options.js.map +1 -1
  373. package/dist/components/eui-super-date-picker.js +34 -34
  374. package/dist/components/eui-super-date-picker.js.map +1 -1
  375. package/dist/components/eui-switch.js +4 -4
  376. package/dist/components/eui-switch.js.map +1 -1
  377. package/dist/components/eui-tab.js +1 -1
  378. package/dist/components/eui-tab.js.map +1 -1
  379. package/dist/components/eui-tabbed-content.js +31 -31
  380. package/dist/components/eui-tabbed-content.js.map +1 -1
  381. package/dist/components/eui-tabs.js.map +1 -1
  382. package/dist/components/eui-text-align.js.map +1 -1
  383. package/dist/components/eui-text-area.js.map +1 -1
  384. package/dist/components/eui-text-color.js.map +1 -1
  385. package/dist/components/eui-text.js +1 -1
  386. package/dist/components/eui-text.js.map +1 -1
  387. package/dist/components/eui-title.js.map +1 -1
  388. package/dist/components/eui-toast.js.map +1 -1
  389. package/dist/components/eui-tool-tip-popover.js +5 -5
  390. package/dist/components/eui-tool-tip-popover.js.map +1 -1
  391. package/dist/components/eui-tool-tip.js +44 -46
  392. package/dist/components/eui-tool-tip.js.map +1 -1
  393. package/dist/components/text-block.js.map +1 -1
  394. package/dist/helpers/arg-or-default.js.map +1 -1
  395. package/dist/helpers/cast-to.js.map +1 -1
  396. package/dist/helpers/class-names.js.map +1 -1
  397. package/dist/helpers/eui-page-restrict-width.js.map +1 -1
  398. package/dist/helpers/eui-palette.js +1 -1
  399. package/dist/helpers/eui-palette.js.map +1 -1
  400. package/dist/helpers/get-eui-config.js +1 -1
  401. package/dist/helpers/get-eui-config.js.map +1 -1
  402. package/dist/helpers/get-range-tick.js.map +1 -1
  403. package/dist/helpers/hex-to-rgb.js.map +1 -1
  404. package/dist/helpers/inline-styles.js.map +1 -1
  405. package/dist/helpers/is-color-dark.js.map +1 -1
  406. package/dist/helpers/is-item-open.js.map +1 -1
  407. package/dist/helpers/is-valid-hex.js.map +1 -1
  408. package/dist/helpers/is-within-number.js.map +1 -1
  409. package/dist/helpers/merge.js.map +1 -1
  410. package/dist/helpers/nullish.js.map +1 -1
  411. package/dist/helpers/starts-with.js.map +1 -1
  412. package/dist/helpers/to-initials.js.map +1 -1
  413. package/dist/helpers/type-of.js.map +1 -1
  414. package/dist/helpers/use-state.js +1 -1
  415. package/dist/helpers/use-state.js.map +1 -1
  416. package/dist/i18n/util.js.map +1 -1
  417. package/dist/modifiers/mutation-observer.js.map +1 -1
  418. package/dist/modifiers/outside-click-detector.js +4 -0
  419. package/dist/modifiers/outside-click-detector.js.map +1 -1
  420. package/dist/modifiers/resize-observer.js +3 -0
  421. package/dist/modifiers/resize-observer.js.map +1 -1
  422. package/dist/modifiers/screen-reader-only.js.map +1 -1
  423. package/dist/modifiers/simple-style.js.map +1 -1
  424. package/dist/modifiers/use-is-within-breakpoints.js.map +1 -1
  425. package/dist/modifiers/validatable-control.js.map +1 -1
  426. package/dist/services/eui-config.js +1 -1
  427. package/dist/services/eui-config.js.map +1 -1
  428. package/dist/services/eui-i18n.js.map +1 -1
  429. package/dist/services/eui-toaster.js +1 -1
  430. package/dist/services/eui-toaster.js.map +1 -1
  431. package/dist/utils/accesibility/accessible-click-keys.js +1 -1
  432. package/dist/utils/accesibility/accessible-click-keys.js.map +1 -1
  433. package/dist/utils/accesibility/cascading-menu-keys.js +1 -1
  434. package/dist/utils/accesibility/cascading-menu-keys.js.map +1 -1
  435. package/dist/utils/accesibility/combo-box-keys.js +1 -1
  436. package/dist/utils/accesibility/combo-box-keys.js.map +1 -1
  437. package/dist/utils/breakpoint.js.map +1 -1
  438. package/dist/utils/browser/browser.js.map +1 -1
  439. package/dist/utils/code/utils.js.map +1 -1
  440. package/dist/utils/color/color_palette.js.map +1 -1
  441. package/dist/utils/color/eui_palettes.js.map +1 -1
  442. package/dist/utils/copy-to-clipboard.js.map +1 -1
  443. package/dist/utils/css-mappings/eui-accordion.js.map +1 -1
  444. package/dist/utils/css-mappings/eui-avatar.js +1 -1
  445. package/dist/utils/css-mappings/eui-avatar.js.map +1 -1
  446. package/dist/utils/css-mappings/eui-badge-group.js.map +1 -1
  447. package/dist/utils/css-mappings/eui-badge.js.map +1 -1
  448. package/dist/utils/css-mappings/eui-beta-badge.js.map +1 -1
  449. package/dist/utils/css-mappings/eui-bottom-bar.js.map +1 -1
  450. package/dist/utils/css-mappings/eui-button-empty.js.map +1 -1
  451. package/dist/utils/css-mappings/eui-button-group-button.js.map +1 -1
  452. package/dist/utils/css-mappings/eui-button-group.js.map +1 -1
  453. package/dist/utils/css-mappings/eui-button-icon.js.map +1 -1
  454. package/dist/utils/css-mappings/eui-button.js.map +1 -1
  455. package/dist/utils/css-mappings/eui-call-out.js.map +1 -1
  456. package/dist/utils/css-mappings/eui-card-select.js.map +1 -1
  457. package/dist/utils/css-mappings/eui-card.js.map +1 -1
  458. package/dist/utils/css-mappings/eui-code-block.js.map +1 -1
  459. package/dist/utils/css-mappings/eui-collapsible-nav-group.js.map +1 -1
  460. package/dist/utils/css-mappings/eui-comment-event.js.map +1 -1
  461. package/dist/utils/css-mappings/eui-comment-timeline-icon.js.map +1 -1
  462. package/dist/utils/css-mappings/eui-context-menu-item.js.map +1 -1
  463. package/dist/utils/css-mappings/eui-described-form-group.js.map +1 -1
  464. package/dist/utils/css-mappings/eui-description-list.js.map +1 -1
  465. package/dist/utils/css-mappings/eui-empty-prompt.js.map +1 -1
  466. package/dist/utils/css-mappings/eui-file-picker.js.map +1 -1
  467. package/dist/utils/css-mappings/eui-flex-grid.js.map +1 -1
  468. package/dist/utils/css-mappings/eui-flex-group.js.map +1 -1
  469. package/dist/utils/css-mappings/eui-flex-item.js.map +1 -1
  470. package/dist/utils/css-mappings/eui-flyout.js.map +1 -1
  471. package/dist/utils/css-mappings/eui-form-control-layout-clear-button.js.map +1 -1
  472. package/dist/utils/css-mappings/eui-form-row.js.map +1 -1
  473. package/dist/utils/css-mappings/eui-global-toast-list.js.map +1 -1
  474. package/dist/utils/css-mappings/eui-header-links.js.map +1 -1
  475. package/dist/utils/css-mappings/eui-header-section-item.js.map +1 -1
  476. package/dist/utils/css-mappings/eui-header-section.js.map +1 -1
  477. package/dist/utils/css-mappings/eui-header.js.map +1 -1
  478. package/dist/utils/css-mappings/eui-health.js.map +1 -1
  479. package/dist/utils/css-mappings/eui-horizontal-rule.js.map +1 -1
  480. package/dist/utils/css-mappings/eui-icon.js.map +1 -1
  481. package/dist/utils/css-mappings/eui-image.js.map +1 -1
  482. package/dist/utils/css-mappings/eui-link.js.map +1 -1
  483. package/dist/utils/css-mappings/eui-list-group-item.js.map +1 -1
  484. package/dist/utils/css-mappings/eui-list-group.js.map +1 -1
  485. package/dist/utils/css-mappings/eui-loading-spinner.js.map +1 -1
  486. package/dist/utils/css-mappings/eui-modal.js.map +1 -1
  487. package/dist/utils/css-mappings/eui-notification-badge.js.map +1 -1
  488. package/dist/utils/css-mappings/eui-page-body.js.map +1 -1
  489. package/dist/utils/css-mappings/eui-page-content-body.js.map +1 -1
  490. package/dist/utils/css-mappings/eui-page-content.js.map +1 -1
  491. package/dist/utils/css-mappings/eui-page-header.js.map +1 -1
  492. package/dist/utils/css-mappings/eui-page-side-bar.js.map +1 -1
  493. package/dist/utils/css-mappings/eui-page.js.map +1 -1
  494. package/dist/utils/css-mappings/eui-panel.js.map +1 -1
  495. package/dist/utils/css-mappings/eui-popover-footer.js.map +1 -1
  496. package/dist/utils/css-mappings/eui-popover-title.js.map +1 -1
  497. package/dist/utils/css-mappings/eui-popover.js.map +1 -1
  498. package/dist/utils/css-mappings/eui-progress-data.js.map +1 -1
  499. package/dist/utils/css-mappings/eui-progress.js.map +1 -1
  500. package/dist/utils/css-mappings/eui-range-highlight.js.map +1 -1
  501. package/dist/utils/css-mappings/eui-range-input.js.map +1 -1
  502. package/dist/utils/css-mappings/eui-range-levels.js.map +1 -1
  503. package/dist/utils/css-mappings/eui-selectable-list-item.js.map +1 -1
  504. package/dist/utils/css-mappings/eui-spacer.js.map +1 -1
  505. package/dist/utils/css-mappings/eui-stat.js.map +1 -1
  506. package/dist/utils/css-mappings/eui-step-number.js.map +1 -1
  507. package/dist/utils/css-mappings/eui-tabs.js.map +1 -1
  508. package/dist/utils/css-mappings/eui-text-align.js.map +1 -1
  509. package/dist/utils/css-mappings/eui-text-area.js.map +1 -1
  510. package/dist/utils/css-mappings/eui-text-color.js.map +1 -1
  511. package/dist/utils/css-mappings/eui-text.js.map +1 -1
  512. package/dist/utils/css-mappings/eui-title.js.map +1 -1
  513. package/dist/utils/css-mappings/eui-toast.js.map +1 -1
  514. package/dist/utils/css-mappings/eui-tool-tip.js.map +1 -1
  515. package/dist/utils/css-mappings/index.js +140 -140
  516. package/dist/utils/css-mappings/index.js.map +1 -1
  517. package/dist/utils/detect-element-resize.js.map +1 -1
  518. package/dist/utils/keys.js.map +1 -1
  519. package/dist/utils/markdown/markdown-actions.js +1 -0
  520. package/dist/utils/markdown/markdown-actions.js.map +1 -1
  521. package/dist/utils/markdown/markdown-modes.js.map +1 -1
  522. package/dist/utils/markdown/markdown-types.js.map +1 -1
  523. package/dist/utils/markdown/plugins/markdown-add-components/processor.js.map +1 -1
  524. package/dist/utils/markdown/plugins/markdown-checkbox/parser.js.map +1 -1
  525. package/dist/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.js.map +1 -1
  526. package/dist/utils/markdown/plugins/markdown-default-plugins/plugins.js.map +1 -1
  527. package/dist/utils/markdown/plugins/markdown-default-plugins/processing-plugins.js.map +1 -1
  528. package/dist/utils/markdown/plugins/markdown-default-plugins/ui-plugins.js.map +1 -1
  529. package/dist/utils/markdown/plugins/markdown-tooltip/parser.js.map +1 -1
  530. package/dist/utils/markdown/plugins/markdown-tooltip/plugin.js.map +1 -1
  531. package/dist/utils/markdown/plugins/to-dom.js.map +1 -1
  532. package/dist/utils/markdown/remark/remark-prismjs.js.map +1 -1
  533. package/dist/utils/maybe-unwrap-proxy.js.map +1 -1
  534. package/dist/utils/number/number.js.map +1 -1
  535. package/dist/utils/popover/index.js +1 -4
  536. package/dist/utils/popover/index.js.map +1 -1
  537. package/dist/utils/predicate/common_predicates.js.map +1 -1
  538. package/dist/utils/predicate/lodash_predicates.js.map +1 -1
  539. package/dist/utils/timer.js +4 -1
  540. package/dist/utils/timer.js.map +1 -1
  541. package/dist/utils/transition.js.map +1 -1
  542. package/package.json +63 -46
  543. package/declarations/modifiers/open-collapsible-nav.d.ts +0 -9
  544. package/declarations/modifiers/open-collapsible-nav.d.ts.map +0 -1
@@ -1,6 +1,5 @@
1
- import { macroCondition, dependencySatisfies, importSync } from '@embroider/macros';
2
1
  import Component from '@glimmer/component';
3
- import { tracked } from '@glimmer/tracking';
2
+ import { tracked, cached } from '@glimmer/tracking';
4
3
  import { hash } from '@ember/helper';
5
4
  import { on } from '@ember/modifier';
6
5
  import { action } from '@ember/object';
@@ -18,7 +17,7 @@ import { argOrDefaultDecorator } from '../helpers/arg-or-default.js';
18
17
  import classNames from '../helpers/class-names.js';
19
18
  import ResizeObserver from '../modifiers/resize-observer.js';
20
19
  import validatableControl from '../modifiers/validatable-control.js';
21
- import MarkdownActions from '../utils/markdown/markdown-actions.js';
20
+ import MarkdownActions, { insertText } from '../utils/markdown/markdown-actions.js';
22
21
  import { MODE_EDITING, MODE_VIEWING } from '../utils/markdown/markdown-modes.js';
23
22
  import { defaultParsingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/parsing-plugins.js';
24
23
  import { defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/processing-plugins.js';
@@ -27,132 +26,149 @@ import './eui-markdown-format/markdown-tooltip.js';
27
26
  import { tooltipPlugin } from '../utils/markdown/plugins/markdown-tooltip/plugin.js';
28
27
  import EuiMarkdownEditorDropZone from './eui-markdown-editor-drop-zone.js';
29
28
  import EuiMarkdownEditorTextArea from './eui-markdown-editor-text-area.js';
30
- import EuiMarkdownEditorToolbarComponent from './eui-markdown-editor-toolbar.js';
31
- import EuiMarkdownEditorToolbarComponent$1 from './eui-markdown-format.js';
29
+ import EuiMarkdownEditorToolbarComponent$1 from './eui-markdown-editor-toolbar.js';
30
+ import EuiMarkdownEditorToolbarComponent from './eui-markdown-format.js';
31
+ import EuiModal from './eui-modal.js';
32
32
  import { precompileTemplate } from '@ember/template-compilation';
33
33
  import { setComponentTemplate } from '@ember/component';
34
34
  import { g, i, n } from 'decorator-transforms/runtime';
35
35
 
36
- let cached = macroCondition(dependencySatisfies('ember-source', '>= 4.1.0-alpha.0')) ? importSync('@glimmer/tracking').cached : importSync('ember-cached-decorator-polyfill').cached;
37
- const getCursorNode = (textareaRef1, parsed1) => {
36
+ const getCursorNode = (textareaRef, parsed) => {
38
37
  const {
39
- selectionStart: selectionStart1
40
- } = textareaRef1;
41
- let node1 = parsed1.result ?? parsed1.contents;
38
+ selectionStart
39
+ } = textareaRef;
40
+ let node = parsed.result ?? parsed.contents;
42
41
  //eslint-disable-next-line
43
42
  outer: while (true) {
44
- if (node1.children) {
45
- for (let i1 = 0; i1 < node1.children.length; i1++) {
46
- const child1 = node1.children[i1];
47
- if (child1 && child1.position.start.offset < selectionStart1 && selectionStart1 < child1.position.end.offset) {
48
- if (child1.type === 'text') break outer; // don't dive into `text` nodes
49
- node1 = child1;
43
+ if (node.children) {
44
+ for (let i = 0; i < node.children.length; i++) {
45
+ const child = node.children[i];
46
+ if (child && child.position.start.offset < selectionStart && selectionStart < child.position.end.offset) {
47
+ if (child.type === 'text') break outer; // don't dive into `text` nodes
48
+ node = child;
50
49
  continue outer;
51
50
  }
52
51
  }
53
52
  }
54
53
  break;
55
54
  }
56
- return node1;
55
+ return node;
57
56
  };
58
- function wrapper(textarea1, parsed1, callback1) {
59
- const node1 = getCursorNode(textarea1, parsed1);
60
- callback1(node1);
57
+ function wrapper(textarea, parsed, callback) {
58
+ const node = getCursorNode(textarea, parsed);
59
+ callback(node);
61
60
  }
62
- const getCursorNodeModifier = modifier(function getCursorNodeModifier1(textarea1, [parsed1, onSelectedNode1]) {
61
+ const getCursorNodeModifier = modifier(function getCursorNodeModifier(textarea, [parsed, onSelectedNode]) {
63
62
  //@ts-expect-error
64
- const fn1 = wrapper.bind(null, textarea1, parsed1, onSelectedNode1);
65
- textarea1.addEventListener('keyup', fn1);
66
- textarea1.addEventListener('mouseup', fn1);
63
+ const fn = wrapper.bind(null, textarea, parsed, onSelectedNode);
64
+ textarea.addEventListener('keyup', fn);
65
+ textarea.addEventListener('mouseup', fn);
67
66
  return () => {
68
- textarea1.removeEventListener('keyup', fn1);
69
- textarea1.removeEventListener('mouseup', fn1);
67
+ textarea.removeEventListener('keyup', fn);
68
+ textarea.removeEventListener('mouseup', fn);
70
69
  };
71
70
  });
71
+ function isNewLine(char) {
72
+ if (char == null) return true;
73
+ return !!char.match(/[\r\n]/);
74
+ }
75
+ function padWithNewlinesIfNeeded(textarea, text) {
76
+ const selectionStart = textarea.selectionStart;
77
+ const selectionEnd = textarea.selectionEnd;
78
+ // block parsing requires two leading new lines and none trailing, but we add an extra trailing line for readability
79
+ const isPrevNewLine = isNewLine(textarea.value[selectionStart - 1]);
80
+ const isPrevPrevNewLine = isNewLine(textarea.value[selectionStart - 2]);
81
+ const isNextNewLine = isNewLine(textarea.value[selectionEnd]);
82
+ // pad text with newlines as needed
83
+ text = `${isPrevNewLine ? '' : '\n'}${isPrevPrevNewLine ? '' : '\n'}${text}${isNextNewLine ? '' : '\n'}`;
84
+ return text;
85
+ }
72
86
  class EuiMarkdownEditorComponent extends Component {
87
+ static {
88
+ g(this.prototype, "pluginEditorPlugin", [tracked]);
89
+ }
90
+ #pluginEditorPlugin = (i(this, "pluginEditorPlugin"), undefined);
73
91
  static {
74
92
  g(this.prototype, "parsingPluginList", [argOrDefaultDecorator(defaultParsingPlugins)]);
75
93
  }
76
- #parsingPluginList = (i(this, "parsingPluginList"), void 0); // Defaults
94
+ #parsingPluginList = (i(this, "parsingPluginList"), undefined); // Defaults
77
95
  static {
78
96
  g(this.prototype, "height", [argOrDefaultDecorator(250)]);
79
97
  }
80
- #height = (i(this, "height"), void 0);
98
+ #height = (i(this, "height"), undefined);
81
99
  static {
82
100
  g(this.prototype, "maxHeight", [argOrDefaultDecorator(500)]);
83
101
  }
84
- #maxHeight = (i(this, "maxHeight"), void 0);
102
+ #maxHeight = (i(this, "maxHeight"), undefined);
85
103
  static {
86
104
  g(this.prototype, "autoExpandPreview", [argOrDefaultDecorator(true)]);
87
105
  }
88
- #autoExpandPreview = (i(this, "autoExpandPreview"), void 0);
106
+ #autoExpandPreview = (i(this, "autoExpandPreview"), undefined);
89
107
  static {
90
108
  g(this.prototype, "processingPluginList", [argOrDefaultDecorator(defaultProcessingPlugins)]);
91
109
  }
92
- #processingPluginList = (i(this, "processingPluginList"), void 0);
110
+ #processingPluginList = (i(this, "processingPluginList"), undefined);
93
111
  static {
94
112
  g(this.prototype, "selectedNode", [tracked], function () {
95
113
  return null;
96
114
  });
97
115
  }
98
- #selectedNode = (i(this, "selectedNode"), void 0);
116
+ #selectedNode = (i(this, "selectedNode"), undefined);
99
117
  static {
100
118
  g(this.prototype, "editorId", [tracked], function () {
101
119
  return this.args.editorId ?? guidFor({});
102
120
  });
103
121
  }
104
- #editorId = (i(this, "editorId"), void 0);
122
+ #editorId = (i(this, "editorId"), undefined);
105
123
  static {
106
124
  g(this.prototype, "viewMode", [tracked], function () {
107
125
  return this.args.initialViewMode || MODE_EDITING;
108
126
  });
109
127
  }
110
- #viewMode = (i(this, "viewMode"), void 0);
128
+ #viewMode = (i(this, "viewMode"), undefined);
111
129
  static {
112
130
  g(this.prototype, "textareaRef", [tracked], function () {
113
131
  return null;
114
132
  });
115
133
  }
116
- #textareaRef = (i(this, "textareaRef"), void 0);
134
+ #textareaRef = (i(this, "textareaRef"), undefined);
117
135
  static {
118
136
  g(this.prototype, "previewRef", [tracked], function () {
119
137
  return null;
120
138
  });
121
139
  }
122
- #previewRef = (i(this, "previewRef"), void 0);
140
+ #previewRef = (i(this, "previewRef"), undefined);
123
141
  static {
124
142
  g(this.prototype, "editorToolbarRef", [tracked], function () {
125
143
  return null;
126
144
  });
127
145
  }
128
- #editorToolbarRef = (i(this, "editorToolbarRef"), void 0);
146
+ #editorToolbarRef = (i(this, "editorToolbarRef"), undefined);
129
147
  static {
130
148
  g(this.prototype, "currentHeight", [tracked], function () {
131
149
  return 250;
132
150
  });
133
151
  }
134
- #currentHeight = (i(this, "currentHeight"), void 0);
152
+ #currentHeight = (i(this, "currentHeight"), undefined);
135
153
  static {
136
154
  g(this.prototype, "editorFooterHeight", [tracked], function () {
137
155
  return 0;
138
156
  });
139
157
  }
140
- #editorFooterHeight = (i(this, "editorFooterHeight"), void 0);
158
+ #editorFooterHeight = (i(this, "editorFooterHeight"), undefined);
141
159
  static {
142
160
  g(this.prototype, "editorToolbarHeight", [tracked], function () {
143
161
  return 0;
144
162
  });
145
163
  }
146
- #editorToolbarHeight = (i(this, "editorToolbarHeight"), void 0);
164
+ #editorToolbarHeight = (i(this, "editorToolbarHeight"), undefined);
147
165
  markdownActions;
148
166
  get toolbarPlugins() {
149
167
  return [tooltipPlugin, ...(this.args.uiPlugins || [])];
150
168
  }
151
- constructor(owner1, args1) {
152
- super(owner1, args1);
153
- this.markdownActions = new MarkdownActions(this.editorId,
154
- // @ts-expect-error
155
- this.toolbarPlugins);
169
+ constructor(owner, args) {
170
+ super(owner, args);
171
+ this.markdownActions = new MarkdownActions(this.editorId, this.toolbarPlugins);
156
172
  this.currentHeight = this.height;
157
173
  }
158
174
  get previewHeight() {
@@ -172,11 +188,11 @@ class EuiMarkdownEditorComponent extends Component {
172
188
  }
173
189
  onResize() {
174
190
  if (this.textareaRef && this.isEditing && this.height !== 'full') {
175
- const resizedTextareaHeight1 = this.textareaRef.offsetHeight + this.editorFooterHeight;
176
- const update1 = () => {
177
- this.currentHeight = resizedTextareaHeight1;
191
+ const resizedTextareaHeight = this.textareaRef.offsetHeight + this.editorFooterHeight;
192
+ const update = () => {
193
+ this.currentHeight = resizedTextareaHeight;
178
194
  };
179
- scheduleOnce('afterRender', this, update1);
195
+ scheduleOnce('afterRender', this, update);
180
196
  }
181
197
  }
182
198
  static {
@@ -184,54 +200,55 @@ class EuiMarkdownEditorComponent extends Component {
184
200
  }
185
201
  updateCurrentHeight() {
186
202
  let {
187
- isPreviewing: isPreviewing1,
188
- autoExpandPreview: autoExpandPreview1,
189
- height: height1,
190
- previewRef: previewRef1,
191
- currentHeight: currentHeight1
203
+ isPreviewing,
204
+ autoExpandPreview,
205
+ height,
206
+ previewRef,
207
+ currentHeight
192
208
  } = this;
193
- if (isPreviewing1 && autoExpandPreview1 && height1 !== 'full' && previewRef1) {
209
+ if (isPreviewing && autoExpandPreview && height !== 'full' && previewRef) {
194
210
  //@ts-ignore
195
- if (previewRef1.scrollHeight > currentHeight1) {
211
+ if (previewRef.scrollHeight > currentHeight) {
196
212
  // scrollHeight does not include the border or margin
197
213
  // so we ask for the computed value for those,
198
214
  // which is always in pixels because getComputedValue
199
215
  // returns the resolved values
200
- const elementComputedStyle1 = window.getComputedStyle(previewRef1);
201
- const borderWidth1 = parseFloat(elementComputedStyle1.borderTopWidth) + parseFloat(elementComputedStyle1.borderBottomWidth);
202
- const marginWidth1 = parseFloat(elementComputedStyle1.marginTop) + parseFloat(elementComputedStyle1.marginBottom);
216
+ const elementComputedStyle = window.getComputedStyle(previewRef);
217
+ const borderWidth = parseFloat(elementComputedStyle.borderTopWidth) + parseFloat(elementComputedStyle.borderBottomWidth);
218
+ const marginWidth = parseFloat(elementComputedStyle.marginTop) + parseFloat(elementComputedStyle.marginBottom);
203
219
  // then add an extra pixel for safety and because the scrollHeight value is rounded
204
- const extraHeight1 = borderWidth1 + marginWidth1 + 1;
205
- const update1 = () => {
206
- if (previewRef1) {
207
- this.currentHeight = previewRef1.scrollHeight + extraHeight1;
220
+ const extraHeight = borderWidth + marginWidth + 1;
221
+ const update = () => {
222
+ if (previewRef) {
223
+ this.currentHeight = previewRef.scrollHeight + extraHeight;
208
224
  }
209
225
  };
210
- scheduleOnce('afterRender', this, update1);
226
+ scheduleOnce('afterRender', this, update);
211
227
  }
212
228
  }
213
229
  }
214
230
  static {
215
231
  n(this.prototype, "updateCurrentHeight", [action]);
216
232
  }
217
- setTextAreaRef(ref1) {
218
- this.textareaRef = ref1;
233
+ getCursorNode = () => {};
234
+ setTextAreaRef(ref) {
235
+ this.textareaRef = ref;
219
236
  }
220
237
  static {
221
238
  n(this.prototype, "setTextAreaRef", [action]);
222
239
  }
223
- setEditorToolbarRef(ref1) {
224
- this.editorToolbarRef = ref1;
225
- this.editorToolbarHeight = ref1.offsetHeight;
240
+ setEditorToolbarRef(ref) {
241
+ this.editorToolbarRef = ref;
242
+ this.editorToolbarHeight = ref.offsetHeight;
226
243
  }
227
244
  static {
228
245
  n(this.prototype, "setEditorToolbarRef", [action]);
229
246
  }
230
- replaceNode(position1, next1) {
231
- let value1 = this.args.value;
232
- const leading1 = value1.substr(0, position1.start.offset);
233
- const trailing1 = value1.substr(position1.end.offset);
234
- this.args.onChange?.(`${leading1}${next1}${trailing1}`);
247
+ replaceNode(position, next) {
248
+ let value = this.args.value;
249
+ const leading = value.substr(0, position.start.offset);
250
+ const trailing = value.substr(position.end.offset);
251
+ this.args.onChange?.(`${leading}${next}${trailing}`);
235
252
  }
236
253
  static {
237
254
  n(this.prototype, "replaceNode", [action]);
@@ -249,24 +266,24 @@ class EuiMarkdownEditorComponent extends Component {
249
266
  n(this.prototype, "setViewMode", [action]);
250
267
  }
251
268
  get parser() {
252
- const Compiler1 = tree1 => {
253
- return tree1;
269
+ const Compiler = tree => {
270
+ return tree;
254
271
  };
255
- function identityCompiler1(this1) {
272
+ function identityCompiler() {
256
273
  //eslint-disable-next-line
257
- this.Compiler = Compiler1;
274
+ this.Compiler = Compiler;
258
275
  }
259
- return unified().use(this.parsingPluginList).use(identityCompiler1);
276
+ return unified().use(this.parsingPluginList).use(identityCompiler);
260
277
  }
261
278
  static {
262
279
  n(this.prototype, "parser", [cached]);
263
280
  }
264
281
  get parsed() {
265
282
  try {
266
- const parsed1 = this.parser.processSync(this.args.value);
267
- return [parsed1, null];
268
- } catch (e1) {
269
- return [null, e1];
283
+ const parsed = this.parser.processSync(this.args.value);
284
+ return [parsed, null];
285
+ } catch (e) {
286
+ return [null, e];
270
287
  }
271
288
  }
272
289
  static {
@@ -277,45 +294,79 @@ class EuiMarkdownEditorComponent extends Component {
277
294
  }
278
295
  onParse() {
279
296
  if (this.args.onParse) {
280
- const [parsed1, parseError1] = this.parsed;
281
- const onParse1 = this.args.onParse;
282
- const messages1 = parsed1 ? parsed1.messages : [];
283
- const ast1 = parsed1 ? parsed1['result'] ?? parsed1.contents : null;
284
- onParse1(parseError1, {
285
- messages: messages1,
286
- ast: ast1
297
+ const [parsed, parseError] = this.parsed;
298
+ const onParse = this.args.onParse;
299
+ const messages = parsed ? parsed.messages : [];
300
+ const ast = parsed ? parsed['result'] ?? parsed.contents : null;
301
+ onParse(parseError, {
302
+ messages,
303
+ ast
287
304
  });
288
305
  }
289
306
  }
290
307
  static {
291
308
  n(this.prototype, "onParse", [action]);
292
309
  }
293
- setSelectedNode(node1) {
294
- this.selectedNode = node1;
310
+ setSelectedNode(node) {
311
+ this.selectedNode = node;
295
312
  }
296
313
  static {
297
314
  n(this.prototype, "setSelectedNode", [action]);
298
315
  }
316
+ openPluginEditor = plugin => {
317
+ this.pluginEditorPlugin = plugin;
318
+ };
319
+ onEditorPluginSave = (markdown, config) => {
320
+ let {
321
+ selectedNode,
322
+ textareaRef
323
+ } = this;
324
+ if (this.pluginEditorPlugin && selectedNode &&
325
+ // @ts-expect-error
326
+ selectedNode.type === this.pluginEditorPlugin.name &&
327
+ // @ts-expect-error
328
+ selectedNode.position) {
329
+ // modifying an existing node
330
+ textareaRef.setSelectionRange(
331
+ // @ts-expect-error
332
+ selectedNode.position.start.offset,
333
+ // @ts-expect-error
334
+ selectedNode.position.end.offset);
335
+ } else {
336
+ // creating a new node
337
+ if (config.block) {
338
+ // inject newlines if needed
339
+ markdown = padWithNewlinesIfNeeded(textareaRef, markdown);
340
+ }
341
+ }
342
+ insertText(textareaRef, {
343
+ text: markdown,
344
+ selectionStart: undefined,
345
+ selectionEnd: undefined
346
+ });
347
+ this.pluginEditorPlugin = undefined;
348
+ };
299
349
  static {
300
- setComponentTemplate(precompileTemplate("\n <div class={{classNames \"euiMarkdownEditor\" (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\") (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")}} {{didUpdate this.updateCurrentHeight this.currentHeight this.isPreviewing this.height this.autoExpandPreview}}>\n <EuiMarkdownEditorToolbar @selectedNode={{this.selectedNode}} @markdownActions={{this.markdownActions}} @onClickPreview={{this.setViewMode}} @viewMode={{this.viewMode}} @uiPlugins={{this.toolbarPlugins}} {{didInsert this.setEditorToolbarRef}} />\n {{#if this.isPreviewing}}\n <div class=\"euiMarkdownEditorPreview\" {{didInsert (set this \"previewRef\")}} {{style (hash height=this.previewHeight)}}>\n <EuiMarkdownFormat @parsingPluginList={{this.parsingPluginList}} @processingPluginList={{this.processingPluginList}} @value={{@value}} @replaceNode={{this.replaceNode}} />\n </div>\n {{/if}}\n\n <div class=\"euiMarkdownEditor__toggleContainer\" {{style height=this.editorToggleContainerHeight}}>\n <EuiMarkdownEditorDropZone @uiPlugins={{this.toolbarPlugins}} {{resizeObserver onResize=this.onResize}}>\n <EuiMarkdownEditorTextArea {{getCursorNodeModifier this.vFile this.setSelectedNode}} {{didUpdate this.onParse this.parsed}} {{didInsert this.setTextAreaRef}} disabled={{@disabled}} id={{this.editorId}} @height={{this.textAreaHeight}} @maxHeight={{this.textAreaMaxHeight}} value={{@value}} aria-label={{@ariaLabel}} aria-labelledby={{@ariaLabelledBy}} aria-describedby={{@ariaDescribedBy}} {{on \"input\" (pick \"target.value\" @onChange)}} {{validatableControl @isInvalid}} ...attributes />\n </EuiMarkdownEditorDropZone>\n </div>\n </div>\n ", {
350
+ setComponentTemplate(precompileTemplate("\n <div class={{classNames \"euiMarkdownEditor\" (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\") (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")}} {{didUpdate this.updateCurrentHeight this.currentHeight this.isPreviewing this.height this.autoExpandPreview}}>\n <EuiMarkdownEditorToolbar @selectedNode={{this.selectedNode}} @markdownActions={{this.markdownActions}} @onClickPreview={{this.setViewMode}} @openPluginEditor={{this.openPluginEditor}} @viewMode={{this.viewMode}} @uiPlugins={{this.toolbarPlugins}} {{didInsert this.setEditorToolbarRef}} />\n {{#if this.isPreviewing}}\n <div class=\"euiMarkdownEditorPreview\" {{didInsert (set this \"previewRef\")}} {{style (hash height=this.previewHeight)}}>\n <EuiMarkdownFormat @parsingPluginList={{this.parsingPluginList}} @processingPluginList={{this.processingPluginList}} @value={{@value}} @replaceNode={{this.replaceNode}} />\n </div>\n {{/if}}\n\n <div class=\"euiMarkdownEditor__toggleContainer\" {{style height=this.editorToggleContainerHeight}}>\n <EuiMarkdownEditorDropZone @uiPlugins={{this.toolbarPlugins}} {{resizeObserver onResize=this.onResize}}>\n <EuiMarkdownEditorTextArea {{getCursorNodeModifier this.vFile this.setSelectedNode}} {{didUpdate this.onParse this.parsed}} {{didInsert this.setTextAreaRef}} disabled={{@disabled}} id={{this.editorId}} @height={{this.textAreaHeight}} @maxHeight={{this.textAreaMaxHeight}} value={{@value}} aria-label={{@ariaLabel}} aria-labelledby={{@ariaLabelledBy}} aria-describedby={{@ariaDescribedBy}} {{on \"input\" (pick \"target.value\" @onChange)}} {{validatableControl @isInvalid}} ...attributes />\n </EuiMarkdownEditorDropZone>\n {{#if this.pluginEditorPlugin.editor}}\n <EuiModal @onClose={{set this \"pluginEditorPlugin\" undefined}}>\n {{#let (component this.pluginEditorPlugin.editor) as |Editor|}}\n <Editor @node={{this.selectedNode}} @onCancel={{set this \"pluginEditorPlugin\" undefined}} @onSave={{this.onEditorPluginSave}} />\n {{/let}}\n </EuiModal>\n {{/if}}\n </div>\n </div>\n ", {
301
351
  strictMode: true,
302
352
  scope: () => ({
303
353
  classNames,
304
354
  eq,
305
355
  didUpdate,
306
- EuiMarkdownEditorToolbar: EuiMarkdownEditorToolbarComponent,
356
+ EuiMarkdownEditorToolbar: EuiMarkdownEditorToolbarComponent$1,
307
357
  didInsert,
308
358
  set,
309
359
  style,
310
360
  hash,
311
- EuiMarkdownFormat: EuiMarkdownEditorToolbarComponent$1,
361
+ EuiMarkdownFormat: EuiMarkdownEditorToolbarComponent,
312
362
  EuiMarkdownEditorDropZone,
313
363
  resizeObserver: ResizeObserver,
314
364
  EuiMarkdownEditorTextArea,
315
365
  getCursorNodeModifier,
316
366
  on,
317
367
  pick,
318
- validatableControl
368
+ validatableControl,
369
+ EuiModal
319
370
  })
320
371
  }), this);
321
372
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eui-markdown-editor.js","sources":["../../src/components/eui-markdown-editor.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { scheduleOnce } from '@ember/runloop';\nimport pick from 'ember-composable-helpers/helpers/pick';\nimport { modifier } from 'ember-modifier';\nimport set from 'ember-set-helper/helpers/set';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { eq, not } from 'ember-truth-helpers';\nimport unified from 'unified';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport validatableControl from '../modifiers/validatable-control.ts';\nimport MarkdownActions from '../utils/markdown/markdown-actions.ts';\nimport { MODE_EDITING, MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport { defaultParsingPlugins, defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport * as MarkdownTooltipPlugin from '../utils/markdown/plugins/markdown-tooltip/index.ts';\nimport EuiMarkdownEditorDropZone from './eui-markdown-editor-drop-zone.gts';\nimport EuiMarkdownEditorTextArea from './eui-markdown-editor-text-area.gts';\nimport EuiMarkdownEditorToolbar from './eui-markdown-editor-toolbar.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport type { EuiMarkdownAstNode, EuiMarkdownAstNodePosition, EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';\nimport type { EuiMarkdownEditorTextAreaSignature } from './eui-markdown-editor-text-area';\nimport type { EuiMarkdownEditorToolbarSignature } from './eui-markdown-editor-toolbar';\nimport type { Processor } from 'unified';\nexport interface EuiMarkdownEditorArgs {\n initialViewMode?: string;\n editorId?: string;\n uiPlugins: EuiMarkdownEditorUiPlugin[];\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n value: string;\n onChange: (str: string) => void;\n onParse?: (parseError: unknown | null, parsed: {\n messages: any[];\n ast: any;\n }) => void;\n height?: number | string;\n maxHeight?: number | string;\n autoExpandPreview?: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\nexport interface EuiMarkdownEditorSignature {\n Element: EuiMarkdownEditorTextAreaSignature['Element'];\n Args: EuiMarkdownEditorArgs;\n Blocks: {\n default: [];\n };\n}\nexport const getCursorNode = (textareaRef1: HTMLInputElement, parsed1: any): EuiMarkdownAstNode =>{\n const { selectionStart: selectionStart1 } = textareaRef1;\n let node1: EuiMarkdownAstNode = parsed1.result ?? parsed1.contents;\n //eslint-disable-next-line\n outer: while(true){\n if (node1.children) {\n for(let i1 = 0; i1 < node1.children.length; i1++){\n const child1 = node1.children[i1];\n if (child1 && child1.position.start.offset < (selectionStart1 as number) && (selectionStart1 as number) < child1.position.end.offset) {\n if (child1.type === 'text') break outer; // don't dive into `text` nodes\n node1 = child1;\n continue outer;\n }\n }\n }\n break;\n }\n return node1;\n};\nfunction wrapper(textarea1: HTMLInputElement, parsed1: any, callback1: (node: EuiMarkdownAstNode) => void) {\n const node1 = getCursorNode(textarea1, parsed1);\n callback1(node1);\n}\nexport const getCursorNodeModifier = modifier(function getCursorNodeModifier1(textarea1: EuiMarkdownEditorTextAreaSignature['Element'], [parsed1, onSelectedNode1]: [any, (node: Node) => void]) {\n //@ts-expect-error\n const fn1 = wrapper.bind(null, textarea1, parsed1, onSelectedNode1);\n textarea1.addEventListener('keyup', fn1);\n textarea1.addEventListener('mouseup', fn1);\n return ()=>{\n textarea1.removeEventListener('keyup', fn1);\n textarea1.removeEventListener('mouseup', fn1);\n };\n});\nexport default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEditorSignature> {\n // Defaults\n @argOrDefaultDecorator(defaultParsingPlugins)\n parsingPluginList: typeof defaultParsingPlugins;\n @argOrDefaultDecorator(250)\n height: number | string;\n @argOrDefaultDecorator(500)\n maxHeight: number | string;\n @argOrDefaultDecorator(true)\n autoExpandPreview: boolean;\n @argOrDefaultDecorator(defaultProcessingPlugins)\n processingPluginList: typeof defaultProcessingPlugins;\n @tracked\n selectedNode: Node | null = null;\n @tracked\n editorId = this.args.editorId ?? guidFor({});\n @tracked\n viewMode = this.args.initialViewMode || MODE_EDITING;\n @tracked\n textareaRef: HTMLTextAreaElement | null = null;\n @tracked\n previewRef: HTMLDivElement | null = null;\n @tracked\n editorToolbarRef: HTMLDivElement | null = null;\n @tracked\n currentHeight: number | string = 250;\n @tracked\n editorFooterHeight: number = 0;\n @tracked\n editorToolbarHeight: number = 0;\n markdownActions: MarkdownActions;\n get toolbarPlugins() {\n return [\n MarkdownTooltipPlugin.plugin,\n ...(this.args.uiPlugins || [])\n ];\n }\n constructor(owner1: unknown, args1: EuiMarkdownEditorArgs){\n super(owner1, args1);\n this.markdownActions = new MarkdownActions(this.editorId, // @ts-expect-error\n this.toolbarPlugins);\n this.currentHeight = this.height;\n }\n get previewHeight() {\n if (this.height === 'full') {\n return `calc(100% - ${this.editorFooterHeight}px)`;\n }\n return `${this.currentHeight}px`;\n }\n get textAreaHeight() {\n return this.height === 'full' ? '100%' : `calc(${(this.height as number) - this.editorFooterHeight}px)`;\n }\n get textAreaMaxHeight() {\n return this.height !== 'full' ? `${(this.maxHeight as number) - this.editorFooterHeight}px` : '';\n }\n get editorToggleContainerHeight() {\n return `calc(100% - ${this.editorToolbarHeight}px)`;\n }\n @action\n onResize() {\n if (this.textareaRef && this.isEditing && this.height !== 'full') {\n const resizedTextareaHeight1 = this.textareaRef.offsetHeight + this.editorFooterHeight;\n const update1 = ()=>{\n this.currentHeight = resizedTextareaHeight1;\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n @action\n updateCurrentHeight() {\n let { isPreviewing: isPreviewing1, autoExpandPreview: autoExpandPreview1, height: height1, previewRef: previewRef1, currentHeight: currentHeight1 } = this;\n if (isPreviewing1 && autoExpandPreview1 && height1 !== 'full' && previewRef1) {\n //@ts-ignore\n if (previewRef1.scrollHeight > currentHeight1) {\n // scrollHeight does not include the border or margin\n // so we ask for the computed value for those,\n // which is always in pixels because getComputedValue\n // returns the resolved values\n const elementComputedStyle1 = window.getComputedStyle(previewRef1);\n const borderWidth1 = parseFloat(elementComputedStyle1.borderTopWidth) + parseFloat(elementComputedStyle1.borderBottomWidth);\n const marginWidth1 = parseFloat(elementComputedStyle1.marginTop) + parseFloat(elementComputedStyle1.marginBottom);\n // then add an extra pixel for safety and because the scrollHeight value is rounded\n const extraHeight1 = borderWidth1 + marginWidth1 + 1;\n const update1 = ()=>{\n if (previewRef1) {\n this.currentHeight = previewRef1.scrollHeight + extraHeight1;\n }\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n }\n @action\n setTextAreaRef(ref1: HTMLTextAreaElement) {\n this.textareaRef = ref1;\n }\n @action\n setEditorToolbarRef(ref1: EuiMarkdownEditorToolbarSignature['Element']) {\n this.editorToolbarRef = ref1;\n this.editorToolbarHeight = ref1.offsetHeight;\n }\n @action\n replaceNode(position1: EuiMarkdownAstNodePosition, next1: string) {\n let value1 = this.args.value;\n const leading1 = value1.substr(0, position1.start.offset);\n const trailing1 = value1.substr(position1.end.offset);\n this.args.onChange?.(`${leading1}${next1}${trailing1}`);\n }\n get isEditing() {\n return this.viewMode === MODE_EDITING;\n }\n get isPreviewing() {\n return this.viewMode === MODE_VIEWING;\n }\n @action\n setViewMode() {\n this.viewMode = this.isPreviewing ? MODE_EDITING : MODE_VIEWING;\n }\n @cached\n get parser() {\n const Compiler1 = (tree1: any)=>{\n return tree1;\n };\n function identityCompiler1(this1: Processor) {\n //eslint-disable-next-line\n this.Compiler = Compiler1;\n }\n return unified().use(this.parsingPluginList).use(identityCompiler1);\n }\n @cached\n get parsed(): [ReturnType<typeof this.parser.processSync> | null, null | unknown] {\n try {\n const parsed1 = this.parser.processSync(this.args.value);\n return [\n parsed1,\n null\n ];\n } catch (e1) {\n return [\n null,\n e1\n ];\n }\n }\n get vFile() {\n return this.parsed[0];\n }\n @action\n onParse() {\n if (this.args.onParse) {\n const [parsed1, parseError1] = this.parsed;\n const onParse1 = this.args.onParse;\n const messages1 = parsed1 ? parsed1.messages : [];\n const ast1 = parsed1 ? parsed1['result'] ?? parsed1.contents : null;\n onParse1(parseError1, {\n messages: messages1,\n ast: ast1\n });\n }\n }\n @action\n setSelectedNode(node1: Node) {\n this.selectedNode = node1;\n }\n static{\n template(`\n <div\n class={{classNames\n \"euiMarkdownEditor\"\n (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\")\n (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")\n }}\n {{didUpdate\n this.updateCurrentHeight\n this.currentHeight\n this.isPreviewing\n this.height\n this.autoExpandPreview\n }}\n >\n <EuiMarkdownEditorToolbar\n @selectedNode={{this.selectedNode}}\n @markdownActions={{this.markdownActions}}\n @onClickPreview={{this.setViewMode}}\n @viewMode={{this.viewMode}}\n @uiPlugins={{this.toolbarPlugins}}\n {{didInsert this.setEditorToolbarRef}}\n />\n {{#if this.isPreviewing}}\n <div\n class=\"euiMarkdownEditorPreview\"\n {{didInsert (set this \"previewRef\")}}\n {{style (hash height=this.previewHeight)}}\n >\n <EuiMarkdownFormat\n @parsingPluginList={{this.parsingPluginList}}\n @processingPluginList={{this.processingPluginList}}\n @value={{@value}}\n @replaceNode={{this.replaceNode}}\n />\n </div>\n {{/if}}\n\n <div\n class=\"euiMarkdownEditor__toggleContainer\"\n {{style height=this.editorToggleContainerHeight}}\n >\n <EuiMarkdownEditorDropZone\n @uiPlugins={{this.toolbarPlugins}}\n {{resizeObserver onResize=this.onResize}}\n >\n <EuiMarkdownEditorTextArea\n {{getCursorNodeModifier this.vFile this.setSelectedNode}}\n {{didUpdate this.onParse this.parsed}}\n {{didInsert this.setTextAreaRef}}\n disabled={{@disabled}}\n id={{this.editorId}}\n @height={{this.textAreaHeight}}\n @maxHeight={{this.textAreaMaxHeight}}\n value={{@value}}\n aria-label={{@ariaLabel}}\n aria-labelledby={{@ariaLabelledBy}}\n aria-describedby={{@ariaDescribedBy}}\n {{on \"input\" (pick \"target.value\" @onChange)}}\n {{validatableControl @isInvalid}}\n ...attributes\n />\n </EuiMarkdownEditorDropZone>\n </div>\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3IuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCwgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuaW1wb3J0IHsgZ3VpZEZvciB9IGZyb20gJ0BlbWJlci9vYmplY3QvaW50ZXJuYWxzJztcbmltcG9ydCBkaWRJbnNlcnQgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC1pbnNlcnQnO1xuaW1wb3J0IGRpZFVwZGF0ZSBmcm9tICdAZW1iZXIvcmVuZGVyLW1vZGlmaWVycy9tb2RpZmllcnMvZGlkLXVwZGF0ZSc7XG5pbXBvcnQgeyBzY2hlZHVsZU9uY2UgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG5cbmltcG9ydCBwaWNrIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3BpY2snO1xuaW1wb3J0IHsgbW9kaWZpZXIgfSBmcm9tICdlbWJlci1tb2RpZmllcic7XG5pbXBvcnQgc2V0IGZyb20gJ2VtYmVyLXNldC1oZWxwZXIvaGVscGVycy9zZXQnO1xuaW1wb3J0IHN0eWxlIGZyb20gJ2VtYmVyLXN0eWxlLW1vZGlmaWVyL21vZGlmaWVycy9zdHlsZSc7XG5pbXBvcnQgeyBlcSwgbm90IH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgdW5pZmllZCBmcm9tICd1bmlmaWVkJztcblxuaW1wb3J0IHsgYXJnT3JEZWZhdWx0RGVjb3JhdG9yIH0gZnJvbSAnLi4vaGVscGVycy9hcmctb3ItZGVmYXVsdC50cyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLW5hbWVzLnRzJztcbmltcG9ydCByZXNpemVPYnNlcnZlciBmcm9tICcuLi9tb2RpZmllcnMvcmVzaXplLW9ic2VydmVyLnRzJztcbmltcG9ydCB2YWxpZGF0YWJsZUNvbnRyb2wgZnJvbSAnLi4vbW9kaWZpZXJzL3ZhbGlkYXRhYmxlLWNvbnRyb2wudHMnO1xuaW1wb3J0IE1hcmtkb3duQWN0aW9ucyBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zLnRzJztcbmltcG9ydCB7IE1PREVfRURJVElORywgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdFBhcnNpbmdQbHVnaW5zLFxuICBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnNcbn0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vcGx1Z2lucy9tYXJrZG93bi1kZWZhdWx0LXBsdWdpbnMvaW5kZXgudHMnO1xuaW1wb3J0ICogYXMgTWFya2Rvd25Ub29sdGlwUGx1Z2luIGZyb20gJy4uL3V0aWxzL21hcmtkb3duL3BsdWdpbnMvbWFya2Rvd24tdG9vbHRpcC9pbmRleC50cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JEcm9wWm9uZSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItZHJvcC16b25lLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyIGZyb20gJy4vZXVpLW1hcmtkb3duLWVkaXRvci10b29sYmFyLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25Gb3JtYXQgZnJvbSAnLi9ldWktbWFya2Rvd24tZm9ybWF0Lmd0cyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRXVpTWFya2Rvd25Bc3ROb2RlLFxuICBFdWlNYXJrZG93bkFzdE5vZGVQb3NpdGlvbixcbiAgRXVpTWFya2Rvd25FZGl0b3JVaVBsdWdpblxufSBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi10eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEV1aU1hcmtkb3duRWRpdG9yVGV4dEFyZWFTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhJztcbmltcG9ydCB0eXBlIHsgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlIH0gZnJvbSAnLi9ldWktbWFya2Rvd24tZWRpdG9yLXRvb2xiYXInO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzb3IgfSBmcm9tICd1bmlmaWVkJztcblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvckFyZ3Mge1xuICBpbml0aWFsVmlld01vZGU_OiBzdHJpbmc7XG4gIGVkaXRvcklkPzogc3RyaW5nO1xuICB1aVBsdWdpbnM6IEV1aU1hcmtkb3duRWRpdG9yVWlQbHVnaW5bXTtcbiAgcGFyc2luZ1BsdWdpbkxpc3Q_OiB0eXBlb2YgZGVmYXVsdFBhcnNpbmdQbHVnaW5zO1xuICBwcm9jZXNzaW5nUGx1Z2luTGlzdD86IHR5cGVvZiBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnM7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIG9uQ2hhbmdlOiAoc3RyOiBzdHJpbmcpID0-IHZvaWQ7XG4gIG9uUGFyc2U_OiAoXG4gICAgcGFyc2VFcnJvcjogdW5rbm93biB8IG51bGwsXG4gICAgcGFyc2VkOiB7IG1lc3NhZ2VzOiBhbnlbXTsgYXN0OiBhbnkgfVxuICApID0-IHZvaWQ7XG4gIGhlaWdodD86IG51bWJlciB8IHN0cmluZztcbiAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBhdXRvRXhwYW5kUHJldmlldz86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNJbnZhbGlkPzogYm9vbGVhbjtcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV1aU1hcmtkb3duRWRpdG9yU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZVsnRWxlbWVudCddO1xuICBBcmdzOiBFdWlNYXJrZG93bkVkaXRvckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q3Vyc29yTm9kZSA9IChcbiAgdGV4dGFyZWFSZWY6IEhUTUxJbnB1dEVsZW1lbnQsXG4gIHBhcnNlZDogYW55XG4pOiBFdWlNYXJrZG93bkFzdE5vZGUgPT4ge1xuICBjb25zdCB7IHNlbGVjdGlvblN0YXJ0IH0gPSB0ZXh0YXJlYVJlZjtcblxuICBsZXQgbm9kZTogRXVpTWFya2Rvd25Bc3ROb2RlID0gcGFyc2VkLnJlc3VsdCA_PyBwYXJzZWQuY29udGVudHM7XG5cbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaGlsZCA9IG5vZGUuY2hpbGRyZW5baV07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNoaWxkICYmXG4gICAgICAgICAgY2hpbGQucG9zaXRpb24uc3RhcnQub2Zmc2V0IDwgKHNlbGVjdGlvblN0YXJ0IGFzIG51bWJlcikgJiZcbiAgICAgICAgICAoc2VsZWN0aW9uU3RhcnQgYXMgbnVtYmVyKSA8IGNoaWxkLnBvc2l0aW9uLmVuZC5vZmZzZXRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT09ICd0ZXh0JykgYnJlYWsgb3V0ZXI7IC8vIGRvbid0IGRpdmUgaW50byBgdGV4dGAgbm9kZXNcbiAgICAgICAgICBub2RlID0gY2hpbGQ7XG4gICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBub2RlO1xufTtcblxuZnVuY3Rpb24gd3JhcHBlcihcbiAgdGV4dGFyZWE6IEhUTUxJbnB1dEVsZW1lbnQsXG4gIHBhcnNlZDogYW55LFxuICBjYWxsYmFjazogKG5vZGU6IEV1aU1hcmtkb3duQXN0Tm9kZSkgPT4gdm9pZFxuKSB7XG4gIGNvbnN0IG5vZGUgPSBnZXRDdXJzb3JOb2RlKHRleHRhcmVhLCBwYXJzZWQpO1xuXG4gIGNhbGxiYWNrKG5vZGUpO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q3Vyc29yTm9kZU1vZGlmaWVyID0gbW9kaWZpZXIoZnVuY3Rpb24gZ2V0Q3Vyc29yTm9kZU1vZGlmaWVyKFxuICB0ZXh0YXJlYTogRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZVsnRWxlbWVudCddLFxuICBbcGFyc2VkLCBvblNlbGVjdGVkTm9kZV06IFthbnksIChub2RlOiBOb2RlKSA9PiB2b2lkXVxuKSB7XG4gIC8vQHRzLWV4cGVjdC1lcnJvclxuICBjb25zdCBmbiA9IHdyYXBwZXIuYmluZChudWxsLCB0ZXh0YXJlYSwgcGFyc2VkLCBvblNlbGVjdGVkTm9kZSk7XG5cbiAgdGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBmbik7XG4gIHRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBmbik7XG5cbiAgcmV0dXJuICgpID0-IHtcbiAgICB0ZXh0YXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIGZuKTtcbiAgICB0ZXh0YXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZm4pO1xuICB9O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aU1hcmtkb3duRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PEV1aU1hcmtkb3duRWRpdG9yU2lnbmF0dXJlPiB7XG4gIC8vIERlZmF1bHRzXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoZGVmYXVsdFBhcnNpbmdQbHVnaW5zKSBkZWNsYXJlIHBhcnNpbmdQbHVnaW5MaXN0OiB0eXBlb2YgZGVmYXVsdFBhcnNpbmdQbHVnaW5zO1xuXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoMjUwKSBkZWNsYXJlIGhlaWdodDogbnVtYmVyIHwgc3RyaW5nO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKDUwMCkgZGVjbGFyZSBtYXhIZWlnaHQ6IG51bWJlciB8IHN0cmluZztcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcih0cnVlKSBkZWNsYXJlIGF1dG9FeHBhbmRQcmV2aWV3OiBib29sZWFuO1xuXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoZGVmYXVsdFByb2Nlc3NpbmdQbHVnaW5zKSBkZWNsYXJlIHByb2Nlc3NpbmdQbHVnaW5MaXN0OiB0eXBlb2YgZGVmYXVsdFByb2Nlc3NpbmdQbHVnaW5zO1xuXG4gIEB0cmFja2VkIHNlbGVjdGVkTm9kZTogTm9kZSB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBlZGl0b3JJZCA9IHRoaXMuYXJncy5lZGl0b3JJZCA_PyBndWlkRm9yKHt9KTtcbiAgQHRyYWNrZWQgdmlld01vZGUgPSB0aGlzLmFyZ3MuaW5pdGlhbFZpZXdNb2RlIHx8IE1PREVfRURJVElORztcbiAgQHRyYWNrZWQgdGV4dGFyZWFSZWY6IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgcHJldmlld1JlZjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgZWRpdG9yVG9vbGJhclJlZjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgY3VycmVudEhlaWdodDogbnVtYmVyIHwgc3RyaW5nID0gMjUwO1xuICBAdHJhY2tlZCBlZGl0b3JGb290ZXJIZWlnaHQ6IG51bWJlciA9IDA7XG4gIEB0cmFja2VkIGVkaXRvclRvb2xiYXJIZWlnaHQ6IG51bWJlciA9IDA7XG5cbiAgbWFya2Rvd25BY3Rpb25zOiBNYXJrZG93bkFjdGlvbnM7XG5cbiAgZ2V0IHRvb2xiYXJQbHVnaW5zKCkge1xuICAgIHJldHVybiBbTWFya2Rvd25Ub29sdGlwUGx1Z2luLnBsdWdpbiwgLi4uKHRoaXMuYXJncy51aVBsdWdpbnMgfHwgW10pXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG93bmVyOiB1bmtub3duLCBhcmdzOiBFdWlNYXJrZG93bkVkaXRvckFyZ3MpIHtcbiAgICBzdXBlcihvd25lciwgYXJncyk7XG4gICAgdGhpcy5tYXJrZG93bkFjdGlvbnMgPSBuZXcgTWFya2Rvd25BY3Rpb25zKFxuICAgICAgdGhpcy5lZGl0b3JJZCxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIHRoaXMudG9vbGJhclBsdWdpbnNcbiAgICApO1xuICAgIHRoaXMuY3VycmVudEhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICB9XG5cbiAgZ2V0IHByZXZpZXdIZWlnaHQoKSB7XG4gICAgaWYgKHRoaXMuaGVpZ2h0ID09PSAnZnVsbCcpIHtcbiAgICAgIHJldHVybiBgY2FsYygxMDAlIC0gJHt0aGlzLmVkaXRvckZvb3RlckhlaWdodH1weClgO1xuICAgIH1cblxuICAgIHJldHVybiBgJHt0aGlzLmN1cnJlbnRIZWlnaHR9cHhgO1xuICB9XG5cbiAgZ2V0IHRleHRBcmVhSGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmhlaWdodCA9PT0gJ2Z1bGwnXG4gICAgICA_ICcxMDAlJ1xuICAgICAgOiBgY2FsYygkeyh0aGlzLmhlaWdodCBhcyBudW1iZXIpIC0gdGhpcy5lZGl0b3JGb290ZXJIZWlnaHR9cHgpYDtcbiAgfVxuXG4gIGdldCB0ZXh0QXJlYU1heEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5oZWlnaHQgIT09ICdmdWxsJ1xuICAgICAgPyBgJHsodGhpcy5tYXhIZWlnaHQgYXMgbnVtYmVyKSAtIHRoaXMuZWRpdG9yRm9vdGVySGVpZ2h0fXB4YFxuICAgICAgOiAnJztcbiAgfVxuXG4gIGdldCBlZGl0b3JUb2dnbGVDb250YWluZXJIZWlnaHQoKSB7XG4gICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMuZWRpdG9yVG9vbGJhckhlaWdodH1weClgO1xuICB9XG5cbiAgQGFjdGlvblxuICBvblJlc2l6ZSgpIHtcbiAgICBpZiAodGhpcy50ZXh0YXJlYVJlZiAmJiB0aGlzLmlzRWRpdGluZyAmJiB0aGlzLmhlaWdodCAhPT0gJ2Z1bGwnKSB7XG4gICAgICBjb25zdCByZXNpemVkVGV4dGFyZWFIZWlnaHQgPVxuICAgICAgICB0aGlzLnRleHRhcmVhUmVmLm9mZnNldEhlaWdodCArIHRoaXMuZWRpdG9yRm9vdGVySGVpZ2h0O1xuXG4gICAgICBjb25zdCB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEhlaWdodCA9IHJlc2l6ZWRUZXh0YXJlYUhlaWdodDtcbiAgICAgIH07XG5cbiAgICAgIHNjaGVkdWxlT25jZSgnYWZ0ZXJSZW5kZXInLCB0aGlzLCB1cGRhdGUpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgdXBkYXRlQ3VycmVudEhlaWdodCgpIHtcbiAgICBsZXQgeyBpc1ByZXZpZXdpbmcsIGF1dG9FeHBhbmRQcmV2aWV3LCBoZWlnaHQsIHByZXZpZXdSZWYsIGN1cnJlbnRIZWlnaHQgfSA9XG4gICAgICB0aGlzO1xuXG4gICAgaWYgKGlzUHJldmlld2luZyAmJiBhdXRvRXhwYW5kUHJldmlldyAmJiBoZWlnaHQgIT09ICdmdWxsJyAmJiBwcmV2aWV3UmVmKSB7XG4gICAgICAvL0B0cy1pZ25vcmVcbiAgICAgIGlmIChwcmV2aWV3UmVmLnNjcm9sbEhlaWdodCA-IGN1cnJlbnRIZWlnaHQpIHtcbiAgICAgICAgLy8gc2Nyb2xsSGVpZ2h0IGRvZXMgbm90IGluY2x1ZGUgdGhlIGJvcmRlciBvciBtYXJnaW5cbiAgICAgICAgLy8gc28gd2UgYXNrIGZvciB0aGUgY29tcHV0ZWQgdmFsdWUgZm9yIHRob3NlLFxuICAgICAgICAvLyB3aGljaCBpcyBhbHdheXMgaW4gcGl4ZWxzIGJlY2F1c2UgZ2V0Q29tcHV0ZWRWYWx1ZVxuICAgICAgICAvLyByZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZXNcbiAgICAgICAgY29uc3QgZWxlbWVudENvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwcmV2aWV3UmVmKTtcbiAgICAgICAgY29uc3QgYm9yZGVyV2lkdGggPVxuICAgICAgICAgIHBhcnNlRmxvYXQoZWxlbWVudENvbXB1dGVkU3R5bGUuYm9yZGVyVG9wV2lkdGgpICtcbiAgICAgICAgICBwYXJzZUZsb2F0KGVsZW1lbnRDb21wdXRlZFN0eWxlLmJvcmRlckJvdHRvbVdpZHRoKTtcbiAgICAgICAgY29uc3QgbWFyZ2luV2lkdGggPVxuICAgICAgICAgIHBhcnNlRmxvYXQoZWxlbWVudENvbXB1dGVkU3R5bGUubWFyZ2luVG9wKSArXG4gICAgICAgICAgcGFyc2VGbG9hdChlbGVtZW50Q29tcHV0ZWRTdHlsZS5tYXJnaW5Cb3R0b20pO1xuXG4gICAgICAgIC8vIHRoZW4gYWRkIGFuIGV4dHJhIHBpeGVsIGZvciBzYWZldHkgYW5kIGJlY2F1c2UgdGhlIHNjcm9sbEhlaWdodCB2YWx1ZSBpcyByb3VuZGVkXG4gICAgICAgIGNvbnN0IGV4dHJhSGVpZ2h0ID0gYm9yZGVyV2lkdGggKyBtYXJnaW5XaWR0aCArIDE7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlID0gKCkgPT4ge1xuICAgICAgICAgIGlmIChwcmV2aWV3UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRIZWlnaHQgPSBwcmV2aWV3UmVmLnNjcm9sbEhlaWdodCArIGV4dHJhSGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBzY2hlZHVsZU9uY2UoJ2FmdGVyUmVuZGVyJywgdGhpcywgdXBkYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldFRleHRBcmVhUmVmKHJlZjogSFRNTFRleHRBcmVhRWxlbWVudCkge1xuICAgIHRoaXMudGV4dGFyZWFSZWYgPSByZWY7XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldEVkaXRvclRvb2xiYXJSZWYocmVmOiBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJTaWduYXR1cmVbJ0VsZW1lbnQnXSkge1xuICAgIHRoaXMuZWRpdG9yVG9vbGJhclJlZiA9IHJlZjtcbiAgICB0aGlzLmVkaXRvclRvb2xiYXJIZWlnaHQgPSByZWYub2Zmc2V0SGVpZ2h0O1xuICB9XG5cbiAgQGFjdGlvblxuICByZXBsYWNlTm9kZShwb3NpdGlvbjogRXVpTWFya2Rvd25Bc3ROb2RlUG9zaXRpb24sIG5leHQ6IHN0cmluZykge1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuYXJncy52YWx1ZTtcbiAgICBjb25zdCBsZWFkaW5nID0gdmFsdWUuc3Vic3RyKDAsIHBvc2l0aW9uLnN0YXJ0Lm9mZnNldCk7XG4gICAgY29uc3QgdHJhaWxpbmcgPSB2YWx1ZS5zdWJzdHIocG9zaXRpb24uZW5kLm9mZnNldCk7XG5cbiAgICB0aGlzLmFyZ3Mub25DaGFuZ2U_LihgJHtsZWFkaW5nfSR7bmV4dH0ke3RyYWlsaW5nfWApO1xuICB9XG5cbiAgZ2V0IGlzRWRpdGluZygpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3TW9kZSA9PT0gTU9ERV9FRElUSU5HO1xuICB9XG5cbiAgZ2V0IGlzUHJldmlld2luZygpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3TW9kZSA9PT0gTU9ERV9WSUVXSU5HO1xuICB9XG5cbiAgQGFjdGlvblxuICBzZXRWaWV3TW9kZSgpIHtcbiAgICB0aGlzLnZpZXdNb2RlID0gdGhpcy5pc1ByZXZpZXdpbmcgPyBNT0RFX0VESVRJTkcgOiBNT0RFX1ZJRVdJTkc7XG4gIH1cblxuICBAY2FjaGVkXG4gIGdldCBwYXJzZXIoKSB7XG4gICAgY29uc3QgQ29tcGlsZXIgPSAodHJlZTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gdHJlZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gaWRlbnRpdHlDb21waWxlcih0aGlzOiBQcm9jZXNzb3IpIHtcbiAgICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICB0aGlzLkNvbXBpbGVyID0gQ29tcGlsZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZWQoKS51c2UodGhpcy5wYXJzaW5nUGx1Z2luTGlzdCkudXNlKGlkZW50aXR5Q29tcGlsZXIpO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcGFyc2VkKCk6IFtcbiAgICBSZXR1cm5UeXBlPHR5cGVvZiB0aGlzLnBhcnNlci5wcm9jZXNzU3luYz4gfCBudWxsLFxuICAgIG51bGwgfCB1bmtub3duXG4gIF0ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnBhcnNlci5wcm9jZXNzU3luYyh0aGlzLmFyZ3MudmFsdWUpO1xuXG4gICAgICByZXR1cm4gW3BhcnNlZCwgbnVsbF07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIFtudWxsLCBlXTtcbiAgICB9XG4gIH1cblxuICBnZXQgdkZpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VkWzBdO1xuICB9XG5cbiAgQGFjdGlvblxuICBvblBhcnNlKCkge1xuICAgIGlmICh0aGlzLmFyZ3Mub25QYXJzZSkge1xuICAgICAgY29uc3QgW3BhcnNlZCwgcGFyc2VFcnJvcl0gPSB0aGlzLnBhcnNlZDtcbiAgICAgIGNvbnN0IG9uUGFyc2UgPSB0aGlzLmFyZ3Mub25QYXJzZTtcbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gcGFyc2VkID8gcGFyc2VkLm1lc3NhZ2VzIDogW107XG4gICAgICBjb25zdCBhc3QgPSBwYXJzZWQgPyBwYXJzZWRbJ3Jlc3VsdCddID8_IHBhcnNlZC5jb250ZW50cyA6IG51bGw7XG5cbiAgICAgIG9uUGFyc2UocGFyc2VFcnJvciwgeyBtZXNzYWdlcywgYXN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2V0U2VsZWN0ZWROb2RlKG5vZGU6IE5vZGUpIHtcbiAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPGRpdlxuICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgIFwiZXVpTWFya2Rvd25FZGl0b3JcIlxuICAgICAgICAoaWYgKGVxIHRoaXMuaGVpZ2h0IFwiZnVsbFwiKSBcImV1aU1hcmtkb3duRWRpdG9yLS1mdWxsSGVpZ2h0XCIpXG4gICAgICAgIChpZiB0aGlzLmlzUHJldmlld2luZyBcImV1aU1hcmtkb3duRWRpdG9yLS1pc1ByZXZpZXdpbmdcIilcbiAgICAgIH19XG4gICAgICB7e2RpZFVwZGF0ZVxuICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnRIZWlnaHRcbiAgICAgICAgdGhpcy5jdXJyZW50SGVpZ2h0XG4gICAgICAgIHRoaXMuaXNQcmV2aWV3aW5nXG4gICAgICAgIHRoaXMuaGVpZ2h0XG4gICAgICAgIHRoaXMuYXV0b0V4cGFuZFByZXZpZXdcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhclxuICAgICAgICBAc2VsZWN0ZWROb2RlPXt7dGhpcy5zZWxlY3RlZE5vZGV9fVxuICAgICAgICBAbWFya2Rvd25BY3Rpb25zPXt7dGhpcy5tYXJrZG93bkFjdGlvbnN9fVxuICAgICAgICBAb25DbGlja1ByZXZpZXc9e3t0aGlzLnNldFZpZXdNb2RlfX1cbiAgICAgICAgQHZpZXdNb2RlPXt7dGhpcy52aWV3TW9kZX19XG4gICAgICAgIEB1aVBsdWdpbnM9e3t0aGlzLnRvb2xiYXJQbHVnaW5zfX1cbiAgICAgICAge3tkaWRJbnNlcnQgdGhpcy5zZXRFZGl0b3JUb29sYmFyUmVmfX1cbiAgICAgIC8-XG4gICAgICB7eyNpZiB0aGlzLmlzUHJldmlld2luZ319XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yUHJldmlld1wiXG4gICAgICAgICAge3tkaWRJbnNlcnQgKHNldCB0aGlzIFwicHJldmlld1JlZlwiKX19XG4gICAgICAgICAge3tzdHlsZSAoaGFzaCBoZWlnaHQ9dGhpcy5wcmV2aWV3SGVpZ2h0KX19XG4gICAgICAgID5cbiAgICAgICAgICA8RXVpTWFya2Rvd25Gb3JtYXRcbiAgICAgICAgICAgIEBwYXJzaW5nUGx1Z2luTGlzdD17e3RoaXMucGFyc2luZ1BsdWdpbkxpc3R9fVxuICAgICAgICAgICAgQHByb2Nlc3NpbmdQbHVnaW5MaXN0PXt7dGhpcy5wcm9jZXNzaW5nUGx1Z2luTGlzdH19XG4gICAgICAgICAgICBAdmFsdWU9e3tAdmFsdWV9fVxuICAgICAgICAgICAgQHJlcGxhY2VOb2RlPXt7dGhpcy5yZXBsYWNlTm9kZX19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY-XG4gICAgICB7ey9pZn19XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJldWlNYXJrZG93bkVkaXRvcl9fdG9nZ2xlQ29udGFpbmVyXCJcbiAgICAgICAge3tzdHlsZSBoZWlnaHQ9dGhpcy5lZGl0b3JUb2dnbGVDb250YWluZXJIZWlnaHR9fVxuICAgICAgPlxuICAgICAgICA8RXVpTWFya2Rvd25FZGl0b3JEcm9wWm9uZVxuICAgICAgICAgIEB1aVBsdWdpbnM9e3t0aGlzLnRvb2xiYXJQbHVnaW5zfX1cbiAgICAgICAgICB7e3Jlc2l6ZU9ic2VydmVyIG9uUmVzaXplPXRoaXMub25SZXNpemV9fVxuICAgICAgICA-XG4gICAgICAgICAgPEV1aU1hcmtkb3duRWRpdG9yVGV4dEFyZWFcbiAgICAgICAgICAgIHt7Z2V0Q3Vyc29yTm9kZU1vZGlmaWVyIHRoaXMudkZpbGUgdGhpcy5zZXRTZWxlY3RlZE5vZGV9fVxuICAgICAgICAgICAge3tkaWRVcGRhdGUgdGhpcy5vblBhcnNlIHRoaXMucGFyc2VkfX1cbiAgICAgICAgICAgIHt7ZGlkSW5zZXJ0IHRoaXMuc2V0VGV4dEFyZWFSZWZ9fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3tAZGlzYWJsZWR9fVxuICAgICAgICAgICAgaWQ9e3t0aGlzLmVkaXRvcklkfX1cbiAgICAgICAgICAgIEBoZWlnaHQ9e3t0aGlzLnRleHRBcmVhSGVpZ2h0fX1cbiAgICAgICAgICAgIEBtYXhIZWlnaHQ9e3t0aGlzLnRleHRBcmVhTWF4SGVpZ2h0fX1cbiAgICAgICAgICAgIHZhbHVlPXt7QHZhbHVlfX1cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3tAYXJpYUxhYmVsfX1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17e0BhcmlhTGFiZWxsZWRCeX19XG4gICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXt7QGFyaWFEZXNjcmliZWRCeX19XG4gICAgICAgICAgICB7e29uIFwiaW5wdXRcIiAocGljayBcInRhcmdldC52YWx1ZVwiIEBvbkNoYW5nZSl9fVxuICAgICAgICAgICAge3t2YWxpZGF0YWJsZUNvbnRyb2wgQGlzSW52YWxpZH19XG4gICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9FdWlNYXJrZG93bkVkaXRvckRyb3Bab25lPlxuICAgICAgPC9kaXY-XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxNQUFNLEVBQUUsT0FBTyxRQUFRLG9CQUFvQjtBQUNwRCxTQUFTLElBQUksUUFBUSxnQkFBZ0I7QUFDckMsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBQ3JDLFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxTQUFTLE9BQU8sUUFBUSwwQkFBMEI7QUFDbEQsT0FBTyxlQUFlLCtDQUErQztBQUNyRSxPQUFPLGVBQWUsK0NBQStDO0FBQ3JFLFNBQVMsWUFBWSxRQUFRLGlCQUFpQjtBQUU5QyxPQUFPLFVBQVUsd0NBQXdDO0FBQ3pELFNBQVMsUUFBUSxRQUFRLGlCQUFpQjtBQUMxQyxPQUFPLFNBQVMsK0JBQStCO0FBQy9DLE9BQU8sV0FBVyx1Q0FBdUM7QUFDekQsU0FBUyxFQUFFLEVBQUUsR0FBRyxRQUFRLHNCQUFzQjtBQUM5QyxPQUFPLGFBQWEsVUFBVTtBQUU5QixTQUFTLHFCQUFxQixRQUFRLCtCQUErQjtBQUNyRSxPQUFPLGdCQUFnQiw0QkFBNEI7QUFDbkQsT0FBTyxvQkFBb0Isa0NBQWtDO0FBQzdELE9BQU8sd0JBQXdCLHNDQUFzQztBQUNyRSxPQUFPLHFCQUFxQix3Q0FBd0M7QUFDcEUsU0FBUyxZQUFZLEVBQUUsWUFBWSxRQUFRLHNDQUFzQztBQUNqRixTQUNFLHFCQUFxQixFQUNyQix3QkFBd0IsUUFDbkIsOERBQThEO0FBQ3JFLFlBQVksMkJBQTJCLHNEQUFzRDtBQUM3RixPQUFPLCtCQUErQixzQ0FBc0M7QUFDNUUsT0FBTywrQkFBK0Isc0NBQXNDO0FBQzVFLE9BQU8sOEJBQThCLG9DQUFvQztBQUN6RSxPQUFPLHVCQUF1Qiw0QkFBNEI7QUFFMUQsY0FDRSxrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLHlCQUF5QixRQUNwQixtQ0FBbUM7QUFDMUMsY0FBYyxrQ0FBa0MsUUFBUSxrQ0FBa0M7QUFDMUYsY0FBYyxpQ0FBaUMsUUFBUSxnQ0FBZ0M7QUFDdkYsY0FBYyxTQUFTLFFBQVEsVUFBVTtBQUV6QyxpQkFBaUI7SUFDZixrQkFBa0IsTUFBTTtJQUN4QixXQUFXLE1BQU07SUFDakIsV0FBVztJQUNYLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNO0lBQ2IsV0FBVyxLQUFLLE1BQU0sS0FBSyxJQUFJO0lBQy9CLFdBQ0UsWUFBWSxPQUFPLEdBQUcsSUFBSSxFQUMxQjtRQUFVLFVBQVUsR0FBRztRQUFJLEtBQUssR0FBRztVQUNoQyxJQUFJO0lBQ1QsU0FBUyxNQUFNLEdBQUcsTUFBTTtJQUN4QixZQUFZLE1BQU0sR0FBRyxNQUFNO0lBQzNCLG9CQUFvQixPQUFPO0lBQzNCLFdBQVcsT0FBTztJQUNsQixZQUFZLE9BQU87SUFDbkIsWUFBWSxNQUFNO0lBQ2xCLGlCQUFpQixNQUFNO0lBQ3ZCLGtCQUFrQixNQUFNOztBQUcxQixpQkFBaUI7SUFDZixTQUFTLG1DQUFtQztJQUM1QyxNQUFNO0lBQ047UUFDRTs7O0FBSUosT0FBTyxNQUFNLGdCQUFnQixDQUMzQixjQUFhLGtCQUNiLFNBQVEsR0FBRyxHQUNWO0lBQ0QsTUFBTSxFQUFFLGdCQUFBLGVBQWMsRUFBRSxHQUFHO0lBRTNCLElBQUksT0FBTSxxQkFBcUIsUUFBTyxNQUFNLElBQUksUUFBTyxRQUFRO0lBRS9ELDBCQUEwQjtJQUMxQixPQUFPLE1BQU8sS0FBTTtRQUNsQixJQUFJLE1BQUssUUFBUSxFQUFFO1lBQ2pCLElBQUssSUFBSSxLQUFJLEdBQUcsS0FBSSxNQUFLLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSztnQkFDN0MsTUFBTSxTQUFRLE1BQUssUUFBUSxDQUFDLEdBQUU7Z0JBRTlCLElBQ0UsVUFDQSxPQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsbUJBQWtCLE1BQU0sS0FDdkQsQ0FBQyxtQkFBa0IsTUFBTSxJQUFJLE9BQU0sUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQ3REO29CQUNBLElBQUksT0FBTSxJQUFJLEtBQUssUUFBUSxNQUFNLE9BQU8sK0JBQStCO29CQUN2RSxRQUFPO29CQUNQLFNBQVM7Z0JBQ1g7WUFDRjtRQUNGO1FBRUE7SUFDRjtJQUVBLE9BQU87QUFDVCxFQUFFO0FBRUYsU0FBUyxRQUNQLFdBQVUsZ0JBQWdCLEVBQzFCLFNBQVEsR0FBRyxFQUNYLFlBQVcsTUFBTSx1QkFBdUIsSUFBSTtJQUU1QyxNQUFNLFFBQU8sY0FBYyxXQUFVO0lBRXJDLFVBQVM7QUFDWDtBQUVBLE9BQU8sTUFBTSx3QkFBd0IsU0FBUyxTQUFTLHVCQUNyRCxXQUFVLG1DQUFtQyxVQUFVLEVBQ3ZELENBQUMsU0FBUSxtQkFBa0IsR0FBRyxHQUFHLE1BQU0sU0FBUyxJQUFJLENBQUM7SUFFckQsa0JBQWtCO0lBQ2xCLE1BQU0sTUFBSyxRQUFRLElBQUksQ0FBQyxNQUFNLFdBQVUsU0FBUTtJQUVoRCxVQUFTLGdCQUFnQixDQUFDLFNBQVM7SUFDbkMsVUFBUyxnQkFBZ0IsQ0FBQyxXQUFXO0lBRXJDLE9BQU87UUFDTCxVQUFTLG1CQUFtQixDQUFDLFNBQVM7UUFDdEMsVUFBUyxtQkFBbUIsQ0FBQyxXQUFXO0lBQzFDO0FBQ0YsR0FBRztBQUVILGVBQWUsTUFBTSxtQ0FBbUMsVUFBVTtJQUNoRSxXQUFXO0lBQ1gsQ0FBQyxzQkFBc0I7SUFBK0IsMEJBQTBCLHNCQUFzQjtJQUV0RyxDQUFDLHNCQUFzQjtJQUFhLFFBQVEsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUM1RCxDQUFDLHNCQUFzQjtJQUFhLFdBQVcsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUMvRCxDQUFDLHNCQUFzQjtJQUFjLG1CQUFtQixPQUFPLENBQUM7SUFFaEUsQ0FBQyxzQkFBc0I7SUFBa0MsNkJBQTZCLHlCQUF5QjtJQUUvRyxDQUFDO0lBQVEsY0FBYyxPQUFPLElBQUksR0FBRyxLQUFLO0lBQzFDLENBQUM7SUFBUSxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxHQUFHO0lBQ3RELENBQUM7SUFBUSxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLGFBQWE7SUFDOUQsQ0FBQztJQUFRLGFBQWEsc0JBQXNCLElBQUksR0FBRyxLQUFLO0lBQ3hELENBQUM7SUFBUSxZQUFZLGlCQUFpQixJQUFJLEdBQUcsS0FBSztJQUNsRCxDQUFDO0lBQVEsa0JBQWtCLGlCQUFpQixJQUFJLEdBQUcsS0FBSztJQUN4RCxDQUFDO0lBQVEsZUFBZSxNQUFNLEdBQUcsTUFBTSxHQUFHLElBQUk7SUFDOUMsQ0FBQztJQUFRLG9CQUFvQixNQUFNLEdBQUcsRUFBRTtJQUN4QyxDQUFDO0lBQVEscUJBQXFCLE1BQU0sR0FBRyxFQUFFO0lBRXpDLGlCQUFpQixnQkFBZ0I7SUFFakMsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTztZQUFDLHNCQUFzQixNQUFNO2VBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFO1NBQUU7SUFDdkU7SUFFQSxZQUFZLFFBQU8sT0FBTyxFQUFFLE9BQU0scUJBQXFCLENBQUU7UUFDdkQsS0FBSyxDQUFDLFFBQU87UUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZ0JBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQ2IsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxjQUFjO1FBRXJCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU07SUFDbEM7SUFFQSxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUTtZQUMxQixPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7UUFDcEQ7UUFFQSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztJQUNsQztJQUVBLElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUNuQixTQUNBLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztJQUNwRTtJQUVBLElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUNuQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEdBQzNEO0lBQ047SUFFQSxJQUFJLDhCQUE4QjtRQUNoQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUM7SUFDckQ7SUFFQSxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUTtZQUNoRSxNQUFNLHlCQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0I7WUFFekQsTUFBTSxVQUFTO2dCQUNiLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDdkI7WUFFQSxhQUFhLGVBQWUsSUFBSSxFQUFFO1FBQ3BDO0lBQ0Y7SUFFQSxDQUFDO0lBQ0Qsc0JBQXNCO1FBQ3BCLElBQUksRUFBRSxjQUFBLGFBQVksRUFBRSxtQkFBQSxrQkFBaUIsRUFBRSxRQUFBLE9BQU0sRUFBRSxZQUFBLFdBQVUsRUFBRSxlQUFBLGNBQWEsRUFBRSxHQUN4RSxJQUFJO1FBRU4sSUFBSSxpQkFBZ0Isc0JBQXFCLFlBQVcsVUFBVSxhQUFZO1lBQ3hFLFlBQVk7WUFDWixJQUFJLFlBQVcsWUFBWSxHQUFHLGdCQUFlO2dCQUMzQyxxREFBcUQ7Z0JBQ3JELDhDQUE4QztnQkFDOUMscURBQXFEO2dCQUNyRCw4QkFBOEI7Z0JBQzlCLE1BQU0sd0JBQXVCLE9BQU8sZ0JBQWdCLENBQUM7Z0JBQ3JELE1BQU0sZUFDSixXQUFXLHNCQUFxQixjQUFjLElBQzlDLFdBQVcsc0JBQXFCLGlCQUFpQjtnQkFDbkQsTUFBTSxlQUNKLFdBQVcsc0JBQXFCLFNBQVMsSUFDekMsV0FBVyxzQkFBcUIsWUFBWTtnQkFFOUMsbUZBQW1GO2dCQUNuRixNQUFNLGVBQWMsZUFBYyxlQUFjO2dCQUVoRCxNQUFNLFVBQVM7b0JBQ2IsSUFBSSxhQUFZO3dCQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBVyxZQUFZLEdBQUc7b0JBQ2pEO2dCQUNGO2dCQUVBLGFBQWEsZUFBZSxJQUFJLEVBQUU7WUFDcEM7UUFDRjtJQUNGO0lBRUEsQ0FBQztJQUNELGVBQWUsTUFBSyxtQkFBbUIsRUFBRTtRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHO0lBQ3JCO0lBRUEsQ0FBQztJQUNELG9CQUFvQixNQUFLLGtDQUFrQyxVQUFVLEVBQUU7UUFDckUsSUFBSSxDQUFDLGdCQUFnQixHQUFHO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFJLFlBQVk7SUFDN0M7SUFFQSxDQUFDO0lBQ0QsWUFBWSxXQUFVLDBCQUEwQixFQUFFLE9BQU0sTUFBTSxFQUFFO1FBQzlELElBQUksU0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFDM0IsTUFBTSxXQUFVLE9BQU0sTUFBTSxDQUFDLEdBQUcsVUFBUyxLQUFLLENBQUMsTUFBTTtRQUNyRCxNQUFNLFlBQVcsT0FBTSxNQUFNLENBQUMsVUFBUyxHQUFHLENBQUMsTUFBTTtRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsU0FBUSxFQUFFLE1BQUssRUFBRSxVQUFTLENBQUM7SUFDckQ7SUFFQSxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUs7SUFDM0I7SUFFQSxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLO0lBQzNCO0lBRUEsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZTtJQUNyRDtJQUVBLENBQUM7SUFBTSxJQUNILFNBQVM7UUFDWCxNQUFNLFlBQVcsQ0FBQyxPQUFNLEdBQUc7WUFDekIsT0FBTztRQUNUO1FBRUEsU0FBUyxrQkFBaUIsT0FBTSxTQUFTO1lBQ3ZDLDBCQUEwQjtZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHO1FBQ2xCO1FBRUEsT0FBTyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDO0lBQ25EO0lBRUEsQ0FBQztJQUFNLElBQ0gsV0FDRixrQkFBa0IsS0FBSyxPQUFPLGVBQWUsSUFBSSxFQUNqRCxJQUFJLEdBQUcsT0FBTyxFQUNkO1FBQ0EsSUFBSTtZQUNGLE1BQU0sVUFBUyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFFdEQsT0FBTztnQkFBQztnQkFBUTthQUFLO1FBQ3ZCLEVBQUUsT0FBTyxJQUFHO1lBQ1YsT0FBTztnQkFBQztnQkFBTTthQUFFO1FBQ2xCO0lBQ0Y7SUFFQSxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtJQUN2QjtJQUVBLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNyQixNQUFNLENBQUMsU0FBUSxZQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDeEMsTUFBTSxXQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNqQyxNQUFNLFlBQVcsVUFBUyxRQUFPLFFBQVEsR0FBRyxFQUFFO1lBQzlDLE1BQU0sT0FBTSxVQUFTLE9BQU0sQ0FBQyxTQUFTLElBQUksUUFBTyxRQUFRLEdBQUc7WUFFM0QsU0FBUSxhQUFZO2dCQUFFLFVBQUE7Z0JBQVUsS0FBQTtZQUFJO1FBQ3RDO0lBQ0Y7SUFFQSxDQUFDO0lBQ0QsZ0JBQWdCLE9BQU0sSUFBSSxFQUFFO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUc7SUFDdEI7SUFFQSxNQUFBO1FBQUEsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWlFVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FqRUE7QUFrRVoifQ"],"names":["cached","macroCondition","dependencySatisfies","importSync","getCursorNode","textareaRef1","parsed1","selectionStart","selectionStart1","node1","result","contents","outer","children","i1","length","child1","position","start","offset","end","type","wrapper","textarea1","callback1","getCursorNodeModifier","modifier","getCursorNodeModifier1","onSelectedNode1","fn1","bind","addEventListener","removeEventListener","EuiMarkdownEditorComponent","Component","g","this","prototype","argOrDefaultDecorator","defaultParsingPlugins","i","void 0","defaultProcessingPlugins","tracked","args","editorId","guidFor","initialViewMode","MODE_EDITING","markdownActions","toolbarPlugins","MarkdownTooltipPlugin","uiPlugins","constructor","owner1","args1","MarkdownActions","currentHeight","height","previewHeight","editorFooterHeight","textAreaHeight","textAreaMaxHeight","maxHeight","editorToggleContainerHeight","editorToolbarHeight","onResize","textareaRef","isEditing","resizedTextareaHeight1","offsetHeight","update1","scheduleOnce","n","action","updateCurrentHeight","isPreviewing","isPreviewing1","autoExpandPreview","autoExpandPreview1","height1","previewRef","previewRef1","currentHeight1","scrollHeight","elementComputedStyle1","window","getComputedStyle","borderWidth1","parseFloat","borderTopWidth","borderBottomWidth","marginWidth1","marginTop","marginBottom","extraHeight1","setTextAreaRef","ref1","setEditorToolbarRef","editorToolbarRef","replaceNode","position1","next1","value1","value","leading1","substr","trailing1","onChange","viewMode","MODE_VIEWING","setViewMode","parser","Compiler1","tree1","identityCompiler1","this1","Compiler","unified","use","parsingPluginList","parsed","processSync","e1","vFile","onParse","parseError1","onParse1","messages1","messages","ast1","ast","setSelectedNode","selectedNode","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","didUpdate","EuiMarkdownEditorToolbar","didInsert","set","style","hash","EuiMarkdownFormat","EuiMarkdownEditorDropZone","resizeObserver","EuiMarkdownEditorTextArea","on","pick","validatableControl"],"mappings":"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"}
1
+ {"version":3,"file":"eui-markdown-editor.js","sources":["../../src/components/eui-markdown-editor.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { scheduleOnce } from '@ember/runloop';\nimport type Owner from '@ember/owner';\n\nimport pick from 'ember-composable-helpers/helpers/pick';\nimport { modifier } from 'ember-modifier';\nimport set from 'ember-set-helper/helpers/set';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { eq } from 'ember-truth-helpers';\nimport unified from 'unified';\n\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport validatableControl from '../modifiers/validatable-control.ts';\nimport MarkdownActions, {\n insertText\n} from '../utils/markdown/markdown-actions.ts';\nimport { MODE_EDITING, MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport {\n defaultParsingPlugins,\n defaultProcessingPlugins\n} from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport * as MarkdownTooltipPlugin from '../utils/markdown/plugins/markdown-tooltip/index.ts';\nimport EuiMarkdownEditorDropZone from './eui-markdown-editor-drop-zone.gts';\nimport EuiMarkdownEditorTextArea from './eui-markdown-editor-text-area.gts';\nimport EuiMarkdownEditorToolbar from './eui-markdown-editor-toolbar.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport EuiModal from './eui-modal.gts';\n\nimport type {\n EuiMarkdownAstNode,\n EuiMarkdownAstNodePosition,\n EuiMarkdownEditorUiPlugin\n} from '../utils/markdown/markdown-types';\nimport type { EuiMarkdownEditorTextAreaSignature } from './eui-markdown-editor-text-area';\nimport type { EuiMarkdownEditorToolbarSignature } from './eui-markdown-editor-toolbar';\nimport type { Processor } from 'unified';\n\nexport interface EuiMarkdownEditorArgs {\n initialViewMode?: string;\n editorId?: string;\n uiPlugins: EuiMarkdownEditorUiPlugin[];\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n value: string;\n onChange: (str: string) => void;\n onParse?: (\n parseError: unknown | null,\n parsed: { messages: any[]; ast: any }\n ) => void;\n height?: number | string;\n maxHeight?: number | string;\n autoExpandPreview?: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\n\nexport interface EuiMarkdownEditorSignature {\n Element: EuiMarkdownEditorTextAreaSignature['Element'];\n Args: EuiMarkdownEditorArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport const getCursorNode = (\n textareaRef: HTMLTextAreaElement,\n parsed: any\n): EuiMarkdownAstNode => {\n const { selectionStart } = textareaRef;\n\n let node: EuiMarkdownAstNode = parsed.result ?? parsed.contents;\n\n //eslint-disable-next-line\n outer: while (true) {\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n\n if (\n child &&\n child.position.start.offset < (selectionStart as number) &&\n (selectionStart as number) < child.position.end.offset\n ) {\n if (child.type === 'text') break outer; // don't dive into `text` nodes\n node = child;\n continue outer;\n }\n }\n }\n\n break;\n }\n\n return node;\n};\n\nfunction wrapper(\n textarea: HTMLTextAreaElement,\n parsed: any,\n callback: (node: EuiMarkdownAstNode) => void\n) {\n const node = getCursorNode(textarea, parsed);\n\n callback(node);\n}\n\nexport const getCursorNodeModifier = modifier(function getCursorNodeModifier(\n textarea: EuiMarkdownEditorTextAreaSignature['Element'],\n [parsed, onSelectedNode]: [any, (node: Node) => void]\n) {\n //@ts-expect-error\n const fn = wrapper.bind(null, textarea, parsed, onSelectedNode);\n\n textarea.addEventListener('keyup', fn);\n textarea.addEventListener('mouseup', fn);\n\n return () => {\n textarea.removeEventListener('keyup', fn);\n textarea.removeEventListener('mouseup', fn);\n };\n});\n\nfunction isNewLine(char: string | undefined): boolean {\n if (char == null) return true;\n\n return !!char.match(/[\\r\\n]/);\n}\n\nfunction padWithNewlinesIfNeeded(textarea: HTMLTextAreaElement, text: string) {\n const selectionStart = textarea.selectionStart;\n const selectionEnd = textarea.selectionEnd;\n\n // block parsing requires two leading new lines and none trailing, but we add an extra trailing line for readability\n const isPrevNewLine = isNewLine(textarea.value[selectionStart - 1]);\n const isPrevPrevNewLine = isNewLine(textarea.value[selectionStart - 2]);\n const isNextNewLine = isNewLine(textarea.value[selectionEnd]);\n\n // pad text with newlines as needed\n text = `${isPrevNewLine ? '' : '\\n'}${isPrevPrevNewLine ? '' : '\\n'}${text}${\n isNextNewLine ? '' : '\\n'\n }`;\n\n return text;\n}\n\nexport default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEditorSignature> {\n @tracked pluginEditorPlugin?: EuiMarkdownEditorUiPlugin;\n\n // Defaults\n @argOrDefaultDecorator(defaultParsingPlugins) declare parsingPluginList: typeof defaultParsingPlugins;\n\n @argOrDefaultDecorator(250) declare height: number | string;\n @argOrDefaultDecorator(500) declare maxHeight: number | string;\n @argOrDefaultDecorator(true) declare autoExpandPreview: boolean;\n\n @argOrDefaultDecorator(defaultProcessingPlugins) declare processingPluginList: typeof defaultProcessingPlugins;\n\n @tracked selectedNode: Node | null = null;\n @tracked editorId = this.args.editorId ?? guidFor({});\n @tracked viewMode = this.args.initialViewMode || MODE_EDITING;\n @tracked textareaRef: HTMLTextAreaElement | null = null;\n @tracked previewRef: HTMLDivElement | null = null;\n @tracked editorToolbarRef: HTMLDivElement | null = null;\n @tracked currentHeight: number | string = 250;\n @tracked editorFooterHeight: number = 0;\n @tracked editorToolbarHeight: number = 0;\n\n markdownActions: MarkdownActions;\n\n get toolbarPlugins() {\n return [MarkdownTooltipPlugin.plugin, ...(this.args.uiPlugins || [])];\n }\n\n constructor(owner: Owner, args: EuiMarkdownEditorArgs) {\n super(owner, args);\n this.markdownActions = new MarkdownActions(\n this.editorId,\n this.toolbarPlugins\n );\n this.currentHeight = this.height;\n }\n\n get previewHeight() {\n if (this.height === 'full') {\n return `calc(100% - ${this.editorFooterHeight}px)`;\n }\n\n return `${this.currentHeight}px`;\n }\n\n get textAreaHeight() {\n return this.height === 'full'\n ? '100%'\n : `calc(${(this.height as number) - this.editorFooterHeight}px)`;\n }\n\n get textAreaMaxHeight() {\n return this.height !== 'full'\n ? `${(this.maxHeight as number) - this.editorFooterHeight}px`\n : '';\n }\n\n get editorToggleContainerHeight() {\n return `calc(100% - ${this.editorToolbarHeight}px)`;\n }\n\n @action\n onResize() {\n if (this.textareaRef && this.isEditing && this.height !== 'full') {\n const resizedTextareaHeight =\n this.textareaRef.offsetHeight + this.editorFooterHeight;\n\n const update = () => {\n this.currentHeight = resizedTextareaHeight;\n };\n\n scheduleOnce('afterRender', this, update);\n }\n }\n\n @action\n updateCurrentHeight() {\n let { isPreviewing, autoExpandPreview, height, previewRef, currentHeight } =\n this;\n\n if (isPreviewing && autoExpandPreview && height !== 'full' && previewRef) {\n //@ts-ignore\n if (previewRef.scrollHeight > currentHeight) {\n // scrollHeight does not include the border or margin\n // so we ask for the computed value for those,\n // which is always in pixels because getComputedValue\n // returns the resolved values\n const elementComputedStyle = window.getComputedStyle(previewRef);\n const borderWidth =\n parseFloat(elementComputedStyle.borderTopWidth) +\n parseFloat(elementComputedStyle.borderBottomWidth);\n const marginWidth =\n parseFloat(elementComputedStyle.marginTop) +\n parseFloat(elementComputedStyle.marginBottom);\n\n // then add an extra pixel for safety and because the scrollHeight value is rounded\n const extraHeight = borderWidth + marginWidth + 1;\n\n const update = () => {\n if (previewRef) {\n this.currentHeight = previewRef.scrollHeight + extraHeight;\n }\n };\n\n scheduleOnce('afterRender', this, update);\n }\n }\n }\n\n getCursorNode = () => {};\n\n @action\n setTextAreaRef(ref: HTMLTextAreaElement) {\n this.textareaRef = ref;\n }\n\n @action\n setEditorToolbarRef(ref: EuiMarkdownEditorToolbarSignature['Element']) {\n this.editorToolbarRef = ref;\n this.editorToolbarHeight = ref.offsetHeight;\n }\n\n @action\n replaceNode(position: EuiMarkdownAstNodePosition, next: string) {\n let value = this.args.value;\n const leading = value.substr(0, position.start.offset);\n const trailing = value.substr(position.end.offset);\n\n this.args.onChange?.(`${leading}${next}${trailing}`);\n }\n\n get isEditing() {\n return this.viewMode === MODE_EDITING;\n }\n\n get isPreviewing() {\n return this.viewMode === MODE_VIEWING;\n }\n\n @action\n setViewMode() {\n this.viewMode = this.isPreviewing ? MODE_EDITING : MODE_VIEWING;\n }\n\n @cached\n get parser() {\n const Compiler = (tree: any) => {\n return tree;\n };\n\n function identityCompiler(this: Processor) {\n //eslint-disable-next-line\n this.Compiler = Compiler;\n }\n\n return unified().use(this.parsingPluginList).use(identityCompiler);\n }\n\n @cached\n get parsed(): [\n ReturnType<typeof this.parser.processSync> | null,\n null | unknown\n ] {\n try {\n const parsed = this.parser.processSync(this.args.value);\n\n return [parsed, null];\n } catch (e) {\n return [null, e];\n }\n }\n\n get vFile() {\n return this.parsed[0];\n }\n\n @action\n onParse() {\n if (this.args.onParse) {\n const [parsed, parseError] = this.parsed;\n const onParse = this.args.onParse;\n const messages = parsed ? parsed.messages : [];\n const ast = parsed ? parsed['result'] ?? parsed.contents : null;\n\n onParse(parseError, { messages, ast });\n }\n }\n\n @action\n setSelectedNode(node: Node) {\n this.selectedNode = node;\n }\n\n openPluginEditor = (plugin: EuiMarkdownEditorUiPlugin) => {\n this.pluginEditorPlugin = plugin;\n };\n\n onEditorPluginSave = (markdown: any, config: any) => {\n let { selectedNode, textareaRef } = this;\n\n if (\n this.pluginEditorPlugin &&\n selectedNode &&\n // @ts-expect-error\n selectedNode.type === this.pluginEditorPlugin.name &&\n // @ts-expect-error\n selectedNode.position\n ) {\n // modifying an existing node\n textareaRef!.setSelectionRange(\n // @ts-expect-error\n selectedNode.position.start.offset,\n // @ts-expect-error\n selectedNode.position.end.offset\n );\n } else {\n // creating a new node\n if (config.block) {\n // inject newlines if needed\n markdown = padWithNewlinesIfNeeded(textareaRef!, markdown);\n }\n }\n\n insertText(textareaRef!, {\n text: markdown,\n selectionStart: undefined,\n selectionEnd: undefined\n });\n\n this.pluginEditorPlugin = undefined;\n };\n\n <template>\n <div\n class={{classNames\n \"euiMarkdownEditor\"\n (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\")\n (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")\n }}\n {{didUpdate\n this.updateCurrentHeight\n this.currentHeight\n this.isPreviewing\n this.height\n this.autoExpandPreview\n }}\n >\n <EuiMarkdownEditorToolbar\n @selectedNode={{this.selectedNode}}\n @markdownActions={{this.markdownActions}}\n @onClickPreview={{this.setViewMode}}\n @openPluginEditor={{this.openPluginEditor}}\n @viewMode={{this.viewMode}}\n @uiPlugins={{this.toolbarPlugins}}\n {{didInsert this.setEditorToolbarRef}}\n />\n {{#if this.isPreviewing}}\n <div\n class=\"euiMarkdownEditorPreview\"\n {{didInsert (set this \"previewRef\")}}\n {{style (hash height=this.previewHeight)}}\n >\n <EuiMarkdownFormat\n @parsingPluginList={{this.parsingPluginList}}\n @processingPluginList={{this.processingPluginList}}\n @value={{@value}}\n @replaceNode={{this.replaceNode}}\n />\n </div>\n {{/if}}\n\n <div\n class=\"euiMarkdownEditor__toggleContainer\"\n {{style height=this.editorToggleContainerHeight}}\n >\n <EuiMarkdownEditorDropZone\n @uiPlugins={{this.toolbarPlugins}}\n {{resizeObserver onResize=this.onResize}}\n >\n <EuiMarkdownEditorTextArea\n {{getCursorNodeModifier this.vFile this.setSelectedNode}}\n {{didUpdate this.onParse this.parsed}}\n {{didInsert this.setTextAreaRef}}\n disabled={{@disabled}}\n id={{this.editorId}}\n @height={{this.textAreaHeight}}\n @maxHeight={{this.textAreaMaxHeight}}\n value={{@value}}\n aria-label={{@ariaLabel}}\n aria-labelledby={{@ariaLabelledBy}}\n aria-describedby={{@ariaDescribedBy}}\n {{on \"input\" (pick \"target.value\" @onChange)}}\n {{validatableControl @isInvalid}}\n ...attributes\n />\n </EuiMarkdownEditorDropZone>\n {{#if this.pluginEditorPlugin.editor}}\n <EuiModal @onClose={{set this \"pluginEditorPlugin\" undefined}}>\n {{#let (component this.pluginEditorPlugin.editor) as |Editor|}}\n <Editor\n @node={{this.selectedNode}}\n @onCancel={{set this \"pluginEditorPlugin\" undefined}}\n @onSave={{this.onEditorPluginSave}}\n />\n {{/let}}\n </EuiModal>\n {{/if}}\n </div>\n </div>\n </template>\n}\n"],"names":["getCursorNode","textareaRef","parsed","selectionStart","node","result","contents","outer","children","i","length","child","position","start","offset","end","type","wrapper","textarea","callback","getCursorNodeModifier","modifier","onSelectedNode","fn","bind","addEventListener","removeEventListener","isNewLine","char","match","padWithNewlinesIfNeeded","text","selectionEnd","isPrevNewLine","value","isPrevPrevNewLine","isNextNewLine","EuiMarkdownEditorComponent","Component","g","prototype","tracked","void 0","argOrDefaultDecorator","defaultParsingPlugins","defaultProcessingPlugins","args","editorId","guidFor","initialViewMode","MODE_EDITING","markdownActions","toolbarPlugins","MarkdownTooltipPlugin","uiPlugins","constructor","owner","MarkdownActions","currentHeight","height","previewHeight","editorFooterHeight","textAreaHeight","textAreaMaxHeight","maxHeight","editorToggleContainerHeight","editorToolbarHeight","onResize","isEditing","resizedTextareaHeight","offsetHeight","update","scheduleOnce","n","action","updateCurrentHeight","isPreviewing","autoExpandPreview","previewRef","scrollHeight","elementComputedStyle","window","getComputedStyle","borderWidth","parseFloat","borderTopWidth","borderBottomWidth","marginWidth","marginTop","marginBottom","extraHeight","setTextAreaRef","ref","setEditorToolbarRef","editorToolbarRef","replaceNode","next","leading","substr","trailing","onChange","viewMode","MODE_VIEWING","setViewMode","parser","Compiler","tree","identityCompiler","unified","use","parsingPluginList","cached","processSync","e","vFile","onParse","parseError","messages","ast","setSelectedNode","selectedNode","openPluginEditor","plugin","pluginEditorPlugin","onEditorPluginSave","markdown","config","name","setSelectionRange","block","insertText","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","didUpdate","EuiMarkdownEditorToolbar","didInsert","set","style","hash","EuiMarkdownFormat","EuiMarkdownEditorDropZone","resizeObserver","EuiMarkdownEditorTextArea","on","pick","validatableControl","EuiModal"],"mappings":"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"}