@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,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcList = exports.mdcListStrings = void 0;
4
- const tslib_1 = require("tslib");
5
- const base_1 = require("../base");
6
- const list_1 = require("@material/list");
7
- const ponyfill_1 = require("@material/dom/ponyfill");
8
- const aurelia_1 = require("aurelia");
9
- const mdc_list_html_raw_1 = tslib_1.__importDefault(require("./mdc-list.html?raw"));
10
- list_1.strings.ACTION_EVENT = list_1.strings.ACTION_EVENT.toLowerCase();
11
- list_1.strings.SELECTION_CHANGE_EVENT = list_1.strings.SELECTION_CHANGE_EVENT.toLowerCase();
12
- exports.mdcListStrings = {
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { MdcComponent, booleanAttr } from '../base';
3
+ import { MDCListFoundation, strings, cssClasses } from '@material/list';
4
+ import { closest, matches } from '@material/dom/ponyfill';
5
+ import { customElement, bindable, inject, CustomElement, slotted } from 'aurelia';
6
+ import template from './mdc-list.html?raw';
7
+ strings.ACTION_EVENT = strings.ACTION_EVENT.toLowerCase();
8
+ strings.SELECTION_CHANGE_EVENT = strings.SELECTION_CHANGE_EVENT.toLowerCase();
9
+ export const mdcListStrings = {
13
10
  ITEMS_CHANGED: 'mdclist:itemschanged'
14
11
  };
15
12
  /**
@@ -18,11 +15,11 @@ exports.mdcListStrings = {
18
15
  * @emits mdclist:itemschanged | Indicates that the list of items has changed
19
16
  */
20
17
  let MdcList = (() => {
21
- let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customElement)({ name: 'mdc-list', template: mdc_list_html_raw_1.default })];
18
+ let _classDecorators = [inject(Element), customElement({ name: 'mdc-list', template })];
22
19
  let _classDescriptor;
23
20
  let _classExtraInitializers = [];
24
21
  let _classThis;
25
- let _classSuper = base_1.MdcComponent;
22
+ let _classSuper = MdcComponent;
26
23
  let _singleSelection_decorators;
27
24
  let _singleSelection_initializers = [];
28
25
  let _singleSelection_extraInitializers = [];
@@ -45,49 +42,49 @@ let MdcList = (() => {
45
42
  static { _classThis = this; }
46
43
  static {
47
44
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
48
- _singleSelection_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
49
- _activated_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
50
- _itemElements_decorators = [(0, aurelia_1.slotted)({ query: 'mdc-list-item' })];
51
- _typeahead_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
52
- _nonInteractive_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
53
- _wrapFocus_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
54
- tslib_1.__esDecorate(null, null, _singleSelection_decorators, { kind: "field", name: "singleSelection", static: false, private: false, access: { has: obj => "singleSelection" in obj, get: obj => obj.singleSelection, set: (obj, value) => { obj.singleSelection = value; } }, metadata: _metadata }, _singleSelection_initializers, _singleSelection_extraInitializers);
55
- tslib_1.__esDecorate(null, null, _activated_decorators, { kind: "field", name: "activated", static: false, private: false, access: { has: obj => "activated" in obj, get: obj => obj.activated, set: (obj, value) => { obj.activated = value; } }, metadata: _metadata }, _activated_initializers, _activated_extraInitializers);
56
- tslib_1.__esDecorate(null, null, _itemElements_decorators, { kind: "field", name: "itemElements", static: false, private: false, access: { has: obj => "itemElements" in obj, get: obj => obj.itemElements, set: (obj, value) => { obj.itemElements = value; } }, metadata: _metadata }, _itemElements_initializers, _itemElements_extraInitializers);
57
- tslib_1.__esDecorate(null, null, _typeahead_decorators, { kind: "field", name: "typeahead", static: false, private: false, access: { has: obj => "typeahead" in obj, get: obj => obj.typeahead, set: (obj, value) => { obj.typeahead = value; } }, metadata: _metadata }, _typeahead_initializers, _typeahead_extraInitializers);
58
- tslib_1.__esDecorate(null, null, _nonInteractive_decorators, { kind: "field", name: "nonInteractive", static: false, private: false, access: { has: obj => "nonInteractive" in obj, get: obj => obj.nonInteractive, set: (obj, value) => { obj.nonInteractive = value; } }, metadata: _metadata }, _nonInteractive_initializers, _nonInteractive_extraInitializers);
59
- tslib_1.__esDecorate(null, null, _wrapFocus_decorators, { kind: "field", name: "wrapFocus", static: false, private: false, access: { has: obj => "wrapFocus" in obj, get: obj => obj.wrapFocus, set: (obj, value) => { obj.wrapFocus = value; } }, metadata: _metadata }, _wrapFocus_initializers, _wrapFocus_extraInitializers);
60
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
45
+ _singleSelection_decorators = [bindable({ set: booleanAttr })];
46
+ _activated_decorators = [bindable({ set: booleanAttr })];
47
+ _itemElements_decorators = [slotted({ query: 'mdc-list-item' })];
48
+ _typeahead_decorators = [bindable({ set: booleanAttr })];
49
+ _nonInteractive_decorators = [bindable({ set: booleanAttr })];
50
+ _wrapFocus_decorators = [bindable({ set: booleanAttr })];
51
+ __esDecorate(null, null, _singleSelection_decorators, { kind: "field", name: "singleSelection", static: false, private: false, access: { has: obj => "singleSelection" in obj, get: obj => obj.singleSelection, set: (obj, value) => { obj.singleSelection = value; } }, metadata: _metadata }, _singleSelection_initializers, _singleSelection_extraInitializers);
52
+ __esDecorate(null, null, _activated_decorators, { kind: "field", name: "activated", static: false, private: false, access: { has: obj => "activated" in obj, get: obj => obj.activated, set: (obj, value) => { obj.activated = value; } }, metadata: _metadata }, _activated_initializers, _activated_extraInitializers);
53
+ __esDecorate(null, null, _itemElements_decorators, { kind: "field", name: "itemElements", static: false, private: false, access: { has: obj => "itemElements" in obj, get: obj => obj.itemElements, set: (obj, value) => { obj.itemElements = value; } }, metadata: _metadata }, _itemElements_initializers, _itemElements_extraInitializers);
54
+ __esDecorate(null, null, _typeahead_decorators, { kind: "field", name: "typeahead", static: false, private: false, access: { has: obj => "typeahead" in obj, get: obj => obj.typeahead, set: (obj, value) => { obj.typeahead = value; } }, metadata: _metadata }, _typeahead_initializers, _typeahead_extraInitializers);
55
+ __esDecorate(null, null, _nonInteractive_decorators, { kind: "field", name: "nonInteractive", static: false, private: false, access: { has: obj => "nonInteractive" in obj, get: obj => obj.nonInteractive, set: (obj, value) => { obj.nonInteractive = value; } }, metadata: _metadata }, _nonInteractive_initializers, _nonInteractive_extraInitializers);
56
+ __esDecorate(null, null, _wrapFocus_decorators, { kind: "field", name: "wrapFocus", static: false, private: false, access: { has: obj => "wrapFocus" in obj, get: obj => obj.wrapFocus, set: (obj, value) => { obj.wrapFocus = value; } }, metadata: _metadata }, _wrapFocus_initializers, _wrapFocus_extraInitializers);
57
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
61
58
  MdcList = _classThis = _classDescriptor.value;
62
59
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
63
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
60
+ __runInitializers(_classThis, _classExtraInitializers);
64
61
  }
65
- cssClasses = list_1.cssClasses;
62
+ cssClasses = cssClasses;
66
63
  /** When enabled, the space and enter keys (or click event) will trigger an single list item to become selected and any other previous selected element to become deselected */
67
- singleSelection = tslib_1.__runInitializers(this, _singleSelection_initializers, void 0);
64
+ singleSelection = __runInitializers(this, _singleSelection_initializers, void 0);
68
65
  singleSelectionChanged() {
69
66
  this.foundation?.setSingleSelection(this.singleSelection);
70
67
  }
71
68
  /** Sets the selection logic to apply/remove the mdc-list-item--activated class */
72
- activated = (tslib_1.__runInitializers(this, _singleSelection_extraInitializers), tslib_1.__runInitializers(this, _activated_initializers, void 0));
69
+ activated = (__runInitializers(this, _singleSelection_extraInitializers), __runInitializers(this, _activated_initializers, void 0));
73
70
  activatedChanged() {
74
71
  this.foundation?.setUseActivatedClass(this.activated);
75
72
  }
76
- itemElements = (tslib_1.__runInitializers(this, _activated_extraInitializers), tslib_1.__runInitializers(this, _itemElements_initializers, void 0));
73
+ itemElements = (__runInitializers(this, _activated_extraInitializers), __runInitializers(this, _itemElements_initializers, void 0));
77
74
  itemsChanged() {
78
- this.emit(exports.mdcListStrings.ITEMS_CHANGED, { items: this.itemElements }, true);
75
+ this.emit(mdcListStrings.ITEMS_CHANGED, { items: this.itemElements }, true);
79
76
  }
80
77
  get items() {
81
- return (this.itemElements ?? []).map(x => aurelia_1.CustomElement.for(x).viewModel);
78
+ return (this.itemElements ?? []).map(x => CustomElement.for(x).viewModel);
82
79
  }
83
- typeahead = (tslib_1.__runInitializers(this, _itemElements_extraInitializers), tslib_1.__runInitializers(this, _typeahead_initializers, void 0));
80
+ typeahead = (__runInitializers(this, _itemElements_extraInitializers), __runInitializers(this, _typeahead_initializers, void 0));
84
81
  typeaheadChanged(hasTypeahead) {
85
82
  this.foundation?.setHasTypeahead(hasTypeahead);
86
83
  }
87
84
  /** Prevent list items receive styles for hover, focus, and press states (including the ripple) */
88
- nonInteractive = (tslib_1.__runInitializers(this, _typeahead_extraInitializers), tslib_1.__runInitializers(this, _nonInteractive_initializers, void 0));
85
+ nonInteractive = (__runInitializers(this, _typeahead_extraInitializers), __runInitializers(this, _nonInteractive_initializers, void 0));
89
86
  /** Sets the list to allow the up arrow on the first element to focus the last element of the list and vice versa */
90
- wrapFocus = (tslib_1.__runInitializers(this, _nonInteractive_extraInitializers), tslib_1.__runInitializers(this, _wrapFocus_initializers, void 0));
87
+ wrapFocus = (__runInitializers(this, _nonInteractive_extraInitializers), __runInitializers(this, _wrapFocus_initializers, void 0));
91
88
  wrapFocusChanged() {
92
89
  this.foundation?.setWrapFocus(this.wrapFocus);
93
90
  }
@@ -100,7 +97,7 @@ let MdcList = (() => {
100
97
  this.initializeListType();
101
98
  }
102
99
  get listElements() {
103
- return Array.from(this.root.querySelectorAll(`.${list_1.cssClasses.LIST_ITEM_CLASS}`));
100
+ return Array.from(this.root.querySelectorAll(`.${cssClasses.LIST_ITEM_CLASS}`));
104
101
  }
105
102
  /**
106
103
  * Extracts the primary text from a list item.
@@ -108,11 +105,11 @@ let MdcList = (() => {
108
105
  * @return The primary text in the element.
109
106
  */
110
107
  getPrimaryText(item) {
111
- const primaryText = item.querySelector(`.${list_1.cssClasses.LIST_ITEM_PRIMARY_TEXT_CLASS}`);
108
+ const primaryText = item.querySelector(`.${cssClasses.LIST_ITEM_PRIMARY_TEXT_CLASS}`);
112
109
  if (primaryText) {
113
110
  return primaryText.textContent ?? '';
114
111
  }
115
- const singleLineText = item.querySelector(`.${list_1.cssClasses.LIST_ITEM_TEXT_CLASS}`);
112
+ const singleLineText = item.querySelector(`.${cssClasses.LIST_ITEM_TEXT_CLASS}`);
116
113
  return singleLineText?.textContent ?? '';
117
114
  }
118
115
  getDefaultFoundation() {
@@ -137,15 +134,15 @@ let MdcList = (() => {
137
134
  getPrimaryTextAtIndex: (index) => this.getPrimaryText(this.listElements[index]),
138
135
  hasCheckboxAtIndex: (index) => {
139
136
  const listItem = this.listElements[index];
140
- return !!listItem.querySelector(list_1.strings.CHECKBOX_SELECTOR);
137
+ return !!listItem.querySelector(strings.CHECKBOX_SELECTOR);
141
138
  },
142
139
  hasRadioAtIndex: (index) => {
143
140
  const listItem = this.listElements[index];
144
- return !!listItem.querySelector(list_1.strings.RADIO_SELECTOR);
141
+ return !!listItem.querySelector(strings.RADIO_SELECTOR);
145
142
  },
146
143
  isCheckboxCheckedAtIndex: (index) => {
147
144
  const listItem = this.listElements[index];
148
- const toggleEl = listItem.querySelector(list_1.strings.CHECKBOX_SELECTOR);
145
+ const toggleEl = listItem.querySelector(strings.CHECKBOX_SELECTOR);
149
146
  return toggleEl.checked;
150
147
  },
151
148
  isFocusInsideList: () => {
@@ -156,12 +153,12 @@ let MdcList = (() => {
156
153
  notifyAction: (index) => {
157
154
  const listItem = this.listElements[index];
158
155
  if (!listItem.hasAttribute('no-list-action')) {
159
- const data = aurelia_1.CustomElement.for(listItem).viewModel.value;
160
- this.emit(list_1.strings.ACTION_EVENT, { index, data }, /** shouldBubble */ true);
156
+ const data = CustomElement.for(listItem).viewModel.value;
157
+ this.emit(strings.ACTION_EVENT, { index, data }, /** shouldBubble */ true);
161
158
  }
162
159
  },
163
160
  notifySelectionChange: (changedIndices) => {
164
- this.emit(list_1.strings.SELECTION_CHANGE_EVENT, { changedIndices }, /** shouldBubble */ true);
161
+ this.emit(strings.SELECTION_CHANGE_EVENT, { changedIndices }, /** shouldBubble */ true);
165
162
  },
166
163
  removeClassForElementIndex: (index, className) => {
167
164
  const element = this.listElements[index];
@@ -177,7 +174,7 @@ let MdcList = (() => {
177
174
  },
178
175
  setCheckedCheckboxOrRadioAtIndex: (index, isChecked) => {
179
176
  const listItem = this.listElements[index];
180
- const toggleEl = listItem.querySelector(list_1.strings.CHECKBOX_RADIO_SELECTOR);
177
+ const toggleEl = listItem.querySelector(strings.CHECKBOX_RADIO_SELECTOR);
181
178
  if (toggleEl?.disabled) {
182
179
  return;
183
180
  }
@@ -188,11 +185,11 @@ let MdcList = (() => {
188
185
  },
189
186
  setTabIndexForListItemChildren: (listItemIndex, tabIndexValue) => {
190
187
  const element = this.listElements[listItemIndex];
191
- const listItemChildren = [].slice.call(element.querySelectorAll(list_1.strings.CHILD_ELEMENTS_TO_TOGGLE_TABINDEX));
188
+ const listItemChildren = [].slice.call(element.querySelectorAll(strings.CHILD_ELEMENTS_TO_TOGGLE_TABINDEX));
192
189
  listItemChildren.forEach((el) => el.setAttribute('tabindex', tabIndexValue));
193
190
  },
194
191
  };
195
- return new list_1.MDCListFoundation(adapter);
192
+ return new MDCListFoundation(adapter);
196
193
  }
197
194
  /**
198
195
  * @hidden
@@ -201,9 +198,9 @@ let MdcList = (() => {
201
198
  */
202
199
  getListItemIndex_(evt) {
203
200
  const eventTarget = evt.target;
204
- const nearestParent = (0, ponyfill_1.closest)(eventTarget, `.${list_1.cssClasses.LIST_ITEM_CLASS}, .${list_1.cssClasses.ROOT}`);
201
+ const nearestParent = closest(eventTarget, `.${cssClasses.LIST_ITEM_CLASS}, .${cssClasses.ROOT}`);
205
202
  // Get the index of the element if it is a list item.
206
- if (nearestParent && (0, ponyfill_1.matches)(nearestParent, `.${list_1.cssClasses.LIST_ITEM_CLASS}`)) {
203
+ if (nearestParent && matches(nearestParent, `.${cssClasses.LIST_ITEM_CLASS}`)) {
207
204
  return this.listElements.indexOf(nearestParent);
208
205
  }
209
206
  return -1;
@@ -233,7 +230,7 @@ let MdcList = (() => {
233
230
  const index = this.getListItemIndex_(evt);
234
231
  const target = evt.target;
235
232
  if (!target.hasAttribute('not-selectable')) {
236
- this.foundation?.handleKeydown(evt, target.classList.contains(list_1.cssClasses.LIST_ITEM_CLASS), index);
233
+ this.foundation?.handleKeydown(evt, target.classList.contains(cssClasses.LIST_ITEM_CLASS), index);
237
234
  }
238
235
  return true;
239
236
  }
@@ -245,7 +242,7 @@ let MdcList = (() => {
245
242
  const index = this.getListItemIndex_(evt);
246
243
  const target = evt.target;
247
244
  // Toggle the checkbox only if it's not the target of the event, or the checkbox will have 2 change events.
248
- const isCheckboxAlreadyUpdatedInAdapter = (0, ponyfill_1.matches)(target, list_1.strings.CHECKBOX_RADIO_SELECTOR);
245
+ const isCheckboxAlreadyUpdatedInAdapter = matches(target, strings.CHECKBOX_RADIO_SELECTOR);
249
246
  this.foundation?.handleClick(index, isCheckboxAlreadyUpdatedInAdapter, evt);
250
247
  return true;
251
248
  }
@@ -284,10 +281,10 @@ let MdcList = (() => {
284
281
  * Initialize selectedIndex value based on pre-selected checkbox list items, single selection or radio.
285
282
  */
286
283
  initializeListType() {
287
- const checkboxListItems = this.root.querySelectorAll(list_1.strings.ARIA_ROLE_CHECKBOX_SELECTOR);
288
- const radioSelectedListItem = this.root.querySelector(list_1.strings.ARIA_CHECKED_RADIO_SELECTOR);
284
+ const checkboxListItems = this.root.querySelectorAll(strings.ARIA_ROLE_CHECKBOX_SELECTOR);
285
+ const radioSelectedListItem = this.root.querySelector(strings.ARIA_CHECKED_RADIO_SELECTOR);
289
286
  if (checkboxListItems.length) {
290
- const preselectedItems = this.root.querySelectorAll(list_1.strings.ARIA_CHECKED_CHECKBOX_SELECTOR);
287
+ const preselectedItems = this.root.querySelectorAll(strings.ARIA_CHECKED_CHECKBOX_SELECTOR);
291
288
  this.selectedIndex = [].map.call(preselectedItems, (listItem) => this.listElements.indexOf(listItem));
292
289
  }
293
290
  else if (radioSelectedListItem) {
@@ -296,10 +293,10 @@ let MdcList = (() => {
296
293
  }
297
294
  constructor() {
298
295
  super(...arguments);
299
- tslib_1.__runInitializers(this, _wrapFocus_extraInitializers);
296
+ __runInitializers(this, _wrapFocus_extraInitializers);
300
297
  }
301
298
  };
302
299
  return MdcList = _classThis;
303
300
  })();
304
- exports.MdcList = MdcList;
301
+ export { MdcList };
305
302
  //# sourceMappingURL=mdc-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-list.js","sourceRoot":"","sources":["../../src/list/mdc-list.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcComponent, booleanAttr } from '../base';\r\nimport { MDCListFoundation, MDCListAdapter, strings, cssClasses, MDCListIndex, MDCListSelectionChangeDetail } from '@material/list';\r\nimport { closest, matches } from '@material/dom/ponyfill';\r\nimport { MdcListItem, IMdcListActionEventDetail } from './mdc-list-item/mdc-list-item';\r\nimport { customElement, bindable, inject, CustomElement, slotted } from 'aurelia';\r\nimport template from './mdc-list.html?raw';\r\n\r\nstrings.ACTION_EVENT = strings.ACTION_EVENT.toLowerCase();\r\nstrings.SELECTION_CHANGE_EVENT = strings.SELECTION_CHANGE_EVENT.toLowerCase();\r\n\r\nexport const mdcListStrings = {\r\n ITEMS_CHANGED: 'mdclist:itemschanged'\r\n};\r\n\r\n/**\r\n * @selector mdc-list\r\n * @emits mdclist:action | Indicates that a list item with the specified index has been activated\r\n * @emits mdclist:itemschanged | Indicates that the list of items has changed\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-list', template })\r\nexport class MdcList extends MdcComponent<MDCListFoundation> {\r\n\r\n cssClasses = cssClasses;\r\n\r\n /** When enabled, the space and enter keys (or click event) will trigger an single list item to become selected and any other previous selected element to become deselected */\r\n @bindable({ set: booleanAttr })\r\n singleSelection: boolean;\r\n singleSelectionChanged() {\r\n this.foundation?.setSingleSelection(this.singleSelection);\r\n }\r\n\r\n /** Sets the selection logic to apply/remove the mdc-list-item--activated class */\r\n @bindable({ set: booleanAttr })\r\n activated: boolean;\r\n activatedChanged() {\r\n this.foundation?.setUseActivatedClass(this.activated);\r\n }\r\n\r\n @slotted({ query: 'mdc-list-item' })\r\n itemElements: HTMLElement[];\r\n itemsChanged() {\r\n this.emit(mdcListStrings.ITEMS_CHANGED, { items: this.itemElements }, true);\r\n }\r\n\r\n get items(): MdcListItem[] {\r\n return (this.itemElements ?? []).map(x => CustomElement.for<MdcListItem>(x).viewModel);\r\n }\r\n\r\n @bindable({ set: booleanAttr })\r\n typeahead: boolean;\r\n typeaheadChanged(hasTypeahead: boolean) {\r\n this.foundation?.setHasTypeahead(hasTypeahead);\r\n }\r\n\r\n /** Prevent list items receive styles for hover, focus, and press states (including the ripple) */\r\n @bindable({ set: booleanAttr })\r\n nonInteractive: boolean;\r\n\r\n /** Sets the list to allow the up arrow on the first element to focus the last element of the list and vice versa */\r\n @bindable({ set: booleanAttr })\r\n wrapFocus: boolean;\r\n wrapFocusChanged() {\r\n this.foundation?.setWrapFocus(this.wrapFocus);\r\n }\r\n\r\n initialSyncWithDOM() {\r\n this.singleSelectionChanged();\r\n this.activatedChanged();\r\n this.typeaheadChanged(this.typeahead);\r\n this.wrapFocusChanged();\r\n this.layout();\r\n this.initializeListType();\r\n }\r\n\r\n get listElements(): Element[] {\r\n return Array.from(this.root.querySelectorAll(`.${cssClasses.LIST_ITEM_CLASS}`));\r\n }\r\n\r\n /**\r\n * Extracts the primary text from a list item.\r\n * @param item The list item element.\r\n * @return The primary text in the element.\r\n */\r\n getPrimaryText(item: Element): string {\r\n const primaryText = item.querySelector(`.${cssClasses.LIST_ITEM_PRIMARY_TEXT_CLASS}`);\r\n if (primaryText) {\r\n return primaryText.textContent ?? '';\r\n }\r\n\r\n const singleLineText = item.querySelector(`.${cssClasses.LIST_ITEM_TEXT_CLASS}`);\r\n return singleLineText?.textContent ?? '';\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: MDCListAdapter = {\r\n addClassForElementIndex: (index, className) => {\r\n const element = this.listElements[index];\r\n if (element) {\r\n element.classList.add(className);\r\n }\r\n },\r\n focusItemAtIndex: (index) => {\r\n const element = this.listElements[index] as HTMLElement | undefined;\r\n if (element) {\r\n element.focus();\r\n }\r\n },\r\n getAttributeForElementIndex: (index, attr) => this.listElements[index].getAttribute(attr),\r\n getFocusedElementIndex: () => this.listElements.indexOf(document.activeElement!),\r\n getListItemCount: () => this.listElements.length,\r\n getPrimaryTextAtIndex: (index) => this.getPrimaryText(this.listElements[index]),\r\n hasCheckboxAtIndex: (index) => {\r\n const listItem = this.listElements[index];\r\n return !!listItem.querySelector(strings.CHECKBOX_SELECTOR);\r\n },\r\n hasRadioAtIndex: (index) => {\r\n const listItem = this.listElements[index];\r\n return !!listItem.querySelector(strings.RADIO_SELECTOR);\r\n },\r\n isCheckboxCheckedAtIndex: (index) => {\r\n const listItem = this.listElements[index];\r\n const toggleEl = listItem.querySelector<HTMLInputElement>(strings.CHECKBOX_SELECTOR);\r\n return toggleEl!.checked;\r\n },\r\n isFocusInsideList: () => {\r\n return this.root !== document.activeElement && this.root.contains(document.activeElement);\r\n },\r\n isRootFocused: () => document.activeElement === this.root,\r\n listItemAtIndexHasClass: (index, className) => this.listElements[index].classList.contains(className),\r\n notifyAction: (index) => {\r\n const listItem = this.listElements[index];\r\n if (!listItem.hasAttribute('no-list-action')) {\r\n const data = CustomElement.for<MdcListItem>(listItem).viewModel.value;\r\n this.emit<IMdcListActionEventDetail>(strings.ACTION_EVENT, { index, data }, /** shouldBubble */ true);\r\n }\r\n },\r\n notifySelectionChange: (changedIndices: number[]) => {\r\n this.emit<MDCListSelectionChangeDetail>(strings.SELECTION_CHANGE_EVENT,\r\n { changedIndices }, /** shouldBubble */ true);\r\n },\r\n removeClassForElementIndex: (index, className) => {\r\n const element = this.listElements[index];\r\n if (element) {\r\n element.classList.remove(className);\r\n }\r\n },\r\n setAttributeForElementIndex: (index, attr, value) => {\r\n const element = this.listElements[index];\r\n if (element) {\r\n element.setAttribute(attr, value);\r\n }\r\n },\r\n setCheckedCheckboxOrRadioAtIndex: (index, isChecked) => {\r\n const listItem = this.listElements[index];\r\n const toggleEl = listItem.querySelector<HTMLInputElement>(strings.CHECKBOX_RADIO_SELECTOR);\r\n if (toggleEl?.disabled) {\r\n return;\r\n }\r\n toggleEl!.checked = isChecked;\r\n\r\n const event = document.createEvent('Event');\r\n event.initEvent('change', true, true);\r\n toggleEl!.dispatchEvent(event);\r\n },\r\n setTabIndexForListItemChildren: (listItemIndex, tabIndexValue) => {\r\n const element = this.listElements[listItemIndex];\r\n const listItemChildren: Element[] =\r\n [].slice.call(element.querySelectorAll(strings.CHILD_ELEMENTS_TO_TOGGLE_TABINDEX));\r\n listItemChildren.forEach((el) => el.setAttribute('tabindex', tabIndexValue));\r\n },\r\n };\r\n return new MDCListFoundation(adapter);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which list item this event is targetting. Or returns -1 if\r\n * there is no list item\r\n */\r\n private getListItemIndex_(evt: Event) {\r\n const eventTarget = evt.target as Element;\r\n const nearestParent = closest(eventTarget, `.${cssClasses.LIST_ITEM_CLASS}, .${cssClasses.ROOT}`);\r\n\r\n // Get the index of the element if it is a list item.\r\n if (nearestParent && matches(nearestParent, `.${cssClasses.LIST_ITEM_CLASS}`)) {\r\n return this.listElements.indexOf(nearestParent);\r\n }\r\n\r\n return -1;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which element was clicked before sending the event to the foundation.\r\n */\r\n handleFocusInEvent_(evt: FocusEvent) {\r\n const index = this.getListItemIndex_(evt);\r\n this.foundation?.handleFocusIn(index);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which element was clicked before sending the event to the foundation.\r\n */\r\n handleFocusOutEvent_(evt: FocusEvent) {\r\n const index = this.getListItemIndex_(evt);\r\n this.foundation?.handleFocusOut(index);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which element was focused when keydown event occurred before sending the event to the\r\n * foundation.\r\n */\r\n handleKeydownEvent_(evt: KeyboardEvent) {\r\n const index = this.getListItemIndex_(evt);\r\n const target = evt.target as Element;\r\n if (!target.hasAttribute('not-selectable')) {\r\n this.foundation?.handleKeydown(evt, target.classList.contains(cssClasses.LIST_ITEM_CLASS), index);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which element was clicked before sending the event to the foundation.\r\n */\r\n handleClickEvent_(evt: MouseEvent) {\r\n const index = this.getListItemIndex_(evt);\r\n const target = evt.target as Element;\r\n // Toggle the checkbox only if it's not the target of the event, or the checkbox will have 2 change events.\r\n const isCheckboxAlreadyUpdatedInAdapter = matches(target, strings.CHECKBOX_RADIO_SELECTOR);\r\n this.foundation?.handleClick(index, isCheckboxAlreadyUpdatedInAdapter, evt);\r\n return true;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * @return Whether typeahead is currently matching a user-specified prefix.\r\n */\r\n get typeaheadInProgress(): boolean {\r\n return this.foundation!.isTypeaheadInProgress();\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Given the next desired character from the user, adds it to the typeahead\r\n * buffer. Then, attempts to find the next option matching the buffer. Wraps\r\n * around if at the end of options.\r\n *\r\n * @param nextChar The next character to add to the prefix buffer.\r\n * @param startingIndex The index from which to start matching. Defaults to\r\n * the currently focused index.\r\n * @return The index of the matched item.\r\n */\r\n typeaheadMatchItem(nextChar: string, startingIndex?: number): number {\r\n return this.foundation!.typeaheadMatchItem(nextChar, startingIndex, /** skipFocus */ true);\r\n }\r\n\r\n layout() {\r\n this.foundation?.layout();\r\n }\r\n\r\n get selectedIndex(): MDCListIndex {\r\n return this.foundation!.getSelectedIndex();\r\n }\r\n\r\n set selectedIndex(index: MDCListIndex) {\r\n this.foundation?.setSelectedIndex(index);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Initialize selectedIndex value based on pre-selected checkbox list items, single selection or radio.\r\n */\r\n initializeListType() {\r\n const checkboxListItems = this.root.querySelectorAll(strings.ARIA_ROLE_CHECKBOX_SELECTOR);\r\n const radioSelectedListItem = this.root.querySelector(strings.ARIA_CHECKED_RADIO_SELECTOR);\r\n\r\n if (checkboxListItems.length) {\r\n const preselectedItems = this.root.querySelectorAll(strings.ARIA_CHECKED_CHECKBOX_SELECTOR);\r\n this.selectedIndex = [].map.call(preselectedItems, (listItem: Element) => this.listElements.indexOf(listItem)) as number[];\r\n } else if (radioSelectedListItem) {\r\n this.selectedIndex = this.listElements.indexOf(radioSelectedListItem);\r\n }\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcListElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcList;\r\n };\r\n };\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"mdc-list.js","sourceRoot":"","sources":["../../src/list/mdc-list.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcComponent, booleanAttr } from '../base';\r\nimport { MDCListFoundation, MDCListAdapter, strings, cssClasses, MDCListIndex, MDCListSelectionChangeDetail } from '@material/list';\r\nimport { closest, matches } from '@material/dom/ponyfill';\r\nimport { MdcListItem, IMdcListActionEventDetail } from './mdc-list-item/mdc-list-item';\r\nimport { customElement, bindable, inject, CustomElement, slotted } from 'aurelia';\r\nimport template from './mdc-list.html?raw';\r\n\r\nstrings.ACTION_EVENT = strings.ACTION_EVENT.toLowerCase();\r\nstrings.SELECTION_CHANGE_EVENT = strings.SELECTION_CHANGE_EVENT.toLowerCase();\r\n\r\nexport const mdcListStrings = {\r\n ITEMS_CHANGED: 'mdclist:itemschanged'\r\n};\r\n\r\n/**\r\n * @selector mdc-list\r\n * @emits mdclist:action | Indicates that a list item with the specified index has been activated\r\n * @emits mdclist:itemschanged | Indicates that the list of items has changed\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-list', template })\r\nexport class MdcList extends MdcComponent<MDCListFoundation> {\r\n\r\n cssClasses = cssClasses;\r\n\r\n /** When enabled, the space and enter keys (or click event) will trigger an single list item to become selected and any other previous selected element to become deselected */\r\n @bindable({ set: booleanAttr })\r\n singleSelection: boolean;\r\n singleSelectionChanged() {\r\n this.foundation?.setSingleSelection(this.singleSelection);\r\n }\r\n\r\n /** Sets the selection logic to apply/remove the mdc-list-item--activated class */\r\n @bindable({ set: booleanAttr })\r\n activated: boolean;\r\n activatedChanged() {\r\n this.foundation?.setUseActivatedClass(this.activated);\r\n }\r\n\r\n @slotted({ query: 'mdc-list-item' })\r\n itemElements: HTMLElement[];\r\n itemsChanged() {\r\n this.emit(mdcListStrings.ITEMS_CHANGED, { items: this.itemElements }, true);\r\n }\r\n\r\n get items(): MdcListItem[] {\r\n return (this.itemElements ?? []).map(x => CustomElement.for<MdcListItem>(x).viewModel);\r\n }\r\n\r\n @bindable({ set: booleanAttr })\r\n typeahead: boolean;\r\n typeaheadChanged(hasTypeahead: boolean) {\r\n this.foundation?.setHasTypeahead(hasTypeahead);\r\n }\r\n\r\n /** Prevent list items receive styles for hover, focus, and press states (including the ripple) */\r\n @bindable({ set: booleanAttr })\r\n nonInteractive: boolean;\r\n\r\n /** Sets the list to allow the up arrow on the first element to focus the last element of the list and vice versa */\r\n @bindable({ set: booleanAttr })\r\n wrapFocus: boolean;\r\n wrapFocusChanged() {\r\n this.foundation?.setWrapFocus(this.wrapFocus);\r\n }\r\n\r\n initialSyncWithDOM() {\r\n this.singleSelectionChanged();\r\n this.activatedChanged();\r\n this.typeaheadChanged(this.typeahead);\r\n this.wrapFocusChanged();\r\n this.layout();\r\n this.initializeListType();\r\n }\r\n\r\n get listElements(): Element[] {\r\n return Array.from(this.root.querySelectorAll(`.${cssClasses.LIST_ITEM_CLASS}`));\r\n }\r\n\r\n /**\r\n * Extracts the primary text from a list item.\r\n * @param item The list item element.\r\n * @return The primary text in the element.\r\n */\r\n getPrimaryText(item: Element): string {\r\n const primaryText = item.querySelector(`.${cssClasses.LIST_ITEM_PRIMARY_TEXT_CLASS}`);\r\n if (primaryText) {\r\n return primaryText.textContent ?? '';\r\n }\r\n\r\n const singleLineText = item.querySelector(`.${cssClasses.LIST_ITEM_TEXT_CLASS}`);\r\n return singleLineText?.textContent ?? '';\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: MDCListAdapter = {\r\n addClassForElementIndex: (index, className) => {\r\n const element = this.listElements[index];\r\n if (element) {\r\n element.classList.add(className);\r\n }\r\n },\r\n focusItemAtIndex: (index) => {\r\n const element = this.listElements[index] as HTMLElement | undefined;\r\n if (element) {\r\n element.focus();\r\n }\r\n },\r\n getAttributeForElementIndex: (index, attr) => this.listElements[index].getAttribute(attr),\r\n getFocusedElementIndex: () => this.listElements.indexOf(document.activeElement!),\r\n getListItemCount: () => this.listElements.length,\r\n getPrimaryTextAtIndex: (index) => this.getPrimaryText(this.listElements[index]),\r\n hasCheckboxAtIndex: (index) => {\r\n const listItem = this.listElements[index];\r\n return !!listItem.querySelector(strings.CHECKBOX_SELECTOR);\r\n },\r\n hasRadioAtIndex: (index) => {\r\n const listItem = this.listElements[index];\r\n return !!listItem.querySelector(strings.RADIO_SELECTOR);\r\n },\r\n isCheckboxCheckedAtIndex: (index) => {\r\n const listItem = this.listElements[index];\r\n const toggleEl = listItem.querySelector<HTMLInputElement>(strings.CHECKBOX_SELECTOR);\r\n return toggleEl!.checked;\r\n },\r\n isFocusInsideList: () => {\r\n return this.root !== document.activeElement && this.root.contains(document.activeElement);\r\n },\r\n isRootFocused: () => document.activeElement === this.root,\r\n listItemAtIndexHasClass: (index, className) => this.listElements[index].classList.contains(className),\r\n notifyAction: (index) => {\r\n const listItem = this.listElements[index];\r\n if (!listItem.hasAttribute('no-list-action')) {\r\n const data = CustomElement.for<MdcListItem>(listItem).viewModel.value;\r\n this.emit<IMdcListActionEventDetail>(strings.ACTION_EVENT, { index, data }, /** shouldBubble */ true);\r\n }\r\n },\r\n notifySelectionChange: (changedIndices: number[]) => {\r\n this.emit<MDCListSelectionChangeDetail>(strings.SELECTION_CHANGE_EVENT,\r\n { changedIndices }, /** shouldBubble */ true);\r\n },\r\n removeClassForElementIndex: (index, className) => {\r\n const element = this.listElements[index];\r\n if (element) {\r\n element.classList.remove(className);\r\n }\r\n },\r\n setAttributeForElementIndex: (index, attr, value) => {\r\n const element = this.listElements[index];\r\n if (element) {\r\n element.setAttribute(attr, value);\r\n }\r\n },\r\n setCheckedCheckboxOrRadioAtIndex: (index, isChecked) => {\r\n const listItem = this.listElements[index];\r\n const toggleEl = listItem.querySelector<HTMLInputElement>(strings.CHECKBOX_RADIO_SELECTOR);\r\n if (toggleEl?.disabled) {\r\n return;\r\n }\r\n toggleEl!.checked = isChecked;\r\n\r\n const event = document.createEvent('Event');\r\n event.initEvent('change', true, true);\r\n toggleEl!.dispatchEvent(event);\r\n },\r\n setTabIndexForListItemChildren: (listItemIndex, tabIndexValue) => {\r\n const element = this.listElements[listItemIndex];\r\n const listItemChildren: Element[] =\r\n [].slice.call(element.querySelectorAll(strings.CHILD_ELEMENTS_TO_TOGGLE_TABINDEX));\r\n listItemChildren.forEach((el) => el.setAttribute('tabindex', tabIndexValue));\r\n },\r\n };\r\n return new MDCListFoundation(adapter);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which list item this event is targetting. Or returns -1 if\r\n * there is no list item\r\n */\r\n private getListItemIndex_(evt: Event) {\r\n const eventTarget = evt.target as Element;\r\n const nearestParent = closest(eventTarget, `.${cssClasses.LIST_ITEM_CLASS}, .${cssClasses.ROOT}`);\r\n\r\n // Get the index of the element if it is a list item.\r\n if (nearestParent && matches(nearestParent, `.${cssClasses.LIST_ITEM_CLASS}`)) {\r\n return this.listElements.indexOf(nearestParent);\r\n }\r\n\r\n return -1;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which element was clicked before sending the event to the foundation.\r\n */\r\n handleFocusInEvent_(evt: FocusEvent) {\r\n const index = this.getListItemIndex_(evt);\r\n this.foundation?.handleFocusIn(index);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which element was clicked before sending the event to the foundation.\r\n */\r\n handleFocusOutEvent_(evt: FocusEvent) {\r\n const index = this.getListItemIndex_(evt);\r\n this.foundation?.handleFocusOut(index);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which element was focused when keydown event occurred before sending the event to the\r\n * foundation.\r\n */\r\n handleKeydownEvent_(evt: KeyboardEvent) {\r\n const index = this.getListItemIndex_(evt);\r\n const target = evt.target as Element;\r\n if (!target.hasAttribute('not-selectable')) {\r\n this.foundation?.handleKeydown(evt, target.classList.contains(cssClasses.LIST_ITEM_CLASS), index);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Used to figure out which element was clicked before sending the event to the foundation.\r\n */\r\n handleClickEvent_(evt: MouseEvent) {\r\n const index = this.getListItemIndex_(evt);\r\n const target = evt.target as Element;\r\n // Toggle the checkbox only if it's not the target of the event, or the checkbox will have 2 change events.\r\n const isCheckboxAlreadyUpdatedInAdapter = matches(target, strings.CHECKBOX_RADIO_SELECTOR);\r\n this.foundation?.handleClick(index, isCheckboxAlreadyUpdatedInAdapter, evt);\r\n return true;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * @return Whether typeahead is currently matching a user-specified prefix.\r\n */\r\n get typeaheadInProgress(): boolean {\r\n return this.foundation!.isTypeaheadInProgress();\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Given the next desired character from the user, adds it to the typeahead\r\n * buffer. Then, attempts to find the next option matching the buffer. Wraps\r\n * around if at the end of options.\r\n *\r\n * @param nextChar The next character to add to the prefix buffer.\r\n * @param startingIndex The index from which to start matching. Defaults to\r\n * the currently focused index.\r\n * @return The index of the matched item.\r\n */\r\n typeaheadMatchItem(nextChar: string, startingIndex?: number): number {\r\n return this.foundation!.typeaheadMatchItem(nextChar, startingIndex, /** skipFocus */ true);\r\n }\r\n\r\n layout() {\r\n this.foundation?.layout();\r\n }\r\n\r\n get selectedIndex(): MDCListIndex {\r\n return this.foundation!.getSelectedIndex();\r\n }\r\n\r\n set selectedIndex(index: MDCListIndex) {\r\n this.foundation?.setSelectedIndex(index);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Initialize selectedIndex value based on pre-selected checkbox list items, single selection or radio.\r\n */\r\n initializeListType() {\r\n const checkboxListItems = this.root.querySelectorAll(strings.ARIA_ROLE_CHECKBOX_SELECTOR);\r\n const radioSelectedListItem = this.root.querySelector(strings.ARIA_CHECKED_RADIO_SELECTOR);\r\n\r\n if (checkboxListItems.length) {\r\n const preselectedItems = this.root.querySelectorAll(strings.ARIA_CHECKED_CHECKBOX_SELECTOR);\r\n this.selectedIndex = [].map.call(preselectedItems, (listItem: Element) => this.listElements.indexOf(listItem)) as number[];\r\n } else if (radioSelectedListItem) {\r\n this.selectedIndex = this.listElements.indexOf(radioSelectedListItem);\r\n }\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcListElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcList;\r\n };\r\n };\r\n}\r\n\r\n"]}
@@ -0,0 +1 @@
1
+ @forward './mdc-list.scss';
@@ -0,0 +1 @@
1
+ @forward './mdc-list.scss';
@@ -0,0 +1,6 @@
1
+ .mdc-list,
2
+ .mdc-list-divider,
3
+ .mdc-deprecated-list,
4
+ .mdc-deprecated-list-divider {
5
+ display: block;
6
+ }
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DiscardablePromise = void 0;
4
1
  /**
5
2
  * A wrapper-promise which rejects when discarded
6
3
  */
7
- class DiscardablePromise {
4
+ export class DiscardablePromise {
8
5
  promise;
9
6
  constructor(promise) {
10
7
  this.promise = promise;
@@ -25,5 +22,4 @@ class DiscardablePromise {
25
22
  this.isDiscarded = true;
26
23
  }
27
24
  }
28
- exports.DiscardablePromise = DiscardablePromise;
29
25
  //# sourceMappingURL=discardable-promise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discardable-promise.js","sourceRoot":"","sources":["../../src/lookup/discardable-promise.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,kBAAkB;IACT;IAApB,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAI,CAAC;IAE5C,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvC,WAAW,CAAU;IAErB,IAAI,CAAiC,WAA4D,EAAE,UAAkE;QACnK,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YACjC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;;AAnBH,gDAoBC","sourcesContent":["/**\r\n * A wrapper-promise which rejects when discarded\r\n */\r\nexport class DiscardablePromise<T> implements PromiseLike<T> {\r\n constructor(private promise: Promise<T>) { }\r\n\r\n static discarded = Symbol('discarded');\r\n\r\n isDiscarded: boolean;\r\n\r\n then<TResult1 = T, TResult2 = never>(onfulfilled?: (value: T) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: unknown) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2> {\r\n return this.promise.then(async x => {\r\n if (this.isDiscarded) {\r\n return Promise.reject(DiscardablePromise.discarded);\r\n } else {\r\n return Promise.resolve(x);\r\n }\r\n }).then(onfulfilled, onrejected);\r\n }\r\n\r\n discard() {\r\n this.isDiscarded = true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"discardable-promise.js","sourceRoot":"","sources":["../../src/lookup/discardable-promise.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAI,CAAC;IAE5C,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvC,WAAW,CAAU;IAErB,IAAI,CAAiC,WAA4D,EAAE,UAAkE;QACnK,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YACjC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC","sourcesContent":["/**\r\n * A wrapper-promise which rejects when discarded\r\n */\r\nexport class DiscardablePromise<T> implements PromiseLike<T> {\r\n constructor(private promise: Promise<T>) { }\r\n\r\n static discarded = Symbol('discarded');\r\n\r\n isDiscarded: boolean;\r\n\r\n then<TResult1 = T, TResult2 = never>(onfulfilled?: (value: T) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: unknown) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2> {\r\n return this.promise.then(async x => {\r\n if (this.isDiscarded) {\r\n return Promise.reject(DiscardablePromise.discarded);\r\n } else {\r\n return Promise.resolve(x);\r\n }\r\n }).then(onfulfilled, onrejected);\r\n }\r\n\r\n discard() {\r\n this.isDiscarded = true;\r\n }\r\n}\r\n"]}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcDefaultLookupConfiguration = void 0;
4
1
  /** Configuration object */
5
- class MdcDefaultLookupConfiguration {
2
+ export class MdcDefaultLookupConfiguration {
6
3
  /** Default debounce time in milliseconds */
7
4
  debounce = 850;
8
5
  /** Default message displayed while async options function is being executed */
@@ -10,5 +7,4 @@ class MdcDefaultLookupConfiguration {
10
7
  /** Default message displayed when options are not found */
11
8
  notFoundMessage = 'Not found';
12
9
  }
13
- exports.MdcDefaultLookupConfiguration = MdcDefaultLookupConfiguration;
14
10
  //# sourceMappingURL=mdc-lookup-configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-lookup-configuration.js","sourceRoot":"","sources":["../../src/lookup/mdc-lookup-configuration.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AAC3B,MAAa,6BAA6B;IACxC,4CAA4C;IACrC,QAAQ,GAAW,GAAG,CAAC;IAE9B,+EAA+E;IACxE,gBAAgB,GAAW,cAAc,CAAC;IAEjD,2DAA2D;IACpD,eAAe,GAAW,WAAW,CAAC;CAC9C;AATD,sEASC","sourcesContent":["/** Configuration object */\r\nexport class MdcDefaultLookupConfiguration {\r\n /** Default debounce time in milliseconds */\r\n public debounce: number = 850;\r\n\r\n /** Default message displayed while async options function is being executed */\r\n public searchingMessage: string = 'Searching...';\r\n\r\n /** Default message displayed when options are not found */\r\n public notFoundMessage: string = 'Not found';\r\n}\r\n"]}
1
+ {"version":3,"file":"mdc-lookup-configuration.js","sourceRoot":"","sources":["../../src/lookup/mdc-lookup-configuration.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,OAAO,6BAA6B;IACxC,4CAA4C;IACrC,QAAQ,GAAW,GAAG,CAAC;IAE9B,+EAA+E;IACxE,gBAAgB,GAAW,cAAc,CAAC;IAEjD,2DAA2D;IACpD,eAAe,GAAW,WAAW,CAAC;CAC9C","sourcesContent":["/** Configuration object */\r\nexport class MdcDefaultLookupConfiguration {\r\n /** Default debounce time in milliseconds */\r\n public debounce: number = 850;\r\n\r\n /** Default message displayed while async options function is being executed */\r\n public searchingMessage: string = 'Searching...';\r\n\r\n /** Default message displayed when options are not found */\r\n public notFoundMessage: string = 'Not found';\r\n}\r\n"]}