@aurelia-mdc-web/all 9.3.3-au2 → 9.3.5-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 (331) hide show
  1. package/dist/alert/alert-configuration.js +5 -9
  2. package/dist/alert/alert-configuration.js.map +1 -1
  3. package/dist/alert/alert-modal/alert-modal.js +8 -11
  4. package/dist/alert/alert-modal/alert-modal.js.map +1 -1
  5. package/dist/alert/alert-modal/alert-modal.scss +10 -0
  6. package/dist/alert/alert-modal/i-alert-modal-payload.js +8 -7
  7. package/dist/alert/alert-modal/i-alert-modal-payload.js.map +1 -1
  8. package/dist/alert/alert-service.js +52 -37
  9. package/dist/alert/alert-service.js.map +1 -1
  10. package/dist/alert/decorators/confirm-action.js +1 -4
  11. package/dist/alert/decorators/confirm-action.js.map +1 -1
  12. package/dist/alert/decorators/using-progress.js +1 -4
  13. package/dist/alert/decorators/using-progress.js.map +1 -1
  14. package/dist/alert/exceptions-tracker.js +1 -5
  15. package/dist/alert/exceptions-tracker.js.map +1 -1
  16. package/dist/alert/global-progress/global-progress.js +24 -27
  17. package/dist/alert/global-progress/global-progress.js.map +1 -1
  18. package/dist/alert/global-progress/global-progress.scss +38 -0
  19. package/dist/alert/prompt-dialog/prompt-dialog.js +9 -12
  20. package/dist/alert/prompt-dialog/prompt-dialog.js.map +1 -1
  21. package/dist/banner/mdc-banner.js +42 -45
  22. package/dist/banner/mdc-banner.js.map +1 -1
  23. package/dist/base/attributes/mdc-focus-trap.js +22 -25
  24. package/dist/base/attributes/mdc-focus-trap.js.map +1 -1
  25. package/dist/base/elements/i-validated-element.js +1 -2
  26. package/dist/base/elements/mdc-promisify-reference.js +13 -16
  27. package/dist/base/elements/mdc-promisify-reference.js.map +1 -1
  28. package/dist/base/index.js +9 -21
  29. package/dist/base/index.js.map +1 -1
  30. package/dist/base/interceptors.js +5 -12
  31. package/dist/base/interceptors.js.map +1 -1
  32. package/dist/base/material-palette.js +1 -4
  33. package/dist/base/material-palette.js.map +1 -1
  34. package/dist/base/mdc-component.js +1 -5
  35. package/dist/base/mdc-component.js.map +1 -1
  36. package/dist/base/next-element.js +1 -4
  37. package/dist/base/next-element.js.map +1 -1
  38. package/dist/button/enhance-mdc-button.js +6 -9
  39. package/dist/button/enhance-mdc-button.js.map +1 -1
  40. package/dist/button/mdc-button-label.js +6 -9
  41. package/dist/button/mdc-button-label.js.map +1 -1
  42. package/dist/button/mdc-button.js +27 -30
  43. package/dist/button/mdc-button.js.map +1 -1
  44. package/dist/card/mdc-card-action-buttons.js +6 -9
  45. package/dist/card/mdc-card-action-buttons.js.map +1 -1
  46. package/dist/card/mdc-card-action-icons.js +6 -9
  47. package/dist/card/mdc-card-action-icons.js.map +1 -1
  48. package/dist/card/mdc-card-actions/mdc-card-actions.js +12 -15
  49. package/dist/card/mdc-card-actions/mdc-card-actions.js.map +1 -1
  50. package/dist/card/mdc-card-media/mdc-card-media.js +15 -18
  51. package/dist/card/mdc-card-media/mdc-card-media.js.map +1 -1
  52. package/dist/card/mdc-card-primary-action.js +12 -15
  53. package/dist/card/mdc-card-primary-action.js.map +1 -1
  54. package/dist/card/mdc-card.js +12 -15
  55. package/dist/card/mdc-card.js.map +1 -1
  56. package/dist/checkbox/mdc-checkbox.js +35 -38
  57. package/dist/checkbox/mdc-checkbox.js.map +1 -1
  58. package/dist/chips/mdc-chip/mdc-chip.js +34 -37
  59. package/dist/chips/mdc-chip/mdc-chip.js.map +1 -1
  60. package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js +6 -9
  61. package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js.map +1 -1
  62. package/dist/chips/mdc-chip-action/mdc-chip-action.js +37 -40
  63. package/dist/chips/mdc-chip-action/mdc-chip-action.js.map +1 -1
  64. package/dist/chips/mdc-chip-set/mdc-chip-set.js +24 -27
  65. package/dist/chips/mdc-chip-set/mdc-chip-set.js.map +1 -1
  66. package/dist/chips/styles/_index.scss +1 -0
  67. package/dist/chips/styles/mdc-chips.import.scss +1 -0
  68. package/dist/chips/styles/mdc-chips.scss +11 -0
  69. package/dist/circular-progress/mdc-circular-progress.js +22 -25
  70. package/dist/circular-progress/mdc-circular-progress.js.map +1 -1
  71. package/dist/circular-progress/styles/_index.scss +1 -0
  72. package/dist/circular-progress/styles/mdc-circular-progress.import.scss +1 -0
  73. package/dist/circular-progress/styles/mdc-circular-progress.scss +14 -0
  74. package/dist/data-table/mdc-data-table-row.js +10 -13
  75. package/dist/data-table/mdc-data-table-row.js.map +1 -1
  76. package/dist/data-table/mdc-data-table.js +88 -91
  77. package/dist/data-table/mdc-data-table.js.map +1 -1
  78. package/dist/data-table/styles/_index.scss +1 -0
  79. package/dist/data-table/styles/mdc-data-table.import.scss +1 -0
  80. package/dist/data-table/styles/mdc-data-table.scss +64 -0
  81. package/dist/dialog/mdc-dialog-actions.js +10 -13
  82. package/dist/dialog/mdc-dialog-actions.js.map +1 -1
  83. package/dist/dialog/mdc-dialog-content.js +6 -9
  84. package/dist/dialog/mdc-dialog-content.js.map +1 -1
  85. package/dist/dialog/mdc-dialog-service.js +13 -17
  86. package/dist/dialog/mdc-dialog-service.js.map +1 -1
  87. package/dist/dialog/mdc-dialog-title.js +6 -9
  88. package/dist/dialog/mdc-dialog-title.js.map +1 -1
  89. package/dist/dialog/mdc-dialog.js +46 -49
  90. package/dist/dialog/mdc-dialog.js.map +1 -1
  91. package/dist/drawer/mdc-drawer-app-content.js +6 -9
  92. package/dist/drawer/mdc-drawer-app-content.js.map +1 -1
  93. package/dist/drawer/mdc-drawer-content.js +6 -9
  94. package/dist/drawer/mdc-drawer-content.js.map +1 -1
  95. package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js +14 -17
  96. package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js.map +1 -1
  97. package/dist/drawer/mdc-drawer.js +21 -24
  98. package/dist/drawer/mdc-drawer.js.map +1 -1
  99. package/dist/drawer/styles/_index.scss +1 -0
  100. package/dist/drawer/styles/mdc-drawer.import.scss +1 -0
  101. package/dist/drawer/styles/mdc-drawer.scss +0 -0
  102. package/dist/elevation/mdc-elevation.js +6 -9
  103. package/dist/elevation/mdc-elevation.js.map +1 -1
  104. package/dist/expandable/mdc-expandable.js +17 -20
  105. package/dist/expandable/mdc-expandable.js.map +1 -1
  106. package/dist/expandable/styles/_icon-variables.scss +3 -0
  107. package/dist/expandable/styles/_index.scss +1 -0
  108. package/dist/expandable/styles/_mixins.scss +287 -0
  109. package/dist/expandable/styles/_variables.scss +17 -0
  110. package/dist/expandable/styles/mdc-expandable.import.scss +1 -0
  111. package/dist/expandable/styles/mdc-expandable.scss +3 -0
  112. package/dist/fab/enhance-mdc-fab.js +6 -9
  113. package/dist/fab/enhance-mdc-fab.js.map +1 -1
  114. package/dist/fab/mdc-fab-icon.js +6 -9
  115. package/dist/fab/mdc-fab-icon.js.map +1 -1
  116. package/dist/fab/mdc-fab.js +30 -33
  117. package/dist/fab/mdc-fab.js.map +1 -1
  118. package/dist/floating-label/mdc-floating-label.js +13 -16
  119. package/dist/floating-label/mdc-floating-label.js.map +1 -1
  120. package/dist/form-field/mdc-form-field.js +24 -27
  121. package/dist/form-field/mdc-form-field.js.map +1 -1
  122. package/dist/icon/mdc-icon.js +7 -10
  123. package/dist/icon/mdc-icon.js.map +1 -1
  124. package/dist/icon-button/enhance-mdc-icon-button.js +6 -9
  125. package/dist/icon-button/enhance-mdc-icon-button.js.map +1 -1
  126. package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js +15 -18
  127. package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js.map +1 -1
  128. package/dist/icon-button/mdc-icon-button.js +25 -28
  129. package/dist/icon-button/mdc-icon-button.js.map +1 -1
  130. package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js +19 -22
  131. package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js.map +1 -1
  132. package/dist/image-list/mdc-image-list.js +18 -21
  133. package/dist/image-list/mdc-image-list.js.map +1 -1
  134. package/dist/image-list/styles/_index.scss +1 -0
  135. package/dist/image-list/styles/mdc-image-list.import.scss +1 -0
  136. package/dist/image-list/styles/mdc-image-list.scss +7 -0
  137. package/dist/index.js +151 -297
  138. package/dist/index.js.map +1 -1
  139. package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js +33 -36
  140. package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js.map +1 -1
  141. package/dist/layout-grid/mdc-layout-grid-inner.js +6 -9
  142. package/dist/layout-grid/mdc-layout-grid-inner.js.map +1 -1
  143. package/dist/layout-grid/mdc-layout-grid.js +30 -33
  144. package/dist/layout-grid/mdc-layout-grid.js.map +1 -1
  145. package/dist/layout-grid/styles/_index.scss +1 -0
  146. package/dist/layout-grid/styles/mdc-layout-grid.import.scss +1 -0
  147. package/dist/layout-grid/styles/mdc-layout-grid.scss +11 -0
  148. package/dist/line-ripple/mdc-line-ripple.js +10 -13
  149. package/dist/line-ripple/mdc-line-ripple.js.map +1 -1
  150. package/dist/linear-progress/mdc-linear-progress.js +23 -26
  151. package/dist/linear-progress/mdc-linear-progress.js.map +1 -1
  152. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js +15 -18
  153. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js.map +1 -1
  154. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-group.js +14 -17
  155. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-group.js.map +1 -1
  156. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.js +6 -9
  157. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.js.map +1 -1
  158. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.js +6 -9
  159. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.js.map +1 -1
  160. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.js +6 -9
  161. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.js.map +1 -1
  162. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js +25 -28
  163. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js.map +1 -1
  164. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.js +6 -9
  165. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.js.map +1 -1
  166. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.js +6 -9
  167. package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.js.map +1 -1
  168. package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js +75 -78
  169. package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js.map +1 -1
  170. package/dist/list/mdc-list-divider/mdc-list-divider.js +18 -21
  171. package/dist/list/mdc-list-divider/mdc-list-divider.js.map +1 -1
  172. package/dist/list/mdc-list-group.js +14 -17
  173. package/dist/list/mdc-list-group.js.map +1 -1
  174. package/dist/list/mdc-list-item/enhance-mdc-list-item.js +6 -9
  175. package/dist/list/mdc-list-item/enhance-mdc-list-item.js.map +1 -1
  176. package/dist/list/mdc-list-item/mdc-list-item-leading.js +6 -9
  177. package/dist/list/mdc-list-item/mdc-list-item-leading.js.map +1 -1
  178. package/dist/list/mdc-list-item/mdc-list-item-trailing.js +6 -9
  179. package/dist/list/mdc-list-item/mdc-list-item-trailing.js.map +1 -1
  180. package/dist/list/mdc-list-item/mdc-list-item.js +37 -40
  181. package/dist/list/mdc-list-item/mdc-list-item.js.map +1 -1
  182. package/dist/list/mdc-list-item-overline-text.js +6 -9
  183. package/dist/list/mdc-list-item-overline-text.js.map +1 -1
  184. package/dist/list/mdc-list-item-primary-text.js +6 -9
  185. package/dist/list/mdc-list-item-primary-text.js.map +1 -1
  186. package/dist/list/mdc-list-item-secondary-text.js +6 -9
  187. package/dist/list/mdc-list-item-secondary-text.js.map +1 -1
  188. package/dist/list/mdc-list.js +55 -58
  189. package/dist/list/mdc-list.js.map +1 -1
  190. package/dist/list/styles/_index.scss +1 -0
  191. package/dist/list/styles/mdc-list.import.scss +1 -0
  192. package/dist/list/styles/mdc-list.scss +6 -0
  193. package/dist/lookup/discardable-promise.js +1 -5
  194. package/dist/lookup/discardable-promise.js.map +1 -1
  195. package/dist/lookup/mdc-lookup-configuration.js +1 -5
  196. package/dist/lookup/mdc-lookup-configuration.js.map +1 -1
  197. package/dist/lookup/mdc-lookup.js +66 -69
  198. package/dist/lookup/mdc-lookup.js.map +1 -1
  199. package/dist/mdc-configuration.js +11 -15
  200. package/dist/mdc-configuration.js.map +1 -1
  201. package/dist/menu/mdc-menu-selection-group-icon.js +6 -9
  202. package/dist/menu/mdc-menu-selection-group-icon.js.map +1 -1
  203. package/dist/menu/mdc-menu-selection-group.js +6 -9
  204. package/dist/menu/mdc-menu-selection-group.js.map +1 -1
  205. package/dist/menu/mdc-menu.js +68 -71
  206. package/dist/menu/mdc-menu.js.map +1 -1
  207. package/dist/menu-surface/mdc-menu-surface-anchor.js +8 -11
  208. package/dist/menu-surface/mdc-menu-surface-anchor.js.map +1 -1
  209. package/dist/menu-surface/mdc-menu-surface.js +58 -61
  210. package/dist/menu-surface/mdc-menu-surface.js.map +1 -1
  211. package/dist/notched-outline/mdc-notched-outline.js +17 -20
  212. package/dist/notched-outline/mdc-notched-outline.js.map +1 -1
  213. package/dist/radio/mdc-radio.js +24 -27
  214. package/dist/radio/mdc-radio.js.map +1 -1
  215. package/dist/ripple/mdc-ripple.js +48 -51
  216. package/dist/ripple/mdc-ripple.js.map +1 -1
  217. package/dist/ripple/styles/_index.scss +1 -0
  218. package/dist/ripple/styles/mdc-ripple.import.scss +1 -0
  219. package/dist/ripple/styles/mdc-ripple.scss +10 -0
  220. package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js +6 -9
  221. package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js.map +1 -1
  222. package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js +24 -27
  223. package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js.map +1 -1
  224. package/dist/segmented-button/mdc-segmented-button.js +21 -24
  225. package/dist/segmented-button/mdc-segmented-button.js.map +1 -1
  226. package/dist/select/mdc-default-select-configuration.js +1 -5
  227. package/dist/select/mdc-default-select-configuration.js.map +1 -1
  228. package/dist/select/mdc-select-adapter-aurelia.js +1 -2
  229. package/dist/select/mdc-select-adapter-aurelia.js.map +1 -1
  230. package/dist/select/mdc-select-foundation-aurelia.js +43 -47
  231. package/dist/select/mdc-select-foundation-aurelia.js.map +1 -1
  232. package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js +24 -27
  233. package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js.map +1 -1
  234. package/dist/select/mdc-select-icon.js +13 -16
  235. package/dist/select/mdc-select-icon.js.map +1 -1
  236. package/dist/select/mdc-select-value-observer.js +11 -14
  237. package/dist/select/mdc-select-value-observer.js.map +1 -1
  238. package/dist/select/mdc-select.js +64 -67
  239. package/dist/select/mdc-select.js.map +1 -1
  240. package/dist/slider/mdc-slider-foundation-aurelia.js +2 -6
  241. package/dist/slider/mdc-slider-foundation-aurelia.js.map +1 -1
  242. package/dist/slider/mdc-slider.js +76 -79
  243. package/dist/slider/mdc-slider.js.map +1 -1
  244. package/dist/slider/styles/_index.scss +1 -0
  245. package/dist/slider/styles/mdc-slider.import.scss +1 -0
  246. package/dist/slider/styles/mdc-slider.scss +8 -0
  247. package/dist/snackbar/mdc-snackbar-service.js +4 -8
  248. package/dist/snackbar/mdc-snackbar-service.js.map +1 -1
  249. package/dist/snackbar/mdc-snackbar.js +52 -55
  250. package/dist/snackbar/mdc-snackbar.js.map +1 -1
  251. package/dist/switch/enhance-mdc-switch.js +6 -9
  252. package/dist/switch/enhance-mdc-switch.js.map +1 -1
  253. package/dist/switch/mdc-switch.js +13 -16
  254. package/dist/switch/mdc-switch.js.map +1 -1
  255. package/dist/tab-bar/indicator/mdc-tab-indicator.js +23 -26
  256. package/dist/tab-bar/indicator/mdc-tab-indicator.js.map +1 -1
  257. package/dist/tab-bar/mdc-tab-bar.js +26 -29
  258. package/dist/tab-bar/mdc-tab-bar.js.map +1 -1
  259. package/dist/tab-bar/scroller/mdc-tab-scroller.js +22 -25
  260. package/dist/tab-bar/scroller/mdc-tab-scroller.js.map +1 -1
  261. package/dist/tab-bar/tab/mdc-tab.js +41 -44
  262. package/dist/tab-bar/tab/mdc-tab.js.map +1 -1
  263. package/dist/text-field/enhance-mdc-text-field.js +6 -9
  264. package/dist/text-field/enhance-mdc-text-field.js.map +1 -1
  265. package/dist/text-field/mdc-default-text-field-configuration.js +1 -5
  266. package/dist/text-field/mdc-default-text-field-configuration.js.map +1 -1
  267. package/dist/text-field/mdc-inputmask.js +12 -15
  268. package/dist/text-field/mdc-inputmask.js.map +1 -1
  269. package/dist/text-field/mdc-text-field-character-counter.js +10 -13
  270. package/dist/text-field/mdc-text-field-character-counter.js.map +1 -1
  271. package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js +11 -14
  272. package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js.map +1 -1
  273. package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js +19 -22
  274. package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js.map +1 -1
  275. package/dist/text-field/mdc-text-field-icon.js +19 -22
  276. package/dist/text-field/mdc-text-field-icon.js.map +1 -1
  277. package/dist/text-field/mdc-text-field.js +109 -112
  278. package/dist/text-field/mdc-text-field.js.map +1 -1
  279. package/dist/text-field/styles/_index.scss +1 -0
  280. package/dist/text-field/styles/mdc-text-field.import.scss +1 -0
  281. package/dist/text-field/styles/mdc-text-field.scss +8 -0
  282. package/dist/tooltip/mdc-default-tooltip-configuration.js +1 -5
  283. package/dist/tooltip/mdc-default-tooltip-configuration.js.map +1 -1
  284. package/dist/tooltip/mdc-tooltip-attribute.js +36 -39
  285. package/dist/tooltip/mdc-tooltip-attribute.js.map +1 -1
  286. package/dist/tooltip/mdc-tooltip.js +57 -60
  287. package/dist/tooltip/mdc-tooltip.js.map +1 -1
  288. package/dist/top-app-bar/enhance-top-app-bar-actions.js +6 -9
  289. package/dist/top-app-bar/enhance-top-app-bar-actions.js.map +1 -1
  290. package/dist/top-app-bar/mdc-top-app-bar-action-item.js +6 -9
  291. package/dist/top-app-bar/mdc-top-app-bar-action-item.js.map +1 -1
  292. package/dist/top-app-bar/mdc-top-app-bar-fixed-adjust.js +6 -9
  293. package/dist/top-app-bar/mdc-top-app-bar-fixed-adjust.js.map +1 -1
  294. package/dist/top-app-bar/mdc-top-app-bar-nav-icon.js +6 -9
  295. package/dist/top-app-bar/mdc-top-app-bar-nav-icon.js.map +1 -1
  296. package/dist/top-app-bar/mdc-top-app-bar-row.js +6 -9
  297. package/dist/top-app-bar/mdc-top-app-bar-row.js.map +1 -1
  298. package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js +12 -15
  299. package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js.map +1 -1
  300. package/dist/top-app-bar/mdc-top-app-bar-title.js +6 -9
  301. package/dist/top-app-bar/mdc-top-app-bar-title.js.map +1 -1
  302. package/dist/top-app-bar/mdc-top-app-bar.js +40 -43
  303. package/dist/top-app-bar/mdc-top-app-bar.js.map +1 -1
  304. package/dist/tree-view/i-tree-node.js +1 -2
  305. package/dist/tree-view/mdc-tree-node-meta.js +6 -9
  306. package/dist/tree-view/mdc-tree-node-meta.js.map +1 -1
  307. package/dist/tree-view/mdc-tree-node.js +6 -9
  308. package/dist/tree-view/mdc-tree-node.js.map +1 -1
  309. package/dist/tree-view/mdc-tree-view.js +25 -29
  310. package/dist/tree-view/mdc-tree-view.js.map +1 -1
  311. package/dist/tree-view/node-filter.js +6 -9
  312. package/dist/tree-view/node-filter.js.map +1 -1
  313. package/dist/tree-view/styles/_index.scss +1 -0
  314. package/dist/tree-view/styles/_mixins.scss +145 -0
  315. package/dist/tree-view/styles/_variables.scss +8 -0
  316. package/dist/tree-view/styles/mdc-tree-view.import.scss +1 -0
  317. package/dist/tree-view/styles/mdc-tree-view.scss +3 -0
  318. package/dist/types/alert/alert-modal/i-alert-modal-payload.d.ts +7 -2
  319. package/dist/types/index.d.ts +1 -0
  320. package/dist/typography/mdc-typography.js +57 -60
  321. package/dist/typography/mdc-typography.js.map +1 -1
  322. package/dist/validation/mdc-validation-controller-factory.js +6 -10
  323. package/dist/validation/mdc-validation-controller-factory.js.map +1 -1
  324. package/dist/validation/mdc-validation-result-presenter.js +1 -5
  325. package/dist/validation/mdc-validation-result-presenter.js.map +1 -1
  326. package/dist/validation/validate.js +1 -4
  327. package/dist/validation/validate.js.map +1 -1
  328. package/package.json +2 -2
  329. package/src/alert/alert-modal/i-alert-modal-payload.ts +14 -9
  330. package/src/alert/alert-service.ts +29 -10
  331. package/src/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-select-adapter-aurelia.js","sourceRoot":"","sources":["../../src/select/mdc-select-adapter-aurelia.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG","sourcesContent":["/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n\r\nimport {Corner} from '@material/menu-surface/constants';\r\n\r\n/**\r\n * Defines the shape of the adapter expected by the foundation.\r\n * Implement this adapter for your framework of choice to delegate updates to\r\n * the component in your framework of choice. See architecture documentation\r\n * for more details.\r\n * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md\r\n * @hidden\r\n */\r\nexport interface MDCSelectAdapterAurelia {\r\n /**\r\n * Adds class to select anchor element.\r\n */\r\n addClass(className: string): void;\r\n\r\n /**\r\n * Removes a class from the select anchor element.\r\n */\r\n removeClass(className: string): void;\r\n\r\n /**\r\n * Returns true if the select anchor element contains the given class name.\r\n */\r\n hasClass(className: string): boolean;\r\n\r\n /**\r\n * Activates the bottom line, showing a focused state.\r\n */\r\n activateBottomLine(): void;\r\n\r\n /**\r\n * Deactivates the bottom line.\r\n */\r\n deactivateBottomLine(): void;\r\n\r\n /**\r\n * Returns true if label exists, false if it doesn't.\r\n */\r\n hasLabel(): boolean;\r\n\r\n /**\r\n * Floats label determined based off of the shouldFloat argument.\r\n */\r\n floatLabel(shouldFloat: boolean): void;\r\n\r\n /**\r\n * Returns width of label in pixels, if the label exists.\r\n */\r\n getLabelWidth(): number;\r\n\r\n /**\r\n * Styles the label as required, if the label exists.\r\n */\r\n setLabelRequired(isRequired: boolean): void;\r\n\r\n /**\r\n * Returns true if outline element exists, false if it doesn't.\r\n */\r\n hasOutline(): boolean;\r\n\r\n /**\r\n * Only implement if outline element exists.\r\n */\r\n notchOutline(labelWidth: number): void;\r\n\r\n /**\r\n * Closes notch in outline element, if the outline exists.\r\n */\r\n closeOutline(): void;\r\n\r\n /**\r\n * Sets the line ripple transform origin center.\r\n */\r\n setRippleCenter(normalizedX: number): void;\r\n\r\n /**\r\n * Emits a change event when an element is selected.\r\n * !!! MODIFIED FOR AURELIA !!!\r\n */\r\n notifyChange(value: unknown): void;\r\n\r\n /**\r\n * Sets the text content of the selectedText element to the given string.\r\n */\r\n setSelectedText(text: string): void;\r\n\r\n /**\r\n * Returns whether the select anchor is focused.\r\n */\r\n isSelectAnchorFocused(): boolean;\r\n\r\n /**\r\n * Gets the given attribute on the select anchor element.\r\n */\r\n getSelectAnchorAttr(attr: string): string|null;\r\n\r\n /**\r\n * Sets the given attribute on the select anchor element.\r\n */\r\n setSelectAnchorAttr(attr: string, value: string): void;\r\n\r\n /**\r\n * Removes the given attribute on the select anchor element.\r\n */\r\n removeSelectAnchorAttr(attr: string): void;\r\n\r\n // Menu-related methods ======================================================\r\n /**\r\n * Adds class to the menu element.\r\n */\r\n addMenuClass(className: string): void;\r\n\r\n /**\r\n * Removes a class from the menu element.\r\n */\r\n removeMenuClass(className: string): void;\r\n\r\n /**\r\n * Opens the menu.\r\n */\r\n openMenu(): void;\r\n\r\n /**\r\n * Closes the menu.\r\n */\r\n closeMenu(): void;\r\n\r\n /**\r\n * Returns the select anchor element.\r\n */\r\n getAnchorElement(): Element | null;\r\n\r\n /**\r\n * Sets the menu anchor element.\r\n */\r\n setMenuAnchorElement(anchorEl: Element): void;\r\n\r\n /**\r\n * Sets the menu anchor corner.\r\n */\r\n setMenuAnchorCorner(anchorCorner: Corner): void;\r\n\r\n /**\r\n * Sets whether the menu should wrap focus.\r\n */\r\n setMenuWrapFocus(wrapFocus: boolean): void;\r\n\r\n /**\r\n * Focuses the menu item element at the given index.\r\n */\r\n focusMenuItemAtIndex(index: number): void;\r\n\r\n /**\r\n * Returns the number of menu items.\r\n */\r\n getMenuItemCount(): number;\r\n\r\n /**\r\n * Returns an array representing the VALUE_ATTR attributes of each menu item.\r\n * !!! MODIFIED FOR AURELIA !!!\r\n */\r\n getMenuItemValues(): unknown[];\r\n\r\n /**\r\n * Gets the text content of the menu item element at the given index.\r\n */\r\n getMenuItemTextAtIndex(index: number): string;\r\n\r\n /**\r\n * Returns the selected index.\r\n */\r\n getSelectedIndex(): number;\r\n\r\n /**\r\n * Sets the selected index in the menu.\r\n */\r\n setSelectedIndex(index: number): void;\r\n\r\n /**\r\n * Returns whether typeahead is in progress in the menu.\r\n */\r\n isTypeaheadInProgress(): boolean;\r\n\r\n /**\r\n * Adds a character to the list typeahead buffer and returns index of the\r\n * next item in the list matching the buffer.\r\n */\r\n typeaheadMatchItem(nextChar: string, startingIndex: number): number;\r\n}\r\n"]}
1
+ {"version":3,"file":"mdc-select-adapter-aurelia.js","sourceRoot":"","sources":["../../src/select/mdc-select-adapter-aurelia.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG","sourcesContent":["/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n\r\nimport {Corner} from '@material/menu-surface/constants';\r\n\r\n/**\r\n * Defines the shape of the adapter expected by the foundation.\r\n * Implement this adapter for your framework of choice to delegate updates to\r\n * the component in your framework of choice. See architecture documentation\r\n * for more details.\r\n * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md\r\n * @hidden\r\n */\r\nexport interface MDCSelectAdapterAurelia {\r\n /**\r\n * Adds class to select anchor element.\r\n */\r\n addClass(className: string): void;\r\n\r\n /**\r\n * Removes a class from the select anchor element.\r\n */\r\n removeClass(className: string): void;\r\n\r\n /**\r\n * Returns true if the select anchor element contains the given class name.\r\n */\r\n hasClass(className: string): boolean;\r\n\r\n /**\r\n * Activates the bottom line, showing a focused state.\r\n */\r\n activateBottomLine(): void;\r\n\r\n /**\r\n * Deactivates the bottom line.\r\n */\r\n deactivateBottomLine(): void;\r\n\r\n /**\r\n * Returns true if label exists, false if it doesn't.\r\n */\r\n hasLabel(): boolean;\r\n\r\n /**\r\n * Floats label determined based off of the shouldFloat argument.\r\n */\r\n floatLabel(shouldFloat: boolean): void;\r\n\r\n /**\r\n * Returns width of label in pixels, if the label exists.\r\n */\r\n getLabelWidth(): number;\r\n\r\n /**\r\n * Styles the label as required, if the label exists.\r\n */\r\n setLabelRequired(isRequired: boolean): void;\r\n\r\n /**\r\n * Returns true if outline element exists, false if it doesn't.\r\n */\r\n hasOutline(): boolean;\r\n\r\n /**\r\n * Only implement if outline element exists.\r\n */\r\n notchOutline(labelWidth: number): void;\r\n\r\n /**\r\n * Closes notch in outline element, if the outline exists.\r\n */\r\n closeOutline(): void;\r\n\r\n /**\r\n * Sets the line ripple transform origin center.\r\n */\r\n setRippleCenter(normalizedX: number): void;\r\n\r\n /**\r\n * Emits a change event when an element is selected.\r\n * !!! MODIFIED FOR AURELIA !!!\r\n */\r\n notifyChange(value: unknown): void;\r\n\r\n /**\r\n * Sets the text content of the selectedText element to the given string.\r\n */\r\n setSelectedText(text: string): void;\r\n\r\n /**\r\n * Returns whether the select anchor is focused.\r\n */\r\n isSelectAnchorFocused(): boolean;\r\n\r\n /**\r\n * Gets the given attribute on the select anchor element.\r\n */\r\n getSelectAnchorAttr(attr: string): string|null;\r\n\r\n /**\r\n * Sets the given attribute on the select anchor element.\r\n */\r\n setSelectAnchorAttr(attr: string, value: string): void;\r\n\r\n /**\r\n * Removes the given attribute on the select anchor element.\r\n */\r\n removeSelectAnchorAttr(attr: string): void;\r\n\r\n // Menu-related methods ======================================================\r\n /**\r\n * Adds class to the menu element.\r\n */\r\n addMenuClass(className: string): void;\r\n\r\n /**\r\n * Removes a class from the menu element.\r\n */\r\n removeMenuClass(className: string): void;\r\n\r\n /**\r\n * Opens the menu.\r\n */\r\n openMenu(): void;\r\n\r\n /**\r\n * Closes the menu.\r\n */\r\n closeMenu(): void;\r\n\r\n /**\r\n * Returns the select anchor element.\r\n */\r\n getAnchorElement(): Element | null;\r\n\r\n /**\r\n * Sets the menu anchor element.\r\n */\r\n setMenuAnchorElement(anchorEl: Element): void;\r\n\r\n /**\r\n * Sets the menu anchor corner.\r\n */\r\n setMenuAnchorCorner(anchorCorner: Corner): void;\r\n\r\n /**\r\n * Sets whether the menu should wrap focus.\r\n */\r\n setMenuWrapFocus(wrapFocus: boolean): void;\r\n\r\n /**\r\n * Focuses the menu item element at the given index.\r\n */\r\n focusMenuItemAtIndex(index: number): void;\r\n\r\n /**\r\n * Returns the number of menu items.\r\n */\r\n getMenuItemCount(): number;\r\n\r\n /**\r\n * Returns an array representing the VALUE_ATTR attributes of each menu item.\r\n * !!! MODIFIED FOR AURELIA !!!\r\n */\r\n getMenuItemValues(): unknown[];\r\n\r\n /**\r\n * Gets the text content of the menu item element at the given index.\r\n */\r\n getMenuItemTextAtIndex(index: number): string;\r\n\r\n /**\r\n * Returns the selected index.\r\n */\r\n getSelectedIndex(): number;\r\n\r\n /**\r\n * Sets the selected index in the menu.\r\n */\r\n setSelectedIndex(index: number): void;\r\n\r\n /**\r\n * Returns whether typeahead is in progress in the menu.\r\n */\r\n isTypeaheadInProgress(): boolean;\r\n\r\n /**\r\n * Adds a character to the list typeahead buffer and returns index of the\r\n * next item in the list matching the buffer.\r\n */\r\n typeaheadMatchItem(nextChar: string, startingIndex: number): number;\r\n}\r\n"]}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * @license
4
3
  * Copyright 2016 Google Inc.
@@ -21,22 +20,20 @@
21
20
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
21
  * THE SOFTWARE.
23
22
  */
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.MDCSelectFoundationAurelia = void 0;
26
- const foundation_1 = require("@material/base/foundation");
27
- const keyboard_1 = require("@material/dom/keyboard");
28
- const constants_1 = require("@material/menu-surface/constants");
29
- const select_1 = require("@material/select");
23
+ import { MDCFoundation } from '@material/base/foundation';
24
+ import { KEY, normalizeKey } from '@material/dom/keyboard';
25
+ import { Corner } from '@material/menu-surface/constants';
26
+ import { cssClasses, numbers, strings } from '@material/select';
30
27
  // !!! MODIFIED FOR AURELIA !!!
31
- class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
28
+ export class MDCSelectFoundationAurelia extends MDCFoundation {
32
29
  static get cssClasses() {
33
- return select_1.cssClasses;
30
+ return cssClasses;
34
31
  }
35
32
  static get numbers() {
36
- return select_1.numbers;
33
+ return numbers;
37
34
  }
38
35
  static get strings() {
39
- return select_1.strings;
36
+ return strings;
40
37
  }
41
38
  /**
42
39
  * See {@link MDCSelectAdapter} for typing information on parameters and return types.
@@ -94,7 +91,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
94
91
  // By default, select is invalid if it is required but no value is selected.
95
92
  useDefaultValidation = true;
96
93
  customValidity = true;
97
- lastSelectedIndex = select_1.numbers.UNSET_INDEX;
94
+ lastSelectedIndex = numbers.UNSET_INDEX;
98
95
  /* istanbul ignore next: optional argument is not a branch statement */
99
96
  /**
100
97
  * @param adapter
@@ -115,7 +112,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
115
112
  }
116
113
  // !!! MODIFIED FOR AURELIA TO SUPPORT TEXT IN "EMPTY" ITEMS !!!
117
114
  const menuItemValues = this.adapter.getMenuItemValues();
118
- if (index === select_1.numbers.UNSET_INDEX || menuItemValues[index] === undefined || menuItemValues[index] === null) {
115
+ if (index === numbers.UNSET_INDEX || menuItemValues[index] === undefined || menuItemValues[index] === null) {
119
116
  this.adapter.setSelectedText('');
120
117
  }
121
118
  else {
@@ -139,7 +136,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
139
136
  getValue() {
140
137
  const index = this.adapter.getSelectedIndex();
141
138
  const menuItemValues = this.adapter.getMenuItemValues();
142
- return index !== select_1.numbers.UNSET_INDEX ? menuItemValues[index] : undefined;
139
+ return index !== numbers.UNSET_INDEX ? menuItemValues[index] : undefined;
143
140
  }
144
141
  getDisabled() {
145
142
  return this.disabled;
@@ -147,11 +144,11 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
147
144
  setDisabled(isDisabled) {
148
145
  this.disabled = isDisabled;
149
146
  if (this.disabled) {
150
- this.adapter.addClass(select_1.cssClasses.DISABLED);
147
+ this.adapter.addClass(cssClasses.DISABLED);
151
148
  this.adapter.closeMenu();
152
149
  }
153
150
  else {
154
- this.adapter.removeClass(select_1.cssClasses.DISABLED);
151
+ this.adapter.removeClass(cssClasses.DISABLED);
155
152
  }
156
153
  if (this.leadingIcon) {
157
154
  this.leadingIcon.setDisabled(this.disabled);
@@ -168,7 +165,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
168
165
  }
169
166
  /** Opens the menu. */
170
167
  openMenu() {
171
- this.adapter.addClass(select_1.cssClasses.ACTIVATED);
168
+ this.adapter.addClass(cssClasses.ACTIVATED);
172
169
  this.adapter.openMenu();
173
170
  this.isMenuOpen = true;
174
171
  this.adapter.setSelectAnchorAttr('aria-expanded', 'true');
@@ -188,9 +185,9 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
188
185
  layout() {
189
186
  if (this.adapter.hasLabel()) {
190
187
  const optionHasValue = this.getValue() !== undefined; // !!! MODIFIED FOR AURELIA !!!
191
- const isFocused = this.adapter.hasClass(select_1.cssClasses.FOCUSED);
188
+ const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);
192
189
  const shouldFloatAndNotch = optionHasValue || isFocused;
193
- const isRequired = this.adapter.hasClass(select_1.cssClasses.REQUIRED);
190
+ const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);
194
191
  this.notchOutline(shouldFloatAndNotch);
195
192
  this.adapter.floatLabel(shouldFloatAndNotch);
196
193
  this.adapter.setLabelRequired(isRequired);
@@ -215,7 +212,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
215
212
  this.adapter.focusMenuItemAtIndex(focusItemIndex);
216
213
  }
217
214
  handleMenuClosed() {
218
- this.adapter.removeClass(select_1.cssClasses.ACTIVATED);
215
+ this.adapter.removeClass(cssClasses.ACTIVATED);
219
216
  this.isMenuOpen = false;
220
217
  this.adapter.setSelectAnchorAttr('aria-expanded', 'false');
221
218
  // Unfocus the select if menu is closed without a selection
@@ -229,7 +226,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
229
226
  handleChange() {
230
227
  this.layout();
231
228
  this.adapter.notifyChange(this.getValue());
232
- const isRequired = this.adapter.hasClass(select_1.cssClasses.REQUIRED);
229
+ const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);
233
230
  if (isRequired && this.useDefaultValidation) {
234
231
  this.setValid(this.isValid());
235
232
  }
@@ -241,7 +238,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
241
238
  * Handles focus events from select element.
242
239
  */
243
240
  handleFocus() {
244
- this.adapter.addClass(select_1.cssClasses.FOCUSED);
241
+ this.adapter.addClass(cssClasses.FOCUSED);
245
242
  this.layout();
246
243
  this.adapter.activateBottomLine();
247
244
  }
@@ -270,13 +267,13 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
270
267
  * character typed, does typeahead matching or opens menu.
271
268
  */
272
269
  handleKeydown(event) {
273
- if (this.isMenuOpen || !this.adapter.hasClass(select_1.cssClasses.FOCUSED)) {
270
+ if (this.isMenuOpen || !this.adapter.hasClass(cssClasses.FOCUSED)) {
274
271
  return;
275
272
  }
276
- const isEnter = (0, keyboard_1.normalizeKey)(event) === keyboard_1.KEY.ENTER;
277
- const isSpace = (0, keyboard_1.normalizeKey)(event) === keyboard_1.KEY.SPACEBAR;
278
- const arrowUp = (0, keyboard_1.normalizeKey)(event) === keyboard_1.KEY.ARROW_UP;
279
- const arrowDown = (0, keyboard_1.normalizeKey)(event) === keyboard_1.KEY.ARROW_DOWN;
273
+ const isEnter = normalizeKey(event) === KEY.ENTER;
274
+ const isSpace = normalizeKey(event) === KEY.SPACEBAR;
275
+ const arrowUp = normalizeKey(event) === KEY.ARROW_UP;
276
+ const arrowDown = normalizeKey(event) === KEY.ARROW_DOWN;
280
277
  // Typeahead
281
278
  if (!isSpace && event.key && event.key.length === 1 ||
282
279
  isSpace && this.adapter.isTypeaheadInProgress()) {
@@ -309,9 +306,9 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
309
306
  if (!this.adapter.hasOutline()) {
310
307
  return;
311
308
  }
312
- const isFocused = this.adapter.hasClass(select_1.cssClasses.FOCUSED);
309
+ const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);
313
310
  if (openNotch) {
314
- const labelScale = select_1.numbers.LABEL_SCALE;
311
+ const labelScale = numbers.LABEL_SCALE;
315
312
  const labelWidth = this.adapter.getLabelWidth() * labelScale;
316
313
  this.adapter.notchOutline(labelWidth);
317
314
  }
@@ -344,32 +341,32 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
344
341
  }
345
342
  this.adapter.setSelectAnchorAttr('aria-invalid', (!isValid).toString());
346
343
  if (isValid) {
347
- this.adapter.removeClass(select_1.cssClasses.INVALID);
348
- this.adapter.removeMenuClass(select_1.cssClasses.MENU_INVALID);
344
+ this.adapter.removeClass(cssClasses.INVALID);
345
+ this.adapter.removeMenuClass(cssClasses.MENU_INVALID);
349
346
  }
350
347
  else {
351
- this.adapter.addClass(select_1.cssClasses.INVALID);
352
- this.adapter.addMenuClass(select_1.cssClasses.MENU_INVALID);
348
+ this.adapter.addClass(cssClasses.INVALID);
349
+ this.adapter.addMenuClass(cssClasses.MENU_INVALID);
353
350
  }
354
351
  this.syncHelperTextValidity(isValid);
355
352
  }
356
353
  isValid() {
357
354
  if (this.useDefaultValidation &&
358
- this.adapter.hasClass(select_1.cssClasses.REQUIRED) &&
359
- !this.adapter.hasClass(select_1.cssClasses.DISABLED)) {
355
+ this.adapter.hasClass(cssClasses.REQUIRED) &&
356
+ !this.adapter.hasClass(cssClasses.DISABLED)) {
360
357
  // See notes for required attribute under https://www.w3.org/TR/html52/sec-forms.html#the-select-element
361
358
  // TL;DR: Invalid if no index is selected, or if the first index is selected and has an empty value.
362
- return this.getSelectedIndex() !== select_1.numbers.UNSET_INDEX &&
359
+ return this.getSelectedIndex() !== numbers.UNSET_INDEX &&
363
360
  (this.getSelectedIndex() !== 0 || Boolean(this.getValue()));
364
361
  }
365
362
  return this.customValidity;
366
363
  }
367
364
  setRequired(isRequired) {
368
365
  if (isRequired) {
369
- this.adapter.addClass(select_1.cssClasses.REQUIRED);
366
+ this.adapter.addClass(cssClasses.REQUIRED);
370
367
  }
371
368
  else {
372
- this.adapter.removeClass(select_1.cssClasses.REQUIRED);
369
+ this.adapter.removeClass(cssClasses.REQUIRED);
373
370
  }
374
371
  this.adapter.setSelectAnchorAttr('aria-required', isRequired.toString());
375
372
  this.adapter.setLabelRequired(isRequired);
@@ -381,11 +378,11 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
381
378
  const anchorEl = this.adapter.getAnchorElement();
382
379
  if (anchorEl) {
383
380
  this.adapter.setMenuAnchorElement(anchorEl);
384
- this.adapter.setMenuAnchorCorner(constants_1.Corner.BOTTOM_START);
381
+ this.adapter.setMenuAnchorCorner(Corner.BOTTOM_START);
385
382
  }
386
383
  this.adapter.setMenuWrapFocus(false);
387
- this.setDisabled(this.adapter.hasClass(select_1.cssClasses.DISABLED));
388
- this.syncHelperTextValidity(!this.adapter.hasClass(select_1.cssClasses.INVALID));
384
+ this.setDisabled(this.adapter.hasClass(cssClasses.DISABLED));
385
+ this.syncHelperTextValidity(!this.adapter.hasClass(cssClasses.INVALID));
389
386
  this.layout();
390
387
  this.layoutOptions();
391
388
  }
@@ -393,10 +390,10 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
393
390
  * Unfocuses the select component.
394
391
  */
395
392
  blur() {
396
- this.adapter.removeClass(select_1.cssClasses.FOCUSED);
393
+ this.adapter.removeClass(cssClasses.FOCUSED);
397
394
  this.layout();
398
395
  this.adapter.deactivateBottomLine();
399
- const isRequired = this.adapter.hasClass(select_1.cssClasses.REQUIRED);
396
+ const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);
400
397
  if (isRequired && this.useDefaultValidation) {
401
398
  this.setValid(this.isValid());
402
399
  }
@@ -409,16 +406,15 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
409
406
  const helperTextVisible = this.helperText.isVisible();
410
407
  const helperTextId = this.helperText.getId();
411
408
  if (helperTextVisible && helperTextId) {
412
- this.adapter.setSelectAnchorAttr(select_1.strings.ARIA_DESCRIBEDBY, helperTextId);
409
+ this.adapter.setSelectAnchorAttr(strings.ARIA_DESCRIBEDBY, helperTextId);
413
410
  }
414
411
  else {
415
412
  // Needed because screenreaders will read labels pointed to by
416
413
  // `aria-describedby` even if they are `aria-hidden`.
417
- this.adapter.removeSelectAnchorAttr(select_1.strings.ARIA_DESCRIBEDBY);
414
+ this.adapter.removeSelectAnchorAttr(strings.ARIA_DESCRIBEDBY);
418
415
  }
419
416
  }
420
417
  }
421
- exports.MDCSelectFoundationAurelia = MDCSelectFoundationAurelia;
422
418
  // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.
423
- exports.default = MDCSelectFoundationAurelia;
419
+ export default MDCSelectFoundationAurelia;
424
420
  //# sourceMappingURL=mdc-select-foundation-aurelia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-select-foundation-aurelia.js","sourceRoot":"","sources":["../../src/select/mdc-select-foundation-aurelia.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { KEY, normalizeKey } from '@material/dom/keyboard';\r\nimport { Corner } from '@material/menu-surface/constants';\r\n\r\nimport { MDCSelectAdapterAurelia } from './mdc-select-adapter-aurelia';\r\nimport { cssClasses, numbers, strings, MDCSelectIconFoundation, MDCSelectHelperTextFoundation, MDCSelectFoundationMap } from '@material/select';\r\n\r\n// !!! MODIFIED FOR AURELIA !!!\r\nexport class MDCSelectFoundationAurelia extends MDCFoundation<MDCSelectAdapterAurelia> {\r\n static get cssClasses() {\r\n return cssClasses;\r\n }\r\n\r\n static get numbers() {\r\n return numbers;\r\n }\r\n\r\n static get strings() {\r\n return strings;\r\n }\r\n\r\n /**\r\n * See {@link MDCSelectAdapter} for typing information on parameters and return types.\r\n */\r\n static get defaultAdapter(): MDCSelectAdapterAurelia {\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n return {\r\n addClass: () => undefined,\r\n removeClass: () => undefined,\r\n hasClass: () => false,\r\n activateBottomLine: () => undefined,\r\n deactivateBottomLine: () => undefined,\r\n getSelectedIndex: () => -1,\r\n setSelectedIndex: () => undefined,\r\n hasLabel: () => false,\r\n floatLabel: () => undefined,\r\n getLabelWidth: () => 0,\r\n setLabelRequired: () => undefined,\r\n hasOutline: () => false,\r\n notchOutline: () => undefined,\r\n closeOutline: () => undefined,\r\n setRippleCenter: () => undefined,\r\n notifyChange: () => undefined,\r\n setSelectedText: () => undefined,\r\n isSelectAnchorFocused: () => false,\r\n getSelectAnchorAttr: () => '',\r\n setSelectAnchorAttr: () => undefined,\r\n removeSelectAnchorAttr: () => undefined,\r\n addMenuClass: () => undefined,\r\n removeMenuClass: () => undefined,\r\n openMenu: () => undefined,\r\n closeMenu: () => undefined,\r\n getAnchorElement: () => null,\r\n setMenuAnchorElement: () => undefined,\r\n setMenuAnchorCorner: () => undefined,\r\n setMenuWrapFocus: () => undefined,\r\n focusMenuItemAtIndex: () => undefined,\r\n getMenuItemCount: () => 0,\r\n getMenuItemValues: () => [],\r\n getMenuItemTextAtIndex: () => '',\r\n isTypeaheadInProgress: () => false,\r\n typeaheadMatchItem: () => -1,\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n }\r\n\r\n private readonly leadingIcon: MDCSelectIconFoundation | undefined;\r\n private readonly helperText: MDCSelectHelperTextFoundation | undefined;\r\n\r\n // Disabled state\r\n private disabled = false;\r\n // isMenuOpen is used to track the state of the menu by listening to the\r\n // MDCMenuSurface:closed event For reference, menu.open will return false if\r\n // the menu is still closing, but isMenuOpen returns false only after the menu\r\n // has closed\r\n private isMenuOpen = false;\r\n // By default, select is invalid if it is required but no value is selected.\r\n private useDefaultValidation = true;\r\n private customValidity = true;\r\n private lastSelectedIndex = numbers.UNSET_INDEX;\r\n\r\n /* istanbul ignore next: optional argument is not a branch statement */\r\n /**\r\n * @param adapter\r\n * @param foundationMap Map from subcomponent names to their subfoundations.\r\n */\r\n constructor(adapter?: Partial<MDCSelectAdapterAurelia>, foundationMap: Partial<MDCSelectFoundationMap> = {}) {\r\n super({ ...MDCSelectFoundationAurelia.defaultAdapter, ...adapter });\r\n\r\n this.leadingIcon = foundationMap.leadingIcon;\r\n this.helperText = foundationMap.helperText;\r\n }\r\n\r\n /** Returns the index of the currently selected menu item, or -1 if none. */\r\n getSelectedIndex(): number {\r\n return this.adapter.getSelectedIndex();\r\n }\r\n\r\n setSelectedIndex(index: number, closeMenu = false, skipNotify = false) {\r\n if (index >= this.adapter.getMenuItemCount()) {\r\n return;\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA TO SUPPORT TEXT IN \"EMPTY\" ITEMS !!!\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n if (index === numbers.UNSET_INDEX || menuItemValues[index] === undefined || menuItemValues[index] === null) {\r\n this.adapter.setSelectedText('');\r\n } else {\r\n this.adapter.setSelectedText(\r\n this.adapter.getMenuItemTextAtIndex(index).trim());\r\n }\r\n\r\n this.adapter.setSelectedIndex(index);\r\n\r\n if (closeMenu) {\r\n this.adapter.closeMenu();\r\n }\r\n\r\n if (!skipNotify && this.lastSelectedIndex !== index) {\r\n this.handleChange();\r\n }\r\n this.lastSelectedIndex = index;\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA !!!\r\n setValue(value: unknown, skipNotify = false) {\r\n const index = this.adapter.getMenuItemValues().indexOf(value);\r\n this.setSelectedIndex(index, /** closeMenu */ false, skipNotify);\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA !!!\r\n getValue() {\r\n const index = this.adapter.getSelectedIndex();\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n return index !== numbers.UNSET_INDEX ? menuItemValues[index] : undefined;\r\n }\r\n\r\n getDisabled() {\r\n return this.disabled;\r\n }\r\n\r\n setDisabled(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n if (this.disabled) {\r\n this.adapter.addClass(cssClasses.DISABLED);\r\n this.adapter.closeMenu();\r\n } else {\r\n this.adapter.removeClass(cssClasses.DISABLED);\r\n }\r\n\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setDisabled(this.disabled);\r\n }\r\n\r\n if (this.disabled) {\r\n // Prevent click events from focusing select. Simply pointer-events: none\r\n // is not enough since screenreader clicks may bypass this.\r\n this.adapter.removeSelectAnchorAttr('tabindex');\r\n } else {\r\n this.adapter.setSelectAnchorAttr('tabindex', '0');\r\n }\r\n\r\n this.adapter.setSelectAnchorAttr('aria-disabled', this.disabled.toString());\r\n }\r\n\r\n /** Opens the menu. */\r\n openMenu() {\r\n this.adapter.addClass(cssClasses.ACTIVATED);\r\n this.adapter.openMenu();\r\n this.isMenuOpen = true;\r\n this.adapter.setSelectAnchorAttr('aria-expanded', 'true');\r\n }\r\n\r\n /**\r\n * @param content Sets the content of the helper text.\r\n */\r\n setHelperTextContent(content: string) {\r\n if (this.helperText) {\r\n this.helperText.setContent(content);\r\n }\r\n }\r\n\r\n /**\r\n * Re-calculates if the notched outline should be notched and if the label\r\n * should float.\r\n */\r\n layout() {\r\n if (this.adapter.hasLabel()) {\r\n const optionHasValue = this.getValue() !== undefined; // !!! MODIFIED FOR AURELIA !!!\r\n const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);\r\n const shouldFloatAndNotch = optionHasValue || isFocused;\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n\r\n this.notchOutline(shouldFloatAndNotch);\r\n this.adapter.floatLabel(shouldFloatAndNotch);\r\n this.adapter.setLabelRequired(isRequired);\r\n }\r\n }\r\n\r\n /**\r\n * Synchronizes the list of options with the state of the foundation. Call\r\n * this whenever menu options are dynamically updated.\r\n */\r\n layoutOptions() {\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n const selectedIndex = menuItemValues.indexOf(this.getValue());\r\n this.setSelectedIndex(\r\n selectedIndex, /** closeMenu */ false, /** skipNotify */ true);\r\n }\r\n\r\n handleMenuOpened() {\r\n if (this.adapter.getMenuItemValues().length === 0) {\r\n return;\r\n }\r\n\r\n // Menu should open to the last selected element, should open to first menu item otherwise.\r\n const selectedIndex = this.getSelectedIndex();\r\n const focusItemIndex = selectedIndex >= 0 ? selectedIndex : 0;\r\n this.adapter.focusMenuItemAtIndex(focusItemIndex);\r\n }\r\n\r\n handleMenuClosed() {\r\n this.adapter.removeClass(cssClasses.ACTIVATED);\r\n this.isMenuOpen = false;\r\n this.adapter.setSelectAnchorAttr('aria-expanded', 'false');\r\n\r\n // Unfocus the select if menu is closed without a selection\r\n if (!this.adapter.isSelectAnchorFocused()) {\r\n this.blur();\r\n }\r\n }\r\n\r\n /**\r\n * Handles value changes, via change event or programmatic updates.\r\n */\r\n handleChange() {\r\n this.layout();\r\n this.adapter.notifyChange(this.getValue());\r\n\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n if (isRequired && this.useDefaultValidation) {\r\n this.setValid(this.isValid());\r\n }\r\n }\r\n\r\n handleMenuItemAction(index: number) {\r\n this.setSelectedIndex(index, /** closeMenu */ true);\r\n }\r\n\r\n /**\r\n * Handles focus events from select element.\r\n */\r\n handleFocus() {\r\n this.adapter.addClass(cssClasses.FOCUSED);\r\n this.layout();\r\n\r\n this.adapter.activateBottomLine();\r\n }\r\n\r\n /**\r\n * Handles blur events from select element.\r\n */\r\n handleBlur() {\r\n if (this.isMenuOpen) {\r\n return;\r\n }\r\n this.blur();\r\n }\r\n\r\n handleClick(normalizedX: number) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n if (this.isMenuOpen) {\r\n this.adapter.closeMenu();\r\n return;\r\n }\r\n\r\n this.adapter.setRippleCenter(normalizedX);\r\n\r\n this.openMenu();\r\n }\r\n\r\n /**\r\n * Handles keydown events on select element. Depending on the type of\r\n * character typed, does typeahead matching or opens menu.\r\n */\r\n handleKeydown(event: KeyboardEvent) {\r\n if (this.isMenuOpen || !this.adapter.hasClass(cssClasses.FOCUSED)) {\r\n return;\r\n }\r\n\r\n const isEnter = normalizeKey(event) === KEY.ENTER;\r\n const isSpace = normalizeKey(event) === KEY.SPACEBAR;\r\n const arrowUp = normalizeKey(event) === KEY.ARROW_UP;\r\n const arrowDown = normalizeKey(event) === KEY.ARROW_DOWN;\r\n\r\n // Typeahead\r\n if (!isSpace && event.key && event.key.length === 1 ||\r\n isSpace && this.adapter.isTypeaheadInProgress()) {\r\n const key = isSpace ? ' ' : event.key;\r\n const typeaheadNextIndex =\r\n this.adapter.typeaheadMatchItem(key, this.getSelectedIndex());\r\n if (typeaheadNextIndex >= 0) {\r\n this.setSelectedIndex(typeaheadNextIndex);\r\n }\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (!isEnter && !isSpace && !arrowUp && !arrowDown) {\r\n return;\r\n }\r\n\r\n // Increment/decrement index as necessary and open menu.\r\n if (arrowUp && this.getSelectedIndex() > 0) {\r\n this.setSelectedIndex(this.getSelectedIndex() - 1);\r\n } else if (\r\n arrowDown &&\r\n this.getSelectedIndex() < this.adapter.getMenuItemCount() - 1) {\r\n this.setSelectedIndex(this.getSelectedIndex() + 1);\r\n }\r\n\r\n this.openMenu();\r\n event.preventDefault();\r\n }\r\n\r\n /**\r\n * Opens/closes the notched outline.\r\n */\r\n notchOutline(openNotch: boolean) {\r\n if (!this.adapter.hasOutline()) {\r\n return;\r\n }\r\n const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);\r\n\r\n if (openNotch) {\r\n const labelScale = numbers.LABEL_SCALE;\r\n const labelWidth = this.adapter.getLabelWidth() * labelScale;\r\n this.adapter.notchOutline(labelWidth);\r\n } else if (!isFocused) {\r\n this.adapter.closeOutline();\r\n }\r\n }\r\n\r\n /**\r\n * Sets the aria label of the leading icon.\r\n */\r\n setLeadingIconAriaLabel(label: string) {\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setAriaLabel(label);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the text content of the leading icon.\r\n */\r\n setLeadingIconContent(content: string) {\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setContent(content);\r\n }\r\n }\r\n\r\n setUseDefaultValidation(useDefaultValidation: boolean) {\r\n this.useDefaultValidation = useDefaultValidation;\r\n }\r\n\r\n setValid(isValid: boolean) {\r\n if (!this.useDefaultValidation) {\r\n this.customValidity = isValid;\r\n }\r\n\r\n this.adapter.setSelectAnchorAttr('aria-invalid', (!isValid).toString());\r\n if (isValid) {\r\n this.adapter.removeClass(cssClasses.INVALID);\r\n this.adapter.removeMenuClass(cssClasses.MENU_INVALID);\r\n } else {\r\n this.adapter.addClass(cssClasses.INVALID);\r\n this.adapter.addMenuClass(cssClasses.MENU_INVALID);\r\n }\r\n\r\n this.syncHelperTextValidity(isValid);\r\n }\r\n\r\n isValid() {\r\n if (this.useDefaultValidation &&\r\n this.adapter.hasClass(cssClasses.REQUIRED) &&\r\n !this.adapter.hasClass(cssClasses.DISABLED)) {\r\n // See notes for required attribute under https://www.w3.org/TR/html52/sec-forms.html#the-select-element\r\n // TL;DR: Invalid if no index is selected, or if the first index is selected and has an empty value.\r\n return this.getSelectedIndex() !== numbers.UNSET_INDEX &&\r\n (this.getSelectedIndex() !== 0 || Boolean(this.getValue()));\r\n }\r\n return this.customValidity;\r\n }\r\n\r\n setRequired(isRequired: boolean) {\r\n if (isRequired) {\r\n this.adapter.addClass(cssClasses.REQUIRED);\r\n } else {\r\n this.adapter.removeClass(cssClasses.REQUIRED);\r\n }\r\n this.adapter.setSelectAnchorAttr('aria-required', isRequired.toString());\r\n this.adapter.setLabelRequired(isRequired);\r\n }\r\n\r\n getRequired() {\r\n return this.adapter.getSelectAnchorAttr('aria-required') === 'true';\r\n }\r\n\r\n init() {\r\n const anchorEl = this.adapter.getAnchorElement();\r\n if (anchorEl) {\r\n this.adapter.setMenuAnchorElement(anchorEl);\r\n this.adapter.setMenuAnchorCorner(Corner.BOTTOM_START);\r\n }\r\n this.adapter.setMenuWrapFocus(false);\r\n\r\n this.setDisabled(this.adapter.hasClass(cssClasses.DISABLED));\r\n this.syncHelperTextValidity(!this.adapter.hasClass(cssClasses.INVALID));\r\n this.layout();\r\n this.layoutOptions();\r\n }\r\n\r\n /**\r\n * Unfocuses the select component.\r\n */\r\n private blur() {\r\n this.adapter.removeClass(cssClasses.FOCUSED);\r\n this.layout();\r\n this.adapter.deactivateBottomLine();\r\n\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n if (isRequired && this.useDefaultValidation) {\r\n this.setValid(this.isValid());\r\n }\r\n }\r\n\r\n private syncHelperTextValidity(isValid: boolean) {\r\n if (!this.helperText) {\r\n return;\r\n }\r\n\r\n this.helperText.setValidity(isValid);\r\n\r\n const helperTextVisible = this.helperText.isVisible();\r\n const helperTextId = this.helperText.getId();\r\n\r\n if (helperTextVisible && helperTextId) {\r\n this.adapter.setSelectAnchorAttr(strings.ARIA_DESCRIBEDBY, helperTextId);\r\n } else {\r\n // Needed because screenreaders will read labels pointed to by\r\n // `aria-describedby` even if they are `aria-hidden`.\r\n this.adapter.removeSelectAnchorAttr(strings.ARIA_DESCRIBEDBY);\r\n }\r\n }\r\n}\r\n\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCSelectFoundationAurelia;\r\n"]}
1
+ {"version":3,"file":"mdc-select-foundation-aurelia.js","sourceRoot":"","sources":["../../src/select/mdc-select-foundation-aurelia.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { KEY, normalizeKey } from '@material/dom/keyboard';\r\nimport { Corner } from '@material/menu-surface/constants';\r\n\r\nimport { MDCSelectAdapterAurelia } from './mdc-select-adapter-aurelia';\r\nimport { cssClasses, numbers, strings, MDCSelectIconFoundation, MDCSelectHelperTextFoundation, MDCSelectFoundationMap } from '@material/select';\r\n\r\n// !!! MODIFIED FOR AURELIA !!!\r\nexport class MDCSelectFoundationAurelia extends MDCFoundation<MDCSelectAdapterAurelia> {\r\n static get cssClasses() {\r\n return cssClasses;\r\n }\r\n\r\n static get numbers() {\r\n return numbers;\r\n }\r\n\r\n static get strings() {\r\n return strings;\r\n }\r\n\r\n /**\r\n * See {@link MDCSelectAdapter} for typing information on parameters and return types.\r\n */\r\n static get defaultAdapter(): MDCSelectAdapterAurelia {\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n return {\r\n addClass: () => undefined,\r\n removeClass: () => undefined,\r\n hasClass: () => false,\r\n activateBottomLine: () => undefined,\r\n deactivateBottomLine: () => undefined,\r\n getSelectedIndex: () => -1,\r\n setSelectedIndex: () => undefined,\r\n hasLabel: () => false,\r\n floatLabel: () => undefined,\r\n getLabelWidth: () => 0,\r\n setLabelRequired: () => undefined,\r\n hasOutline: () => false,\r\n notchOutline: () => undefined,\r\n closeOutline: () => undefined,\r\n setRippleCenter: () => undefined,\r\n notifyChange: () => undefined,\r\n setSelectedText: () => undefined,\r\n isSelectAnchorFocused: () => false,\r\n getSelectAnchorAttr: () => '',\r\n setSelectAnchorAttr: () => undefined,\r\n removeSelectAnchorAttr: () => undefined,\r\n addMenuClass: () => undefined,\r\n removeMenuClass: () => undefined,\r\n openMenu: () => undefined,\r\n closeMenu: () => undefined,\r\n getAnchorElement: () => null,\r\n setMenuAnchorElement: () => undefined,\r\n setMenuAnchorCorner: () => undefined,\r\n setMenuWrapFocus: () => undefined,\r\n focusMenuItemAtIndex: () => undefined,\r\n getMenuItemCount: () => 0,\r\n getMenuItemValues: () => [],\r\n getMenuItemTextAtIndex: () => '',\r\n isTypeaheadInProgress: () => false,\r\n typeaheadMatchItem: () => -1,\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n }\r\n\r\n private readonly leadingIcon: MDCSelectIconFoundation | undefined;\r\n private readonly helperText: MDCSelectHelperTextFoundation | undefined;\r\n\r\n // Disabled state\r\n private disabled = false;\r\n // isMenuOpen is used to track the state of the menu by listening to the\r\n // MDCMenuSurface:closed event For reference, menu.open will return false if\r\n // the menu is still closing, but isMenuOpen returns false only after the menu\r\n // has closed\r\n private isMenuOpen = false;\r\n // By default, select is invalid if it is required but no value is selected.\r\n private useDefaultValidation = true;\r\n private customValidity = true;\r\n private lastSelectedIndex = numbers.UNSET_INDEX;\r\n\r\n /* istanbul ignore next: optional argument is not a branch statement */\r\n /**\r\n * @param adapter\r\n * @param foundationMap Map from subcomponent names to their subfoundations.\r\n */\r\n constructor(adapter?: Partial<MDCSelectAdapterAurelia>, foundationMap: Partial<MDCSelectFoundationMap> = {}) {\r\n super({ ...MDCSelectFoundationAurelia.defaultAdapter, ...adapter });\r\n\r\n this.leadingIcon = foundationMap.leadingIcon;\r\n this.helperText = foundationMap.helperText;\r\n }\r\n\r\n /** Returns the index of the currently selected menu item, or -1 if none. */\r\n getSelectedIndex(): number {\r\n return this.adapter.getSelectedIndex();\r\n }\r\n\r\n setSelectedIndex(index: number, closeMenu = false, skipNotify = false) {\r\n if (index >= this.adapter.getMenuItemCount()) {\r\n return;\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA TO SUPPORT TEXT IN \"EMPTY\" ITEMS !!!\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n if (index === numbers.UNSET_INDEX || menuItemValues[index] === undefined || menuItemValues[index] === null) {\r\n this.adapter.setSelectedText('');\r\n } else {\r\n this.adapter.setSelectedText(\r\n this.adapter.getMenuItemTextAtIndex(index).trim());\r\n }\r\n\r\n this.adapter.setSelectedIndex(index);\r\n\r\n if (closeMenu) {\r\n this.adapter.closeMenu();\r\n }\r\n\r\n if (!skipNotify && this.lastSelectedIndex !== index) {\r\n this.handleChange();\r\n }\r\n this.lastSelectedIndex = index;\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA !!!\r\n setValue(value: unknown, skipNotify = false) {\r\n const index = this.adapter.getMenuItemValues().indexOf(value);\r\n this.setSelectedIndex(index, /** closeMenu */ false, skipNotify);\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA !!!\r\n getValue() {\r\n const index = this.adapter.getSelectedIndex();\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n return index !== numbers.UNSET_INDEX ? menuItemValues[index] : undefined;\r\n }\r\n\r\n getDisabled() {\r\n return this.disabled;\r\n }\r\n\r\n setDisabled(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n if (this.disabled) {\r\n this.adapter.addClass(cssClasses.DISABLED);\r\n this.adapter.closeMenu();\r\n } else {\r\n this.adapter.removeClass(cssClasses.DISABLED);\r\n }\r\n\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setDisabled(this.disabled);\r\n }\r\n\r\n if (this.disabled) {\r\n // Prevent click events from focusing select. Simply pointer-events: none\r\n // is not enough since screenreader clicks may bypass this.\r\n this.adapter.removeSelectAnchorAttr('tabindex');\r\n } else {\r\n this.adapter.setSelectAnchorAttr('tabindex', '0');\r\n }\r\n\r\n this.adapter.setSelectAnchorAttr('aria-disabled', this.disabled.toString());\r\n }\r\n\r\n /** Opens the menu. */\r\n openMenu() {\r\n this.adapter.addClass(cssClasses.ACTIVATED);\r\n this.adapter.openMenu();\r\n this.isMenuOpen = true;\r\n this.adapter.setSelectAnchorAttr('aria-expanded', 'true');\r\n }\r\n\r\n /**\r\n * @param content Sets the content of the helper text.\r\n */\r\n setHelperTextContent(content: string) {\r\n if (this.helperText) {\r\n this.helperText.setContent(content);\r\n }\r\n }\r\n\r\n /**\r\n * Re-calculates if the notched outline should be notched and if the label\r\n * should float.\r\n */\r\n layout() {\r\n if (this.adapter.hasLabel()) {\r\n const optionHasValue = this.getValue() !== undefined; // !!! MODIFIED FOR AURELIA !!!\r\n const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);\r\n const shouldFloatAndNotch = optionHasValue || isFocused;\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n\r\n this.notchOutline(shouldFloatAndNotch);\r\n this.adapter.floatLabel(shouldFloatAndNotch);\r\n this.adapter.setLabelRequired(isRequired);\r\n }\r\n }\r\n\r\n /**\r\n * Synchronizes the list of options with the state of the foundation. Call\r\n * this whenever menu options are dynamically updated.\r\n */\r\n layoutOptions() {\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n const selectedIndex = menuItemValues.indexOf(this.getValue());\r\n this.setSelectedIndex(\r\n selectedIndex, /** closeMenu */ false, /** skipNotify */ true);\r\n }\r\n\r\n handleMenuOpened() {\r\n if (this.adapter.getMenuItemValues().length === 0) {\r\n return;\r\n }\r\n\r\n // Menu should open to the last selected element, should open to first menu item otherwise.\r\n const selectedIndex = this.getSelectedIndex();\r\n const focusItemIndex = selectedIndex >= 0 ? selectedIndex : 0;\r\n this.adapter.focusMenuItemAtIndex(focusItemIndex);\r\n }\r\n\r\n handleMenuClosed() {\r\n this.adapter.removeClass(cssClasses.ACTIVATED);\r\n this.isMenuOpen = false;\r\n this.adapter.setSelectAnchorAttr('aria-expanded', 'false');\r\n\r\n // Unfocus the select if menu is closed without a selection\r\n if (!this.adapter.isSelectAnchorFocused()) {\r\n this.blur();\r\n }\r\n }\r\n\r\n /**\r\n * Handles value changes, via change event or programmatic updates.\r\n */\r\n handleChange() {\r\n this.layout();\r\n this.adapter.notifyChange(this.getValue());\r\n\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n if (isRequired && this.useDefaultValidation) {\r\n this.setValid(this.isValid());\r\n }\r\n }\r\n\r\n handleMenuItemAction(index: number) {\r\n this.setSelectedIndex(index, /** closeMenu */ true);\r\n }\r\n\r\n /**\r\n * Handles focus events from select element.\r\n */\r\n handleFocus() {\r\n this.adapter.addClass(cssClasses.FOCUSED);\r\n this.layout();\r\n\r\n this.adapter.activateBottomLine();\r\n }\r\n\r\n /**\r\n * Handles blur events from select element.\r\n */\r\n handleBlur() {\r\n if (this.isMenuOpen) {\r\n return;\r\n }\r\n this.blur();\r\n }\r\n\r\n handleClick(normalizedX: number) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n if (this.isMenuOpen) {\r\n this.adapter.closeMenu();\r\n return;\r\n }\r\n\r\n this.adapter.setRippleCenter(normalizedX);\r\n\r\n this.openMenu();\r\n }\r\n\r\n /**\r\n * Handles keydown events on select element. Depending on the type of\r\n * character typed, does typeahead matching or opens menu.\r\n */\r\n handleKeydown(event: KeyboardEvent) {\r\n if (this.isMenuOpen || !this.adapter.hasClass(cssClasses.FOCUSED)) {\r\n return;\r\n }\r\n\r\n const isEnter = normalizeKey(event) === KEY.ENTER;\r\n const isSpace = normalizeKey(event) === KEY.SPACEBAR;\r\n const arrowUp = normalizeKey(event) === KEY.ARROW_UP;\r\n const arrowDown = normalizeKey(event) === KEY.ARROW_DOWN;\r\n\r\n // Typeahead\r\n if (!isSpace && event.key && event.key.length === 1 ||\r\n isSpace && this.adapter.isTypeaheadInProgress()) {\r\n const key = isSpace ? ' ' : event.key;\r\n const typeaheadNextIndex =\r\n this.adapter.typeaheadMatchItem(key, this.getSelectedIndex());\r\n if (typeaheadNextIndex >= 0) {\r\n this.setSelectedIndex(typeaheadNextIndex);\r\n }\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (!isEnter && !isSpace && !arrowUp && !arrowDown) {\r\n return;\r\n }\r\n\r\n // Increment/decrement index as necessary and open menu.\r\n if (arrowUp && this.getSelectedIndex() > 0) {\r\n this.setSelectedIndex(this.getSelectedIndex() - 1);\r\n } else if (\r\n arrowDown &&\r\n this.getSelectedIndex() < this.adapter.getMenuItemCount() - 1) {\r\n this.setSelectedIndex(this.getSelectedIndex() + 1);\r\n }\r\n\r\n this.openMenu();\r\n event.preventDefault();\r\n }\r\n\r\n /**\r\n * Opens/closes the notched outline.\r\n */\r\n notchOutline(openNotch: boolean) {\r\n if (!this.adapter.hasOutline()) {\r\n return;\r\n }\r\n const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);\r\n\r\n if (openNotch) {\r\n const labelScale = numbers.LABEL_SCALE;\r\n const labelWidth = this.adapter.getLabelWidth() * labelScale;\r\n this.adapter.notchOutline(labelWidth);\r\n } else if (!isFocused) {\r\n this.adapter.closeOutline();\r\n }\r\n }\r\n\r\n /**\r\n * Sets the aria label of the leading icon.\r\n */\r\n setLeadingIconAriaLabel(label: string) {\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setAriaLabel(label);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the text content of the leading icon.\r\n */\r\n setLeadingIconContent(content: string) {\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setContent(content);\r\n }\r\n }\r\n\r\n setUseDefaultValidation(useDefaultValidation: boolean) {\r\n this.useDefaultValidation = useDefaultValidation;\r\n }\r\n\r\n setValid(isValid: boolean) {\r\n if (!this.useDefaultValidation) {\r\n this.customValidity = isValid;\r\n }\r\n\r\n this.adapter.setSelectAnchorAttr('aria-invalid', (!isValid).toString());\r\n if (isValid) {\r\n this.adapter.removeClass(cssClasses.INVALID);\r\n this.adapter.removeMenuClass(cssClasses.MENU_INVALID);\r\n } else {\r\n this.adapter.addClass(cssClasses.INVALID);\r\n this.adapter.addMenuClass(cssClasses.MENU_INVALID);\r\n }\r\n\r\n this.syncHelperTextValidity(isValid);\r\n }\r\n\r\n isValid() {\r\n if (this.useDefaultValidation &&\r\n this.adapter.hasClass(cssClasses.REQUIRED) &&\r\n !this.adapter.hasClass(cssClasses.DISABLED)) {\r\n // See notes for required attribute under https://www.w3.org/TR/html52/sec-forms.html#the-select-element\r\n // TL;DR: Invalid if no index is selected, or if the first index is selected and has an empty value.\r\n return this.getSelectedIndex() !== numbers.UNSET_INDEX &&\r\n (this.getSelectedIndex() !== 0 || Boolean(this.getValue()));\r\n }\r\n return this.customValidity;\r\n }\r\n\r\n setRequired(isRequired: boolean) {\r\n if (isRequired) {\r\n this.adapter.addClass(cssClasses.REQUIRED);\r\n } else {\r\n this.adapter.removeClass(cssClasses.REQUIRED);\r\n }\r\n this.adapter.setSelectAnchorAttr('aria-required', isRequired.toString());\r\n this.adapter.setLabelRequired(isRequired);\r\n }\r\n\r\n getRequired() {\r\n return this.adapter.getSelectAnchorAttr('aria-required') === 'true';\r\n }\r\n\r\n init() {\r\n const anchorEl = this.adapter.getAnchorElement();\r\n if (anchorEl) {\r\n this.adapter.setMenuAnchorElement(anchorEl);\r\n this.adapter.setMenuAnchorCorner(Corner.BOTTOM_START);\r\n }\r\n this.adapter.setMenuWrapFocus(false);\r\n\r\n this.setDisabled(this.adapter.hasClass(cssClasses.DISABLED));\r\n this.syncHelperTextValidity(!this.adapter.hasClass(cssClasses.INVALID));\r\n this.layout();\r\n this.layoutOptions();\r\n }\r\n\r\n /**\r\n * Unfocuses the select component.\r\n */\r\n private blur() {\r\n this.adapter.removeClass(cssClasses.FOCUSED);\r\n this.layout();\r\n this.adapter.deactivateBottomLine();\r\n\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n if (isRequired && this.useDefaultValidation) {\r\n this.setValid(this.isValid());\r\n }\r\n }\r\n\r\n private syncHelperTextValidity(isValid: boolean) {\r\n if (!this.helperText) {\r\n return;\r\n }\r\n\r\n this.helperText.setValidity(isValid);\r\n\r\n const helperTextVisible = this.helperText.isVisible();\r\n const helperTextId = this.helperText.getId();\r\n\r\n if (helperTextVisible && helperTextId) {\r\n this.adapter.setSelectAnchorAttr(strings.ARIA_DESCRIBEDBY, helperTextId);\r\n } else {\r\n // Needed because screenreaders will read labels pointed to by\r\n // `aria-describedby` even if they are `aria-hidden`.\r\n this.adapter.removeSelectAnchorAttr(strings.ARIA_DESCRIBEDBY);\r\n }\r\n }\r\n}\r\n\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCSelectFoundationAurelia;\r\n"]}
@@ -1,20 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcSelectHelperText = exports.mdcHelperTextCssClasses = void 0;
4
- const tslib_1 = require("tslib");
5
- const base_1 = require("../../base");
6
- const select_1 = require("@material/select");
7
- const aurelia_1 = require("aurelia");
8
- const mdc_select_helper_text_html_raw_1 = tslib_1.__importDefault(require("./mdc-select-helper-text.html?raw"));
9
- exports.mdcHelperTextCssClasses = {
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { MdcComponent, booleanAttr } from '../../base';
3
+ import { helperTextCssClasses, MDCSelectHelperTextFoundation } from '@material/select';
4
+ import { customElement, inject, bindable } from 'aurelia';
5
+ import template from './mdc-select-helper-text.html?raw';
6
+ export const mdcHelperTextCssClasses = {
10
7
  ROOT: 'mdc-select-helper-text'
11
8
  };
12
9
  let MdcSelectHelperText = (() => {
13
- let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customElement)({ name: 'mdc-select-helper-text', template: mdc_select_helper_text_html_raw_1.default })];
10
+ let _classDecorators = [inject(Element), customElement({ name: 'mdc-select-helper-text', template })];
14
11
  let _classDescriptor;
15
12
  let _classExtraInitializers = [];
16
13
  let _classThis;
17
- let _classSuper = base_1.MdcComponent;
14
+ let _classSuper = MdcComponent;
18
15
  let _persistent_decorators;
19
16
  let _persistent_initializers = [];
20
17
  let _persistent_extraInitializers = [];
@@ -28,22 +25,22 @@ let MdcSelectHelperText = (() => {
28
25
  static { _classThis = this; }
29
26
  static {
30
27
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
31
- _persistent_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
32
- _validation_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
33
- _errors_decorators = [(0, aurelia_1.bindable)()];
34
- tslib_1.__esDecorate(null, null, _persistent_decorators, { kind: "field", name: "persistent", static: false, private: false, access: { has: obj => "persistent" in obj, get: obj => obj.persistent, set: (obj, value) => { obj.persistent = value; } }, metadata: _metadata }, _persistent_initializers, _persistent_extraInitializers);
35
- tslib_1.__esDecorate(null, null, _validation_decorators, { kind: "field", name: "validation", static: false, private: false, access: { has: obj => "validation" in obj, get: obj => obj.validation, set: (obj, value) => { obj.validation = value; } }, metadata: _metadata }, _validation_initializers, _validation_extraInitializers);
36
- tslib_1.__esDecorate(null, null, _errors_decorators, { kind: "field", name: "errors", static: false, private: false, access: { has: obj => "errors" in obj, get: obj => obj.errors, set: (obj, value) => { obj.errors = value; } }, metadata: _metadata }, _errors_initializers, _errors_extraInitializers);
37
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
28
+ _persistent_decorators = [bindable({ set: booleanAttr })];
29
+ _validation_decorators = [bindable({ set: booleanAttr })];
30
+ _errors_decorators = [bindable()];
31
+ __esDecorate(null, null, _persistent_decorators, { kind: "field", name: "persistent", static: false, private: false, access: { has: obj => "persistent" in obj, get: obj => obj.persistent, set: (obj, value) => { obj.persistent = value; } }, metadata: _metadata }, _persistent_initializers, _persistent_extraInitializers);
32
+ __esDecorate(null, null, _validation_decorators, { kind: "field", name: "validation", static: false, private: false, access: { has: obj => "validation" in obj, get: obj => obj.validation, set: (obj, value) => { obj.validation = value; } }, metadata: _metadata }, _validation_initializers, _validation_extraInitializers);
33
+ __esDecorate(null, null, _errors_decorators, { kind: "field", name: "errors", static: false, private: false, access: { has: obj => "errors" in obj, get: obj => obj.errors, set: (obj, value) => { obj.errors = value; } }, metadata: _metadata }, _errors_initializers, _errors_extraInitializers);
34
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
38
35
  MdcSelectHelperText = _classThis = _classDescriptor.value;
39
36
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
40
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
37
+ __runInitializers(_classThis, _classExtraInitializers);
41
38
  }
42
- helperTextCssClasses = select_1.helperTextCssClasses;
43
- ROOT = exports.mdcHelperTextCssClasses.ROOT;
44
- persistent = tslib_1.__runInitializers(this, _persistent_initializers, void 0);
45
- validation = (tslib_1.__runInitializers(this, _persistent_extraInitializers), tslib_1.__runInitializers(this, _validation_initializers, void 0));
46
- errors = (tslib_1.__runInitializers(this, _validation_extraInitializers), tslib_1.__runInitializers(this, _errors_initializers, void 0));
39
+ helperTextCssClasses = helperTextCssClasses;
40
+ ROOT = mdcHelperTextCssClasses.ROOT;
41
+ persistent = __runInitializers(this, _persistent_initializers, void 0);
42
+ validation = (__runInitializers(this, _persistent_extraInitializers), __runInitializers(this, _validation_initializers, void 0));
43
+ errors = (__runInitializers(this, _validation_extraInitializers), __runInitializers(this, _errors_initializers, void 0));
47
44
  // Provided for access by MDCTextField component
48
45
  get foundationForTextField() {
49
46
  return this.foundation;
@@ -62,14 +59,14 @@ let MdcSelectHelperText = (() => {
62
59
  this.root.textContent = content;
63
60
  },
64
61
  };
65
- return new select_1.MDCSelectHelperTextFoundation(adapter);
62
+ return new MDCSelectHelperTextFoundation(adapter);
66
63
  }
67
64
  constructor() {
68
65
  super(...arguments);
69
- tslib_1.__runInitializers(this, _errors_extraInitializers);
66
+ __runInitializers(this, _errors_extraInitializers);
70
67
  }
71
68
  };
72
69
  return MdcSelectHelperText = _classThis;
73
70
  })();
74
- exports.MdcSelectHelperText = MdcSelectHelperText;
71
+ export { MdcSelectHelperText };
75
72
  //# sourceMappingURL=mdc-select-helper-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-select-helper-text.js","sourceRoot":"","sources":["../../../src/select/mdc-select-helper-text/mdc-select-helper-text.ts"],"names":[],"mappings":";;;;AAAA,qCAAuD;AACvD,6CAAmH;AACnH,qCAA0D;AAC1D,gHAAyD;AAE5C,QAAA,uBAAuB,GAAG;IACrC,IAAI,EAAE,wBAAwB;CAC/B,CAAC;IAIW,mBAAmB;4BAF/B,IAAA,gBAAM,EAAC,OAAO,CAAC,EACf,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAR,yCAAQ,EAAE,CAAC;;;;sBACnB,mBAAY;;;;;;;;;;mCAApB,SAAQ,WAA2C;;;;sCAIjF,IAAA,kBAAQ,EAAC,EAAE,GAAG,EAAE,kBAAW,EAAE,CAAC;sCAG9B,IAAA,kBAAQ,EAAC,EAAE,GAAG,EAAE,kBAAW,EAAE,CAAC;kCAG9B,IAAA,kBAAQ,GAAE;YALX,wLAAA,UAAU,6BAAV,UAAU,+FAAU;YAGpB,wLAAA,UAAU,6BAAV,UAAU,+FAAU;YAGpB,4KAAA,MAAM,6BAAN,MAAM,uFAAW;YAXnB,qLAkCC;;;YAlCY,+DAAmB;;QAC9B,oBAAoB,GAAG,6BAAoB,CAAC;QAC5C,IAAI,GAAG,+BAAuB,CAAC,IAAI,CAAC;QAGpC,UAAU,qEAAU;QAGpB,UAAU,uIAAU;QAGpB,MAAM,mIAAW;QAEjB,gDAAgD;QAChD,IAAI,sBAAsB;YACxB,OAAO,IAAI,CAAC,UAAW,CAAC;QAC1B,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAA+B;gBAC1C,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC3D,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBACjE,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC7D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACrD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;oBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAClC,CAAC;aACF,CAAC;YACF,OAAO,IAAI,sCAA6B,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;;;;;;;;AAjCU,kDAAmB","sourcesContent":["import { MdcComponent, booleanAttr } from '../../base';\r\nimport { helperTextCssClasses, MDCSelectHelperTextFoundation, MDCSelectHelperTextAdapter } from '@material/select';\r\nimport { customElement, inject, bindable } from 'aurelia';\r\nimport template from './mdc-select-helper-text.html?raw';\r\n\r\nexport const mdcHelperTextCssClasses = {\r\n ROOT: 'mdc-select-helper-text'\r\n};\r\n\r\n@inject(Element)\r\n@customElement({ name: 'mdc-select-helper-text', template })\r\nexport class MdcSelectHelperText extends MdcComponent<MDCSelectHelperTextFoundation> {\r\n helperTextCssClasses = helperTextCssClasses;\r\n ROOT = mdcHelperTextCssClasses.ROOT;\r\n\r\n @bindable({ set: booleanAttr })\r\n persistent: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n validation: boolean;\r\n\r\n @bindable()\r\n errors: string[];\r\n\r\n // Provided for access by MDCTextField component\r\n get foundationForTextField(): MDCSelectHelperTextFoundation {\r\n return this.foundation!;\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: MDCSelectHelperTextAdapter = {\r\n addClass: (className) => this.root.classList.add(className),\r\n removeClass: (className) => this.root.classList.remove(className),\r\n hasClass: (className) => this.root.classList.contains(className),\r\n getAttr: (attr) => this.root.getAttribute(attr),\r\n setAttr: (attr, value) => this.root.setAttribute(attr, value),\r\n removeAttr: (attr) => this.root.removeAttribute(attr),\r\n setContent: (content) => {\r\n this.root.textContent = content;\r\n },\r\n };\r\n return new MDCSelectHelperTextFoundation(adapter);\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcSelectHelperTextElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcSelectHelperText;\r\n };\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"mdc-select-helper-text.js","sourceRoot":"","sources":["../../../src/select/mdc-select-helper-text/mdc-select-helper-text.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAA8B,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,wBAAwB;CAC/B,CAAC;IAIW,mBAAmB;4BAF/B,MAAM,CAAC,OAAO,CAAC,EACf,aAAa,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,CAAC;;;;sBACnB,YAAY;;;;;;;;;;mCAApB,SAAQ,WAA2C;;;;sCAIjF,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;sCAG9B,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;kCAG9B,QAAQ,EAAE;YALX,gLAAA,UAAU,6BAAV,UAAU,+FAAU;YAGpB,gLAAA,UAAU,6BAAV,UAAU,+FAAU;YAGpB,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAXnB,6KAkCC;;;YAlCY,uDAAmB;;QAC9B,oBAAoB,GAAG,oBAAoB,CAAC;QAC5C,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC;QAGpC,UAAU,6DAAU;QAGpB,UAAU,uHAAU;QAGpB,MAAM,mHAAW;QAEjB,gDAAgD;QAChD,IAAI,sBAAsB;YACxB,OAAO,IAAI,CAAC,UAAW,CAAC;QAC1B,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAA+B;gBAC1C,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC3D,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBACjE,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC7D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACrD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;oBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAClC,CAAC;aACF,CAAC;YACF,OAAO,IAAI,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;;;;;;;;SAjCU,mBAAmB","sourcesContent":["import { MdcComponent, booleanAttr } from '../../base';\r\nimport { helperTextCssClasses, MDCSelectHelperTextFoundation, MDCSelectHelperTextAdapter } from '@material/select';\r\nimport { customElement, inject, bindable } from 'aurelia';\r\nimport template from './mdc-select-helper-text.html?raw';\r\n\r\nexport const mdcHelperTextCssClasses = {\r\n ROOT: 'mdc-select-helper-text'\r\n};\r\n\r\n@inject(Element)\r\n@customElement({ name: 'mdc-select-helper-text', template })\r\nexport class MdcSelectHelperText extends MdcComponent<MDCSelectHelperTextFoundation> {\r\n helperTextCssClasses = helperTextCssClasses;\r\n ROOT = mdcHelperTextCssClasses.ROOT;\r\n\r\n @bindable({ set: booleanAttr })\r\n persistent: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n validation: boolean;\r\n\r\n @bindable()\r\n errors: string[];\r\n\r\n // Provided for access by MDCTextField component\r\n get foundationForTextField(): MDCSelectHelperTextFoundation {\r\n return this.foundation!;\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: MDCSelectHelperTextAdapter = {\r\n addClass: (className) => this.root.classList.add(className),\r\n removeClass: (className) => this.root.classList.remove(className),\r\n hasClass: (className) => this.root.classList.contains(className),\r\n getAttr: (attr) => this.root.getAttribute(attr),\r\n setAttr: (attr, value) => this.root.setAttribute(attr, value),\r\n removeAttr: (attr) => this.root.removeAttribute(attr),\r\n setContent: (content) => {\r\n this.root.textContent = content;\r\n },\r\n };\r\n return new MDCSelectHelperTextFoundation(adapter);\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcSelectHelperTextElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcSelectHelperText;\r\n };\r\n };\r\n}\r\n"]}
@@ -1,30 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcSelectIcon = exports.mdcIconStrings = void 0;
4
- const tslib_1 = require("tslib");
5
- const base_1 = require("../base");
6
- const select_1 = require("@material/select");
7
- const aurelia_1 = require("aurelia");
8
- exports.mdcIconStrings = {
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { MdcComponent } from '../base';
3
+ import { MDCSelectIconFoundation, strings } from '@material/select';
4
+ import { inject, customAttribute } from 'aurelia';
5
+ export const mdcIconStrings = {
9
6
  ATTRIBUTE: 'mdc-select-icon'
10
7
  };
11
8
  let MdcSelectIcon = (() => {
12
- let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customAttribute)(exports.mdcIconStrings.ATTRIBUTE)];
9
+ let _classDecorators = [inject(Element), customAttribute(mdcIconStrings.ATTRIBUTE)];
13
10
  let _classDescriptor;
14
11
  let _classExtraInitializers = [];
15
12
  let _classThis;
16
- let _classSuper = base_1.MdcComponent;
13
+ let _classSuper = MdcComponent;
17
14
  var MdcSelectIcon = class extends _classSuper {
18
15
  static { _classThis = this; }
19
16
  static {
20
17
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
21
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
18
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
22
19
  MdcSelectIcon = _classThis = _classDescriptor.value;
23
20
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
24
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
21
+ __runInitializers(_classThis, _classExtraInitializers);
25
22
  }
26
23
  attaching() {
27
- this.root.classList.add(select_1.strings.LEADING_ICON_SELECTOR.replace('.', ''));
24
+ this.root.classList.add(strings.LEADING_ICON_SELECTOR.replace('.', ''));
28
25
  }
29
26
  getDefaultFoundation() {
30
27
  // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.
@@ -38,12 +35,12 @@ let MdcSelectIcon = (() => {
38
35
  },
39
36
  registerInteractionHandler: (evtType, handler) => this.listen(evtType, handler),
40
37
  deregisterInteractionHandler: (evtType, handler) => this.unlisten(evtType, handler),
41
- notifyIconAction: () => this.emit(select_1.MDCSelectIconFoundation.strings.ICON_EVENT, {} /* evtData */, true /* shouldBubble */),
38
+ notifyIconAction: () => this.emit(MDCSelectIconFoundation.strings.ICON_EVENT, {} /* evtData */, true /* shouldBubble */),
42
39
  };
43
- return new select_1.MDCSelectIconFoundation(adapter);
40
+ return new MDCSelectIconFoundation(adapter);
44
41
  }
45
42
  };
46
43
  return MdcSelectIcon = _classThis;
47
44
  })();
48
- exports.MdcSelectIcon = MdcSelectIcon;
45
+ export { MdcSelectIcon };
49
46
  //# sourceMappingURL=mdc-select-icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-select-icon.js","sourceRoot":"","sources":["../../src/select/mdc-select-icon.ts"],"names":[],"mappings":";;;;AAAA,kCAAuC;AACvC,6CAA0F;AAC1F,qCAAkD;AAErC,QAAA,cAAc,GAAG;IAC5B,SAAS,EAAE,iBAAiB;CAC7B,CAAC;IAIW,aAAa;4BAFzB,IAAA,gBAAM,EAAC,OAAO,CAAC,EACf,IAAA,yBAAe,EAAC,sBAAc,CAAC,SAAS,CAAC;;;;sBACP,mBAAY;6BAApB,SAAQ,WAAqC;;;;YAAxE,qLAqBC;;;YArBY,+DAAa;;QACxB,SAAS;YACP,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAAyB;gBACpC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC7D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACrD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;oBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAClC,CAAC;gBACD,0BAA0B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC/E,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBACnF,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC;aACzH,CAAC;YACF,OAAO,IAAI,gCAAuB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;;;;AApBU,sCAAa","sourcesContent":["import { MdcComponent } from '../base';\r\nimport { MDCSelectIconFoundation, MDCSelectIconAdapter, strings } from '@material/select';\r\nimport { inject, customAttribute } from 'aurelia';\r\n\r\nexport const mdcIconStrings = {\r\n ATTRIBUTE: 'mdc-select-icon'\r\n};\r\n\r\n@inject(Element)\r\n@customAttribute(mdcIconStrings.ATTRIBUTE)\r\nexport class MdcSelectIcon extends MdcComponent<MDCSelectIconFoundation> {\r\n attaching() {\r\n this.root.classList.add(strings.LEADING_ICON_SELECTOR.replace('.', ''));\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: MDCSelectIconAdapter = {\r\n getAttr: (attr) => this.root.getAttribute(attr),\r\n setAttr: (attr, value) => this.root.setAttribute(attr, value),\r\n removeAttr: (attr) => this.root.removeAttribute(attr),\r\n setContent: (content) => {\r\n this.root.textContent = content;\r\n },\r\n registerInteractionHandler: (evtType, handler) => this.listen(evtType, handler),\r\n deregisterInteractionHandler: (evtType, handler) => this.unlisten(evtType, handler),\r\n notifyIconAction: () => this.emit(MDCSelectIconFoundation.strings.ICON_EVENT, {} /* evtData */, true /* shouldBubble */),\r\n };\r\n return new MDCSelectIconFoundation(adapter);\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcSelectIconElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-attribute:mdc-select-icon': {\r\n viewModel: MdcSelectIcon;\r\n };\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"mdc-select-icon.js","sourceRoot":"","sources":["../../src/select/mdc-select-icon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAwB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,iBAAiB;CAC7B,CAAC;IAIW,aAAa;4BAFzB,MAAM,CAAC,OAAO,CAAC,EACf,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC;;;;sBACP,YAAY;6BAApB,SAAQ,WAAqC;;;;YAAxE,6KAqBC;;;YArBY,uDAAa;;QACxB,SAAS;YACP,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAAyB;gBACpC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC7D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACrD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;oBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAClC,CAAC;gBACD,0BAA0B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC/E,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBACnF,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC;aACzH,CAAC;YACF,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;;;;SApBU,aAAa","sourcesContent":["import { MdcComponent } from '../base';\r\nimport { MDCSelectIconFoundation, MDCSelectIconAdapter, strings } from '@material/select';\r\nimport { inject, customAttribute } from 'aurelia';\r\n\r\nexport const mdcIconStrings = {\r\n ATTRIBUTE: 'mdc-select-icon'\r\n};\r\n\r\n@inject(Element)\r\n@customAttribute(mdcIconStrings.ATTRIBUTE)\r\nexport class MdcSelectIcon extends MdcComponent<MDCSelectIconFoundation> {\r\n attaching() {\r\n this.root.classList.add(strings.LEADING_ICON_SELECTOR.replace('.', ''));\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: MDCSelectIconAdapter = {\r\n getAttr: (attr) => this.root.getAttribute(attr),\r\n setAttr: (attr, value) => this.root.setAttribute(attr, value),\r\n removeAttr: (attr) => this.root.removeAttribute(attr),\r\n setContent: (content) => {\r\n this.root.textContent = content;\r\n },\r\n registerInteractionHandler: (evtType, handler) => this.listen(evtType, handler),\r\n deregisterInteractionHandler: (evtType, handler) => this.unlisten(evtType, handler),\r\n notifyIconAction: () => this.emit(MDCSelectIconFoundation.strings.ICON_EVENT, {} /* evtData */, true /* shouldBubble */),\r\n };\r\n return new MDCSelectIconFoundation(adapter);\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcSelectIconElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-attribute:mdc-select-icon': {\r\n viewModel: MdcSelectIcon;\r\n };\r\n };\r\n}\r\n"]}