@aurelia-mdc-web/all 9.3.1-au2 → 9.3.3-au2

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 (621) hide show
  1. package/dist/alert/alert-configuration.js +15 -0
  2. package/dist/alert/alert-configuration.js.map +1 -0
  3. package/dist/alert/alert-modal/alert-modal.html +27 -0
  4. package/dist/alert/alert-modal/alert-modal.js +30 -0
  5. package/dist/alert/alert-modal/alert-modal.js.map +1 -0
  6. package/dist/alert/alert-modal/i-alert-modal-payload.js +14 -0
  7. package/dist/alert/alert-modal/i-alert-modal-payload.js.map +1 -0
  8. package/dist/alert/alert-service.js +106 -0
  9. package/dist/alert/alert-service.js.map +1 -0
  10. package/dist/alert/decorators/confirm-action.js +17 -0
  11. package/dist/alert/decorators/confirm-action.js.map +1 -0
  12. package/dist/alert/decorators/using-progress.js +27 -0
  13. package/dist/alert/decorators/using-progress.js.map +1 -0
  14. package/dist/alert/exceptions-tracker.js +8 -0
  15. package/dist/alert/exceptions-tracker.js.map +1 -0
  16. package/dist/alert/global-progress/global-progress.html +9 -0
  17. package/dist/alert/global-progress/global-progress.js +64 -0
  18. package/dist/alert/global-progress/global-progress.js.map +1 -0
  19. package/dist/alert/prompt-dialog/prompt-dialog.html +15 -0
  20. package/dist/alert/prompt-dialog/prompt-dialog.js +44 -0
  21. package/dist/alert/prompt-dialog/prompt-dialog.js.map +1 -0
  22. package/dist/banner/mdc-banner.html +21 -21
  23. package/dist/banner/mdc-banner.js +45 -42
  24. package/dist/banner/mdc-banner.js.map +1 -1
  25. package/dist/base/attributes/mdc-focus-trap.js +25 -22
  26. package/dist/base/attributes/mdc-focus-trap.js.map +1 -1
  27. package/dist/base/elements/i-validated-element.js +2 -1
  28. package/dist/base/elements/i-validated-element.js.map +1 -1
  29. package/dist/base/elements/mdc-promisify-reference.js +16 -13
  30. package/dist/base/elements/mdc-promisify-reference.js.map +1 -1
  31. package/dist/base/index.js +21 -9
  32. package/dist/base/index.js.map +1 -1
  33. package/dist/base/interceptors.js +12 -5
  34. package/dist/base/interceptors.js.map +1 -1
  35. package/dist/base/material-palette.js +4 -1
  36. package/dist/base/material-palette.js.map +1 -1
  37. package/dist/base/mdc-component.js +5 -1
  38. package/dist/base/mdc-component.js.map +1 -1
  39. package/dist/base/next-element.js +4 -1
  40. package/dist/base/next-element.js.map +1 -1
  41. package/dist/button/enhance-mdc-button.js +9 -6
  42. package/dist/button/enhance-mdc-button.js.map +1 -1
  43. package/dist/button/mdc-button-label.js +9 -6
  44. package/dist/button/mdc-button-label.js.map +1 -1
  45. package/dist/button/mdc-button.html +12 -12
  46. package/dist/button/mdc-button.js +30 -27
  47. package/dist/button/mdc-button.js.map +1 -1
  48. package/dist/card/mdc-card-action-buttons.js +9 -6
  49. package/dist/card/mdc-card-action-buttons.js.map +1 -1
  50. package/dist/card/mdc-card-action-icons.js +9 -6
  51. package/dist/card/mdc-card-action-icons.js.map +1 -1
  52. package/dist/card/mdc-card-actions/mdc-card-actions.html +3 -3
  53. package/dist/card/mdc-card-actions/mdc-card-actions.js +15 -12
  54. package/dist/card/mdc-card-actions/mdc-card-actions.js.map +1 -1
  55. package/dist/card/mdc-card-media/mdc-card-media.html +5 -5
  56. package/dist/card/mdc-card-media/mdc-card-media.js +18 -15
  57. package/dist/card/mdc-card-media/mdc-card-media.js.map +1 -1
  58. package/dist/card/mdc-card-primary-action.html +5 -5
  59. package/dist/card/mdc-card-primary-action.js +15 -12
  60. package/dist/card/mdc-card-primary-action.js.map +1 -1
  61. package/dist/card/mdc-card.html +3 -3
  62. package/dist/card/mdc-card.js +15 -12
  63. package/dist/card/mdc-card.js.map +1 -1
  64. package/dist/checkbox/mdc-checkbox.html +12 -12
  65. package/dist/checkbox/mdc-checkbox.js +38 -35
  66. package/dist/checkbox/mdc-checkbox.js.map +1 -1
  67. package/dist/chips/mdc-chip/mdc-chip.html +24 -24
  68. package/dist/chips/mdc-chip/mdc-chip.js +37 -34
  69. package/dist/chips/mdc-chip/mdc-chip.js.map +1 -1
  70. package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js +9 -6
  71. package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js.map +1 -1
  72. package/dist/chips/mdc-chip-action/mdc-chip-action.html +25 -25
  73. package/dist/chips/mdc-chip-action/mdc-chip-action.js +40 -37
  74. package/dist/chips/mdc-chip-action/mdc-chip-action.js.map +1 -1
  75. package/dist/chips/mdc-chip-set/mdc-chip-set.html +10 -10
  76. package/dist/chips/mdc-chip-set/mdc-chip-set.js +27 -24
  77. package/dist/chips/mdc-chip-set/mdc-chip-set.js.map +1 -1
  78. package/dist/circular-progress/mdc-circular-progress.html +38 -38
  79. package/dist/circular-progress/mdc-circular-progress.js +25 -22
  80. package/dist/circular-progress/mdc-circular-progress.js.map +1 -1
  81. package/dist/data-table/mdc-data-table-row.js +13 -10
  82. package/dist/data-table/mdc-data-table-row.js.map +1 -1
  83. package/dist/data-table/mdc-data-table.html +50 -49
  84. package/dist/data-table/mdc-data-table.js +183 -91
  85. package/dist/data-table/mdc-data-table.js.map +1 -1
  86. package/dist/dialog/mdc-dialog-actions.js +13 -10
  87. package/dist/dialog/mdc-dialog-actions.js.map +1 -1
  88. package/dist/dialog/mdc-dialog-content.js +9 -6
  89. package/dist/dialog/mdc-dialog-content.js.map +1 -1
  90. package/dist/dialog/mdc-dialog-service.js +20 -13
  91. package/dist/dialog/mdc-dialog-service.js.map +1 -1
  92. package/dist/dialog/mdc-dialog-title.js +9 -6
  93. package/dist/dialog/mdc-dialog-title.js.map +1 -1
  94. package/dist/dialog/mdc-dialog.html +14 -14
  95. package/dist/dialog/mdc-dialog.js +49 -46
  96. package/dist/dialog/mdc-dialog.js.map +1 -1
  97. package/dist/drawer/mdc-drawer-app-content.js +9 -6
  98. package/dist/drawer/mdc-drawer-app-content.js.map +1 -1
  99. package/dist/drawer/mdc-drawer-content.js +9 -6
  100. package/dist/drawer/mdc-drawer-content.js.map +1 -1
  101. package/dist/drawer/mdc-drawer-header/mdc-drawer-header.html +5 -5
  102. package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js +17 -14
  103. package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js.map +1 -1
  104. package/dist/drawer/mdc-drawer.html +6 -6
  105. package/dist/drawer/mdc-drawer.js +24 -21
  106. package/dist/drawer/mdc-drawer.js.map +1 -1
  107. package/dist/elevation/mdc-elevation.js +9 -6
  108. package/dist/elevation/mdc-elevation.js.map +1 -1
  109. package/dist/expandable/mdc-expandable.html +28 -28
  110. package/dist/expandable/mdc-expandable.js +20 -17
  111. package/dist/expandable/mdc-expandable.js.map +1 -1
  112. package/dist/fab/enhance-mdc-fab.js +9 -6
  113. package/dist/fab/enhance-mdc-fab.js.map +1 -1
  114. package/dist/fab/mdc-fab-icon.js +9 -6
  115. package/dist/fab/mdc-fab-icon.js.map +1 -1
  116. package/dist/fab/mdc-fab.html +13 -13
  117. package/dist/fab/mdc-fab.js +33 -30
  118. package/dist/fab/mdc-fab.js.map +1 -1
  119. package/dist/floating-label/mdc-floating-label.html +1 -1
  120. package/dist/floating-label/mdc-floating-label.js +16 -13
  121. package/dist/floating-label/mdc-floating-label.js.map +1 -1
  122. package/dist/form-field/mdc-form-field.html +6 -6
  123. package/dist/form-field/mdc-form-field.js +27 -24
  124. package/dist/form-field/mdc-form-field.js.map +1 -1
  125. package/dist/icon/mdc-icon.html +3 -3
  126. package/dist/icon/mdc-icon.js +10 -7
  127. package/dist/icon/mdc-icon.js.map +1 -1
  128. package/dist/icon-button/enhance-mdc-icon-button.js +9 -6
  129. package/dist/icon-button/enhance-mdc-icon-button.js.map +1 -1
  130. package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.html +4 -4
  131. package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js +18 -15
  132. package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js.map +1 -1
  133. package/dist/icon-button/mdc-icon-button.html +11 -11
  134. package/dist/icon-button/mdc-icon-button.js +28 -25
  135. package/dist/icon-button/mdc-icon-button.js.map +1 -1
  136. package/dist/image-list/mdc-image-list-item/mdc-image-list-item.html +9 -9
  137. package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js +22 -19
  138. package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js.map +1 -1
  139. package/dist/image-list/mdc-image-list.html +7 -7
  140. package/dist/image-list/mdc-image-list.js +35 -32
  141. package/dist/image-list/mdc-image-list.js.map +1 -1
  142. package/dist/index.js +297 -139
  143. package/dist/index.js.map +1 -1
  144. package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.html +12 -12
  145. package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js +36 -33
  146. package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js.map +1 -1
  147. package/dist/layout-grid/mdc-layout-grid-inner.js +9 -6
  148. package/dist/layout-grid/mdc-layout-grid-inner.js.map +1 -1
  149. package/dist/layout-grid/mdc-layout-grid.html +8 -8
  150. package/dist/layout-grid/mdc-layout-grid.js +33 -30
  151. package/dist/layout-grid/mdc-layout-grid.js.map +1 -1
  152. package/dist/line-ripple/mdc-line-ripple.js +13 -10
  153. package/dist/line-ripple/mdc-line-ripple.js.map +1 -1
  154. package/dist/linear-progress/mdc-linear-progress.html +12 -12
  155. package/dist/linear-progress/mdc-linear-progress.js +26 -23
  156. package/dist/linear-progress/mdc-linear-progress.js.map +1 -1
  157. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.html +4 -4
  158. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js +18 -15
  159. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js.map +1 -1
  160. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-group.js +17 -14
  161. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-group.js.map +1 -1
  162. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.js +9 -6
  163. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.js.map +1 -1
  164. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.js +9 -6
  165. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.js.map +1 -1
  166. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.js +9 -6
  167. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.js.map +1 -1
  168. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.html +8 -8
  169. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js +28 -25
  170. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js.map +1 -1
  171. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.js +9 -6
  172. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.js.map +1 -1
  173. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.js +9 -6
  174. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.js.map +1 -1
  175. package/dist/list/mdc-deprecated-list/mdc-deprecated-list.html +15 -15
  176. package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js +78 -75
  177. package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js.map +1 -1
  178. package/dist/list/mdc-list-divider/mdc-list-divider.html +7 -7
  179. package/dist/list/mdc-list-divider/mdc-list-divider.js +21 -18
  180. package/dist/list/mdc-list-divider/mdc-list-divider.js.map +1 -1
  181. package/dist/list/mdc-list-group.js +17 -14
  182. package/dist/list/mdc-list-group.js.map +1 -1
  183. package/dist/list/mdc-list-item/enhance-mdc-list-item.js +9 -6
  184. package/dist/list/mdc-list-item/enhance-mdc-list-item.js.map +1 -1
  185. package/dist/list/mdc-list-item/mdc-list-item-leading.js +9 -6
  186. package/dist/list/mdc-list-item/mdc-list-item-leading.js.map +1 -1
  187. package/dist/list/mdc-list-item/mdc-list-item-trailing.js +9 -6
  188. package/dist/list/mdc-list-item/mdc-list-item-trailing.js.map +1 -1
  189. package/dist/list/mdc-list-item/mdc-list-item.html +13 -13
  190. package/dist/list/mdc-list-item/mdc-list-item.js +40 -37
  191. package/dist/list/mdc-list-item/mdc-list-item.js.map +1 -1
  192. package/dist/list/mdc-list-item-overline-text.js +9 -6
  193. package/dist/list/mdc-list-item-overline-text.js.map +1 -1
  194. package/dist/list/mdc-list-item-primary-text.js +9 -6
  195. package/dist/list/mdc-list-item-primary-text.js.map +1 -1
  196. package/dist/list/mdc-list-item-secondary-text.js +9 -6
  197. package/dist/list/mdc-list-item-secondary-text.js.map +1 -1
  198. package/dist/list/mdc-list.html +5 -5
  199. package/dist/list/mdc-list.js +58 -55
  200. package/dist/list/mdc-list.js.map +1 -1
  201. package/dist/lookup/discardable-promise.js +5 -1
  202. package/dist/lookup/discardable-promise.js.map +1 -1
  203. package/dist/lookup/mdc-lookup-configuration.js +5 -1
  204. package/dist/lookup/mdc-lookup-configuration.js.map +1 -1
  205. package/dist/lookup/mdc-lookup.html +27 -27
  206. package/dist/lookup/mdc-lookup.js +74 -71
  207. package/dist/lookup/mdc-lookup.js.map +1 -1
  208. package/dist/mdc-configuration.js +15 -9
  209. package/dist/mdc-configuration.js.map +1 -1
  210. package/dist/menu/mdc-menu-selection-group-icon.js +9 -6
  211. package/dist/menu/mdc-menu-selection-group-icon.js.map +1 -1
  212. package/dist/menu/mdc-menu-selection-group.js +9 -6
  213. package/dist/menu/mdc-menu-selection-group.js.map +1 -1
  214. package/dist/menu/mdc-menu.html +6 -6
  215. package/dist/menu/mdc-menu.js +71 -68
  216. package/dist/menu/mdc-menu.js.map +1 -1
  217. package/dist/menu-surface/mdc-menu-surface-anchor.js +11 -8
  218. package/dist/menu-surface/mdc-menu-surface-anchor.js.map +1 -1
  219. package/dist/menu-surface/mdc-menu-surface.js +61 -58
  220. package/dist/menu-surface/mdc-menu-surface.js.map +1 -1
  221. package/dist/notched-outline/mdc-notched-outline.html +7 -7
  222. package/dist/notched-outline/mdc-notched-outline.js +20 -17
  223. package/dist/notched-outline/mdc-notched-outline.js.map +1 -1
  224. package/dist/radio/mdc-radio.html +9 -9
  225. package/dist/radio/mdc-radio.js +27 -24
  226. package/dist/radio/mdc-radio.js.map +1 -1
  227. package/dist/ripple/mdc-ripple.js +51 -48
  228. package/dist/ripple/mdc-ripple.js.map +1 -1
  229. package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js +9 -6
  230. package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js.map +1 -1
  231. package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.html +11 -11
  232. package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js +27 -24
  233. package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js.map +1 -1
  234. package/dist/segmented-button/mdc-segmented-button.html +3 -3
  235. package/dist/segmented-button/mdc-segmented-button.js +24 -21
  236. package/dist/segmented-button/mdc-segmented-button.js.map +1 -1
  237. package/dist/select/mdc-default-select-configuration.js +5 -1
  238. package/dist/select/mdc-default-select-configuration.js.map +1 -1
  239. package/dist/select/mdc-select-adapter-aurelia.js +2 -1
  240. package/dist/select/mdc-select-adapter-aurelia.js.map +1 -1
  241. package/dist/select/mdc-select-foundation-aurelia.js +47 -43
  242. package/dist/select/mdc-select-foundation-aurelia.js.map +1 -1
  243. package/dist/select/mdc-select-helper-text/mdc-select-helper-text.html +7 -7
  244. package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js +27 -24
  245. package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js.map +1 -1
  246. package/dist/select/mdc-select-icon.js +16 -13
  247. package/dist/select/mdc-select-icon.js.map +1 -1
  248. package/dist/select/mdc-select-value-observer.js +16 -12
  249. package/dist/select/mdc-select-value-observer.js.map +1 -1
  250. package/dist/select/mdc-select.html +38 -38
  251. package/dist/select/mdc-select.js +71 -68
  252. package/dist/select/mdc-select.js.map +1 -1
  253. package/dist/slider/mdc-slider-foundation-aurelia.js +6 -2
  254. package/dist/slider/mdc-slider-foundation-aurelia.js.map +1 -1
  255. package/dist/slider/mdc-slider.html +36 -36
  256. package/dist/slider/mdc-slider.js +79 -76
  257. package/dist/slider/mdc-slider.js.map +1 -1
  258. package/dist/snackbar/mdc-snackbar-service.js +8 -4
  259. package/dist/snackbar/mdc-snackbar-service.js.map +1 -1
  260. package/dist/snackbar/mdc-snackbar.html +14 -14
  261. package/dist/snackbar/mdc-snackbar.js +55 -52
  262. package/dist/snackbar/mdc-snackbar.js.map +1 -1
  263. package/dist/switch/enhance-mdc-switch.js +9 -6
  264. package/dist/switch/enhance-mdc-switch.js.map +1 -1
  265. package/dist/switch/mdc-switch.html +21 -21
  266. package/dist/switch/mdc-switch.js +16 -13
  267. package/dist/switch/mdc-switch.js.map +1 -1
  268. package/dist/tab-bar/indicator/mdc-tab-indicator.html +9 -9
  269. package/dist/tab-bar/indicator/mdc-tab-indicator.js +26 -23
  270. package/dist/tab-bar/indicator/mdc-tab-indicator.js.map +1 -1
  271. package/dist/tab-bar/mdc-tab-bar.html +6 -6
  272. package/dist/tab-bar/mdc-tab-bar.js +29 -26
  273. package/dist/tab-bar/mdc-tab-bar.js.map +1 -1
  274. package/dist/tab-bar/scroller/mdc-tab-scroller.html +11 -11
  275. package/dist/tab-bar/scroller/mdc-tab-scroller.js +25 -22
  276. package/dist/tab-bar/scroller/mdc-tab-scroller.js.map +1 -1
  277. package/dist/tab-bar/tab/mdc-tab.html +20 -20
  278. package/dist/tab-bar/tab/mdc-tab.js +44 -41
  279. package/dist/tab-bar/tab/mdc-tab.js.map +1 -1
  280. package/dist/text-field/enhance-mdc-text-field.js +9 -6
  281. package/dist/text-field/enhance-mdc-text-field.js.map +1 -1
  282. package/dist/text-field/mdc-default-text-field-configuration.js +5 -1
  283. package/dist/text-field/mdc-default-text-field-configuration.js.map +1 -1
  284. package/dist/text-field/mdc-inputmask.js +76 -0
  285. package/dist/text-field/mdc-inputmask.js.map +1 -0
  286. package/dist/text-field/mdc-text-field-character-counter.js +13 -10
  287. package/dist/text-field/mdc-text-field-character-counter.js.map +1 -1
  288. package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.html +7 -7
  289. package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js +14 -11
  290. package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js.map +1 -1
  291. package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.html +6 -6
  292. package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js +22 -19
  293. package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js.map +1 -1
  294. package/dist/text-field/mdc-text-field-icon.js +22 -19
  295. package/dist/text-field/mdc-text-field-icon.js.map +1 -1
  296. package/dist/text-field/mdc-text-field.html +29 -29
  297. package/dist/text-field/mdc-text-field.js +116 -113
  298. package/dist/text-field/mdc-text-field.js.map +1 -1
  299. package/dist/tooltip/mdc-default-tooltip-configuration.js +5 -1
  300. package/dist/tooltip/mdc-default-tooltip-configuration.js.map +1 -1
  301. package/dist/tooltip/mdc-tooltip-attribute.js +39 -36
  302. package/dist/tooltip/mdc-tooltip-attribute.js.map +1 -1
  303. package/dist/tooltip/mdc-tooltip.html +7 -7
  304. package/dist/tooltip/mdc-tooltip.js +66 -63
  305. package/dist/tooltip/mdc-tooltip.js.map +1 -1
  306. package/dist/top-app-bar/enhance-top-app-bar-actions.js +9 -6
  307. package/dist/top-app-bar/enhance-top-app-bar-actions.js.map +1 -1
  308. package/dist/top-app-bar/mdc-top-app-bar-action-item.js +9 -6
  309. package/dist/top-app-bar/mdc-top-app-bar-action-item.js.map +1 -1
  310. package/dist/top-app-bar/mdc-top-app-bar-fixed-adjust.js +9 -6
  311. package/dist/top-app-bar/mdc-top-app-bar-fixed-adjust.js.map +1 -1
  312. package/dist/top-app-bar/mdc-top-app-bar-nav-icon.js +9 -6
  313. package/dist/top-app-bar/mdc-top-app-bar-nav-icon.js.map +1 -1
  314. package/dist/top-app-bar/mdc-top-app-bar-row.js +9 -6
  315. package/dist/top-app-bar/mdc-top-app-bar-row.js.map +1 -1
  316. package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.html +3 -3
  317. package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js +15 -12
  318. package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js.map +1 -1
  319. package/dist/top-app-bar/mdc-top-app-bar-title.js +9 -6
  320. package/dist/top-app-bar/mdc-top-app-bar-title.js.map +1 -1
  321. package/dist/top-app-bar/mdc-top-app-bar.html +9 -9
  322. package/dist/top-app-bar/mdc-top-app-bar.js +43 -40
  323. package/dist/top-app-bar/mdc-top-app-bar.js.map +1 -1
  324. package/dist/tree-view/i-tree-node.js +2 -1
  325. package/dist/tree-view/i-tree-node.js.map +1 -1
  326. package/dist/tree-view/mdc-tree-node-meta.js +9 -6
  327. package/dist/tree-view/mdc-tree-node-meta.js.map +1 -1
  328. package/dist/tree-view/mdc-tree-node.js +9 -6
  329. package/dist/tree-view/mdc-tree-node.js.map +1 -1
  330. package/dist/tree-view/mdc-tree-view.js +29 -25
  331. package/dist/tree-view/mdc-tree-view.js.map +1 -1
  332. package/dist/tree-view/node-filter.js +9 -6
  333. package/dist/tree-view/node-filter.js.map +1 -1
  334. package/dist/types/alert/alert-configuration.d.ts +8 -0
  335. package/dist/types/alert/alert-modal/alert-modal.d.ts +6 -0
  336. package/dist/types/alert/alert-modal/i-alert-modal-payload.d.ts +9 -0
  337. package/dist/types/alert/alert-service.d.ts +27 -0
  338. package/dist/types/alert/decorators/confirm-action.d.ts +3 -0
  339. package/dist/types/alert/decorators/using-progress.d.ts +6 -0
  340. package/dist/types/alert/exceptions-tracker.d.ts +3 -0
  341. package/dist/types/alert/global-progress/global-progress.d.ts +11 -0
  342. package/dist/types/alert/prompt-dialog/prompt-dialog.d.ts +21 -0
  343. package/dist/types/data-table/mdc-data-table.d.ts +16 -4
  344. package/dist/types/index.d.ts +11 -1
  345. package/dist/types/lookup/mdc-lookup.d.ts +3 -3
  346. package/dist/types/mdc-configuration.d.ts +2 -0
  347. package/dist/types/select/mdc-select.d.ts +3 -3
  348. package/dist/types/text-field/mdc-inputmask.d.ts +11 -0
  349. package/dist/types/text-field/mdc-text-field.d.ts +3 -3
  350. package/dist/types/tooltip/mdc-tooltip.d.ts +3 -3
  351. package/dist/types/validation/validate.d.ts +10 -0
  352. package/dist/typography/mdc-typography.js +60 -57
  353. package/dist/typography/mdc-typography.js.map +1 -1
  354. package/dist/validation/mdc-validation-controller-factory.js +10 -6
  355. package/dist/validation/mdc-validation-controller-factory.js.map +1 -1
  356. package/dist/validation/mdc-validation-result-presenter.js +5 -1
  357. package/dist/validation/mdc-validation-result-presenter.js.map +1 -1
  358. package/dist/validation/validate.js +27 -0
  359. package/dist/validation/validate.js.map +1 -0
  360. package/package.json +4 -2
  361. package/src/alert/alert-configuration.ts +11 -0
  362. package/src/alert/alert-modal/alert-modal.html +27 -0
  363. package/src/alert/alert-modal/alert-modal.scss +10 -0
  364. package/src/alert/alert-modal/alert-modal.ts +13 -0
  365. package/src/alert/alert-modal/i-alert-modal-payload.ts +9 -0
  366. package/src/alert/alert-service.ts +113 -0
  367. package/src/alert/decorators/confirm-action.ts +18 -0
  368. package/src/alert/decorators/using-progress.ts +30 -0
  369. package/src/alert/exceptions-tracker.ts +3 -0
  370. package/src/alert/global-progress/global-progress.html +9 -0
  371. package/src/alert/global-progress/global-progress.scss +38 -0
  372. package/src/alert/global-progress/global-progress.ts +27 -0
  373. package/src/alert/prompt-dialog/prompt-dialog.html +15 -0
  374. package/src/alert/prompt-dialog/prompt-dialog.ts +35 -0
  375. package/src/banner/mdc-banner.html +21 -21
  376. package/src/banner/mdc-banner.ts +116 -116
  377. package/src/base/attributes/mdc-focus-trap.ts +42 -42
  378. package/src/base/elements/i-validated-element.ts +12 -12
  379. package/src/base/elements/mdc-promisify-reference.ts +21 -21
  380. package/src/base/interceptors.ts +25 -25
  381. package/src/base/material-palette.md +7 -7
  382. package/src/base/material-palette.ts +22 -22
  383. package/src/base/mdc-component.ts +69 -69
  384. package/src/base/next-element.ts +39 -39
  385. package/src/button/enhance-mdc-button.ts +8 -8
  386. package/src/button/mdc-button-label.ts +15 -15
  387. package/src/button/mdc-button.html +12 -12
  388. package/src/button/mdc-button.ts +62 -62
  389. package/src/card/mdc-card-action-buttons.ts +19 -19
  390. package/src/card/mdc-card-action-icons.ts +19 -19
  391. package/src/card/mdc-card-actions/mdc-card-actions.html +3 -3
  392. package/src/card/mdc-card-actions/mdc-card-actions.ts +15 -15
  393. package/src/card/mdc-card-media/mdc-card-media.html +5 -5
  394. package/src/card/mdc-card-media/mdc-card-media.ts +21 -21
  395. package/src/card/mdc-card-primary-action.html +5 -5
  396. package/src/card/mdc-card-primary-action.ts +16 -16
  397. package/src/card/mdc-card.html +3 -3
  398. package/src/card/mdc-card.ts +16 -16
  399. package/src/checkbox/mdc-checkbox.html +12 -12
  400. package/src/checkbox/mdc-checkbox.ts +217 -217
  401. package/src/chips/mdc-chip/mdc-chip.html +24 -24
  402. package/src/chips/mdc-chip-action/enhance-mdc-chip-action.ts +8 -8
  403. package/src/chips/mdc-chip-action/mdc-chip-action.html +25 -25
  404. package/src/chips/mdc-chip-action/mdc-chip-action.ts +143 -143
  405. package/src/chips/mdc-chip-set/mdc-chip-set.html +10 -10
  406. package/src/chips/mdc-chip-set/mdc-chip-set.ts +117 -117
  407. package/src/circular-progress/mdc-circular-progress.html +38 -38
  408. package/src/circular-progress/mdc-circular-progress.ts +91 -91
  409. package/src/circular-progress/styles/_index.scss +1 -1
  410. package/src/circular-progress/styles/mdc-circular-progress.import.scss +1 -1
  411. package/src/circular-progress/styles/mdc-circular-progress.scss +14 -14
  412. package/src/data-table/mdc-data-table-row.ts +24 -24
  413. package/src/data-table/mdc-data-table.html +50 -49
  414. package/src/data-table/mdc-data-table.ts +111 -13
  415. package/src/data-table/styles/_index.scss +1 -0
  416. package/src/data-table/styles/mdc-data-table.import.scss +1 -0
  417. package/src/data-table/styles/mdc-data-table.scss +64 -0
  418. package/src/dialog/mdc-dialog-actions.ts +23 -23
  419. package/src/dialog/mdc-dialog-content.ts +11 -11
  420. package/src/dialog/mdc-dialog-service.ts +83 -80
  421. package/src/dialog/mdc-dialog-title.ts +8 -8
  422. package/src/dialog/mdc-dialog.html +14 -14
  423. package/src/dialog/mdc-dialog.ts +224 -224
  424. package/src/drawer/mdc-drawer-app-content.ts +11 -11
  425. package/src/drawer/mdc-drawer-content.ts +11 -11
  426. package/src/drawer/mdc-drawer-header/mdc-drawer-header.html +5 -5
  427. package/src/drawer/mdc-drawer-header/mdc-drawer-header.ts +18 -18
  428. package/src/drawer/mdc-drawer.html +6 -6
  429. package/src/drawer/mdc-drawer.ts +125 -125
  430. package/src/elevation/mdc-elevation.ts +23 -23
  431. package/src/expandable/mdc-expandable.html +28 -28
  432. package/src/expandable/styles/_icon-variables.scss +3 -3
  433. package/src/expandable/styles/_index.scss +1 -1
  434. package/src/expandable/styles/_mixins.scss +287 -287
  435. package/src/expandable/styles/_variables.scss +17 -17
  436. package/src/expandable/styles/mdc-expandable.import.scss +1 -1
  437. package/src/expandable/styles/mdc-expandable.scss +3 -3
  438. package/src/fab/enhance-mdc-fab.ts +8 -8
  439. package/src/fab/mdc-fab-icon.ts +15 -15
  440. package/src/fab/mdc-fab.html +13 -13
  441. package/src/fab/mdc-fab.ts +50 -50
  442. package/src/floating-label/mdc-floating-label.html +1 -1
  443. package/src/floating-label/mdc-floating-label.ts +44 -44
  444. package/src/form-field/mdc-form-field.html +6 -6
  445. package/src/icon/mdc-icon.html +3 -3
  446. package/src/icon/mdc-icon.ts +11 -11
  447. package/src/icon-button/enhance-mdc-icon-button.ts +8 -8
  448. package/src/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.html +4 -4
  449. package/src/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.ts +29 -29
  450. package/src/icon-button/mdc-icon-button.html +11 -11
  451. package/src/icon-button/mdc-icon-button.ts +69 -69
  452. package/src/image-list/mdc-image-list-item/mdc-image-list-item.html +9 -9
  453. package/src/image-list/mdc-image-list-item/mdc-image-list-item.ts +31 -31
  454. package/src/image-list/mdc-image-list.html +7 -7
  455. package/src/image-list/mdc-image-list.ts +73 -73
  456. package/src/image-list/styles/_index.scss +1 -1
  457. package/src/image-list/styles/mdc-image-list.import.scss +1 -1
  458. package/src/image-list/styles/mdc-image-list.scss +7 -7
  459. package/src/index.ts +17 -3
  460. package/src/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.html +12 -12
  461. package/src/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.ts +49 -49
  462. package/src/layout-grid/mdc-layout-grid-inner.ts +8 -8
  463. package/src/layout-grid/mdc-layout-grid.html +8 -8
  464. package/src/layout-grid/mdc-layout-grid.ts +67 -67
  465. package/src/layout-grid/styles/_index.scss +1 -1
  466. package/src/layout-grid/styles/mdc-layout-grid.import.scss +1 -1
  467. package/src/layout-grid/styles/mdc-layout-grid.scss +11 -11
  468. package/src/line-ripple/mdc-line-ripple.ts +41 -41
  469. package/src/linear-progress/mdc-linear-progress.html +12 -12
  470. package/src/linear-progress/mdc-linear-progress.ts +103 -103
  471. package/src/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.html +4 -4
  472. package/src/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.ts +18 -18
  473. package/src/list/mdc-deprecated-list/mdc-deprecated-list-group.ts +27 -27
  474. package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.ts +8 -8
  475. package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.ts +15 -15
  476. package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.ts +15 -15
  477. package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.html +8 -8
  478. package/src/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.ts +11 -11
  479. package/src/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.ts +11 -11
  480. package/src/list/mdc-deprecated-list/mdc-deprecated-list.html +15 -15
  481. package/src/list/mdc-deprecated-list/mdc-deprecated-list.ts +331 -331
  482. package/src/list/mdc-list-divider/mdc-list-divider.html +7 -7
  483. package/src/list/mdc-list-divider/mdc-list-divider.ts +24 -24
  484. package/src/list/mdc-list-group.ts +27 -27
  485. package/src/list/mdc-list-item/enhance-mdc-list-item.ts +8 -8
  486. package/src/list/mdc-list-item/mdc-list-item-leading.ts +34 -34
  487. package/src/list/mdc-list-item/mdc-list-item-trailing.ts +36 -36
  488. package/src/list/mdc-list-item/mdc-list-item.html +13 -13
  489. package/src/list/mdc-list-item-overline-text.ts +8 -8
  490. package/src/list/mdc-list-item-primary-text.ts +11 -11
  491. package/src/list/mdc-list-item-secondary-text.ts +11 -11
  492. package/src/list/mdc-list.html +5 -5
  493. package/src/list/mdc-list.ts +300 -300
  494. package/src/lookup/discardable-promise.ts +24 -24
  495. package/src/lookup/mdc-lookup-configuration.ts +11 -11
  496. package/src/lookup/mdc-lookup.html +27 -27
  497. package/src/lookup/mdc-lookup.ts +5 -5
  498. package/src/mdc-configuration.ts +2 -0
  499. package/src/menu/mdc-menu-selection-group-icon.ts +11 -11
  500. package/src/menu/mdc-menu-selection-group.ts +4 -4
  501. package/src/menu/mdc-menu.html +6 -6
  502. package/src/menu-surface/mdc-menu-surface-anchor.ts +12 -12
  503. package/src/menu-surface/mdc-menu-surface.ts +275 -275
  504. package/src/notched-outline/mdc-notched-outline.html +7 -7
  505. package/src/notched-outline/mdc-notched-outline.ts +60 -60
  506. package/src/radio/mdc-radio.html +9 -9
  507. package/src/radio/mdc-radio.ts +162 -162
  508. package/src/resource.d.ts +22 -22
  509. package/src/ripple/mdc-ripple.ts +114 -114
  510. package/src/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.ts +8 -8
  511. package/src/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.html +11 -11
  512. package/src/segmented-button/mdc-segmented-button.html +3 -3
  513. package/src/segmented-button/mdc-segmented-button.ts +89 -89
  514. package/src/select/mdc-default-select-configuration.ts +3 -3
  515. package/src/select/mdc-select-adapter-aurelia.ts +213 -213
  516. package/src/select/mdc-select-foundation-aurelia.ts +484 -484
  517. package/src/select/mdc-select-helper-text/mdc-select-helper-text.html +7 -7
  518. package/src/select/mdc-select-helper-text/mdc-select-helper-text.ts +55 -55
  519. package/src/select/mdc-select-icon.ts +41 -41
  520. package/src/select/mdc-select-value-observer.ts +347 -346
  521. package/src/select/mdc-select.html +38 -38
  522. package/src/select/mdc-select.ts +480 -480
  523. package/src/slider/mdc-slider-foundation-aurelia.ts +13 -13
  524. package/src/slider/mdc-slider.html +36 -36
  525. package/src/slider/mdc-slider.ts +409 -409
  526. package/src/slider/styles/_index.scss +1 -1
  527. package/src/slider/styles/mdc-slider.import.scss +1 -1
  528. package/src/slider/styles/mdc-slider.scss +8 -8
  529. package/src/snackbar/mdc-snackbar-service.ts +48 -48
  530. package/src/snackbar/mdc-snackbar.html +14 -14
  531. package/src/snackbar/mdc-snackbar.ts +109 -109
  532. package/src/switch/enhance-mdc-switch.ts +8 -8
  533. package/src/switch/mdc-switch.html +21 -21
  534. package/src/switch/mdc-switch.ts +86 -86
  535. package/src/tab-bar/indicator/mdc-tab-indicator.html +9 -9
  536. package/src/tab-bar/indicator/mdc-tab-indicator.ts +51 -51
  537. package/src/tab-bar/mdc-tab-bar.html +6 -6
  538. package/src/tab-bar/mdc-tab-bar.ts +119 -119
  539. package/src/tab-bar/scroller/mdc-tab-scroller.html +11 -11
  540. package/src/tab-bar/scroller/mdc-tab-scroller.ts +85 -85
  541. package/src/tab-bar/tab/mdc-tab.html +20 -20
  542. package/src/tab-bar/tab/mdc-tab.ts +118 -118
  543. package/src/text-field/enhance-mdc-text-field.ts +12 -12
  544. package/src/text-field/mdc-default-text-field-configuration.ts +3 -3
  545. package/src/text-field/mdc-inputmask.ts +45 -0
  546. package/src/text-field/mdc-text-field-character-counter.ts +32 -32
  547. package/src/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.html +7 -7
  548. package/src/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.ts +37 -37
  549. package/src/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.html +6 -6
  550. package/src/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.ts +47 -47
  551. package/src/text-field/mdc-text-field-icon.ts +59 -59
  552. package/src/text-field/mdc-text-field.html +29 -29
  553. package/src/text-field/mdc-text-field.ts +535 -535
  554. package/src/tooltip/mdc-default-tooltip-configuration.ts +5 -5
  555. package/src/tooltip/mdc-tooltip-attribute.ts +118 -118
  556. package/src/tooltip/mdc-tooltip.html +7 -7
  557. package/src/tooltip/mdc-tooltip.ts +6 -6
  558. package/src/top-app-bar/enhance-top-app-bar-actions.ts +9 -9
  559. package/src/top-app-bar/mdc-top-app-bar-action-item.ts +12 -12
  560. package/src/top-app-bar/mdc-top-app-bar-fixed-adjust.ts +13 -13
  561. package/src/top-app-bar/mdc-top-app-bar-nav-icon.ts +12 -12
  562. package/src/top-app-bar/mdc-top-app-bar-row.ts +7 -7
  563. package/src/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.html +3 -3
  564. package/src/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.ts +9 -9
  565. package/src/top-app-bar/mdc-top-app-bar-title.ts +7 -7
  566. package/src/top-app-bar/mdc-top-app-bar.html +9 -9
  567. package/src/top-app-bar/mdc-top-app-bar.ts +93 -93
  568. package/src/tree-view/i-tree-node.ts +8 -8
  569. package/src/tree-view/mdc-tree-node-meta.ts +11 -11
  570. package/src/tree-view/mdc-tree-node.ts +4 -4
  571. package/src/tree-view/node-filter.ts +12 -12
  572. package/src/tree-view/styles/_index.scss +1 -1
  573. package/src/tree-view/styles/_mixins.scss +145 -145
  574. package/src/tree-view/styles/_variables.scss +8 -8
  575. package/src/tree-view/styles/mdc-tree-view.import.scss +1 -1
  576. package/src/tree-view/styles/mdc-tree-view.scss +3 -3
  577. package/src/typography/mdc-typography.ts +130 -130
  578. package/src/validation/mdc-validation-controller-factory.ts +20 -20
  579. package/src/validation/mdc-validation-result-presenter.ts +36 -36
  580. package/src/validation/validate.ts +32 -0
  581. package/styles/mdc-all.scss +53 -52
  582. package/src/banner/doc/api.json +0 -1106
  583. package/src/base/doc/api.json +0 -1408
  584. package/src/button/doc/api.json +0 -621
  585. package/src/card/doc/api.json +0 -214
  586. package/src/checkbox/doc/api.json +0 -1320
  587. package/src/chips/doc/api.json +0 -2533
  588. package/src/circular-progress/doc/api.json +0 -1085
  589. package/src/data-table/doc/api.json +0 -2064
  590. package/src/dialog/doc/api.json +0 -1667
  591. package/src/drawer/doc/api.json +0 -1416
  592. package/src/elevation/doc/api.json +0 -317
  593. package/src/expandable/doc/api.json +0 -677
  594. package/src/fab/doc/api.json +0 -396
  595. package/src/floating-label/doc/api.json +0 -914
  596. package/src/form-field/doc/api.json +0 -948
  597. package/src/icon/doc/api.json +0 -224
  598. package/src/icon-button/doc/api.json +0 -1109
  599. package/src/image-list/doc/api.json +0 -438
  600. package/src/layout-grid/doc/api.json +0 -600
  601. package/src/line-ripple/doc/api.json +0 -857
  602. package/src/linear-progress/doc/api.json +0 -949
  603. package/src/list/doc/api.json +0 -5725
  604. package/src/lookup/doc/api.json +0 -2370
  605. package/src/menu/doc/api.json +0 -2246
  606. package/src/menu-surface/doc/api.json +0 -1800
  607. package/src/notched-outline/doc/api.json +0 -943
  608. package/src/radio/doc/api.json +0 -1159
  609. package/src/ripple/doc/api.json +0 -1212
  610. package/src/segmented-button/doc/api.json +0 -1937
  611. package/src/select/doc/api.json +0 -4247
  612. package/src/slider/doc/api.json +0 -1954
  613. package/src/snackbar/doc/api.json +0 -1699
  614. package/src/switch/doc/api.json +0 -899
  615. package/src/tab-bar/doc/api.json +0 -4253
  616. package/src/text-field/doc/api.json +0 -3179
  617. package/src/tooltip/doc/api.json +0 -2531
  618. package/src/top-app-bar/doc/api.json +0 -1752
  619. package/src/tree-view/doc/api.json +0 -1710
  620. package/src/typography/doc/api.json +0 -3058
  621. package/src/validation/doc/api.json +0 -371
