@ember-eui/core 4.3.0 → 5.0.0-alpha.3

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 (635) 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 +83 -0
  51. package/addon/components/eui-field-number/index.hbs +3 -3
  52. package/addon/components/eui-field-number/types.ts +4 -1
  53. package/addon/components/eui-field-search/index.hbs +2 -1
  54. package/addon/components/eui-field-text/index.hbs +3 -1
  55. package/addon/components/eui-file-picker/index.hbs +15 -11
  56. package/addon/components/eui-file-picker/index.ts +26 -8
  57. package/addon/components/eui-flyout/index.hbs +130 -43
  58. package/addon/components/eui-flyout/index.ts +233 -0
  59. package/addon/components/eui-flyout-body/index.hbs +21 -7
  60. package/addon/components/eui-form-control-layout-custom-icon/types.ts +3 -1
  61. package/addon/components/eui-form-control-layout-icons/types.ts +4 -1
  62. package/addon/components/eui-form-label/index.hbs +1 -1
  63. package/addon/components/eui-form-row/index.hbs +13 -9
  64. package/addon/components/eui-global-toast-list/index.ts +5 -6
  65. package/addon/components/eui-header/index.hbs +18 -3
  66. package/addon/{modifiers/fixed-header.ts → components/eui-header/index.ts} +10 -1
  67. package/addon/components/eui-header-alert/index.hbs +25 -0
  68. package/addon/components/eui-header-breadcrumbs/index.hbs +7 -0
  69. package/addon/components/eui-header-links/index.hbs +41 -0
  70. package/addon/components/eui-header-links/index.ts +14 -0
  71. package/addon/components/eui-header-section-item-button/index.hbs +30 -12
  72. package/addon/components/eui-header-section-item-button/index.ts +131 -0
  73. package/addon/components/eui-health/index.hbs +15 -13
  74. package/addon/components/eui-hide-for/index.hbs +3 -0
  75. package/addon/components/eui-hide-for/index.ts +33 -0
  76. package/addon/components/eui-icon/index.hbs +6 -3
  77. package/addon/components/eui-icon/index.ts +4 -0
  78. package/addon/components/eui-image/index.hbs +63 -25
  79. package/addon/components/eui-image/index.ts +7 -2
  80. package/addon/components/eui-input-popover/index.ts +6 -4
  81. package/addon/components/eui-key-pad-menu/index.hbs +16 -0
  82. package/addon/components/eui-key-pad-menu/key/index.hbs +1 -0
  83. package/addon/components/eui-key-pad-menu-item/index.hbs +66 -0
  84. package/addon/components/eui-key-pad-menu-item/index.ts +11 -0
  85. package/addon/components/eui-link/index.hbs +50 -0
  86. package/addon/components/eui-list-group-item/index.hbs +10 -2
  87. package/addon/components/eui-loading-logo/index.hbs +14 -0
  88. package/addon/components/eui-markdown-editor/index.hbs +4 -1
  89. package/addon/components/eui-markdown-editor/index.ts +54 -0
  90. package/addon/components/eui-markdown-editor-footer/index.hbs +39 -40
  91. package/addon/components/eui-markdown-format/index.ts +1 -1
  92. package/addon/components/eui-markdown-format/markdown-code/index.hbs +2 -2
  93. package/addon/components/eui-markdown-format/markdown-code-block/index.hbs +1 -0
  94. package/addon/components/eui-modal/index.hbs +28 -24
  95. package/addon/components/eui-overlay-mask/index.hbs +4 -4
  96. package/addon/components/eui-overlay-mask/index.ts +14 -1
  97. package/addon/components/eui-page/index.hbs +3 -6
  98. package/addon/components/eui-page-body/index.hbs +47 -15
  99. package/addon/components/eui-page-content/index.hbs +6 -8
  100. package/addon/components/eui-page-content-body/index.hbs +13 -1
  101. package/addon/components/eui-page-content-header/index.hbs +6 -0
  102. package/addon/components/eui-page-header/index.hbs +31 -6
  103. package/addon/components/eui-page-header-content/index.hbs +219 -0
  104. package/addon/components/eui-page-header-content/index.ts +49 -0
  105. package/addon/components/eui-page-side-bar/index.hbs +8 -1
  106. package/addon/components/eui-page-template/index.hbs +417 -0
  107. package/addon/components/eui-page-template/index.ts +89 -0
  108. package/addon/components/eui-panel/index.hbs +58 -12
  109. package/addon/components/eui-popover/index.hbs +8 -4
  110. package/addon/components/eui-popover/index.ts +28 -12
  111. package/addon/components/eui-portal/index.ts +2 -1
  112. package/addon/components/eui-progress/index.hbs +16 -13
  113. package/addon/components/eui-radio/index.hbs +9 -3
  114. package/addon/components/eui-range/index.hbs +33 -11
  115. package/addon/components/eui-range/index.ts +7 -4
  116. package/addon/components/eui-range-input/index.hbs +37 -31
  117. package/addon/components/eui-range-input/types.ts +2 -1
  118. package/addon/components/eui-range-levels/index.hbs +3 -3
  119. package/addon/components/eui-range-levels/index.ts +14 -3
  120. package/addon/components/eui-range-ticks/index.hbs +2 -2
  121. package/addon/components/eui-range-track/index.hbs +10 -2
  122. package/addon/components/eui-range-track/index.ts +23 -6
  123. package/addon/components/eui-show-for/index.hbs +3 -0
  124. package/addon/components/eui-show-for/index.ts +79 -0
  125. package/addon/components/eui-side-nav/index.hbs +161 -36
  126. package/addon/components/eui-side-nav/index.ts +28 -0
  127. package/addon/components/eui-side-nav-item/button/index.hbs +26 -14
  128. package/addon/components/eui-side-nav-item/index.hbs +52 -25
  129. package/addon/components/eui-split-panel/inner/index.hbs +11 -0
  130. package/addon/components/eui-split-panel/outer/index.hbs +27 -0
  131. package/addon/components/eui-split-panel/outer/index.ts +37 -0
  132. package/addon/components/eui-step/eui-step-number/index.hbs +21 -4
  133. package/addon/components/eui-steps/index.hbs +7 -1
  134. package/addon/components/eui-tab/index.hbs +60 -46
  135. package/addon/components/eui-tab/index.ts +23 -0
  136. package/addon/components/eui-tabs/index.hbs +6 -9
  137. package/addon/components/eui-tool-tip/index.hbs +6 -7
  138. package/addon/components/eui-tool-tip/index.ts +27 -11
  139. package/addon/helpers/arg-or-default.ts +4 -1
  140. package/addon/helpers/class-names.ts +2 -0
  141. package/addon/helpers/eui-palette.ts +4 -1
  142. package/addon/helpers/get-range-tick.ts +53 -8
  143. package/addon/helpers/get-tab-id.ts +8 -2
  144. package/addon/helpers/hex-to-rgb.ts +4 -1
  145. package/addon/helpers/inline-styles.ts +10 -3
  146. package/addon/helpers/is-within-number.ts +4 -1
  147. package/addon/helpers/starts-with.ts +3 -1
  148. package/addon/helpers/unique-id.ts +4 -1
  149. package/addon/initializers/eui-config.ts +12 -0
  150. package/addon/modifiers/mutation-observer.ts +4 -1
  151. package/addon/modifiers/outside-click-detector.ts +4 -4
  152. package/addon/styles/ember-eui.css +2 -10
  153. package/addon/utils/accesibility/cascading-menu-keys.ts +8 -1
  154. package/addon/utils/breakpoint.ts +114 -0
  155. package/addon/utils/code/utils.ts +304 -0
  156. package/addon/utils/color/color_palette.ts +3 -3
  157. package/addon/utils/color/eui_palettes.ts +23 -6
  158. package/addon/utils/css-mappings/eui-avatar.ts +51 -9
  159. package/addon/utils/css-mappings/eui-badge.ts +6 -2
  160. package/addon/utils/css-mappings/eui-beta-badge.ts +22 -0
  161. package/addon/utils/css-mappings/eui-bottom-bar.ts +8 -1
  162. package/addon/utils/css-mappings/eui-button-empty.ts +4 -4
  163. package/addon/utils/css-mappings/eui-button-icon.ts +19 -6
  164. package/addon/utils/css-mappings/eui-button.ts +2 -1
  165. package/addon/utils/css-mappings/eui-card-select.ts +1 -11
  166. package/addon/utils/css-mappings/eui-card.ts +1 -18
  167. package/addon/utils/css-mappings/{eui-code-block-impl.ts → eui-code-block.ts} +0 -0
  168. package/addon/utils/css-mappings/eui-description-list.ts +29 -0
  169. package/addon/utils/css-mappings/eui-empty-prompt.ts +17 -0
  170. package/addon/utils/css-mappings/eui-flyout.ts +21 -1
  171. package/addon/utils/css-mappings/eui-header-links.ts +27 -0
  172. package/addon/utils/css-mappings/eui-health.ts +17 -0
  173. package/addon/utils/css-mappings/eui-icon.ts +93 -70
  174. package/addon/utils/css-mappings/eui-image.ts +17 -2
  175. package/addon/utils/css-mappings/eui-link.ts +21 -0
  176. package/addon/utils/css-mappings/eui-list-group.ts +5 -1
  177. package/addon/utils/css-mappings/eui-modal.ts +5 -1
  178. package/addon/utils/css-mappings/eui-page-body.ts +25 -0
  179. package/addon/utils/css-mappings/eui-page-content-body.ts +17 -0
  180. package/addon/utils/css-mappings/eui-page-content.ts +7 -1
  181. package/addon/utils/css-mappings/eui-page-header.ts +17 -0
  182. package/addon/utils/css-mappings/eui-page-side-bar.ts +17 -0
  183. package/addon/utils/css-mappings/eui-panel.ts +1 -0
  184. package/addon/utils/css-mappings/eui-progress-data.ts +0 -1
  185. package/addon/utils/css-mappings/eui-progress.ts +0 -2
  186. package/addon/utils/css-mappings/eui-range-levels.ts +22 -4
  187. package/addon/utils/css-mappings/eui-tabs.ts +3 -1
  188. package/addon/utils/css-mappings/eui-text-color.ts +3 -2
  189. package/addon/utils/css-mappings/index.ts +23 -3
  190. package/addon/utils/detect-element-resize.js +248 -0
  191. package/addon/utils/markdown/markdown-types.ts +10 -11
  192. package/addon/utils/markdown/plugins/markdown-add-components/index.ts +1 -0
  193. package/addon/utils/markdown/plugins/{markdown-add-components.ts → markdown-add-components/processor.ts} +14 -7
  194. package/addon/utils/markdown/plugins/markdown-checkbox/index.ts +9 -0
  195. package/addon/utils/markdown/plugins/{markdown-checkbox.ts → markdown-checkbox/parser.ts} +3 -5
  196. package/addon/utils/markdown/plugins/markdown-default-plugins/index.ts +12 -0
  197. package/addon/utils/markdown/plugins/{markdown-default-plugins.ts → markdown-default-plugins/parsing-plugins.ts} +13 -25
  198. package/addon/utils/markdown/plugins/markdown-default-plugins/plugins.ts +32 -0
  199. package/addon/utils/markdown/plugins/markdown-default-plugins/processing-plugins.ts +67 -0
  200. package/addon/utils/markdown/plugins/markdown-default-plugins/ui-plugins.ts +27 -0
  201. package/addon/utils/markdown/plugins/markdown-tooltip/index.ts +2 -0
  202. package/addon/utils/markdown/plugins/{markdown-tooltip.ts → markdown-tooltip/parser.ts} +3 -23
  203. package/addon/utils/markdown/plugins/markdown-tooltip/plugin.ts +17 -0
  204. package/addon/utils/markdown/plugins/to-dom.ts +3 -1
  205. package/addon/utils/markdown/remark/remark-prismjs.ts +41 -0
  206. package/addon/utils/popover/index.ts +87 -35
  207. package/addon/utils/range/index.ts +1 -0
  208. package/addon/utils/transition.ts +10 -3
  209. package/addon/version.ts +6 -0
  210. package/app/components/eui-auto-sizer/index.js +1 -0
  211. package/app/components/eui-avatar/index.js +1 -1
  212. package/app/components/eui-badge-group/badge-group-item/index.js +1 -1
  213. package/app/components/eui-badge-group/index.js +1 -1
  214. package/app/components/eui-breadcrumbs/index.js +1 -0
  215. package/app/components/eui-button-icon/index.js +1 -1
  216. package/app/components/eui-card-select/index.js +1 -0
  217. package/app/components/{eui-code-block-impl → eui-code-block/controls}/index.js +1 -1
  218. package/app/components/{eui-code-block-impl/code-block-controls → eui-code-block/full-screen-display}/index.js +1 -1
  219. package/app/components/eui-code-block/virtualized/index.js +1 -0
  220. package/app/components/eui-combo-box/create-option/index.js +1 -1
  221. package/app/components/eui-comment/eui-comment-timeline/index.js +1 -1
  222. package/app/components/eui-comment/index.js +1 -1
  223. package/app/components/eui-description-list/index.js +1 -0
  224. package/app/components/eui-description-list-description/index.js +1 -0
  225. package/app/components/eui-description-list-title/index.js +1 -0
  226. package/app/components/eui-dual-range/index.js +1 -1
  227. package/app/components/eui-empty-prompt/index.js +1 -0
  228. package/app/components/eui-field-number/index.js +1 -1
  229. package/app/components/eui-field-password/index.js +1 -1
  230. package/app/components/eui-field-search/index.js +1 -1
  231. package/app/components/eui-field-text/index.js +1 -1
  232. package/app/components/eui-file-picker/index.js +1 -1
  233. package/app/components/eui-form/index.js +1 -1
  234. package/app/components/eui-form-control-layout/index.js +1 -1
  235. package/app/components/eui-form-control-layout-clear-button/index.js +1 -1
  236. package/app/components/eui-form-control-layout-custom-icon/index.js +1 -1
  237. package/app/components/eui-form-control-layout-delimited/index.js +1 -1
  238. package/app/components/eui-form-control-layout-icons/index.js +1 -1
  239. package/app/components/eui-form-error-text/index.js +1 -1
  240. package/app/components/eui-form-fieldset/index.js +1 -1
  241. package/app/components/eui-form-help-text/index.js +1 -1
  242. package/app/components/eui-form-label/index.js +1 -1
  243. package/app/components/eui-form-legend/index.js +1 -1
  244. package/app/components/eui-form-row/index.js +1 -1
  245. package/app/components/eui-header-alert/index.js +1 -0
  246. package/app/components/eui-header-breadcrumbs/index.js +1 -0
  247. package/app/components/eui-header-links/index.js +1 -0
  248. package/app/components/eui-hide-for/index.js +1 -0
  249. package/app/components/eui-image.js +1 -1
  250. package/app/components/eui-key-pad-menu/index.js +1 -0
  251. package/app/components/eui-key-pad-menu/key/index.js +1 -0
  252. package/app/components/eui-key-pad-menu-item/index.js +1 -0
  253. package/app/components/eui-link/index.js +1 -0
  254. package/app/components/eui-list-group/index.js +1 -1
  255. package/app/components/eui-list-group-item/index.js +1 -1
  256. package/app/components/eui-loading-logo/index.js +1 -0
  257. package/app/components/eui-overlay-mask.js +1 -1
  258. package/app/components/eui-page/index.js +1 -1
  259. package/app/components/eui-page-body/index.js +1 -1
  260. package/app/components/eui-page-content/index.js +1 -1
  261. package/app/components/eui-page-content-body/index.js +1 -1
  262. package/app/components/eui-page-content-header/index.js +1 -1
  263. package/app/components/eui-page-content-header-section/index.js +1 -1
  264. package/app/components/eui-page-header/index.js +1 -1
  265. package/app/components/eui-page-header-content/index.js +1 -0
  266. package/app/components/eui-page-header-section/index.js +1 -1
  267. package/app/components/eui-page-template/index.js +1 -0
  268. package/app/components/eui-panel/index.js +1 -1
  269. package/app/components/eui-popover/index.js +1 -1
  270. package/app/components/eui-popover-footer/index.js +1 -1
  271. package/app/components/eui-popover-title/index.js +1 -1
  272. package/app/components/eui-portal/index.js +1 -1
  273. package/app/components/eui-progress/index.js +1 -1
  274. package/app/components/eui-radio/index.js +1 -1
  275. package/app/components/eui-radio-group/index.js +1 -1
  276. package/app/components/eui-range/index.js +1 -1
  277. package/app/components/eui-range-highlight/index.js +1 -1
  278. package/app/components/eui-range-input/index.js +1 -1
  279. package/app/components/eui-range-label/index.js +1 -1
  280. package/app/components/eui-range-levels/index.js +1 -1
  281. package/app/components/eui-range-slider/index.js +1 -1
  282. package/app/components/eui-range-thumb/index.js +1 -1
  283. package/app/components/eui-range-ticks/index.js +1 -1
  284. package/app/components/eui-range-tooltip/index.js +1 -1
  285. package/app/components/eui-range-track/index.js +1 -1
  286. package/app/components/eui-range-wrapper/index.js +1 -1
  287. package/app/components/eui-select/index.js +1 -1
  288. package/app/components/eui-show-for/index.js +1 -0
  289. package/app/components/eui-side-nav/index.js +1 -1
  290. package/app/components/eui-side-nav-item/button/index.js +1 -1
  291. package/app/components/eui-side-nav-item/index.js +1 -1
  292. package/app/components/eui-spacer/index.js +1 -1
  293. package/app/components/eui-split-panel/inner/index.js +1 -0
  294. package/app/components/eui-split-panel/outer/index.js +1 -0
  295. package/app/components/eui-switch/index.js +1 -1
  296. package/app/components/eui-tab/index.js +1 -1
  297. package/app/components/eui-tabs/index.js +1 -1
  298. package/app/components/eui-text/index.js +1 -1
  299. package/app/components/eui-text-align/index.js +1 -1
  300. package/app/components/eui-text-area/index.js +1 -1
  301. package/app/components/eui-text-color/index.js +1 -1
  302. package/app/components/eui-title/index.js +1 -1
  303. package/app/components/eui-tool-tip/index.js +1 -1
  304. package/app/components/eui-tool-tip-popover/index.js +1 -1
  305. package/app/helpers/eui-palette.js +1 -1
  306. package/app/helpers/hex-to-rgb.js +1 -1
  307. package/app/initializers/eui-config.js +1 -0
  308. package/app/utils/copy-to-clipboard.js +1 -0
  309. package/docs/display/avatar-demo/demo1.md +43 -49
  310. package/docs/display/avatar-demo/demo2.md +42 -0
  311. package/docs/display/avatar-demo/demo3.md +33 -0
  312. package/docs/display/avatar-demo/demo4.md +53 -0
  313. package/docs/display/avatar-demo/demo5.md +38 -0
  314. package/docs/display/avatar.md +1 -1
  315. package/docs/display/badge-demo/demo1.md +78 -137
  316. package/docs/display/badge-demo/demo2.md +32 -0
  317. package/docs/display/badge-demo/demo3.md +70 -0
  318. package/docs/display/badge-demo/demo4.md +27 -0
  319. package/docs/display/badge-demo/demo5.md +31 -0
  320. package/docs/display/badge-demo/demo6.md +59 -0
  321. package/docs/display/badge-demo/demo7.md +97 -0
  322. package/docs/display/badge-demo/demo8.md +19 -0
  323. package/docs/display/badge.md +1 -1
  324. package/docs/display/callout-demo/demo1.md +29 -81
  325. package/docs/display/callout-demo/demo2.md +28 -0
  326. package/docs/display/callout-demo/demo3.md +29 -0
  327. package/docs/display/callout-demo/demo4.md +26 -0
  328. package/docs/display/callout.md +9 -1
  329. package/docs/display/card/basic-card-demo/demo1.md +22 -316
  330. package/docs/display/card/basic-card.md +9 -1
  331. package/docs/display/card/beta-badge-demo/demo1.md +47 -0
  332. package/docs/display/card/beta-badge.md +9 -0
  333. package/docs/display/card/checkable-demo/demo1.md +20 -94
  334. package/docs/display/card/checkable-demo/demo2.md +63 -0
  335. package/docs/display/card/checkable.md +9 -1
  336. package/docs/display/card/custom-children-demo/demo1.md +93 -0
  337. package/docs/display/card/custom-children.md +9 -0
  338. package/docs/display/card/footer-demo/demo1.md +77 -0
  339. package/docs/display/card/footer.md +9 -0
  340. package/docs/display/card/images-demo/demo1.md +57 -0
  341. package/docs/display/card/images.md +9 -0
  342. package/docs/display/card/layout-demo/demo1.md +40 -0
  343. package/docs/display/card/layout.md +9 -0
  344. package/docs/display/card/selectable-demo/demo1.md +60 -53
  345. package/docs/display/card/selectable.md +9 -1
  346. package/docs/display/comment-list.md +1 -1
  347. package/docs/display/description-list-demo/demo1.md +53 -0
  348. package/docs/display/description-list-demo/demo2.md +43 -0
  349. package/docs/display/description-list-demo/demo3.md +58 -0
  350. package/docs/display/description-list-demo/demo4.md +42 -0
  351. package/docs/display/description-list-demo/demo5.md +62 -0
  352. package/docs/display/description-list-demo/demo6.md +46 -0
  353. package/docs/display/description-list.md +1 -0
  354. package/docs/display/empty-prompt-demo/demo1.md +25 -0
  355. package/docs/display/empty-prompt-demo/demo2.md +16 -0
  356. package/docs/display/empty-prompt-demo/demo3.md +67 -0
  357. package/docs/display/empty-prompt-demo/demo4.md +21 -0
  358. package/docs/display/empty-prompt-demo/demo5.md +33 -0
  359. package/docs/display/empty-prompt-demo/demo6.md +43 -0
  360. package/docs/display/empty-prompt-demo/demo7.md +162 -0
  361. package/docs/display/empty-prompt-demo/demo8.md +57 -0
  362. package/docs/display/empty-prompt.md +1 -0
  363. package/docs/display/health-demo/demo1.md +11 -8
  364. package/docs/display/health-demo/demo2.md +31 -0
  365. package/docs/display/health.md +9 -1
  366. package/docs/display/icons-demo/demo1.md +270 -57
  367. package/docs/display/icons-demo/demo2.md +76 -0
  368. package/docs/display/icons-demo/demo3.md +76 -0
  369. package/docs/display/icons-demo/demo4.md +104 -0
  370. package/docs/display/icons-demo/demo5.md +64 -0
  371. package/docs/display/icons-demo/demo6.md +63 -0
  372. package/docs/display/icons-demo/demo7.md +101 -0
  373. package/docs/display/icons-demo/demo8.md +47 -0
  374. package/docs/display/icons.md +1 -1
  375. package/docs/display/image-demo/demo1.md +15 -50
  376. package/docs/display/image-demo/demo2.md +35 -0
  377. package/docs/display/image-demo/demo3.md +75 -0
  378. package/docs/display/image-demo/demo4.md +80 -0
  379. package/docs/display/image.md +9 -1
  380. package/docs/display/list-group.md +1 -1
  381. package/docs/display/loading/logo-demo/demo1.md +15 -0
  382. package/docs/display/loading/logo.md +1 -0
  383. package/docs/display/progress-demo/demo1.md +10 -5
  384. package/docs/display/progress-demo/demo2.md +11 -26
  385. package/docs/display/progress-demo/demo3.md +27 -0
  386. package/docs/display/progress-demo/demo4.md +77 -0
  387. package/docs/display/progress.md +1 -1
  388. package/docs/display/stat-demo/demo1.md +0 -118
  389. package/docs/display/stat-demo/demo2.md +24 -22
  390. package/docs/display/stat-demo/demo3.md +39 -0
  391. package/docs/display/stat-demo/demo4.md +50 -0
  392. package/docs/display/stat-demo/demo5.md +25 -0
  393. package/docs/display/stat-demo/demo6.md +40 -0
  394. package/docs/display/stat-demo/demo7.md +84 -0
  395. package/docs/display/stat.md +8 -1
  396. package/docs/display/text-demo/demo1.md +79 -130
  397. package/docs/display/text-demo/demo2.md +71 -0
  398. package/docs/display/text-demo/demo3.md +39 -0
  399. package/docs/display/text.md +12 -1
  400. package/docs/display/title-demo/demo1.md +50 -26
  401. package/docs/display/title.md +1 -1
  402. package/docs/display/tool-tip-demo/demo1.md +26 -71
  403. package/docs/display/tool-tip-demo/demo2.md +33 -30
  404. package/docs/display/tool-tip-demo/demo3.md +50 -0
  405. package/docs/display/tool-tip-demo/demo4.md +74 -0
  406. package/docs/display/tool-tip.md +11 -1
  407. package/docs/editors/code/code-block-demo/demo1.md +21 -40
  408. package/docs/editors/code/code-block-demo/demo2.md +35 -0
  409. package/docs/editors/code/code-block-demo/demo3.md +43 -0
  410. package/docs/editors/code/code-block-demo/demo4.md +28 -0
  411. package/docs/editors/code/code-block-demo/demo5.md +42 -0
  412. package/docs/editors/code/code-block-demo/demo6.md +42 -0
  413. package/docs/editors/code/code-block-demo/demo7.md +853 -0
  414. package/docs/editors/code/code-block-demo/demo8.md +855 -0
  415. package/docs/editors/code/code-block.md +21 -1
  416. package/docs/editors/code/inline-demo/demo1.md +6 -3
  417. package/docs/editors/code/inline.md +1 -1
  418. package/docs/editors/markdown-editor/base-editor-demo/demo1.md +9 -28
  419. package/docs/editors/markdown-editor/base-editor.md +1 -1
  420. package/docs/forms/form-controls/checkbox/demo/demo1.md +49 -0
  421. package/docs/forms/form-controls/checkbox/index.md +26 -0
  422. package/docs/forms/form-controls/{checkbox-group-demo → checkbox-group/demo}/demo1.md +4 -13
  423. package/docs/forms/form-controls/checkbox-group/index.md +27 -0
  424. package/docs/forms/form-controls/{combo-box-demo → combo-box/demo}/demo1.md +8 -2
  425. package/docs/forms/form-controls/{combo-box-demo → combo-box/demo}/demo2.md +10 -8
  426. package/docs/forms/form-controls/combo-box/demo/demo3.md +60 -0
  427. package/docs/forms/form-controls/{combo-box-demo/demo3.md → combo-box/demo/demo4.md} +17 -14
  428. package/docs/forms/form-controls/combo-box/demo/demo5.md +151 -0
  429. package/docs/forms/form-controls/combo-box/index.md +6 -0
  430. package/docs/forms/form-controls/file-picker/demo/demo1.md +29 -0
  431. package/docs/forms/form-controls/file-picker/demo/demo2.md +44 -0
  432. package/docs/forms/form-controls/file-picker/demo/demo3.md +45 -0
  433. package/docs/forms/form-controls/file-picker/demo/demo4.md +63 -0
  434. package/docs/forms/form-controls/file-picker/index.md +22 -0
  435. package/docs/forms/form-controls/{form-control-layout-demo → form-control-layout/demo}/demo1.md +0 -0
  436. package/docs/forms/form-controls/form-control-layout/index.md +30 -0
  437. package/docs/forms/form-controls/{form-control-layout-delimited-demo → form-control-layout-delimited/demo}/demo1.md +41 -37
  438. package/docs/forms/form-controls/form-control-layout-delimited/index.md +24 -0
  439. package/docs/forms/form-controls/number-field/demo/demo1.md +20 -0
  440. package/docs/forms/form-controls/{number-field-demo/demo1.md → number-field/demo/demo2.md} +23 -11
  441. package/docs/forms/form-controls/number-field/index.md +12 -0
  442. package/docs/forms/form-controls/password-field/demo/demo1.md +19 -0
  443. package/docs/forms/form-controls/{password-field-demo/demo1.md → password-field/demo/demo2.md} +12 -8
  444. package/docs/forms/form-controls/password-field/index.md +19 -0
  445. package/docs/forms/form-controls/radio/demo/demo1.md +43 -0
  446. package/docs/forms/form-controls/radio/index.md +24 -0
  447. package/docs/forms/form-controls/radio-group/demo/demo1.md +50 -0
  448. package/docs/forms/form-controls/radio-group/index.md +18 -0
  449. package/docs/forms/form-controls/range/demo/demo1.md +96 -0
  450. package/docs/forms/form-controls/range/demo/demo2.md +62 -0
  451. package/docs/forms/form-controls/{range-demo → range/demo}/demo3.md +10 -12
  452. package/docs/forms/form-controls/{range-demo → range/demo}/demo4.md +16 -18
  453. package/docs/forms/form-controls/{range-demo → range/demo}/demo5.md +18 -20
  454. package/docs/forms/form-controls/range/demo/demo6.md +57 -0
  455. package/docs/forms/form-controls/range/demo/demo7.md +350 -0
  456. package/docs/forms/form-controls/range/index.md +18 -0
  457. package/docs/forms/form-controls/search-field/demo/demo1.md +29 -0
  458. package/docs/forms/form-controls/search-field/index.md +14 -0
  459. package/docs/forms/form-controls/select/demo/demo1.md +29 -0
  460. package/docs/forms/form-controls/select/demo/demo2.md +44 -0
  461. package/docs/forms/form-controls/{select-demo/demo1.md → select/demo/demo3.md} +20 -10
  462. package/docs/forms/form-controls/select/index.md +19 -0
  463. package/docs/forms/form-controls/{switch-demo → switch/demo}/demo1.md +10 -10
  464. package/docs/forms/form-controls/switch/index.md +13 -0
  465. package/docs/forms/form-controls/text-field/demo/demo1.md +35 -0
  466. package/docs/forms/form-controls/text-field/demo/demo2.md +40 -0
  467. package/docs/forms/form-controls/{text-field-demo/demo2.md → text-field/demo/demo3.md} +14 -17
  468. package/docs/forms/form-controls/{text-field-demo/demo1.md → text-field/demo/demo4.md} +18 -32
  469. package/docs/forms/form-controls/text-field/index.md +14 -0
  470. package/docs/forms/form-controls/textarea/demo/demo1.md +21 -0
  471. package/docs/forms/form-controls/textarea/demo/demo2.md +24 -0
  472. package/docs/forms/form-controls/textarea/index.md +13 -0
  473. package/docs/forms/form-layouts/described-form-groups-demo/demo1.md +13 -4
  474. package/docs/forms/form-layouts/described-form-groups.md +1 -1
  475. package/docs/layout/accordion-demo/demo1.md +21 -102
  476. package/docs/layout/accordion-demo/demo2.md +76 -0
  477. package/docs/layout/accordion-demo/demo3.md +25 -0
  478. package/docs/layout/accordion-demo/demo4.md +26 -0
  479. package/docs/layout/accordion-demo/demo5.md +65 -0
  480. package/docs/layout/accordion-demo/demo6.md +78 -0
  481. package/docs/layout/accordion-demo/demo7.md +66 -0
  482. package/docs/layout/accordion-demo/demo8.md +64 -0
  483. package/docs/layout/accordion-demo/demo9.md +114 -0
  484. package/docs/layout/accordion.md +39 -9
  485. package/docs/layout/bottom-bar-demo/demo1.md +32 -49
  486. package/docs/layout/bottom-bar-demo/demo2.md +54 -0
  487. package/docs/layout/bottom-bar-demo/demo3.md +81 -0
  488. package/docs/layout/bottom-bar.md +1 -1
  489. package/docs/layout/flex.md +1 -1
  490. package/docs/layout/flyout-demo/demo1.md +19 -11
  491. package/docs/layout/flyout-demo/demo2.md +43 -28
  492. package/docs/layout/flyout-demo/demo3.md +99 -0
  493. package/docs/layout/flyout-demo/demo4.md +115 -0
  494. package/docs/layout/flyout-demo/demo5.md +59 -0
  495. package/docs/layout/flyout-demo/demo6.md +57 -0
  496. package/docs/layout/flyout-demo/demo7.md +51 -0
  497. package/docs/layout/flyout.md +1 -1
  498. package/docs/layout/header-demo/demo1.md +284 -35
  499. package/docs/layout/header-demo/demo2.md +42 -0
  500. package/docs/layout/header-demo/demo3.md +48 -0
  501. package/docs/layout/header-demo/demo4.md +57 -0
  502. package/docs/layout/header-demo/demo5.md +232 -0
  503. package/docs/layout/header-demo/demo6.md +85 -0
  504. package/docs/layout/header-demo/demo7.md +94 -0
  505. package/docs/layout/header.md +1 -1
  506. package/docs/layout/horizontal-rule.md +1 -1
  507. package/docs/layout/modal-demo/demo1.md +64 -167
  508. package/docs/layout/modal-demo/demo2.md +126 -0
  509. package/docs/layout/modal-demo/demo3.md +55 -0
  510. package/docs/layout/modal-demo/demo4.md +65 -0
  511. package/docs/layout/modal-demo/demo5.md +96 -0
  512. package/docs/layout/modal.md +1 -1
  513. package/docs/layout/page-demo/demo1.md +96 -3
  514. package/docs/layout/page-demo/demo10.md +42 -0
  515. package/docs/layout/page-demo/demo2.md +46 -0
  516. package/docs/layout/page-demo/demo3.md +50 -0
  517. package/docs/layout/page-demo/demo4.md +38 -0
  518. package/docs/layout/page-demo/demo5.md +30 -0
  519. package/docs/layout/page-demo/demo6.md +51 -0
  520. package/docs/layout/page-demo/demo7.md +59 -0
  521. package/docs/layout/page-demo/demo8.md +19 -0
  522. package/docs/layout/page-demo/demo9.md +29 -0
  523. package/docs/layout/page.md +1 -1
  524. package/docs/layout/panel-demo/demo1.md +28 -19
  525. package/docs/layout/panel-demo/demo2.md +22 -0
  526. package/docs/layout/panel-demo/demo3.md +27 -0
  527. package/docs/layout/panel-demo/demo4.md +46 -0
  528. package/docs/layout/panel-demo/demo5.md +81 -0
  529. package/docs/layout/panel.md +7 -1
  530. package/docs/layout/popover-demo/demo1.md +42 -300
  531. package/docs/layout/popover-demo/demo10.md +72 -0
  532. package/docs/layout/popover-demo/demo2.md +306 -96
  533. package/docs/layout/popover-demo/demo3.md +20 -12
  534. package/docs/layout/popover-demo/demo4.md +118 -0
  535. package/docs/layout/popover-demo/demo5.md +252 -0
  536. package/docs/layout/popover-demo/demo6.md +44 -0
  537. package/docs/layout/popover-demo/demo7.md +44 -0
  538. package/docs/layout/popover-demo/demo8.md +50 -0
  539. package/docs/layout/popover-demo/demo9.md +80 -0
  540. package/docs/layout/popover.md +1 -1
  541. package/docs/navigation/breadcrumbs-demo/demo1.md +77 -0
  542. package/docs/navigation/breadcrumbs-demo/demo2.md +61 -0
  543. package/docs/navigation/breadcrumbs-demo/demo3.md +61 -0
  544. package/docs/navigation/breadcrumbs-demo/demo4.md +61 -0
  545. package/docs/navigation/breadcrumbs-demo/demo5.md +61 -0
  546. package/docs/navigation/breadcrumbs-demo/demo6.md +61 -0
  547. package/docs/navigation/breadcrumbs.md +1 -0
  548. package/docs/navigation/button-demo/demo1.md +210 -158
  549. package/docs/navigation/button.md +1 -1
  550. package/docs/navigation/collapsible-nav-demo/demo1.md +21 -44
  551. package/docs/navigation/collapsible-nav-demo/demo2.md +108 -0
  552. package/docs/navigation/collapsible-nav.md +1 -1
  553. package/docs/navigation/key-pad-menu-demo/demo1.md +77 -0
  554. package/docs/navigation/key-pad-menu-demo/demo2.md +102 -0
  555. package/docs/navigation/key-pad-menu-demo/demo3.md +54 -0
  556. package/docs/navigation/key-pad-menu-demo/demo4.md +71 -0
  557. package/docs/navigation/key-pad-menu-demo/demo5.md +65 -0
  558. package/docs/navigation/key-pad-menu.md +1 -0
  559. package/docs/navigation/link-demo/demo1.md +44 -0
  560. package/docs/navigation/link-demo/demo2.md +41 -0
  561. package/docs/navigation/link-demo/demo3.md +45 -0
  562. package/docs/navigation/link-demo/demo4.md +61 -0
  563. package/docs/navigation/link.md +1 -0
  564. package/docs/navigation/side-nav-demo/demo1.md +34 -18
  565. package/docs/navigation/side-nav.md +1 -1
  566. package/docs/navigation/steps-demo/demo1.md +16 -18
  567. package/docs/navigation/steps-demo/demo2.md +18 -21
  568. package/docs/navigation/steps-demo/demo3.md +12 -10
  569. package/docs/navigation/steps-demo/demo4.md +84 -0
  570. package/docs/navigation/steps-demo/demo5.md +29 -0
  571. package/docs/navigation/steps.md +1 -1
  572. package/docs/navigation/tabs-demo/demo1.md +38 -111
  573. package/docs/navigation/tabs-demo/demo2.md +56 -0
  574. package/docs/navigation/tabs-demo/demo3.md +79 -0
  575. package/docs/navigation/tabs-demo/demo4.md +102 -0
  576. package/docs/navigation/tabs.md +1 -1
  577. package/docs/utilities/auto-sizer-demo/demo1.md +34 -0
  578. package/docs/utilities/auto-sizer.md +1 -0
  579. package/docs/utilities/copy-demo/demo1.md +37 -0
  580. package/docs/utilities/copy-demo/demo2.md +70 -0
  581. package/docs/utilities/copy.md +1 -0
  582. package/docs/utilities/mutation-observer.md +1 -1
  583. package/docs/utilities/outside-click-detector.md +1 -1
  584. package/docs/utilities/overlay-mask.md +1 -1
  585. package/docs/utilities/portal.md +1 -1
  586. package/docs/utilities/resize-observer.md +1 -1
  587. package/docs/utilities/responsive-demo/demo1.md +108 -0
  588. package/docs/utilities/responsive.md +1 -0
  589. package/index.js +8 -3
  590. package/package.json +13 -7
  591. package/CHANGELOG.md +0 -1340
  592. package/addon/components/eui-code-block-impl/code-block-controls/index.hbs +0 -33
  593. package/addon/components/eui-code-block-impl/index.hbs +0 -111
  594. package/addon/components/eui-code-block-impl/index.ts +0 -121
  595. package/addon/components/eui-flyout-body/banner/index.hbs +0 -3
  596. package/addon/components/eui-flyout-body/content/index.hbs +0 -3
  597. package/addon/helpers/create-event.ts +0 -30
  598. package/addon/modifiers/focus-tab.ts +0 -19
  599. package/addon/modifiers/get-cursor-node.ts +0 -54
  600. package/addon/modifiers/invalidate-indeterminate.ts +0 -10
  601. package/addon/modifiers/on-event-simulate-event.ts +0 -32
  602. package/app/components/eui-card/eui-card-select/index.js +0 -1
  603. package/app/components/eui-flyout-body/banner/index.js +0 -1
  604. package/app/components/eui-flyout-body/content/index.js +0 -1
  605. package/app/helpers/create-event.js +0 -1
  606. package/app/modifiers/fixed-header.js +0 -1
  607. package/app/modifiers/focus-tab.js +0 -1
  608. package/app/modifiers/get-cursor-node.js +0 -1
  609. package/app/modifiers/invalidate-indeterminate.js +0 -1
  610. package/app/modifiers/on-event-simulate-event.js +0 -1
  611. package/docs/forms/form-controls/checkbox-demo/demo1.md +0 -40
  612. package/docs/forms/form-controls/checkbox-group.md +0 -1
  613. package/docs/forms/form-controls/checkbox.md +0 -1
  614. package/docs/forms/form-controls/combo-box.md +0 -1
  615. package/docs/forms/form-controls/file-picker-demo/demo1.md +0 -28
  616. package/docs/forms/form-controls/file-picker.md +0 -1
  617. package/docs/forms/form-controls/form-control-layout-delimited.md +0 -1
  618. package/docs/forms/form-controls/form-control-layout.md +0 -1
  619. package/docs/forms/form-controls/number-field.md +0 -1
  620. package/docs/forms/form-controls/password-field.md +0 -1
  621. package/docs/forms/form-controls/radio-demo/demo1.md +0 -39
  622. package/docs/forms/form-controls/radio-group-demo/demo1.md +0 -60
  623. package/docs/forms/form-controls/radio-group.md +0 -1
  624. package/docs/forms/form-controls/radio.md +0 -1
  625. package/docs/forms/form-controls/range-demo/demo1.md +0 -61
  626. package/docs/forms/form-controls/range-demo/demo2.md +0 -59
  627. package/docs/forms/form-controls/range-demo/demo6.md +0 -59
  628. package/docs/forms/form-controls/range.md +0 -1
  629. package/docs/forms/form-controls/search-field-demo/demo1.md +0 -31
  630. package/docs/forms/form-controls/search-field.md +0 -1
  631. package/docs/forms/form-controls/select.md +0 -1
  632. package/docs/forms/form-controls/switch.md +0 -1
  633. package/docs/forms/form-controls/text-field.md +0 -1
  634. package/docs/forms/form-controls/textarea-demo/demo1.md +0 -36
  635. package/docs/forms/form-controls/textarea.md +0 -1
