@ember-eui/core 14.1.3 → 15.0.0

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 (502) hide show
  1. package/README.md +3 -3
  2. package/declarations/-private/basic-table.d.ts +366 -0
  3. package/declarations/-private/basic-table.d.ts.map +1 -0
  4. package/declarations/-private/eui-apply-props.d.ts +37 -0
  5. package/declarations/-private/eui-apply-props.d.ts.map +1 -0
  6. package/declarations/-private/eui-button-context.d.ts +65 -0
  7. package/declarations/-private/eui-button-context.d.ts.map +1 -0
  8. package/declarations/-private/eui-button-group-item.d.ts +17 -0
  9. package/declarations/-private/eui-button-group-item.d.ts.map +1 -0
  10. package/declarations/-private/eui-comment-item.d.ts +72 -0
  11. package/declarations/-private/eui-comment-item.d.ts.map +1 -0
  12. package/declarations/-private/eui-context-menu-entry.d.ts +18 -0
  13. package/declarations/-private/eui-context-menu-entry.d.ts.map +1 -0
  14. package/declarations/-private/eui-disabled-element.d.ts +24 -0
  15. package/declarations/-private/eui-disabled-element.d.ts.map +1 -0
  16. package/declarations/-private/eui-filter-group-context.d.ts +18 -0
  17. package/declarations/-private/eui-filter-group-context.d.ts.map +1 -0
  18. package/declarations/-private/eui-flyout-context.d.ts +32 -0
  19. package/declarations/-private/eui-flyout-context.d.ts.map +1 -0
  20. package/declarations/-private/eui-form-context.d.ts +18 -0
  21. package/declarations/-private/eui-form-context.d.ts.map +1 -0
  22. package/declarations/-private/eui-form-control-layout-context.d.ts +22 -0
  23. package/declarations/-private/eui-form-control-layout-context.d.ts.map +1 -0
  24. package/declarations/-private/eui-list-context.d.ts +42 -0
  25. package/declarations/-private/eui-list-context.d.ts.map +1 -0
  26. package/declarations/-private/eui-maybe-popover.d.ts +26 -0
  27. package/declarations/-private/eui-maybe-popover.d.ts.map +1 -0
  28. package/declarations/-private/eui-maybe-tool-tip.d.ts +29 -0
  29. package/declarations/-private/eui-maybe-tool-tip.d.ts.map +1 -0
  30. package/declarations/-private/eui-node.d.ts +19 -0
  31. package/declarations/-private/eui-node.d.ts.map +1 -0
  32. package/declarations/-private/eui-popover-panel-context.d.ts +19 -0
  33. package/declarations/-private/eui-popover-panel-context.d.ts.map +1 -0
  34. package/declarations/-private/eui-render-node.d.ts +19 -0
  35. package/declarations/-private/eui-render-node.d.ts.map +1 -0
  36. package/declarations/-private/eui-split-button-context.d.ts +23 -0
  37. package/declarations/-private/eui-split-button-context.d.ts.map +1 -0
  38. package/declarations/-private/eui-split-panel-context.d.ts +22 -0
  39. package/declarations/-private/eui-split-panel-context.d.ts.map +1 -0
  40. package/declarations/-private/eui-spread-attributes.d.ts +17 -0
  41. package/declarations/-private/eui-spread-attributes.d.ts.map +1 -0
  42. package/declarations/-private/eui-steps-context.d.ts +18 -0
  43. package/declarations/-private/eui-steps-context.d.ts.map +1 -0
  44. package/declarations/-private/eui-steps-horizontal-context.d.ts +15 -0
  45. package/declarations/-private/eui-steps-horizontal-context.d.ts.map +1 -0
  46. package/declarations/-private/eui-tabs-context.d.ts +16 -0
  47. package/declarations/-private/eui-tabs-context.d.ts.map +1 -0
  48. package/declarations/-private/eui-tour-parts.d.ts +28 -0
  49. package/declarations/-private/eui-tour-parts.d.ts.map +1 -0
  50. package/declarations/-private/focus-trap-effects.d.ts +14 -0
  51. package/declarations/-private/focus-trap-effects.d.ts.map +1 -0
  52. package/declarations/-private/focus-trap-registry.d.ts +20 -0
  53. package/declarations/-private/focus-trap-registry.d.ts.map +1 -0
  54. package/declarations/-private/live-text.d.ts +18 -0
  55. package/declarations/-private/live-text.d.ts.map +1 -0
  56. package/declarations/-private/next-frame.d.ts +7 -0
  57. package/declarations/-private/next-frame.d.ts.map +1 -0
  58. package/declarations/-private/removed-upstream.d.ts +12 -0
  59. package/declarations/-private/removed-upstream.d.ts.map +1 -0
  60. package/declarations/-private/search-bar.d.ts +85 -0
  61. package/declarations/-private/search-bar.d.ts.map +1 -0
  62. package/declarations/-private/table-node.d.ts +25 -0
  63. package/declarations/-private/table-node.d.ts.map +1 -0
  64. package/declarations/-private/table-pagination-defaults.d.ts +19 -0
  65. package/declarations/-private/table-pagination-defaults.d.ts.map +1 -0
  66. package/declarations/-private/tabular-copy-marker.d.ts +17 -0
  67. package/declarations/-private/tabular-copy-marker.d.ts.map +1 -0
  68. package/declarations/-private/unused-after-borealis.d.ts +12 -0
  69. package/declarations/-private/unused-after-borealis.d.ts.map +1 -0
  70. package/declarations/-private/value-modifier.d.ts +17 -0
  71. package/declarations/-private/value-modifier.d.ts.map +1 -0
  72. package/declarations/-private/window-resize.d.ts +10 -0
  73. package/declarations/-private/window-resize.d.ts.map +1 -0
  74. package/declarations/components/eui-accordion.d.ts.map +1 -1
  75. package/declarations/components/eui-auto-refresh-button.d.ts +73 -0
  76. package/declarations/components/eui-auto-refresh-button.d.ts.map +1 -0
  77. package/declarations/components/eui-auto-refresh.d.ts +73 -0
  78. package/declarations/components/eui-auto-refresh.d.ts.map +1 -0
  79. package/declarations/components/eui-banner.d.ts +132 -0
  80. package/declarations/components/eui-banner.d.ts.map +1 -0
  81. package/declarations/components/eui-basic-table/collapsed-item-actions.d.ts +40 -0
  82. package/declarations/components/eui-basic-table/collapsed-item-actions.d.ts.map +1 -0
  83. package/declarations/components/eui-basic-table/default-item-action.d.ts +28 -0
  84. package/declarations/components/eui-basic-table/default-item-action.d.ts.map +1 -0
  85. package/declarations/components/eui-basic-table/expanded-item-actions.d.ts +25 -0
  86. package/declarations/components/eui-basic-table/expanded-item-actions.d.ts.map +1 -0
  87. package/declarations/components/eui-basic-table/pagination-bar.d.ts +47 -0
  88. package/declarations/components/eui-basic-table/pagination-bar.d.ts.map +1 -0
  89. package/declarations/components/eui-basic-table-panel.d.ts +43 -0
  90. package/declarations/components/eui-basic-table-panel.d.ts.map +1 -0
  91. package/declarations/components/eui-basic-table.d.ts +264 -0
  92. package/declarations/components/eui-basic-table.d.ts.map +1 -0
  93. package/declarations/components/eui-button.d.ts.map +1 -1
  94. package/declarations/components/eui-card.d.ts.map +1 -1
  95. package/declarations/components/eui-code-block/annotation.d.ts +41 -0
  96. package/declarations/components/eui-code-block/annotation.d.ts.map +1 -0
  97. package/declarations/components/eui-collapsible-nav-group.d.ts.map +1 -1
  98. package/declarations/components/eui-combo-box/node.d.ts +21 -0
  99. package/declarations/components/eui-combo-box/node.d.ts.map +1 -0
  100. package/declarations/components/eui-combo-box/option-text.d.ts +37 -0
  101. package/declarations/components/eui-combo-box/option-text.d.ts.map +1 -0
  102. package/declarations/components/eui-container-query.d.ts +44 -0
  103. package/declarations/components/eui-container-query.d.ts.map +1 -0
  104. package/declarations/components/eui-data-grid/body-base.d.ts +66 -0
  105. package/declarations/components/eui-data-grid/body-base.d.ts.map +1 -0
  106. package/declarations/components/eui-data-grid/body.d.ts +215 -0
  107. package/declarations/components/eui-data-grid/body.d.ts.map +1 -0
  108. package/declarations/components/eui-data-grid/cell-actions.d.ts +78 -0
  109. package/declarations/components/eui-data-grid/cell-actions.d.ts.map +1 -0
  110. package/declarations/components/eui-data-grid/cell.d.ts +220 -0
  111. package/declarations/components/eui-data-grid/cell.d.ts.map +1 -0
  112. package/declarations/components/eui-data-grid/column-actions.d.ts +61 -0
  113. package/declarations/components/eui-data-grid/column-actions.d.ts.map +1 -0
  114. package/declarations/components/eui-data-grid/column-resizer.d.ts +22 -0
  115. package/declarations/components/eui-data-grid/column-resizer.d.ts.map +1 -0
  116. package/declarations/components/eui-data-grid/column-selector.d.ts +47 -0
  117. package/declarations/components/eui-data-grid/column-selector.d.ts.map +1 -0
  118. package/declarations/components/eui-data-grid/column-sorting.d.ts +61 -0
  119. package/declarations/components/eui-data-grid/column-sorting.d.ts.map +1 -0
  120. package/declarations/components/eui-data-grid/copy-marker.d.ts +16 -0
  121. package/declarations/components/eui-data-grid/copy-marker.d.ts.map +1 -0
  122. package/declarations/components/eui-data-grid/custom-body.d.ts +113 -0
  123. package/declarations/components/eui-data-grid/custom-body.d.ts.map +1 -0
  124. package/declarations/components/eui-data-grid/default-cell-popover.d.ts +23 -0
  125. package/declarations/components/eui-data-grid/default-cell-popover.d.ts.map +1 -0
  126. package/declarations/components/eui-data-grid/display-selector.d.ts +56 -0
  127. package/declarations/components/eui-data-grid/display-selector.d.ts.map +1 -0
  128. package/declarations/components/eui-data-grid/footer-row.d.ts +21 -0
  129. package/declarations/components/eui-data-grid/footer-row.d.ts.map +1 -0
  130. package/declarations/components/eui-data-grid/fullscreen-selector.d.ts +14 -0
  131. package/declarations/components/eui-data-grid/fullscreen-selector.d.ts.map +1 -0
  132. package/declarations/components/eui-data-grid/header-cell.d.ts +159 -0
  133. package/declarations/components/eui-data-grid/header-cell.d.ts.map +1 -0
  134. package/declarations/components/eui-data-grid/header-row.d.ts +91 -0
  135. package/declarations/components/eui-data-grid/header-row.d.ts.map +1 -0
  136. package/declarations/components/eui-data-grid/in-memory-renderer.d.ts +46 -0
  137. package/declarations/components/eui-data-grid/in-memory-renderer.d.ts.map +1 -0
  138. package/declarations/components/eui-data-grid/keyboard-shortcuts.d.ts +24 -0
  139. package/declarations/components/eui-data-grid/keyboard-shortcuts.d.ts.map +1 -0
  140. package/declarations/components/eui-data-grid/pagination.d.ts +31 -0
  141. package/declarations/components/eui-data-grid/pagination.d.ts.map +1 -0
  142. package/declarations/components/eui-data-grid/row-model.d.ts +81 -0
  143. package/declarations/components/eui-data-grid/row-model.d.ts.map +1 -0
  144. package/declarations/components/eui-data-grid/row-tree-hooks.d.ts +65 -0
  145. package/declarations/components/eui-data-grid/row-tree-hooks.d.ts.map +1 -0
  146. package/declarations/components/eui-data-grid/row.d.ts +26 -0
  147. package/declarations/components/eui-data-grid/row.d.ts.map +1 -0
  148. package/declarations/components/eui-data-grid/toolbar.d.ts +43 -0
  149. package/declarations/components/eui-data-grid/toolbar.d.ts.map +1 -0
  150. package/declarations/components/eui-data-grid/tree-cell.d.ts +36 -0
  151. package/declarations/components/eui-data-grid/tree-cell.d.ts.map +1 -0
  152. package/declarations/components/eui-data-grid-toolbar-control.d.ts +61 -0
  153. package/declarations/components/eui-data-grid-toolbar-control.d.ts.map +1 -0
  154. package/declarations/components/eui-data-grid.d.ts +405 -0
  155. package/declarations/components/eui-data-grid.d.ts.map +1 -0
  156. package/declarations/components/eui-emotion-button.d.ts +31 -0
  157. package/declarations/components/eui-emotion-button.d.ts.map +1 -0
  158. package/declarations/components/eui-emotion-provider.d.ts +100 -0
  159. package/declarations/components/eui-emotion-provider.d.ts.map +1 -0
  160. package/declarations/components/eui-error-message.d.ts +36 -0
  161. package/declarations/components/eui-error-message.d.ts.map +1 -0
  162. package/declarations/components/eui-expression.d.ts.map +1 -1
  163. package/declarations/components/eui-flex-grid.d.ts.map +1 -1
  164. package/declarations/components/eui-flex-item.d.ts.map +1 -1
  165. package/declarations/components/eui-flyout-menu.d.ts +194 -0
  166. package/declarations/components/eui-flyout-menu.d.ts.map +1 -0
  167. package/declarations/components/eui-flyout-resizable.d.ts +21 -0
  168. package/declarations/components/eui-flyout-resizable.d.ts.map +1 -0
  169. package/declarations/components/eui-flyout-resize-button.d.ts +25 -0
  170. package/declarations/components/eui-flyout-resize-button.d.ts.map +1 -0
  171. package/declarations/components/eui-flyout.d.ts.map +1 -1
  172. package/declarations/components/eui-focus-trap.d.ts +96 -0
  173. package/declarations/components/eui-focus-trap.d.ts.map +1 -0
  174. package/declarations/components/eui-form-append.d.ts +18 -0
  175. package/declarations/components/eui-form-append.d.ts.map +1 -0
  176. package/declarations/components/eui-form-control-button.d.ts +108 -0
  177. package/declarations/components/eui-form-control-button.d.ts.map +1 -0
  178. package/declarations/components/eui-form-control-layout/eui-form-append-prepend.d.ts +75 -0
  179. package/declarations/components/eui-form-control-layout/eui-form-append-prepend.d.ts.map +1 -0
  180. package/declarations/components/eui-form-prepend.d.ts +18 -0
  181. package/declarations/components/eui-form-prepend.d.ts.map +1 -0
  182. package/declarations/components/eui-header-logo/elastic-logo-full.d.ts +11 -0
  183. package/declarations/components/eui-header-logo/elastic-logo-full.d.ts.map +1 -0
  184. package/declarations/components/eui-illustration.d.ts +53 -0
  185. package/declarations/components/eui-illustration.d.ts.map +1 -0
  186. package/declarations/components/eui-in-memory-table.d.ts +171 -0
  187. package/declarations/components/eui-in-memory-table.d.ts.map +1 -0
  188. package/declarations/components/eui-inline-edit/eui-inline-edit-form.d.ts +205 -0
  189. package/declarations/components/eui-inline-edit/eui-inline-edit-form.d.ts.map +1 -0
  190. package/declarations/components/eui-inline-edit-text.d.ts +23 -0
  191. package/declarations/components/eui-inline-edit-text.d.ts.map +1 -0
  192. package/declarations/components/eui-inline-edit-title.d.ts +38 -0
  193. package/declarations/components/eui-inline-edit-title.d.ts.map +1 -0
  194. package/declarations/components/eui-key-pad-menu-item.d.ts.map +1 -1
  195. package/declarations/components/eui-live-announcer.d.ts +60 -0
  196. package/declarations/components/eui-live-announcer.d.ts.map +1 -0
  197. package/declarations/components/eui-markdown-format/markdown-horizontal-rule.d.ts +16 -0
  198. package/declarations/components/eui-markdown-format/markdown-horizontal-rule.d.ts.map +1 -0
  199. package/declarations/components/eui-markdown-format/markdown-link.d.ts +28 -0
  200. package/declarations/components/eui-markdown-format/markdown-link.d.ts.map +1 -0
  201. package/declarations/components/eui-notification-event.d.ts.map +1 -1
  202. package/declarations/components/eui-page-body.d.ts +2 -1
  203. package/declarations/components/eui-page-body.d.ts.map +1 -1
  204. package/declarations/components/eui-page-content-body.d.ts +2 -1
  205. package/declarations/components/eui-page-content-body.d.ts.map +1 -1
  206. package/declarations/components/eui-page-content.d.ts +1 -1
  207. package/declarations/components/eui-page-content.d.ts.map +1 -1
  208. package/declarations/components/eui-page-section.d.ts +76 -0
  209. package/declarations/components/eui-page-section.d.ts.map +1 -0
  210. package/declarations/components/eui-page-sidebar.d.ts +60 -0
  211. package/declarations/components/eui-page-sidebar.d.ts.map +1 -0
  212. package/declarations/components/eui-page-template/bottom-bar.d.ts +54 -0
  213. package/declarations/components/eui-page-template/bottom-bar.d.ts.map +1 -0
  214. package/declarations/components/eui-page-template/empty-prompt.d.ts +91 -0
  215. package/declarations/components/eui-page-template/empty-prompt.d.ts.map +1 -0
  216. package/declarations/components/eui-page-template/sidebar.d.ts +32 -0
  217. package/declarations/components/eui-page-template/sidebar.d.ts.map +1 -0
  218. package/declarations/components/eui-page-template.d.ts +16 -15
  219. package/declarations/components/eui-page-template.d.ts.map +1 -1
  220. package/declarations/components/eui-page.d.ts +2 -1
  221. package/declarations/components/eui-page.d.ts.map +1 -1
  222. package/declarations/components/eui-pagination/arrow-button.d.ts +26 -0
  223. package/declarations/components/eui-pagination/arrow-button.d.ts.map +1 -0
  224. package/declarations/components/eui-pagination.d.ts.map +1 -1
  225. package/declarations/components/eui-panel.d.ts.map +1 -1
  226. package/declarations/components/eui-pretty-duration.d.ts +29 -0
  227. package/declarations/components/eui-pretty-duration.d.ts.map +1 -0
  228. package/declarations/components/eui-refresh-interval.d.ts +2 -0
  229. package/declarations/components/eui-refresh-interval.d.ts.map +1 -1
  230. package/declarations/components/eui-screen-reader-live.d.ts +75 -0
  231. package/declarations/components/eui-screen-reader-live.d.ts.map +1 -0
  232. package/declarations/components/eui-search-bar/eui-search-box.d.ts +106 -0
  233. package/declarations/components/eui-search-bar/eui-search-box.d.ts.map +1 -0
  234. package/declarations/components/eui-search-bar/field-value-selection-filter.d.ts +70 -0
  235. package/declarations/components/eui-search-bar/field-value-selection-filter.d.ts.map +1 -0
  236. package/declarations/components/eui-search-bar/field-value-toggle-filter.d.ts +23 -0
  237. package/declarations/components/eui-search-bar/field-value-toggle-filter.d.ts.map +1 -0
  238. package/declarations/components/eui-search-bar/field-value-toggle-group-filter.d.ts +26 -0
  239. package/declarations/components/eui-search-bar/field-value-toggle-group-filter.d.ts.map +1 -0
  240. package/declarations/components/eui-search-bar/is-filter.d.ts +23 -0
  241. package/declarations/components/eui-search-bar/is-filter.d.ts.map +1 -0
  242. package/declarations/components/eui-search-bar-filters.d.ts +28 -0
  243. package/declarations/components/eui-search-bar-filters.d.ts.map +1 -0
  244. package/declarations/components/eui-search-bar.d.ts +134 -0
  245. package/declarations/components/eui-search-bar.d.ts.map +1 -0
  246. package/declarations/components/eui-selectable-list/option-text.d.ts +31 -0
  247. package/declarations/components/eui-selectable-list/option-text.d.ts.map +1 -0
  248. package/declarations/components/eui-side-nav.d.ts.map +1 -1
  249. package/declarations/components/eui-skeleton-circle.d.ts +60 -0
  250. package/declarations/components/eui-skeleton-circle.d.ts.map +1 -0
  251. package/declarations/components/eui-skeleton-loading/screen-reader-live.d.ts +60 -0
  252. package/declarations/components/eui-skeleton-loading/screen-reader-live.d.ts.map +1 -0
  253. package/declarations/components/eui-skeleton-loading.d.ts +86 -0
  254. package/declarations/components/eui-skeleton-loading.d.ts.map +1 -0
  255. package/declarations/components/eui-skeleton-rectangle.d.ts +70 -0
  256. package/declarations/components/eui-skeleton-rectangle.d.ts.map +1 -0
  257. package/declarations/components/eui-skeleton-text.d.ts +64 -0
  258. package/declarations/components/eui-skeleton-text.d.ts.map +1 -0
  259. package/declarations/components/eui-skeleton-title.d.ts +60 -0
  260. package/declarations/components/eui-skeleton-title.d.ts.map +1 -0
  261. package/declarations/components/eui-split-button/eui-split-button-action-primary.d.ts +58 -0
  262. package/declarations/components/eui-split-button/eui-split-button-action-primary.d.ts.map +1 -0
  263. package/declarations/components/eui-split-button/eui-split-button-action-secondary.d.ts +63 -0
  264. package/declarations/components/eui-split-button/eui-split-button-action-secondary.d.ts.map +1 -0
  265. package/declarations/components/eui-split-button.d.ts +76 -0
  266. package/declarations/components/eui-split-button.d.ts.map +1 -0
  267. package/declarations/components/eui-stat/description.d.ts.map +1 -1
  268. package/declarations/components/eui-stat/title.d.ts.map +1 -1
  269. package/declarations/components/eui-suggest-item.d.ts.map +1 -1
  270. package/declarations/components/eui-super-date-picker/date-popover/eui-time-zone-display.d.ts +59 -0
  271. package/declarations/components/eui-super-date-picker/date-popover/eui-time-zone-display.d.ts.map +1 -0
  272. package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select-panel.d.ts +46 -0
  273. package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select-panel.d.ts.map +1 -0
  274. package/declarations/components/eui-super-date-picker/eui-time-window-buttons.d.ts +63 -0
  275. package/declarations/components/eui-super-date-picker/eui-time-window-buttons.d.ts.map +1 -0
  276. package/declarations/components/eui-super-date-picker/utils/pretty-interval.d.ts +14 -0
  277. package/declarations/components/eui-super-date-picker/utils/pretty-interval.d.ts.map +1 -0
  278. package/declarations/components/eui-super-date-picker/utils/time-window.d.ts +34 -0
  279. package/declarations/components/eui-super-date-picker/utils/time-window.d.ts.map +1 -0
  280. package/declarations/components/eui-super-date-picker.d.ts +1 -1
  281. package/declarations/components/eui-super-date-picker.d.ts.map +1 -1
  282. package/declarations/components/eui-tabbed-content.d.ts.map +1 -1
  283. package/declarations/components/eui-table/sticky-header.d.ts +56 -0
  284. package/declarations/components/eui-table/sticky-header.d.ts.map +1 -0
  285. package/declarations/components/eui-table/sticky-scrollbar.d.ts +47 -0
  286. package/declarations/components/eui-table/sticky-scrollbar.d.ts.map +1 -0
  287. package/declarations/components/eui-table-header-cell.d.ts.map +1 -1
  288. package/declarations/components/eui-text-block-truncate.d.ts +42 -0
  289. package/declarations/components/eui-text-block-truncate.d.ts.map +1 -0
  290. package/declarations/components/eui-text-truncate.d.ts +116 -0
  291. package/declarations/components/eui-text-truncate.d.ts.map +1 -0
  292. package/declarations/components/eui-timeline-item-event.d.ts +21 -0
  293. package/declarations/components/eui-timeline-item-event.d.ts.map +1 -0
  294. package/declarations/components/eui-timeline-item-icon.d.ts +41 -0
  295. package/declarations/components/eui-timeline-item-icon.d.ts.map +1 -0
  296. package/declarations/components/eui-timeline-item.d.ts +46 -0
  297. package/declarations/components/eui-timeline-item.d.ts.map +1 -0
  298. package/declarations/components/eui-timeline.d.ts +24 -0
  299. package/declarations/components/eui-timeline.d.ts.map +1 -0
  300. package/declarations/components/eui-window-event.d.ts +16 -0
  301. package/declarations/components/eui-window-event.d.ts.map +1 -0
  302. package/declarations/helpers/eui-page-restrict-width.d.ts.map +1 -1
  303. package/declarations/modifiers/container-query.d.ts +26 -0
  304. package/declarations/modifiers/container-query.d.ts.map +1 -0
  305. package/declarations/services/eui-emotion.d.ts +21 -0
  306. package/declarations/services/eui-emotion.d.ts.map +1 -0
  307. package/declarations/services/eui-flyout-manager.d.ts +103 -0
  308. package/declarations/services/eui-flyout-manager.d.ts.map +1 -0
  309. package/declarations/theming.d.ts +84 -0
  310. package/declarations/theming.d.ts.map +1 -0
  311. package/declarations/utils/color/eui_palettes_deprecated.d.ts +20 -0
  312. package/declarations/utils/color/eui_palettes_deprecated.d.ts.map +1 -0
  313. package/declarations/utils/container-query/match-container.d.ts +85 -0
  314. package/declarations/utils/container-query/match-container.d.ts.map +1 -0
  315. package/declarations/utils/data-grid/focus.d.ts +33 -0
  316. package/declarations/utils/data-grid/focus.d.ts.map +1 -0
  317. package/declarations/utils/data-grid/row-heights.d.ts +26 -0
  318. package/declarations/utils/data-grid/row-heights.d.ts.map +1 -0
  319. package/declarations/utils/data-grid/row-tree.d.ts +102 -0
  320. package/declarations/utils/data-grid/row-tree.d.ts.map +1 -0
  321. package/declarations/utils/data-grid/scheduling.d.ts +12 -0
  322. package/declarations/utils/data-grid/scheduling.d.ts.map +1 -0
  323. package/declarations/utils/data-grid/schema.d.ts +21 -0
  324. package/declarations/utils/data-grid/schema.d.ts.map +1 -0
  325. package/declarations/utils/data-grid/sorting.d.ts +13 -0
  326. package/declarations/utils/data-grid/sorting.d.ts.map +1 -0
  327. package/declarations/utils/data-grid/tabular-copy.d.ts +25 -0
  328. package/declarations/utils/data-grid/tabular-copy.d.ts.map +1 -0
  329. package/declarations/utils/data-grid/toolbar.d.ts +14 -0
  330. package/declarations/utils/data-grid/toolbar.d.ts.map +1 -0
  331. package/declarations/utils/data-grid/types.d.ts +495 -0
  332. package/declarations/utils/data-grid/types.d.ts.map +1 -0
  333. package/declarations/utils/emotion/consume.d.ts +10 -0
  334. package/declarations/utils/emotion/consume.d.ts.map +1 -0
  335. package/declarations/utils/emotion/context.d.ts +56 -0
  336. package/declarations/utils/emotion/context.d.ts.map +1 -0
  337. package/declarations/utils/emotion/system.d.ts +27 -0
  338. package/declarations/utils/emotion/system.d.ts.map +1 -0
  339. package/declarations/utils/emotion/theme.d.ts +27 -0
  340. package/declarations/utils/emotion/theme.d.ts.map +1 -0
  341. package/declarations/utils/eui/buttons-misc.d.ts +21 -0
  342. package/declarations/utils/eui/buttons-misc.d.ts.map +1 -0
  343. package/declarations/utils/eui/code-block.d.ts +16 -0
  344. package/declarations/utils/eui/code-block.d.ts.map +1 -0
  345. package/declarations/utils/eui/color-picker.d.ts +43 -0
  346. package/declarations/utils/eui/color-picker.d.ts.map +1 -0
  347. package/declarations/utils/eui/combo-box.d.ts +130 -0
  348. package/declarations/utils/eui/combo-box.d.ts.map +1 -0
  349. package/declarations/utils/eui/content-blocks.d.ts +14 -0
  350. package/declarations/utils/eui/content-blocks.d.ts.map +1 -0
  351. package/declarations/utils/eui/control-bar.d.ts +36 -0
  352. package/declarations/utils/eui/control-bar.d.ts.map +1 -0
  353. package/declarations/utils/eui/css-variables.d.ts +34 -0
  354. package/declarations/utils/eui/css-variables.d.ts.map +1 -0
  355. package/declarations/utils/eui/data-grid.d.ts +20 -0
  356. package/declarations/utils/eui/data-grid.d.ts.map +1 -0
  357. package/declarations/utils/eui/date-pickers.d.ts +73 -0
  358. package/declarations/utils/eui/date-pickers.d.ts.map +1 -0
  359. package/declarations/utils/eui/flyout-manager/actions.d.ts +168 -0
  360. package/declarations/utils/eui/flyout-manager/actions.d.ts.map +1 -0
  361. package/declarations/utils/eui/flyout-manager/activity-stage.d.ts +27 -0
  362. package/declarations/utils/eui/flyout-manager/activity-stage.d.ts.map +1 -0
  363. package/declarations/utils/eui/flyout-manager/const.d.ts +49 -0
  364. package/declarations/utils/eui/flyout-manager/const.d.ts.map +1 -0
  365. package/declarations/utils/eui/flyout-manager/history.d.ts +9 -0
  366. package/declarations/utils/eui/flyout-manager/history.d.ts.map +1 -0
  367. package/declarations/utils/eui/flyout-manager/layout-mode.d.ts +15 -0
  368. package/declarations/utils/eui/flyout-manager/layout-mode.d.ts.map +1 -0
  369. package/declarations/utils/eui/flyout-manager/reducer.d.ts +11 -0
  370. package/declarations/utils/eui/flyout-manager/reducer.d.ts.map +1 -0
  371. package/declarations/utils/eui/flyout-manager/selectors.d.ts +34 -0
  372. package/declarations/utils/eui/flyout-manager/selectors.d.ts.map +1 -0
  373. package/declarations/utils/eui/flyout-manager/types.d.ts +84 -0
  374. package/declarations/utils/eui/flyout-manager/types.d.ts.map +1 -0
  375. package/declarations/utils/eui/flyout-manager/validation.d.ts +30 -0
  376. package/declarations/utils/eui/flyout-manager/validation.d.ts.map +1 -0
  377. package/declarations/utils/eui/flyout-menu.d.ts +12 -0
  378. package/declarations/utils/eui/flyout-menu.d.ts.map +1 -0
  379. package/declarations/utils/eui/form-controls.d.ts +36 -0
  380. package/declarations/utils/eui/form-controls.d.ts.map +1 -0
  381. package/declarations/utils/eui/format.d.ts +43 -0
  382. package/declarations/utils/eui/format.d.ts.map +1 -0
  383. package/declarations/utils/eui/global-styles.d.ts +11 -0
  384. package/declarations/utils/eui/global-styles.d.ts.map +1 -0
  385. package/declarations/utils/eui/lists.d.ts +20 -0
  386. package/declarations/utils/eui/lists.d.ts.map +1 -0
  387. package/declarations/utils/eui/markdown.d.ts +16 -0
  388. package/declarations/utils/eui/markdown.d.ts.map +1 -0
  389. package/declarations/utils/eui/modal-flyout.d.ts +63 -0
  390. package/declarations/utils/eui/modal-flyout.d.ts.map +1 -0
  391. package/declarations/utils/eui/notification-event.d.ts +23 -0
  392. package/declarations/utils/eui/notification-event.d.ts.map +1 -0
  393. package/declarations/utils/eui/page-layout.d.ts +39 -0
  394. package/declarations/utils/eui/page-layout.d.ts.map +1 -0
  395. package/declarations/utils/eui/range.d.ts +37 -0
  396. package/declarations/utils/eui/range.d.ts.map +1 -0
  397. package/declarations/utils/eui/search-bar/ast-to-es-query-dsl.d.ts +38 -0
  398. package/declarations/utils/eui/search-bar/ast-to-es-query-dsl.d.ts.map +1 -0
  399. package/declarations/utils/eui/search-bar/ast-to-es-query-string.d.ts +3 -0
  400. package/declarations/utils/eui/search-bar/ast-to-es-query-string.d.ts.map +1 -0
  401. package/declarations/utils/eui/search-bar/ast.d.ts +287 -0
  402. package/declarations/utils/eui/search-bar/ast.d.ts.map +1 -0
  403. package/declarations/utils/eui/search-bar/date-format.d.ts +28 -0
  404. package/declarations/utils/eui/search-bar/date-format.d.ts.map +1 -0
  405. package/declarations/utils/eui/search-bar/date-value.d.ts +19 -0
  406. package/declarations/utils/eui/search-bar/date-value.d.ts.map +1 -0
  407. package/declarations/utils/eui/search-bar/default-syntax-parser.d.ts +9 -0
  408. package/declarations/utils/eui/search-bar/default-syntax-parser.d.ts.map +1 -0
  409. package/declarations/utils/eui/search-bar/default-syntax.d.ts +17 -0
  410. package/declarations/utils/eui/search-bar/default-syntax.d.ts.map +1 -0
  411. package/declarations/utils/eui/search-bar/execute-ast.d.ts +20 -0
  412. package/declarations/utils/eui/search-bar/execute-ast.d.ts.map +1 -0
  413. package/declarations/utils/eui/search-bar/index.d.ts +10 -0
  414. package/declarations/utils/eui/search-bar/index.d.ts.map +1 -0
  415. package/declarations/utils/eui/search-bar/operators.d.ts +16 -0
  416. package/declarations/utils/eui/search-bar/operators.d.ts.map +1 -0
  417. package/declarations/utils/eui/search-bar/predicate.d.ts +8 -0
  418. package/declarations/utils/eui/search-bar/predicate.d.ts.map +1 -0
  419. package/declarations/utils/eui/search-bar/query.d.ts +89 -0
  420. package/declarations/utils/eui/search-bar/query.d.ts.map +1 -0
  421. package/declarations/utils/eui/selectable.d.ts +33 -0
  422. package/declarations/utils/eui/selectable.d.ts.map +1 -0
  423. package/declarations/utils/eui/sort.d.ts +23 -0
  424. package/declarations/utils/eui/sort.d.ts.map +1 -0
  425. package/declarations/utils/eui/split-button.d.ts +13 -0
  426. package/declarations/utils/eui/split-button.d.ts.map +1 -0
  427. package/declarations/utils/eui/styles.d.ts +37 -0
  428. package/declarations/utils/eui/styles.d.ts.map +1 -0
  429. package/declarations/utils/eui/styles.generated.d.ts +4467 -0
  430. package/declarations/utils/eui/styles.generated.d.ts.map +1 -0
  431. package/declarations/utils/eui/suggest.d.ts +24 -0
  432. package/declarations/utils/eui/suggest.d.ts.map +1 -0
  433. package/declarations/utils/eui/table.d.ts +12 -0
  434. package/declarations/utils/eui/table.d.ts.map +1 -0
  435. package/declarations/utils/eui/text-truncate.d.ts +5 -0
  436. package/declarations/utils/eui/text-truncate.d.ts.map +1 -0
  437. package/declarations/utils/eui/theme.d.ts +30 -0
  438. package/declarations/utils/eui/theme.d.ts.map +1 -0
  439. package/declarations/utils/eui/token.d.ts +7 -0
  440. package/declarations/utils/eui/token.d.ts.map +1 -0
  441. package/declarations/utils/eui/utilities.d.ts +18 -0
  442. package/declarations/utils/eui/utilities.d.ts.map +1 -0
  443. package/declarations/utils/html-id-generator.d.ts +11 -0
  444. package/declarations/utils/html-id-generator.d.ts.map +1 -0
  445. package/declarations/utils/markdown/plugins/markdown-link-validator.d.ts +53 -0
  446. package/declarations/utils/markdown/plugins/markdown-link-validator.d.ts.map +1 -0
  447. package/declarations/utils/markdown/remark/remark-intraword-underscore.d.ts +4 -0
  448. package/declarations/utils/markdown/remark/remark-intraword-underscore.d.ts.map +1 -0
  449. package/declarations/utils/pretty-duration.d.ts +12 -0
  450. package/declarations/utils/pretty-duration.d.ts.map +1 -0
  451. package/dist/components/eui-accordion.js +1 -3
  452. package/dist/components/eui-accordion.js.map +1 -1
  453. package/dist/components/eui-button.js +0 -2
  454. package/dist/components/eui-button.js.map +1 -1
  455. package/dist/components/eui-card.js +0 -2
  456. package/dist/components/eui-card.js.map +1 -1
  457. package/dist/components/eui-collapsible-nav-group.js +1 -3
  458. package/dist/components/eui-collapsible-nav-group.js.map +1 -1
  459. package/dist/components/eui-expression.js +0 -2
  460. package/dist/components/eui-expression.js.map +1 -1
  461. package/dist/components/eui-flex-grid.js +1 -3
  462. package/dist/components/eui-flex-grid.js.map +1 -1
  463. package/dist/components/eui-flex-item.js +1 -3
  464. package/dist/components/eui-flex-item.js.map +1 -1
  465. package/dist/components/eui-flyout.js +0 -2
  466. package/dist/components/eui-flyout.js.map +1 -1
  467. package/dist/components/eui-key-pad-menu-item.js +0 -2
  468. package/dist/components/eui-key-pad-menu-item.js.map +1 -1
  469. package/dist/components/eui-notification-event.js +0 -2
  470. package/dist/components/eui-notification-event.js.map +1 -1
  471. package/dist/components/eui-page-body.js +1 -3
  472. package/dist/components/eui-page-body.js.map +1 -1
  473. package/dist/components/eui-page-content-body.js.map +1 -1
  474. package/dist/components/eui-page-content.js.map +1 -1
  475. package/dist/components/eui-page-template.js +5 -5
  476. package/dist/components/eui-page-template.js.map +1 -1
  477. package/dist/components/eui-page.js.map +1 -1
  478. package/dist/components/eui-pagination.js +7 -4
  479. package/dist/components/eui-pagination.js.map +1 -1
  480. package/dist/components/eui-panel.js +1 -1
  481. package/dist/components/eui-panel.js.map +1 -1
  482. package/dist/components/eui-range.js +1 -1
  483. package/dist/components/eui-range.js.map +1 -1
  484. package/dist/components/eui-refresh-interval.js +22 -1
  485. package/dist/components/eui-refresh-interval.js.map +1 -1
  486. package/dist/components/eui-side-nav.js +0 -2
  487. package/dist/components/eui-side-nav.js.map +1 -1
  488. package/dist/components/eui-stat/description.js +0 -2
  489. package/dist/components/eui-stat/description.js.map +1 -1
  490. package/dist/components/eui-stat/title.js +0 -2
  491. package/dist/components/eui-stat/title.js.map +1 -1
  492. package/dist/components/eui-suggest-item.js +0 -2
  493. package/dist/components/eui-suggest-item.js.map +1 -1
  494. package/dist/components/eui-super-date-picker.js.map +1 -1
  495. package/dist/components/eui-tabbed-content.js +6 -5
  496. package/dist/components/eui-tabbed-content.js.map +1 -1
  497. package/dist/components/eui-table-header-cell.js +0 -2
  498. package/dist/components/eui-table-header-cell.js.map +1 -1
  499. package/dist/helpers/eui-page-restrict-width.js +1 -1
  500. package/dist/helpers/eui-page-restrict-width.js.map +1 -1
  501. package/dist/icons-CQELx6Ce.js.map +1 -1
  502. package/package.json +5 -6
