@angular/material 19.0.0-next.1 → 19.0.0-next.3

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 (642) hide show
  1. package/_index.scss +3 -4
  2. package/button/_button-base.scss +2 -2
  3. package/button/index.d.ts +2 -10
  4. package/checkbox/_checkbox-common.scss +4 -4
  5. package/checkbox/index.d.ts +0 -7
  6. package/chips/index.d.ts +1 -10
  7. package/core/_core.scss +1 -7
  8. package/core/focus-indicators/_private.scss +21 -82
  9. package/core/index.d.ts +10 -167
  10. package/core/ripple/_ripple.scss +1 -1
  11. package/core/style/_elevation.scss +1 -1
  12. package/core/style/_menu-common.scss +1 -1
  13. package/core/style/_sass-utils.scss +4 -0
  14. package/core/theming/_palettes.scss +132 -45
  15. package/core/tokens/_m3-system.scss +93 -20
  16. package/core/tokens/m3/definitions/_md-sys-color.scss +6 -6
  17. package/core/tokens/m3/mat/_sidenav.scss +0 -1
  18. package/fesm2022/autocomplete.mjs +14 -14
  19. package/fesm2022/autocomplete.mjs.map +1 -1
  20. package/fesm2022/badge.mjs +11 -11
  21. package/fesm2022/badge.mjs.map +1 -1
  22. package/fesm2022/bottom-sheet.mjs +11 -11
  23. package/fesm2022/bottom-sheet.mjs.map +1 -1
  24. package/fesm2022/button-toggle.mjs +11 -11
  25. package/fesm2022/button-toggle.mjs.map +1 -1
  26. package/fesm2022/button.mjs +42 -53
  27. package/fesm2022/button.mjs.map +1 -1
  28. package/fesm2022/card.mjs +46 -46
  29. package/fesm2022/checkbox.mjs +16 -19
  30. package/fesm2022/checkbox.mjs.map +1 -1
  31. package/fesm2022/chips.mjs +46 -57
  32. package/fesm2022/chips.mjs.map +1 -1
  33. package/fesm2022/core.mjs +122 -256
  34. package/fesm2022/core.mjs.map +1 -1
  35. package/fesm2022/datepicker.mjs +87 -87
  36. package/fesm2022/datepicker.mjs.map +1 -1
  37. package/fesm2022/dialog.mjs +26 -26
  38. package/fesm2022/dialog.mjs.map +1 -1
  39. package/fesm2022/divider.mjs +7 -7
  40. package/fesm2022/expansion.mjs +28 -28
  41. package/fesm2022/expansion.mjs.map +1 -1
  42. package/fesm2022/form-field.mjs +36 -36
  43. package/fesm2022/form-field.mjs.map +1 -1
  44. package/fesm2022/grid-list.mjs +22 -22
  45. package/fesm2022/icon/testing.mjs +7 -7
  46. package/fesm2022/icon.mjs +10 -10
  47. package/fesm2022/input.mjs +7 -7
  48. package/fesm2022/list.mjs +59 -59
  49. package/fesm2022/list.mjs.map +1 -1
  50. package/fesm2022/menu.mjs +18 -18
  51. package/fesm2022/menu.mjs.map +1 -1
  52. package/fesm2022/paginator.mjs +11 -11
  53. package/fesm2022/paginator.mjs.map +1 -1
  54. package/fesm2022/progress-bar.mjs +8 -8
  55. package/fesm2022/progress-bar.mjs.map +1 -1
  56. package/fesm2022/progress-spinner.mjs +8 -8
  57. package/fesm2022/progress-spinner.mjs.map +1 -1
  58. package/fesm2022/radio.mjs +11 -11
  59. package/fesm2022/radio.mjs.map +1 -1
  60. package/fesm2022/select.mjs +12 -12
  61. package/fesm2022/select.mjs.map +1 -1
  62. package/fesm2022/sidenav.mjs +26 -26
  63. package/fesm2022/sidenav.mjs.map +1 -1
  64. package/fesm2022/slide-toggle.mjs +16 -16
  65. package/fesm2022/slide-toggle.mjs.map +1 -1
  66. package/fesm2022/slider.mjs +18 -18
  67. package/fesm2022/slider.mjs.map +1 -1
  68. package/fesm2022/snack-bar.mjs +23 -23
  69. package/fesm2022/snack-bar.mjs.map +1 -1
  70. package/fesm2022/sort.mjs +14 -14
  71. package/fesm2022/sort.mjs.map +1 -1
  72. package/fesm2022/stepper.mjs +33 -33
  73. package/fesm2022/stepper.mjs.map +1 -1
  74. package/fesm2022/table.mjs +57 -57
  75. package/fesm2022/table.mjs.map +1 -1
  76. package/fesm2022/tabs.mjs +48 -48
  77. package/fesm2022/tabs.mjs.map +1 -1
  78. package/fesm2022/toolbar.mjs +11 -11
  79. package/fesm2022/toolbar.mjs.map +1 -1
  80. package/fesm2022/tooltip.mjs +26 -17
  81. package/fesm2022/tooltip.mjs.map +1 -1
  82. package/fesm2022/tree.mjs +25 -25
  83. package/form-field/_form-field-high-contrast.scss +4 -4
  84. package/form-field/_mdc-text-field-structure.scss +2 -2
  85. package/list/_list-inherited-structure.scss +1 -1
  86. package/list/_list-item-hcm-indicator.scss +1 -1
  87. package/package.json +2 -146
  88. package/prebuilt-themes/azure-blue.css +1 -1
  89. package/prebuilt-themes/cyan-orange.css +1 -1
  90. package/prebuilt-themes/deeppurple-amber.css +1 -1
  91. package/prebuilt-themes/indigo-pink.css +1 -1
  92. package/prebuilt-themes/magenta-violet.css +1 -1
  93. package/prebuilt-themes/pink-bluegrey.css +1 -1
  94. package/prebuilt-themes/purple-green.css +1 -1
  95. package/prebuilt-themes/rose-red.css +1 -1
  96. package/schematics/ng-add/index.js +1 -1
  97. package/schematics/ng-add/index.mjs +1 -1
  98. package/schematics/ng-generate/m3-theme/index_bundled.js +2 -2
  99. package/schematics/ng-update/index_bundled.js +27 -27
  100. package/tabs/_tabs-common.scss +2 -2
  101. package/tree/index.d.ts +2 -2
  102. package/core/focus-indicators/_focus-indicators-theme.scss +0 -11
  103. package/core/focus-indicators/_focus-indicators.scss +0 -6
  104. package/esm2022/autocomplete/animations.mjs +0 -24
  105. package/esm2022/autocomplete/autocomplete-origin.mjs +0 -31
  106. package/esm2022/autocomplete/autocomplete-trigger.mjs +0 -902
  107. package/esm2022/autocomplete/autocomplete.mjs +0 -238
  108. package/esm2022/autocomplete/autocomplete_public_index.mjs +0 -5
  109. package/esm2022/autocomplete/index.mjs +0 -9
  110. package/esm2022/autocomplete/module.mjs +0 -61
  111. package/esm2022/autocomplete/public-api.mjs +0 -14
  112. package/esm2022/autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
  113. package/esm2022/autocomplete/testing/autocomplete-harness.mjs +0 -105
  114. package/esm2022/autocomplete/testing/index.mjs +0 -9
  115. package/esm2022/autocomplete/testing/public-api.mjs +0 -10
  116. package/esm2022/badge/badge-module.mjs +0 -27
  117. package/esm2022/badge/badge.mjs +0 -288
  118. package/esm2022/badge/badge_public_index.mjs +0 -5
  119. package/esm2022/badge/index.mjs +0 -9
  120. package/esm2022/badge/public-api.mjs +0 -10
  121. package/esm2022/badge/testing/badge-harness-filters.mjs +0 -9
  122. package/esm2022/badge/testing/badge-harness.mjs +0 -71
  123. package/esm2022/badge/testing/index.mjs +0 -9
  124. package/esm2022/badge/testing/public-api.mjs +0 -10
  125. package/esm2022/bottom-sheet/bottom-sheet-animations.mjs +0 -26
  126. package/esm2022/bottom-sheet/bottom-sheet-config.mjs +0 -48
  127. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +0 -85
  128. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +0 -28
  129. package/esm2022/bottom-sheet/bottom-sheet-ref.mjs +0 -104
  130. package/esm2022/bottom-sheet/bottom-sheet.mjs +0 -115
  131. package/esm2022/bottom-sheet/bottom-sheet_public_index.mjs +0 -5
  132. package/esm2022/bottom-sheet/index.mjs +0 -9
  133. package/esm2022/bottom-sheet/public-api.mjs +0 -14
  134. package/esm2022/bottom-sheet/testing/bottom-sheet-harness-filters.mjs +0 -9
  135. package/esm2022/bottom-sheet/testing/bottom-sheet-harness.mjs +0 -35
  136. package/esm2022/bottom-sheet/testing/index.mjs +0 -9
  137. package/esm2022/bottom-sheet/testing/public-api.mjs +0 -10
  138. package/esm2022/button/button-base.mjs +0 -230
  139. package/esm2022/button/button.mjs +0 -67
  140. package/esm2022/button/button_public_index.mjs +0 -5
  141. package/esm2022/button/fab.mjs +0 -166
  142. package/esm2022/button/icon-button.mjs +0 -56
  143. package/esm2022/button/index.mjs +0 -9
  144. package/esm2022/button/module.mjs +0 -65
  145. package/esm2022/button/public-api.mjs +0 -13
  146. package/esm2022/button/testing/button-harness-filters.mjs +0 -9
  147. package/esm2022/button/testing/button-harness.mjs +0 -80
  148. package/esm2022/button/testing/index.mjs +0 -9
  149. package/esm2022/button/testing/public-api.mjs +0 -10
  150. package/esm2022/button-toggle/button-toggle-module.mjs +0 -24
  151. package/esm2022/button-toggle/button-toggle.mjs +0 -651
  152. package/esm2022/button-toggle/button-toggle_public_index.mjs +0 -5
  153. package/esm2022/button-toggle/index.mjs +0 -9
  154. package/esm2022/button-toggle/public-api.mjs +0 -10
  155. package/esm2022/button-toggle/testing/button-toggle-group-harness-filters.mjs +0 -9
  156. package/esm2022/button-toggle/testing/button-toggle-group-harness.mjs +0 -47
  157. package/esm2022/button-toggle/testing/button-toggle-harness-filters.mjs +0 -9
  158. package/esm2022/button-toggle/testing/button-toggle-harness.mjs +0 -105
  159. package/esm2022/button-toggle/testing/index.mjs +0 -9
  160. package/esm2022/button-toggle/testing/public-api.mjs +0 -12
  161. package/esm2022/card/card.mjs +0 -273
  162. package/esm2022/card/card_public_index.mjs +0 -5
  163. package/esm2022/card/index.mjs +0 -9
  164. package/esm2022/card/module.mjs +0 -67
  165. package/esm2022/card/public-api.mjs +0 -10
  166. package/esm2022/card/testing/card-harness-filters.mjs +0 -9
  167. package/esm2022/card/testing/card-harness.mjs +0 -50
  168. package/esm2022/card/testing/index.mjs +0 -9
  169. package/esm2022/card/testing/public-api.mjs +0 -10
  170. package/esm2022/checkbox/checkbox-config.mjs +0 -22
  171. package/esm2022/checkbox/checkbox-required-validator.mjs +0 -41
  172. package/esm2022/checkbox/checkbox.mjs +0 -443
  173. package/esm2022/checkbox/checkbox_public_index.mjs +0 -5
  174. package/esm2022/checkbox/index.mjs +0 -9
  175. package/esm2022/checkbox/module.mjs +0 -41
  176. package/esm2022/checkbox/public-api.mjs +0 -12
  177. package/esm2022/checkbox/testing/checkbox-harness-filters.mjs +0 -9
  178. package/esm2022/checkbox/testing/checkbox-harness.mjs +0 -138
  179. package/esm2022/checkbox/testing/index.mjs +0 -9
  180. package/esm2022/checkbox/testing/public-api.mjs +0 -9
  181. package/esm2022/chips/chip-action.mjs +0 -113
  182. package/esm2022/chips/chip-edit-input.mjs +0 -61
  183. package/esm2022/chips/chip-grid.mjs +0 -420
  184. package/esm2022/chips/chip-icons.mjs +0 -107
  185. package/esm2022/chips/chip-input.mjs +0 -192
  186. package/esm2022/chips/chip-listbox.mjs +0 -369
  187. package/esm2022/chips/chip-option.mjs +0 -190
  188. package/esm2022/chips/chip-row.mjs +0 -173
  189. package/esm2022/chips/chip-set.mjs +0 -283
  190. package/esm2022/chips/chip-text-control.mjs +0 -9
  191. package/esm2022/chips/chip.mjs +0 -322
  192. package/esm2022/chips/chips_public_index.mjs +0 -5
  193. package/esm2022/chips/index.mjs +0 -9
  194. package/esm2022/chips/module.mjs +0 -85
  195. package/esm2022/chips/public-api.mjs +0 -20
  196. package/esm2022/chips/testing/chip-avatar-harness.mjs +0 -22
  197. package/esm2022/chips/testing/chip-edit-input-harness.mjs +0 -33
  198. package/esm2022/chips/testing/chip-grid-harness.mjs +0 -45
  199. package/esm2022/chips/testing/chip-harness-filters.mjs +0 -9
  200. package/esm2022/chips/testing/chip-harness.mjs +0 -62
  201. package/esm2022/chips/testing/chip-input-harness.mjs +0 -85
  202. package/esm2022/chips/testing/chip-listbox-harness.mjs +0 -61
  203. package/esm2022/chips/testing/chip-option-harness.mjs +0 -45
  204. package/esm2022/chips/testing/chip-remove-harness.mjs +0 -26
  205. package/esm2022/chips/testing/chip-row-harness.mjs +0 -40
  206. package/esm2022/chips/testing/chip-set-harness.mjs +0 -26
  207. package/esm2022/chips/testing/index.mjs +0 -9
  208. package/esm2022/chips/testing/public-api.mjs +0 -19
  209. package/esm2022/chips/tokens.mjs +0 -39
  210. package/esm2022/core/animation/animation.mjs +0 -21
  211. package/esm2022/core/common-behaviors/color.mjs +0 -33
  212. package/esm2022/core/common-behaviors/common-module.mjs +0 -127
  213. package/esm2022/core/common-behaviors/constructor.mjs +0 -9
  214. package/esm2022/core/common-behaviors/disable-ripple.mjs +0 -24
  215. package/esm2022/core/common-behaviors/disabled.mjs +0 -23
  216. package/esm2022/core/common-behaviors/error-state.mjs +0 -66
  217. package/esm2022/core/common-behaviors/index.mjs +0 -15
  218. package/esm2022/core/common-behaviors/initialized.mjs +0 -62
  219. package/esm2022/core/common-behaviors/tabindex.mjs +0 -25
  220. package/esm2022/core/core_public_index.mjs +0 -5
  221. package/esm2022/core/datetime/date-adapter.mjs +0 -109
  222. package/esm2022/core/datetime/date-formats.mjs +0 -10
  223. package/esm2022/core/datetime/index.mjs +0 -46
  224. package/esm2022/core/datetime/native-date-adapter.mjs +0 -221
  225. package/esm2022/core/datetime/native-date-formats.mjs +0 -19
  226. package/esm2022/core/error/error-options.mjs +0 -33
  227. package/esm2022/core/index.mjs +0 -9
  228. package/esm2022/core/internal-form-field/internal-form-field.mjs +0 -29
  229. package/esm2022/core/line/line.mjs +0 -64
  230. package/esm2022/core/option/index.mjs +0 -30
  231. package/esm2022/core/option/optgroup.mjs +0 -71
  232. package/esm2022/core/option/option-parent.mjs +0 -13
  233. package/esm2022/core/option/option.mjs +0 -283
  234. package/esm2022/core/private/index.mjs +0 -9
  235. package/esm2022/core/private/ripple-loader.mjs +0 -160
  236. package/esm2022/core/public-api.mjs +0 -19
  237. package/esm2022/core/ripple/index.mjs +0 -27
  238. package/esm2022/core/ripple/ripple-event-manager.mjs +0 -69
  239. package/esm2022/core/ripple/ripple-ref.mjs +0 -39
  240. package/esm2022/core/ripple/ripple-renderer.mjs +0 -354
  241. package/esm2022/core/ripple/ripple.mjs +0 -156
  242. package/esm2022/core/selection/index.mjs +0 -10
  243. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +0 -24
  244. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -62
  245. package/esm2022/core/testing/index.mjs +0 -9
  246. package/esm2022/core/testing/optgroup-harness-filters.mjs +0 -9
  247. package/esm2022/core/testing/optgroup-harness.mjs +0 -43
  248. package/esm2022/core/testing/option-harness-filters.mjs +0 -9
  249. package/esm2022/core/testing/option-harness.mjs +0 -53
  250. package/esm2022/core/testing/public-api.mjs +0 -12
  251. package/esm2022/core/version.mjs +0 -11
  252. package/esm2022/datepicker/aria-accessible-name.mjs +0 -159
  253. package/esm2022/datepicker/calendar-body.mjs +0 -509
  254. package/esm2022/datepicker/calendar.mjs +0 -426
  255. package/esm2022/datepicker/date-range-input-parts.mjs +0 -372
  256. package/esm2022/datepicker/date-range-input.mjs +0 -369
  257. package/esm2022/datepicker/date-range-picker.mjs +0 -51
  258. package/esm2022/datepicker/date-range-selection-strategy.mjs +0 -97
  259. package/esm2022/datepicker/date-selection-model.mjs +0 -188
  260. package/esm2022/datepicker/datepicker-actions.mjs +0 -91
  261. package/esm2022/datepicker/datepicker-animations.mjs +0 -35
  262. package/esm2022/datepicker/datepicker-base.mjs +0 -609
  263. package/esm2022/datepicker/datepicker-errors.mjs +0 -14
  264. package/esm2022/datepicker/datepicker-input-base.mjs +0 -311
  265. package/esm2022/datepicker/datepicker-input.mjs +0 -200
  266. package/esm2022/datepicker/datepicker-intl.mjs +0 -69
  267. package/esm2022/datepicker/datepicker-module.mjs +0 -138
  268. package/esm2022/datepicker/datepicker-toggle.mjs +0 -113
  269. package/esm2022/datepicker/datepicker.mjs +0 -38
  270. package/esm2022/datepicker/datepicker_public_index.mjs +0 -5
  271. package/esm2022/datepicker/index.mjs +0 -9
  272. package/esm2022/datepicker/month-view.mjs +0 -460
  273. package/esm2022/datepicker/multi-year-view.mjs +0 -330
  274. package/esm2022/datepicker/public-api.mjs +0 -27
  275. package/esm2022/datepicker/testing/calendar-cell-harness.mjs +0 -138
  276. package/esm2022/datepicker/testing/calendar-harness.mjs +0 -83
  277. package/esm2022/datepicker/testing/date-range-input-harness.mjs +0 -98
  278. package/esm2022/datepicker/testing/datepicker-harness-filters.mjs +0 -9
  279. package/esm2022/datepicker/testing/datepicker-input-harness-base.mjs +0 -81
  280. package/esm2022/datepicker/testing/datepicker-input-harness.mjs +0 -58
  281. package/esm2022/datepicker/testing/datepicker-toggle-harness.mjs +0 -41
  282. package/esm2022/datepicker/testing/datepicker-trigger-harness-base.mjs +0 -65
  283. package/esm2022/datepicker/testing/index.mjs +0 -9
  284. package/esm2022/datepicker/testing/public-api.mjs +0 -14
  285. package/esm2022/datepicker/year-view.mjs +0 -324
  286. package/esm2022/dialog/dialog-animations.mjs +0 -38
  287. package/esm2022/dialog/dialog-config.mjs +0 -59
  288. package/esm2022/dialog/dialog-container.mjs +0 -253
  289. package/esm2022/dialog/dialog-content-directives.mjs +0 -212
  290. package/esm2022/dialog/dialog-ref.mjs +0 -177
  291. package/esm2022/dialog/dialog.mjs +0 -212
  292. package/esm2022/dialog/dialog_public_index.mjs +0 -5
  293. package/esm2022/dialog/index.mjs +0 -9
  294. package/esm2022/dialog/module.mjs +0 -45
  295. package/esm2022/dialog/public-api.mjs +0 -15
  296. package/esm2022/dialog/testing/dialog-harness-filters.mjs +0 -9
  297. package/esm2022/dialog/testing/dialog-harness.mjs +0 -84
  298. package/esm2022/dialog/testing/dialog-opener.mjs +0 -58
  299. package/esm2022/dialog/testing/index.mjs +0 -10
  300. package/esm2022/dialog/testing/public-api.mjs +0 -10
  301. package/esm2022/divider/divider-module.mjs +0 -24
  302. package/esm2022/divider/divider.mjs +0 -48
  303. package/esm2022/divider/divider_public_index.mjs +0 -5
  304. package/esm2022/divider/index.mjs +0 -9
  305. package/esm2022/divider/public-api.mjs +0 -10
  306. package/esm2022/divider/testing/divider-harness-filters.mjs +0 -9
  307. package/esm2022/divider/testing/divider-harness.mjs +0 -22
  308. package/esm2022/divider/testing/index.mjs +0 -9
  309. package/esm2022/divider/testing/public-api.mjs +0 -10
  310. package/esm2022/expansion/accordion-base.mjs +0 -14
  311. package/esm2022/expansion/accordion.mjs +0 -96
  312. package/esm2022/expansion/expansion-animations.mjs +0 -51
  313. package/esm2022/expansion/expansion-module.mjs +0 -65
  314. package/esm2022/expansion/expansion-panel-base.mjs +0 -14
  315. package/esm2022/expansion/expansion-panel-content.mjs +0 -35
  316. package/esm2022/expansion/expansion-panel-header.mjs +0 -218
  317. package/esm2022/expansion/expansion-panel.mjs +0 -211
  318. package/esm2022/expansion/expansion_public_index.mjs +0 -5
  319. package/esm2022/expansion/index.mjs +0 -9
  320. package/esm2022/expansion/public-api.mjs +0 -16
  321. package/esm2022/expansion/testing/accordion-harness.mjs +0 -31
  322. package/esm2022/expansion/testing/expansion-harness-filters.mjs +0 -9
  323. package/esm2022/expansion/testing/expansion-harness.mjs +0 -128
  324. package/esm2022/expansion/testing/index.mjs +0 -9
  325. package/esm2022/expansion/testing/public-api.mjs +0 -11
  326. package/esm2022/form-field/directives/error.mjs +0 -48
  327. package/esm2022/form-field/directives/floating-label.mjs +0 -135
  328. package/esm2022/form-field/directives/hint.mjs +0 -40
  329. package/esm2022/form-field/directives/label.mjs +0 -22
  330. package/esm2022/form-field/directives/line-ripple.mjs +0 -60
  331. package/esm2022/form-field/directives/notched-outline.mjs +0 -66
  332. package/esm2022/form-field/directives/prefix.mjs +0 -38
  333. package/esm2022/form-field/directives/suffix.mjs +0 -38
  334. package/esm2022/form-field/form-field-animations.mjs +0 -24
  335. package/esm2022/form-field/form-field-control.mjs +0 -11
  336. package/esm2022/form-field/form-field-errors.mjs +0 -20
  337. package/esm2022/form-field/form-field.mjs +0 -620
  338. package/esm2022/form-field/form-field_public_index.mjs +0 -5
  339. package/esm2022/form-field/index.mjs +0 -9
  340. package/esm2022/form-field/module.mjs +0 -51
  341. package/esm2022/form-field/public-api.mjs +0 -18
  342. package/esm2022/form-field/testing/control/form-field-control-harness.mjs +0 -15
  343. package/esm2022/form-field/testing/control/index.mjs +0 -9
  344. package/esm2022/form-field/testing/error-harness.mjs +0 -29
  345. package/esm2022/form-field/testing/form-field-harness-filters.mjs +0 -9
  346. package/esm2022/form-field/testing/form-field-harness.mjs +0 -179
  347. package/esm2022/form-field/testing/index.mjs +0 -9
  348. package/esm2022/form-field/testing/public-api.mjs +0 -15
  349. package/esm2022/grid-list/grid-list-base.mjs +0 -14
  350. package/esm2022/grid-list/grid-list-module.mjs +0 -59
  351. package/esm2022/grid-list/grid-list.mjs +0 -146
  352. package/esm2022/grid-list/grid-list_public_index.mjs +0 -5
  353. package/esm2022/grid-list/grid-tile.mjs +0 -128
  354. package/esm2022/grid-list/index.mjs +0 -9
  355. package/esm2022/grid-list/public-api.mjs +0 -14
  356. package/esm2022/grid-list/testing/grid-list-harness-filters.mjs +0 -9
  357. package/esm2022/grid-list/testing/grid-list-harness.mjs +0 -76
  358. package/esm2022/grid-list/testing/grid-tile-harness.mjs +0 -71
  359. package/esm2022/grid-list/testing/index.mjs +0 -9
  360. package/esm2022/grid-list/testing/public-api.mjs +0 -11
  361. package/esm2022/grid-list/tile-coordinator.mjs +0 -145
  362. package/esm2022/grid-list/tile-styler.mjs +0 -231
  363. package/esm2022/icon/fake-svgs.mjs +0 -62
  364. package/esm2022/icon/icon-module.mjs +0 -24
  365. package/esm2022/icon/icon-registry.mjs +0 -592
  366. package/esm2022/icon/icon.mjs +0 -379
  367. package/esm2022/icon/icon_public_index.mjs +0 -5
  368. package/esm2022/icon/index.mjs +0 -9
  369. package/esm2022/icon/public-api.mjs +0 -11
  370. package/esm2022/icon/testing/fake-icon-registry.mjs +0 -92
  371. package/esm2022/icon/testing/icon-harness-filters.mjs +0 -14
  372. package/esm2022/icon/testing/icon-harness.mjs +0 -60
  373. package/esm2022/icon/testing/index.mjs +0 -9
  374. package/esm2022/icon/testing/public-api.mjs +0 -11
  375. package/esm2022/icon/testing/testing_public_index.mjs +0 -5
  376. package/esm2022/icon/trusted-types.mjs +0 -43
  377. package/esm2022/index.mjs +0 -14
  378. package/esm2022/input/index.mjs +0 -9
  379. package/esm2022/input/input-errors.mjs +0 -12
  380. package/esm2022/input/input-value-accessor.mjs +0 -16
  381. package/esm2022/input/input.mjs +0 -524
  382. package/esm2022/input/input_public_index.mjs +0 -5
  383. package/esm2022/input/module.mjs +0 -26
  384. package/esm2022/input/public-api.mjs +0 -14
  385. package/esm2022/input/testing/index.mjs +0 -9
  386. package/esm2022/input/testing/input-harness-filters.mjs +0 -9
  387. package/esm2022/input/testing/input-harness.mjs +0 -119
  388. package/esm2022/input/testing/native-option-harness.mjs +0 -42
  389. package/esm2022/input/testing/native-select-harness-filters.mjs +0 -9
  390. package/esm2022/input/testing/native-select-harness.mjs +0 -79
  391. package/esm2022/input/testing/public-api.mjs +0 -13
  392. package/esm2022/list/action-list.mjs +0 -31
  393. package/esm2022/list/index.mjs +0 -9
  394. package/esm2022/list/list-base.mjs +0 -284
  395. package/esm2022/list/list-item-sections.mjs +0 -144
  396. package/esm2022/list/list-module.mjs +0 -97
  397. package/esm2022/list/list-option-types.mjs +0 -16
  398. package/esm2022/list/list-option.mjs +0 -295
  399. package/esm2022/list/list.mjs +0 -103
  400. package/esm2022/list/list_public_index.mjs +0 -5
  401. package/esm2022/list/nav-list.mjs +0 -37
  402. package/esm2022/list/public-api.mjs +0 -18
  403. package/esm2022/list/selection-list.mjs +0 -391
  404. package/esm2022/list/subheader.mjs +0 -28
  405. package/esm2022/list/testing/action-list-harness.mjs +0 -59
  406. package/esm2022/list/testing/index.mjs +0 -9
  407. package/esm2022/list/testing/list-harness-base.mjs +0 -95
  408. package/esm2022/list/testing/list-harness-filters.mjs +0 -9
  409. package/esm2022/list/testing/list-harness.mjs +0 -41
  410. package/esm2022/list/testing/list-item-harness-base.mjs +0 -162
  411. package/esm2022/list/testing/nav-list-harness.mjs +0 -69
  412. package/esm2022/list/testing/public-api.mjs +0 -14
  413. package/esm2022/list/testing/selection-list-harness.mjs +0 -122
  414. package/esm2022/list/tokens.mjs +0 -11
  415. package/esm2022/menu/index.mjs +0 -9
  416. package/esm2022/menu/menu-animations.mjs +0 -61
  417. package/esm2022/menu/menu-content.mjs +0 -87
  418. package/esm2022/menu/menu-errors.mjs +0 -35
  419. package/esm2022/menu/menu-item.mjs +0 -148
  420. package/esm2022/menu/menu-panel.mjs +0 -14
  421. package/esm2022/menu/menu-positions.mjs +0 -9
  422. package/esm2022/menu/menu-trigger.mjs +0 -542
  423. package/esm2022/menu/menu.mjs +0 -405
  424. package/esm2022/menu/menu_public_index.mjs +0 -5
  425. package/esm2022/menu/module.mjs +0 -63
  426. package/esm2022/menu/public-api.mjs +0 -16
  427. package/esm2022/menu/testing/index.mjs +0 -9
  428. package/esm2022/menu/testing/menu-harness-filters.mjs +0 -9
  429. package/esm2022/menu/testing/menu-harness.mjs +0 -166
  430. package/esm2022/menu/testing/public-api.mjs +0 -10
  431. package/esm2022/paginator/index.mjs +0 -9
  432. package/esm2022/paginator/module.mjs +0 -28
  433. package/esm2022/paginator/paginator-intl.mjs +0 -62
  434. package/esm2022/paginator/paginator.mjs +0 -266
  435. package/esm2022/paginator/paginator_public_index.mjs +0 -5
  436. package/esm2022/paginator/public-api.mjs +0 -11
  437. package/esm2022/paginator/testing/index.mjs +0 -9
  438. package/esm2022/paginator/testing/paginator-harness-filters.mjs +0 -9
  439. package/esm2022/paginator/testing/paginator-harness.mjs +0 -98
  440. package/esm2022/paginator/testing/public-api.mjs +0 -10
  441. package/esm2022/progress-bar/index.mjs +0 -9
  442. package/esm2022/progress-bar/module.mjs +0 -24
  443. package/esm2022/progress-bar/progress-bar.mjs +0 -181
  444. package/esm2022/progress-bar/progress-bar_public_index.mjs +0 -5
  445. package/esm2022/progress-bar/public-api.mjs +0 -10
  446. package/esm2022/progress-bar/testing/index.mjs +0 -9
  447. package/esm2022/progress-bar/testing/progress-bar-harness-filters.mjs +0 -9
  448. package/esm2022/progress-bar/testing/progress-bar-harness.mjs +0 -33
  449. package/esm2022/progress-bar/testing/public-api.mjs +0 -10
  450. package/esm2022/progress-bar/testing/testing_public_index.mjs +0 -5
  451. package/esm2022/progress-spinner/index.mjs +0 -9
  452. package/esm2022/progress-spinner/module.mjs +0 -25
  453. package/esm2022/progress-spinner/progress-spinner.mjs +0 -166
  454. package/esm2022/progress-spinner/progress-spinner_public_index.mjs +0 -5
  455. package/esm2022/progress-spinner/public-api.mjs +0 -10
  456. package/esm2022/progress-spinner/testing/index.mjs +0 -9
  457. package/esm2022/progress-spinner/testing/progress-spinner-harness-filters.mjs +0 -9
  458. package/esm2022/progress-spinner/testing/progress-spinner-harness.mjs +0 -35
  459. package/esm2022/progress-spinner/testing/public-api.mjs +0 -10
  460. package/esm2022/progress-spinner/testing/testing_public_index.mjs +0 -5
  461. package/esm2022/radio/index.mjs +0 -9
  462. package/esm2022/radio/module.mjs +0 -25
  463. package/esm2022/radio/public-api.mjs +0 -10
  464. package/esm2022/radio/radio.mjs +0 -680
  465. package/esm2022/radio/radio_public_index.mjs +0 -5
  466. package/esm2022/radio/testing/index.mjs +0 -9
  467. package/esm2022/radio/testing/public-api.mjs +0 -10
  468. package/esm2022/radio/testing/radio-harness-filters.mjs +0 -9
  469. package/esm2022/radio/testing/radio-harness.mjs +0 -228
  470. package/esm2022/select/index.mjs +0 -9
  471. package/esm2022/select/module.mjs +0 -59
  472. package/esm2022/select/public-api.mjs +0 -15
  473. package/esm2022/select/select-animations.mjs +0 -38
  474. package/esm2022/select/select-errors.mjs +0 -35
  475. package/esm2022/select/select.mjs +0 -1160
  476. package/esm2022/select/select_public_index.mjs +0 -5
  477. package/esm2022/select/testing/index.mjs +0 -9
  478. package/esm2022/select/testing/public-api.mjs +0 -10
  479. package/esm2022/select/testing/select-harness-filters.mjs +0 -9
  480. package/esm2022/select/testing/select-harness.mjs +0 -129
  481. package/esm2022/sidenav/drawer-animations.mjs +0 -33
  482. package/esm2022/sidenav/drawer.mjs +0 -863
  483. package/esm2022/sidenav/index.mjs +0 -9
  484. package/esm2022/sidenav/public-api.mjs +0 -12
  485. package/esm2022/sidenav/sidenav-module.mjs +0 -60
  486. package/esm2022/sidenav/sidenav.mjs +0 -148
  487. package/esm2022/sidenav/sidenav_public_index.mjs +0 -5
  488. package/esm2022/sidenav/testing/drawer-container-harness.mjs +0 -36
  489. package/esm2022/sidenav/testing/drawer-content-harness.mjs +0 -23
  490. package/esm2022/sidenav/testing/drawer-harness-filters.mjs +0 -9
  491. package/esm2022/sidenav/testing/drawer-harness.mjs +0 -49
  492. package/esm2022/sidenav/testing/index.mjs +0 -9
  493. package/esm2022/sidenav/testing/public-api.mjs +0 -15
  494. package/esm2022/sidenav/testing/sidenav-container-harness.mjs +0 -36
  495. package/esm2022/sidenav/testing/sidenav-content-harness.mjs +0 -23
  496. package/esm2022/sidenav/testing/sidenav-harness.mjs +0 -28
  497. package/esm2022/slide-toggle/index.mjs +0 -9
  498. package/esm2022/slide-toggle/module.mjs +0 -41
  499. package/esm2022/slide-toggle/public-api.mjs +0 -12
  500. package/esm2022/slide-toggle/slide-toggle-config.mjs +0 -14
  501. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +0 -44
  502. package/esm2022/slide-toggle/slide-toggle.mjs +0 -273
  503. package/esm2022/slide-toggle/slide-toggle_public_index.mjs +0 -5
  504. package/esm2022/slide-toggle/testing/index.mjs +0 -9
  505. package/esm2022/slide-toggle/testing/public-api.mjs +0 -10
  506. package/esm2022/slide-toggle/testing/slide-toggle-harness-filters.mjs +0 -9
  507. package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +0 -110
  508. package/esm2022/slider/index.mjs +0 -9
  509. package/esm2022/slider/module.mjs +0 -39
  510. package/esm2022/slider/public-api.mjs +0 -13
  511. package/esm2022/slider/slider-input.mjs +0 -701
  512. package/esm2022/slider/slider-interface.mjs +0 -56
  513. package/esm2022/slider/slider-thumb.mjs +0 -231
  514. package/esm2022/slider/slider.mjs +0 -746
  515. package/esm2022/slider/slider_public_index.mjs +0 -5
  516. package/esm2022/slider/testing/index.mjs +0 -9
  517. package/esm2022/slider/testing/public-api.mjs +0 -11
  518. package/esm2022/slider/testing/slider-harness-filters.mjs +0 -7
  519. package/esm2022/slider/testing/slider-harness.mjs +0 -67
  520. package/esm2022/slider/testing/slider-thumb-harness.mjs +0 -95
  521. package/esm2022/snack-bar/index.mjs +0 -9
  522. package/esm2022/snack-bar/module.mjs +0 -47
  523. package/esm2022/snack-bar/public-api.mjs +0 -16
  524. package/esm2022/snack-bar/simple-snack-bar.mjs +0 -40
  525. package/esm2022/snack-bar/snack-bar-animations.mjs +0 -30
  526. package/esm2022/snack-bar/snack-bar-config.mjs +0 -33
  527. package/esm2022/snack-bar/snack-bar-container.mjs +0 -277
  528. package/esm2022/snack-bar/snack-bar-content.mjs +0 -55
  529. package/esm2022/snack-bar/snack-bar-ref.mjs +0 -89
  530. package/esm2022/snack-bar/snack-bar.mjs +0 -267
  531. package/esm2022/snack-bar/snack-bar_public_index.mjs +0 -5
  532. package/esm2022/snack-bar/testing/index.mjs +0 -9
  533. package/esm2022/snack-bar/testing/public-api.mjs +0 -10
  534. package/esm2022/snack-bar/testing/snack-bar-harness-filters.mjs +0 -9
  535. package/esm2022/snack-bar/testing/snack-bar-harness.mjs +0 -101
  536. package/esm2022/sort/index.mjs +0 -9
  537. package/esm2022/sort/public-api.mjs +0 -14
  538. package/esm2022/sort/sort-animations.mjs +0 -69
  539. package/esm2022/sort/sort-direction.mjs +0 -9
  540. package/esm2022/sort/sort-errors.mjs +0 -24
  541. package/esm2022/sort/sort-header-intl.mjs +0 -41
  542. package/esm2022/sort/sort-header.mjs +0 -317
  543. package/esm2022/sort/sort-module.mjs +0 -27
  544. package/esm2022/sort/sort.mjs +0 -155
  545. package/esm2022/sort/sort_public_index.mjs +0 -5
  546. package/esm2022/sort/testing/index.mjs +0 -9
  547. package/esm2022/sort/testing/public-api.mjs +0 -11
  548. package/esm2022/sort/testing/sort-harness-filters.mjs +0 -2
  549. package/esm2022/sort/testing/sort-harness.mjs +0 -36
  550. package/esm2022/sort/testing/sort-header-harness.mjs +0 -56
  551. package/esm2022/stepper/index.mjs +0 -9
  552. package/esm2022/stepper/public-api.mjs +0 -17
  553. package/esm2022/stepper/step-content.mjs +0 -27
  554. package/esm2022/stepper/step-header.mjs +0 -105
  555. package/esm2022/stepper/step-label.mjs +0 -22
  556. package/esm2022/stepper/stepper-animations.mjs +0 -47
  557. package/esm2022/stepper/stepper-button.mjs +0 -43
  558. package/esm2022/stepper/stepper-icon.mjs +0 -30
  559. package/esm2022/stepper/stepper-intl.mjs +0 -43
  560. package/esm2022/stepper/stepper-module.mjs +0 -88
  561. package/esm2022/stepper/stepper.mjs +0 -205
  562. package/esm2022/stepper/stepper_public_index.mjs +0 -5
  563. package/esm2022/stepper/testing/index.mjs +0 -9
  564. package/esm2022/stepper/testing/public-api.mjs +0 -12
  565. package/esm2022/stepper/testing/step-harness-filters.mjs +0 -7
  566. package/esm2022/stepper/testing/step-harness.mjs +0 -90
  567. package/esm2022/stepper/testing/stepper-button-harnesses.mjs +0 -48
  568. package/esm2022/stepper/testing/stepper-harness.mjs +0 -51
  569. package/esm2022/table/cell.mjs +0 -147
  570. package/esm2022/table/index.mjs +0 -9
  571. package/esm2022/table/module.mjs +0 -93
  572. package/esm2022/table/public-api.mjs +0 -14
  573. package/esm2022/table/row.mjs +0 -163
  574. package/esm2022/table/table-data-source.mjs +0 -317
  575. package/esm2022/table/table.mjs +0 -122
  576. package/esm2022/table/table_public_index.mjs +0 -5
  577. package/esm2022/table/testing/cell-harness.mjs +0 -77
  578. package/esm2022/table/testing/index.mjs +0 -9
  579. package/esm2022/table/testing/public-api.mjs +0 -12
  580. package/esm2022/table/testing/row-harness.mjs +0 -84
  581. package/esm2022/table/testing/table-harness-filters.mjs +0 -2
  582. package/esm2022/table/testing/table-harness.mjs +0 -86
  583. package/esm2022/table/text-column.mjs +0 -60
  584. package/esm2022/tabs/index.mjs +0 -9
  585. package/esm2022/tabs/ink-bar.mjs +0 -149
  586. package/esm2022/tabs/module.mjs +0 -60
  587. package/esm2022/tabs/paginated-tab-header.mjs +0 -539
  588. package/esm2022/tabs/public-api.mjs +0 -21
  589. package/esm2022/tabs/tab-body.mjs +0 -199
  590. package/esm2022/tabs/tab-config.mjs +0 -11
  591. package/esm2022/tabs/tab-content.mjs +0 -32
  592. package/esm2022/tabs/tab-group.mjs +0 -469
  593. package/esm2022/tabs/tab-header.mjs +0 -86
  594. package/esm2022/tabs/tab-label-wrapper.mjs +0 -49
  595. package/esm2022/tabs/tab-label.mjs +0 -44
  596. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -388
  597. package/esm2022/tabs/tab.mjs +0 -128
  598. package/esm2022/tabs/tabs-animations.mjs +0 -45
  599. package/esm2022/tabs/tabs_public_index.mjs +0 -5
  600. package/esm2022/tabs/testing/index.mjs +0 -9
  601. package/esm2022/tabs/testing/public-api.mjs +0 -13
  602. package/esm2022/tabs/testing/tab-group-harness.mjs +0 -56
  603. package/esm2022/tabs/testing/tab-harness-filters.mjs +0 -2
  604. package/esm2022/tabs/testing/tab-harness.mjs +0 -66
  605. package/esm2022/tabs/testing/tab-link-harness.mjs +0 -40
  606. package/esm2022/tabs/testing/tab-nav-bar-harness.mjs +0 -66
  607. package/esm2022/tabs/testing/tab-nav-panel-harness.mjs +0 -27
  608. package/esm2022/toolbar/index.mjs +0 -9
  609. package/esm2022/toolbar/public-api.mjs +0 -10
  610. package/esm2022/toolbar/testing/index.mjs +0 -9
  611. package/esm2022/toolbar/testing/public-api.mjs +0 -10
  612. package/esm2022/toolbar/testing/toolbar-harness-filters.mjs +0 -9
  613. package/esm2022/toolbar/testing/toolbar-harness.mjs +0 -44
  614. package/esm2022/toolbar/toolbar-module.mjs +0 -24
  615. package/esm2022/toolbar/toolbar.mjs +0 -84
  616. package/esm2022/toolbar/toolbar_public_index.mjs +0 -5
  617. package/esm2022/tooltip/index.mjs +0 -9
  618. package/esm2022/tooltip/module.mjs +0 -29
  619. package/esm2022/tooltip/public-api.mjs +0 -11
  620. package/esm2022/tooltip/testing/index.mjs +0 -9
  621. package/esm2022/tooltip/testing/public-api.mjs +0 -10
  622. package/esm2022/tooltip/testing/tooltip-harness-filters.mjs +0 -9
  623. package/esm2022/tooltip/testing/tooltip-harness.mjs +0 -66
  624. package/esm2022/tooltip/tooltip-animations.mjs +0 -24
  625. package/esm2022/tooltip/tooltip.mjs +0 -920
  626. package/esm2022/tooltip/tooltip_public_index.mjs +0 -5
  627. package/esm2022/tree/data-source/flat-data-source.mjs +0 -156
  628. package/esm2022/tree/data-source/nested-data-source.mjs +0 -38
  629. package/esm2022/tree/index.mjs +0 -9
  630. package/esm2022/tree/node.mjs +0 -220
  631. package/esm2022/tree/outlet.mjs +0 -46
  632. package/esm2022/tree/padding.mjs +0 -46
  633. package/esm2022/tree/public-api.mjs +0 -16
  634. package/esm2022/tree/testing/index.mjs +0 -9
  635. package/esm2022/tree/testing/node-harness.mjs +0 -73
  636. package/esm2022/tree/testing/public-api.mjs +0 -11
  637. package/esm2022/tree/testing/tree-harness-filters.mjs +0 -9
  638. package/esm2022/tree/testing/tree-harness.mjs +0 -123
  639. package/esm2022/tree/toggle.mjs +0 -27
  640. package/esm2022/tree/tree-module.mjs +0 -50
  641. package/esm2022/tree/tree.mjs +0 -34
  642. package/esm2022/tree/tree_public_index.mjs +0 -5
