@ember-eui/core 12.0.1 → 12.0.2

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 (308) hide show
  1. package/declarations/components/common.d.ts +1 -1
  2. package/declarations/components/common.d.ts.map +1 -1
  3. package/declarations/components/eui-accordion.d.ts.map +1 -1
  4. package/declarations/components/eui-badge.d.ts.map +1 -1
  5. package/declarations/components/eui-button-group-button.d.ts.map +1 -1
  6. package/declarations/components/eui-combo-box.d.ts +1 -1
  7. package/declarations/components/eui-combo-box.d.ts.map +1 -1
  8. package/declarations/components/eui-described-form-group.d.ts +2 -0
  9. package/declarations/components/eui-described-form-group.d.ts.map +1 -1
  10. package/declarations/components/eui-dual-range.d.ts.map +1 -1
  11. package/declarations/components/eui-header-section-item-button.d.ts.map +1 -1
  12. package/declarations/components/eui-list-group-item.d.ts.map +1 -1
  13. package/declarations/components/eui-loading-content.d.ts.map +1 -1
  14. package/declarations/components/eui-markdown-editor.d.ts.map +1 -1
  15. package/declarations/components/eui-markdown-format.d.ts.map +1 -1
  16. package/declarations/components/eui-notification-event-messages.d.ts.map +1 -1
  17. package/declarations/components/eui-page-header-content.d.ts.map +1 -1
  18. package/declarations/components/eui-popover.d.ts.map +1 -1
  19. package/declarations/components/eui-range.d.ts.map +1 -1
  20. package/declarations/components/eui-super-date-picker/utils/date-utils.d.ts +1 -0
  21. package/declarations/components/eui-super-date-picker/utils/date-utils.d.ts.map +1 -1
  22. package/declarations/components/eui-super-date-picker/utils/index.d.ts +1 -0
  23. package/declarations/components/eui-super-date-picker/utils/index.d.ts.map +1 -1
  24. package/declarations/components/eui-super-date-picker/utils/pretty-duration.d.ts +1 -0
  25. package/declarations/components/eui-super-date-picker/utils/pretty-duration.d.ts.map +1 -1
  26. package/declarations/components/eui-super-date-picker/utils/quick-select.d.ts +1 -0
  27. package/declarations/components/eui-super-date-picker/utils/quick-select.d.ts.map +1 -1
  28. package/declarations/components/eui-super-date-picker/utils/time-options.d.ts +1 -0
  29. package/declarations/components/eui-super-date-picker/utils/time-options.d.ts.map +1 -1
  30. package/declarations/components/eui-tabbed-content.d.ts.map +1 -1
  31. package/declarations/utils/common.d.ts +42 -0
  32. package/declarations/utils/common.d.ts.map +1 -0
  33. package/dist/_rollupPluginBabelHelpers-9wjJaosZ.js +63 -0
  34. package/dist/_rollupPluginBabelHelpers-9wjJaosZ.js.map +1 -0
  35. package/dist/components/common.js +1 -19
  36. package/dist/components/common.js.map +1 -1
  37. package/dist/components/eui-accordion.js +9 -9
  38. package/dist/components/eui-accordion.js.map +1 -1
  39. package/dist/components/eui-auto-sizer.js +2 -2
  40. package/dist/components/eui-auto-sizer.js.map +1 -1
  41. package/dist/components/eui-badge.js +1 -1
  42. package/dist/components/eui-badge.js.map +1 -1
  43. package/dist/components/eui-bottom-bar.js +1 -1
  44. package/dist/components/eui-bottom-bar.js.map +1 -1
  45. package/dist/components/eui-breadcrumbs.js +2 -2
  46. package/dist/components/eui-breadcrumbs.js.map +1 -1
  47. package/dist/components/eui-button-group-button.js +7 -3
  48. package/dist/components/eui-button-group-button.js.map +1 -1
  49. package/dist/components/eui-card-select.js +1 -1
  50. package/dist/components/eui-card-select.js.map +1 -1
  51. package/dist/components/eui-card.js +2 -2
  52. package/dist/components/eui-card.js.map +1 -1
  53. package/dist/components/eui-checkbox.js +1 -1
  54. package/dist/components/eui-checkbox.js.map +1 -1
  55. package/dist/components/eui-code-block.js +7 -7
  56. package/dist/components/eui-code-block.js.map +1 -1
  57. package/dist/components/eui-code.js +2 -2
  58. package/dist/components/eui-code.js.map +1 -1
  59. package/dist/components/eui-collapsible-nav.js +1 -1
  60. package/dist/components/eui-collapsible-nav.js.map +1 -1
  61. package/dist/components/eui-combo-box/create-option.js +1 -1
  62. package/dist/components/eui-combo-box/create-option.js.map +1 -1
  63. package/dist/components/eui-combo-box/options.js +1 -1
  64. package/dist/components/eui-combo-box/options.js.map +1 -1
  65. package/dist/components/eui-combo-box/trigger.js +1 -1
  66. package/dist/components/eui-combo-box/trigger.js.map +1 -1
  67. package/dist/components/eui-combo-box-pill.js +1 -1
  68. package/dist/components/eui-combo-box-pill.js.map +1 -1
  69. package/dist/components/eui-combo-box.js +9 -11
  70. package/dist/components/eui-combo-box.js.map +1 -1
  71. package/dist/components/eui-context-menu-item.js +1 -1
  72. package/dist/components/eui-context-menu-item.js.map +1 -1
  73. package/dist/components/eui-copy.js +1 -1
  74. package/dist/components/eui-copy.js.map +1 -1
  75. package/dist/components/eui-described-form-group.js +1 -1
  76. package/dist/components/eui-described-form-group.js.map +1 -1
  77. package/dist/components/eui-dual-range.js +17 -17
  78. package/dist/components/eui-dual-range.js.map +1 -1
  79. package/dist/components/eui-field-number.js +1 -1
  80. package/dist/components/eui-field-number.js.map +1 -1
  81. package/dist/components/eui-field-password.js +1 -1
  82. package/dist/components/eui-field-password.js.map +1 -1
  83. package/dist/components/eui-field-search.js +3 -3
  84. package/dist/components/eui-field-search.js.map +1 -1
  85. package/dist/components/eui-field-text.js +1 -1
  86. package/dist/components/eui-field-text.js.map +1 -1
  87. package/dist/components/eui-file-picker.js +6 -6
  88. package/dist/components/eui-file-picker.js.map +1 -1
  89. package/dist/components/eui-flyout.js +2 -2
  90. package/dist/components/eui-flyout.js.map +1 -1
  91. package/dist/components/eui-global-toast-list.js +4 -4
  92. package/dist/components/eui-global-toast-list.js.map +1 -1
  93. package/dist/components/eui-header-links.js +1 -1
  94. package/dist/components/eui-header-links.js.map +1 -1
  95. package/dist/components/eui-header-section-item-button.js +3 -3
  96. package/dist/components/eui-header-section-item-button.js.map +1 -1
  97. package/dist/components/eui-i18n.js +1 -1
  98. package/dist/components/eui-i18n.js.map +1 -1
  99. package/dist/components/eui-icon.js +2 -2
  100. package/dist/components/eui-icon.js.map +1 -1
  101. package/dist/components/eui-image.js +2 -2
  102. package/dist/components/eui-image.js.map +1 -1
  103. package/dist/components/eui-inner-text.js +2 -2
  104. package/dist/components/eui-inner-text.js.map +1 -1
  105. package/dist/components/eui-input-popover.js +9 -9
  106. package/dist/components/eui-input-popover.js.map +1 -1
  107. package/dist/components/eui-list-group-item.js +1 -4
  108. package/dist/components/eui-list-group-item.js.map +1 -1
  109. package/dist/components/eui-loading-content.js +17 -5
  110. package/dist/components/eui-loading-content.js.map +1 -1
  111. package/dist/components/eui-markdown-editor-footer.js +2 -2
  112. package/dist/components/eui-markdown-editor-footer.js.map +1 -1
  113. package/dist/components/eui-markdown-editor.js +16 -16
  114. package/dist/components/eui-markdown-editor.js.map +1 -1
  115. package/dist/components/eui-markdown-format.js +1 -1
  116. package/dist/components/eui-markdown-format.js.map +1 -1
  117. package/dist/components/eui-modal.js +1 -1
  118. package/dist/components/eui-modal.js.map +1 -1
  119. package/dist/components/eui-notification-event-messages.js +4 -2
  120. package/dist/components/eui-notification-event-messages.js.map +1 -1
  121. package/dist/components/eui-notification-event-meta.js +2 -2
  122. package/dist/components/eui-notification-event-meta.js.map +1 -1
  123. package/dist/components/eui-notification-event.js +1 -1
  124. package/dist/components/eui-notification-event.js.map +1 -1
  125. package/dist/components/eui-overlay-mask.js +1 -1
  126. package/dist/components/eui-overlay-mask.js.map +1 -1
  127. package/dist/components/eui-page-header-content.js +4 -4
  128. package/dist/components/eui-page-header-content.js.map +1 -1
  129. package/dist/components/eui-page-template.js +3 -3
  130. package/dist/components/eui-page-template.js.map +1 -1
  131. package/dist/components/eui-popover.js +22 -22
  132. package/dist/components/eui-popover.js.map +1 -1
  133. package/dist/components/eui-portal.js +1 -1
  134. package/dist/components/eui-portal.js.map +1 -1
  135. package/dist/components/eui-radio.js +1 -1
  136. package/dist/components/eui-radio.js.map +1 -1
  137. package/dist/components/eui-range-ticks.js +1 -1
  138. package/dist/components/eui-range-ticks.js.map +1 -1
  139. package/dist/components/eui-range-track.js +1 -1
  140. package/dist/components/eui-range-track.js.map +1 -1
  141. package/dist/components/eui-range.js +15 -15
  142. package/dist/components/eui-range.js.map +1 -1
  143. package/dist/components/eui-select.js +1 -1
  144. package/dist/components/eui-select.js.map +1 -1
  145. package/dist/components/eui-show-for.js +1 -1
  146. package/dist/components/eui-show-for.js.map +1 -1
  147. package/dist/components/eui-side-nav-item.js +1 -1
  148. package/dist/components/eui-side-nav-item.js.map +1 -1
  149. package/dist/components/eui-side-nav.js +1 -1
  150. package/dist/components/eui-side-nav.js.map +1 -1
  151. package/dist/components/eui-step-horizontal.js +1 -1
  152. package/dist/components/eui-step-horizontal.js.map +1 -1
  153. package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js +3 -3
  154. package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js.map +1 -1
  155. package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js +8 -8
  156. package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js.map +1 -1
  157. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js +2 -2
  158. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js.map +1 -1
  159. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js +2 -2
  160. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js.map +1 -1
  161. package/dist/components/eui-super-date-picker/date-popover/relative-tab.js +4 -4
  162. package/dist/components/eui-super-date-picker/date-popover/relative-tab.js.map +1 -1
  163. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js +4 -4
  164. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js.map +1 -1
  165. package/dist/components/eui-super-date-picker/eui-quick-select-popover.js +2 -2
  166. package/dist/components/eui-super-date-picker/eui-quick-select-popover.js.map +1 -1
  167. package/dist/components/eui-super-date-picker/utils/date-utils.js +1 -1
  168. package/dist/components/eui-super-date-picker/utils/date-utils.js.map +1 -1
  169. package/dist/components/eui-super-date-picker/utils/index.js +1 -1
  170. package/dist/components/eui-super-date-picker/utils/index.js.map +1 -1
  171. package/dist/components/eui-super-date-picker/utils/pretty-duration.js +1 -1
  172. package/dist/components/eui-super-date-picker/utils/pretty-duration.js.map +1 -1
  173. package/dist/components/eui-super-date-picker/utils/quick-select.js +1 -1
  174. package/dist/components/eui-super-date-picker/utils/quick-select.js.map +1 -1
  175. package/dist/components/eui-super-date-picker/utils/time-options.js +1 -1
  176. package/dist/components/eui-super-date-picker/utils/time-options.js.map +1 -1
  177. package/dist/components/eui-super-date-picker.js +13 -13
  178. package/dist/components/eui-super-date-picker.js.map +1 -1
  179. package/dist/components/eui-tabbed-content.js +4 -4
  180. package/dist/components/eui-tabbed-content.js.map +1 -1
  181. package/dist/components/eui-text-area.js +1 -1
  182. package/dist/components/eui-text-area.js.map +1 -1
  183. package/dist/components/eui-tool-tip.js +9 -9
  184. package/dist/components/eui-tool-tip.js.map +1 -1
  185. package/dist/helpers/get-eui-config.js +1 -1
  186. package/dist/helpers/get-eui-config.js.map +1 -1
  187. package/dist/helpers/use-state.js +1 -1
  188. package/dist/helpers/use-state.js.map +1 -1
  189. package/dist/services/eui-config.js +1 -1
  190. package/dist/services/eui-config.js.map +1 -1
  191. package/dist/services/eui-toaster.js +1 -1
  192. package/dist/services/eui-toaster.js.map +1 -1
  193. package/package.json +9 -123
  194. package/dist/_app_/utils/accesibility/accessible-click-keys.js +0 -1
  195. package/dist/_app_/utils/accesibility/cascading-menu-keys.js +0 -1
  196. package/dist/_app_/utils/accesibility/combo-box-keys.js +0 -1
  197. package/dist/_app_/utils/accesibility/index.js +0 -1
  198. package/dist/_app_/utils/breakpoint.js +0 -1
  199. package/dist/_app_/utils/browser/browser.js +0 -1
  200. package/dist/_app_/utils/browser/index.js +0 -1
  201. package/dist/_app_/utils/code/utils.js +0 -1
  202. package/dist/_app_/utils/color/color_palette.js +0 -1
  203. package/dist/_app_/utils/color/eui_palettes.js +0 -1
  204. package/dist/_app_/utils/color/index.js +0 -1
  205. package/dist/_app_/utils/copy-to-clipboard.js +0 -1
  206. package/dist/_app_/utils/css-mappings/eui-accordion.js +0 -1
  207. package/dist/_app_/utils/css-mappings/eui-avatar.js +0 -1
  208. package/dist/_app_/utils/css-mappings/eui-badge-group.js +0 -1
  209. package/dist/_app_/utils/css-mappings/eui-badge.js +0 -1
  210. package/dist/_app_/utils/css-mappings/eui-beta-badge.js +0 -1
  211. package/dist/_app_/utils/css-mappings/eui-bottom-bar.js +0 -1
  212. package/dist/_app_/utils/css-mappings/eui-button-empty.js +0 -1
  213. package/dist/_app_/utils/css-mappings/eui-button-group-button.js +0 -1
  214. package/dist/_app_/utils/css-mappings/eui-button-group.js +0 -1
  215. package/dist/_app_/utils/css-mappings/eui-button-icon.js +0 -1
  216. package/dist/_app_/utils/css-mappings/eui-button.js +0 -1
  217. package/dist/_app_/utils/css-mappings/eui-call-out.js +0 -1
  218. package/dist/_app_/utils/css-mappings/eui-card-select.js +0 -1
  219. package/dist/_app_/utils/css-mappings/eui-card.js +0 -1
  220. package/dist/_app_/utils/css-mappings/eui-code-block.js +0 -1
  221. package/dist/_app_/utils/css-mappings/eui-collapsible-nav-group.js +0 -1
  222. package/dist/_app_/utils/css-mappings/eui-comment-event.js +0 -1
  223. package/dist/_app_/utils/css-mappings/eui-comment-timeline-icon.js +0 -1
  224. package/dist/_app_/utils/css-mappings/eui-context-menu-item.js +0 -1
  225. package/dist/_app_/utils/css-mappings/eui-described-form-group.js +0 -1
  226. package/dist/_app_/utils/css-mappings/eui-description-list.js +0 -1
  227. package/dist/_app_/utils/css-mappings/eui-empty-prompt.js +0 -1
  228. package/dist/_app_/utils/css-mappings/eui-file-picker.js +0 -1
  229. package/dist/_app_/utils/css-mappings/eui-flex-grid.js +0 -1
  230. package/dist/_app_/utils/css-mappings/eui-flex-group.js +0 -1
  231. package/dist/_app_/utils/css-mappings/eui-flex-item.js +0 -1
  232. package/dist/_app_/utils/css-mappings/eui-flyout.js +0 -1
  233. package/dist/_app_/utils/css-mappings/eui-form-control-layout-clear-button.js +0 -1
  234. package/dist/_app_/utils/css-mappings/eui-form-row.js +0 -1
  235. package/dist/_app_/utils/css-mappings/eui-global-toast-list.js +0 -1
  236. package/dist/_app_/utils/css-mappings/eui-header-links.js +0 -1
  237. package/dist/_app_/utils/css-mappings/eui-header-section-item.js +0 -1
  238. package/dist/_app_/utils/css-mappings/eui-header-section.js +0 -1
  239. package/dist/_app_/utils/css-mappings/eui-header.js +0 -1
  240. package/dist/_app_/utils/css-mappings/eui-health.js +0 -1
  241. package/dist/_app_/utils/css-mappings/eui-horizontal-rule.js +0 -1
  242. package/dist/_app_/utils/css-mappings/eui-icon.js +0 -1
  243. package/dist/_app_/utils/css-mappings/eui-image.js +0 -1
  244. package/dist/_app_/utils/css-mappings/eui-link.js +0 -1
  245. package/dist/_app_/utils/css-mappings/eui-list-group-item.js +0 -1
  246. package/dist/_app_/utils/css-mappings/eui-list-group.js +0 -1
  247. package/dist/_app_/utils/css-mappings/eui-loading-spinner.js +0 -1
  248. package/dist/_app_/utils/css-mappings/eui-modal.js +0 -1
  249. package/dist/_app_/utils/css-mappings/eui-notification-badge.js +0 -1
  250. package/dist/_app_/utils/css-mappings/eui-page-body.js +0 -1
  251. package/dist/_app_/utils/css-mappings/eui-page-content-body.js +0 -1
  252. package/dist/_app_/utils/css-mappings/eui-page-content.js +0 -1
  253. package/dist/_app_/utils/css-mappings/eui-page-header.js +0 -1
  254. package/dist/_app_/utils/css-mappings/eui-page-side-bar.js +0 -1
  255. package/dist/_app_/utils/css-mappings/eui-page.js +0 -1
  256. package/dist/_app_/utils/css-mappings/eui-panel.js +0 -1
  257. package/dist/_app_/utils/css-mappings/eui-popover-footer.js +0 -1
  258. package/dist/_app_/utils/css-mappings/eui-popover-title.js +0 -1
  259. package/dist/_app_/utils/css-mappings/eui-popover.js +0 -1
  260. package/dist/_app_/utils/css-mappings/eui-progress-data.js +0 -1
  261. package/dist/_app_/utils/css-mappings/eui-progress.js +0 -1
  262. package/dist/_app_/utils/css-mappings/eui-range-highlight.js +0 -1
  263. package/dist/_app_/utils/css-mappings/eui-range-input.js +0 -1
  264. package/dist/_app_/utils/css-mappings/eui-range-levels.js +0 -1
  265. package/dist/_app_/utils/css-mappings/eui-selectable-list-item.js +0 -1
  266. package/dist/_app_/utils/css-mappings/eui-spacer.js +0 -1
  267. package/dist/_app_/utils/css-mappings/eui-stat.js +0 -1
  268. package/dist/_app_/utils/css-mappings/eui-step-number.js +0 -1
  269. package/dist/_app_/utils/css-mappings/eui-tabs.js +0 -1
  270. package/dist/_app_/utils/css-mappings/eui-text-align.js +0 -1
  271. package/dist/_app_/utils/css-mappings/eui-text-area.js +0 -1
  272. package/dist/_app_/utils/css-mappings/eui-text-color.js +0 -1
  273. package/dist/_app_/utils/css-mappings/eui-text.js +0 -1
  274. package/dist/_app_/utils/css-mappings/eui-title.js +0 -1
  275. package/dist/_app_/utils/css-mappings/eui-toast.js +0 -1
  276. package/dist/_app_/utils/css-mappings/eui-tool-tip.js +0 -1
  277. package/dist/_app_/utils/css-mappings/index.js +0 -1
  278. package/dist/_app_/utils/detect-element-resize.js +0 -1
  279. package/dist/_app_/utils/index.js +0 -1
  280. package/dist/_app_/utils/keys.js +0 -1
  281. package/dist/_app_/utils/markdown/markdown-actions.js +0 -1
  282. package/dist/_app_/utils/markdown/markdown-modes.js +0 -1
  283. package/dist/_app_/utils/markdown/markdown-types.js +0 -1
  284. package/dist/_app_/utils/markdown/plugins/markdown-add-components/index.js +0 -1
  285. package/dist/_app_/utils/markdown/plugins/markdown-add-components/processor.js +0 -1
  286. package/dist/_app_/utils/markdown/plugins/markdown-checkbox/index.js +0 -1
  287. package/dist/_app_/utils/markdown/plugins/markdown-checkbox/parser.js +0 -1
  288. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/index.js +0 -1
  289. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.js +0 -1
  290. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/plugins.js +0 -1
  291. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/processing-plugins.js +0 -1
  292. package/dist/_app_/utils/markdown/plugins/markdown-default-plugins/ui-plugins.js +0 -1
  293. package/dist/_app_/utils/markdown/plugins/markdown-tooltip/index.js +0 -1
  294. package/dist/_app_/utils/markdown/plugins/markdown-tooltip/parser.js +0 -1
  295. package/dist/_app_/utils/markdown/plugins/markdown-tooltip/plugin.js +0 -1
  296. package/dist/_app_/utils/markdown/plugins/to-dom.js +0 -1
  297. package/dist/_app_/utils/markdown/remark/remark-prismjs.js +0 -1
  298. package/dist/_app_/utils/maybe-unwrap-proxy.js +0 -1
  299. package/dist/_app_/utils/number/index.js +0 -1
  300. package/dist/_app_/utils/number/number.js +0 -1
  301. package/dist/_app_/utils/popover/index.js +0 -1
  302. package/dist/_app_/utils/popover/types.js +0 -1
  303. package/dist/_app_/utils/predicate/common_predicates.js +0 -1
  304. package/dist/_app_/utils/predicate/index.js +0 -1
  305. package/dist/_app_/utils/predicate/lodash_predicates.js +0 -1
  306. package/dist/_app_/utils/range/index.js +0 -1
  307. package/dist/_app_/utils/timer.js +0 -1
  308. package/dist/_app_/utils/transition.js +0 -1