@@ -1 +1 @@
1
- {"version":3,"file":"eui-super-date-picker.js","sources":["../../src/components/eui-super-date-picker.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { service } from '@ember/service';\n\nimport { modifier } from 'ember-modifier';\nimport { eq, or } from 'ember-truth-helpers';\n\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiFormControlLayout from './eui-form-control-layout.gts';\nimport EuiDatePopoverButton from './eui-super-date-picker/date-popover/eui-date-popover-button.gts';\nimport EuiDatePickerRange from './eui-super-date-picker/eui-date-picker-range.gts';\nimport EuiQuickSelectPopover from './eui-super-date-picker/eui-quick-select-popover.gts';\nimport EuiSuperUpdateButton from './eui-super-date-picker/eui-super-update-button.gts';\nimport { isRangeInvalid } from './eui-super-date-picker/utils/index.ts';\nimport { useI18nTimeOptions } from './eui-super-date-picker/utils/time-options.ts';\n\nimport type EuiI18n from '../services/eui-i18n';\nimport type {\n ApplyRefreshInterval,\n DurationRange,\n Milliseconds,\n ShortDate\n} from './eui-super-date-picker/types/global';\nimport type { LocaleSpecifier } from 'moment';\n\nexport type { ApplyRefreshInterval, DurationRange, Milliseconds, ShortDate };\n\n/**\n * EuiSuperDatePicker picks a time range (absolute dates, relative like\n * \"last 15 minutes\", or \"now\") with a quick select popover and optional\n * auto refresh, as in Kibana. `@onTimeChange` receives date math strings.\n */\nexport interface EuiSuperDatePickerArgs {\n /**\n * Ranges listed as \"Commonly used\" in the quick select popover:\n * `[{ start: 'now/d', end: 'now/d', label: 'Today' }, …]`. Defaults to\n * EUI's list (Today, This week, Last 15 minutes, …).\n */\n commonlyUsedRanges?: DurationRange[];\n // customQuickSelectPanels?: QuickSelectPanel[];\n /**\n * moment format for absolute dates. Defaults to\n * `'MMM D, YYYY @ HH:mm:ss.SSS'`.\n */\n dateFormat?: string;\n /**\n * Set isAutoRefreshOnly to true to limit the component to only display\n * auto refresh content. Defaults to `false`.\n */\n isAutoRefreshOnly?: boolean;\n /** Disables the picker. Defaults to `false`. */\n isDisabled?: boolean;\n /** Shows the update button's loading state, e.g. while data refreshes. */\n isLoading?: boolean;\n /**\n * Whether auto refresh is paused (with `@onRefreshChange`).\n * Defaults to `true`.\n */\n isPaused?: boolean;\n /**\n * Sets the overall width by adding sensible min and max widths.\n * - `auto`: fits width to internal content / time string.\n * - `restricted`: static width that fits the longest possible time string.\n * - `full`: expands to 100% of the container.\n * Defaults to `'restricted'`.\n */\n width?: 'restricted' | 'full' | 'auto';\n /**\n * Reduces overall height to compressed form size\n */\n compressed?: boolean;\n /**\n * Used to localize e.g. month names, passed to `moment`\n */\n locale?: LocaleSpecifier;\n /**\n * Called every `@refreshInterval` ms while not `@isPaused` (and by the\n * update button when the range has not changed), with `{ start, end,\n * refreshInterval }`. If it returns a promise, the next call waits for\n * it; if the promise rejects, refreshing stops.\n */\n onRefresh?: (props: {\n start: string;\n end: string;\n refreshInterval: number;\n }) => void | Promise<unknown>;\n /**\n * Adds the \"Refresh every\" section to the quick select popover; called\n * with `{ refreshInterval, isPaused }` when the user changes them.\n */\n onRefreshChange?: ApplyRefreshInterval;\n /**\n * Callback for when the time changes.\n */\n onTimeChange: (props: {\n start: string;\n end: string;\n isQuickSelection: boolean;\n isInvalid: boolean;\n }) => void;\n // recentlyUsedRanges?: DurationRange[];\n /**\n * Refresh interval in milliseconds. Defaults to `1000`.\n */\n refreshInterval?: Milliseconds;\n /**\n * Start of the range, as date math (`'now-15m'`, `'now/d'`) or an ISO\n * date. Defaults to `'now-15m'`.\n */\n start?: ShortDate;\n /** End of the range, like `@start`. Defaults to `'now'`. */\n end?: ShortDate;\n /**\n * moment format for times in the date picker. Defaults to `'HH:mm'`.\n */\n timeFormat?: string;\n /** UTC offset in minutes for absolute dates, e.g. `-300`. */\n utcOffset?: number;\n /**\n * Set showUpdateButton to false to immediately invoke onTimeChange for\n * all start and end changes; `'iconOnly'` shows a compact button.\n * Defaults to `true`.\n */\n showUpdateButton?: boolean | 'iconOnly';\n /**\n * Hides the actual input reducing to just the quick select button.\n */\n isQuickSelectOnly?: boolean;\n /**\n * Props passed to the update button #EuiSuperUpdateButtonProps\n */\n // updateButtonProps?: EuiSuperUpdateButtonProps;\n}\n\nexport default class EuiSuperDatePicker extends Component<EuiSuperDatePickerArgs> {\n @argOrDefaultDecorator('MMM D, YYYY @ HH:mm:ss.SSS') dateFormat!: string;\n @argOrDefaultDecorator('HH:mm') timeFormat!: string;\n // @argOrDefaultDecorator('now-15m') start!: ShortDate;\n // @argOrDefaultDecorator('now') end!: ShortDate;\n @argOrDefaultDecorator(false) isAutoRefreshOnly!: boolean;\n @argOrDefaultDecorator(false) isDisabled!: boolean;\n @argOrDefaultDecorator(true) isPaused!: boolean;\n @argOrDefaultDecorator(true) showUpdateButton!: boolean;\n @argOrDefaultDecorator('restricted') width!: string;\n // recentlyUsedRanges: [],\n @argOrDefaultDecorator(1000) refreshInterval!: Milliseconds;\n\n @service declare euiI18n: EuiI18n;\n\n /**\n * The range the user is editing, before it is applied with the update\n * button. It remembers the @start/@end it was based on: when the parent\n * passes a different range, the draft no longer applies and the picker\n * shows the new arguments (like EUI React's getDerivedStateFromProps).\n */\n @tracked private draft?: {\n start: ShortDate;\n end: ShortDate;\n hasChanged: boolean;\n forStart: ShortDate | undefined;\n forEnd: ShortDate | undefined;\n };\n\n private get currentDraft() {\n const { draft } = this;\n\n return draft &&\n draft.forStart === this.args.start &&\n draft.forEnd === this.args.end\n ? draft\n : undefined;\n }\n\n get start(): ShortDate {\n return this.currentDraft?.start ?? this.args.start ?? 'now-15m';\n }\n\n get end(): ShortDate {\n return this.currentDraft?.end ?? this.args.end ?? 'now';\n }\n\n get isInvalid(): boolean {\n return isRangeInvalid(this.start, this.end);\n }\n\n get hasChanged(): boolean {\n return this.currentDraft?.hasChanged ?? false;\n }\n\n private setDraft(start: ShortDate, end: ShortDate, hasChanged: boolean) {\n this.draft = {\n start,\n end,\n hasChanged,\n forStart: this.args.start,\n forEnd: this.args.end\n };\n }\n\n get timeOptions() {\n return useI18nTimeOptions(this.euiI18n);\n }\n\n setTime({ start, end }: DurationRange) {\n this.setDraft(start, end, !(this.start === start && this.end === end));\n\n if (!this.showUpdateButton) {\n this.args.onTimeChange({\n start,\n end,\n isQuickSelection: false,\n isInvalid: isRangeInvalid(start, end)\n });\n }\n }\n\n applyTime() {\n this.args.onTimeChange({\n start: this.start,\n end: this.end,\n isQuickSelection: false,\n isInvalid: false\n });\n }\n\n @action\n applyQuickTime({ start, end }: DurationRange) {\n this.setDraft(start, end, false);\n\n this.args.onTimeChange({\n start,\n end,\n isQuickSelection: true,\n isInvalid: false\n });\n }\n\n @action\n setStart(start: ShortDate) {\n this.setTime({ start, end: this.end });\n }\n\n @action\n setEnd(end: ShortDate) {\n this.setTime({ start: this.start, end });\n }\n\n @action\n handleClickUpdateButton() {\n if (!this.hasChanged && this.args.onRefresh) {\n void this.args.onRefresh({\n start: this.start,\n end: this.end,\n refreshInterval: this.refreshInterval\n });\n } else {\n this.applyTime();\n }\n\n if (this.currentDraft) {\n this.draft = { ...this.currentDraft, hasChanged: false };\n }\n }\n\n /**\n * Calls `@onRefresh` every `@refreshInterval` ms while not `@isPaused`.\n * A returned promise delays the next call until it settles; a rejected\n * one stops the refreshing.\n */\n autoRefresh = modifier(\n (\n _element: Element,\n [onRefresh, isPaused, refreshInterval]: [\n EuiSuperDatePickerArgs['onRefresh'],\n boolean,\n number\n ]\n ) => {\n if (!onRefresh || isPaused || !(refreshInterval > 0)) return;\n\n let stopped = false;\n let timer: ReturnType<typeof setTimeout>;\n\n const tick = async () => {\n try {\n await onRefresh({ start: this.start, end: this.end, refreshInterval });\n } catch {\n stopped = true;\n }\n\n if (!stopped) timer = setTimeout(() => void tick(), refreshInterval);\n };\n\n timer = setTimeout(() => void tick(), refreshInterval);\n\n return () => {\n stopped = true;\n clearTimeout(timer);\n };\n }\n );\n\n <template>\n <EuiFlexGroup\n {{this.autoRefresh @onRefresh this.isPaused this.refreshInterval}}\n @gutterSize=\"s\"\n @responsive={{false}}\n class={{classNames\n \"euiSuperDatePicker__flexWrapper\"\n (unless\n this.showUpdateButton\n \"euiSuperDatePicker__flexWrapper--noUpdateButton\"\n )\n (if\n this.isAutoRefreshOnly\n \"euiSuperDatePicker__flexWrapper--isAutoRefreshOnly\"\n )\n (if\n @isQuickSelectOnly\n \"euiSuperDatePicker__flexWrapper--isQuickSelectOnly\"\n )\n (if (eq this.width \"full\") \"euiSuperDatePicker__flexWrapper--fullWidth\")\n (if (eq this.width \"auto\") \"euiSuperDatePicker__flexWrapper--autoWidth\")\n }}\n >\n <EuiFlexItem>\n <EuiFormControlLayout\n class=\"euiSuperDatePicker\"\n @compressed={{@compressed}}\n @isDisabled={{@isDisabled}}\n @useGroup={{true}}\n >\n <:prepend>\n <EuiQuickSelectPopover\n @start={{this.start}}\n @end={{this.end}}\n @applyTime={{this.applyQuickTime}}\n @timeOptions={{this.timeOptions}}\n @isDisabled={{@isDisabled}}\n @commonlyUsedRanges={{argOrDefault\n @commonlyUsedRanges\n this.timeOptions.commonDurationRanges\n }}\n @applyRefreshInterval={{@onRefreshChange}}\n @isPaused={{this.isPaused}}\n @refreshInterval={{this.refreshInterval}}\n />\n </:prepend>\n\n <:field>\n <EuiDatePickerRange\n @className=\"euiDatePickerRange--inGroup\"\n @isInvalid={{this.isInvalid}}\n @disabled={{@isDisabled}}\n >\n <:startDateControl>\n <EuiDatePopoverButton\n @className=\"euiSuperDatePicker__startPopoverButton\"\n @value={{this.start}}\n @compressed={{@compressed}}\n @position=\"start\"\n @isDisabled={{@isDisabled}}\n @dateFormat={{this.dateFormat}}\n @onChange={{this.setStart}}\n @isInvalid={{this.isInvalid}}\n @timeOptions={{this.timeOptions}}\n @needsUpdating={{this.hasChanged}}\n @locale={{@locale}}\n />\n </:startDateControl>\n\n <:endDateControl>\n <EuiDatePopoverButton\n @className=\"euiSuperDatePicker__startPopoverButton\"\n @value={{this.end}}\n @compressed={{@compressed}}\n @position=\"end\"\n @isDisabled={{@isDisabled}}\n @dateFormat={{this.dateFormat}}\n @onChange={{this.setEnd}}\n @isInvalid={{this.isInvalid}}\n @timeOptions={{this.timeOptions}}\n @roundUp={{true}}\n @needsUpdating={{this.hasChanged}}\n @locale={{@locale}}\n />\n </:endDateControl>\n </EuiDatePickerRange>\n </:field>\n </EuiFormControlLayout>\n </EuiFlexItem>\n\n {{#if this.showUpdateButton}}\n <EuiFlexItem @grow={{false}}>\n <EuiSuperUpdateButton\n @size={{if @compressed \"s\" \"m\"}}\n @onClick={{this.handleClickUpdateButton}}\n @isLoading={{@isLoading}}\n @isDisabled={{or @isDisabled this.isInvalid}}\n @needsUpdate={{this.hasChanged}}\n @fill={{true}}\n @iconOnly={{eq this.showUpdateButton \"iconOnly\"}}\n />\n </EuiFlexItem>\n {{/if}}\n </EuiFlexGroup>\n </template>\n}\n"],"names":["EuiSuperDatePicker","Component","g","prototype","argOrDefaultDecorator","i","service","tracked","currentDraft","draft","forStart","args","start","forEnd","end","undefined","isInvalid","isRangeInvalid","hasChanged","setDraft","timeOptions","useI18nTimeOptions","euiI18n","setTime","showUpdateButton","onTimeChange","isQuickSelection","applyTime","applyQuickTime","n","action","setStart","setEnd","handleClickUpdateButton","onRefresh","refreshInterval","autoRefresh","modifier","_element","isPaused","stopped","timer","tick","setTimeout","clearTimeout","setComponentTemplate","precompileTemplate","strictMode","scope","EuiFlexGroup","classNames","eq","EuiFlexItem","EuiFormControlLayout","EuiQuickSelectPopover","argOrDefault","EuiDatePickerRange","EuiDatePopoverButton","EuiSuperUpdateButton","or"],"mappings":"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"}
1
+ {"version":3,"file":"eui-super-date-picker.js","sources":["../../src/components/eui-super-date-picker.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { service } from '@ember/service';\n\nimport { modifier } from 'ember-modifier';\nimport { eq, or } from 'ember-truth-helpers';\n\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiFormControlLayout from './eui-form-control-layout.gts';\nimport EuiDatePopoverButton from './eui-super-date-picker/date-popover/eui-date-popover-button.gts';\nimport EuiDatePickerRange from './eui-super-date-picker/eui-date-picker-range.gts';\nimport EuiQuickSelectPopover from './eui-super-date-picker/eui-quick-select-popover.gts';\nimport EuiSuperUpdateButton from './eui-super-date-picker/eui-super-update-button.gts';\nimport { isRangeInvalid } from './eui-super-date-picker/utils/index.ts';\nimport { useI18nTimeOptions } from './eui-super-date-picker/utils/time-options.ts';\n\nimport type EuiI18n from '../services/eui-i18n';\nimport type {\n ApplyRefreshInterval,\n DurationRange,\n Milliseconds,\n ShortDate\n} from './eui-super-date-picker/types/global';\nimport type { LocaleSpecifier } from 'moment';\n\nexport type { ApplyRefreshInterval, DurationRange, Milliseconds, ShortDate };\n\n/**\n * EuiSuperDatePicker picks a time range (absolute dates, relative like\n * \"last 15 minutes\", or \"now\") with a quick select popover and optional\n * auto refresh, as in Kibana. `@onTimeChange` receives date math strings.\n */\nexport interface EuiSuperDatePickerArgs {\n /**\n * Ranges listed as \"Commonly used\" in the quick select popover:\n * `[{ start: 'now/d', end: 'now/d', label: 'Today' }, …]`. Defaults to\n * EUI's list (Today, This week, Last 15 minutes, …).\n */\n commonlyUsedRanges?: DurationRange[];\n // customQuickSelectPanels?: QuickSelectPanel[];\n /**\n * moment format for absolute dates. Defaults to\n * `'MMM D, YYYY @ HH:mm:ss.SSS'`.\n */\n dateFormat?: string;\n /**\n * Set isAutoRefreshOnly to true to limit the component to only display\n * auto refresh content. Defaults to `false`.\n */\n isAutoRefreshOnly?: boolean;\n /** Disables the picker. Defaults to `false`. */\n isDisabled?: boolean;\n /** Shows the update button's loading state, e.g. while data refreshes. */\n isLoading?: boolean;\n /**\n * Whether auto refresh is paused (with `@onRefreshChange`).\n * Defaults to `true`.\n */\n isPaused?: boolean;\n /**\n * Sets the overall width by adding sensible min and max widths.\n * - `auto`: fits width to internal content / time string.\n * - `restricted`: static width that fits the longest possible time string.\n * - `full`: expands to 100% of the container.\n * Defaults to `'restricted'`.\n */\n width?: 'restricted' | 'full' | 'auto';\n /**\n * Reduces overall height to compressed form size\n */\n compressed?: boolean;\n /**\n * Used to localize e.g. month names, passed to `moment`\n */\n locale?: LocaleSpecifier;\n /**\n * Called every `@refreshInterval` ms while not `@isPaused` (and by the\n * update button when the range has not changed), with `{ start, end,\n * refreshInterval }`. If it returns a promise, the next call waits for\n * it; if the promise rejects, refreshing stops.\n */\n onRefresh?: (props: {\n start: string;\n end: string;\n refreshInterval: number;\n }) => void | Promise<unknown>;\n /**\n * Adds the \"Refresh every\" section to the quick select popover; called\n * with `{ refreshInterval, isPaused }` when the user changes them.\n */\n onRefreshChange?: ApplyRefreshInterval;\n /**\n * Callback for when the time changes.\n */\n onTimeChange: (props: {\n start: string;\n end: string;\n isQuickSelection: boolean;\n isInvalid: boolean;\n }) => void;\n // recentlyUsedRanges?: DurationRange[];\n /**\n * Refresh interval in milliseconds. Defaults to `1000`.\n */\n refreshInterval?: Milliseconds;\n /**\n * Start of the range, as date math (`'now-15m'`, `'now/d'`) or an ISO\n * date. Defaults to `'now-15m'`.\n */\n start?: ShortDate;\n /** End of the range, like `@start`. Defaults to `'now'`. */\n end?: ShortDate;\n /**\n * moment format for times in the date picker. Defaults to `'HH:mm'`.\n */\n timeFormat?: string;\n /** UTC offset in minutes for absolute dates, e.g. `-300`. */\n utcOffset?: number;\n /**\n * Set showUpdateButton to false to immediately invoke onTimeChange for\n * all start and end changes; `'iconOnly'` shows a compact button.\n * Defaults to `true`.\n */\n showUpdateButton?: boolean | 'iconOnly';\n /**\n * Hides the actual input reducing to just the quick select button.\n */\n isQuickSelectOnly?: boolean;\n /**\n * Props passed to the update button #EuiSuperUpdateButtonProps\n */\n // updateButtonProps?: EuiSuperUpdateButtonProps;\n}\n\nexport default class EuiSuperDatePicker extends Component<EuiSuperDatePickerArgs> {\n @argOrDefaultDecorator('MMM D, YYYY @ HH:mm:ss.SSS') dateFormat!: string;\n @argOrDefaultDecorator('HH:mm') timeFormat!: string;\n // @argOrDefaultDecorator('now-15m') start!: ShortDate;\n // @argOrDefaultDecorator('now') end!: ShortDate;\n @argOrDefaultDecorator(false) isAutoRefreshOnly!: boolean;\n @argOrDefaultDecorator(false) isDisabled!: boolean;\n @argOrDefaultDecorator(true) isPaused!: boolean;\n @argOrDefaultDecorator(true) showUpdateButton!: boolean | 'iconOnly';\n @argOrDefaultDecorator('restricted') width!: string;\n // recentlyUsedRanges: [],\n @argOrDefaultDecorator(1000) refreshInterval!: Milliseconds;\n\n @service declare euiI18n: EuiI18n;\n\n /**\n * The range the user is editing, before it is applied with the update\n * button. It remembers the @start/@end it was based on: when the parent\n * passes a different range, the draft no longer applies and the picker\n * shows the new arguments (like EUI React's getDerivedStateFromProps).\n */\n @tracked private draft?: {\n start: ShortDate;\n end: ShortDate;\n hasChanged: boolean;\n forStart: ShortDate | undefined;\n forEnd: ShortDate | undefined;\n };\n\n private get currentDraft() {\n const { draft } = this;\n\n return draft &&\n draft.forStart === this.args.start &&\n draft.forEnd === this.args.end\n ? draft\n : undefined;\n }\n\n get start(): ShortDate {\n return this.currentDraft?.start ?? this.args.start ?? 'now-15m';\n }\n\n get end(): ShortDate {\n return this.currentDraft?.end ?? this.args.end ?? 'now';\n }\n\n get isInvalid(): boolean {\n return isRangeInvalid(this.start, this.end);\n }\n\n get hasChanged(): boolean {\n return this.currentDraft?.hasChanged ?? false;\n }\n\n private setDraft(start: ShortDate, end: ShortDate, hasChanged: boolean) {\n this.draft = {\n start,\n end,\n hasChanged,\n forStart: this.args.start,\n forEnd: this.args.end\n };\n }\n\n get timeOptions() {\n return useI18nTimeOptions(this.euiI18n);\n }\n\n setTime({ start, end }: DurationRange) {\n this.setDraft(start, end, !(this.start === start && this.end === end));\n\n if (!this.showUpdateButton) {\n this.args.onTimeChange({\n start,\n end,\n isQuickSelection: false,\n isInvalid: isRangeInvalid(start, end)\n });\n }\n }\n\n applyTime() {\n this.args.onTimeChange({\n start: this.start,\n end: this.end,\n isQuickSelection: false,\n isInvalid: false\n });\n }\n\n @action\n applyQuickTime({ start, end }: DurationRange) {\n this.setDraft(start, end, false);\n\n this.args.onTimeChange({\n start,\n end,\n isQuickSelection: true,\n isInvalid: false\n });\n }\n\n @action\n setStart(start: ShortDate) {\n this.setTime({ start, end: this.end });\n }\n\n @action\n setEnd(end: ShortDate) {\n this.setTime({ start: this.start, end });\n }\n\n @action\n handleClickUpdateButton() {\n if (!this.hasChanged && this.args.onRefresh) {\n void this.args.onRefresh({\n start: this.start,\n end: this.end,\n refreshInterval: this.refreshInterval\n });\n } else {\n this.applyTime();\n }\n\n if (this.currentDraft) {\n this.draft = { ...this.currentDraft, hasChanged: false };\n }\n }\n\n /**\n * Calls `@onRefresh` every `@refreshInterval` ms while not `@isPaused`.\n * A returned promise delays the next call until it settles; a rejected\n * one stops the refreshing.\n */\n autoRefresh = modifier(\n (\n _element: Element,\n [onRefresh, isPaused, refreshInterval]: [\n EuiSuperDatePickerArgs['onRefresh'],\n boolean,\n number\n ]\n ) => {\n if (!onRefresh || isPaused || !(refreshInterval > 0)) return;\n\n let stopped = false;\n let timer: ReturnType<typeof setTimeout>;\n\n const tick = async () => {\n try {\n await onRefresh({ start: this.start, end: this.end, refreshInterval });\n } catch {\n stopped = true;\n }\n\n if (!stopped) timer = setTimeout(() => void tick(), refreshInterval);\n };\n\n timer = setTimeout(() => void tick(), refreshInterval);\n\n return () => {\n stopped = true;\n clearTimeout(timer);\n };\n }\n );\n\n <template>\n <EuiFlexGroup\n {{this.autoRefresh @onRefresh this.isPaused this.refreshInterval}}\n @gutterSize=\"s\"\n @responsive={{false}}\n class={{classNames\n \"euiSuperDatePicker__flexWrapper\"\n (unless\n this.showUpdateButton\n \"euiSuperDatePicker__flexWrapper--noUpdateButton\"\n )\n (if\n this.isAutoRefreshOnly\n \"euiSuperDatePicker__flexWrapper--isAutoRefreshOnly\"\n )\n (if\n @isQuickSelectOnly\n \"euiSuperDatePicker__flexWrapper--isQuickSelectOnly\"\n )\n (if (eq this.width \"full\") \"euiSuperDatePicker__flexWrapper--fullWidth\")\n (if (eq this.width \"auto\") \"euiSuperDatePicker__flexWrapper--autoWidth\")\n }}\n >\n <EuiFlexItem>\n <EuiFormControlLayout\n class=\"euiSuperDatePicker\"\n @compressed={{@compressed}}\n @isDisabled={{@isDisabled}}\n @useGroup={{true}}\n >\n <:prepend>\n <EuiQuickSelectPopover\n @start={{this.start}}\n @end={{this.end}}\n @applyTime={{this.applyQuickTime}}\n @timeOptions={{this.timeOptions}}\n @isDisabled={{@isDisabled}}\n @commonlyUsedRanges={{argOrDefault\n @commonlyUsedRanges\n this.timeOptions.commonDurationRanges\n }}\n @applyRefreshInterval={{@onRefreshChange}}\n @isPaused={{this.isPaused}}\n @refreshInterval={{this.refreshInterval}}\n />\n </:prepend>\n\n <:field>\n <EuiDatePickerRange\n @className=\"euiDatePickerRange--inGroup\"\n @isInvalid={{this.isInvalid}}\n @disabled={{@isDisabled}}\n >\n <:startDateControl>\n <EuiDatePopoverButton\n @className=\"euiSuperDatePicker__startPopoverButton\"\n @value={{this.start}}\n @compressed={{@compressed}}\n @position=\"start\"\n @isDisabled={{@isDisabled}}\n @dateFormat={{this.dateFormat}}\n @onChange={{this.setStart}}\n @isInvalid={{this.isInvalid}}\n @timeOptions={{this.timeOptions}}\n @needsUpdating={{this.hasChanged}}\n @locale={{@locale}}\n />\n </:startDateControl>\n\n <:endDateControl>\n <EuiDatePopoverButton\n @className=\"euiSuperDatePicker__startPopoverButton\"\n @value={{this.end}}\n @compressed={{@compressed}}\n @position=\"end\"\n @isDisabled={{@isDisabled}}\n @dateFormat={{this.dateFormat}}\n @onChange={{this.setEnd}}\n @isInvalid={{this.isInvalid}}\n @timeOptions={{this.timeOptions}}\n @roundUp={{true}}\n @needsUpdating={{this.hasChanged}}\n @locale={{@locale}}\n />\n </:endDateControl>\n </EuiDatePickerRange>\n </:field>\n </EuiFormControlLayout>\n </EuiFlexItem>\n\n {{#if this.showUpdateButton}}\n <EuiFlexItem @grow={{false}}>\n <EuiSuperUpdateButton\n @size={{if @compressed \"s\" \"m\"}}\n @onClick={{this.handleClickUpdateButton}}\n @isLoading={{@isLoading}}\n @isDisabled={{or @isDisabled this.isInvalid}}\n @needsUpdate={{this.hasChanged}}\n @fill={{true}}\n @iconOnly={{eq this.showUpdateButton \"iconOnly\"}}\n />\n </EuiFlexItem>\n {{/if}}\n </EuiFlexGroup>\n </template>\n}\n"],"names":["EuiSuperDatePicker","Component","g","prototype","argOrDefaultDecorator","i","service","tracked","currentDraft","draft","forStart","args","start","forEnd","end","undefined","isInvalid","isRangeInvalid","hasChanged","setDraft","timeOptions","useI18nTimeOptions","euiI18n","setTime","showUpdateButton","onTimeChange","isQuickSelection","applyTime","applyQuickTime","n","action","setStart","setEnd","handleClickUpdateButton","onRefresh","refreshInterval","autoRefresh","modifier","_element","isPaused","stopped","timer","tick","setTimeout","clearTimeout","setComponentTemplate","precompileTemplate","strictMode","scope","EuiFlexGroup","classNames","eq","EuiFlexItem","EuiFormControlLayout","EuiQuickSelectPopover","argOrDefault","EuiDatePickerRange","EuiDatePopoverButton","EuiSuperUpdateButton","or"],"mappings":"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"}
@@ -66,7 +66,7 @@ class EuiTabbedContentComponent extends Component {
66
66
  const currentTarget = blurEvent.currentTarget;
67
67
  const relatedTarget = blurEvent.relatedTarget;
68
68
  if (currentTarget.contains(relatedTarget) === false) {
69
- this.inFocus = true;
69
+ this.inFocus = false;
70
70
  }
71
71
  };
