@aurelia-mdc-web/all 9.3.3-au2 → 9.3.4-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 (326) hide show
  1. package/dist/alert/alert-configuration.js +5 -9
  2. package/dist/alert/alert-configuration.js.map +1 -1
  3. package/dist/alert/alert-modal/alert-modal.js +8 -11
  4. package/dist/alert/alert-modal/alert-modal.js.map +1 -1
  5. package/dist/alert/alert-modal/alert-modal.scss +10 -0
  6. package/dist/alert/alert-modal/i-alert-modal-payload.js +1 -5
  7. package/dist/alert/alert-modal/i-alert-modal-payload.js.map +1 -1
  8. package/dist/alert/alert-service.js +23 -27
  9. package/dist/alert/alert-service.js.map +1 -1
  10. package/dist/alert/decorators/confirm-action.js +1 -4
  11. package/dist/alert/decorators/confirm-action.js.map +1 -1
  12. package/dist/alert/decorators/using-progress.js +1 -4
  13. package/dist/alert/decorators/using-progress.js.map +1 -1
  14. package/dist/alert/exceptions-tracker.js +1 -5
  15. package/dist/alert/exceptions-tracker.js.map +1 -1
  16. package/dist/alert/global-progress/global-progress.js +24 -27
  17. package/dist/alert/global-progress/global-progress.js.map +1 -1
  18. package/dist/alert/global-progress/global-progress.scss +38 -0
  19. package/dist/alert/prompt-dialog/prompt-dialog.js +9 -12
  20. package/dist/alert/prompt-dialog/prompt-dialog.js.map +1 -1
  21. package/dist/banner/mdc-banner.js +42 -45
  22. package/dist/banner/mdc-banner.js.map +1 -1
  23. package/dist/base/attributes/mdc-focus-trap.js +22 -25
  24. package/dist/base/attributes/mdc-focus-trap.js.map +1 -1
  25. package/dist/base/elements/i-validated-element.js +1 -2
  26. package/dist/base/elements/mdc-promisify-reference.js +13 -16
  27. package/dist/base/elements/mdc-promisify-reference.js.map +1 -1
  28. package/dist/base/index.js +9 -21
  29. package/dist/base/index.js.map +1 -1
  30. package/dist/base/interceptors.js +5 -12
  31. package/dist/base/interceptors.js.map +1 -1
  32. package/dist/base/material-palette.js +1 -4
  33. package/dist/base/material-palette.js.map +1 -1
  34. package/dist/base/mdc-component.js +1 -5
  35. package/dist/base/mdc-component.js.map +1 -1
  36. package/dist/base/next-element.js +1 -4
  37. package/dist/base/next-element.js.map +1 -1
  38. package/dist/button/enhance-mdc-button.js +6 -9
  39. package/dist/button/enhance-mdc-button.js.map +1 -1
  40. package/dist/button/mdc-button-label.js +6 -9
  41. package/dist/button/mdc-button-label.js.map +1 -1
  42. package/dist/button/mdc-button.js +27 -30
  43. package/dist/button/mdc-button.js.map +1 -1
  44. package/dist/card/mdc-card-action-buttons.js +6 -9
  45. package/dist/card/mdc-card-action-buttons.js.map +1 -1
  46. package/dist/card/mdc-card-action-icons.js +6 -9
  47. package/dist/card/mdc-card-action-icons.js.map +1 -1
  48. package/dist/card/mdc-card-actions/mdc-card-actions.js +12 -15
  49. package/dist/card/mdc-card-actions/mdc-card-actions.js.map +1 -1
  50. package/dist/card/mdc-card-media/mdc-card-media.js +15 -18
  51. package/dist/card/mdc-card-media/mdc-card-media.js.map +1 -1
  52. package/dist/card/mdc-card-primary-action.js +12 -15
  53. package/dist/card/mdc-card-primary-action.js.map +1 -1
  54. package/dist/card/mdc-card.js +12 -15
  55. package/dist/card/mdc-card.js.map +1 -1
  56. package/dist/checkbox/mdc-checkbox.js +35 -38
  57. package/dist/checkbox/mdc-checkbox.js.map +1 -1
  58. package/dist/chips/mdc-chip/mdc-chip.js +34 -37
  59. package/dist/chips/mdc-chip/mdc-chip.js.map +1 -1
  60. package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js +6 -9
  61. package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js.map +1 -1
  62. package/dist/chips/mdc-chip-action/mdc-chip-action.js +37 -40
  63. package/dist/chips/mdc-chip-action/mdc-chip-action.js.map +1 -1
  64. package/dist/chips/mdc-chip-set/mdc-chip-set.js +24 -27
  65. package/dist/chips/mdc-chip-set/mdc-chip-set.js.map +1 -1
  66. package/dist/chips/styles/_index.scss +1 -0
  67. package/dist/chips/styles/mdc-chips.import.scss +1 -0
  68. package/dist/chips/styles/mdc-chips.scss +11 -0
  69. package/dist/circular-progress/mdc-circular-progress.js +22 -25
  70. package/dist/circular-progress/mdc-circular-progress.js.map +1 -1
  71. package/dist/circular-progress/styles/_index.scss +1 -0
  72. package/dist/circular-progress/styles/mdc-circular-progress.import.scss +1 -0
  73. package/dist/circular-progress/styles/mdc-circular-progress.scss +14 -0
  74. package/dist/data-table/mdc-data-table-row.js +10 -13
  75. package/dist/data-table/mdc-data-table-row.js.map +1 -1
  76. package/dist/data-table/mdc-data-table.js +88 -91
  77. package/dist/data-table/mdc-data-table.js.map +1 -1
  78. package/dist/data-table/styles/_index.scss +1 -0
  79. package/dist/data-table/styles/mdc-data-table.import.scss +1 -0
  80. package/dist/data-table/styles/mdc-data-table.scss +64 -0
  81. package/dist/dialog/mdc-dialog-actions.js +10 -13
  82. package/dist/dialog/mdc-dialog-actions.js.map +1 -1
  83. package/dist/dialog/mdc-dialog-content.js +6 -9
  84. package/dist/dialog/mdc-dialog-content.js.map +1 -1
  85. package/dist/dialog/mdc-dialog-service.js +13 -17
  86. package/dist/dialog/mdc-dialog-service.js.map +1 -1
  87. package/dist/dialog/mdc-dialog-title.js +6 -9
  88. package/dist/dialog/mdc-dialog-title.js.map +1 -1
  89. package/dist/dialog/mdc-dialog.js +46 -49
  90. package/dist/dialog/mdc-dialog.js.map +1 -1
  91. package/dist/drawer/mdc-drawer-app-content.js +6 -9
  92. package/dist/drawer/mdc-drawer-app-content.js.map +1 -1
  93. package/dist/drawer/mdc-drawer-content.js +6 -9
  94. package/dist/drawer/mdc-drawer-content.js.map +1 -1
  95. package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js +14 -17
  96. package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js.map +1 -1
  97. package/dist/drawer/mdc-drawer.js +21 -24
  98. package/dist/drawer/mdc-drawer.js.map +1 -1
  99. package/dist/drawer/styles/_index.scss +1 -0
  100. package/dist/drawer/styles/mdc-drawer.import.scss +1 -0
  101. package/dist/drawer/styles/mdc-drawer.scss +0 -0
  102. package/dist/elevation/mdc-elevation.js +6 -9
  103. package/dist/elevation/mdc-elevation.js.map +1 -1
  104. package/dist/expandable/mdc-expandable.js +17 -20
  105. package/dist/expandable/mdc-expandable.js.map +1 -1
  106. package/dist/expandable/styles/_icon-variables.scss +3 -0
  107. package/dist/expandable/styles/_index.scss +1 -0
  108. package/dist/expandable/styles/_mixins.scss +287 -0
  109. package/dist/expandable/styles/_variables.scss +17 -0
  110. package/dist/expandable/styles/mdc-expandable.import.scss +1 -0
  111. package/dist/expandable/styles/mdc-expandable.scss +3 -0
  112. package/dist/fab/enhance-mdc-fab.js +6 -9
  113. package/dist/fab/enhance-mdc-fab.js.map +1 -1
  114. package/dist/fab/mdc-fab-icon.js +6 -9
  115. package/dist/fab/mdc-fab-icon.js.map +1 -1
  116. package/dist/fab/mdc-fab.js +30 -33
  117. package/dist/fab/mdc-fab.js.map +1 -1
  118. package/dist/floating-label/mdc-floating-label.js +13 -16
  119. package/dist/floating-label/mdc-floating-label.js.map +1 -1
  120. package/dist/form-field/mdc-form-field.js +24 -27
  121. package/dist/form-field/mdc-form-field.js.map +1 -1
  122. package/dist/icon/mdc-icon.js +7 -10
  123. package/dist/icon/mdc-icon.js.map +1 -1
  124. package/dist/icon-button/enhance-mdc-icon-button.js +6 -9
  125. package/dist/icon-button/enhance-mdc-icon-button.js.map +1 -1
  126. package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js +15 -18
  127. package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js.map +1 -1
  128. package/dist/icon-button/mdc-icon-button.js +25 -28
  129. package/dist/icon-button/mdc-icon-button.js.map +1 -1
  130. package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js +19 -22
  131. package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js.map +1 -1
  132. package/dist/image-list/mdc-image-list.js +18 -21
  133. package/dist/image-list/mdc-image-list.js.map +1 -1
  134. package/dist/image-list/styles/_index.scss +1 -0
  135. package/dist/image-list/styles/mdc-image-list.import.scss +1 -0
  136. package/dist/image-list/styles/mdc-image-list.scss +7 -0
  137. package/dist/index.js +151 -297
  138. package/dist/index.js.map +1 -1
  139. package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js +33 -36
  140. package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js.map +1 -1
  141. package/dist/layout-grid/mdc-layout-grid-inner.js +6 -9
  142. package/dist/layout-grid/mdc-layout-grid-inner.js.map +1 -1
  143. package/dist/layout-grid/mdc-layout-grid.js +30 -33
  144. package/dist/layout-grid/mdc-layout-grid.js.map +1 -1
  145. package/dist/layout-grid/styles/_index.scss +1 -0
  146. package/dist/layout-grid/styles/mdc-layout-grid.import.scss +1 -0
  147. package/dist/layout-grid/styles/mdc-layout-grid.scss +11 -0
  148. package/dist/line-ripple/mdc-line-ripple.js +10 -13
  149. package/dist/line-ripple/mdc-line-ripple.js.map +1 -1
  150. package/dist/linear-progress/mdc-linear-progress.js +23 -26
  151. package/dist/linear-progress/mdc-linear-progress.js.map +1 -1
  152. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js +15 -18
  153. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js.map +1 -1
  154. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-group.js +14 -17
  155. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-group.js.map +1 -1
  156. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.js +6 -9
  157. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.js.map +1 -1
  158. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.js +6 -9
  159. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.js.map +1 -1
  160. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.js +6 -9
  161. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.js.map +1 -1
  162. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js +25 -28
  163. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js.map +1 -1
  164. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.js +6 -9
  165. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.js.map +1 -1
  166. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.js +6 -9
  167. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.js.map +1 -1
  168. package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js +75 -78
  169. package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js.map +1 -1
  170. package/dist/list/mdc-list-divider/mdc-list-divider.js +18 -21
  171. package/dist/list/mdc-list-divider/mdc-list-divider.js.map +1 -1
  172. package/dist/list/mdc-list-group.js +14 -17
  173. package/dist/list/mdc-list-group.js.map +1 -1
  174. package/dist/list/mdc-list-item/enhance-mdc-list-item.js +6 -9
  175. package/dist/list/mdc-list-item/enhance-mdc-list-item.js.map +1 -1
  176. package/dist/list/mdc-list-item/mdc-list-item-leading.js +6 -9
  177. package/dist/list/mdc-list-item/mdc-list-item-leading.js.map +1 -1
  178. package/dist/list/mdc-list-item/mdc-list-item-trailing.js +6 -9
  179. package/dist/list/mdc-list-item/mdc-list-item-trailing.js.map +1 -1
  180. package/dist/list/mdc-list-item/mdc-list-item.js +37 -40
  181. package/dist/list/mdc-list-item/mdc-list-item.js.map +1 -1
  182. package/dist/list/mdc-list-item-overline-text.js +6 -9
  183. package/dist/list/mdc-list-item-overline-text.js.map +1 -1
  184. package/dist/list/mdc-list-item-primary-text.js +6 -9
  185. package/dist/list/mdc-list-item-primary-text.js.map +1 -1
  186. package/dist/list/mdc-list-item-secondary-text.js +6 -9
  187. package/dist/list/mdc-list-item-secondary-text.js.map +1 -1
  188. package/dist/list/mdc-list.js +55 -58
  189. package/dist/list/mdc-list.js.map +1 -1
  190. package/dist/list/styles/_index.scss +1 -0
  191. package/dist/list/styles/mdc-list.import.scss +1 -0
  192. package/dist/list/styles/mdc-list.scss +6 -0
  193. package/dist/lookup/discardable-promise.js +1 -5
  194. package/dist/lookup/discardable-promise.js.map +1 -1
  195. package/dist/lookup/mdc-lookup-configuration.js +1 -5
  196. package/dist/lookup/mdc-lookup-configuration.js.map +1 -1
  197. package/dist/lookup/mdc-lookup.js +66 -69
  198. package/dist/lookup/mdc-lookup.js.map +1 -1
  199. package/dist/mdc-configuration.js +11 -15
  200. package/dist/mdc-configuration.js.map +1 -1
  201. package/dist/menu/mdc-menu-selection-group-icon.js +6 -9
  202. package/dist/menu/mdc-menu-selection-group-icon.js.map +1 -1
  203. package/dist/menu/mdc-menu-selection-group.js +6 -9
  204. package/dist/menu/mdc-menu-selection-group.js.map +1 -1
  205. package/dist/menu/mdc-menu.js +68 -71
  206. package/dist/menu/mdc-menu.js.map +1 -1
  207. package/dist/menu-surface/mdc-menu-surface-anchor.js +8 -11
  208. package/dist/menu-surface/mdc-menu-surface-anchor.js.map +1 -1
  209. package/dist/menu-surface/mdc-menu-surface.js +58 -61
  210. package/dist/menu-surface/mdc-menu-surface.js.map +1 -1
  211. package/dist/notched-outline/mdc-notched-outline.js +17 -20
  212. package/dist/notched-outline/mdc-notched-outline.js.map +1 -1
  213. package/dist/radio/mdc-radio.js +24 -27
  214. package/dist/radio/mdc-radio.js.map +1 -1
  215. package/dist/ripple/mdc-ripple.js +48 -51
  216. package/dist/ripple/mdc-ripple.js.map +1 -1
  217. package/dist/ripple/styles/_index.scss +1 -0
  218. package/dist/ripple/styles/mdc-ripple.import.scss +1 -0
  219. package/dist/ripple/styles/mdc-ripple.scss +10 -0
  220. package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js +6 -9
  221. package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js.map +1 -1
  222. package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js +24 -27
  223. package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js.map +1 -1
  224. package/dist/segmented-button/mdc-segmented-button.js +21 -24
  225. package/dist/segmented-button/mdc-segmented-button.js.map +1 -1
  226. package/dist/select/mdc-default-select-configuration.js +1 -5
  227. package/dist/select/mdc-default-select-configuration.js.map +1 -1
  228. package/dist/select/mdc-select-adapter-aurelia.js +1 -2
  229. package/dist/select/mdc-select-adapter-aurelia.js.map +1 -1
  230. package/dist/select/mdc-select-foundation-aurelia.js +43 -47
  231. package/dist/select/mdc-select-foundation-aurelia.js.map +1 -1
  232. package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js +24 -27
  233. package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js.map +1 -1
  234. package/dist/select/mdc-select-icon.js +13 -16
  235. package/dist/select/mdc-select-icon.js.map +1 -1
  236. package/dist/select/mdc-select-value-observer.js +11 -14
  237. package/dist/select/mdc-select-value-observer.js.map +1 -1
  238. package/dist/select/mdc-select.js +64 -67
  239. package/dist/select/mdc-select.js.map +1 -1
  240. package/dist/slider/mdc-slider-foundation-aurelia.js +2 -6
  241. package/dist/slider/mdc-slider-foundation-aurelia.js.map +1 -1
  242. package/dist/slider/mdc-slider.js +76 -79
  243. package/dist/slider/mdc-slider.js.map +1 -1
  244. package/dist/slider/styles/_index.scss +1 -0
  245. package/dist/slider/styles/mdc-slider.import.scss +1 -0
  246. package/dist/slider/styles/mdc-slider.scss +8 -0
  247. package/dist/snackbar/mdc-snackbar-service.js +4 -8
  248. package/dist/snackbar/mdc-snackbar-service.js.map +1 -1
  249. package/dist/snackbar/mdc-snackbar.js +52 -55
  250. package/dist/snackbar/mdc-snackbar.js.map +1 -1
  251. package/dist/switch/enhance-mdc-switch.js +6 -9
  252. package/dist/switch/enhance-mdc-switch.js.map +1 -1
  253. package/dist/switch/mdc-switch.js +13 -16
  254. package/dist/switch/mdc-switch.js.map +1 -1
  255. package/dist/tab-bar/indicator/mdc-tab-indicator.js +23 -26
  256. package/dist/tab-bar/indicator/mdc-tab-indicator.js.map +1 -1
  257. package/dist/tab-bar/mdc-tab-bar.js +26 -29
  258. package/dist/tab-bar/mdc-tab-bar.js.map +1 -1
  259. package/dist/tab-bar/scroller/mdc-tab-scroller.js +22 -25
  260. package/dist/tab-bar/scroller/mdc-tab-scroller.js.map +1 -1
  261. package/dist/tab-bar/tab/mdc-tab.js +41 -44
  262. package/dist/tab-bar/tab/mdc-tab.js.map +1 -1
  263. package/dist/text-field/enhance-mdc-text-field.js +6 -9
  264. package/dist/text-field/enhance-mdc-text-field.js.map +1 -1
  265. package/dist/text-field/mdc-default-text-field-configuration.js +1 -5
  266. package/dist/text-field/mdc-default-text-field-configuration.js.map +1 -1
  267. package/dist/text-field/mdc-inputmask.js +12 -15
  268. package/dist/text-field/mdc-inputmask.js.map +1 -1
  269. package/dist/text-field/mdc-text-field-character-counter.js +10 -13
  270. package/dist/text-field/mdc-text-field-character-counter.js.map +1 -1
  271. package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js +11 -14
  272. package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js.map +1 -1
  273. package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js +19 -22
  274. package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js.map +1 -1
  275. package/dist/text-field/mdc-text-field-icon.js +19 -22
  276. package/dist/text-field/mdc-text-field-icon.js.map +1 -1
  277. package/dist/text-field/mdc-text-field.js +109 -112
  278. package/dist/text-field/mdc-text-field.js.map +1 -1
  279. package/dist/text-field/styles/_index.scss +1 -0
  280. package/dist/text-field/styles/mdc-text-field.import.scss +1 -0
  281. package/dist/text-field/styles/mdc-text-field.scss +8 -0
  282. package/dist/tooltip/mdc-default-tooltip-configuration.js +1 -5
  283. package/dist/tooltip/mdc-default-tooltip-configuration.js.map +1 -1
  284. package/dist/tooltip/mdc-tooltip-attribute.js +36 -39
  285. package/dist/tooltip/mdc-tooltip-attribute.js.map +1 -1
  286. package/dist/tooltip/mdc-tooltip.js +57 -60
  287. package/dist/tooltip/mdc-tooltip.js.map +1 -1
  288. package/dist/top-app-bar/enhance-top-app-bar-actions.js +6 -9
  289. package/dist/top-app-bar/enhance-top-app-bar-actions.js.map +1 -1
  290. package/dist/top-app-bar/mdc-top-app-bar-action-item.js +6 -9
  291. package/dist/top-app-bar/mdc-top-app-bar-action-item.js.map +1 -1
  292. package/dist/top-app-bar/mdc-top-app-bar-fixed-adjust.js +6 -9
  293. package/dist/top-app-bar/mdc-top-app-bar-fixed-adjust.js.map +1 -1
  294. package/dist/top-app-bar/mdc-top-app-bar-nav-icon.js +6 -9
  295. package/dist/top-app-bar/mdc-top-app-bar-nav-icon.js.map +1 -1
  296. package/dist/top-app-bar/mdc-top-app-bar-row.js +6 -9
  297. package/dist/top-app-bar/mdc-top-app-bar-row.js.map +1 -1
  298. package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js +12 -15
  299. package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js.map +1 -1
  300. package/dist/top-app-bar/mdc-top-app-bar-title.js +6 -9
  301. package/dist/top-app-bar/mdc-top-app-bar-title.js.map +1 -1
  302. package/dist/top-app-bar/mdc-top-app-bar.js +40 -43
  303. package/dist/top-app-bar/mdc-top-app-bar.js.map +1 -1
  304. package/dist/tree-view/i-tree-node.js +1 -2
  305. package/dist/tree-view/mdc-tree-node-meta.js +6 -9
  306. package/dist/tree-view/mdc-tree-node-meta.js.map +1 -1
  307. package/dist/tree-view/mdc-tree-node.js +6 -9
  308. package/dist/tree-view/mdc-tree-node.js.map +1 -1
  309. package/dist/tree-view/mdc-tree-view.js +25 -29
  310. package/dist/tree-view/mdc-tree-view.js.map +1 -1
  311. package/dist/tree-view/node-filter.js +6 -9
  312. package/dist/tree-view/node-filter.js.map +1 -1
  313. package/dist/tree-view/styles/_index.scss +1 -0
  314. package/dist/tree-view/styles/_mixins.scss +145 -0
  315. package/dist/tree-view/styles/_variables.scss +8 -0
  316. package/dist/tree-view/styles/mdc-tree-view.import.scss +1 -0
  317. package/dist/tree-view/styles/mdc-tree-view.scss +3 -0
  318. package/dist/typography/mdc-typography.js +57 -60
  319. package/dist/typography/mdc-typography.js.map +1 -1
  320. package/dist/validation/mdc-validation-controller-factory.js +6 -10
  321. package/dist/validation/mdc-validation-controller-factory.js.map +1 -1
  322. package/dist/validation/mdc-validation-result-presenter.js +1 -5
  323. package/dist/validation/mdc-validation-result-presenter.js.map +1 -1
  324. package/dist/validation/validate.js +1 -4
  325. package/dist/validation/validate.js.map +1 -1
  326. package/package.json +2 -2