@@ -0,0 +1,89 @@
1
+ import Component from '@glimmer/component';
2
+ import { EuiButtomBarArgs } from '../eui-bottom-bar';
3
+ // import { action } from '@ember/object';
4
+ // import { tracked } from '@glimmer/tracking';
5
+ // import {
6
+ // getTransitionTimings,
7
+ // getWaitDuration,
8
+ // performOnFrame
9
+ // } from '../../utils/transition';
10
+ // import { findPopoverPosition, getElementZIndex } from '../../utils/popover';
11
+ // import { EuiPopoverPosition } from '../../utils/popover/types';
12
+ // import { cascadingMenuKeys } from '../../utils/accesibility';
13
+ import { argOrDefaultDecorator as argOrDefault } from '../../helpers/arg-or-default';
14
+ // import { tabbable } from 'tabbable';
15
+ // import {
16
+ // anchorPositionMapping,
17
+ // displayMapping
18
+ // } from '../../utils/css-mappings/eui-popover';
19
+ // import { paddingSizeMapping } from '../../utils/css-mappings/eui-panel';
20
+ // import { scheduleOnce, later, cancel } from '@ember/runloop';
21
+ // import { assert } from '@ember/debug';
22
+ // import { htmlSafe } from '@ember/template';
23
+
24
+ export const TEMPLATES = [
25
+ 'default',
26
+ 'centeredBody',
27
+ 'centeredContent',
28
+ 'empty'
29
+ ] as const;
30
+
31
+ export type EuiPageTemplateProps = {
32
+ template?: typeof TEMPLATES[number];
33
+ /**
34
+ // * Gets passed along to the #EuiBottomBar component if `bottomBar` has contents
35
+ // */
36
+ bottomBarProps?: EuiButtomBarArgs;
37
+ // * Stretches or restricts the height to 100% of the parent;
38
+ // * `true`: scrolls the EuiPageContentBody;
39
+ // * `noscroll`: removes all scroll ability;
40
+ // * Only works when `template = 'default | empty'` and breakpoint is `m` and above
41
+ // */
42
+ fullHeight?: boolean;
43
+ /**
44
+ * Minimum height in which to enforce scrolling
45
+ */
46
+ minHeight?: number;
47
+ };
48
+
49
+ export default class EuiPageTemplate extends Component<EuiPageTemplateProps> {
50
+ // Defaults
51
+ @argOrDefault(460) minHeight!: number;
52
+ @argOrDefault(false) fullHeight!: boolean;
53
+ @argOrDefault('l') paddingSize!: string;
54
+ @argOrDefault('default') template!: typeof TEMPLATES[number];
55
+
56
+ get classes() {
57
+ return 'euiPageTemplate '.concat(this.fullHeightClass);
58
+ }
59
+
60
+ get fullHeightClass() {
61
+ return this.fullHeight && this.canFullHeight ? 'eui-fullHeight ' : '';
62
+ }
63
+
64
+ get yScrollClass() {
65
+ return this.fullHeight && this.canFullHeight ? 'eui-yScroll ' : '';
66
+ }
67
+
68
+ get canFullHeight() {
69
+ return this.template === 'default' || this.template === 'empty';
70
+ }
71
+
72
+ get pageBodyProps() {
73
+ return this.fullHeightClass;
74
+ // ...pageBodyProps,
75
+ // className: classNames(fullHeightClass, pageBodyProps?.className),
76
+ }
77
+
78
+ get pageContentProps() {
79
+ return this.yScrollClass;
80
+ // ...pageContentProps,
81
+ // className: classNames(yScrollClass, pageContentProps?.className),
82
+ }
83
+
84
+ get pageContentBodyProps() {
85
+ return this.fullHeightClass;
86
+ // ...pageContentBodyProps,
87
+ //className: classNames(fullHeightClass, pageContentBodyProps?.className),
88
+ }
89
+ }
@@ -1,13 +1,59 @@
1
- <div
2
- class={{class-names
3
- (if (not-eq @hasShadow false) "euiPanel--shadow")
4
- (if (eq @grow false) "euiPanel--flexGrowZero")
5
- componentName="EuiPanel"
6
- paddingSize=(arg-or-default @paddingSize "m")
7
- borderRadius=(arg-or-default @borderRadius "m")
8
- color=(arg-or-default @color "plain")
1
+ {{#let
2
+ (arg-or-default @hasShadow true)
3
+ (arg-or-default @color "plain")
4
+ (arg-or-default @grow true)
5
+ as |hasShadow color grow|
6
+ }}
7
+ {{#let
8
+ (eq color "plain")
9
+ (or (eq color "plain") (eq color "transparent"))
10
+ as |canHaveShadow canHaveBorder|
9
11
  }}
10
- ...attributes
11
- >
12
- {{yield}}
13
- </div>
12
+ {{#if @onClick}}
13
+ <div
14
+ role="button"
15
+ class={{class-names
16
+ (if (arg-or-default @isClickable true) "euiPanel--isClickable")
17
+ (if (and canHaveShadow (eq hasShadow true)) "euiPanel--hasShadow")
18
+ (if
19
+ (and (not canHaveShadow) (eq hasShadow false)) "euiPanel--noShadow"
20
+ )
21
+ (if (and canHaveBorder (eq @hasBorder true)) "euiPanel--hasBorder")
22
+ (if
23
+ (and (not canHaveBorder) (eq @hasBorder false)) "euiPanel--noBorder"
24
+ )
25
+ (unless grow "euiPanel--flexGrowZero")
26
+ componentName="EuiPanel"
27
+ paddingSize=(arg-or-default @paddingSize "m")
28
+ borderRadius=(arg-or-default @borderRadius "m")
29
+ color=color
30
+ }}
31
+ {{on "click" @onClick}}
32
+ ...attributes
33
+ >
34
+ {{yield}}
35
+ </div>
36
+ {{else}}
37
+ <div
38
+ class={{class-names
39
+ (if (and canHaveShadow (eq hasShadow true)) "euiPanel--hasShadow")
40
+ (if
41
+ (and (not canHaveShadow) (eq hasShadow false)) "euiPanel--noShadow"
42
+ )
43
+ (if (and canHaveBorder (eq @hasBorder true)) "euiPanel--hasBorder")
44
+ (if
45
+ (and (not canHaveBorder) (eq @hasBorder false)) "euiPanel--noBorder"
46
+ )
47
+ (unless grow "euiPanel--flexGrowZero")
48
+ componentName="EuiPanel"
49
+ paddingSize=(arg-or-default @paddingSize "m")
50
+ borderRadius=(arg-or-default @borderRadius "m")
51
+ color=color
52
+ }}
53
+ ...attributes
54
+ >
55
+ {{yield}}
56
+ </div>
57
+ {{/if}}
58
+ {{/let}}
59
+ {{/let}}
@@ -10,11 +10,12 @@
10
10
  (if (or (not this.hasArrow) @attachToAnchor) "euiPopover__panel-noArrow")
11
11
  (if @attachToAnchor "euiPopover__panel-isAttached")
12
12
  @panelClasses
13
- ) as |descriptionId classes panelClasses|
13
+ )
14
+ as |descriptionId classes panelClasses|
14
15
  }}