@@ -1,22 +1,25 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { MdcComponent, booleanAttr, number } from '../base';
3
- import { MDCMenuFoundation, DefaultFocusState, strings, cssClasses } from '@material/menu';
4
- import { numbers as listConstants } from '@material/list/constants';
5
- import { closest } from '@material/dom/ponyfill';
6
- import { inject, customElement, bindable, BindingMode } from 'aurelia';
7
- import { CustomElement } from '@aurelia/runtime-html';
8
- import template from './mdc-menu.html?raw';
9
- strings.SELECTED_EVENT = strings.SELECTED_EVENT.toLowerCase();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MdcMenu = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const base_1 = require("../base");
6
+ const menu_1 = require("@material/menu");
7
+ const constants_1 = require("@material/list/constants");
8
+ const ponyfill_1 = require("@material/dom/ponyfill");
9
+ const aurelia_1 = require("aurelia");
10
+ const runtime_html_1 = require("@aurelia/runtime-html");
11
+ const mdc_menu_html_raw_1 = tslib_1.__importDefault(require("./mdc-menu.html?raw"));
12
+ menu_1.strings.SELECTED_EVENT = menu_1.strings.SELECTED_EVENT.toLowerCase();
10
13
  /**
11
14
  * @selector mdc-menu
12
15
  * @emits mdcmenu:selected | Indicates that a menu item has been selected
13
16
  */
