@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
@@ -19,7 +19,7 @@ function activateOnKey(onClick, event) {
19
19
  onClick(event);
20
20
  }
21
21
  }
22
- const EuiPanel = setComponentTemplate(precompileTemplate("{{#let (argOrDefault @hasShadow true) (argOrDefault @color \"plain\") (argOrDefault @grow true) as |hasShadow color grow|}}\n {{#let (eq color \"plain\") (or (eq color \"plain\") (eq color \"transparent\")) as |canHaveShadow canHaveBorder|}}\n {{#if @onClick}}\n <div role=\"button\" class={{classNames (if (argOrDefault @isClickable true) \"euiPanel--isClickable\") (if (and canHaveShadow (eq hasShadow true)) \"euiPanel--hasShadow\") (if (and (not canHaveShadow) (eq hasShadow false)) \"euiPanel--noShadow\") (if (and canHaveBorder (eq @hasBorder true)) \"euiPanel--hasBorder\") (if (and (not canHaveBorder) (eq @hasBorder false)) \"euiPanel--noBorder\") (unless grow \"euiPanel--flexGrowZero\") componentName=\"EuiPanel\" paddingSize=(argOrDefault @paddingSize \"m\") borderRadius=(argOrDefault @borderRadius \"m\") color=color}} tabindex=\"0\" {{on \"click\" @onClick}} {{on \"keydown\" (fn activateOnKey @onClick)}} ...attributes>\n {{yield}}\n </div>\n {{else}}\n <div class={{classNames (if (and canHaveShadow (eq hasShadow true)) \"euiPanel--hasShadow\") (if (and (not canHaveShadow) (eq hasShadow false)) \"euiPanel--noShadow\") (if (and canHaveBorder (eq @hasBorder true)) \"euiPanel--hasBorder\") (if (and (not canHaveBorder) (eq @hasBorder false)) \"euiPanel--noBorder\") (unless grow \"euiPanel--flexGrowZero\") componentName=\"EuiPanel\" paddingSize=(argOrDefault @paddingSize \"m\") borderRadius=(argOrDefault @borderRadius \"m\") color=color}} ...attributes>\n {{yield}}\n </div>\n {{/if}}\n {{/let}}\n{{/let}}", {
22
+ const EuiPanel = setComponentTemplate(precompileTemplate("{{#let (argOrDefault @hasShadow true) (argOrDefault @color \"plain\") (argOrDefault @grow true) as |hasShadow color grow|}}\n {{#let (eq color \"plain\") (or (eq color \"plain\") (eq color \"transparent\")) as |canHaveShadow canHaveBorder|}}\n {{#if @onClick}}\n <div role=\"button\" class={{classNames (if (argOrDefault @isClickable true) \"euiPanel--isClickable\") (if (and canHaveShadow (eq hasShadow true)) \"euiPanel--hasShadow\") (if (or (not canHaveShadow) (eq hasShadow false)) \"euiPanel--noShadow\") (if (and canHaveBorder (eq @hasBorder true)) \"euiPanel--hasBorder\") (if (or (not canHaveBorder) (eq @hasBorder false)) \"euiPanel--noBorder\") (unless grow \"euiPanel--flexGrowZero\") componentName=\"EuiPanel\" paddingSize=(argOrDefault @paddingSize \"m\") borderRadius=(argOrDefault @borderRadius \"m\") color=color}} tabindex=\"0\" {{on \"click\" @onClick}} {{on \"keydown\" (fn activateOnKey @onClick)}} ...attributes>\n {{yield}}\n </div>\n {{else}}\n <div class={{classNames (if (and canHaveShadow (eq hasShadow true)) \"euiPanel--hasShadow\") (if (or (not canHaveShadow) (eq hasShadow false)) \"euiPanel--noShadow\") (if (and canHaveBorder (eq @hasBorder true)) \"euiPanel--hasBorder\") (if (or (not canHaveBorder) (eq @hasBorder false)) \"euiPanel--noBorder\") (unless grow \"euiPanel--flexGrowZero\") componentName=\"EuiPanel\" paddingSize=(argOrDefault @paddingSize \"m\") borderRadius=(argOrDefault @borderRadius \"m\") color=color}} ...attributes>\n {{yield}}\n </div>\n {{/if}}\n {{/let}}\n{{/let}}", {
23
23
  strictMode: true,
24
24
  scope: () => ({
25
25
  argOrDefault,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-panel.js","sources":["../../src/components/eui-panel.gts"],"sourcesContent":["import { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\n\nimport type {\n borderRadiusMapping,\n colorMapping,\n paddingSizeMapping} from '../utils/css-mappings/eui-panel.ts';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\n/** A box grouping content, with background, padding, border and shadow options. */\nexport interface EuiPanelSignature {\n Element: HTMLDivElement;\n Args: {\n /**\n * Adds a box shadow (plain panels only). Defaults to `true`.\n */\n hasShadow?: boolean;\n /**\n * Adds a border (plain and transparent panels only).\n */\n hasBorder?: boolean;\n /**\n * Padding: `'none'`, `'s'`, `'m'` or `'l'`. Defaults to `'m'`.\n */\n paddingSize?: keyof typeof paddingSizeMapping;\n /**\n * `'none'` or `'m'`. Defaults to `'m'`.\n */\n borderRadius?: keyof typeof borderRadiusMapping;\n /**\n * Background: `'plain'`, `'transparent'`, `'subdued'`, `'accent'`,\n * `'primary'`, `'success'`, `'warning'` or `'danger'`.\n * Defaults to `'plain'`.\n */\n color?: keyof typeof colorMapping;\n /**\n * Grows to fill a flex parent's height. Defaults to `true`.\n */\n grow?: boolean;\n /**\n * Makes the whole panel clickable (hover styles, `role=\"button\"`,\n * focusable, Enter and Space activate it).\n */\n onClick?: (e: MouseEvent) => void;\n /**\n * Hover styles for a clickable panel. Defaults to `true`.\n */\n isClickable?: boolean;\n };\n\n Blocks: {\n /** The panel's content. */\n default: [];\n };\n}\n\n/**\n * Enter and Space activate a clickable panel, like a native button. Keys\n * pressed in controls inside the panel are left alone.\n */\nfunction activateOnKey(\n onClick: (e: MouseEvent) => void,\n event: KeyboardEvent\n): void {\n if (event.target !== event.currentTarget) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n // Space would otherwise scroll the page\n event.preventDefault();\n onClick(event as unknown as MouseEvent);\n }\n}\n\nconst EuiPanel: TemplateOnlyComponent<EuiPanelSignature> = <template>\n {{#let\n (argOrDefault @hasShadow true)\n (argOrDefault @color \"plain\")\n (argOrDefault @grow true)\n as |hasShadow color grow|\n }}\n {{#let\n (eq color \"plain\") (or (eq color \"plain\") (eq color \"transparent\"))\n as |canHaveShadow canHaveBorder|\n }}\n {{#if @onClick}}\n <div\n role=\"button\"\n class={{classNames\n (if (argOrDefault @isClickable true) \"euiPanel--isClickable\")\n (if (and canHaveShadow (eq hasShadow true)) \"euiPanel--hasShadow\")\n (if\n (and (not canHaveShadow) (eq hasShadow false))\n \"euiPanel--noShadow\"\n )\n (if (and canHaveBorder (eq @hasBorder true)) \"euiPanel--hasBorder\")\n (if\n (and (not canHaveBorder) (eq @hasBorder false))\n \"euiPanel--noBorder\"\n )\n (unless grow \"euiPanel--flexGrowZero\")\n componentName=\"EuiPanel\"\n paddingSize=(argOrDefault @paddingSize \"m\")\n borderRadius=(argOrDefault @borderRadius \"m\")\n color=color\n }}\n tabindex=\"0\"\n {{on \"click\" @onClick}}\n {{on \"keydown\" (fn activateOnKey @onClick)}}\n ...attributes\n >\n {{yield}}\n </div>\n {{else}}\n <div\n class={{classNames\n (if (and canHaveShadow (eq hasShadow true)) \"euiPanel--hasShadow\")\n (if\n (and (not canHaveShadow) (eq hasShadow false))\n \"euiPanel--noShadow\"\n )\n (if (and canHaveBorder (eq @hasBorder true)) \"euiPanel--hasBorder\")\n (if\n (and (not canHaveBorder) (eq @hasBorder false))\n \"euiPanel--noBorder\"\n )\n (unless grow \"euiPanel--flexGrowZero\")\n componentName=\"EuiPanel\"\n paddingSize=(argOrDefault @paddingSize \"m\")\n borderRadius=(argOrDefault @borderRadius \"m\")\n color=color\n }}\n ...attributes\n >\n {{yield}}\n </div>\n {{/if}}\n {{/let}}\n {{/let}}\n</template>;\n\nexport default EuiPanel;\n"],"names":["activateOnKey","onClick","event","target","currentTarget","key","preventDefault","EuiPanel","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","eq","or","classNames","and","not","on","fn","templateOnly"],"mappings":";;;;;;;;;AA6DA;;;;AAIA,SAASA,aAAAA,CACPC,OAAgC,EAChCC,KAAoB,EACf;AACL,EAAA,IAAIA,KAAA,CAAMC,MAAM,KAAKD,KAAA,CAAME,aAAa,EAAE;EAE1C,IAAIF,MAAMG,GAAG,KAAK,WAAWH,KAAA,CAAMG,GAAG,KAAK,GAAA,EAAK;AAC9C;IACAH,KAAA,CAAMI,cAAc,EAAA;IACpBL,OAAA,CAAQC,KAAoB,CAAA;AAC9B,EAAA;AACF;AAEA,MAAMK,QAAgC,GAAAC,oBAAA,CAAqBC,kBAAA,CAAA,qiDAAA,EAiE3D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,UAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,EAAA;AAAAnB,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAoB,YAAA,EAAA;;"}
1
+ {"version":3,"file":"eui-panel.js","sources":["../../src/components/eui-panel.gts"],"sourcesContent":["import { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\n\nimport type {\n borderRadiusMapping,\n colorMapping,\n paddingSizeMapping\n} from '../utils/css-mappings/eui-panel.ts';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\n/** A box grouping content, with background, padding, border and shadow options. */\nexport interface EuiPanelSignature {\n Element: HTMLDivElement;\n Args: {\n /**\n * Adds a box shadow (plain panels only). Defaults to `true`.\n */\n hasShadow?: boolean;\n /**\n * Adds a border (plain and transparent panels only).\n */\n hasBorder?: boolean;\n /**\n * Padding: `'none'`, `'s'`, `'m'` or `'l'`. Defaults to `'m'`.\n */\n paddingSize?: keyof typeof paddingSizeMapping;\n /**\n * `'none'` or `'m'`. Defaults to `'m'`.\n */\n borderRadius?: keyof typeof borderRadiusMapping;\n /**\n * Background: `'plain'`, `'transparent'`, `'subdued'`, `'accent'`,\n * `'primary'`, `'success'`, `'warning'` or `'danger'`.\n * Defaults to `'plain'`.\n */\n color?: keyof typeof colorMapping;\n /**\n * Grows to fill a flex parent's height. Defaults to `true`.\n */\n grow?: boolean;\n /**\n * Makes the whole panel clickable (hover styles, `role=\"button\"`,\n * focusable, Enter and Space activate it).\n */\n onClick?: (e: MouseEvent) => void;\n /**\n * Hover styles for a clickable panel. Defaults to `true`.\n */\n isClickable?: boolean;\n };\n\n Blocks: {\n /** The panel's content. */\n default: [];\n };\n}\n\n/**\n * Enter and Space activate a clickable panel, like a native button. Keys\n * pressed in controls inside the panel are left alone.\n */\nfunction activateOnKey(\n onClick: (e: MouseEvent) => void,\n event: KeyboardEvent\n): void {\n if (event.target !== event.currentTarget) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n // Space would otherwise scroll the page\n event.preventDefault();\n onClick(event as unknown as MouseEvent);\n }\n}\n\nconst EuiPanel: TemplateOnlyComponent<EuiPanelSignature> = <template>\n {{#let\n (argOrDefault @hasShadow true)\n (argOrDefault @color \"plain\")\n (argOrDefault @grow true)\n as |hasShadow color grow|\n }}\n {{#let\n (eq color \"plain\") (or (eq color \"plain\") (eq color \"transparent\"))\n as |canHaveShadow canHaveBorder|\n }}\n {{#if @onClick}}\n <div\n role=\"button\"\n class={{classNames\n (if (argOrDefault @isClickable true) \"euiPanel--isClickable\")\n (if (and canHaveShadow (eq hasShadow true)) \"euiPanel--hasShadow\")\n (if\n (or (not canHaveShadow) (eq hasShadow false)) \"euiPanel--noShadow\"\n )\n (if (and canHaveBorder (eq @hasBorder true)) \"euiPanel--hasBorder\")\n (if\n (or (not canHaveBorder) (eq @hasBorder false))\n \"euiPanel--noBorder\"\n )\n (unless grow \"euiPanel--flexGrowZero\")\n componentName=\"EuiPanel\"\n paddingSize=(argOrDefault @paddingSize \"m\")\n borderRadius=(argOrDefault @borderRadius \"m\")\n color=color\n }}\n tabindex=\"0\"\n {{on \"click\" @onClick}}\n {{on \"keydown\" (fn activateOnKey @onClick)}}\n ...attributes\n >\n {{yield}}\n </div>\n {{else}}\n <div\n class={{classNames\n (if (and canHaveShadow (eq hasShadow true)) \"euiPanel--hasShadow\")\n (if\n (or (not canHaveShadow) (eq hasShadow false)) \"euiPanel--noShadow\"\n )\n (if (and canHaveBorder (eq @hasBorder true)) \"euiPanel--hasBorder\")\n (if\n (or (not canHaveBorder) (eq @hasBorder false))\n \"euiPanel--noBorder\"\n )\n (unless grow \"euiPanel--flexGrowZero\")\n componentName=\"EuiPanel\"\n paddingSize=(argOrDefault @paddingSize \"m\")\n borderRadius=(argOrDefault @borderRadius \"m\")\n color=color\n }}\n ...attributes\n >\n {{yield}}\n </div>\n {{/if}}\n {{/let}}\n {{/let}}\n</template>;\n\nexport default EuiPanel;\n"],"names":["activateOnKey","onClick","event","target","currentTarget","key","preventDefault","EuiPanel","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","eq","or","classNames","and","not","on","fn","templateOnly"],"mappings":";;;;;;;;;AA8DA;;;;AAIA,SAASA,aAAAA,CACPC,OAAgC,EAChCC,KAAoB,EACf;AACL,EAAA,IAAIA,KAAA,CAAMC,MAAM,KAAKD,KAAA,CAAME,aAAa,EAAE;EAE1C,IAAIF,MAAMG,GAAG,KAAK,WAAWH,KAAA,CAAMG,GAAG,KAAK,GAAA,EAAK;AAC9C;IACAH,KAAA,CAAMI,cAAc,EAAA;IACpBL,OAAA,CAAQC,KAAoB,CAAA;AAC9B,EAAA;AACF;AAEA,MAAMK,QAAgC,GAAAC,oBAAA,CAAqBC,kBAAA,CAAA,iiDAAA,EA+D3D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,UAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,EAAA;AAAAnB,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAoB,YAAA,EAAA;;"}
@@ -97,7 +97,7 @@ class EuiRangeComponent extends Component {
97
97
  n(this.prototype, "handleOnChange", [action]);
98
98
  }
99
99
  get isValid() {
100
- return isWithinRange(this.min, this.max, this.args.value || '');
100
+ return isWithinRange(this.min, this.max, this.args.value ?? '');
101
101
  }
102
102
  get digitTolerance() {
103
103
  return Math.max(String(this.min).length, String(this.max).length);
@@ -1 +1 @@
1
- {"version":3,"file":"eui-range.js","sources":["../../src/components/eui-range.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { later } from '@ember/runloop';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, eq, not } from 'ember-truth-helpers';\n\nimport argOrDefault, {\n argOrDefaultDecorator\n} from '../helpers/arg-or-default.ts';\nimport castTo from '../helpers/cast-to.ts';\nimport classNames from '../helpers/class-names.ts';\nimport { isWithinRange } from '../utils/number/index.ts';\nimport EuiInputPopover from './eui-input-popover.gts';\nimport EuiRangeHighlight from './eui-range-highlight.gts';\nimport EuiRangeInput from './eui-range-input.gts';\nimport EuiRangeLabel from './eui-range-label.gts';\nimport EuiRangeSlider from './eui-range-slider.gts';\nimport EuiRangeTooltip from './eui-range-tooltip.gts';\nimport EuiRangeTrack from './eui-range-track.gts';\nimport EuiRangeWrapper from './eui-range-wrapper.gts';\n\nimport type { EuiRangeLevel } from './eui-range-levels';\nimport type { EuiRangeTick } from './eui-range-ticks';\n\nexport interface EuiRangeArgs {\n /** Smaller slider, for dense forms. Defaults to `false`. */\n compressed?: boolean;\n /** Makes the number input read-only. */\n readOnly?: boolean;\n /** Stretches the slider to its container's width. Defaults to `false`. */\n fullWidth?: boolean;\n /** Id of the slider. Defaults to a generated id. */\n id?: string;\n /**\n * Create colored indicators for certain intervals\n */\n levels?: EuiRangeLevel[];\n /** Increment between values. Defaults to `1`. */\n step?: number;\n /**\n * Pass `true` to displays an extra input control for direct manipulation.\n * Pass `'inputWithPopover'` to only show the input but show the range in a dropdown.\n */\n showInput?: boolean | 'inputWithPopover';\n /**\n * Shows static min/max labels on the sides of the range slider.\n * Defaults to `false`.\n */\n showLabels?: boolean;\n /**\n * Shows a thick line from min to value. Defaults to `false`.\n */\n showRange?: boolean;\n /**\n * Shows clickable tick marks and labels at the given interval\n * (`step`/`tickInterval`). Defaults to `false`.\n */\n showTicks?: boolean;\n\n /** Lowest selectable value. Defaults to `0`. */\n min?: number;\n /** Highest selectable value. Defaults to `100`. */\n max?: number;\n /**\n * Shows the value in a tooltip above the thumb. Defaults to `false`.\n */\n showValue?: boolean;\n /**\n * Specified ticks at specified values\n */\n ticks?: EuiRangeTick[];\n /**\n * Modifies the number of tick marks and at what interval\n */\n tickInterval?: number;\n /**\n * Appends to the tooltip\n */\n valueAppend?: any;\n /**\n * Prepends to the tooltip\n */\n valuePrepend?: any;\n\n /**\n * Called with the event (read `event.target.value`, a string) and whether\n * the value is within `@min`/`@max`. Update `@value` here.\n */\n onChange?: (event: Event, isValid: boolean) => void;\n /** Called when the slider or input loses focus. */\n onBlur?: (event: Event) => void;\n /** Called when the slider or input gets focus. */\n onFocus?: (event: Event) => void;\n\n /** The value. */\n value?: number;\n\n /** Disables the slider and input. */\n disabled?: boolean;\n\n /** @private Show the `<:prepend>` block. Defaults to `true`. */\n isPrependProvided?: boolean;\n /** @private Show the `<:append>` block. Defaults to `true`. */\n isAppendProvided?: boolean;\n /** @private Ignore the `<:max>` block. */\n isFakeMaxBlock?: boolean;\n /** @private Ignore the `<:min>` block. */\n isFakeMinBlock?: boolean;\n /** @private Ignore the `<:value>` block. */\n isFakeValueBlock?: boolean;\n /** @private Ignore the `<:valueAppend>` block. */\n isFakeValueAppendBlock?: boolean;\n /** @private Ignore the `<:valuePrepend>` block. */\n isFakeValuePrependBlock?: boolean;\n /** Shows the invalid state. */\n isInvalid?: boolean;\n /** `name` of the inputs, for forms. */\n name?: string;\n /** Shows a spinner in the number input. Defaults to `false`. */\n isLoading?: boolean;\n}\n\n/**\n * A slider to pick a number, optionally with a number input, ticks,\n * levels and a value tooltip. For a range of two values use EuiDualRange.\n */\nexport interface EuiRangeSignature {\n Element: HTMLInputElement;\n Args: EuiRangeArgs;\n Blocks: {\n /** Custom min label (`@showLabels`); yields `@min`. */\n min: [min: number];\n /** Custom max label (`@showLabels`); yields `@max`. */\n max: [max: number];\n /** Custom value tooltip content (`@showValue`). */\n value: [];\n /** Content after the value in the tooltip, e.g. a unit. */\n valueAppend: [];\n /** Content before the value in the tooltip, e.g. a currency sign. */\n valuePrepend: [];\n /** Content before the number input (`@showInput`); yields its class. */\n prepend: [classes: string];\n /** Content after the number input (`@showInput`); yields its class. */\n append: [classes: string];\n /** Unused. */\n input: [];\n /** Unused. */\n content: [];\n };\n}\n\nexport default class EuiRangeComponent extends Component<EuiRangeSignature> {\n // Defaults\n @argOrDefaultDecorator(0) min!: number;\n @argOrDefaultDecorator(100) max!: number;\n @argOrDefaultDecorator(1) step!: number;\n @argOrDefaultDecorator(false) fullWidth!: boolean;\n @argOrDefaultDecorator(false) compressed!: boolean;\n @argOrDefaultDecorator(false) isLoading!: boolean;\n @argOrDefaultDecorator(false) showLabels!: boolean;\n @argOrDefaultDecorator(false) showInput!: boolean | string;\n @argOrDefaultDecorator(false) showRange!: boolean;\n @argOrDefaultDecorator(false) showTicks!: boolean;\n @argOrDefaultDecorator(false) showValue!: boolean;\n @argOrDefaultDecorator([]) levels!: EuiRangeLevel[];\n\n preventPopoverClose = false;\n\n //State\n @tracked id: string = this.args.id || guidFor({});\n @tracked isPopoverOpen = false;\n ///\n\n @action\n handleOnChange(e: Event): void {\n const isValid = isWithinRange(\n this.min,\n this.max,\n (e.currentTarget as HTMLInputElement).value\n );\n\n if (this.args.onChange) {\n this.args.onChange(e, isValid);\n }\n }\n\n get isValid(): boolean {\n return isWithinRange(this.min, this.max, this.args.value || '');\n }\n\n get digitTolerance(): number {\n return Math.max(String(this.min).length, String(this.max).length);\n }\n\n get showInputOnly(): boolean {\n return this.showInput === 'inputWithPopover';\n }\n\n get canShowDropdown(): boolean {\n return this.showInputOnly && !this.args.readOnly && !this.args.disabled;\n }\n\n get showRangeTooltip(): boolean {\n return (\n this.showValue &&\n !!String(this.args.value).length &&\n this.args.value !== undefined\n );\n }\n\n @action\n onInputFocus(e: Event): void {\n if (this.args.onFocus) {\n this.args.onFocus(e);\n }\n\n this.isPopoverOpen = true;\n }\n\n @action\n onInputBlur(e: Event): void {\n later(\n this,\n () => {\n // Safari does not recognize any focus-related eventing for input[type=range]\n // making it impossible to capture its state using active/focus/relatedTarget\n // Instead, a prevention flag is set on mousedown, with a waiting period here.\n // Mousedown is viable because in the popover case, it is inaccessible via keyboard (intentionally)\n if (this.preventPopoverClose) {\n this.preventPopoverClose = false;\n\n return;\n }\n\n if (this.args.onBlur) {\n this.args.onBlur(e);\n }\n\n this.closePopover();\n },\n 200\n );\n }\n\n @action\n setPreventPopover(val: boolean): void {\n this.preventPopoverClose = val;\n }\n\n @action\n closePopover(): void {\n this.preventPopoverClose = false;\n this.isPopoverOpen = false;\n }\n\n @action\n setPreventPopoverClose(bool: boolean): void {\n this.preventPopoverClose = bool;\n }\n\n <template>\n {{#let\n (and (argOrDefault @isPrependProvided true) (has-block \"prepend\"))\n (and (argOrDefault @isAppendProvided true) (has-block \"append\"))\n (and (not (argOrDefault @isFakeMaxBlock false)) (has-block \"max\"))\n (and (not (argOrDefault @isFakeMinBlock false)) (has-block \"min\"))\n (and (not (argOrDefault @isFakeValueBlock false)) (has-block \"value\"))\n (and\n (not (argOrDefault @isFakeValueAppendBlock false))\n (has-block \"valueAppend\")\n )\n (and\n (not (argOrDefault @isFakeValuePrependBlock false))\n (has-block \"valuePrepend\")\n )\n as |hasPrepend hasAppend hasMaxBlock hasMinBlock hasValueBlock hasValueAppendBlock hasValuePrependBlock|\n }}\n {{#if this.showInputOnly}}\n <EuiInputPopover\n class=\"euiRange__popover\"\n @fullWidth={{@fullWidth}}\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{this.closePopover}}\n @disableFocusTrap={{true}}\n >\n <:input>\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if this.canShowDropdown this.onInputFocus (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n </:input>\n <:content>\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{if (eq this.showInput true) \"true\"}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) \"true\"}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly\n (fn this.setPreventPopoverClose true)\n (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown\n this.onInputFocus\n (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if\n this.canShowDropdown this.onInputBlur (optional @onBlur)\n )\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n </:content>\n </EuiInputPopover>\n {{else}}\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{if (eq this.showInput true) \"true\"}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) \"true\"}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly (fn this.setPreventPopover true) (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown this.onInputFocus (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n {{/if}}\n {{/let}}\n </template>\n}\n"],"names":["EuiRangeComponent","Component","g","prototype","argOrDefaultDecorator","i","preventPopoverClose","tracked","args","id","guidFor","handleOnChange","e","isValid","isWithinRange","min","max","currentTarget","value","onChange","n","action","digitTolerance","Math","String","length","showInputOnly","showInput","canShowDropdown","readOnly","disabled","showRangeTooltip","showValue","undefined","onInputFocus","onFocus","isPopoverOpen","onInputBlur","later","onBlur","closePopover","setPreventPopover","val","setPreventPopoverClose","bool","setComponentTemplate","precompileTemplate","strictMode","scope","and","argOrDefault","not","EuiInputPopover","EuiRangeInput","on","optional","EuiRangeWrapper","classNames","EuiRangeLabel","EuiRangeTrack","eq","EuiRangeHighlight","castTo","EuiRangeSlider","fn","EuiRangeTooltip"],"mappings":"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"}
1
+ {"version":3,"file":"eui-range.js","sources":["../../src/components/eui-range.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { later } from '@ember/runloop';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, eq, not } from 'ember-truth-helpers';\n\nimport argOrDefault, {\n argOrDefaultDecorator\n} from '../helpers/arg-or-default.ts';\nimport castTo from '../helpers/cast-to.ts';\nimport classNames from '../helpers/class-names.ts';\nimport { isWithinRange } from '../utils/number/index.ts';\nimport EuiInputPopover from './eui-input-popover.gts';\nimport EuiRangeHighlight from './eui-range-highlight.gts';\nimport EuiRangeInput from './eui-range-input.gts';\nimport EuiRangeLabel from './eui-range-label.gts';\nimport EuiRangeSlider from './eui-range-slider.gts';\nimport EuiRangeTooltip from './eui-range-tooltip.gts';\nimport EuiRangeTrack from './eui-range-track.gts';\nimport EuiRangeWrapper from './eui-range-wrapper.gts';\n\nimport type { EuiRangeLevel } from './eui-range-levels';\nimport type { EuiRangeTick } from './eui-range-ticks';\n\nexport interface EuiRangeArgs {\n /** Smaller slider, for dense forms. Defaults to `false`. */\n compressed?: boolean;\n /** Makes the number input read-only. */\n readOnly?: boolean;\n /** Stretches the slider to its container's width. Defaults to `false`. */\n fullWidth?: boolean;\n /** Id of the slider. Defaults to a generated id. */\n id?: string;\n /**\n * Create colored indicators for certain intervals\n */\n levels?: EuiRangeLevel[];\n /** Increment between values. Defaults to `1`. */\n step?: number;\n /**\n * Pass `true` to displays an extra input control for direct manipulation.\n * Pass `'inputWithPopover'` to only show the input but show the range in a dropdown.\n */\n showInput?: boolean | 'inputWithPopover';\n /**\n * Shows static min/max labels on the sides of the range slider.\n * Defaults to `false`.\n */\n showLabels?: boolean;\n /**\n * Shows a thick line from min to value. Defaults to `false`.\n */\n showRange?: boolean;\n /**\n * Shows clickable tick marks and labels at the given interval\n * (`step`/`tickInterval`). Defaults to `false`.\n */\n showTicks?: boolean;\n\n /** Lowest selectable value. Defaults to `0`. */\n min?: number;\n /** Highest selectable value. Defaults to `100`. */\n max?: number;\n /**\n * Shows the value in a tooltip above the thumb. Defaults to `false`.\n */\n showValue?: boolean;\n /**\n * Specified ticks at specified values\n */\n ticks?: EuiRangeTick[];\n /**\n * Modifies the number of tick marks and at what interval\n */\n tickInterval?: number;\n /**\n * Appends to the tooltip\n */\n valueAppend?: any;\n /**\n * Prepends to the tooltip\n */\n valuePrepend?: any;\n\n /**\n * Called with the event (read `event.target.value`, a string) and whether\n * the value is within `@min`/`@max`. Update `@value` here.\n */\n onChange?: (event: Event, isValid: boolean) => void;\n /** Called when the slider or input loses focus. */\n onBlur?: (event: Event) => void;\n /** Called when the slider or input gets focus. */\n onFocus?: (event: Event) => void;\n\n /** The value. */\n value?: number;\n\n /** Disables the slider and input. */\n disabled?: boolean;\n\n /** @private Show the `<:prepend>` block. Defaults to `true`. */\n isPrependProvided?: boolean;\n /** @private Show the `<:append>` block. Defaults to `true`. */\n isAppendProvided?: boolean;\n /** @private Ignore the `<:max>` block. */\n isFakeMaxBlock?: boolean;\n /** @private Ignore the `<:min>` block. */\n isFakeMinBlock?: boolean;\n /** @private Ignore the `<:value>` block. */\n isFakeValueBlock?: boolean;\n /** @private Ignore the `<:valueAppend>` block. */\n isFakeValueAppendBlock?: boolean;\n /** @private Ignore the `<:valuePrepend>` block. */\n isFakeValuePrependBlock?: boolean;\n /** Shows the invalid state. */\n isInvalid?: boolean;\n /** `name` of the inputs, for forms. */\n name?: string;\n /** Shows a spinner in the number input. Defaults to `false`. */\n isLoading?: boolean;\n}\n\n/**\n * A slider to pick a number, optionally with a number input, ticks,\n * levels and a value tooltip. For a range of two values use EuiDualRange.\n */\nexport interface EuiRangeSignature {\n Element: HTMLInputElement;\n Args: EuiRangeArgs;\n Blocks: {\n /** Custom min label (`@showLabels`); yields `@min`. */\n min: [min: number];\n /** Custom max label (`@showLabels`); yields `@max`. */\n max: [max: number];\n /** Custom value tooltip content (`@showValue`). */\n value: [];\n /** Content after the value in the tooltip, e.g. a unit. */\n valueAppend: [];\n /** Content before the value in the tooltip, e.g. a currency sign. */\n valuePrepend: [];\n /** Content before the number input (`@showInput`); yields its class. */\n prepend: [classes: string];\n /** Content after the number input (`@showInput`); yields its class. */\n append: [classes: string];\n /** Unused. */\n input: [];\n /** Unused. */\n content: [];\n };\n}\n\nexport default class EuiRangeComponent extends Component<EuiRangeSignature> {\n // Defaults\n @argOrDefaultDecorator(0) min!: number;\n @argOrDefaultDecorator(100) max!: number;\n @argOrDefaultDecorator(1) step!: number;\n @argOrDefaultDecorator(false) fullWidth!: boolean;\n @argOrDefaultDecorator(false) compressed!: boolean;\n @argOrDefaultDecorator(false) isLoading!: boolean;\n @argOrDefaultDecorator(false) showLabels!: boolean;\n @argOrDefaultDecorator(false) showInput!: boolean | string;\n @argOrDefaultDecorator(false) showRange!: boolean;\n @argOrDefaultDecorator(false) showTicks!: boolean;\n @argOrDefaultDecorator(false) showValue!: boolean;\n @argOrDefaultDecorator([]) levels!: EuiRangeLevel[];\n\n preventPopoverClose = false;\n\n //State\n @tracked id: string = this.args.id || guidFor({});\n @tracked isPopoverOpen = false;\n ///\n\n @action\n handleOnChange(e: Event): void {\n const isValid = isWithinRange(\n this.min,\n this.max,\n (e.currentTarget as HTMLInputElement).value\n );\n\n if (this.args.onChange) {\n this.args.onChange(e, isValid);\n }\n }\n\n get isValid(): boolean {\n return isWithinRange(this.min, this.max, this.args.value ?? '');\n }\n\n get digitTolerance(): number {\n return Math.max(String(this.min).length, String(this.max).length);\n }\n\n get showInputOnly(): boolean {\n return this.showInput === 'inputWithPopover';\n }\n\n get canShowDropdown(): boolean {\n return this.showInputOnly && !this.args.readOnly && !this.args.disabled;\n }\n\n get showRangeTooltip(): boolean {\n return (\n this.showValue &&\n !!String(this.args.value).length &&\n this.args.value !== undefined\n );\n }\n\n @action\n onInputFocus(e: Event): void {\n if (this.args.onFocus) {\n this.args.onFocus(e);\n }\n\n this.isPopoverOpen = true;\n }\n\n @action\n onInputBlur(e: Event): void {\n later(\n this,\n () => {\n // Safari does not recognize any focus-related eventing for input[type=range]\n // making it impossible to capture its state using active/focus/relatedTarget\n // Instead, a prevention flag is set on mousedown, with a waiting period here.\n // Mousedown is viable because in the popover case, it is inaccessible via keyboard (intentionally)\n if (this.preventPopoverClose) {\n this.preventPopoverClose = false;\n\n return;\n }\n\n if (this.args.onBlur) {\n this.args.onBlur(e);\n }\n\n this.closePopover();\n },\n 200\n );\n }\n\n @action\n setPreventPopover(val: boolean): void {\n this.preventPopoverClose = val;\n }\n\n @action\n closePopover(): void {\n this.preventPopoverClose = false;\n this.isPopoverOpen = false;\n }\n\n @action\n setPreventPopoverClose(bool: boolean): void {\n this.preventPopoverClose = bool;\n }\n\n <template>\n {{#let\n (and (argOrDefault @isPrependProvided true) (has-block \"prepend\"))\n (and (argOrDefault @isAppendProvided true) (has-block \"append\"))\n (and (not (argOrDefault @isFakeMaxBlock false)) (has-block \"max\"))\n (and (not (argOrDefault @isFakeMinBlock false)) (has-block \"min\"))\n (and (not (argOrDefault @isFakeValueBlock false)) (has-block \"value\"))\n (and\n (not (argOrDefault @isFakeValueAppendBlock false))\n (has-block \"valueAppend\")\n )\n (and\n (not (argOrDefault @isFakeValuePrependBlock false))\n (has-block \"valuePrepend\")\n )\n as |hasPrepend hasAppend hasMaxBlock hasMinBlock hasValueBlock hasValueAppendBlock hasValuePrependBlock|\n }}\n {{#if this.showInputOnly}}\n <EuiInputPopover\n class=\"euiRange__popover\"\n @fullWidth={{@fullWidth}}\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{this.closePopover}}\n @disableFocusTrap={{true}}\n >\n <:input>\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if this.canShowDropdown this.onInputFocus (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n </:input>\n <:content>\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{if (eq this.showInput true) \"true\"}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) \"true\"}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly\n (fn this.setPreventPopoverClose true)\n (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown\n this.onInputFocus\n (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if\n this.canShowDropdown this.onInputBlur (optional @onBlur)\n )\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n </:content>\n </EuiInputPopover>\n {{else}}\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{if (eq this.showInput true) \"true\"}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) \"true\"}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly (fn this.setPreventPopover true) (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown this.onInputFocus (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n {{/if}}\n {{/let}}\n </template>\n}\n"],"names":["EuiRangeComponent","Component","g","prototype","argOrDefaultDecorator","i","preventPopoverClose","tracked","args","id","guidFor","handleOnChange","e","isValid","isWithinRange","min","max","currentTarget","value","onChange","n","action","digitTolerance","Math","String","length","showInputOnly","showInput","canShowDropdown","readOnly","disabled","showRangeTooltip","showValue","undefined","onInputFocus","onFocus","isPopoverOpen","onInputBlur","later","onBlur","closePopover","setPreventPopover","val","setPreventPopoverClose","bool","setComponentTemplate","precompileTemplate","strictMode","scope","and","argOrDefault","not","EuiInputPopover","EuiRangeInput","on","optional","EuiRangeWrapper","classNames","EuiRangeLabel","EuiRangeTrack","eq","EuiRangeHighlight","castTo","EuiRangeSlider","fn","EuiRangeTooltip"],"mappings":"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"}
@@ -3,6 +3,7 @@ import { tracked } from '@glimmer/tracking';
3
3
  import { on } from '@ember/modifier';
4
4
  import { action } from '@ember/object';
5
5
  import { service } from '@ember/service';
6
+ import didUpdate from '@ember/render-modifiers/modifiers/did-update';
6
7
  import { randomId } from '../-private/random-id.js';
7
8
  import EuiButton from './eui-button.js';
8
9
  import EuiFieldNumber from './eui-field-number.js';
@@ -60,6 +61,7 @@ class EuiRefreshInterval extends Component {
60
61
  g(this.prototype, "units", [tracked]);
61
62
  }
62
63
  #units = (i(this, "units"), void 0);
64
+ lastAppliedInterval;
63
65
  legendId = `euiRefreshInterval_${randomId()}`;
64
66
  descriptionId = `euiRefreshInterval_${randomId()}`;
65
67
  constructor(owner, args) {
@@ -74,6 +76,23 @@ class EuiRefreshInterval extends Component {
74
76
  get isPaused() {
75
77
  return this.args.isPaused ?? true;
76
78
  }
79
+ syncInterval() {
80
+ const interval = this.args.refreshInterval ?? 1000;
81
+ // Preserve the user's units when the owner accepts an edit. Independent
82
+ // argument changes replace the local draft, including invalid/empty input.
83
+ if (interval !== this.lastAppliedInterval || this.value === '') {
84
+ const {
85
+ value,
86
+ units
87
+ } = fromMilliseconds(interval);
88
+ this.value = value;
89
+ this.units = units;
90
+ }
91
+ this.lastAppliedInterval = undefined;
92
+ }
93
+ static {
94
+ n(this.prototype, "syncInterval", [action]);
95
+ }
77
96
  t = (token, text, values) => this.euiI18n.lookupToken(token, text, values);
78
97
  get unitOptions() {
79
98
  return [{
@@ -99,6 +118,7 @@ class EuiRefreshInterval extends Component {
99
118
  apply() {
100
119
  if (this.value === '') return;
101
120
  const refreshInterval = toMilliseconds(this.units, this.value);
121
+ this.lastAppliedInterval = refreshInterval;
102
122
  this.args.applyRefreshInterval({
103
123
  refreshInterval,
104
124
  isPaused: refreshInterval <= 0 ? true : this.isPaused
@@ -141,9 +161,10 @@ class EuiRefreshInterval extends Component {
141
161
  n(this.prototype, "toggle", [action]);
142
162
  }
143
163
  static {
144
- setComponentTemplate(precompileTemplate("<fieldset ...attributes>\n <EuiTitle @size=\"xxxs\" @tagName=\"legend\" id={{this.legendId}}>\n {{this.t \"euiRefreshInterval.legend\" \"Refresh every\"}}\n </EuiTitle>\n <EuiSpacer @size=\"s\" />\n <EuiFlexGroup @gutterSize=\"s\" @responsive={{false}}>\n <EuiFlexItem>\n <EuiFieldNumber @compressed={{true}} @value={{this.value}} aria-label=\"Refresh interval value\" aria-describedby=\"{{this.descriptionId}} {{this.legendId}}\" data-test-subj=\"superDatePickerRefreshIntervalInput\" {{on \"input\" this.onValueInput}} {{on \"keydown\" this.onKeyDown}} />\n </EuiFlexItem>\n <EuiFlexItem>\n <EuiSelect @compressed={{true}} @value={{this.units}} @options={{this.unitOptions}} aria-label=\"Refresh interval units\" aria-describedby=\"{{this.descriptionId}} {{this.legendId}}\" data-test-subj=\"superDatePickerRefreshIntervalUnitsSelect\" {{on \"change\" this.onUnitsChange}} {{on \"keydown\" this.onKeyDown}} />\n </EuiFlexItem>\n <EuiFlexItem @grow={{false}}>\n <EuiButton class=\"euiRefreshInterval__startButton\" @iconType={{if this.isPaused \"play\" \"stop\"}} @size=\"s\" @isDisabled={{this.isInvalid}} data-test-subj=\"superDatePickerToggleRefreshButton\" aria-describedby={{this.descriptionId}} {{on \"click\" this.toggle}}>\n {{#if this.isPaused}}\n {{this.t \"euiRefreshInterval.start\" \"Start\"}}\n {{else}}\n {{this.t \"euiRefreshInterval.stop\" \"Stop\"}}\n {{/if}}\n </EuiButton>\n </EuiFlexItem>\n </EuiFlexGroup>\n <EuiScreenReaderOnly><p id={{this.descriptionId}}>{{this.description}}</p></EuiScreenReaderOnly>\n</fieldset>", {
164
+ setComponentTemplate(precompileTemplate("<fieldset {{didUpdate this.syncInterval @refreshInterval}} ...attributes>\n <EuiTitle @size=\"xxxs\" @tagName=\"legend\" id={{this.legendId}}>\n {{this.t \"euiRefreshInterval.legend\" \"Refresh every\"}}\n </EuiTitle>\n <EuiSpacer @size=\"s\" />\n <EuiFlexGroup @gutterSize=\"s\" @responsive={{false}}>\n <EuiFlexItem>\n <EuiFieldNumber @compressed={{true}} @value={{this.value}} aria-label=\"Refresh interval value\" aria-describedby=\"{{this.descriptionId}} {{this.legendId}}\" data-test-subj=\"superDatePickerRefreshIntervalInput\" {{on \"input\" this.onValueInput}} {{on \"keydown\" this.onKeyDown}} />\n </EuiFlexItem>\n <EuiFlexItem>\n <EuiSelect @compressed={{true}} @value={{this.units}} @options={{this.unitOptions}} aria-label=\"Refresh interval units\" aria-describedby=\"{{this.descriptionId}} {{this.legendId}}\" data-test-subj=\"superDatePickerRefreshIntervalUnitsSelect\" {{on \"change\" this.onUnitsChange}} {{on \"keydown\" this.onKeyDown}} />\n </EuiFlexItem>\n <EuiFlexItem @grow={{false}}>\n <EuiButton class=\"euiRefreshInterval__startButton\" @iconType={{if this.isPaused \"play\" \"stop\"}} @size=\"s\" @isDisabled={{this.isInvalid}} data-test-subj=\"superDatePickerToggleRefreshButton\" aria-describedby={{this.descriptionId}} {{on \"click\" this.toggle}}>\n {{#if this.isPaused}}\n {{this.t \"euiRefreshInterval.start\" \"Start\"}}\n {{else}}\n {{this.t \"euiRefreshInterval.stop\" \"Stop\"}}\n {{/if}}\n </EuiButton>\n </EuiFlexItem>\n </EuiFlexGroup>\n <EuiScreenReaderOnly><p id={{this.descriptionId}}>{{this.description}}</p></EuiScreenReaderOnly>\n</fieldset>", {
145
165
  strictMode: true,
146
166
  scope: () => ({
167
+ didUpdate,
147
168
  EuiTitle,
148
169
  EuiSpacer,
149
170
  EuiFlexGroup,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-refresh-interval.js","sources":["../../src/components/eui-refresh-interval.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { service } from '@ember/service';\n\nimport { randomId } from '../-private/random-id.ts';\nimport EuiButton from './eui-button.gts';\nimport EuiFieldNumber from './eui-field-number.gts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiScreenReaderOnly from './eui-screen-reader-only.gts';\nimport EuiSelect from './eui-select.gts';\nimport EuiSpacer from './eui-spacer.gts';\nimport EuiTitle from './eui-title.gts';\n\nimport type EuiI18n from '../services/eui-i18n';\nimport type Owner from '@ember/owner';\n\ntype Units = 's' | 'm' | 'h';\n\nconst SECOND = 1000;\nconst MINUTE = SECOND * 60;\nconst HOUR = MINUTE * 60;\n\nfunction fromMilliseconds(ms: number): { value: number; units: Units } {\n const round = (value: number) => parseFloat(value.toFixed(2));\n\n if (ms > HOUR) return { units: 'h', value: round(ms / HOUR) };\n if (ms > MINUTE) return { units: 'm', value: round(ms / MINUTE) };\n\n return { units: 's', value: round(ms / SECOND) };\n}\n\nfunction toMilliseconds(units: Units, value: number): number {\n return Math.round(value * { h: HOUR, m: MINUTE, s: SECOND }[units]);\n}\n\n/**\n * \"Refresh every [5] [minutes] [Start / Stop]\": sets how often data\n * refreshes. `EuiSuperDatePicker` shows it in its quick select popover\n * when given `@onRefreshChange`; it also works on its own.\n */\nexport interface EuiRefreshIntervalSignature {\n Element: HTMLFieldSetElement;\n Args: {\n /** Whether refreshing is stopped. Defaults to `true`. */\n isPaused?: boolean;\n /** The interval in milliseconds. Defaults to `1000`. */\n refreshInterval?: number;\n /** Called with `{ refreshInterval, isPaused }` after a change. */\n applyRefreshInterval: (args: { refreshInterval: number; isPaused: boolean }) => void;\n };\n}\n\nexport default class EuiRefreshInterval extends Component<EuiRefreshIntervalSignature> {\n @service declare euiI18n: EuiI18n;\n\n // the fields, which may be empty or invalid while typing\n @tracked value: number | '';\n @tracked units: Units;\n\n legendId = `euiRefreshInterval_${randomId()}`;\n descriptionId = `euiRefreshInterval_${randomId()}`;\n\n constructor(owner: Owner, args: EuiRefreshIntervalSignature['Args']) {\n super(owner, args);\n\n const { value, units } = fromMilliseconds(args.refreshInterval ?? 1000);\n\n this.value = value;\n this.units = units;\n }\n\n get isPaused(): boolean {\n return this.args.isPaused ?? true;\n }\n\n t = (token: string, text: string, values?: Record<string, unknown>): string =>\n this.euiI18n.lookupToken(token, text, values);\n\n get unitOptions(): { value: Units; text: string }[] {\n return [\n { value: 's', text: this.t('euiTimeOptions.seconds', 'Seconds') },\n { value: 'm', text: this.t('euiTimeOptions.minutes', 'Minutes') },\n { value: 'h', text: this.t('euiTimeOptions.hours', 'Hours') }\n ];\n }\n\n get description(): string {\n return this.t(\n 'euiRefreshInterval.fullDescription',\n 'Refresh interval currently set to {optionValue} {optionText}.',\n {\n optionValue: this.value,\n optionText: this.unitOptions.find((option) => option.value === this.units)?.text ?? ''\n }\n );\n }\n\n get isInvalid(): boolean {\n return this.value === '' || this.value <= 0;\n }\n\n apply(): void {\n if (this.value === '') return;\n\n const refreshInterval = toMilliseconds(this.units, this.value);\n\n this.args.applyRefreshInterval({\n refreshInterval,\n isPaused: refreshInterval <= 0 ? true : this.isPaused\n });\n }\n\n @action\n onValueInput(event: Event): void {\n const value = parseFloat((event.target as HTMLInputElement).value);\n\n this.value = isNaN(value) ? '' : value;\n this.apply();\n }\n\n @action\n onUnitsChange(event: Event): void {\n this.units = (event.target as HTMLSelectElement).value as Units;\n this.apply();\n }\n\n @action\n onKeyDown(event: KeyboardEvent): void {\n // Enter starts refreshing\n if (event.key !== 'Enter' || this.isInvalid || this.value === '') return;\n\n this.args.applyRefreshInterval({\n refreshInterval: toMilliseconds(this.units, this.value),\n isPaused: false\n });\n }\n\n @action\n toggle(): void {\n if (this.value === '') return;\n\n this.args.applyRefreshInterval({\n refreshInterval: toMilliseconds(this.units, this.value),\n isPaused: !this.isPaused\n });\n }\n\n <template>\n <fieldset ...attributes>\n <EuiTitle @size=\"xxxs\" @tagName=\"legend\" id={{this.legendId}}>\n {{this.t \"euiRefreshInterval.legend\" \"Refresh every\"}}\n </EuiTitle>\n <EuiSpacer @size=\"s\" />\n <EuiFlexGroup @gutterSize=\"s\" @responsive={{false}}>\n <EuiFlexItem>\n <EuiFieldNumber\n @compressed={{true}}\n @value={{this.value}}\n aria-label=\"Refresh interval value\"\n aria-describedby=\"{{this.descriptionId}} {{this.legendId}}\"\n data-test-subj=\"superDatePickerRefreshIntervalInput\"\n {{on \"input\" this.onValueInput}}\n {{on \"keydown\" this.onKeyDown}}\n />\n </EuiFlexItem>\n <EuiFlexItem>\n <EuiSelect\n @compressed={{true}}\n @value={{this.units}}\n @options={{this.unitOptions}}\n aria-label=\"Refresh interval units\"\n aria-describedby=\"{{this.descriptionId}} {{this.legendId}}\"\n data-test-subj=\"superDatePickerRefreshIntervalUnitsSelect\"\n {{on \"change\" this.onUnitsChange}}\n {{on \"keydown\" this.onKeyDown}}\n />\n </EuiFlexItem>\n <EuiFlexItem @grow={{false}}>\n <EuiButton\n class=\"euiRefreshInterval__startButton\"\n @iconType={{if this.isPaused \"play\" \"stop\"}}\n @size=\"s\"\n @isDisabled={{this.isInvalid}}\n data-test-subj=\"superDatePickerToggleRefreshButton\"\n aria-describedby={{this.descriptionId}}\n {{on \"click\" this.toggle}}\n >\n {{#if this.isPaused}}\n {{this.t \"euiRefreshInterval.start\" \"Start\"}}\n {{else}}\n {{this.t \"euiRefreshInterval.stop\" \"Stop\"}}\n {{/if}}\n </EuiButton>\n </EuiFlexItem>\n </EuiFlexGroup>\n <EuiScreenReaderOnly><p id={{this.descriptionId}}>{{this.description}}</p></EuiScreenReaderOnly>\n </fieldset>\n </template>\n}\n"],"names":["SECOND","MINUTE","HOUR","fromMilliseconds","ms","round","value","parseFloat","toFixed","units","toMilliseconds","Math","h","m","s","EuiRefreshInterval","Component","g","prototype","service","i","tracked","legendId","randomId","descriptionId","constructor","owner","args","refreshInterval","isPaused","t","token","text","values","euiI18n","lookupToken","unitOptions","description","optionValue","optionText","find","option","isInvalid","apply","applyRefreshInterval","onValueInput","event","target","isNaN","n","action","onUnitsChange","onKeyDown","key","toggle","setComponentTemplate","precompileTemplate","strictMode","scope","EuiTitle","EuiSpacer","EuiFlexGroup","EuiFlexItem","EuiFieldNumber","on","EuiSelect","EuiButton","EuiScreenReaderOnly"],"mappings":"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"}
1
+ {"version":3,"file":"eui-refresh-interval.js","sources":["../../src/components/eui-refresh-interval.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { service } from '@ember/service';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\n\nimport { randomId } from '../-private/random-id.ts';\nimport EuiButton from './eui-button.gts';\nimport EuiFieldNumber from './eui-field-number.gts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiScreenReaderOnly from './eui-screen-reader-only.gts';\nimport EuiSelect from './eui-select.gts';\nimport EuiSpacer from './eui-spacer.gts';\nimport EuiTitle from './eui-title.gts';\n\nimport type EuiI18n from '../services/eui-i18n';\nimport type Owner from '@ember/owner';\n\ntype Units = 's' | 'm' | 'h';\n\nconst SECOND = 1000;\nconst MINUTE = SECOND * 60;\nconst HOUR = MINUTE * 60;\n\nfunction fromMilliseconds(ms: number): { value: number; units: Units } {\n const round = (value: number) => parseFloat(value.toFixed(2));\n\n if (ms > HOUR) return { units: 'h', value: round(ms / HOUR) };\n if (ms > MINUTE) return { units: 'm', value: round(ms / MINUTE) };\n\n return { units: 's', value: round(ms / SECOND) };\n}\n\nfunction toMilliseconds(units: Units, value: number): number {\n return Math.round(value * { h: HOUR, m: MINUTE, s: SECOND }[units]);\n}\n\n/**\n * \"Refresh every [5] [minutes] [Start / Stop]\": sets how often data\n * refreshes. `EuiSuperDatePicker` shows it in its quick select popover\n * when given `@onRefreshChange`; it also works on its own.\n */\nexport interface EuiRefreshIntervalSignature {\n Element: HTMLFieldSetElement;\n Args: {\n /** Whether refreshing is stopped. Defaults to `true`. */\n isPaused?: boolean;\n /** The interval in milliseconds. Defaults to `1000`. */\n refreshInterval?: number;\n /** Called with `{ refreshInterval, isPaused }` after a change. */\n applyRefreshInterval: (args: { refreshInterval: number; isPaused: boolean }) => void;\n };\n}\n\nexport default class EuiRefreshInterval extends Component<EuiRefreshIntervalSignature> {\n @service declare euiI18n: EuiI18n;\n\n // the fields, which may be empty or invalid while typing\n @tracked value: number | '';\n @tracked units: Units;\n private lastAppliedInterval?: number;\n\n legendId = `euiRefreshInterval_${randomId()}`;\n descriptionId = `euiRefreshInterval_${randomId()}`;\n\n constructor(owner: Owner, args: EuiRefreshIntervalSignature['Args']) {\n super(owner, args);\n\n const { value, units } = fromMilliseconds(args.refreshInterval ?? 1000);\n\n this.value = value;\n this.units = units;\n }\n\n get isPaused(): boolean {\n return this.args.isPaused ?? true;\n }\n\n @action\n syncInterval(): void {\n const interval = this.args.refreshInterval ?? 1000;\n\n // Preserve the user's units when the owner accepts an edit. Independent\n // argument changes replace the local draft, including invalid/empty input.\n if (interval !== this.lastAppliedInterval || this.value === '') {\n const { value, units } = fromMilliseconds(interval);\n this.value = value;\n this.units = units;\n }\n\n this.lastAppliedInterval = undefined;\n }\n\n t = (token: string, text: string, values?: Record<string, unknown>): string =>\n this.euiI18n.lookupToken(token, text, values);\n\n get unitOptions(): { value: Units; text: string }[] {\n return [\n { value: 's', text: this.t('euiTimeOptions.seconds', 'Seconds') },\n { value: 'm', text: this.t('euiTimeOptions.minutes', 'Minutes') },\n { value: 'h', text: this.t('euiTimeOptions.hours', 'Hours') }\n ];\n }\n\n get description(): string {\n return this.t(\n 'euiRefreshInterval.fullDescription',\n 'Refresh interval currently set to {optionValue} {optionText}.',\n {\n optionValue: this.value,\n optionText: this.unitOptions.find((option) => option.value === this.units)?.text ?? ''\n }\n );\n }\n\n get isInvalid(): boolean {\n return this.value === '' || this.value <= 0;\n }\n\n apply(): void {\n if (this.value === '') return;\n\n const refreshInterval = toMilliseconds(this.units, this.value);\n this.lastAppliedInterval = refreshInterval;\n\n this.args.applyRefreshInterval({\n refreshInterval,\n isPaused: refreshInterval <= 0 ? true : this.isPaused\n });\n }\n\n @action\n onValueInput(event: Event): void {\n const value = parseFloat((event.target as HTMLInputElement).value);\n\n this.value = isNaN(value) ? '' : value;\n this.apply();\n }\n\n @action\n onUnitsChange(event: Event): void {\n this.units = (event.target as HTMLSelectElement).value as Units;\n this.apply();\n }\n\n @action\n onKeyDown(event: KeyboardEvent): void {\n // Enter starts refreshing\n if (event.key !== 'Enter' || this.isInvalid || this.value === '') return;\n\n this.args.applyRefreshInterval({\n refreshInterval: toMilliseconds(this.units, this.value),\n isPaused: false\n });\n }\n\n @action\n toggle(): void {\n if (this.value === '') return;\n\n this.args.applyRefreshInterval({\n refreshInterval: toMilliseconds(this.units, this.value),\n isPaused: !this.isPaused\n });\n }\n\n <template>\n <fieldset {{didUpdate this.syncInterval @refreshInterval}} ...attributes>\n <EuiTitle @size=\"xxxs\" @tagName=\"legend\" id={{this.legendId}}>\n {{this.t \"euiRefreshInterval.legend\" \"Refresh every\"}}\n </EuiTitle>\n <EuiSpacer @size=\"s\" />\n <EuiFlexGroup @gutterSize=\"s\" @responsive={{false}}>\n <EuiFlexItem>\n <EuiFieldNumber\n @compressed={{true}}\n @value={{this.value}}\n aria-label=\"Refresh interval value\"\n aria-describedby=\"{{this.descriptionId}} {{this.legendId}}\"\n data-test-subj=\"superDatePickerRefreshIntervalInput\"\n {{on \"input\" this.onValueInput}}\n {{on \"keydown\" this.onKeyDown}}\n />\n </EuiFlexItem>\n <EuiFlexItem>\n <EuiSelect\n @compressed={{true}}\n @value={{this.units}}\n @options={{this.unitOptions}}\n aria-label=\"Refresh interval units\"\n aria-describedby=\"{{this.descriptionId}} {{this.legendId}}\"\n data-test-subj=\"superDatePickerRefreshIntervalUnitsSelect\"\n {{on \"change\" this.onUnitsChange}}\n {{on \"keydown\" this.onKeyDown}}\n />\n </EuiFlexItem>\n <EuiFlexItem @grow={{false}}>\n <EuiButton\n class=\"euiRefreshInterval__startButton\"\n @iconType={{if this.isPaused \"play\" \"stop\"}}\n @size=\"s\"\n @isDisabled={{this.isInvalid}}\n data-test-subj=\"superDatePickerToggleRefreshButton\"\n aria-describedby={{this.descriptionId}}\n {{on \"click\" this.toggle}}\n >\n {{#if this.isPaused}}\n {{this.t \"euiRefreshInterval.start\" \"Start\"}}\n {{else}}\n {{this.t \"euiRefreshInterval.stop\" \"Stop\"}}\n {{/if}}\n </EuiButton>\n </EuiFlexItem>\n </EuiFlexGroup>\n <EuiScreenReaderOnly><p id={{this.descriptionId}}>{{this.description}}</p></EuiScreenReaderOnly>\n </fieldset>\n </template>\n}\n"],"names":["SECOND","MINUTE","HOUR","fromMilliseconds","ms","round","value","parseFloat","toFixed","units","toMilliseconds","Math","h","m","s","EuiRefreshInterval","Component","g","prototype","service","i","tracked","lastAppliedInterval","legendId","randomId","descriptionId","constructor","owner","args","refreshInterval","isPaused","syncInterval","interval","undefined","n","action","t","token","text","values","euiI18n","lookupToken","unitOptions","description","optionValue","optionText","find","option","isInvalid","apply","applyRefreshInterval","onValueInput","event","target","isNaN","onUnitsChange","onKeyDown","key","toggle","setComponentTemplate","precompileTemplate","strictMode","scope","didUpdate","EuiTitle","EuiSpacer","EuiFlexGroup","EuiFlexItem","EuiFieldNumber","on","EuiSelect","EuiButton","EuiScreenReaderOnly"],"mappings":"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"}
@@ -2,7 +2,6 @@ import Component from '@glimmer/component';
2
2
  import { fn } from '@ember/helper';
3
3
  import { on } from '@ember/modifier';
4
4
  import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
5
- import { element } from 'ember-element-helper';
6
5
  import { eq, and, not, or } from 'ember-truth-helpers';
7
6
  import randomId from '../-private/random-id.js';
8
7
  import EuiButtonEmpty from './eui-button-empty.js';
@@ -36,7 +35,6 @@ class EuiSideNavComponent extends Component {
36
35
  strictMode: true,
37
36
  scope: () => ({
38
37
  classNames,
39
- element,
40
38
  argOrDefault,
41
39
  randomId,
42
40
  or,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-side-nav.js","sources":["../../src/components/eui-side-nav.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { element } from 'ember-element-helper';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiButtonEmpty from '../components/eui-button-empty.gts';\nimport EuiHideFor from '../components/eui-hide-for.gts';\nimport EuiShowFor from '../components/eui-show-for.gts';\nimport EuiSideNavItem from '../components/eui-side-nav-item.gts';\nimport EuiTitle from '../components/eui-title.gts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport isItemOpen from '../helpers/is-item-open.ts';\nimport screenReaderOnly from '../modifiers/screen-reader-only.ts';\n\nimport type { EuiHideForSignature } from '../components/eui-hide-for';\n\nexport interface Item {\n /** Unique id, matched against `@selectedItem`. */\n id: string;\n /** Icon before the name; anything `EuiIcon`'s `@type` accepts. */\n icon?: string;\n /** Makes the item a button calling this function. */\n onClick?: () => void;\n /** Makes the item a link. */\n href?: string;\n /** Class for the item. */\n className?: string;\n /** `rel` of the link. */\n rel?: string;\n /** `target` of the link. */\n target?: string;\n /**\n * Nested items. An item with children but no `href`/`onClick` is a\n * section title; nested levels open while one of them is selected.\n */\n items?: Item[];\n /** @private Nesting level. */\n depth?: number;\n /** The item's text. */\n name?: string;\n /** @deprecated Has no effect. */\n renderItem?: unknown;\n /** @deprecated Has no effect, use the side nav's `@selectedItem`. */\n isSelected?: boolean;\n /** Disables the item. */\n disabled?: boolean;\n /** Truncates a long name instead of wrapping. */\n truncate?: boolean;\n /** Bolder style, e.g. for the top level. */\n emphasize?: boolean;\n /** Class for the item's button or link. */\n buttonClassName?: string;\n}\n\n/** A hierarchical navigation tree for a page's side bar. */\nexport interface EuiSideNavSignature {\n Element: HTMLDivElement | HTMLUListElement | HTMLElement;\n Args: {\n /**\n * Screen sizes showing the nav collapsed behind a toggle button.\n * Defaults to `['xs', 's']`; pass `[]` to never collapse.\n */\n mobileBreakpoints?: EuiHideForSignature['Args']['sizes'];\n /** Whether the collapsed (mobile) nav is open. */\n isOpenMobile?: boolean;\n /** Called by the mobile toggle button with the new open state. */\n toggleOpenOnMobile?: () => void;\n /** Heading above the items (and the toggle text on mobile). */\n heading?: string;\n /**\n * Props for the heading: `{ element: 'h2', id, className,\n * screenReaderOnly }`.\n */\n headingProps?: {\n element?: string;\n id?: string;\n className?: string;\n screenReaderOnly?: boolean;\n };\n /** Text of the mobile toggle button. Defaults to the heading. */\n mobileTitle?: string;\n /** The navigation tree, see `Item`. */\n items?: Item[];\n /** Id of the current item: it is highlighted and its parents open. */\n selectedItem?: string;\n };\n Blocks: {\n /** Unused. */\n default: [Item];\n /** Custom heading, instead of `@heading`. */\n heading: [];\n };\n}\n\nexport default class EuiSideNavComponent extends Component<EuiSideNavSignature> {\n get mobileBreakpoints() {\n return this.args.mobileBreakpoints || ['xs', 's'];\n }\n\n get contentClasses() {\n const mobileBreakpoints = Array.isArray(this.mobileBreakpoints)\n ? this.mobileBreakpoints\n : [this.mobileBreakpoints];\n\n return `euiSideNav__content ${mobileBreakpoints\n .map?.((breakpointName) => {\n return `euiSideNav__contentMobile-${breakpointName}`;\n })\n .join(' ')}`;\n }\n\n get hasMobileVersion() {\n return this.mobileBreakpoints?.length > 0;\n }\n\n <template>\n {{#let\n (classNames \"euiSideNav\" (if @isOpenMobile \"euiSideNav-isOpenMobile\"))\n (element (argOrDefault @headingProps.element \"h2\"))\n (argOrDefault @headingProps.id (randomId))\n (randomId)\n (or (has-block \"heading\") (not (not @heading)))\n as |classes HeadingElement headingId sideNavContentId hasHeader|\n }}\n {{#if this.hasMobileVersion}}\n <EuiShowFor @sizes={{this.mobileBreakpoints}}>\n <nav aria-labelledby={{headingId}} class={{classes}} ...attributes>\n <HeadingElement id={{headingId}} class={{@headingProps.className}}>\n <EuiButtonEmpty\n type=\"button\"\n class=\"euiSideNav__mobileToggle\"\n @contentClasses=\"euiSideNav__mobileToggleContent\"\n @textClasses=\"euiSideNav__mobileToggleText\"\n {{on\n \"click\"\n (fn (optional @toggleOpenOnMobile) (not @isOpenMobile))\n }}\n @iconType=\"apps\"\n @iconSide=\"right\"\n aria-controls={{sideNavContentId}}\n aria-expanded={{if @isOpenMobile \"true\" \"false\"}}\n >\n {{#if @mobileTitle}}\n {{@mobileTitle}}\n {{else if (has-block \"heading\")}}\n {{yield to=\"heading\"}}\n {{else}}\n {{@heading}}\n {{/if}}\n </EuiButtonEmpty>\n </HeadingElement>\n <div id={{sideNavContentId}} class={{this.contentClasses}}>\n {{#each @items as |item|}}\n {{#let\n (and\n (not item.onClick) (not item.href) (not (not item.items))\n )\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id @selectedItem)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{0}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n </nav>\n </EuiShowFor>\n {{/if}}\n\n <EuiHideFor @sizes={{this.mobileBreakpoints}}>\n <nav\n aria-labelledby={{if hasHeader headingId}}\n class={{classes}}\n ...attributes\n >\n {{#if hasHeader}}\n {{#let\n (argOrDefault @headingProps.screenReaderOnly false)\n as |shouldScreenReader|\n }}\n {{#if (has-block \"heading\")}}\n {{#if shouldScreenReader}}\n <HeadingElement {{screenReaderOnly}}>\n {{yield to=\"heading\"}}\n </HeadingElement>\n {{else}}\n <EuiTitle\n class={{classNames\n \"euiSideNav__heading\"\n @headingProps.className\n }}\n @size=\"xs\"\n >\n <HeadingElement>\n {{yield to=\"heading\"}}\n </HeadingElement>\n </EuiTitle>\n {{/if}}\n {{else}}\n {{#if shouldScreenReader}}\n <HeadingElement {{screenReaderOnly}}>\n {{@heading}}\n </HeadingElement>\n {{else}}\n <EuiTitle\n class={{classNames\n \"euiSideNav__heading\"\n @headingProps.className\n }}\n @size=\"xs\"\n >\n {{@heading}}\n </EuiTitle>\n {{/if}}\n {{/if}}\n {{/let}}\n {{/if}}\n <div id={{sideNavContentId}} class={{this.contentClasses}}>\n {{#each @items as |item|}}\n {{#let\n (and (not item.onClick) (not item.href) (not (not item.items)))\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id @selectedItem)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{0}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n </nav>\n </EuiHideFor>\n {{/let}}\n </template>\n}\n"],"names":["EuiSideNavComponent","Component","mobileBreakpoints","args","contentClasses","Array","isArray","map","breakpointName","join","hasMobileVersion","length","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","element","argOrDefault","randomId","or","not","EuiShowFor","EuiButtonEmpty","on","fn","optional","and","EuiSideNavItem","isItemOpen","eq","EuiHideFor","screenReaderOnly","EuiTitle"],"mappings":";;;;;;;;;;;;;;;;;;;AA2DA;AAwCe,MAAMA,4BAA4BC,SAAA,CAAU;EACzD,IAAIC,iBAAAA,GAAoB;IACtB,OAAO,IAAI,CAACC,IAAI,CAACD,iBAAiB,IAAI,CAAC,IAAA,EAAM,GAAA,CAAI;AACnD,EAAA;EAEA,IAAIE,cAAAA,GAAiB;AACnB,IAAA,MAAMF,iBAAA,GAAoBG,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACJ,iBAAiB,CAAA,GAC1D,IAAI,CAACA,iBAAiB,GACtB,CAAC,IAAI,CAACA,iBAAiB,CAAC;AAE5B,IAAA,OAAO,uBAAuBA,iBAAA,CAC3BK,GAAG,GAAIC,cAAA,IAAA;MACN,OAAO,CAAA,0BAAA,EAA6BA,cAAA,CAAA,CAAgB;AACtD,IAAA,CAAA,CAAA,CACCC,KAAK,GAAA,CAAA,CAAA,CAAM;AAChB,EAAA;EAEA,IAAIC,gBAAAA,GAAmB;AACrB,IAAA,OAAO,IAAI,CAACR,iBAAiB,EAAES,MAAA,GAAS,CAAA;AAC1C,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,mrIAAA,EAiKA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,UAAA;QAAAC,OAAA;QAAAC,YAAA;QAAAC,QAAA;QAAAC,EAAA;QAAAC,GAAA;oBAAAC,mBAAA;QAAAC,cAAA;QAAAC,EAAA;QAAAC,EAAA;QAAAC,QAAA;QAAAC,GAAA;QAAAC,cAAA;QAAAC,UAAA;QAAAC,EAAA;oBAAAC,mBAAA;QAAAC,gBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;"}
1
+ {"version":3,"file":"eui-side-nav.js","sources":["../../src/components/eui-side-nav.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiButtonEmpty from '../components/eui-button-empty.gts';\nimport EuiHideFor from '../components/eui-hide-for.gts';\nimport EuiShowFor from '../components/eui-show-for.gts';\nimport EuiSideNavItem from '../components/eui-side-nav-item.gts';\nimport EuiTitle from '../components/eui-title.gts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport isItemOpen from '../helpers/is-item-open.ts';\nimport screenReaderOnly from '../modifiers/screen-reader-only.ts';\n\nimport type { EuiHideForSignature } from '../components/eui-hide-for';\n\nexport interface Item {\n /** Unique id, matched against `@selectedItem`. */\n id: string;\n /** Icon before the name; anything `EuiIcon`'s `@type` accepts. */\n icon?: string;\n /** Makes the item a button calling this function. */\n onClick?: () => void;\n /** Makes the item a link. */\n href?: string;\n /** Class for the item. */\n className?: string;\n /** `rel` of the link. */\n rel?: string;\n /** `target` of the link. */\n target?: string;\n /**\n * Nested items. An item with children but no `href`/`onClick` is a\n * section title; nested levels open while one of them is selected.\n */\n items?: Item[];\n /** @private Nesting level. */\n depth?: number;\n /** The item's text. */\n name?: string;\n /** @deprecated Has no effect. */\n renderItem?: unknown;\n /** @deprecated Has no effect, use the side nav's `@selectedItem`. */\n isSelected?: boolean;\n /** Disables the item. */\n disabled?: boolean;\n /** Truncates a long name instead of wrapping. */\n truncate?: boolean;\n /** Bolder style, e.g. for the top level. */\n emphasize?: boolean;\n /** Class for the item's button or link. */\n buttonClassName?: string;\n}\n\n/** A hierarchical navigation tree for a page's side bar. */\nexport interface EuiSideNavSignature {\n Element: HTMLDivElement | HTMLUListElement | HTMLElement;\n Args: {\n /**\n * Screen sizes showing the nav collapsed behind a toggle button.\n * Defaults to `['xs', 's']`; pass `[]` to never collapse.\n */\n mobileBreakpoints?: EuiHideForSignature['Args']['sizes'];\n /** Whether the collapsed (mobile) nav is open. */\n isOpenMobile?: boolean;\n /** Called by the mobile toggle button with the new open state. */\n toggleOpenOnMobile?: () => void;\n /** Heading above the items (and the toggle text on mobile). */\n heading?: string;\n /**\n * Props for the heading: `{ element: 'h2', id, className,\n * screenReaderOnly }`.\n */\n headingProps?: {\n element?: string;\n id?: string;\n className?: string;\n screenReaderOnly?: boolean;\n };\n /** Text of the mobile toggle button. Defaults to the heading. */\n mobileTitle?: string;\n /** The navigation tree, see `Item`. */\n items?: Item[];\n /** Id of the current item: it is highlighted and its parents open. */\n selectedItem?: string;\n };\n Blocks: {\n /** Unused. */\n default: [Item];\n /** Custom heading, instead of `@heading`. */\n heading: [];\n };\n}\n\nexport default class EuiSideNavComponent extends Component<EuiSideNavSignature> {\n get mobileBreakpoints() {\n return this.args.mobileBreakpoints || ['xs', 's'];\n }\n\n get contentClasses() {\n const mobileBreakpoints = Array.isArray(this.mobileBreakpoints)\n ? this.mobileBreakpoints\n : [this.mobileBreakpoints];\n\n return `euiSideNav__content ${mobileBreakpoints\n .map?.((breakpointName) => {\n return `euiSideNav__contentMobile-${breakpointName}`;\n })\n .join(' ')}`;\n }\n\n get hasMobileVersion() {\n return this.mobileBreakpoints?.length > 0;\n }\n\n <template>\n {{#let\n (classNames \"euiSideNav\" (if @isOpenMobile \"euiSideNav-isOpenMobile\"))\n (element (argOrDefault @headingProps.element \"h2\"))\n (argOrDefault @headingProps.id (randomId))\n (randomId)\n (or (has-block \"heading\") (not (not @heading)))\n as |classes HeadingElement headingId sideNavContentId hasHeader|\n }}\n {{#if this.hasMobileVersion}}\n <EuiShowFor @sizes={{this.mobileBreakpoints}}>\n <nav aria-labelledby={{headingId}} class={{classes}} ...attributes>\n <HeadingElement id={{headingId}} class={{@headingProps.className}}>\n <EuiButtonEmpty\n type=\"button\"\n class=\"euiSideNav__mobileToggle\"\n @contentClasses=\"euiSideNav__mobileToggleContent\"\n @textClasses=\"euiSideNav__mobileToggleText\"\n {{on\n \"click\"\n (fn (optional @toggleOpenOnMobile) (not @isOpenMobile))\n }}\n @iconType=\"apps\"\n @iconSide=\"right\"\n aria-controls={{sideNavContentId}}\n aria-expanded={{if @isOpenMobile \"true\" \"false\"}}\n >\n {{#if @mobileTitle}}\n {{@mobileTitle}}\n {{else if (has-block \"heading\")}}\n {{yield to=\"heading\"}}\n {{else}}\n {{@heading}}\n {{/if}}\n </EuiButtonEmpty>\n </HeadingElement>\n <div id={{sideNavContentId}} class={{this.contentClasses}}>\n {{#each @items as |item|}}\n {{#let\n (and\n (not item.onClick) (not item.href) (not (not item.items))\n )\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id @selectedItem)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{0}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n </nav>\n </EuiShowFor>\n {{/if}}\n\n <EuiHideFor @sizes={{this.mobileBreakpoints}}>\n <nav\n aria-labelledby={{if hasHeader headingId}}\n class={{classes}}\n ...attributes\n >\n {{#if hasHeader}}\n {{#let\n (argOrDefault @headingProps.screenReaderOnly false)\n as |shouldScreenReader|\n }}\n {{#if (has-block \"heading\")}}\n {{#if shouldScreenReader}}\n <HeadingElement {{screenReaderOnly}}>\n {{yield to=\"heading\"}}\n </HeadingElement>\n {{else}}\n <EuiTitle\n class={{classNames\n \"euiSideNav__heading\"\n @headingProps.className\n }}\n @size=\"xs\"\n >\n <HeadingElement>\n {{yield to=\"heading\"}}\n </HeadingElement>\n </EuiTitle>\n {{/if}}\n {{else}}\n {{#if shouldScreenReader}}\n <HeadingElement {{screenReaderOnly}}>\n {{@heading}}\n </HeadingElement>\n {{else}}\n <EuiTitle\n class={{classNames\n \"euiSideNav__heading\"\n @headingProps.className\n }}\n @size=\"xs\"\n >\n {{@heading}}\n </EuiTitle>\n {{/if}}\n {{/if}}\n {{/let}}\n {{/if}}\n <div id={{sideNavContentId}} class={{this.contentClasses}}>\n {{#each @items as |item|}}\n {{#let\n (and (not item.onClick) (not item.href) (not (not item.items)))\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id @selectedItem)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{0}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n </nav>\n </EuiHideFor>\n {{/let}}\n </template>\n}\n"],"names":["EuiSideNavComponent","Component","mobileBreakpoints","args","contentClasses","Array","isArray","map","breakpointName","join","hasMobileVersion","length","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","argOrDefault","randomId","or","not","EuiShowFor","EuiButtonEmpty","on","fn","optional","and","EuiSideNavItem","isItemOpen","eq","EuiHideFor","screenReaderOnly","EuiTitle"],"mappings":";;;;;;;;;;;;;;;;;;AA0DA;AAwCe,MAAMA,4BAA4BC,SAAA,CAAU;EACzD,IAAIC,iBAAAA,GAAoB;IACtB,OAAO,IAAI,CAACC,IAAI,CAACD,iBAAiB,IAAI,CAAC,IAAA,EAAM,GAAA,CAAI;AACnD,EAAA;EAEA,IAAIE,cAAAA,GAAiB;AACnB,IAAA,MAAMF,iBAAA,GAAoBG,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACJ,iBAAiB,CAAA,GAC1D,IAAI,CAACA,iBAAiB,GACtB,CAAC,IAAI,CAACA,iBAAiB,CAAC;AAE5B,IAAA,OAAO,uBAAuBA,iBAAA,CAC3BK,GAAG,GAAIC,cAAA,IAAA;MACN,OAAO,CAAA,0BAAA,EAA6BA,cAAA,CAAA,CAAgB;AACtD,IAAA,CAAA,CAAA,CACCC,KAAK,GAAA,CAAA,CAAA,CAAM;AAChB,EAAA;EAEA,IAAIC,gBAAAA,GAAmB;AACrB,IAAA,OAAO,IAAI,CAACR,iBAAiB,EAAES,MAAA,GAAS,CAAA;AAC1C,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,mrIAAA,EAiKA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,UAAA;QAAAC,YAAA;QAAAC,QAAA;QAAAC,EAAA;QAAAC,GAAA;oBAAAC,mBAAA;QAAAC,cAAA;QAAAC,EAAA;QAAAC,EAAA;QAAAC,QAAA;QAAAC,GAAA;QAAAC,cAAA;QAAAC,UAAA;QAAAC,EAAA;oBAAAC,mBAAA;QAAAC,gBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;"}
@@ -1,4 +1,3 @@
1
- import { element } from 'ember-element-helper';
2
1
  import EuiTextComponent from '../eui-text.js';
3
2
  import { precompileTemplate } from '@ember/template-compilation';
4
3
  import { setComponentTemplate } from '@ember/component';
@@ -7,7 +6,6 @@ import templateOnly from '@ember/component/template-only';
7
6
  const EuiStatDescription = setComponentTemplate(precompileTemplate("{{#if @descriptionElement}}\n {{#let (element @descriptionElement) as |DescriptionElement|}}\n <EuiText class=\"euiStat__description\" @size=\"s\">\n <DescriptionElement aria-hidden=\"true\">\n {{yield}}\n </DescriptionElement>\n </EuiText>\n {{/let}}\n\n{{else}}\n <EuiText class=\"euiStat__description\" @size=\"s\">\n <p aria-hidden=\"true\">\n {{yield}}\n </p>\n </EuiText>\n{{/if}}", {
8
7
  strictMode: true,
9
8
  scope: () => ({
10
- element,
11
9
  EuiText: EuiTextComponent
12
10
  })
13
11
  }), templateOnly());
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../src/components/eui-stat/description.gts"],"sourcesContent":["\nimport { element } from 'ember-element-helper';\n\nimport EuiText from '../eui-text.gts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\n/** @private The description of an EuiStat. */\nexport interface EuiStatDescriptionSignature {\n Args: {\n /**\n * The element to use for the description. Defaults to `p`.\n */\n descriptionElement?: keyof HTMLElementTagNameMap;\n };\n Blocks: {\n /** The text. */\n default: [];\n };\n}\n\nconst EuiStatDescription: TemplateOnlyComponent<EuiStatDescriptionSignature> =\n <template>\n {{#if @descriptionElement}}\n {{#let (element @descriptionElement) as |DescriptionElement|}}\n <EuiText class=\"euiStat__description\" @size=\"s\">\n <DescriptionElement aria-hidden=\"true\">\n {{yield}}\n </DescriptionElement>\n </EuiText>\n {{/let}}\n\n {{else}}\n <EuiText class=\"euiStat__description\" @size=\"s\">\n <p aria-hidden=\"true\">\n {{yield}}\n </p>\n </EuiText>\n {{/if}}\n </template>;\n\nexport default EuiStatDescription;\n"],"names":["EuiStatDescription","setComponentTemplate","precompileTemplate","strictMode","scope","element","EuiText","templateOnly"],"mappings":";;;;;;AAqBA,MAAMA,kBAA0C,GAAAC,oBAAA,CAC9CC,kBAAA,CAAA,0aAAA,EAiBA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;AAAAC,aAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;"}
1
+ {"version":3,"file":"description.js","sources":["../../../src/components/eui-stat/description.gts"],"sourcesContent":["\n\nimport EuiText from '../eui-text.gts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\n/** @private The description of an EuiStat. */\nexport interface EuiStatDescriptionSignature {\n Args: {\n /**\n * The element to use for the description. Defaults to `p`.\n */\n descriptionElement?: keyof HTMLElementTagNameMap;\n };\n Blocks: {\n /** The text. */\n default: [];\n };\n}\n\nconst EuiStatDescription: TemplateOnlyComponent<EuiStatDescriptionSignature> =\n <template>\n {{#if @descriptionElement}}\n {{#let (element @descriptionElement) as |DescriptionElement|}}\n <EuiText class=\"euiStat__description\" @size=\"s\">\n <DescriptionElement aria-hidden=\"true\">\n {{yield}}\n </DescriptionElement>\n </EuiText>\n {{/let}}\n\n {{else}}\n <EuiText class=\"euiStat__description\" @size=\"s\">\n <p aria-hidden=\"true\">\n {{yield}}\n </p>\n </EuiText>\n {{/if}}\n </template>;\n\nexport default EuiStatDescription;\n"],"names":["EuiStatDescription","setComponentTemplate","precompileTemplate","strictMode","scope","EuiText","templateOnly"],"mappings":";;;;;AAoBA,MAAMA,kBAA0C,GAAAC,oBAAA,CAC9CC,kBAAA,CAAA,0aAAA,EAiBA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,aAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;"}
@@ -1,5 +1,4 @@
1
1
  import { hash } from '@ember/helper';
2
- import { element } from 'ember-element-helper';
3
2
  import style from 'ember-style-modifier/modifiers/style';
4
3
  import EuiTitle from '../eui-title.js';
5
4
  import { precompileTemplate } from '@ember/template-compilation';
@@ -9,7 +8,6 @@ import templateOnly from '@ember/component/template-only';
9
8
  const EuiStatTitle = setComponentTemplate(precompileTemplate("{{#if @titleElement}}\n {{#let (element @titleElement) as |TitleElement|}}\n <EuiTitle @size={{@titleSize}} ...attributes>\n <TitleElement aria-hidden=\"true\" {{style (if @isColorClass (hash color=@titleColor))}}>\n {{yield}}\n </TitleElement>\n </EuiTitle>\n {{/let}}\n{{else}}\n <EuiTitle @size={{@titleSize}} ...attributes>\n <p aria-hidden=\"true\" {{style (if @isColorClass (hash color=@titleColor))}}>\n {{yield}}\n </p>\n </EuiTitle>\n{{/if}}", {
10
9
  strictMode: true,
11
10
  scope: () => ({
12
- element,
13
11
  EuiTitle,
14
12
  style,
15
13
  hash
@@ -1 +1 @@
1
- {"version":3,"file":"title.js","sources":["../../../src/components/eui-stat/title.gts"],"sourcesContent":["import { hash } from '@ember/helper';\n\nimport { element } from 'ember-element-helper';\nimport style from 'ember-style-modifier/modifiers/style';\n\nimport EuiTitle from '../eui-title.gts';\n\nimport type { EuiTitleSignature } from '../eui-title';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\n/** @private The title of an EuiStat. */\nexport interface EuiStatTitleSignature {\n Element: any;\n Args: {\n /** Size, any `EuiTitle` size. */\n titleSize?: EuiTitleSignature['Args']['size'];\n /** A CSS color, when it is not one of the named colors. */\n titleColor?: string;\n /** Tag of the title. Defaults to `'p'`. */\n titleElement?: string;\n /** Whether `@titleColor` is a named color (a class). */\n isColorClass?: boolean;\n };\n Blocks: {\n /** The text. */\n default: [];\n };\n}\n\nconst EuiStatTitle: TemplateOnlyComponent<EuiStatTitleSignature> = <template>\n {{#if @titleElement}}\n {{#let (element @titleElement) as |TitleElement|}}\n <EuiTitle @size={{@titleSize}} ...attributes>\n <TitleElement\n aria-hidden=\"true\"\n {{style (if @isColorClass (hash color=@titleColor))}}\n >\n {{yield}}\n </TitleElement>\n </EuiTitle>\n {{/let}}\n {{else}}\n <EuiTitle @size={{@titleSize}} ...attributes>\n <p\n aria-hidden=\"true\"\n {{style (if @isColorClass (hash color=@titleColor))}}\n >\n {{yield}}\n </p>\n </EuiTitle>\n {{/if}}\n</template>;\n\nexport default EuiStatTitle;\n"],"names":["EuiStatTitle","setComponentTemplate","precompileTemplate","strictMode","scope","element","EuiTitle","style","hash","templateOnly"],"mappings":";;;;;;;;AA6BA,MAAMA,YAAoC,GAAAC,oBAAA,CAAyBC,kBAAA,CAAA,0eAAA,EAsBnE;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;IAAAC,QAAA;IAAAC,KAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;"}
1
+ {"version":3,"file":"title.js","sources":["../../../src/components/eui-stat/title.gts"],"sourcesContent":["import { hash } from '@ember/helper';\n\nimport style from 'ember-style-modifier/modifiers/style';\n\nimport EuiTitle from '../eui-title.gts';\n\nimport type { EuiTitleSignature } from '../eui-title';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\n/** @private The title of an EuiStat. */\nexport interface EuiStatTitleSignature {\n Element: any;\n Args: {\n /** Size, any `EuiTitle` size. */\n titleSize?: EuiTitleSignature['Args']['size'];\n /** A CSS color, when it is not one of the named colors. */\n titleColor?: string;\n /** Tag of the title. Defaults to `'p'`. */\n titleElement?: string;\n /** Whether `@titleColor` is a named color (a class). */\n isColorClass?: boolean;\n };\n Blocks: {\n /** The text. */\n default: [];\n };\n}\n\nconst EuiStatTitle: TemplateOnlyComponent<EuiStatTitleSignature> = <template>\n {{#if @titleElement}}\n {{#let (element @titleElement) as |TitleElement|}}\n <EuiTitle @size={{@titleSize}} ...attributes>\n <TitleElement\n aria-hidden=\"true\"\n {{style (if @isColorClass (hash color=@titleColor))}}\n >\n {{yield}}\n </TitleElement>\n </EuiTitle>\n {{/let}}\n {{else}}\n <EuiTitle @size={{@titleSize}} ...attributes>\n <p\n aria-hidden=\"true\"\n {{style (if @isColorClass (hash color=@titleColor))}}\n >\n {{yield}}\n </p>\n </EuiTitle>\n {{/if}}\n</template>;\n\nexport default EuiStatTitle;\n"],"names":["EuiStatTitle","setComponentTemplate","precompileTemplate","strictMode","scope","EuiTitle","style","hash","templateOnly"],"mappings":";;;;;;;AA4BA,MAAMA,YAAoC,GAAAC,oBAAA,CAAyBC,kBAAA,CAAA,0eAAA,EAsBnE;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,QAAA;IAAAC,KAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;"}
@@ -1,5 +1,4 @@
1
1
  import { on } from '@ember/modifier';
2
- import { element } from 'ember-element-helper';
3
2
  import EuiIcon from './eui-icon.js';
4
3
  import { precompileTemplate } from '@ember/template-compilation';
5
4
  import { setComponentTemplate } from '@ember/component';
@@ -23,7 +22,6 @@ function noop() {}
23
22
  const EuiSuggestItem = setComponentTemplate(precompileTemplate("{{#let (element (if @onClick \"button\" \"div\")) as |Tag|}}\n <Tag class=\"euiSuggestItem {{if @onClick \"euiSuggestItem-isClickable\"}}\" type={{if @onClick \"button\"}} {{on \"click\" (if @onClick @onClick noop)}} ...attributes>\n <span class={{typeClass @type}}>\n <EuiIcon @type={{@type.iconType}} @color=\"inherit\" />\n </span>\n <span class={{labelClass @labelDisplay @labelWidth @description}}>{{@label}}</span>\n {{#if @description}}\n <span class=\"euiSuggestItem__description euiSuggestItem__description--{{if @descriptionDisplay @descriptionDisplay \"truncate\"}}\">{{@description}}</span>\n {{/if}}\n </Tag>\n{{/let}}", {
24
23
  strictMode: true,
25
24
  scope: () => ({
26
- element,
27
25
  on,
28
26
  noop,
29
27
  typeClass,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-suggest-item.js","sources":["../../src/components/eui-suggest-item.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { element } from 'ember-element-helper';\n\nimport EuiIcon from './eui-icon.gts';\n\nimport type { EuiIconSignature } from './eui-icon';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nconst TINTS = [\n 'tint0',\n 'tint1',\n 'tint2',\n 'tint3',\n 'tint4',\n 'tint5',\n 'tint6',\n 'tint7',\n 'tint8',\n 'tint9',\n 'tint10'\n];\n\nexport interface EuiSuggestItemType {\n /** Icon of the suggestion's type, e.g. `'kqlField'` or `'search'`. */\n iconType: EuiIconSignature['Args']['type'];\n /** `'tint0'` to `'tint10'`, the color behind the icon. */\n color?: string;\n}\n\n/**\n * One suggestion of an `EuiSuggest`: a colored type icon, a label and an\n * optional description. With `@onClick` it is a button.\n */\nexport interface EuiSuggestItemSignature {\n Element: HTMLButtonElement | HTMLDivElement;\n Args: {\n /** The suggestion's type: its icon and color. */\n type: EuiSuggestItemType;\n /** The suggestion. */\n label: string;\n /** More about it, after the label. */\n description?: string;\n /**\n * `'fixed'` keeps the label at `@labelWidth`; `'expand'` lets it take\n * the space it needs. Defaults to `'fixed'` (`'expand'` without a\n * description).\n */\n labelDisplay?: 'fixed' | 'expand';\n /** Width of the label in percent, `'20'` to `'90'` by tens. Defaults to `'50'`. */\n labelWidth?: '20' | '30' | '40' | '50' | '60' | '70' | '80' | '90';\n /** `'truncate'` or `'wrap'` a long description. Defaults to `'truncate'`. */\n descriptionDisplay?: 'truncate' | 'wrap';\n /** Makes it a button. */\n onClick?: (event: MouseEvent) => void;\n };\n}\n\nfunction typeClass(type: EuiSuggestItemType): string {\n return type.color && TINTS.includes(type.color)\n ? `euiSuggestItem__type euiSuggestItem__type--${type.color}`\n : 'euiSuggestItem__type';\n}\n\nfunction labelClass(labelDisplay = 'fixed', labelWidth = '50', description?: string): string {\n const display = description ? labelDisplay : 'expand';\n\n return [\n 'euiSuggestItem__label',\n `euiSuggestItem__labelDisplay--${display}`,\n labelDisplay === 'fixed' && `euiSuggestItem__label--width${labelWidth}`\n ]\n .filter(Boolean)\n .join(' ');\n}\n\nfunction noop(): void {}\n\nconst EuiSuggestItem: TemplateOnlyComponent<EuiSuggestItemSignature> = <template>\n {{#let (element (if @onClick \"button\" \"div\")) as |Tag|}}\n <Tag\n class=\"euiSuggestItem {{if @onClick 'euiSuggestItem-isClickable'}}\"\n type={{if @onClick \"button\"}}\n {{on \"click\" (if @onClick @onClick noop)}}\n ...attributes\n >\n <span class={{typeClass @type}}>\n <EuiIcon @type={{@type.iconType}} @color=\"inherit\" />\n </span>\n <span class={{labelClass @labelDisplay @labelWidth @description}}>{{@label}}</span>\n {{#if @description}}\n <span\n class=\"euiSuggestItem__description euiSuggestItem__description--{{if\n @descriptionDisplay\n @descriptionDisplay\n 'truncate'\n }}\"\n >{{@description}}</span>\n {{/if}}\n </Tag>\n {{/let}}\n</template>;\n\nexport default EuiSuggestItem;\n"],"names":["TINTS","typeClass","type","color","includes","labelClass","labelDisplay","labelWidth","description","display","filter","Boolean","join","noop","EuiSuggestItem","setComponentTemplate","precompileTemplate","strictMode","scope","element","on","EuiIcon","templateOnly"],"mappings":";;;;;;;AASA,MAAMA,KAAA,GAAQ,CACZ,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,QAAA,CACD;;AASD;;;AAGC;;AAyBD,SAASC,SAAAA,CAAUC,IAAwB,EAAS;AAClD,EAAA,OAAOA,IAAA,CAAKC,KAAK,IAAIH,KAAA,CAAMI,QAAQ,CAACF,IAAA,CAAKC,KAAK,CAAA,GAC1C,CAAA,2CAAA,EAA8CD,IAAA,CAAKC,KAAK,CAAA,CAAE,GAC1D,sBAAA;AACN;AAEA,SAASE,UAAAA,CAAWC,YAAA,GAAe,OAAO,EAAEC,UAAA,GAAa,IAAI,EAAEC,WAAoB,EAAS;AAC1F,EAAA,MAAMC,OAAA,GAAUD,cAAcF,YAAA,GAAe,QAAA;EAE7C,OAAO,CACL,uBAAA,EACA,CAAA,8BAAA,EAAiCG,OAAA,EAAS,EAC1CH,YAAA,KAAiB,OAAA,IAAW,CAAA,4BAAA,EAA+BC,UAAA,CAAA,CAAY,CACxE,CACEG,MAAM,CAACC,OAAA,CAAA,CACPC,IAAI,CAAC,GAAA,CAAA;AACV;AAEA,SAASC,IAAAA,GAAY,CAAE;AAEvB,MAAMC,cAAsC,GAAAC,oBAAA,CAA2BC,kBAAA,CAAA,opBAAA,EAuBvE;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;IAAAC,EAAA;IAAAP,IAAA;IAAAZ,SAAA;IAAAoB,OAAA;AAAAhB,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAiB,YAAA,EAAA;;"}
1
+ {"version":3,"file":"eui-suggest-item.js","sources":["../../src/components/eui-suggest-item.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\n\nimport EuiIcon from './eui-icon.gts';\n\nimport type { EuiIconSignature } from './eui-icon';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nconst TINTS = [\n 'tint0',\n 'tint1',\n 'tint2',\n 'tint3',\n 'tint4',\n 'tint5',\n 'tint6',\n 'tint7',\n 'tint8',\n 'tint9',\n 'tint10'\n];\n\nexport interface EuiSuggestItemType {\n /** Icon of the suggestion's type, e.g. `'kqlField'` or `'search'`. */\n iconType: EuiIconSignature['Args']['type'];\n /** `'tint0'` to `'tint10'`, the color behind the icon. */\n color?: string;\n}\n\n/**\n * One suggestion of an `EuiSuggest`: a colored type icon, a label and an\n * optional description. With `@onClick` it is a button.\n */\nexport interface EuiSuggestItemSignature {\n Element: HTMLButtonElement | HTMLDivElement;\n Args: {\n /** The suggestion's type: its icon and color. */\n type: EuiSuggestItemType;\n /** The suggestion. */\n label: string;\n /** More about it, after the label. */\n description?: string;\n /**\n * `'fixed'` keeps the label at `@labelWidth`; `'expand'` lets it take\n * the space it needs. Defaults to `'fixed'` (`'expand'` without a\n * description).\n */\n labelDisplay?: 'fixed' | 'expand';\n /** Width of the label in percent, `'20'` to `'90'` by tens. Defaults to `'50'`. */\n labelWidth?: '20' | '30' | '40' | '50' | '60' | '70' | '80' | '90';\n /** `'truncate'` or `'wrap'` a long description. Defaults to `'truncate'`. */\n descriptionDisplay?: 'truncate' | 'wrap';\n /** Makes it a button. */\n onClick?: (event: MouseEvent) => void;\n };\n}\n\nfunction typeClass(type: EuiSuggestItemType): string {\n return type.color && TINTS.includes(type.color)\n ? `euiSuggestItem__type euiSuggestItem__type--${type.color}`\n : 'euiSuggestItem__type';\n}\n\nfunction labelClass(labelDisplay = 'fixed', labelWidth = '50', description?: string): string {\n const display = description ? labelDisplay : 'expand';\n\n return [\n 'euiSuggestItem__label',\n `euiSuggestItem__labelDisplay--${display}`,\n labelDisplay === 'fixed' && `euiSuggestItem__label--width${labelWidth}`\n ]\n .filter(Boolean)\n .join(' ');\n}\n\nfunction noop(): void {}\n\nconst EuiSuggestItem: TemplateOnlyComponent<EuiSuggestItemSignature> = <template>\n {{#let (element (if @onClick \"button\" \"div\")) as |Tag|}}\n <Tag\n class=\"euiSuggestItem {{if @onClick 'euiSuggestItem-isClickable'}}\"\n type={{if @onClick \"button\"}}\n {{on \"click\" (if @onClick @onClick noop)}}\n ...attributes\n >\n <span class={{typeClass @type}}>\n <EuiIcon @type={{@type.iconType}} @color=\"inherit\" />\n </span>\n <span class={{labelClass @labelDisplay @labelWidth @description}}>{{@label}}</span>\n {{#if @description}}\n <span\n class=\"euiSuggestItem__description euiSuggestItem__description--{{if\n @descriptionDisplay\n @descriptionDisplay\n 'truncate'\n }}\"\n >{{@description}}</span>\n {{/if}}\n </Tag>\n {{/let}}\n</template>;\n\nexport default EuiSuggestItem;\n"],"names":["TINTS","typeClass","type","color","includes","labelClass","labelDisplay","labelWidth","description","display","filter","Boolean","join","noop","EuiSuggestItem","setComponentTemplate","precompileTemplate","strictMode","scope","on","EuiIcon","templateOnly"],"mappings":";;;;;;AAQA,MAAMA,KAAA,GAAQ,CACZ,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,OAAA,EACA,QAAA,CACD;;AASD;;;AAGC;;AAyBD,SAASC,SAAAA,CAAUC,IAAwB,EAAS;AAClD,EAAA,OAAOA,IAAA,CAAKC,KAAK,IAAIH,KAAA,CAAMI,QAAQ,CAACF,IAAA,CAAKC,KAAK,CAAA,GAC1C,CAAA,2CAAA,EAA8CD,IAAA,CAAKC,KAAK,CAAA,CAAE,GAC1D,sBAAA;AACN;AAEA,SAASE,UAAAA,CAAWC,YAAA,GAAe,OAAO,EAAEC,UAAA,GAAa,IAAI,EAAEC,WAAoB,EAAS;AAC1F,EAAA,MAAMC,OAAA,GAAUD,cAAcF,YAAA,GAAe,QAAA;EAE7C,OAAO,CACL,uBAAA,EACA,CAAA,8BAAA,EAAiCG,OAAA,EAAS,EAC1CH,YAAA,KAAiB,OAAA,IAAW,CAAA,4BAAA,EAA+BC,UAAA,CAAA,CAAY,CACxE,CACEG,MAAM,CAACC,OAAA,CAAA,CACPC,IAAI,CAAC,GAAA,CAAA;AACV;AAEA,SAASC,IAAAA,GAAY,CAAE;AAEvB,MAAMC,cAAsC,GAAAC,oBAAA,CAA2BC,kBAAA,CAAA,opBAAA,EAuBvE;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;IAAAN,IAAA;IAAAZ,SAAA;IAAAmB,OAAA;AAAAf,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAgB,YAAA,EAAA;;"}