@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
@@ -0,0 +1,64 @@
1
+ @use "@material/data-table";
2
+
3
+
4
+ .mdc-data-table__header-cell {
5
+ &--resizing {
6
+ .mdc-data-table__header-cell__hover-indicator {
7
+ display: block!important;
8
+ }
9
+
10
+ // this puts the column above the other columns so that resizing indicator is visible
11
+ z-index: 2 !important;
12
+ }
13
+
14
+ &__resize-handle {
15
+ position: absolute;
16
+ right: 0;
17
+ top: 0;
18
+ bottom: 0;
19
+ width: 5px;
20
+ cursor: col-resize;
21
+ z-index: 1;
22
+ background-color: transparent;
23
+ border-left: 1px solid transparent;
24
+ border-right: 1px solid transparent;
25
+ transition: background-color 0.2s;
26
+ }
27
+
28
+ .mdc-data-table__header-cell__hover-indicator {
29
+ position: absolute;
30
+ top: 0;
31
+ right: 0;
32
+ height: 100%;
33
+ left: 0;
34
+ background-color: data-table.$row-hover-fill-color;
35
+ display: none;
36
+ }
37
+
38
+ .mdc-data-table__header-cell__resize-handle-indicator {
39
+ position: absolute;
40
+ top: 0;
41
+ width: 2px;
42
+ background-color: var(--mdc-theme-primary);
43
+ pointer-events: none;
44
+ z-index: 1000;
45
+ }
46
+
47
+ &:has(.mdc-data-table__header-cell__resize-handle-indicator) {
48
+ overflow: visible;
49
+ }
50
+ }
51
+
52
+ .mdc-data-table:not(.mdc-data-table--column-resized) {
53
+ .mdc-data-table__header-cell[resizeable] {
54
+ &:hover {
55
+ .mdc-data-table__header-cell__hover-indicator {
56
+ display: block;
57
+ }
58
+ }
59
+ }
60
+ }
61
+
62
+ .mdc-data-table--column-resized {
63
+ user-select: none;
64
+ }
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcDialogActions = void 0;
4
- const tslib_1 = require("tslib");
5
- const aurelia_1 = require("aurelia");
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { customElement, inject, slotted } from 'aurelia';
6
3
  /**
7
4
  * Optional. Footer area containing the dialog's action buttons.
8
5
  * @selector mdc-dialog-actions
9
6
  */
10
7
  let MdcDialogActions = (() => {
11
- let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customElement)({ name: 'mdc-dialog-actions', template: '<template class="mdc-dialog__actions"><au-slot></au-slot></template>' })];
8
+ let _classDecorators = [inject(Element), customElement({ name: 'mdc-dialog-actions', template: '<template class="mdc-dialog__actions"><au-slot></au-slot></template>' })];
12
9
  let _classDescriptor;
13
10
  let _classExtraInitializers = [];
14
11
  let _classThis;
