@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
@@ -0,0 +1,108 @@
1
+ ---
2
+ order: 2
3
+ ---
4
+
5
+ # Collapsible nav group
6
+
7
+ <EuiText>
8
+ <p>
9
+ An <strong>EuiCollapsibleNavGroup</strong> adds some basic borders and <EuiCode>background</EuiCode> color of <EuiCode>none</EuiCode>, <EuiCode>light</EuiCode>, or <EuiCode>dark</EuiCode>. Give each section a heading by providing an optional <EuiCode>title</EuiCode> and <EuiCode>iconType</EuiCode>. Make the section collapsible (accordion style) with <EuiCode>isCollapsible=true</EuiCode>.
10
+ </p>
11
+ <p>
12
+ When in <EuiCode>isCollapsible</EuiCode> mode, a <EuiCode>title</EuiCode> and <EuiCode>initialIsOpen:boolean</EuiCode> is required.
13
+ </p>
14
+
15
+ </EuiText>
16
+
17
+ ```hbs template
18
+ <EuiCollapsibleNavGroup>
19
+ <:content>
20
+ <EuiText @size='s' @color='subdued'>
21
+ <p>This is a basic group without any modifications</p>
22
+ </EuiText>
23
+ </:content>
24
+ </EuiCollapsibleNavGroup>
25
+ <EuiCollapsibleNavGroup @title='Nav group' @iconType='logoElastic'>
26
+ <:content>
27
+ <EuiText @size='s' @color='subdued'>
28
+ <p>
29
+ This is a nice group with a heading supplied via{' '}
30
+ <EuiCode>title</EuiCode>
31
+ and
32
+ <EuiCode>iconType</EuiCode>.
33
+ </p>
34
+ </EuiText>
35
+ </:content>
36
+ </EuiCollapsibleNavGroup>
37
+ <EuiCollapsibleNavGroup
38
+ @background='light'
39
+ @title='Nav group'
40
+ @isCollapsible={{true}}
41
+ @iconType='logoElastic'
42
+ @initialIsOpen={{true}}
43
+ >
44
+ <:content>
45
+ <EuiText @size='s' @color='subdued'>
46
+ <p>
47
+ This group is
48
+ <EuiCode>collapsible</EuiCode>
49
+ and set with
50
+ <EuiCode>initialIsOpen</EuiCode>. It has a heading that is the
51
+ collapsing button via
52
+ <EuiCode>title</EuiCode>
53
+ and
54
+ <EuiCode>iconType</EuiCode>.
55
+ </p>
56
+ </EuiText>
57
+ </:content>
58
+ </EuiCollapsibleNavGroup>
59
+ <EuiCollapsibleNavGroup
60
+ @title='Nav group'
61
+ @iconType='logoGCPMono'
62
+ @iconSize='xxl'
63
+ @titleSize='s'
64
+ @isCollapsible={{true}}
65
+ @initialIsOpen={{false}}
66
+ @background='dark'
67
+ >
68
+ <:content>
69
+ <EuiText @size='s'>
70
+ <p>
71
+ This is a
72
+ <EuiCode>dark</EuiCode>
73
+ <EuiCode>collapsible</EuiCode>
74
+ group that is initally set to closed,
75
+ <EuiCode>iconSize=&quot;xxl&quot;</EuiCode>
76
+ and
77
+ <EuiCode>titleSize=&quot;s&quot;</EuiCode>.
78
+ </p>
79
+ </EuiText>
80
+ </:content>
81
+ </EuiCollapsibleNavGroup>
82
+ ```
83
+
84
+ ```js component
85
+ import Component from '@glimmer/component';
86
+ import { tracked } from '@glimmer/tracking';
87
+ import { action } from '@ember/object';
88
+
89
+ export default class DemoCollapsibleNavComponent extends Component {
90
+ @tracked collNavIsOpen = false;
91
+ @tracked navIsDocked = false;
92
+
93
+ @action
94
+ openCollapsibleNav() {
95
+ this.collNavIsOpen = true;
96
+ }
97
+
98
+ @action
99
+ closeCollapsibleNav() {
100
+ this.collNavIsOpen = false;
101
+ }
102
+
103
+ @action
104
+ toggleDockedNav() {
105
+ this.navIsDocked = !this.navIsDocked;
106
+ }
107
+ }
108
+ ```
@@ -1 +1,9 @@
1
- # Collapsible nav
1
+ <EuiPageHeader>
2
+ <EuiPageHeaderSection>
3
+ <EuiTitle @size="l">
4
+ <h1>
5
+ Collapsible nav
6
+ </h1>
7
+ </EuiTitle>
8
+ </EuiPageHeaderSection>
9
+ </EuiPageHeader>
@@ -0,0 +1,77 @@
1
+ ---
2
+ order: 1
3
+ ---
4
+
5
+ <EuiText>
6
+ <p>
7
+ The <strong>EuiKeyPadMenu</strong> component presents <strong>EuiKeyPadMenuItems</strong> in a tiled format, with a fixed width which will accommodate three items and then wrap.
8
+ </p>
9
+
10
+ <p>
11
+ <strong>EuiKeyPadMenu</strong> is just a wrapping element for creating the list elements but you must declare each <strong>EuiKeyPadMenu</strong> component manually and wrap them on li
12
+ </p>
13
+
14
+ </EuiText>
15
+ <EuiSpacer/>
16
+
17
+ # Basic
18
+
19
+ ```hbs template
20
+ <EuiCallOut @iconType='accessibility' @color='warning'>
21
+ <:body>
22
+ If the menu provides navigation for your application, wrap the EuiKeyPadMenu
23
+ with
24
+ <EuiCode @language='html'>{{this.navCode}}</EuiCode>
25
+ </:body>
26
+ </EuiCallOut>
27
+
28
+ <EuiSpacer />
29
+
30
+ <nav aria-label='Nav title'>
31
+ <EuiKeyPadMenu>
32
+ <li>
33
+ <EuiKeyPadMenuItem @label='Dashboard'>
34
+ <EuiIcon @type='dashboardApp' @size='l' />
35
+ </EuiKeyPadMenuItem>
36
+ </li>
37
+
38
+ <li>
39
+ <EuiKeyPadMenuItem @label='Canvas'>
40
+ <EuiIcon @type='canvasApp' @size='l' />
41
+ </EuiKeyPadMenuItem>
42
+ </li>
43
+
44
+ <li>
45
+ <EuiKeyPadMenuItem @isSelected={{true}} @label='Lens'>
46
+ <EuiIcon @type='lensApp' @size='l' />
47
+ </EuiKeyPadMenuItem>
48
+ </li>
49
+
50
+ <li>
51
+ <EuiKeyPadMenuItem @isDisabled={{true}} @label='Visualize'>
52
+ <EuiIcon @type='visualizeApp' @size='l' />
53
+ </EuiKeyPadMenuItem>
54
+ </li>
55
+
56
+ <li>
57
+ <EuiKeyPadMenuItem @label='Graph'>
58
+ <EuiIcon @type='graphApp' @size='l' />
59
+ </EuiKeyPadMenuItem>
60
+ </li>
61
+
62
+ <li>
63
+ <EuiKeyPadMenuItem @label='Advanced Settings'>
64
+ <EuiIcon @type='advancedSettingsApp' @size='l' />
65
+ </EuiKeyPadMenuItem>
66
+ </li>
67
+ </EuiKeyPadMenu>
68
+ </nav>
69
+ ```
70
+
71
+ ```js component
72
+ import Component from '@glimmer/component';
73
+
74
+ export default class DemoSideNavComponent extends Component {
75
+ navCode = "<nav aria-label='Nav title'></nav>";
76
+ }
77
+ ```
@@ -0,0 +1,102 @@
1
+ ---
2
+ order: 2
3
+ ---
4
+
5
+ <EuiText>
6
+ <p>
7
+ The <strong>EuiKeyPadMenuItem</strong> component can act both as an anchor as well as a button by specifying <EuiCode>href</EuiCode> or <EuiCode>onClick</EuiCode> respectively. It requires a text-based <EuiCode>label</EuiCode> and using the block for declaring the icon. This is the most flexible way for handling the customization of the icon itself.
8
+ </p>
9
+
10
+ <p>
11
+ When using the <EuiCode>isSelected</EuiCode> prop to create a toggle button, you must supply both the <EuiCode>true</EuiCode> and <EuiCode>false</EuiCode> states explicitly to ensure the attribute is added for both states.
12
+ </p>
13
+
14
+ </EuiText>
15
+
16
+ # Menu item
17
+
18
+ ```hbs template
19
+ <EuiKeyPadMenu>
20
+ <li>
21
+ <EuiKeyPadMenuItem
22
+ @label='Button'
23
+ @isSelected={{eq this.selectedID this.keypadButtonId__1}}
24
+ @id={{this.keypadButtonId__1}}
25
+ {{on 'click' (set this 'selectedID' this.keypadButtonId__1)}}
26
+ >
27
+ <EuiIcon @type='grid' @size='l' />
28
+ </EuiKeyPadMenuItem>
29
+ </li>
30
+ <li>
31
+ <EuiKeyPadMenuItem
32
+ @label='Button'
33
+ @isSelected={{eq this.selectedID this.keypadButtonId__2}}
34
+ @id={{this.keypadButtonId__2}}
35
+ {{on 'click' (set this 'selectedID' this.keypadButtonId__2)}}
36
+ >
37
+ <EuiIcon @type='grid' @size='l' />
38
+ </EuiKeyPadMenuItem>
39
+ </li>
40
+ <li>
41
+ <EuiKeyPadMenuItem
42
+ @label='Disabled'
43
+ @id={{this.keypadButtonId__3}}
44
+ @isDisabled={{true}}
45
+ >
46
+ <EuiIcon @type='grid' @size='l' />
47
+ </EuiKeyPadMenuItem>
48
+ </li>
49
+ <li>
50
+ <EuiKeyPadMenuItem
51
+ @label='Link'
52
+ @isSelected={{eq this.selectedID this.keypadButtonId__4}}
53
+ @id={{this.keypadButtonId__4}}
54
+ @href='#'
55
+ {{on 'click' (set this 'selectedID' this.keypadButtonId__4)}}
56
+ >
57
+ <EuiIcon @type='link' @size='l' />
58
+ </EuiKeyPadMenuItem>
59
+ </li>
60
+ <li>
61
+ <EuiKeyPadMenuItem
62
+ @label='Button'
63
+ @isSelected={{eq this.selectedID this.keypadButtonId__5}}
64
+ @id={{this.keypadButtonId__5}}
65
+ {{on 'click' (set this 'selectedID' this.keypadButtonId__5)}}
66
+ >
67
+ <EuiIcon @type='link' @size='l' />
68
+ </EuiKeyPadMenuItem>
69
+ </li>
70
+ <li>
71
+ <EuiKeyPadMenuItem
72
+ @label='Button'
73
+ @isSelected={{eq this.selectedID this.keypadButtonId__6}}
74
+ @id={{this.keypadButtonId__6}}
75
+ {{on 'click' (set this 'selectedID' this.keypadButtonId__6)}}
76
+ >
77
+ <EuiIcon @type='link' @size='l' />
78
+ </EuiKeyPadMenuItem>
79
+ </li>
80
+ </EuiKeyPadMenu>
81
+ ```
82
+
83
+ ```js component
84
+ import Component from '@glimmer/component';
85
+ // import { uniqueId } from '@ember-eui/core/helpers/unique-id';
86
+ import { tracked } from '@glimmer/tracking';
87
+
88
+ export default class DemoSideNavComponent extends Component {
89
+ @tracked selectedID;
90
+ keypadButtonId__1 = 'keypad1';
91
+ keypadButtonId__2 = 'keypad2';
92
+ keypadButtonId__3 = 'keypad3';
93
+ keypadButtonId__4 = 'keypad4';
94
+ keypadButtonId__5 = 'keypad5';
95
+ keypadButtonId__6 = 'keypad6';
96
+
97
+ constructor() {
98
+ super(...arguments);
99
+ this.selectedID = this.keypadButtonId__6;
100
+ }
101
+ }
102
+ ```
@@ -0,0 +1,54 @@
1
+ ---
2
+ order: 3
3
+ ---
4
+
5
+ <EuiText>
6
+ <p>
7
+ If the item links to a module that is not GA (beta, lab, etc), you can add a <EuiCode>betaBadgeLabel</EuiCode> and <EuiCode>betaBadgeTooltipContent</EuiCode> to the card and it will properly create and position an <a href="/docs/core/docs/navigation/key-pad-menu">EuiBetaBadge</a>.
8
+ </p>
9
+
10
+ <p>
11
+ Supplying just a label will only show the first letter in the badge but displays the full label to the tooltip. You can also pass an <EuiCode>iconType</EuiCode> to replace the letter.
12
+ </p>
13
+
14
+ </EuiText>
15
+ <EuiSpacer/>
16
+
17
+ # Beta item
18
+
19
+ ```hbs template
20
+ <EuiKeyPadMenu>
21
+ <li>
22
+ <EuiKeyPadMenuItem @label='No beta'>
23
+ <EuiIcon @type='editorStrike' @size='l' />
24
+ </EuiKeyPadMenuItem>
25
+ </li>
26
+
27
+ <li>
28
+ <EuiKeyPadMenuItem
29
+ @label='Single letter'
30
+ @betaBadgeTooltipContent='This module is not GA. Please help us by reporting any bugs.'
31
+ @betaBadgeLabel='Beta'
32
+ >
33
+ <EuiIcon @type='editorBold' @size='l' />
34
+ </EuiKeyPadMenuItem>
35
+ </li>
36
+ <li>
37
+ <EuiKeyPadMenuItem
38
+ @label='Icon'
39
+ @betaBadgeLabel='External'
40
+ @betaBadgeTooltipContent='This module is an external app'
41
+ @betaBadgeIconType='popout'
42
+ >
43
+ <EuiIcon @type='editorCodeBlock' @size='l' />
44
+ </EuiKeyPadMenuItem>
45
+ </li>
46
+
47
+ </EuiKeyPadMenu>
48
+ ```
49
+
50
+ ```js component
51
+ import Component from '@glimmer/component';
52
+
53
+ export default class DemoSideNavComponent extends Component {}
54
+ ```
@@ -0,0 +1,71 @@
1
+ ---
2
+ order: 4
3
+ ---
4
+
5
+ <EuiText>
6
+ <p>
7
+ <strong>EuiKeyPadMenuItems</strong> can also be rendered as checkbox or radio form controls using the <EuiCode>checkable</EuiCode> prop. Pass in <EuiCode>"multi"</EuiCode> for checkboxes or <EuiCode>"single"</EuiCode> for radios.
8
+ </p>
9
+
10
+ <p>
11
+ To ensure the <strong>EuiKeyPadMenu</strong> renders the semantically appropriate HTML elements, you will need to pass in the <EuiCode>checkable</EuiCode> prop as <EuiCode>true</EuiCode> or an object that requires a <EuiCode>legend</EuiCode>. This will wrap the input group in a <EuiCode>fieldset</EuiCode> with a <EuiCode>legend</EuiCode>.
12
+ </p>
13
+
14
+ </EuiText>
15
+
16
+ # Checkable
17
+
18
+ ```hbs template
19
+ <EuiKeyPadMenu @checkable={{hash legend='Multi select as checkboxes'}}>
20
+
21
+ <EuiKeyPadMenuItem
22
+ @checkable='multi'
23
+ @isSelected={{this.multiSelect1isSelected}}
24
+ @id={{this.keypadMultiSelectButtonId__1}}
25
+ @label='Check one'
26
+ @onChange={{fn this.toggleCheckbox 'multiSelect1isSelected'}}
27
+ >
28
+ <EuiIcon @type='faceHappy' @size='l' />
29
+ </EuiKeyPadMenuItem>
30
+ <EuiKeyPadMenuItem
31
+ @checkable='multi'
32
+ @isSelected={{this.multiSelect2isSelected}}
33
+ @id={{this.keypadMultiSelectButtonId__2}}
34
+ @label='Check two'
35
+ @onChange={{fn this.toggleCheckbox 'multiSelect2isSelected'}}
36
+ >
37
+ <EuiIcon @type='faceNeutral' @size='l' />
38
+ </EuiKeyPadMenuItem>
39
+ <EuiKeyPadMenuItem
40
+ @checkable='multi'
41
+ @id={{this.keypadMultiSelectButtonId__3}}
42
+ @label='Disabled'
43
+ @isDisabled={{true}}
44
+ @onChange={{fn this.toggleCheckbox 'multiSelect2isSelected'}}
45
+ >
46
+ <EuiIcon @type='faceSad' @size='l' />
47
+ </EuiKeyPadMenuItem>
48
+ </EuiKeyPadMenu>
49
+ ```
50
+
51
+ ```js component
52
+ import Component from '@glimmer/component';
53
+ import { tracked } from '@glimmer/tracking';
54
+
55
+ export default class DemoSideNavComponent extends Component {
56
+ @tracked multiSelect1isSelected = false;
57
+ @tracked multiSelect2isSelected = false;
58
+
59
+ keypadMultiSelectButtonId__1 = 'keypaddemo41';
60
+ keypadMultiSelectButtonId__2 = 'keypaddemo42';
61
+ keypadMultiSelectButtonId__3 = 'keypaddemo43';
62
+
63
+ toggleCheckbox = (name) => {
64
+ if (this[name]) {
65
+ this[name] = false;
66
+ return;
67
+ }
68
+ this[name] = true;
69
+ };
70
+ }
71
+ ```
@@ -0,0 +1,65 @@
1
+ ---
2
+ order: 5
3
+ ---
4
+
5
+ <EuiText>
6
+ <p>
7
+ For single selection (radio) items, you must pass a singular <EuiCode>name</EuiCode> prop to each item to ensure they are grouped properly. Also, if you would like to hide the visible <EuiCode>legend</EuiCode> in favor of an screen-reader only solution, you can pass <EuiCode>ariaLegend</EuiCode> instead of <EuiCode>legend</EuiCode>.
8
+ </p>
9
+ </EuiText>
10
+
11
+ # Checkable Radio
12
+
13
+ ```hbs template
14
+ <EuiKeyPadMenu @checkable={{hash ariaLegend='Single select as radios'}}>
15
+
16
+ <EuiKeyPadMenuItem
17
+ @checkable='single'
18
+ @isSelected={{eq this.singleSelectedID this.keypadRadioId__1}}
19
+ @id={{this.keypadRadioId__1}}
20
+ @name={{this.radioGroupName}}
21
+ @label='Radio one'
22
+ @onChange={{this.setSingleSelectedID}}
23
+ >
24
+ <EuiIcon @type='faceHappy' @size='l' />
25
+ </EuiKeyPadMenuItem>
26
+ <EuiKeyPadMenuItem
27
+ @checkable='single'
28
+ @isSelected={{eq this.singleSelectedID this.keypadRadioId__2}}
29
+ @id={{this.keypadRadioId__2}}
30
+ @name={{this.radioGroupName}}
31
+ @label='Radio two'
32
+ @onChange={{this.setSingleSelectedID}}
33
+ >
34
+ <EuiIcon @type='faceNeutral' @size='l' />
35
+ </EuiKeyPadMenuItem>
36
+ <EuiKeyPadMenuItem
37
+ @checkable='single'
38
+ @id={{this.keypadRadioId__3}}
39
+ @name={{this.radioGroupName}}
40
+ @label='Disabled'
41
+ @isDisabled={{true}}
42
+ @onChange={{this.setSingleSelectedID}}
43
+ >
44
+ <EuiIcon @type='faceSad' @size='l' />
45
+ </EuiKeyPadMenuItem>
46
+ </EuiKeyPadMenu>
47
+ ```
48
+
49
+ ```js component
50
+ import Component from '@glimmer/component';
51
+ import { tracked } from '@glimmer/tracking';
52
+
53
+ export default class DemoSideNavComponent extends Component {
54
+ @tracked singleSelectedID = false;
55
+
56
+ radioGroupName = 'radioGroupDemo5';
57
+ keypadRadioId__1 = 'keypaddemo51';
58
+ keypadRadioId__2 = 'keypaddemo52';
59
+ keypadRadioId__3 = 'keypaddemo53';
60
+
61
+ setSingleSelectedID = (id) => {
62
+ this.singleSelectedID = id;
63
+ };
64
+ }
65
+ ```
@@ -0,0 +1,9 @@
1
+ <EuiPageHeader>
2
+ <EuiPageHeaderSection>
3
+ <EuiTitle @size="l">
4
+ <h1>
5
+ Key pad menu
6
+ </h1>
7
+ </EuiTitle>
8
+ </EuiPageHeaderSection>
9
+ </EuiPageHeader>
@@ -0,0 +1,44 @@
1
+ ---
2
+ order: 1
3
+ ---
4
+
5
+ # Basic
6
+
7
+ <EuiText>
8
+ <p>
9
+ <strong>EuiLink</strong> is any anchor or button element that is designed to display nicely within a block of text. It also provides more anchor-specific styling onto links and makes sure they are accessible.
10
+ </p>
11
+
12
+ </EuiText>
13
+
14
+ ```hbs template
15
+ <EuiText>
16
+ <p>
17
+ A simple
18
+ <EuiLink @href='#'>EuiLink</EuiLink>
19
+ used within a paragraph of text.
20
+ </p>
21
+ <p>
22
+ This is actually a
23
+ <EuiLink @onClick={{(noop)}}>button</EuiLink>
24
+ with an onClick handler.
25
+ </p>
26
+ <p>
27
+ Here is an example of a
28
+ <EuiLink @href='https://google.com' @onClick={{(noop)}}>
29
+ link
30
+ </EuiLink>
31
+ with both an
32
+ <EuiCode>href</EuiCode>
33
+ and an
34
+ <EuiCode>onClick</EuiCode>
35
+ handler.
36
+ </p>
37
+ </EuiText>
38
+ ```
39
+
40
+ ```js component
41
+ import Component from '@glimmer/component';
42
+
43
+ export default class DemoSideNavComponent extends Component {}
44
+ ```
@@ -0,0 +1,41 @@
1
+ ---
2
+ order: 1
3
+ ---
4
+
5
+ # External links
6
+
7
+ <EuiText>
8
+ <p>
9
+ Setting <EuiCode>target="_blank"</EuiCode> defaults to <EuiCode>external={true}</EuiCode>. This adds an icon indicator instructing users that a new window will open. You can also manually apply this icon in case you handle the target behavior by other means.
10
+ </p>
11
+
12
+ </EuiText>
13
+
14
+
15
+
16
+ ```hbs template
17
+ <EuiText>
18
+ <p>
19
+ Open the
20
+ <EuiLink @href='http://www.elastic.co' @target='_blank'>
21
+ Elastic website
22
+ </EuiLink>
23
+ in a new tab.
24
+ </p>
25
+ <p>
26
+ This
27
+ <EuiLink @href='#/navigation/link' @external={{true}}>
28
+ link
29
+ </EuiLink>
30
+ has the
31
+ <EuiCode>external</EuiCode>
32
+ prop set to true.
33
+ </p>
34
+ </EuiText>
35
+ ```
36
+
37
+ ```js component
38
+ import Component from '@glimmer/component';
39
+
40
+ export default class DemoSideNavComponent extends Component {}
41
+ ```
@@ -0,0 +1,45 @@
1
+ ---
2
+ order: 1
3
+ ---
4
+
5
+ # Coloring links
6
+
7
+ <EuiText>
8
+ <p>
9
+ Like any other <EuiLink @href="/docs/core/docs/navigation/button">button component</EuiLink>, links can be passed a <EuiCode>color</EuiCode>. Note that the <EuiCode>ghost</EuiCode> type should only be used on dark backgrounds (regardless of theming) as it will always create a white link.
10
+ </p>
11
+ </EuiText>
12
+
13
+ ```hbs template
14
+ <EuiText>
15
+ <ul>
16
+ {{#each this.links as |value|}}
17
+ <li>
18
+ <EuiLink @color={{if (not-eq value 'disabled') value}} @href='#'>
19
+ {{value}}
20
+ </EuiLink>
21
+ </li>
22
+
23
+ {{/each}}
24
+ <li style="background-color: black">
25
+ <EuiLink @color='ghost'>Ghost</EuiLink>
26
+ </li>
27
+ </ul>
28
+ </EuiText>
29
+ ```
30
+
31
+ ```js component
32
+ import Component from '@glimmer/component';
33
+
34
+ export default class DemoSideNavComponent extends Component {
35
+ links = [
36
+ 'primary',
37
+ 'subdued',
38
+ 'success',
39
+ 'accent',
40
+ 'warning',
41
+ 'danger',
42
+ 'text'
43
+ ];
44
+ }
45
+ ```
@@ -0,0 +1,61 @@
1
+ ---
2
+ order: 4
3
+ ---
4
+
5
+ # Disabled links
6
+
7
+ <EuiText>
8
+ <p>
9
+ When an <strong>EuiLink</strong> is passed an <EuiCode>onClick</EuiCode> method, and is not passed an <EuiCode>href</EuiCode>, it can optionally be set to <EuiCode>disabled</EuiCode> which disables the click behavior, and removes the link styling.
10
+ </p>
11
+ </EuiText>
12
+
13
+ ```hbs template
14
+ <EuiText>
15
+ <EuiSwitch
16
+ @compressed={{true}}
17
+ @label='Disable links'
18
+ @checked={{this.disableLink}}
19
+ @onChange={{set this 'disableLink' (not this.disableLink)}}
20
+ />
21
+ <EuiHorizontalRule margin='m' />
22
+ <p>
23
+ This
24
+ <EuiLink @color='accent' @disabled={{this.disableLink}} @onClick={{(noop)}}>
25
+ paragraph
26
+ </EuiLink>
27
+ has two
28
+ {{if this.disableLink ' disabled ' ' enabled '}}
29
+ <EuiLink
30
+ @color='warning'
31
+ @disabled={{this.disableLink}}
32
+ @onClick={{(noop)}}
33
+ >
34
+ links
35
+ </EuiLink>
36
+ in it.
37
+ </p>
38
+ <p>
39
+ <EuiTextColor @color='accent'>
40
+ When links are disabled, they inherit the
41
+ <EuiLink
42
+ @color='success'
43
+ @disabled={{this.disableLink}}
44
+ @onClick={{(noop)}}
45
+ >
46
+ color
47
+ </EuiLink>
48
+ of surrounding text.
49
+ </EuiTextColor>
50
+ </p>
51
+ </EuiText>
52
+ ```
53
+
54
+ ```js component
55
+ import Component from '@glimmer/component';
56
+ import { tracked } from '@glimmer/tracking';
57
+
58
+ export default class DemoSideNavComponent extends Component {
59
+ @tracked disableLink = false;
60
+ }
61
+ ```