@ember-eui/core 4.4.0 → 5.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/addon/components/common.ts +1 -0
  2. package/addon/components/eui-accordion/index.hbs +106 -85
  3. package/addon/components/eui-accordion/index.ts +58 -19
  4. package/addon/components/eui-auto-sizer/index.hbs +3 -0
  5. package/addon/components/eui-auto-sizer/index.ts +175 -0
  6. package/addon/components/eui-avatar/index.hbs +7 -3
  7. package/addon/components/eui-badge/index.hbs +9 -3
  8. package/addon/components/eui-beta-badge/index.hbs +171 -19
  9. package/addon/components/eui-bottom-bar/index.hbs +43 -12
  10. package/addon/components/eui-bottom-bar/index.ts +75 -32
  11. package/addon/components/eui-breadcrumbs/index.hbs +98 -0
  12. package/addon/components/eui-breadcrumbs/index.ts +194 -0
  13. package/addon/components/eui-button/index.hbs +4 -4
  14. package/addon/components/eui-button-content/index.hbs +6 -2
  15. package/addon/components/eui-button-empty/index.hbs +60 -52
  16. package/addon/components/eui-button-icon/index.hbs +17 -3
  17. package/addon/components/eui-call-out/index.hbs +1 -0
  18. package/addon/components/eui-card/index.hbs +61 -47
  19. package/addon/components/eui-card/index.ts +27 -0
  20. package/addon/components/{eui-card/eui-card-select → eui-card-select}/index.hbs +2 -5
  21. package/addon/components/eui-card-select/index.ts +35 -0
  22. package/addon/components/eui-checkable-card/index.hbs +17 -11
  23. package/addon/components/eui-checkbox/index.hbs +11 -5
  24. package/addon/components/eui-checkbox/index.ts +15 -0
  25. package/addon/components/eui-code/index.hbs +14 -8
  26. package/addon/components/eui-code/index.ts +73 -0
  27. package/addon/components/eui-code-block/controls/index.hbs +26 -0
  28. package/addon/components/eui-code-block/full-screen-display/index.hbs +12 -0
  29. package/addon/components/eui-code-block/index.hbs +144 -9
  30. package/addon/components/eui-code-block/index.ts +290 -0
  31. package/addon/components/eui-code-block/virtualized/index.hbs +30 -0
  32. package/addon/components/eui-code-block/virtualized/index.ts +22 -0
  33. package/addon/components/eui-collapsible-nav/index.hbs +35 -44
  34. package/addon/components/eui-collapsible-nav/index.ts +161 -0
  35. package/addon/components/eui-collapsible-nav-group/index.hbs +114 -66
  36. package/addon/components/eui-combo-box/group/index.hbs +3 -3
  37. package/addon/components/eui-combo-box/index.hbs +5 -2
  38. package/addon/components/eui-combo-box/index.ts +89 -4
  39. package/addon/components/eui-combo-box/options/index.hbs +14 -2
  40. package/addon/components/eui-combo-box/options/index.js +22 -9
  41. package/addon/components/eui-combo-box/trigger/index.hbs +3 -1
  42. package/addon/components/eui-confirm-modal/index.hbs +1 -1
  43. package/addon/components/eui-copy/index.hbs +1 -4
  44. package/addon/components/eui-described-form-group/index.hbs +3 -2
  45. package/addon/components/eui-description-list/index.hbs +23 -0
  46. package/addon/components/eui-description-list-description/index.hbs +3 -0
  47. package/addon/components/eui-description-list-title/index.hbs +3 -0
  48. package/addon/components/eui-dual-range/index.hbs +30 -18
  49. package/addon/components/eui-dual-range/index.ts +36 -10
  50. package/addon/components/eui-empty-prompt/index.hbs +77 -0
  51. package/addon/components/eui-field-number/index.hbs +3 -3
  52. package/addon/components/eui-field-search/index.hbs +2 -1
  53. package/addon/components/eui-field-text/index.hbs +3 -1
  54. package/addon/components/eui-file-picker/index.hbs +15 -11
  55. package/addon/components/eui-file-picker/index.ts +26 -8
  56. package/addon/components/eui-flyout/index.hbs +130 -43
  57. package/addon/components/eui-flyout/index.ts +233 -0
  58. package/addon/components/eui-flyout-body/index.hbs +21 -7
  59. package/addon/components/eui-form-label/index.hbs +1 -1
  60. package/addon/components/eui-form-row/index.hbs +13 -9
  61. package/addon/components/eui-header/index.hbs +18 -3
  62. package/addon/{modifiers/fixed-header.ts → components/eui-header/index.ts} +10 -1
  63. package/addon/components/eui-header-alert/index.hbs +25 -0
  64. package/addon/components/eui-header-breadcrumbs/index.hbs +7 -0
  65. package/addon/components/eui-header-links/index.hbs +41 -0
  66. package/addon/components/eui-header-links/index.ts +14 -0
  67. package/addon/components/eui-header-section-item-button/index.hbs +30 -12
  68. package/addon/components/eui-header-section-item-button/index.ts +131 -0
  69. package/addon/components/eui-health/index.hbs +15 -13
  70. package/addon/components/eui-hide-for/index.hbs +3 -0
  71. package/addon/components/eui-hide-for/index.ts +33 -0
  72. package/addon/components/eui-icon/index.hbs +6 -3
  73. package/addon/components/eui-icon/index.ts +4 -0
  74. package/addon/components/eui-image/index.hbs +63 -25
  75. package/addon/components/eui-input-popover/index.ts +6 -4
  76. package/addon/components/eui-key-pad-menu/index.hbs +16 -0
  77. package/addon/components/eui-key-pad-menu/key/index.hbs +1 -0
  78. package/addon/components/eui-key-pad-menu-item/index.hbs +66 -0
  79. package/addon/components/eui-key-pad-menu-item/index.ts +11 -0
  80. package/addon/components/eui-link/index.hbs +50 -0
  81. package/addon/components/eui-list-group-item/index.hbs +10 -2
  82. package/addon/components/eui-markdown-editor/index.hbs +4 -1
  83. package/addon/components/eui-markdown-editor/index.ts +54 -0
  84. package/addon/components/eui-markdown-editor-footer/index.hbs +39 -40
  85. package/addon/components/eui-markdown-format/index.ts +1 -1
  86. package/addon/components/eui-markdown-format/markdown-code/index.hbs +2 -2
  87. package/addon/components/eui-markdown-format/markdown-code-block/index.hbs +1 -0
  88. package/addon/components/eui-modal/index.hbs +28 -24
  89. package/addon/components/eui-overlay-mask/index.hbs +4 -4
  90. package/addon/components/eui-overlay-mask/index.ts +14 -1
  91. package/addon/components/eui-page/index.hbs +3 -6
  92. package/addon/components/eui-page-body/index.hbs +47 -15
  93. package/addon/components/eui-page-content/index.hbs +6 -8
  94. package/addon/components/eui-page-content-body/index.hbs +13 -1
  95. package/addon/components/eui-page-content-header/index.hbs +6 -0
  96. package/addon/components/eui-page-header/index.hbs +31 -6
  97. package/addon/components/eui-page-header-content/index.hbs +219 -0
  98. package/addon/components/eui-page-header-content/index.ts +49 -0
  99. package/addon/components/eui-page-side-bar/index.hbs +8 -1
  100. package/addon/components/eui-page-template/index.hbs +417 -0
  101. package/addon/components/eui-page-template/index.ts +89 -0
  102. package/addon/components/eui-panel/index.hbs +58 -12
  103. package/addon/components/eui-popover/index.hbs +8 -4
  104. package/addon/components/eui-popover/index.ts +28 -12
  105. package/addon/components/eui-progress/index.hbs +16 -13
  106. package/addon/components/eui-radio/index.hbs +9 -3
  107. package/addon/components/eui-range/index.hbs +33 -11
  108. package/addon/components/eui-range/index.ts +7 -4
  109. package/addon/components/eui-range-input/index.hbs +37 -31
  110. package/addon/components/eui-range-input/types.ts +2 -1
  111. package/addon/components/eui-range-levels/index.hbs +3 -3
  112. package/addon/components/eui-range-ticks/index.hbs +2 -2
  113. package/addon/components/eui-range-track/index.hbs +10 -2
  114. package/addon/components/eui-range-track/index.ts +23 -6
  115. package/addon/components/eui-show-for/index.hbs +3 -0
  116. package/addon/components/eui-show-for/index.ts +79 -0
  117. package/addon/components/eui-side-nav/index.hbs +161 -36
  118. package/addon/components/eui-side-nav/index.ts +28 -0
  119. package/addon/components/eui-side-nav-item/button/index.hbs +26 -14
  120. package/addon/components/eui-side-nav-item/index.hbs +52 -25
  121. package/addon/components/eui-split-panel/inner/index.hbs +10 -0
  122. package/addon/components/eui-split-panel/outer/index.hbs +27 -0
  123. package/addon/components/eui-split-panel/outer/index.ts +37 -0
  124. package/addon/components/eui-step/eui-step-number/index.hbs +21 -4
  125. package/addon/components/eui-steps/index.hbs +7 -1
  126. package/addon/components/eui-tab/index.hbs +28 -3
  127. package/addon/{modifiers/focus-tab.ts → components/eui-tab/index.ts} +6 -1
  128. package/addon/components/eui-tabs/index.hbs +6 -1
  129. package/addon/components/eui-tool-tip/index.hbs +6 -7
  130. package/addon/components/eui-tool-tip/index.ts +27 -11
  131. package/addon/helpers/class-names.ts +2 -0
  132. package/addon/helpers/get-range-tick.ts +53 -8
  133. package/addon/helpers/unique-id.ts +4 -1
  134. package/addon/styles/ember-eui.css +2 -10
  135. package/addon/utils/breakpoint.ts +114 -0
  136. package/addon/utils/code/utils.ts +304 -0
  137. package/addon/utils/css-mappings/eui-avatar.ts +51 -9
  138. package/addon/utils/css-mappings/eui-badge.ts +6 -2
  139. package/addon/utils/css-mappings/eui-beta-badge.ts +22 -0
  140. package/addon/utils/css-mappings/eui-bottom-bar.ts +8 -1
  141. package/addon/utils/css-mappings/eui-button-empty.ts +4 -4
  142. package/addon/utils/css-mappings/eui-button-icon.ts +19 -6
  143. package/addon/utils/css-mappings/eui-button.ts +2 -1
  144. package/addon/utils/css-mappings/eui-card-select.ts +1 -11
  145. package/addon/utils/css-mappings/eui-card.ts +1 -18
  146. package/addon/utils/css-mappings/{eui-code-block-impl.ts → eui-code-block.ts} +0 -0
  147. package/addon/utils/css-mappings/eui-description-list.ts +29 -0
  148. package/addon/utils/css-mappings/eui-empty-prompt.ts +17 -0
  149. package/addon/utils/css-mappings/eui-flyout.ts +21 -1
  150. package/addon/utils/css-mappings/eui-header-links.ts +27 -0
  151. package/addon/utils/css-mappings/eui-health.ts +20 -0
  152. package/addon/utils/css-mappings/eui-icon.ts +94 -70
  153. package/addon/utils/css-mappings/eui-image.ts +17 -2
  154. package/addon/utils/css-mappings/eui-link.ts +21 -0
  155. package/addon/utils/css-mappings/eui-page-body.ts +25 -0
  156. package/addon/utils/css-mappings/eui-page-content-body.ts +17 -0
  157. package/addon/utils/css-mappings/eui-page-content.ts +7 -1
  158. package/addon/utils/css-mappings/eui-page-header.ts +17 -0
  159. package/addon/utils/css-mappings/eui-page-side-bar.ts +17 -0
  160. package/addon/utils/css-mappings/eui-panel.ts +1 -0
  161. package/addon/utils/css-mappings/eui-progress-data.ts +0 -1
  162. package/addon/utils/css-mappings/eui-progress.ts +0 -2
  163. package/addon/utils/css-mappings/eui-range-levels.ts +22 -4
  164. package/addon/utils/css-mappings/eui-tabs.ts +3 -1
  165. package/addon/utils/css-mappings/eui-text-color.ts +3 -2
  166. package/addon/utils/css-mappings/index.ts +23 -3
  167. package/addon/utils/detect-element-resize.js +248 -0
  168. package/addon/utils/markdown/plugins/markdown-add-components/index.ts +1 -0
  169. package/addon/utils/markdown/plugins/{markdown-add-components.ts → markdown-add-components/processor.ts} +14 -7
  170. package/addon/utils/markdown/plugins/markdown-checkbox/index.ts +9 -0
  171. package/addon/utils/markdown/plugins/{markdown-checkbox.ts → markdown-checkbox/parser.ts} +3 -5
  172. package/addon/utils/markdown/plugins/markdown-default-plugins/index.ts +12 -0
  173. package/addon/utils/markdown/plugins/{markdown-default-plugins.ts → markdown-default-plugins/parsing-plugins.ts} +13 -25
  174. package/addon/utils/markdown/plugins/markdown-default-plugins/plugins.ts +32 -0
  175. package/addon/utils/markdown/plugins/markdown-default-plugins/processing-plugins.ts +67 -0
  176. package/addon/utils/markdown/plugins/markdown-default-plugins/ui-plugins.ts +27 -0
  177. package/addon/utils/markdown/plugins/markdown-tooltip/index.ts +2 -0
  178. package/addon/utils/markdown/plugins/{markdown-tooltip.ts → markdown-tooltip/parser.ts} +3 -23
  179. package/addon/utils/markdown/plugins/markdown-tooltip/plugin.ts +17 -0
  180. package/addon/utils/markdown/plugins/to-dom.ts +3 -1
  181. package/addon/utils/markdown/remark/remark-prismjs.ts +41 -0
  182. package/addon/utils/popover/index.ts +87 -35
  183. package/addon/utils/range/index.ts +1 -0
  184. package/app/components/eui-auto-sizer/index.js +1 -0
  185. package/app/components/eui-breadcrumbs/index.js +1 -0
  186. package/app/components/eui-card-select/index.js +1 -0
  187. package/app/components/{eui-code-block-impl → eui-code-block/controls}/index.js +1 -1
  188. package/app/components/{eui-code-block-impl/code-block-controls → eui-code-block/full-screen-display}/index.js +1 -1
  189. package/app/components/eui-code-block/virtualized/index.js +1 -0
  190. package/app/components/eui-description-list/index.js +1 -0
  191. package/app/components/eui-description-list-description/index.js +1 -0
  192. package/app/components/eui-description-list-title/index.js +1 -0
  193. package/app/components/eui-empty-prompt/index.js +1 -0
  194. package/app/components/eui-header-alert/index.js +1 -0
  195. package/app/components/eui-header-breadcrumbs/index.js +1 -0
  196. package/app/components/eui-header-links/index.js +1 -0
  197. package/app/components/eui-hide-for/index.js +1 -0
  198. package/app/components/eui-key-pad-menu/index.js +1 -0
  199. package/app/components/eui-key-pad-menu/key/index.js +1 -0
  200. package/app/components/eui-key-pad-menu-item/index.js +1 -0
  201. package/app/components/eui-link/index.js +1 -0
  202. package/app/components/eui-page-header-content/index.js +1 -0
  203. package/app/components/eui-page-template/index.js +1 -0
  204. package/app/components/eui-show-for/index.js +1 -0
  205. package/app/components/eui-split-panel/inner/index.js +1 -0
  206. package/app/components/eui-split-panel/outer/index.js +1 -0
  207. package/app/utils/copy-to-clipboard.js +1 -0
  208. package/docs/display/avatar-demo/demo1.md +43 -49
  209. package/docs/display/avatar-demo/demo2.md +42 -0
  210. package/docs/display/avatar-demo/demo3.md +33 -0
  211. package/docs/display/avatar-demo/demo4.md +53 -0
  212. package/docs/display/avatar-demo/demo5.md +38 -0
  213. package/docs/display/avatar.md +9 -1
  214. package/docs/display/badge-demo/demo1.md +111 -168
  215. package/docs/display/badge-demo/demo2.md +34 -0
  216. package/docs/display/badge-demo/demo3.md +73 -0
  217. package/docs/display/badge-demo/demo4.md +29 -0
  218. package/docs/display/badge-demo/demo5.md +33 -0
  219. package/docs/display/badge-demo/demo6.md +71 -0
  220. package/docs/display/badge-demo/demo7.md +101 -0
  221. package/docs/display/badge-demo/demo8.md +22 -0
  222. package/docs/display/badge.md +9 -1
  223. package/docs/display/callout-demo/demo1.md +29 -81
  224. package/docs/display/callout-demo/demo2.md +28 -0
  225. package/docs/display/callout-demo/demo3.md +29 -0
  226. package/docs/display/callout-demo/demo4.md +26 -0
  227. package/docs/display/callout.md +15 -1
  228. package/docs/display/card/basic-card-demo/demo1.md +22 -316
  229. package/docs/display/card/basic-card.md +9 -1
  230. package/docs/display/card/beta-badge-demo/demo1.md +47 -0
  231. package/docs/display/card/beta-badge.md +9 -0
  232. package/docs/display/card/checkable-demo/demo1.md +20 -94
  233. package/docs/display/card/checkable-demo/demo2.md +63 -0
  234. package/docs/display/card/checkable.md +9 -1
  235. package/docs/display/card/custom-children-demo/demo1.md +93 -0
  236. package/docs/display/card/custom-children.md +9 -0
  237. package/docs/display/card/footer-demo/demo1.md +77 -0
  238. package/docs/display/card/footer.md +9 -0
  239. package/docs/display/card/images-demo/demo1.md +57 -0
  240. package/docs/display/card/images.md +9 -0
  241. package/docs/display/card/layout-demo/demo1.md +40 -0
  242. package/docs/display/card/layout.md +9 -0
  243. package/docs/display/card/selectable-demo/demo1.md +60 -53
  244. package/docs/display/card/selectable.md +9 -1
  245. package/docs/display/comment-list.md +9 -1
  246. package/docs/display/description-list-demo/demo1.md +54 -0
  247. package/docs/display/description-list-demo/demo2.md +43 -0
  248. package/docs/display/description-list-demo/demo3.md +58 -0
  249. package/docs/display/description-list-demo/demo4.md +42 -0
  250. package/docs/display/description-list-demo/demo5.md +62 -0
  251. package/docs/display/description-list-demo/demo6.md +46 -0
  252. package/docs/display/description-list.md +9 -0
  253. package/docs/display/empty-prompt-demo/demo1.md +49 -0
  254. package/docs/display/empty-prompt.md +11 -0
  255. package/docs/display/health-demo/demo1.md +11 -7
  256. package/docs/display/health-demo/demo2.md +31 -0
  257. package/docs/display/health.md +15 -1
  258. package/docs/display/icons-demo/demo1.md +270 -57
  259. package/docs/display/icons-demo/demo2.md +76 -0
  260. package/docs/display/icons-demo/demo3.md +76 -0
  261. package/docs/display/icons-demo/demo4.md +104 -0
  262. package/docs/display/icons-demo/demo5.md +64 -0
  263. package/docs/display/icons-demo/demo6.md +63 -0
  264. package/docs/display/icons-demo/demo7.md +101 -0
  265. package/docs/display/icons-demo/demo8.md +47 -0
  266. package/docs/display/icons.md +9 -1
  267. package/docs/display/image-demo/demo1.md +15 -50
  268. package/docs/display/image-demo/demo2.md +35 -0
  269. package/docs/display/image-demo/demo3.md +75 -0
  270. package/docs/display/image-demo/demo4.md +80 -0
  271. package/docs/display/image.md +13 -1
  272. package/docs/display/list-group.md +9 -1
  273. package/docs/display/progress-demo/demo1.md +10 -5
  274. package/docs/display/progress-demo/demo2.md +11 -26
  275. package/docs/display/progress-demo/demo3.md +27 -0
  276. package/docs/display/progress-demo/demo4.md +77 -0
  277. package/docs/display/progress.md +9 -1
  278. package/docs/display/stat-demo/demo1.md +0 -118
  279. package/docs/display/stat-demo/demo2.md +24 -22
  280. package/docs/display/stat-demo/demo3.md +39 -0
  281. package/docs/display/stat-demo/demo4.md +50 -0
  282. package/docs/display/stat-demo/demo5.md +25 -0
  283. package/docs/display/stat-demo/demo6.md +40 -0
  284. package/docs/display/stat-demo/demo7.md +84 -0
  285. package/docs/display/stat.md +15 -1
  286. package/docs/display/text-demo/demo1.md +79 -130
  287. package/docs/display/text-demo/demo2.md +71 -0
  288. package/docs/display/text-demo/demo3.md +39 -0
  289. package/docs/display/text.md +20 -1
  290. package/docs/display/title-demo/demo1.md +50 -26
  291. package/docs/display/title.md +9 -1
  292. package/docs/display/tool-tip-demo/demo1.md +57 -100
  293. package/docs/display/tool-tip-demo/demo2.md +35 -29
  294. package/docs/display/tool-tip-demo/demo3.md +52 -0
  295. package/docs/display/tool-tip-demo/demo4.md +77 -0
  296. package/docs/display/tool-tip.md +15 -1
  297. package/docs/editors/code/code-block-demo/demo1.md +21 -40
  298. package/docs/editors/code/code-block-demo/demo2.md +35 -0
  299. package/docs/editors/code/code-block-demo/demo3.md +43 -0
  300. package/docs/editors/code/code-block-demo/demo4.md +28 -0
  301. package/docs/editors/code/code-block-demo/demo5.md +42 -0
  302. package/docs/editors/code/code-block-demo/demo6.md +42 -0
  303. package/docs/editors/code/code-block-demo/demo7.md +853 -0
  304. package/docs/editors/code/code-block-demo/demo8.md +855 -0
  305. package/docs/editors/code/code-block.md +27 -1
  306. package/docs/editors/code/inline-demo/demo1.md +6 -3
  307. package/docs/editors/code/inline.md +9 -1
  308. package/docs/editors/markdown-editor/base-editor-demo/demo1.md +9 -28
  309. package/docs/editors/markdown-editor/base-editor.md +9 -1
  310. package/docs/forms/form-controls/checkbox/demo/demo1.md +49 -0
  311. package/docs/forms/form-controls/checkbox/index.md +34 -0
  312. package/docs/forms/form-controls/{checkbox-group-demo → checkbox-group/demo}/demo1.md +4 -13
  313. package/docs/forms/form-controls/checkbox-group/index.md +35 -0
  314. package/docs/forms/form-controls/{combo-box-demo → combo-box/demo}/demo1.md +8 -2
  315. package/docs/forms/form-controls/{combo-box-demo → combo-box/demo}/demo2.md +10 -8
  316. package/docs/forms/form-controls/combo-box/demo/demo3.md +60 -0
  317. package/docs/forms/form-controls/{combo-box-demo/demo3.md → combo-box/demo/demo4.md} +17 -14
  318. package/docs/forms/form-controls/combo-box/demo/demo5.md +151 -0
  319. package/docs/forms/form-controls/combo-box/index.md +14 -0
  320. package/docs/forms/form-controls/file-picker/demo/demo1.md +29 -0
  321. package/docs/forms/form-controls/file-picker/demo/demo2.md +44 -0
  322. package/docs/forms/form-controls/file-picker/demo/demo3.md +45 -0
  323. package/docs/forms/form-controls/file-picker/demo/demo4.md +63 -0
  324. package/docs/forms/form-controls/file-picker/index.md +30 -0
  325. package/docs/forms/form-controls/{form-control-layout-demo → form-control-layout/demo}/demo1.md +0 -0
  326. package/docs/forms/form-controls/form-control-layout/index.md +38 -0
  327. package/docs/forms/form-controls/{form-control-layout-delimited-demo → form-control-layout-delimited/demo}/demo1.md +41 -37
  328. package/docs/forms/form-controls/form-control-layout-delimited/index.md +32 -0
  329. package/docs/forms/form-controls/number-field/demo/demo1.md +20 -0
  330. package/docs/forms/form-controls/{number-field-demo/demo1.md → number-field/demo/demo2.md} +23 -11
  331. package/docs/forms/form-controls/number-field/index.md +20 -0
  332. package/docs/forms/form-controls/password-field/demo/demo1.md +19 -0
  333. package/docs/forms/form-controls/{password-field-demo/demo1.md → password-field/demo/demo2.md} +12 -8
  334. package/docs/forms/form-controls/password-field/index.md +27 -0
  335. package/docs/forms/form-controls/radio/demo/demo1.md +43 -0
  336. package/docs/forms/form-controls/radio/index.md +32 -0
  337. package/docs/forms/form-controls/radio-group/demo/demo1.md +50 -0
  338. package/docs/forms/form-controls/radio-group/index.md +26 -0
  339. package/docs/forms/form-controls/range/demo/demo1.md +96 -0
  340. package/docs/forms/form-controls/range/demo/demo2.md +62 -0
  341. package/docs/forms/form-controls/{range-demo → range/demo}/demo3.md +10 -12
  342. package/docs/forms/form-controls/{range-demo → range/demo}/demo4.md +16 -18
  343. package/docs/forms/form-controls/{range-demo → range/demo}/demo5.md +18 -20
  344. package/docs/forms/form-controls/range/demo/demo6.md +57 -0
  345. package/docs/forms/form-controls/range/demo/demo7.md +350 -0
  346. package/docs/forms/form-controls/range/index.md +26 -0
  347. package/docs/forms/form-controls/search-field/demo/demo1.md +29 -0
  348. package/docs/forms/form-controls/search-field/index.md +22 -0
  349. package/docs/forms/form-controls/select/demo/demo1.md +29 -0
  350. package/docs/forms/form-controls/select/demo/demo2.md +44 -0
  351. package/docs/forms/form-controls/{select-demo/demo1.md → select/demo/demo3.md} +20 -10
  352. package/docs/forms/form-controls/select/index.md +27 -0
  353. package/docs/forms/form-controls/{switch-demo → switch/demo}/demo1.md +10 -10
  354. package/docs/forms/form-controls/switch/index.md +21 -0
  355. package/docs/forms/form-controls/text-field/demo/demo1.md +35 -0
  356. package/docs/forms/form-controls/text-field/demo/demo2.md +40 -0
  357. package/docs/forms/form-controls/{text-field-demo/demo2.md → text-field/demo/demo3.md} +14 -17
  358. package/docs/forms/form-controls/{text-field-demo/demo1.md → text-field/demo/demo4.md} +18 -32
  359. package/docs/forms/form-controls/text-field/index.md +22 -0
  360. package/docs/forms/form-controls/textarea/demo/demo1.md +21 -0
  361. package/docs/forms/form-controls/textarea/demo/demo2.md +24 -0
  362. package/docs/forms/form-controls/textarea/index.md +22 -0
  363. package/docs/forms/form-layouts/described-form-groups-demo/demo1.md +13 -4
  364. package/docs/forms/form-layouts/described-form-groups.md +9 -1
  365. package/docs/layout/accordion-demo/demo1.md +21 -102
  366. package/docs/layout/accordion-demo/demo2.md +76 -0
  367. package/docs/layout/accordion-demo/demo3.md +25 -0
  368. package/docs/layout/accordion-demo/demo4.md +26 -0
  369. package/docs/layout/accordion-demo/demo5.md +65 -0
  370. package/docs/layout/accordion-demo/demo6.md +78 -0
  371. package/docs/layout/accordion-demo/demo7.md +66 -0
  372. package/docs/layout/accordion-demo/demo8.md +64 -0
  373. package/docs/layout/accordion-demo/demo9.md +114 -0
  374. package/docs/layout/accordion.md +40 -1
  375. package/docs/layout/bottom-bar-demo/demo1.md +32 -49
  376. package/docs/layout/bottom-bar-demo/demo2.md +54 -0
  377. package/docs/layout/bottom-bar-demo/demo3.md +81 -0
  378. package/docs/layout/bottom-bar.md +9 -1
  379. package/docs/layout/flex.md +9 -1
  380. package/docs/layout/flyout-demo/demo1.md +19 -11
  381. package/docs/layout/flyout-demo/demo2.md +43 -28
  382. package/docs/layout/flyout-demo/demo3.md +99 -0
  383. package/docs/layout/flyout-demo/demo4.md +115 -0
  384. package/docs/layout/flyout-demo/demo5.md +59 -0
  385. package/docs/layout/flyout-demo/demo6.md +57 -0
  386. package/docs/layout/flyout-demo/demo7.md +51 -0
  387. package/docs/layout/flyout.md +9 -1
  388. package/docs/layout/header-demo/demo1.md +284 -35
  389. package/docs/layout/header-demo/demo2.md +42 -0
  390. package/docs/layout/header-demo/demo3.md +48 -0
  391. package/docs/layout/header-demo/demo4.md +57 -0
  392. package/docs/layout/header-demo/demo5.md +232 -0
  393. package/docs/layout/header-demo/demo6.md +85 -0
  394. package/docs/layout/header-demo/demo7.md +94 -0
  395. package/docs/layout/header.md +9 -1
  396. package/docs/layout/horizontal-rule.md +9 -1
  397. package/docs/layout/modal-demo/demo1.md +64 -167
  398. package/docs/layout/modal-demo/demo2.md +126 -0
  399. package/docs/layout/modal-demo/demo3.md +55 -0
  400. package/docs/layout/modal-demo/demo4.md +65 -0
  401. package/docs/layout/modal-demo/demo5.md +96 -0
  402. package/docs/layout/modal.md +9 -1
  403. package/docs/layout/page-demo/demo1.md +96 -3
  404. package/docs/layout/page-demo/demo10.md +42 -0
  405. package/docs/layout/page-demo/demo2.md +46 -0
  406. package/docs/layout/page-demo/demo3.md +50 -0
  407. package/docs/layout/page-demo/demo4.md +38 -0
  408. package/docs/layout/page-demo/demo5.md +30 -0
  409. package/docs/layout/page-demo/demo6.md +51 -0
  410. package/docs/layout/page-demo/demo7.md +59 -0
  411. package/docs/layout/page-demo/demo8.md +19 -0
  412. package/docs/layout/page-demo/demo9.md +29 -0
  413. package/docs/layout/page.md +9 -1
  414. package/docs/layout/panel-demo/demo1.md +28 -19
  415. package/docs/layout/panel-demo/demo2.md +22 -0
  416. package/docs/layout/panel-demo/demo3.md +27 -0
  417. package/docs/layout/panel-demo/demo4.md +46 -0
  418. package/docs/layout/panel-demo/demo5.md +81 -0
  419. package/docs/layout/panel.md +15 -1
  420. package/docs/layout/popover-demo/demo1.md +42 -300
  421. package/docs/layout/popover-demo/demo10.md +72 -0
  422. package/docs/layout/popover-demo/demo2.md +306 -96
  423. package/docs/layout/popover-demo/demo3.md +20 -12
  424. package/docs/layout/popover-demo/demo4.md +118 -0
  425. package/docs/layout/popover-demo/demo5.md +252 -0
  426. package/docs/layout/popover-demo/demo6.md +44 -0
  427. package/docs/layout/popover-demo/demo7.md +44 -0
  428. package/docs/layout/popover-demo/demo8.md +50 -0
  429. package/docs/layout/popover-demo/demo9.md +80 -0
  430. package/docs/layout/popover.md +9 -1
  431. package/docs/navigation/breadcrumbs-demo/demo1.md +77 -0
  432. package/docs/navigation/breadcrumbs-demo/demo2.md +61 -0
  433. package/docs/navigation/breadcrumbs-demo/demo3.md +61 -0
  434. package/docs/navigation/breadcrumbs-demo/demo4.md +61 -0
  435. package/docs/navigation/breadcrumbs-demo/demo5.md +61 -0
  436. package/docs/navigation/breadcrumbs-demo/demo6.md +61 -0
  437. package/docs/navigation/breadcrumbs.md +9 -0
  438. package/docs/navigation/button-demo/demo1.md +210 -158
  439. package/docs/navigation/button.md +9 -1
  440. package/docs/navigation/collapsible-nav-demo/demo1.md +21 -44
  441. package/docs/navigation/collapsible-nav-demo/demo2.md +108 -0
  442. package/docs/navigation/collapsible-nav.md +9 -1
  443. package/docs/navigation/key-pad-menu-demo/demo1.md +77 -0
  444. package/docs/navigation/key-pad-menu-demo/demo2.md +102 -0
  445. package/docs/navigation/key-pad-menu-demo/demo3.md +54 -0
  446. package/docs/navigation/key-pad-menu-demo/demo4.md +71 -0
  447. package/docs/navigation/key-pad-menu-demo/demo5.md +65 -0
  448. package/docs/navigation/key-pad-menu.md +9 -0
  449. package/docs/navigation/link-demo/demo1.md +44 -0
  450. package/docs/navigation/link-demo/demo2.md +41 -0
  451. package/docs/navigation/link-demo/demo3.md +45 -0
  452. package/docs/navigation/link-demo/demo4.md +61 -0
  453. package/docs/navigation/link.md +9 -0
  454. package/docs/navigation/side-nav-demo/demo1.md +34 -18
  455. package/docs/navigation/side-nav.md +9 -1
  456. package/docs/navigation/steps-demo/demo1.md +16 -18
  457. package/docs/navigation/steps-demo/demo2.md +18 -21
  458. package/docs/navigation/steps-demo/demo3.md +12 -10
  459. package/docs/navigation/steps-demo/demo4.md +84 -0
  460. package/docs/navigation/steps-demo/demo5.md +29 -0
  461. package/docs/navigation/steps.md +9 -1
  462. package/docs/navigation/tabs.md +9 -1
  463. package/docs/utilities/auto-sizer-demo/demo1.md +34 -0
  464. package/docs/utilities/auto-sizer.md +9 -0
  465. package/docs/utilities/copy-demo/demo1.md +37 -0
  466. package/docs/utilities/copy-demo/demo2.md +70 -0
  467. package/docs/utilities/copy.md +9 -0
  468. package/docs/utilities/mutation-observer.md +9 -1
  469. package/docs/utilities/outside-click-detector.md +9 -1
  470. package/docs/utilities/overlay-mask.md +9 -1
  471. package/docs/utilities/portal.md +9 -1
  472. package/docs/utilities/resize-observer.md +9 -1
  473. package/docs/utilities/responsive-demo/demo1.md +108 -0
  474. package/docs/utilities/responsive.md +9 -0
  475. package/index.js +4 -2
  476. package/package.json +13 -7
  477. package/CHANGELOG.md +0 -1345
  478. package/addon/components/eui-code-block-impl/code-block-controls/index.hbs +0 -33
  479. package/addon/components/eui-code-block-impl/index.hbs +0 -111
  480. package/addon/components/eui-code-block-impl/index.ts +0 -121
  481. package/addon/components/eui-flyout-body/banner/index.hbs +0 -3
  482. package/addon/components/eui-flyout-body/content/index.hbs +0 -3
  483. package/addon/helpers/create-event.ts +0 -30
  484. package/addon/modifiers/get-cursor-node.ts +0 -54
  485. package/addon/modifiers/invalidate-indeterminate.ts +0 -10
  486. package/addon/modifiers/on-event-simulate-event.ts +0 -32
  487. package/app/components/eui-card/eui-card-select/index.js +0 -1
  488. package/app/components/eui-flyout-body/banner/index.js +0 -1
  489. package/app/components/eui-flyout-body/content/index.js +0 -1
  490. package/app/helpers/create-event.js +0 -1
  491. package/app/modifiers/fixed-header.js +0 -1
  492. package/app/modifiers/focus-tab.js +0 -1
  493. package/app/modifiers/get-cursor-node.js +0 -1
  494. package/app/modifiers/invalidate-indeterminate.js +0 -1
  495. package/app/modifiers/on-event-simulate-event.js +0 -1
  496. package/docs/forms/form-controls/checkbox-demo/demo1.md +0 -40
  497. package/docs/forms/form-controls/checkbox-group.md +0 -1
  498. package/docs/forms/form-controls/checkbox.md +0 -1
  499. package/docs/forms/form-controls/combo-box.md +0 -1
  500. package/docs/forms/form-controls/file-picker-demo/demo1.md +0 -28
  501. package/docs/forms/form-controls/file-picker.md +0 -1
  502. package/docs/forms/form-controls/form-control-layout-delimited.md +0 -1
  503. package/docs/forms/form-controls/form-control-layout.md +0 -1
  504. package/docs/forms/form-controls/number-field.md +0 -1
  505. package/docs/forms/form-controls/password-field.md +0 -1
  506. package/docs/forms/form-controls/radio-demo/demo1.md +0 -39
  507. package/docs/forms/form-controls/radio-group-demo/demo1.md +0 -60
  508. package/docs/forms/form-controls/radio-group.md +0 -1
  509. package/docs/forms/form-controls/radio.md +0 -1
  510. package/docs/forms/form-controls/range-demo/demo1.md +0 -61
  511. package/docs/forms/form-controls/range-demo/demo2.md +0 -59
  512. package/docs/forms/form-controls/range-demo/demo6.md +0 -59
  513. package/docs/forms/form-controls/range.md +0 -1
  514. package/docs/forms/form-controls/search-field-demo/demo1.md +0 -31
  515. package/docs/forms/form-controls/search-field.md +0 -1
  516. package/docs/forms/form-controls/select.md +0 -1
  517. package/docs/forms/form-controls/switch.md +0 -1
  518. package/docs/forms/form-controls/text-field.md +0 -1
  519. package/docs/forms/form-controls/textarea-demo/demo1.md +0 -36
  520. package/docs/forms/form-controls/textarea.md +0 -1