@@ -1,159 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- // This file contains the `_computeAriaAccessibleName` function, which computes what the *expected*
9
- // ARIA accessible name would be for a given element. Implements a subset of ARIA specification
10
- // [Accessible Name and Description Computation 1.2](https://www.w3.org/TR/accname-1.2/).
11
- //
12
- // Specification accname-1.2 can be summarized by returning the result of the first method
13
- // available.
14
- //
15
- // 1. `aria-labelledby` attribute
16
- // ```
17
- // <!-- example using aria-labelledby-->
18
- // <label id='label-id'>Start Date</label>
19
- // <input aria-labelledby='label-id'/>
20
- // ```
21
- // 2. `aria-label` attribute (e.g. `<input aria-label="Departure"/>`)
22
- // 3. Label with `for`/`id`
23
- // ```
24
- // <!-- example using for/id -->
25
- // <label for="current-node">Label</label>
26
- // <input id="current-node"/>
27
- // ```
28
- // 4. `placeholder` attribute (e.g. `<input placeholder="06/03/1990"/>`)
29
- // 5. `title` attribute (e.g. `<input title="Check-In"/>`)
30
- // 6. text content
31
- // ```
32
- // <!-- example using text content -->
33
- // <label for="current-node"><span>Departure</span> Date</label>
34
- // <input id="current-node"/>
35
- // ```
36
- /**
37
- * Computes the *expected* ARIA accessible name for argument element based on [accname-1.2
38
- * specification](https://www.w3.org/TR/accname-1.2/). Implements a subset of accname-1.2,
39
- * and should only be used for the Datepicker's specific use case.
40
- *
41
- * Intended use:
42
- * This is not a general use implementation. Only implements the parts of accname-1.2 that are
43
- * required for the Datepicker's specific use case. This function is not intended for any other
44
- * use.
45
- *
46
- * Limitations:
47
- * - Only covers the needs of `matStartDate` and `matEndDate`. Does not support other use cases.
48
- * - See NOTES's in implementation for specific details on what parts of the accname-1.2
49
- * specification are not implemented.
50
- *
51
- * @param element {HTMLInputElement} native &lt;input/&gt; element of `matStartDate` or
52
- * `matEndDate` component. Corresponds to the 'Root Element' from accname-1.2
53
- *
54
- * @return expected ARIA accessible name of argument &lt;input/&gt;
55
- */
56
- export function _computeAriaAccessibleName(element) {
57
- return _computeAriaAccessibleNameInternal(element, true);
58
- }
59
- /**
60
- * Determine if argument node is an Element based on `nodeType` property. This function is safe to
61
- * use with server-side rendering.
62
- */
63
- function ssrSafeIsElement(node) {
64
- return node.nodeType === Node.ELEMENT_NODE;
65
- }
66
- /**
67
- * Determine if argument node is an HTMLInputElement based on `nodeName` property. This funciton is
68
- * safe to use with server-side rendering.
69
- */
70
- function ssrSafeIsHTMLInputElement(node) {
71
- return node.nodeName === 'INPUT';
72
- }
73
- /**
74
- * Determine if argument node is an HTMLTextAreaElement based on `nodeName` property. This
75
- * funciton is safe to use with server-side rendering.
76
- */
77
- function ssrSafeIsHTMLTextAreaElement(node) {
78
- return node.nodeName === 'TEXTAREA';
79
- }
80
- /**
81
- * Calculate the expected ARIA accessible name for given DOM Node. Given DOM Node may be either the
82
- * "Root node" passed to `_computeAriaAccessibleName` or "Current node" as result of recursion.
83
- *
84
- * @return the accessible name of argument DOM Node
85
- *
86
- * @param currentNode node to determine accessible name of
87
- * @param isDirectlyReferenced true if `currentNode` is the root node to calculate ARIA accessible
88
- * name of. False if it is a result of recursion.
89
- */
90
- function _computeAriaAccessibleNameInternal(currentNode, isDirectlyReferenced) {
91
- // NOTE: this differs from accname-1.2 specification.
92
- // - Does not implement Step 1. of accname-1.2: '''If `currentNode`'s role prohibits naming,
93
- // return the empty string ("")'''.
94
- // - Does not implement Step 2.A. of accname-1.2: '''if current node is hidden and not directly
95
- // referenced by aria-labelledby... return the empty string.'''
96
- // acc-name-1.2 Step 2.B.: aria-labelledby
97
- if (ssrSafeIsElement(currentNode) && isDirectlyReferenced) {
98
- const labelledbyIds = currentNode.getAttribute?.('aria-labelledby')?.split(/\s+/g) || [];
99
- const validIdRefs = labelledbyIds.reduce((validIds, id) => {
100
- const elem = document.getElementById(id);
101
- if (elem) {
102
- validIds.push(elem);
103
- }
104
- return validIds;
105
- }, []);
106
- if (validIdRefs.length) {
107
- return validIdRefs
108
- .map(idRef => {
109
- return _computeAriaAccessibleNameInternal(idRef, false);
110
- })
111
- .join(' ');
112
- }
113
- }
114
- // acc-name-1.2 Step 2.C.: aria-label
115
- if (ssrSafeIsElement(currentNode)) {
116
- const ariaLabel = currentNode.getAttribute('aria-label')?.trim();
117
- if (ariaLabel) {
118
- return ariaLabel;
119
- }
120
- }
121
- // acc-name-1.2 Step 2.D. attribute or element that defines a text alternative
122
- //
123
- // NOTE: this differs from accname-1.2 specification.
124
- // Only implements Step 2.D. for `<label>`,`<input/>`, and `<textarea/>` element. Does not
125
- // implement other elements that have an attribute or element that defines a text alternative.
126
- if (ssrSafeIsHTMLInputElement(currentNode) || ssrSafeIsHTMLTextAreaElement(currentNode)) {
127
- // use label with a `for` attribute referencing the current node
128
- if (currentNode.labels?.length) {
129
- return Array.from(currentNode.labels)
130
- .map(x => _computeAriaAccessibleNameInternal(x, false))
131
- .join(' ');
132
- }
133
- // use placeholder if available
134
- const placeholder = currentNode.getAttribute('placeholder')?.trim();
135
- if (placeholder) {
136
- return placeholder;
137
- }
138
- // use title if available
139
- const title = currentNode.getAttribute('title')?.trim();
140
- if (title) {
141
- return title;
142
- }
143
- }
144
- // NOTE: this differs from accname-1.2 specification.
145
- // - does not implement acc-name-1.2 Step 2.E.: '''if the current node is a control embedded
146
- // within the label... then include the embedded control as part of the text alternative in
147
- // the following manner...'''. Step 2E applies to embedded controls such as textbox, listbox,
148
- // range, etc.
149
- // - does not implement acc-name-1.2 step 2.F.: check that '''role allows name from content''',
150
- // which applies to `currentNode` and its children.
151
- // - does not implement acc-name-1.2 Step 2.F.ii.: '''Check for CSS generated textual content'''
152
- // (e.g. :before and :after).
153
- // - does not implement acc-name-1.2 Step 2.I.: '''if the current node has a Tooltip attribute,
154
- // return its value'''
155
- // Return text content with whitespace collapsed into a single space character. Accomplish
156
- // acc-name-1.2 steps 2F, 2G, and 2H.
157
- return (currentNode.textContent || '').replace(/\s+/g, ' ').trim();
158
- }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpYS1hY2Nlc3NpYmxlLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvZGF0ZXBpY2tlci9hcmlhLWFjY2Vzc2libGUtbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxtR0FBbUc7QUFDbkcsK0ZBQStGO0FBQy9GLHlGQUF5RjtBQUN6RixFQUFFO0FBQ0YsMEZBQTBGO0FBQzFGLGFBQWE7QUFDYixFQUFFO0FBQ0Ysa0NBQWtDO0FBQ2xDLFVBQVU7QUFDViw4Q0FBOEM7QUFDOUMsZ0RBQWdEO0FBQ2hELDRDQUE0QztBQUM1QyxVQUFVO0FBQ1Ysc0VBQXNFO0FBQ3RFLDRCQUE0QjtBQUM1QixVQUFVO0FBQ1Ysc0NBQXNDO0FBQ3RDLGdEQUFnRDtBQUNoRCxtQ0FBbUM7QUFDbkMsVUFBVTtBQUNWLHlFQUF5RTtBQUN6RSwyREFBMkQ7QUFDM0QsbUJBQW1CO0FBQ25CLFVBQVU7QUFDViw0Q0FBNEM7QUFDNUMsc0VBQXNFO0FBQ3RFLG1DQUFtQztBQUNuQyxVQUFVO0FBRVY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQ3hDLE9BQStDO0lBRS9DLE9BQU8sa0NBQWtDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGdCQUFnQixDQUFDLElBQVU7SUFDbEMsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMseUJBQXlCLENBQUMsSUFBVTtJQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDO0FBQ25DLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLDRCQUE0QixDQUFDLElBQVU7SUFDOUMsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFL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QUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBgX2NvbXB1dGVBcmlhQWNjZXNzaWJsZU5hbWVgIGZ1bmN0aW9uLCB3aGljaCBjb21wdXRlcyB3aGF0IHRoZSAqZXhwZWN0ZWQqXG4vLyBBUklBIGFjY2Vzc2libGUgbmFtZSB3b3VsZCBiZSBmb3IgYSBnaXZlbiBlbGVtZW50LiBJbXBsZW1lbnRzIGEgc3Vic2V0IG9mIEFSSUEgc3BlY2lmaWNhdGlvblxuLy8gW0FjY2Vzc2libGUgTmFtZSBhbmQgRGVzY3JpcHRpb24gQ29tcHV0YXRpb24gMS4yXShodHRwczovL3d3dy53My5vcmcvVFIvYWNjbmFtZS0xLjIvKS5cbi8vXG4vLyBTcGVjaWZpY2F0aW9uIGFjY25hbWUtMS4yIGNhbiBiZSBzdW1tYXJpemVkIGJ5IHJldHVybmluZyB0aGUgcmVzdWx0IG9mIHRoZSBmaXJzdCBtZXRob2Rcbi8vIGF2YWlsYWJsZS5cbi8vXG4vLyAgMS4gYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlXG4vLyAgICAgYGBgXG4vLyAgICAgICA8IS0tIGV4YW1wbGUgdXNpbmcgYXJpYS1sYWJlbGxlZGJ5LS0+XG4vLyAgICAgICA8bGFiZWwgaWQ9J2xhYmVsLWlkJz5TdGFydCBEYXRlPC9sYWJlbD5cbi8vICAgICAgIDxpbnB1dCBhcmlhLWxhYmVsbGVkYnk9J2xhYmVsLWlkJy8+XG4vLyAgICAgYGBgXG4vLyAgMi4gYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSAoZS5nLiBgPGlucHV0IGFyaWEtbGFiZWw9XCJEZXBhcnR1cmVcIi8+YClcbi8vICAzLiBMYWJlbCB3aXRoIGBmb3JgL2BpZGBcbi8vICAgICBgYGBcbi8vICAgICAgIDwhLS0gZXhhbXBsZSB1c2luZyBmb3IvaWQgLS0+XG4vLyAgICAgICA8bGFiZWwgZm9yPVwiY3VycmVudC1ub2RlXCI+TGFiZWw8L2xhYmVsPlxuLy8gICAgICAgPGlucHV0IGlkPVwiY3VycmVudC1ub2RlXCIvPlxuLy8gICAgIGBgYFxuLy8gIDQuIGBwbGFjZWhvbGRlcmAgYXR0cmlidXRlIChlLmcuIGA8aW5wdXQgcGxhY2Vob2xkZXI9XCIwNi8wMy8xOTkwXCIvPmApXG4vLyAgNS4gYHRpdGxlYCBhdHRyaWJ1dGUgKGUuZy4gYDxpbnB1dCB0aXRsZT1cIkNoZWNrLUluXCIvPmApXG4vLyAgNi4gdGV4dCBjb250ZW50XG4vLyAgICAgYGBgXG4vLyAgICAgICA8IS0tIGV4YW1wbGUgdXNpbmcgdGV4dCBjb250ZW50IC0tPlxuLy8gICAgICAgPGxhYmVsIGZvcj1cImN1cnJlbnQtbm9kZVwiPjxzcGFuPkRlcGFydHVyZTwvc3Bhbj4gRGF0ZTwvbGFiZWw+XG4vLyAgICAgICA8aW5wdXQgaWQ9XCJjdXJyZW50LW5vZGVcIi8+XG4vLyAgICAgYGBgXG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlICpleHBlY3RlZCogQVJJQSBhY2Nlc3NpYmxlIG5hbWUgZm9yIGFyZ3VtZW50IGVsZW1lbnQgYmFzZWQgb24gW2FjY25hbWUtMS4yXG4gKiBzcGVjaWZpY2F0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvYWNjbmFtZS0xLjIvKS4gSW1wbGVtZW50cyBhIHN1YnNldCBvZiBhY2NuYW1lLTEuMixcbiAqIGFuZCBzaG91bGQgb25seSBiZSB1c2VkIGZvciB0aGUgRGF0ZXBpY2tlcidzIHNwZWNpZmljIHVzZSBjYXNlLlxuICpcbiAqIEludGVuZGVkIHVzZTpcbiAqIFRoaXMgaXMgbm90IGEgZ2VuZXJhbCB1c2UgaW1wbGVtZW50YXRpb24uIE9ubHkgaW1wbGVtZW50cyB0aGUgcGFydHMgb2YgYWNjbmFtZS0xLjIgdGhhdCBhcmVcbiAqIHJlcXVpcmVkIGZvciB0aGUgRGF0ZXBpY2tlcidzIHNwZWNpZmljIHVzZSBjYXNlLiBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBpbnRlbmRlZCBmb3IgYW55IG90aGVyXG4gKiB1c2UuXG4gKlxuICogTGltaXRhdGlvbnM6XG4gKiAgLSBPbmx5IGNvdmVycyB0aGUgbmVlZHMgb2YgYG1hdFN0YXJ0RGF0ZWAgYW5kIGBtYXRFbmREYXRlYC4gRG9lcyBub3Qgc3VwcG9ydCBvdGhlciB1c2UgY2FzZXMuXG4gKiAgLSBTZWUgTk9URVMncyBpbiBpbXBsZW1lbnRhdGlvbiBmb3Igc3BlY2lmaWMgZGV0YWlscyBvbiB3aGF0IHBhcnRzIG9mIHRoZSBhY2NuYW1lLTEuMlxuICogIHNwZWNpZmljYXRpb24gYXJlIG5vdCBpbXBsZW1lbnRlZC5cbiAqXG4gKiAgQHBhcmFtIGVsZW1lbnQge0hUTUxJbnB1dEVsZW1lbnR9IG5hdGl2ZSAmbHQ7aW5wdXQvJmd0OyBlbGVtZW50IG9mIGBtYXRTdGFydERhdGVgIG9yXG4gKiAgYG1hdEVuZERhdGVgIGNvbXBvbmVudC4gQ29ycmVzcG9uZHMgdG8gdGhlICdSb290IEVsZW1lbnQnIGZyb20gYWNjbmFtZS0xLjJcbiAqXG4gKiAgQHJldHVybiBleHBlY3RlZCBBUklBIGFjY2Vzc2libGUgbmFtZSBvZiBhcmd1bWVudCAmbHQ7aW5wdXQvJmd0O1xuICovXG5leHBvcnQgZnVuY3Rpb24gX2NvbXB1dGVBcmlhQWNjZXNzaWJsZU5hbWUoXG4gIGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50LFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIF9jb21wdXRlQXJpYUFjY2Vzc2libGVOYW1lSW50ZXJuYWwoZWxlbWVudCwgdHJ1ZSk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGFyZ3VtZW50IG5vZGUgaXMgYW4gRWxlbWVudCBiYXNlZCBvbiBgbm9kZVR5cGVgIHByb3BlcnR5LiBUaGlzIGZ1bmN0aW9uIGlzIHNhZmUgdG9cbiAqIHVzZSB3aXRoIHNlcnZlci1zaWRlIHJlbmRlcmluZy5cbiAqL1xuZnVuY3Rpb24gc3NyU2FmZUlzRWxlbWVudChub2RlOiBOb2RlKTogbm9kZSBpcyBFbGVtZW50IHtcbiAgcmV0dXJuIG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFO1xufVxuXG4vKipcbiAqIERldGVybWluZSBpZiBhcmd1bWVudCBub2RlIGlzIGFuIEhUTUxJbnB1dEVsZW1lbnQgYmFzZWQgb24gYG5vZGVOYW1lYCBwcm9wZXJ0eS4gVGhpcyBmdW5jaXRvbiBpc1xuICogc2FmZSB0byB1c2Ugd2l0aCBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuXG4gKi9cbmZ1bmN0aW9uIHNzclNhZmVJc0hUTUxJbnB1dEVsZW1lbnQobm9kZTogTm9kZSk6IG5vZGUgaXMgSFRNTElucHV0RWxlbWVudCB7XG4gIHJldHVybiBub2RlLm5vZGVOYW1lID09PSAnSU5QVVQnO1xufVxuXG4vKipcbiAqIERldGVybWluZSBpZiBhcmd1bWVudCBub2RlIGlzIGFuIEhUTUxUZXh0QXJlYUVsZW1lbnQgYmFzZWQgb24gYG5vZGVOYW1lYCBwcm9wZXJ0eS4gVGhpc1xuICogZnVuY2l0b24gaXMgc2FmZSB0byB1c2Ugd2l0aCBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuXG4gKi9cbmZ1bmN0aW9uIHNzclNhZmVJc0hUTUxUZXh0QXJlYUVsZW1lbnQobm9kZTogTm9kZSk6IG5vZGUgaXMgSFRNTFRleHRBcmVhRWxlbWVudCB7XG4gIHJldHVybiBub2RlLm5vZGVOYW1lID09PSAnVEVYVEFSRUEnO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgZXhwZWN0ZWQgQVJJQSBhY2Nlc3NpYmxlIG5hbWUgZm9yIGdpdmVuIERPTSBOb2RlLiBHaXZlbiBET00gTm9kZSBtYXkgYmUgZWl0aGVyIHRoZVxuICogXCJSb290IG5vZGVcIiBwYXNzZWQgdG8gYF9jb21wdXRlQXJpYUFjY2Vzc2libGVOYW1lYCBvciBcIkN1cnJlbnQgbm9kZVwiIGFzIHJlc3VsdCBvZiByZWN1cnNpb24uXG4gKlxuICogQHJldHVybiB0aGUgYWNjZXNzaWJsZSBuYW1lIG9mIGFyZ3VtZW50IERPTSBOb2RlXG4gKlxuICogQHBhcmFtIGN1cnJlbnROb2RlIG5vZGUgdG8gZGV0ZXJtaW5lIGFjY2Vzc2libGUgbmFtZSBvZlxuICogQHBhcmFtIGlzRGlyZWN0bHlSZWZlcmVuY2VkIHRydWUgaWYgYGN1cnJlbnROb2RlYCBpcyB0aGUgcm9vdCBub2RlIHRvIGNhbGN1bGF0ZSBBUklBIGFjY2Vzc2libGVcbiAqIG5hbWUgb2YuIEZhbHNlIGlmIGl0IGlzIGEgcmVzdWx0IG9mIHJlY3Vyc2lvbi5cbiAqL1xuZnVuY3Rpb24gX2NvbXB1dGVBcmlhQWNjZXNzaWJsZU5hbWVJbnRlcm5hbChcbiAgY3VycmVudE5vZGU6IE5vZGUsXG4gIGlzRGlyZWN0bHlSZWZlcmVuY2VkOiBib29sZWFuLFxuKTogc3RyaW5nIHtcbiAgLy8gTk9URTogdGhpcyBkaWZmZXJzIGZyb20gYWNjbmFtZS0xLjIgc3BlY2lmaWNhdGlvbi5cbiAgLy8gIC0gRG9lcyBub3QgaW1wbGVtZW50IFN0ZXAgMS4gb2YgYWNjbmFtZS0xLjI6ICcnJ0lmIGBjdXJyZW50Tm9kZWAncyByb2xlIHByb2hpYml0cyBuYW1pbmcsXG4gIC8vICAgIHJldHVybiB0aGUgZW1wdHkgc3RyaW5nIChcIlwiKScnJy5cbiAgLy8gIC0gRG9lcyBub3QgaW1wbGVtZW50IFN0ZXAgMi5BLiBvZiBhY2NuYW1lLTEuMjogJycnaWYgY3VycmVudCBub2RlIGlzIGhpZGRlbiBhbmQgbm90IGRpcmVjdGx5XG4gIC8vICAgIHJlZmVyZW5jZWQgYnkgYXJpYS1sYWJlbGxlZGJ5Li4uIHJldHVybiB0aGUgZW1wdHkgc3RyaW5nLicnJ1xuXG4gIC8vIGFjYy1uYW1lLTEuMiBTdGVwIDIuQi46IGFyaWEtbGFiZWxsZWRieVxuICBpZiAoc3NyU2FmZUlzRWxlbWVudChjdXJyZW50Tm9kZSkgJiYgaXNEaXJlY3RseVJlZmVyZW5jZWQpIHtcbiAgICBjb25zdCBsYWJlbGxlZGJ5SWRzOiBzdHJpbmdbXSA9XG4gICAgICBjdXJyZW50Tm9kZS5nZXRBdHRyaWJ1dGU/LignYXJpYS1sYWJlbGxlZGJ5Jyk/LnNwbGl0KC9cXHMrL2cpIHx8IFtdO1xuICAgIGNvbnN0IHZhbGlkSWRSZWZzOiBIVE1MRWxlbWVudFtdID0gbGFiZWxsZWRieUlkcy5yZWR1Y2UoKHZhbGlkSWRzLCBpZCkgPT4ge1xuICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICAgIGlmIChlbGVtKSB7XG4gICAgICAgIHZhbGlkSWRzLnB1c2goZWxlbSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsaWRJZHM7XG4gICAgfSwgW10gYXMgSFRNTEVsZW1lbnRbXSk7XG5cbiAgICBpZiAodmFsaWRJZFJlZnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdmFsaWRJZFJlZnNcbiAgICAgICAgLm1hcChpZFJlZiA9PiB7XG4gICAgICAgICAgcmV0dXJuIF9jb21wdXRlQXJpYUFjY2Vzc2libGVOYW1lSW50ZXJuYWwoaWRSZWYsIGZhbHNlKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJyAnKTtcbiAgICB9XG4gIH1cblxuICAvLyBhY2MtbmFtZS0xLjIgU3RlcCAyLkMuOiBhcmlhLWxhYmVsXG4gIGlmIChzc3JTYWZlSXNFbGVtZW50KGN1cnJlbnROb2RlKSkge1xuICAgIGNvbnN0IGFyaWFMYWJlbCA9IGN1cnJlbnROb2RlLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpPy50cmltKCk7XG5cbiAgICBpZiAoYXJpYUxhYmVsKSB7XG4gICAgICByZXR1cm4gYXJpYUxhYmVsO1xuICAgIH1cbiAgfVxuXG4gIC8vIGFjYy1uYW1lLTEuMiBTdGVwIDIuRC4gYXR0cmlidXRlIG9yIGVsZW1lbnQgdGhhdCBkZWZpbmVzIGEgdGV4dCBhbHRlcm5hdGl2ZVxuICAvL1xuICAvLyBOT1RFOiB0aGlzIGRpZmZlcnMgZnJvbSBhY2NuYW1lLTEuMiBzcGVjaWZpY2F0aW9uLlxuICAvLyBPbmx5IGltcGxlbWVudHMgU3RlcCAyLkQuIGZvciBgPGxhYmVsPmAsYDxpbnB1dC8+YCwgYW5kIGA8dGV4dGFyZWEvPmAgZWxlbWVudC4gRG9lcyBub3RcbiAgLy8gaW1wbGVtZW50IG90aGVyIGVsZW1lbnRzIHRoYXQgaGF2ZSBhbiBhdHRyaWJ1dGUgb3IgZWxlbWVudCB0aGF0IGRlZmluZXMgYSB0ZXh0IGFsdGVybmF0aXZlLlxuICBpZiAoc3NyU2FmZUlzSFRNTElucHV0RWxlbWVudChjdXJyZW50Tm9kZSkgfHwgc3NyU2FmZUlzSFRNTFRleHRBcmVhRWxlbWVudChjdXJyZW50Tm9kZSkpIHtcbiAgICAvLyB1c2UgbGFiZWwgd2l0aCBhIGBmb3JgIGF0dHJpYnV0ZSByZWZlcmVuY2luZyB0aGUgY3VycmVudCBub2RlXG4gICAgaWYgKGN1cnJlbnROb2RlLmxhYmVscz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbShjdXJyZW50Tm9kZS5sYWJlbHMpXG4gICAgICAgIC5tYXAoeCA9PiBfY29tcHV0ZUFyaWFBY2Nlc3NpYmxlTmFtZUludGVybmFsKHgsIGZhbHNlKSlcbiAgICAgICAgLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICAvLyB1c2UgcGxhY2Vob2xkZXIgaWYgYXZhaWxhYmxlXG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPSBjdXJyZW50Tm9kZS5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJyk/LnRyaW0oKTtcbiAgICBpZiAocGxhY2Vob2xkZXIpIHtcbiAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICAvLyB1c2UgdGl0bGUgaWYgYXZhaWxhYmxlXG4gICAgY29uc3QgdGl0bGUgPSBjdXJyZW50Tm9kZS5nZXRBdHRyaWJ1dGUoJ3RpdGxlJyk/LnRyaW0oKTtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIHJldHVybiB0aXRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBOT1RFOiB0aGlzIGRpZmZlcnMgZnJvbSBhY2NuYW1lLTEuMiBzcGVjaWZpY2F0aW9uLlxuICAvLyAgLSBkb2VzIG5vdCBpbXBsZW1lbnQgYWNjLW5hbWUtMS4yIFN0ZXAgMi5FLjogJycnaWYgdGhlIGN1cnJlbnQgbm9kZSBpcyBhIGNvbnRyb2wgZW1iZWRkZWRcbiAgLy8gICAgIHdpdGhpbiB0aGUgbGFiZWwuLi4gdGhlbiBpbmNsdWRlIHRoZSBlbWJlZGRlZCBjb250cm9sIGFzIHBhcnQgb2YgdGhlIHRleHQgYWx0ZXJuYXRpdmUgaW5cbiAgLy8gICAgIHRoZSBmb2xsb3dpbmcgbWFubmVyLi4uJycnLiBTdGVwIDJFIGFwcGxpZXMgdG8gZW1iZWRkZWQgY29udHJvbHMgc3VjaCBhcyB0ZXh0Ym94LCBsaXN0Ym94LFxuICAvLyAgICAgcmFuZ2UsIGV0Yy5cbiAgLy8gIC0gZG9lcyBub3QgaW1wbGVtZW50IGFjYy1uYW1lLTEuMiBzdGVwIDIuRi46IGNoZWNrIHRoYXQgJycncm9sZSBhbGxvd3MgbmFtZSBmcm9tIGNvbnRlbnQnJycsXG4gIC8vICAgIHdoaWNoIGFwcGxpZXMgdG8gYGN1cnJlbnROb2RlYCBhbmQgaXRzIGNoaWxkcmVuLlxuICAvLyAgLSBkb2VzIG5vdCBpbXBsZW1lbnQgYWNjLW5hbWUtMS4yIFN0ZXAgMi5GLmlpLjogJycnQ2hlY2sgZm9yIENTUyBnZW5lcmF0ZWQgdGV4dHVhbCBjb250ZW50JycnXG4gIC8vICAgIChlLmcuIDpiZWZvcmUgYW5kIDphZnRlcikuXG4gIC8vICAtIGRvZXMgbm90IGltcGxlbWVudCBhY2MtbmFtZS0xLjIgU3RlcCAyLkkuOiAnJydpZiB0aGUgY3VycmVudCBub2RlIGhhcyBhIFRvb2x0aXAgYXR0cmlidXRlLFxuICAvLyAgICByZXR1cm4gaXRzIHZhbHVlJycnXG5cbiAgLy8gUmV0dXJuIHRleHQgY29udGVudCB3aXRoIHdoaXRlc3BhY2UgY29sbGFwc2VkIGludG8gYSBzaW5nbGUgc3BhY2UgY2hhcmFjdGVyLiBBY2NvbXBsaXNoXG4gIC8vIGFjYy1uYW1lLTEuMiBzdGVwcyAyRiwgMkcsIGFuZCAySC5cbiAgcmV0dXJuIChjdXJyZW50Tm9kZS50ZXh0Q29udGVudCB8fCAnJykucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKTtcbn1cbiJdfQ==