@ember-eui/core 12.0.0 → 12.0.2

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 (312) hide show
  1. package/declarations/components/common.d.ts +1 -1
  2. package/declarations/components/common.d.ts.map +1 -1
  3. package/declarations/components/eui-accordion.d.ts.map +1 -1
  4. package/declarations/components/eui-badge.d.ts.map +1 -1
  5. package/declarations/components/eui-button-group-button.d.ts.map +1 -1
  6. package/declarations/components/eui-combo-box/options.d.ts.map +1 -1
  7. package/declarations/components/eui-combo-box/trigger/input.d.ts.map +1 -1
  8. package/declarations/components/eui-combo-box.d.ts +2 -1
  9. package/declarations/components/eui-combo-box.d.ts.map +1 -1
  10. package/declarations/components/eui-described-form-group.d.ts +2 -0
  11. package/declarations/components/eui-described-form-group.d.ts.map +1 -1
  12. package/declarations/components/eui-dual-range.d.ts.map +1 -1
  13. package/declarations/components/eui-header-section-item-button.d.ts.map +1 -1
  14. package/declarations/components/eui-list-group-item.d.ts.map +1 -1
  15. package/declarations/components/eui-loading-content.d.ts.map +1 -1
  16. package/declarations/components/eui-markdown-editor.d.ts.map +1 -1
  17. package/declarations/components/eui-markdown-format.d.ts.map +1 -1
  18. package/declarations/components/eui-notification-event-messages.d.ts.map +1 -1
  19. package/declarations/components/eui-page-header-content.d.ts.map +1 -1
  20. package/declarations/components/eui-popover.d.ts.map +1 -1
  21. package/declarations/components/eui-range.d.ts.map +1 -1
  22. package/declarations/components/eui-super-date-picker/utils/date-utils.d.ts +1 -0
  23. package/declarations/components/eui-super-date-picker/utils/date-utils.d.ts.map +1 -1
  24. package/declarations/components/eui-super-date-picker/utils/index.d.ts +1 -0
  25. package/declarations/components/eui-super-date-picker/utils/index.d.ts.map +1 -1
  26. package/declarations/components/eui-super-date-picker/utils/pretty-duration.d.ts +1 -0
  27. package/declarations/components/eui-super-date-picker/utils/pretty-duration.d.ts.map +1 -1
  28. package/declarations/components/eui-super-date-picker/utils/quick-select.d.ts +1 -0
  29. package/declarations/components/eui-super-date-picker/utils/quick-select.d.ts.map +1 -1
  30. package/declarations/components/eui-super-date-picker/utils/time-options.d.ts +1 -0
  31. package/declarations/components/eui-super-date-picker/utils/time-options.d.ts.map +1 -1
  32. package/declarations/components/eui-tabbed-content.d.ts.map +1 -1
  33. package/declarations/utils/common.d.ts +42 -0
  34. package/declarations/utils/common.d.ts.map +1 -0
  35. package/dist/_rollupPluginBabelHelpers-9wjJaosZ.js +63 -0
  36. package/dist/_rollupPluginBabelHelpers-9wjJaosZ.js.map +1 -0
  37. package/dist/components/common.js +1 -19
  38. package/dist/components/common.js.map +1 -1
  39. package/dist/components/eui-accordion.js +9 -9
  40. package/dist/components/eui-accordion.js.map +1 -1
  41. package/dist/components/eui-auto-sizer.js +2 -2
  42. package/dist/components/eui-auto-sizer.js.map +1 -1
  43. package/dist/components/eui-badge.js +1 -1
  44. package/dist/components/eui-badge.js.map +1 -1
  45. package/dist/components/eui-bottom-bar.js +1 -1
  46. package/dist/components/eui-bottom-bar.js.map +1 -1
  47. package/dist/components/eui-breadcrumbs.js +2 -2
  48. package/dist/components/eui-breadcrumbs.js.map +1 -1
  49. package/dist/components/eui-button-group-button.js +7 -3
  50. package/dist/components/eui-button-group-button.js.map +1 -1
  51. package/dist/components/eui-card-select.js +1 -1
  52. package/dist/components/eui-card-select.js.map +1 -1
  53. package/dist/components/eui-card.js +2 -2
  54. package/dist/components/eui-card.js.map +1 -1
  55. package/dist/components/eui-checkbox.js +1 -1
  56. package/dist/components/eui-checkbox.js.map +1 -1
  57. package/dist/components/eui-code-block.js +7 -7
  58. package/dist/components/eui-code-block.js.map +1 -1
  59. package/dist/components/eui-code.js +2 -2
  60. package/dist/components/eui-code.js.map +1 -1
  61. package/dist/components/eui-collapsible-nav.js +1 -1
  62. package/dist/components/eui-collapsible-nav.js.map +1 -1
  63. package/dist/components/eui-combo-box/create-option.js +1 -1
  64. package/dist/components/eui-combo-box/create-option.js.map +1 -1
  65. package/dist/components/eui-combo-box/options.js +4 -20
  66. package/dist/components/eui-combo-box/options.js.map +1 -1
  67. package/dist/components/eui-combo-box/trigger/input.js +2 -4
  68. package/dist/components/eui-combo-box/trigger/input.js.map +1 -1
  69. package/dist/components/eui-combo-box/trigger.js +2 -2
  70. package/dist/components/eui-combo-box/trigger.js.map +1 -1
  71. package/dist/components/eui-combo-box-pill.js +1 -1
  72. package/dist/components/eui-combo-box-pill.js.map +1 -1
  73. package/dist/components/eui-combo-box.js +10 -11
  74. package/dist/components/eui-combo-box.js.map +1 -1
  75. package/dist/components/eui-context-menu-item.js +1 -1
  76. package/dist/components/eui-context-menu-item.js.map +1 -1
  77. package/dist/components/eui-copy.js +1 -1
  78. package/dist/components/eui-copy.js.map +1 -1
  79. package/dist/components/eui-described-form-group.js +1 -1
  80. package/dist/components/eui-described-form-group.js.map +1 -1
  81. package/dist/components/eui-dual-range.js +17 -17
  82. package/dist/components/eui-dual-range.js.map +1 -1
  83. package/dist/components/eui-field-number.js +1 -1
  84. package/dist/components/eui-field-number.js.map +1 -1
  85. package/dist/components/eui-field-password.js +1 -1
  86. package/dist/components/eui-field-password.js.map +1 -1
  87. package/dist/components/eui-field-search.js +3 -3
  88. package/dist/components/eui-field-search.js.map +1 -1
  89. package/dist/components/eui-field-text.js +1 -1
  90. package/dist/components/eui-field-text.js.map +1 -1
  91. package/dist/components/eui-file-picker.js +6 -6
  92. package/dist/components/eui-file-picker.js.map +1 -1
  93. package/dist/components/eui-flyout.js +2 -2
  94. package/dist/components/eui-flyout.js.map +1 -1
  95. package/dist/components/eui-global-toast-list.js +4 -4
  96. package/dist/components/eui-global-toast-list.js.map +1 -1
  97. package/dist/components/eui-header-links.js +1 -1
  98. package/dist/components/eui-header-links.js.map +1 -1
  99. package/dist/components/eui-header-section-item-button.js +3 -3
  100. package/dist/components/eui-header-section-item-button.js.map +1 -1
  101. package/dist/components/eui-i18n.js +1 -1
  102. package/dist/components/eui-i18n.js.map +1 -1
  103. package/dist/components/eui-icon.js +2 -2
  104. package/dist/components/eui-icon.js.map +1 -1
  105. package/dist/components/eui-image.js +2 -2
  106. package/dist/components/eui-image.js.map +1 -1
  107. package/dist/components/eui-inner-text.js +2 -2
  108. package/dist/components/eui-inner-text.js.map +1 -1
  109. package/dist/components/eui-input-popover.js +9 -9
  110. package/dist/components/eui-input-popover.js.map +1 -1
  111. package/dist/components/eui-list-group-item.js +1 -4
  112. package/dist/components/eui-list-group-item.js.map +1 -1
  113. package/dist/components/eui-loading-content.js +17 -5
  114. package/dist/components/eui-loading-content.js.map +1 -1
  115. package/dist/components/eui-markdown-editor-footer.js +2 -2
  116. package/dist/components/eui-markdown-editor-footer.js.map +1 -1
  117. package/dist/components/eui-markdown-editor.js +16 -16
  118. package/dist/components/eui-markdown-editor.js.map +1 -1
  119. package/dist/components/eui-markdown-format.js +1 -1
  120. package/dist/components/eui-markdown-format.js.map +1 -1
  121. package/dist/components/eui-modal.js +1 -1
  122. package/dist/components/eui-modal.js.map +1 -1
  123. package/dist/components/eui-notification-event-messages.js +4 -2
  124. package/dist/components/eui-notification-event-messages.js.map +1 -1
  125. package/dist/components/eui-notification-event-meta.js +2 -2
  126. package/dist/components/eui-notification-event-meta.js.map +1 -1
  127. package/dist/components/eui-notification-event.js +1 -1
  128. package/dist/components/eui-notification-event.js.map +1 -1
  129. package/dist/components/eui-overlay-mask.js +1 -1
  130. package/dist/components/eui-overlay-mask.js.map +1 -1
  131. package/dist/components/eui-page-header-content.js +4 -4
  132. package/dist/components/eui-page-header-content.js.map +1 -1
  133. package/dist/components/eui-page-template.js +3 -3
  134. package/dist/components/eui-page-template.js.map +1 -1
  135. package/dist/components/eui-popover.js +22 -22
  136. package/dist/components/eui-popover.js.map +1 -1
  137. package/dist/components/eui-portal.js +1 -1
  138. package/dist/components/eui-portal.js.map +1 -1
  139. package/dist/components/eui-radio.js +1 -1
  140. package/dist/components/eui-radio.js.map +1 -1
  141. package/dist/components/eui-range-ticks.js +1 -1
  142. package/dist/components/eui-range-ticks.js.map +1 -1
  143. package/dist/components/eui-range-track.js +1 -1
  144. package/dist/components/eui-range-track.js.map +1 -1
  145. package/dist/components/eui-range.js +15 -15
  146. package/dist/components/eui-range.js.map +1 -1
  147. package/dist/components/eui-select.js +1 -1
  148. package/dist/components/eui-select.js.map +1 -1
  149. package/dist/components/eui-show-for.js +1 -1
  150. package/dist/components/eui-show-for.js.map +1 -1
  151. package/dist/components/eui-side-nav-item.js +1 -1
  152. package/dist/components/eui-side-nav-item.js.map +1 -1
  153. package/dist/components/eui-side-nav.js +1 -1
  154. package/dist/components/eui-side-nav.js.map +1 -1
  155. package/dist/components/eui-step-horizontal.js +1 -1
  156. package/dist/components/eui-step-horizontal.js.map +1 -1
  157. package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js +3 -3
  158. package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js.map +1 -1
  159. package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js +8 -8
  160. package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js.map +1 -1
  161. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js +2 -2
  162. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js.map +1 -1
  163. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js +2 -2
  164. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js.map +1 -1
  165. package/dist/components/eui-super-date-picker/date-popover/relative-tab.js +4 -4
  166. package/dist/components/eui-super-date-picker/date-popover/relative-tab.js.map +1 -1
  167. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js +4 -4
  168. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js.map +1 -1
  169. package/dist/components/eui-super-date-picker/eui-quick-select-popover.js +2 -2
  170. package/dist/components/eui-super-date-picker/eui-quick-select-popover.js.map +1 -1
  171. package/dist/components/eui-super-date-picker/utils/date-utils.js +1 -1
  172. package/dist/components/eui-super-date-picker/utils/date-utils.js.map +1 -1
  173. package/dist/components/eui-super-date-picker/utils/index.js +1 -1
  174. package/dist/components/eui-super-date-picker/utils/index.js.map +1 -1
  175. package/dist/components/eui-super-date-picker/utils/pretty-duration.js +1 -1
  176. package/dist/components/eui-super-date-picker/utils/pretty-duration.js.map +1 -1
  177. package/dist/components/eui-super-date-picker/utils/quick-select.js +1 -1
  178. package/dist/components/eui-super-date-picker/utils/quick-select.js.map +1 -1
  179. package/dist/components/eui-super-date-picker/utils/time-options.js +1 -1
  180. package/dist/components/eui-super-date-picker/utils/time-options.js.map +1 -1
  181. package/dist/components/eui-super-date-picker.js +13 -13
  182. package/dist/components/eui-super-date-picker.js.map +1 -1
  183. package/dist/components/eui-tabbed-content.js +4 -4
  184. package/dist/components/eui-tabbed-content.js.map +1 -1
  185. package/dist/components/eui-text-area.js +1 -1
  186. package/dist/components/eui-text-area.js.map +1 -1
  187. package/dist/components/eui-tool-tip.js +9 -9
  188. package/dist/components/eui-tool-tip.js.map +1 -1
  189. package/dist/helpers/get-eui-config.js +1 -1
  190. package/dist/helpers/get-eui-config.js.map +1 -1
  191. package/dist/helpers/use-state.js +1 -1
  192. package/dist/helpers/use-state.js.map +1 -1
  193. package/dist/services/eui-config.js +1 -1
  194. package/dist/services/eui-config.js.map +1 -1
  195. package/dist/services/eui-toaster.js +1 -1
  196. package/dist/services/eui-toaster.js.map +1 -1
  197. package/package.json +8 -122
  198. package/dist/_app_/utils/accesibility/accessible-click-keys.js +0 -1
  199. package/dist/_app_/utils/accesibility/cascading-menu-keys.js +0 -1
  200. package/dist/_app_/utils/accesibility/combo-box-keys.js +0 -1
  201. package/dist/_app_/utils/accesibility/index.js +0 -1
  202. package/dist/_app_/utils/breakpoint.js +0 -1
  203. package/dist/_app_/utils/browser/browser.js +0 -1
  204. package/dist/_app_/utils/browser/index.js +0 -1
  205. package/dist/_app_/utils/code/utils.js +0 -1
  206. package/dist/_app_/utils/color/color_palette.js +0 -1
  207. package/dist/_app_/utils/color/eui_palettes.js +0 -1
  208. package/dist/_app_/utils/color/index.js +0 -1
  209. package/dist/_app_/utils/copy-to-clipboard.js +0 -1
  210. package/dist/_app_/utils/css-mappings/eui-accordion.js +0 -1
  211. package/dist/_app_/utils/css-mappings/eui-avatar.js +0 -1
  212. package/dist/_app_/utils/css-mappings/eui-badge-group.js +0 -1
  213. package/dist/_app_/utils/css-mappings/eui-badge.js +0 -1
  214. package/dist/_app_/utils/css-mappings/eui-beta-badge.js +0 -1
  215. package/dist/_app_/utils/css-mappings/eui-bottom-bar.js +0 -1
  216. package/dist/_app_/utils/css-mappings/eui-button-empty.js +0 -1
  217. package/dist/_app_/utils/css-mappings/eui-button-group-button.js +0 -1
  218. package/dist/_app_/utils/css-mappings/eui-button-group.js +0 -1
  219. package/dist/_app_/utils/css-mappings/eui-button-icon.js +0 -1
  220. package/dist/_app_/utils/css-mappings/eui-button.js +0 -1
  221. package/dist/_app_/utils/css-mappings/eui-call-out.js +0 -1
  222. package/dist/_app_/utils/css-mappings/eui-card-select.js +0 -1
  223. package/dist/_app_/utils/css-mappings/eui-card.js +0 -1
  224. package/dist/_app_/utils/css-mappings/eui-code-block.js +0 -1
  225. package/dist/_app_/utils/css-mappings/eui-collapsible-nav-group.js +0 -1
  226. package/dist/_app_/utils/css-mappings/eui-comment-event.js +0 -1
  227. package/dist/_app_/utils/css-mappings/eui-comment-timeline-icon.js +0 -1
  228. package/dist/_app_/utils/css-mappings/eui-context-menu-item.js +0 -1
  229. package/dist/_app_/utils/css-mappings/eui-described-form-group.js +0 -1
  230. package/dist/_app_/utils/css-mappings/eui-description-list.js +0 -1
  231. package/dist/_app_/utils/css-mappings/eui-empty-prompt.js +0 -1
  232. package/dist/_app_/utils/css-mappings/eui-file-picker.js +0 -1
  233. package/dist/_app_/utils/css-mappings/eui-flex-grid.js +0 -1
  234. package/dist/_app_/utils/css-mappings/eui-flex-group.js +0 -1
  235. package/dist/_app_/utils/css-mappings/eui-flex-item.js +0 -1
  236. package/dist/_app_/utils/css-mappings/eui-flyout.js +0 -1
  237. package/dist/_app_/utils/css-mappings/eui-form-control-layout-clear-button.js +0 -1
  238. package/dist/_app_/utils/css-mappings/eui-form-row.js +0 -1
  239. package/dist/_app_/utils/css-mappings/eui-global-toast-list.js +0 -1
  240. package/dist/_app_/utils/css-mappings/eui-header-links.js +0 -1
  241. package/dist/_app_/utils/css-mappings/eui-header-section-item.js +0 -1
  242. package/dist/_app_/utils/css-mappings/eui-header-section.js +0 -1
  243. package/dist/_app_/utils/css-mappings/eui-header.js +0 -1
  244. package/dist/_app_/utils/css-mappings/eui-health.js +0 -1
  245. package/dist/_app_/utils/css-mappings/eui-horizontal-rule.js +0 -1
  246. package/dist/_app_/utils/css-mappings/eui-icon.js +0 -1
  247. package/dist/_app_/utils/css-mappings/eui-image.js +0 -1
  248. package/dist/_app_/utils/css-mappings/eui-link.js +0 -1
  249. package/dist/_app_/utils/css-mappings/eui-list-group-item.js +0 -1
  250. package/dist/_app_/utils/css-mappings/eui-list-group.js +0 -1
  251. package/dist/_app_/utils/css-mappings/eui-loading-spinner.js +0 -1
  252. package/dist/_app_/utils/css-mappings/eui-modal.js +0 -1
  253. package/dist/_app_/utils/css-mappings/eui-notification-badge.js +0 -1
  254. package/dist/_app_/utils/css-mappings/eui-page-body.js +0 -1
  255. package/dist/_app_/utils/css-mappings/eui-page-content-body.js +0 -1
  256. package/dist/_app_/utils/css-mappings/eui-page-content.js +0 -1
  257. package/dist/_app_/utils/css-mappings/eui-page-header.js +0 -1
  258. package/dist/_app_/utils/css-mappings/eui-page-side-bar.js +0 -1
  259. package/dist/_app_/utils/css-mappings/eui-page.js +0 -1
  260. package/dist/_app_/utils/css-mappings/eui-panel.js +0 -1
  261. package/dist/_app_/utils/css-mappings/eui-popover-footer.js +0 -1
  262. package/dist/_app_/utils/css-mappings/eui-popover-title.js +0 -1
  263. package/dist/_app_/utils/css-mappings/eui-popover.js +0 -1
  264. package/dist/_app_/utils/css-mappings/eui-progress-data.js +0 -1
  265. package/dist/_app_/utils/css-mappings/eui-progress.js +0 -1
  266. package/dist/_app_/utils/css-mappings/eui-range-highlight.js +0 -1
  267. package/dist/_app_/utils/css-mappings/eui-range-input.js +0 -1
  268. package/dist/_app_/utils/css-mappings/eui-range-levels.js +0 -1
  269. package/dist/_app_/utils/css-mappings/eui-selectable-list-item.js +0 -1
  270. package/dist/_app_/utils/css-mappings/eui-spacer.js +0 -1
  271. package/dist/_app_/utils/css-mappings/eui-stat.js +0 -1
  272. package/dist/_app_/utils/css-mappings/eui-step-number.js +0 -1
  273. package/dist/_app_/utils/css-mappings/eui-tabs.js +0 -1
  274. package/dist/_app_/utils/css-mappings/eui-text-align.js +0 -1
  275. package/dist/_app_/utils/css-mappings/eui-text-area.js +0 -1
  276. package/dist/_app_/utils/css-mappings/eui-text-color.js +0 -1
  277. package/dist/_app_/utils/css-mappings/eui-text.js +0 -1
  278. package/dist/_app_/utils/css-mappings/eui-title.js +0 -1
  279. package/dist/_app_/utils/css-mappings/eui-toast.js +0 -1
  280. package/dist/_app_/utils/css-mappings/eui-tool-tip.js +0 -1
  281. package/dist/_app_/utils/css-mappings/index.js +0 -1
  282. package/dist/_app_/utils/detect-element-resize.js +0 -1
  283. package/dist/_app_/utils/index.js +0 -1
  284. package/dist/_app_/utils/keys.js +0 -1
  285. package/dist/_app_/utils/markdown/markdown-actions.js +0 -1
  286. package/dist/_app_/utils/markdown/markdown-modes.js +0 -1
  287. package/dist/_app_/utils/markdown/markdown-types.js +0 -1
  288. package/dist/_app_/utils/markdown/plugins/markdown-add-components/index.js +0 -1
  289. package/dist/_app_/utils/markdown/plugins/markdown-add-components/processor.js +0 -1
  290. package/dist/_app_/utils/markdown/plugins/markdown-checkbox/index.js +0 -1
  291. package/dist/_app_/utils/markdown/plugins/markdown-checkbox/parser.js +0 -1
  292. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/index.js +0 -1
  293. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.js +0 -1
  294. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/plugins.js +0 -1
  295. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/processing-plugins.js +0 -1
  296. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/ui-plugins.js +0 -1
  297. package/dist/_app_/utils/markdown/plugins/markdown-tooltip/index.js +0 -1
  298. package/dist/_app_/utils/markdown/plugins/markdown-tooltip/parser.js +0 -1
  299. package/dist/_app_/utils/markdown/plugins/markdown-tooltip/plugin.js +0 -1
  300. package/dist/_app_/utils/markdown/plugins/to-dom.js +0 -1
  301. package/dist/_app_/utils/markdown/remark/remark-prismjs.js +0 -1
  302. package/dist/_app_/utils/maybe-unwrap-proxy.js +0 -1
  303. package/dist/_app_/utils/number/index.js +0 -1
  304. package/dist/_app_/utils/number/number.js +0 -1
  305. package/dist/_app_/utils/popover/index.js +0 -1
  306. package/dist/_app_/utils/popover/types.js +0 -1
  307. package/dist/_app_/utils/predicate/common_predicates.js +0 -1
  308. package/dist/_app_/utils/predicate/index.js +0 -1
  309. package/dist/_app_/utils/predicate/lodash_predicates.js +0 -1
  310. package/dist/_app_/utils/range/index.js +0 -1
  311. package/dist/_app_/utils/timer.js +0 -1
  312. package/dist/_app_/utils/transition.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"eui-input-popover.js","sources":["../../src/components/eui-input-popover.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { concat } from '@ember/helper';\nimport { hash } from '@ember/helper';\nimport { action } from '@ember/object';\n\nimport { focusTrap } from 'ember-focus-trap';\nimport onKey from 'ember-keyboard/modifiers/on-key';\nimport { not } from 'ember-truth-helpers';\nimport { tabbable } from 'tabbable';\n\nimport randomId from '../-private/random-id.ts';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport { cascadingMenuKeys } from '../utils/accesibility/index.ts';\nimport EuiPopover from './eui-popover.gts';\n\nimport type { EuiPopoverArgs } from './eui-popover';\n\nexport interface EuiInputPopoverArgs\n extends Omit<EuiPopoverArgs, 'button' | 'buttonRef'> {\n disableFocusTrap?: boolean;\n fullWidth?: boolean;\n input?: EuiPopoverArgs['button'];\n inputRef?: EuiPopoverArgs['buttonRef'];\n onPanelResize?: (width?: number) => void;\n}\n\nexport interface EuiInputPopoverSignature {\n Element: HTMLElement;\n Args: EuiInputPopoverArgs;\n Blocks: {\n default: [\n {\n closePopover: () => void;\n isOpen: boolean;\n },\n {\n input: HTMLElement;\n content: HTMLElement;\n }\n ];\n input: [];\n content: [];\n };\n}\n\nexport default class EuiInputPopoverComponent extends Component<EuiInputPopoverSignature> {\n // Defaults\n @argOrDefaultDecorator('downLeft') anchorPosition!: EuiPopoverArgs['anchorPosition'];\n @argOrDefaultDecorator(true) attachToAnchor!: boolean;\n @argOrDefaultDecorator('block') display!: EuiPopoverArgs['display'];\n @argOrDefaultDecorator('s') panelPaddingSize!: EuiPopoverArgs['panelPaddingSize'];\n @argOrDefaultDecorator(false) fullWidth!: boolean;\n @argOrDefaultDecorator(false) disableFocusTrap!: boolean;\n\n //State\n @tracked panel: HTMLElement | null = null;\n @tracked input: HTMLElement | null = null;\n @tracked inputWidth!: number;\n ///\n\n @action\n didInsertPanel(panel: HTMLElement | null): void {\n this.panel = panel;\n this.setPanelWidth();\n }\n\n @action\n didInsertInput(input: HTMLElement): void {\n this.input = input;\n this.onResize();\n }\n\n @action\n setPanelWidth(width?: number): void {\n const { panel, inputWidth } = this;\n const newWidth = width || inputWidth;\n\n if (panel && !!newWidth) {\n panel.style.width = `${newWidth}px`;\n this.args.onPanelResize?.(newWidth);\n }\n }\n\n @action\n onResize(): void {\n const { input } = this;\n\n if (input) {\n const width = input.getBoundingClientRect().width;\n\n this.inputWidth = width;\n this.setPanelWidth(width);\n }\n }\n\n @action\n onKeyDown(event: KeyboardEvent): void {\n const { panel } = this;\n\n if (panel && event.key === cascadingMenuKeys.TAB) {\n const tabbableItems = tabbable(panel).filter(\n (el: HTMLElement | SVGElement) => {\n return (\n Array.from(el.attributes)\n .map((el) => el.name)\n .indexOf('data-focus-guard') < 0\n );\n }\n );\n\n if (\n this.args.disableFocusTrap ||\n (tabbableItems.length &&\n tabbableItems[tabbableItems.length - 1] === document.activeElement)\n ) {\n this.args.closePopover?.();\n }\n }\n }\n\n <template>\n {{#let (randomId) as |id|}}\n <EuiPopover\n class=\"euiInputPopover\n {{if this.fullWidth 'euiInputPopover--fullWidth'}}\"\n @ownFocus={{false}}\n @buttonRef={{this.didInsertInput}}\n @panelRef={{this.didInsertPanel}}\n @anchorPosition={{this.anchorPosition}}\n @panelPaddingSize={{this.panelPaddingSize}}\n @attachToAnchor={{this.attachToAnchor}}\n @display={{this.display}}\n @closePopover={{@closePopover}}\n @isOpen={{@isOpen}}\n ...attributes\n >\n <:button>\n <div {{resizeObserver onResize=this.onResize}}>\n {{yield to=\"input\"}}\n </div>\n </:button>\n <:content>\n <div\n id={{id}}\n {{onKey \"_all\" this.onKeyDown}}\n {{focusTrap\n isActive=(not this.disableFocusTrap)\n focusTrapOptions=(hash\n clickOutsideDeactivates=true\n returnFocusOnDeactivate=false\n fallbackFocus=(concat \"#\" id)\n )\n }}\n >\n {{yield to=\"content\"}}\n </div>\n </:content>\n </EuiPopover>\n {{/let}}\n </template>\n}\n"],"names":["EuiInputPopoverComponent","Component","g","prototype","argOrDefaultDecorator","i","void 0","tracked","didInsertPanel","panel","setPanelWidth","n","action","didInsertInput","input","onResize","width","inputWidth","newWidth","style","args","onPanelResize","getBoundingClientRect","onKeyDown","event","key","cascadingMenuKeys","TAB","tabbableItems","tabbable","filter","el","Array","from","attributes","map","name","indexOf","disableFocusTrap","length","document","activeElement","closePopover","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","EuiPopover","resizeObserver","onKey","focusTrap","not","hash","concat"],"mappings":"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"}