@@ -21,7 +21,12 @@ import { EuiPopoverPosition } from './types';
21
21
 
22
22
  type Dimension = 'height' | 'width';
23
23
 
24
- export const POSITIONS: EuiPopoverPosition[] = ['top', 'right', 'bottom', 'left'];
24
+ export const POSITIONS: EuiPopoverPosition[] = [
25
+ 'top',
26
+ 'right',
27
+ 'bottom',
28
+ 'left'
29
+ ];
25
30
 
26
31
  interface BoundingBox {
27
32
  [position: string]: number;
@@ -143,8 +148,10 @@ export function findPopoverPosition({
143
148
  // calculate the window's bounds
144
149
  // window.(innerWidth|innerHeight) do not account for scrollbars
145
150
  // so prefer the clientWidth/clientHeight of the DOM if available
146
- const documentWidth = document.documentElement.clientWidth || window.innerWidth;
147
- const documentHeight = document.documentElement.clientHeight || window.innerHeight;
151
+ const documentWidth =
152
+ document.documentElement.clientWidth || window.innerWidth;
153
+ const documentHeight =
154
+ document.documentElement.clientHeight || window.innerHeight;
148
155
  const windowBoundingBox: EuiClientRect = {
149
156
  top: 0,
150
157
  right: documentWidth,
@@ -155,7 +162,9 @@ export function findPopoverPosition({
155
162
  };
156
163
 
157
164
  // if no container element is given fall back to using the window viewport
158
- const containerBoundingBox = container ? getElementBoundingBox(container) : windowBoundingBox;
165
+ const containerBoundingBox = container
166
+ ? getElementBoundingBox(container)
167
+ : windowBoundingBox;
159
168
 
160
169
  /**
161
170
  * `position` was specified by the function caller and is a strong hint
@@ -196,7 +205,10 @@ export function findPopoverPosition({
196
205
  // position is forced, if it conflicts with the alignment then reset align to `null`
197
206
  // e.g. original placement request for `downLeft` is moved to the `left` side, future calls
198
207
  // will position and align `left`, and `leftLeft` is not a valid placement
199
- if (position === align || (align !== undefined && position === positionComplements[align])) {
208
+ if (
209
+ position === align ||
210
+ (align !== undefined && position === positionComplements[align])
211
+ ) {
200
212
  iterationAlignments[0] = undefined;
201
213
  }
202
214
  }
@@ -339,7 +351,8 @@ export function getPopoverScreenCoordinates({
339
351
  const crossAxisSecondSide = positionComplements[crossAxisFirstSide]; // "left" -> "right"
340
352
  const crossAxisDimension = relatedDimension[crossAxisFirstSide]; // "left" -> "width"
341
353
 
342
- const [topBuffer, rightBuffer, bottomBuffer, leftBuffer] = getBufferValues(buffer);
354
+ const [topBuffer, rightBuffer, bottomBuffer, leftBuffer] =
355
+ getBufferValues(buffer);
343
356
 
344
357
  const { crossAxisPosition, crossAxisArrowPosition } = getCrossAxisPosition({
345
358
  crossAxisFirstSide,
@@ -357,15 +370,17 @@ export function getPopoverScreenCoordinates({
357
370
  });
358
371
 
359
372
  const primaryAxisDimension = relatedDimension[position]; // "top" -> "height"
360
- const primaryAxisPositionName = dimensionPositionAttribute[primaryAxisDimension]; // "height" -> "top"
373
+ const primaryAxisPositionName =
374
+ dimensionPositionAttribute[primaryAxisDimension]; // "height" -> "top"
361
375
 
362
- const { primaryAxisPosition, primaryAxisArrowPosition } = getPrimaryAxisPosition({
363
- position,
364
- offset,
365
- popoverBoundingBox,
366
- anchorBoundingBox,
367
- arrowConfig
368
- });
376
+ const { primaryAxisPosition, primaryAxisArrowPosition } =
377
+ getPrimaryAxisPosition({
378
+ position,
379
+ offset,
380
+ popoverBoundingBox,
381
+ anchorBoundingBox,
382
+ arrowConfig
383
+ });
369
384
 
370
385
  const popoverPlacement = {
371
386
  [crossAxisFirstSide]: crossAxisPosition,
@@ -374,7 +389,10 @@ export function getPopoverScreenCoordinates({
374
389
 
375
390
  // calculate the fit of the popover in this location
376
391
  // fit is in range 0.0 -> 1.0 and is the percentage of the popover which is visible in this location
377
- const combinedBoundingBox = intersectBoundingBoxes(windowBoundingBox, containerBoundingBox);
392
+ const combinedBoundingBox = intersectBoundingBoxes(
393
+ windowBoundingBox,
394
+ containerBoundingBox
395
+ );
378
396
 
379
397
  // shrink the visible bounding box by `buffer`
380
398
  // to compute a fit value
@@ -397,7 +415,8 @@ export function getPopoverScreenCoordinates({
397
415
 
398
416
  const arrow = arrowConfig
399
417
  ? {
400
- [crossAxisFirstSide]: crossAxisArrowPosition! - popoverPlacement[crossAxisFirstSide],
418
+ [crossAxisFirstSide]:
419
+ crossAxisArrowPosition! - popoverPlacement[crossAxisFirstSide],
401
420
  [primaryAxisPositionName]: primaryAxisArrowPosition
402
421
  }
403
422
  : undefined;
@@ -457,7 +476,10 @@ function getCrossAxisPosition({
457
476
 
458
477
  // To fit the content within both the window and container,
459
478
  // compute the smaller of the two spaces along each edge
460
- const combinedBoundingBox = intersectBoundingBoxes(windowBoundingBox, containerBoundingBox);
479
+ const combinedBoundingBox = intersectBoundingBoxes(
480
+ windowBoundingBox,
481
+ containerBoundingBox
482
+ );
461
483
  const availableSpace = getAvailableSpace(
462
484
  anchorBoundingBox,
463
485
  combinedBoundingBox,
@@ -467,7 +489,8 @@ function getCrossAxisPosition({
467
489
  );
468
490
  const minimumSpace = arrowConfig ? arrowConfig.arrowBuffer : 0;
469
491
 
470
- const contentOverflowSize = (popoverSizeOnCrossAxis - anchorSizeOnCrossAxis) / 2;
492
+ const contentOverflowSize =
493
+ (popoverSizeOnCrossAxis - anchorSizeOnCrossAxis) / 2;
471
494
 
472
495
  let alignAmount = 0;
473
496
  let alignDirection = 1;
@@ -480,7 +503,8 @@ function getCrossAxisPosition({
480
503
  alignAmount = contentOverflowSize;
481
504
 
482
505
  const alignedOverflowAmount = contentOverflowSize + alignAmount;
483
- const needsShift = alignedOverflowAmount > availableSpace[positionComplements[align]];
506
+ const needsShift =
507
+ alignedOverflowAmount > availableSpace[positionComplements[align]];
484
508
  amountOfShiftNeeded = needsShift
485
509
  ? alignedOverflowAmount - availableSpace[positionComplements[align]]
486
510
  : 0;
@@ -490,19 +514,26 @@ function getCrossAxisPosition({
490
514
  const spaceAvailableOnFirstSide = availableSpace[crossAxisFirstSide];
491
515
  const spaceAvailableOnSecondSide = availableSpace[crossAxisSecondSide];
492
516
 
493
- const isShiftTowardFirstSide = spaceAvailableOnFirstSide > spaceAvailableOnSecondSide;
517
+ const isShiftTowardFirstSide =
518
+ spaceAvailableOnFirstSide > spaceAvailableOnSecondSide;
494
519
  shiftDirection = isShiftTowardFirstSide ? -1 : 1;
495
520
 
496
521
  // determine which direction has more room and the popover should shift to
497
- const leastAvailableSpace = Math.min(spaceAvailableOnFirstSide, spaceAvailableOnSecondSide);
522
+ const leastAvailableSpace = Math.min(
523
+ spaceAvailableOnFirstSide,
524
+ spaceAvailableOnSecondSide
525
+ );
498
526
 
499
527
  const needsShift = contentOverflowSize > leastAvailableSpace;
500
- amountOfShiftNeeded = needsShift ? contentOverflowSize - leastAvailableSpace : 0;
528
+ amountOfShiftNeeded = needsShift
529
+ ? contentOverflowSize - leastAvailableSpace
530
+ : 0;
501
531
  }
502
532
 
503
533
  // shift over the popover if necessary
504
534
  const shiftAmount = amountOfShiftNeeded * shiftDirection;
505
- let crossAxisPosition = crossAxisPositionOriginal + shiftAmount + alignAmount * alignDirection;
535
+ let crossAxisPosition =
536
+ crossAxisPositionOriginal + shiftAmount + alignAmount * alignDirection;
506
537
 
507
538
  // if an `arrowConfig` is specified, find where to position the arrow
508
539
  let crossAxisArrowPosition;
@@ -516,7 +547,8 @@ function getCrossAxisPosition({
516
547
  // but instead of moving the arrow, shift the popover content
517
548
  if (crossAxisArrowPosition < crossAxisPosition + minimumSpace) {
518
549
  // arrow is too close to the minimum side
519
- const difference = crossAxisPosition + minimumSpace - crossAxisArrowPosition;
550
+ const difference =
551
+ crossAxisPosition + minimumSpace - crossAxisArrowPosition;
520
552
  crossAxisPosition -= difference;
521
553
  } else if (
522
554
  crossAxisArrowPosition + minimumSpace + arrowWidth >
@@ -524,7 +556,8 @@ function getCrossAxisPosition({
524
556
  ) {
525
557
  // arrow is too close to the maximum side
526
558
  const edge = crossAxisPosition + popoverSizeOnCrossAxis;
527
- const difference = crossAxisArrowPosition - (edge - minimumSpace - arrowWidth);
559
+ const difference =
560
+ crossAxisArrowPosition - (edge - minimumSpace - arrowWidth);
528
561
  crossAxisPosition += difference;
529
562
  }
530
563
  }
@@ -561,19 +594,25 @@ function getPrimaryAxisPosition({
561
594
  const popoverSizeOnPrimaryAxis = popoverBoundingBox[primaryAxisDimension];
562
595
 
563
596
  // start at the top or left edge of the anchor element
564
- const primaryAxisPositionName = dimensionPositionAttribute[primaryAxisDimension]; // "height" -> "top"
597
+ const primaryAxisPositionName =
598
+ dimensionPositionAttribute[primaryAxisDimension]; // "height" -> "top"
565
599
  const anchorEdgeOrigin = anchorBoundingBox[primaryAxisPositionName];
566
600
 
567
601
  // find the popover position on the primary axis
568
602
  const anchorSizeOnPrimaryAxis = anchorBoundingBox[primaryAxisDimension];
569
- const primaryAxisOffset = isOffsetDecreasing ? popoverSizeOnPrimaryAxis : anchorSizeOnPrimaryAxis;
570
- const contentOffset = (offset + primaryAxisOffset) * (isOffsetDecreasing ? -1 : 1);
603
+ const primaryAxisOffset = isOffsetDecreasing
604
+ ? popoverSizeOnPrimaryAxis
605
+ : anchorSizeOnPrimaryAxis;
606
+ const contentOffset =
607
+ (offset + primaryAxisOffset) * (isOffsetDecreasing ? -1 : 1);
571
608
  const primaryAxisPosition = anchorEdgeOrigin + contentOffset;
572
609
 
573
610
  let primaryAxisArrowPosition;
574
611
 
575
612
  if (arrowConfig) {
576
- primaryAxisArrowPosition = isOffsetDecreasing ? popoverSizeOnPrimaryAxis : 0;
613
+ primaryAxisArrowPosition = isOffsetDecreasing
614
+ ? popoverSizeOnPrimaryAxis
615
+ : 0;
577
616
  }
578
617
 
579
618
  return {
@@ -619,7 +658,8 @@ export function getAvailableSpace(
619
658
  offset: number,
620
659
  offsetSide: EuiPopoverPosition
621
660
  ): BoundingBox {
622
- const [topBuffer, rightBuffer, bottomBuffer, leftBuffer] = getBufferValues(buffer);
661
+ const [topBuffer, rightBuffer, bottomBuffer, leftBuffer] =
662
+ getBufferValues(buffer);
623
663
  return {
624
664
  top:
625
665
  anchorBoundingBox.top -
@@ -654,15 +694,22 @@ export function getVisibleFit(
654
694
  contentBoundingBox: BoundingBox,
655
695
  containerBoundingBox: BoundingBox
656
696
  ): number {
657
- const intersection = intersectBoundingBoxes(contentBoundingBox, containerBoundingBox);
697
+ const intersection = intersectBoundingBoxes(
698
+ contentBoundingBox,
699
+ containerBoundingBox
700
+ );
658
701
 
659
- if (intersection.left > intersection.right || intersection.top > intersection.top) {
702
+ if (
703
+ intersection.left > intersection.right ||
704
+ intersection.top > intersection.top
705
+ ) {
660
706
  // there is no intersection, the boxes are completely separated on at least one axis
661
707
  return 0;
662
708
  }
663
709
 
664
710
  const intersectionArea =
665
- (intersection.right - intersection.left) * (intersection.bottom - intersection.top);
711
+ (intersection.right - intersection.left) *
712
+ (intersection.bottom - intersection.top);
666
713
  const contentArea =
667
714
  (contentBoundingBox.right - contentBoundingBox.left) *
668
715
  (contentBoundingBox.bottom - contentBoundingBox.top);
@@ -705,7 +752,10 @@ export function intersectBoundingBoxes(
705
752
  * @param cousin {HTMLElement}
706
753
  * @returns {number}
707
754
  */
708
- export function getElementZIndex(element: HTMLElement, cousin: HTMLElement): number {
755
+ export function getElementZIndex(
756
+ element: HTMLElement,
757
+ cousin: HTMLElement
758
+ ): number {
709
759
  /**
710
760
  * finding the z-index of `element` is not the full story
711
761
  * its the CSS stacking context that is important
@@ -752,7 +802,9 @@ export function getElementZIndex(element: HTMLElement, cousin: HTMLElement): num
752
802
 
753
803
  for (const node of nodesToInspect) {
754
804
  // get this node's z-index css value
755
- const zIndex = window.document.defaultView!.getComputedStyle(node).getPropertyValue('z-index');
805
+ const zIndex = window.document
806
+ .defaultView!.getComputedStyle(node)
807
+ .getPropertyValue('z-index');
756
808
 
757
809
  // if the z-index is not a number (e.g. "auto") return null, else the value
758
810
  const parsedZIndex = parseInt(zIndex, 10);
@@ -0,0 +1 @@
1
+ export const EUI_THUMB_SIZE = 16;
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-auto-sizer';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-breadcrumbs';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-card-select';
@@ -1 +1 @@
1
- export { default } from '@ember-eui/core/components/eui-code-block-impl';
1
+ export { default } from '@ember-eui/core/components/eui-code-block/controls';
@@ -1 +1 @@
1
- export { default } from '@ember-eui/core/components/eui-code-block-impl/code-block-controls';
1
+ export { default } from '@ember-eui/core/components/eui-code-block/full-screen-display';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-code-block/virtualized';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-description-list';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-description-list-description';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-description-list-title';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-empty-prompt';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-header-alert';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-header-breadcrumbs';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-header-links';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-hide-for';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-key-pad-menu';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-key-pad-menu/key';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-key-pad-menu-item';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-link';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-page-header-content';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-page-template';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-show-for';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-split-panel/inner';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/components/eui-split-panel/outer';
@@ -0,0 +1 @@
1
+ export { default } from '@ember-eui/core/utils/copy-to-clipboard';
@@ -1,54 +1,48 @@
1
- # Demo
2
-
3
- ```hbs template
4
- <EuiAvatar @size="s" @name="Raphael" />
5
- <EuiAvatar @size="m" @name="Donatello" />
6
- <EuiAvatar @size="l" @name="Leonardo" @color="#BD10E0" />
7
- <EuiAvatar @size="xl" @name="Michelangelo" />
8
- <EuiSpacer />
9
- <EuiAvatar @size="s" @name="Cat" @imageUrl="https://source.unsplash.com/64x64/?cat" />
10
- <EuiAvatar @size="m" @name="Cat" @imageUrl="https://source.unsplash.com/64x64/?cat" />
11
- <EuiAvatar @size="l" @name="Cat" @imageUrl="https://source.unsplash.com/64x64/?cat" />
12
- <EuiAvatar @size="xl" @name="Cat" @imageUrl="https://source.unsplash.com/64x64/?cat" />
13
- <EuiSpacer />
14
- <EuiAvatar @size="m" @name="Single" />
15
- <EuiAvatar @size="m" @name="Two Words" />
16
- <EuiAvatar @size="m" @name="More Than Two Words" />
17
- <EuiAvatar @size="m" @name="lowercase words" />
18
- <EuiSpacer />
19
- <EuiTitle @size="xs">
20
- <h4>
21
- Custom & Spaces type
22
- </h4>
23
- </EuiTitle>
24
- <EuiSpacer />
25
- <EuiAvatar @size="m" @type="space" @name="Kibana" @initialsLength={{2}} />
26
- <EuiAvatar @size="m" @type="space" @name="Leonardo Dude" @initialsLength={{1}} />
27
- <EuiAvatar @size="m" @type="space" @name="Not provided" @initials="?" />
28
- <EuiAvatar @size="m" @type="space" @name="Engineering Space" @initials="En" @initialsLength={{2}} />
1
+ ---
2
+ order: 1
3
+ ---
29
4
 
5
+ # Basic
30
6
 
31
- <EuiTitle @size="xs">
32
- <h4>
33
- Icons
34
- </h4>
35
- </EuiTitle>
36
- <EuiSpacer />
37
- <EuiAvatar @size="s" @name="Small Size" @iconType="managementApp"/>
38
- <EuiAvatar @size="m" @name="Medium Size" @iconType="managementApp"/>
39
- <EuiAvatar @size="l" @name="Large" @iconType="managementApp"/>
40
- <EuiAvatar @size="xl" @name="Plain color" @color="plain" @iconType="managementApp"/>
7
+ <EuiText>
8
+ <p>
41
9
 
42
- <EuiTitle @size="xs">
43
- <h4>
44
- Colors and Sizes
45
- </h4>
46
- </EuiTitle>
47
- <EuiSpacer />
10
+ The <strong>EuiAvatar</strong> component typically creates a user icon. It will accept <EuiCode>name</EuiCode> (required) and <EuiCode>image</EuiCode> props and will configure the display and accessibility as needed. By default, the background colors come from the set of colors used for visualizations. Otherwise you can pass a hex value to the <EuiCode>color</EuiCode> prop.
48
11
 
49
- <EuiAvatar @name="Avatar color" @iconType="managementApp" @color="#BD10E0"/>
50
- <EuiAvatar @name="Custom iconColor" @iconType="managementApp" @color="#103148" @iconColor="primary"/>
51
- <EuiAvatar @name="Null iconColor" @iconType="appSearchApp" @iconColor={{null}} @color="#343741"/>
52
- <EuiAvatar @name="Large iconSize" @iconType="appSearchApp" @iconSize="l"/>
12
+ </p>
13
+ </EuiText>
53
14
 
54
- ```
15
+ ```hbs template
16
+ <div>
17
+ <EuiAvatar @size='s' @name='Raphael' />
18
+ <EuiAvatar @size='m' @name='Donatello' />
19
+ <EuiAvatar @size='l' @name='Leonardo' @color='#BD10E0' />
20
+ <EuiAvatar @size='xl' @name='Michelangelo' />
21
+ </div>
22
+ <EuiSpacer />
23
+ <EuiTitle @size='xs'>
24
+ With image
25
+ </EuiTitle>
26
+ <div>
27
+ <EuiAvatar
28
+ @size='s'
29
+ @name='Cat'
30
+ @imageUrl='https://source.unsplash.com/64x64/?cat'
31
+ />
32
+ <EuiAvatar
33
+ @size='m'
34
+ @name='Cat'
35
+ @imageUrl='https://source.unsplash.com/64x64/?cat'
36
+ />
37
+ <EuiAvatar
38
+ @size='l'
39
+ @name='Cat'
40
+ @imageUrl='https://source.unsplash.com/64x64/?cat'
41
+ />
42
+ <EuiAvatar
43
+ @size='xl'
44
+ @name='Cat'
45
+ @imageUrl='https://source.unsplash.com/64x64/?cat'
46
+ />
47
+ </div>
48
+ ```
@@ -0,0 +1,42 @@
1
+ ---
2
+ order: 2
3
+ ---
4
+
5
+ # Initials
6
+
7
+ <EuiText>
8
+ <p>
9
+
10
+ The initials displayed in the avatar try to be smart based on the name prop. If the name contains spaces, it will display the first character of each word, <strong>always maxing out at 2 characters.</strong> You can customize this by passing a combination of <EuiCode>initialsLength</EuiCode> and/or <EuiCode>initials</EuiCode> props. However, the avatar will still always max out at 2 characters.
11
+
12
+ </p>
13
+ </EuiText>
14
+
15
+ ```hbs template
16
+ <EuiTitle @size='xs'>
17
+ Single vs multi-word
18
+ </EuiTitle>
19
+ <EuiSpacer />
20
+ <div>
21
+ <EuiAvatar @size='m' @name='Single' />
22
+ <EuiAvatar @size='m' @name='Two Words' />
23
+ <EuiAvatar @size='m' @name='More Than Two Words' />
24
+ <EuiAvatar @size='m' @name='lowercase words' />
25
+ </div>
26
+ <EuiSpacer />
27
+ <EuiTitle @size='xs'>
28
+ Custom
29
+ </EuiTitle>
30
+ <EuiSpacer />
31
+ <div>
32
+ <EuiAvatar @size='m' @name='Kibana' @initialsLength={{2}} />
33
+ <EuiAvatar @size='m' @name='Leonardo Dude' @initialsLength={{1}} />
34
+ <EuiAvatar @size='m' @name='Not provided' @initials='?' />
35
+ <EuiAvatar
36
+ @size='m'
37
+ @name='Engineering Space'
38
+ @initials='En'
39
+ @initialsLength={{2}}
40
+ />
41
+ </div>
42
+ ```
@@ -0,0 +1,33 @@
1
+ ---
2
+ order: 3
3
+ ---
4
+
5
+ # Types
6
+
7
+ <EuiText>
8
+ <p>
9
+
10
+ The avatar <EuiCode>type</EuiCode>, which primarily defines the shape, is keyworded and can be <EuiCode>"user"</EuiCode> (default) or <EuiCode>"space"</EuiCode> (for workspaces).
11
+
12
+ </p>
13
+ </EuiText>
14
+
15
+ ```hbs template
16
+ <div>
17
+ <EuiAvatar @size='s' @type='space' @name='Kibana' @initialsLength={{2}} />
18
+ <EuiAvatar
19
+ @size='m'
20
+ @type='space'
21
+ @name='Leonardo Dude'
22
+ @initialsLength={{1}}
23
+ />
24
+ <EuiAvatar @size='l' @type='space' @name='Not provided' @initials='?' />
25
+ <EuiAvatar
26
+ @size='xl'
27
+ @type='space'
28
+ @name='Engineering Space'
29
+ @initials='En'
30
+ @initialsLength={{2}}
31
+ />
32
+ </div>
33
+ ```
@@ -0,0 +1,53 @@
1
+ ---
2
+ order: 4
3
+ ---
4
+
5
+ # Icons
6
+
7
+ <EuiText>
8
+ <p>
9
+
10
+ Icons can also be displayed instead of initials or images. When simply passing an <EuiCode>iconType</EuiCode>, it will both size and color appropriately based on the other <strong>EuiAvatar</strong> props. To customize these specifically, pass <EuiCode>iconSize</EuiCode> and <EuiCode>iconColor</EuiCode>.
11
+
12
+ If your icon has multiples or custom colors like a logo, you can keep the default <EuiCode>iconColor</EuiCode> by passing <EuiCode>null</EuiCode>. Otherwise it will get the appropriate contrast acceptable variant. Just ensure that you also are providing an accesible background color to match that of the icon's color.
13
+
14
+ </p>
15
+ </EuiText>
16
+
17
+ ```hbs template
18
+ <EuiTitle @size='xs'>
19
+ Icon colors and sizes
20
+ </EuiTitle>
21
+ <div>
22
+ <EuiAvatar @size='s' @name='Small Size' @iconType='managementApp' />
23
+ <EuiAvatar @size='m' @name='Medium Size' @iconType='managementApp' />
24
+ <EuiAvatar @size='l' @name='Large' @iconType='managementApp' />
25
+ <EuiAvatar
26
+ @size='xl'
27
+ @name='Plain color'
28
+ @color='plain'
29
+ @iconType='managementApp'
30
+ />
31
+ </div>
32
+
33
+ <EuiTitle @size='xs'>
34
+ Icon colors and sizes
35
+ </EuiTitle>
36
+ <EuiSpacer />
37
+ <div>
38
+ <EuiAvatar @name='Avatar color' @iconType='managementApp' @color='#BD10E0' />
39
+ <EuiAvatar
40
+ @name='Custom iconColor'
41
+ @iconType='managementApp'
42
+ @color='#E6F1FA'
43
+ @iconColor='primary'
44
+ />
45
+ <EuiAvatar
46
+ @name='Null iconColor'
47
+ @iconType='managementApp'
48
+ @iconColor={{null}}
49
+ @color='#D3DAE6'
50
+ />
51
+ <EuiAvatar @name='Large iconSize' @iconType='managementApp' @iconSize='l' />
52
+ </div>
53
+ ```
@@ -0,0 +1,38 @@
1
+ ---
2
+ order: 5
3
+ ---
4
+
5
+ # Disabled
6
+
7
+ <EuiText>
8
+ <p>
9
+
10
+ While <strong>EuiAvatar</strong> doesn't accept any interactive behaviors itself, you can create a visually presented disabled avatar by adding <EuiCode>isDisabled</EuiCode> when placed within a disabled element.
11
+
12
+ </p>
13
+ </EuiText>
14
+
15
+ ```hbs template
16
+ <div>
17
+ <EuiAvatar
18
+ @size='m'
19
+ @type='space'
20
+ @isDisabled={{true}}
21
+ @name='Leonardo Dude'
22
+ @initialsLength={{1}}
23
+ />
24
+ <EuiAvatar @size='m' @isDisabled={{true}} @name='Two Words' />
25
+ <EuiAvatar
26
+ @size='m'
27
+ @isDisabled={{true}}
28
+ @name='Cat'
29
+ @imageUrl='https://source.unsplash.com/64x64/?cat'
30
+ />
31
+ <EuiAvatar
32
+ @size='m'
33
+ @isDisabled={{true}}
34
+ @name='Medium Size'
35
+ @iconType='managementApp'
36
+ />
37
+ </div>
38
+ ```
@@ -1 +1,9 @@
1
- # Avatar
1
+ <EuiPageHeader>
2
+ <EuiPageHeaderSection>
3
+ <EuiTitle @size="l">
4
+ <h1>
5
+ Avatar
6
+ </h1>
7
+ </EuiTitle>
8
+ </EuiPageHeaderSection>
9
+ </EuiPageHeader>