@ember-eui/core 4.2.6 → 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 +8 -5
  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 -1335
  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
@@ -1 +1,9 @@
1
- # Bottom Bar
1
+ <EuiPageHeader>
2
+ <EuiPageHeaderSection>
3
+ <EuiTitle @size="l">
4
+ <h1>
5
+ Bottom bar
6
+ </h1>
7
+ </EuiTitle>
8
+ </EuiPageHeaderSection>
9
+ </EuiPageHeader>
@@ -1 +1,9 @@
1
- # Flex
1
+ <EuiPageHeader>
2
+ <EuiPageHeaderSection>
3
+ <EuiTitle @size="l">
4
+ <h1>
5
+ Flex
6
+ </h1>
7
+ </EuiTitle>
8
+ </EuiPageHeaderSection>
9
+ </EuiPageHeader>
@@ -2,30 +2,38 @@
2
2
  order: 1
3
3
  ---
4
4
 
5
- # Demo 1
5
+ # EuiFlyout
6
6
 
7
- Click on the hamburger icon in the Header Nav to open the flyout!
7
+ <EuiText>
8
+ <p>
9
+ <strong>EuiFlyout</strong> is a fixed position panel that pops in from the side of the window. It should be used to reveal more detailed contextual information or to provide complex forms without losing the user's current state. It is a good alternative to <a href="/docs/core/docs/layout/modal">modals</a> when the action is not transient.
10
+ </p>
11
+ <p>
12
+ Like modals, you control the visibilty of the flyout using your own state management, but <strong>EuiFlyout</strong> requires an <EuiCode>onClose</EuiCode> handler for it's internal dismiss buttons.
13
+ </p>
14
+ </EuiText>
8
15
 
9
16
  ```hbs template
10
- <EuiButton {{on "click" this.openFlyout}}>
17
+ <EuiButton {{on 'click' this.openFlyout}}>
11
18
  Small Flyout
12
19
  </EuiButton>
13
20
  {{#if this.flyoutOpen}}
14
- <EuiFlyout @ownFocus={{true}} @size="s" @onClose={{this.closeFlyout}}>
21
+ <EuiFlyout
22
+ @size='s'
23
+ @onClose={{this.closeFlyout}}
24
+ >
15
25
  <EuiFlyoutHeader @hasBorder={{true}}>
16
- <EuiTitle @size="l">Small Welcome!</EuiTitle>
26
+ <EuiTitle @size='l'>Small Welcome!</EuiTitle>
17
27
  </EuiFlyoutHeader>
18
28
  <EuiFlyoutBody>
19
- <EuiFlyoutBody::Content>
20
- Content
21
- </EuiFlyoutBody::Content>
29
+ Content
22
30
  </EuiFlyoutBody>
23
31
  <EuiFlyoutFooter>
24
- <EuiFlexGroup @justifyContent="spaceBetween" @gutterSize="s">
25
- <EuiButton {{on "click" this.closeFlyout}}>
32
+ <EuiFlexGroup @justifyContent='spaceBetween' @gutterSize='s'>
33
+ <EuiButton {{on 'click' this.closeFlyout}}>
26
34
  Cancel
27
35
  </EuiButton>
28
- <EuiButton @fill={{true}} {{on "click" this.closeFlyout}}>
36
+ <EuiButton @fill={{true}} {{on 'click' this.closeFlyout}}>
29
37
  Send
30
38
  </EuiButton>
31
39
  </EuiFlexGroup>
@@ -1,48 +1,63 @@
1
1
  ---
2
2
  order: 2
3
3
  ---
4
+ # More complicated flyout
4
5
 
5
- # Demo 2
6
+ <EuiSpacer />
7
+
8
+ <EuiText>
9
+ <p>
10
+
11
+ This component also comes with related child components for ease of creating headers, footers and scrolling body content. <strong>EuiFlyoutHeader</strong> and <strong>EuiFlyoutFooter</strong> are pinned to the top and bottom of the flyout, respectively, to allow for always visible navigation and actions. The <strong>EuiFlyoutBody</strong> component will then automatically overflow.
12
+
13
+ </p>
14
+ </EuiText>
6
15
 
7
16
  ```hbs template
8
- <EuiButton {{on "click" this.openFlyout}}>
17
+ <EuiButton {{on 'click' this.openFlyout}}>
9
18
  Small Flyout w/o Overlay
10
19
  </EuiButton>
11
20
 