14
17
  let MdcMenu = (() => {
15
- let _classDecorators = [inject(Element), customElement({ name: 'mdc-menu', template })];
18
+ let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customElement)({ name: 'mdc-menu', template: mdc_menu_html_raw_1.default })];
16
19
  let _classDescriptor;
17
20
  let _classExtraInitializers = [];
18
21
  let _classThis;
19
- let _classSuper = MdcComponent;
22
+ let _classSuper = base_1.MdcComponent;
20
23
  let _fixed_decorators;
21
24
  let _fixed_initializers = [];
22
25
  let _fixed_extraInitializers = [];
@@ -63,75 +66,75 @@ let MdcMenu = (() => {
63
66
  static { _classThis = this; }
64
67
  static {
65
68
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
66
- _fixed_decorators = [bindable({ set: booleanAttr })];
67
- _typeahead_decorators = [bindable({ set: booleanAttr })];
68
- _hoistToBody_decorators = [bindable({ set: booleanAttr, mode: BindingMode.oneTime })];
69
- _anchor_decorators = [bindable()];
70
- _defaultFocusState_decorators = [bindable()];
71
- _anchorCorner_decorators = [bindable()];
72
- _anchorMargin_decorators = [bindable()];
73
- _quickOpen_decorators = [bindable({ set: booleanAttr })];
74
- _stayOpenOnSelection_decorators = [bindable({ set: booleanAttr })];
75
- _maxHeight_decorators = [bindable()];
76
- _openBottomBias_decorators = [bindable({ set: number })];
77
- _skipRestoreFocus_decorators = [bindable({ set: booleanAttr })];
78
- _selectOnTab_decorators = [bindable({ set: booleanAttr })];
79
- _stayOpen_decorators = [bindable({ set: booleanAttr })];
80
- __esDecorate(null, null, _fixed_decorators, { kind: "field", name: "fixed", static: false, private: false, access: { has: obj => "fixed" in obj, get: obj => obj.fixed, set: (obj, value) => { obj.fixed = value; } }, metadata: _metadata }, _fixed_initializers, _fixed_extraInitializers);
81
- __esDecorate(null, null, _typeahead_decorators, { kind: "field", name: "typeahead", static: false, private: false, access: { has: obj => "typeahead" in obj, get: obj => obj.typeahead, set: (obj, value) => { obj.typeahead = value; } }, metadata: _metadata }, _typeahead_initializers, _typeahead_extraInitializers);
82
- __esDecorate(null, null, _hoistToBody_decorators, { kind: "field", name: "hoistToBody", static: false, private: false, access: { has: obj => "hoistToBody" in obj, get: obj => obj.hoistToBody, set: (obj, value) => { obj.hoistToBody = value; } }, metadata: _metadata }, _hoistToBody_initializers, _hoistToBody_extraInitializers);
83
- __esDecorate(null, null, _anchor_decorators, { kind: "field", name: "anchor", static: false, private: false, access: { has: obj => "anchor" in obj, get: obj => obj.anchor, set: (obj, value) => { obj.anchor = value; } }, metadata: _metadata }, _anchor_initializers, _anchor_extraInitializers);
84
- __esDecorate(null, null, _defaultFocusState_decorators, { kind: "field", name: "defaultFocusState", static: false, private: false, access: { has: obj => "defaultFocusState" in obj, get: obj => obj.defaultFocusState, set: (obj, value) => { obj.defaultFocusState = value; } }, metadata: _metadata }, _defaultFocusState_initializers, _defaultFocusState_extraInitializers);
85
- __esDecorate(null, null, _anchorCorner_decorators, { kind: "field", name: "anchorCorner", static: false, private: false, access: { has: obj => "anchorCorner" in obj, get: obj => obj.anchorCorner, set: (obj, value) => { obj.anchorCorner = value; } }, metadata: _metadata }, _anchorCorner_initializers, _anchorCorner_extraInitializers);
86
- __esDecorate(null, null, _anchorMargin_decorators, { kind: "field", name: "anchorMargin", static: false, private: false, access: { has: obj => "anchorMargin" in obj, get: obj => obj.anchorMargin, set: (obj, value) => { obj.anchorMargin = value; } }, metadata: _metadata }, _anchorMargin_initializers, _anchorMargin_extraInitializers);
87
- __esDecorate(null, null, _quickOpen_decorators, { kind: "field", name: "quickOpen", static: false, private: false, access: { has: obj => "quickOpen" in obj, get: obj => obj.quickOpen, set: (obj, value) => { obj.quickOpen = value; } }, metadata: _metadata }, _quickOpen_initializers, _quickOpen_extraInitializers);
88
- __esDecorate(null, null, _stayOpenOnSelection_decorators, { kind: "field", name: "stayOpenOnSelection", static: false, private: false, access: { has: obj => "stayOpenOnSelection" in obj, get: obj => obj.stayOpenOnSelection, set: (obj, value) => { obj.stayOpenOnSelection = value; } }, metadata: _metadata }, _stayOpenOnSelection_initializers, _stayOpenOnSelection_extraInitializers);
89
- __esDecorate(null, null, _maxHeight_decorators, { kind: "field", name: "maxHeight", static: false, private: false, access: { has: obj => "maxHeight" in obj, get: obj => obj.maxHeight, set: (obj, value) => { obj.maxHeight = value; } }, metadata: _metadata }, _maxHeight_initializers, _maxHeight_extraInitializers);
90
- __esDecorate(null, null, _openBottomBias_decorators, { kind: "field", name: "openBottomBias", static: false, private: false, access: { has: obj => "openBottomBias" in obj, get: obj => obj.openBottomBias, set: (obj, value) => { obj.openBottomBias = value; } }, metadata: _metadata }, _openBottomBias_initializers, _openBottomBias_extraInitializers);
91
- __esDecorate(null, null, _skipRestoreFocus_decorators, { kind: "field", name: "skipRestoreFocus", static: false, private: false, access: { has: obj => "skipRestoreFocus" in obj, get: obj => obj.skipRestoreFocus, set: (obj, value) => { obj.skipRestoreFocus = value; } }, metadata: _metadata }, _skipRestoreFocus_initializers, _skipRestoreFocus_extraInitializers);
92
- __esDecorate(null, null, _selectOnTab_decorators, { kind: "field", name: "selectOnTab", static: false, private: false, access: { has: obj => "selectOnTab" in obj, get: obj => obj.selectOnTab, set: (obj, value) => { obj.selectOnTab = value; } }, metadata: _metadata }, _selectOnTab_initializers, _selectOnTab_extraInitializers);
93
- __esDecorate(null, null, _stayOpen_decorators, { kind: "field", name: "stayOpen", static: false, private: false, access: { has: obj => "stayOpen" in obj, get: obj => obj.stayOpen, set: (obj, value) => { obj.stayOpen = value; } }, metadata: _metadata }, _stayOpen_initializers, _stayOpen_extraInitializers);
94
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
69
+ _fixed_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
70
+ _typeahead_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
71
+ _hoistToBody_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr, mode: aurelia_1.BindingMode.oneTime })];
72
+ _anchor_decorators = [(0, aurelia_1.bindable)()];
73
+ _defaultFocusState_decorators = [(0, aurelia_1.bindable)()];
74
+ _anchorCorner_decorators = [(0, aurelia_1.bindable)()];
75
+ _anchorMargin_decorators = [(0, aurelia_1.bindable)()];
76
+ _quickOpen_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
77
+ _stayOpenOnSelection_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
78
+ _maxHeight_decorators = [(0, aurelia_1.bindable)()];
79
+ _openBottomBias_decorators = [(0, aurelia_1.bindable)({ set: base_1.number })];
80
+ _skipRestoreFocus_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
81
+ _selectOnTab_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
82
+ _stayOpen_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
83
+ tslib_1.__esDecorate(null, null, _fixed_decorators, { kind: "field", name: "fixed", static: false, private: false, access: { has: obj => "fixed" in obj, get: obj => obj.fixed, set: (obj, value) => { obj.fixed = value; } }, metadata: _metadata }, _fixed_initializers, _fixed_extraInitializers);
84
+ tslib_1.__esDecorate(null, null, _typeahead_decorators, { kind: "field", name: "typeahead", static: false, private: false, access: { has: obj => "typeahead" in obj, get: obj => obj.typeahead, set: (obj, value) => { obj.typeahead = value; } }, metadata: _metadata }, _typeahead_initializers, _typeahead_extraInitializers);
85
+ tslib_1.__esDecorate(null, null, _hoistToBody_decorators, { kind: "field", name: "hoistToBody", static: false, private: false, access: { has: obj => "hoistToBody" in obj, get: obj => obj.hoistToBody, set: (obj, value) => { obj.hoistToBody = value; } }, metadata: _metadata }, _hoistToBody_initializers, _hoistToBody_extraInitializers);
86
+ tslib_1.__esDecorate(null, null, _anchor_decorators, { kind: "field", name: "anchor", static: false, private: false, access: { has: obj => "anchor" in obj, get: obj => obj.anchor, set: (obj, value) => { obj.anchor = value; } }, metadata: _metadata }, _anchor_initializers, _anchor_extraInitializers);
87
+ tslib_1.__esDecorate(null, null, _defaultFocusState_decorators, { kind: "field", name: "defaultFocusState", static: false, private: false, access: { has: obj => "defaultFocusState" in obj, get: obj => obj.defaultFocusState, set: (obj, value) => { obj.defaultFocusState = value; } }, metadata: _metadata }, _defaultFocusState_initializers, _defaultFocusState_extraInitializers);
88
+ tslib_1.__esDecorate(null, null, _anchorCorner_decorators, { kind: "field", name: "anchorCorner", static: false, private: false, access: { has: obj => "anchorCorner" in obj, get: obj => obj.anchorCorner, set: (obj, value) => { obj.anchorCorner = value; } }, metadata: _metadata }, _anchorCorner_initializers, _anchorCorner_extraInitializers);
89
+ tslib_1.__esDecorate(null, null, _anchorMargin_decorators, { kind: "field", name: "anchorMargin", static: false, private: false, access: { has: obj => "anchorMargin" in obj, get: obj => obj.anchorMargin, set: (obj, value) => { obj.anchorMargin = value; } }, metadata: _metadata }, _anchorMargin_initializers, _anchorMargin_extraInitializers);
90
+ tslib_1.__esDecorate(null, null, _quickOpen_decorators, { kind: "field", name: "quickOpen", static: false, private: false, access: { has: obj => "quickOpen" in obj, get: obj => obj.quickOpen, set: (obj, value) => { obj.quickOpen = value; } }, metadata: _metadata }, _quickOpen_initializers, _quickOpen_extraInitializers);
91
+ tslib_1.__esDecorate(null, null, _stayOpenOnSelection_decorators, { kind: "field", name: "stayOpenOnSelection", static: false, private: false, access: { has: obj => "stayOpenOnSelection" in obj, get: obj => obj.stayOpenOnSelection, set: (obj, value) => { obj.stayOpenOnSelection = value; } }, metadata: _metadata }, _stayOpenOnSelection_initializers, _stayOpenOnSelection_extraInitializers);
92
+ tslib_1.__esDecorate(null, null, _maxHeight_decorators, { kind: "field", name: "maxHeight", static: false, private: false, access: { has: obj => "maxHeight" in obj, get: obj => obj.maxHeight, set: (obj, value) => { obj.maxHeight = value; } }, metadata: _metadata }, _maxHeight_initializers, _maxHeight_extraInitializers);
93
+ tslib_1.__esDecorate(null, null, _openBottomBias_decorators, { kind: "field", name: "openBottomBias", static: false, private: false, access: { has: obj => "openBottomBias" in obj, get: obj => obj.openBottomBias, set: (obj, value) => { obj.openBottomBias = value; } }, metadata: _metadata }, _openBottomBias_initializers, _openBottomBias_extraInitializers);
94
+ tslib_1.__esDecorate(null, null, _skipRestoreFocus_decorators, { kind: "field", name: "skipRestoreFocus", static: false, private: false, access: { has: obj => "skipRestoreFocus" in obj, get: obj => obj.skipRestoreFocus, set: (obj, value) => { obj.skipRestoreFocus = value; } }, metadata: _metadata }, _skipRestoreFocus_initializers, _skipRestoreFocus_extraInitializers);
95
+ tslib_1.__esDecorate(null, null, _selectOnTab_decorators, { kind: "field", name: "selectOnTab", static: false, private: false, access: { has: obj => "selectOnTab" in obj, get: obj => obj.selectOnTab, set: (obj, value) => { obj.selectOnTab = value; } }, metadata: _metadata }, _selectOnTab_initializers, _selectOnTab_extraInitializers);
96
+ tslib_1.__esDecorate(null, null, _stayOpen_decorators, { kind: "field", name: "stayOpen", static: false, private: false, access: { has: obj => "stayOpen" in obj, get: obj => obj.stayOpen, set: (obj, value) => { obj.stayOpen = value; } }, metadata: _metadata }, _stayOpen_initializers, _stayOpen_extraInitializers);
97
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
95
98
  MdcMenu = _classThis = _classDescriptor.value;