@@ -1,25 +1,22 @@
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();
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();
13
10
  /**
14
11
  * @selector mdc-menu
15
12
  * @emits mdcmenu:selected | Indicates that a menu item has been selected
16
13
  */
17
14
  let MdcMenu = (() => {
18
- let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customElement)({ name: 'mdc-menu', template: mdc_menu_html_raw_1.default })];
15
+ let _classDecorators = [inject(Element), customElement({ name: 'mdc-menu', template })];
19
16
  let _classDescriptor;
20
17
  let _classExtraInitializers = [];
21
18
  let _classThis;
22
- let _classSuper = base_1.MdcComponent;
19
+ let _classSuper = MdcComponent;
23
20
  let _fixed_decorators;
24
21
  let _fixed_initializers = [];
25
22
  let _fixed_extraInitializers = [];
@@ -66,75 +63,75 @@ let MdcMenu = (() => {
66
63
  static { _classThis = this; }
67
64
  static {
68
65
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
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);
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);
98
95
  MdcMenu = _classThis = _classDescriptor.value;
99
96
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
100
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
97
+ __runInitializers(_classThis, _classExtraInitializers);
101
98
  }
102
99
  menuSurface; // assigned in html
103
100
  // TODO: can we use child here?
104
101
  // @child('mdc-list')