@@ -19,14 +16,14 @@ let MdcDialogActions = (() => {
19
16
  static { _classThis = this; }
20
17
  static {
21
18
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
22
- _buttons_decorators = [(0, aurelia_1.slotted)({ query: '.mdc-button' })];
23
- tslib_1.__esDecorate(null, null, _buttons_decorators, { kind: "field", name: "buttons", static: false, private: false, access: { has: obj => "buttons" in obj, get: obj => obj.buttons, set: (obj, value) => { obj.buttons = value; } }, metadata: _metadata }, _buttons_initializers, _buttons_extraInitializers);
24
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
19
+ _buttons_decorators = [slotted({ query: '.mdc-button' })];
20
+ __esDecorate(null, null, _buttons_decorators, { kind: "field", name: "buttons", static: false, private: false, access: { has: obj => "buttons" in obj, get: obj => obj.buttons, set: (obj, value) => { obj.buttons = value; } }, metadata: _metadata }, _buttons_initializers, _buttons_extraInitializers);
21
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
25
22
  MdcDialogActions = _classThis = _classDescriptor.value;
26
23
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
27
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
24
+ __runInitializers(_classThis, _classExtraInitializers);
28
25
  }
29
- buttons = tslib_1.__runInitializers(this, _buttons_initializers, void 0);
26
+ buttons = __runInitializers(this, _buttons_initializers, void 0);
30
27
  buttonsChanged() {
31
28
  for (let i = 0; i < this.buttons.length; ++i) {
32
29
  this.buttons[i].classList.add('mdc-dialog__button');
@@ -38,10 +35,10 @@ let MdcDialogActions = (() => {
38
35
  }
39
36
  }
40
37
  constructor() {
41
- tslib_1.__runInitializers(this, _buttons_extraInitializers);
38
+ __runInitializers(this, _buttons_extraInitializers);
42
39
  }
43
40
  };
44
41
  return MdcDialogActions = _classThis;
45
42
  })();
46
- exports.MdcDialogActions = MdcDialogActions;
43
+ export { MdcDialogActions };
47
44
  //# sourceMappingURL=mdc-dialog-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-dialog-actions.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-actions.ts"],"names":[],"mappings":";;;;AAAA,qCAAyD;AAEzD;;;GAGG;IAGU,gBAAgB;4BAF5B,IAAA,gBAAM,EAAC,OAAO,CAAC,EACf,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,sEAAsE,EAAE,CAAC;;;;;;;;;;;mCAE7H,IAAA,iBAAO,EAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;YAClC,+KAAA,OAAO,6BAAP,OAAO,yFAAgB;YAFzB,qLAcC;;;YAdY,+DAAgB;;QAE3B,OAAO,kEAAgB;QACvB,cAAc;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,QAAQ;YACN,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;;;;;;;AAbU,4CAAgB","sourcesContent":["import { customElement, inject, slotted } from 'aurelia';\r\n\r\n/**\r\n * Optional. Footer area containing the dialog's action buttons.\r\n * @selector mdc-dialog-actions\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-dialog-actions', template: '<template class=\"mdc-dialog__actions\"><au-slot></au-slot></template>' })\r\nexport class MdcDialogActions {\r\n @slotted({ query: '.mdc-button' })\r\n buttons: HTMLElement[];\r\n buttonsChanged() {\r\n for (let i = 0; i < this.buttons.length; ++i) {\r\n this.buttons[i].classList.add('mdc-dialog__button');\r\n }\r\n }\r\n\r\n attached() {\r\n if (this.buttons) {\r\n this.buttonsChanged();\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"mdc-dialog-actions.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-actions.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzD;;;GAGG;IAGU,gBAAgB;4BAF5B,MAAM,CAAC,OAAO,CAAC,EACf,aAAa,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,sEAAsE,EAAE,CAAC;;;;;;;;;;;mCAE7H,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;YAClC,uKAAA,OAAO,6BAAP,OAAO,yFAAgB;YAFzB,6KAcC;;;YAdY,uDAAgB;;QAE3B,OAAO,0DAAgB;QACvB,cAAc;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,QAAQ;YACN,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;;;;;;;SAbU,gBAAgB","sourcesContent":["import { customElement, inject, slotted } from 'aurelia';\r\n\r\n/**\r\n * Optional. Footer area containing the dialog's action buttons.\r\n * @selector mdc-dialog-actions\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-dialog-actions', template: '<template class=\"mdc-dialog__actions\"><au-slot></au-slot></template>' })\r\nexport class MdcDialogActions {\r\n @slotted({ query: '.mdc-button' })\r\n buttons: HTMLElement[];\r\n buttonsChanged() {\r\n for (let i = 0; i < this.buttons.length; ++i) {\r\n this.buttons[i].classList.add('mdc-dialog__button');\r\n }\r\n }\r\n\r\n attached() {\r\n if (this.buttons) {\r\n this.buttonsChanged();\r\n }\r\n }\r\n}\r\n"]}
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcDialogContent = void 0;
4
- const tslib_1 = require("tslib");
5
- const aurelia_1 = require("aurelia");
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { customElement, inject } from 'aurelia';
6
3
  /**
7
4
  * Optional. Primary content area. May contain a list, a form, or prose.
8
5
  * @selector mdc-dialog-content
9
6
  */
10
7
  let MdcDialogContent = (() => {
11
- let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customElement)({ name: 'mdc-dialog-content', template: '<template class="mdc-dialog__content"><au-slot></au-slot></template>' })];
8
+ let _classDecorators = [inject(Element), customElement({ name: 'mdc-dialog-content', template: '<template class="mdc-dialog__content"><au-slot></au-slot></template>' })];
12
9
  let _classDescriptor;
13
10
  let _classExtraInitializers = [];
14
11
  let _classThis;
@@ -16,10 +13,10 @@ let MdcDialogContent = (() => {
16
13
  static { _classThis = this; }
17
14
  static {
18
15
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
19
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
16
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
20
17
  MdcDialogContent = _classThis = _classDescriptor.value;
21
18
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
22
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
19
+ __runInitializers(_classThis, _classExtraInitializers);
23
20
  }
24
21
  root;
25
22
  constructor(root) {
@@ -28,5 +25,5 @@ let MdcDialogContent = (() => {
28
25
  };
29
26
  return MdcDialogContent = _classThis;
30
27
  })();
31
- exports.MdcDialogContent = MdcDialogContent;
28
+ export { MdcDialogContent };
32
29
  //# sourceMappingURL=mdc-dialog-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-dialog-content.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-content.ts"],"names":[],"mappings":";;;;AAAA,qCAAgD;AAEhD;;;GAGG;IAGU,gBAAgB;4BAF5B,IAAA,gBAAM,EAAC,OAAO,CAAC,EACf,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,sEAAsE,EAAE,CAAC;;;;;;;;YAChI,qLAEC;;;YAFY,+DAAgB;;QACR,IAAI;QAAvB,YAAmB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;QAAI,CAAC;;;;AAD9B,4CAAgB","sourcesContent":["import { customElement, inject } from 'aurelia';\r\n\r\n/**\r\n * Optional. Primary content area. May contain a list, a form, or prose.\r\n * @selector mdc-dialog-content\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-dialog-content', template: '<template class=\"mdc-dialog__content\"><au-slot></au-slot></template>' })\r\nexport class MdcDialogContent {\r\n constructor(public root: HTMLElement) { }\r\n}\r\n"]}
1
+ {"version":3,"file":"mdc-dialog-content.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-content.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEhD;;;GAGG;IAGU,gBAAgB;4BAF5B,MAAM,CAAC,OAAO,CAAC,EACf,aAAa,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,sEAAsE,EAAE,CAAC;;;;;;;;YAChI,6KAEC;;;YAFY,uDAAgB;;QACR,IAAI;QAAvB,YAAmB,IAAiB;YAAjB,SAAI,GAAJ,IAAI,CAAa;QAAI,CAAC;;;;SAD9B,gBAAgB","sourcesContent":["import { customElement, inject } from 'aurelia';\r\n\r\n/**\r\n * Optional. Primary content area. May contain a list, a form, or prose.\r\n * @selector mdc-dialog-content\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-dialog-content', template: '<template class=\"mdc-dialog__content\"><au-slot></au-slot></template>' })\r\nexport class MdcDialogContent {\r\n constructor(public root: HTMLElement) { }\r\n}\r\n"]}
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcDialogService = void 0;
4
- const aurelia_1 = require("aurelia");
5
- const dialog_1 = require("@material/dialog");
6
- const runtime_html_1 = require("@aurelia/runtime-html");
1
+ import { CustomAttribute, IAurelia, resolve } from 'aurelia';
2
+ import { strings } from '@material/dialog';
3
+ import { CustomElement } from '@aurelia/runtime-html';
7
4
  /** Service to open MDC dialogs */
8
- class MdcDialogService {
5
+ export class MdcDialogService {
9
6
  au;
10
- constructor(au = (0, aurelia_1.resolve)(aurelia_1.IAurelia)) {
7
+ constructor(au = resolve(IAurelia)) {
11
8
  this.au = au;
12
9
  }
13
10
  /** Opens the dialog specified in the options */
@@ -29,8 +26,8 @@ class MdcDialogService {
29
26
  }
30
27
  closedResolver(evt.detail.action);
31
28
  controller.deactivate();
32
- dialogVm.root.removeEventListener(dialog_1.strings.CLOSED_EVENT, bindingContext.handleClosed);
33
- dialogVm.root.removeEventListener(dialog_1.strings.OPENED_EVENT, bindingContext.handleOpened);
29
+ dialogVm.root.removeEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);
30
+ dialogVm.root.removeEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);
34
31
  dialogContainer.remove();
35
32
  }
36
33
  };
@@ -38,14 +35,14 @@ class MdcDialogService {
38
35
  if (!this.au.container.has(options.viewModel, false)) {
39
36
  this.au.container.register(options.viewModel);
40
37
  }
41
- const def = runtime_html_1.CustomElement.getDefinition(options.viewModel);
38
+ const def = CustomElement.getDefinition(options.viewModel);
42
39
  dialogContainer.innerHTML = `<${def.name}></${def.name}>`;
43
40
  document.body.appendChild(dialogContainer);
44
41
  const controller = await this.au.enhance({ host: dialogContainer, component: {} });
45
- const dialogVm = runtime_html_1.CustomElement.for(dialogContainer.querySelector('mdc-dialog')).viewModel;
46
- dialogVm.root.addEventListener(dialog_1.strings.CLOSED_EVENT, bindingContext.handleClosed);
47
- dialogVm.root.addEventListener(dialog_1.strings.OPENED_EVENT, bindingContext.handleOpened);
48
- const vm = runtime_html_1.CustomElement.for(dialogContainer.firstChild).viewModel;
42
+ const dialogVm = CustomElement.for(dialogContainer.querySelector('mdc-dialog')).viewModel;
43
+ dialogVm.root.addEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);
44
+ dialogVm.root.addEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);
45
+ const vm = CustomElement.for(dialogContainer.firstChild).viewModel;
49
46
  if (vm.loading) {
50
47
  const loadingResult = vm.loading(options.model);
51
48
  if (loadingResult instanceof Promise) {
@@ -58,12 +55,11 @@ class MdcDialogService {
58
55
  // re-layout ripple elements because dialogs use `transform: scale(.8)` and initial layout is incorrect
59
56
  const ripples = Array.from(dialogVm.root.querySelectorAll('.mdc-ripple-upgraded'));
60
57
  await Promise.all(ripples.map(async (x) => {
61
- const ripple = aurelia_1.CustomAttribute.for(x, 'mdc-ripple');
58
+ const ripple = CustomAttribute.for(x, 'mdc-ripple');
62
59
  await ripple?.viewModel.initialised;
63
60
  ripple?.viewModel.foundation?.layout();
64
61
  }));
65
62
  return await closedPromise;
66
63
  }
67
64
  }
68
- exports.MdcDialogService = MdcDialogService;
69
65
  //# sourceMappingURL=mdc-dialog-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-dialog-service.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-service.ts"],"names":[],"mappings":";;;AACA,qCAAsE;AACtE,6CAAgE;AAChE,wDAAsD;AAkBtD,kCAAkC;AAClC,MAAa,gBAAgB;IACE;IAA7B,YAA6B,KAAc,IAAA,iBAAO,EAAC,kBAAQ,CAAC;QAA/B,OAAE,GAAF,EAAE,CAA6B;IAAI,CAAC;IAEjE,gDAAgD;IAChD,KAAK,CAAC,IAAI,CAA8C,OAA6B;QACnF,IAAI,cAA2E,CAAC;QAChF,MAAM,aAAa,GAAG,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,cAAyC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,cAAc,GAA6B;YAC/C,YAAY,EAAE,GAAG,EAAE;gBACjB,MAAM,GAAG,IAAI,CAAC;gBACd,cAAc,EAAE,CAAC;YACnB,CAAC;YACD,YAAY,EAAE,CAAC,GAAwB,EAAE,EAAE;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,0FAA0F;oBAC1F,cAAc,EAAE,CAAC;gBACnB,CAAC;gBACD,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAO,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;gBACrF,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAO,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;gBACrF,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC;SACF,CAAC;QAEF,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,GAAG,GAAG,4BAAa,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,eAAe,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,QAAQ,GAAG,4BAAa,CAAC,GAAG,CAAY,eAAe,CAAC,aAAa,CAAC,YAAY,CAAgB,CAAC,CAAC,SAAS,CAAC;QACpH,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAO,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;QAClF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAO,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;QAClF,MAAM,EAAE,GAAG,4BAAa,CAAC,GAAG,CAAI,eAAe,CAAC,UAAyB,CAAC,CAAC,SAAS,CAAC;QACrF,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,aAAa,YAAY,OAAO,EAAE,CAAC;gBACrC,MAAM,aAAa,CAAC;YACtB,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,CAAC,WAAW,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEhB,MAAM,aAAa,CAAC;QACpB,uGAAuG;QACvG,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAoB,sBAAsB,CAAC,CAAC,CAAC;QACtG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YACtC,MAAM,MAAM,GAAG,yBAAe,CAAC,GAAG,CAAY,CAAC,EAAE,YAAY,CAAC,CAAC;YAC/D,MAAM,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC;YACpC,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,MAAM,aAAa,CAAC;IAC7B,CAAC;CACF;AA5DD,4CA4DC","sourcesContent":["import { MdcDialog } from './mdc-dialog';\nimport Aurelia, { CustomAttribute, IAurelia, resolve } from 'aurelia';\nimport { MDCDialogCloseEvent, strings } from '@material/dialog';\nimport { CustomElement } from '@aurelia/runtime-html';\nimport { Constructable } from '@aurelia/kernel';\nimport { IMdcRippleElement, MdcRipple } from '../ripple/mdc-ripple';\n\n/** Dialog service open method options */\nexport interface IMdcDialogOptions<T extends { loading: (params: any) => any }> {\n /** A class represeting the dialog content view model */\n viewModel: Constructable<T>;\n\n /** Data to pass to the view model's loading method */\n model?: unknown;\n}\n\ninterface IMdcDialogBindingContext {\n handleClosed(evt: MDCDialogCloseEvent): void;\n handleOpened(): void;\n}\n\n/** Service to open MDC dialogs */\nexport class MdcDialogService {\n constructor(private readonly au: Aurelia = resolve(IAurelia)) { }\n\n /** Opens the dialog specified in the options */\n async open<T extends { loading: (params: any) => any }>(options: IMdcDialogOptions<T>) {\n let closedResolver: (action?: string | PromiseLike<string> | undefined) => void;\n const closedPromise = new Promise<string>(r => closedResolver = r);\n let openedResolver: (value?: unknown) => void;\n const openedPromise = new Promise(r => openedResolver = r);\n let opened = false;\n const bindingContext: IMdcDialogBindingContext = {\n handleOpened: () => {\n opened = true;\n openedResolver();\n },\n handleClosed: (evt: MDCDialogCloseEvent) => {\n if (!opened) {\n // The dialog was closed before it was opened, need to prevent an unresolved open promise.\n openedResolver();\n }\n closedResolver(evt.detail.action);\n controller.deactivate();\n dialogVm.root.removeEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\n dialogVm.root.removeEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\n dialogContainer.remove();\n }\n };\n\n const dialogContainer = document.createElement('div');\n if (!this.au.container.has(options.viewModel, false)) {\n this.au.container.register(options.viewModel);\n }\n const def = CustomElement.getDefinition(options.viewModel);\n dialogContainer.innerHTML = `<${def.name}></${def.name}>`;\n document.body.appendChild(dialogContainer);\n\n const controller = await this.au.enhance({ host: dialogContainer, component: {} });\n const dialogVm = CustomElement.for<MdcDialog>(dialogContainer.querySelector('mdc-dialog') as HTMLElement).viewModel;\n dialogVm.root.addEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\n dialogVm.root.addEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\n const vm = CustomElement.for<T>(dialogContainer.firstChild as HTMLElement).viewModel;\n if (vm.loading) {\n const loadingResult = vm.loading(options.model);\n if (loadingResult instanceof Promise) {\n await loadingResult;\n }\n }\n await dialogVm.initialised;\n dialogVm.open();\n\n await openedPromise;\n // re-layout ripple elements because dialogs use `transform: scale(.8)` and initial layout is incorrect\n const ripples = Array.from(dialogVm.root.querySelectorAll<IMdcRippleElement>('.mdc-ripple-upgraded'));\n await Promise.all(ripples.map(async x => {\n const ripple = CustomAttribute.for<MdcRipple>(x, 'mdc-ripple');\n await ripple?.viewModel.initialised;\n ripple?.viewModel.foundation?.layout();\n }));\n return await closedPromise;\n }\n}\n"]}
1
+ {"version":3,"file":"mdc-dialog-service.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcDialog } from './mdc-dialog';\nimport Aurelia, { CustomAttribute, IAurelia, resolve } from 'aurelia';\nimport { MDCDialogCloseEvent, strings } from '@material/dialog';\nimport { CustomElement } from '@aurelia/runtime-html';\nimport { Constructable } from '@aurelia/kernel';\nimport { IMdcRippleElement, MdcRipple } from '../ripple/mdc-ripple';\n\n/** Dialog service open method options */\nexport interface IMdcDialogOptions<T extends { loading: (params: any) => any }> {\n /** A class represeting the dialog content view model */\n viewModel: Constructable<T>;\n\n /** Data to pass to the view model's loading method */\n model?: unknown;\n}\n\ninterface IMdcDialogBindingContext {\n handleClosed(evt: MDCDialogCloseEvent): void;\n handleOpened(): void;\n}\n\n/** Service to open MDC dialogs */\nexport class MdcDialogService {\n constructor(private readonly au: Aurelia = resolve(IAurelia)) { }\n\n /** Opens the dialog specified in the options */\n async open<T extends { loading: (params: any) => any }>(options: IMdcDialogOptions<T>) {\n let closedResolver: (action?: string | PromiseLike<string> | undefined) => void;\n const closedPromise = new Promise<string>(r => closedResolver = r);\n let openedResolver: (value?: unknown) => void;\n const openedPromise = new Promise(r => openedResolver = r);\n let opened = false;\n const bindingContext: IMdcDialogBindingContext = {\n handleOpened: () => {\n opened = true;\n openedResolver();\n },\n handleClosed: (evt: MDCDialogCloseEvent) => {\n if (!opened) {\n // The dialog was closed before it was opened, need to prevent an unresolved open promise.\n openedResolver();\n }\n closedResolver(evt.detail.action);\n controller.deactivate();\n dialogVm.root.removeEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\n dialogVm.root.removeEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\n dialogContainer.remove();\n }\n };\n\n const dialogContainer = document.createElement('div');\n if (!this.au.container.has(options.viewModel, false)) {\n this.au.container.register(options.viewModel);\n }\n const def = CustomElement.getDefinition(options.viewModel);\n dialogContainer.innerHTML = `<${def.name}></${def.name}>`;\n document.body.appendChild(dialogContainer);\n\n const controller = await this.au.enhance({ host: dialogContainer, component: {} });\n const dialogVm = CustomElement.for<MdcDialog>(dialogContainer.querySelector('mdc-dialog') as HTMLElement).viewModel;\n dialogVm.root.addEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\n dialogVm.root.addEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\n const vm = CustomElement.for<T>(dialogContainer.firstChild as HTMLElement).viewModel;\n if (vm.loading) {\n const loadingResult = vm.loading(options.model);\n if (loadingResult instanceof Promise) {\n await loadingResult;\n }\n }\n await dialogVm.initialised;\n dialogVm.open();\n\n await openedPromise;\n // re-layout ripple elements because dialogs use `transform: scale(.8)` and initial layout is incorrect\n const ripples = Array.from(dialogVm.root.querySelectorAll<IMdcRippleElement>('.mdc-ripple-upgraded'));\n await Promise.all(ripples.map(async x => {\n const ripple = CustomAttribute.for<MdcRipple>(x, 'mdc-ripple');\n await ripple?.viewModel.initialised;\n ripple?.viewModel.foundation?.layout();\n }));\n return await closedPromise;\n }\n}\n"]}
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcDialogTitle = void 0;
4
- const tslib_1 = require("tslib");
5
- const aurelia_1 = require("aurelia");
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { customElement } from 'aurelia';
6
3
  /**
7
4
  * Optional. The area containing the dialog's title.
8
5
  * @selector mdc-dialog-title
9
6
  */
10
7
  let MdcDialogTitle = (() => {
11
- let _classDecorators = [(0, aurelia_1.customElement)({ name: 'mdc-dialog-title', template: '<template class="mdc-dialog__title"><au-slot></au-slot></template>' })];
8
+ let _classDecorators = [customElement({ name: 'mdc-dialog-title', template: '<template class="mdc-dialog__title"><au-slot></au-slot></template>' })];
12
9
  let _classDescriptor;
13
10
  let _classExtraInitializers = [];
14
11
  let _classThis;
@@ -16,13 +13,13 @@ let MdcDialogTitle = (() => {
16
13
  static { _classThis = this; }
17
14
  static {
18
15
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
19
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
16
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
20
17
  MdcDialogTitle = _classThis = _classDescriptor.value;
21
18
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
22
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
19
+ __runInitializers(_classThis, _classExtraInitializers);
23
20
  }
24
21
  };
25
22
  return MdcDialogTitle = _classThis;
26
23
  })();
27
- exports.MdcDialogTitle = MdcDialogTitle;
24
+ export { MdcDialogTitle };
28
25
  //# sourceMappingURL=mdc-dialog-title.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-dialog-title.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-title.ts"],"names":[],"mappings":";;;;AAAA,qCAAwC;AAExC;;;GAGG;IAEU,cAAc;4BAD1B,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oEAAoE,EAAE,CAAC;;;;;;;;YAC5H,qLAA+B;;;YAAlB,+DAAc;;;;;AAAd,wCAAc","sourcesContent":["import { customElement } from 'aurelia';\r\n\r\n/**\r\n * Optional. The area containing the dialog's title.\r\n * @selector mdc-dialog-title\r\n */\r\n@customElement({ name: 'mdc-dialog-title', template: '<template class=\"mdc-dialog__title\"><au-slot></au-slot></template>' })\r\nexport class MdcDialogTitle { }\r\n"]}
1
+ {"version":3,"file":"mdc-dialog-title.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-title.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;;GAGG;IAEU,cAAc;4BAD1B,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oEAAoE,EAAE,CAAC;;;;;;;;YAC5H,6KAA+B;;;YAAlB,uDAAc;;;;;SAAd,cAAc","sourcesContent":["import { customElement } from 'aurelia';\r\n\r\n/**\r\n * Optional. The area containing the dialog's title.\r\n * @selector mdc-dialog-title\r\n */\r\n@customElement({ name: 'mdc-dialog-title', template: '<template class=\"mdc-dialog__title\"><au-slot></au-slot></template>' })\r\nexport class MdcDialogTitle { }\r\n"]}
@@ -1,28 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcDialog = void 0;
4
- const tslib_1 = require("tslib");
5
- const base_1 = require("../base");
6
- const dialog_1 = require("@material/dialog");
7
- const aurelia_1 = require("aurelia");
8
- const ponyfill_1 = require("@material/dom/ponyfill");
9
- const mdc_dialog_html_raw_1 = tslib_1.__importDefault(require("./mdc-dialog.html?raw"));
10
- const focus_trap_1 = require("@material/dom/focus-trap");
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { MdcComponent, booleanAttr } from '../base';
3
+ import { MDCDialogFoundation, strings, util } from '@material/dialog';
4
+ import { customElement, inject, bindable } from 'aurelia';
5
+ import { closest, matches } from '@material/dom/ponyfill';
6
+ import template from './mdc-dialog.html?raw';
7
+ import { FocusTrap } from '@material/dom/focus-trap';
11
8
  const LAYOUT_EVENTS = ['resize', 'orientationchange'];
12
9
  let dialogId = 0;
13
- dialog_1.strings.OPENING_EVENT = dialog_1.strings.OPENING_EVENT.toLowerCase();
14
- dialog_1.strings.CLOSING_EVENT = dialog_1.strings.CLOSING_EVENT.toLowerCase();
15
- dialog_1.strings.OPENED_EVENT = dialog_1.strings.OPENED_EVENT.toLowerCase();
16
- dialog_1.strings.CLOSED_EVENT = dialog_1.strings.CLOSED_EVENT.toLowerCase();
10
+ strings.OPENING_EVENT = strings.OPENING_EVENT.toLowerCase();
11
+ strings.CLOSING_EVENT = strings.CLOSING_EVENT.toLowerCase();
12
+ strings.OPENED_EVENT = strings.OPENED_EVENT.toLowerCase();
13
+ strings.CLOSED_EVENT = strings.CLOSED_EVENT.toLowerCase();
17
14
  /**
18
15
  * @selector mdc-dialog
19
16
  */
20
17
  let MdcDialog = (() => {
21
- let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customElement)({ name: 'mdc-dialog', template: mdc_dialog_html_raw_1.default })];
18
+ let _classDecorators = [inject(Element), customElement({ name: 'mdc-dialog', 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 _scrimClickAction_decorators;
27
24
  let _scrimClickAction_initializers = [];
28
25
  let _scrimClickAction_extraInitializers = [];
@@ -39,18 +36,18 @@ let MdcDialog = (() => {
39
36
  static { _classThis = this; }
40
37
  static {
41
38
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
42
- _scrimClickAction_decorators = [(0, aurelia_1.bindable)()];
43
- _escapeKeyAction_decorators = [(0, aurelia_1.bindable)()];
44
- _fullscreen_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
45
- _sheet_decorators = [(0, aurelia_1.bindable)({ set: base_1.booleanAttr })];
46
- tslib_1.__esDecorate(null, null, _scrimClickAction_decorators, { kind: "field", name: "scrimClickAction", static: false, private: false, access: { has: obj => "scrimClickAction" in obj, get: obj => obj.scrimClickAction, set: (obj, value) => { obj.scrimClickAction = value; } }, metadata: _metadata }, _scrimClickAction_initializers, _scrimClickAction_extraInitializers);
47
- tslib_1.__esDecorate(null, null, _escapeKeyAction_decorators, { kind: "field", name: "escapeKeyAction", static: false, private: false, access: { has: obj => "escapeKeyAction" in obj, get: obj => obj.escapeKeyAction, set: (obj, value) => { obj.escapeKeyAction = value; } }, metadata: _metadata }, _escapeKeyAction_initializers, _escapeKeyAction_extraInitializers);
48
- tslib_1.__esDecorate(null, null, _fullscreen_decorators, { kind: "field", name: "fullscreen", static: false, private: false, access: { has: obj => "fullscreen" in obj, get: obj => obj.fullscreen, set: (obj, value) => { obj.fullscreen = value; } }, metadata: _metadata }, _fullscreen_initializers, _fullscreen_extraInitializers);
49
- tslib_1.__esDecorate(null, null, _sheet_decorators, { kind: "field", name: "sheet", static: false, private: false, access: { has: obj => "sheet" in obj, get: obj => obj.sheet, set: (obj, value) => { obj.sheet = value; } }, metadata: _metadata }, _sheet_initializers, _sheet_extraInitializers);
50
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
39
+ _scrimClickAction_decorators = [bindable()];
40
+ _escapeKeyAction_decorators = [bindable()];
41
+ _fullscreen_decorators = [bindable({ set: booleanAttr })];
42
+ _sheet_decorators = [bindable({ set: booleanAttr })];
43
+ __esDecorate(null, null, _scrimClickAction_decorators, { kind: "field", name: "scrimClickAction", static: false, private: false, access: { has: obj => "scrimClickAction" in obj, get: obj => obj.scrimClickAction, set: (obj, value) => { obj.scrimClickAction = value; } }, metadata: _metadata }, _scrimClickAction_initializers, _scrimClickAction_extraInitializers);
44
+ __esDecorate(null, null, _escapeKeyAction_decorators, { kind: "field", name: "escapeKeyAction", static: false, private: false, access: { has: obj => "escapeKeyAction" in obj, get: obj => obj.escapeKeyAction, set: (obj, value) => { obj.escapeKeyAction = value; } }, metadata: _metadata }, _escapeKeyAction_initializers, _escapeKeyAction_extraInitializers);
45
+ __esDecorate(null, null, _fullscreen_decorators, { kind: "field", name: "fullscreen", static: false, private: false, access: { has: obj => "fullscreen" in obj, get: obj => obj.fullscreen, set: (obj, value) => { obj.fullscreen = value; } }, metadata: _metadata }, _fullscreen_initializers, _fullscreen_extraInitializers);
46
+ __esDecorate(null, null, _sheet_decorators, { kind: "field", name: "sheet", static: false, private: false, access: { has: obj => "sheet" in obj, get: obj => obj.sheet, set: (obj, value) => { obj.sheet = value; } }, metadata: _metadata }, _sheet_initializers, _sheet_extraInitializers);
47
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
51
48
  MdcDialog = _classThis = _classDescriptor.value;
52
49
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
53
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
50
+ __runInitializers(_classThis, _classExtraInitializers);
54
51
  }
55
52
  id = ++dialogId;
56
53
  contentId = `mdc-dialog-content-${this.id}`;
@@ -58,25 +55,25 @@ let MdcDialog = (() => {
58
55
  buttons; // assigned in initialize()
59
56
  mdcFocusTrap;
60
57
  /** Action returned when the dialog is closed via the scrim click */
61
- scrimClickAction = tslib_1.__runInitializers(this, _scrimClickAction_initializers, void 0);
58
+ scrimClickAction = __runInitializers(this, _scrimClickAction_initializers, void 0);
62
59
  scrimClickActionChanged() {
63
60
  this.foundation?.setScrimClickAction(this.scrimClickAction);
64
61
  }
65
62
  /** Action returned when the dialog is closed via the ESC key */
66
- escapeKeyAction = (tslib_1.__runInitializers(this, _scrimClickAction_extraInitializers), tslib_1.__runInitializers(this, _escapeKeyAction_initializers, void 0));
63
+ escapeKeyAction = (__runInitializers(this, _scrimClickAction_extraInitializers), __runInitializers(this, _escapeKeyAction_initializers, void 0));
67
64
  escapeKeyActionChanged() {
68
65
  this.foundation?.setEscapeKeyAction(this.escapeKeyAction);
69
66
  }
70
- fullscreen = (tslib_1.__runInitializers(this, _escapeKeyAction_extraInitializers), tslib_1.__runInitializers(this, _fullscreen_initializers, void 0));
71
- sheet = (tslib_1.__runInitializers(this, _fullscreen_extraInitializers), tslib_1.__runInitializers(this, _sheet_initializers, void 0));
67
+ fullscreen = (__runInitializers(this, _escapeKeyAction_extraInitializers), __runInitializers(this, _fullscreen_initializers, void 0));
68
+ sheet = (__runInitializers(this, _fullscreen_extraInitializers), __runInitializers(this, _sheet_initializers, void 0));
72
69
  get defaultButton() {
73
- return this.root.querySelector(`[${dialog_1.strings.BUTTON_DEFAULT_ATTRIBUTE}]`);
70
+ return this.root.querySelector(`[${strings.BUTTON_DEFAULT_ATTRIBUTE}]`);
74
71
  }
75
72
  get content() {
76
- return this.root.querySelector(`${dialog_1.strings.CONTENT_SELECTOR}`);
73
+ return this.root.querySelector(`${strings.CONTENT_SELECTOR}`);
77
74
  }
78
75
  beforeFoundationCreated() {
79
- this.buttons = [].slice.call(this.root.querySelectorAll(dialog_1.strings.BUTTON_SELECTOR));
76
+ this.buttons = [].slice.call(this.root.querySelectorAll(strings.BUTTON_SELECTOR));
80
77
  const content = this.root.querySelector('mdc-dialog-content');
81
78
  content?.setAttribute('id', this.contentId);
82
79
  const title = this.root.querySelector('mdc-dialog-title');
@@ -138,27 +135,27 @@ let MdcDialog = (() => {
138
135
  const adapter = {
139
136
  addBodyClass: (className) => document.body.classList.add(className),
140
137
  addClass: (className) => this.root.classList.add(className),
141
- areButtonsStacked: () => dialog_1.util.areTopsMisaligned(this.buttons),
138
+ areButtonsStacked: () => util.areTopsMisaligned(this.buttons),
142
139
  clickDefaultButton: () => {
143
140
  if (this.defaultButton) {
144
141
  this.defaultButton.click();
145
142
  }
146
143
  },
147
- eventTargetMatches: (target, selector) => target ? (0, ponyfill_1.matches)(target, selector) : false,
144
+ eventTargetMatches: (target, selector) => target ? matches(target, selector) : false,
148
145
  getActionFromEvent: (evt) => {
149
146
  if (!evt.target) {
150
147
  return '';
151
148
  }
152
- const element = (0, ponyfill_1.closest)(evt.target, `[${dialog_1.strings.ACTION_ATTRIBUTE}]`);
153
- return element?.getAttribute(dialog_1.strings.ACTION_ATTRIBUTE) ?? null;
149
+ const element = closest(evt.target, `[${strings.ACTION_ATTRIBUTE}]`);
150
+ return element?.getAttribute(strings.ACTION_ATTRIBUTE) ?? null;
154
151
  },
155
152
  getInitialFocusEl: () => this.getInitialFocusEl(),
156
153
  hasClass: (className) => this.root.classList.contains(className),
157
- isContentScrollable: () => dialog_1.util.isScrollable(this.content),
158
- notifyClosed: (action) => this.emit(dialog_1.strings.CLOSED_EVENT, action ? { action } : {}),
159
- notifyClosing: (action) => this.emit(dialog_1.strings.CLOSING_EVENT, action ? { action } : {}),
160
- notifyOpened: () => this.emit(dialog_1.strings.OPENED_EVENT, {}),
161
- notifyOpening: () => this.emit(dialog_1.strings.OPENING_EVENT, {}),
154
+ isContentScrollable: () => util.isScrollable(this.content),
155
+ notifyClosed: (action) => this.emit(strings.CLOSED_EVENT, action ? { action } : {}),
156
+ notifyClosing: (action) => this.emit(strings.CLOSING_EVENT, action ? { action } : {}),
157
+ notifyOpened: () => this.emit(strings.OPENED_EVENT, {}),
158
+ notifyOpening: () => this.emit(strings.OPENING_EVENT, {}),
162
159
  releaseFocus: () => {
163
160
  this.mdcFocusTrap?.releaseFocus();
164
161
  },
@@ -184,10 +181,10 @@ let MdcDialog = (() => {
184
181
  }
185
182
  },
186
183
  isScrollableContentAtTop: () => {
187
- return dialog_1.util.isScrollAtTop(this.content);
184
+ return util.isScrollAtTop(this.content);
188
185
  },
189
186
  isScrollableContentAtBottom: () => {
190
- return dialog_1.util.isScrollAtBottom(this.content);
187
+ return util.isScrollAtBottom(this.content);
191
188
  },
192
189
  registerWindowEventHandler: (evt, handler) => {
193
190
  window.addEventListener(evt, handler);
@@ -196,17 +193,17 @@ let MdcDialog = (() => {
196
193
  window.removeEventListener(evt, handler);
197
194
  },
198
195
  };
199
- return new dialog_1.MDCDialogFoundation(adapter);
196
+ return new MDCDialogFoundation(adapter);
200
197
  }
201
- getInitialFocusEl = (tslib_1.__runInitializers(this, _sheet_extraInitializers), () => {
202
- return this.root.querySelector(`[${dialog_1.strings.INITIAL_FOCUS_ATTRIBUTE}] input, [${dialog_1.strings.INITIAL_FOCUS_ATTRIBUTE}] .mdc-select__anchor, button[${dialog_1.strings.INITIAL_FOCUS_ATTRIBUTE}], .mdc-button[${dialog_1.strings.INITIAL_FOCUS_ATTRIBUTE}]`);
198
+ getInitialFocusEl = (__runInitializers(this, _sheet_extraInitializers), () => {
199
+ return this.root.querySelector(`[${strings.INITIAL_FOCUS_ATTRIBUTE}] input, [${strings.INITIAL_FOCUS_ATTRIBUTE}] .mdc-select__anchor, button[${strings.INITIAL_FOCUS_ATTRIBUTE}], .mdc-button[${strings.INITIAL_FOCUS_ATTRIBUTE}]`);
203
200
  });
204
201
  };
205
202
  return MdcDialog = _classThis;
206
203
  })();
207
- exports.MdcDialog = MdcDialog;
204
+ export { MdcDialog };
208
205
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
209
- focus_trap_1.FocusTrap.prototype.getFocusableElements = function (root) {
206
+ FocusTrap.prototype.getFocusableElements = function (root) {
210
207
  const focusableEls = [].slice.call(root.querySelectorAll('[autofocus], [tabindex], a, input, textarea, select, button, .mdc-select__anchor'));
211
208
  return focusableEls.filter((el) => {
212
209
  const isDisabledOrHidden = el.getAttribute('aria-disabled') === 'true' ||
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-dialog.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog.ts"],"names":[],"mappings":";;;;AAAA,kCAAkE;AAClE,6CAAmH;AACnH,qCAA0D;AAC1D,qDAA0D;AAC1D,wFAA6C;AAC7C,yDAAqD;AAErD,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AACtD,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB,gBAAO,CAAC,aAAa,GAAG,gBAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAC5D,gBAAO,CAAC,aAAa,GAAG,gBAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAC5D,gBAAO,CAAC,YAAY,GAAG,gBAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAC1D,gBAAO,CAAC,YAAY,GAAG,gBAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAE1D;;GAEG;IAGU,SAAS;4BAFrB,IAAA,gBAAM,EAAC,OAAO,CAAC,EACf,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAR,6BAAQ,EAAE,CAAC;;;;sBACjB,mBAAY;;;;;;;;;;;;;yBAApB,SAAQ,WAAiC;;;;4CAS7D,IAAA,kBAAQ,GAAE;2CAOV,IAAA,kBAAQ,GAAE;sCAMV,IAAA,kBAAQ,EAAC,EAAE,GAAG,EAAE,kBAAW,EAAE,CAAC;iCAG9B,IAAA,kBAAQ,EAAC,EAAE,GAAG,EAAE,kBAAW,EAAE,CAAC;YAf/B,0MAAA,gBAAgB,6BAAhB,gBAAgB,2GAAS;YAOzB,uMAAA,eAAe,6BAAf,eAAe,yGAAS;YAMxB,wLAAA,UAAU,6BAAV,UAAU,+FAAU;YAGpB,yKAAA,KAAK,6BAAL,KAAK,qFAAU;YA1BjB,qLAyKC;;;YAzKY,+DAAS;;QAEpB,EAAE,GAAG,EAAE,QAAQ,CAAC;QAChB,SAAS,GAAG,sBAAsB,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5C,OAAO,GAAG,oBAAoB,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,OAAO,CAAiB,CAAC,2BAA2B;QAC5D,YAAY,CAAe;QAE3B,oEAAoE;QAEpE,gBAAgB,2EAAS;QACzB,uBAAuB;YACrB,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,CAAC;QAED,gEAAgE;QAEhE,eAAe,kJAAS;QACxB,sBAAsB;YACpB,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,CAAC;QAGD,UAAU,4IAAU;QAGpB,KAAK,kIAAU;QAEf,IAAI,aAAa;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAc,IAAI,gBAAO,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,OAAO;YACT,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAc,GAAG,gBAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,uBAAuB;YACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,gBAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC9D,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAC1D,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;QAED,YAAY,CAAC,GAAe;YAC1B,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,cAAc,CAAC,GAAkB;YAC/B,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,WAAW,CAAC,GAAU;YACpB,QAAQ,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC1B,KAAK,MAAM;oBACT,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,KAAK,QAAQ,CAAC;wBACd,KAAK,mBAAmB;4BAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;4BAAC,MAAM;oBAC7D,CAAC;oBACD,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,KAAK,SAAS;4BAAE,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,GAAoB,CAAC,CAAC;4BAAC,MAAM;oBACtF,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QAED,cAAc;YACZ,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3E,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,cAAc;YACZ,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9E,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,uBAAuB;QACvB,IAAI;YACF,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,MAAM,GAAG,EAAE;YACf,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAAqB;gBAChC,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBACnE,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC3D,iBAAiB,EAAE,GAAG,EAAE,CAAC,aAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7D,kBAAkB,EAAE,GAAG,EAAE;oBACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBACD,kBAAkB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CACvC,MAAM,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,MAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;gBACvD,kBAAkB,EAAE,CAAC,GAAU,EAAE,EAAE;oBACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;wBAChB,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,MAAM,OAAO,GAAG,IAAA,kBAAO,EAAC,GAAG,CAAC,MAAiB,EAAE,IAAI,gBAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;oBAChF,OAAO,OAAO,EAAE,YAAY,CAAC,gBAAO,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;gBACjE,CAAC;gBACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACjD,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChE,mBAAmB,EAAE,GAAG,EAAE,CAAC,aAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC1D,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAA4B,gBAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9G,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAA4B,gBAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChH,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAO,CAAC,YAAY,EAAE,EAAE,CAAC;gBACvD,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzD,YAAY,EAAE,GAAG,EAAE;oBACjB,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;gBACpC,CAAC;gBACD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBACzE,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBACjE,cAAc,EAAE,GAAG,EAAE;oBACnB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC9B,MAAM,CAAC,aAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS,EAAE,GAAG,EAAE;oBACd,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;gBACjC,CAAC;gBACD,2BAA2B,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;oBAC5C,IAAI,IAAI,CAAC,OAAO,YAAY,WAAW,EAAE,CAAC;wBACxC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBACD,6BAA6B,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;oBAC9C,IAAI,IAAI,CAAC,OAAO,YAAY,WAAW,EAAE,CAAC;wBACxC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBACD,wBAAwB,EAAE,GAAG,EAAE;oBAC7B,OAAO,aAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBACD,2BAA2B,EAAE,GAAG,EAAE;oBAChC,OAAO,aAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7C,CAAC;gBACD,0BAA0B,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;oBAC3C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACxC,CAAC;gBACD,4BAA4B,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;oBAC7C,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC;aACF,CAAC;YACF,OAAO,IAAI,4BAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,iBAAiB,+DAAG,GAAuB,EAAE;YAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,gBAAO,CAAC,uBAAuB,aAAa,gBAAO,CAAC,uBAAuB,iCAAiC,gBAAO,CAAC,uBAAuB,kBAAkB,gBAAO,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACtO,CAAC,EAAC;;;;AAxKS,8BAAS;AAoLtB,8DAA8D;AAC7D,sBAAS,CAAC,SAAiB,CAAC,oBAAoB,GAAG,UAAU,IAAiB;IAC7E,MAAM,YAAY,GAChB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CACjC,kFAAkF,CAAC,CACxE,CAAC;IAChB,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAChC,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;YACpE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI;YACpC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI;YAClC,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;QAC5C,MAAM,oBAAoB,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAC5F,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC;YACpC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAE1E,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACnC,wBAAwB;gBACtB,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;QAC9D,CAAC;QACD,OAAO,oBAAoB,IAAI,CAAC,wBAAwB,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { MdcComponent, booleanAttr, MdcFocusTrap } from '../base';\r\nimport { MDCDialogFoundation, strings, MDCDialogAdapter, util, MDCDialogCloseEventDetail } from '@material/dialog';\r\nimport { customElement, inject, bindable } from 'aurelia';\r\nimport { closest, matches } from '@material/dom/ponyfill';\r\nimport template from './mdc-dialog.html?raw';\r\nimport { FocusTrap } from '@material/dom/focus-trap';\r\n\r\nconst LAYOUT_EVENTS = ['resize', 'orientationchange'];\r\nlet dialogId = 0;\r\n\r\nstrings.OPENING_EVENT = strings.OPENING_EVENT.toLowerCase();\r\nstrings.CLOSING_EVENT = strings.CLOSING_EVENT.toLowerCase();\r\nstrings.OPENED_EVENT = strings.OPENED_EVENT.toLowerCase();\r\nstrings.CLOSED_EVENT = strings.CLOSED_EVENT.toLowerCase();\r\n\r\n/**\r\n * @selector mdc-dialog\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-dialog', template })\r\nexport class MdcDialog extends MdcComponent<MDCDialogFoundation> implements EventListenerObject {\r\n\r\n id = ++dialogId;\r\n contentId = `mdc-dialog-content-${this.id}`;\r\n titleId = `mdc-dialog-title-${this.id}`;\r\n private buttons!: HTMLElement[]; // assigned in initialize()\r\n mdcFocusTrap: MdcFocusTrap;\r\n\r\n /** Action returned when the dialog is closed via the scrim click */\r\n @bindable()\r\n scrimClickAction: string;\r\n scrimClickActionChanged() {\r\n this.foundation?.setScrimClickAction(this.scrimClickAction);\r\n }\r\n\r\n /** Action returned when the dialog is closed via the ESC key */\r\n @bindable()\r\n escapeKeyAction: string;\r\n escapeKeyActionChanged() {\r\n this.foundation?.setEscapeKeyAction(this.escapeKeyAction);\r\n }\r\n\r\n @bindable({ set: booleanAttr })\r\n fullscreen: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n sheet: boolean;\r\n\r\n get defaultButton(): HTMLElement | null {\r\n return this.root.querySelector<HTMLElement>(`[${strings.BUTTON_DEFAULT_ATTRIBUTE}]`);\r\n }\r\n\r\n get content(): HTMLElement | null {\r\n return this.root.querySelector<HTMLElement>(`${strings.CONTENT_SELECTOR}`);\r\n }\r\n\r\n beforeFoundationCreated() {\r\n this.buttons = [].slice.call(this.root.querySelectorAll<HTMLElement>(strings.BUTTON_SELECTOR));\r\n const content = this.root.querySelector('mdc-dialog-content');\r\n content?.setAttribute('id', this.contentId);\r\n const title = this.root.querySelector('mdc-dialog-title');\r\n title?.setAttribute('id', this.titleId);\r\n }\r\n\r\n destroy() {\r\n this.handleClosing_();\r\n super.destroy();\r\n }\r\n\r\n handleClick_(evt: MouseEvent) {\r\n this.foundation?.handleClick(evt);\r\n return true;\r\n }\r\n\r\n handleKeydown_(evt: KeyboardEvent) {\r\n this.foundation?.handleKeydown(evt);\r\n return true;\r\n }\r\n\r\n handleEvent(evt: Event): void {\r\n switch (evt.currentTarget) {\r\n case window:\r\n switch (evt.type) {\r\n case 'resize':\r\n case 'orientationchange': this.foundation?.layout(); break;\r\n }\r\n break;\r\n case document:\r\n switch (evt.type) {\r\n case 'keydown': this.foundation?.handleDocumentKeydown(evt as KeyboardEvent); break;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n handleOpening_() {\r\n LAYOUT_EVENTS.forEach((evtType) => window.addEventListener(evtType, this));\r\n document.addEventListener('keydown', this);\r\n }\r\n\r\n handleClosing_() {\r\n LAYOUT_EVENTS.forEach((evtType) => window.removeEventListener(evtType, this));\r\n document.removeEventListener('keydown', this);\r\n }\r\n\r\n /** Opens the dialog */\r\n open() {\r\n this.foundation?.open();\r\n }\r\n\r\n /**\r\n * Closes the dialog\r\n * @param action Action to close the dialog with\r\n */\r\n close(action = '') {\r\n this.foundation?.close(action);\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: MDCDialogAdapter = {\r\n addBodyClass: (className) => document.body.classList.add(className),\r\n addClass: (className) => this.root.classList.add(className),\r\n areButtonsStacked: () => util.areTopsMisaligned(this.buttons),\r\n clickDefaultButton: () => {\r\n if (this.defaultButton) {\r\n this.defaultButton.click();\r\n }\r\n },\r\n eventTargetMatches: (target, selector) =>\r\n target ? matches(target as Element, selector) : false,\r\n getActionFromEvent: (evt: Event) => {\r\n if (!evt.target) {\r\n return '';\r\n }\r\n const element = closest(evt.target as Element, `[${strings.ACTION_ATTRIBUTE}]`);\r\n return element?.getAttribute(strings.ACTION_ATTRIBUTE) ?? null;\r\n },\r\n getInitialFocusEl: () => this.getInitialFocusEl(),\r\n hasClass: (className) => this.root.classList.contains(className),\r\n isContentScrollable: () => util.isScrollable(this.content),\r\n notifyClosed: (action) => this.emit<MDCDialogCloseEventDetail>(strings.CLOSED_EVENT, action ? { action } : {}),\r\n notifyClosing: (action) => this.emit<MDCDialogCloseEventDetail>(strings.CLOSING_EVENT, action ? { action } : {}),\r\n notifyOpened: () => this.emit(strings.OPENED_EVENT, {}),\r\n notifyOpening: () => this.emit(strings.OPENING_EVENT, {}),\r\n releaseFocus: () => {\r\n this.mdcFocusTrap?.releaseFocus();\r\n },\r\n removeBodyClass: (className) => document.body.classList.remove(className),\r\n removeClass: (className) => this.root.classList.remove(className),\r\n reverseButtons: () => {\r\n this.buttons.reverse();\r\n this.buttons.forEach((button) => {\r\n button.parentElement!.appendChild(button);\r\n });\r\n },\r\n trapFocus: () => {\r\n this.mdcFocusTrap?.trapFocus();\r\n },\r\n registerContentEventHandler: (evt, handler) => {\r\n if (this.content instanceof HTMLElement) {\r\n this.content.addEventListener(evt, handler);\r\n }\r\n },\r\n deregisterContentEventHandler: (evt, handler) => {\r\n if (this.content instanceof HTMLElement) {\r\n this.content.removeEventListener(evt, handler);\r\n }\r\n },\r\n isScrollableContentAtTop: () => {\r\n return util.isScrollAtTop(this.content);\r\n },\r\n isScrollableContentAtBottom: () => {\r\n return util.isScrollAtBottom(this.content);\r\n },\r\n registerWindowEventHandler: (evt, handler) => {\r\n window.addEventListener(evt, handler);\r\n },\r\n deregisterWindowEventHandler: (evt, handler) => {\r\n window.removeEventListener(evt, handler);\r\n },\r\n };\r\n return new MDCDialogFoundation(adapter);\r\n }\r\n\r\n getInitialFocusEl = (): HTMLElement | null => {\r\n return this.root.querySelector(`[${strings.INITIAL_FOCUS_ATTRIBUTE}] input, [${strings.INITIAL_FOCUS_ATTRIBUTE}] .mdc-select__anchor, button[${strings.INITIAL_FOCUS_ATTRIBUTE}], .mdc-button[${strings.INITIAL_FOCUS_ATTRIBUTE}]`);\r\n };\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcDialogElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcDialog;\r\n };\r\n };\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n(FocusTrap.prototype as any).getFocusableElements = function (root: HTMLElement): HTMLElement[] {\r\n const focusableEls =\r\n [].slice.call(root.querySelectorAll(\r\n '[autofocus], [tabindex], a, input, textarea, select, button, .mdc-select__anchor')) as\r\n HTMLElement[];\r\n return focusableEls.filter((el) => {\r\n const isDisabledOrHidden = el.getAttribute('aria-disabled') === 'true' ||\r\n el.getAttribute('disabled') !== null ||\r\n el.getAttribute('hidden') !== null ||\r\n el.getAttribute('aria-hidden') === 'true';\r\n const isTabbableAndVisible = (el.tabIndex >= 0 || el.classList.contains('mdc-select__anchor')) &&\r\n el.getBoundingClientRect().width > 0 &&\r\n !el.classList.contains('mdc-dom-focus-sentinel') && !isDisabledOrHidden;\r\n\r\n let isProgrammaticallyHidden = false;\r\n if (isTabbableAndVisible) {\r\n const style = getComputedStyle(el);\r\n isProgrammaticallyHidden =\r\n style.display === 'none' || style.visibility === 'hidden';\r\n }\r\n return isTabbableAndVisible && !isProgrammaticallyHidden;\r\n });\r\n};\r\n"]}
1
+ {"version":3,"file":"mdc-dialog.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcComponent, booleanAttr, MdcFocusTrap } from '../base';\r\nimport { MDCDialogFoundation, strings, MDCDialogAdapter, util, MDCDialogCloseEventDetail } from '@material/dialog';\r\nimport { customElement, inject, bindable } from 'aurelia';\r\nimport { closest, matches } from '@material/dom/ponyfill';\r\nimport template from './mdc-dialog.html?raw';\r\nimport { FocusTrap } from '@material/dom/focus-trap';\r\n\r\nconst LAYOUT_EVENTS = ['resize', 'orientationchange'];\r\nlet dialogId = 0;\r\n\r\nstrings.OPENING_EVENT = strings.OPENING_EVENT.toLowerCase();\r\nstrings.CLOSING_EVENT = strings.CLOSING_EVENT.toLowerCase();\r\nstrings.OPENED_EVENT = strings.OPENED_EVENT.toLowerCase();\r\nstrings.CLOSED_EVENT = strings.CLOSED_EVENT.toLowerCase();\r\n\r\n/**\r\n * @selector mdc-dialog\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-dialog', template })\r\nexport class MdcDialog extends MdcComponent<MDCDialogFoundation> implements EventListenerObject {\r\n\r\n id = ++dialogId;\r\n contentId = `mdc-dialog-content-${this.id}`;\r\n titleId = `mdc-dialog-title-${this.id}`;\r\n private buttons!: HTMLElement[]; // assigned in initialize()\r\n mdcFocusTrap: MdcFocusTrap;\r\n\r\n /** Action returned when the dialog is closed via the scrim click */\r\n @bindable()\r\n scrimClickAction: string;\r\n scrimClickActionChanged() {\r\n this.foundation?.setScrimClickAction(this.scrimClickAction);\r\n }\r\n\r\n /** Action returned when the dialog is closed via the ESC key */\r\n @bindable()\r\n escapeKeyAction: string;\r\n escapeKeyActionChanged() {\r\n this.foundation?.setEscapeKeyAction(this.escapeKeyAction);\r\n }\r\n\r\n @bindable({ set: booleanAttr })\r\n fullscreen: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n sheet: boolean;\r\n\r\n get defaultButton(): HTMLElement | null {\r\n return this.root.querySelector<HTMLElement>(`[${strings.BUTTON_DEFAULT_ATTRIBUTE}]`);\r\n }\r\n\r\n get content(): HTMLElement | null {\r\n return this.root.querySelector<HTMLElement>(`${strings.CONTENT_SELECTOR}`);\r\n }\r\n\r\n beforeFoundationCreated() {\r\n this.buttons = [].slice.call(this.root.querySelectorAll<HTMLElement>(strings.BUTTON_SELECTOR));\r\n const content = this.root.querySelector('mdc-dialog-content');\r\n content?.setAttribute('id', this.contentId);\r\n const title = this.root.querySelector('mdc-dialog-title');\r\n title?.setAttribute('id', this.titleId);\r\n }\r\n\r\n destroy() {\r\n this.handleClosing_();\r\n super.destroy();\r\n }\r\n\r\n handleClick_(evt: MouseEvent) {\r\n this.foundation?.handleClick(evt);\r\n return true;\r\n }\r\n\r\n handleKeydown_(evt: KeyboardEvent) {\r\n this.foundation?.handleKeydown(evt);\r\n return true;\r\n }\r\n\r\n handleEvent(evt: Event): void {\r\n switch (evt.currentTarget) {\r\n case window:\r\n switch (evt.type) {\r\n case 'resize':\r\n case 'orientationchange': this.foundation?.layout(); break;\r\n }\r\n break;\r\n case document:\r\n switch (evt.type) {\r\n case 'keydown': this.foundation?.handleDocumentKeydown(evt as KeyboardEvent); break;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n handleOpening_() {\r\n LAYOUT_EVENTS.forEach((evtType) => window.addEventListener(evtType, this));\r\n document.addEventListener('keydown', this);\r\n }\r\n\r\n handleClosing_() {\r\n LAYOUT_EVENTS.forEach((evtType) => window.removeEventListener(evtType, this));\r\n document.removeEventListener('keydown', this);\r\n }\r\n\r\n /** Opens the dialog */\r\n open() {\r\n this.foundation?.open();\r\n }\r\n\r\n /**\r\n * Closes the dialog\r\n * @param action Action to close the dialog with\r\n */\r\n close(action = '') {\r\n this.foundation?.close(action);\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: MDCDialogAdapter = {\r\n addBodyClass: (className) => document.body.classList.add(className),\r\n addClass: (className) => this.root.classList.add(className),\r\n areButtonsStacked: () => util.areTopsMisaligned(this.buttons),\r\n clickDefaultButton: () => {\r\n if (this.defaultButton) {\r\n this.defaultButton.click();\r\n }\r\n },\r\n eventTargetMatches: (target, selector) =>\r\n target ? matches(target as Element, selector) : false,\r\n getActionFromEvent: (evt: Event) => {\r\n if (!evt.target) {\r\n return '';\r\n }\r\n const element = closest(evt.target as Element, `[${strings.ACTION_ATTRIBUTE}]`);\r\n return element?.getAttribute(strings.ACTION_ATTRIBUTE) ?? null;\r\n },\r\n getInitialFocusEl: () => this.getInitialFocusEl(),\r\n hasClass: (className) => this.root.classList.contains(className),\r\n isContentScrollable: () => util.isScrollable(this.content),\r\n notifyClosed: (action) => this.emit<MDCDialogCloseEventDetail>(strings.CLOSED_EVENT, action ? { action } : {}),\r\n notifyClosing: (action) => this.emit<MDCDialogCloseEventDetail>(strings.CLOSING_EVENT, action ? { action } : {}),\r\n notifyOpened: () => this.emit(strings.OPENED_EVENT, {}),\r\n notifyOpening: () => this.emit(strings.OPENING_EVENT, {}),\r\n releaseFocus: () => {\r\n this.mdcFocusTrap?.releaseFocus();\r\n },\r\n removeBodyClass: (className) => document.body.classList.remove(className),\r\n removeClass: (className) => this.root.classList.remove(className),\r\n reverseButtons: () => {\r\n this.buttons.reverse();\r\n this.buttons.forEach((button) => {\r\n button.parentElement!.appendChild(button);\r\n });\r\n },\r\n trapFocus: () => {\r\n this.mdcFocusTrap?.trapFocus();\r\n },\r\n registerContentEventHandler: (evt, handler) => {\r\n if (this.content instanceof HTMLElement) {\r\n this.content.addEventListener(evt, handler);\r\n }\r\n },\r\n deregisterContentEventHandler: (evt, handler) => {\r\n if (this.content instanceof HTMLElement) {\r\n this.content.removeEventListener(evt, handler);\r\n }\r\n },\r\n isScrollableContentAtTop: () => {\r\n return util.isScrollAtTop(this.content);\r\n },\r\n isScrollableContentAtBottom: () => {\r\n return util.isScrollAtBottom(this.content);\r\n },\r\n registerWindowEventHandler: (evt, handler) => {\r\n window.addEventListener(evt, handler);\r\n },\r\n deregisterWindowEventHandler: (evt, handler) => {\r\n window.removeEventListener(evt, handler);\r\n },\r\n };\r\n return new MDCDialogFoundation(adapter);\r\n }\r\n\r\n getInitialFocusEl = (): HTMLElement | null => {\r\n return this.root.querySelector(`[${strings.INITIAL_FOCUS_ATTRIBUTE}] input, [${strings.INITIAL_FOCUS_ATTRIBUTE}] .mdc-select__anchor, button[${strings.INITIAL_FOCUS_ATTRIBUTE}], .mdc-button[${strings.INITIAL_FOCUS_ATTRIBUTE}]`);\r\n };\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcDialogElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcDialog;\r\n };\r\n };\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n(FocusTrap.prototype as any).getFocusableElements = function (root: HTMLElement): HTMLElement[] {\r\n const focusableEls =\r\n [].slice.call(root.querySelectorAll(\r\n '[autofocus], [tabindex], a, input, textarea, select, button, .mdc-select__anchor')) as\r\n HTMLElement[];\r\n return focusableEls.filter((el) => {\r\n const isDisabledOrHidden = el.getAttribute('aria-disabled') === 'true' ||\r\n el.getAttribute('disabled') !== null ||\r\n el.getAttribute('hidden') !== null ||\r\n el.getAttribute('aria-hidden') === 'true';\r\n const isTabbableAndVisible = (el.tabIndex >= 0 || el.classList.contains('mdc-select__anchor')) &&\r\n el.getBoundingClientRect().width > 0 &&\r\n !el.classList.contains('mdc-dom-focus-sentinel') && !isDisabledOrHidden;\r\n\r\n let isProgrammaticallyHidden = false;\r\n if (isTabbableAndVisible) {\r\n const style = getComputedStyle(el);\r\n isProgrammaticallyHidden =\r\n style.display === 'none' || style.visibility === 'hidden';\r\n }\r\n return isTabbableAndVisible && !isProgrammaticallyHidden;\r\n });\r\n};\r\n"]}
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MdcDrawerAppContent = void 0;
4
- const tslib_1 = require("tslib");
5
- const aurelia_1 = require("aurelia");
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { customElement } from 'aurelia';
6
3
  /**
7
4
  * Mandatory for dismissible variant only. Sibling element that is resized when the drawer opens/closes.
8
5
  * @selector mdc-drawer-app-content
9
6
  */
10
7
  let MdcDrawerAppContent = (() => {
11
- let _classDecorators = [(0, aurelia_1.customElement)({
8
+ let _classDecorators = [customElement({
12
9
  name: 'mdc-drawer-app-content',
13
10
  template: '<template class="mdc-drawer-app-content"><au-slot></au-slot></template>'
14
11
  })];
@@ -19,13 +16,13 @@ let MdcDrawerAppContent = (() => {
19
16
  static { _classThis = this; }
20
17
  static {
21
18
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
22
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
19
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
23
20
  MdcDrawerAppContent = _classThis = _classDescriptor.value;
24
21
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
25
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
22
+ __runInitializers(_classThis, _classExtraInitializers);
26
23
  }
27
24
  };
28
25
  return MdcDrawerAppContent = _classThis;
29
26
  })();
30
- exports.MdcDrawerAppContent = MdcDrawerAppContent;
27
+ export { MdcDrawerAppContent };
31
28
  //# sourceMappingURL=mdc-drawer-app-content.js.map