96
99
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
97
- __runInitializers(_classThis, _classExtraInitializers);
100
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
98
101
  }
99
102
  menuSurface; // assigned in html
100
103
  // TODO: can we use child here?
101
104
  // @child('mdc-list')
102
105
  get list_() {
103
106
  const el = this.root.querySelector('mdc-list,mdc-deprecated-list');
104
- return el ? CustomElement.for(el).viewModel : undefined;
107
+ return el ? runtime_html_1.CustomElement.for(el).viewModel : undefined;
105
108
  }
106
109
  /** Used to indicate that the menu is using fixed positioning */
107
- fixed = __runInitializers(this, _fixed_initializers, void 0);
108
- typeahead = (__runInitializers(this, _fixed_extraInitializers), __runInitializers(this, _typeahead_initializers, void 0));
110
+ fixed = tslib_1.__runInitializers(this, _fixed_initializers, void 0);
111
+ typeahead = (tslib_1.__runInitializers(this, _fixed_extraInitializers), tslib_1.__runInitializers(this, _typeahead_initializers, void 0));
109
112
  typeaheadChanged() {
110
113
  if (this.list_ && this.typeahead !== undefined) {
111
114
  setTimeout(() => { this.list_.typeahead = this.typeahead; }, 0);
112
115
  }
113
116
  }