105
102
  get list_() {
106
103
  const el = this.root.querySelector('mdc-list,mdc-deprecated-list');
107
- return el ? runtime_html_1.CustomElement.for(el).viewModel : undefined;
104
+ return el ? CustomElement.for(el).viewModel : undefined;
108
105
  }
109
106
  /** Used to indicate that the menu is using fixed positioning */
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));
107
+ fixed = __runInitializers(this, _fixed_initializers, void 0);
108
+ typeahead = (__runInitializers(this, _fixed_extraInitializers), __runInitializers(this, _typeahead_initializers, void 0));
112
109
  typeaheadChanged() {
113
110
  if (this.list_ && this.typeahead !== undefined) {
114
111
  setTimeout(() => { this.list_.typeahead = this.typeahead; }, 0);
115
112
  }
116
113
  }
117
114
  /** Makes the menu element direct child of the body */
118
- hoistToBody = (tslib_1.__runInitializers(this, _typeahead_extraInitializers), tslib_1.__runInitializers(this, _hoistToBody_initializers, void 0));
115
+ hoistToBody = (__runInitializers(this, _typeahead_extraInitializers), __runInitializers(this, _hoistToBody_initializers, void 0));
119
116
  /** Set to indicate an element the menu should be anchored to */
120
- anchor = (tslib_1.__runInitializers(this, _hoistToBody_extraInitializers), tslib_1.__runInitializers(this, _anchor_initializers, void 0));
117
+ anchor = (__runInitializers(this, _hoistToBody_extraInitializers), __runInitializers(this, _anchor_initializers, void 0));
121
118
  /** Sets default focus state where the menu should focus every time when menu is opened. Focuses the list root ('list') element by default. */
