@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
@@ -1 +1 @@
1
- {"version":3,"file":"eui-portal.js","sources":["../../src/components/eui-portal.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\nimport { isBlank } from '@ember/utils';\nimport type Owner from '@ember/owner';\n\nimport { keysOf } from './common.ts';\n\ninterface InsertPositionsMap {\n [key: string]: string;\n}\n\nexport const insertPositions: InsertPositionsMap = {\n after: 'afterend',\n before: 'beforebegin'\n};\n\nexport const INSERT_POSITIONS: EuiPortalInsertPosition[] =\n keysOf(insertPositions);\n\ntype EuiPortalInsertPosition = keyof typeof insertPositions;\n\nexport interface EuiPortalArgs {\n insert?: { sibling: HTMLElement; position: EuiPortalInsertPosition };\n portalRef?: (ref: HTMLDivElement | null) => void;\n}\n\nexport interface EuiPortalSignature {\n Args: EuiPortalArgs;\n Element: HTMLDivElement;\n Blocks: { default: [] };\n}\n\nexport default class EuiPortal extends Component<EuiPortalSignature> {\n @tracked portalNode!: HTMLElement;\n\n constructor(owner: Owner, args: EuiPortalArgs) {\n super(owner, args);\n\n const { insert } = this.args;\n\n this.portalNode = document.createElement('div');\n this.portalNode.id = `${guidFor({})}-portal`;\n\n if (isBlank(this.args.insert)) {\n document.body.appendChild(this.portalNode);\n } else {\n // inserting before or after an element\n const { sibling, position } = insert!;\n\n sibling.insertAdjacentElement(\n insertPositions[position] as InsertPosition,\n this.portalNode\n );\n }\n }\n\n willDestroy(): void {\n super.willDestroy();\n\n if (this.portalNode.parentNode) {\n this.portalNode.parentNode.removeChild(this.portalNode);\n }\n }\n\n <template>\n {{#if this.portalNode}}\n {{#in-element this.portalNode}}\n {{yield}}\n {{/in-element}}\n {{/if}}\n </template>\n}\n"],"names":["insertPositions","after","before","INSERT_POSITIONS","keysOf","EuiPortal","Component","g","prototype","tracked","i","void 0","constructor","owner","args","insert","portalNode","document","createElement","id","guidFor","isBlank","body","appendChild","sibling","position","insertAdjacentElement","willDestroy","parentNode","removeChild","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;;;;;AAYO,MAAMA,eAAsC,GAAA;AACjDC,EAAAA,KAAO,EAAA,UAAA;AACPC,EAAAA,MAAQ,EAAA;AACV;MAEaC,gBACX,GAAAC,MAAA,CAAOJ,eAAiB;AAeX,MAAMK,kBAAkBC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,YAAA,EAAA,CAC9CC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAAC,SAAA;AAEDC,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAAmB,EAAE;AAC7C,IAAA,KAAK,CAACD,KAAO,EAAAC,IAAA,CAAA;IAEb,MAAM;AAAEC,MAAAA;KAAQ,GAAG,IAAI,CAACD,IAAI;IAE5B,IAAI,CAACE,UAAU,GAAGC,QAAA,CAASC,aAAa,CAAC,KAAA,CAAA;IACzC,IAAI,CAACF,UAAU,CAACG,EAAE,GAAG,CAAGC,EAAAA,OAAQ,CAAA,EAAI,CAAA,CAAQ,OAAA,CAAA;IAE5C,IAAIC,QAAQ,IAAI,CAACP,IAAI,CAACC,MAAM,CAAG,EAAA;MAC7BE,QAAA,CAASK,IAAI,CAACC,WAAW,CAAC,IAAI,CAACP,UAAU,CAAA;AAC3C,KAAO,MAAA;AACL;MACA,MAAM;QAAEQ,OAAO;AAAEC,QAAAA;OAAU,GAAGV,MAAA;MAE9BS,OAAQ,CAAAE,qBAAqB,CAC3B1B,eAAe,CAACyB,SAAS,EACzB,IAAI,CAACT,UAAU,CAAA;AAEnB;AACF;AAEAW,EAAAA,WAAAA,GAAoB;IAClB,KAAK,CAACA,WAAA,EAAA;AAEN,IAAA,IAAI,IAAI,CAACX,UAAU,CAACY,UAAU,EAAE;MAC9B,IAAI,CAACZ,UAAU,CAACY,UAAU,CAACC,WAAW,CAAC,IAAI,CAACb,UAAU,CAAA;AACxD;AACF;AAEA,EAAA;IAAAc,oBAAA,CAAAC,kBAAA,CAMA,iIAAA,EAAA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"eui-portal.js","sources":["../../src/components/eui-portal.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\nimport { isBlank } from '@ember/utils';\nimport type Owner from '@ember/owner';\n\nimport { keysOf } from './common.ts';\n\ninterface InsertPositionsMap {\n [key: string]: string;\n}\n\nexport const insertPositions: InsertPositionsMap = {\n after: 'afterend',\n before: 'beforebegin'\n};\n\nexport const INSERT_POSITIONS: EuiPortalInsertPosition[] =\n keysOf(insertPositions);\n\ntype EuiPortalInsertPosition = keyof typeof insertPositions;\n\nexport interface EuiPortalArgs {\n insert?: { sibling: HTMLElement; position: EuiPortalInsertPosition };\n portalRef?: (ref: HTMLDivElement | null) => void;\n}\n\nexport interface EuiPortalSignature {\n Args: EuiPortalArgs;\n Element: HTMLDivElement;\n Blocks: { default: [] };\n}\n\nexport default class EuiPortal extends Component<EuiPortalSignature> {\n @tracked portalNode!: HTMLElement;\n\n constructor(owner: Owner, args: EuiPortalArgs) {\n super(owner, args);\n\n const { insert } = this.args;\n\n this.portalNode = document.createElement('div');\n this.portalNode.id = `${guidFor({})}-portal`;\n\n if (isBlank(this.args.insert)) {\n document.body.appendChild(this.portalNode);\n } else {\n // inserting before or after an element\n const { sibling, position } = insert!;\n\n sibling.insertAdjacentElement(\n insertPositions[position] as InsertPosition,\n this.portalNode\n );\n }\n }\n\n willDestroy(): void {\n super.willDestroy();\n\n if (this.portalNode.parentNode) {\n this.portalNode.parentNode.removeChild(this.portalNode);\n }\n }\n\n <template>\n {{#if this.portalNode}}\n {{#in-element this.portalNode}}\n {{yield}}\n {{/in-element}}\n {{/if}}\n </template>\n}\n"],"names":["insertPositions","after","before","INSERT_POSITIONS","keysOf","EuiPortal","Component","g","prototype","tracked","i","void 0","constructor","owner","args","insert","portalNode","document","createElement","id","guidFor","isBlank","body","appendChild","sibling","position","insertAdjacentElement","willDestroy","parentNode","removeChild","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;;;;;AAYO,MAAMA,eAAsC,GAAA;AACjDC,EAAAA,KAAO,EAAA,UAAA;AACPC,EAAAA,MAAQ,EAAA;AACV;MAEaC,gBACX,GAAAC,MAAA,CAAOJ,eAAiB;AAeX,MAAMK,kBAAkBC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,YAAA,EAAA,CAC9CC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAAC,MAAA;AAEDC,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAAmB,EAAE;AAC7C,IAAA,KAAK,CAACD,KAAO,EAAAC,IAAA,CAAA;IAEb,MAAM;AAAEC,MAAAA;KAAQ,GAAG,IAAI,CAACD,IAAI;IAE5B,IAAI,CAACE,UAAU,GAAGC,QAAA,CAASC,aAAa,CAAC,KAAA,CAAA;IACzC,IAAI,CAACF,UAAU,CAACG,EAAE,GAAG,CAAGC,EAAAA,OAAQ,CAAA,EAAI,CAAA,CAAQ,OAAA,CAAA;IAE5C,IAAIC,QAAQ,IAAI,CAACP,IAAI,CAACC,MAAM,CAAG,EAAA;MAC7BE,QAAA,CAASK,IAAI,CAACC,WAAW,CAAC,IAAI,CAACP,UAAU,CAAA;AAC3C,KAAO,MAAA;AACL;MACA,MAAM;QAAEQ,OAAO;AAAEC,QAAAA;OAAU,GAAGV,MAAA;MAE9BS,OAAQ,CAAAE,qBAAqB,CAC3B1B,eAAe,CAACyB,SAAS,EACzB,IAAI,CAACT,UAAU,CAAA;AAEnB;AACF;AAEAW,EAAAA,WAAAA,GAAoB;IAClB,KAAK,CAACA,WAAA,EAAA;AAEN,IAAA,IAAI,IAAI,CAACX,UAAU,CAACY,UAAU,EAAE;MAC9B,IAAI,CAACZ,UAAU,CAACY,UAAU,CAACC,WAAW,CAAC,IAAI,CAACb,UAAU,CAAA;AACxD;AACF;AAEA,EAAA;IAAAc,oBAAA,CAAAC,kBAAA,CAMA,iIAAA,EAAA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -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 { or, not, and } from 'ember-truth-helpers';
4
4
  import randomId from '../-private/random-id.js';
5
5
  import argOrDefault from '../helpers/arg-or-default.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-radio.js","sources":["../../src/components/eui-radio.gts"],"sourcesContent":["import didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport { and, not, or } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiRadioSignature {\n Element: HTMLInputElement;\n Args: {\n checked?: boolean;\n disabled?: boolean;\n name?: string;\n label?: string;\n labelProps?: {\n className?: string;\n };\n compressed?: boolean;\n containerClass?: string;\n inputRef?: (element: HTMLInputElement | null) => void;\n isFakeLabelBlock?: boolean;\n id?: string;\n };\n Blocks: {\n label: [];\n };\n}\n\nconst EuiRadio: TemplateOnlyComponent<EuiRadioSignature> = <template>\n {{#let\n (and (has-block \"label\") (not (argOrDefault @isFakeLabelBlock false)))\n (argOrDefault @id (randomId))\n as |hasLabelBlock id|\n }}\n {{#let\n (classNames\n @containerClass\n (if (not (or hasLabelBlock @label)) \"euiRadio--noLabel\")\n (if @compressed \"euiRadio--compressed\")\n \"euiRadio\"\n )\n as |classes|\n }}\n <div class={{classes}}>\n <input\n class=\"euiRadio__input\"\n type=\"radio\"\n id={{id}}\n checked={{@checked}}\n disabled={{@disabled}}\n name={{@name}}\n {{didInsert (optional @inputRef)}}\n ...attributes\n />\n <div class=\"euiRadio__circle\"></div>\n {{#if (or hasLabelBlock @label)}}\n <label\n class={{classNames \"euiRadio__label\" @labelProps.className}}\n for={{id}}\n >\n {{#if hasLabelBlock}}\n {{yield to=\"label\"}}\n {{else}}\n {{@label}}\n {{/if}}\n </label>\n {{/if}}\n </div>\n {{/let}}\n {{/let}}\n</template>;\n\nexport default EuiRadio;\n"],"names":["EuiRadio","setComponentTemplate","precompileTemplate","strictMode","scope","and","not","argOrDefault","randomId","classNames","or","didInsert","optional","templateOnly"],"mappings":";;;;;;;;;;AAgCA,MAAMA,QAAqD,GAAAC,oBAAA,CAAAC,kBAAA,CA0C3D,25BAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,SAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-radio.js","sources":["../../src/components/eui-radio.gts"],"sourcesContent":["import didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, not, or } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiRadioSignature {\n Element: HTMLInputElement;\n Args: {\n checked?: boolean;\n disabled?: boolean;\n name?: string;\n label?: string;\n labelProps?: {\n className?: string;\n };\n compressed?: boolean;\n containerClass?: string;\n inputRef?: (element: HTMLInputElement | null) => void;\n isFakeLabelBlock?: boolean;\n id?: string;\n };\n Blocks: {\n label: [];\n };\n}\n\nconst EuiRadio: TemplateOnlyComponent<EuiRadioSignature> = <template>\n {{#let\n (and (has-block \"label\") (not (argOrDefault @isFakeLabelBlock false)))\n (argOrDefault @id (randomId))\n as |hasLabelBlock id|\n }}\n {{#let\n (classNames\n @containerClass\n (if (not (or hasLabelBlock @label)) \"euiRadio--noLabel\")\n (if @compressed \"euiRadio--compressed\")\n \"euiRadio\"\n )\n as |classes|\n }}\n <div class={{classes}}>\n <input\n class=\"euiRadio__input\"\n type=\"radio\"\n id={{id}}\n checked={{@checked}}\n disabled={{@disabled}}\n name={{@name}}\n {{didInsert (optional @inputRef)}}\n ...attributes\n />\n <div class=\"euiRadio__circle\"></div>\n {{#if (or hasLabelBlock @label)}}\n <label\n class={{classNames \"euiRadio__label\" @labelProps.className}}\n for={{id}}\n >\n {{#if hasLabelBlock}}\n {{yield to=\"label\"}}\n {{else}}\n {{@label}}\n {{/if}}\n </label>\n {{/if}}\n </div>\n {{/let}}\n {{/let}}\n</template>;\n\nexport default EuiRadio;\n"],"names":["EuiRadio","setComponentTemplate","precompileTemplate","strictMode","scope","and","not","argOrDefault","randomId","classNames","or","didInsert","optional","templateOnly"],"mappings":";;;;;;;;;;AAgCA,MAAMA,QAAqD,GAAAC,oBAAA,CAAAC,kBAAA,CA0C3D,25BAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,SAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { on } from '@ember/modifier';
3
3
  import { htmlSafe } from '@ember/template';
4
- import optional from 'ember-composable-helpers/helpers/optional';
4
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
5
5
  import { eq } from 'ember-truth-helpers';
6
6
  import classNames from '../helpers/class-names.js';
7
7
  import getRangeTick from '../helpers/get-range-tick.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-range-ticks.js","sources":["../../src/components/eui-range-ticks.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { on } from '@ember/modifier';\nimport { htmlSafe } from '@ember/template';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport { eq } from 'ember-truth-helpers';\n\nimport classNames from '../helpers/class-names.ts';\nimport getRangeTick from '../helpers/get-range-tick.ts';\n\nexport interface EuiRangeTick {\n value: number;\n label: Component;\n}\n\ntype Value = string | number;\n\nexport type EuiRangeTicksArgs = {\n ticks: EuiRangeTick[];\n tickSequence: number[];\n value?: Value | Value[];\n min: number;\n max: number;\n compressed?: boolean;\n interval?: number;\n disabled?: boolean;\n onChange?: (e: MouseEvent) => void;\n trackWidth: number;\n};\n\nexport interface EuiRangeTicksSignature {\n Element: HTMLDivElement;\n Args: EuiRangeTicksArgs;\n}\n\nexport default class EuiRangeTicksComponent extends Component<EuiRangeTicksSignature> {\n get percentageWidth(): number {\n const { max, min, interval = 1 } = this.args;\n\n return (interval / (max - min + interval)) * 100;\n }\n\n get ticksStyle(): ReturnType<typeof htmlSafe> | undefined {\n const { ticks } = this.args;\n\n return !ticks\n ? undefined\n : htmlSafe(`margin: 0 ${this.percentageWidth / -2}%; left: 0; right: 0;`);\n }\n\n <template>\n <div\n class=\"euiRangeTicks {{if @compressed 'euiRangeTicks--compressed'}}\"\n style={{this.ticksStyle}}\n ...attributes\n >\n {{#each @tickSequence key=\"value\" as |tickValue|}}\n {{#let\n (getRangeTick\n @ticks tickValue @min @max this.percentageWidth @trackWidth\n )\n as |derivedState|\n }}\n <button\n type=\"button\"\n class={{classNames\n (if (eq @value tickValue) \"euiRangeTick--selected\")\n (if derivedState.customTick \"euiRangeTick--isCustom\")\n \"euiRangeTick\"\n }}\n value={{tickValue}}\n disabled={{@disabled}}\n style={{derivedState.style}}\n tabindex=\"-1\"\n {{on \"click\" (optional @onChange)}}\n >\n {{!@glint-expect-error}}\n {{derivedState.label}}\n </button>\n {{/let}}\n {{/each}}\n </div>\n </template>\n}\n"],"names":["EuiRangeTicksComponent","Component","percentageWidth","max","min","interval","args","ticksStyle","ticks","undefined","htmlSafe","setComponentTemplate","precompileTemplate","strictMode","scope","getRangeTick","classNames","eq","on","optional"],"mappings":";;;;;;;;;;AAmCe,MAAMA,+BAA+BC,SAAU,CAAA;EAC5D,IAAIC,eAAAA,GAA0B;IAC5B,MAAM;MAAEC,GAAG;MAAEC,GAAG;AAAEC,MAAAA,QAAW,GAAA;KAAG,GAAG,IAAI,CAACC,IAAI;IAE5C,OAAQD,QAAW,IAACF,MAAMC,GAAM,GAAAC,QAAQ,CAAC,GAAI,GAAA;AAC/C;EAEA,IAAIE,UAAcA,GAAwC;IACxD,MAAM;AAAEC,MAAAA;KAAO,GAAG,IAAI,CAACF,IAAI;AAE3B,IAAA,OAAO,CAACE,KAAA,GACJC,SACA,GAAAC,QAAA,CAAS,CAAa,UAAA,EAAA,IAAI,CAACR,eAAe,GAAG,EAAC,uBAAwB,CAAA;AAC5E;AAEA,EAAA;IAAAS,oBAAA,CAAAC,kBAAA,CAgCA,qvBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,YAAA;QAAAC,UAAA;QAAAC,EAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"eui-range-ticks.js","sources":["../../src/components/eui-range-ticks.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { on } from '@ember/modifier';\nimport { htmlSafe } from '@ember/template';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { eq } from 'ember-truth-helpers';\n\nimport classNames from '../helpers/class-names.ts';\nimport getRangeTick from '../helpers/get-range-tick.ts';\n\nexport interface EuiRangeTick {\n value: number;\n label: Component;\n}\n\ntype Value = string | number;\n\nexport type EuiRangeTicksArgs = {\n ticks: EuiRangeTick[];\n tickSequence: number[];\n value?: Value | Value[];\n min: number;\n max: number;\n compressed?: boolean;\n interval?: number;\n disabled?: boolean;\n onChange?: (e: MouseEvent) => void;\n trackWidth: number;\n};\n\nexport interface EuiRangeTicksSignature {\n Element: HTMLDivElement;\n Args: EuiRangeTicksArgs;\n}\n\nexport default class EuiRangeTicksComponent extends Component<EuiRangeTicksSignature> {\n get percentageWidth(): number {\n const { max, min, interval = 1 } = this.args;\n\n return (interval / (max - min + interval)) * 100;\n }\n\n get ticksStyle(): ReturnType<typeof htmlSafe> | undefined {\n const { ticks } = this.args;\n\n return !ticks\n ? undefined\n : htmlSafe(`margin: 0 ${this.percentageWidth / -2}%; left: 0; right: 0;`);\n }\n\n <template>\n <div\n class=\"euiRangeTicks {{if @compressed 'euiRangeTicks--compressed'}}\"\n style={{this.ticksStyle}}\n ...attributes\n >\n {{#each @tickSequence key=\"value\" as |tickValue|}}\n {{#let\n (getRangeTick\n @ticks tickValue @min @max this.percentageWidth @trackWidth\n )\n as |derivedState|\n }}\n <button\n type=\"button\"\n class={{classNames\n (if (eq @value tickValue) \"euiRangeTick--selected\")\n (if derivedState.customTick \"euiRangeTick--isCustom\")\n \"euiRangeTick\"\n }}\n value={{tickValue}}\n disabled={{@disabled}}\n style={{derivedState.style}}\n tabindex=\"-1\"\n {{on \"click\" (optional @onChange)}}\n >\n {{!@glint-expect-error}}\n {{derivedState.label}}\n </button>\n {{/let}}\n {{/each}}\n </div>\n </template>\n}\n"],"names":["EuiRangeTicksComponent","Component","percentageWidth","max","min","interval","args","ticksStyle","ticks","undefined","htmlSafe","setComponentTemplate","precompileTemplate","strictMode","scope","getRangeTick","classNames","eq","on","optional"],"mappings":";;;;;;;;;;AAmCe,MAAMA,+BAA+BC,SAAU,CAAA;EAC5D,IAAIC,eAAAA,GAA0B;IAC5B,MAAM;MAAEC,GAAG;MAAEC,GAAG;AAAEC,MAAAA,QAAW,GAAA;KAAG,GAAG,IAAI,CAACC,IAAI;IAE5C,OAAQD,QAAW,IAACF,MAAMC,GAAM,GAAAC,QAAQ,CAAC,GAAI,GAAA;AAC/C;EAEA,IAAIE,UAAcA,GAAwC;IACxD,MAAM;AAAEC,MAAAA;KAAO,GAAG,IAAI,CAACF,IAAI;AAE3B,IAAA,OAAO,CAACE,KAAA,GACJC,SACA,GAAAC,QAAA,CAAS,CAAa,UAAA,EAAA,IAAI,CAACR,eAAe,GAAG,EAAC,uBAAwB,CAAA;AAC5E;AAEA,EAAA;IAAAS,oBAAA,CAAAC,kBAAA,CAgCA,qvBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,YAAA;QAAAC,UAAA;QAAAC,EAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -21,7 +21,7 @@ class EuiRangeTrackComponent extends Component {
21
21
  static {
22
22
  g(this.prototype, "trackEl", [tracked]);
23
23
  }
24
- #trackEl = (i(this, "trackEl"), undefined);
24
+ #trackEl = (i(this, "trackEl"), void 0);
25
25
  registerTrack(el) {
26
26
  this.trackEl = el;
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eui-range-track.js","sources":["../../src/components/eui-range-track.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { fn } from '@ember/helper';\nimport { action } from '@ember/object';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { htmlSafe } from '@ember/template';\n\nimport { and, gt,or } from 'ember-truth-helpers';\nimport { range } from 'lodash-es';\n\nimport classNames from '../helpers/class-names.ts';\nimport { isEvenlyDivisibleBy } from '../utils/number/index.ts';\nimport { LEVEL_COLORS } from './eui-range-levels.gts';\nimport EuiRangeLevels from './eui-range-levels.gts';\nimport EuiRangeTicks from './eui-range-ticks.gts';\n\nimport type { EuiRangeLevel } from './eui-range-levels';\n\nexport { LEVEL_COLORS };\n\nexport interface EuiRangeTick {\n value: number;\n label: Component;\n}\n\ntype Value = number | string;\n\nexport type EuiRangeTrackArgs = {\n min: number;\n max: number;\n step?: number;\n value?: Value | Value[];\n compressed?: boolean;\n disabled?: boolean;\n showTicks?: boolean;\n tickInterval?: number;\n ticks?: EuiRangeTick[];\n onChange?: (e: MouseEvent) => void;\n levels?: EuiRangeLevel[];\n};\n\ntype Styling = {\n tickSequence?: number[];\n styles: ReturnType<typeof htmlSafe>;\n};\n\nexport interface EuiRangeTrackSignature {\n Element: HTMLElement;\n Args: EuiRangeTrackArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport default class EuiRangeTrackComponent extends Component<EuiRangeTrackSignature> {\n @tracked declare trackEl: HTMLElement;\n\n @action\n registerTrack(el: HTMLElement) {\n this.trackEl = el;\n }\n\n @action\n validateValueIsInStep(value: number): number {\n const { min, max, step } = this.args;\n\n if (value < min) {\n assert(\n `The value of ${value} is lower than the min value of ${min}.`,\n false\n );\n }\n\n if (value > max) {\n assert(\n `The value of ${value} is higher than the max value of ${max}.`,\n false\n );\n }\n\n // Error out if the value doesn't line up with the sequence of steps\n if (!isEvenlyDivisibleBy(value - min, step !== undefined ? step : 1)) {\n assert(\n `The value of ${value} is not included in the possible sequence provided by the step of ${step}.`,\n false\n );\n }\n\n // Return the value if nothing fails\n return value;\n }\n\n calculateSequence(\n min: EuiRangeTrackArgs['min'],\n max: EuiRangeTrackArgs['max'],\n interval?: EuiRangeTrackArgs['tickInterval']\n ): number[] {\n // Loop from min to max, creating adding values at each interval\n // (adds a very small number to the max since `range` is not inclusive of the max value)\n const toBeInclusive = 0.000000001;\n\n return range(min, max + toBeInclusive, interval);\n }\n\n calculateTicks(\n min: EuiRangeTrackArgs['min'],\n max: EuiRangeTrackArgs['max'],\n step?: EuiRangeTrackArgs['step'],\n tickInterval?: EuiRangeTrackArgs['tickInterval'],\n customTicks?: EuiRangeTick[]\n ): number[] {\n let ticks;\n\n if (customTicks) {\n // If custom values were passed, use those for the sequence\n // But make sure they align with the possible sequence\n ticks = customTicks.map((tick) => {\n return this.validateValueIsInStep(tick.value);\n });\n } else {\n // If a custom interval was passed, use those for the sequence\n // But make sure they align with the possible sequence\n const interval = tickInterval || step;\n const tickSequence = this.calculateSequence(min, max, interval);\n\n ticks = tickSequence.map((tick) => {\n return this.validateValueIsInStep(tick);\n });\n }\n\n // Error out if there are too many ticks to render\n if (ticks.length > 20) {\n assert(\n `The number of ticks to render is too high (${ticks.length}), increase the interval.`,\n true\n );\n }\n\n return ticks;\n }\n\n get derivedState(): Styling {\n let tickSequence;\n let styles = '';\n const { showTicks, min, max, step, tickInterval, ticks } = this.args;\n\n if (showTicks) {\n tickSequence = this.calculateTicks(min, max, step, tickInterval, ticks);\n\n // Calculate if any extra margin should be added to the inputWrapper\n // because of longer tick labels on the ends\n const lengthOfMinLabel = String(tickSequence[0]).length;\n const lenghtOfMaxLabel = String(\n tickSequence[tickSequence.length - 1]\n ).length;\n const isLastTickTheMax = tickSequence[tickSequence.length - 1] === max;\n\n if (lengthOfMinLabel > 2) {\n styles = `margin-left: ${lengthOfMinLabel / 5}em`;\n }\n\n if (isLastTickTheMax && lenghtOfMaxLabel > 2) {\n styles = `margin-right: ${lenghtOfMaxLabel / 5}em`;\n }\n }\n\n return {\n tickSequence,\n styles: htmlSafe(styles)\n };\n }\n\n <template>\n <div\n class={{classNames\n \"euiRangeTrack\"\n (if @disabled \"euiRangeTrack--disabled\")\n (if @showTicks \"euiRangeTrack--hasTicks\")\n (if (and @levels (gt @levels.length 0)) \"euiRangeTrack--hasLevels\")\n }}\n style={{if this.derivedState.styles this.derivedState.styles}}\n ...attributes\n {{didInsert (fn this.validateValueIsInStep @max)}}\n {{didInsert this.registerTrack}}\n {{didUpdate (fn this.validateValueIsInStep @max) @max}}\n {{didUpdate (fn this.validateValueIsInStep @max) @min}}\n {{didUpdate (fn this.validateValueIsInStep @max) @step}}\n >\n {{#if (gt @levels.length 0)}}\n <EuiRangeLevels\n @compressed={{@compressed}}\n @levels={{@levels}}\n @max={{@max}}\n @min={{@min}}\n @showTicks={{@showTicks}}\n @trackWidth={{this.trackEl.clientWidth}}\n />\n {{/if}}\n {{#if this.derivedState.tickSequence}}\n {{#if @ticks}}\n <EuiRangeTicks\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @ticks={{@ticks}}\n @tickSequence={{this.derivedState.tickSequence}}\n @value={{@value}}\n @min={{@min}}\n @max={{@max}}\n @interval={{or @tickInterval @step}}\n @onChange={{@onChange}}\n @trackWidth={{this.trackEl.clientWidth}}\n />\n {{/if}}\n {{/if}}\n {{yield}}\n </div>\n </template>\n}\n"],"names":["EuiRangeTrackComponent","Component","g","prototype","tracked","i","void 0","registerTrack","el","trackEl","n","action","validateValueIsInStep","value","min","max","step","args","assert","isEvenlyDivisibleBy","undefined","calculateSequence","interval","toBeInclusive","range","calculateTicks","tickInterval","customTicks","ticks","map","tick","tickSequence","length","derivedState","styles","showTicks","lengthOfMinLabel","String","lenghtOfMaxLabel","isLastTickTheMax","htmlSafe","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","and","gt","didInsert","fn","didUpdate","EuiRangeLevels","EuiRangeTicks","or"],"mappings":"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"}
1
+ {"version":3,"file":"eui-range-track.js","sources":["../../src/components/eui-range-track.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { fn } from '@ember/helper';\nimport { action } from '@ember/object';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { htmlSafe } from '@ember/template';\n\nimport { and, gt,or } from 'ember-truth-helpers';\nimport { range } from 'lodash-es';\n\nimport classNames from '../helpers/class-names.ts';\nimport { isEvenlyDivisibleBy } from '../utils/number/index.ts';\nimport { LEVEL_COLORS } from './eui-range-levels.gts';\nimport EuiRangeLevels from './eui-range-levels.gts';\nimport EuiRangeTicks from './eui-range-ticks.gts';\n\nimport type { EuiRangeLevel } from './eui-range-levels';\n\nexport { LEVEL_COLORS };\n\nexport interface EuiRangeTick {\n value: number;\n label: Component;\n}\n\ntype Value = number | string;\n\nexport type EuiRangeTrackArgs = {\n min: number;\n max: number;\n step?: number;\n value?: Value | Value[];\n compressed?: boolean;\n disabled?: boolean;\n showTicks?: boolean;\n tickInterval?: number;\n ticks?: EuiRangeTick[];\n onChange?: (e: MouseEvent) => void;\n levels?: EuiRangeLevel[];\n};\n\ntype Styling = {\n tickSequence?: number[];\n styles: ReturnType<typeof htmlSafe>;\n};\n\nexport interface EuiRangeTrackSignature {\n Element: HTMLElement;\n Args: EuiRangeTrackArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport default class EuiRangeTrackComponent extends Component<EuiRangeTrackSignature> {\n @tracked declare trackEl: HTMLElement;\n\n @action\n registerTrack(el: HTMLElement) {\n this.trackEl = el;\n }\n\n @action\n validateValueIsInStep(value: number): number {\n const { min, max, step } = this.args;\n\n if (value < min) {\n assert(\n `The value of ${value} is lower than the min value of ${min}.`,\n false\n );\n }\n\n if (value > max) {\n assert(\n `The value of ${value} is higher than the max value of ${max}.`,\n false\n );\n }\n\n // Error out if the value doesn't line up with the sequence of steps\n if (!isEvenlyDivisibleBy(value - min, step !== undefined ? step : 1)) {\n assert(\n `The value of ${value} is not included in the possible sequence provided by the step of ${step}.`,\n false\n );\n }\n\n // Return the value if nothing fails\n return value;\n }\n\n calculateSequence(\n min: EuiRangeTrackArgs['min'],\n max: EuiRangeTrackArgs['max'],\n interval?: EuiRangeTrackArgs['tickInterval']\n ): number[] {\n // Loop from min to max, creating adding values at each interval\n // (adds a very small number to the max since `range` is not inclusive of the max value)\n const toBeInclusive = 0.000000001;\n\n return range(min, max + toBeInclusive, interval);\n }\n\n calculateTicks(\n min: EuiRangeTrackArgs['min'],\n max: EuiRangeTrackArgs['max'],\n step?: EuiRangeTrackArgs['step'],\n tickInterval?: EuiRangeTrackArgs['tickInterval'],\n customTicks?: EuiRangeTick[]\n ): number[] {\n let ticks;\n\n if (customTicks) {\n // If custom values were passed, use those for the sequence\n // But make sure they align with the possible sequence\n ticks = customTicks.map((tick) => {\n return this.validateValueIsInStep(tick.value);\n });\n } else {\n // If a custom interval was passed, use those for the sequence\n // But make sure they align with the possible sequence\n const interval = tickInterval || step;\n const tickSequence = this.calculateSequence(min, max, interval);\n\n ticks = tickSequence.map((tick) => {\n return this.validateValueIsInStep(tick);\n });\n }\n\n // Error out if there are too many ticks to render\n if (ticks.length > 20) {\n assert(\n `The number of ticks to render is too high (${ticks.length}), increase the interval.`,\n true\n );\n }\n\n return ticks;\n }\n\n get derivedState(): Styling {\n let tickSequence;\n let styles = '';\n const { showTicks, min, max, step, tickInterval, ticks } = this.args;\n\n if (showTicks) {\n tickSequence = this.calculateTicks(min, max, step, tickInterval, ticks);\n\n // Calculate if any extra margin should be added to the inputWrapper\n // because of longer tick labels on the ends\n const lengthOfMinLabel = String(tickSequence[0]).length;\n const lenghtOfMaxLabel = String(\n tickSequence[tickSequence.length - 1]\n ).length;\n const isLastTickTheMax = tickSequence[tickSequence.length - 1] === max;\n\n if (lengthOfMinLabel > 2) {\n styles = `margin-left: ${lengthOfMinLabel / 5}em`;\n }\n\n if (isLastTickTheMax && lenghtOfMaxLabel > 2) {\n styles = `margin-right: ${lenghtOfMaxLabel / 5}em`;\n }\n }\n\n return {\n tickSequence,\n styles: htmlSafe(styles)\n };\n }\n\n <template>\n <div\n class={{classNames\n \"euiRangeTrack\"\n (if @disabled \"euiRangeTrack--disabled\")\n (if @showTicks \"euiRangeTrack--hasTicks\")\n (if (and @levels (gt @levels.length 0)) \"euiRangeTrack--hasLevels\")\n }}\n style={{if this.derivedState.styles this.derivedState.styles}}\n ...attributes\n {{didInsert (fn this.validateValueIsInStep @max)}}\n {{didInsert this.registerTrack}}\n {{didUpdate (fn this.validateValueIsInStep @max) @max}}\n {{didUpdate (fn this.validateValueIsInStep @max) @min}}\n {{didUpdate (fn this.validateValueIsInStep @max) @step}}\n >\n {{#if (gt @levels.length 0)}}\n <EuiRangeLevels\n @compressed={{@compressed}}\n @levels={{@levels}}\n @max={{@max}}\n @min={{@min}}\n @showTicks={{@showTicks}}\n @trackWidth={{this.trackEl.clientWidth}}\n />\n {{/if}}\n {{#if this.derivedState.tickSequence}}\n {{#if @ticks}}\n <EuiRangeTicks\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @ticks={{@ticks}}\n @tickSequence={{this.derivedState.tickSequence}}\n @value={{@value}}\n @min={{@min}}\n @max={{@max}}\n @interval={{or @tickInterval @step}}\n @onChange={{@onChange}}\n @trackWidth={{this.trackEl.clientWidth}}\n />\n {{/if}}\n {{/if}}\n {{yield}}\n </div>\n </template>\n}\n"],"names":["EuiRangeTrackComponent","Component","g","prototype","tracked","i","void 0","registerTrack","el","trackEl","n","action","validateValueIsInStep","value","min","max","step","args","assert","isEvenlyDivisibleBy","undefined","calculateSequence","interval","toBeInclusive","range","calculateTicks","tickInterval","customTicks","ticks","map","tick","tickSequence","length","derivedState","styles","showTicks","lengthOfMinLabel","String","lenghtOfMaxLabel","isLastTickTheMax","htmlSafe","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","and","gt","didInsert","fn","didUpdate","EuiRangeLevels","EuiRangeTicks","or"],"mappings":";;;;;;;;;;;;;;;;;;;AAwDe,MAAMA,+BAA+BC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CAC3DC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,MAAA;EAGDC,aAAcA,CAAAC,EAAe,EAAE;IAC7B,IAAI,CAACC,OAAO,GAAGD,EAAA;AACjB;AAAA,EAAA;IAAAE,CAAA,CAAA,IAAA,CAAAP,SAAA,EAAA,eAAA,EAAA,CAHCQ,MAAA,CAAA,CAAA;AAAA;EAMDC,qBAAAA,CAAsBC,KAAa,EAAU;IAC3C,MAAM;MAAEC,GAAG;MAAEC,GAAG;AAAEC,MAAAA;KAAM,GAAG,IAAI,CAACC,IAAI;IAEpC,IAAIJ,QAAQC,GAAK,EAAA;MACfI,MACE,CAAA,gBAAgBL,KAAA,CAAA,gCAAA,EAAwCC,GAAA,CAAM,CAAA,CAAA,EAC9D,KAAA,CAAA;AAEJ;IAEA,IAAID,QAAQE,GAAK,EAAA;MACfG,MACE,CAAA,gBAAgBL,KAAA,CAAA,iCAAA,EAAyCE,GAAA,CAAM,CAAA,CAAA,EAC/D,KAAA,CAAA;AAEJ;AAEA;AACA,IAAA,IAAI,CAACI,mBAAoB,CAAAN,KAAA,GAAQC,KAAKE,IAAS,KAAAI,SAAA,GAAYJ,OAAO,CAAI,CAAA,EAAA;MACpEE,MACE,CAAA,gBAAgBL,KAAA,CAAA,kEAAA,EAA0EG,IAAA,CAAO,CAAA,CAAA,EACjG,KAAA,CAAA;AAEJ;AAEA;AACA,IAAA,OAAOH,KAAA;AACT;AAAA,EAAA;IAAAH,CAAA,CAAA,IAAA,CAAAP,SAAA,EAAA,uBAAA,EAAA,CA5BCQ,MAAA,CAAA,CAAA;AAAA;AA8BDU,EAAAA,iBAAAA,CACEP,GAA6B,EAC7BC,GAA6B,EAC7BO,QAA4C,EAClC;AACV;AACA;IACA,MAAMC,aAAgB,GAAA,WAAA;IAEtB,OAAOC,KAAA,CAAMV,GAAK,EAAAC,GAAA,GAAMQ,aAAe,EAAAD,QAAA,CAAA;AACzC;EAEAG,cACEA,CAAAX,GAA6B,EAC7BC,GAA6B,EAC7BC,IAAgC,EAChCU,YAAgD,EAChDC,WAA4B,EAClB;AACV,IAAA,IAAIC,KAAA;AAEJ,IAAA,IAAID,WAAa,EAAA;AACf;AACA;AACAC,MAAAA,KAAQ,GAAAD,WAAA,CAAYE,GAAG,CAAEC,IAAA,IAAA;AACvB,QAAA,OAAO,IAAI,CAAClB,qBAAqB,CAACkB,KAAKjB,KAAK,CAAA;AAC9C,OAAA,CAAA;AACF,KAAO,MAAA;AACL;AACA;AACA,MAAA,MAAMS,WAAWI,YAAgB,IAAAV,IAAA;MACjC,MAAMe,eAAe,IAAI,CAACV,iBAAiB,CAACP,KAAKC,GAAK,EAAAO,QAAA,CAAA;AAEtDM,MAAAA,KAAQ,GAAAG,YAAA,CAAaF,GAAG,CAAEC,IAAA,IAAA;AACxB,QAAA,OAAO,IAAI,CAAClB,qBAAqB,CAACkB,IAAA,CAAA;AACpC,OAAA,CAAA;AACF;AAEA;AACA,IAAA,IAAIF,KAAA,CAAMI,MAAM,GAAG,EAAI,EAAA;MACrBd,MACE,CAAA,8CAA8CU,KAAA,CAAMI,MAAM,CAA2B,yBAAA,CAAA,EACrF,IAAA,CAAA;AAEJ;AAEA,IAAA,OAAOJ,KAAA;AACT;EAEA,IAAIK,eAAwB;AAC1B,IAAA,IAAIF,YAAA;IACJ,IAAIG,MAAS,GAAA,EAAA;IACb,MAAM;MAAEC,SAAS;MAAErB,GAAG;MAAEC,GAAG;MAAEC,IAAI;MAAEU,YAAY;AAAEE,MAAAA;KAAO,GAAG,IAAI,CAACX,IAAI;AAEpE,IAAA,IAAIkB,SAAW,EAAA;AACbJ,MAAAA,YAAA,GAAe,IAAI,CAACN,cAAc,CAACX,GAAK,EAAAC,GAAA,EAAKC,MAAMU,YAAc,EAAAE,KAAA,CAAA;AAEjE;AACA;MACA,MAAMQ,mBAAmBC,MAAO,CAAAN,YAAY,CAAC,CAAA,CAAE,EAAEC,MAAM;AACvD,MAAA,MAAMM,gBAAA,GAAmBD,OACvBN,YAAY,CAACA,aAAaC,MAAM,GAAG,CAAE,CAAA,CAAA,CACrCA,MAAM;MACR,MAAMO,mBAAmBR,YAAY,CAACA,aAAaC,MAAM,GAAG,EAAE,KAAKjB,GAAA;MAEnE,IAAIqB,mBAAmB,CAAG,EAAA;AACxBF,QAAAA,MAAA,GAAS,CAAA,aAAA,EAAgBE,gBAAmB,GAAA,CAAA,CAAK,EAAA,CAAA;AACnD;AAEA,MAAA,IAAIG,gBAAA,IAAoBD,mBAAmB,CAAG,EAAA;AAC5CJ,QAAAA,MAAA,GAAS,CAAA,cAAA,EAAiBI,gBAAmB,GAAA,CAAA,CAAK,EAAA,CAAA;AACpD;AACF;IAEA,OAAO;MACLP,YAAA;MACAG,MAAA,EAAQM,QAAS,CAAAN,MAAA;KACnB;AACF;AAEA,EAAA;IAAAO,oBAAA,CAAAC,kBAAA,CA4CA,yqCAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,UAAA;QAAAC,GAAA;QAAAC,EAAA;QAAAC,SAAA;QAAAC,EAAA;QAAAC,SAAA;wBAAAC,uBAAA;uBAAAC,sBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -5,7 +5,7 @@ import { on } from '@ember/modifier';
5
5
  import { action } from '@ember/object';
6
6
  import { guidFor } from '@ember/object/internals';
7
7
  import { later } from '@ember/runloop';
8
- import optional from 'ember-composable-helpers/helpers/optional';
8
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
9
9
  import { eq, not, and } from 'ember-truth-helpers';
10
10
  import argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.js';
11
11
  import castTo from '../helpers/cast-to.js';
@@ -27,51 +27,51 @@ class EuiRangeComponent extends Component {
27
27
  static {
28
28
  g(this.prototype, "min", [argOrDefaultDecorator(0)]);
29
29
  }
30
- #min = (i(this, "min"), undefined); // Defaults
30
+ #min = (i(this, "min"), void 0); // Defaults
31
31
  static {
32
32
  g(this.prototype, "max", [argOrDefaultDecorator(100)]);
33
33
  }
34
- #max = (i(this, "max"), undefined);
34
+ #max = (i(this, "max"), void 0);
35
35
  static {
36
36
  g(this.prototype, "step", [argOrDefaultDecorator(1)]);
37
37
  }
38
- #step = (i(this, "step"), undefined);
38
+ #step = (i(this, "step"), void 0);
39
39
  static {
40
40
  g(this.prototype, "fullWidth", [argOrDefaultDecorator(false)]);
41
41
  }
42
- #fullWidth = (i(this, "fullWidth"), undefined);
42
+ #fullWidth = (i(this, "fullWidth"), void 0);
43
43
  static {
44
44
  g(this.prototype, "compressed", [argOrDefaultDecorator(false)]);
45
45
  }
46
- #compressed = (i(this, "compressed"), undefined);
46
+ #compressed = (i(this, "compressed"), void 0);
47
47
  static {
48
48
  g(this.prototype, "isLoading", [argOrDefaultDecorator(false)]);
49
49
  }
50
- #isLoading = (i(this, "isLoading"), undefined);
50
+ #isLoading = (i(this, "isLoading"), void 0);
51
51
  static {
52
52
  g(this.prototype, "showLabels", [argOrDefaultDecorator(false)]);
53
53
  }
54
- #showLabels = (i(this, "showLabels"), undefined);
54
+ #showLabels = (i(this, "showLabels"), void 0);
55
55
  static {
56
56
  g(this.prototype, "showInput", [argOrDefaultDecorator(false)]);
57
57
  }
58
- #showInput = (i(this, "showInput"), undefined);
58
+ #showInput = (i(this, "showInput"), void 0);
59
59
  static {
60
60
  g(this.prototype, "showRange", [argOrDefaultDecorator(false)]);
61
61
  }
62
- #showRange = (i(this, "showRange"), undefined);
62
+ #showRange = (i(this, "showRange"), void 0);
63
63
  static {
64
64
  g(this.prototype, "showTicks", [argOrDefaultDecorator(false)]);
65
65
  }
66
- #showTicks = (i(this, "showTicks"), undefined);
66
+ #showTicks = (i(this, "showTicks"), void 0);
67
67
  static {
68
68
  g(this.prototype, "showValue", [argOrDefaultDecorator(false)]);
69
69
  }
70
- #showValue = (i(this, "showValue"), undefined);
70
+ #showValue = (i(this, "showValue"), void 0);
71
71
  static {
72
72
  g(this.prototype, "levels", [argOrDefaultDecorator([])]);
73
73
  }
74
- #levels = (i(this, "levels"), undefined);
74
+ #levels = (i(this, "levels"), void 0);
75
75
  preventPopoverClose = false;
76
76
  //State
77
77
  static {
@@ -79,13 +79,13 @@ class EuiRangeComponent extends Component {
79
79
  return this.args.id || guidFor({});
80
80
  });
81
81
  }
82
- #id = (i(this, "id"), undefined);
82
+ #id = (i(this, "id"), void 0);
83
83
  static {
84
84
  g(this.prototype, "isPopoverOpen", [tracked], function () {
85
85
  return false;
86
86
  });
87
87
  }
88
- #isPopoverOpen = (i(this, "isPopoverOpen"), undefined);
88
+ #isPopoverOpen = (i(this, "isPopoverOpen"), void 0);
89
89
  ///
90
90
  handleOnChange(e) {
91
91
  const isValid = isWithinRange(this.min, this.max, e.currentTarget.value);
@@ -1 +1 @@
1
- {"version":3,"file":"eui-range.js","sources":["../../src/components/eui-range.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { later } from '@ember/runloop';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport { and, eq, not } from 'ember-truth-helpers';\n\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport castTo from '../helpers/cast-to.ts';\nimport classNames from '../helpers/class-names.ts';\nimport { isWithinRange } from '../utils/number/index.ts';\nimport EuiInputPopover from './eui-input-popover.gts';\nimport EuiRangeHighlight from './eui-range-highlight.gts';\nimport EuiRangeInput from './eui-range-input.gts';\nimport EuiRangeLabel from './eui-range-label.gts';\nimport EuiRangeSlider from './eui-range-slider.gts';\nimport EuiRangeTooltip from './eui-range-tooltip.gts';\nimport EuiRangeTrack from './eui-range-track.gts';\nimport EuiRangeWrapper from './eui-range-wrapper.gts';\n\nimport type { EuiRangeLevel } from './eui-range-levels';\nimport type { EuiRangeTick } from './eui-range-ticks';\n\nexport interface EuiRangeArgs {\n compressed?: boolean;\n readOnly?: boolean;\n fullWidth?: boolean;\n id: string;\n /**\n * Create colored indicators for certain intervals\n */\n levels?: EuiRangeLevel[];\n step?: number;\n /**\n * Pass `true` to displays an extra input control for direct manipulation.\n * Pass `'inputWithPopover'` to only show the input but show the range in a dropdown.\n */\n showInput?: boolean | 'inputWithPopover';\n /**\n * Shows static min/max labels on the sides of the range slider\n */\n showLabels?: boolean;\n /**\n * Shows a thick line from min to value\n */\n showRange?: boolean;\n /**\n * Shows clickable tick marks and labels at the given interval (`step`/`tickInterval`)\n */\n showTicks?: boolean;\n\n min?: number;\n max?: number;\n /**\n * Shows a tooltip styled value\n */\n showValue?: boolean;\n /**\n * Specified ticks at specified values\n */\n ticks: EuiRangeTick[];\n /**\n * Modifies the number of tick marks and at what interval\n */\n tickInterval?: number;\n /**\n * Appends to the tooltip\n */\n valueAppend?: any;\n /**\n * Prepends to the tooltip\n */\n valuePrepend?: any;\n\n onChange?: (event: Event, isValid: boolean) => void;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n\n value?: number;\n\n disabled?: boolean;\n\n isPrependProvided?: boolean;\n isAppendProvided?: boolean;\n isFakeMaxBlock?: boolean;\n isFakeMinBlock?: boolean;\n isFakeValueBlock?: boolean;\n isFakeValueAppendBlock?: boolean;\n isFakeValuePrependBlock?: boolean;\n isInvalid?: boolean;\n name?: string;\n isLoading?: boolean;\n}\n\nexport interface EuiRangeSignature {\n Element: HTMLInputElement;\n Args: EuiRangeArgs;\n Blocks: {\n min: [min: number];\n max: [max: number];\n value: [];\n valueAppend: [];\n valuePrepend: [];\n prepend: [classes: string];\n append: [classes: string];\n input: [];\n content: [];\n };\n}\n\nexport default class EuiRangeComponent extends Component<EuiRangeSignature> {\n // Defaults\n @argOrDefaultDecorator(0) min!: number;\n @argOrDefaultDecorator(100) max!: number;\n @argOrDefaultDecorator(1) step!: number;\n @argOrDefaultDecorator(false) fullWidth!: boolean;\n @argOrDefaultDecorator(false) compressed!: boolean;\n @argOrDefaultDecorator(false) isLoading!: boolean;\n @argOrDefaultDecorator(false) showLabels!: boolean;\n @argOrDefaultDecorator(false) showInput!: boolean | string;\n @argOrDefaultDecorator(false) showRange!: boolean;\n @argOrDefaultDecorator(false) showTicks!: boolean;\n @argOrDefaultDecorator(false) showValue!: boolean;\n @argOrDefaultDecorator([]) levels!: EuiRangeLevel[];\n\n preventPopoverClose = false;\n\n //State\n @tracked id: string = this.args.id || guidFor({});\n @tracked isPopoverOpen = false;\n ///\n\n @action\n handleOnChange(e: Event): void {\n const isValid = isWithinRange(\n this.min,\n this.max,\n (e.currentTarget as HTMLInputElement).value\n );\n\n if (this.args.onChange) {\n this.args.onChange(e, isValid);\n }\n }\n\n get isValid(): boolean {\n return isWithinRange(this.min, this.max, this.args.value || '');\n }\n\n get digitTolerance(): number {\n return Math.max(String(this.min).length, String(this.max).length);\n }\n\n get showInputOnly(): boolean {\n return this.showInput === 'inputWithPopover';\n }\n\n get canShowDropdown(): boolean {\n return this.showInputOnly && !this.args.readOnly && !this.args.disabled;\n }\n\n get showRangeTooltip(): boolean {\n return (\n this.showValue &&\n !!String(this.args.value).length &&\n this.args.value !== undefined\n );\n }\n\n @action\n onInputFocus(e: Event): void {\n if (this.args.onFocus) {\n this.args.onFocus(e);\n }\n\n this.isPopoverOpen = true;\n }\n\n @action\n onInputBlur(e: Event): void {\n later(\n this,\n () => {\n // Safari does not recognize any focus-related eventing for input[type=range]\n // making it impossible to capture its state using active/focus/relatedTarget\n // Instead, a prevention flag is set on mousedown, with a waiting period here.\n // Mousedown is viable because in the popover case, it is inaccessible via keyboard (intentionally)\n if (this.preventPopoverClose) {\n this.preventPopoverClose = false;\n\n return;\n }\n\n if (this.args.onBlur) {\n this.args.onBlur(e);\n }\n\n this.closePopover();\n },\n 200\n );\n }\n\n @action\n setPreventPopover(val: boolean): void {\n this.preventPopoverClose = val;\n }\n\n @action\n closePopover(): void {\n this.preventPopoverClose = false;\n this.isPopoverOpen = false;\n }\n\n @action\n setPreventPopoverClose(bool: boolean): void {\n this.preventPopoverClose = bool;\n }\n\n <template>\n {{#let\n (and (argOrDefault @isPrependProvided true) (has-block \"prepend\"))\n (and (argOrDefault @isAppendProvided true) (has-block \"append\"))\n (and (not (argOrDefault @isFakeMaxBlock false)) (has-block \"max\"))\n (and (not (argOrDefault @isFakeMinBlock false)) (has-block \"min\"))\n (and (not (argOrDefault @isFakeValueBlock false)) (has-block \"value\"))\n (and\n (not (argOrDefault @isFakeValueAppendBlock false))\n (has-block \"valueAppend\")\n )\n (and\n (not (argOrDefault @isFakeValuePrependBlock false))\n (has-block \"valuePrepend\")\n )\n as |hasPrepend hasAppend hasMaxBlock hasMinBlock hasValueBlock hasValueAppendBlock hasValuePrependBlock|\n }}\n {{#if this.showInputOnly}}\n <EuiInputPopover\n class=\"euiRange__popover\"\n @fullWidth={{@fullWidth}}\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{this.closePopover}}\n @disableFocusTrap={{true}}\n >\n <:input>\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if this.canShowDropdown this.onInputFocus (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n </:input>\n <:content>\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{eq this.showInput true}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) true false}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly\n (fn this.setPreventPopoverClose true)\n (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown\n this.onInputFocus\n (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if\n this.canShowDropdown this.onInputBlur (optional @onBlur)\n )\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n </:content>\n </EuiInputPopover>\n {{else}}\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{eq this.showInput true}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) true false}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly (fn this.setPreventPopover true) (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown this.onInputFocus (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n {{/if}}\n {{/let}}\n </template>\n}\n"],"names":["EuiRangeComponent","Component","g","prototype","argOrDefaultDecorator","i","void 0","preventPopoverClose","tracked","args","id","guidFor","handleOnChange","e","isValid","isWithinRange","min","max","currentTarget","value","onChange","n","action","digitTolerance","Math","String","length","showInputOnly","showInput","canShowDropdown","readOnly","disabled","showRangeTooltip","showValue","undefined","onInputFocus","onFocus","isPopoverOpen","onInputBlur","later","onBlur","closePopover","setPreventPopover","val","setPreventPopoverClose","bool","setComponentTemplate","precompileTemplate","strictMode","scope","and","argOrDefault","not","EuiInputPopover","EuiRangeInput","on","optional","EuiRangeWrapper","classNames","EuiRangeLabel","EuiRangeTrack","eq","EuiRangeHighlight","castTo","EuiRangeSlider","fn","EuiRangeTooltip"],"mappings":"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"}
1
+ {"version":3,"file":"eui-range.js","sources":["../../src/components/eui-range.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { later } from '@ember/runloop';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, eq, not } from 'ember-truth-helpers';\n\nimport argOrDefault, {\n argOrDefaultDecorator\n} from '../helpers/arg-or-default.ts';\nimport castTo from '../helpers/cast-to.ts';\nimport classNames from '../helpers/class-names.ts';\nimport { isWithinRange } from '../utils/number/index.ts';\nimport EuiInputPopover from './eui-input-popover.gts';\nimport EuiRangeHighlight from './eui-range-highlight.gts';\nimport EuiRangeInput from './eui-range-input.gts';\nimport EuiRangeLabel from './eui-range-label.gts';\nimport EuiRangeSlider from './eui-range-slider.gts';\nimport EuiRangeTooltip from './eui-range-tooltip.gts';\nimport EuiRangeTrack from './eui-range-track.gts';\nimport EuiRangeWrapper from './eui-range-wrapper.gts';\n\nimport type { EuiRangeLevel } from './eui-range-levels';\nimport type { EuiRangeTick } from './eui-range-ticks';\n\nexport interface EuiRangeArgs {\n compressed?: boolean;\n readOnly?: boolean;\n fullWidth?: boolean;\n id: string;\n /**\n * Create colored indicators for certain intervals\n */\n levels?: EuiRangeLevel[];\n step?: number;\n /**\n * Pass `true` to displays an extra input control for direct manipulation.\n * Pass `'inputWithPopover'` to only show the input but show the range in a dropdown.\n */\n showInput?: boolean | 'inputWithPopover';\n /**\n * Shows static min/max labels on the sides of the range slider\n */\n showLabels?: boolean;\n /**\n * Shows a thick line from min to value\n */\n showRange?: boolean;\n /**\n * Shows clickable tick marks and labels at the given interval (`step`/`tickInterval`)\n */\n showTicks?: boolean;\n\n min?: number;\n max?: number;\n /**\n * Shows a tooltip styled value\n */\n showValue?: boolean;\n /**\n * Specified ticks at specified values\n */\n ticks: EuiRangeTick[];\n /**\n * Modifies the number of tick marks and at what interval\n */\n tickInterval?: number;\n /**\n * Appends to the tooltip\n */\n valueAppend?: any;\n /**\n * Prepends to the tooltip\n */\n valuePrepend?: any;\n\n onChange?: (event: Event, isValid: boolean) => void;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n\n value?: number;\n\n disabled?: boolean;\n\n isPrependProvided?: boolean;\n isAppendProvided?: boolean;\n isFakeMaxBlock?: boolean;\n isFakeMinBlock?: boolean;\n isFakeValueBlock?: boolean;\n isFakeValueAppendBlock?: boolean;\n isFakeValuePrependBlock?: boolean;\n isInvalid?: boolean;\n name?: string;\n isLoading?: boolean;\n}\n\nexport interface EuiRangeSignature {\n Element: HTMLInputElement;\n Args: EuiRangeArgs;\n Blocks: {\n min: [min: number];\n max: [max: number];\n value: [];\n valueAppend: [];\n valuePrepend: [];\n prepend: [classes: string];\n append: [classes: string];\n input: [];\n content: [];\n };\n}\n\nexport default class EuiRangeComponent extends Component<EuiRangeSignature> {\n // Defaults\n @argOrDefaultDecorator(0) min!: number;\n @argOrDefaultDecorator(100) max!: number;\n @argOrDefaultDecorator(1) step!: number;\n @argOrDefaultDecorator(false) fullWidth!: boolean;\n @argOrDefaultDecorator(false) compressed!: boolean;\n @argOrDefaultDecorator(false) isLoading!: boolean;\n @argOrDefaultDecorator(false) showLabels!: boolean;\n @argOrDefaultDecorator(false) showInput!: boolean | string;\n @argOrDefaultDecorator(false) showRange!: boolean;\n @argOrDefaultDecorator(false) showTicks!: boolean;\n @argOrDefaultDecorator(false) showValue!: boolean;\n @argOrDefaultDecorator([]) levels!: EuiRangeLevel[];\n\n preventPopoverClose = false;\n\n //State\n @tracked id: string = this.args.id || guidFor({});\n @tracked isPopoverOpen = false;\n ///\n\n @action\n handleOnChange(e: Event): void {\n const isValid = isWithinRange(\n this.min,\n this.max,\n (e.currentTarget as HTMLInputElement).value\n );\n\n if (this.args.onChange) {\n this.args.onChange(e, isValid);\n }\n }\n\n get isValid(): boolean {\n return isWithinRange(this.min, this.max, this.args.value || '');\n }\n\n get digitTolerance(): number {\n return Math.max(String(this.min).length, String(this.max).length);\n }\n\n get showInputOnly(): boolean {\n return this.showInput === 'inputWithPopover';\n }\n\n get canShowDropdown(): boolean {\n return this.showInputOnly && !this.args.readOnly && !this.args.disabled;\n }\n\n get showRangeTooltip(): boolean {\n return (\n this.showValue &&\n !!String(this.args.value).length &&\n this.args.value !== undefined\n );\n }\n\n @action\n onInputFocus(e: Event): void {\n if (this.args.onFocus) {\n this.args.onFocus(e);\n }\n\n this.isPopoverOpen = true;\n }\n\n @action\n onInputBlur(e: Event): void {\n later(\n this,\n () => {\n // Safari does not recognize any focus-related eventing for input[type=range]\n // making it impossible to capture its state using active/focus/relatedTarget\n // Instead, a prevention flag is set on mousedown, with a waiting period here.\n // Mousedown is viable because in the popover case, it is inaccessible via keyboard (intentionally)\n if (this.preventPopoverClose) {\n this.preventPopoverClose = false;\n\n return;\n }\n\n if (this.args.onBlur) {\n this.args.onBlur(e);\n }\n\n this.closePopover();\n },\n 200\n );\n }\n\n @action\n setPreventPopover(val: boolean): void {\n this.preventPopoverClose = val;\n }\n\n @action\n closePopover(): void {\n this.preventPopoverClose = false;\n this.isPopoverOpen = false;\n }\n\n @action\n setPreventPopoverClose(bool: boolean): void {\n this.preventPopoverClose = bool;\n }\n\n <template>\n {{#let\n (and (argOrDefault @isPrependProvided true) (has-block \"prepend\"))\n (and (argOrDefault @isAppendProvided true) (has-block \"append\"))\n (and (not (argOrDefault @isFakeMaxBlock false)) (has-block \"max\"))\n (and (not (argOrDefault @isFakeMinBlock false)) (has-block \"min\"))\n (and (not (argOrDefault @isFakeValueBlock false)) (has-block \"value\"))\n (and\n (not (argOrDefault @isFakeValueAppendBlock false))\n (has-block \"valueAppend\")\n )\n (and\n (not (argOrDefault @isFakeValuePrependBlock false))\n (has-block \"valuePrepend\")\n )\n as |hasPrepend hasAppend hasMaxBlock hasMinBlock hasValueBlock hasValueAppendBlock hasValuePrependBlock|\n }}\n {{#if this.showInputOnly}}\n <EuiInputPopover\n class=\"euiRange__popover\"\n @fullWidth={{@fullWidth}}\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{this.closePopover}}\n @disableFocusTrap={{true}}\n >\n <:input>\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if this.canShowDropdown this.onInputFocus (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n </:input>\n <:content>\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{eq this.showInput true}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) true false}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly\n (fn this.setPreventPopoverClose true)\n (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown\n this.onInputFocus\n (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if\n this.canShowDropdown this.onInputBlur (optional @onBlur)\n )\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n </:content>\n </EuiInputPopover>\n {{else}}\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{eq this.showInput true}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) true false}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly (fn this.setPreventPopover true) (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown this.onInputFocus (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n {{/if}}\n {{/let}}\n </template>\n}\n"],"names":["EuiRangeComponent","Component","g","prototype","argOrDefaultDecorator","i","void 0","preventPopoverClose","tracked","args","id","guidFor","handleOnChange","e","isValid","isWithinRange","min","max","currentTarget","value","onChange","n","action","digitTolerance","Math","String","length","showInputOnly","showInput","canShowDropdown","readOnly","disabled","showRangeTooltip","showValue","undefined","onInputFocus","onFocus","isPopoverOpen","onInputBlur","later","onBlur","closePopover","setPreventPopover","val","setPreventPopoverClose","bool","setComponentTemplate","precompileTemplate","strictMode","scope","and","argOrDefault","not","EuiInputPopover","EuiRangeInput","on","optional","EuiRangeWrapper","classNames","EuiRangeLabel","EuiRangeTrack","eq","EuiRangeHighlight","castTo","EuiRangeSlider","fn","EuiRangeTooltip"],"mappings":"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"}
@@ -1,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 { eq, or, not, and } from 'ember-truth-helpers';
4
4
  import randomId from '../-private/random-id.js';
5
5
  import EuiFormControlLayout from './eui-form-control-layout.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-select.js","sources":["../../src/components/eui-select.gts"],"sourcesContent":["import didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiFormControlLayout from '../components/eui-form-control-layout.gts';\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 { EuiFormControlLayoutSignature } from '../components/eui-form-control-layout';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiSelectSignature {\n Element: HTMLSelectElement;\n Args: {\n id?: string;\n options: {\n value: string | number;\n text: string | number;\n disabled?: boolean;\n }[];\n value?: string | number;\n fullWidth?: boolean;\n compressed?: boolean;\n isLoading?: boolean;\n disabled?: boolean;\n hasNoInitialSelection?: boolean;\n isInvalid?: boolean;\n clear?: (v: any) => void;\n inputRef?: (element: HTMLSelectElement) => void;\n isFakePrependBlock?: boolean;\n isFakeAppendBlock?: boolean;\n };\n Blocks: {\n prepend: [...EuiFormControlLayoutSignature['Blocks']['prepend'], string];\n append: [...EuiFormControlLayoutSignature['Blocks']['append'], string];\n };\n}\n\nconst EuiSelect: TemplateOnlyComponent<EuiSelectSignature> = <template>\n {{#let\n (and (not (argOrDefault @isFakePrependBlock false)) (has-block \"prepend\"))\n (and (not (argOrDefault @isFakeAppendBlock false)) (has-block \"append\"))\n (argOrDefault @id (randomId))\n as |hasPrepend hasAppend inputId|\n }}\n {{#let\n (classNames\n (if @fullWidth \"euiSelect--fullWidth\")\n (if @compressed \"euiSelect--compressed\")\n (if (or hasPrepend hasAppend) \"euiSelect--inGroup\")\n (if @isLoading \"euiSelect--isLoading\")\n \"euiSelect\"\n )\n (argOrDefault @hasNoInitialSelection false)\n as |classes hasNoInitialSelection|\n }}\n\n <EuiFormControlLayout\n @clear={{@clear}}\n @icon=\"arrowDown\"\n @iconSide=\"right\"\n @fullWidth={{@fullWidth}}\n @isLoading={{@isLoading}}\n @compressed={{@compressed}}\n @disabled={{@disabled}}\n @useGroup={{or hasPrepend hasAppend}}\n >\n <:prepend as |prependClasses|>\n {{yield prependClasses inputId to=\"prepend\"}}\n </:prepend>\n <:field>\n <select\n id={{inputId}}\n class={{classes}}\n disabled={{@disabled}}\n {{validatableControl @isInvalid}}\n {{didInsert (optional @inputRef)}}\n ...attributes\n >\n {{#if hasNoInitialSelection}}\n {{! template-lint-disable}}\n <option\n value=\"\"\n disabled\n hidden\n style=\"display: none\"\n selected={{not @value}}\n ></option>\n {{! template-lint-enable}}\n {{/if}}\n {{#each @options as |opt|}}\n <option\n value={{opt.value}}\n selected={{eq @value opt.value}}\n disabled={{eq opt.disabled true}}\n >\n {{opt.text}}\n </option>\n {{/each}}\n </select>\n </:field>\n <:append as |appendClasses|>\n {{yield appendClasses inputId to=\"append\"}}\n </:append>\n </EuiFormControlLayout>\n {{/let}}\n {{/let}}\n</template>;\n\nexport default EuiSelect;\n"],"names":["EuiSelect","setComponentTemplate","precompileTemplate","strictMode","scope","and","not","argOrDefault","randomId","classNames","or","EuiFormControlLayout","validatableControl","didInsert","optional","eq","templateOnly"],"mappings":";;;;;;;;;;;;AAyCA,MAAMA,SAAuD,GAAAC,oBAAA,CAAAC,kBAAA,CAqE7D,kuDAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,oBAAA;IAAAC,kBAAA;IAAAC,SAAA;IAAAC,QAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-select.js","sources":["../../src/components/eui-select.gts"],"sourcesContent":["import didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiFormControlLayout from '../components/eui-form-control-layout.gts';\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 { EuiFormControlLayoutSignature } from '../components/eui-form-control-layout';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiSelectSignature {\n Element: HTMLSelectElement;\n Args: {\n id?: string;\n options: {\n value: string | number;\n text: string | number;\n disabled?: boolean;\n }[];\n value?: string | number;\n fullWidth?: boolean;\n compressed?: boolean;\n isLoading?: boolean;\n disabled?: boolean;\n hasNoInitialSelection?: boolean;\n isInvalid?: boolean;\n clear?: (v: any) => void;\n inputRef?: (element: HTMLSelectElement) => void;\n isFakePrependBlock?: boolean;\n isFakeAppendBlock?: boolean;\n };\n Blocks: {\n prepend: [...EuiFormControlLayoutSignature['Blocks']['prepend'], string];\n append: [...EuiFormControlLayoutSignature['Blocks']['append'], string];\n };\n}\n\nconst EuiSelect: TemplateOnlyComponent<EuiSelectSignature> = <template>\n {{#let\n (and (not (argOrDefault @isFakePrependBlock false)) (has-block \"prepend\"))\n (and (not (argOrDefault @isFakeAppendBlock false)) (has-block \"append\"))\n (argOrDefault @id (randomId))\n as |hasPrepend hasAppend inputId|\n }}\n {{#let\n (classNames\n (if @fullWidth \"euiSelect--fullWidth\")\n (if @compressed \"euiSelect--compressed\")\n (if (or hasPrepend hasAppend) \"euiSelect--inGroup\")\n (if @isLoading \"euiSelect--isLoading\")\n \"euiSelect\"\n )\n (argOrDefault @hasNoInitialSelection false)\n as |classes hasNoInitialSelection|\n }}\n\n <EuiFormControlLayout\n @clear={{@clear}}\n @icon=\"arrowDown\"\n @iconSide=\"right\"\n @fullWidth={{@fullWidth}}\n @isLoading={{@isLoading}}\n @compressed={{@compressed}}\n @disabled={{@disabled}}\n @useGroup={{or hasPrepend hasAppend}}\n >\n <:prepend as |prependClasses|>\n {{yield prependClasses inputId to=\"prepend\"}}\n </:prepend>\n <:field>\n <select\n id={{inputId}}\n class={{classes}}\n disabled={{@disabled}}\n {{validatableControl @isInvalid}}\n {{didInsert (optional @inputRef)}}\n ...attributes\n >\n {{#if hasNoInitialSelection}}\n {{! template-lint-disable}}\n <option\n value=\"\"\n disabled\n hidden\n style=\"display: none\"\n selected={{not @value}}\n ></option>\n {{! template-lint-enable}}\n {{/if}}\n {{#each @options as |opt|}}\n <option\n value={{opt.value}}\n selected={{eq @value opt.value}}\n disabled={{eq opt.disabled true}}\n >\n {{opt.text}}\n </option>\n {{/each}}\n </select>\n </:field>\n <:append as |appendClasses|>\n {{yield appendClasses inputId to=\"append\"}}\n </:append>\n </EuiFormControlLayout>\n {{/let}}\n {{/let}}\n</template>;\n\nexport default EuiSelect;\n"],"names":["EuiSelect","setComponentTemplate","precompileTemplate","strictMode","scope","and","not","argOrDefault","randomId","classNames","or","EuiFormControlLayout","validatableControl","didInsert","optional","eq","templateOnly"],"mappings":";;;;;;;;;;;;AAyCA,MAAMA,SAAuD,GAAAC,oBAAA,CAAAC,kBAAA,CAqE7D,kuDAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,oBAAA;IAAAC,kBAAA;IAAAC,SAAA;IAAAC,QAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -13,7 +13,7 @@ class CurrentBreakPointHelper extends Helper {
13
13
  static {
14
14
  g(this.prototype, "currentBreakpoint", [tracked]);
15
15
  }
16
- #currentBreakpoint = (i(this, "currentBreakpoint"), undefined);
16
+ #currentBreakpoint = (i(this, "currentBreakpoint"), void 0);
17
17
  functionToCallOnWindowResize;
18
18
  compute([sizes]) {
19
19
  this.currentBreakpoint = getBreakpoint(typeof window === 'undefined' ? -Infinity : window.innerWidth);
@@ -1 +1 @@
1
- {"version":3,"file":"eui-show-for.js","sources":["../../src/components/eui-show-for.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n//@ts-ignore\nimport { getValue } from '@glimmer/tracking/primitives/cache';\nimport Helper from '@ember/component/helper';\n//@ts-ignore\nimport { invokeHelper } from '@ember/helper';\nimport { throttle } from '@ember/runloop';\n\nimport { getBreakpoint } from '../utils/breakpoint.ts';\n\nimport type { EuiBreakpointSize } from '../utils/breakpoint.ts';\n\nexport class CurrentBreakPointHelper extends Helper {\n @tracked currentBreakpoint: string | undefined;\n functionToCallOnWindowResize: undefined | (() => void);\n\n compute([sizes]: [EuiHideForBreakpoints[] | 'all' | 'none']) {\n this.currentBreakpoint = getBreakpoint(\n typeof window === 'undefined' ? -Infinity : window.innerWidth\n );\n\n this.setupListeners();\n\n return (\n sizes === 'all' ||\n sizes.includes(this.currentBreakpoint as EuiBreakpointSize)\n );\n }\n\n willDestroy(): void {\n super.willDestroy();\n this.teardown();\n }\n\n setupListeners() {\n this.functionToCallOnWindowResize = () => {\n const fn = () => {\n const newBreakpoint = getBreakpoint(window.innerWidth);\n\n if (newBreakpoint !== this.currentBreakpoint) {\n this.currentBreakpoint = newBreakpoint;\n }\n };\n\n throttle(this, fn, 50);\n };\n\n window.addEventListener('resize', this.functionToCallOnWindowResize);\n }\n\n teardown() {\n if (typeof this.functionToCallOnWindowResize === 'function') {\n window.removeEventListener('resize', this.functionToCallOnWindowResize);\n this.functionToCallOnWindowResize = undefined;\n }\n }\n}\n\nexport type EuiHideForBreakpoints = EuiBreakpointSize;\n\nexport interface EuiShowForArgs {\n /**\n * List of all the responsive sizes to hide the children for.\n * Array of #EuiBreakpointSize\n */\n sizes: EuiHideForBreakpoints[] | 'all' | 'none';\n}\n\nexport interface EuiShowForSignature {\n Args: EuiShowForArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport default class EuiShowForComponent extends Component<EuiShowForSignature> {\n currentBreakpointHelper: any = invokeHelper(this, CurrentBreakPointHelper, () => {\n return {\n positional: [this.args.sizes]\n };\n });\n\n get shouldShow() {\n return getValue(this.currentBreakpointHelper);\n }\n\n <template>\n {{#if this.shouldShow}}\n {{yield}}\n {{/if}}\n </template>\n}\n"],"names":["CurrentBreakPointHelper","Helper","g","prototype","tracked","i","void 0","functionToCallOnWindowResize","compute","sizes","currentBreakpoint","getBreakpoint","window","Infinity","innerWidth","setupListeners","includes","willDestroy","teardown","fn","newBreakpoint","throttle","addEventListener","removeEventListener","undefined","EuiShowForComponent","Component","currentBreakpointHelper","invokeHelper","positional","args","shouldShow","getValue","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;;;;;;;AAaO,MAAMA,uBAAgC,SAAAC,MAAA,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,mBAAA,EAAA,CAC1CC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,kBAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,mBAAA,CAAA,EAAAC,SAAA;EACDC,4BAA8B;AAE9BC,EAAAA,OAAAA,CAAQ,CAACC,KAAA,CAAkD,EAAE;AAC3D,IAAA,IAAI,CAACC,iBAAiB,GAAGC,aACvB,CAAA,OAAOC,WAAW,WAAc,GAAA,CAACC,QAAW,GAAAD,MAAA,CAAOE,UAAU,CAAA;IAG/D,IAAI,CAACC,cAAc,EAAA;IAEnB,OACEN,KAAU,KAAA,KAAA,IACVA,KAAM,CAAAO,QAAQ,CAAC,IAAI,CAACN,iBACtB,CAAA;AACF;AAEAO,EAAAA,WAAAA,GAAoB;IAClB,KAAK,CAACA,WAAA,EAAA;IACN,IAAI,CAACC,QAAQ,EAAA;AACf;AAEAH,EAAAA,cAAiBA,GAAA;IACf,IAAI,CAACR,4BAA4B,GAAG,MAAA;MAClC,MAAMY,EAAK,GAAAA,MAAA;AACT,QAAA,MAAMC,aAAA,GAAgBT,aAAc,CAAAC,MAAA,CAAOE,UAAU,CAAA;AAErD,QAAA,IAAIM,aAAkB,KAAA,IAAI,CAACV,iBAAiB,EAAE;UAC5C,IAAI,CAACA,iBAAiB,GAAGU,aAAA;AAC3B;OACF;AAEAC,MAAAA,QAAS,CAAA,IAAI,EAAEF,EAAI,EAAA,EAAA,CAAA;KACrB;IAEAP,MAAA,CAAOU,gBAAgB,CAAC,QAAU,EAAA,IAAI,CAACf,4BAA4B,CAAA;AACrE;AAEAW,EAAAA,QAAWA,GAAA;AACT,IAAA,IAAI,OAAO,IAAI,CAACX,4BAA4B,KAAK,UAAY,EAAA;MAC3DK,MAAA,CAAOW,mBAAmB,CAAC,QAAU,EAAA,IAAI,CAAChB,4BAA4B,CAAA;MACtE,IAAI,CAACA,4BAA4B,GAAGiB,SAAA;AACtC;AACF;AACF;AAmBe,MAAMC,4BAA4BC,SAAU,CAAA;AACzDC,EAAAA,uBAAA,GAA+BC,YAAa,CAAA,IAAI,EAAE5B,uBAAyB,EAAA,MAAA;IACzE,OAAO;AACL6B,MAAAA,UAAY,EAAA,CAAC,IAAI,CAACC,IAAI,CAACrB,KAAK;KAC9B;AACF,GAAG,CAAA;EAEH,IAAIsB,UAAaA,GAAA;AACf,IAAA,OAAOC,QAAA,CAAS,IAAI,CAACL,uBAAuB,CAAA;AAC9C;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAIA,iEAAA,EAAA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"eui-show-for.js","sources":["../../src/components/eui-show-for.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n//@ts-ignore\nimport { getValue } from '@glimmer/tracking/primitives/cache';\nimport Helper from '@ember/component/helper';\n//@ts-ignore\nimport { invokeHelper } from '@ember/helper';\nimport { throttle } from '@ember/runloop';\n\nimport { getBreakpoint } from '../utils/breakpoint.ts';\n\nimport type { EuiBreakpointSize } from '../utils/breakpoint.ts';\n\nexport class CurrentBreakPointHelper extends Helper {\n @tracked currentBreakpoint: string | undefined;\n functionToCallOnWindowResize: undefined | (() => void);\n\n compute([sizes]: [EuiHideForBreakpoints[] | 'all' | 'none']) {\n this.currentBreakpoint = getBreakpoint(\n typeof window === 'undefined' ? -Infinity : window.innerWidth\n );\n\n this.setupListeners();\n\n return (\n sizes === 'all' ||\n sizes.includes(this.currentBreakpoint as EuiBreakpointSize)\n );\n }\n\n willDestroy(): void {\n super.willDestroy();\n this.teardown();\n }\n\n setupListeners() {\n this.functionToCallOnWindowResize = () => {\n const fn = () => {\n const newBreakpoint = getBreakpoint(window.innerWidth);\n\n if (newBreakpoint !== this.currentBreakpoint) {\n this.currentBreakpoint = newBreakpoint;\n }\n };\n\n throttle(this, fn, 50);\n };\n\n window.addEventListener('resize', this.functionToCallOnWindowResize);\n }\n\n teardown() {\n if (typeof this.functionToCallOnWindowResize === 'function') {\n window.removeEventListener('resize', this.functionToCallOnWindowResize);\n this.functionToCallOnWindowResize = undefined;\n }\n }\n}\n\nexport type EuiHideForBreakpoints = EuiBreakpointSize;\n\nexport interface EuiShowForArgs {\n /**\n * List of all the responsive sizes to hide the children for.\n * Array of #EuiBreakpointSize\n */\n sizes: EuiHideForBreakpoints[] | 'all' | 'none';\n}\n\nexport interface EuiShowForSignature {\n Args: EuiShowForArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport default class EuiShowForComponent extends Component<EuiShowForSignature> {\n currentBreakpointHelper: any = invokeHelper(this, CurrentBreakPointHelper, () => {\n return {\n positional: [this.args.sizes]\n };\n });\n\n get shouldShow() {\n return getValue(this.currentBreakpointHelper);\n }\n\n <template>\n {{#if this.shouldShow}}\n {{yield}}\n {{/if}}\n </template>\n}\n"],"names":["CurrentBreakPointHelper","Helper","g","prototype","tracked","i","void 0","functionToCallOnWindowResize","compute","sizes","currentBreakpoint","getBreakpoint","window","Infinity","innerWidth","setupListeners","includes","willDestroy","teardown","fn","newBreakpoint","throttle","addEventListener","removeEventListener","undefined","EuiShowForComponent","Component","currentBreakpointHelper","invokeHelper","positional","args","shouldShow","getValue","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;;;;;;;AAaO,MAAMA,uBAAgC,SAAAC,MAAA,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,mBAAA,EAAA,CAC1CC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,kBAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,mBAAA,CAAA,EAAAC,MAAA;EACDC,4BAA8B;AAE9BC,EAAAA,OAAAA,CAAQ,CAACC,KAAA,CAAkD,EAAE;AAC3D,IAAA,IAAI,CAACC,iBAAiB,GAAGC,aACvB,CAAA,OAAOC,WAAW,WAAc,GAAA,CAACC,QAAW,GAAAD,MAAA,CAAOE,UAAU,CAAA;IAG/D,IAAI,CAACC,cAAc,EAAA;IAEnB,OACEN,KAAU,KAAA,KAAA,IACVA,KAAM,CAAAO,QAAQ,CAAC,IAAI,CAACN,iBACtB,CAAA;AACF;AAEAO,EAAAA,WAAAA,GAAoB;IAClB,KAAK,CAACA,WAAA,EAAA;IACN,IAAI,CAACC,QAAQ,EAAA;AACf;AAEAH,EAAAA,cAAiBA,GAAA;IACf,IAAI,CAACR,4BAA4B,GAAG,MAAA;MAClC,MAAMY,EAAK,GAAAA,MAAA;AACT,QAAA,MAAMC,aAAA,GAAgBT,aAAc,CAAAC,MAAA,CAAOE,UAAU,CAAA;AAErD,QAAA,IAAIM,aAAkB,KAAA,IAAI,CAACV,iBAAiB,EAAE;UAC5C,IAAI,CAACA,iBAAiB,GAAGU,aAAA;AAC3B;OACF;AAEAC,MAAAA,QAAS,CAAA,IAAI,EAAEF,EAAI,EAAA,EAAA,CAAA;KACrB;IAEAP,MAAA,CAAOU,gBAAgB,CAAC,QAAU,EAAA,IAAI,CAACf,4BAA4B,CAAA;AACrE;AAEAW,EAAAA,QAAWA,GAAA;AACT,IAAA,IAAI,OAAO,IAAI,CAACX,4BAA4B,KAAK,UAAY,EAAA;MAC3DK,MAAA,CAAOW,mBAAmB,CAAC,QAAU,EAAA,IAAI,CAAChB,4BAA4B,CAAA;MACtE,IAAI,CAACA,4BAA4B,GAAGiB,SAAA;AACtC;AACF;AACF;AAmBe,MAAMC,4BAA4BC,SAAU,CAAA;AACzDC,EAAAA,uBAAA,GAA+BC,YAAa,CAAA,IAAI,EAAE5B,uBAAyB,EAAA,MAAA;IACzE,OAAO;AACL6B,MAAAA,UAAY,EAAA,CAAC,IAAI,CAACC,IAAI,CAACrB,KAAK;KAC9B;AACF,GAAG,CAAA;EAEH,IAAIsB,UAAaA,GAAA;AACf,IAAA,OAAOC,QAAA,CAAS,IAAI,CAACL,uBAAuB,CAAA;AAC9C;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAIA,iEAAA,EAAA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { on } from '@ember/modifier';
2
- import optional from 'ember-composable-helpers/helpers/optional';
2
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
3
3
  import add from 'ember-math-helpers/helpers/add';
4
4
  import { not, or, gt, and, eq } from 'ember-truth-helpers';
5
5
  import EuiSideNavItemButton from './eui-side-nav-item/button.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-side-nav-item.js","sources":["../../src/components/eui-side-nav-item.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport add from 'ember-math-helpers/helpers/add';\nimport { and,eq, gt, not, or } from 'ember-truth-helpers';\n\nimport Button from '../components/eui-side-nav-item/button.gts';\nimport classNames from '../helpers/class-names.ts';\nimport isItemOpen from '../helpers/is-item-open.ts';\n\nimport type { Item } from './eui-side-nav';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiSideNavItemSignature {\n Args: {\n selectedItem?: string;\n isOpen?: boolean;\n isSelected?: boolean;\n isParent?: boolean;\n icon?: string;\n onClick?: () => void;\n href?: string;\n className?: string;\n rel?: string;\n target?: string;\n items?: Item[];\n depth?: number;\n name?: string;\n renderItem?: unknown;\n disabled?: boolean;\n truncate?: boolean;\n emphasize?: boolean;\n buttonClassName?: string;\n childrenOnly?: boolean;\n buttonIconClasses?: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiSideNavItem: TemplateOnlyComponent<EuiSideNavItemSignature> =\n <template>\n <div\n class={{classNames\n \"euiSideNavItem\"\n (if (eq @depth 1) \"euiSideNavItem--trunk\")\n (if (eq @depth 0) \"euiSideNavItem--root\")\n (if (and (eq @depth 0) @icon) \"euiSideNavItem--rootIcon\")\n (if (gt @depth 1) \"euiSideNavItem--branch\")\n (if @items.length \"euiSideNavItem--hasChildItems\")\n (if @emphasize \"euiSideNavItem--emphasized\")\n }}\n >\n {{#let\n (classNames\n \"euiSideNavItemButton\"\n (if (or @onClick @href) \"euiSideNavItemButton--isClickable\")\n (if\n (and (gt @depth 0) @isOpen (not @isSelected))\n \"euiSideNavItemButton-isOpen\"\n )\n (if @isSelected \"euiSideNavItemButton-isSelected\")\n @buttonClassName\n )\n (and (gt @depth 0) @isParent (not @isOpen) (not @isSelected))\n as |className caret|\n }}\n {{#if (and @href (not @disabled))}}\n <a\n class={{className}}\n href={{@href}}\n target={{@target}}\n rel={{@rel}}\n {{on \"click\" (optional @onClick)}}\n >\n <Button\n @icon={{@icon}}\n @buttonIconClasses={{@buttonIconClasses}}\n @caret={{caret}}\n >\n {{yield}}\n </Button>\n </a>\n {{else if (or @onClick @disabled)}}\n <button\n type=\"button\"\n class={{className}}\n disabled={{@disabled}}\n {{on \"click\" (optional @onClick)}}\n >\n <Button\n @icon={{@icon}}\n @truncate={{@truncate}}\n @buttonIconClasses={{@buttonIconClasses}}\n @caret={{caret}}\n >\n {{yield}}\n </Button>\n </button>\n {{else}}\n <div class={{className}}>\n <Button\n @icon={{@icon}}\n @truncate={{@truncate}}\n @buttonIconClasses={{@buttonIconClasses}}\n @caret={{caret}}\n >\n {{yield}}\n </Button>\n </div>\n {{/if}}\n {{/let}}\n {{#if (or (eq @depth 0) (and @items.length @isOpen))}}\n <div class=\"euiSideNavItem__items\">\n {{#each @items as |item|}}\n {{#let\n (and\n (gt @depth 0)\n (not item.onClick)\n (not item.href)\n (not (not item.items))\n )\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id @selectedItem)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{add @depth 1}}\n @name={{item.name}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n {{/if}}\n </div>\n </template>;\n\nexport default EuiSideNavItem;\n"],"names":["EuiSideNavItem","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","and","gt","or","not","on","optional","Button","isItemOpen","add","templateOnly"],"mappings":";;;;;;;;;;;AAyCA,MAAMA,cACJ,GAAAC,oBAAA,CAAAC,kBAAA,CAkHA,inFAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,QAAA;YAAAC,oBAAA;IAAAb,cAAA;IAAAc,UAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-side-nav-item.js","sources":["../../src/components/eui-side-nav-item.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport add from 'ember-math-helpers/helpers/add';\nimport { and, eq, gt, not, or } from 'ember-truth-helpers';\n\nimport Button from '../components/eui-side-nav-item/button.gts';\nimport classNames from '../helpers/class-names.ts';\nimport isItemOpen from '../helpers/is-item-open.ts';\n\nimport type { Item } from './eui-side-nav';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiSideNavItemSignature {\n Args: {\n selectedItem?: string;\n isOpen?: boolean;\n isSelected?: boolean;\n isParent?: boolean;\n icon?: string;\n onClick?: () => void;\n href?: string;\n className?: string;\n rel?: string;\n target?: string;\n items?: Item[];\n depth?: number;\n name?: string;\n renderItem?: unknown;\n disabled?: boolean;\n truncate?: boolean;\n emphasize?: boolean;\n buttonClassName?: string;\n childrenOnly?: boolean;\n buttonIconClasses?: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiSideNavItem: TemplateOnlyComponent<EuiSideNavItemSignature> =\n <template>\n <div\n class={{classNames\n \"euiSideNavItem\"\n (if (eq @depth 1) \"euiSideNavItem--trunk\")\n (if (eq @depth 0) \"euiSideNavItem--root\")\n (if (and (eq @depth 0) @icon) \"euiSideNavItem--rootIcon\")\n (if (gt @depth 1) \"euiSideNavItem--branch\")\n (if @items.length \"euiSideNavItem--hasChildItems\")\n (if @emphasize \"euiSideNavItem--emphasized\")\n }}\n >\n {{#let\n (classNames\n \"euiSideNavItemButton\"\n (if (or @onClick @href) \"euiSideNavItemButton--isClickable\")\n (if\n (and (gt @depth 0) @isOpen (not @isSelected))\n \"euiSideNavItemButton-isOpen\"\n )\n (if @isSelected \"euiSideNavItemButton-isSelected\")\n @buttonClassName\n )\n (and (gt @depth 0) @isParent (not @isOpen) (not @isSelected))\n as |className caret|\n }}\n {{#if (and @href (not @disabled))}}\n <a\n class={{className}}\n href={{@href}}\n target={{@target}}\n rel={{@rel}}\n {{on \"click\" (optional @onClick)}}\n >\n <Button\n @icon={{@icon}}\n @buttonIconClasses={{@buttonIconClasses}}\n @caret={{caret}}\n >\n {{yield}}\n </Button>\n </a>\n {{else if (or @onClick @disabled)}}\n <button\n type=\"button\"\n class={{className}}\n disabled={{@disabled}}\n {{on \"click\" (optional @onClick)}}\n >\n <Button\n @icon={{@icon}}\n @truncate={{@truncate}}\n @buttonIconClasses={{@buttonIconClasses}}\n @caret={{caret}}\n >\n {{yield}}\n </Button>\n </button>\n {{else}}\n <div class={{className}}>\n <Button\n @icon={{@icon}}\n @truncate={{@truncate}}\n @buttonIconClasses={{@buttonIconClasses}}\n @caret={{caret}}\n >\n {{yield}}\n </Button>\n </div>\n {{/if}}\n {{/let}}\n {{#if (or (eq @depth 0) (and @items.length @isOpen))}}\n <div class=\"euiSideNavItem__items\">\n {{#each @items as |item|}}\n {{#let\n (and\n (gt @depth 0)\n (not item.onClick)\n (not item.href)\n (not (not item.items))\n )\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id @selectedItem)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{add @depth 1}}\n @name={{item.name}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n {{/if}}\n </div>\n </template>;\n\nexport default EuiSideNavItem;\n"],"names":["EuiSideNavItem","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","and","gt","or","not","on","optional","Button","isItemOpen","add","templateOnly"],"mappings":";;;;;;;;;;;AAyCA,MAAMA,cACJ,GAAAC,oBAAA,CAAAC,kBAAA,CAkHA,inFAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,QAAA;YAAAC,oBAAA;IAAAb,cAAA;IAAAc,UAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { fn } from '@ember/helper';
3
3
  import { on } from '@ember/modifier';
4
- import optional from 'ember-composable-helpers/helpers/optional';
4
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
5
5
  import { element } from 'ember-element-helper';
6
6
  import { eq, and, not, or } from 'ember-truth-helpers';
7
7
  import randomId from '../-private/random-id.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eui-side-nav.js","sources":["../../src/components/eui-side-nav.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport { element } from 'ember-element-helper';\nimport { and,eq, not, or } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiButtonEmpty from '../components/eui-button-empty.gts';\nimport EuiHideFor from '../components/eui-hide-for.gts';\nimport EuiShowFor from '../components/eui-show-for.gts';\nimport EuiSideNavItem from '../components/eui-side-nav-item.gts';\nimport EuiTitle from '../components/eui-title.gts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport isItemOpen from '../helpers/is-item-open.ts';\nimport screenReaderOnly from '../modifiers/screen-reader-only.ts';\n\nimport type { EuiHideForSignature } from '../components/eui-hide-for';\n\nexport interface Item {\n id: string;\n icon?: string;\n onClick?: () => void;\n href?: string;\n className?: string;\n rel?: string;\n target?: string;\n items?: Item[];\n depth?: number;\n name?: string;\n renderItem?: unknown;\n isSelected?: boolean;\n disabled?: boolean;\n truncate?: boolean;\n emphasize?: boolean;\n buttonClassName?: string;\n}\n\nexport interface EuiSideNavSignature {\n Element: HTMLDivElement | HTMLUListElement | HTMLElement;\n Args: {\n mobileBreakpoints?: EuiHideForSignature['Args']['sizes'];\n isOpenMobile?: boolean;\n toggleOpenOnMobile?: () => void;\n heading?: string;\n headingProps?: {\n element?: string;\n id?: string;\n className?: string;\n screenReaderOnly?: boolean;\n };\n mobileTitle?: string;\n items?: Item[];\n selectedItem?: string;\n };\n Blocks: {\n default: [Item];\n heading: [];\n };\n}\n\nexport default class EuiSideNavComponent extends Component<EuiSideNavSignature> {\n get mobileBreakpoints() {\n return this.args.mobileBreakpoints || ['xs', 's'];\n }\n\n get contentClasses() {\n let mobileBreakpoints = Array.isArray(this.mobileBreakpoints)\n ? this.mobileBreakpoints\n : [this.mobileBreakpoints];\n\n return `euiSideNav__content ${mobileBreakpoints\n .map?.((breakpointName) => {\n return `euiSideNav__contentMobile-${breakpointName}`;\n })\n .join(' ')}`;\n }\n\n get hasMobileVersion() {\n return this.mobileBreakpoints?.length > 0;\n }\n\n <template>\n {{#let\n (classNames \"euiSideNav\" (if @isOpenMobile \"euiSideNav-isOpenMobile\"))\n (element (argOrDefault @headingProps.element \"h2\"))\n (argOrDefault @headingProps.id (randomId))\n (randomId)\n (or (has-block \"heading\") (not (not @heading)))\n as |classes HeadingElement headingId sideNavContentId hasHeader|\n }}\n {{#if this.hasMobileVersion}}\n <EuiShowFor @sizes={{this.mobileBreakpoints}}>\n <nav aria-labelledby={{headingId}} class={{classes}} ...attributes>\n <HeadingElement id={{headingId}} class={{@headingProps.className}}>\n <EuiButtonEmpty\n type=\"button\"\n class=\"euiSideNav__mobileToggle\"\n @contentClasses=\"euiSideNav__mobileToggleContent\"\n @textClasses=\"euiSideNav__mobileToggleText\"\n {{on\n \"click\"\n (fn (optional @toggleOpenOnMobile) (not @isOpenMobile))\n }}\n @iconType=\"apps\"\n @iconSide=\"right\"\n aria-controls={{sideNavContentId}}\n aria-expanded={{@isOpenMobile}}\n >\n {{#if @mobileTitle}}\n {{@mobileTitle}}\n {{else if (has-block \"heading\")}}\n {{yield to=\"heading\"}}\n {{else}}\n {{@heading}}\n {{/if}}\n </EuiButtonEmpty>\n </HeadingElement>\n <div id={{sideNavContentId}} class={{this.contentClasses}}>\n {{#each @items as |item|}}\n {{#let\n (and\n (not item.onClick) (not item.href) (not (not item.items))\n )\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id item.isSelected)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{0}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n </nav>\n </EuiShowFor>\n {{/if}}\n\n <EuiHideFor @sizes={{this.mobileBreakpoints}}>\n <nav\n aria-labelledby={{if hasHeader headingId}}\n class={{classes}}\n ...attributes\n >\n {{#if hasHeader}}\n {{#let\n (argOrDefault @headingProps.screenReaderOnly false)\n as |shouldScreenReader|\n }}\n {{#if (has-block \"heading\")}}\n {{#if shouldScreenReader}}\n <HeadingElement {{screenReaderOnly}}>\n {{yield to=\"heading\"}}\n </HeadingElement>\n {{else}}\n <EuiTitle\n class={{classNames\n \"euiSideNav__heading\"\n @headingProps.className\n }}\n @size=\"xs\"\n >\n <HeadingElement>\n {{yield to=\"heading\"}}\n </HeadingElement>\n </EuiTitle>\n {{/if}}\n {{else}}\n {{#if screenReaderOnly}}\n <HeadingElement {{screenReaderOnly}}>\n {{@heading}}\n </HeadingElement>\n {{else}}\n <EuiTitle\n class={{classNames\n \"euiSideNav__heading\"\n @headingProps.className\n }}\n @size=\"xs\"\n >\n {{@heading}}\n </EuiTitle>\n {{/if}}\n {{/if}}\n {{/let}}\n {{/if}}\n <div id={{sideNavContentId}} class={{this.contentClasses}}>\n {{#each @items as |item|}}\n {{#let\n (and (not item.onClick) (not item.href) (not (not item.items)))\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id item.isSelected)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{0}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n </nav>\n </EuiHideFor>\n {{/let}}\n </template>\n}\n"],"names":["EuiSideNavComponent","Component","mobileBreakpoints","args","contentClasses","Array","isArray","map","breakpointName","join","hasMobileVersion","length","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","element","argOrDefault","randomId","or","not","EuiShowFor","EuiButtonEmpty","on","fn","optional","and","EuiSideNavItem","isItemOpen","eq","EuiHideFor","screenReaderOnly","EuiTitle"],"mappings":";;;;;;;;;;;;;;;;;;;AA+De,MAAMA,4BAA4BC,SAAU,CAAA;EACzD,IAAIC,iBAAoBA,GAAA;IACtB,OAAO,IAAI,CAACC,IAAI,CAACD,iBAAiB,IAAI,CAAC,IAAA,EAAM,GAAA,CAAI;AACnD;EAEA,IAAIE,cAAiBA,GAAA;AACnB,IAAA,IAAIF,iBAAA,GAAoBG,KAAM,CAAAC,OAAO,CAAC,IAAI,CAACJ,iBAAiB,CACxD,GAAA,IAAI,CAACA,iBAAiB,GACtB,CAAC,IAAI,CAACA,iBAAiB,CAAC;AAE5B,IAAA,OAAO,uBAAuBA,iBAC3B,CAAAK,GAAG,GAAIC,cAAA,IAAA;MACN,OAAO,CAAA,0BAAA,EAA6BA,cAAA,CAAgB,CAAA;AACtD,KACC,CAAA,CAAAC,IAAA,CAAK,KAAM,CAAA;AAChB;EAEA,IAAIC,gBAAmBA,GAAA;AACrB,IAAA,OAAO,IAAI,CAACR,iBAAiB,EAAES,MAAS,GAAA,CAAA;AAC1C;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAiKA,q7IAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,UAAA;QAAAC,OAAA;QAAAC,YAAA;QAAAC,QAAA;QAAAC,EAAA;QAAAC,GAAA;oBAAAC,mBAAA;QAAAC,cAAA;QAAAC,EAAA;QAAAC,EAAA;QAAAC,QAAA;QAAAC,GAAA;QAAAC,cAAA;QAAAC,UAAA;QAAAC,EAAA;oBAAAC,mBAAA;QAAAC,gBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"eui-side-nav.js","sources":["../../src/components/eui-side-nav.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { element } from 'ember-element-helper';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\nimport EuiButtonEmpty from '../components/eui-button-empty.gts';\nimport EuiHideFor from '../components/eui-hide-for.gts';\nimport EuiShowFor from '../components/eui-show-for.gts';\nimport EuiSideNavItem from '../components/eui-side-nav-item.gts';\nimport EuiTitle from '../components/eui-title.gts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport isItemOpen from '../helpers/is-item-open.ts';\nimport screenReaderOnly from '../modifiers/screen-reader-only.ts';\n\nimport type { EuiHideForSignature } from '../components/eui-hide-for';\n\nexport interface Item {\n id: string;\n icon?: string;\n onClick?: () => void;\n href?: string;\n className?: string;\n rel?: string;\n target?: string;\n items?: Item[];\n depth?: number;\n name?: string;\n renderItem?: unknown;\n isSelected?: boolean;\n disabled?: boolean;\n truncate?: boolean;\n emphasize?: boolean;\n buttonClassName?: string;\n}\n\nexport interface EuiSideNavSignature {\n Element: HTMLDivElement | HTMLUListElement | HTMLElement;\n Args: {\n mobileBreakpoints?: EuiHideForSignature['Args']['sizes'];\n isOpenMobile?: boolean;\n toggleOpenOnMobile?: () => void;\n heading?: string;\n headingProps?: {\n element?: string;\n id?: string;\n className?: string;\n screenReaderOnly?: boolean;\n };\n mobileTitle?: string;\n items?: Item[];\n selectedItem?: string;\n };\n Blocks: {\n default: [Item];\n heading: [];\n };\n}\n\nexport default class EuiSideNavComponent extends Component<EuiSideNavSignature> {\n get mobileBreakpoints() {\n return this.args.mobileBreakpoints || ['xs', 's'];\n }\n\n get contentClasses() {\n let mobileBreakpoints = Array.isArray(this.mobileBreakpoints)\n ? this.mobileBreakpoints\n : [this.mobileBreakpoints];\n\n return `euiSideNav__content ${mobileBreakpoints\n .map?.((breakpointName) => {\n return `euiSideNav__contentMobile-${breakpointName}`;\n })\n .join(' ')}`;\n }\n\n get hasMobileVersion() {\n return this.mobileBreakpoints?.length > 0;\n }\n\n <template>\n {{#let\n (classNames \"euiSideNav\" (if @isOpenMobile \"euiSideNav-isOpenMobile\"))\n (element (argOrDefault @headingProps.element \"h2\"))\n (argOrDefault @headingProps.id (randomId))\n (randomId)\n (or (has-block \"heading\") (not (not @heading)))\n as |classes HeadingElement headingId sideNavContentId hasHeader|\n }}\n {{#if this.hasMobileVersion}}\n <EuiShowFor @sizes={{this.mobileBreakpoints}}>\n <nav aria-labelledby={{headingId}} class={{classes}} ...attributes>\n <HeadingElement id={{headingId}} class={{@headingProps.className}}>\n <EuiButtonEmpty\n type=\"button\"\n class=\"euiSideNav__mobileToggle\"\n @contentClasses=\"euiSideNav__mobileToggleContent\"\n @textClasses=\"euiSideNav__mobileToggleText\"\n {{on\n \"click\"\n (fn (optional @toggleOpenOnMobile) (not @isOpenMobile))\n }}\n @iconType=\"apps\"\n @iconSide=\"right\"\n aria-controls={{sideNavContentId}}\n aria-expanded={{@isOpenMobile}}\n >\n {{#if @mobileTitle}}\n {{@mobileTitle}}\n {{else if (has-block \"heading\")}}\n {{yield to=\"heading\"}}\n {{else}}\n {{@heading}}\n {{/if}}\n </EuiButtonEmpty>\n </HeadingElement>\n <div id={{sideNavContentId}} class={{this.contentClasses}}>\n {{#each @items as |item|}}\n {{#let\n (and\n (not item.onClick) (not item.href) (not (not item.items))\n )\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id item.isSelected)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{0}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n </nav>\n </EuiShowFor>\n {{/if}}\n\n <EuiHideFor @sizes={{this.mobileBreakpoints}}>\n <nav\n aria-labelledby={{if hasHeader headingId}}\n class={{classes}}\n ...attributes\n >\n {{#if hasHeader}}\n {{#let\n (argOrDefault @headingProps.screenReaderOnly false)\n as |shouldScreenReader|\n }}\n {{#if (has-block \"heading\")}}\n {{#if shouldScreenReader}}\n <HeadingElement {{screenReaderOnly}}>\n {{yield to=\"heading\"}}\n </HeadingElement>\n {{else}}\n <EuiTitle\n class={{classNames\n \"euiSideNav__heading\"\n @headingProps.className\n }}\n @size=\"xs\"\n >\n <HeadingElement>\n {{yield to=\"heading\"}}\n </HeadingElement>\n </EuiTitle>\n {{/if}}\n {{else}}\n {{#if screenReaderOnly}}\n <HeadingElement {{screenReaderOnly}}>\n {{@heading}}\n </HeadingElement>\n {{else}}\n <EuiTitle\n class={{classNames\n \"euiSideNav__heading\"\n @headingProps.className\n }}\n @size=\"xs\"\n >\n {{@heading}}\n </EuiTitle>\n {{/if}}\n {{/if}}\n {{/let}}\n {{/if}}\n <div id={{sideNavContentId}} class={{this.contentClasses}}>\n {{#each @items as |item|}}\n {{#let\n (and (not item.onClick) (not item.href) (not (not item.items)))\n as |childrenOnly|\n }}\n <EuiSideNavItem\n @selectedItem={{@selectedItem}}\n @isOpen={{isItemOpen item @selectedItem}}\n @isSelected={{and\n (not childrenOnly)\n (eq item.id item.isSelected)\n }}\n @isParent={{not (not item.items)}}\n @icon={{item.icon}}\n @onClick={{item.onClick}}\n @href={{item.href}}\n @className={{item.className}}\n @rel={{item.rel}}\n @target={{item.target}}\n @items={{item.items}}\n @depth={{0}}\n @renderItem={{item.renderItem}}\n @disabled={{item.disabled}}\n @truncate={{item.truncate}}\n @emphasize={{item.emphasize}}\n @buttonClassName={{item.buttonClassName}}\n @childrenOnly={{childrenOnly}}\n >\n {{item.name}}\n </EuiSideNavItem>\n {{/let}}\n {{/each}}\n </div>\n </nav>\n </EuiHideFor>\n {{/let}}\n </template>\n}\n"],"names":["EuiSideNavComponent","Component","mobileBreakpoints","args","contentClasses","Array","isArray","map","breakpointName","join","hasMobileVersion","length","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","element","argOrDefault","randomId","or","not","EuiShowFor","EuiButtonEmpty","on","fn","optional","and","EuiSideNavItem","isItemOpen","eq","EuiHideFor","screenReaderOnly","EuiTitle"],"mappings":";;;;;;;;;;;;;;;;;;;AA+De,MAAMA,4BAA4BC,SAAU,CAAA;EACzD,IAAIC,iBAAoBA,GAAA;IACtB,OAAO,IAAI,CAACC,IAAI,CAACD,iBAAiB,IAAI,CAAC,IAAA,EAAM,GAAA,CAAI;AACnD;EAEA,IAAIE,cAAiBA,GAAA;AACnB,IAAA,IAAIF,iBAAA,GAAoBG,KAAM,CAAAC,OAAO,CAAC,IAAI,CAACJ,iBAAiB,CACxD,GAAA,IAAI,CAACA,iBAAiB,GACtB,CAAC,IAAI,CAACA,iBAAiB,CAAC;AAE5B,IAAA,OAAO,uBAAuBA,iBAC3B,CAAAK,GAAG,GAAIC,cAAA,IAAA;MACN,OAAO,CAAA,0BAAA,EAA6BA,cAAA,CAAgB,CAAA;AACtD,KACC,CAAA,CAAAC,IAAA,CAAK,KAAM,CAAA;AAChB;EAEA,IAAIC,gBAAmBA,GAAA;AACrB,IAAA,OAAO,IAAI,CAACR,iBAAiB,EAAES,MAAS,GAAA,CAAA;AAC1C;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAiKA,q7IAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,UAAA;QAAAC,OAAA;QAAAC,YAAA;QAAAC,QAAA;QAAAC,EAAA;QAAAC,GAAA;oBAAAC,mBAAA;QAAAC,cAAA;QAAAC,EAAA;QAAAC,EAAA;QAAAC,QAAA;QAAAC,GAAA;QAAAC,cAAA;QAAAC,UAAA;QAAAC,EAAA;oBAAAC,mBAAA;QAAAC,gBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { on } from '@ember/modifier';
2
- import optional from 'ember-composable-helpers/helpers/optional';
2
+ import optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';
3
3
  import { eq } from 'ember-truth-helpers';
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-step-horizontal.js","sources":["../../src/components/eui-step-horizontal.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport { eq } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiStepNumber from './eui-step-number.gts';\n\nimport type { EuiStepNumberSignature } from './eui-step-number';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiStepHorizontalSignature {\n Element: HTMLButtonElement;\n Args: {\n /**\n * The title of the step\n */\n title?: string;\n /**\n * The number of the step\n */\n step?: number;\n /**\n * Whether or not the step is selected\n */\n isSelected?: boolean;\n /**\n * Whether or not the step is complete\n */\n isComplete?: boolean;\n /**\n * Whether or not the step is disabled\n */\n disabled?: boolean;\n /**\n * The status of the step\n */\n status?: EuiStepNumberSignature['Args']['status'];\n /**\n * A callback for when the step is clicked\n */\n onStepClick?: (event: MouseEvent) => void;\n };\n}\n\nconst EuiStepHorizontal: TemplateOnlyComponent<EuiStepHorizontalSignature> =\n <template>\n {{#let\n (if\n @disabled\n \"disabled\"\n (if\n @isComplete\n \"complete\"\n (if @isSelected \"current\" (argOrDefault @status \"incomplete\"))\n )\n )\n as |status|\n }}\n <li\n class=\"euiStepHorizontal__item\"\n aria-current={{if @isSelected \"step\"}}\n >\n <button\n type=\"button\"\n class={{classNames\n \"euiStepHorizontal\"\n (if (eq status \"current\") \"euiStepHorizontal-isSelected\")\n (if (eq status \"complete\") \"euiStepHorizontal-isComplete\")\n (if (eq status \"incomplete\") \"euiStepHorizontal-isIncomplete\")\n (if (eq status \"disabled\") \"euiStepHorizontal-isDisabled\")\n }}\n title={{@title}}\n disabled={{@disabled}}\n ...attributes\n {{on \"click\" (optional @onStepClick)}}\n >\n <EuiStepNumber\n class=\"euiStepHorizontal__number\"\n {{!@glint-expect-error}}\n @status={{status}}\n @number={{@step}}\n />\n <span class=\"euiStepHorizontal__title\">\n {{@title}}\n </span>\n </button>\n </li>\n {{/let}}\n </template>;\n\nexport default EuiStepHorizontal;\n"],"names":["EuiStepHorizontal","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","classNames","eq","on","optional","EuiStepNumber","templateOnly"],"mappings":";;;;;;;;;;AA8CA,MAAMA,iBACJ,GAAAC,oBAAA,CAAAC,kBAAA,CA2CA,g7BAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,QAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"eui-step-horizontal.js","sources":["../../src/components/eui-step-horizontal.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { eq } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiStepNumber from './eui-step-number.gts';\n\nimport type { EuiStepNumberSignature } from './eui-step-number';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiStepHorizontalSignature {\n Element: HTMLButtonElement;\n Args: {\n /**\n * The title of the step\n */\n title?: string;\n /**\n * The number of the step\n */\n step?: number;\n /**\n * Whether or not the step is selected\n */\n isSelected?: boolean;\n /**\n * Whether or not the step is complete\n */\n isComplete?: boolean;\n /**\n * Whether or not the step is disabled\n */\n disabled?: boolean;\n /**\n * The status of the step\n */\n status?: EuiStepNumberSignature['Args']['status'];\n /**\n * A callback for when the step is clicked\n */\n onStepClick?: (event: MouseEvent) => void;\n };\n}\n\nconst EuiStepHorizontal: TemplateOnlyComponent<EuiStepHorizontalSignature> =\n <template>\n {{#let\n (if\n @disabled\n \"disabled\"\n (if\n @isComplete\n \"complete\"\n (if @isSelected \"current\" (argOrDefault @status \"incomplete\"))\n )\n )\n as |status|\n }}\n <li\n class=\"euiStepHorizontal__item\"\n aria-current={{if @isSelected \"step\"}}\n >\n <button\n type=\"button\"\n class={{classNames\n \"euiStepHorizontal\"\n (if (eq status \"current\") \"euiStepHorizontal-isSelected\")\n (if (eq status \"complete\") \"euiStepHorizontal-isComplete\")\n (if (eq status \"incomplete\") \"euiStepHorizontal-isIncomplete\")\n (if (eq status \"disabled\") \"euiStepHorizontal-isDisabled\")\n }}\n title={{@title}}\n disabled={{@disabled}}\n ...attributes\n {{on \"click\" (optional @onStepClick)}}\n >\n <EuiStepNumber\n class=\"euiStepHorizontal__number\"\n {{!@glint-expect-error}}\n @status={{status}}\n @number={{@step}}\n />\n <span class=\"euiStepHorizontal__title\">\n {{@title}}\n </span>\n </button>\n </li>\n {{/let}}\n </template>;\n\nexport default EuiStepHorizontal;\n"],"names":["EuiStepHorizontal","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","classNames","eq","on","optional","EuiStepNumber","templateOnly"],"mappings":";;;;;;;;;;AA8CA,MAAMA,iBACJ,GAAAC,oBAAA,CAAAC,kBAAA,CA2CA,g7BAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,UAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,QAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}