114
117
  /** Makes the menu element direct child of the body */
115
- hoistToBody = (__runInitializers(this, _typeahead_extraInitializers), __runInitializers(this, _hoistToBody_initializers, void 0));
118
+ hoistToBody = (tslib_1.__runInitializers(this, _typeahead_extraInitializers), tslib_1.__runInitializers(this, _hoistToBody_initializers, void 0));
116
119
  /** Set to indicate an element the menu should be anchored to */
117
- anchor = (__runInitializers(this, _hoistToBody_extraInitializers), __runInitializers(this, _anchor_initializers, void 0));
120
+ anchor = (tslib_1.__runInitializers(this, _hoistToBody_extraInitializers), tslib_1.__runInitializers(this, _anchor_initializers, void 0));
118
121
  /** Sets default focus state where the menu should focus every time when menu is opened. Focuses the list root ('list') element by default. */
119
- defaultFocusState = (__runInitializers(this, _anchor_extraInitializers), __runInitializers(this, _defaultFocusState_initializers, 'LIST_ROOT'));
122
+ defaultFocusState = (tslib_1.__runInitializers(this, _anchor_extraInitializers), tslib_1.__runInitializers(this, _defaultFocusState_initializers, 'LIST_ROOT'));
120
123
  defaultFocusStateChanged() {
121
- this.foundation?.setDefaultFocusState(DefaultFocusState[this.defaultFocusState]);
124
+ this.foundation?.setDefaultFocusState(menu_1.DefaultFocusState[this.defaultFocusState]);
122
125
  }
123
126
  /** Override the opening point of the menu. (Default: TOP_START) */
124
- anchorCorner = (__runInitializers(this, _defaultFocusState_extraInitializers), __runInitializers(this, _anchorCorner_initializers, void 0));
127
+ anchorCorner = (tslib_1.__runInitializers(this, _defaultFocusState_extraInitializers), tslib_1.__runInitializers(this, _anchorCorner_initializers, void 0));
125
128
  /** Sets the distance from the anchor point that the menu surface should be shown */