1
+ {"version":3,"file":"eui-input-popover.js","sources":["../../src/components/eui-input-popover.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { concat } from '@ember/helper';\nimport { hash } from '@ember/helper';\nimport { action } from '@ember/object';\n\nimport { focusTrap } from 'ember-focus-trap';\nimport onKey from 'ember-keyboard/modifiers/on-key';\nimport { not } from 'ember-truth-helpers';\nimport { tabbable } from 'tabbable';\n\nimport randomId from '../-private/random-id.ts';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport { cascadingMenuKeys } from '../utils/accesibility/index.ts';\nimport EuiPopover from './eui-popover.gts';\n\nimport type { EuiPopoverArgs } from './eui-popover';\n\nexport interface EuiInputPopoverArgs\n extends Omit<EuiPopoverArgs, 'button' | 'buttonRef'> {\n disableFocusTrap?: boolean;\n fullWidth?: boolean;\n input?: EuiPopoverArgs['button'];\n inputRef?: EuiPopoverArgs['buttonRef'];\n onPanelResize?: (width?: number) => void;\n}\n\nexport interface EuiInputPopoverSignature {\n Element: HTMLElement;\n Args: EuiInputPopoverArgs;\n Blocks: {\n default: [\n {\n closePopover: () => void;\n isOpen: boolean;\n },\n {\n input: HTMLElement;\n content: HTMLElement;\n }\n ];\n input: [];\n content: [];\n };\n}\n\nexport default class EuiInputPopoverComponent extends Component<EuiInputPopoverSignature> {\n // Defaults\n @argOrDefaultDecorator('downLeft') anchorPosition!: EuiPopoverArgs['anchorPosition'];\n @argOrDefaultDecorator(true) attachToAnchor!: boolean;\n @argOrDefaultDecorator('block') display!: EuiPopoverArgs['display'];\n @argOrDefaultDecorator('s') panelPaddingSize!: EuiPopoverArgs['panelPaddingSize'];\n @argOrDefaultDecorator(false) fullWidth!: boolean;\n @argOrDefaultDecorator(false) disableFocusTrap!: boolean;\n\n //State\n @tracked panel: HTMLElement | null = null;\n @tracked input: HTMLElement | null = null;\n @tracked inputWidth!: number;\n ///\n\n @action\n didInsertPanel(panel: HTMLElement | null): void {\n this.panel = panel;\n this.setPanelWidth();\n }\n\n @action\n didInsertInput(input: HTMLElement): void {\n this.input = input;\n this.onResize();\n }\n\n @action\n setPanelWidth(width?: number): void {\n const { panel, inputWidth } = this;\n const newWidth = width || inputWidth;\n\n if (panel && !!newWidth) {\n panel.style.width = `${newWidth}px`;\n this.args.onPanelResize?.(newWidth);\n }\n }\n\n @action\n onResize(): void {\n const { input } = this;\n\n if (input) {\n const width = input.getBoundingClientRect().width;\n\n this.inputWidth = width;\n this.setPanelWidth(width);\n }\n }\n\n @action\n onKeyDown(event: KeyboardEvent): void {\n const { panel } = this;\n\n if (panel && event.key === cascadingMenuKeys.TAB) {\n const tabbableItems = tabbable(panel).filter(\n (el: HTMLElement | SVGElement) => {\n return (\n Array.from(el.attributes)\n .map((el) => el.name)\n .indexOf('data-focus-guard') < 0\n );\n }\n );\n\n if (\n this.args.disableFocusTrap ||\n (tabbableItems.length &&\n tabbableItems[tabbableItems.length - 1] === document.activeElement)\n ) {\n this.args.closePopover?.();\n }\n }\n }\n\n <template>\n {{#let (randomId) as |id|}}\n <EuiPopover\n class=\"euiInputPopover\n {{if this.fullWidth 'euiInputPopover--fullWidth'}}\"\n @ownFocus={{false}}\n @buttonRef={{this.didInsertInput}}\n @panelRef={{this.didInsertPanel}}\n @anchorPosition={{this.anchorPosition}}\n @panelPaddingSize={{this.panelPaddingSize}}\n @attachToAnchor={{this.attachToAnchor}}\n @display={{this.display}}\n @closePopover={{@closePopover}}\n @isOpen={{@isOpen}}\n ...attributes\n >\n <:button>\n <div {{resizeObserver onResize=this.onResize}}>\n {{yield to=\"input\"}}\n </div>\n </:button>\n <:content>\n <div\n id={{id}}\n {{onKey \"_all\" this.onKeyDown}}\n {{focusTrap\n isActive=(not this.disableFocusTrap)\n focusTrapOptions=(hash\n clickOutsideDeactivates=true\n returnFocusOnDeactivate=false\n fallbackFocus=(concat \"#\" id)\n )\n }}\n >\n {{yield to=\"content\"}}\n </div>\n </:content>\n </EuiPopover>\n {{/let}}\n </template>\n}\n"],"names":["EuiInputPopoverComponent","Component","g","prototype","argOrDefaultDecorator","i","void 0","tracked","didInsertPanel","panel","setPanelWidth","n","action","didInsertInput","input","onResize","width","inputWidth","newWidth","style","args","onPanelResize","getBoundingClientRect","onKeyDown","event","key","cascadingMenuKeys","TAB","tabbableItems","tabbable","filter","el","Array","from","attributes","map","name","indexOf","disableFocusTrap","length","document","activeElement","closePopover","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","EuiPopover","resizeObserver","onKey","focusTrap","not","hash","concat"],"mappings":"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"}
@@ -1,9 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import { EnsureSafeComponentHelper } from '@embroider/util';
3
- import optional from 'ember-composable-helpers/helpers/optional';
4
- import 'ember-composable-helpers/helpers/queue';
5
- import 'ember-element-helper';
6
- import 'ember-set-helper/helpers/set';
3
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
7
4
  import { eq, not, and, or } from 'ember-truth-helpers';