122
- defaultFocusState = (tslib_1.__runInitializers(this, _anchor_extraInitializers), tslib_1.__runInitializers(this, _defaultFocusState_initializers, 'LIST_ROOT'));
119
+ defaultFocusState = (__runInitializers(this, _anchor_extraInitializers), __runInitializers(this, _defaultFocusState_initializers, 'LIST_ROOT'));
123
120
  defaultFocusStateChanged() {
124
- this.foundation?.setDefaultFocusState(menu_1.DefaultFocusState[this.defaultFocusState]);
121
+ this.foundation?.setDefaultFocusState(DefaultFocusState[this.defaultFocusState]);
125
122
  }
126
123
  /** Override the opening point of the menu. (Default: TOP_START) */
127
- anchorCorner = (tslib_1.__runInitializers(this, _defaultFocusState_extraInitializers), tslib_1.__runInitializers(this, _anchorCorner_initializers, void 0));
124
+ anchorCorner = (__runInitializers(this, _defaultFocusState_extraInitializers), __runInitializers(this, _anchorCorner_initializers, void 0));
128
125
  /** Sets the distance from the anchor point that the menu surface should be shown */
129
- anchorMargin = (tslib_1.__runInitializers(this, _anchorCorner_extraInitializers), tslib_1.__runInitializers(this, _anchorMargin_initializers, void 0));
126
+ anchorMargin = (__runInitializers(this, _anchorCorner_extraInitializers), __runInitializers(this, _anchorMargin_initializers, void 0));
130
127
  /** Sets whether the menu should open and close without animation when the open/close methods are called */
