@api-client/ui 0.2.12 → 0.3.0

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 (317) hide show
  1. package/.vscode/settings.json +1 -0
  2. package/build/src/core/ModalActivity.d.ts +1 -1
  3. package/build/src/core/ModalActivity.d.ts.map +1 -1
  4. package/build/src/core/ModalActivity.js +6 -5
  5. package/build/src/core/ModalActivity.js.map +1 -1
  6. package/build/src/core/ThemeManager.d.ts +4 -2
  7. package/build/src/core/ThemeManager.d.ts.map +1 -1
  8. package/build/src/core/ThemeManager.js.map +1 -1
  9. package/build/src/demo/DemoPage.d.ts +1 -4
  10. package/build/src/demo/DemoPage.d.ts.map +1 -1
  11. package/build/src/demo/DemoPage.js +2 -5
  12. package/build/src/demo/DemoPage.js.map +1 -1
  13. package/build/src/elements/authorization/ui/CcAuthorization.d.ts +1 -1
  14. package/build/src/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
  15. package/build/src/elements/authorization/ui/CcAuthorization.js +2 -2
  16. package/build/src/elements/authorization/ui/CcAuthorization.js.map +1 -1
  17. package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts +1 -1
  18. package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
  19. package/build/src/elements/authorization/ui/OAuth2Authorization.js +11 -5
  20. package/build/src/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  21. package/build/src/elements/authorization/ui/OidcAuthorization.d.ts +1 -2
  22. package/build/src/elements/authorization/ui/OidcAuthorization.d.ts.map +1 -1
  23. package/build/src/elements/authorization/ui/OidcAuthorization.js +10 -8
  24. package/build/src/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  25. package/build/src/elements/code/HttpSnippets.d.ts +1 -1
  26. package/build/src/elements/code/HttpSnippets.d.ts.map +1 -1
  27. package/build/src/elements/code/HttpSnippets.js +5 -5
  28. package/build/src/elements/code/HttpSnippets.js.map +1 -1
  29. package/build/src/elements/dialog/internals/ConfirmDelete.d.ts +1 -1
  30. package/build/src/elements/dialog/internals/ConfirmDelete.d.ts.map +1 -1
  31. package/build/src/elements/dialog/internals/ConfirmDelete.js +5 -5
  32. package/build/src/elements/dialog/internals/ConfirmDelete.js.map +1 -1
  33. package/build/src/elements/dialog/internals/Rename.d.ts +1 -1
  34. package/build/src/elements/dialog/internals/Rename.d.ts.map +1 -1
  35. package/build/src/elements/dialog/internals/Rename.js +6 -5
  36. package/build/src/elements/dialog/internals/Rename.js.map +1 -1
  37. package/build/src/elements/environment/EnvironmentEditor.d.ts +1 -1
  38. package/build/src/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  39. package/build/src/elements/environment/EnvironmentEditor.js +5 -4
  40. package/build/src/elements/environment/EnvironmentEditor.js.map +1 -1
  41. package/build/src/elements/file-system/internals/Breadcrumbs.d.ts +2 -1
  42. package/build/src/elements/file-system/internals/Breadcrumbs.d.ts.map +1 -1
  43. package/build/src/elements/file-system/internals/Breadcrumbs.js +3 -4
  44. package/build/src/elements/file-system/internals/Breadcrumbs.js.map +1 -1
  45. package/build/src/elements/http/BodyEditor.d.ts +1 -3
  46. package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
  47. package/build/src/elements/http/BodyEditor.js +25 -20
  48. package/build/src/elements/http/BodyEditor.js.map +1 -1
  49. package/build/src/elements/http/BodyMultipartEditor.d.ts +1 -1
  50. package/build/src/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  51. package/build/src/elements/http/BodyMultipartEditor.js +3 -3
  52. package/build/src/elements/http/BodyMultipartEditor.js.map +1 -1
  53. package/build/src/elements/http/CertificateAdd.element.d.ts +1 -3
  54. package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
  55. package/build/src/elements/http/CertificateAdd.element.js +6 -10
  56. package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
  57. package/build/src/elements/http/HeadersForm.d.ts +1 -1
  58. package/build/src/elements/http/HeadersForm.d.ts.map +1 -1
  59. package/build/src/elements/http/HeadersForm.js +3 -3
  60. package/build/src/elements/http/HeadersForm.js.map +1 -1
  61. package/build/src/elements/http/HttpAssertions.element.d.ts +1 -1
  62. package/build/src/elements/http/HttpAssertions.element.d.ts.map +1 -1
  63. package/build/src/elements/http/HttpAssertions.element.js +2 -2
  64. package/build/src/elements/http/HttpAssertions.element.js.map +1 -1
  65. package/build/src/elements/http/HttpFlows.element.d.ts +1 -1
  66. package/build/src/elements/http/HttpFlows.element.d.ts.map +1 -1
  67. package/build/src/elements/http/HttpFlows.element.js +6 -6
  68. package/build/src/elements/http/HttpFlows.element.js.map +1 -1
  69. package/build/src/elements/http/RequestEditor.d.ts +1 -3
  70. package/build/src/elements/http/RequestEditor.d.ts.map +1 -1
  71. package/build/src/elements/http/RequestEditor.js +10 -11
  72. package/build/src/elements/http/RequestEditor.js.map +1 -1
  73. package/build/src/elements/http/UrlParamsForm.d.ts +1 -1
  74. package/build/src/elements/http/UrlParamsForm.d.ts.map +1 -1
  75. package/build/src/elements/http/UrlParamsForm.js +4 -4
  76. package/build/src/elements/http/UrlParamsForm.js.map +1 -1
  77. package/build/src/elements/project/HttpProjectRequest.d.ts +1 -1
  78. package/build/src/elements/project/HttpProjectRequest.d.ts.map +1 -1
  79. package/build/src/elements/project/HttpProjectRequest.js +3 -3
  80. package/build/src/elements/project/HttpProjectRequest.js.map +1 -1
  81. package/build/src/elements/project/HttpProjectRequestHistory.d.ts +1 -2
  82. package/build/src/elements/project/HttpProjectRequestHistory.d.ts.map +1 -1
  83. package/build/src/elements/project/HttpProjectRequestHistory.js +5 -6
  84. package/build/src/elements/project/HttpProjectRequestHistory.js.map +1 -1
  85. package/build/src/elements/project/ProjectRunReport.d.ts +1 -1
  86. package/build/src/elements/project/ProjectRunReport.d.ts.map +1 -1
  87. package/build/src/elements/project/ProjectRunReport.js +7 -7
  88. package/build/src/elements/project/ProjectRunReport.js.map +1 -1
  89. package/build/src/elements/project/ProjectRunner.d.ts +1 -2
  90. package/build/src/elements/project/ProjectRunner.d.ts.map +1 -1
  91. package/build/src/elements/project/ProjectRunner.js +4 -5
  92. package/build/src/elements/project/ProjectRunner.js.map +1 -1
  93. package/build/src/md/button/internals/base.d.ts +98 -0
  94. package/build/src/md/button/internals/base.d.ts.map +1 -0
  95. package/build/src/md/button/internals/base.js +353 -0
  96. package/build/src/md/button/internals/base.js.map +1 -0
  97. package/build/src/md/button/internals/button.d.ts +7 -75
  98. package/build/src/md/button/internals/button.d.ts.map +1 -1
  99. package/build/src/md/button/internals/button.js +18 -247
  100. package/build/src/md/button/internals/button.js.map +1 -1
  101. package/build/src/md/button/internals/{button-styles.d.ts → button.styles.d.ts} +1 -1
  102. package/build/src/md/button/internals/button.styles.d.ts.map +1 -0
  103. package/build/src/md/button/internals/button.styles.js +319 -0
  104. package/build/src/md/button/internals/button.styles.js.map +1 -0
  105. package/build/src/md/button/internals/group.d.ts +54 -0
  106. package/build/src/md/button/internals/group.d.ts.map +1 -0
  107. package/build/src/md/button/internals/group.js +157 -0
  108. package/build/src/md/button/internals/group.js.map +1 -0
  109. package/build/src/md/button/internals/{text-button.styles.d.ts → group.styles.d.ts} +1 -1
  110. package/build/src/md/button/internals/group.styles.d.ts.map +1 -0
  111. package/build/src/md/button/internals/group.styles.js +102 -0
  112. package/build/src/md/button/internals/group.styles.js.map +1 -0
  113. package/build/src/md/button/ui-button-group.d.ts +11 -0
  114. package/build/src/md/button/ui-button-group.d.ts.map +1 -0
  115. package/build/src/md/{icon-button/ui-filled-icon-button.js → button/ui-button-group.js} +10 -11
  116. package/build/src/md/button/ui-button-group.js.map +1 -0
  117. package/build/src/md/button/ui-button.d.ts +14 -0
  118. package/build/src/md/button/ui-button.d.ts.map +1 -0
  119. package/build/src/md/button/{ui-text-button.js → ui-button.js} +10 -11
  120. package/build/src/md/button/ui-button.js.map +1 -0
  121. package/build/src/md/dialog/internals/Dialog.d.ts +5 -5
  122. package/build/src/md/dialog/internals/Dialog.d.ts.map +1 -1
  123. package/build/src/md/dialog/internals/Dialog.js +14 -9
  124. package/build/src/md/dialog/internals/Dialog.js.map +1 -1
  125. package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts +1 -1
  126. package/build/src/md/dropdown-list/internals/UiDropdownList.js +1 -1
  127. package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
  128. package/build/src/md/icon-button/internals/IconButton.d.ts +12 -36
  129. package/build/src/md/icon-button/internals/IconButton.d.ts.map +1 -1
  130. package/build/src/md/icon-button/internals/IconButton.js +32 -144
  131. package/build/src/md/icon-button/internals/IconButton.js.map +1 -1
  132. package/build/src/md/{button/internals/filled-button.styles.d.ts → icon-button/internals/IconButton.styles.d.ts} +1 -1
  133. package/build/src/md/icon-button/internals/IconButton.styles.d.ts.map +1 -0
  134. package/build/src/md/icon-button/internals/IconButton.styles.js +286 -0
  135. package/build/src/md/icon-button/internals/IconButton.styles.js.map +1 -0
  136. package/build/src/md/icon-button/ui-icon-button.d.ts.map +1 -1
  137. package/build/src/md/icon-button/ui-icon-button.js +2 -3
  138. package/build/src/md/icon-button/ui-icon-button.js.map +1 -1
  139. package/build/src/md/ripple/internals/ripple.d.ts +2 -0
  140. package/build/src/md/ripple/internals/ripple.d.ts.map +1 -1
  141. package/build/src/md/ripple/internals/ripple.js +20 -10
  142. package/build/src/md/ripple/internals/ripple.js.map +1 -1
  143. package/build/src/md/ripple/internals/ripple.styles.d.ts.map +1 -1
  144. package/build/src/md/ripple/internals/ripple.styles.js +8 -20
  145. package/build/src/md/ripple/internals/ripple.styles.js.map +1 -1
  146. package/build/src/md/snackbar/internals/Snackbar.d.ts +1 -1
  147. package/build/src/md/snackbar/internals/Snackbar.d.ts.map +1 -1
  148. package/build/src/md/snackbar/internals/Snackbar.js +4 -2
  149. package/build/src/md/snackbar/internals/Snackbar.js.map +1 -1
  150. package/build/src/md/text-field/internals/filled.styles.d.ts.map +1 -1
  151. package/build/src/md/text-field/internals/filled.styles.js +3 -0
  152. package/build/src/md/text-field/internals/filled.styles.js.map +1 -1
  153. package/build/src/styles/m3/dialog.module.d.ts +2 -2
  154. package/build/src/styles/m3/dialog.module.js +2 -2
  155. package/build/src/styles/m3/dialog.module.js.map +1 -1
  156. package/build/src/styles/m3/tokens.d.ts.map +1 -1
  157. package/build/src/styles/m3/tokens.js +208 -182
  158. package/build/src/styles/m3/tokens.js.map +1 -1
  159. package/demo/elements/authorization/oauth-authorize.html +1 -1
  160. package/demo/elements/authorization/oauth-authorize.ts +1 -1
  161. package/demo/elements/environment/variables-editor.ts +2 -2
  162. package/demo/elements/http/url-editing.ts +3 -3
  163. package/demo/elements/project/request-editor.ts +4 -4
  164. package/demo/layout/index.ts +5 -5
  165. package/demo/md/buttons/button.html +121 -0
  166. package/demo/md/buttons/button.ts +246 -0
  167. package/demo/md/buttons/{index.html → group.html} +15 -2
  168. package/demo/md/buttons/group.ts +171 -0
  169. package/demo/md/checkbox/index.ts +1 -1
  170. package/demo/md/dialog/dialog.ts +8 -9
  171. package/demo/md/dropdown-list/index.ts +68 -71
  172. package/demo/md/icon-button/index.html +97 -7
  173. package/demo/md/icon-button/index.ts +97 -201
  174. package/demo/md/index.html +3 -1
  175. package/demo/md/inputs/input.ts +1 -1
  176. package/demo/md/inputs/radio.ts +1 -1
  177. package/demo/md/inputs/switch.ts +1 -1
  178. package/demo/md/notification/snack.ts +5 -5
  179. package/demo/md/progress/progress.ts +4 -3
  180. package/package.json +2 -2
  181. package/src/core/ModalActivity.ts +6 -5
  182. package/src/core/ThemeManager.ts +5 -4
  183. package/src/demo/DemoPage.ts +2 -5
  184. package/src/elements/authorization/ui/CcAuthorization.ts +2 -2
  185. package/src/elements/authorization/ui/OAuth2Authorization.ts +11 -5
  186. package/src/elements/authorization/ui/OidcAuthorization.ts +10 -8
  187. package/src/elements/code/HttpSnippets.ts +5 -5
  188. package/src/elements/dialog/internals/ConfirmDelete.ts +5 -5
  189. package/src/elements/dialog/internals/Rename.ts +6 -5
  190. package/src/elements/environment/EnvironmentEditor.ts +5 -4
  191. package/src/elements/file-system/internals/Breadcrumbs.ts +3 -4
  192. package/src/elements/http/BodyEditor.ts +25 -20
  193. package/src/elements/http/BodyMultipartEditor.ts +3 -3
  194. package/src/elements/http/CertificateAdd.element.ts +6 -10
  195. package/src/elements/http/HeadersForm.ts +3 -3
  196. package/src/elements/http/HttpAssertions.element.ts +2 -2
  197. package/src/elements/http/HttpFlows.element.ts +6 -6
  198. package/src/elements/http/RequestEditor.ts +10 -11
  199. package/src/elements/http/UrlParamsForm.ts +4 -4
  200. package/src/elements/project/HttpProjectRequest.ts +3 -3
  201. package/src/elements/project/HttpProjectRequestHistory.ts +5 -6
  202. package/src/elements/project/ProjectRunReport.ts +7 -7
  203. package/src/elements/project/ProjectRunner.ts +4 -5
  204. package/src/md/button/internals/base.ts +299 -0
  205. package/src/md/button/internals/button.styles.ts +319 -0
  206. package/src/md/button/internals/button.ts +8 -234
  207. package/src/md/button/internals/group.styles.ts +102 -0
  208. package/src/md/button/internals/group.ts +121 -0
  209. package/src/md/button/ui-button-group.ts +15 -0
  210. package/src/md/button/ui-button.ts +18 -0
  211. package/src/md/dialog/internals/Dialog.ts +14 -9
  212. package/src/md/dropdown-list/internals/UiDropdownList.ts +1 -1
  213. package/src/md/icon-button/internals/IconButton.styles.ts +286 -0
  214. package/src/md/icon-button/internals/IconButton.ts +15 -139
  215. package/src/md/icon-button/ui-icon-button.ts +2 -3
  216. package/src/md/ripple/internals/ripple.styles.ts +8 -20
  217. package/src/md/ripple/internals/ripple.ts +21 -13
  218. package/src/md/snackbar/internals/Snackbar.ts +4 -2
  219. package/src/md/text-field/internals/filled.styles.ts +3 -0
  220. package/src/styles/m3/dialog.module.ts +2 -2
  221. package/src/styles/m3/native.css +270 -0
  222. package/src/styles/m3/tokens.css +208 -182
  223. package/src/styles/m3/tokens.ts +208 -182
  224. package/test/ui/button/UiButton.test.ts +51 -29
  225. package/test/ui/button/UiIconButton.test.ts +25 -19
  226. package/test/ui/dialog/UiDialog.test.ts +10 -10
  227. package/build/src/md/button/internals/button-styles.d.ts.map +0 -1
  228. package/build/src/md/button/internals/button-styles.js +0 -143
  229. package/build/src/md/button/internals/button-styles.js.map +0 -1
  230. package/build/src/md/button/internals/elevated-button.d.ts +0 -4
  231. package/build/src/md/button/internals/elevated-button.d.ts.map +0 -1
  232. package/build/src/md/button/internals/elevated-button.js +0 -4
  233. package/build/src/md/button/internals/elevated-button.js.map +0 -1
  234. package/build/src/md/button/internals/elevated-button.styles.d.ts +0 -3
  235. package/build/src/md/button/internals/elevated-button.styles.d.ts.map +0 -1
  236. package/build/src/md/button/internals/elevated-button.styles.js +0 -38
  237. package/build/src/md/button/internals/elevated-button.styles.js.map +0 -1
  238. package/build/src/md/button/internals/filled-button.d.ts +0 -4
  239. package/build/src/md/button/internals/filled-button.d.ts.map +0 -1
  240. package/build/src/md/button/internals/filled-button.js +0 -4
  241. package/build/src/md/button/internals/filled-button.js.map +0 -1
  242. package/build/src/md/button/internals/filled-button.styles.d.ts.map +0 -1
  243. package/build/src/md/button/internals/filled-button.styles.js +0 -30
  244. package/build/src/md/button/internals/filled-button.styles.js.map +0 -1
  245. package/build/src/md/button/internals/filled-tonal-button.d.ts +0 -4
  246. package/build/src/md/button/internals/filled-tonal-button.d.ts.map +0 -1
  247. package/build/src/md/button/internals/filled-tonal-button.js +0 -4
  248. package/build/src/md/button/internals/filled-tonal-button.js.map +0 -1
  249. package/build/src/md/button/internals/filled-tonal-button.styles.d.ts +0 -3
  250. package/build/src/md/button/internals/filled-tonal-button.styles.d.ts.map +0 -1
  251. package/build/src/md/button/internals/filled-tonal-button.styles.js +0 -30
  252. package/build/src/md/button/internals/filled-tonal-button.styles.js.map +0 -1
  253. package/build/src/md/button/internals/outlined-button.d.ts +0 -4
  254. package/build/src/md/button/internals/outlined-button.d.ts.map +0 -1
  255. package/build/src/md/button/internals/outlined-button.js +0 -4
  256. package/build/src/md/button/internals/outlined-button.js.map +0 -1
  257. package/build/src/md/button/internals/outlined-button.styles.d.ts +0 -3
  258. package/build/src/md/button/internals/outlined-button.styles.d.ts.map +0 -1
  259. package/build/src/md/button/internals/outlined-button.styles.js +0 -31
  260. package/build/src/md/button/internals/outlined-button.styles.js.map +0 -1
  261. package/build/src/md/button/internals/text-button.d.ts +0 -4
  262. package/build/src/md/button/internals/text-button.d.ts.map +0 -1
  263. package/build/src/md/button/internals/text-button.js +0 -4
  264. package/build/src/md/button/internals/text-button.js.map +0 -1
  265. package/build/src/md/button/internals/text-button.styles.d.ts.map +0 -1
  266. package/build/src/md/button/internals/text-button.styles.js +0 -30
  267. package/build/src/md/button/internals/text-button.styles.js.map +0 -1
  268. package/build/src/md/button/ui-elevated-button.d.ts +0 -14
  269. package/build/src/md/button/ui-elevated-button.d.ts.map +0 -1
  270. package/build/src/md/button/ui-elevated-button.js +0 -31
  271. package/build/src/md/button/ui-elevated-button.js.map +0 -1
  272. package/build/src/md/button/ui-filled-button.d.ts +0 -14
  273. package/build/src/md/button/ui-filled-button.d.ts.map +0 -1
  274. package/build/src/md/button/ui-filled-button.js +0 -31
  275. package/build/src/md/button/ui-filled-button.js.map +0 -1
  276. package/build/src/md/button/ui-filled-tonal-button.d.ts +0 -14
  277. package/build/src/md/button/ui-filled-tonal-button.d.ts.map +0 -1
  278. package/build/src/md/button/ui-filled-tonal-button.js +0 -31
  279. package/build/src/md/button/ui-filled-tonal-button.js.map +0 -1
  280. package/build/src/md/button/ui-outlined-button.d.ts +0 -14
  281. package/build/src/md/button/ui-outlined-button.d.ts.map +0 -1
  282. package/build/src/md/button/ui-outlined-button.js +0 -31
  283. package/build/src/md/button/ui-outlined-button.js.map +0 -1
  284. package/build/src/md/button/ui-text-button.d.ts +0 -14
  285. package/build/src/md/button/ui-text-button.d.ts.map +0 -1
  286. package/build/src/md/button/ui-text-button.js.map +0 -1
  287. package/build/src/md/icon-button/ui-filled-icon-button.d.ts +0 -11
  288. package/build/src/md/icon-button/ui-filled-icon-button.d.ts.map +0 -1
  289. package/build/src/md/icon-button/ui-filled-icon-button.js.map +0 -1
  290. package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts +0 -11
  291. package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts.map +0 -1
  292. package/build/src/md/icon-button/ui-filled-tonal-icon-button.js +0 -28
  293. package/build/src/md/icon-button/ui-filled-tonal-icon-button.js.map +0 -1
  294. package/build/src/md/icon-button/ui-outlined-icon-button.d.ts +0 -11
  295. package/build/src/md/icon-button/ui-outlined-icon-button.d.ts.map +0 -1
  296. package/build/src/md/icon-button/ui-outlined-icon-button.js +0 -28
  297. package/build/src/md/icon-button/ui-outlined-icon-button.js.map +0 -1
  298. package/demo/md/buttons/index.ts +0 -279
  299. package/src/md/button/internals/button-styles.ts +0 -143
  300. package/src/md/button/internals/elevated-button.styles.ts +0 -38
  301. package/src/md/button/internals/elevated-button.ts +0 -3
  302. package/src/md/button/internals/filled-button.styles.ts +0 -30
  303. package/src/md/button/internals/filled-button.ts +0 -3
  304. package/src/md/button/internals/filled-tonal-button.styles.ts +0 -30
  305. package/src/md/button/internals/filled-tonal-button.ts +0 -3
  306. package/src/md/button/internals/outlined-button.styles.ts +0 -31
  307. package/src/md/button/internals/outlined-button.ts +0 -3
  308. package/src/md/button/internals/text-button.styles.ts +0 -30
  309. package/src/md/button/internals/text-button.ts +0 -3
  310. package/src/md/button/ui-elevated-button.ts +0 -19
  311. package/src/md/button/ui-filled-button.ts +0 -19
  312. package/src/md/button/ui-filled-tonal-button.ts +0 -19
  313. package/src/md/button/ui-outlined-button.ts +0 -19
  314. package/src/md/button/ui-text-button.ts +0 -19
  315. package/src/md/icon-button/ui-filled-icon-button.ts +0 -16
  316. package/src/md/icon-button/ui-filled-tonal-icon-button.ts +0 -16
  317. package/src/md/icon-button/ui-outlined-icon-button.ts +0 -16