8
5
  import argOrDefault from '../helpers/arg-or-default.js';
9
6
  import classNames from '../helpers/class-names.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-list-group-item.js","sources":["../../src/components/eui-list-group-item.gts"],"sourcesContent":["import { on } from '@ember/modifier';\nimport { EnsureSafeComponentHelper } from '@embroider/util';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport queue from 'ember-composable-helpers/helpers/queue';\nimport { element } from 'ember-element-helper';\nimport set from 'ember-set-helper/helpers/set';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiIcon from './eui-icon.gts';\n\nimport type {\n colorMapping,\n sizeMapping} from '../utils/css-mappings/eui-list-group-item.ts';\nimport type { EuiIconSignature } from './eui-icon';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\n\nexport interface EuiListGroupItemSignature {\n Element:\n | HTMLLIElement\n | HTMLAnchorElement\n | HTMLButtonElement\n | HTMLSpanElement;\n Args: {\n href?: string;\n target?: string;\n onClick?: (event: MouseEvent) => void;\n label?: string;\n iconType?: EuiIconSignature['Args']['type'];\n isActive?: boolean;\n isDisabled?: boolean;\n wrapText?: boolean;\n extraAction?: ComponentLike;\n size?: keyof typeof sizeMapping;\n color?: keyof typeof colorMapping;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiListGroupItem: TemplateOnlyComponent<EuiListGroupItemSignature> =\n <template>\n <li\n class={{classNames\n (if (or @href @onClick) \"euiListGroupItem-isClickable\")\n (if @isActive \"euiListGroupItem-isActive\")\n (if @isDisabled \"euiListGroupItem-isDisabled\")\n (if @wrapText \"euiListGroupItem-wrapText\")\n componentName=\"EuiListGroupItem\"\n size=(argOrDefault @size \"m\")\n color=(argOrDefault @color \"inherit\")\n }}\n >\n {{#if (and @href (not @isDisabled))}}\n <a\n class=\"euiListGroupItem__button\"\n href={{@href}}\n target={{@target}}\n {{on \"click\" (optional @onClick)}}\n ...attributes\n >\n {{#if @iconType}}\n <EuiIcon\n @iconClasses=\"euiListGroupItem__icon\"\n @type={{@iconType}}\n />\n {{/if}}\n <span class=\"euiListGroupItem__label\">\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </a>\n {{else if (or @onClick (and @href @isDisabled))}}\n <button\n class=\"euiListGroupItem__button\"\n type=\"button\"\n disabled={{eq @isDisabled true}}\n {{on \"click\" (optional @onClick)}}\n ...attributes\n >\n {{#if @iconType}}\n <EuiIcon\n @iconClasses=\"euiListGroupItem__icon\"\n @type={{@iconType}}\n @color=\"inherit\"\n />\n {{/if}}\n <span class=\"euiListGroupItem__label\">\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </button>\n {{else}}\n <span class=\"euiListGroupItem__text\" ...attributes>\n {{#if @iconType}}\n <EuiIcon\n @iconClasses=\"euiListGroupItem__icon\"\n @type={{@iconType}}\n @color=\"inherit\"\n />\n {{/if}}\n <span class=\"euiListGroupItem__label\">\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </span>\n {{/if}}\n {{#if @extraAction}}\n {{#let\n (component (EnsureSafeComponentHelper @extraAction))\n as |ExtraAction|\n }}\n <ExtraAction />\n {{/let}}\n\n {{/if}}\n </li>\n </template>;\n\nexport default EuiListGroupItem;\n"],"names":["EuiListGroupItem","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","or","argOrDefault","and","not","on","optional","EuiIcon","eq","EnsureSafeComponentHelper","templateOnly"],"mappings":";;;;;;;;;;;;;;AA4CA,MAAMA,gBACJ,GAAAC,oBAAA,CAAAC,kBAAA,CAqFA,6iEAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,YAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,QAAA;IAAAC,OAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-list-group-item.js","sources":["../../src/components/eui-list-group-item.gts"],"sourcesContent":["import { on } from '@ember/modifier';\nimport { EnsureSafeComponentHelper } from '@embroider/util';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiIcon from './eui-icon.gts';\n\nimport type {\n colorMapping,\n sizeMapping\n} from '../utils/css-mappings/eui-list-group-item.ts';\nimport type { EuiIconSignature } from './eui-icon';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\n\nexport interface EuiListGroupItemSignature {\n Element:\n | HTMLLIElement\n | HTMLAnchorElement\n | HTMLButtonElement\n | HTMLSpanElement;\n Args: {\n href?: string;\n target?: string;\n onClick?: (event: MouseEvent) => void;\n label?: string;\n iconType?: EuiIconSignature['Args']['type'];\n isActive?: boolean;\n isDisabled?: boolean;\n wrapText?: boolean;\n extraAction?: ComponentLike;\n size?: keyof typeof sizeMapping;\n color?: keyof typeof colorMapping;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiListGroupItem: TemplateOnlyComponent<EuiListGroupItemSignature> =\n <template>\n <li\n class={{classNames\n (if (or @href @onClick) \"euiListGroupItem-isClickable\")\n (if @isActive \"euiListGroupItem-isActive\")\n (if @isDisabled \"euiListGroupItem-isDisabled\")\n (if @wrapText \"euiListGroupItem-wrapText\")\n componentName=\"EuiListGroupItem\"\n size=(argOrDefault @size \"m\")\n color=(argOrDefault @color \"inherit\")\n }}\n >\n {{#if (and @href (not @isDisabled))}}\n <a\n class=\"euiListGroupItem__button\"\n href={{@href}}\n target={{@target}}\n {{on \"click\" (optional @onClick)}}\n ...attributes\n >\n {{#if @iconType}}\n <EuiIcon\n @iconClasses=\"euiListGroupItem__icon\"\n @type={{@iconType}}\n />\n {{/if}}\n <span class=\"euiListGroupItem__label\">\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </a>\n {{else if (or @onClick (and @href @isDisabled))}}\n <button\n class=\"euiListGroupItem__button\"\n type=\"button\"\n disabled={{eq @isDisabled true}}\n {{on \"click\" (optional @onClick)}}\n ...attributes\n >\n {{#if @iconType}}\n <EuiIcon\n @iconClasses=\"euiListGroupItem__icon\"\n @type={{@iconType}}\n @color=\"inherit\"\n />\n {{/if}}\n <span class=\"euiListGroupItem__label\">\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </button>\n {{else}}\n <span class=\"euiListGroupItem__text\" ...attributes>\n {{#if @iconType}}\n <EuiIcon\n @iconClasses=\"euiListGroupItem__icon\"\n @type={{@iconType}}\n @color=\"inherit\"\n />\n {{/if}}\n <span class=\"euiListGroupItem__label\">\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </span>\n {{/if}}\n {{#if @extraAction}}\n {{#let\n (component (EnsureSafeComponentHelper @extraAction))\n as |ExtraAction|\n }}\n <ExtraAction />\n {{/let}}\n\n {{/if}}\n </li>\n </template>;\n\nexport default EuiListGroupItem;\n"],"names":["EuiListGroupItem","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","or","argOrDefault","and","not","on","optional","EuiIcon","eq","EnsureSafeComponentHelper","templateOnly"],"mappings":";;;;;;;;;;;AA0CA,MAAMA,gBACJ,GAAAC,oBAAA,CAAAC,kBAAA,CAqFA,6iEAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,YAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,QAAA;IAAAC,OAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,16 +1,28 @@