126
- anchorMargin = (__runInitializers(this, _anchorCorner_extraInitializers), __runInitializers(this, _anchorMargin_initializers, void 0));
129
+ anchorMargin = (tslib_1.__runInitializers(this, _anchorCorner_extraInitializers), tslib_1.__runInitializers(this, _anchorMargin_initializers, void 0));
127
130
  /** Sets whether the menu should open and close without animation when the open/close methods are called */
128
- quickOpen = (__runInitializers(this, _anchorMargin_extraInitializers), __runInitializers(this, _quickOpen_initializers, void 0));
131
+ quickOpen = (tslib_1.__runInitializers(this, _anchorMargin_extraInitializers), tslib_1.__runInitializers(this, _quickOpen_initializers, void 0));
129
132
  /** Sets whether the menu surface should stay open after item selection */
130
- stayOpenOnSelection = (__runInitializers(this, _quickOpen_extraInitializers), __runInitializers(this, _stayOpenOnSelection_initializers, void 0));
131
- maxHeight = (__runInitializers(this, _stayOpenOnSelection_extraInitializers), __runInitializers(this, _maxHeight_initializers, void 0));
132
- openBottomBias = (__runInitializers(this, _maxHeight_extraInitializers), __runInitializers(this, _openBottomBias_initializers, void 0));
133
+ stayOpenOnSelection = (tslib_1.__runInitializers(this, _quickOpen_extraInitializers), tslib_1.__runInitializers(this, _stayOpenOnSelection_initializers, void 0));
134
+ maxHeight = (tslib_1.__runInitializers(this, _stayOpenOnSelection_extraInitializers), tslib_1.__runInitializers(this, _maxHeight_initializers, void 0));
135
+ openBottomBias = (tslib_1.__runInitializers(this, _maxHeight_extraInitializers), tslib_1.__runInitializers(this, _openBottomBias_initializers, void 0));
133
136
  /** Sets whether focus should be restored after the menu is closed */