@@ -0,0 +1,286 @@
1
+ import { css } from 'lit'
2
+
3
+ export default css`
4
+ :host {
5
+ all: unset;
6
+
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ position: relative;
11
+ box-sizing: border-box;
12
+ white-space: nowrap;
13
+
14
+ --md-ripple-hover-state-layer-color: currentColor;
15
+ --md-ripple-focus-state-layer-color: currentColor;
16
+ --md-ripple-pressed-state-layer-color: currentColor;
17
+
18
+ --_color: inherit;
19
+ --_background-color: transparent;
20
+ --_icon-size: var(--md-button-icon-size, 20px);
21
+ --_container-height: inherit;
22
+ --_leading-space: 0;
23
+ --_trailing-space: 0;
24
+ --_radius: 0;
25
+ --_outline-width: 0;
26
+
27
+ --_xs-radius: 16px;
28
+ --_s-radius: 20px;
29
+ --_m-radius: 28px;
30
+ --_l-radius: 48px;
31
+ --_xl-radius: 68px;
32
+
33
+ background-color: var(--_background-color);
34
+ color: var(--_color);
35
+ fill: var(--_color);
36
+ height: var(--_container-height);
37
+ padding-inline-start: var(--_leading-space);
38
+ padding-inline-end: var(--_trailing-space);
39
+ border: var(--_outline-width) var(--md-sys-color-outline-variant) solid;
40
+ border-end-end-radius: var(--ui-button-shape-end-end, var(--_radius));
41
+ border-end-start-radius: var(--ui-button-shape-end-start, var(--_radius));
42
+ border-start-end-radius: var(--ui-button-shape-start-end, var(--_radius));
43
+ border-start-start-radius: var(--ui-button-shape-start-start, var(--_radius));
44
+
45
+ /* Interaction styles */
46
+ cursor: pointer;
47
+ user-select: none;
48
+ -webkit-tap-highlight-color: transparent;
49
+ outline: none;
50
+
51
+ transition:
52
+ background-color var(--md-sys-motion-duration-short2, 200ms)
53
+ var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
54
+ color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
55
+ border-color var(--md-sys-motion-duration-short2, 200ms)
56
+ var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
57
+ border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);
58
+ }
59
+
60
+ ::slotted(*) {
61
+ width: var(--_icon-size) !important;
62
+ height: var(--_icon-size) !important;
63
+ color: var(--_color);
64
+ fill: var(--_color);
65
+ }
66
+
67
+ .ripple {
68
+ border-radius: inherit;
69
+ transition: border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);
70
+ }
71
+
72
+ .focus-ring {
73
+ --md-focus-ring-shape-end-end: var(--ui-button-shape-end-end, var(--_radius));
74
+ --md-focus-ring-shape-end-start: var(--ui-button-shape-end-start, var(--_radius));
75
+ --md-focus-ring-shape-start-end: var(--ui-button-shape-start-end, var(--_radius));
76
+ --md-focus-ring-shape-start-start: var(--ui-button-shape-start-start, var(--_radius));
77
+ transition: border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);
78
+ }
79
+
80
+ .ripple.activated {
81
+ z-index: 1;
82
+ }
83
+
84
+ /* Filled Button */
85
+ :host([color='filled']) {
86
+ --_background-color: var(--md-sys-color-primary);
87
+ --_color: var(--md-sys-color-on-primary);
88
+ }
89
+
90
+ :host([color='filled'][toggle]) {
91
+ --_background-color: var(--md-sys-color-surface-container);
92
+ --_color: var(--md-sys-color-on-surface-variant);
93
+ }
94
+
95
+ :host([color='filled'][toggle][selected]) {
96
+ --_background-color: var(--md-sys-color-primary);
97
+ --_color: var(--md-sys-color-on-primary);
98
+ }
99
+
100
+ :host([color='filled'][disabled]) {
101
+ --_background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);
102
+ --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);
103
+ }
104
+
105
+ /* Filled Tonal Button */
106
+ :host([color='tonal']) {
107
+ --_background-color: var(--md-sys-color-secondary-container);
108
+ --_color: var(--md-sys-color-on-secondary-container);
109
+ }
110
+
111
+ :host([color='tonal'][toggle]) {
112
+ --_background-color: var(--md-sys-color-secondary-container);
113
+ --_color: var(--md-sys-color-on-secondary-container);
114
+ }
115
+
116
+ :host([color='tonal'][toggle][selected]) {
117
+ --_background-color: var(--md-sys-color-secondary);
118
+ --_color: var(--md-sys-color-on-secondary);
119
+ }
120
+
121
+ :host([color='tonal']:hover:not([disabled])) {
122
+ --_shadow: var(--md-sys-elevation-1);
123
+ }
124
+
125
+ :host([color='tonal'][disabled]) {
126
+ --_background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);
127
+ --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);
128
+ }
129
+
130
+ /* Outlined Button */
131
+ :host([color='outlined']) {
132
+ --_outline-width: 1px;
133
+ --_color: var(--md-sys-color-on-surface-variant);
134
+ }
135
+ :host([color='outlined'][size='l']),
136
+ :host([color='outlined'][size='xl']) {
137
+ --_outline-width: 3px;
138
+ }
139
+
140
+ :host([color='outlined'][toggle][selected]) {
141
+ --_background-color: var(--md-sys-color-inverse-surface);
142
+ --_color: var(--md-sys-color-inverse-on-surface);
143
+ }
144
+
145
+ :host([color='outlined'][disabled]) {
146
+ border-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);
147
+ --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);
148
+ }
149
+
150
+ /* Standard Button */
151
+ :host([color='standard']) {
152
+ --_color: var(--md-sys-color-on-surface-variant);
153
+ }
154
+
155
+ :host([color='standard'][toggle][selected]) {
156
+ --_color: var(--md-sys-color-primary);
157
+ }
158
+
159
+ :host([color='standard'][disabled]) {
160
+ color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);
161
+ }
162
+
163
+ /* Sizes */
164
+ :host([size='xs']) {
165
+ --_container-height: 32px;
166
+ --_icon-size: 20px;
167
+ }
168
+ :host([size='s']) {
169
+ --_container-height: 40px;
170
+ --_icon-size: 24px;
171
+ }
172
+ :host([size='m']) {
173
+ --_container-height: 56px;
174
+ --_icon-size: 24px;
175
+ }
176
+ :host([size='l']) {
177
+ --_container-height: 96px;
178
+ --_icon-size: 32px;
179
+ }
180
+ :host([size='xl']) {
181
+ --_container-height: 136px;
182
+ --_icon-size: 40px;
183
+ }
184
+ :host([size='xs'][width='narrow']) {
185
+ --_leading-space: 4px;
186
+ --_trailing-space: 4px;
187
+ }
188
+ :host([size='xs'][width='default']) {
189
+ --_leading-space: 6px;
190
+ --_trailing-space: 6px;
191
+ }
192
+ :host([size='xs'][width='wide']) {
193
+ --_leading-space: 10px;
194
+ --_trailing-space: 10px;
195
+ }
196
+ :host([size='s'][width='narrow']) {
197
+ --_leading-space: 4px;
198
+ --_trailing-space: 4px;
199
+ }
200
+ :host([size='s'][width='default']) {
201
+ --_leading-space: 8px;
202
+ --_trailing-space: 8px;
203
+ }
204
+ :host([size='s'][width='wide']) {
205
+ --_leading-space: 14px;
206
+ --_trailing-space: 14px;
207
+ }
208
+ :host([size='m'][width='narrow']) {
209
+ --_leading-space: 12px;
210
+ --_trailing-space: 12px;
211
+ }
212
+ :host([size='m'][width='default']) {
213
+ --_leading-space: 16px;
214
+ --_trailing-space: 16px;
215
+ }
216
+ :host([size='m'][width='wide']) {
217
+ --_leading-space: 24px;
218
+ --_trailing-space: 24px;
219
+ }
220
+ :host([size='l'][width='narrow']) {
221
+ --_leading-space: 16px;
222
+ --_trailing-space: 16px;
223
+ }
224
+ :host([size='l'][width='default']) {
225
+ --_leading-space: 32px;
226
+ --_trailing-space: 32px;
227
+ }
228
+ :host([size='l'][width='wide']) {
229
+ --_leading-space: 48px;
230
+ --_trailing-space: 48px;
231
+ }
232
+ :host([size='xl'][width='narrow']) {
233
+ --_leading-space: 32px;
234
+ --_trailing-space: 32px;
235
+ }
236
+ :host([size='xl'][width='default']) {
237
+ --_leading-space: 48px;
238
+ --_trailing-space: 48px;
239
+ }
240
+ :host([size='xl'][width='wide']) {
241
+ --_leading-space: 72px;
242
+ --_trailing-space: 72px;
243
+ }
244
+
245
+ /* Shape setup */
246
+ /* For the round shape, we can't use the "--md-sys-shape-corner-full" value as it has a value of 999px and it would make animations impossible so see. */
247
+ :host([shape='round'][size='xs']) {
248
+ --_radius: var(--_xs-radius);
249
+ }
250
+ :host([shape='round'][size='s']) {
251
+ --_radius: var(--_s-radius);
252
+ }
253
+ :host([shape='square'][size='xs']),
254
+ :host([shape='square'][size='s']) {
255
+ --_radius: var(--md-sys-shape-corner-medium);
256
+ }
257
+ :host([shape='round'][size='m']) {
258
+ --_radius: var(--_m-radius);
259
+ }
260
+ :host([shape='square'][size='m']) {
261
+ --_radius: var(--md-sys-shape-corner-large);
262
+ }
263
+ :host([shape='round'][size='l']) {
264
+ --_radius: var(--_l-radius);
265
+ }
266
+ :host([shape='round'][size='xl']) {
267
+ --_radius: var(--_xl-radius);
268
+ }
269
+ :host([shape='square'][size='l']),
270
+ :host([shape='square'][size='xl']) {
271
+ --_radius: var(--md-sys-shape-corner-extra-large);
272
+ }
273
+
274
+ /* Pressed shapes */
275
+ :host([size='xs'].pressed),
276
+ :host([size='s'].pressed) {
277
+ --_radius: var(--md-sys-shape-corner-small);
278
+ }
279
+ :host([size='m'].pressed) {
280
+ --_radius: var(--md-sys-shape-corner-medium);
281
+ }
282
+ :host([size='l'].pressed),
283
+ :host([size='xl'].pressed) {
284
+ --_radius: var(--md-sys-shape-corner-large);
285
+ }
286
+ `
@@ -1,155 +1,31 @@
1
- /* eslint-disable max-len */
2
- import { html, PropertyValues, TemplateResult } from 'lit'
3
- import { property, query } from 'lit/decorators.js'
4
- import { classMap } from 'lit/directives/class-map.js'
5
- import { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js'
6
- import { UiElement } from '../../UiElement.js'
7
- import { isDisabled, setDisabled } from '../../../lib/disabled.js'
8
- import UiRipple from '../../ripple/internals/ripple.js'
1
+ import { html, type TemplateResult } from 'lit'
2
+ import BaseButton from '../../button/internals/base.js'
3
+ import { property } from 'lit/decorators.js'
9
4
 
10
- import '../../ripple/ui-ripple.js'
11
- import '@material/web/focus/md-focus-ring.js'
5
+ export type MdIconButtonColor = 'filled' | 'outlined' | 'standard' | 'tonal'
6
+ export type MdIconButtonWidth = 'default' | 'narrow' | 'wide'
12
7
 
13
8
  /**
14
- * @fires active - An event dispatched when the `active` state has changed. This only happens when the button is `toggle`.
9
+ * An icon button component that extends the functionality of a standard button,
10
+ * but is specifically designed to hold an icon.
11
+ * @slot - The default slot for the icon.
15
12
  */
16
- export default class IconButton extends UiElement {
13
+ export default class IconButton extends BaseButton {
17
14
  /**
18
- * Whether the button can be toggled.
19
- * A toggle button behaves different as it gets the `aria-pressed` attribute
20
- * which changes depending on the pressed state.
21
- * A toggle button is activated until it is clicked/pressed again.
22
- * A toggle button dispatched `active` event when the press state change.
23
- * The host can check the `active` property to know the state.
24
- *
15
+ * The color of the button.
25
16
  * @attribute
26
17
  */
27
- @property({ type: Boolean, reflect: true }) accessor toggle: boolean | undefined
28
-
29
- /**
30
- * A flag that determines whether the button is activated (pressed when `toggle` is set).
31
- * It is `undefined` and makes no effect when `toggle` is not set.
32
- *
33
- * @attribute
34
- */
35
- @property({ type: Boolean, reflect: true }) accessor active: boolean | undefined
36
-
37
- get disabled(): boolean {
38
- return isDisabled(this)
39
- }
40
-
18
+ @property({ type: String, reflect: true }) accessor color: MdIconButtonColor = 'standard'
41
19
  /**
42
- * When set, the button is a disabled state.
20
+ * The width of the button.
43
21
  * @attribute
44
22
  */
45
- @property({ reflect: true, type: Boolean })
46
- set disabled(value: boolean) {
47
- const old = isDisabled(this)
48
- setDisabled(this, value)
49
- this.requestUpdate('disabled', old)
50
- }
51
-
52
- @query('ui-ripple') protected accessor ripple!: UiRipple | null
53
-
54
- constructor() {
55
- super()
56
-
57
- this.actionController.cancelKeyboardEvents = true
58
- this.addEventListener('keydown', this.handleKeyDown.bind(this))
59
- this.addEventListener('keyup', this.handleKeyUp.bind(this))
60
- this.addEventListener('click', this.handleClick.bind(this))
61
- this.addEventListener('pointerdown', this.handlePointerDown.bind(this))
62
- this.addEventListener('pointerup', this.handlePointerUp.bind(this))
63
- this.addEventListener('pointercancel', this.handlePointerCancel.bind(this))
64
- this.addEventListener('pointerleave', this.handlePointerLeave.bind(this))
65
- this.addEventListener('pointerenter', this.handlePointerEnter.bind(this))
66
- this.addEventListener('contextmenu', this.handleContextMenu.bind(this))
67
- }
68
-
69
- override connectedCallback(): void {
70
- super.connectedCallback()
71
- if (!this.hasAttribute('role')) {
72
- this.setAttribute('role', 'button')
73
- }
74
- if (!this.hasAttribute('tabindex') && !this.disabled) {
75
- this.setAttribute('tabindex', '0')
76
- }
77
- }
78
-
79
- protected override update(changedProperties: PropertyValues<this>): void {
80
- if (changedProperties.has('active')) {
81
- this.setAttribute('aria-pressed', String(this.active))
82
- }
83
- super.update(changedProperties)
84
- }
85
-
86
- protected pressRipple(options: BeginPressConfig): void {
87
- const element = this.ripple
88
- if (element && !element.isPressed) {
89
- element.beginPress(options.positionEvent as PointerEvent)
90
- }
91
- }
92
-
93
- protected endRipple(): void {
94
- this.ripple?.endPress()
95
- }
96
-
97
- override beginPress(options: BeginPressConfig): void {
98
- super.beginPress(options)
99
- this.pressRipple(options)
100
- }
101
-
102
- override endPress(config: EndPressConfig): void {
103
- super.endPress(config)
104
- this.endRipple()
105
- const { cancelled, reason } = config
106
- if (cancelled) {
107
- return
108
- }
109
- if (!reason || reason === 'enter' || reason === 'space') {
110
- if (this.toggle) {
111
- this.active = !this.active
112
- // note, only dispatch events when user interacting with the UI.
113
- this.dispatchEvent(new Event('active'))
114
- }
115
- }
116
- if (reason === 'enter' || reason === 'space') {
117
- if (!this.toggle) {
118
- this.click()
119
- }
120
- }
121
- }
122
-
123
- override handlePointerEnter(e: PointerEvent): void {
124
- super.handlePointerEnter(e)
125
- if (this.ripple) {
126
- this.ripple.beginHover(e)
127
- }
128
- }
129
-
130
- override handlePointerLeave(e: PointerEvent): void {
131
- super.handlePointerLeave(e)
132
- if (this.ripple) {
133
- this.ripple.endHover()
134
- }
135
- }
23
+ @property({ type: String, reflect: true }) accessor width: MdIconButtonWidth = 'default'
136
24
 
137
25
  protected override render(): TemplateResult {
138
- const { pressed = false } = this
139
- const containerClasses = classMap({
140
- surface: true,
141
- pressed,
142
- })
143
26
  return html`
144
- <md-focus-ring part="focus-ring" .control="${this as HTMLElement}"></md-focus-ring>
145
- <ui-ripple class="ripple" ?disabled="${this.disabled}"></ui-ripple>
146
- <div class="${containerClasses}">
147
- <div class="container"></div>
148
- <div class="state"></div>
149
- <div class="content">
150
- <slot></slot>
151
- </div>
152
- </div>
27
+ ${this.renderFocusRing()} ${this.renderRipple()}
28
+ <slot></slot>
153
29
  `
154
30
  }
155
31
  }
@@ -1,12 +1,11 @@
1
1
  import type { CSSResultOrNative } from 'lit'
2
2
  import { customElement } from 'lit/decorators.js'
3
3
  import Element from './internals/IconButton.js'
4
- import base from './internals/base.styles.js'
5
- import styles from './internals/standard.styles.js'
4
+ import styles from './internals/IconButton.styles.js'
6
5
 
7
6
  @customElement('ui-icon-button')
8
7
  export class UiIconButtonElement extends Element {
9
- static override styles: CSSResultOrNative[] = [base, styles]
8
+ static override styles: CSSResultOrNative[] = [styles]
10
9
  }
11
10
 
12
11
  declare global {
@@ -22,8 +22,7 @@ export default css`
22
22
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
23
23
  }
24
24
 
25
- .surface::before,
26
- .surface::after {
25
+ .surface::before {
27
26
  position: absolute;
28
27
  opacity: 0;
29
28
  pointer-events: none;
@@ -38,19 +37,10 @@ export default css`
38
37
  inset: 0;
39
38
  }
40
39
 
41
- .surface::after {
42
- transition: opacity 375ms linear;
43
- transform-origin: center center;
44
- }
45
-
46
40
  .focused::before {
47
41
  transition-duration: 75ms;
48
42
  }
49
43
 
50
- .pressed::after {
51
- transition-duration: 105ms;
52
- }
53
-
54
44
  .surface {
55
45
  border-radius: var(--md-ripple-state-layer-shape, 0);
56
46
  }
@@ -59,14 +49,6 @@ export default css`
59
49
  background-color: var(--md-ripple-hover-state-layer-color, var(--md-sys-color-primary));
60
50
  }
61
51
 
62
- .surface::after {
63
- background: radial-gradient(
64
- closest-side,
65
- var(--md-ripple-pressed-state-layer-color, var(--md-sys-color-primary)) max(100% - 70px, 65%),
66
- transparent 100%
67
- );
68
- }
69
-
70
52
  .surface.hovered::before {
71
53
  opacity: var(--md-ripple-hover-state-layer-opacity, var(--md-sys-state-hover-state-layer-opacity));
72
54
  background-color: var(--md-ripple-hover-state-layer-color, var(--md-sys-color-primary));
@@ -77,8 +59,14 @@ export default css`
77
59
  background-color: var(--md-ripple-focus-state-layer-color, var(--md-sys-color-primary));
78
60
  }
79
61
 
80
- .surface.pressed::after {
62
+ .surface.pressed::before {
81
63
  opacity: var(--md-ripple-pressed-state-layer-opacity, var(--md-sys-state-pressed-state-layer-opacity));
64
+ /* background-color: var(--md-ripple-pressed-state-layer-color, var(--md-sys-color-primary)); */
65
+ background: radial-gradient(
66
+ closest-side,
67
+ var(--md-ripple-pressed-state-layer-color, var(--md-sys-color-primary)) max(100% - 70px, 65%),
68
+ transparent 100%
69
+ );
82
70
  }
83
71
 
84
72
  .surface.unbounded {
@@ -74,6 +74,13 @@ export default class UiRipple extends LitElement {
74
74
  }
75
75
  }
76
76
 
77
+ protected override willUpdate(changed: PropertyValues): void {
78
+ super.willUpdate(changed)
79
+ if (changed.has('hovered') || changed.has('focused') || changed.has('pressed')) {
80
+ this.manageActivated()
81
+ }
82
+ }
83
+
77
84
  protected override update(changedProps: PropertyValues<this>): void {
78
85
  if (changedProps.has('disabled') && this.disabled) {
79
86
  this.endHover()
@@ -156,8 +163,6 @@ export default class UiRipple extends LitElement {
156
163
  const translateStart = `${startPoint.x}px, ${startPoint.y}px`
157
164
  const translateEnd = `${endPoint.x}px, ${endPoint.y}px`
158
165
 
159
- // const signal = this.pressAnimationSignal.start()
160
-
161
166
  const growAnimation = mdRoot.animate(
162
167
  {
163
168
  top: [0, 0],
@@ -174,22 +179,11 @@ export default class UiRipple extends LitElement {
174
179
  }
175
180
  )
176
181
 
177
- // growAnimation.addEventListener('finish', () => {
178
- // this.pressAnimationSignal.finish()
179
- // this.growAnimation = null
180
- // })
181
-
182
- // signal.addEventListener('abort', () => {
183
- // growAnimation.cancel()
184
- // this.growAnimation = null
185
- // })
186
-
187
182
  this.growAnimation = growAnimation
188
183
  }
189
184
 
190
185
  private async endPressAnimation() {
191
186
  this.rippleStartEvent = undefined
192
- // this.state = State.INACTIVE
193
187
  const animation = this.growAnimation
194
188
  let pressAnimationPlayState = Infinity
195
189
  if (typeof animation?.currentTime === 'number') {
@@ -219,19 +213,23 @@ export default class UiRipple extends LitElement {
219
213
  beginHover(hoverEvent?: Event): void {
220
214
  if ((hoverEvent as PointerEvent)?.pointerType !== 'touch') {
221
215
  this.hovered = true
216
+ this.manageActivated()
222
217
  }
223
218
  }
224
219
 
225
220
  endHover(): void {
226
221
  this.hovered = false
222
+ this.manageActivated()
227
223
  }
228
224
 
229
225
  beginFocus(): void {
230
226
  this.focused = true
227
+ this.manageActivated()
231
228
  }
232
229
 
233
230
  endFocus(): void {
234
231
  this.focused = false
232
+ this.manageActivated()
235
233
  }
236
234
 
237
235
  beginPress(positionEvent?: Event | null): void {
@@ -242,6 +240,7 @@ export default class UiRipple extends LitElement {
242
240
  this.delayedEndPressHandle = null
243
241
  }
244
242
  this.startPressAnimation(positionEvent)
243
+ this.manageActivated()
245
244
  }
246
245
 
247
246
  endPress(): void {
@@ -255,5 +254,14 @@ export default class UiRipple extends LitElement {
255
254
  }, MINIMUM_PRESS_MS - pressAnimationPlayState) as unknown as number
256
255
  }
257
256
  this.endPressAnimation()
257
+ this.manageActivated()
258
+ }
259
+
260
+ protected manageActivated(): void {
261
+ if (this.pressed || this.hovered || this.focused) {
262
+ this.classList.add('activated')
263
+ } else {
264
+ this.classList.remove('activated')
265
+ }
258
266
  }
259
267
  }
@@ -2,7 +2,7 @@ import { html, LitElement, nothing, PropertyValues, TemplateResult } from 'lit'
2
2
  import { cancelEvent } from '@api-client/core/lib/events/Utils.js'
3
3
  import { property } from 'lit/decorators.js'
4
4
  import { classMap } from 'lit/directives/class-map.js'
5
- import '../../button/ui-text-button.js'
5
+ import '../../button/ui-button.js'
6
6
  import '../../icon-button/ui-icon-button.js'
7
7
  import '../../icons/ui-icon.js'
8
8
 
@@ -206,7 +206,9 @@ export class Snackbar extends LitElement {
206
206
  return nothing
207
207
  }
208
208
  return html`
209
- <ui-text-button class="action" @click="${this.actionHandler}" @action="${cancelEvent}">${action}</ui-text-button>
209
+ <ui-button color="text" class="action" @click="${this.actionHandler}" @action="${cancelEvent}"
210
+ >${action}</ui-button
211
+ >
210
212
  `
211
213
  }
212
214
 
@@ -6,13 +6,16 @@ export default css`
6
6
  --_active-indicator-height: 1px;
7
7
  --_focus-active-indicator-color: var(--md-sys-color-primary, #6750a4);
8
8
  --_focus-active-indicator-height: 2px;
9
+ border-radius: var(--md-sys-shape-corner-extra-small-top);
9
10
  }
10
11
 
11
12
  .surface {
12
13
  height: 56px;
14
+ border-radius: inherit;
13
15
  }
14
16
 
15
17
  .container {
18
+ border-radius: inherit;
16
19
  background-color: var(--md-sys-color-surface-variant);
17
20
  }
18
21
 
@@ -11,8 +11,8 @@ import { css } from 'lit'
11
11
  * <h3>Title</h3> <!-- h1, h2, or h3 -->
12
12
  * <!-- Any content -->
13
13
  * <div class="dialog-buttons">
14
- * <ui-text-button value="cancel" submit>Cancel</ui-text-button>
15
- * <ui-text-button value="submit" submit>Create</ui-text-button>
14
+ * <ui-button color="text" value="cancel" submit>Cancel</ui-button>
15
+ * <ui-button color="text" value="submit" submit>Create</ui-button>
16
16
  * </div>
17
17
  * </form>
18
18
  * </dialog>