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