@aurelia-mdc-web/all 9.2.3-au2 → 9.3.1-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,461 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { MdcComponent, booleanAttr } from '../base';
3
+ import { cssClasses, strings } from '@material/select';
4
+ import { inject, customElement, IPlatform, bindable } from 'aurelia';
5
+ import { mdcIconStrings } from './mdc-select-icon';
6
+ import { mdcHelperTextCssClasses } from './mdc-select-helper-text/mdc-select-helper-text';
7
+ import { MDCSelectFoundationAurelia } from './mdc-select-foundation-aurelia';
8
+ import { processContent, BindingMode, CustomElement, CustomAttribute } from '@aurelia/runtime-html';
9
+ import { MdcDefaultSelectConfiguration } from './mdc-default-select-configuration';
10
+ import template from './mdc-select.html?raw';
11
+ strings.CHANGE_EVENT = strings.CHANGE_EVENT.toLowerCase();
12
+ let selectId = 0;
13
+ /**
14
+ * @selector mdc-select
15
+ * @emits mdcselect:change | Emitted if user changed the value
16
+ */
17
+ let MdcSelect = (() => {
18
+ let _classDecorators = [inject(Element, IPlatform, MdcDefaultSelectConfiguration), customElement({ name: 'mdc-select', template }), processContent(function processContent(node, platform) {
19
+ const el = node;
20
+ const leadingIcon = el.querySelector(`[${mdcIconStrings.ATTRIBUTE}]`);
21
+ leadingIcon?.remove();
22
+ const template = platform.document.createElement('template');
23
+ template.setAttribute('au-slot', '');
24
+ template.innerHTML = el.innerHTML;
25
+ el.innerHTML = '';
26
+ el.appendChild(template);
27
+ // move icon to the slot - this allows omitting slot specification
28
+ if (leadingIcon) {
29
+ const div = platform.document.createElement('div');
30
+ div.appendChild(leadingIcon);
31
+ const iconTemplate = platform.document.createElement('template');
32
+ iconTemplate.setAttribute('au-slot', 'leading-icon');
33
+ iconTemplate.innerHTML = div.innerHTML;
34
+ el.appendChild(iconTemplate);
35
+ }
36
+ })];
37
+ let _classDescriptor;
38
+ let _classExtraInitializers = [];
39
+ let _classThis;
40
+ let _classSuper = MdcComponent;
41
+ let _label_decorators;
42
+ let _label_initializers = [];
43
+ let _label_extraInitializers = [];
44
+ let _outlined_decorators;
45
+ let _outlined_initializers = [];
46
+ let _outlined_extraInitializers = [];
47
+ let _required_decorators;
48
+ let _required_initializers = [];
49
+ let _required_extraInitializers = [];
50
+ let _disabled_decorators;
51
+ let _disabled_initializers = [];
52
+ let _disabled_extraInitializers = [];
53
+ let _hoistToBody_decorators;
54
+ let _hoistToBody_initializers = [];
55
+ let _hoistToBody_extraInitializers = [];
56
+ let _fixed_decorators;
57
+ let _fixed_initializers = [];
58
+ let _fixed_extraInitializers = [];
59
+ let _anchorMargin_decorators;
60
+ let _anchorMargin_initializers = [];
61
+ let _anchorMargin_extraInitializers = [];
62
+ let _naturalWidth_decorators;
63
+ let _naturalWidth_initializers = [];
64
+ let _naturalWidth_extraInitializers = [];
65
+ var MdcSelect = class extends _classSuper {
66
+ static { _classThis = this; }
67
+ static {
68
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
69
+ _label_decorators = [bindable()];
70
+ _outlined_decorators = [bindable({ set: booleanAttr })];
71
+ _required_decorators = [bindable({ set: booleanAttr })];
72
+ _disabled_decorators = [bindable({ set: booleanAttr })];
73
+ _hoistToBody_decorators = [bindable({ set: booleanAttr, mode: BindingMode.oneTime })];
74
+ _fixed_decorators = [bindable({ set: booleanAttr, mode: BindingMode.oneTime })];
75
+ _anchorMargin_decorators = [bindable()];
76
+ _naturalWidth_decorators = [bindable({ set: booleanAttr })];
77
+ __esDecorate(null, null, _label_decorators, { kind: "field", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
78
+ __esDecorate(null, null, _outlined_decorators, { kind: "field", name: "outlined", static: false, private: false, access: { has: obj => "outlined" in obj, get: obj => obj.outlined, set: (obj, value) => { obj.outlined = value; } }, metadata: _metadata }, _outlined_initializers, _outlined_extraInitializers);
79
+ __esDecorate(null, null, _required_decorators, { kind: "field", name: "required", static: false, private: false, access: { has: obj => "required" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);
80
+ __esDecorate(null, null, _disabled_decorators, { kind: "field", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
81
+ __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);
82
+ __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);
83
+ __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);
84
+ __esDecorate(null, null, _naturalWidth_decorators, { kind: "field", name: "naturalWidth", static: false, private: false, access: { has: obj => "naturalWidth" in obj, get: obj => obj.naturalWidth, set: (obj, value) => { obj.naturalWidth = value; } }, metadata: _metadata }, _naturalWidth_initializers, _naturalWidth_extraInitializers);
85
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
86
+ MdcSelect = _classThis = _classDescriptor.value;
87
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
88
+ __runInitializers(_classThis, _classExtraInitializers);
89
+ }
90
+ platform;
91
+ defaultConfiguration;
92
+ constructor(root, platform, defaultConfiguration) {
93
+ super(root);
94
+ this.platform = platform;
95
+ this.defaultConfiguration = defaultConfiguration;
96
+ this.outlined = this.defaultConfiguration.outlined;
97
+ defineMdcSelectElementApis(this.root);
98
+ this.root.id = this.id;
99
+ }
100
+ id = `mdc-select-${++selectId}`;
101
+ menu;
102
+ selectAnchor;
103
+ selectedText;
104
+ menuElement;
105
+ get items() {
106
+ return this.menu.list_?.items;
107
+ }
108
+ leadingIcon;
109
+ helperText;
110
+ lineRipple;
111
+ mdcLabel;
112
+ outline;
113
+ errors = new Map();
114
+ /** Sets the select label */
115
+ label = __runInitializers(this, _label_initializers, void 0);
116
+ labelChanged() {
117
+ this.platform.domQueue.queueTask(() => this.foundation?.layout());
118
+ }
119
+ /** Styles the select as an outlined select */
120
+ outlined = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _outlined_initializers, void 0));
121
+ outlinedChanged() {
122
+ this.platform.domQueue.queueTask(() => this.foundation?.layout());
123
+ }
124
+ /** Makes the value required */
125
+ required = (__runInitializers(this, _outlined_extraInitializers), __runInitializers(this, _required_initializers, void 0));
126
+ requiredChanged() {
127
+ if (this.required) {
128
+ this.selectAnchor?.setAttribute('aria-required', 'true');
129
+ }
130
+ else {
131
+ this.selectAnchor?.removeAttribute('aria-required');
132
+ }
133
+ this.foundation?.setRequired(this.required ?? false);
134
+ this.platform.domWriteQueue.queueTask(() => this.foundation?.layout());
135
+ }
136
+ /** Enables/disables the select */
137
+ disabled = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _disabled_initializers, void 0));
138
+ disabledChanged() {
139
+ if (this.disabled !== undefined) {
140
+ this.foundation?.setDisabled(this.disabled);
141
+ }
142
+ }
143
+ /** Hoists the select DOM to document.body */
144
+ hoistToBody = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _hoistToBody_initializers, void 0));
145
+ /** Sets the select DOM position to fixed */
146
+ fixed = (__runInitializers(this, _hoistToBody_extraInitializers), __runInitializers(this, _fixed_initializers, void 0));
147
+ /** Sets the margin between the select input and the dropdown */
148
+ anchorMargin = (__runInitializers(this, _fixed_extraInitializers), __runInitializers(this, _anchorMargin_initializers, void 0));
149
+ /** Sets the select dropdown width to match content */
150
+ naturalWidth = (__runInitializers(this, _anchorMargin_extraInitializers), __runInitializers(this, _naturalWidth_initializers, void 0));
151
+ _value = __runInitializers(this, _naturalWidth_extraInitializers);
152
+ get value() {
153
+ if (this.foundation) {
154
+ return this.foundation.getValue();
155
+ }
156
+ else {
157
+ return this._value;
158
+ }
159
+ }
160
+ set value(value) {
161
+ this.setValue(value);
162
+ }
163
+ setValue(value, skipNotify = false) {
164
+ this._value = value;
165
+ if (this.foundation) {
166
+ this.foundation.setValue(value, skipNotify);
167
+ this.foundation.layout();
168
+ }
169
+ }
170
+ get valid() {
171
+ return this.foundation?.isValid() ?? true;
172
+ }
173
+ set valid(value) {
174
+ this.foundation?.setValid(value);
175
+ }
176
+ get selectedIndex() {
177
+ return this.foundation.getSelectedIndex();
178
+ }
179
+ set selectedIndex(selectedIndex) {
180
+ this.foundation?.setSelectedIndex(selectedIndex, /** closeMenu */ true);
181
+ }
182
+ addError(error) {
183
+ this.errors.set(error, true);
184
+ this.valid = false;
185
+ }
186
+ removeError(error) {
187
+ this.errors.delete(error);
188
+ this.valid = this.errors.size === 0;
189
+ }
190
+ renderErrors() {
191
+ if (this.helperText) {
192
+ this.helperText.errors = Array.from(this.errors.keys()).filter(x => x.message !== null).map(x => x.message);
193
+ }
194
+ }
195
+ async attaching() {
196
+ const nextSibling = this.root.nextElementSibling;
197
+ if (nextSibling?.tagName === mdcHelperTextCssClasses.ROOT.toUpperCase()) {
198
+ this.helperText = CustomElement.for(nextSibling).viewModel;
199
+ await this.helperText.initialised;
200
+ }
201
+ }
202
+ beforeFoundationCreated() {
203
+ const leadingIconEl = this.root.querySelector(`${strings.LEADING_ICON_SELECTOR}`);
204
+ if (leadingIconEl) {
205
+ this.leadingIcon = CustomAttribute.for(leadingIconEl, mdcIconStrings.ATTRIBUTE)?.viewModel;
206
+ }
207
+ this.menu.list_.singleSelection = true;
208
+ }
209
+ initialSyncWithDOM() {
210
+ // set initial value without emitting change events
211
+ this.foundation?.setValue(this._value, true);
212
+ this.foundation?.layout();
213
+ this.errors = new Map();
214
+ this.valid = true;
215
+ this.labelChanged();
216
+ this.disabledChanged();
217
+ this.outlinedChanged();
218
+ this.requiredChanged();
219
+ }
220
+ getDefaultFoundation() {
221
+ // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.
222
+ // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.
223
+ const adapter = {
224
+ ...this.getSelectAdapterMethods(),
225
+ ...this.getCommonAdapterMethods(),
226
+ ...this.getOutlineAdapterMethods(),
227
+ ...this.getLabelAdapterMethods(),
228
+ };
229
+ return new MDCSelectFoundationAurelia(adapter, this.getFoundationMap());
230
+ }
231
+ getSelectAdapterMethods() {
232
+ return {
233
+ setSelectedText: (text) => {
234
+ this.selectedText.textContent = text;
235
+ },
236
+ isSelectAnchorFocused: () => document.activeElement === this.selectAnchor,
237
+ getSelectAnchorAttr: (attr) => this.selectAnchor.getAttribute(attr),
238
+ setSelectAnchorAttr: (attr, value) => {
239
+ this.selectAnchor.setAttribute(attr, value);
240
+ },
241
+ removeSelectAnchorAttr: (attr) => {
242
+ this.selectAnchor.removeAttribute(attr);
243
+ },
244
+ addMenuClass: (className) => {
245
+ this.menuElement?.classList.add(className);
246
+ },
247
+ removeMenuClass: (className) => {
248
+ this.menuElement?.classList.remove(className);
249
+ },
250
+ openMenu: () => {
251
+ this.menu.open = true;
252
+ this.menu.root.style.minWidth = this.menu.root.style.maxWidth = (this.hoistToBody || this.fixed) && !this.naturalWidth
253
+ ? `${this.root.clientWidth}px`
254
+ : '';
255
+ },
256
+ closeMenu: () => { this.menu.open = false; },
257
+ getAnchorElement: () => this.root.querySelector(strings.SELECT_ANCHOR_SELECTOR),
258
+ setMenuAnchorElement: (anchorEl) => {
259
+ this.menu.anchor = anchorEl;
260
+ },
261
+ setMenuAnchorCorner: (anchorCorner) => {
262
+ this.menu.setAnchorCorner(anchorCorner);
263
+ },
264
+ setMenuWrapFocus: (wrapFocus) => {
265
+ this.menu.wrapFocus = wrapFocus;
266
+ },
267
+ getSelectedIndex: () => {
268
+ const index = this.menu.selectedIndex;
269
+ return index instanceof Array ? index[0] : index;
270
+ },
271
+ setSelectedIndex: (index) => {
272
+ this.menu.selectedIndex = index;
273
+ },
274
+ removeAttributeAtIndex: (index, attributeName) => {
275
+ this.menu.items[index].removeAttribute(attributeName);
276
+ },
277
+ focusMenuItemAtIndex: (index) => {
278
+ this.menu.items[index].focus();
279
+ },
280
+ getMenuItemCount: () => this.menu.items.length,
281
+ getMenuItemValues: () => this.menu.items.map(x => CustomElement.for(x).viewModel.value),
282
+ getMenuItemTextAtIndex: (index) => this.menu.getPrimaryTextAtIndex(index),
283
+ isTypeaheadInProgress: () => this.menu.typeaheadInProgress,
284
+ typeaheadMatchItem: (nextChar, startingIndex) => this.menu.typeaheadMatchItem(nextChar, startingIndex),
285
+ };
286
+ }
287
+ getCommonAdapterMethods() {
288
+ return {
289
+ addClass: (className) => {
290
+ this.root.classList.add(className);
291
+ },
292
+ removeClass: (className) => {
293
+ this.root.classList.remove(className);
294
+ },
295
+ hasClass: (className) => this.root.classList.contains(className),
296
+ setRippleCenter: (normalizedX) => this.lineRipple?.setRippleCenter(normalizedX),
297
+ activateBottomLine: () => this.lineRipple?.activate(),
298
+ deactivateBottomLine: () => this.lineRipple?.deactivate(),
299
+ notifyChange: (value) => {
300
+ const index = this.selectedIndex;
301
+ this.emit(strings.CHANGE_EVENT, { value, index }, true /* shouldBubble */);
302
+ this.emit('change', { value, index }, true /* shouldBubble */);
303
+ },
304
+ };
305
+ }
306
+ getOutlineAdapterMethods() {
307
+ return {
308
+ hasOutline: () => Boolean(this.outline),
309
+ notchOutline: (labelWidth) => this.outline?.notch(labelWidth),
310
+ closeOutline: () => this.outline?.closeNotch(),
311
+ };
312
+ }
313
+ getLabelAdapterMethods() {
314
+ return {
315
+ hasLabel: () => !!this.mdcLabel,
316
+ floatLabel: (shouldFloat) => this.mdcLabel?.float(shouldFloat),
317
+ getLabelWidth: () => this.mdcLabel ? this.mdcLabel.getWidth() : 0,
318
+ setLabelRequired: (isRequired) => this.mdcLabel?.setRequired(isRequired),
319
+ };
320
+ }
321
+ handleChange() {
322
+ this.foundation?.handleChange();
323
+ this.emit('change', {}, true);
324
+ }
325
+ handleFocus() {
326
+ this.foundation?.handleFocus();
327
+ }
328
+ handleBlur() {
329
+ this.foundation?.handleBlur();
330
+ // if class is set it means the menu is open,
331
+ // do not emit blur since "conceptually" the element is still active
332
+ if (!this.root.classList.contains(cssClasses.FOCUSED)) {
333
+ this.emit('blur', {}, true);
334
+ }
335
+ }
336
+ handleClick(evt) {
337
+ this.selectAnchor.focus();
338
+ this.foundation?.handleClick(this.getNormalizedXCoordinate(evt));
339
+ }
340
+ handleKeydown(evt) {
341
+ this.foundation?.handleKeydown(evt);
342
+ return true;
343
+ }
344
+ handleMenuItemAction(evt) {
345
+ this.foundation?.handleMenuItemAction(evt.detail.index);
346
+ }
347
+ handleMenuOpened() {
348
+ this.foundation?.handleMenuOpened();
349
+ }
350
+ handleMenuClosed() {
351
+ this.foundation?.handleMenuClosed();
352
+ if (!this.root.classList.contains(cssClasses.FOCUSED)) {
353
+ this.emit('blur', {}, true);
354
+ }
355
+ }
356
+ handleItemsChanged() {
357
+ this.foundation?.layoutOptions();
358
+ this.foundation?.layout();
359
+ }
360
+ focus() {
361
+ this.selectAnchor.focus();
362
+ }
363
+ blur() {
364
+ this.selectAnchor.blur();
365
+ }
366
+ /**
367
+ * @hidden
368
+ * Calculates where the line ripple should start based on the x coordinate within the component.
369
+ */
370
+ getNormalizedXCoordinate(evt) {
371
+ const targetClientRect = evt.target.getBoundingClientRect();
372
+ const xCoordinate = this.isTouchEvent(evt) ? evt.touches[0].clientX : evt.clientX;
373
+ return xCoordinate - targetClientRect.left;
374
+ }
375
+ isTouchEvent(evt) {
376
+ return Boolean(evt.touches);
377
+ }
378
+ /**
379
+ * @hidden
380
+ * Returns a map of all subcomponents to subfoundations.
381
+ */
382
+ getFoundationMap() {
383
+ return {
384
+ helperText: this.helperText?.foundation,
385
+ leadingIcon: this.leadingIcon?.foundation
386
+ };
387
+ }
388
+ };
389
+ return MdcSelect = _classThis;
390
+ })();
391
+ export { MdcSelect };
392
+ function defineMdcSelectElementApis(element) {
393
+ Object.defineProperties(element, {
394
+ value: {
395
+ get() {
396
+ return CustomElement.for(this).viewModel.value;
397
+ },
398
+ set(value) {
399
+ // aurelia binding converts "undefined" and "null" into empty string
400
+ // this does not translate well into "empty" menu items when several selects are bound to the same field
401
+ CustomElement.for(this).viewModel.value = value === '' ? undefined : value;
402
+ },
403
+ configurable: true
404
+ },
405
+ options: {
406
+ get() {
407
+ return CustomElement.for(this).viewModel.root.querySelectorAll('.mdc-list-item');
408
+ },
409
+ configurable: true
410
+ },
411
+ selectedIndex: {
412
+ get() {
413
+ return CustomElement.for(this).viewModel.selectedIndex;
414
+ },
415
+ set(value) {
416
+ CustomElement.for(this).viewModel.selectedIndex = value;
417
+ },
418
+ configurable: true
419
+ },
420
+ valid: {
421
+ get() {
422
+ return CustomElement.for(this).viewModel.valid;
423
+ },
424
+ set(value) {
425
+ CustomElement.for(this).viewModel.valid = value;
426
+ },
427
+ configurable: true
428
+ },
429
+ addError: {
430
+ value(error) {
431
+ CustomElement.for(this).viewModel.addError(error);
432
+ },
433
+ configurable: true
434
+ },
435
+ removeError: {
436
+ value(error) {
437
+ CustomElement.for(this).viewModel.removeError(error);
438
+ },
439
+ configurable: true
440
+ },
441
+ renderErrors: {
442
+ value() {
443
+ CustomElement.for(this).viewModel.renderErrors();
444
+ },
445
+ configurable: true
446
+ },
447
+ focus: {
448
+ value() {
449
+ CustomElement.for(this).viewModel.focus();
450
+ },
451
+ configurable: true
452
+ },
453
+ blur: {
454
+ value() {
455
+ CustomElement.for(this).viewModel.blur();
456
+ },
457
+ configurable: true
458
+ }
459
+ });
460
+ }
461
+ //# sourceMappingURL=mdc-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdc-select.js","sourceRoot":"","sources":["../../src/select/mdc-select.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcComponent, IValidatedElement, IError, booleanAttr } from '../base';\r\nimport { cssClasses, MDCSelectFoundationMap, MDCSelectEventDetail, strings } from '@material/select';\r\nimport { inject, customElement, INode, IPlatform, bindable } from 'aurelia';\r\nimport { MdcSelectIcon, IMdcSelectIconElement, mdcIconStrings } from './mdc-select-icon';\r\nimport { MdcSelectHelperText, mdcHelperTextCssClasses } from './mdc-select-helper-text/mdc-select-helper-text';\r\nimport { MDCNotchedOutline } from '@material/notched-outline';\r\nimport { MDCMenuItemEvent, Corner } from '@material/menu';\r\nimport { MDCSelectFoundationAurelia } from './mdc-select-foundation-aurelia';\r\nimport { MDCSelectAdapterAurelia } from './mdc-select-adapter-aurelia';\r\nimport { MDCMenuDistance } from '@material/menu-surface';\r\nimport { processContent, BindingMode, CustomElement, CustomAttribute } from '@aurelia/runtime-html';\r\nimport { MdcDefaultSelectConfiguration } from './mdc-default-select-configuration';\r\nimport template from './mdc-select.html?raw';\r\nimport { MdcFloatingLabel } from '../floating-label/mdc-floating-label';\r\nimport { MdcLineRipple } from '../line-ripple/mdc-line-ripple';\r\nimport { MdcListItem } from '../list/mdc-list-item/mdc-list-item';\r\nimport { MdcMenu } from '../menu/mdc-menu';\r\n\r\nstrings.CHANGE_EVENT = strings.CHANGE_EVENT.toLowerCase();\r\n\r\nlet selectId = 0;\r\n\r\n/**\r\n * @selector mdc-select\r\n * @emits mdcselect:change | Emitted if user changed the value\r\n */\r\n@inject(Element, IPlatform, MdcDefaultSelectConfiguration)\r\n@customElement({ name: 'mdc-select', template })\r\n@processContent(function processContent(node: INode, platform: IPlatform) {\r\n const el = node as Element;\r\n\r\n const leadingIcon = el.querySelector(`[${mdcIconStrings.ATTRIBUTE}]`);\r\n leadingIcon?.remove();\r\n\r\n const template = platform.document.createElement('template');\r\n template.setAttribute('au-slot', '');\r\n template.innerHTML = el.innerHTML;\r\n el.innerHTML = '';\r\n el.appendChild(template);\r\n\r\n // move icon to the slot - this allows omitting slot specification\r\n if (leadingIcon) {\r\n const div = platform.document.createElement('div');\r\n div.appendChild(leadingIcon);\r\n const iconTemplate = platform.document.createElement('template');\r\n iconTemplate.setAttribute('au-slot', 'leading-icon');\r\n iconTemplate.innerHTML = div.innerHTML;\r\n el.appendChild(iconTemplate);\r\n }\r\n}\r\n)\r\nexport class MdcSelect extends MdcComponent<MDCSelectFoundationAurelia> {\r\n constructor(root: HTMLElement, private platform: IPlatform, private defaultConfiguration: MdcDefaultSelectConfiguration) {\r\n super(root);\r\n this.outlined = this.defaultConfiguration.outlined;\r\n defineMdcSelectElementApis(this.root);\r\n this.root.id = this.id;\r\n }\r\n\r\n id: string = `mdc-select-${++selectId}`;\r\n public menu: MdcMenu;\r\n private selectAnchor: HTMLElement;\r\n private selectedText: HTMLElement;\r\n\r\n private menuElement?: Element;\r\n\r\n get items(): MdcListItem[] | undefined {\r\n return this.menu.list_?.items;\r\n }\r\n\r\n private leadingIcon?: MdcSelectIcon;\r\n\r\n private helperText?: MdcSelectHelperText;\r\n private lineRipple?: MdcLineRipple;\r\n private mdcLabel: MdcFloatingLabel;\r\n private outline?: MDCNotchedOutline;\r\n errors = new Map<IError, boolean>();\r\n\r\n /** Sets the select label */\r\n @bindable()\r\n label: string;\r\n labelChanged() {\r\n this.platform.domQueue.queueTask(() => this.foundation?.layout());\r\n }\r\n\r\n /** Styles the select as an outlined select */\r\n @bindable({ set: booleanAttr })\r\n outlined?: boolean;\r\n outlinedChanged() {\r\n this.platform.domQueue.queueTask(() => this.foundation?.layout());\r\n }\r\n\r\n /** Makes the value required */\r\n @bindable({ set: booleanAttr })\r\n required: boolean;\r\n requiredChanged() {\r\n if (this.required) {\r\n this.selectAnchor?.setAttribute('aria-required', 'true');\r\n } else {\r\n this.selectAnchor?.removeAttribute('aria-required');\r\n }\r\n this.foundation?.setRequired(this.required ?? false);\r\n this.platform.domWriteQueue.queueTask(() => this.foundation?.layout());\r\n }\r\n\r\n /** Enables/disables the select */\r\n @bindable({ set: booleanAttr })\r\n disabled?: boolean;\r\n disabledChanged() {\r\n if (this.disabled !== undefined) {\r\n this.foundation?.setDisabled(this.disabled);\r\n }\r\n }\r\n\r\n /** Hoists the select DOM to document.body */\r\n @bindable({ set: booleanAttr, mode: BindingMode.oneTime })\r\n hoistToBody: boolean;\r\n\r\n /** Sets the select DOM position to fixed */\r\n @bindable({ set: booleanAttr, mode: BindingMode.oneTime })\r\n fixed: boolean;\r\n\r\n /** Sets the margin between the select input and the dropdown */\r\n @bindable()\r\n anchorMargin: Partial<MDCMenuDistance>;\r\n\r\n /** Sets the select dropdown width to match content */\r\n @bindable({ set: booleanAttr })\r\n naturalWidth: boolean;\r\n\r\n private _value: unknown;\r\n get value(): unknown {\r\n if (this.foundation) {\r\n return this.foundation.getValue();\r\n } else {\r\n return this._value;\r\n }\r\n }\r\n\r\n set value(value: unknown) {\r\n this.setValue(value);\r\n }\r\n\r\n setValue(value: unknown, skipNotify: boolean = false) {\r\n this._value = value;\r\n if (this.foundation) {\r\n this.foundation.setValue(value, skipNotify);\r\n this.foundation.layout();\r\n }\r\n }\r\n\r\n get valid(): boolean {\r\n return this.foundation?.isValid() ?? true;\r\n }\r\n\r\n set valid(value: boolean) {\r\n this.foundation?.setValid(value);\r\n }\r\n\r\n get selectedIndex(): number {\r\n return this.foundation!.getSelectedIndex();\r\n }\r\n\r\n set selectedIndex(selectedIndex: number) {\r\n this.foundation?.setSelectedIndex(selectedIndex, /** closeMenu */ true);\r\n }\r\n\r\n addError(error: IError) {\r\n this.errors.set(error, true);\r\n this.valid = false;\r\n }\r\n\r\n removeError(error: IError) {\r\n this.errors.delete(error);\r\n this.valid = this.errors.size === 0;\r\n }\r\n\r\n renderErrors() {\r\n if (this.helperText) {\r\n this.helperText.errors = Array.from(this.errors.keys()).filter(x => x.message !== null).map(x => x.message!);\r\n }\r\n }\r\n\r\n async attaching() {\r\n const nextSibling = this.root.nextElementSibling;\r\n if (nextSibling?.tagName === mdcHelperTextCssClasses.ROOT.toUpperCase()) {\r\n this.helperText = CustomElement.for<MdcSelectHelperText>(nextSibling).viewModel;\r\n await this.helperText.initialised;\r\n }\r\n }\r\n\r\n beforeFoundationCreated() {\r\n const leadingIconEl = this.root.querySelector<IMdcSelectIconElement>(`${strings.LEADING_ICON_SELECTOR}`);\r\n if (leadingIconEl) {\r\n this.leadingIcon = CustomAttribute.for<MdcSelectIcon>(leadingIconEl, mdcIconStrings.ATTRIBUTE)?.viewModel;\r\n }\r\n this.menu.list_!.singleSelection = true;\r\n }\r\n\r\n initialSyncWithDOM() {\r\n // set initial value without emitting change events\r\n this.foundation?.setValue(this._value, true);\r\n this.foundation?.layout();\r\n this.errors = new Map<IError, boolean>();\r\n this.valid = true;\r\n\r\n this.labelChanged();\r\n this.disabledChanged();\r\n this.outlinedChanged();\r\n this.requiredChanged();\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: MDCSelectAdapterAurelia = {\r\n ...this.getSelectAdapterMethods(),\r\n ...this.getCommonAdapterMethods(),\r\n ...this.getOutlineAdapterMethods(),\r\n ...this.getLabelAdapterMethods(),\r\n };\r\n return new MDCSelectFoundationAurelia(adapter, this.getFoundationMap());\r\n }\r\n\r\n private getSelectAdapterMethods() {\r\n return {\r\n setSelectedText: (text: string) => {\r\n this.selectedText.textContent = text;\r\n },\r\n isSelectAnchorFocused: () => document.activeElement === this.selectAnchor,\r\n getSelectAnchorAttr: (attr: string) => this.selectAnchor.getAttribute(attr),\r\n setSelectAnchorAttr: (attr: string, value: string) => {\r\n this.selectAnchor.setAttribute(attr, value);\r\n },\r\n removeSelectAnchorAttr: (attr: string) => {\r\n this.selectAnchor.removeAttribute(attr);\r\n },\r\n addMenuClass: (className: string) => {\r\n this.menuElement?.classList.add(className);\r\n },\r\n removeMenuClass: (className: string) => {\r\n this.menuElement?.classList.remove(className);\r\n },\r\n openMenu: () => {\r\n this.menu.open = true;\r\n this.menu.root.style.minWidth = this.menu.root.style.maxWidth = (this.hoistToBody || this.fixed) && !this.naturalWidth\r\n ? `${this.root.clientWidth}px`\r\n : '';\r\n },\r\n closeMenu: () => { this.menu.open = false; },\r\n getAnchorElement: () => this.root.querySelector(strings.SELECT_ANCHOR_SELECTOR)!,\r\n setMenuAnchorElement: (anchorEl: HTMLElement) => {\r\n this.menu.anchor = anchorEl;\r\n },\r\n setMenuAnchorCorner: (anchorCorner: Corner) => {\r\n this.menu.setAnchorCorner(anchorCorner);\r\n },\r\n setMenuWrapFocus: (wrapFocus: boolean) => {\r\n this.menu.wrapFocus = wrapFocus;\r\n },\r\n getSelectedIndex: () => {\r\n const index = this.menu.selectedIndex;\r\n return index instanceof Array ? index[0] : index;\r\n },\r\n setSelectedIndex: (index: number) => {\r\n this.menu.selectedIndex = index;\r\n },\r\n removeAttributeAtIndex: (index: number, attributeName: string) => {\r\n this.menu.items[index].removeAttribute(attributeName);\r\n },\r\n focusMenuItemAtIndex: (index: number) => {\r\n (this.menu.items[index] as HTMLElement).focus();\r\n },\r\n getMenuItemCount: () => this.menu.items.length,\r\n getMenuItemValues: () => this.menu.items.map(x => CustomElement.for<MdcListItem>(x).viewModel.value),\r\n getMenuItemTextAtIndex: (index: number) => this.menu.getPrimaryTextAtIndex(index),\r\n isTypeaheadInProgress: () => this.menu.typeaheadInProgress,\r\n typeaheadMatchItem: (nextChar: string, startingIndex: number) => this.menu.typeaheadMatchItem(nextChar, startingIndex),\r\n };\r\n }\r\n\r\n private getCommonAdapterMethods() {\r\n return {\r\n addClass: (className: string) => {\r\n this.root.classList.add(className);\r\n },\r\n removeClass: (className: string) => {\r\n this.root.classList.remove(className);\r\n },\r\n hasClass: (className: string) => this.root.classList.contains(className),\r\n setRippleCenter: (normalizedX: number) => this.lineRipple?.setRippleCenter(normalizedX),\r\n activateBottomLine: () => this.lineRipple?.activate(),\r\n deactivateBottomLine: () => this.lineRipple?.deactivate(),\r\n notifyChange: (value: string) => {\r\n const index = this.selectedIndex;\r\n this.emit<MDCSelectEventDetail>(strings.CHANGE_EVENT, { value, index }, true /* shouldBubble */);\r\n this.emit<MDCSelectEventDetail>('change', { value, index }, true /* shouldBubble */);\r\n },\r\n };\r\n }\r\n\r\n private getOutlineAdapterMethods() {\r\n return {\r\n hasOutline: () => Boolean(this.outline),\r\n notchOutline: (labelWidth: number) => this.outline?.notch(labelWidth),\r\n closeOutline: () => this.outline?.closeNotch(),\r\n };\r\n }\r\n\r\n private getLabelAdapterMethods() {\r\n return {\r\n hasLabel: () => !!this.mdcLabel,\r\n floatLabel: (shouldFloat: boolean) => this.mdcLabel?.float(shouldFloat),\r\n getLabelWidth: () => this.mdcLabel ? this.mdcLabel.getWidth() : 0,\r\n setLabelRequired: (isRequired: boolean) => this.mdcLabel?.setRequired(isRequired),\r\n };\r\n }\r\n\r\n handleChange() {\r\n this.foundation?.handleChange();\r\n this.emit('change', {}, true);\r\n }\r\n\r\n handleFocus() {\r\n this.foundation?.handleFocus();\r\n }\r\n\r\n handleBlur() {\r\n this.foundation?.handleBlur();\r\n // if class is set it means the menu is open,\r\n // do not emit blur since \"conceptually\" the element is still active\r\n if (!this.root.classList.contains(cssClasses.FOCUSED)) {\r\n this.emit('blur', {}, true);\r\n }\r\n }\r\n\r\n handleClick(evt: MouseEvent) {\r\n this.selectAnchor.focus();\r\n this.foundation?.handleClick(this.getNormalizedXCoordinate(evt));\r\n }\r\n\r\n handleKeydown(evt: KeyboardEvent) {\r\n this.foundation?.handleKeydown(evt);\r\n return true;\r\n }\r\n\r\n handleMenuItemAction(evt: MDCMenuItemEvent) {\r\n this.foundation?.handleMenuItemAction(evt.detail.index);\r\n }\r\n\r\n handleMenuOpened() {\r\n this.foundation?.handleMenuOpened();\r\n }\r\n\r\n handleMenuClosed() {\r\n this.foundation?.handleMenuClosed();\r\n if (!this.root.classList.contains(cssClasses.FOCUSED)) {\r\n this.emit('blur', {}, true);\r\n }\r\n }\r\n\r\n handleItemsChanged() {\r\n this.foundation?.layoutOptions();\r\n this.foundation?.layout();\r\n }\r\n\r\n focus() {\r\n this.selectAnchor.focus();\r\n }\r\n\r\n blur() {\r\n this.selectAnchor.blur();\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Calculates where the line ripple should start based on the x coordinate within the component.\r\n */\r\n private getNormalizedXCoordinate(evt: MouseEvent | TouchEvent): number {\r\n const targetClientRect = (evt.target as Element).getBoundingClientRect();\r\n const xCoordinate =\r\n this.isTouchEvent(evt) ? evt.touches[0].clientX : evt.clientX;\r\n return xCoordinate - targetClientRect.left;\r\n }\r\n\r\n private isTouchEvent(evt: MouseEvent | TouchEvent): evt is TouchEvent {\r\n return Boolean((evt as TouchEvent).touches);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Returns a map of all subcomponents to subfoundations.\r\n */\r\n private getFoundationMap(): Partial<MDCSelectFoundationMap> {\r\n return {\r\n helperText: this.helperText?.foundation,\r\n leadingIcon: this.leadingIcon?.foundation\r\n };\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcSelectElement extends IValidatedElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcSelect;\r\n };\r\n };\r\n value: unknown;\r\n}\r\n\r\nfunction defineMdcSelectElementApis(element: HTMLElement) {\r\n Object.defineProperties(element, {\r\n value: {\r\n get(this: IMdcSelectElement) {\r\n return CustomElement.for<MdcSelect>(this).viewModel.value;\r\n },\r\n set(this: IMdcSelectElement, value: unknown) {\r\n // aurelia binding converts \"undefined\" and \"null\" into empty string\r\n // this does not translate well into \"empty\" menu items when several selects are bound to the same field\r\n CustomElement.for<MdcSelect>(this).viewModel.value = value === '' ? undefined : value;\r\n },\r\n configurable: true\r\n },\r\n options: {\r\n get(this: IMdcSelectElement) {\r\n return CustomElement.for<MdcSelect>(this).viewModel.root.querySelectorAll('.mdc-list-item');\r\n },\r\n configurable: true\r\n },\r\n selectedIndex: {\r\n get(this: IMdcSelectElement) {\r\n return CustomElement.for<MdcSelect>(this).viewModel.selectedIndex;\r\n },\r\n set(this: IMdcSelectElement, value: number) {\r\n CustomElement.for<MdcSelect>(this).viewModel.selectedIndex = value;\r\n },\r\n configurable: true\r\n },\r\n valid: {\r\n get(this: IMdcSelectElement) {\r\n return CustomElement.for<MdcSelect>(this).viewModel.valid;\r\n },\r\n set(this: IMdcSelectElement, value: boolean) {\r\n CustomElement.for<MdcSelect>(this).viewModel.valid = value;\r\n },\r\n configurable: true\r\n },\r\n addError: {\r\n value(this: IMdcSelectElement, error: IError) {\r\n CustomElement.for<MdcSelect>(this).viewModel.addError(error);\r\n },\r\n configurable: true\r\n },\r\n removeError: {\r\n value(this: IMdcSelectElement, error: IError) {\r\n CustomElement.for<MdcSelect>(this).viewModel.removeError(error);\r\n },\r\n configurable: true\r\n },\r\n renderErrors: {\r\n value(this: IMdcSelectElement): void {\r\n CustomElement.for<MdcSelect>(this).viewModel.renderErrors();\r\n },\r\n configurable: true\r\n },\r\n focus: {\r\n value(this: IMdcSelectElement) {\r\n CustomElement.for<MdcSelect>(this).viewModel.focus();\r\n },\r\n configurable: true\r\n },\r\n blur: {\r\n value(this: IMdcSelectElement) {\r\n CustomElement.for<MdcSelect>(this).viewModel.blur();\r\n },\r\n configurable: true\r\n }\r\n });\r\n}\r\n"]}
@@ -0,0 +1,12 @@
1
+ import { MDCSliderFoundation } from '@material/slider';
2
+ // overriding lets the rest of the foundation to always get a fresh bounding rect
3
+ // otherwise resizing a container, or moving an element ruins interaction
4
+ // @ts-expect-error rect is private in base class
5
+ export class MdcSliderFoundationAurelia extends MDCSliderFoundation {
6
+ get rect() {
7
+ return this.adapter.getBoundingClientRect();
8
+ }
9
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
10
+ set rect(_) { }
11
+ }
12
+ //# sourceMappingURL=mdc-slider-foundation-aurelia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdc-slider-foundation-aurelia.js","sourceRoot":"","sources":["../../src/slider/mdc-slider-foundation-aurelia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,iFAAiF;AACjF,yEAAyE;AACzE,iDAAiD;AACjD,MAAM,OAAO,0BAA2B,SAAQ,mBAAmB;IACjE,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC9C,CAAC;IAED,gEAAgE;IAChE,IAAI,IAAI,CAAC,CAAa,IAAI,CAAC;CAC5B","sourcesContent":["import { MDCSliderFoundation } from '@material/slider';\n\n// overriding lets the rest of the foundation to always get a fresh bounding rect\n// otherwise resizing a container, or moving an element ruins interaction\n// @ts-expect-error rect is private in base class\nexport class MdcSliderFoundationAurelia extends MDCSliderFoundation {\n get rect(): ClientRect {\n return this.adapter.getBoundingClientRect();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n set rect(_: ClientRect) { }\n}\n"]}
@@ -0,0 +1,36 @@
1
+ <template class="mdc-slider
2
+ ${range ? 'mdc-slider--range' : ''}
3
+ ${discrete ? 'mdc-slider--discrete' : ''}
4
+ ${discrete && tickMarks ? 'mdc-slider--tick-marks' : ''}
5
+ ">
6
+ <input class="mdc-slider__input" type="range" min="0" max="100" value="0" if.bind="range" ref="startInput">
7
+ <input class="mdc-slider__input" type="range" min="0" max="100" value="0" ref="endInput">
8
+ <div class="mdc-slider__track">
9
+ <div class="mdc-slider__track--inactive"></div>
10
+ <div class="mdc-slider__track--active">
11
+ <div class="mdc-slider__track--active_fill" ref="trackActive"></div>
12
+ </div>
13
+ <div class="mdc-slider__tick-marks" if.bind="discrete && tickMarks">
14
+ <div repeat.for="s of tickMarkStatuses"
15
+ class="mdc-slider__tick-mark--${s === TickMark.ACTIVE ? 'active' : 'inactive' }"></div>
16
+ </div>
17
+ </div>
18
+ <div class="mdc-slider__thumb" mdc-ripple="unbounded.bind: true" mdc-ripple.ref="startRipple" if.bind="range"
19
+ ref="startThumb">
20
+ <div class="mdc-slider__value-indicator-container" if.bind="discrete">
21
+ <div class="mdc-slider__value-indicator">
22
+ <span class="mdc-slider__value-indicator-text"></span>
23
+ </div>
24
+ </div>
25
+ <div class="mdc-slider__thumb-knob"></div>
26
+ </div>
27
+ <div class="mdc-slider__thumb" mdc-ripple="unbounded.bind: true" mdc-ripple.ref="endRipple" ref="endThumb"
28
+ style="overflow: visible;">
29
+ <div class="mdc-slider__value-indicator-container" if.bind="discrete">
30
+ <div class="mdc-slider__value-indicator">
31
+ <span class="mdc-slider__value-indicator-text"></span>
32
+ </div>
33
+ </div>
34
+ <div class="mdc-slider__thumb-knob"></div>
35
+ </div>
36
+ </template>