12
21
  {{#if this.flyout2Open}}
13
- <EuiFlyout @ownFocus={{false}} @size="s" @onClose={{this.closeFlyout}}>
22
+ <EuiFlyout @size='s' @onClose={{this.closeFlyout}}>
14
23
  <EuiFlyoutHeader @hasBorder={{true}}>
15
- <EuiTitle @size="l">Small Welcome!</EuiTitle>
24
+ <EuiTitle @size='l'>Small Welcome!</EuiTitle>
16
25
  </EuiFlyoutHeader>
17
26
  <EuiFlyoutBody>
18
- <EuiFlyoutBody::Content>
19
- <EuiText>
20
- <p>
21
- Far out in the uncharted backwaters of the unfashionable
22
- end of the western spiral arm of the Galaxy lies a small unregarded yellow sun.
23
- </p>
24
- <EuiHorizontalRule margin="s" @size="half"/>
25
- <p>
26
- Orbiting this at a distance of roughly ninety-two million miles is an utterly insignificant
27
- little blue green planet whose ape- descended life forms are so amazingly primitive that
28
- they still think digital watches are a pretty neat idea.
29
- </p>
30
- <EuiHorizontalRule margin="s" @size="half"/>
31
- <p>
32
- This planet has - or rather had - a problem, which was this: most of the people living on it were unhappy
33
- for pretty much of the time. Many solutions were suggested for this problem, but most of these were
34
- largely concerned with the movements of small green pieces of paper, which is odd because on the whole
35
- it was not the small green pieces of paper that were unhappy.
36
- </p>
37
- </EuiText>
38
- </EuiFlyoutBody::Content>
27
+
28
+ <EuiText>
29
+ <p>
30
+ Far out in the uncharted backwaters of the unfashionable end of the
31
+ western spiral arm of the Galaxy lies a small unregarded yellow sun.
32
+ </p>
33
+ <EuiHorizontalRule margin='s' @size='half' />
34
+ <p>
35
+ Orbiting this at a distance of roughly ninety-two million miles is an
36
+ utterly insignificant little blue green planet whose ape- descended
37
+ life forms are so amazingly primitive that they still think digital
38
+ watches are a pretty neat idea.
39
+ </p>
40
+ <EuiHorizontalRule margin='s' @size='half' />
41
+ <p>
42
+ This planet has - or rather had - a problem, which was this: most of
43
+ the people living on it were unhappy for pretty much of the time. Many
44
+ solutions were suggested for this problem, but most of these were
45
+ largely concerned with the movements of small green pieces of paper,
46
+ which is odd because on the whole it was not the small green pieces of
47
+ paper that were unhappy.
48
+ </p>
49
+ </EuiText>
50
+
39
51
  </EuiFlyoutBody>
40
52
  <EuiFlyoutFooter>
41
- <EuiFlexGroup @justifyContent="spaceBetween" @gutterSize="s">
42
- <EuiButton {{on "click" (fn this.closeFlyout "flyout2Open")}}>
53
+ <EuiFlexGroup @justifyContent='spaceBetween' @gutterSize='s'>
54
+ <EuiButton {{on 'click' (fn this.closeFlyout 'flyout2Open')}}>
43
55
  Cancel
44
56
  </EuiButton>
45
- <EuiButton @fill={{true}} {{on "click" (fn this.closeFlyout "flyout2Open")}}>
57
+ <EuiButton
58
+ @fill={{true}}
59
+ {{on 'click' (fn this.closeFlyout 'flyout2Open')}}
60
+ >
46
61
  Send
47
62
  </EuiButton>
48
63
  </EuiFlexGroup>
@@ -0,0 +1,99 @@
1
+ ---
2
+ order: 3
3
+ ---
4
+
5
+ # Sizing
6
+
7
+ <EuiSpacer />
8
+
9
+ <EuiText>
10
+ <p>
11
+
12
+ Flyouts come in three predefined <EuiCode>sizes</EuiCode> of <EuiCode>'s' | 'm' | 'l'</EuiCode>, which define the width <strong>relative to the window size</strong> with a minimum width defined in pixels. You can otherwise supply your own fixed width in number or string format.
13
+
14
+ </p>
15
+ </EuiText>
16
+
17
+ ```hbs template
18
+ <EuiButton {{on 'click' this.openFlyout}}>
19
+ Show flyout to test widths
20
+ </EuiButton>
21
+
22
+ {{#if this.flyout2Open}}
23
+ <EuiFlyout
24
+ @size={{this.size}}
25
+ @onClose={{this.closeFlyout}}
26
+ >
27
+ <EuiFlyoutHeader @hasBorder={{true}}>
28
+ <EuiTitle @size='l'>Small Welcome!</EuiTitle>
29
+ </EuiFlyoutHeader>
30
+ <EuiFlyoutBody>
31
+ <EuiFlexGroup>
32
+ <EuiFlexItem>
33
+ {{#each this.sizes as |size|}}
34
+ <EuiButton
35
+ @color={{if (eq size.id this.size) 'primary' 'text'}}
36
+ {{on 'click' (set this 'size' size.id)}}
37
+ >
38
+ {{size.label}}
39
+ </EuiButton>
40
+ {{/each}}
41
+ </EuiFlexItem>
42
+ </EuiFlexGroup>
43
+ </EuiFlyoutBody>
44
+ <EuiFlyoutFooter>
45
+ <EuiFlexGroup @justifyContent='spaceBetween' @gutterSize='s'>
46
+ <EuiButton {{on 'click' (fn this.closeFlyout 'flyout2Open')}}>
47
+ Cancel
48
+ </EuiButton>
49
+ <EuiButton
50
+ @fill={{true}}
51
+ {{on 'click' (fn this.closeFlyout 'flyout2Open')}}
52
+ >
53
+ Send
54
+ </EuiButton>
55
+ </EuiFlexGroup>
56
+ </EuiFlyoutFooter>
57
+ </EuiFlyout>
58
+ {{/if}}
59
+ ```
60
+
61
+ ```js component
62
+ import Component from '@glimmer/component';
63
+ import { tracked } from '@glimmer/tracking';
64
+ import { action } from '@ember/object';
65
+
66
+ export default class DemoFlyoutDemo2Component extends Component {
67
+ @tracked flyout2Open = false;
68
+ @tracked size = 's';
69
+
70
+ sizes = [
71
+ {
72
+ id: 's',
73
+ label: 'Small'
74
+ },
75
+ {
76
+ id: 'm',
77
+ label: 'Medium'
78
+ },
79
+ {
80
+ id: 'l',
81
+ label: 'Large'
82
+ },
83
+ {
84
+ id: '400px',
85
+ label: 'Fixed (400)'
86
+ }
87
+ ];
88
+
89
+ @action
90
+ openFlyout() {
91
+ this.flyout2Open = true;
92
+ }
93
+
94
+ @action
95
+ closeFlyout(flyout) {
96
+ this.flyout2Open = false;
97
+ }
98
+ }
99
+ ```
@@ -0,0 +1,115 @@
1
+ ---
2
+ order: 4
3
+ ---
4
+
5
+ # Adjusting padding
6
+
7
+ <EuiSpacer />
8
+
9
+ <EuiText>
10
+ <p>
11
+
12
+ All the inner flyout components inherit their padding from the wrapping <strong>EuiFlyout</strong> component. This ensures that all the horizontal edges line up no matter the <EuiCode>paddingSize</EuiCode>. When using the <EuiCode>"none"</EuiCode> size, you will need to accommodate your content with some other way of creating distance to the edges of the flyout.
13
+
14
+ </p>
15
+ </EuiText>
16
+
17
+ ```hbs template
18
+ <EuiButton {{on 'click' this.openFlyout}}>
19
+ Show flyout to test padding sizes
20
+ </EuiButton>
21
+
22
+ {{#if this.flyout2Open}}
23
+ <EuiFlyout
24
+ @paddingSize={{this.padding}}
25
+ @onClose={{this.closeFlyout}}
26
+ >
27
+ <EuiFlyoutHeader @hasBorder={{true}}>
28
+ <EuiTitle @size='l'>Small Welcome!</EuiTitle>
29
+ </EuiFlyoutHeader>
30
+ <EuiFlyoutBody>
31
+ <EuiFlexGroup>
32
+ <EuiFlexItem>
33
+ {{#each this.paddings as |padding|}}
34
+ <EuiButton
35
+ @color={{if (eq padding.id this.padding) 'primary' 'text'}}
36
+ {{on 'click' (set this 'padding' padding.id)}}
37
+ >
38
+ {{padding.label}}
39
+ </EuiButton>
40
+ {{/each}}
41
+
42
+ <EuiButton {{on 'click' this.toggleSide}}>
43
+ change from
44
+ {{this.side}}
45
+ </EuiButton>
46
+ </EuiFlexItem>
47
+ </EuiFlexGroup>
48
+ </EuiFlyoutBody>
49
+ <EuiFlyoutFooter>
50
+ <EuiFlexGroup @justifyContent='spaceBetween' @gutterSize='s'>
51
+ <EuiButton {{on 'click' (fn this.closeFlyout 'flyout2Open')}}>
52
+ Cancel
53
+ </EuiButton>
54
+ <EuiButton
55
+ @fill={{true}}
56
+ {{on 'click' (fn this.closeFlyout 'flyout2Open')}}
57
+ >
58
+ Send
59
+ </EuiButton>
60
+ </EuiFlexGroup>
61
+ </EuiFlyoutFooter>
62
+ </EuiFlyout>
63
+ {{/if}}
64
+ ```
65
+
66
+ ```js component
67
+ import Component from '@glimmer/component';
68
+ import { tracked } from '@glimmer/tracking';
69
+ import { action } from '@ember/object';
70
+
71
+ export default class DemoFlyoutDemo2Component extends Component {
72
+ @tracked flyout2Open = false;
73
+ @tracked padding = 'l';
74
+ @tracked side = 'right';
75
+
76
+ @action
77
+ toggleSide() {
78
+ if (this.side === 'right') {
79
+ this.side = 'left';
80
+ } else {
81
+ this.side = 'right';
82
+ }
83
+ }
84
+
85
+ paddings = [
86
+ {
87
+ id: 'none',
88
+ label: 'None'
89
+ },
90
+ {
91
+ id: 's',
92
+ label: 'Small'
93
+ },
94
+ {
95
+ id: 'm',
96
+ label: 'Medium'
97
+ },
98
+ {
99
+ id: 'l',
100
+ label: 'Large'
101
+ }
102
+ ];
103
+
104
+ @action
105
+ openFlyout() {
106
+ this.flyout2Open = true;
107
+ }
108
+
109
+ @action
110
+ closeFlyout(flyout) {
111
+ debugger;
112
+ this.flyout2Open = false;
113
+ }
114
+ }
115
+ ```
@@ -0,0 +1,59 @@
1
+ ---
2
+ order: 5
3
+ ---
4
+
5
+ # Adding a banner
6
+
7
+ <EuiSpacer />
8
+
9
+ <EuiText>
10
+ <p>
11
+
12
+ To highlight some information at the top of a flyout, you can pass an <a href="/docs/core/docs/display/callout">EuiCallOut</a> to the <EuiCode>banner</EuiCode> prop available in <strong>EuiFlyoutBody</strong> and its layout will adjust appropriately.
13
+
14
+ </p>
15
+ </EuiText>
16
+
17
+ ```hbs template
18
+ <EuiButton {{on 'click' this.openFlyout}}>
19
+ Show flyout to test padding sizes
20
+ </EuiButton>
21
+
22
+ {{#if this.flyout2Open}}
23
+ <EuiFlyout @onClose={{this.closeFlyout}}>
24
+ <EuiFlyoutHeader @hasBorder={{true}}>
25
+ <EuiTitle @size='l'>Small Welcome!</EuiTitle>
26
+ </EuiFlyoutHeader>
27
+ <EuiFlyoutBody>
28
+ <:banner>
29
+ <EuiCallOut>
30
+ <:body>
31
+ Here’s some stuff that you need to know. This banner helps highlight
32
+ important information.
33
+ </:body>
34
+ </EuiCallOut>
35
+ </:banner>
36
+ </EuiFlyoutBody>
37
+ </EuiFlyout>
38
+ {{/if}}
39
+ ```
40
+
41
+ ```js component
42
+ import Component from '@glimmer/component';
43
+ import { tracked } from '@glimmer/tracking';
44
+ import { action } from '@ember/object';
45
+
46
+ export default class DemoFlyoutDemo2Component extends Component {
47
+ @tracked flyout2Open = false;
48
+
49
+ @action
50
+ openFlyout() {
51
+ this.flyout2Open = true;
52
+ }
53
+
54
+ @action
55
+ closeFlyout(flyout) {
56
+ this.flyout2Open = false;
57
+ }
58
+ }
59
+ ```
@@ -0,0 +1,57 @@
1
+ ---
2
+ order: 6
3
+ ---
4
+
5
+ # Without ownFocus
6
+
7
+ <EuiSpacer />
8
+
9
+ <EuiText>
10
+ <p>
11
+ Like modals, you will usually want to obscure the page content beneath with <EuiCode>@ownFocus</EuiCode> which wraps the flyout with an <a href="/docs/core/docs/display/callout">EuiOverlayMask</a>. However, there are use-cases where flyouts present more information or controls, but need to maintain the interactions of the page content. By setting <EuiCode>@ownFocus={{false}}</EuiCode>, the underlying page content will be visible and clickable.
12
+ </p>
13
+ </EuiText>
14
+
15
+ ```hbs template
16
+ <EuiButton {{on 'click' this.openFlyout}}>
17
+ Toggle flyout
18
+ </EuiButton>
19
+
20
+ {{#if this.flyout2Open}}
21
+ <EuiFlyout @ownFocus={{false}} @onClose={{this.closeFlyout}}>
22
+ <EuiFlyoutHeader @hasBorder={{true}}>
23
+ <EuiTitle @size='l'>Small Welcome!</EuiTitle>
24
+ </EuiFlyoutHeader>
25
+ <EuiFlyoutBody>
26
+ <:banner>
27
+ <EuiCallOut>
28
+ <:body>
29
+ Here’s some stuff that you need to know. This banner helps highlight
30
+ important information.
31
+ </:body>
32
+ </EuiCallOut>
33
+ </:banner>
34
+ </EuiFlyoutBody>
35
+ </EuiFlyout>
36
+ {{/if}}
37
+ ```
38
+
39
+ ```js component
40
+ import Component from '@glimmer/component';
41
+ import { tracked } from '@glimmer/tracking';
42
+ import { action } from '@ember/object';
43
+
44
+ export default class DemoFlyoutDemo2Component extends Component {
45
+ @tracked flyout2Open = false;
46
+
47
+ @action
48
+ openFlyout() {
49
+ this.flyout2Open = true;
50
+ }
51
+
52
+ @action
53
+ closeFlyout(flyout) {
54
+ this.flyout2Open = false;
55
+ }
56
+ }
57
+ ```
@@ -0,0 +1,51 @@
1
+ ---
2
+ order: 7
3
+ ---
4
+
5
+ # Push versus overlay
6
+
7
+ <EuiSpacer />
8
+
9
+ <EuiText>
10
+ <p>
11
+ Another way to allow for continued interactions of the page content while a flyout is visible, is to change the <EuiCode>type</EuiCode> from <EuiCode>overlay</EuiCode> to <EuiCode>push</EuiCode>.
12
+ </p>
13
+ <p>
14
+ A pushed flyout still positions itself as <EuiCode>fixed</EuiCode>, but adds padding to the document's body element to accommodate for the flyout's width. Because this squishes the page content, the flyout changes back to <EuiCode>overlay</EuiCode> at smaller window widths. You can adjust this minimum breakpoint with <EuiCode>pushMinBreakpoint</EuiCode>.
15
+ </p>
16
+ </EuiText>
17
+
18
+ ```hbs template
19
+ <EuiButton {{on 'click' this.openFlyout}}>
20
+ Toggle flyout
21
+ </EuiButton>
22
+
23
+ {{#if this.flyout2Open}}
24
+ <EuiFlyout @type='push' @size='s' @onClose={{this.closeFlyout}}>
25
+ <EuiFlyoutHeader @hasBorder={{true}}>
26
+ <EuiTitle @size='l'>Small Welcome!</EuiTitle>
27
+ </EuiFlyoutHeader>
28
+ <EuiFlyoutBody />
29
+ </EuiFlyout>
30
+ {{/if}}
31
+ ```
32
+
33
+ ```js component
34
+ import Component from '@glimmer/component';
35
+ import { tracked } from '@glimmer/tracking';
36
+ import { action } from '@ember/object';
37
+
38
+ export default class DemoFlyoutDemo2Component extends Component {
39
+ @tracked flyout2Open = false;
40
+
41
+ @action
42
+ openFlyout() {
43
+ this.flyout2Open = true;
44
+ }
45
+
46
+ @action
47
+ closeFlyout(flyout) {
48
+ this.flyout2Open = false;
49
+ }
50
+ }
51
+ ```
@@ -1 +1,9 @@
1
- # Flyout
1
+ <EuiPageHeader>
2
+ <EuiPageHeaderSection>
3
+ <EuiTitle @size="l">
4
+ <h1>
5
+ Flyout
6
+ </h1>
7
+ </EuiTitle>
8
+ </EuiPageHeaderSection>
9
+ </EuiPageHeader>