chrome-devtools-frontend 1.0.944427 → 1.0.945677

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 (327) hide show
  1. package/config/gni/devtools_grd_files.gni +4 -0
  2. package/config/gni/devtools_image_files.gni +1 -0
  3. package/front_end/Images/src/circled_exclamation_icon.svg +3 -0
  4. package/front_end/core/common/ParsedURL.ts +1 -1
  5. package/front_end/core/host/UserMetrics.ts +3 -1
  6. package/front_end/core/i18n/i18nImpl.ts +7 -4
  7. package/front_end/core/i18n/locales/en-US.json +3 -60
  8. package/front_end/core/i18n/locales/en-XL.json +15 -72
  9. package/front_end/core/protocol_client/NodeURL.ts +1 -0
  10. package/front_end/core/sdk/CSSMetadata.ts +0 -1
  11. package/front_end/core/sdk/CSSStyleSheetHeader.ts +2 -3
  12. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -3
  13. package/front_end/core/sdk/Cookie.ts +17 -0
  14. package/front_end/core/sdk/CookieModel.ts +1 -0
  15. package/front_end/core/sdk/DebuggerModel.ts +5 -4
  16. package/front_end/core/sdk/NetworkManager.ts +4 -1
  17. package/front_end/core/sdk/NetworkRequest.ts +2 -2
  18. package/front_end/core/sdk/Resource.ts +2 -2
  19. package/front_end/core/sdk/Script.ts +2 -3
  20. package/front_end/entrypoints/main/MainImpl.ts +6 -0
  21. package/front_end/generated/protocol.d.ts +0 -4
  22. package/front_end/models/bindings/BreakpointManager.ts +3 -4
  23. package/front_end/models/bindings/ResourceMapping.ts +1 -2
  24. package/front_end/models/bindings/StylesSourceMapping.ts +1 -2
  25. package/front_end/models/emulation/EmulatedDevices.ts +2 -4
  26. package/front_end/models/persistence/IsolatedFileSystem.ts +7 -6
  27. package/front_end/models/persistence/PersistenceActions.ts +4 -1
  28. package/front_end/models/persistence/PlatformFileSystem.ts +3 -4
  29. package/front_end/models/text_utils/ContentProvider.ts +1 -2
  30. package/front_end/models/text_utils/StaticContentProvider.ts +2 -3
  31. package/front_end/models/timeline_model/TimelineJSProfile.ts +16 -3
  32. package/front_end/models/timeline_model/TimelineModel.ts +1 -0
  33. package/front_end/models/workspace/UISourceCode.ts +2 -2
  34. package/front_end/models/workspace_diff/WorkspaceDiff.ts +20 -6
  35. package/front_end/panels/animation/AnimationTimeline.ts +1 -1
  36. package/front_end/panels/animation/animationTimeline.css +2 -0
  37. package/front_end/panels/application/BackForwardCacheStrings.ts +15 -75
  38. package/front_end/panels/application/BackForwardCacheView.ts +8 -1
  39. package/front_end/panels/application/ReportingApiView.ts +15 -1
  40. package/front_end/panels/application/components/EndpointsGrid.ts +63 -4
  41. package/front_end/panels/application/components/FrameDetailsView.ts +21 -34
  42. package/front_end/panels/changes/ChangesView.ts +8 -7
  43. package/front_end/panels/elements/StyleEditorWidget.ts +7 -7
  44. package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -15
  45. package/front_end/panels/elements/StylesSidebarPane.ts +35 -9
  46. package/front_end/panels/emulation/DeviceModeView.ts +3 -0
  47. package/front_end/panels/help/ReleaseNoteText.ts +3 -1
  48. package/front_end/panels/network/NetworkItemView.ts +7 -1
  49. package/front_end/panels/profiler/heapProfiler.css +2 -5
  50. package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +1 -1
  51. package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
  52. package/front_end/panels/sources/NavigatorView.ts +1 -1
  53. package/front_end/panels/sources/UISourceCodeFrame.ts +0 -1
  54. package/front_end/panels/timeline/TimelineController.ts +3 -0
  55. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +3 -34
  56. package/front_end/panels/timeline/TimelineUIUtils.ts +51 -3
  57. package/front_end/panels/webauthn/WebauthnPane.ts +31 -32
  58. package/front_end/services/window_bounds/WindowBoundsService.ts +27 -0
  59. package/front_end/services/window_bounds/window_bounds.ts +9 -0
  60. package/front_end/third_party/acorn/README.chromium +2 -2
  61. package/front_end/third_party/acorn/acorn.ts +1 -1
  62. package/front_end/third_party/acorn/package/CHANGELOG.md +31 -1
  63. package/front_end/third_party/acorn/package/README.md +1 -1
  64. package/front_end/third_party/acorn/package/dist/acorn.d.ts +3 -0
  65. package/front_end/third_party/acorn/package/dist/acorn.js +772 -708
  66. package/front_end/third_party/acorn/package/dist/acorn.mjs +767 -703
  67. package/front_end/third_party/acorn/package/dist/bin.js +47 -21
  68. package/front_end/third_party/acorn/package/package.json +1 -1
  69. package/front_end/third_party/acorn-loose/README.chromium +2 -2
  70. package/front_end/third_party/acorn-loose/package/CHANGELOG.md +12 -0
  71. package/front_end/third_party/acorn-loose/package/dist/acorn-loose.js +27 -7
  72. package/front_end/third_party/acorn-loose/package/dist/acorn-loose.mjs +28 -8
  73. package/front_end/third_party/acorn-loose/package/package.json +2 -2
  74. package/front_end/third_party/codemirror.next/bundle.ts +1 -1
  75. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  76. package/front_end/third_party/codemirror.next/codemirror.next.d.ts +8 -1
  77. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  78. package/front_end/third_party/codemirror.next/package.json +1 -1
  79. package/front_end/third_party/i18n/i18n-impl.ts +1 -1
  80. package/front_end/third_party/lit-html/README.chromium +2 -2
  81. package/front_end/third_party/lit-html/package/CHANGELOG.md +216 -28
  82. package/front_end/third_party/lit-html/package/LICENSE +9 -9
  83. package/front_end/third_party/lit-html/package/README.md +12 -162
  84. package/front_end/third_party/lit-html/package/async-directive.d.ts +23 -54
  85. package/front_end/third_party/lit-html/package/async-directive.d.ts.map +1 -1
  86. package/front_end/third_party/lit-html/package/async-directive.js +2 -7
  87. package/front_end/third_party/lit-html/package/async-directive.js.map +1 -1
  88. package/front_end/third_party/lit-html/package/development/async-directive.d.ts +23 -54
  89. package/front_end/third_party/lit-html/package/development/async-directive.d.ts.map +1 -1
  90. package/front_end/third_party/lit-html/package/development/async-directive.js +44 -194
  91. package/front_end/third_party/lit-html/package/development/async-directive.js.map +1 -1
  92. package/front_end/third_party/lit-html/package/development/directive-helpers.d.ts +6 -5
  93. package/front_end/third_party/lit-html/package/development/directive-helpers.d.ts.map +1 -1
  94. package/front_end/third_party/lit-html/package/development/directive-helpers.js +25 -9
  95. package/front_end/third_party/lit-html/package/development/directive-helpers.js.map +1 -1
  96. package/front_end/third_party/lit-html/package/development/directive.d.ts +3 -16
  97. package/front_end/third_party/lit-html/package/development/directive.d.ts.map +1 -1
  98. package/front_end/third_party/lit-html/package/development/directive.js +6 -1
  99. package/front_end/third_party/lit-html/package/development/directive.js.map +1 -1
  100. package/front_end/third_party/lit-html/package/development/directives/async-append.d.ts +7 -14
  101. package/front_end/third_party/lit-html/package/development/directives/async-append.d.ts.map +1 -1
  102. package/front_end/third_party/lit-html/package/development/directives/async-append.js +17 -58
  103. package/front_end/third_party/lit-html/package/development/directives/async-append.js.map +1 -1
  104. package/front_end/third_party/lit-html/package/development/directives/async-replace.d.ts +9 -14
  105. package/front_end/third_party/lit-html/package/development/directives/async-replace.d.ts.map +1 -1
  106. package/front_end/third_party/lit-html/package/development/directives/async-replace.js +57 -37
  107. package/front_end/third_party/lit-html/package/development/directives/async-replace.js.map +1 -1
  108. package/front_end/third_party/lit-html/package/development/directives/cache.d.ts +2 -3
  109. package/front_end/third_party/lit-html/package/development/directives/cache.d.ts.map +1 -1
  110. package/front_end/third_party/lit-html/package/development/directives/cache.js +4 -6
  111. package/front_end/third_party/lit-html/package/development/directives/cache.js.map +1 -1
  112. package/front_end/third_party/lit-html/package/development/directives/class-map.d.ts +2 -2
  113. package/front_end/third_party/lit-html/package/development/directives/class-map.d.ts.map +1 -1
  114. package/front_end/third_party/lit-html/package/development/directives/class-map.js +17 -7
  115. package/front_end/third_party/lit-html/package/development/directives/class-map.js.map +1 -1
  116. package/front_end/third_party/lit-html/package/development/directives/guard.d.ts +3 -2
  117. package/front_end/third_party/lit-html/package/development/directives/guard.d.ts.map +1 -1
  118. package/front_end/third_party/lit-html/package/development/directives/guard.js +3 -2
  119. package/front_end/third_party/lit-html/package/development/directives/guard.js.map +1 -1
  120. package/front_end/third_party/lit-html/package/development/directives/live.d.ts +4 -3
  121. package/front_end/third_party/lit-html/package/development/directives/live.d.ts.map +1 -1
  122. package/front_end/third_party/lit-html/package/development/directives/live.js +5 -7
  123. package/front_end/third_party/lit-html/package/development/directives/live.js.map +1 -1
  124. package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.d.ts +58 -0
  125. package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.d.ts.map +1 -0
  126. package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.js +85 -0
  127. package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.js.map +1 -0
  128. package/front_end/third_party/lit-html/package/development/directives/ref.d.ts +14 -11
  129. package/front_end/third_party/lit-html/package/development/directives/ref.d.ts.map +1 -1
  130. package/front_end/third_party/lit-html/package/development/directives/ref.js +13 -11
  131. package/front_end/third_party/lit-html/package/development/directives/ref.js.map +1 -1
  132. package/front_end/third_party/lit-html/package/development/directives/repeat.d.ts +8 -4
  133. package/front_end/third_party/lit-html/package/development/directives/repeat.d.ts.map +1 -1
  134. package/front_end/third_party/lit-html/package/development/directives/repeat.js +23 -9
  135. package/front_end/third_party/lit-html/package/development/directives/repeat.js.map +1 -1
  136. package/front_end/third_party/lit-html/package/development/directives/style-map.d.ts +1 -2
  137. package/front_end/third_party/lit-html/package/development/directives/style-map.d.ts.map +1 -1
  138. package/front_end/third_party/lit-html/package/development/directives/style-map.js +1 -2
  139. package/front_end/third_party/lit-html/package/development/directives/style-map.js.map +1 -1
  140. package/front_end/third_party/lit-html/package/development/directives/template-content.d.ts +1 -2
  141. package/front_end/third_party/lit-html/package/development/directives/template-content.js +1 -2
  142. package/front_end/third_party/lit-html/package/development/directives/unsafe-html.d.ts +6 -4
  143. package/front_end/third_party/lit-html/package/development/directives/unsafe-html.d.ts.map +1 -1
  144. package/front_end/third_party/lit-html/package/development/directives/unsafe-html.js +7 -5
  145. package/front_end/third_party/lit-html/package/development/directives/unsafe-html.js.map +1 -1
  146. package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.d.ts +4 -1
  147. package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.d.ts.map +1 -1
  148. package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.js +3 -0
  149. package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.js.map +1 -1
  150. package/front_end/third_party/lit-html/package/development/directives/until.d.ts +12 -8
  151. package/front_end/third_party/lit-html/package/development/directives/until.d.ts.map +1 -1
  152. package/front_end/third_party/lit-html/package/development/directives/until.js +63 -23
  153. package/front_end/third_party/lit-html/package/development/directives/until.js.map +1 -1
  154. package/front_end/third_party/lit-html/package/development/experimental-hydrate.d.ts.map +1 -1
  155. package/front_end/third_party/lit-html/package/development/experimental-hydrate.js +9 -8
  156. package/front_end/third_party/lit-html/package/development/experimental-hydrate.js.map +1 -1
  157. package/front_end/third_party/lit-html/package/development/lit-html.d.ts +81 -136
  158. package/front_end/third_party/lit-html/package/development/lit-html.d.ts.map +1 -1
  159. package/front_end/third_party/lit-html/package/development/lit-html.js +249 -76
  160. package/front_end/third_party/lit-html/package/development/lit-html.js.map +1 -1
  161. package/front_end/third_party/lit-html/package/development/polyfill-support.d.ts +1 -41
  162. package/front_end/third_party/lit-html/package/development/polyfill-support.d.ts.map +1 -1
  163. package/front_end/third_party/lit-html/package/development/polyfill-support.js +40 -21
  164. package/front_end/third_party/lit-html/package/development/polyfill-support.js.map +1 -1
  165. package/front_end/third_party/lit-html/package/development/private-ssr-support.d.ts +12 -10
  166. package/front_end/third_party/lit-html/package/development/private-ssr-support.d.ts.map +1 -1
  167. package/front_end/third_party/lit-html/package/development/private-ssr-support.js +11 -3
  168. package/front_end/third_party/lit-html/package/development/private-ssr-support.js.map +1 -1
  169. package/front_end/third_party/lit-html/package/development/static.d.ts.map +1 -1
  170. package/front_end/third_party/lit-html/package/development/static.js +6 -5
  171. package/front_end/third_party/lit-html/package/development/static.js.map +1 -1
  172. package/front_end/third_party/lit-html/package/directive-helpers.d.ts +6 -5
  173. package/front_end/third_party/lit-html/package/directive-helpers.d.ts.map +1 -1
  174. package/front_end/third_party/lit-html/package/directive-helpers.js +2 -2
  175. package/front_end/third_party/lit-html/package/directive-helpers.js.map +1 -1
  176. package/front_end/third_party/lit-html/package/directive.d.ts +3 -16
  177. package/front_end/third_party/lit-html/package/directive.d.ts.map +1 -1
  178. package/front_end/third_party/lit-html/package/directive.js +1 -1
  179. package/front_end/third_party/lit-html/package/directive.js.map +1 -1
  180. package/front_end/third_party/lit-html/package/directives/async-append.d.ts +7 -14
  181. package/front_end/third_party/lit-html/package/directives/async-append.d.ts.map +1 -1
  182. package/front_end/third_party/lit-html/package/directives/async-append.js +2 -6
  183. package/front_end/third_party/lit-html/package/directives/async-append.js.map +1 -1
  184. package/front_end/third_party/lit-html/package/directives/async-replace.d.ts +9 -14
  185. package/front_end/third_party/lit-html/package/directives/async-replace.d.ts.map +1 -1
  186. package/front_end/third_party/lit-html/package/directives/async-replace.js +2 -5
  187. package/front_end/third_party/lit-html/package/directives/async-replace.js.map +1 -1
  188. package/front_end/third_party/lit-html/package/directives/cache.d.ts +2 -3
  189. package/front_end/third_party/lit-html/package/directives/cache.d.ts.map +1 -1
  190. package/front_end/third_party/lit-html/package/directives/cache.js +2 -5
  191. package/front_end/third_party/lit-html/package/directives/cache.js.map +1 -1
  192. package/front_end/third_party/lit-html/package/directives/class-map.d.ts +2 -2
  193. package/front_end/third_party/lit-html/package/directives/class-map.d.ts.map +1 -1
  194. package/front_end/third_party/lit-html/package/directives/class-map.js +2 -4
  195. package/front_end/third_party/lit-html/package/directives/class-map.js.map +1 -1
  196. package/front_end/third_party/lit-html/package/directives/guard.d.ts +3 -2
  197. package/front_end/third_party/lit-html/package/directives/guard.d.ts.map +1 -1
  198. package/front_end/third_party/lit-html/package/directives/guard.js +2 -4
  199. package/front_end/third_party/lit-html/package/directives/guard.js.map +1 -1
  200. package/front_end/third_party/lit-html/package/directives/live.d.ts +4 -3
  201. package/front_end/third_party/lit-html/package/directives/live.d.ts.map +1 -1
  202. package/front_end/third_party/lit-html/package/directives/live.js +1 -4
  203. package/front_end/third_party/lit-html/package/directives/live.js.map +1 -1
  204. package/front_end/third_party/lit-html/package/directives/private-async-helpers.d.ts +58 -0
  205. package/front_end/third_party/lit-html/package/directives/private-async-helpers.d.ts.map +1 -0
  206. package/front_end/third_party/lit-html/package/directives/private-async-helpers.js +7 -0
  207. package/front_end/third_party/lit-html/package/directives/private-async-helpers.js.map +1 -0
  208. package/front_end/third_party/lit-html/package/directives/ref.d.ts +14 -11
  209. package/front_end/third_party/lit-html/package/directives/ref.d.ts.map +1 -1
  210. package/front_end/third_party/lit-html/package/directives/ref.js +2 -5
  211. package/front_end/third_party/lit-html/package/directives/ref.js.map +1 -1
  212. package/front_end/third_party/lit-html/package/directives/repeat.d.ts +8 -4
  213. package/front_end/third_party/lit-html/package/directives/repeat.d.ts.map +1 -1
  214. package/front_end/third_party/lit-html/package/directives/repeat.js +2 -5
  215. package/front_end/third_party/lit-html/package/directives/repeat.js.map +1 -1
  216. package/front_end/third_party/lit-html/package/directives/style-map.d.ts +1 -2
  217. package/front_end/third_party/lit-html/package/directives/style-map.d.ts.map +1 -1
  218. package/front_end/third_party/lit-html/package/directives/style-map.js +2 -4
  219. package/front_end/third_party/lit-html/package/directives/style-map.js.map +1 -1
  220. package/front_end/third_party/lit-html/package/directives/template-content.d.ts +1 -2
  221. package/front_end/third_party/lit-html/package/directives/template-content.js +2 -4
  222. package/front_end/third_party/lit-html/package/directives/template-content.js.map +1 -1
  223. package/front_end/third_party/lit-html/package/directives/unsafe-html.d.ts +6 -4
  224. package/front_end/third_party/lit-html/package/directives/unsafe-html.d.ts.map +1 -1
  225. package/front_end/third_party/lit-html/package/directives/unsafe-html.js +2 -4
  226. package/front_end/third_party/lit-html/package/directives/unsafe-html.js.map +1 -1
  227. package/front_end/third_party/lit-html/package/directives/unsafe-svg.d.ts +4 -1
  228. package/front_end/third_party/lit-html/package/directives/unsafe-svg.d.ts.map +1 -1
  229. package/front_end/third_party/lit-html/package/directives/unsafe-svg.js.map +1 -1
  230. package/front_end/third_party/lit-html/package/directives/until.d.ts +12 -8
  231. package/front_end/third_party/lit-html/package/directives/until.d.ts.map +1 -1
  232. package/front_end/third_party/lit-html/package/directives/until.js +2 -6
  233. package/front_end/third_party/lit-html/package/directives/until.js.map +1 -1
  234. package/front_end/third_party/lit-html/package/experimental-hydrate.d.ts.map +1 -1
  235. package/front_end/third_party/lit-html/package/experimental-hydrate.js +2 -5
  236. package/front_end/third_party/lit-html/package/experimental-hydrate.js.map +1 -1
  237. package/front_end/third_party/lit-html/package/lit-html.d.ts +81 -136
  238. package/front_end/third_party/lit-html/package/lit-html.d.ts.map +1 -1
  239. package/front_end/third_party/lit-html/package/lit-html.js +1 -1
  240. package/front_end/third_party/lit-html/package/lit-html.js.map +1 -1
  241. package/front_end/third_party/lit-html/package/package.json +75 -24
  242. package/front_end/third_party/lit-html/package/polyfill-support.d.ts +1 -41
  243. package/front_end/third_party/lit-html/package/polyfill-support.d.ts.map +1 -1
  244. package/front_end/third_party/lit-html/package/polyfill-support.js +1 -1
  245. package/front_end/third_party/lit-html/package/polyfill-support.js.map +1 -1
  246. package/front_end/third_party/lit-html/package/private-ssr-support.d.ts +12 -10
  247. package/front_end/third_party/lit-html/package/private-ssr-support.d.ts.map +1 -1
  248. package/front_end/third_party/lit-html/package/private-ssr-support.js +2 -2
  249. package/front_end/third_party/lit-html/package/private-ssr-support.js.map +1 -1
  250. package/front_end/third_party/lit-html/package/static.d.ts.map +1 -1
  251. package/front_end/third_party/lit-html/package/static.js +1 -1
  252. package/front_end/third_party/lit-html/package/static.js.map +1 -1
  253. package/front_end/third_party/marked/README.chromium +2 -2
  254. package/front_end/third_party/marked/marked.ts +2 -2
  255. package/front_end/third_party/marked/package/README.md +7 -1
  256. package/front_end/third_party/marked/package/bin/marked.js +214 -0
  257. package/front_end/third_party/marked/package/lib/marked.cjs +2907 -0
  258. package/front_end/third_party/marked/package/lib/marked.esm.d.ts +1 -3
  259. package/front_end/third_party/marked/package/lib/marked.esm.js +627 -586
  260. package/front_end/third_party/marked/package/lib/marked.umd.js +2913 -0
  261. package/front_end/third_party/marked/package/man/marked.1 +5 -24
  262. package/front_end/third_party/marked/package/man/marked.1.txt +21 -31
  263. package/front_end/third_party/marked/package/marked.min.js +1 -1
  264. package/front_end/third_party/marked/package/package.json +41 -32
  265. package/front_end/third_party/marked/package/src/Lexer.js +109 -108
  266. package/front_end/third_party/marked/package/src/Parser.js +38 -15
  267. package/front_end/third_party/marked/package/src/Renderer.js +5 -5
  268. package/front_end/third_party/marked/package/src/Slugger.js +2 -2
  269. package/front_end/third_party/marked/package/src/TextRenderer.js +2 -2
  270. package/front_end/third_party/marked/package/src/Tokenizer.js +215 -190
  271. package/front_end/third_party/marked/package/src/defaults.js +6 -9
  272. package/front_end/third_party/marked/package/src/helpers.js +16 -27
  273. package/front_end/third_party/marked/package/src/marked.js +146 -63
  274. package/front_end/third_party/marked/package/src/rules.js +20 -45
  275. package/front_end/third_party/wasmparser/README.chromium +2 -2
  276. package/front_end/third_party/wasmparser/package/.github/workflows/main.yml +47 -0
  277. package/front_end/third_party/wasmparser/package/CHANGELOG.md +12 -0
  278. package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js +53 -53
  279. package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js.map +1 -1
  280. package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js +53 -53
  281. package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js.map +1 -1
  282. package/front_end/third_party/wasmparser/package/package.json +1 -1
  283. package/front_end/third_party/wasmparser/package/src/WasmParser.ts +53 -53
  284. package/front_end/ui/components/adorners/Adorner.ts +14 -14
  285. package/front_end/ui/components/buttons/Button.ts +133 -42
  286. package/front_end/ui/components/buttons/button.css +31 -0
  287. package/front_end/ui/components/data_grid/DataGrid.ts +131 -122
  288. package/front_end/ui/components/data_grid/DataGridController.ts +42 -42
  289. package/front_end/ui/components/diff_view/DiffView.ts +4 -4
  290. package/front_end/ui/components/docs/button/basic.html +3 -0
  291. package/front_end/ui/components/docs/button/basic.ts +58 -0
  292. package/front_end/ui/components/expandable_list/ExpandableList.ts +11 -11
  293. package/front_end/ui/components/icon_button/Icon.ts +24 -21
  294. package/front_end/ui/components/icon_button/IconButton.ts +31 -31
  295. package/front_end/ui/components/issue_counter/IssueCounter.ts +52 -52
  296. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +42 -42
  297. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspector.ts +67 -67
  298. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +22 -22
  299. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +36 -36
  300. package/front_end/ui/components/linear_memory_inspector/LinearMemoryNavigator.ts +19 -19
  301. package/front_end/ui/components/linear_memory_inspector/LinearMemoryValueInterpreter.ts +25 -25
  302. package/front_end/ui/components/linear_memory_inspector/LinearMemoryViewer.ts +52 -52
  303. package/front_end/ui/components/linear_memory_inspector/ValueInterpreterDisplay.ts +21 -21
  304. package/front_end/ui/components/linear_memory_inspector/ValueInterpreterSettings.ts +6 -6
  305. package/front_end/ui/components/markdown_view/MarkdownImage.ts +14 -14
  306. package/front_end/ui/components/markdown_view/MarkdownLink.ts +8 -8
  307. package/front_end/ui/components/markdown_view/MarkdownView.ts +6 -6
  308. package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +33 -33
  309. package/front_end/ui/components/report_view/ReportView.ts +18 -18
  310. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +53 -53
  311. package/front_end/ui/components/settings/SettingCheckbox.ts +15 -15
  312. package/front_end/ui/components/survey_link/SurveyLink.ts +28 -28
  313. package/front_end/ui/components/text_editor/TextEditor.ts +68 -36
  314. package/front_end/ui/components/text_editor/config.ts +4 -2
  315. package/front_end/ui/components/text_editor/javascript.ts +6 -6
  316. package/front_end/ui/components/text_prompt/TextPrompt.ts +19 -19
  317. package/front_end/ui/components/tree_outline/TreeOutline.ts +56 -56
  318. package/front_end/ui/legacy/Infobar.ts +9 -0
  319. package/front_end/ui/legacy/InspectorView.ts +1 -1
  320. package/front_end/ui/legacy/ListWidget.ts +2 -2
  321. package/front_end/ui/legacy/ViewManager.ts +6 -0
  322. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +20 -0
  323. package/front_end/ui/legacy/tabbedPane.css +1 -1
  324. package/inspector_overlay/main.ts +3 -0
  325. package/package.json +1 -1
  326. package/scripts/eslint_rules/lib/l10n_filename_matches.js +17 -4
  327. package/scripts/eslint_rules/tests/l10n_filename_matches_test.js +21 -0