72
72
  onTabClick = selectedTab => {
@@ -87,9 +87,10 @@ class EuiTabbedContentComponent extends Component {
87
87
  }
88
88
  };
89
89
  focusTab = () => {
90
- if (this.tabsRef) {
91
- const targetTab = this.tabsRef.querySelector(`#${this.selectedTabId}`);
92
- targetTab.focus();
90
+ const selectedTab = this.selectedTab;
91
+ if (this.tabsRef && selectedTab) {
92
+ const targetTab = this.tabsRef.querySelector(`#${CSS.escape(selectedTab.id)}`);
93
+ targetTab?.focus();
93
94
  }
94
95
  };
95
96
  initializeFocus = () => {
@@ -104,7 +105,7 @@ class EuiTabbedContentComponent extends Component {
104
105
  }
105
106
  };
106
107
  static {
107
- setComponentTemplate(precompileTemplate("{{#let (randomId) as |rootId|}}\n <div class={{@className}} ...attributes>\n <EuiTabs @expand={{@expand}} @display={{@display}} @size={{@size}} {{on \"focus\" this.initializeFocus}} {{didInsert this.setTabsRef}}>\n {{#each @tabs as |tab|}}\n <EuiTab @id={{tab.id}} aria-controls={{rootId}} @isSelected={{eq tab.id this.selectedTab.id}} @disabled={{tab.disabled}} {{on \"click\" (fn this.onTabClick tab)}}>\n {{tab.name}}\n </EuiTab>\n {{/each}}\n </EuiTabs>\n\n {{#let (findBy \"id\" (if this.selectedTabId this.selectedTabId \"\") @tabs) as |currentTab|}}\n {{#if currentTab}}\n <div role=\"tabpanel\" id={{rootId}} aria-labelledby={{currentTab.id}}>\n {{#if (has-block \"selectedTabContent\")}}\n {{yield currentTab to=\"selectedTabContent\"}}\n {{else}}\n {{currentTab.content}}\n {{/if}}\n </div>\n {{/if}}\n {{/let}}\n </div>\n{{/let}}", {
108
+ setComponentTemplate(precompileTemplate("{{#let (randomId) as |rootId|}}\n <div class={{@className}} ...attributes>\n <EuiTabs @expand={{@expand}} @display={{@display}} @size={{@size}} {{on \"focusin\" this.initializeFocus}} {{didInsert this.setTabsRef}}>\n {{#each @tabs as |tab|}}\n <EuiTab @id={{tab.id}} aria-controls={{rootId}} @isSelected={{eq tab.id this.selectedTab.id}} @disabled={{tab.disabled}} {{on \"click\" (fn this.onTabClick tab)}}>\n {{tab.name}}\n </EuiTab>\n {{/each}}\n </EuiTabs>\n\n {{#let (findBy \"id\" (if this.selectedTab this.selectedTab.id \"\") @tabs) as |currentTab|}}\n {{#if currentTab}}\n <div role=\"tabpanel\" id={{rootId}} aria-labelledby={{currentTab.id}}>\n {{#if (has-block \"selectedTabContent\")}}\n {{yield currentTab to=\"selectedTabContent\"}}\n {{else}}\n {{currentTab.content}}\n {{/if}}\n </div>\n {{/if}}\n {{/let}}\n </div>\n{{/let}}", {
108
109
  strictMode: true,
109
110
  scope: () => ({
110
111
  randomId,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-tabbed-content.js","sources":["../../src/components/eui-tabbed-content.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { scheduleOnce } from '@ember/runloop';\nimport type Owner from '@ember/owner';\n\nimport findBy from '@nullvoxpopuli/ember-composable-helpers/helpers/find-by';\nimport { eq } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiTab from './eui-tab.gts';\nimport EuiTabs from './eui-tabs.gts';\n\nimport type { CommonArgs } from './common.ts';\nimport type { EuiTabsSignature } from './eui-tabs';\nimport type { ComponentLike } from '@glint/template';\n\n/** A tab of EuiTabbedContent. */\nexport interface EuiTabbedContentTab {\n /** Unique id. */\n id: string;\n /** The tab's label. */\n name: string;\n /**\n * The panel shown while the tab is selected (a component). Or render\n * panels with the `<:selectedTabContent>` block.\n */\n content?: ComponentLike;\n /** Disables the tab. */\n disabled?: boolean;\n}\n\nexport type EuiTabbedContentArgs = CommonArgs & {\n /**\n * When tabbing into the tabs, set the focus on `initial` for the first tab,\n * or `selected` for the currently selected tab. Best use case is for inside of\n * overlay content like popovers or flyouts.\n */\n autoFocus?: 'initial' | 'selected';\n /**\n * Choose `default` or alternative `condensed` display styles\n */\n display?: EuiTabsSignature['Args']['display'];\n /**\n * Evenly stretches each tab to fill the horizontal space\n */\n expand?: boolean;\n /**\n * Use this prop to set the initially selected tab while letting the tabbed content component\n * control selection state internally\n */\n initialSelectedTab?: EuiTabbedContentTab;\n /** Called with the clicked tab. */\n onTabClick?: (selectedTab: EuiTabbedContentTab) => void;\n /**\n * Use this prop if you want to control selection state within the owner component\n */\n selectedTab?: EuiTabbedContentTab;\n /** Size of the tabs: `'s'`, `'m'`, `'l'` or `'xl'`. Defaults to `'m'`. */\n size?: EuiTabsSignature['Args']['size'];\n /**\n * Each tab needs id and content properties, so we can associate it with its panel for accessibility.\n * The name property (a node) is also required to display to the user.\n */\n tabs: EuiTabbedContentTab[];\n};\n\n/** Tabs with their panels, managing the selected tab for you. For custom layouts use EuiTabs. */\nexport interface EuiTabbedContentSignature {\n Element: HTMLDivElement;\n Args: EuiTabbedContentArgs;\n Blocks: {\n /** Unused. */\n default: [EuiTabbedContentTab];\n /**\n * Renders the selected tab's panel (instead of its `content`); yields\n * the tab: `<:selectedTabContent as |tab|>{{#if (eq tab.id \"a\")}}…`.\n */\n selectedTabContent: [EuiTabbedContentTab];\n };\n}\n\nexport default class EuiTabbedContentComponent extends Component<EuiTabbedContentSignature> {\n @tracked selectedTabId;\n @tracked inFocus: boolean = false;\n tabsRef?: Element;\n\n get autoFocus() {\n return this.args.autoFocus || 'initial';\n }\n\n constructor(owner: Owner, args: EuiTabbedContentArgs) {\n super(owner, args);\n\n const { initialSelectedTab, selectedTab, tabs } = this.args;\n\n // Only track selection state if it's not controlled externally.\n if (!selectedTab) {\n this.selectedTabId =\n (initialSelectedTab && initialSelectedTab.id) || tabs[0]?.id;\n }\n }\n\n get selectedTab() {\n const { selectedTab: externalSelectedTab, tabs } = this.args;\n\n return (\n externalSelectedTab ||\n tabs.find((tab: EuiTabbedContentTab) => tab.id === this.selectedTabId)\n );\n }\n\n setTabsRef = (element: Element) => {\n this.tabsRef = element;\n // Current short-term solution for event listener (see https://github.com/elastic/eui/pull/2717)\n //@ts-expect-error\n this.tabsRef.addEventListener('focusout', this.removeFocus);\n };\n\n willDestroy(): void {\n super.willDestroy();\n\n if (this.tabsRef) {\n //@ts-expect-error\n this.tabsRef.removeEventListener('focusout', this.removeFocus);\n }\n\n this.tabsRef = undefined;\n }\n\n removeFocus = (blurEvent: FocusEvent) => {\n // only set inFocus to false if the wrapping div doesn't contain the now-focusing element\n const currentTarget = blurEvent.currentTarget! as HTMLElement;\n const relatedTarget = blurEvent.relatedTarget! as HTMLElement;\n\n if (currentTarget.contains(relatedTarget) === false) {\n this.inFocus = true;\n }\n };\n\n onTabClick = (selectedTab: EuiTabbedContentTab) => {\n const { onTabClick, selectedTab: externalSelectedTab } = this.args;\n\n if (onTabClick) {\n onTabClick(selectedTab);\n }\n\n // Only track selection state if it's not controlled externally.\n if (!externalSelectedTab) {\n this.selectedTabId = selectedTab.id;\n\n const focusTab = () => {\n this.focusTab();\n };\n\n scheduleOnce('afterRender', this, focusTab);\n }\n };\n\n focusTab = () => {\n if (this.tabsRef) {\n const targetTab: HTMLDivElement | null = this.tabsRef.querySelector(\n `#${this.selectedTabId}`\n );\n\n targetTab!.focus();\n }\n };\n\n initializeFocus = () => {\n if (!this.inFocus && this.autoFocus === 'selected') {\n // Must wait for setState to finish before calling `.focus()`\n // as the focus call triggers a blur on the first tab\n this.inFocus = true;\n\n const focusTab = () => {\n this.focusTab();\n };\n\n scheduleOnce('afterRender', this, focusTab);\n }\n };\n\n <template>\n {{#let (randomId) as |rootId|}}\n <div class={{@className}} ...attributes>\n <EuiTabs\n @expand={{@expand}}\n @display={{@display}}\n @size={{@size}}\n {{on \"focus\" this.initializeFocus}}\n {{didInsert this.setTabsRef}}\n >\n {{#each @tabs as |tab|}}\n <EuiTab\n @id={{tab.id}}\n aria-controls={{rootId}}\n @isSelected={{eq tab.id this.selectedTab.id}}\n @disabled={{tab.disabled}}\n {{on \"click\" (fn this.onTabClick tab)}}\n >\n {{tab.name}}\n </EuiTab>\n {{/each}}\n </EuiTabs>\n\n {{#let\n (findBy \"id\" (if this.selectedTabId this.selectedTabId \"\") @tabs)\n as |currentTab|\n }}\n {{#if currentTab}}\n <div\n role=\"tabpanel\"\n id={{rootId}}\n aria-labelledby={{currentTab.id}}\n >\n {{#if (has-block \"selectedTabContent\")}}\n {{yield currentTab to=\"selectedTabContent\"}}\n {{else}}\n {{currentTab.content}}\n {{/if}}\n </div>\n {{/if}}\n {{/let}}\n </div>\n {{/let}}\n </template>\n}\n"],"names":["EuiTabbedContentComponent","Component","g","prototype","tracked","i","tabsRef","autoFocus","args","constructor","owner","initialSelectedTab","selectedTab","tabs","selectedTabId","id","externalSelectedTab","find","tab","setTabsRef","element","addEventListener","removeFocus","willDestroy","removeEventListener","undefined","blurEvent","currentTarget","relatedTarget","contains","inFocus","onTabClick","focusTab","scheduleOnce","targetTab","querySelector","focus","initializeFocus","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","EuiTabs","on","didInsert","EuiTab","eq","fn","findBy"],"mappings":"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"}
1
+ {"version":3,"file":"eui-tabbed-content.js","sources":["../../src/components/eui-tabbed-content.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { scheduleOnce } from '@ember/runloop';\nimport type Owner from '@ember/owner';\n\nimport findBy from '@nullvoxpopuli/ember-composable-helpers/helpers/find-by';\nimport { eq } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiTab from './eui-tab.gts';\nimport EuiTabs from './eui-tabs.gts';\n\nimport type { CommonArgs } from './common.ts';\nimport type { EuiTabsSignature } from './eui-tabs';\nimport type { ComponentLike } from '@glint/template';\n\n/** A tab of EuiTabbedContent. */\nexport interface EuiTabbedContentTab {\n /** Unique id. */\n id: string;\n /** The tab's label. */\n name: string;\n /**\n * The panel shown while the tab is selected (a component). Or render\n * panels with the `<:selectedTabContent>` block.\n */\n content?: ComponentLike;\n /** Disables the tab. */\n disabled?: boolean;\n}\n\nexport type EuiTabbedContentArgs = CommonArgs & {\n /**\n * When tabbing into the tabs, set the focus on `initial` for the first tab,\n * or `selected` for the currently selected tab. Best use case is for inside of\n * overlay content like popovers or flyouts.\n */\n autoFocus?: 'initial' | 'selected';\n /**\n * Choose `default` or alternative `condensed` display styles\n */\n display?: EuiTabsSignature['Args']['display'];\n /**\n * Evenly stretches each tab to fill the horizontal space\n */\n expand?: boolean;\n /**\n * Use this prop to set the initially selected tab while letting the tabbed content component\n * control selection state internally\n */\n initialSelectedTab?: EuiTabbedContentTab;\n /** Called with the clicked tab. */\n onTabClick?: (selectedTab: EuiTabbedContentTab) => void;\n /**\n * Use this prop if you want to control selection state within the owner component\n */\n selectedTab?: EuiTabbedContentTab;\n /** Size of the tabs: `'s'`, `'m'`, `'l'` or `'xl'`. Defaults to `'m'`. */\n size?: EuiTabsSignature['Args']['size'];\n /**\n * Each tab needs id and content properties, so we can associate it with its panel for accessibility.\n * The name property (a node) is also required to display to the user.\n */\n tabs: EuiTabbedContentTab[];\n};\n\n/** Tabs with their panels, managing the selected tab for you. For custom layouts use EuiTabs. */\nexport interface EuiTabbedContentSignature {\n Element: HTMLDivElement;\n Args: EuiTabbedContentArgs;\n Blocks: {\n /** Unused. */\n default: [EuiTabbedContentTab];\n /**\n * Renders the selected tab's panel (instead of its `content`); yields\n * the tab: `<:selectedTabContent as |tab|>{{#if (eq tab.id \"a\")}}…`.\n */\n selectedTabContent: [EuiTabbedContentTab];\n };\n}\n\nexport default class EuiTabbedContentComponent extends Component<EuiTabbedContentSignature> {\n @tracked selectedTabId;\n @tracked inFocus: boolean = false;\n tabsRef?: Element;\n\n get autoFocus() {\n return this.args.autoFocus || 'initial';\n }\n\n constructor(owner: Owner, args: EuiTabbedContentArgs) {\n super(owner, args);\n\n const { initialSelectedTab, selectedTab, tabs } = this.args;\n\n // Only track selection state if it's not controlled externally.\n if (!selectedTab) {\n this.selectedTabId =\n (initialSelectedTab && initialSelectedTab.id) || tabs[0]?.id;\n }\n }\n\n get selectedTab() {\n const { selectedTab: externalSelectedTab, tabs } = this.args;\n\n return (\n externalSelectedTab ||\n tabs.find((tab: EuiTabbedContentTab) => tab.id === this.selectedTabId)\n );\n }\n\n setTabsRef = (element: Element) => {\n this.tabsRef = element;\n // Current short-term solution for event listener (see https://github.com/elastic/eui/pull/2717)\n //@ts-expect-error\n this.tabsRef.addEventListener('focusout', this.removeFocus);\n };\n\n willDestroy(): void {\n super.willDestroy();\n\n if (this.tabsRef) {\n //@ts-expect-error\n this.tabsRef.removeEventListener('focusout', this.removeFocus);\n }\n\n this.tabsRef = undefined;\n }\n\n removeFocus = (blurEvent: FocusEvent) => {\n // only set inFocus to false if the wrapping div doesn't contain the now-focusing element\n const currentTarget = blurEvent.currentTarget! as HTMLElement;\n const relatedTarget = blurEvent.relatedTarget! as HTMLElement;\n\n if (currentTarget.contains(relatedTarget) === false) {\n this.inFocus = false;\n }\n };\n\n onTabClick = (selectedTab: EuiTabbedContentTab) => {\n const { onTabClick, selectedTab: externalSelectedTab } = this.args;\n\n if (onTabClick) {\n onTabClick(selectedTab);\n }\n\n // Only track selection state if it's not controlled externally.\n if (!externalSelectedTab) {\n this.selectedTabId = selectedTab.id;\n\n const focusTab = () => {\n this.focusTab();\n };\n\n scheduleOnce('afterRender', this, focusTab);\n }\n };\n\n focusTab = () => {\n const selectedTab = this.selectedTab;\n\n if (this.tabsRef && selectedTab) {\n const targetTab = this.tabsRef.querySelector<HTMLElement>(\n `#${CSS.escape(selectedTab.id)}`\n );\n\n targetTab?.focus();\n }\n };\n\n initializeFocus = () => {\n if (!this.inFocus && this.autoFocus === 'selected') {\n // Must wait for setState to finish before calling `.focus()`\n // as the focus call triggers a blur on the first tab\n this.inFocus = true;\n\n const focusTab = () => {\n this.focusTab();\n };\n\n scheduleOnce('afterRender', this, focusTab);\n }\n };\n\n <template>\n {{#let (randomId) as |rootId|}}\n <div class={{@className}} ...attributes>\n <EuiTabs\n @expand={{@expand}}\n @display={{@display}}\n @size={{@size}}\n {{on \"focusin\" this.initializeFocus}}\n {{didInsert this.setTabsRef}}\n >\n {{#each @tabs as |tab|}}\n <EuiTab\n @id={{tab.id}}\n aria-controls={{rootId}}\n @isSelected={{eq tab.id this.selectedTab.id}}\n @disabled={{tab.disabled}}\n {{on \"click\" (fn this.onTabClick tab)}}\n >\n {{tab.name}}\n </EuiTab>\n {{/each}}\n </EuiTabs>\n\n {{#let\n (findBy \"id\" (if this.selectedTab this.selectedTab.id \"\") @tabs)\n as |currentTab|\n }}\n {{#if currentTab}}\n <div\n role=\"tabpanel\"\n id={{rootId}}\n aria-labelledby={{currentTab.id}}\n >\n {{#if (has-block \"selectedTabContent\")}}\n {{yield currentTab to=\"selectedTabContent\"}}\n {{else}}\n {{currentTab.content}}\n {{/if}}\n </div>\n {{/if}}\n {{/let}}\n </div>\n {{/let}}\n </template>\n}\n"],"names":["EuiTabbedContentComponent","Component","g","prototype","tracked","i","tabsRef","autoFocus","args","constructor","owner","initialSelectedTab","selectedTab","tabs","selectedTabId","id","externalSelectedTab","find","tab","setTabsRef","element","addEventListener","removeFocus","willDestroy","removeEventListener","undefined","blurEvent","currentTarget","relatedTarget","contains","inFocus","onTabClick","focusTab","scheduleOnce","targetTab","querySelector","CSS","escape","focus","initializeFocus","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","EuiTabs","on","didInsert","EuiTab","eq","fn","findBy"],"mappings":"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"}
@@ -2,7 +2,6 @@ import Component from '@glimmer/component';
2
2
  import didInsert from '@ember/render-modifiers/modifiers/did-insert';
3
3
  import { on } from '@ember/modifier';
4
4
  import { service } from '@ember/service';
5
- import { element } from 'ember-element-helper';
6
5
  import { alignClasses, widthStyle } from '../-private/table.js';
7
6
  import EuiIcon from './eui-icon.js';
8
7
  import EuiImage from './eui-inner-text.js';
@@ -39,7 +38,6 @@ class EuiTableHeaderCell extends Component {
39
38
  setComponentTemplate(precompileTemplate("{{#let (element (if (has-block) \"th\" \"td\")) as |Cell|}}\n <Cell class={{this.classes}} scope={{if (has-block) (if @scope @scope \"col\")}} role=\"columnheader\" aria-sort={{this.ariaSort}} aria-live={{if this.isSortable \"polite\"}} style={{widthStyle @width}} ...attributes>\n {{#if (and2 @onSort (not2 @readOnly))}}\n <button type=\"button\" class=\"euiTableHeaderButton {{if @isSorted \"euiTableHeaderButton-isSorted\"}}\" data-test-subj=\"tableHeaderSortButton\" {{on \"click\" (sortHandler @onSort)}}>\n <span class={{this.contentClasses}}>\n <EuiInnerText as |ref innerText|>\n <span class=\"euiTableCellContent__text\" title={{this.title innerText}} {{didInsert ref}}>{{yield}}</span>\n </EuiInnerText>\n {{#if @description}}\n <EuiScreenReaderOnly>{{@description}}</EuiScreenReaderOnly>\n {{/if}}\n {{#if @isSorted}}\n <EuiIcon class=\"euiTableSortIcon\" @type={{if @isSortAscending \"sortUp\" \"sortDown\"}} @size=\"m\" />\n {{/if}}\n </span>\n </button>\n {{else}}\n <span class={{this.contentClasses}}>\n <EuiInnerText as |ref innerText|>\n <span class=\"euiTableCellContent__text\" title={{this.title innerText}} {{didInsert ref}}>{{yield}}</span>\n </EuiInnerText>\n {{#if @description}}\n <EuiScreenReaderOnly>{{@description}}</EuiScreenReaderOnly>\n {{/if}}\n {{#if (and2 this.isSortable @isSorted)}}\n <EuiIcon class=\"euiTableSortIcon\" @type={{if @isSortAscending \"sortUp\" \"sortDown\"}} @size=\"m\" />\n {{/if}}\n </span>\n {{/if}}\n </Cell>\n{{/let}}", {
40
39
  strictMode: true,
41
40
  scope: () => ({
42
- element,
43
41
  widthStyle,
44
42
  and2,
45
43
  not2,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-table-header-cell.js","sources":["../../src/components/eui-table-header-cell.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { on } from '@ember/modifier';\nimport { service } from '@ember/service';\n\nimport { element } from 'ember-element-helper';\n\nimport { alignClasses, widthStyle } from '../-private/table.ts';\nimport EuiIcon from './eui-icon.gts';\nimport EuiInnerText from './eui-inner-text.gts';\nimport EuiScreenReaderOnly from './eui-screen-reader-only.gts';\n\nimport type EuiI18n from '../services/eui-i18n';\nimport type { TableAlignment, TableMobileOptions } from '../-private/table.ts';\n\n/**\n * A column header of an `EuiTable`. With `@onSort` it is a button that\n * shows the sort direction (`@isSorted`, `@isSortAscending`).\n */\nexport interface EuiTableHeaderCellSignature {\n Element: HTMLTableCellElement;\n Args: {\n /** `'left'`, `'right'` (numbers) or `'center'`. Defaults to `'left'`. */\n align?: TableAlignment;\n /** Makes the header a button sorting the column. */\n onSort?: (event: MouseEvent) => void;\n /** The table is sorted by this column: shows the direction. */\n isSorted?: boolean;\n /** Ascending order (arrow up); descending otherwise. */\n isSortAscending?: boolean;\n /** Shows the sort state without the button. */\n readOnly?: boolean;\n /** Width, e.g. `100` (px) or `'20%'`. */\n width?: number | string;\n /** More about the column, in its title and for screen readers. */\n description?: string;\n /** `scope` of the `<th>`. Defaults to `'col'`. */\n scope?: string;\n /** `{ show, only }` on small screens. */\n mobileOptions?: TableMobileOptions;\n };\n Blocks: {\n /** The column's name. */\n default: [];\n };\n}\n\nexport default class EuiTableHeaderCell extends Component<EuiTableHeaderCellSignature> {\n @service declare euiI18n: EuiI18n;\n\n get classes(): string {\n const mobile = this.args.mobileOptions ?? {};\n\n return [\n 'euiTableHeaderCell',\n mobile.only && 'euiTableHeaderCell--hideForDesktop',\n mobile.show === false && 'euiTableHeaderCell--hideForMobile'\n ]\n .filter(Boolean)\n .join(' ');\n }\n\n get contentClasses(): string {\n return ['euiTableCellContent', alignClasses(this.args.align)].filter(Boolean).join(' ');\n }\n\n get isSortable(): boolean {\n return Boolean(this.args.onSort || this.args.isSorted);\n }\n\n get ariaSort(): string | undefined {\n if (!this.isSortable) return undefined;\n if (!this.args.isSorted) return 'none';\n\n return this.args.isSortAscending ? 'ascending' : 'descending';\n }\n\n title = (innerText: string): string =>\n this.args.description\n ? this.euiI18n.lookupToken('euiTableHeaderCell.titleTextWithDesc', '{innerText}; {description}', {\n innerText,\n description: this.args.description\n })\n : innerText;\n\n <template>\n {{#let (element (if (has-block) \"th\" \"td\")) as |Cell|}}\n <Cell\n class={{this.classes}}\n scope={{if (has-block) (if @scope @scope \"col\")}}\n role=\"columnheader\"\n aria-sort={{this.ariaSort}}\n aria-live={{if this.isSortable \"polite\"}}\n style={{widthStyle @width}}\n ...attributes\n >\n {{#if (and2 @onSort (not2 @readOnly))}}\n <button\n type=\"button\"\n class=\"euiTableHeaderButton {{if @isSorted 'euiTableHeaderButton-isSorted'}}\"\n data-test-subj=\"tableHeaderSortButton\"\n {{on \"click\" (sortHandler @onSort)}}\n >\n <span class={{this.contentClasses}}>\n <EuiInnerText as |ref innerText|>\n <span\n class=\"euiTableCellContent__text\"\n title={{this.title innerText}}\n {{didInsert ref}}\n >{{yield}}</span>\n </EuiInnerText>\n {{#if @description}}\n <EuiScreenReaderOnly>{{@description}}</EuiScreenReaderOnly>\n {{/if}}\n {{#if @isSorted}}\n <EuiIcon\n class=\"euiTableSortIcon\"\n @type={{if @isSortAscending \"sortUp\" \"sortDown\"}}\n @size=\"m\"\n />\n {{/if}}\n </span>\n </button>\n {{else}}\n <span class={{this.contentClasses}}>\n <EuiInnerText as |ref innerText|>\n <span\n class=\"euiTableCellContent__text\"\n title={{this.title innerText}}\n {{didInsert ref}}\n >{{yield}}</span>\n </EuiInnerText>\n {{#if @description}}\n <EuiScreenReaderOnly>{{@description}}</EuiScreenReaderOnly>\n {{/if}}\n {{#if (and2 this.isSortable @isSorted)}}\n <EuiIcon\n class=\"euiTableSortIcon\"\n @type={{if @isSortAscending \"sortUp\" \"sortDown\"}}\n @size=\"m\"\n />\n {{/if}}\n </span>\n {{/if}}\n </Cell>\n {{/let}}\n </template>\n}\n\nfunction sortHandler(onSort?: (event: MouseEvent) => void): (event: MouseEvent) => void {\n return (event) => onSort?.(event);\n}\n\nfunction and2(a: unknown, b: unknown): boolean {\n return Boolean(a && b);\n}\n\nfunction not2(a: unknown): boolean {\n return !a;\n}\n"],"names":["EuiTableHeaderCell","Component","g","prototype","service","i","classes","mobile","args","mobileOptions","only","show","filter","Boolean","join","contentClasses","alignClasses","align","isSortable","onSort","isSorted","ariaSort","undefined","isSortAscending","title","innerText","description","euiI18n","lookupToken","setComponentTemplate","precompileTemplate","strictMode","scope","element","widthStyle","and2","not2","on","sortHandler","EuiInnerText","didInsert","EuiScreenReaderOnly","EuiIcon","event","a","b"],"mappings":";;;;;;;;;;;;;AA+Ce,MAAMA,2BAA2BC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CACvDC,OAAA,CAAA,CAAA;AAAA;EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAA,MAAA;EAED,IAAIC,OAAAA,GAAkB;IACpB,MAAMC,SAAS,IAAI,CAACC,IAAI,CAACC,aAAa,IAAI,EAAC;IAE3C,OAAO,CACL,oBAAA,EACAF,MAAA,CAAOG,IAAI,IAAI,oCAAA,EACfH,MAAA,CAAOI,IAAI,KAAK,KAAA,IAAS,mCAAA,CAC1B,CACEC,MAAM,CAACC,OAAA,CAAA,CACPC,IAAI,CAAC,GAAA,CAAA;AACV,EAAA;EAEA,IAAIC,cAAAA,GAAyB;IAC3B,OAAO,CAAC,qBAAA,EAAuBC,YAAA,CAAa,IAAI,CAACR,IAAI,CAACS,KAAK,CAAA,CAAE,CAACL,MAAM,CAACC,OAAA,CAAA,CAASC,IAAI,CAAC,GAAA,CAAA;AACrF,EAAA;EAEA,IAAII,UAAAA,GAAsB;AACxB,IAAA,OAAOL,OAAA,CAAQ,IAAI,CAACL,IAAI,CAACW,MAAM,IAAI,IAAI,CAACX,IAAI,CAACY,QAAQ,CAAA;AACvD,EAAA;EAEA,IAAIC,QAAAA,GAA+B;AACjC,IAAA,IAAI,CAAC,IAAI,CAACH,UAAU,EAAE,OAAOI,SAAA;IAC7B,IAAI,CAAC,IAAI,CAACd,IAAI,CAACY,QAAQ,EAAE,OAAO,MAAA;IAEhC,OAAO,IAAI,CAACZ,IAAI,CAACe,eAAe,GAAG,WAAA,GAAc,YAAA;AACnD,EAAA;AAEAC,EAAAA,KAAA,GAASC,SAAiB,IACxB,IAAI,CAACjB,IAAI,CAACkB,WAAW,GACjB,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,wCAAwC,4BAAA,EAA8B;IAC7FH,SAAA;AACAC,IAAAA,WAAA,EAAa,IAAI,CAAClB,IAAI,CAACkB;GACzB,CAAA,GACAD,SAAA;AAEN,EAAA;IAAAI,oBAAA,CAAAC,kBAAA,CAAA,+oDAAA,EA6DA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAC,IAAA;QAAAC,EAAA;QAAAC,WAAA;sBAAAC,QAAA;QAAAC,SAAA;QAAAC,mBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;AAEA,SAASJ,WAAAA,CAAYnB,MAAoC,EAA8B;AACrF,EAAA,OAAQwB,SAAUxB,MAAA,GAASwB,KAAA,CAAA;AAC7B;AAEA,SAASR,KAAKS,CAAU,EAAEC,CAAU,EAAU;AAC5C,EAAA,OAAOhC,QAAQ+B,CAAA,IAAKC,CAAA,CAAA;AACtB;AAEA,SAAST,IAAAA,CAAKQ,CAAU,EAAU;AAChC,EAAA,OAAO,CAACA,CAAA;AACV;;"}
1
+ {"version":3,"file":"eui-table-header-cell.js","sources":["../../src/components/eui-table-header-cell.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { on } from '@ember/modifier';\nimport { service } from '@ember/service';\n\n\nimport { alignClasses, widthStyle } from '../-private/table.ts';\nimport EuiIcon from './eui-icon.gts';\nimport EuiInnerText from './eui-inner-text.gts';\nimport EuiScreenReaderOnly from './eui-screen-reader-only.gts';\n\nimport type EuiI18n from '../services/eui-i18n';\nimport type { TableAlignment, TableMobileOptions } from '../-private/table.ts';\n\n/**\n * A column header of an `EuiTable`. With `@onSort` it is a button that\n * shows the sort direction (`@isSorted`, `@isSortAscending`).\n */\nexport interface EuiTableHeaderCellSignature {\n Element: HTMLTableCellElement;\n Args: {\n /** `'left'`, `'right'` (numbers) or `'center'`. Defaults to `'left'`. */\n align?: TableAlignment;\n /** Makes the header a button sorting the column. */\n onSort?: (event: MouseEvent) => void;\n /** The table is sorted by this column: shows the direction. */\n isSorted?: boolean;\n /** Ascending order (arrow up); descending otherwise. */\n isSortAscending?: boolean;\n /** Shows the sort state without the button. */\n readOnly?: boolean;\n /** Width, e.g. `100` (px) or `'20%'`. */\n width?: number | string;\n /** More about the column, in its title and for screen readers. */\n description?: string;\n /** `scope` of the `<th>`. Defaults to `'col'`. */\n scope?: string;\n /** `{ show, only }` on small screens. */\n mobileOptions?: TableMobileOptions;\n };\n Blocks: {\n /** The column's name. */\n default: [];\n };\n}\n\nexport default class EuiTableHeaderCell extends Component<EuiTableHeaderCellSignature> {\n @service declare euiI18n: EuiI18n;\n\n get classes(): string {\n const mobile = this.args.mobileOptions ?? {};\n\n return [\n 'euiTableHeaderCell',\n mobile.only && 'euiTableHeaderCell--hideForDesktop',\n mobile.show === false && 'euiTableHeaderCell--hideForMobile'\n ]\n .filter(Boolean)\n .join(' ');\n }\n\n get contentClasses(): string {\n return ['euiTableCellContent', alignClasses(this.args.align)].filter(Boolean).join(' ');\n }\n\n get isSortable(): boolean {\n return Boolean(this.args.onSort || this.args.isSorted);\n }\n\n get ariaSort(): string | undefined {\n if (!this.isSortable) return undefined;\n if (!this.args.isSorted) return 'none';\n\n return this.args.isSortAscending ? 'ascending' : 'descending';\n }\n\n title = (innerText: string): string =>\n this.args.description\n ? this.euiI18n.lookupToken('euiTableHeaderCell.titleTextWithDesc', '{innerText}; {description}', {\n innerText,\n description: this.args.description\n })\n : innerText;\n\n <template>\n {{#let (element (if (has-block) \"th\" \"td\")) as |Cell|}}\n <Cell\n class={{this.classes}}\n scope={{if (has-block) (if @scope @scope \"col\")}}\n role=\"columnheader\"\n aria-sort={{this.ariaSort}}\n aria-live={{if this.isSortable \"polite\"}}\n style={{widthStyle @width}}\n ...attributes\n >\n {{#if (and2 @onSort (not2 @readOnly))}}\n <button\n type=\"button\"\n class=\"euiTableHeaderButton {{if @isSorted 'euiTableHeaderButton-isSorted'}}\"\n data-test-subj=\"tableHeaderSortButton\"\n {{on \"click\" (sortHandler @onSort)}}\n >\n <span class={{this.contentClasses}}>\n <EuiInnerText as |ref innerText|>\n <span\n class=\"euiTableCellContent__text\"\n title={{this.title innerText}}\n {{didInsert ref}}\n >{{yield}}</span>\n </EuiInnerText>\n {{#if @description}}\n <EuiScreenReaderOnly>{{@description}}</EuiScreenReaderOnly>\n {{/if}}\n {{#if @isSorted}}\n <EuiIcon\n class=\"euiTableSortIcon\"\n @type={{if @isSortAscending \"sortUp\" \"sortDown\"}}\n @size=\"m\"\n />\n {{/if}}\n </span>\n </button>\n {{else}}\n <span class={{this.contentClasses}}>\n <EuiInnerText as |ref innerText|>\n <span\n class=\"euiTableCellContent__text\"\n title={{this.title innerText}}\n {{didInsert ref}}\n >{{yield}}</span>\n </EuiInnerText>\n {{#if @description}}\n <EuiScreenReaderOnly>{{@description}}</EuiScreenReaderOnly>\n {{/if}}\n {{#if (and2 this.isSortable @isSorted)}}\n <EuiIcon\n class=\"euiTableSortIcon\"\n @type={{if @isSortAscending \"sortUp\" \"sortDown\"}}\n @size=\"m\"\n />\n {{/if}}\n </span>\n {{/if}}\n </Cell>\n {{/let}}\n </template>\n}\n\nfunction sortHandler(onSort?: (event: MouseEvent) => void): (event: MouseEvent) => void {\n return (event) => onSort?.(event);\n}\n\nfunction and2(a: unknown, b: unknown): boolean {\n return Boolean(a && b);\n}\n\nfunction not2(a: unknown): boolean {\n return !a;\n}\n"],"names":["EuiTableHeaderCell","Component","g","prototype","service","i","classes","mobile","args","mobileOptions","only","show","filter","Boolean","join","contentClasses","alignClasses","align","isSortable","onSort","isSorted","ariaSort","undefined","isSortAscending","title","innerText","description","euiI18n","lookupToken","setComponentTemplate","precompileTemplate","strictMode","scope","widthStyle","and2","not2","on","sortHandler","EuiInnerText","didInsert","EuiScreenReaderOnly","EuiIcon","event","a","b"],"mappings":";;;;;;;;;;;;AA8Ce,MAAMA,2BAA2BC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CACvDC,OAAA,CAAA,CAAA;AAAA;EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAA,MAAA;EAED,IAAIC,OAAAA,GAAkB;IACpB,MAAMC,SAAS,IAAI,CAACC,IAAI,CAACC,aAAa,IAAI,EAAC;IAE3C,OAAO,CACL,oBAAA,EACAF,MAAA,CAAOG,IAAI,IAAI,oCAAA,EACfH,MAAA,CAAOI,IAAI,KAAK,KAAA,IAAS,mCAAA,CAC1B,CACEC,MAAM,CAACC,OAAA,CAAA,CACPC,IAAI,CAAC,GAAA,CAAA;AACV,EAAA;EAEA,IAAIC,cAAAA,GAAyB;IAC3B,OAAO,CAAC,qBAAA,EAAuBC,YAAA,CAAa,IAAI,CAACR,IAAI,CAACS,KAAK,CAAA,CAAE,CAACL,MAAM,CAACC,OAAA,CAAA,CAASC,IAAI,CAAC,GAAA,CAAA;AACrF,EAAA;EAEA,IAAII,UAAAA,GAAsB;AACxB,IAAA,OAAOL,OAAA,CAAQ,IAAI,CAACL,IAAI,CAACW,MAAM,IAAI,IAAI,CAACX,IAAI,CAACY,QAAQ,CAAA;AACvD,EAAA;EAEA,IAAIC,QAAAA,GAA+B;AACjC,IAAA,IAAI,CAAC,IAAI,CAACH,UAAU,EAAE,OAAOI,SAAA;IAC7B,IAAI,CAAC,IAAI,CAACd,IAAI,CAACY,QAAQ,EAAE,OAAO,MAAA;IAEhC,OAAO,IAAI,CAACZ,IAAI,CAACe,eAAe,GAAG,WAAA,GAAc,YAAA;AACnD,EAAA;AAEAC,EAAAA,KAAA,GAASC,SAAiB,IACxB,IAAI,CAACjB,IAAI,CAACkB,WAAW,GACjB,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,wCAAwC,4BAAA,EAA8B;IAC7FH,SAAA;AACAC,IAAAA,WAAA,EAAa,IAAI,CAAClB,IAAI,CAACkB;GACzB,CAAA,GACAD,SAAA;AAEN,EAAA;IAAAI,oBAAA,CAAAC,kBAAA,CAAA,+oDAAA,EA6DA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAC,IAAA;QAAAC,EAAA;QAAAC,WAAA;sBAAAC,QAAA;QAAAC,SAAA;QAAAC,mBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;AAEA,SAASJ,WAAAA,CAAYlB,MAAoC,EAA8B;AACrF,EAAA,OAAQuB,SAAUvB,MAAA,GAASuB,KAAA,CAAA;AAC7B;AAEA,SAASR,KAAKS,CAAU,EAAEC,CAAU,EAAU;AAC5C,EAAA,OAAO/B,QAAQ8B,CAAA,IAAKC,CAAA,CAAA;AACtB;AAEA,SAAST,IAAAA,CAAKQ,CAAU,EAAU;AAChC,EAAA,OAAO,CAACA,CAAA;AACV;;"}
@@ -11,7 +11,7 @@ function restrictWidth(restrictWidth, style) {
11
11
  widthClassName = 'restrictWidth-custom';
12
12
  newStyle = {
13
13
  ...newStyle,
14
- maxWidth: restrictWidth
14
+ maxWidth: typeof restrictWidth === 'number' ? `${restrictWidth}px` : restrictWidth
15
15
  };
16
16
  }
17
17
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"eui-page-restrict-width.js","sources":["../../src/helpers/eui-page-restrict-width.ts"],"sourcesContent":["import { helper } from '@ember/component/helper';\n\nexport type _EuiPageRestrictWidth = {\n /**\n * Sets the max-width of the page,\n * set to `true` to use the default size of `1000px (1200 for Amsterdam)`,\n * set to `false` to not restrict the width,\n * set to a number for a custom width in px,\n * set to a string for a custom width in custom measurement.\n */\n restrictWidth?: boolean | number | string;\n};\n\nexport function restrictWidth(\n restrictWidth: _EuiPageRestrictWidth['restrictWidth'],\n style?: Record<string, unknown>\n) {\n let widthClassName;\n let newStyle = {\n ...(style || {})\n };\n\n if (restrictWidth === true) {\n widthClassName = 'restrictWidth-default';\n } else if (restrictWidth !== false) {\n widthClassName = 'restrictWidth-custom';\n newStyle = { ...newStyle, maxWidth: restrictWidth };\n }\n\n return { widthClassName, newStyle };\n}\n\nexport default helper(function ([restrict, style]: [\n _EuiPageRestrictWidth['restrictWidth'],\n Record<string, unknown> | undefined\n]) {\n return restrictWidth(restrict, style);\n});\n"],"names":["restrictWidth","style","widthClassName","newStyle","maxWidth","helper","restrict"],"mappings":";;AAaO,SAASA,aAAaA,CAC3BA,aAAqD,EACrDC,KAA+B,EAC/B;AACA,EAAA,IAAIC,cAAc;AAClB,EAAA,IAAIC,QAAQ,GAAG;IACb,IAAIF,KAAK,IAAI,EAAE;GAChB;EAED,IAAID,aAAa,KAAK,IAAI,EAAE;AAC1BE,IAAAA,cAAc,GAAG,uBAAuB;AAC1C,EAAA,CAAC,MAAM,IAAIF,aAAa,KAAK,KAAK,EAAE;AAClCE,IAAAA,cAAc,GAAG,sBAAsB;AACvCC,IAAAA,QAAQ,GAAG;AAAE,MAAA,GAAGA,QAAQ;AAAEC,MAAAA,QAAQ,EAAEJ;KAAe;AACrD,EAAA;EAEA,OAAO;IAAEE,cAAc;AAAEC,IAAAA;GAAU;AACrC;AAEA,2BAAeE,MAAM,CAAC,UAAU,CAACC,QAAQ,EAAEL,KAAK,CAG/C,EAAE;AACD,EAAA,OAAOD,aAAa,CAACM,QAAQ,EAAEL,KAAK,CAAC;AACvC,CAAC,CAAC;;"}
1
+ {"version":3,"file":"eui-page-restrict-width.js","sources":["../../src/helpers/eui-page-restrict-width.ts"],"sourcesContent":["import { helper } from '@ember/component/helper';\n\nexport type _EuiPageRestrictWidth = {\n /**\n * Sets the max-width of the page,\n * set to `true` to use the default size of `1000px (1200 for Amsterdam)`,\n * set to `false` to not restrict the width,\n * set to a number for a custom width in px,\n * set to a string for a custom width in custom measurement.\n */\n restrictWidth?: boolean | number | string;\n};\n\nexport function restrictWidth(\n restrictWidth: _EuiPageRestrictWidth['restrictWidth'],\n style?: Record<string, unknown>\n) {\n let widthClassName;\n let newStyle = {\n ...(style || {})\n };\n\n if (restrictWidth === true) {\n widthClassName = 'restrictWidth-default';\n } else if (restrictWidth !== false) {\n widthClassName = 'restrictWidth-custom';\n newStyle = {\n ...newStyle,\n maxWidth:\n typeof restrictWidth === 'number' ? `${restrictWidth}px` : restrictWidth\n };\n }\n\n return { widthClassName, newStyle };\n}\n\nexport default helper(function ([restrict, style]: [\n _EuiPageRestrictWidth['restrictWidth'],\n Record<string, unknown> | undefined\n]) {\n return restrictWidth(restrict, style);\n});\n"],"names":["restrictWidth","style","widthClassName","newStyle","maxWidth","helper","restrict"],"mappings":";;AAaO,SAASA,aAAaA,CAC3BA,aAAqD,EACrDC,KAA+B,EAC/B;AACA,EAAA,IAAIC,cAAc;AAClB,EAAA,IAAIC,QAAQ,GAAG;IACb,IAAIF,KAAK,IAAI,EAAE;GAChB;EAED,IAAID,aAAa,KAAK,IAAI,EAAE;AAC1BE,IAAAA,cAAc,GAAG,uBAAuB;AAC1C,EAAA,CAAC,MAAM,IAAIF,aAAa,KAAK,KAAK,EAAE;AAClCE,IAAAA,cAAc,GAAG,sBAAsB;AACvCC,IAAAA,QAAQ,GAAG;AACT,MAAA,GAAGA,QAAQ;MACXC,QAAQ,EACN,OAAOJ,aAAa,KAAK,QAAQ,GAAG,CAAA,EAAGA,aAAa,CAAA,EAAA,CAAI,GAAGA;KAC9D;AACH,EAAA;EAEA,OAAO;IAAEE,cAAc;AAAEC,IAAAA;GAAU;AACrC;AAEA,2BAAeE,MAAM,CAAC,UAAU,CAACC,QAAQ,EAAEL,KAAK,CAG/C,EAAE;AACD,EAAA,OAAOD,aAAa,CAACM,QAAQ,EAAEL,KAAK,CAAC;AACvC,CAAC,CAAC;;"}