1
- import repeat from 'ember-composable-helpers/helpers/repeat';
2
- import { lt, gt } from 'ember-truth-helpers';
3
1
  import classNames from '../helpers/class-names.js';
4
2
  import { precompileTemplate } from '@ember/template-compilation';
5
3
  import { setComponentTemplate } from '@ember/component';
6
4
  import templateOnly from '@ember/component/template-only';
7
5
 
8
- const EuiLoadingContent = setComponentTemplate(precompileTemplate("\n <span class=\"euiLoadingContent\" ...attributes>\n {{#each (repeat (if (gt @lines 10) 10 (if (lt @lines 1) 1 @lines)))}}\n <span class={{classNames \"euiLoadingContent__singleLine\" @singleLineClasses}}>\n <span class=\"euiLoadingContent__singleLineBackground\" />\n </span>\n {{/each}}\n </span>\n ", {
6
+ const repeat = count => Array.from({
7
+ length: count
8
+ });
9
+ const getLength = lines => {
10
+ if (lines === undefined) {
11
+ return 1;
12
+ }
13
+ if (lines > 10) {
14
+ return 10;
15
+ } else if (lines < 1) {
16
+ return 1;
17
+ } else {
18
+ return lines;
19
+ }
20
+ };
21
+ const EuiLoadingContent = setComponentTemplate(precompileTemplate("\n <span class=\"euiLoadingContent\" ...attributes>\n {{#each (repeat (getLength @lines))}}\n <span class={{classNames \"euiLoadingContent__singleLine\" @singleLineClasses}}>\n <span class=\"euiLoadingContent__singleLineBackground\" />\n </span>\n {{/each}}\n </span>\n ", {
9
22
  strictMode: true,
10
23
  scope: () => ({
11
24
  repeat,
12
- gt,
13
- lt,
25
+ getLength,
14
26
  classNames
15
27
  })
16
28
  }), templateOnly());
@@ -1 +1 @@
1
- {"version":3,"file":"eui-loading-content.js","sources":["../../src/components/eui-loading-content.gts"],"sourcesContent":["import repeat from 'ember-composable-helpers/helpers/repeat';\nimport { gt, lt } from 'ember-truth-helpers';\n\nimport classNames from '../helpers/class-names.ts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiLoadingContentSignature {\n Element: HTMLSpanElement;\n Args: {\n lines?: number;\n singleLineClasses?: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiLoadingContent: TemplateOnlyComponent<EuiLoadingContentSignature> =\n <template>\n <span class=\"euiLoadingContent\" ...attributes>\n {{#each (repeat (if (gt @lines 10) 10 (if (lt @lines 1) 1 @lines)))}}\n <span\n class={{classNames\n \"euiLoadingContent__singleLine\"\n @singleLineClasses\n }}\n >\n <span class=\"euiLoadingContent__singleLineBackground\" />\n </span>\n {{/each}}\n </span>\n </template>;\n\nexport default EuiLoadingContent;\n"],"names":["EuiLoadingContent","setComponentTemplate","precompileTemplate","strictMode","scope","repeat","gt","lt","classNames","templateOnly"],"mappings":";;;;;;;AAkBA,MAAMA,iBACJ,GAAAC,oBAAA,CAAAC,kBAAA,CAaA,wVAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-loading-content.js","sources":["../../src/components/eui-loading-content.gts"],"sourcesContent":["import classNames from '../helpers/class-names.ts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiLoadingContentSignature {\n Element: HTMLSpanElement;\n Args: {\n lines?: number;\n singleLineClasses?: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst repeat = (count: number) => Array.from({ length: count });\n\nconst getLength = (lines: number | undefined) => {\n if (lines === undefined) {\n return 1;\n }\n\n if (lines > 10) {\n return 10;\n } else if (lines < 1) {\n return 1;\n } else {\n return lines;\n }\n};\n\nconst EuiLoadingContent: TemplateOnlyComponent<EuiLoadingContentSignature> =\n <template>\n <span class=\"euiLoadingContent\" ...attributes>\n {{#each (repeat (getLength @lines))}}\n <span\n class={{classNames\n \"euiLoadingContent__singleLine\"\n @singleLineClasses\n }}\n >\n <span class=\"euiLoadingContent__singleLineBackground\" />\n </span>\n {{/each}}\n </span>\n </template>;\n\nexport default EuiLoadingContent;\n"],"names":["repeat","count","Array","from","length","getLength","lines","undefined","EuiLoadingContent","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","templateOnly"],"mappings":";;;;;AAeA,MAAMA,SAAUC,KAAa,IAAKC,KAAA,CAAMC,IAAI,CAAC;AAAEC,EAAAA,MAAQ,EAAAH;AAAM,CAAA,CAAA;AAE7D,MAAMI,SAAY,GAACC,KAAyB,IAAA;EAC1C,IAAIA,UAAUC,SAAW,EAAA;AACvB,IAAA,OAAO,CAAA;AACT;EAEA,IAAID,QAAQ,EAAI,EAAA;AACd,IAAA,OAAO,EAAA;AACT,GAAO,MAAA,IAAIA,QAAQ,CAAG,EAAA;AACpB,IAAA,OAAO,CAAA;AACT,GAAO,MAAA;AACL,IAAA,OAAOA,KAAA;AACT;AACF,CAAA;AAEA,MAAME,iBACJ,GAAAC,oBAAA,CAAAC,kBAAA,CAaA,wTAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAZ,MAAA;IAAAK,SAAA;AAAAQ,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -26,13 +26,13 @@ class EuiMarkdownEditorFooterComponent extends Component {
26
26
  return false;
27
27
  });
28
28
  }
29
- #isPopoverOpen = (i(this, "isPopoverOpen"), undefined);
29
+ #isPopoverOpen = (i(this, "isPopoverOpen"), void 0);
30
30
  static {
31
31
  g(this.prototype, "isShowingHelp", [tracked], function () {
32
32
  return false;
33
33
  });
34
34
  }
35
- #isShowingHelp = (i(this, "isShowingHelp"), undefined);
35
+ #isShowingHelp = (i(this, "isShowingHelp"), void 0);
36
36
  static {
37
37
  setComponentTemplate(precompileTemplate("\n <div class=\"euiMarkdownEditorFooter\">\n <div class=\"euiMarkdownEditorFooter__actions\">\n\n {{#if @isUploadingFiles}}\n {{!-- pending implementation--}}\n <EuiButtonIcon @iconType={{component EuiLoadingSpinner}} @useComponent={{true}} {{!-- aria-label={ariaLabels.uploadingFiles} --}} />\n {{/if}}\n {{#if (and @errors @errors.length)}}\n <EuiPopover @isOpen={{this.isPopoverOpen}} @closePopover={{set this \"isPopoverOpen\" false}}>\n <:button>\n <EuiButtonEmpty @iconType=\"error\" @size=\"s\" @color=\"danger\" {{!-- aria-label={ariaLabels.showSyntaxErrors} --}} {{on \"click\" (set this \"isPopoverOpen\" (not this.isPopoverOpen))}}>\n {{@errors.length}}\n </EuiButtonEmpty>\n </:button>\n </EuiPopover>\n {{/if}}\n </div>\n <EuiButtonIcon class=\"euiMarkdownEditorFooter__help\" @iconType={{component MarkdownLogo}} @useComponent={{true}} @color=\"text\" @useSvg={{true}} {{!-- aria-label={ariaLabels.showMarkdownHelp} --}} {{on \"click\" (set this \"isShowingHelp\" (not this.isShowingHelp))}} />\n\n {{#if this.isShowingHelp}}\n\n <EuiModal @onClose={{set this \"isShowingHelp\" false}}>\n <EuiModalHeader>\n <EuiTitle>\n <h3>\n Syntax Help\n {{!-- <EuiI18n\n token=\"euiMarkdownEditorFooter.syntaxTitle\"\n default=\"Syntax help\"\n /> --}}\n </h3>\n </EuiTitle>\n </EuiModalHeader>\n <EuiModalBody>\n\n <EuiText>\n <p>The editor uses</p>\n <a href=\"https://github.github.com/gfm/\" target=\"_blank\" rel=\"noreferrer noopener\">\n Github flavored markdown\n </a>\n <p>You can also utilize these additional syntax plugins to add\n rich content to yoru text.</p>\n </EuiText>\n <EuiHorizontalRule />\n {{#each @uiPlugins as |uiPlugin|}}\n {{#if uiPlugin.helpText}}\n <EuiTitle size=\"xxs\">\n <p>\n <strong>{{uiPlugin.name}}</strong>\n </p>\n </EuiTitle>\n <EuiSpacer size=\"s\" />\n <EuiMarkdownFormat @value={{uiPlugin.helpText}} />\n <EuiSpacer size=\"l\" />\n\n {{/if}}\n {{/each}}\n </EuiModalBody>\n </EuiModal>\n\n {{/if}}\n </div>\n ", {
38
38
  strictMode: true,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-markdown-editor-footer.js","sources":["../../src/components/eui-markdown-editor-footer.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\n\nimport set from 'ember-set-helper/helpers/set';\nimport { and, not } from 'ember-truth-helpers';\n\nimport MarkdownLogo from '../components/eui-markdown-editor-footer/icons/markdown-logo.gts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiHorizontalRule from './eui-horizontal-rule.gts';\nimport EuiLoadingSpinner from './eui-loading-spinner.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport EuiModal from './eui-modal.gts';\nimport EuiModalBody from './eui-modal-body.gts';\nimport EuiModalHeader from './eui-modal-header.gts';\nimport EuiPopover from './eui-popover.gts';\nimport EuiSpacer from './eui-spacer.gts';\nimport EuiText from './eui-text.gts';\nimport EuiTitle from './eui-title.gts';\n\nexport interface EuiMarkdownEditorFooterSignature {\n Args: {\n isUploadingFiles?: boolean;\n errors?: string[];\n uiPlugins?: any[];\n };\n}\n\nexport default class EuiMarkdownEditorFooterComponent extends Component<EuiMarkdownEditorFooterSignature> {\n @tracked isPopoverOpen = false;\n @tracked isShowingHelp = false;\n\n <template>\n <div class=\"euiMarkdownEditorFooter\">\n <div class=\"euiMarkdownEditorFooter__actions\">\n\n {{#if @isUploadingFiles}}\n {{! pending implementation}}\n <EuiButtonIcon\n @iconType={{component EuiLoadingSpinner}}\n @useComponent={{true}}\n {{! aria-label={ariaLabels.uploadingFiles} }}\n />\n {{/if}}\n {{#if (and @errors @errors.length)}}\n <EuiPopover\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{set this \"isPopoverOpen\" false}}\n >\n <:button>\n <EuiButtonEmpty\n @iconType=\"error\"\n @size=\"s\"\n @color=\"danger\"\n {{! aria-label={ariaLabels.showSyntaxErrors} }}\n {{on\n \"click\"\n (set this \"isPopoverOpen\" (not this.isPopoverOpen))\n }}\n >\n {{@errors.length}}\n </EuiButtonEmpty>\n </:button>\n </EuiPopover>\n {{/if}}\n </div>\n <EuiButtonIcon\n class=\"euiMarkdownEditorFooter__help\"\n @iconType={{component MarkdownLogo}}\n @useComponent={{true}}\n @color=\"text\"\n @useSvg={{true}}\n {{! aria-label={ariaLabels.showMarkdownHelp} }}\n {{on \"click\" (set this \"isShowingHelp\" (not this.isShowingHelp))}}\n />\n\n {{#if this.isShowingHelp}}\n\n <EuiModal @onClose={{set this \"isShowingHelp\" false}}>\n <EuiModalHeader>\n <EuiTitle>\n <h3>\n Syntax Help\n {{! <EuiI18n\n token=\"euiMarkdownEditorFooter.syntaxTitle\"\n default=\"Syntax help\"\n /> }}\n </h3>\n </EuiTitle>\n </EuiModalHeader>\n <EuiModalBody>\n\n <EuiText>\n <p>The editor uses</p>\n <a\n href=\"https://github.github.com/gfm/\"\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n >\n Github flavored markdown\n </a>\n <p>You can also utilize these additional syntax plugins to add\n rich content to yoru text.</p>\n </EuiText>\n <EuiHorizontalRule />\n {{#each @uiPlugins as |uiPlugin|}}\n {{#if uiPlugin.helpText}}\n <EuiTitle size=\"xxs\">\n <p>\n <strong>{{uiPlugin.name}}</strong>\n </p>\n </EuiTitle>\n <EuiSpacer size=\"s\" />\n <EuiMarkdownFormat @value={{uiPlugin.helpText}} />\n <EuiSpacer size=\"l\" />\n\n {{/if}}\n {{/each}}\n </EuiModalBody>\n </EuiModal>\n\n {{/if}}\n </div>\n </template>\n}\n"],"names":["EuiMarkdownEditorFooterComponent","Component","g","prototype","tracked","i","void 0","setComponentTemplate","precompileTemplate","strictMode","scope","EuiButtonIcon","EuiLoadingSpinner","and","EuiPopover","set","EuiButtonEmpty","on","not","MarkdownLogo","EuiModal","EuiModalHeader","EuiTitle","EuiModalBody","EuiText","EuiHorizontalRule","EuiSpacer","EuiMarkdownFormat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA6Be,MAAMA,yCAAyCC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CACrEC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAwB,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,SAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CAC9BC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAwB,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,SAAA;AAE/B,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CA2FA,khFAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,aAAA;QAAAC,iBAAA;QAAAC,GAAA;oBAAAC,mBAAA;QAAAC,GAAA;QAAAC,cAAA;QAAAC,EAAA;QAAAC,GAAA;QAAAC,YAAA;QAAAC,QAAA;QAAAC,cAAA;QAAAC,QAAA;QAAAC,YAAA;iBAAAC,gBAAA;QAAAC,iBAAA;QAAAC,SAAA;AAAAC,2BAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"eui-markdown-editor-footer.js","sources":["../../src/components/eui-markdown-editor-footer.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\n\nimport set from 'ember-set-helper/helpers/set';\nimport { and, not } from 'ember-truth-helpers';\n\nimport MarkdownLogo from '../components/eui-markdown-editor-footer/icons/markdown-logo.gts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiHorizontalRule from './eui-horizontal-rule.gts';\nimport EuiLoadingSpinner from './eui-loading-spinner.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport EuiModal from './eui-modal.gts';\nimport EuiModalBody from './eui-modal-body.gts';\nimport EuiModalHeader from './eui-modal-header.gts';\nimport EuiPopover from './eui-popover.gts';\nimport EuiSpacer from './eui-spacer.gts';\nimport EuiText from './eui-text.gts';\nimport EuiTitle from './eui-title.gts';\n\nexport interface EuiMarkdownEditorFooterSignature {\n Args: {\n isUploadingFiles?: boolean;\n errors?: string[];\n uiPlugins?: any[];\n };\n}\n\nexport default class EuiMarkdownEditorFooterComponent extends Component<EuiMarkdownEditorFooterSignature> {\n @tracked isPopoverOpen = false;\n @tracked isShowingHelp = false;\n\n <template>\n <div class=\"euiMarkdownEditorFooter\">\n <div class=\"euiMarkdownEditorFooter__actions\">\n\n {{#if @isUploadingFiles}}\n {{! pending implementation}}\n <EuiButtonIcon\n @iconType={{component EuiLoadingSpinner}}\n @useComponent={{true}}\n {{! aria-label={ariaLabels.uploadingFiles} }}\n />\n {{/if}}\n {{#if (and @errors @errors.length)}}\n <EuiPopover\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{set this \"isPopoverOpen\" false}}\n >\n <:button>\n <EuiButtonEmpty\n @iconType=\"error\"\n @size=\"s\"\n @color=\"danger\"\n {{! aria-label={ariaLabels.showSyntaxErrors} }}\n {{on\n \"click\"\n (set this \"isPopoverOpen\" (not this.isPopoverOpen))\n }}\n >\n {{@errors.length}}\n </EuiButtonEmpty>\n </:button>\n </EuiPopover>\n {{/if}}\n </div>\n <EuiButtonIcon\n class=\"euiMarkdownEditorFooter__help\"\n @iconType={{component MarkdownLogo}}\n @useComponent={{true}}\n @color=\"text\"\n @useSvg={{true}}\n {{! aria-label={ariaLabels.showMarkdownHelp} }}\n {{on \"click\" (set this \"isShowingHelp\" (not this.isShowingHelp))}}\n />\n\n {{#if this.isShowingHelp}}\n\n <EuiModal @onClose={{set this \"isShowingHelp\" false}}>\n <EuiModalHeader>\n <EuiTitle>\n <h3>\n Syntax Help\n {{! <EuiI18n\n token=\"euiMarkdownEditorFooter.syntaxTitle\"\n default=\"Syntax help\"\n /> }}\n </h3>\n </EuiTitle>\n </EuiModalHeader>\n <EuiModalBody>\n\n <EuiText>\n <p>The editor uses</p>\n <a\n href=\"https://github.github.com/gfm/\"\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n >\n Github flavored markdown\n </a>\n <p>You can also utilize these additional syntax plugins to add\n rich content to yoru text.</p>\n </EuiText>\n <EuiHorizontalRule />\n {{#each @uiPlugins as |uiPlugin|}}\n {{#if uiPlugin.helpText}}\n <EuiTitle size=\"xxs\">\n <p>\n <strong>{{uiPlugin.name}}</strong>\n </p>\n </EuiTitle>\n <EuiSpacer size=\"s\" />\n <EuiMarkdownFormat @value={{uiPlugin.helpText}} />\n <EuiSpacer size=\"l\" />\n\n {{/if}}\n {{/each}}\n </EuiModalBody>\n </EuiModal>\n\n {{/if}}\n </div>\n </template>\n}\n"],"names":["EuiMarkdownEditorFooterComponent","Component","g","prototype","tracked","i","void 0","setComponentTemplate","precompileTemplate","strictMode","scope","EuiButtonIcon","EuiLoadingSpinner","and","EuiPopover","set","EuiButtonEmpty","on","not","MarkdownLogo","EuiModal","EuiModalHeader","EuiTitle","EuiModalBody","EuiText","EuiHorizontalRule","EuiSpacer","EuiMarkdownFormat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA6Be,MAAMA,yCAAyCC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CACrEC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAwB,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CAC9BC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAwB,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,MAAA;AAE/B,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CA2FA,khFAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,aAAA;QAAAC,iBAAA;QAAAC,GAAA;oBAAAC,mBAAA;QAAAC,GAAA;QAAAC,cAAA;QAAAC,EAAA;QAAAC,GAAA;QAAAC,YAAA;QAAAC,QAAA;QAAAC,cAAA;QAAAC,QAAA;QAAAC,YAAA;iBAAAC,gBAAA;QAAAC,iBAAA;QAAAC,SAAA;AAAAC,2BAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -7,7 +7,7 @@ import { guidFor } from '@ember/object/internals';
7
7
  import didInsert from '@ember/render-modifiers/modifiers/did-insert';
8
8
  import didUpdate from '@ember/render-modifiers/modifiers/did-update';
9
9
  import { scheduleOnce } from '@ember/runloop';
10
- import pick from 'ember-composable-helpers/helpers/pick';
10
+ import pick from '@nullvoxpopuli/ember-composable-helpers/helpers/pick';
11
11
  import { modifier } from 'ember-modifier';
12
12
  import set from 'ember-set-helper/helpers/set';
13
13
  import style from 'ember-style-modifier/modifiers/style';
@@ -87,81 +87,81 @@ class EuiMarkdownEditorComponent extends Component {
87
87
  static {
88
88
  g(this.prototype, "pluginEditorPlugin", [tracked]);
89
89
  }
90
- #pluginEditorPlugin = (i(this, "pluginEditorPlugin"), undefined);
90
+ #pluginEditorPlugin = (i(this, "pluginEditorPlugin"), void 0);
91
91
  static {
92
92
  g(this.prototype, "parsingPluginList", [argOrDefaultDecorator(defaultParsingPlugins)]);
93
93
  }
94
- #parsingPluginList = (i(this, "parsingPluginList"), undefined); // Defaults
94
+ #parsingPluginList = (i(this, "parsingPluginList"), void 0); // Defaults
95
95
  static {
96
96
  g(this.prototype, "height", [argOrDefaultDecorator(250)]);
97
97
  }
98
- #height = (i(this, "height"), undefined);
98
+ #height = (i(this, "height"), void 0);
99
99
  static {
100
100
  g(this.prototype, "maxHeight", [argOrDefaultDecorator(500)]);
101
101
  }
102
- #maxHeight = (i(this, "maxHeight"), undefined);
102
+ #maxHeight = (i(this, "maxHeight"), void 0);
103
103
  static {
104
104
  g(this.prototype, "autoExpandPreview", [argOrDefaultDecorator(true)]);
105
105
  }
106
- #autoExpandPreview = (i(this, "autoExpandPreview"), undefined);
106
+ #autoExpandPreview = (i(this, "autoExpandPreview"), void 0);
107
107
  static {
108
108
  g(this.prototype, "processingPluginList", [argOrDefaultDecorator(defaultProcessingPlugins)]);
109
109
  }
110
- #processingPluginList = (i(this, "processingPluginList"), undefined);
110
+ #processingPluginList = (i(this, "processingPluginList"), void 0);
111
111
  static {
112
112
  g(this.prototype, "selectedNode", [tracked], function () {
113
113
  return null;
114
114
  });
115
115
  }
116
- #selectedNode = (i(this, "selectedNode"), undefined);
116
+ #selectedNode = (i(this, "selectedNode"), void 0);
117
117
  static {
118
118
  g(this.prototype, "editorId", [tracked], function () {
119
119
  return this.args.editorId ?? guidFor({});
120
120
  });
121
121
  }
122
- #editorId = (i(this, "editorId"), undefined);
122
+ #editorId = (i(this, "editorId"), void 0);
123
123
  static {
124
124
  g(this.prototype, "viewMode", [tracked], function () {
125
125
  return this.args.initialViewMode || MODE_EDITING;
126
126
  });
127
127
  }
128
- #viewMode = (i(this, "viewMode"), undefined);
128
+ #viewMode = (i(this, "viewMode"), void 0);
129
129
  static {
130
130
  g(this.prototype, "textareaRef", [tracked], function () {
131
131
  return null;
132
132
  });
133
133
  }
134
- #textareaRef = (i(this, "textareaRef"), undefined);
134
+ #textareaRef = (i(this, "textareaRef"), void 0);
135
135
  static {
136
136
  g(this.prototype, "previewRef", [tracked], function () {
137
137
  return null;
138
138
  });
139
139
  }
140
- #previewRef = (i(this, "previewRef"), undefined);
140
+ #previewRef = (i(this, "previewRef"), void 0);
141
141
  static {
142
142
  g(this.prototype, "editorToolbarRef", [tracked], function () {
143
143
  return null;
144
144
  });
145
145
  }
146
- #editorToolbarRef = (i(this, "editorToolbarRef"), undefined);
146
+ #editorToolbarRef = (i(this, "editorToolbarRef"), void 0);
147
147
  static {
148
148
  g(this.prototype, "currentHeight", [tracked], function () {
149
149
  return 250;
150
150
  });
151
151
  }
152
- #currentHeight = (i(this, "currentHeight"), undefined);
152
+ #currentHeight = (i(this, "currentHeight"), void 0);
153
153
  static {
154
154
  g(this.prototype, "editorFooterHeight", [tracked], function () {
155
155
  return 0;
156
156
  });
157
157
  }
158
- #editorFooterHeight = (i(this, "editorFooterHeight"), undefined);
158
+ #editorFooterHeight = (i(this, "editorFooterHeight"), void 0);
159
159
  static {
160
160
  g(this.prototype, "editorToolbarHeight", [tracked], function () {
161
161
  return 0;
162
162
  });
163
163
  }
164
- #editorToolbarHeight = (i(this, "editorToolbarHeight"), undefined);
164
+ #editorToolbarHeight = (i(this, "editorToolbarHeight"), void 0);
165
165
  markdownActions;
166
166
  get toolbarPlugins() {
167
167
  return [tooltipPlugin, ...(this.args.uiPlugins || [])];
@@ -1 +1 @@
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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"}
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 '@nullvoxpopuli/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 {\n MODE_EDITING,\n MODE_VIEWING\n} 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)\n 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)\n 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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"}
@@ -2,7 +2,7 @@ import Component from '@glimmer/component';
2
2
  import { cached } from '@glimmer/tracking';
3
3
  import { isArray } from '@ember/array';
4
4
  import { EnsureSafeComponentHelper } from '@embroider/util';
5
- import optional from 'ember-composable-helpers/helpers/optional';
5
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
6
6
  import unified from 'unified';
7
7
  import { defaultParsingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/parsing-plugins.js';
8
8
  import { defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/processing-plugins.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-markdown-format.js","sources":["../../src/components/eui-markdown-format.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { isArray } from '@ember/array';\nimport { EnsureSafeComponentHelper } from '@embroider/util';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport unified from 'unified';\n\nimport {\n defaultParsingPlugins,\n defaultProcessingPlugins\n} from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport { toDOM } from '../utils/markdown/plugins/to-dom.ts';\n\nimport type {\n EuiMarkdownAstNodePosition,\n RehypeNode} from '../utils/markdown/markdown-types';\nimport type { Processor } from 'unified';\n\nexport type Replacer = (\n position: EuiMarkdownAstNodePosition,\n str: string\n) => void;\n\nexport interface EuiMarkdownFormatSignature {\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n replaceNode?: Replacer;\n value: string;\n //you can pass in a string or an array of strings to be added to the root element\n rootClasses?: string | string[];\n}\n\nexport default class EuiMarkdownEditorToolbarComponent extends Component<EuiMarkdownFormatSignature> {\n get parsingPluginList() {\n return this.args.parsingPluginList || defaultParsingPlugins;\n }\n\n get processingPluginList() {\n return this.args.processingPluginList || defaultProcessingPlugins;\n }\n\n @cached\n get processor() {\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()\n .use(this.parsingPluginList)\n .use(this.processingPluginList)\n .use(identityCompiler);\n }\n\n get rootClasses(): string[] {\n let baseClasses = ['euiMarkdownFormat', 'euiText', 'euiText--medium'];\n\n if (this.args.rootClasses) {\n let rootClasses = isArray(this.args.rootClasses)\n ? this.args.rootClasses\n : (this.args.rootClasses as string)?.trim()?.split(' ') || [];\n\n baseClasses = baseClasses.concat(rootClasses);\n }\n\n return baseClasses;\n }\n\n @cached\n get result() {\n try {\n const processed = this.processor.processSync(this.args.value);\n\n return toDOM(processed['result'] as RehypeNode, {\n rootClasses: this.rootClasses\n });\n //eslint-disable-next-line\n } catch (e) {\n console.warn(e);\n }\n \n return null;\n }\n\n <template>\n {{! This hbs was inspired by https://github.com/ampatspell/ember-cli-remark-static/blob/v3.0.5/addon/components/remark.hbs }}\n {{#if this.result}}\n {{this.result.element}}\n {{#each this.result.components as |CompNode|}}\n {{#in-element CompNode.element}}\n {{#if CompNode.componentName}}\n {{#let\n (component (EnsureSafeComponentHelper CompNode.componentName))\n as |DynamicComponent|\n }}\n <DynamicComponent\n @replaceNode={{optional @replaceNode}}\n @node={{CompNode}}\n />\n {{/let}}\n {{/if}}\n {{/in-element}}\n {{/each}}\n {{/if}}\n </template>\n}\n"],"names":["EuiMarkdownEditorToolbarComponent","Component","parsingPluginList","args","defaultParsingPlugins","processingPluginList","defaultProcessingPlugins","processor","Compiler","tree","identityCompiler","unified","use","n","prototype","cached","rootClasses","baseClasses","isArray","trim","split","concat","result","processed","processSync","value","toDOM","e","console","warn","setComponentTemplate","precompileTemplate","strictMode","scope","EnsureSafeComponentHelper","optional"],"mappings":";;;;;;;;;;;;;;AAiCe,MAAMA,0CAA0CC,SAAU,CAAA;EACvE,IAAIC,iBAAoBA,GAAA;AACtB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,iBAAiB,IAAIE,qBAAA;AACxC;EAEA,IAAIC,oBAAuBA,GAAA;AACzB,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,oBAAoB,IAAIC,wBAAA;AAC3C;EAEA,IACIC,SAAYA,GAAA;IACd,MAAMC,QAAA,GAAYC,IAAS,IAAA;AACzB,MAAA,OAAOA,IAAA;KACT;IAEA,SAASC,gBAAAA,GAAgC;AACvC;MACA,IAAI,CAACF,QAAQ,GAAGA,QAAA;AAClB;IAEA,OAAOG,OACJ,EAAA,CAAAC,GAAG,CAAC,IAAI,CAACV,iBAAiB,CAAA,CAC1BU,GAAG,CAAC,IAAI,CAACP,oBAAoB,CAAA,CAC7BO,GAAG,CAACF,gBAAA,CAAA;AACT;AAAA,EAAA;IAAAG,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,WAAA,EAAA,CAfCC,MAAA,CAAA,CAAA;AAAA;EAiBD,IAAIC,WAAAA,GAAwB;IAC1B,IAAIC,WAAc,GAAA,CAAC,mBAAA,EAAqB,SAAA,EAAW,iBAAA,CAAkB;AAErE,IAAA,IAAI,IAAI,CAACd,IAAI,CAACa,WAAW,EAAE;AACzB,MAAA,IAAIA,WAAA,GAAcE,OAAQ,CAAA,IAAI,CAACf,IAAI,CAACa,WAAW,CAC3C,GAAA,IAAI,CAACb,IAAI,CAACa,WAAW,GACpB,IAAI,CAACb,IAAI,CAACa,WAAW,EAAaG,IAAA,EAAA,EAAQC,KAAM,CAAA,GAAA,CAAA,IAAQ,EAAE;AAE/DH,MAAAA,WAAc,GAAAA,WAAA,CAAYI,MAAM,CAACL,WAAA,CAAA;AACnC;AAEA,IAAA,OAAOC,WAAA;AACT;EAEA,IACIK,MAASA,GAAA;IACX,IAAI;AACF,MAAA,MAAMC,SAAA,GAAY,IAAI,CAAChB,SAAS,CAACiB,WAAW,CAAC,IAAI,CAACrB,IAAI,CAACsB,KAAK,CAAA;AAE5D,MAAA,OAAOC,KAAM,CAAAH,SAAS,CAAC,QAAA,CAAS,EAAgB;QAC9CP,WAAa,EAAA,IAAI,CAACA;AACpB,OAAA,CAAA;AACA;KACF,CAAE,OAAOW,CAAG,EAAA;AACVC,MAAAA,OAAA,CAAQC,IAAI,CAACF,CAAA,CAAA;AACf;AAEA,IAAA,OAAO,IAAA;AACT;AAAA,EAAA;IAAAd,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,QAAA,EAAA,CAdCC,MAAA,CAAA,CAAA;AAAA;AAgBD,EAAA;IAAAe,oBAAA,CAAAC,kBAAA,CAoBA,wnBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,yBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"eui-markdown-format.js","sources":["../../src/components/eui-markdown-format.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { isArray } from '@ember/array';\nimport { EnsureSafeComponentHelper } from '@embroider/util';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport unified from 'unified';\n\nimport {\n defaultParsingPlugins,\n defaultProcessingPlugins\n} from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport { toDOM } from '../utils/markdown/plugins/to-dom.ts';\n\nimport type {\n EuiMarkdownAstNodePosition,\n RehypeNode\n} from '../utils/markdown/markdown-types';\nimport type { Processor } from 'unified';\n\nexport type Replacer = (\n position: EuiMarkdownAstNodePosition,\n str: string\n) => void;\n\nexport interface EuiMarkdownFormatSignature {\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n replaceNode?: Replacer;\n value: string;\n //you can pass in a string or an array of strings to be added to the root element\n rootClasses?: string | string[];\n}\n\nexport default class EuiMarkdownEditorToolbarComponent extends Component<EuiMarkdownFormatSignature> {\n get parsingPluginList() {\n return this.args.parsingPluginList || defaultParsingPlugins;\n }\n\n get processingPluginList() {\n return this.args.processingPluginList || defaultProcessingPlugins;\n }\n\n @cached\n get processor() {\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()\n .use(this.parsingPluginList)\n .use(this.processingPluginList)\n .use(identityCompiler);\n }\n\n get rootClasses(): string[] {\n let baseClasses = ['euiMarkdownFormat', 'euiText', 'euiText--medium'];\n\n if (this.args.rootClasses) {\n let rootClasses = isArray(this.args.rootClasses)\n ? this.args.rootClasses\n : (this.args.rootClasses as string)?.trim()?.split(' ') || [];\n\n baseClasses = baseClasses.concat(rootClasses);\n }\n\n return baseClasses;\n }\n\n @cached\n get result() {\n try {\n const processed = this.processor.processSync(this.args.value);\n\n return toDOM(processed['result'] as RehypeNode, {\n rootClasses: this.rootClasses\n });\n //eslint-disable-next-line\n } catch (e) {\n console.warn(e);\n }\n\n return null;\n }\n\n <template>\n {{! This hbs was inspired by https://github.com/ampatspell/ember-cli-remark-static/blob/v3.0.5/addon/components/remark.hbs }}\n {{#if this.result}}\n {{this.result.element}}\n {{#each this.result.components as |CompNode|}}\n {{#in-element CompNode.element}}\n {{#if CompNode.componentName}}\n {{#let\n (component (EnsureSafeComponentHelper CompNode.componentName))\n as |DynamicComponent|\n }}\n <DynamicComponent\n @replaceNode={{optional @replaceNode}}\n @node={{CompNode}}\n />\n {{/let}}\n {{/if}}\n {{/in-element}}\n {{/each}}\n {{/if}}\n </template>\n}\n"],"names":["EuiMarkdownEditorToolbarComponent","Component","parsingPluginList","args","defaultParsingPlugins","processingPluginList","defaultProcessingPlugins","processor","Compiler","tree","identityCompiler","unified","use","n","prototype","cached","rootClasses","baseClasses","isArray","trim","split","concat","result","processed","processSync","value","toDOM","e","console","warn","setComponentTemplate","precompileTemplate","strictMode","scope","EnsureSafeComponentHelper","optional"],"mappings":";;;;;;;;;;;;;;AAkCe,MAAMA,0CAA0CC,SAAU,CAAA;EACvE,IAAIC,iBAAoBA,GAAA;AACtB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,iBAAiB,IAAIE,qBAAA;AACxC;EAEA,IAAIC,oBAAuBA,GAAA;AACzB,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,oBAAoB,IAAIC,wBAAA;AAC3C;EAEA,IACIC,SAAYA,GAAA;IACd,MAAMC,QAAA,GAAYC,IAAS,IAAA;AACzB,MAAA,OAAOA,IAAA;KACT;IAEA,SAASC,gBAAAA,GAAgC;AACvC;MACA,IAAI,CAACF,QAAQ,GAAGA,QAAA;AAClB;IAEA,OAAOG,OACJ,EAAA,CAAAC,GAAG,CAAC,IAAI,CAACV,iBAAiB,CAAA,CAC1BU,GAAG,CAAC,IAAI,CAACP,oBAAoB,CAAA,CAC7BO,GAAG,CAACF,gBAAA,CAAA;AACT;AAAA,EAAA;IAAAG,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,WAAA,EAAA,CAfCC,MAAA,CAAA,CAAA;AAAA;EAiBD,IAAIC,WAAAA,GAAwB;IAC1B,IAAIC,WAAc,GAAA,CAAC,mBAAA,EAAqB,SAAA,EAAW,iBAAA,CAAkB;AAErE,IAAA,IAAI,IAAI,CAACd,IAAI,CAACa,WAAW,EAAE;AACzB,MAAA,IAAIA,WAAA,GAAcE,OAAQ,CAAA,IAAI,CAACf,IAAI,CAACa,WAAW,CAC3C,GAAA,IAAI,CAACb,IAAI,CAACa,WAAW,GACpB,IAAI,CAACb,IAAI,CAACa,WAAW,EAAaG,IAAA,EAAA,EAAQC,KAAM,CAAA,GAAA,CAAA,IAAQ,EAAE;AAE/DH,MAAAA,WAAc,GAAAA,WAAA,CAAYI,MAAM,CAACL,WAAA,CAAA;AACnC;AAEA,IAAA,OAAOC,WAAA;AACT;EAEA,IACIK,MAASA,GAAA;IACX,IAAI;AACF,MAAA,MAAMC,SAAA,GAAY,IAAI,CAAChB,SAAS,CAACiB,WAAW,CAAC,IAAI,CAACrB,IAAI,CAACsB,KAAK,CAAA;AAE5D,MAAA,OAAOC,KAAM,CAAAH,SAAS,CAAC,QAAA,CAAS,EAAgB;QAC9CP,WAAa,EAAA,IAAI,CAACA;AACpB,OAAA,CAAA;AACA;KACF,CAAE,OAAOW,CAAG,EAAA;AACVC,MAAAA,OAAA,CAAQC,IAAI,CAACF,CAAA,CAAA;AACf;AAEA,IAAA,OAAO,IAAA;AACT;AAAA,EAAA;IAAAd,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,QAAA,EAAA,CAdCC,MAAA,CAAA,CAAA;AAAA;AAgBD,EAAA;IAAAe,oBAAA,CAAAC,kBAAA,CAoBA,wnBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,yBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { hash } from '@ember/helper';
2
2
  import { on } from '@ember/modifier';
3
- import optional from 'ember-composable-helpers/helpers/optional';
3
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
4
4
  import preventDefault from 'ember-event-helpers/helpers/prevent-default';
5
5
  import stopPropagation from 'ember-event-helpers/helpers/stop-propagation';
6
6
  import { focusTrap } from 'ember-focus-trap';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-modal.js","sources":["../../src/components/eui-modal.gts"],"sourcesContent":["import { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport preventDefault from 'ember-event-helpers/helpers/prevent-default';\nimport stopPropagation from 'ember-event-helpers/helpers/stop-propagation';\nimport { focusTrap } from 'ember-focus-trap';\nimport onKey from 'ember-keyboard/modifiers/on-key';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, notEq } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport inlineStyles from '../helpers/inline-styles.ts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiOverlayMask from './eui-overlay-mask.gts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiModalSignature {\n Element: HTMLDivElement;\n Args: {\n onClose?: (e: Event) => void;\n maxWidth?: boolean | string;\n clickOutsideToClose?: boolean;\n isFocusTrapActive?: boolean;\n shouldSelfFocus?: boolean;\n isFocusTrapPaused?: boolean;\n focusTrapOptions?: {\n allowOutsideClick?: boolean;\n clickOutsideDeactivates?: boolean;\n initialFocus?: string | HTMLElement | (() => HTMLElement);\n fallbackFocus?: string | HTMLElement | (() => HTMLElement);\n escapeDeactivates?: boolean;\n returnFocusOnDeactivate?: boolean;\n preventScroll?: boolean;\n };\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiModal: TemplateOnlyComponent<EuiModalSignature> = <template>\n {{#let\n (if\n (and @maxWidth (notEq @maxWidth true))\n (inlineStyles\n componentName=\"EuiModal\" componentArgs=(hash maxWidth=@maxWidth)\n )\n (hash)\n )\n as |inlineStyles|\n }}\n <EuiOverlayMask\n @onClick={{if @clickOutsideToClose (optional @onClose) (optional)}}\n >\n <div\n class={{classNames\n \"euiModal\"\n (if (eq @maxWidth true) \"euiModal--maxWidth-default\")\n }}\n tabindex=\"0\"\n ...attributes\n {{style inlineStyles}}\n {{focusTrap\n isActive=(argOrDefault @isFocusTrapActive true)\n shouldSelfFocus=(argOrDefault @shouldSelfFocus true)\n isPaused=(argOrDefault @isFocusTrapPaused false)\n focusTrapOptions=(argOrDefault @focusTrapOptions (hash))\n }}\n {{onKey\n \"Escape\"\n (preventDefault (stopPropagation (optional @onClose)))\n }}\n >\n <EuiButtonIcon\n class=\"euiModal__closeIcon\"\n @iconType=\"cross\"\n @color=\"text\"\n {{on \"click\" (optional @onClose)}}\n />\n <div class=\"euiModal__flex\">\n {{yield}}\n </div>\n </div>\n </EuiOverlayMask>\n {{/let}}\n</template>;\n\nexport default EuiModal;\n"],"names":["EuiModal","setComponentTemplate","precompileTemplate","strictMode","scope","and","notEq","inlineStyles","hash","EuiOverlayMask","optional","classNames","eq","style","focusTrap","argOrDefault","onKey","preventDefault","stopPropagation","EuiButtonIcon","on","templateOnly"],"mappings":";;;;;;;;;;;;;;;;;;AA2CA,MAAMA,QAAqD,GAAAC,oBAAA,CAAAC,kBAAA,CA6C3D,q8BAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,GAAA;IAAAC,KAAA;IAAAC,YAAA;IAAAC,IAAA;oBAAAC,uBAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,KAAA;IAAAC,SAAA;IAAAC,YAAA;IAAAC,KAAA;IAAAC,cAAA;IAAAC,eAAA;IAAAC,aAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-modal.js","sources":["../../src/components/eui-modal.gts"],"sourcesContent":["import { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport preventDefault from 'ember-event-helpers/helpers/prevent-default';\nimport stopPropagation from 'ember-event-helpers/helpers/stop-propagation';\nimport { focusTrap } from 'ember-focus-trap';\nimport onKey from 'ember-keyboard/modifiers/on-key';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, notEq } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport inlineStyles from '../helpers/inline-styles.ts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiOverlayMask from './eui-overlay-mask.gts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiModalSignature {\n Element: HTMLDivElement;\n Args: {\n onClose?: (e: Event) => void;\n maxWidth?: boolean | string;\n clickOutsideToClose?: boolean;\n isFocusTrapActive?: boolean;\n shouldSelfFocus?: boolean;\n isFocusTrapPaused?: boolean;\n focusTrapOptions?: {\n allowOutsideClick?: boolean;\n clickOutsideDeactivates?: boolean;\n initialFocus?: string | HTMLElement | (() => HTMLElement);\n fallbackFocus?: string | HTMLElement | (() => HTMLElement);\n escapeDeactivates?: boolean;\n returnFocusOnDeactivate?: boolean;\n preventScroll?: boolean;\n };\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiModal: TemplateOnlyComponent<EuiModalSignature> = <template>\n {{#let\n (if\n (and @maxWidth (notEq @maxWidth true))\n (inlineStyles\n componentName=\"EuiModal\" componentArgs=(hash maxWidth=@maxWidth)\n )\n (hash)\n )\n as |inlineStyles|\n }}\n <EuiOverlayMask\n @onClick={{if @clickOutsideToClose (optional @onClose) (optional)}}\n >\n <div\n class={{classNames\n \"euiModal\"\n (if (eq @maxWidth true) \"euiModal--maxWidth-default\")\n }}\n tabindex=\"0\"\n ...attributes\n {{style inlineStyles}}\n {{focusTrap\n isActive=(argOrDefault @isFocusTrapActive true)\n shouldSelfFocus=(argOrDefault @shouldSelfFocus true)\n isPaused=(argOrDefault @isFocusTrapPaused false)\n focusTrapOptions=(argOrDefault @focusTrapOptions (hash))\n }}\n {{onKey\n \"Escape\"\n (preventDefault (stopPropagation (optional @onClose)))\n }}\n >\n <EuiButtonIcon\n class=\"euiModal__closeIcon\"\n @iconType=\"cross\"\n @color=\"text\"\n {{on \"click\" (optional @onClose)}}\n />\n <div class=\"euiModal__flex\">\n {{yield}}\n </div>\n </div>\n </EuiOverlayMask>\n {{/let}}\n</template>;\n\nexport default EuiModal;\n"],"names":["EuiModal","setComponentTemplate","precompileTemplate","strictMode","scope","and","notEq","inlineStyles","hash","EuiOverlayMask","optional","classNames","eq","style","focusTrap","argOrDefault","onKey","preventDefault","stopPropagation","EuiButtonIcon","on","templateOnly"],"mappings":";;;;;;;;;;;;;;;;;;AA2CA,MAAMA,QAAqD,GAAAC,oBAAA,CAAAC,kBAAA,CA6C3D,q8BAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,GAAA;IAAAC,KAAA;IAAAC,YAAA;IAAAC,IAAA;oBAAAC,uBAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,KAAA;IAAAC,SAAA;IAAAC,YAAA;IAAAC,KAAA;IAAAC,cAAA;IAAAC,eAAA;IAAAC,aAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,6 +1,4 @@
1
1
  import { concat } from '@ember/helper';
2
- import objectAt from 'ember-composable-helpers/helpers/object-at';
3
- import without from 'ember-composable-helpers/helpers/without';
4
2
  import randomId from '../-private/random-id.js';
5
3
  import EuiAccordionAccordionComponent from './eui-accordion.js';
6
4
  import EuiTextComponent from './eui-text.js';
@@ -8,6 +6,10 @@ import { precompileTemplate } from '@ember/template-compilation';
8
6
  import { setComponentTemplate } from '@ember/component';
9
7
  import templateOnly from '@ember/component/template-only';
10
8
 
9
+ const objectAt = (pos, array) => array[pos];
10
+ const without = (obj, array) => {
11
+ return array.filter(item => item !== obj);
12
+ };
11
13
  const EuiNotificationEventMessages = setComponentTemplate(precompileTemplate("\n <div class=\"euiNotificationEventMessages\" ...attributes>\n {{#let (objectAt 0 @messages) (without (objectAt 0 @messages) @messages) as |first rest|}}\n\n {{#if first}}\n <EuiText @size=\"s\" @color=\"subdued\">\n <p>{{first}}</p>\n </EuiText>\n {{/if}}\n\n {{#if rest}}\n\n <EuiAccordion id={{concat \"euiNotificationEventMessagesAccordion\" (randomId)}} class=\"euiNotificationEventMessages__accordion\" @buttonClassName=\"euiNotificationEventMessages__accordionButton\" @arrowDisplay=\"none\">\n <:buttonContent as |isOpen|>\n {{@accordionButtonText}}\n {{#unless isOpen}}\n ({{@accordionHideText}})\n {{/unless}}\n </:buttonContent>\n\n <:content>\n <div class=\"euiNotificationEventMessages__accordionContent\">\n {{#each rest as |msg|}}\n <EuiText @size=\"s\" @color=\"subdued\">\n <p>{{msg}}</p>\n </EuiText>\n {{/each}}\n </div>\n </:content>\n\n </EuiAccordion>\n {{/if}}\n\n {{/let}}\n </div>\n ", {
12
14
  strictMode: true,
13
15
  scope: () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"eui-notification-event-messages.js","sources":["../../src/components/eui-notification-event-messages.gts"],"sourcesContent":["import { concat } from '@ember/helper';\n\nimport objectAt from 'ember-composable-helpers/helpers/object-at';\nimport without from 'ember-composable-helpers/helpers/without';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiAccordion from './eui-accordion.gts';\nimport EuiText from './eui-text.gts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiNotificationEventMessagesSignature {\n Element: HTMLDivElement;\n Args: {\n messages: string[];\n accordionButtonText?: string;\n accordionHideText?: string;\n accordionAriaLabelButtonText?: string;\n };\n}\n\nconst EuiNotificationEventMessages: TemplateOnlyComponent<EuiNotificationEventMessagesSignature> =\n <template>\n <div class=\"euiNotificationEventMessages\" ...attributes>\n {{#let\n (objectAt 0 @messages) (without (objectAt 0 @messages) @messages)\n as |first rest|\n }}\n\n {{#if first}}\n <EuiText @size=\"s\" @color=\"subdued\">\n <p>{{first}}</p>\n </EuiText>\n {{/if}}\n\n {{#if rest}}\n\n <EuiAccordion\n id={{concat \"euiNotificationEventMessagesAccordion\" (randomId)}}\n class=\"euiNotificationEventMessages__accordion\"\n @buttonClassName=\"euiNotificationEventMessages__accordionButton\"\n @arrowDisplay=\"none\"\n >\n <:buttonContent as |isOpen|>\n {{@accordionButtonText}}\n {{#unless isOpen}}\n ({{@accordionHideText}})\n {{/unless}}\n </:buttonContent>\n\n <:content>\n <div class=\"euiNotificationEventMessages__accordionContent\">\n {{#each rest as |msg|}}\n <EuiText @size=\"s\" @color=\"subdued\">\n <p>{{msg}}</p>\n </EuiText>\n {{/each}}\n </div>\n </:content>\n\n </EuiAccordion>\n {{/if}}\n\n {{/let}}\n </div>\n </template>;\n\nexport default EuiNotificationEventMessages;\n"],"names":["EuiNotificationEventMessages","setComponentTemplate","precompileTemplate","strictMode","scope","objectAt","without","EuiText","EuiAccordion","concat","randomId","templateOnly"],"mappings":";;;;;;;;;;AAqBA,MAAMA,4BACJ,GAAAC,oBAAA,CAAAC,kBAAA,CA2CA,0rCAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,QAAA;IAAAC,OAAA;aAAAC,gBAAA;kBAAAC,8BAAA;IAAAC,MAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-notification-event-messages.js","sources":["../../src/components/eui-notification-event-messages.gts"],"sourcesContent":["import { concat } from '@ember/helper';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiAccordion from './eui-accordion.gts';\nimport EuiText from './eui-text.gts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nconst objectAt = <T,>(pos: number, array: T[]) => array[pos];\nconst without = <T,>(obj: T, array: T[]) => {\n return array.filter((item) => item !== obj);\n};\n\nexport interface EuiNotificationEventMessagesSignature {\n Element: HTMLDivElement;\n Args: {\n messages: string[];\n accordionButtonText?: string;\n accordionHideText?: string;\n accordionAriaLabelButtonText?: string;\n };\n}\n\nconst EuiNotificationEventMessages: TemplateOnlyComponent<EuiNotificationEventMessagesSignature> =\n <template>\n <div class=\"euiNotificationEventMessages\" ...attributes>\n {{#let\n (objectAt 0 @messages) (without (objectAt 0 @messages) @messages)\n as |first rest|\n }}\n\n {{#if first}}\n <EuiText @size=\"s\" @color=\"subdued\">\n <p>{{first}}</p>\n </EuiText>\n {{/if}}\n\n {{#if rest}}\n\n <EuiAccordion\n id={{concat \"euiNotificationEventMessagesAccordion\" (randomId)}}\n class=\"euiNotificationEventMessages__accordion\"\n @buttonClassName=\"euiNotificationEventMessages__accordionButton\"\n @arrowDisplay=\"none\"\n >\n <:buttonContent as |isOpen|>\n {{@accordionButtonText}}\n {{#unless isOpen}}\n ({{@accordionHideText}})\n {{/unless}}\n </:buttonContent>\n\n <:content>\n <div class=\"euiNotificationEventMessages__accordionContent\">\n {{#each rest as |msg|}}\n <EuiText @size=\"s\" @color=\"subdued\">\n <p>{{msg}}</p>\n </EuiText>\n {{/each}}\n </div>\n </:content>\n\n </EuiAccordion>\n {{/if}}\n\n {{/let}}\n </div>\n </template>;\n\nexport default EuiNotificationEventMessages;\n"],"names":["objectAt","pos","array","without","obj","filter","item","EuiNotificationEventMessages","setComponentTemplate","precompileTemplate","strictMode","scope","EuiText","EuiAccordion","concat","randomId","templateOnly"],"mappings":";;;;;;;;AAQA,MAAMA,QAAA,GAAWA,CAAKC,GAAW,EAAEC,KAAO,KAAQA,KAAK,CAACD,GAAI,CAAA;AAC5D,MAAME,OAAU,GAAAA,CAAKC,KAAQF,KAAO,KAAA;EAClC,OAAOA,KAAM,CAAAG,MAAM,CAAEC,QAASA,IAAS,KAAAF,GAAA,CAAA;AACzC,CAAA;AAYA,MAAMG,4BACJ,GAAAC,oBAAA,CAAAC,kBAAA,CA2CA,0rCAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAX,QAAA;IAAAG,OAAA;aAAAS,gBAAA;kBAAAC,8BAAA;IAAAC,MAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { concat, fn } from '@ember/helper';
2
2
  import { on } from '@ember/modifier';
3
- import optional from 'ember-composable-helpers/helpers/optional';
4
- import queue from 'ember-composable-helpers/helpers/queue';
3
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
4
+ import queue from '@nullvoxpopuli/ember-composable-helpers/helpers/queue';
5
5
  import { and } from 'ember-truth-helpers';
6
6
  import randomId from '../-private/random-id.js';
7
7
  import argOrDefault from '../helpers/arg-or-default.js';