15
16
  {{#if this.ownFocus}}
16
17
  <div
17
- class="{{if this.isOpening "euiPopover-isOpen"}} {{classes}}"
18
+ class="{{if this.isOpening 'euiPopover-isOpen'}} {{classes}}"
18
19
  ...attributes
19
20
  {{did-insert this.didInsertPopover}}
20
21
  {{did-insert (optional @popoverRef)}}
@@ -33,9 +34,9 @@
33
34
  )
34
35
  }}
35
36
  <EuiPortal @insert={{@insert}}>
37
+ {{! template-lint-disable no-positive-tabindex }}
36
38
  <EuiPanel
37
39
  class={{panelClasses}}
38
- tabindex={{if this.ownFocus "0"}}
39
40
  aria-live={{if this.ownFocus "off" "assertive"}}
40
41
  role="dialog"
41
42
  aria-label={{@ariaLabel}}
@@ -48,6 +49,7 @@
48
49
  {{did-insert this.registerPanel}}
49
50
  {{outside-click-detector onOutsideClick=this.onClickOutside}}
50
51
  {{on-key "Escape" this.onEscapeKey}}
52
+ tabindex={{this.tabindex}}
51
53
  {{focus-trap
52
54
  isActive=(not
53
55
  (or (not this.ownFocus) (not this.isOpenStable) this.isClosing)
@@ -77,6 +79,7 @@
77
79
  </p>
78
80
  {{/if}}
79
81
  <div
82
+ tabindex={{this.tabindex}}
80
83
  {{mutation-observer
81
84
  onMutation=this.onMutation
82
85
  observerOptions=(hash
@@ -106,7 +109,8 @@
106
109
  >
107
110
  {{yield to="button"}}
108
111
  </div>
109
- {{#if (and (not this.suppressingPopover) (or this.isOpen this.isClosing))
112
+ {{#if
113
+ (and (not this.suppressingPopover) (or this.isOpen this.isClosing))
110
114
  }}
111
115
  <EuiPortal @insert={{@insert}}>
112
116
  <EuiPanel
@@ -78,7 +78,7 @@ export type EuiPopoverArgs = {
78
78
  * document.querySelector() to find the DOM node), or a function that
79
79
  * returns a DOM node
80
80
  */
81
- initialFocus?: FocusTarget;
81
+ initialFocus?: FocusTarget | false;
82
82
  /**
83
83
  * Passed directly to EuiPortal for DOM positioning. Both properties are
84
84
  * required if prop is specified
@@ -147,6 +147,8 @@ export type EuiPopoverArgs = {
147
147
  * Usually takes the `id` of the popover title
148
148
  */
149
149
  'aria-labelledby'?: string;
150
+
151
+ tabindex?: string | number;
150
152
  };
151
153
 
152
154
  type AnchorPosition = 'up' | 'right' | 'down' | 'left';
@@ -234,7 +236,7 @@ type CssProps = {
234
236
  export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
235
237
  // Defaults
236
238
  @argOrDefault(false) isOpen!: boolean;
237
- @argOrDefault(false) ownFocus!: boolean;
239
+ @argOrDefault(true) ownFocus!: boolean;
238
240
  @argOrDefault('downCenter') anchorPosition!: PopoverAnchorPosition;
239
241
  @argOrDefault('m') panelPaddingSize!: PanelPaddingSize;
240
242
  @argOrDefault(true) hasArrow!: boolean;
@@ -257,6 +259,7 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
257
259
  private closingTransitionTimeout: ReturnType<typeof later> | null = null;
258
260
  private closingTransitionAnimationFrame: number | undefined;
259
261
  private updateFocusAnimationFrame: number | undefined;
262
+ private hasSetInitialFocus: boolean = false;
260
263
  @tracked button: HTMLElement | null = null;
261
264
  @tracked panel: HTMLElement | null = null;
262
265
 
@@ -287,7 +290,7 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
287
290
  @action
288
291
  onKeyDown(event: KeyboardEvent): void {
289
292
  if (event.key === cascadingMenuKeys.ESCAPE) {
290
- this.onEscapeKey((event as unknown) as Event);
293
+ this.onEscapeKey(event as unknown as Event);
291
294
  }
292
295
  }
293
296
 
@@ -303,12 +306,15 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
303
306
  updateFocus(): void {
304
307
  // Wait for the DOM to update.
305
308
  this.updateFocusAnimationFrame = window.requestAnimationFrame(() => {
306
- if (!this.ownFocus || !this.panel) {
309
+ if (!this.ownFocus || !this.panel || this.args.initialFocus === false) {
307
310
  return;
308
311
  }
309
312
 
310
313
  // If we've already focused on something inside the panel, everything's fine.
311
- if (this.panel.contains(document.activeElement)) {
314
+ if (
315
+ this.hasSetInitialFocus &&
316
+ this.panel.contains(document.activeElement)
317
+ ) {
312
318
  return;
313
319
  }
314
320
 
@@ -331,8 +337,8 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
331
337
  // there isn't a focus target, one of two reasons:
332
338
  // #1 is the whole panel hidden? If so, schedule another check
333
339
  // #2 panel is visible but no tabbables exist, move focus to the panel
334
- const panelVisibility = window.getComputedStyle(this.panel).visibility;
335
- if (panelVisibility === 'hidden') {
340
+ const panelVisibility = window.getComputedStyle(this.panel).opacity;
341
+ if (panelVisibility === '0') {
336
342
  // #1
337
343
  this.updateFocus();
338
344
  } else {
@@ -348,7 +354,10 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
348
354
  }
349
355
  }
350
356
 
351
- if (focusTarget != null) focusTarget.focus();
357
+ if (focusTarget != null) {
358
+ this.hasSetInitialFocus = true;
359
+ focusTarget.focus();
360
+ }
352
361
  });
353
362
  }
354
363
 
@@ -411,7 +420,7 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
411
420
  }
412
421
 
413
422
  if (this.args.repositionOnScroll) {
414
- window.addEventListener('scroll', this.positionPopoverFixed);
423
+ window.addEventListener('scroll', this.positionPopoverFixed, true);
415
424
  }
416
425
 
417
426
  this.updateFocus();
@@ -420,9 +429,9 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
420
429
  @action
421
430
  didUpdateRepositionOnScroll(): void {
422
431
  if (this.args.repositionOnScroll) {
423
- window.addEventListener('scroll', this.positionPopoverFixed);
432
+ window.addEventListener('scroll', this.positionPopoverFixed, true);
424
433
  } else {
425
- window.removeEventListener('scroll', this.positionPopoverFixed);
434
+ window.removeEventListener('scroll', this.positionPopoverFixed, true);
426
435
  }
427
436
  }
428
437
 
@@ -451,7 +460,7 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
451
460
 
452
461
  willDestroy(): void {
453
462
  super.willDestroy();
454
- window.removeEventListener('scroll', this.positionPopoverFixed);
463
+ window.removeEventListener('scroll', this.positionPopoverFixed, true);
455
464
  cancel(this.respositionTimeout as ReturnType<typeof later>);
456
465
  cancel(this.closingTransitionTimeout as ReturnType<typeof later>);
457
466
  cancelAnimationFrame(this.closingTransitionAnimationFrame as number);
@@ -552,6 +561,13 @@ export default class EuiPopoverComponent extends Component<EuiPopoverArgs> {
552
561
  };
553
562
  }
554
563
 
564
+ get tabindex() {
565
+ if (this.ownFocus) {
566
+ return this.args.tabindex ?? '0';
567
+ }
568
+ return '-1';
569
+ }
570
+
555
571
  @action
556
572
  positionPopoverFixed(): void {
557
573
  this.positionPopover(true);
@@ -13,7 +13,8 @@ export const insertPositions: InsertPositionsMap = {
13
13
  before: 'beforebegin'
14
14
  };
15
15
 
16
- export const INSERT_POSITIONS: EuiPortalInsertPosition[] = keysOf(insertPositions);
16
+ export const INSERT_POSITIONS: EuiPortalInsertPosition[] =
17
+ keysOf(insertPositions);
17
18
 
18
19
  type EuiPortalInsertPosition = keyof typeof insertPositions;
19
20
 
@@ -4,13 +4,13 @@
4
4
  class={{class-names
5
5
  (if (eq @size "l") "euiProgress__data--l")
6
6
  componentName="EuiProgressData"
7
- color=(arg-or-default @color "secondary")
7
+ color=(arg-or-default @color "success")
8
8
  }}
9
9
  >
10
10
  {{#if (has-block "label")}}
11
- <span class="euiProgress__label">
12
- {{yield to="label"}}
13
- </span>
11
+ <span class="euiProgress__label">
12
+ {{yield to="label"}}
13
+ </span>
14
14
  {{/if}}
15
15
  {{#if (or (has-block "valueText") @valueText)}}
16
16
  <span class="euiProgress__valueText {{@labelClasses}}">
@@ -27,24 +27,27 @@
27
27
  class={{class-names
28
28
  "euiProgress--native"
29
29
  componentName="EuiProgress"
30
- size=(arg-or-default @size 'm')
31
- position=(arg-or-default @position 'static')
32
- color=(arg-or-default @color 'secondary')
30
+ size=(arg-or-default @size "m")
31
+ position=(arg-or-default @position "static")
32
+ color=(arg-or-default @color "success")
33
33
  }}
34
34
  max={{@max}}
35
35
  value={{@value}}
36
- aria-hidden={{and (has-block "label") (or @valueText (has-block "valueText"))}}
36
+ aria-hidden={{and
37
+ (has-block "label")
38
+ (or @valueText (has-block "valueText"))
39
+ }}
37
40
  ...attributes
38
- />
41
+ ></progress>
39
42
  {{else}}
40
43
  <div
41
44
  class={{class-names
42
45
  "euiProgress--indeterminate"
43
46
  componentName="EuiProgress"
44
- size=(arg-or-default @size 'm')
45
- position=(arg-or-default @position 'static')
46
- color=(arg-or-default @color 'secondary')
47
+ size=(arg-or-default @size "m")
48
+ position=(arg-or-default @position "static")
49
+ color=(arg-or-default @color "success")
47
50
  }}
48
51
  ...attributes
49
- />
52
+ ></div>
50
53
  {{/if}}
@@ -1,13 +1,16 @@
1
1
  {{#let
2
2
  (and (has-block "label") (not (arg-or-default @isFakeLabelBlock false)))
3
- (arg-or-default @id (unique-id)) as |hasLabelBlock id|
3
+ (arg-or-default @id (unique-id))
4
+ as |hasLabelBlock id|
4
5
  }}
5
6
  {{#let
6
7
  (class-names
8
+ @containerClass
7
9
  (if (not (or hasLabelBlock @label)) "euiRadio--noLabel")
8
10
  (if @compressed "euiRadio--compressed")
9
11
  "euiRadio"
10
- ) as |classes|
12
+ )
13
+ as |classes|
11
14
  }}
12
15
  <div class={{classes}}>
13
16
  <input
@@ -22,7 +25,10 @@
22
25
  />
23
26
  <div class="euiRadio__circle"></div>
24
27
  {{#if (or hasLabelBlock @label)}}
25
- <label class="euiRadio__label" for={{id}}>
28
+ <label
29
+ class={{class-names "euiRadio__label" @labelProps.className}}
30
+ for={{id}}
31
+ >
26
32
  {{#if hasLabelBlock}}
27
33
  {{yield to="label"}}
28
34
  {{else}}
@@ -1,6 +1,6 @@
1
1
  {{#let
2
- (and (not (arg-or-default @isFakePrependBlock false)) (has-block "prepend"))
3
- (and (not (arg-or-default @isFakeAppendBlock false)) (has-block "append"))
2
+ (and (arg-or-default @isPrependProvided true) (has-block "prepend"))
3
+ (and (arg-or-default @isAppendProvided true) (has-block "append"))
4
4
  (and (not (arg-or-default @isFakeMaxBlock false)) (has-block "max"))
5
5
  (and (not (arg-or-default @isFakeMinBlock false)) (has-block "min"))
6
6
  (and (not (arg-or-default @isFakeValueBlock false)) (has-block "value"))
@@ -38,8 +38,8 @@
38
38
  @isLoading={{and @showInputOnly @isLoading}}
39
39
  @isInvalid={{@isInvalid}}
40
40
  @autoSize={{not this.showInputOnly}}
41
- @isFakePrependBlock={{hasPrepend}}
42
- @isFakeAppendBlock={{hasAppend}}
41
+ @isPrependProvided={{hasPrepend}}
42
+ @isAppendProvided={{hasAppend}}
43
43
  ...attributes
44
44
  {{on
45
45
  "focus"
@@ -61,7 +61,10 @@
61
61
  </:input>
62
62
  <:content>
63
63
  <EuiRangeWrapper
64
- class="euiRange"
64
+ class={{class-names
65
+ "euiRange"
66
+ (if this.showInput "euiRange--hasInput")
67
+ }}
65
68
  @fullWidth={{@fullWidth}}
66
69
  @compressed={{@compressed}}
67
70
  >
@@ -191,6 +194,8 @@
191
194
  @isLoading={{and @showInputOnly @isLoading}}
192
195
  @isInvalid={{@isInvalid}}
193
196
  @autoSize={{not this.showInputOnly}}
197
+ @isPrependProvided={{hasPrepend}}
198
+ @isAppendProvided={{hasAppend}}
194
199
  ...attributes
195
200
  {{on
196
201
  "focus"
@@ -203,7 +208,14 @@
203
208
  (if this.canShowDropdown this.onInputBlur (optional @onBlur))
204
209
  }}
205
210
  {{on "input" this.handleOnChange}}
206
- />
211
+ >
212
+ <:prepend as |classes|>
213
+ {{yield classes to="prepend"}}
214
+ </:prepend>
215
+ <:append as |classes|>
216
+ {{yield classes to="append"}}
217
+ </:append>
218
+ </EuiRangeInput>
207
219
  {{/if}}
208
220
  {{/if}}
209
221
  </EuiRangeWrapper>
@@ -211,7 +223,10 @@
211
223
  </EuiInputPopover>
212
224
  {{else}}
213
225
  <EuiRangeWrapper
214
- class="euiRange"
226
+ class={{class-names
227
+ "euiRange"
228
+ (if this.showInput "euiRange--hasInput")
229
+ }}
215
230
  @fullWidth={{@fullWidth}}
216
231
  @compressed={{@compressed}}
217
232
  >
@@ -337,8 +352,8 @@
337
352
  @isLoading={{and @showInputOnly @isLoading}}
338
353
  @isInvalid={{@isInvalid}}
339
354
  @autoSize={{not this.showInputOnly}}
340
- @isFakePrependBlock={{hasPrepend}}
341
- @isFakeAppendBlock={{hasAppend}}
355
+ @isPrependProvided={{hasPrepend}}
356
+ @isAppendProvided={{hasAppend}}
342
357
  ...attributes
343
358
  {{on
344
359
  "focus"
@@ -349,9 +364,16 @@
349
364
  (if this.canShowDropdown this.onInputBlur (optional @onBlur))
350
365
  }}
351
366
  {{on "input" this.handleOnChange}}
352
- />
367
+ >
368
+ <:prepend as |classes|>
369
+ {{yield classes to="prepend"}}
370
+ </:prepend>
371
+ <:append as |classes|>
372
+ {{yield classes to="append"}}
373
+ </:append>
374
+ </EuiRangeInput>
353
375
  {{/if}}
354
376
  {{/if}}
355
377
  </EuiRangeWrapper>
356
378
  {{/if}}
357
- {{/let}}
379
+ {{/let}}
@@ -3,15 +3,14 @@ import { action } from '@ember/object';
3
3
  import { tracked } from '@glimmer/tracking';
4
4
  import { uniqueId } from '../../helpers/unique-id';
5
5
  import { isWithinRange } from '../../utils/number';
6
- import { CommonArgs } from '../common';
7
6
  import { EuiRangeInputArgs } from '../eui-range-input/types';
8
7
  import { EuiRangeLevel } from '../eui-range-levels';
9
8
  import { EuiRangeTick } from '../eui-range-ticks';
10
9
  import { argOrDefaultDecorator as argOrDefault } from '../../helpers/arg-or-default';
11
10
  import { later } from '@ember/runloop';
11
+
12
12
  export interface EuiRangeArgs
13
- extends CommonArgs,
14
- Omit<EuiRangeInputArgs, 'onChange' | 'digitTolerance'> {
13
+ extends Omit<EuiRangeInputArgs, 'onChange' | 'digitTolerance'> {
15
14
  compressed?: boolean;
16
15
  readOnly?: boolean;
17
16
  fullWidth?: boolean;
@@ -111,7 +110,11 @@ export default class EuiRangeComponent extends Component<EuiRangeArgs> {
111
110
  }
112
111
 
113
112
  get showRangeTooltip(): boolean {
114
- return this.showValue && !!String(this.args.value).length && this.args.value !== undefined;
113
+ return (
114
+ this.showValue &&
115
+ !!String(this.args.value).length &&
116
+ this.args.value !== undefined
117
+ );
115
118
  }
116
119
 
117
120
  @action
@@ -1,32 +1,38 @@
1
- <EuiFieldNumber
2
- class="euiRangeInput euiRangeInput--{{arg-or-default @side "max"}}"
3
- name={{@name}}
4
- min={{cast-to @min to="number"}}
5
- max={{cast-to @max to="number"}}
6
- @step={{@step}}
7
- @value={{if (eq @value "") "" (cast-to @value to="number")}}
8
- @disabled={{@disabled}}
9
- @compressed={{@compressed}}
10
- @fullWidth={{@fullWidth}}
11
- @controlOnly={{@controlOnly}}
12
- @isFakeAppendBlock={{@isFakeAppendBlock}}
13
- @isFakePrependBlock={{@isFakePrependBlock}}
14
- @isInvalid={{@isInvalid}}
15
- @disable={{@disable}}
16
- ...attributes
17
- {{simple-style
18
- (inline-styles
19
- componentName="EuiRangeInput"
20
- componentArgs=(hash
21
- autoSize=(arg-or-default @autoSize true) digitTolerance=@digitTolerance
1
+ {{#let
2
+ (and (arg-or-default @isPrependProvided true) (has-block "prepend"))
3
+ (and (arg-or-default @isAppendProvided true) (has-block "append"))
4
+ as |hasAppend hasPrepend|
5
+ }}
6
+ <EuiFieldNumber
7
+ class="euiRangeInput euiRangeInput--{{arg-or-default @side "max"}}"
8
+ name={{@name}}
9
+ min={{cast-to @min to="number"}}
10
+ max={{cast-to @max to="number"}}
11
+ @step={{@step}}
12
+ @value={{if (eq @value "") "" (cast-to @value to="number")}}
13
+ @disabled={{@disabled}}
14
+ @compressed={{@compressed}}
15
+ @fullWidth={{@fullWidth}}
16
+ @controlOnly={{@controlOnly}}
17
+ @isPrependProvided={{hasAppend}}
18
+ @isAppendProvided={{hasPrepend}}
19
+ @isInvalid={{@isInvalid}}
20
+ @disable={{@disable}}
21
+ ...attributes
22
+ {{simple-style
23
+ (inline-styles
24
+ componentName="EuiRangeInput"
25
+ componentArgs=(hash
26
+ autoSize=(arg-or-default @autoSize true) digitTolerance=@digitTolerance
27
+ )
22
28
  )
23
- )
24
- }}
25
- >
26
- <:prepend as |classes|>
27
- {{yield classes to="prepend"}}
28
- </:prepend>
29
- <:append as |classes|>
30
- {{yield classes to="append"}}
31
- </:append>
32
- </EuiFieldNumber>
29
+ }}
30
+ >
31
+ <:prepend as |classes|>
32
+ {{yield classes to="prepend"}}
33
+ </:prepend>
34
+ <:append as |classes|>
35
+ {{yield classes to="append"}}
36
+ </:append>
37
+ </EuiFieldNumber>
38
+ {{/let}}
@@ -1,6 +1,7 @@
1
1
  import { EuiFieldNumberArgs } from '../eui-field-number/types';
2
2
 
3
- export interface EuiRangeInputArgs extends Omit<EuiFieldNumberArgs, 'max' | 'min' | 'value'> {
3
+ export interface EuiRangeInputArgs
4
+ extends Omit<EuiFieldNumberArgs, 'max' | 'min' | 'value'> {
4
5
  autoSize?: boolean;
5
6
  digitTolerance: number;
6
7
  max: number;
@@ -2,7 +2,7 @@
2
2
  class={{class-names
3
3
  "euiRangeLevels"
4
4
  (if @showTicks "euiRangeLevels--hasTicks")
5
- (if @compresses "euiRangeLevels--compressed")
5
+ (if @compressed "euiRangeLevels--compressed")
6
6
  }}
7
7
  {{did-insert this.validateLevels}}
8
8
  {{did-update this.validateLevels @levels}}
@@ -14,9 +14,9 @@
14
14
  class="euiRangeLevel euiRangeLevel--{{level.color}}"
15
15
  {{simple-style
16
16
  (inline-styles
17
- componentName="EuiRangeLevels" componentArgs=(hash level=level max=@max min=@min)
17
+ componentName="EuiRangeLevels" componentArgs=(hash level=level max=@max min=@min trackWidth=@trackWidth)
18
18
  )
19
19
  }}
20
20
  ></span>
21
21
  {{/each}}
22
- </div>
22
+ </div>