@@ -27,12 +27,12 @@ export interface DataGridControllerData {
27
27
 
28
28
  export class DataGridController extends HTMLElement {
29
29
  static readonly litTagName = LitHtml.literal`devtools-data-grid-controller`;
30
- private readonly shadow = this.attachShadow({mode: 'open'});
30
+ readonly #shadow = this.attachShadow({mode: 'open'});
31
31
 
32
- private hasRenderedAtLeastOnce = false;
33
- private columns: readonly Column[] = [];
34
- private rows: Row[] = [];
35
- private contextMenus?: DataGridContextMenusConfiguration = undefined;
32
+ #hasRenderedAtLeastOnce = false;
33
+ #columns: readonly Column[] = [];
34
+ #rows: Row[] = [];
35
+ #contextMenus?: DataGridContextMenusConfiguration = undefined;
36
36
 
37
37
  /**
38
38
  * Because the controller will sort data in place (e.g. mutate it) when we get
@@ -40,41 +40,41 @@ export class DataGridController extends HTMLElement {
40
40
  * mutate the data we're given, but a copy of the data. If our `get data` is
41
41
  * called, we'll return the original, not the sorted data.
42
42
  */
43
- private originalColumns: readonly Column[] = [];
44
- private originalRows: Row[] = [];
43
+ #originalColumns: readonly Column[] = [];
44
+ #originalRows: Row[] = [];
45
45
 
46
- private sortState: Readonly<SortState>|null = null;
47
- private filters: readonly TextUtils.TextUtils.ParsedFilter[] = [];
46
+ #sortState: Readonly<SortState>|null = null;
47
+ #filters: readonly TextUtils.TextUtils.ParsedFilter[] = [];
48
48
 
49
49
  connectedCallback(): void {
50
- this.shadow.adoptedStyleSheets = [dataGridControllerStyles];
50
+ this.#shadow.adoptedStyleSheets = [dataGridControllerStyles];
51
51
  }
52
52
 
53
53
  get data(): DataGridControllerData {
54
54
  return {
55
- columns: this.originalColumns as Column[],
56
- rows: this.originalRows as Row[],
57
- filters: this.filters,
58
- contextMenus: this.contextMenus,
55
+ columns: this.#originalColumns as Column[],
56
+ rows: this.#originalRows as Row[],
57
+ filters: this.#filters,
58
+ contextMenus: this.#contextMenus,
59
59
  };
60
60
  }
61
61
 
62
62
  set data(data: DataGridControllerData) {
63
- this.originalColumns = data.columns;
64
- this.originalRows = data.rows;
65
- this.contextMenus = data.contextMenus;
66
- this.filters = data.filters || [];
67
- this.contextMenus = data.contextMenus;
63
+ this.#originalColumns = data.columns;
64
+ this.#originalRows = data.rows;
65
+ this.#contextMenus = data.contextMenus;
66
+ this.#filters = data.filters || [];
67
+ this.#contextMenus = data.contextMenus;
68
68
 
69
- this.columns = [...this.originalColumns];
70
- this.rows = this.cloneAndFilterRows(data.rows, this.filters);
69
+ this.#columns = [...this.#originalColumns];
70
+ this.#rows = this.cloneAndFilterRows(data.rows, this.#filters);
71
71
 
72
- if (!this.hasRenderedAtLeastOnce && data.initialSort) {
73
- this.sortState = data.initialSort;
72
+ if (!this.#hasRenderedAtLeastOnce && data.initialSort) {
73
+ this.#sortState = data.initialSort;
74
74
  }
75
75
 
76
- if (this.sortState) {
77
- this.sortRows(this.sortState);
76
+ if (this.#sortState) {
77
+ this.sortRows(this.#sortState);
78
78
  }
79
79
 
80
80
  this.render();
@@ -134,7 +134,7 @@ export class DataGridController extends HTMLElement {
134
134
  private sortRows(state: SortState): void {
135
135
  const {columnId, direction} = state;
136
136
 
137
- this.rows.sort((row1, row2) => {
137
+ this.#rows.sort((row1, row2) => {
138
138
  const cell1 = getRowEntryForColumnId(row1, columnId);
139
139
  const cell2 = getRowEntryForColumnId(row2, columnId);
140
140
 
@@ -157,34 +157,34 @@ export class DataGridController extends HTMLElement {
157
157
  }
158
158
 
159
159
  private applySortOnColumn(column: Column): void {
160
- if (this.sortState && this.sortState.columnId === column.id) {
161
- const {columnId, direction} = this.sortState;
160
+ if (this.#sortState && this.#sortState.columnId === column.id) {
161
+ const {columnId, direction} = this.#sortState;
162
162
 
163
163
  /* When users sort, we go No Sort => ASC => DESC => No sort
164
164
  * So if the current direction is DESC, we clear the state.
165
165
  */
166
166
  if (direction === SortDirection.DESC) {
167
- this.sortState = null;
167
+ this.#sortState = null;
168
168
  } else {
169
169
  /* The state is ASC, so toggle to DESC */
170
- this.sortState = {
170
+ this.#sortState = {
171
171
  columnId,
172
172
  direction: SortDirection.DESC,
173
173
  };
174
174
  }
175
175
  } else {
176
176
  /* The column wasn't previously sorted, so we sort it in ASC order. */
177
- this.sortState = {
177
+ this.#sortState = {
178
178
  columnId: column.id,
179
179
  direction: SortDirection.ASC,
180
180
  };
181
181
  }
182
182
 
183
- if (this.sortState) {
184
- this.sortRows(this.sortState);
183
+ if (this.#sortState) {
184
+ this.sortRows(this.#sortState);
185
185
  } else {
186
186
  // No sortstate = render the original rows.
187
- this.rows = this.cloneAndFilterRows(this.originalRows, this.filters);
187
+ this.#rows = this.cloneAndFilterRows(this.#originalRows, this.#filters);
188
188
  this.render();
189
189
  }
190
190
  }
@@ -194,8 +194,8 @@ export class DataGridController extends HTMLElement {
194
194
  }
195
195
 
196
196
  private onContextMenuHeaderResetClick(): void {
197
- this.sortState = null;
198
- this.rows = [...this.originalRows];
197
+ this.#sortState = null;
198
+ this.#rows = [...this.#originalRows];
199
199
  this.render();
200
200
  }
201
201
 
@@ -204,20 +204,20 @@ export class DataGridController extends HTMLElement {
204
204
  // clang-format off
205
205
  LitHtml.render(LitHtml.html`
206
206
  <${DataGrid.litTagName} .data=${{
207
- columns: this.columns,
208
- rows: this.rows,
209
- activeSort: this.sortState,
210
- contextMenus: this.contextMenus,
207
+ columns: this.#columns,
208
+ rows: this.#rows,
209
+ activeSort: this.#sortState,
210
+ contextMenus: this.#contextMenus,
211
211
  } as DataGridData}
212
212
  @columnheaderclick=${this.onColumnHeaderClick}
213
213
  @contextmenucolumnsortclick=${this.onContextMenuColumnSortClick}
214
214
  @contextmenuheaderresetclick=${this.onContextMenuHeaderResetClick}
215
215
  ></${DataGrid.litTagName}>
216
- `, this.shadow, {
216
+ `, this.#shadow, {
217
217
  host: this,
218
218
  });
219
219
  // clang-format on
220
- this.hasRenderedAtLeastOnce = true;
220
+ this.#hasRenderedAtLeastOnce = true;
221
221
  }
222
222
  }
223
223
 
@@ -267,21 +267,21 @@ export type DiffViewData = {
267
267
  export class DiffView extends HTMLElement {
268
268
  static readonly litTagName = LitHtml.literal`devtools-diff-view`;
269
269
 
270
- private readonly shadow = this.attachShadow({mode: 'open'});
270
+ readonly #shadow = this.attachShadow({mode: 'open'});
271
271
  loaded: Promise<void>;
272
272
 
273
273
  constructor(data?: DiffViewData) {
274
274
  super();
275
- this.shadow.adoptedStyleSheets = [diffViewStyles, CodeHighlighter.Style.default];
275
+ this.#shadow.adoptedStyleSheets = [diffViewStyles, CodeHighlighter.Style.default];
276
276
  if (data) {
277
- this.loaded = DiffRenderer.render(data.diff, data.mimeType, this.shadow);
277
+ this.loaded = DiffRenderer.render(data.diff, data.mimeType, this.#shadow);
278
278
  } else {
279
279
  this.loaded = Promise.resolve();
280
280
  }
281
281
  }
282
282
 
283
283
  set data(data: DiffViewData) {
284
- this.loaded = DiffRenderer.render(data.diff, data.mimeType, this.shadow);
284
+ this.loaded = DiffRenderer.render(data.diff, data.mimeType, this.#shadow);
285
285
  }
286
286
  }
287
287
 
@@ -50,6 +50,9 @@
50
50
  </div>
51
51
  <div id="small-toolbar">
52
52
  </div>
53
+ <form onsubmit="event.preventDefault(); alert('submitted');" id="form">
54
+ <input name="field" placeholder="Enter smth" />
55
+ </form>
53
56
  <script type="module" src="./basic.js"></script>
54
57
  </body>
55
58
  </html>
@@ -42,6 +42,16 @@ forcedActive.innerText = 'Forced active';
42
42
  forcedActive.onclick = () => alert('clicked');
43
43
  appendButton(forcedActive);
44
44
 
45
+ // Primary (forced spinner)
46
+ const forcedSpinner = new Buttons.Button.Button();
47
+ forcedSpinner.data = {
48
+ variant: Buttons.Button.Variant.PRIMARY,
49
+ spinner: true,
50
+ };
51
+ forcedSpinner.innerText = 'Forced spinner';
52
+ forcedSpinner.onclick = () => alert('clicked');
53
+ appendButton(forcedSpinner);
54
+
45
55
  // Secondary
46
56
  const secondaryButton = new Buttons.Button.Button();
47
57
  secondaryButton.innerText = 'Click me';
@@ -51,6 +61,16 @@ secondaryButton.data = {
51
61
  };
52
62
  appendButton(secondaryButton);
53
63
 
64
+ // Secondary spinner
65
+ const secondarySpinnerButton = new Buttons.Button.Button();
66
+ secondarySpinnerButton.innerText = 'Click me';
67
+ secondarySpinnerButton.onclick = () => alert('clicked');
68
+ secondarySpinnerButton.data = {
69
+ variant: Buttons.Button.Variant.SECONDARY,
70
+ spinner: true,
71
+ };
72
+ appendButton(secondarySpinnerButton);
73
+
54
74
  // Primary
55
75
  const disabledPrimaryButtons = new Buttons.Button.Button();
56
76
  disabledPrimaryButtons.data = {
@@ -61,6 +81,17 @@ disabledPrimaryButtons.innerText = 'Cannot click me';
61
81
  disabledPrimaryButtons.onclick = () => alert('clicked');
62
82
  appendButton(disabledPrimaryButtons);
63
83
 
84
+ // Primary spinner
85
+ const disabledSpinnerPrimaryButtons = new Buttons.Button.Button();
86
+ disabledSpinnerPrimaryButtons.data = {
87
+ variant: Buttons.Button.Variant.PRIMARY,
88
+ disabled: true,
89
+ spinner: true,
90
+ };
91
+ disabledSpinnerPrimaryButtons.innerText = 'Cannot click me';
92
+ disabledSpinnerPrimaryButtons.onclick = () => alert('clicked');
93
+ appendButton(disabledSpinnerPrimaryButtons);
94
+
64
95
  // Secondary
65
96
  const disabledSecondaryButton = new Buttons.Button.Button();
66
97
  disabledSecondaryButton.innerText = 'Cannot click me';
@@ -71,6 +102,17 @@ disabledSecondaryButton.data = {
71
102
  };
72
103
  appendButton(disabledSecondaryButton);
73
104
 
105
+ // Secondary spinner
106
+ const disabledSpinnerSecondaryButton = new Buttons.Button.Button();
107
+ disabledSpinnerSecondaryButton.innerText = 'Cannot click me';
108
+ disabledSpinnerSecondaryButton.onclick = () => alert('clicked');
109
+ disabledSpinnerSecondaryButton.data = {
110
+ variant: Buttons.Button.Variant.SECONDARY,
111
+ disabled: true,
112
+ spinner: true,
113
+ };
114
+ appendButton(disabledSpinnerSecondaryButton);
115
+
74
116
  // Primary Icon
75
117
  const primaryIconButton = new Buttons.Button.Button();
76
118
  primaryIconButton.innerText = 'Click me';
@@ -201,3 +243,19 @@ for (let i = 0; i < 6; i++) {
201
243
  appendToSmallToolbar(sep);
202
244
  }
203
245
  }
246
+
247
+ const submitButton = new Buttons.Button.Button();
248
+ submitButton.data = {
249
+ variant: Buttons.Button.Variant.PRIMARY,
250
+ type: 'submit',
251
+ };
252
+ submitButton.innerText = 'Submit';
253
+ document.querySelector('#form')?.append(submitButton);
254
+
255
+ const resetButton = new Buttons.Button.Button();
256
+ resetButton.data = {
257
+ variant: Buttons.Button.Variant.SECONDARY,
258
+ type: 'reset',
259
+ };
260
+ resetButton.innerText = 'Reset';
261
+ document.querySelector('#form')?.append(resetButton);
@@ -13,26 +13,26 @@ export interface ExpandableListData {
13
13
  export class ExpandableList extends HTMLElement {
14
14
  static readonly litTagName = LitHtml.literal`devtools-expandable-list`;
15
15
 
16
- private readonly shadow = this.attachShadow({mode: 'open'});
17
- private expanded = false;
18
- private rows: LitHtml.TemplateResult[] = [];
16
+ readonly #shadow = this.attachShadow({mode: 'open'});
17
+ #expanded = false;
18
+ #rows: LitHtml.TemplateResult[] = [];
19
19
 
20
20
  set data(data: ExpandableListData) {
21
- this.rows = data.rows;
21
+ this.#rows = data.rows;
22
22
  this.render();
23
23
  }
24
24
 
25
25
  private onArrowClick(): void {
26
- this.expanded = !this.expanded;
26
+ this.#expanded = !this.#expanded;
27
27
  this.render();
28
28
  }
29
29
 
30
30
  connectedCallback(): void {
31
- this.shadow.adoptedStyleSheets = [expandableListStyles];
31
+ this.#shadow.adoptedStyleSheets = [expandableListStyles];
32
32
  }
33
33
 
34
34
  private render(): void {
35
- if (this.rows.length < 1) {
35
+ if (this.#rows.length < 1) {
36
36
  return;
37
37
  }
38
38
 
@@ -42,22 +42,22 @@ export class ExpandableList extends HTMLElement {
42
42
  LitHtml.html`
43
43
  <div class="expandable-list-container">
44
44
  <div>
45
- ${this.rows.length > 1 ?
45
+ ${this.#rows.length > 1 ?
46
46
  LitHtml.html`
47
47
  <button @click=${(): void => this.onArrowClick()} class="arrow-icon-button">
48
- <span class="arrow-icon ${this.expanded ? 'expanded' : ''}"></span>
48
+ <span class="arrow-icon ${this.#expanded ? 'expanded' : ''}"></span>
49
49
  </button>
50
50
  `
51
51
  : LitHtml.nothing}
52
52
  </div>
53
53
  <div class="expandable-list-items">
54
- ${this.rows.filter((_, index) => (this.expanded || index === 0)).map(row => LitHtml.html`
54
+ ${this.#rows.filter((_, index) => (this.#expanded || index === 0)).map(row => LitHtml.html`
55
55
  ${row}
56
56
  `)}
57
57
  </div>
58
58
  </div>
59
59
  `,
60
- this.shadow, {host: this});
60
+ this.#shadow, {host: this});
61
61
  // clang-format on
62
62
  }
63
63
  }
@@ -29,52 +29,55 @@ const coordinator = Coordinator.RenderCoordinator.RenderCoordinator.instance();
29
29
  export class Icon extends HTMLElement {
30
30
  static readonly litTagName = LitHtml.literal`devtools-icon`;
31
31
 
32
- private readonly shadow = this.attachShadow({mode: 'open'});
32
+ readonly #shadow = this.attachShadow({mode: 'open'});
33
33
 
34
- private iconPath: Readonly<string> = '';
35
- private color: Readonly<string> = 'rgb(110 110 110)';
36
- private width: Readonly<string> = '100%';
37
- private height: Readonly<string> = '100%';
38
- private iconName?: Readonly<string>;
34
+ #iconPath: Readonly<string> = '';
35
+ #color: Readonly<string> = 'rgb(110 110 110)';
36
+ #width: Readonly<string> = '100%';
37
+ #height: Readonly<string> = '100%';
38
+ #iconName?: Readonly<string>;
39
39
 
40
40
  connectedCallback(): void {
41
- this.shadow.adoptedStyleSheets = [iconStyles];
41
+ this.#shadow.adoptedStyleSheets = [iconStyles];
42
42
  }
43
43
 
44
44
  set data(data: IconData) {
45
45
  const {width, height} = data;
46
- this.color = data.color;
47
- this.width = isString(width) ? width : (isString(height) ? height : this.width);
48
- this.height = isString(height) ? height : (isString(width) ? width : this.height);
46
+ this.#color = data.color;
47
+ this.#width = isString(width) ? width : (isString(height) ? height : this.#width);
48
+ this.#height = isString(height) ? height : (isString(width) ? width : this.#height);
49
49
  if ('iconPath' in data) {
50
- this.iconPath = data.iconPath;
50
+ this.#iconPath = data.iconPath;
51
51
  } else {
52
- this.iconPath = new URL(`../../../Images/${data.iconName}.svg`, import.meta.url).toString();
53
- this.iconName = data.iconName;
52
+ this.#iconPath = new URL(`../../../Images/${data.iconName}.svg`, import.meta.url).toString();
53
+ this.#iconName = data.iconName;
54
54
  }
55
55
  this.render();
56
56
  }
57
57
 
58
58
  get data(): IconData {
59
59
  const commonData = {
60
- color: this.color,
61
- width: this.width,
62
- height: this.height,
60
+ color: this.#color,
61
+ width: this.#width,
62
+ height: this.#height,
63
63
  };
64
- if (this.iconName) {
64
+ if (this.#iconName) {
65
65
  return {
66
66
  ...commonData,
67
- iconName: this.iconName,
67
+ iconName: this.#iconName,
68
68
  };
69
69
  }
70
70
  return {
71
71
  ...commonData,
72
- iconPath: this.iconPath,
72
+ iconPath: this.#iconPath,
73
73
  };
74
74
  }
75
75
 
76
76
  private getStyles(): {[key: string]: string} {
77
- const {iconPath, width, height, color} = this;
77
+ const iconPath = this.#iconPath;
78
+ const width = this.#width;
79
+ const height = this.#height;
80
+ const color = this.#color;
78
81
  const commonStyles = {
79
82
  width,
80
83
  height,
@@ -106,7 +109,7 @@ export class Icon extends HTMLElement {
106
109
  // clang-format off
107
110
  LitHtml.render(LitHtml.html`
108
111
  <div class="icon-basic" style=${LitHtml.Directives.styleMap(this.getStyles())}></div>
109
- `, this.shadow, {host: this});
112
+ `, this.#shadow, {host: this});
110
113
  // clang-format on
111
114
  });
112
115
  }
@@ -29,69 +29,69 @@ export interface IconButtonData {
29
29
 
30
30
  export class IconButton extends HTMLElement {
31
31
  static readonly litTagName = LitHtml.literal`icon-button`;
32
- private readonly shadow = this.attachShadow({mode: 'open'});
33
- private clickHandler: undefined|(() => void) = undefined;
34
- private groups: IconWithTextData[] = [];
35
- private compact: boolean = false;
36
- private leadingText: string = '';
37
- private trailingText: string = '';
38
- private accessibleName: string|undefined;
32
+ readonly #shadow = this.attachShadow({mode: 'open'});
33
+ #clickHandler: undefined|(() => void) = undefined;
34
+ #groups: IconWithTextData[] = [];
35
+ #compact: boolean = false;
36
+ #leadingText: string = '';
37
+ #trailingText: string = '';
38
+ #accessibleName: string|undefined;
39
39
 
40
40
  set data(data: IconButtonData) {
41
- this.groups = data.groups.map(group => ({...group})); // Ensure we make a deep copy.
42
- this.clickHandler = data.clickHandler;
43
- this.trailingText = data.trailingText ?? '';
44
- this.leadingText = data.leadingText ?? '';
45
- this.accessibleName = data.accessibleName;
46
- this.compact = Boolean(data.compact);
41
+ this.#groups = data.groups.map(group => ({...group})); // Ensure we make a deep copy.
42
+ this.#clickHandler = data.clickHandler;
43
+ this.#trailingText = data.trailingText ?? '';
44
+ this.#leadingText = data.leadingText ?? '';
45
+ this.#accessibleName = data.accessibleName;
46
+ this.#compact = Boolean(data.compact);
47
47
  this.render();
48
48
  }
49
49
 
50
50
  get data(): IconButtonData {
51
51
  return {
52
- groups: this.groups.map(group => ({...group})), // Ensure we make a deep copy.
53
- accessibleName: this.accessibleName,
54
- clickHandler: this.clickHandler,
55
- leadingText: this.leadingText,
56
- trailingText: this.trailingText,
57
- compact: this.compact,
52
+ groups: this.#groups.map(group => ({...group})), // Ensure we make a deep copy.
53
+ accessibleName: this.#accessibleName,
54
+ clickHandler: this.#clickHandler,
55
+ leadingText: this.#leadingText,
56
+ trailingText: this.#trailingText,
57
+ compact: this.#compact,
58
58
  };
59
59
  }
60
60
 
61
61
  connectedCallback(): void {
62
- this.shadow.adoptedStyleSheets = [iconButtonStyles];
62
+ this.#shadow.adoptedStyleSheets = [iconButtonStyles];
63
63
  }
64
64
 
65
65
  private onClickHandler(event: Event): void {
66
- if (this.clickHandler) {
66
+ if (this.#clickHandler) {
67
67
  event.preventDefault();
68
- this.clickHandler();
68
+ this.#clickHandler();
69
69
  }
70
70
  }
71
71
 
72
72
  private render(): void {
73
73
  const buttonClasses = LitHtml.Directives.classMap({
74
74
  'icon-button': true,
75
- 'with-click-handler': Boolean(this.clickHandler),
76
- 'compact': this.compact,
75
+ 'with-click-handler': Boolean(this.#clickHandler),
76
+ 'compact': this.#compact,
77
77
  });
78
- const filteredGroups = this.groups.filter(counter => counter.text !== undefined)
79
- .filter((_, index) => this.compact ? index === 0 : true);
78
+ const filteredGroups = this.#groups.filter(counter => counter.text !== undefined)
79
+ .filter((_, index) => this.#compact ? index === 0 : true);
80
80
  // Disabled until https://crbug.com/1079231 is fixed.
81
81
  // clang-format off
82
82
  LitHtml.render(LitHtml.html`
83
- <button class="${buttonClasses}" @click=${this.onClickHandler} aria-label="${LitHtml.Directives.ifDefined(this.accessibleName)}">
84
- ${(!this.compact && this.leadingText) ? LitHtml.html`<span class="icon-button-title">${this.leadingText}</span>` : LitHtml.nothing}
83
+ <button class="${buttonClasses}" @click=${this.onClickHandler} aria-label="${LitHtml.Directives.ifDefined(this.#accessibleName)}">
84
+ ${(!this.#compact && this.#leadingText) ? LitHtml.html`<span class="icon-button-title">${this.#leadingText}</span>` : LitHtml.nothing}
85
85
  ${filteredGroups.map(counter =>
86
86
  LitHtml.html`
87
87
  <${Icon.litTagName} class="status-icon"
88
88
  .data=${{iconName: counter.iconName, color: counter.iconColor || '', width: counter.iconWidth || '1.5ex', height: counter.iconHeight || '1.5ex'} as IconData}>
89
89
  </${Icon.litTagName}>
90
- ${this.compact ? LitHtml.html`<!-- Force line-height for this element --><span>&#8203;</span>` : LitHtml.nothing}
90
+ ${this.#compact ? LitHtml.html`<!-- Force line-height for this element --><span>&#8203;</span>` : LitHtml.nothing}
91
91
  <span class="icon-button-title">${counter.text}</span>
92
92
  </button>`)}
93
- ${(!this.compact && this.trailingText) ? LitHtml.html`<span class="icon-button-title">${this.trailingText}</span>` : LitHtml.nothing}
94
- `, this.shadow, { host: this});
93
+ ${(!this.#compact && this.#trailingText) ? LitHtml.html`<span class="icon-button-title">${this.#trailingText}</span>` : LitHtml.nothing}
94
+ `, this.#shadow, { host: this});
95
95
  // clang-format on
96
96
  }
97
97
  }