134
- skipRestoreFocus = (__runInitializers(this, _openBottomBias_extraInitializers), __runInitializers(this, _skipRestoreFocus_initializers, void 0));
137
+ skipRestoreFocus = (tslib_1.__runInitializers(this, _openBottomBias_extraInitializers), tslib_1.__runInitializers(this, _skipRestoreFocus_initializers, void 0));
135
138
  skipRestoreFocusChanged() {
136
139
  if (this.skipRestoreFocus) {
137
140
  this.root.setAttribute('data-menu-item-skip-restore-focus', 'true');
@@ -140,12 +143,12 @@ let MdcMenu = (() => {
140
143
  this.root.removeAttribute('data-menu-item-skip-restore-focus');
141
144
  }
142
145
  }
143
- selectOnTab = (__runInitializers(this, _skipRestoreFocus_extraInitializers), __runInitializers(this, _selectOnTab_initializers, void 0));
144
- stayOpen = (__runInitializers(this, _selectOnTab_extraInitializers), __runInitializers(this, _stayOpen_initializers, void 0));
146
+ selectOnTab = (tslib_1.__runInitializers(this, _skipRestoreFocus_extraInitializers), tslib_1.__runInitializers(this, _selectOnTab_initializers, void 0));
147
+ stayOpen = (tslib_1.__runInitializers(this, _selectOnTab_extraInitializers), tslib_1.__runInitializers(this, _stayOpen_initializers, void 0));
145
148
  handleKeydown_(evt) {
146
- const focusedItemIndex = this.list_?.foundation?.getFocusedItemIndex() ?? listConstants.UNSET_INDEX;
149
+ const focusedItemIndex = this.list_?.foundation?.getFocusedItemIndex() ?? constants_1.numbers.UNSET_INDEX;
147
150
  if (this.selectOnTab && (evt.key === 'Tab' || evt.keyCode === 9)
148
- && focusedItemIndex !== listConstants.UNSET_INDEX) {
151
+ && focusedItemIndex !== constants_1.numbers.UNSET_INDEX) {
149
152
  this.foundation?.handleItemAction(this.items[focusedItemIndex]);
150
153
  }
151
154
  else {
@@ -203,7 +206,7 @@ let MdcMenu = (() => {
203
206
  * radio lists, and an array of numbers for checkbox lists.
204
207
  */
205
208
  get selectedIndex() {
206
- return this.list_ ? this.list_.selectedIndex : listConstants.UNSET_INDEX;
209
+ return this.list_ ? this.list_.selectedIndex : constants_1.numbers.UNSET_INDEX;
207
210
  }
208
211
  /**
209
212
  * Sets the selected index of the list. Only applicable to select menus.
@@ -337,26 +340,26 @@ let MdcMenu = (() => {
337
340
  getElementIndex: (element) => this.items.indexOf(element),
338
341
  notifySelected: (evtData) => {
339
342
  const item = this.items[evtData.index];
340
- this.emit(strings.SELECTED_EVENT, { index: evtData.index, item, data: CustomElement.for(item).viewModel.value });
343
+ this.emit(menu_1.strings.SELECTED_EVENT, { index: evtData.index, item, data: runtime_html_1.CustomElement.for(item).viewModel.value });
341
344
  },
342
345
  getMenuItemCount: () => this.items.length,
343
346
  focusItemAtIndex: (index) => this.items[index].focus(),
344
- focusListRoot: () => this.root.querySelector(strings.LIST_SELECTOR).focus(),
345
- isSelectableItemAtIndex: (index) => !!closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`),
347
+ focusListRoot: () => this.root.querySelector(menu_1.strings.LIST_SELECTOR).focus(),
348
+ isSelectableItemAtIndex: (index) => !!(0, ponyfill_1.closest)(this.items[index], `.${menu_1.cssClasses.MENU_SELECTION_GROUP}`),
346
349
  getSelectedSiblingOfItemAtIndex: (index) => {
347
- const selectionGroupEl = closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`);
348
- const selectedItemEl = selectionGroupEl.querySelector(`.${cssClasses.MENU_SELECTED_LIST_ITEM}`);
350
+ const selectionGroupEl = (0, ponyfill_1.closest)(this.items[index], `.${menu_1.cssClasses.MENU_SELECTION_GROUP}`);
351
+ const selectedItemEl = selectionGroupEl.querySelector(`.${menu_1.cssClasses.MENU_SELECTED_LIST_ITEM}`);
349
352
  return selectedItemEl ? this.items.indexOf(selectedItemEl) : -1;
350
353
  },
351
354
  };
352
- return new MDCMenuFoundation(adapter);
355
+ return new menu_1.MDCMenuFoundation(adapter);
353
356
  }
354
357
  constructor() {
355
358
  super(...arguments);
356
- __runInitializers(this, _stayOpen_extraInitializers);
359
+ tslib_1.__runInitializers(this, _stayOpen_extraInitializers);
357
360
  }
358
361
  };
359
362
  return MdcMenu = _classThis;
360
363
  })();
361
- export { MdcMenu };
364
+ exports.MdcMenu = MdcMenu;
362
365
  //# sourceMappingURL=mdc-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-menu.js","sourceRoot":"","sources":["../../src/menu/mdc-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcComponent, booleanAttr, number } from '../base';\r\nimport { MDCMenuFoundation, DefaultFocusState, MDCMenuAdapter, Corner, MDCMenuItemComponentEventDetail, strings, cssClasses } from '@material/menu';\r\nimport { MDCListIndex } from '@material/list';\r\nimport { MDCMenuDistance } from '@material/menu-surface';\r\nimport { numbers as listConstants } from '@material/list/constants';\r\nimport { closest } from '@material/dom/ponyfill';\r\nimport { inject, customElement, bindable, BindingMode } from 'aurelia';\r\nimport { CustomElement } from '@aurelia/runtime-html';\r\nimport template from './mdc-menu.html?raw';\r\nimport { MdcList } from '../list/mdc-list';\r\nimport { IMdcListActionEvent, MdcListItem } from '../list/mdc-list-item/mdc-list-item';\r\nimport { MdcMenuSurface } from '../menu-surface/mdc-menu-surface';\r\n\r\nstrings.SELECTED_EVENT = strings.SELECTED_EVENT.toLowerCase();\r\n\r\n/**\r\n * @selector mdc-menu\r\n * @emits mdcmenu:selected | Indicates that a menu item has been selected\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-menu', template })\r\nexport class MdcMenu extends MdcComponent<MDCMenuFoundation> {\r\n menuSurface: MdcMenuSurface; // assigned in html\r\n\r\n // TODO: can we use child here?\r\n // @child('mdc-list')\r\n get list_(): MdcList | undefined {\r\n const el = this.root.querySelector('mdc-list,mdc-deprecated-list');\r\n return el ? CustomElement.for<MdcList>(el).viewModel : undefined;\r\n }\r\n\r\n /** Used to indicate that the menu is using fixed positioning */\r\n @bindable({ set: booleanAttr })\r\n fixed: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n typeahead?: boolean;\r\n typeaheadChanged() {\r\n if (this.list_ && this.typeahead !== undefined) {\r\n setTimeout(() => { this.list_!.typeahead = this.typeahead!; }, 0);\r\n }\r\n }\r\n\r\n /** Makes the menu element direct child of the body */\r\n @bindable({ set: booleanAttr, mode: BindingMode.oneTime })\r\n hoistToBody: boolean;\r\n\r\n /** Set to indicate an element the menu should be anchored to */\r\n @bindable()\r\n anchor?: Element | null;\r\n\r\n /** Sets default focus state where the menu should focus every time when menu is opened. Focuses the list root ('list') element by default. */\r\n @bindable()\r\n defaultFocusState: keyof typeof DefaultFocusState = 'LIST_ROOT';\r\n defaultFocusStateChanged() {\r\n this.foundation?.setDefaultFocusState(DefaultFocusState[this.defaultFocusState]);\r\n }\r\n\r\n /** Override the opening point of the menu. (Default: TOP_START) */\r\n @bindable()\r\n anchorCorner: keyof typeof Corner;\r\n\r\n /** Sets the distance from the anchor point that the menu surface should be shown */\r\n @bindable()\r\n anchorMargin: Partial<MDCMenuDistance>;\r\n\r\n /** Sets whether the menu should open and close without animation when the open/close methods are called */\r\n @bindable({ set: booleanAttr })\r\n quickOpen: boolean;\r\n\r\n /** Sets whether the menu surface should stay open after item selection */\r\n @bindable({ set: booleanAttr })\r\n stayOpenOnSelection: boolean;\r\n\r\n @bindable()\r\n maxHeight: number;\r\n\r\n @bindable({ set: number })\r\n openBottomBias: number;\r\n\r\n /** Sets whether focus should be restored after the menu is closed */\r\n @bindable({ set: booleanAttr })\r\n skipRestoreFocus: boolean;\r\n skipRestoreFocusChanged() {\r\n if (this.skipRestoreFocus) {\r\n this.root.setAttribute('data-menu-item-skip-restore-focus', 'true');\r\n } else {\r\n this.root.removeAttribute('data-menu-item-skip-restore-focus');\r\n }\r\n }\r\n\r\n @bindable({ set: booleanAttr })\r\n selectOnTab: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n stayOpen: boolean;\r\n\r\n handleKeydown_(evt: KeyboardEvent) {\r\n const focusedItemIndex = this.list_?.foundation?.getFocusedItemIndex() ?? listConstants.UNSET_INDEX;\r\n if (this.selectOnTab && (evt.key === 'Tab' || evt.keyCode === 9)\r\n && focusedItemIndex !== listConstants.UNSET_INDEX) {\r\n this.foundation?.handleItemAction(this.items[focusedItemIndex]);\r\n } else {\r\n this.foundation?.handleKeydown(evt);\r\n }\r\n return true;\r\n }\r\n\r\n handleItemAction_(evt: IMdcListActionEvent) {\r\n this.foundation?.handleItemAction(this.items[evt.detail.index]);\r\n return true;\r\n }\r\n\r\n handleMenuSurfaceOpened_() {\r\n this.foundation?.handleMenuSurfaceOpened();\r\n return true;\r\n }\r\n\r\n get open(): boolean {\r\n return this.menuSurface.open;\r\n }\r\n\r\n set open(value: boolean) {\r\n this.menuSurface.open = value;\r\n }\r\n\r\n /** Toggles the menu to open or close */\r\n toggle() {\r\n this.open = !this.open;\r\n }\r\n\r\n openAnchored(anchor: HTMLElement) {\r\n this.anchor = anchor;\r\n this.open = true;\r\n }\r\n\r\n get wrapFocus(): boolean {\r\n return this.list_ ? this.list_.wrapFocus : false;\r\n }\r\n\r\n set wrapFocus(value: boolean) {\r\n if (this.list_) {\r\n this.list_.wrapFocus = value;\r\n }\r\n }\r\n\r\n /**\r\n * @return Whether typeahead logic is currently matching some user prefix.\r\n */\r\n get typeaheadInProgress() {\r\n return this.list_ ? this.list_.typeaheadInProgress : false;\r\n }\r\n\r\n /**\r\n * Return the items within the menu. Note that this only contains the set of elements within\r\n * the items container that are proper list items, and not supplemental / presentational DOM\r\n * elements.\r\n */\r\n get items(): Element[] {\r\n return this.list_ ? this.list_.listElements : [];\r\n }\r\n\r\n /**\r\n * Retrieves the selected index. Only applicable to select menus.\r\n * @return The selected index, which is a number for single selection and\r\n * radio lists, and an array of numbers for checkbox lists.\r\n */\r\n get selectedIndex(): MDCListIndex {\r\n return this.list_ ? this.list_.selectedIndex : listConstants.UNSET_INDEX;\r\n }\r\n\r\n /**\r\n * Sets the selected index of the list. Only applicable to select menus.\r\n * @param index The selected index, which is a number for single selection and\r\n * radio lists, and an array of numbers for checkbox lists.\r\n */\r\n set selectedIndex(index: MDCListIndex) {\r\n if (this.list_) {\r\n this.list_.selectedIndex = index;\r\n }\r\n }\r\n\r\n attaching() {\r\n if (this.defaultFocusState !== undefined) {\r\n this.defaultFocusStateChanged();\r\n }\r\n if (this.hoistToBody) {\r\n // when menu is a direct body child there may be a vertical scrollbar briefly shown\r\n // when MDCMenuSurfaceFoundation.cssClasses.OPEN added to the menu surface\r\n // which breaks alignment\r\n this.root.style.position = 'fixed';\r\n }\r\n }\r\n\r\n initialSyncWithDOM() {\r\n this.typeaheadChanged();\r\n }\r\n\r\n /**\r\n * Given the next desired character from the user, adds it to the typeahead\r\n * buffer. Then, attempts to find the next option matching the buffer. Wraps\r\n * around if at the end of options.\r\n *\r\n * @param nextChar The next character to add to the prefix buffer.\r\n * @param startingIndex The index from which to start matching. Only relevant\r\n * when starting a new match sequence. To start a new match sequence,\r\n * clear the buffer using `clearTypeaheadBuffer`, or wait for the buffer\r\n * to clear after a set interval defined in list foundation. Defaults to\r\n * the currently focused index.\r\n * @return The index of the matched item, or -1 if no match.\r\n */\r\n typeaheadMatchItem(nextChar: string, startingIndex?: number): number {\r\n if (this.list_) {\r\n return this.list_.typeaheadMatchItem(nextChar, startingIndex);\r\n }\r\n return -1;\r\n }\r\n\r\n /**\r\n * Layout the underlying list element in the case of any dynamic updates\r\n * to its structure.\r\n */\r\n layout() {\r\n if (this.list_) {\r\n this.list_.layout();\r\n }\r\n }\r\n\r\n /**\r\n * @param corner Default anchor corner alignment of top-left menu corner.\r\n */\r\n setAnchorCorner(corner: Corner) {\r\n this.menuSurface.setAnchorCorner(corner);\r\n }\r\n\r\n /**\r\n * Sets the list item as the selected row at the specified index.\r\n * @param index Index of list item within menu.\r\n */\r\n setSelectedIndex(index: number) {\r\n this.foundation?.setSelectedIndex(index);\r\n }\r\n\r\n /**\r\n * Sets the enabled state to isEnabled for the menu item at the given index.\r\n * @param index Index of the menu item\r\n * @param isEnabled The desired enabled state of the menu item.\r\n */\r\n setEnabled(index: number, isEnabled: boolean): void {\r\n this.foundation?.setEnabled(index, isEnabled);\r\n }\r\n\r\n /**\r\n * @return The item within the menu at the index specified.\r\n */\r\n getOptionByIndex(index: number): Element | null {\r\n const items = this.items;\r\n\r\n if (index < items.length) {\r\n return this.items[index];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * @param index A menu item's index.\r\n * @return The primary text within the menu at the index specified.\r\n */\r\n getPrimaryTextAtIndex(index: number): string {\r\n const item = this.getOptionByIndex(index);\r\n if (item && this.list_) {\r\n return this.list_.getPrimaryText(item) || '';\r\n }\r\n return '';\r\n }\r\n\r\n setAbsolutePosition(x: number, y: number) {\r\n this.menuSurface.setAbsolutePosition(x, y);\r\n }\r\n\r\n getDefaultFoundation() {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n const adapter: MDCMenuAdapter = {\r\n addClassToElementAtIndex: (index, className) => {\r\n const list = this.items;\r\n list[index].classList.add(className);\r\n },\r\n removeClassFromElementAtIndex: (index, className) => {\r\n const list = this.items;\r\n list[index].classList.remove(className);\r\n },\r\n addAttributeToElementAtIndex: (index, attr, value) => {\r\n const list = this.items;\r\n list[index].setAttribute(attr, value);\r\n },\r\n removeAttributeFromElementAtIndex: (index, attr) => {\r\n const list = this.items;\r\n list[index].removeAttribute(attr);\r\n },\r\n getAttributeFromElementAtIndex: (index, attr) => {\r\n const list = this.items;\r\n return list[index].getAttribute(attr);\r\n },\r\n elementContainsClass: (element, className) => element.classList.contains(className),\r\n closeSurface: (skipRestoreFocus: boolean) => {\r\n if (!this.stayOpenOnSelection) {\r\n this.menuSurface?.close(skipRestoreFocus);\r\n }\r\n },\r\n getElementIndex: (element) => this.items.indexOf(element),\r\n notifySelected: (evtData) => {\r\n const item = this.items[evtData.index];\r\n this.emit<IMdcMenuItemComponentEventDetail>(strings.SELECTED_EVENT,\r\n { index: evtData.index, item, data: CustomElement.for<MdcListItem>(item).viewModel.value });\r\n },\r\n getMenuItemCount: () => this.items.length,\r\n focusItemAtIndex: (index) => (this.items[index] as HTMLElement).focus(),\r\n focusListRoot: () => (this.root.querySelector(strings.LIST_SELECTOR) as HTMLElement).focus(),\r\n isSelectableItemAtIndex: (index) => !!closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`),\r\n getSelectedSiblingOfItemAtIndex: (index) => {\r\n const selectionGroupEl = closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`) as HTMLElement;\r\n const selectedItemEl = selectionGroupEl.querySelector(`.${cssClasses.MENU_SELECTED_LIST_ITEM}`);\r\n return selectedItemEl ? this.items.indexOf(selectedItemEl) : -1;\r\n },\r\n };\r\n return new MDCMenuFoundation(adapter);\r\n }\r\n\r\n}\r\n\r\nexport interface IMdcMenuItemComponentEventDetail extends MDCMenuItemComponentEventDetail {\r\n data: unknown;\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcMenuItemComponentEvent extends Event {\r\n readonly detail: IMdcMenuItemComponentEventDetail;\r\n}\r\n"]}
1
+ {"version":3,"file":"mdc-menu.js","sourceRoot":"","sources":["../../src/menu/mdc-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcComponent, booleanAttr, number } from '../base';\r\nimport { MDCMenuFoundation, DefaultFocusState, MDCMenuAdapter, Corner, MDCMenuItemComponentEventDetail, strings, cssClasses } from '@material/menu';\r\nimport { MDCListIndex } from '@material/list';\r\nimport { MDCMenuDistance } from '@material/menu-surface';\r\nimport { numbers as listConstants } from '@material/list/constants';\r\nimport { closest } from '@material/dom/ponyfill';\r\nimport { inject, customElement, bindable, BindingMode } from 'aurelia';\r\nimport { CustomElement } from '@aurelia/runtime-html';\r\nimport template from './mdc-menu.html?raw';\r\nimport { MdcList } from '../list/mdc-list';\r\nimport { IMdcListActionEvent, MdcListItem } from '../list/mdc-list-item/mdc-list-item';\r\nimport { MdcMenuSurface } from '../menu-surface/mdc-menu-surface';\r\n\r\nstrings.SELECTED_EVENT = strings.SELECTED_EVENT.toLowerCase();\r\n\r\n/**\r\n * @selector mdc-menu\r\n * @emits mdcmenu:selected | Indicates that a menu item has been selected\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-menu', template })\r\nexport class MdcMenu extends MdcComponent<MDCMenuFoundation> {\r\n menuSurface: MdcMenuSurface; // assigned in html\r\n\r\n // TODO: can we use child here?\r\n // @child('mdc-list')\r\n get list_(): MdcList | undefined {\r\n const el = this.root.querySelector('mdc-list,mdc-deprecated-list');\r\n return el ? CustomElement.for<MdcList>(el).viewModel : undefined;\r\n }\r\n\r\n /** Used to indicate that the menu is using fixed positioning */\r\n @bindable({ set: booleanAttr })\r\n fixed: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n typeahead?: boolean;\r\n typeaheadChanged() {\r\n if (this.list_ && this.typeahead !== undefined) {\r\n setTimeout(() => { this.list_!.typeahead = this.typeahead!; }, 0);\r\n }\r\n }\r\n\r\n /** Makes the menu element direct child of the body */\r\n @bindable({ set: booleanAttr, mode: BindingMode.oneTime })\r\n hoistToBody: boolean;\r\n\r\n /** Set to indicate an element the menu should be anchored to */\r\n @bindable()\r\n anchor?: Element | null;\r\n\r\n /** Sets default focus state where the menu should focus every time when menu is opened. Focuses the list root ('list') element by default. */\r\n @bindable()\r\n defaultFocusState: keyof typeof DefaultFocusState = 'LIST_ROOT';\r\n defaultFocusStateChanged() {\r\n this.foundation?.setDefaultFocusState(DefaultFocusState[this.defaultFocusState]);\r\n }\r\n\r\n /** Override the opening point of the menu. (Default: TOP_START) */\r\n @bindable()\r\n anchorCorner: keyof typeof Corner;\r\n\r\n /** Sets the distance from the anchor point that the menu surface should be shown */\r\n @bindable()\r\n anchorMargin: Partial<MDCMenuDistance>;\r\n\r\n /** Sets whether the menu should open and close without animation when the open/close methods are called */\r\n @bindable({ set: booleanAttr })\r\n quickOpen: boolean;\r\n\r\n /** Sets whether the menu surface should stay open after item selection */\r\n @bindable({ set: booleanAttr })\r\n stayOpenOnSelection: boolean;\r\n\r\n @bindable()\r\n maxHeight: number;\r\n\r\n @bindable({ set: number })\r\n openBottomBias: number;\r\n\r\n /** Sets whether focus should be restored after the menu is closed */\r\n @bindable({ set: booleanAttr })\r\n skipRestoreFocus: boolean;\r\n skipRestoreFocusChanged() {\r\n if (this.skipRestoreFocus) {\r\n this.root.setAttribute('data-menu-item-skip-restore-focus', 'true');\r\n } else {\r\n this.root.removeAttribute('data-menu-item-skip-restore-focus');\r\n }\r\n }\r\n\r\n @bindable({ set: booleanAttr })\r\n selectOnTab: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n stayOpen: boolean;\r\n\r\n handleKeydown_(evt: KeyboardEvent) {\r\n const focusedItemIndex = this.list_?.foundation?.getFocusedItemIndex() ?? listConstants.UNSET_INDEX;\r\n if (this.selectOnTab && (evt.key === 'Tab' || evt.keyCode === 9)\r\n && focusedItemIndex !== listConstants.UNSET_INDEX) {\r\n this.foundation?.handleItemAction(this.items[focusedItemIndex]);\r\n } else {\r\n this.foundation?.handleKeydown(evt);\r\n }\r\n return true;\r\n }\r\n\r\n handleItemAction_(evt: IMdcListActionEvent) {\r\n this.foundation?.handleItemAction(this.items[evt.detail.index]);\r\n return true;\r\n }\r\n\r\n handleMenuSurfaceOpened_() {\r\n this.foundation?.handleMenuSurfaceOpened();\r\n return true;\r\n }\r\n\r\n get open(): boolean {\r\n return this.menuSurface.open;\r\n }\r\n\r\n set open(value: boolean) {\r\n this.menuSurface.open = value;\r\n }\r\n\r\n /** Toggles the menu to open or close */\r\n toggle() {\r\n this.open = !this.open;\r\n }\r\n\r\n openAnchored(anchor: HTMLElement) {\r\n this.anchor = anchor;\r\n this.open = true;\r\n }\r\n\r\n get wrapFocus(): boolean {\r\n return this.list_ ? this.list_.wrapFocus : false;\r\n }\r\n\r\n set wrapFocus(value: boolean) {\r\n if (this.list_) {\r\n this.list_.wrapFocus = value;\r\n }\r\n }\r\n\r\n /**\r\n * @return Whether typeahead logic is currently matching some user prefix.\r\n */\r\n get typeaheadInProgress() {\r\n return this.list_ ? this.list_.typeaheadInProgress : false;\r\n }\r\n\r\n /**\r\n * Return the items within the menu. Note that this only contains the set of elements within\r\n * the items container that are proper list items, and not supplemental / presentational DOM\r\n * elements.\r\n */\r\n get items(): Element[] {\r\n return this.list_ ? this.list_.listElements : [];\r\n }\r\n\r\n /**\r\n * Retrieves the selected index. Only applicable to select menus.\r\n * @return The selected index, which is a number for single selection and\r\n * radio lists, and an array of numbers for checkbox lists.\r\n */\r\n get selectedIndex(): MDCListIndex {\r\n return this.list_ ? this.list_.selectedIndex : listConstants.UNSET_INDEX;\r\n }\r\n\r\n /**\r\n * Sets the selected index of the list. Only applicable to select menus.\r\n * @param index The selected index, which is a number for single selection and\r\n * radio lists, and an array of numbers for checkbox lists.\r\n */\r\n set selectedIndex(index: MDCListIndex) {\r\n if (this.list_) {\r\n this.list_.selectedIndex = index;\r\n }\r\n }\r\n\r\n attaching() {\r\n if (this.defaultFocusState !== undefined) {\r\n this.defaultFocusStateChanged();\r\n }\r\n if (this.hoistToBody) {\r\n // when menu is a direct body child there may be a vertical scrollbar briefly shown\r\n // when MDCMenuSurfaceFoundation.cssClasses.OPEN added to the menu surface\r\n // which breaks alignment\r\n this.root.style.position = 'fixed';\r\n }\r\n }\r\n\r\n initialSyncWithDOM() {\r\n this.typeaheadChanged();\r\n }\r\n\r\n /**\r\n * Given the next desired character from the user, adds it to the typeahead\r\n * buffer. Then, attempts to find the next option matching the buffer. Wraps\r\n * around if at the end of options.\r\n *\r\n * @param nextChar The next character to add to the prefix buffer.\r\n * @param startingIndex The index from which to start matching. Only relevant\r\n * when starting a new match sequence. To start a new match sequence,\r\n * clear the buffer using `clearTypeaheadBuffer`, or wait for the buffer\r\n * to clear after a set interval defined in list foundation. Defaults to\r\n * the currently focused index.\r\n * @return The index of the matched item, or -1 if no match.\r\n */\r\n typeaheadMatchItem(nextChar: string, startingIndex?: number): number {\r\n if (this.list_) {\r\n return this.list_.typeaheadMatchItem(nextChar, startingIndex);\r\n }\r\n return -1;\r\n }\r\n\r\n /**\r\n * Layout the underlying list element in the case of any dynamic updates\r\n * to its structure.\r\n */\r\n layout() {\r\n if (this.list_) {\r\n this.list_.layout();\r\n }\r\n }\r\n\r\n /**\r\n * @param corner Default anchor corner alignment of top-left menu corner.\r\n */\r\n setAnchorCorner(corner: Corner) {\r\n this.menuSurface.setAnchorCorner(corner);\r\n }\r\n\r\n /**\r\n * Sets the list item as the selected row at the specified index.\r\n * @param index Index of list item within menu.\r\n */\r\n setSelectedIndex(index: number) {\r\n this.foundation?.setSelectedIndex(index);\r\n }\r\n\r\n /**\r\n * Sets the enabled state to isEnabled for the menu item at the given index.\r\n * @param index Index of the menu item\r\n * @param isEnabled The desired enabled state of the menu item.\r\n */\r\n setEnabled(index: number, isEnabled: boolean): void {\r\n this.foundation?.setEnabled(index, isEnabled);\r\n }\r\n\r\n /**\r\n * @return The item within the menu at the index specified.\r\n */\r\n getOptionByIndex(index: number): Element | null {\r\n const items = this.items;\r\n\r\n if (index < items.length) {\r\n return this.items[index];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * @param index A menu item's index.\r\n * @return The primary text within the menu at the index specified.\r\n */\r\n getPrimaryTextAtIndex(index: number): string {\r\n const item = this.getOptionByIndex(index);\r\n if (item && this.list_) {\r\n return this.list_.getPrimaryText(item) || '';\r\n }\r\n return '';\r\n }\r\n\r\n setAbsolutePosition(x: number, y: number) {\r\n this.menuSurface.setAbsolutePosition(x, y);\r\n }\r\n\r\n getDefaultFoundation() {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n const adapter: MDCMenuAdapter = {\r\n addClassToElementAtIndex: (index, className) => {\r\n const list = this.items;\r\n list[index].classList.add(className);\r\n },\r\n removeClassFromElementAtIndex: (index, className) => {\r\n const list = this.items;\r\n list[index].classList.remove(className);\r\n },\r\n addAttributeToElementAtIndex: (index, attr, value) => {\r\n const list = this.items;\r\n list[index].setAttribute(attr, value);\r\n },\r\n removeAttributeFromElementAtIndex: (index, attr) => {\r\n const list = this.items;\r\n list[index].removeAttribute(attr);\r\n },\r\n getAttributeFromElementAtIndex: (index, attr) => {\r\n const list = this.items;\r\n return list[index].getAttribute(attr);\r\n },\r\n elementContainsClass: (element, className) => element.classList.contains(className),\r\n closeSurface: (skipRestoreFocus: boolean) => {\r\n if (!this.stayOpenOnSelection) {\r\n this.menuSurface?.close(skipRestoreFocus);\r\n }\r\n },\r\n getElementIndex: (element) => this.items.indexOf(element),\r\n notifySelected: (evtData) => {\r\n const item = this.items[evtData.index];\r\n this.emit<IMdcMenuItemComponentEventDetail>(strings.SELECTED_EVENT,\r\n { index: evtData.index, item, data: CustomElement.for<MdcListItem>(item).viewModel.value });\r\n },\r\n getMenuItemCount: () => this.items.length,\r\n focusItemAtIndex: (index) => (this.items[index] as HTMLElement).focus(),\r\n focusListRoot: () => (this.root.querySelector(strings.LIST_SELECTOR) as HTMLElement).focus(),\r\n isSelectableItemAtIndex: (index) => !!closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`),\r\n getSelectedSiblingOfItemAtIndex: (index) => {\r\n const selectionGroupEl = closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`) as HTMLElement;\r\n const selectedItemEl = selectionGroupEl.querySelector(`.${cssClasses.MENU_SELECTED_LIST_ITEM}`);\r\n return selectedItemEl ? this.items.indexOf(selectedItemEl) : -1;\r\n },\r\n };\r\n return new MDCMenuFoundation(adapter);\r\n }\r\n\r\n}\r\n\r\nexport interface IMdcMenuItemComponentEventDetail extends MDCMenuItemComponentEventDetail {\r\n data: unknown;\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcMenuItemComponentEvent extends Event {\r\n readonly detail: IMdcMenuItemComponentEventDetail;\r\n}\r\n"]}
@@ -1,8 +1,11 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { inject, customAttribute } from 'aurelia';
3
- import { cssClasses } from '@material/menu-surface';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MdcMenuSurfaceAnchor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const aurelia_1 = require("aurelia");
6
+ const menu_surface_1 = require("@material/menu-surface");
4
7
  let MdcMenuSurfaceAnchor = (() => {
5
- let _classDecorators = [inject(Element), customAttribute('mdc-menu-surface-anchor')];
8
+ let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customAttribute)('mdc-menu-surface-anchor')];
6
9
  let _classDescriptor;
7
10
  let _classExtraInitializers = [];
8
11
  let _classThis;
@@ -10,20 +13,20 @@ let MdcMenuSurfaceAnchor = (() => {
10
13
  static { _classThis = this; }
11
14
  static {
12
15
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
13
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
16
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
14
17
  MdcMenuSurfaceAnchor = _classThis = _classDescriptor.value;
15
18
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
16
- __runInitializers(_classThis, _classExtraInitializers);
19
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
17
20
  }
18
21
  root;
19
22
  constructor(root) {
20
23
  this.root = root;
21
24
  }
22
25
  attached() {
23
- this.root.classList.add(cssClasses.ANCHOR);
26
+ this.root.classList.add(menu_surface_1.cssClasses.ANCHOR);
24
27
  }
25
28
  };
26
29
  return MdcMenuSurfaceAnchor = _classThis;
27
30
  })();
28
- export { MdcMenuSurfaceAnchor };
31
+ exports.MdcMenuSurfaceAnchor = MdcMenuSurfaceAnchor;
29
32
  //# sourceMappingURL=mdc-menu-surface-anchor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-menu-surface-anchor.js","sourceRoot":"","sources":["../../src/menu-surface/mdc-menu-surface-anchor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;IAIvC,oBAAoB;4BAFhC,MAAM,CAAC,OAAO,CAAC,EACf,eAAe,CAAC,yBAAyB,CAAC;;;;;;;;YAC3C,6KAMC;;;YANY,uDAAoB;;QACX,IAAI;QAAxB,YAAoB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;QAAI,CAAC;QAE1C,QAAQ;YACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;;;;SALU,oBAAoB","sourcesContent":["import { inject, customAttribute } from 'aurelia';\nimport { cssClasses } from '@material/menu-surface';\n\n@inject(Element)\n@customAttribute('mdc-menu-surface-anchor')\nexport class MdcMenuSurfaceAnchor {\n constructor(private root: HTMLElement) { }\n\n attached() {\n this.root.classList.add(cssClasses.ANCHOR);\n }\n}\n"]}
1
+ {"version":3,"file":"mdc-menu-surface-anchor.js","sourceRoot":"","sources":["../../src/menu-surface/mdc-menu-surface-anchor.ts"],"names":[],"mappings":";;;;AAAA,qCAAkD;AAClD,yDAAoD;IAIvC,oBAAoB;4BAFhC,IAAA,gBAAM,EAAC,OAAO,CAAC,EACf,IAAA,yBAAe,EAAC,yBAAyB,CAAC;;;;;;;;YAC3C,qLAMC;;;YANY,+DAAoB;;QACX,IAAI;QAAxB,YAAoB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;QAAI,CAAC;QAE1C,QAAQ;YACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;;;;AALU,oDAAoB","sourcesContent":["import { inject, customAttribute } from 'aurelia';\r\nimport { cssClasses } from '@material/menu-surface';\r\n\r\n@inject(Element)\r\n@customAttribute('mdc-menu-surface-anchor')\r\nexport class MdcMenuSurfaceAnchor {\r\n constructor(private root: HTMLElement) { }\r\n\r\n attached() {\r\n this.root.classList.add(cssClasses.ANCHOR);\r\n }\r\n}\r\n"]}