@@ -128,5 +128,5 @@ function getDateMode(value) {
128
128
  return DATE_MODES.ABSOLUTE;
129
129
  }
130
130
 
131
- export { DATE_MODES, INVALID_DATE, ISO_FORMAT, ROUND_DELIMETER, getDateMode, isRangeInvalid, parseRelativeParts, relativeUnitsFromLargestToSmallest, toAbsoluteString, toRelativeStringFromParts, useFormatTimeString };
131
+ export { DATE_MODES, INVALID_DATE, ISO_FORMAT, ROUND_DELIMETER, useFormatTimeString as default, getDateMode, isRangeInvalid, parseRelativeParts, relativeUnitsFromLargestToSmallest, toAbsoluteString, toRelativeStringFromParts, useFormatTimeString };
132
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/eui-super-date-picker/utils/index.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport dateMath from '@elastic/datemath';\nimport moment from 'moment';\n\nimport type EuiI18n from '../../../services/eui-i18n';\nimport type { RelativeParts, ShortDate } from '../types/global';\nimport type { LocaleSpecifier } from 'moment';\n\n/**\n * Reusable format time string util\n */\nexport const ISO_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSSZ';\nexport const INVALID_DATE = 'invalid_date';\nexport const ROUND_DELIMETER = '/';\nexport const relativeUnitsFromLargestToSmallest = [\n 'y',\n 'M',\n 'w',\n 'd',\n 'h',\n 'm',\n 's'\n];\nexport type AbsoluteDateMode = 'absolute';\nexport type RelativeDateMode = 'relative';\nexport type NowDateMode = 'now';\nexport type DateMode = AbsoluteDateMode | RelativeDateMode | NowDateMode;\nexport const DATE_MODES: {\n ABSOLUTE: AbsoluteDateMode;\n RELATIVE: RelativeDateMode;\n NOW: NowDateMode;\n} = {\n ABSOLUTE: 'absolute',\n RELATIVE: 'relative',\n NOW: 'now'\n};\n\nexport const useFormatTimeString = (\n timeString: string,\n dateFormat: string,\n roundUp = false,\n locale: LocaleSpecifier = 'en',\n euiI18nService: EuiI18n\n): string => {\n let lookupToken = euiI18nService.lookupToken;\n\n // i18n'd strings\n const nowDisplay = lookupToken('euiPrettyDuration.now', 'now');\n const invalidDateDisplay = lookupToken(\n 'euiPrettyDuration.invalid',\n 'Invalid date'\n );\n\n const timeAsMoment = moment(timeString, ISO_FORMAT, true);\n\n if (timeAsMoment.isValid()) {\n return timeAsMoment.locale(locale).format(dateFormat);\n }\n\n if (timeString === 'now') {\n return nowDisplay as string;\n }\n\n const tryParse = dateMath.parse(timeString, { roundUp: roundUp });\n\n if (!moment(tryParse).isValid()) {\n return invalidDateDisplay as string;\n }\n\n if (moment.isMoment(tryParse)) {\n return `~ ${tryParse.locale(locale).fromNow()}`;\n }\n\n return timeString;\n};\n\nexport function toAbsoluteString(value: string, roundUp: boolean = false) {\n const valueAsMoment = dateMath.parse(value, { roundUp });\n\n if (!valueAsMoment) {\n return value;\n }\n\n if (!moment(valueAsMoment).isValid()) {\n return INVALID_DATE;\n }\n\n return valueAsMoment.toISOString();\n}\n\nexport function parseRelativeParts(value: string): {\n count: number;\n unit: string;\n round: boolean;\n roundUnit?: string;\n} {\n const matches =\n typeof value === 'string' &&\n value.match(/now(([-+])([0-9]+)([smhdwMy])(\\/[smhdwMy])?)?/);\n\n const operator = matches && matches[2];\n const count = matches && matches[3];\n const unit = matches && matches[4];\n const roundBy = matches && matches[5];\n\n if (count && unit) {\n const isRounded = roundBy ? true : false;\n const roundUnit =\n isRounded && roundBy ? roundBy.replace(ROUND_DELIMETER, '') : undefined;\n\n return {\n count: parseInt(count, 10),\n unit: operator === '+' ? `${unit}+` : unit,\n round: isRounded,\n ...(roundUnit ? { roundUnit } : {})\n };\n }\n\n const results = { count: 0, unit: 's', round: false };\n const duration = moment.duration(moment().diff(dateMath.parse(value)));\n let unitOp = '';\n\n for (let i = 0; i < relativeUnitsFromLargestToSmallest.length; i++) {\n // @ts-expect-error this is a string with the accepted time units\n const asRelative = duration.as(relativeUnitsFromLargestToSmallest[i]);\n\n if (asRelative < 0) unitOp = '+';\n\n if (Math.abs(asRelative) > 1) {\n results.count = Math.round(Math.abs(asRelative));\n results.unit = relativeUnitsFromLargestToSmallest[i] + unitOp;\n results.round = false;\n\n break;\n }\n }\n\n return results;\n}\n\nexport function toRelativeStringFromParts(relativeParts: RelativeParts) {\n const count = relativeParts.count ?? 0;\n const isRounded = relativeParts.round ?? false;\n\n if (count === 0 && !isRounded) {\n return 'now';\n }\n\n const matches = (relativeParts.unit ?? 's').match(/([smhdwMy])(\\+)?/);\n const unit = matches?.[1];\n const operator = matches && matches[2] ? matches[2] : '-';\n const round = isRounded ? `${ROUND_DELIMETER}${unit}` : '';\n\n return `now${operator}${count}${unit}${round}`;\n}\n\nexport function isRangeInvalid(start: ShortDate, end: ShortDate) {\n if (start === 'now' && end === 'now') {\n return true;\n }\n\n const startMoment = dateMath.parse(start);\n const endMoment = dateMath.parse(end, { roundUp: true });\n\n const isInvalid =\n !startMoment ||\n !endMoment ||\n !startMoment.isValid() ||\n !endMoment.isValid() ||\n !moment(startMoment).isValid() ||\n !moment(endMoment).isValid() ||\n startMoment.isAfter(endMoment);\n\n return isInvalid;\n}\n\nexport function getDateMode(value: ShortDate) {\n if (value === 'now') {\n return DATE_MODES.NOW;\n }\n\n if (value?.includes?.('now')) {\n return DATE_MODES.RELATIVE;\n }\n\n return DATE_MODES.ABSOLUTE;\n}\n"],"names":["ISO_FORMAT","INVALID_DATE","ROUND_DELIMETER","relativeUnitsFromLargestToSmallest","DATE_MODES","ABSOLUTE","RELATIVE","NOW","useFormatTimeString","timeString","dateFormat","roundUp","locale","euiI18nService","lookupToken","nowDisplay","invalidDateDisplay","timeAsMoment","moment","isValid","format","tryParse","dateMath","parse","isMoment","fromNow","toAbsoluteString","value","valueAsMoment","toISOString","parseRelativeParts","matches","match","operator","count","unit","roundBy","isRounded","roundUnit","replace","undefined","parseInt","round","results","duration","diff","unitOp","i","length","asRelative","as","Math","abs","toRelativeStringFromParts","relativeParts","isRangeInvalid","start","end","startMoment","endMoment","isInvalid","isAfter","getDateMode","includes"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/eui-super-date-picker/utils/index.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport dateMath from '@elastic/datemath';\nimport moment from 'moment';\n\nimport type EuiI18n from '../../../services/eui-i18n';\nimport type { RelativeParts, ShortDate } from '../types/global';\nimport type { LocaleSpecifier } from 'moment';\n\n/**\n * Reusable format time string util\n */\nexport const ISO_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSSZ';\nexport const INVALID_DATE = 'invalid_date';\nexport const ROUND_DELIMETER = '/';\nexport const relativeUnitsFromLargestToSmallest = [\n 'y',\n 'M',\n 'w',\n 'd',\n 'h',\n 'm',\n 's'\n];\nexport type AbsoluteDateMode = 'absolute';\nexport type RelativeDateMode = 'relative';\nexport type NowDateMode = 'now';\nexport type DateMode = AbsoluteDateMode | RelativeDateMode | NowDateMode;\nexport const DATE_MODES: {\n ABSOLUTE: AbsoluteDateMode;\n RELATIVE: RelativeDateMode;\n NOW: NowDateMode;\n} = {\n ABSOLUTE: 'absolute',\n RELATIVE: 'relative',\n NOW: 'now'\n};\n\nexport const useFormatTimeString = (\n timeString: string,\n dateFormat: string,\n roundUp = false,\n locale: LocaleSpecifier = 'en',\n euiI18nService: EuiI18n\n): string => {\n let lookupToken = euiI18nService.lookupToken;\n\n // i18n'd strings\n const nowDisplay = lookupToken('euiPrettyDuration.now', 'now');\n const invalidDateDisplay = lookupToken(\n 'euiPrettyDuration.invalid',\n 'Invalid date'\n );\n\n const timeAsMoment = moment(timeString, ISO_FORMAT, true);\n\n if (timeAsMoment.isValid()) {\n return timeAsMoment.locale(locale).format(dateFormat);\n }\n\n if (timeString === 'now') {\n return nowDisplay as string;\n }\n\n const tryParse = dateMath.parse(timeString, { roundUp: roundUp });\n\n if (!moment(tryParse).isValid()) {\n return invalidDateDisplay as string;\n }\n\n if (moment.isMoment(tryParse)) {\n return `~ ${tryParse.locale(locale).fromNow()}`;\n }\n\n return timeString;\n};\n\nexport function toAbsoluteString(value: string, roundUp: boolean = false) {\n const valueAsMoment = dateMath.parse(value, { roundUp });\n\n if (!valueAsMoment) {\n return value;\n }\n\n if (!moment(valueAsMoment).isValid()) {\n return INVALID_DATE;\n }\n\n return valueAsMoment.toISOString();\n}\n\nexport function parseRelativeParts(value: string): {\n count: number;\n unit: string;\n round: boolean;\n roundUnit?: string;\n} {\n const matches =\n typeof value === 'string' &&\n value.match(/now(([-+])([0-9]+)([smhdwMy])(\\/[smhdwMy])?)?/);\n\n const operator = matches && matches[2];\n const count = matches && matches[3];\n const unit = matches && matches[4];\n const roundBy = matches && matches[5];\n\n if (count && unit) {\n const isRounded = roundBy ? true : false;\n const roundUnit =\n isRounded && roundBy ? roundBy.replace(ROUND_DELIMETER, '') : undefined;\n\n return {\n count: parseInt(count, 10),\n unit: operator === '+' ? `${unit}+` : unit,\n round: isRounded,\n ...(roundUnit ? { roundUnit } : {})\n };\n }\n\n const results = { count: 0, unit: 's', round: false };\n const duration = moment.duration(moment().diff(dateMath.parse(value)));\n let unitOp = '';\n\n for (let i = 0; i < relativeUnitsFromLargestToSmallest.length; i++) {\n // @ts-expect-error this is a string with the accepted time units\n const asRelative = duration.as(relativeUnitsFromLargestToSmallest[i]);\n\n if (asRelative < 0) unitOp = '+';\n\n if (Math.abs(asRelative) > 1) {\n results.count = Math.round(Math.abs(asRelative));\n results.unit = relativeUnitsFromLargestToSmallest[i] + unitOp;\n results.round = false;\n\n break;\n }\n }\n\n return results;\n}\n\nexport function toRelativeStringFromParts(relativeParts: RelativeParts) {\n const count = relativeParts.count ?? 0;\n const isRounded = relativeParts.round ?? false;\n\n if (count === 0 && !isRounded) {\n return 'now';\n }\n\n const matches = (relativeParts.unit ?? 's').match(/([smhdwMy])(\\+)?/);\n const unit = matches?.[1];\n const operator = matches && matches[2] ? matches[2] : '-';\n const round = isRounded ? `${ROUND_DELIMETER}${unit}` : '';\n\n return `now${operator}${count}${unit}${round}`;\n}\n\nexport function isRangeInvalid(start: ShortDate, end: ShortDate) {\n if (start === 'now' && end === 'now') {\n return true;\n }\n\n const startMoment = dateMath.parse(start);\n const endMoment = dateMath.parse(end, { roundUp: true });\n\n const isInvalid =\n !startMoment ||\n !endMoment ||\n !startMoment.isValid() ||\n !endMoment.isValid() ||\n !moment(startMoment).isValid() ||\n !moment(endMoment).isValid() ||\n startMoment.isAfter(endMoment);\n\n return isInvalid;\n}\n\nexport function getDateMode(value: ShortDate) {\n if (value === 'now') {\n return DATE_MODES.NOW;\n }\n\n if (value?.includes?.('now')) {\n return DATE_MODES.RELATIVE;\n }\n\n return DATE_MODES.ABSOLUTE;\n}\n\nexport default useFormatTimeString;\n"],"names":["ISO_FORMAT","INVALID_DATE","ROUND_DELIMETER","relativeUnitsFromLargestToSmallest","DATE_MODES","ABSOLUTE","RELATIVE","NOW","useFormatTimeString","timeString","dateFormat","roundUp","locale","euiI18nService","lookupToken","nowDisplay","invalidDateDisplay","timeAsMoment","moment","isValid","format","tryParse","dateMath","parse","isMoment","fromNow","toAbsoluteString","value","valueAsMoment","toISOString","parseRelativeParts","matches","match","operator","count","unit","roundBy","isRounded","roundUnit","replace","undefined","parseInt","round","results","duration","diff","unitOp","i","length","asRelative","as","Math","abs","toRelativeStringFromParts","relativeParts","isRangeInvalid","start","end","startMoment","endMoment","isInvalid","isAfter","getDateMode","includes"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACO,MAAMA,UAAU,GAAG;AACnB,MAAMC,YAAY,GAAG;AACrB,MAAMC,eAAe,GAAG;MAClBC,kCAAkC,GAAG,CAChD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG;AAME,MAAMC,UAIZ,GAAG;AACFC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,GAAG,EAAE;AACP;MAEaC,mBAAmB,GAAGA,CACjCC,UAAkB,EAClBC,UAAkB,EAClBC,OAAO,GAAG,KAAK,EACfC,MAAuB,GAAG,IAAI,EAC9BC,cAAuB,KACZ;AACX,EAAA,IAAIC,WAAW,GAAGD,cAAc,CAACC,WAAW;;AAE5C;AACA,EAAA,MAAMC,UAAU,GAAGD,WAAW,CAAC,uBAAuB,EAAE,KAAK,CAAC;AAC9D,EAAA,MAAME,kBAAkB,GAAGF,WAAW,CACpC,2BAA2B,EAC3B,cACF,CAAC;EAED,MAAMG,YAAY,GAAGC,MAAM,CAACT,UAAU,EAAET,UAAU,EAAE,IAAI,CAAC;AAEzD,EAAA,IAAIiB,YAAY,CAACE,OAAO,EAAE,EAAE;IAC1B,OAAOF,YAAY,CAACL,MAAM,CAACA,MAAM,CAAC,CAACQ,MAAM,CAACV,UAAU,CAAC;AACvD;EAEA,IAAID,UAAU,KAAK,KAAK,EAAE;AACxB,IAAA,OAAOM,UAAU;AACnB;AAEA,EAAA,MAAMM,QAAQ,GAAGC,QAAQ,CAACC,KAAK,CAACd,UAAU,EAAE;AAAEE,IAAAA,OAAO,EAAEA;AAAQ,GAAC,CAAC;EAEjE,IAAI,CAACO,MAAM,CAACG,QAAQ,CAAC,CAACF,OAAO,EAAE,EAAE;AAC/B,IAAA,OAAOH,kBAAkB;AAC3B;AAEA,EAAA,IAAIE,MAAM,CAACM,QAAQ,CAACH,QAAQ,CAAC,EAAE;IAC7B,OAAO,CAAA,EAAA,EAAKA,QAAQ,CAACT,MAAM,CAACA,MAAM,CAAC,CAACa,OAAO,EAAE,CAAE,CAAA;AACjD;AAEA,EAAA,OAAOhB,UAAU;AACnB;AAEO,SAASiB,gBAAgBA,CAACC,KAAa,EAAEhB,OAAgB,GAAG,KAAK,EAAE;AACxE,EAAA,MAAMiB,aAAa,GAAGN,QAAQ,CAACC,KAAK,CAACI,KAAK,EAAE;AAAEhB,IAAAA;AAAQ,GAAC,CAAC;EAExD,IAAI,CAACiB,aAAa,EAAE;AAClB,IAAA,OAAOD,KAAK;AACd;EAEA,IAAI,CAACT,MAAM,CAACU,aAAa,CAAC,CAACT,OAAO,EAAE,EAAE;AACpC,IAAA,OAAOlB,YAAY;AACrB;AAEA,EAAA,OAAO2B,aAAa,CAACC,WAAW,EAAE;AACpC;AAEO,SAASC,kBAAkBA,CAACH,KAAa,EAK9C;AACA,EAAA,MAAMI,OAAO,GACX,OAAOJ,KAAK,KAAK,QAAQ,IACzBA,KAAK,CAACK,KAAK,CAAC,+CAA+C,CAAC;AAE9D,EAAA,MAAMC,QAAQ,GAAGF,OAAO,IAAIA,OAAO,CAAC,CAAC,CAAC;AACtC,EAAA,MAAMG,KAAK,GAAGH,OAAO,IAAIA,OAAO,CAAC,CAAC,CAAC;AACnC,EAAA,MAAMI,IAAI,GAAGJ,OAAO,IAAIA,OAAO,CAAC,CAAC,CAAC;AAClC,EAAA,MAAMK,OAAO,GAAGL,OAAO,IAAIA,OAAO,CAAC,CAAC,CAAC;EAErC,IAAIG,KAAK,IAAIC,IAAI,EAAE;AACjB,IAAA,MAAME,SAAS,GAAGD,OAAO,GAAG,IAAI,GAAG,KAAK;AACxC,IAAA,MAAME,SAAS,GACbD,SAAS,IAAID,OAAO,GAAGA,OAAO,CAACG,OAAO,CAACrC,eAAe,EAAE,EAAE,CAAC,GAAGsC,SAAS;IAEzE,OAAO;AACLN,MAAAA,KAAK,EAAEO,QAAQ,CAACP,KAAK,EAAE,EAAE,CAAC;MAC1BC,IAAI,EAAEF,QAAQ,KAAK,GAAG,GAAG,CAAGE,EAAAA,IAAI,CAAG,CAAA,CAAA,GAAGA,IAAI;AAC1CO,MAAAA,KAAK,EAAEL,SAAS;AAChB,MAAA,IAAIC,SAAS,GAAG;AAAEA,QAAAA;OAAW,GAAG,EAAE;KACnC;AACH;AAEA,EAAA,MAAMK,OAAO,GAAG;AAAET,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,IAAI,EAAE,GAAG;AAAEO,IAAAA,KAAK,EAAE;GAAO;AACrD,EAAA,MAAME,QAAQ,GAAG1B,MAAM,CAAC0B,QAAQ,CAAC1B,MAAM,EAAE,CAAC2B,IAAI,CAACvB,QAAQ,CAACC,KAAK,CAACI,KAAK,CAAC,CAAC,CAAC;EACtE,IAAImB,MAAM,GAAG,EAAE;AAEf,EAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG5C,kCAAkC,CAAC6C,MAAM,EAAED,CAAC,EAAE,EAAE;AAClE;IACA,MAAME,UAAU,GAAGL,QAAQ,CAACM,EAAE,CAAC/C,kCAAkC,CAAC4C,CAAC,CAAC,CAAC;AAErE,IAAA,IAAIE,UAAU,GAAG,CAAC,EAAEH,MAAM,GAAG,GAAG;IAEhC,IAAIK,IAAI,CAACC,GAAG,CAACH,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5BN,MAAAA,OAAO,CAACT,KAAK,GAAGiB,IAAI,CAACT,KAAK,CAACS,IAAI,CAACC,GAAG,CAACH,UAAU,CAAC,CAAC;MAChDN,OAAO,CAACR,IAAI,GAAGhC,kCAAkC,CAAC4C,CAAC,CAAC,GAAGD,MAAM;MAC7DH,OAAO,CAACD,KAAK,GAAG,KAAK;AAErB,MAAA;AACF;AACF;AAEA,EAAA,OAAOC,OAAO;AAChB;AAEO,SAASU,yBAAyBA,CAACC,aAA4B,EAAE;AACtE,EAAA,MAAMpB,KAAK,GAAGoB,aAAa,CAACpB,KAAK,IAAI,CAAC;AACtC,EAAA,MAAMG,SAAS,GAAGiB,aAAa,CAACZ,KAAK,IAAI,KAAK;AAE9C,EAAA,IAAIR,KAAK,KAAK,CAAC,IAAI,CAACG,SAAS,EAAE;AAC7B,IAAA,OAAO,KAAK;AACd;AAEA,EAAA,MAAMN,OAAO,GAAG,CAACuB,aAAa,CAACnB,IAAI,IAAI,GAAG,EAAEH,KAAK,CAAC,kBAAkB,CAAC;AACrE,EAAA,MAAMG,IAAI,GAAGJ,OAAO,GAAG,CAAC,CAAC;AACzB,EAAA,MAAME,QAAQ,GAAGF,OAAO,IAAIA,OAAO,CAAC,CAAC,CAAC,GAAGA,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;EACzD,MAAMW,KAAK,GAAGL,SAAS,GAAG,CAAA,EAAGnC,eAAe,CAAGiC,EAAAA,IAAI,CAAE,CAAA,GAAG,EAAE;EAE1D,OAAO,CAAA,GAAA,EAAMF,QAAQ,CAAGC,EAAAA,KAAK,GAAGC,IAAI,CAAA,EAAGO,KAAK,CAAE,CAAA;AAChD;AAEO,SAASa,cAAcA,CAACC,KAAgB,EAAEC,GAAc,EAAE;AAC/D,EAAA,IAAID,KAAK,KAAK,KAAK,IAAIC,GAAG,KAAK,KAAK,EAAE;AACpC,IAAA,OAAO,IAAI;AACb;AAEA,EAAA,MAAMC,WAAW,GAAGpC,QAAQ,CAACC,KAAK,CAACiC,KAAK,CAAC;AACzC,EAAA,MAAMG,SAAS,GAAGrC,QAAQ,CAACC,KAAK,CAACkC,GAAG,EAAE;AAAE9C,IAAAA,OAAO,EAAE;AAAK,GAAC,CAAC;EAExD,MAAMiD,SAAS,GACb,CAACF,WAAW,IACZ,CAACC,SAAS,IACV,CAACD,WAAW,CAACvC,OAAO,EAAE,IACtB,CAACwC,SAAS,CAACxC,OAAO,EAAE,IACpB,CAACD,MAAM,CAACwC,WAAW,CAAC,CAACvC,OAAO,EAAE,IAC9B,CAACD,MAAM,CAACyC,SAAS,CAAC,CAACxC,OAAO,EAAE,IAC5BuC,WAAW,CAACG,OAAO,CAACF,SAAS,CAAC;AAEhC,EAAA,OAAOC,SAAS;AAClB;AAEO,SAASE,WAAWA,CAACnC,KAAgB,EAAE;EAC5C,IAAIA,KAAK,KAAK,KAAK,EAAE;IACnB,OAAOvB,UAAU,CAACG,GAAG;AACvB;AAEA,EAAA,IAAIoB,KAAK,EAAEoC,QAAQ,GAAG,KAAK,CAAC,EAAE;IAC5B,OAAO3D,UAAU,CAACE,QAAQ;AAC5B;EAEA,OAAOF,UAAU,CAACC,QAAQ;AAC5B;;;;"}
@@ -129,5 +129,5 @@ const showPrettyDuration = (timeFrom, timeTo, quickRanges) => {
129
129
  return isRelativeToNow(timeFrom, timeTo);
130
130
  };
131
131
 
132
- export { showPrettyDuration, useRelativeDurationI18n };
132
+ export { useRelativeDurationI18n as default, showPrettyDuration, useRelativeDurationI18n };
133
133
  //# sourceMappingURL=pretty-duration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pretty-duration.js","sources":["../../../../src/components/eui-super-date-picker/utils/pretty-duration.ts"],"sourcesContent":["import { DATE_MODES, getDateMode } from './index.ts';\n\nimport type EuiI18n from '../../../services/eui-i18n';\nimport type { DurationRange, ShortDate } from '../types/global';\n\n/**\n * Pretty duration i18n strings\n * Units should not be simply concatenated because different languages\n * will have different grammar/positions for time than English\n */\n\nexport const useRelativeDurationI18n = <T extends number = number>(\n duration: T,\n euiI18n: EuiI18n\n) => {\n const lookupToken = euiI18n.lookupToken;\n\n return {\n s: lookupToken(\n 'euiPrettyDuration.lastDurationSeconds',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} second${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 's+': lookupToken(\n 'euiPrettyDuration.nextDurationSeconds',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} second${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n m: lookupToken(\n 'euiPrettyDuration.lastDurationMinutes',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} minute${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'm+': lookupToken(\n 'euiPrettyDuration.nextDurationMinutes',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} minute${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n h: lookupToken(\n 'euiPrettyDuration.lastDurationHours',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} hour${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'h+': lookupToken(\n 'euiPrettyDuration.nextDurationHours',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} hour${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n d: lookupToken(\n 'euiPrettyDuration.lastDurationDays',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} day${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'd+': lookupToken(\n 'euiPrettyDuration.nexttDurationDays',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} day${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n w: lookupToken(\n 'euiPrettyDuration.lastDurationWeeks',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} week${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'w+': lookupToken(\n 'euiPrettyDuration.nextDurationWeeks',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} week${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n M: lookupToken(\n 'euiPrettyDuration.lastDurationMonths',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} month${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'M+': lookupToken(\n 'euiPrettyDuration.nextDurationMonths',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} month${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n y: lookupToken(\n 'euiPrettyDuration.lastDurationYears',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} year${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'y+': lookupToken(\n 'euiPrettyDuration.nextDurationYears',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} year${duration === 1 ? '' : 's'}`,\n { duration }\n )\n };\n};\n\nconst hasRangeMatch = (\n timeFrom: ShortDate,\n timeTo: ShortDate,\n ranges: DurationRange[]\n) => {\n return ranges.find(({ start, end }) => timeFrom === start && timeTo === end);\n};\n\nconst isRelativeToNow = (timeFrom: ShortDate, timeTo: ShortDate): boolean => {\n const fromDateMode = getDateMode(timeFrom);\n const toDateMode = getDateMode(timeTo);\n const isLast =\n fromDateMode === DATE_MODES.RELATIVE && toDateMode === DATE_MODES.NOW;\n const isNext =\n fromDateMode === DATE_MODES.NOW && toDateMode === DATE_MODES.RELATIVE;\n\n return isLast || isNext;\n};\n\nexport const showPrettyDuration = (\n timeFrom: ShortDate,\n timeTo: ShortDate,\n quickRanges: DurationRange[]\n): boolean => {\n if (hasRangeMatch(timeFrom, timeTo, quickRanges)) {\n return true;\n }\n\n return isRelativeToNow(timeFrom, timeTo);\n};\n"],"names":["useRelativeDurationI18n","duration","euiI18n","lookupToken","s","m","h","d","w","M","y","hasRangeMatch","timeFrom","timeTo","ranges","find","start","end","isRelativeToNow","fromDateMode","getDateMode","toDateMode","isLast","DATE_MODES","RELATIVE","NOW","isNext","showPrettyDuration","quickRanges"],"mappings":"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"}
1
+ {"version":3,"file":"pretty-duration.js","sources":["../../../../src/components/eui-super-date-picker/utils/pretty-duration.ts"],"sourcesContent":["import { DATE_MODES, getDateMode } from './index.ts';\n\nimport type EuiI18n from '../../../services/eui-i18n';\nimport type { DurationRange, ShortDate } from '../types/global';\n\n/**\n * Pretty duration i18n strings\n * Units should not be simply concatenated because different languages\n * will have different grammar/positions for time than English\n */\n\nexport const useRelativeDurationI18n = <T extends number = number>(\n duration: T,\n euiI18n: EuiI18n\n) => {\n const lookupToken = euiI18n.lookupToken;\n\n return {\n s: lookupToken(\n 'euiPrettyDuration.lastDurationSeconds',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} second${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 's+': lookupToken(\n 'euiPrettyDuration.nextDurationSeconds',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} second${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n m: lookupToken(\n 'euiPrettyDuration.lastDurationMinutes',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} minute${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'm+': lookupToken(\n 'euiPrettyDuration.nextDurationMinutes',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} minute${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n h: lookupToken(\n 'euiPrettyDuration.lastDurationHours',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} hour${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'h+': lookupToken(\n 'euiPrettyDuration.nextDurationHours',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} hour${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n d: lookupToken(\n 'euiPrettyDuration.lastDurationDays',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} day${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'd+': lookupToken(\n 'euiPrettyDuration.nexttDurationDays',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} day${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n w: lookupToken(\n 'euiPrettyDuration.lastDurationWeeks',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} week${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'w+': lookupToken(\n 'euiPrettyDuration.nextDurationWeeks',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} week${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n M: lookupToken(\n 'euiPrettyDuration.lastDurationMonths',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} month${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'M+': lookupToken(\n 'euiPrettyDuration.nextDurationMonths',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} month${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n y: lookupToken(\n 'euiPrettyDuration.lastDurationYears',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Last ${duration} year${duration === 1 ? '' : 's'}`,\n { duration }\n ),\n 'y+': lookupToken(\n 'euiPrettyDuration.nextDurationYears',\n //@ts-expect-error\n ({ duration }: { duration: T }) =>\n `Next ${duration} year${duration === 1 ? '' : 's'}`,\n { duration }\n )\n };\n};\n\nconst hasRangeMatch = (\n timeFrom: ShortDate,\n timeTo: ShortDate,\n ranges: DurationRange[]\n) => {\n return ranges.find(({ start, end }) => timeFrom === start && timeTo === end);\n};\n\nconst isRelativeToNow = (timeFrom: ShortDate, timeTo: ShortDate): boolean => {\n const fromDateMode = getDateMode(timeFrom);\n const toDateMode = getDateMode(timeTo);\n const isLast =\n fromDateMode === DATE_MODES.RELATIVE && toDateMode === DATE_MODES.NOW;\n const isNext =\n fromDateMode === DATE_MODES.NOW && toDateMode === DATE_MODES.RELATIVE;\n\n return isLast || isNext;\n};\n\nexport const showPrettyDuration = (\n timeFrom: ShortDate,\n timeTo: ShortDate,\n quickRanges: DurationRange[]\n): boolean => {\n if (hasRangeMatch(timeFrom, timeTo, quickRanges)) {\n return true;\n }\n\n return isRelativeToNow(timeFrom, timeTo);\n};\n\nexport default useRelativeDurationI18n;\n"],"names":["useRelativeDurationI18n","duration","euiI18n","lookupToken","s","m","h","d","w","M","y","hasRangeMatch","timeFrom","timeTo","ranges","find","start","end","isRelativeToNow","fromDateMode","getDateMode","toDateMode","isLast","DATE_MODES","RELATIVE","NOW","isNext","showPrettyDuration","quickRanges"],"mappings":";;AAKA;AACA;AACA;AACA;AACA;;MAEaA,uBAAuB,GAAGA,CACrCC,QAAW,EACXC,OAAgB,KACb;AACH,EAAA,MAAMC,WAAW,GAAGD,OAAO,CAACC,WAAW;EAEvC,OAAO;IACLC,CAAC,EAAED,WAAW,CACZ,uCAAuC;AACvC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,OAAA,EAAUA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACvD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACD,IAAI,EAAEE,WAAW,CACf,uCAAuC;AACvC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,OAAA,EAAUA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACvD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACDI,CAAC,EAAEF,WAAW,CACZ,uCAAuC;AACvC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,OAAA,EAAUA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACvD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACD,IAAI,EAAEE,WAAW,CACf,uCAAuC;AACvC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,OAAA,EAAUA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACvD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACDK,CAAC,EAAEH,WAAW,CACZ,qCAAqC;AACrC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,KAAA,EAAQA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACrD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACD,IAAI,EAAEE,WAAW,CACf,qCAAqC;AACrC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,KAAA,EAAQA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACrD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACDM,CAAC,EAAEJ,WAAW,CACZ,oCAAoC;AACpC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,IAAA,EAAOA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACpD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACD,IAAI,EAAEE,WAAW,CACf,qCAAqC;AACrC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,IAAA,EAAOA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACpD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACDO,CAAC,EAAEL,WAAW,CACZ,qCAAqC;AACrC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,KAAA,EAAQA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACrD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACD,IAAI,EAAEE,WAAW,CACf,qCAAqC;AACrC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,KAAA,EAAQA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACrD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACDQ,CAAC,EAAEN,WAAW,CACZ,sCAAsC;AACtC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,MAAA,EAASA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACtD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACD,IAAI,EAAEE,WAAW,CACf,sCAAsC;AACtC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,MAAA,EAASA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACtD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACDS,CAAC,EAAEP,WAAW,CACZ,qCAAqC;AACrC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,KAAA,EAAQA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACrD;AAAEA,MAAAA;AAAS,KACb,CAAC;IACD,IAAI,EAAEE,WAAW,CACf,qCAAqC;AACrC;IACA,CAAC;AAAEF,MAAAA;AAA0B,KAAC,KAC5B,CAAA,KAAA,EAAQA,QAAQ,CAAA,KAAA,EAAQA,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE,EACrD;AAAEA,MAAAA;KACJ;GACD;AACH;AAEA,MAAMU,aAAa,GAAGA,CACpBC,QAAmB,EACnBC,MAAiB,EACjBC,MAAuB,KACpB;AACH,EAAA,OAAOA,MAAM,CAACC,IAAI,CAAC,CAAC;IAAEC,KAAK;AAAEC,IAAAA;GAAK,KAAKL,QAAQ,KAAKI,KAAK,IAAIH,MAAM,KAAKI,GAAG,CAAC;AAC9E,CAAC;AAED,MAAMC,eAAe,GAAGA,CAACN,QAAmB,EAAEC,MAAiB,KAAc;AAC3E,EAAA,MAAMM,YAAY,GAAGC,WAAW,CAACR,QAAQ,CAAC;AAC1C,EAAA,MAAMS,UAAU,GAAGD,WAAW,CAACP,MAAM,CAAC;AACtC,EAAA,MAAMS,MAAM,GACVH,YAAY,KAAKI,UAAU,CAACC,QAAQ,IAAIH,UAAU,KAAKE,UAAU,CAACE,GAAG;AACvE,EAAA,MAAMC,MAAM,GACVP,YAAY,KAAKI,UAAU,CAACE,GAAG,IAAIJ,UAAU,KAAKE,UAAU,CAACC,QAAQ;EAEvE,OAAOF,MAAM,IAAII,MAAM;AACzB,CAAC;AAEM,MAAMC,kBAAkB,GAAGA,CAChCf,QAAmB,EACnBC,MAAiB,EACjBe,WAA4B,KAChB;EACZ,IAAIjB,aAAa,CAACC,QAAQ,EAAEC,MAAM,EAAEe,WAAW,CAAC,EAAE;AAChD,IAAA,OAAO,IAAI;AACb;AAEA,EAAA,OAAOV,eAAe,CAACN,QAAQ,EAAEC,MAAM,CAAC;AAC1C;;;;"}
@@ -64,5 +64,5 @@ const parseTimeParts = (start, end) => {
64
64
  return results;
65
65
  };
66
66
 
67
- export { parseTimeParts };
67
+ export { parseTimeParts as default, parseTimeParts };
68
68
  //# sourceMappingURL=quick-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quick-select.js","sources":["../../../../src/components/eui-super-date-picker/utils/quick-select.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport dateMath from '@elastic/datemath';\nimport moment from 'moment';\n\nimport { DATE_MODES, relativeUnitsFromLargestToSmallest } from './index.ts';\nimport { LAST, NEXT } from './time-options.ts';\n\nimport type { QuickSelect, TimeUnitId } from '../types/global';\n\nconst isNow = (value: string) => value === DATE_MODES.NOW;\n\n/**\n * This function returns time value, time unit and time tense for a given time string.\n *\n * For example: for `now-40m` it will parse output as time value to `40` time unit to `m` and time unit to `last`.\n *\n * If given a datetime string it will return a default value.\n *\n * If the given string is in the format such as `now/d` it will parse the string to moment object and find the time value, time unit and time tense using moment\n *\n * This function accepts two strings start and end time. I the start value is now then it uses the end value to parse.\n */\nexport const parseTimeParts = (start: string, end: string): QuickSelect => {\n const results: QuickSelect = {\n timeTense: LAST,\n timeUnits: 'm',\n timeValue: 15\n };\n\n const value = isNow(start) ? end : start;\n\n const matches =\n typeof value === 'string' &&\n value.match(/now(([-+])(\\d+)([smhdwMy])(\\/[smhdwMy])?)?/);\n\n if (!matches) {\n return results;\n }\n\n const operator = matches[2];\n const matchedTimeValue = matches[3];\n const timeUnits = matches[4] as TimeUnitId;\n\n if (matchedTimeValue && timeUnits && operator) {\n return {\n timeTense: operator === '+' ? NEXT : LAST,\n timeUnits,\n timeValue: parseInt(matchedTimeValue, 10)\n };\n }\n\n const duration = moment.duration(moment().diff(dateMath.parse(value)));\n let unitOp = '';\n\n for (let i = 0; i < relativeUnitsFromLargestToSmallest.length; i++) {\n // @ts-expect-error this is a string with the accepted time units\n const as = duration.as(relativeUnitsFromLargestToSmallest[i]);\n\n if (as < 0) {\n unitOp = '+';\n }\n\n if (Math.abs(as) > 1) {\n return {\n timeValue: Math.round(Math.abs(as)),\n timeUnits: relativeUnitsFromLargestToSmallest[i] as TimeUnitId,\n timeTense: unitOp === '+' ? NEXT : LAST\n };\n }\n }\n\n return results;\n};\n"],"names":["isNow","value","DATE_MODES","NOW","parseTimeParts","start","end","results","timeTense","LAST","timeUnits","timeValue","matches","match","operator","matchedTimeValue","NEXT","parseInt","duration","moment","diff","dateMath","parse","unitOp","i","relativeUnitsFromLargestToSmallest","length","as","Math","abs","round"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,MAAMA,KAAK,GAAIC,KAAa,IAAKA,KAAK,KAAKC,UAAU,CAACC,GAAG;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaC,cAAc,GAAGA,CAACC,KAAa,EAAEC,GAAW,KAAkB;AACzE,EAAA,MAAMC,OAAoB,GAAG;AAC3BC,IAAAA,SAAS,EAAEC,IAAI;AACfC,IAAAA,SAAS,EAAE,GAAG;AACdC,IAAAA,SAAS,EAAE;GACZ;EAED,MAAMV,KAAK,GAAGD,KAAK,CAACK,KAAK,CAAC,GAAGC,GAAG,GAAGD,KAAK;AAExC,EAAA,MAAMO,OAAO,GACX,OAAOX,KAAK,KAAK,QAAQ,IACzBA,KAAK,CAACY,KAAK,CAAC,4CAA4C,CAAC;EAE3D,IAAI,CAACD,OAAO,EAAE;AACZ,IAAA,OAAOL,OAAO;AAChB;AAEA,EAAA,MAAMO,QAAQ,GAAGF,OAAO,CAAC,CAAC,CAAC;AAC3B,EAAA,MAAMG,gBAAgB,GAAGH,OAAO,CAAC,CAAC,CAAC;AACnC,EAAA,MAAMF,SAAS,GAAGE,OAAO,CAAC,CAAC,CAAe;AAE1C,EAAA,IAAIG,gBAAgB,IAAIL,SAAS,IAAII,QAAQ,EAAE;IAC7C,OAAO;AACLN,MAAAA,SAAS,EAAEM,QAAQ,KAAK,GAAG,GAAGE,IAAI,GAAGP,IAAI;MACzCC,SAAS;AACTC,MAAAA,SAAS,EAAEM,QAAQ,CAACF,gBAAgB,EAAE,EAAE;KACzC;AACH;AAEA,EAAA,MAAMG,QAAQ,GAAGC,MAAM,CAACD,QAAQ,CAACC,MAAM,EAAE,CAACC,IAAI,CAACC,QAAQ,CAACC,KAAK,CAACrB,KAAK,CAAC,CAAC,CAAC;EACtE,IAAIsB,MAAM,GAAG,EAAE;AAEf,EAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,kCAAkC,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;AAClE;IACA,MAAMG,EAAE,GAAGT,QAAQ,CAACS,EAAE,CAACF,kCAAkC,CAACD,CAAC,CAAC,CAAC;IAE7D,IAAIG,EAAE,GAAG,CAAC,EAAE;AACVJ,MAAAA,MAAM,GAAG,GAAG;AACd;IAEA,IAAIK,IAAI,CAACC,GAAG,CAACF,EAAE,CAAC,GAAG,CAAC,EAAE;MACpB,OAAO;QACLhB,SAAS,EAAEiB,IAAI,CAACE,KAAK,CAACF,IAAI,CAACC,GAAG,CAACF,EAAE,CAAC,CAAC;AACnCjB,QAAAA,SAAS,EAAEe,kCAAkC,CAACD,CAAC,CAAe;AAC9DhB,QAAAA,SAAS,EAAEe,MAAM,KAAK,GAAG,GAAGP,IAAI,GAAGP;OACpC;AACH;AACF;AAEA,EAAA,OAAOF,OAAO;AAChB;;;;"}
1
+ {"version":3,"file":"quick-select.js","sources":["../../../../src/components/eui-super-date-picker/utils/quick-select.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport dateMath from '@elastic/datemath';\nimport moment from 'moment';\n\nimport { DATE_MODES, relativeUnitsFromLargestToSmallest } from './index.ts';\nimport { LAST, NEXT } from './time-options.ts';\n\nimport type { QuickSelect, TimeUnitId } from '../types/global';\n\nconst isNow = (value: string) => value === DATE_MODES.NOW;\n\n/**\n * This function returns time value, time unit and time tense for a given time string.\n *\n * For example: for `now-40m` it will parse output as time value to `40` time unit to `m` and time unit to `last`.\n *\n * If given a datetime string it will return a default value.\n *\n * If the given string is in the format such as `now/d` it will parse the string to moment object and find the time value, time unit and time tense using moment\n *\n * This function accepts two strings start and end time. I the start value is now then it uses the end value to parse.\n */\nexport const parseTimeParts = (start: string, end: string): QuickSelect => {\n const results: QuickSelect = {\n timeTense: LAST,\n timeUnits: 'm',\n timeValue: 15\n };\n\n const value = isNow(start) ? end : start;\n\n const matches =\n typeof value === 'string' &&\n value.match(/now(([-+])(\\d+)([smhdwMy])(\\/[smhdwMy])?)?/);\n\n if (!matches) {\n return results;\n }\n\n const operator = matches[2];\n const matchedTimeValue = matches[3];\n const timeUnits = matches[4] as TimeUnitId;\n\n if (matchedTimeValue && timeUnits && operator) {\n return {\n timeTense: operator === '+' ? NEXT : LAST,\n timeUnits,\n timeValue: parseInt(matchedTimeValue, 10)\n };\n }\n\n const duration = moment.duration(moment().diff(dateMath.parse(value)));\n let unitOp = '';\n\n for (let i = 0; i < relativeUnitsFromLargestToSmallest.length; i++) {\n // @ts-expect-error this is a string with the accepted time units\n const as = duration.as(relativeUnitsFromLargestToSmallest[i]);\n\n if (as < 0) {\n unitOp = '+';\n }\n\n if (Math.abs(as) > 1) {\n return {\n timeValue: Math.round(Math.abs(as)),\n timeUnits: relativeUnitsFromLargestToSmallest[i] as TimeUnitId,\n timeTense: unitOp === '+' ? NEXT : LAST\n };\n }\n }\n\n return results;\n};\n\nexport default parseTimeParts;\n"],"names":["isNow","value","DATE_MODES","NOW","parseTimeParts","start","end","results","timeTense","LAST","timeUnits","timeValue","matches","match","operator","matchedTimeValue","NEXT","parseInt","duration","moment","diff","dateMath","parse","unitOp","i","relativeUnitsFromLargestToSmallest","length","as","Math","abs","round"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,MAAMA,KAAK,GAAIC,KAAa,IAAKA,KAAK,KAAKC,UAAU,CAACC,GAAG;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaC,cAAc,GAAGA,CAACC,KAAa,EAAEC,GAAW,KAAkB;AACzE,EAAA,MAAMC,OAAoB,GAAG;AAC3BC,IAAAA,SAAS,EAAEC,IAAI;AACfC,IAAAA,SAAS,EAAE,GAAG;AACdC,IAAAA,SAAS,EAAE;GACZ;EAED,MAAMV,KAAK,GAAGD,KAAK,CAACK,KAAK,CAAC,GAAGC,GAAG,GAAGD,KAAK;AAExC,EAAA,MAAMO,OAAO,GACX,OAAOX,KAAK,KAAK,QAAQ,IACzBA,KAAK,CAACY,KAAK,CAAC,4CAA4C,CAAC;EAE3D,IAAI,CAACD,OAAO,EAAE;AACZ,IAAA,OAAOL,OAAO;AAChB;AAEA,EAAA,MAAMO,QAAQ,GAAGF,OAAO,CAAC,CAAC,CAAC;AAC3B,EAAA,MAAMG,gBAAgB,GAAGH,OAAO,CAAC,CAAC,CAAC;AACnC,EAAA,MAAMF,SAAS,GAAGE,OAAO,CAAC,CAAC,CAAe;AAE1C,EAAA,IAAIG,gBAAgB,IAAIL,SAAS,IAAII,QAAQ,EAAE;IAC7C,OAAO;AACLN,MAAAA,SAAS,EAAEM,QAAQ,KAAK,GAAG,GAAGE,IAAI,GAAGP,IAAI;MACzCC,SAAS;AACTC,MAAAA,SAAS,EAAEM,QAAQ,CAACF,gBAAgB,EAAE,EAAE;KACzC;AACH;AAEA,EAAA,MAAMG,QAAQ,GAAGC,MAAM,CAACD,QAAQ,CAACC,MAAM,EAAE,CAACC,IAAI,CAACC,QAAQ,CAACC,KAAK,CAACrB,KAAK,CAAC,CAAC,CAAC;EACtE,IAAIsB,MAAM,GAAG,EAAE;AAEf,EAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,kCAAkC,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;AAClE;IACA,MAAMG,EAAE,GAAGT,QAAQ,CAACS,EAAE,CAACF,kCAAkC,CAACD,CAAC,CAAC,CAAC;IAE7D,IAAIG,EAAE,GAAG,CAAC,EAAE;AACVJ,MAAAA,MAAM,GAAG,GAAG;AACd;IAEA,IAAIK,IAAI,CAACC,GAAG,CAACF,EAAE,CAAC,GAAG,CAAC,EAAE;MACpB,OAAO;QACLhB,SAAS,EAAEiB,IAAI,CAACE,KAAK,CAACF,IAAI,CAACC,GAAG,CAACF,EAAE,CAAC,CAAC;AACnCjB,QAAAA,SAAS,EAAEe,kCAAkC,CAACD,CAAC,CAAe;AAC9DhB,QAAAA,SAAS,EAAEe,MAAM,KAAK,GAAG,GAAGP,IAAI,GAAGP;OACpC;AACH;AACF;AAEA,EAAA,OAAOF,OAAO;AAChB;;;;"}
@@ -157,5 +157,5 @@ const useI18nTimeOptions = euiI18nService => {
157
157
  };
158
158
  };
159
159
 
160
- export { LAST, NEXT, useI18nTimeOptions };
160
+ export { LAST, NEXT, useI18nTimeOptions as default, useI18nTimeOptions };
161
161
  //# sourceMappingURL=time-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-options.js","sources":["../../../../src/components/eui-super-date-picker/utils/time-options.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\nimport type EuiI18n from '../../../services/eui-i18n';\nimport type {\n DurationRange,\n RelativeOption,\n TimeUnitId} from '../types/global';\n\nexport const LAST = 'last';\nexport const NEXT = 'next';\n\nexport type TimeOptions = {\n timeTenseOptions: any[];\n timeUnitsOptions: any[];\n relativeOptions: RelativeOption[];\n relativeRoundingLabels: { [id in TimeUnitId]: string };\n refreshUnitsOptions: any[];\n commonDurationRanges: DurationRange[];\n};\n\n/**\n * i18n'd time options, mostly used in EuiSelects (except for a few cases)\n * used in EuiSuperDatePicker child sub-components\n */\nexport const useI18nTimeOptions = (euiI18nService: EuiI18n): TimeOptions => {\n let lookupToken = euiI18nService.lookupToken;\n\n /**\n * Quick select panel\n */\n const timeTenseOptions = [\n { value: LAST, text: lookupToken('euiTimeOptions.last', 'Last') },\n { value: NEXT, text: lookupToken('euiTimeOptions.next', 'Next') }\n ];\n\n const timeUnitsOptions = [\n { value: 's', text: lookupToken('euiTimeOptions.seconds', 'Seconds') },\n { value: 'm', text: lookupToken('euiTimeOptions.minutes', 'Minutes') },\n { value: 'h', text: lookupToken('euiTimeOptions.hours', 'Hours') },\n { value: 'd', text: lookupToken('euiTimeOptions.days', 'Days') },\n { value: 'w', text: lookupToken('euiTimeOptions.weeks', 'Weeks') },\n { value: 'M', text: lookupToken('euiTimeOptions.months', 'Months') },\n { value: 'y', text: lookupToken('euiTimeOptions.years', 'Years') }\n ];\n\n /**\n * Relative tab\n */\n const relativeOptions: RelativeOption[] = [\n {\n text: lookupToken('euiTimeOptions.secondsAgo', 'Seconds ago') as string,\n value: 's'\n },\n {\n text: lookupToken('euiTimeOptions.minutesAgo', 'Minutes ago') as string,\n value: 'm'\n },\n {\n text: lookupToken('euiTimeOptions.hoursAgo', 'Hours ago') as string,\n value: 'h'\n },\n {\n text: lookupToken('euiTimeOptions.daysAgo', 'Days ago') as string,\n value: 'd'\n },\n {\n text: lookupToken('euiTimeOptions.weeksAgo', 'Weeks ago') as string,\n value: 'w'\n },\n {\n text: lookupToken('euiTimeOptions.monthsAgo', 'Months ago') as string,\n value: 'M'\n },\n {\n text: lookupToken('euiTimeOptions.yearsAgo', 'Years ago') as string,\n value: 'y'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.secondsFromNow',\n 'Seconds from now'\n ) as string,\n value: 's+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.minutesFromNow',\n 'Minutes from now'\n ) as string,\n value: 'm+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.hoursFromNow',\n 'Hours from now'\n ) as string,\n value: 'h+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.daysFromNow',\n 'Days from now'\n ) as string,\n value: 'd+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.weeksFromNow',\n 'Weeks from now'\n ) as string,\n value: 'w+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.monthsFromNow',\n 'Months from now'\n ) as string,\n value: 'M+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.yearsFromNow',\n 'Years from now'\n ) as string,\n value: 'y+'\n }\n ];\n\n const relativeRoundingLabels = {\n s: lookupToken(\n 'euiTimeOptions.roundToSecond',\n 'Round to the second'\n ) as string,\n m: lookupToken(\n 'euiTimeOptions.roundToMinute',\n 'Round to the minute'\n ) as string,\n h: lookupToken('euiTimeOptions.roundToHour', 'Round to the hour') as string,\n d: lookupToken('euiTimeOptions.roundToDay', 'Round to the day') as string,\n w: lookupToken('euiTimeOptions.roundToWeek', 'Round to the week') as string,\n M: lookupToken(\n 'euiTimeOptions.roundToMonth',\n 'Round to the month'\n ) as string,\n y: lookupToken('euiTimeOptions.roundToYear', 'Round to the year') as string\n };\n\n /**\n * Auto Refresh\n */\n const refreshUnitsOptions = timeUnitsOptions.filter(\n ({ value }) => value === 'h' || value === 'm' || value === 's'\n );\n\n /**\n * Used by both Quick Select ('Commonly used') and by PrettyDuration\n */\n const commonDurationRanges = [\n {\n start: 'now/d',\n end: 'now/d',\n label: lookupToken('euiTimeOptions.today', 'Today') as string\n },\n {\n start: 'now/w',\n end: 'now/w',\n label: lookupToken('euiTimeOptions.thisWeek', 'This week') as string\n },\n {\n start: 'now/M',\n end: 'now/M',\n label: lookupToken('euiTimeOptions.thisMonth', 'This month') as string\n },\n {\n start: 'now/y',\n end: 'now/y',\n label: lookupToken('euiTimeOptions.thisYear', 'This year') as string\n },\n {\n start: 'now-1d/d',\n end: 'now-1d/d',\n label: lookupToken('euiTimeOptions.yesterday', 'Yesterday') as string\n },\n {\n start: 'now/w',\n end: 'now',\n label: lookupToken('euiTimeOptions.weekToDate', 'Week to date') as string\n },\n {\n start: 'now/M',\n end: 'now',\n label: lookupToken(\n 'euiTimeOptions.monthToDate',\n 'Month to date'\n ) as string\n },\n {\n start: 'now/y',\n end: 'now',\n label: lookupToken('euiTimeOptions.yearToDate', 'Year to date') as string\n }\n ];\n\n return {\n timeTenseOptions,\n timeUnitsOptions,\n relativeOptions,\n relativeRoundingLabels,\n refreshUnitsOptions,\n commonDurationRanges\n };\n};\n"],"names":["LAST","NEXT","useI18nTimeOptions","euiI18nService","lookupToken","timeTenseOptions","value","text","timeUnitsOptions","relativeOptions","relativeRoundingLabels","s","m","h","d","w","M","y","refreshUnitsOptions","filter","commonDurationRanges","start","end","label"],"mappings":"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"}
1
+ {"version":3,"file":"time-options.js","sources":["../../../../src/components/eui-super-date-picker/utils/time-options.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\nimport type EuiI18n from '../../../services/eui-i18n';\nimport type {\n DurationRange,\n RelativeOption,\n TimeUnitId} from '../types/global';\n\nexport const LAST = 'last';\nexport const NEXT = 'next';\n\nexport type TimeOptions = {\n timeTenseOptions: any[];\n timeUnitsOptions: any[];\n relativeOptions: RelativeOption[];\n relativeRoundingLabels: { [id in TimeUnitId]: string };\n refreshUnitsOptions: any[];\n commonDurationRanges: DurationRange[];\n};\n\n/**\n * i18n'd time options, mostly used in EuiSelects (except for a few cases)\n * used in EuiSuperDatePicker child sub-components\n */\nexport const useI18nTimeOptions = (euiI18nService: EuiI18n): TimeOptions => {\n let lookupToken = euiI18nService.lookupToken;\n\n /**\n * Quick select panel\n */\n const timeTenseOptions = [\n { value: LAST, text: lookupToken('euiTimeOptions.last', 'Last') },\n { value: NEXT, text: lookupToken('euiTimeOptions.next', 'Next') }\n ];\n\n const timeUnitsOptions = [\n { value: 's', text: lookupToken('euiTimeOptions.seconds', 'Seconds') },\n { value: 'm', text: lookupToken('euiTimeOptions.minutes', 'Minutes') },\n { value: 'h', text: lookupToken('euiTimeOptions.hours', 'Hours') },\n { value: 'd', text: lookupToken('euiTimeOptions.days', 'Days') },\n { value: 'w', text: lookupToken('euiTimeOptions.weeks', 'Weeks') },\n { value: 'M', text: lookupToken('euiTimeOptions.months', 'Months') },\n { value: 'y', text: lookupToken('euiTimeOptions.years', 'Years') }\n ];\n\n /**\n * Relative tab\n */\n const relativeOptions: RelativeOption[] = [\n {\n text: lookupToken('euiTimeOptions.secondsAgo', 'Seconds ago') as string,\n value: 's'\n },\n {\n text: lookupToken('euiTimeOptions.minutesAgo', 'Minutes ago') as string,\n value: 'm'\n },\n {\n text: lookupToken('euiTimeOptions.hoursAgo', 'Hours ago') as string,\n value: 'h'\n },\n {\n text: lookupToken('euiTimeOptions.daysAgo', 'Days ago') as string,\n value: 'd'\n },\n {\n text: lookupToken('euiTimeOptions.weeksAgo', 'Weeks ago') as string,\n value: 'w'\n },\n {\n text: lookupToken('euiTimeOptions.monthsAgo', 'Months ago') as string,\n value: 'M'\n },\n {\n text: lookupToken('euiTimeOptions.yearsAgo', 'Years ago') as string,\n value: 'y'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.secondsFromNow',\n 'Seconds from now'\n ) as string,\n value: 's+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.minutesFromNow',\n 'Minutes from now'\n ) as string,\n value: 'm+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.hoursFromNow',\n 'Hours from now'\n ) as string,\n value: 'h+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.daysFromNow',\n 'Days from now'\n ) as string,\n value: 'd+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.weeksFromNow',\n 'Weeks from now'\n ) as string,\n value: 'w+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.monthsFromNow',\n 'Months from now'\n ) as string,\n value: 'M+'\n },\n {\n text: lookupToken(\n 'euiTimeOptions.yearsFromNow',\n 'Years from now'\n ) as string,\n value: 'y+'\n }\n ];\n\n const relativeRoundingLabels = {\n s: lookupToken(\n 'euiTimeOptions.roundToSecond',\n 'Round to the second'\n ) as string,\n m: lookupToken(\n 'euiTimeOptions.roundToMinute',\n 'Round to the minute'\n ) as string,\n h: lookupToken('euiTimeOptions.roundToHour', 'Round to the hour') as string,\n d: lookupToken('euiTimeOptions.roundToDay', 'Round to the day') as string,\n w: lookupToken('euiTimeOptions.roundToWeek', 'Round to the week') as string,\n M: lookupToken(\n 'euiTimeOptions.roundToMonth',\n 'Round to the month'\n ) as string,\n y: lookupToken('euiTimeOptions.roundToYear', 'Round to the year') as string\n };\n\n /**\n * Auto Refresh\n */\n const refreshUnitsOptions = timeUnitsOptions.filter(\n ({ value }) => value === 'h' || value === 'm' || value === 's'\n );\n\n /**\n * Used by both Quick Select ('Commonly used') and by PrettyDuration\n */\n const commonDurationRanges = [\n {\n start: 'now/d',\n end: 'now/d',\n label: lookupToken('euiTimeOptions.today', 'Today') as string\n },\n {\n start: 'now/w',\n end: 'now/w',\n label: lookupToken('euiTimeOptions.thisWeek', 'This week') as string\n },\n {\n start: 'now/M',\n end: 'now/M',\n label: lookupToken('euiTimeOptions.thisMonth', 'This month') as string\n },\n {\n start: 'now/y',\n end: 'now/y',\n label: lookupToken('euiTimeOptions.thisYear', 'This year') as string\n },\n {\n start: 'now-1d/d',\n end: 'now-1d/d',\n label: lookupToken('euiTimeOptions.yesterday', 'Yesterday') as string\n },\n {\n start: 'now/w',\n end: 'now',\n label: lookupToken('euiTimeOptions.weekToDate', 'Week to date') as string\n },\n {\n start: 'now/M',\n end: 'now',\n label: lookupToken(\n 'euiTimeOptions.monthToDate',\n 'Month to date'\n ) as string\n },\n {\n start: 'now/y',\n end: 'now',\n label: lookupToken('euiTimeOptions.yearToDate', 'Year to date') as string\n }\n ];\n\n return {\n timeTenseOptions,\n timeUnitsOptions,\n relativeOptions,\n relativeRoundingLabels,\n refreshUnitsOptions,\n commonDurationRanges\n };\n};\n\nexport default useI18nTimeOptions;"],"names":["LAST","NEXT","useI18nTimeOptions","euiI18nService","lookupToken","timeTenseOptions","value","text","timeUnitsOptions","relativeOptions","relativeRoundingLabels","s","m","h","d","w","M","y","refreshUnitsOptions","filter","commonDurationRanges","start","end","label"],"mappings":"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"}
@@ -22,60 +22,60 @@ class EuiSuperDatePicker extends Component {
22
22
  static {
23
23
  g(this.prototype, "dateFormat", [argOrDefaultDecorator('MMM D, YYYY @ HH:mm:ss.SSS')]);
24
24
  }
25
- #dateFormat = (i(this, "dateFormat"), undefined);
25
+ #dateFormat = (i(this, "dateFormat"), void 0);
26
26
  static {
27
27
  g(this.prototype, "timeFormat", [argOrDefaultDecorator('HH:mm')]);
28
28
  }
29
- #timeFormat = (i(this, "timeFormat"), undefined);
29
+ #timeFormat = (i(this, "timeFormat"), void 0);
30
30
  static {
31
31
  g(this.prototype, "isAutoRefreshOnly", [argOrDefaultDecorator(false)]);
32
32
  }
33
- #isAutoRefreshOnly = (i(this, "isAutoRefreshOnly"), undefined); // @argOrDefaultDecorator('now-15m') start!: ShortDate;
33
+ #isAutoRefreshOnly = (i(this, "isAutoRefreshOnly"), void 0); // @argOrDefaultDecorator('now-15m') start!: ShortDate;
34
34
  // @argOrDefaultDecorator('now') end!: ShortDate;
35
35
  static {
36
36
  g(this.prototype, "isDisabled", [argOrDefaultDecorator(false)]);
37
37
  }
38
- #isDisabled = (i(this, "isDisabled"), undefined);
38
+ #isDisabled = (i(this, "isDisabled"), void 0);
39
39
  static {
40
40
  g(this.prototype, "isPaused", [argOrDefaultDecorator(true)]);
41
41
  }
42
- #isPaused = (i(this, "isPaused"), undefined);
42
+ #isPaused = (i(this, "isPaused"), void 0);
43
43
  static {
44
44
  g(this.prototype, "showUpdateButton", [argOrDefaultDecorator(true)]);
45
45
  }
46
- #showUpdateButton = (i(this, "showUpdateButton"), undefined);
46
+ #showUpdateButton = (i(this, "showUpdateButton"), void 0);
47
47
  static {
48
48
  g(this.prototype, "width", [argOrDefaultDecorator('restricted')]);
49
49
  }
50
- #width = (i(this, "width"), undefined);
50
+ #width = (i(this, "width"), void 0);
51
51
  static {
52
52
  g(this.prototype, "refreshInterval", [argOrDefaultDecorator(1000)]);
53
53
  }
54
- #refreshInterval = (i(this, "refreshInterval"), undefined); // recentlyUsedRanges: [],
54
+ #refreshInterval = (i(this, "refreshInterval"), void 0); // recentlyUsedRanges: [],
55
55
  static {
56
56
  g(this.prototype, "euiI18n", [inject]);
57
57
  }
58
- #euiI18n = (i(this, "euiI18n"), undefined);
58
+ #euiI18n = (i(this, "euiI18n"), void 0);
59
59
  static {
60
60
  g(this.prototype, "start", [tracked]);
61
61
  }
62
- #start = (i(this, "start"), undefined);
62
+ #start = (i(this, "start"), void 0);
63
63
  static {
64
64
  g(this.prototype, "end", [tracked]);
65
65
  }
66
- #end = (i(this, "end"), undefined);
66
+ #end = (i(this, "end"), void 0);
67
67
  static {
68
68
  g(this.prototype, "isInvalid", [tracked], function () {
69
69
  return false;
70
70
  });
71
71
  }
72
- #isInvalid = (i(this, "isInvalid"), undefined);
72
+ #isInvalid = (i(this, "isInvalid"), void 0);
73
73
  static {
74
74
  g(this.prototype, "hasChanged", [tracked], function () {
75
75
  return false;
76
76
  });
77
77
  }
78
- #hasChanged = (i(this, "hasChanged"), undefined);
78
+ #hasChanged = (i(this, "hasChanged"), void 0);
79
79
  constructor(owner, args) {
80
80
  super(owner, args);
81
81
  this.start = this.args.start ?? 'now-15m';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-super-date-picker.js","sources":["../../src/components/eui-super-date-picker.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nimport { eq, or } from 'ember-truth-helpers';\n\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiFormControlLayout from './eui-form-control-layout.gts';\nimport EuiDatePopoverButton from './eui-super-date-picker/date-popover/eui-date-popover-button.gts';\nimport EuiDatePickerRange from './eui-super-date-picker/eui-date-picker-range.gts';\nimport EuiQuickSelectPopover from './eui-super-date-picker/eui-quick-select-popover.gts';\nimport EuiSuperUpdateButton from './eui-super-date-picker/eui-super-update-button.gts';\nimport { isRangeInvalid } from './eui-super-date-picker/utils/index.ts';\nimport { useI18nTimeOptions } from './eui-super-date-picker/utils/time-options.ts';\n\nimport type EuiI18n from '../services/eui-i18n';\nimport type {\n ApplyRefreshInterval,\n DurationRange,\n Milliseconds,\n ShortDate\n} from './eui-super-date-picker/types/global';\nimport type { LocaleSpecifier } from 'moment';\n\nexport type { ApplyRefreshInterval, DurationRange, Milliseconds, ShortDate };\n\nexport interface EuiSuperDatePickerArgs {\n commonlyUsedRanges?: DurationRange[];\n // customQuickSelectPanels?: QuickSelectPanel[];\n /**\n * Specifies the formatted used when displaying dates and/or datetimes\n */\n dateFormat?: string;\n /**\n * Set isAutoRefreshOnly to true to limit the component to only display auto refresh content.\n */\n isAutoRefreshOnly?: boolean;\n isDisabled?: boolean;\n isLoading?: boolean;\n isPaused?: boolean;\n /**\n * Sets the overall width by adding sensible min and max widths.\n * - `auto`: fits width to internal content / time string.\n * - `restricted`: static width that fits the longest possible time string.\n * - `full`: expands to 100% of the container.\n */\n width?: 'restricted' | 'full' | 'auto';\n /**\n * Reduces overall height to compressed form size\n */\n compressed?: boolean;\n /**\n * Used to localize e.g. month names, passed to `moment`\n */\n locale?: LocaleSpecifier;\n /**\n * Callback for when the refresh interval is fired.\n * EuiSuperDatePicker will only manage a refresh interval timer when onRefresh callback is supplied\n * If a promise is returned, the next refresh interval will not start until the promise has resolved.\n * If the promise rejects the refresh interval will stop and the error thrown\n */\n onRefresh?: (props: {\n start: string;\n end: string;\n refreshInterval: number;\n }) => void;\n /**\n * Callback for when the refresh interval changes.\n * Supply onRefreshChange to show refresh interval inputs in quick select popover\n */\n onRefreshChange?: ApplyRefreshInterval;\n /**\n * Callback for when the time changes.\n */\n onTimeChange: (props: {\n start: string;\n end: string;\n isQuickSelection: boolean;\n isInvalid: boolean;\n }) => void;\n // recentlyUsedRanges?: DurationRange[];\n /**\n * Refresh interval in milliseconds\n */\n refreshInterval?: Milliseconds;\n start?: ShortDate;\n end?: ShortDate;\n /**\n * Specifies the formatted used when displaying times\n */\n timeFormat?: string;\n utcOffset?: number;\n /**\n * Set showUpdateButton to false to immediately invoke onTimeChange for all start and end changes.\n */\n showUpdateButton?: boolean | 'iconOnly';\n /**\n * Hides the actual input reducing to just the quick select button.\n */\n isQuickSelectOnly?: boolean;\n /**\n * Props passed to the update button #EuiSuperUpdateButtonProps\n */\n // updateButtonProps?: EuiSuperUpdateButtonProps;\n}\n\nexport default class EuiSuperDatePicker extends Component<EuiSuperDatePickerArgs> {\n @argOrDefaultDecorator('MMM D, YYYY @ HH:mm:ss.SSS') dateFormat!: string;\n @argOrDefaultDecorator('HH:mm') timeFormat!: string;\n // @argOrDefaultDecorator('now-15m') start!: ShortDate;\n // @argOrDefaultDecorator('now') end!: ShortDate;\n @argOrDefaultDecorator(false) isAutoRefreshOnly!: boolean;\n @argOrDefaultDecorator(false) isDisabled!: boolean;\n @argOrDefaultDecorator(true) isPaused!: boolean;\n @argOrDefaultDecorator(true) showUpdateButton!: boolean;\n @argOrDefaultDecorator('restricted') width!: string;\n // recentlyUsedRanges: [],\n @argOrDefaultDecorator(1000) refreshInterval!: Milliseconds;\n\n @service declare euiI18n: EuiI18n;\n\n @tracked start: ShortDate;\n @tracked end: ShortDate;\n @tracked isInvalid = false;\n @tracked hasChanged = false;\n\n constructor(owner: any, args: EuiSuperDatePickerArgs) {\n super(owner, args);\n\n this.start = this.args.start ?? 'now-15m';\n this.end = this.args.end ?? 'now';\n }\n\n get timeOptions() {\n return useI18nTimeOptions(this.euiI18n);\n }\n\n setTime({ start, end }: DurationRange) {\n this.hasChanged = !(this.start === start && this.end === end);\n this.start = start;\n this.end = end;\n this.isInvalid = isRangeInvalid(start, end);\n\n if (!this.showUpdateButton) {\n this.args.onTimeChange({\n start,\n end,\n isQuickSelection: false,\n isInvalid: this.isInvalid\n });\n }\n }\n\n applyTime() {\n this.args.onTimeChange({\n start: this.start,\n end: this.end,\n isQuickSelection: false,\n isInvalid: false\n });\n }\n\n @action\n applyQuickTime({ start, end }: DurationRange) {\n this.start = start;\n this.end = end;\n\n this.args.onTimeChange({\n start,\n end,\n isQuickSelection: true,\n isInvalid: false\n });\n }\n\n @action\n setStart(start: ShortDate) {\n this.setTime({ start, end: this.end });\n }\n\n @action\n setEnd(end: ShortDate) {\n this.setTime({ start: this.start, end });\n }\n\n @action\n handleClickUpdateButton() {\n if (!this.hasChanged && this.args.onRefresh) {\n // const { start, end, refreshInterval } = this.args;\n this.args.onRefresh({\n start: this.start,\n end: this.end,\n refreshInterval: this.refreshInterval\n });\n } else {\n this.applyTime();\n }\n\n this.hasChanged = false;\n }\n\n <template>\n <EuiFlexGroup\n @gutterSize=\"s\"\n @responsive={{false}}\n class={{classNames\n \"euiSuperDatePicker__flexWrapper\"\n (unless\n this.showUpdateButton\n \"euiSuperDatePicker__flexWrapper--noUpdateButton\"\n )\n (if\n this.isAutoRefreshOnly\n \"euiSuperDatePicker__flexWrapper--isAutoRefreshOnly\"\n )\n (if\n @isQuickSelectOnly\n \"euiSuperDatePicker__flexWrapper--isQuickSelectOnly\"\n )\n (if (eq this.width \"full\") \"euiSuperDatePicker__flexWrapper--fullWidth\")\n (if (eq this.width \"auto\") \"euiSuperDatePicker__flexWrapper--autoWidth\")\n }}\n >\n <EuiFlexItem>\n <EuiFormControlLayout\n class=\"euiSuperDatePicker\"\n @compressed={{@compressed}}\n @isDisabled={{@isDisabled}}\n @useGroup={{true}}\n >\n <:prepend>\n <EuiQuickSelectPopover\n @start={{this.start}}\n @end={{this.end}}\n @applyTime={{this.applyQuickTime}}\n @timeOptions={{this.timeOptions}}\n @isDisabled={{@isDisabled}}\n @commonlyUsedRanges={{argOrDefault\n @commonlyUsedRanges\n this.timeOptions.commonDurationRanges\n }}\n />\n </:prepend>\n\n <:field>\n <EuiDatePickerRange\n @className=\"euiDatePickerRange--inGroup\"\n @isInvalid={{this.isInvalid}}\n @disabled={{@isDisabled}}\n >\n <:startDateControl>\n <EuiDatePopoverButton\n @className=\"euiSuperDatePicker__startPopoverButton\"\n @value={{this.start}}\n @compressed={{@compressed}}\n @position=\"start\"\n @isDisabled={{@isDisabled}}\n @dateFormat={{this.dateFormat}}\n @onChange={{this.setStart}}\n @isInvalid={{this.isInvalid}}\n @timeOptions={{this.timeOptions}}\n @needsUpdating={{this.hasChanged}}\n @locale={{@locale}}\n />\n </:startDateControl>\n\n <:endDateControl>\n <EuiDatePopoverButton\n @className=\"euiSuperDatePicker__startPopoverButton\"\n @value={{this.end}}\n @compressed={{@compressed}}\n @position=\"end\"\n @isDisabled={{@isDisabled}}\n @dateFormat={{this.dateFormat}}\n @onChange={{this.setEnd}}\n @isInvalid={{this.isInvalid}}\n @timeOptions={{this.timeOptions}}\n @roundUp={{true}}\n @needsUpdating={{this.hasChanged}}\n @locale={{@locale}}\n />\n </:endDateControl>\n </EuiDatePickerRange>\n </:field>\n </EuiFormControlLayout>\n </EuiFlexItem>\n\n {{#if this.showUpdateButton}}\n <EuiFlexItem @grow={{false}}>\n <EuiSuperUpdateButton\n @size={{if @compressed \"s\" \"m\"}}\n @onClick={{this.handleClickUpdateButton}}\n @isLoading={{@isLoading}}\n @isDisabled={{or @isDisabled this.isInvalid}}\n @needsUpdate={{this.hasChanged}}\n @fill={{true}}\n @iconOnly={{eq this.showUpdateButton \"iconOnly\"}}\n />\n </EuiFlexItem>\n {{/if}}\n </EuiFlexGroup>\n </template>\n}\n"],"names":["EuiSuperDatePicker","Component","g","prototype","argOrDefaultDecorator","i","void 0","service","tracked","constructor","owner","args","start","end","timeOptions","useI18nTimeOptions","euiI18n","setTime","hasChanged","isInvalid","isRangeInvalid","showUpdateButton","onTimeChange","isQuickSelection","applyTime","applyQuickTime","n","action","setStart","setEnd","handleClickUpdateButton","onRefresh","refreshInterval","setComponentTemplate","precompileTemplate","strictMode","scope","EuiFlexGroup","classNames","eq","EuiFlexItem","EuiFormControlLayout","EuiQuickSelectPopover","argOrDefault","EuiDatePickerRange","EuiDatePopoverButton","EuiSuperUpdateButton","or"],"mappings":"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"}
1
+ {"version":3,"file":"eui-super-date-picker.js","sources":["../../src/components/eui-super-date-picker.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nimport { eq, or } from 'ember-truth-helpers';\n\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiFormControlLayout from './eui-form-control-layout.gts';\nimport EuiDatePopoverButton from './eui-super-date-picker/date-popover/eui-date-popover-button.gts';\nimport EuiDatePickerRange from './eui-super-date-picker/eui-date-picker-range.gts';\nimport EuiQuickSelectPopover from './eui-super-date-picker/eui-quick-select-popover.gts';\nimport EuiSuperUpdateButton from './eui-super-date-picker/eui-super-update-button.gts';\nimport { isRangeInvalid } from './eui-super-date-picker/utils/index.ts';\nimport { useI18nTimeOptions } from './eui-super-date-picker/utils/time-options.ts';\n\nimport type EuiI18n from '../services/eui-i18n';\nimport type {\n ApplyRefreshInterval,\n DurationRange,\n Milliseconds,\n ShortDate\n} from './eui-super-date-picker/types/global';\nimport type { LocaleSpecifier } from 'moment';\n\nexport type { ApplyRefreshInterval, DurationRange, Milliseconds, ShortDate };\n\nexport interface EuiSuperDatePickerArgs {\n commonlyUsedRanges?: DurationRange[];\n // customQuickSelectPanels?: QuickSelectPanel[];\n /**\n * Specifies the formatted used when displaying dates and/or datetimes\n */\n dateFormat?: string;\n /**\n * Set isAutoRefreshOnly to true to limit the component to only display auto refresh content.\n */\n isAutoRefreshOnly?: boolean;\n isDisabled?: boolean;\n isLoading?: boolean;\n isPaused?: boolean;\n /**\n * Sets the overall width by adding sensible min and max widths.\n * - `auto`: fits width to internal content / time string.\n * - `restricted`: static width that fits the longest possible time string.\n * - `full`: expands to 100% of the container.\n */\n width?: 'restricted' | 'full' | 'auto';\n /**\n * Reduces overall height to compressed form size\n */\n compressed?: boolean;\n /**\n * Used to localize e.g. month names, passed to `moment`\n */\n locale?: LocaleSpecifier;\n /**\n * Callback for when the refresh interval is fired.\n * EuiSuperDatePicker will only manage a refresh interval timer when onRefresh callback is supplied\n * If a promise is returned, the next refresh interval will not start until the promise has resolved.\n * If the promise rejects the refresh interval will stop and the error thrown\n */\n onRefresh?: (props: {\n start: string;\n end: string;\n refreshInterval: number;\n }) => void;\n /**\n * Callback for when the refresh interval changes.\n * Supply onRefreshChange to show refresh interval inputs in quick select popover\n */\n onRefreshChange?: ApplyRefreshInterval;\n /**\n * Callback for when the time changes.\n */\n onTimeChange: (props: {\n start: string;\n end: string;\n isQuickSelection: boolean;\n isInvalid: boolean;\n }) => void;\n // recentlyUsedRanges?: DurationRange[];\n /**\n * Refresh interval in milliseconds\n */\n refreshInterval?: Milliseconds;\n start?: ShortDate;\n end?: ShortDate;\n /**\n * Specifies the formatted used when displaying times\n */\n timeFormat?: string;\n utcOffset?: number;\n /**\n * Set showUpdateButton to false to immediately invoke onTimeChange for all start and end changes.\n */\n showUpdateButton?: boolean | 'iconOnly';\n /**\n * Hides the actual input reducing to just the quick select button.\n */\n isQuickSelectOnly?: boolean;\n /**\n * Props passed to the update button #EuiSuperUpdateButtonProps\n */\n // updateButtonProps?: EuiSuperUpdateButtonProps;\n}\n\nexport default class EuiSuperDatePicker extends Component<EuiSuperDatePickerArgs> {\n @argOrDefaultDecorator('MMM D, YYYY @ HH:mm:ss.SSS') dateFormat!: string;\n @argOrDefaultDecorator('HH:mm') timeFormat!: string;\n // @argOrDefaultDecorator('now-15m') start!: ShortDate;\n // @argOrDefaultDecorator('now') end!: ShortDate;\n @argOrDefaultDecorator(false) isAutoRefreshOnly!: boolean;\n @argOrDefaultDecorator(false) isDisabled!: boolean;\n @argOrDefaultDecorator(true) isPaused!: boolean;\n @argOrDefaultDecorator(true) showUpdateButton!: boolean;\n @argOrDefaultDecorator('restricted') width!: string;\n // recentlyUsedRanges: [],\n @argOrDefaultDecorator(1000) refreshInterval!: Milliseconds;\n\n @service declare euiI18n: EuiI18n;\n\n @tracked start: ShortDate;\n @tracked end: ShortDate;\n @tracked isInvalid = false;\n @tracked hasChanged = false;\n\n constructor(owner: any, args: EuiSuperDatePickerArgs) {\n super(owner, args);\n\n this.start = this.args.start ?? 'now-15m';\n this.end = this.args.end ?? 'now';\n }\n\n get timeOptions() {\n return useI18nTimeOptions(this.euiI18n);\n }\n\n setTime({ start, end }: DurationRange) {\n this.hasChanged = !(this.start === start && this.end === end);\n this.start = start;\n this.end = end;\n this.isInvalid = isRangeInvalid(start, end);\n\n if (!this.showUpdateButton) {\n this.args.onTimeChange({\n start,\n end,\n isQuickSelection: false,\n isInvalid: this.isInvalid\n });\n }\n }\n\n applyTime() {\n this.args.onTimeChange({\n start: this.start,\n end: this.end,\n isQuickSelection: false,\n isInvalid: false\n });\n }\n\n @action\n applyQuickTime({ start, end }: DurationRange) {\n this.start = start;\n this.end = end;\n\n this.args.onTimeChange({\n start,\n end,\n isQuickSelection: true,\n isInvalid: false\n });\n }\n\n @action\n setStart(start: ShortDate) {\n this.setTime({ start, end: this.end });\n }\n\n @action\n setEnd(end: ShortDate) {\n this.setTime({ start: this.start, end });\n }\n\n @action\n handleClickUpdateButton() {\n if (!this.hasChanged && this.args.onRefresh) {\n // const { start, end, refreshInterval } = this.args;\n this.args.onRefresh({\n start: this.start,\n end: this.end,\n refreshInterval: this.refreshInterval\n });\n } else {\n this.applyTime();\n }\n\n this.hasChanged = false;\n }\n\n <template>\n <EuiFlexGroup\n @gutterSize=\"s\"\n @responsive={{false}}\n class={{classNames\n \"euiSuperDatePicker__flexWrapper\"\n (unless\n this.showUpdateButton\n \"euiSuperDatePicker__flexWrapper--noUpdateButton\"\n )\n (if\n this.isAutoRefreshOnly\n \"euiSuperDatePicker__flexWrapper--isAutoRefreshOnly\"\n )\n (if\n @isQuickSelectOnly\n \"euiSuperDatePicker__flexWrapper--isQuickSelectOnly\"\n )\n (if (eq this.width \"full\") \"euiSuperDatePicker__flexWrapper--fullWidth\")\n (if (eq this.width \"auto\") \"euiSuperDatePicker__flexWrapper--autoWidth\")\n }}\n >\n <EuiFlexItem>\n <EuiFormControlLayout\n class=\"euiSuperDatePicker\"\n @compressed={{@compressed}}\n @isDisabled={{@isDisabled}}\n @useGroup={{true}}\n >\n <:prepend>\n <EuiQuickSelectPopover\n @start={{this.start}}\n @end={{this.end}}\n @applyTime={{this.applyQuickTime}}\n @timeOptions={{this.timeOptions}}\n @isDisabled={{@isDisabled}}\n @commonlyUsedRanges={{argOrDefault\n @commonlyUsedRanges\n this.timeOptions.commonDurationRanges\n }}\n />\n </:prepend>\n\n <:field>\n <EuiDatePickerRange\n @className=\"euiDatePickerRange--inGroup\"\n @isInvalid={{this.isInvalid}}\n @disabled={{@isDisabled}}\n >\n <:startDateControl>\n <EuiDatePopoverButton\n @className=\"euiSuperDatePicker__startPopoverButton\"\n @value={{this.start}}\n @compressed={{@compressed}}\n @position=\"start\"\n @isDisabled={{@isDisabled}}\n @dateFormat={{this.dateFormat}}\n @onChange={{this.setStart}}\n @isInvalid={{this.isInvalid}}\n @timeOptions={{this.timeOptions}}\n @needsUpdating={{this.hasChanged}}\n @locale={{@locale}}\n />\n </:startDateControl>\n\n <:endDateControl>\n <EuiDatePopoverButton\n @className=\"euiSuperDatePicker__startPopoverButton\"\n @value={{this.end}}\n @compressed={{@compressed}}\n @position=\"end\"\n @isDisabled={{@isDisabled}}\n @dateFormat={{this.dateFormat}}\n @onChange={{this.setEnd}}\n @isInvalid={{this.isInvalid}}\n @timeOptions={{this.timeOptions}}\n @roundUp={{true}}\n @needsUpdating={{this.hasChanged}}\n @locale={{@locale}}\n />\n </:endDateControl>\n </EuiDatePickerRange>\n </:field>\n </EuiFormControlLayout>\n </EuiFlexItem>\n\n {{#if this.showUpdateButton}}\n <EuiFlexItem @grow={{false}}>\n <EuiSuperUpdateButton\n @size={{if @compressed \"s\" \"m\"}}\n @onClick={{this.handleClickUpdateButton}}\n @isLoading={{@isLoading}}\n @isDisabled={{or @isDisabled this.isInvalid}}\n @needsUpdate={{this.hasChanged}}\n @fill={{true}}\n @iconOnly={{eq this.showUpdateButton \"iconOnly\"}}\n />\n </EuiFlexItem>\n {{/if}}\n </EuiFlexGroup>\n </template>\n}\n"],"names":["EuiSuperDatePicker","Component","g","prototype","argOrDefaultDecorator","i","void 0","service","tracked","constructor","owner","args","start","end","timeOptions","useI18nTimeOptions","euiI18n","setTime","hasChanged","isInvalid","isRangeInvalid","showUpdateButton","onTimeChange","isQuickSelection","applyTime","applyQuickTime","n","action","setStart","setEnd","handleClickUpdateButton","onRefresh","refreshInterval","setComponentTemplate","precompileTemplate","strictMode","scope","EuiFlexGroup","classNames","eq","EuiFlexItem","EuiFormControlLayout","EuiQuickSelectPopover","argOrDefault","EuiDatePickerRange","EuiDatePopoverButton","EuiSuperUpdateButton","or"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { fn } from '@ember/helper';
4
4
  import { on } from '@ember/modifier';
5
5
  import didInsert from '@ember/render-modifiers/modifiers/did-insert';
6
6
  import { scheduleOnce } from '@ember/runloop';
7
- import findBy from 'ember-composable-helpers/helpers/find-by';
7
+ import findBy from '@nullvoxpopuli/ember-composable-helpers/helpers/find-by';
8
8
  import { eq } from 'ember-truth-helpers';
9
9
  import randomId from '../-private/random-id.js';
10
10
  import EuiTab from './eui-tab.js';
@@ -17,13 +17,13 @@ class EuiTabbedContentComponent extends Component {
17
17
  static {
18
18
  g(this.prototype, "selectedTabId", [tracked]);
19
19
  }
20
- #selectedTabId = (i(this, "selectedTabId"), undefined);
20
+ #selectedTabId = (i(this, "selectedTabId"), void 0);
21
21
  static {
22
22
  g(this.prototype, "inFocus", [tracked], function () {
23
23
  return false;
24
24
  });
25
25
  }
26
- #inFocus = (i(this, "inFocus"), undefined);
26
+ #inFocus = (i(this, "inFocus"), void 0);
27
27
  tabsRef;
28
28
  get autoFocus() {
29
29
  return this.args.autoFocus || 'initial';
@@ -103,7 +103,7 @@ class EuiTabbedContentComponent extends Component {
103
103
  }
104
104
  };
105
105
  static {
106
- setComponentTemplate(precompileTemplate("\n {{#let (randomId) as |rootId|}}\n <div class={{@className}} ...attributes>\n <EuiTabs @expand={{@expand}} @display={{@display}} @size={{@size}} {{on \"focus\" this.initializeFocus}} {{didInsert this.setTabsRef}}>\n {{#each @tabs as |tab|}}\n <EuiTab @id={{tab.id}} aria-controls={{rootId}} @isSelected={{eq tab.id this.selectedTab.id}} @disabled={{tab.disabled}} {{on \"click\" (fn this.onTabClick tab)}}>\n {{tab.name}}\n </EuiTab>\n {{/each}}\n </EuiTabs>\n {{#let (findBy \"id\" this.selectedTab.id @tabs) as |currentTab|}}\n <div role=\"tabpanel\" id={{rootId}} aria-labelledby={{currentTab.id}}>\n {{#if (has-block \"selectedTabContent\")}}\n {{yield currentTab to=\"selectedTabContent\"}}\n {{else}}\n {{currentTab.content}}\n {{/if}}\n </div>\n {{/let}}\n </div>\n {{/let}}\n ", {
106
+ setComponentTemplate(precompileTemplate("\n {{#let (randomId) as |rootId|}}\n <div class={{@className}} ...attributes>\n <EuiTabs @expand={{@expand}} @display={{@display}} @size={{@size}} {{on \"focus\" this.initializeFocus}} {{didInsert this.setTabsRef}}>\n {{#each @tabs as |tab|}}\n <EuiTab @id={{tab.id}} aria-controls={{rootId}} @isSelected={{eq tab.id this.selectedTab.id}} @disabled={{tab.disabled}} {{on \"click\" (fn this.onTabClick tab)}}>\n {{tab.name}}\n </EuiTab>\n {{/each}}\n </EuiTabs>\n {{#let (findBy \"id\" this.selectedTab.id @tabs) as |currentTab|}}\n {{#if currentTab}}\n <div role=\"tabpanel\" id={{rootId}} aria-labelledby={{currentTab.id}}>\n {{#if (has-block \"selectedTabContent\")}}\n {{yield currentTab to=\"selectedTabContent\"}}\n {{else}}\n {{currentTab.content}}\n {{/if}}\n </div>\n {{/if}}\n {{/let}}\n </div>\n {{/let}}\n ", {
107
107
  strictMode: true,
108
108
  scope: () => ({
109
109
  randomId,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-tabbed-content.js","sources":["../../src/components/eui-tabbed-content.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { scheduleOnce } from '@ember/runloop';\nimport type Owner from '@ember/owner';\n\nimport findBy from 'ember-composable-helpers/helpers/find-by';\nimport { eq } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiTab from './eui-tab.gts';\nimport EuiTabs from './eui-tabs.gts';\n\nimport type { CommonArgs } from './common.ts';\nimport type { EuiTabsSignature } from './eui-tabs';\nimport type { ComponentLike } from '@glint/template';\n\nexport interface EuiTabbedContentTab {\n id: string;\n name: string;\n content?: ComponentLike;\n disabled?: boolean;\n}\n\nexport type EuiTabbedContentArgs = CommonArgs & {\n /**\n * When tabbing into the tabs, set the focus on `initial` for the first tab,\n * or `selected` for the currently selected tab. Best use case is for inside of\n * overlay content like popovers or flyouts.\n */\n autoFocus?: 'initial' | 'selected';\n /**\n * Choose `default` or alternative `condensed` display styles\n */\n display?: EuiTabsSignature['Args']['display'];\n /**\n * Evenly stretches each tab to fill the horizontal space\n */\n expand?: boolean;\n /**\n * Use this prop to set the initially selected tab while letting the tabbed content component\n * control selection state internally\n */\n initialSelectedTab?: EuiTabbedContentTab;\n onTabClick?: (selectedTab: EuiTabbedContentTab) => void;\n /**\n * Use this prop if you want to control selection state within the owner component\n */\n selectedTab?: EuiTabbedContentTab;\n size?: EuiTabsSignature['Args']['size'];\n /**\n * Each tab needs id and content properties, so we can associate it with its panel for accessibility.\n * The name property (a node) is also required to display to the user.\n */\n tabs: EuiTabbedContentTab[];\n};\n\nexport interface EuiTabbedContentSignature {\n Element: HTMLDivElement;\n Args: EuiTabbedContentArgs;\n Blocks: {\n default: [EuiTabbedContentTab];\n selectedTabContent: [EuiTabbedContentTab];\n };\n}\n\nexport default class EuiTabbedContentComponent extends Component<EuiTabbedContentSignature> {\n @tracked selectedTabId;\n @tracked inFocus: boolean = false;\n tabsRef?: Element;\n\n get autoFocus() {\n return this.args.autoFocus || 'initial';\n }\n\n constructor(owner: Owner, args: EuiTabbedContentArgs) {\n super(owner, args);\n\n const { initialSelectedTab, selectedTab, tabs } = this.args;\n\n // Only track selection state if it's not controlled externally.\n if (!selectedTab) {\n this.selectedTabId =\n (initialSelectedTab && initialSelectedTab.id) || tabs[0]?.id;\n }\n }\n\n get selectedTab() {\n const { selectedTab: externalSelectedTab, tabs } = this.args;\n\n return (\n externalSelectedTab ||\n tabs.find((tab: EuiTabbedContentTab) => tab.id === this.selectedTabId)\n );\n }\n\n setTabsRef = (element: Element) => {\n this.tabsRef = element;\n // Current short-term solution for event listener (see https://github.com/elastic/eui/pull/2717)\n //@ts-expect-error\n this.tabsRef.addEventListener('focusout', this.removeFocus);\n };\n\n willDestroy(): void {\n super.willDestroy();\n\n if (this.tabsRef) {\n //@ts-expect-error\n this.tabsRef.removeEventListener('focusout', this.removeFocus);\n }\n }\n\n removeFocus = (blurEvent: FocusEvent) => {\n // only set inFocus to false if the wrapping div doesn't contain the now-focusing element\n const currentTarget = blurEvent.currentTarget! as HTMLElement;\n const relatedTarget = blurEvent.relatedTarget! as HTMLElement;\n\n if (currentTarget.contains(relatedTarget) === false) {\n this.inFocus = true;\n }\n };\n\n onTabClick = (selectedTab: EuiTabbedContentTab) => {\n const { onTabClick, selectedTab: externalSelectedTab } = this.args;\n\n if (onTabClick) {\n onTabClick(selectedTab);\n }\n\n // Only track selection state if it's not controlled externally.\n if (!externalSelectedTab) {\n this.selectedTabId = selectedTab.id;\n\n const focusTab = () => {\n this.focusTab();\n };\n\n scheduleOnce('afterRender', this, focusTab);\n }\n };\n\n focusTab = () => {\n if (this.tabsRef) {\n const targetTab: HTMLDivElement | null = this.tabsRef.querySelector(\n `#${this.selectedTabId}`\n );\n\n targetTab!.focus();\n }\n };\n\n initializeFocus = () => {\n if (!this.inFocus && this.autoFocus === 'selected') {\n // Must wait for setState to finish before calling `.focus()`\n // as the focus call triggers a blur on the first tab\n this.inFocus = true;\n\n const focusTab = () => {\n this.focusTab();\n };\n\n scheduleOnce('afterRender', this, focusTab);\n }\n };\n\n <template>\n {{#let (randomId) as |rootId|}}\n <div class={{@className}} ...attributes>\n <EuiTabs\n @expand={{@expand}}\n @display={{@display}}\n @size={{@size}}\n {{on \"focus\" this.initializeFocus}}\n {{didInsert this.setTabsRef}}\n >\n {{#each @tabs as |tab|}}\n <EuiTab\n @id={{tab.id}}\n aria-controls={{rootId}}\n @isSelected={{eq tab.id this.selectedTab.id}}\n @disabled={{tab.disabled}}\n {{on \"click\" (fn this.onTabClick tab)}}\n >\n {{tab.name}}\n </EuiTab>\n {{/each}}\n </EuiTabs>\n {{#let (findBy \"id\" this.selectedTab.id @tabs) as |currentTab|}}\n <div role=\"tabpanel\" id={{rootId}} aria-labelledby={{currentTab.id}}>\n {{#if (has-block \"selectedTabContent\")}}\n {{yield currentTab to=\"selectedTabContent\"}}\n {{else}}\n {{currentTab.content}}\n {{/if}}\n </div>\n {{/let}}\n </div>\n {{/let}}\n </template>\n}\n"],"names":["EuiTabbedContentComponent","Component","g","prototype","tracked","i","void 0","tabsRef","autoFocus","args","constructor","owner","initialSelectedTab","selectedTab","tabs","selectedTabId","id","externalSelectedTab","find","tab","setTabsRef","element","addEventListener","removeFocus","willDestroy","removeEventListener","blurEvent","currentTarget","relatedTarget","contains","inFocus","onTabClick","focusTab","scheduleOnce","targetTab","querySelector","focus","initializeFocus","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","EuiTabs","on","didInsert","EuiTab","eq","fn","findBy"],"mappings":"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"}
1
+ {"version":3,"file":"eui-tabbed-content.js","sources":["../../src/components/eui-tabbed-content.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { scheduleOnce } from '@ember/runloop';\nimport type Owner from '@ember/owner';\n\nimport findBy from '@nullvoxpopuli/ember-composable-helpers/helpers/find-by';\nimport { eq } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiTab from './eui-tab.gts';\nimport EuiTabs from './eui-tabs.gts';\n\nimport type { CommonArgs } from './common.ts';\nimport type { EuiTabsSignature } from './eui-tabs';\nimport type { ComponentLike } from '@glint/template';\n\nexport interface EuiTabbedContentTab {\n id: string;\n name: string;\n content?: ComponentLike;\n disabled?: boolean;\n}\n\nexport type EuiTabbedContentArgs = CommonArgs & {\n /**\n * When tabbing into the tabs, set the focus on `initial` for the first tab,\n * or `selected` for the currently selected tab. Best use case is for inside of\n * overlay content like popovers or flyouts.\n */\n autoFocus?: 'initial' | 'selected';\n /**\n * Choose `default` or alternative `condensed` display styles\n */\n display?: EuiTabsSignature['Args']['display'];\n /**\n * Evenly stretches each tab to fill the horizontal space\n */\n expand?: boolean;\n /**\n * Use this prop to set the initially selected tab while letting the tabbed content component\n * control selection state internally\n */\n initialSelectedTab?: EuiTabbedContentTab;\n onTabClick?: (selectedTab: EuiTabbedContentTab) => void;\n /**\n * Use this prop if you want to control selection state within the owner component\n */\n selectedTab?: EuiTabbedContentTab;\n size?: EuiTabsSignature['Args']['size'];\n /**\n * Each tab needs id and content properties, so we can associate it with its panel for accessibility.\n * The name property (a node) is also required to display to the user.\n */\n tabs: EuiTabbedContentTab[];\n};\n\nexport interface EuiTabbedContentSignature {\n Element: HTMLDivElement;\n Args: EuiTabbedContentArgs;\n Blocks: {\n default: [EuiTabbedContentTab];\n selectedTabContent: [EuiTabbedContentTab];\n };\n}\n\nexport default class EuiTabbedContentComponent extends Component<EuiTabbedContentSignature> {\n @tracked selectedTabId;\n @tracked inFocus: boolean = false;\n tabsRef?: Element;\n\n get autoFocus() {\n return this.args.autoFocus || 'initial';\n }\n\n constructor(owner: Owner, args: EuiTabbedContentArgs) {\n super(owner, args);\n\n const { initialSelectedTab, selectedTab, tabs } = this.args;\n\n // Only track selection state if it's not controlled externally.\n if (!selectedTab) {\n this.selectedTabId =\n (initialSelectedTab && initialSelectedTab.id) || tabs[0]?.id;\n }\n }\n\n get selectedTab() {\n const { selectedTab: externalSelectedTab, tabs } = this.args;\n\n return (\n externalSelectedTab ||\n tabs.find((tab: EuiTabbedContentTab) => tab.id === this.selectedTabId)\n );\n }\n\n setTabsRef = (element: Element) => {\n this.tabsRef = element;\n // Current short-term solution for event listener (see https://github.com/elastic/eui/pull/2717)\n //@ts-expect-error\n this.tabsRef.addEventListener('focusout', this.removeFocus);\n };\n\n willDestroy(): void {\n super.willDestroy();\n\n if (this.tabsRef) {\n //@ts-expect-error\n this.tabsRef.removeEventListener('focusout', this.removeFocus);\n }\n }\n\n removeFocus = (blurEvent: FocusEvent) => {\n // only set inFocus to false if the wrapping div doesn't contain the now-focusing element\n const currentTarget = blurEvent.currentTarget! as HTMLElement;\n const relatedTarget = blurEvent.relatedTarget! as HTMLElement;\n\n if (currentTarget.contains(relatedTarget) === false) {\n this.inFocus = true;\n }\n };\n\n onTabClick = (selectedTab: EuiTabbedContentTab) => {\n const { onTabClick, selectedTab: externalSelectedTab } = this.args;\n\n if (onTabClick) {\n onTabClick(selectedTab);\n }\n\n // Only track selection state if it's not controlled externally.\n if (!externalSelectedTab) {\n this.selectedTabId = selectedTab.id;\n\n const focusTab = () => {\n this.focusTab();\n };\n\n scheduleOnce('afterRender', this, focusTab);\n }\n };\n\n focusTab = () => {\n if (this.tabsRef) {\n const targetTab: HTMLDivElement | null = this.tabsRef.querySelector(\n `#${this.selectedTabId}`\n );\n\n targetTab!.focus();\n }\n };\n\n initializeFocus = () => {\n if (!this.inFocus && this.autoFocus === 'selected') {\n // Must wait for setState to finish before calling `.focus()`\n // as the focus call triggers a blur on the first tab\n this.inFocus = true;\n\n const focusTab = () => {\n this.focusTab();\n };\n\n scheduleOnce('afterRender', this, focusTab);\n }\n };\n\n <template>\n {{#let (randomId) as |rootId|}}\n <div class={{@className}} ...attributes>\n <EuiTabs\n @expand={{@expand}}\n @display={{@display}}\n @size={{@size}}\n {{on \"focus\" this.initializeFocus}}\n {{didInsert this.setTabsRef}}\n >\n {{#each @tabs as |tab|}}\n <EuiTab\n @id={{tab.id}}\n aria-controls={{rootId}}\n @isSelected={{eq tab.id this.selectedTab.id}}\n @disabled={{tab.disabled}}\n {{on \"click\" (fn this.onTabClick tab)}}\n >\n {{tab.name}}\n </EuiTab>\n {{/each}}\n </EuiTabs>\n {{#let (findBy \"id\" this.selectedTab.id @tabs) as |currentTab|}}\n {{#if currentTab}}\n <div\n role=\"tabpanel\"\n id={{rootId}}\n aria-labelledby={{currentTab.id}}\n >\n {{#if (has-block \"selectedTabContent\")}}\n {{yield currentTab to=\"selectedTabContent\"}}\n {{else}}\n {{currentTab.content}}\n {{/if}}\n </div>\n {{/if}}\n {{/let}}\n </div>\n {{/let}}\n </template>\n}\n"],"names":["EuiTabbedContentComponent","Component","g","prototype","tracked","i","void 0","tabsRef","autoFocus","args","constructor","owner","initialSelectedTab","selectedTab","tabs","selectedTabId","id","externalSelectedTab","find","tab","setTabsRef","element","addEventListener","removeFocus","willDestroy","removeEventListener","blurEvent","currentTarget","relatedTarget","contains","inFocus","onTabClick","focusTab","scheduleOnce","targetTab","querySelector","focus","initializeFocus","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","EuiTabs","on","didInsert","EuiTab","eq","fn","findBy"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import didInsert from '@ember/render-modifiers/modifiers/did-insert';
2
- import optional from 'ember-composable-helpers/helpers/optional';
2
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
3
3
  import randomId from '../-private/random-id.js';
4
4
  import argOrDefault from '../helpers/arg-or-default.js';
5
5
  import classNames from '../helpers/class-names.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-text-area.js","sources":["../../src/components/eui-text-area.gts"],"sourcesContent":["import didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\n\nimport randomId from '../-private/random-id.ts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport validatableControl from '../modifiers/validatable-control.ts';\n\nimport type { resizeMapping } from '../utils/css-mappings/eui-text-area.ts';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiTextAreaSignature {\n Element: HTMLTextAreaElement;\n Args: {\n id?: string;\n value?: string;\n fullWidth?: boolean;\n compressed?: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n inputRef?: (element: HTMLTextAreaElement | null) => void;\n rows?: number;\n resize?: keyof typeof resizeMapping;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiTextArea: TemplateOnlyComponent<EuiTextAreaSignature> = <template>\n {{#let\n (classNames\n (if @fullWidth \"euiTextArea--fullWidth\")\n (if @compressed \"euiTextArea--compressed\")\n componentName=\"EuiTextArea\"\n resize=(argOrDefault @resize \"vertical\")\n )\n (if @rows @rows (if @compressed 3 6))\n (argOrDefault @id (randomId))\n as |classes definedRows id|\n }}\n <textarea\n id={{id}}\n value={{@value}}\n class={{classes}}\n rows={{definedRows}}\n disabled={{@disabled}}\n ...attributes\n {{validatableControl @isInvalid}}\n {{didInsert (optional @inputRef)}}\n >\n {{yield}}\n </textarea>\n {{/let}}\n</template>;\n\nexport default EuiTextArea;\n"],"names":["EuiTextArea","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","argOrDefault","randomId","validatableControl","didInsert","optional","templateOnly"],"mappings":";;;;;;;;;;AA8BA,MAAMA,WAA2D,GAAAC,oBAAA,CAAAC,kBAAA,CAyBjE,wgBAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,kBAAA;IAAAC,SAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-text-area.js","sources":["../../src/components/eui-text-area.gts"],"sourcesContent":["import didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\n\nimport randomId from '../-private/random-id.ts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport validatableControl from '../modifiers/validatable-control.ts';\n\nimport type { resizeMapping } from '../utils/css-mappings/eui-text-area.ts';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiTextAreaSignature {\n Element: HTMLTextAreaElement;\n Args: {\n id?: string;\n value?: string;\n fullWidth?: boolean;\n compressed?: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n inputRef?: (element: HTMLTextAreaElement | null) => void;\n rows?: number;\n resize?: keyof typeof resizeMapping;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiTextArea: TemplateOnlyComponent<EuiTextAreaSignature> = <template>\n {{#let\n (classNames\n (if @fullWidth \"euiTextArea--fullWidth\")\n (if @compressed \"euiTextArea--compressed\")\n componentName=\"EuiTextArea\"\n resize=(argOrDefault @resize \"vertical\")\n )\n (if @rows @rows (if @compressed 3 6))\n (argOrDefault @id (randomId))\n as |classes definedRows id|\n }}\n <textarea\n id={{id}}\n value={{@value}}\n class={{classes}}\n rows={{definedRows}}\n disabled={{@disabled}}\n ...attributes\n {{validatableControl @isInvalid}}\n {{didInsert (optional @inputRef)}}\n >\n {{yield}}\n </textarea>\n {{/let}}\n</template>;\n\nexport default EuiTextArea;\n"],"names":["EuiTextArea","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","argOrDefault","randomId","validatableControl","didInsert","optional","templateOnly"],"mappings":";;;;;;;;;;AA8BA,MAAMA,WAA2D,GAAAC,oBAAA,CAAAC,kBAAA,CAyBjE,wgBAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,kBAAA;IAAAC,SAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -41,53 +41,53 @@ class EuiToolTip extends Component {
41
41
  static {
42
42
  g(this.prototype, "position", [argOrDefaultDecorator('top')]);
43
43
  }
44
- #position = (i(this, "position"), undefined);
44
+ #position = (i(this, "position"), void 0);
45
45
  static {
46
46
  g(this.prototype, "delay", [argOrDefaultDecorator('regular')]);
47
47
  }
48
- #delay = (i(this, "delay"), undefined);
48
+ #delay = (i(this, "delay"), void 0);
49
49
  static {
50
50
  g(this.prototype, "visible", [tracked], function () {
51
51
  return false;
52
52
  });
53
53
  }
54
- #visible = (i(this, "visible"), undefined); //STATE
54
+ #visible = (i(this, "visible"), void 0); //STATE
55
55
  static {
56
56
  g(this.prototype, "hasFocus", [tracked], function () {
57
57
  return false;
58
58
  });
59
59
  }
60
- #hasFocus = (i(this, "hasFocus"), undefined);
60
+ #hasFocus = (i(this, "hasFocus"), void 0);
61
61
  static {
62
62
  g(this.prototype, "calculatedPosition", [tracked], function () {
63
63
  return this.position;
64
64
  });
65
65
  }
66
- #calculatedPosition = (i(this, "calculatedPosition"), undefined);
66
+ #calculatedPosition = (i(this, "calculatedPosition"), void 0);
67
67
  static {
68
68
  g(this.prototype, "toolTipStyles", [tracked], function () {
69
69
  return DEFAULT_TOOLTIP_STYLES;
70
70
  });
71
71
  }
72
- #toolTipStyles = (i(this, "toolTipStyles"), undefined);
72
+ #toolTipStyles = (i(this, "toolTipStyles"), void 0);
73
73
  static {
74
74
  g(this.prototype, "arrowStyles", [tracked], function () {
75
75
  return {};
76
76
  });
77
77
  }
78
- #arrowStyles = (i(this, "arrowStyles"), undefined);
78
+ #arrowStyles = (i(this, "arrowStyles"), void 0);
79
79
  static {
80
80
  g(this.prototype, "id", [tracked], function () {
81
81
  return this.args.id || guidFor({});
82
82
  });
83
83
  }
84
- #id = (i(this, "id"), undefined);
84
+ #id = (i(this, "id"), void 0);
85
85
  static {
86
86
  g(this.prototype, "_attachTo", [tracked], function () {
87
87
  return null;
88
88
  });
89
89
  }
90
- #_attachTo = (i(this, "_attachTo"), undefined);
90
+ #_attachTo = (i(this, "_attachTo"), void 0);
91
91
  timeoutId;
92
92
  updateAttachTo() {
93
93
  if (!this.args.attachTo && this._attachTo) {