131
- quickOpen = (tslib_1.__runInitializers(this, _anchorMargin_extraInitializers), tslib_1.__runInitializers(this, _quickOpen_initializers, void 0));
128
+ quickOpen = (__runInitializers(this, _anchorMargin_extraInitializers), __runInitializers(this, _quickOpen_initializers, void 0));
132
129
  /** Sets whether the menu surface should stay open after item selection */
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));
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));
136
133
  /** Sets whether focus should be restored after the menu is closed */
137
- skipRestoreFocus = (tslib_1.__runInitializers(this, _openBottomBias_extraInitializers), tslib_1.__runInitializers(this, _skipRestoreFocus_initializers, void 0));
134
+ skipRestoreFocus = (__runInitializers(this, _openBottomBias_extraInitializers), __runInitializers(this, _skipRestoreFocus_initializers, void 0));
138
135
  skipRestoreFocusChanged() {
139
136
  if (this.skipRestoreFocus) {
140
137
  this.root.setAttribute('data-menu-item-skip-restore-focus', 'true');
@@ -143,12 +140,12 @@ let MdcMenu = (() => {
143
140
  this.root.removeAttribute('data-menu-item-skip-restore-focus');
144
141
  }
145
142
  }
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));
143
+ selectOnTab = (__runInitializers(this, _skipRestoreFocus_extraInitializers), __runInitializers(this, _selectOnTab_initializers, void 0));
144
+ stayOpen = (__runInitializers(this, _selectOnTab_extraInitializers), __runInitializers(this, _stayOpen_initializers, void 0));
148
145
  handleKeydown_(evt) {
149
- const focusedItemIndex = this.list_?.foundation?.getFocusedItemIndex() ?? constants_1.numbers.UNSET_INDEX;
146
+ const focusedItemIndex = this.list_?.foundation?.getFocusedItemIndex() ?? listConstants.UNSET_INDEX;
150
147
  if (this.selectOnTab && (evt.key === 'Tab' || evt.keyCode === 9)
151
- && focusedItemIndex !== constants_1.numbers.UNSET_INDEX) {
148
+ && focusedItemIndex !== listConstants.UNSET_INDEX) {
152
149
  this.foundation?.handleItemAction(this.items[focusedItemIndex]);
153
150
  }
154
151
  else {
@@ -206,7 +203,7 @@ let MdcMenu = (() => {
206
203
  * radio lists, and an array of numbers for checkbox lists.
207
204
  */
208
205
  get selectedIndex() {
209
- return this.list_ ? this.list_.selectedIndex : constants_1.numbers.UNSET_INDEX;
206
+ return this.list_ ? this.list_.selectedIndex : listConstants.UNSET_INDEX;
210
207
  }
211
208
  /**
212
209
  * Sets the selected index of the list. Only applicable to select menus.
@@ -340,26 +337,26 @@ let MdcMenu = (() => {
340
337
  getElementIndex: (element) => this.items.indexOf(element),
341
338
  notifySelected: (evtData) => {
342
339
  const item = this.items[evtData.index];
343
- this.emit(menu_1.strings.SELECTED_EVENT, { index: evtData.index, item, data: runtime_html_1.CustomElement.for(item).viewModel.value });
340
+ this.emit(strings.SELECTED_EVENT, { index: evtData.index, item, data: CustomElement.for(item).viewModel.value });
344
341
  },
345
342
  getMenuItemCount: () => this.items.length,
346
343
  focusItemAtIndex: (index) => this.items[index].focus(),
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}`),
344
+ focusListRoot: () => this.root.querySelector(strings.LIST_SELECTOR).focus(),
345
+ isSelectableItemAtIndex: (index) => !!closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`),
349
346
  getSelectedSiblingOfItemAtIndex: (index) => {
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}`);
347
+ const selectionGroupEl = closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`);
348
+ const selectedItemEl = selectionGroupEl.querySelector(`.${cssClasses.MENU_SELECTED_LIST_ITEM}`);
352
349
  return selectedItemEl ? this.items.indexOf(selectedItemEl) : -1;
353
350
  },
354
351
  };
355
- return new menu_1.MDCMenuFoundation(adapter);
352
+ return new MDCMenuFoundation(adapter);
356
353
  }
357
354
  constructor() {
358
355
  super(...arguments);
359
- tslib_1.__runInitializers(this, _stayOpen_extraInitializers);
356
+ __runInitializers(this, _stayOpen_extraInitializers);
360
357
  }
361
358
  };
362
359
  return MdcMenu = _classThis;
363
360
  })();
364
- exports.MdcMenu = MdcMenu;
361
+ export { MdcMenu };
365
362
  //# 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,11 +1,8 @@
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");
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { inject, customAttribute } from 'aurelia';
3
+ import { cssClasses } from '@material/menu-surface';
7
4
  let MdcMenuSurfaceAnchor = (() => {
8
- let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customAttribute)('mdc-menu-surface-anchor')];
5
+ let _classDecorators = [inject(Element), customAttribute('mdc-menu-surface-anchor')];
9
6
  let _classDescriptor;
10
7
  let _classExtraInitializers = [];
11
8
  let _classThis;
@@ -13,20 +10,20 @@ let MdcMenuSurfaceAnchor = (() => {
13
10
  static { _classThis = this; }
14
11
  static {
15
12
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
16
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
13
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
17
14
  MdcMenuSurfaceAnchor = _classThis = _classDescriptor.value;
18
15
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
19
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
16
+ __runInitializers(_classThis, _classExtraInitializers);
20
17
  }
21
18
  root;
22
19
  constructor(root) {
23
20
  this.root = root;
24
21
  }
25
22
  attached() {
26
- this.root.classList.add(menu_surface_1.cssClasses.ANCHOR);
23
+ this.root.classList.add(cssClasses.ANCHOR);
27
24
  }
28
25
  };
29
26
  return MdcMenuSurfaceAnchor = _classThis;
30
27
  })();
31
- exports.MdcMenuSurfaceAnchor = MdcMenuSurfaceAnchor;
28
+ export { MdcMenuSurfaceAnchor };
32
29
  //# 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,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"]}
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';\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"]}