material 3.2.6 → 3.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 (577) hide show
  1. package/README.md +1 -1
  2. package/dist/components/badge/badge.d.ts +0 -59
  3. package/dist/components/badge/constants.d.ts +0 -15
  4. package/dist/components/badge/index.d.ts +0 -6
  5. package/dist/components/badge/types.d.ts +0 -244
  6. package/dist/components/bottom-app-bar/bottom-app-bar.d.ts +0 -10
  7. package/dist/components/bottom-app-bar/constants.d.ts +0 -9
  8. package/dist/components/bottom-app-bar/index.d.ts +0 -4
  9. package/dist/components/bottom-app-bar/types.d.ts +0 -76
  10. package/dist/components/bottom-sheet/bottom-sheet.d.ts +0 -21
  11. package/dist/components/bottom-sheet/constants.d.ts +0 -29
  12. package/dist/components/bottom-sheet/types.d.ts +0 -89
  13. package/dist/components/button/button.d.ts +0 -62
  14. package/dist/components/button/constants.d.ts +0 -41
  15. package/dist/components/button/index.d.ts +0 -4
  16. package/dist/components/button/types.d.ts +0 -347
  17. package/dist/components/button-group/button-group.d.ts +0 -51
  18. package/dist/components/button-group/constants.d.ts +0 -83
  19. package/dist/components/button-group/index.d.ts +0 -10
  20. package/dist/components/button-group/types.d.ts +0 -234
  21. package/dist/components/card/card.d.ts +0 -64
  22. package/dist/components/card/constants.d.ts +0 -33
  23. package/dist/components/card/content.d.ts +0 -86
  24. package/dist/components/card/index.d.ts +0 -66
  25. package/dist/components/card/types.d.ts +0 -366
  26. package/dist/components/carousel/carousel.d.ts +0 -22
  27. package/dist/components/carousel/constants.d.ts +0 -16
  28. package/dist/components/carousel/types.d.ts +0 -29
  29. package/dist/components/checkbox/checkbox.d.ts +0 -61
  30. package/dist/components/checkbox/constants.d.ts +0 -33
  31. package/dist/components/checkbox/index.d.ts +0 -25
  32. package/dist/components/checkbox/types.d.ts +0 -206
  33. package/dist/components/chips/chips.d.ts +0 -14
  34. package/dist/components/chips/constants.d.ts +0 -1
  35. package/dist/components/chips/factories.d.ts +0 -4
  36. package/dist/components/chips/types.d.ts +0 -278
  37. package/dist/components/datepicker/constants.d.ts +0 -56
  38. package/dist/components/datepicker/datepicker.d.ts +0 -5
  39. package/dist/components/datepicker/types.d.ts +12 -257
  40. package/dist/components/dialog/constants.d.ts +0 -65
  41. package/dist/components/dialog/dialog.d.ts +0 -86
  42. package/dist/components/dialog/index.d.ts +0 -12
  43. package/dist/components/dialog/types.d.ts +0 -511
  44. package/dist/components/divider/config.d.ts +0 -130
  45. package/dist/components/divider/constants.d.ts +0 -27
  46. package/dist/components/divider/divider.d.ts +0 -36
  47. package/dist/components/divider/index.d.ts +0 -29
  48. package/dist/components/divider/types.d.ts +0 -126
  49. package/dist/components/drawer/constants.d.ts +0 -53
  50. package/dist/components/drawer/drawer.d.ts +0 -56
  51. package/dist/components/drawer/index.d.ts +0 -4
  52. package/dist/components/drawer/types.d.ts +0 -200
  53. package/dist/components/extended-fab/config.js +3 -2
  54. package/dist/components/extended-fab/constants.d.ts +0 -46
  55. package/dist/components/extended-fab/extended-fab.d.ts +0 -58
  56. package/dist/components/extended-fab/index.d.ts +1 -35
  57. package/dist/components/extended-fab/types.d.ts +2 -654
  58. package/dist/components/fab/config.js +3 -2
  59. package/dist/components/fab/constants.d.ts +0 -40
  60. package/dist/components/fab/fab.d.ts +0 -42
  61. package/dist/components/fab/index.d.ts +1 -34
  62. package/dist/components/fab/types.d.ts +2 -543
  63. package/dist/components/fab-menu/constants.d.ts +0 -22
  64. package/dist/components/fab-menu/fab-menu.d.ts +0 -36
  65. package/dist/components/fab-menu/types.d.ts +0 -80
  66. package/dist/components/icon-button/constants.d.ts +0 -90
  67. package/dist/components/icon-button/icon-button.d.ts +0 -83
  68. package/dist/components/icon-button/index.d.ts +0 -44
  69. package/dist/components/icon-button/types.d.ts +0 -314
  70. package/dist/components/index.d.ts +0 -9
  71. package/dist/components/list/constants.d.ts +0 -47
  72. package/dist/components/list/index.d.ts +0 -1
  73. package/dist/components/list/list.d.ts +0 -26
  74. package/dist/components/list/types.d.ts +0 -263
  75. package/dist/components/loading-indicator/constants.d.ts +0 -35
  76. package/dist/components/loading-indicator/features/renderer.d.ts +0 -14
  77. package/dist/components/loading-indicator/loading-indicator.d.ts +0 -6
  78. package/dist/components/loading-indicator/types.d.ts +0 -35
  79. package/dist/components/menu/constants.d.ts +0 -79
  80. package/dist/components/menu/index.d.ts +0 -25
  81. package/dist/components/menu/inner.d.ts +0 -3
  82. package/dist/components/menu/menu.d.ts +0 -26
  83. package/dist/components/menu/types.d.ts +0 -423
  84. package/dist/components/navigation-bar/navigation-bar.d.ts +0 -7
  85. package/dist/components/navigation-bar/types.d.ts +0 -25
  86. package/dist/components/navigation-rail/constants.d.ts +0 -2
  87. package/dist/components/navigation-rail/navigation-rail.d.ts +0 -5
  88. package/dist/components/navigation-rail/types.d.ts +0 -22
  89. package/dist/components/progress/constants.d.ts +24 -56
  90. package/dist/components/progress/progress.d.ts +0 -21
  91. package/dist/components/progress/types.d.ts +0 -251
  92. package/dist/components/radios/constants.d.ts +0 -22
  93. package/dist/components/radios/radios.d.ts +0 -5
  94. package/dist/components/radios/types.d.ts +0 -142
  95. package/dist/components/search/constants.d.ts +0 -59
  96. package/dist/components/search/search.d.ts +0 -32
  97. package/dist/components/search/types.d.ts +0 -159
  98. package/dist/components/select/constants.d.ts +0 -60
  99. package/dist/components/select/index.d.ts +0 -22
  100. package/dist/components/select/select.d.ts +0 -33
  101. package/dist/components/select/types.d.ts +0 -241
  102. package/dist/components/side-sheet/constants.d.ts +0 -28
  103. package/dist/components/side-sheet/side-sheet.d.ts +0 -21
  104. package/dist/components/side-sheet/types.d.ts +0 -82
  105. package/dist/components/slider/constants.d.ts +0 -86
  106. package/dist/components/slider/slider.d.ts +0 -16
  107. package/dist/components/slider/types.d.ts +0 -184
  108. package/dist/components/snackbar/constants.d.ts +0 -73
  109. package/dist/components/snackbar/snackbar.d.ts +0 -13
  110. package/dist/components/snackbar/types.d.ts +0 -147
  111. package/dist/components/split-button/constants.d.ts +0 -33
  112. package/dist/components/split-button/split-button.d.ts +0 -21
  113. package/dist/components/split-button/types.d.ts +0 -81
  114. package/dist/components/switch/constants.d.ts +0 -49
  115. package/dist/components/switch/switch.d.ts +0 -5
  116. package/dist/components/switch/types.d.ts +0 -80
  117. package/dist/components/tabs/constants.d.ts +0 -76
  118. package/dist/components/tabs/indicator.d.ts +0 -27
  119. package/dist/components/tabs/responsive.d.ts +0 -30
  120. package/dist/components/tabs/tab.d.ts +0 -13
  121. package/dist/components/tabs/tabs.d.ts +0 -24
  122. package/dist/components/tabs/types.d.ts +0 -335
  123. package/dist/components/tabs/utils.d.ts +0 -66
  124. package/dist/components/text-field/constants.d.ts +0 -82
  125. package/dist/components/text-field/features/trailing-icon.d.ts +0 -61
  126. package/dist/components/text-field/text-field.d.ts +0 -33
  127. package/dist/components/text-field/types.d.ts +0 -123
  128. package/dist/components/timepicker/constants.d.ts +0 -88
  129. package/dist/components/timepicker/types.d.ts +0 -268
  130. package/dist/components/toolbar/constants.d.ts +0 -27
  131. package/dist/components/toolbar/toolbar.d.ts +0 -25
  132. package/dist/components/toolbar/types.d.ts +0 -102
  133. package/dist/components/tooltip/constants.d.ts +0 -58
  134. package/dist/components/tooltip/tooltip.d.ts +0 -5
  135. package/dist/components/tooltip/types.d.ts +0 -140
  136. package/dist/components/top-app-bar/constants.d.ts +0 -41
  137. package/dist/components/top-app-bar/index.d.ts +0 -4
  138. package/dist/components/top-app-bar/top-app-bar.d.ts +0 -10
  139. package/dist/components/top-app-bar/types.d.ts +0 -94
  140. package/dist/core/canvas/animation.d.ts +0 -13
  141. package/dist/core/canvas/drawing.d.ts +18 -55
  142. package/dist/core/canvas/index.d.ts +0 -4
  143. package/dist/core/canvas/resize.d.ts +0 -13
  144. package/dist/core/canvas/utils.d.ts +0 -62
  145. package/dist/core/compose/base.d.ts +0 -22
  146. package/dist/core/compose/cleanup.d.ts +0 -2
  147. package/dist/core/compose/component.d.ts +0 -31
  148. package/dist/core/compose/features/badge.d.ts +0 -25
  149. package/dist/core/compose/features/checkable.d.ts +0 -36
  150. package/dist/core/compose/features/debounce.d.ts +0 -57
  151. package/dist/core/compose/features/disabled.d.ts +0 -31
  152. package/dist/core/compose/features/events.d.ts +0 -38
  153. package/dist/core/compose/features/icon.d.ts +0 -49
  154. package/dist/core/compose/features/input.d.ts +0 -82
  155. package/dist/core/compose/features/lifecycle.d.ts +0 -36
  156. package/dist/core/compose/features/position.d.ts +0 -27
  157. package/dist/core/compose/features/ripple.d.ts +0 -29
  158. package/dist/core/compose/features/size.d.ts +0 -9
  159. package/dist/core/compose/features/style.d.ts +0 -9
  160. package/dist/core/compose/features/text.d.ts +0 -45
  161. package/dist/core/compose/features/textinput.d.ts +0 -88
  162. package/dist/core/compose/features/textlabel.d.ts +0 -44
  163. package/dist/core/compose/features/throttle.d.ts +0 -54
  164. package/dist/core/compose/features/track.d.ts +0 -34
  165. package/dist/core/compose/features/variant.d.ts +0 -9
  166. package/dist/core/compose/features/withEvents.d.ts +0 -30
  167. package/dist/core/compose/index.d.ts +0 -4
  168. package/dist/core/compose/pipe.d.ts +0 -55
  169. package/dist/core/compose/utils/type-guards.d.ts +0 -15
  170. package/dist/core/config/component.d.ts +0 -45
  171. package/dist/core/config/global.d.ts +0 -43
  172. package/dist/core/config.d.ts +0 -59
  173. package/dist/core/dom/attributes.d.ts +0 -41
  174. package/dist/core/dom/classes.d.ts +0 -49
  175. package/dist/core/dom/create.d.ts +0 -98
  176. package/dist/core/dom/events.d.ts +0 -52
  177. package/dist/core/dom/focus.d.ts +0 -32
  178. package/dist/core/dom/html.d.ts +0 -24
  179. package/dist/core/dom/layer.d.ts +0 -98
  180. package/dist/core/dom/roving.d.ts +0 -19
  181. package/dist/core/index.d.ts +0 -9
  182. package/dist/core/navigation/destinations.d.ts +0 -23
  183. package/dist/core/shapes/cubic.d.ts +24 -19
  184. package/dist/core/shapes/material.d.ts +0 -64
  185. package/dist/core/shapes/polygon.d.ts +6 -16
  186. package/dist/core/state/emitter.d.ts +0 -36
  187. package/dist/core/state/events.d.ts +0 -29
  188. package/dist/core/state/store.d.ts +0 -70
  189. package/dist/core/theme/index.d.ts +0 -3
  190. package/dist/core/theme/shape.d.ts +0 -7
  191. package/dist/core/theme/tokens.d.ts +48 -32
  192. package/dist/core/utils/background.d.ts +0 -29
  193. package/dist/core/utils/color.d.ts +0 -13
  194. package/dist/core/utils/index.d.ts +0 -11
  195. package/dist/core/utils/mobile.d.ts +0 -31
  196. package/dist/core/utils/object.d.ts +0 -11
  197. package/dist/core/utils/performance.d.ts +0 -70
  198. package/dist/core/utils/theme.d.ts +0 -36
  199. package/dist/core/utils/url.d.ts +0 -17
  200. package/dist/elements/adapter.d.ts +13 -62
  201. package/dist/elements/badge.d.ts +0 -17
  202. package/dist/elements/bottom-app-bar.d.ts +7 -17
  203. package/dist/elements/bottom-sheet.d.ts +9 -38
  204. package/dist/elements/button-group.d.ts +0 -31
  205. package/dist/elements/button.d.ts +24 -18
  206. package/dist/elements/button.js +12 -0
  207. package/dist/elements/card.d.ts +12 -24
  208. package/dist/elements/card.js +3 -2
  209. package/dist/elements/carousel.d.ts +5 -29
  210. package/dist/elements/checkbox.d.ts +5 -15
  211. package/dist/elements/chips.d.ts +0 -33
  212. package/dist/elements/css/extended-fab.css +1 -1
  213. package/dist/elements/css/extended-fab.js +1 -1
  214. package/dist/elements/css/fab-menu.css +1 -1
  215. package/dist/elements/css/fab-menu.js +1 -1
  216. package/dist/elements/css/fab.css +1 -1
  217. package/dist/elements/css/fab.js +1 -1
  218. package/dist/elements/css/hosts/extended-fab.css +1 -1
  219. package/dist/elements/css/hosts/fab.css +1 -1
  220. package/dist/elements/datepicker.d.ts +4 -48
  221. package/dist/elements/define.d.ts +3 -161
  222. package/dist/elements/dialog.d.ts +8 -39
  223. package/dist/elements/divider.d.ts +0 -14
  224. package/dist/elements/drawer.d.ts +0 -35
  225. package/dist/elements/extended-fab.d.ts +10 -18
  226. package/dist/elements/extended-fab.js +3 -1
  227. package/dist/elements/fab-menu.d.ts +5 -30
  228. package/dist/elements/fab.d.ts +8 -17
  229. package/dist/elements/fab.js +3 -1
  230. package/dist/elements/floating-placement.js +1 -0
  231. package/dist/elements/icon-button.d.ts +5 -26
  232. package/dist/elements/index.d.ts +0 -16
  233. package/dist/elements/list.d.ts +0 -34
  234. package/dist/elements/loading-indicator.d.ts +4 -13
  235. package/dist/elements/menu.d.ts +5 -51
  236. package/dist/elements/navigation-bar.d.ts +4 -29
  237. package/dist/elements/navigation-rail.d.ts +8 -49
  238. package/dist/elements/preupgrade/badge.css +1 -1
  239. package/dist/elements/preupgrade/bottom-app-bar.css +1 -1
  240. package/dist/elements/preupgrade/bottom-sheet.css +1 -1
  241. package/dist/elements/preupgrade/button-group.css +1 -1
  242. package/dist/elements/preupgrade/button.css +2 -2
  243. package/dist/elements/preupgrade/card.css +2 -2
  244. package/dist/elements/preupgrade/carousel.css +1 -1
  245. package/dist/elements/preupgrade/checkbox.css +1 -1
  246. package/dist/elements/preupgrade/chips.css +1 -1
  247. package/dist/elements/preupgrade/datepicker.css +1 -1
  248. package/dist/elements/preupgrade/dialog.css +1 -1
  249. package/dist/elements/preupgrade/divider.css +1 -1
  250. package/dist/elements/preupgrade/drawer.css +1 -1
  251. package/dist/elements/preupgrade/extended-fab.css +2 -2
  252. package/dist/elements/preupgrade/fab-menu.css +1 -1
  253. package/dist/elements/preupgrade/fab.css +2 -2
  254. package/dist/elements/preupgrade/icon-button.css +1 -1
  255. package/dist/elements/preupgrade/list.css +1 -1
  256. package/dist/elements/preupgrade/loading-indicator.css +1 -1
  257. package/dist/elements/preupgrade/menu.css +1 -1
  258. package/dist/elements/preupgrade/navigation-bar.css +1 -1
  259. package/dist/elements/preupgrade/navigation-rail.css +1 -1
  260. package/dist/elements/preupgrade/progress.css +1 -1
  261. package/dist/elements/preupgrade/radios.css +1 -1
  262. package/dist/elements/preupgrade/search.css +1 -1
  263. package/dist/elements/preupgrade/select.css +1 -1
  264. package/dist/elements/preupgrade/side-sheet.css +1 -1
  265. package/dist/elements/preupgrade/slider.css +1 -1
  266. package/dist/elements/preupgrade/snackbar.css +1 -1
  267. package/dist/elements/preupgrade/split-button.css +1 -1
  268. package/dist/elements/preupgrade/switch.css +1 -1
  269. package/dist/elements/preupgrade/tabs.css +1 -1
  270. package/dist/elements/preupgrade/text-field.css +1 -1
  271. package/dist/elements/preupgrade/timepicker.css +1 -1
  272. package/dist/elements/preupgrade/toolbar.css +1 -1
  273. package/dist/elements/preupgrade/tooltip.css +1 -1
  274. package/dist/elements/preupgrade/top-app-bar.css +1 -1
  275. package/dist/elements/preupgrade.css +2 -2
  276. package/dist/elements/preupgrade.d.ts +0 -1
  277. package/dist/elements/preupgrade.js +1 -1
  278. package/dist/elements/progress.d.ts +0 -15
  279. package/dist/elements/radios.d.ts +0 -22
  280. package/dist/elements/search.d.ts +5 -53
  281. package/dist/elements/select.d.ts +0 -31
  282. package/dist/elements/side-sheet.d.ts +7 -29
  283. package/dist/elements/slider.d.ts +3 -22
  284. package/dist/elements/snackbar.d.ts +4 -28
  285. package/dist/elements/split-button.d.ts +0 -30
  286. package/dist/elements/styles.d.ts +0 -63
  287. package/dist/elements/switch.d.ts +5 -17
  288. package/dist/elements/tabs.d.ts +0 -22
  289. package/dist/elements/text-field.d.ts +4 -38
  290. package/dist/elements/timepicker.d.ts +4 -44
  291. package/dist/elements/toolbar.d.ts +8 -25
  292. package/dist/elements/tooltip.d.ts +4 -30
  293. package/dist/elements/top-app-bar.d.ts +7 -23
  294. package/dist/index.d.ts +0 -11
  295. package/dist/package.json +1 -1
  296. package/dist/react/create.d.ts +0 -42
  297. package/dist/react/index.d.ts +0 -6
  298. package/dist/react/jsx.d.ts +0 -13
  299. package/dist/solid/create.d.ts +0 -48
  300. package/dist/solid/index.d.ts +0 -6
  301. package/dist/solid/jsx.d.ts +1 -10
  302. package/dist/ssr/index.d.ts +0 -49
  303. package/dist/ssr/solid.d.ts +0 -4
  304. package/dist/ssr/svelte.d.ts +0 -4
  305. package/dist/ssr/vue.d.ts +0 -4
  306. package/dist/styles/badge.css +1 -1
  307. package/dist/styles/base.css +1 -1
  308. package/dist/styles/bottom-app-bar.css +1 -1
  309. package/dist/styles/bottom-sheet.css +1 -1
  310. package/dist/styles/button-group.css +1 -1
  311. package/dist/styles/button.css +1 -1
  312. package/dist/styles/card.css +1 -1
  313. package/dist/styles/carousel.css +1 -1
  314. package/dist/styles/checkbox.css +1 -1
  315. package/dist/styles/chips.css +1 -1
  316. package/dist/styles/contrast.css +1 -1
  317. package/dist/styles/datepicker.css +1 -1
  318. package/dist/styles/dialog.css +1 -1
  319. package/dist/styles/divider.css +1 -1
  320. package/dist/styles/drawer.css +1 -1
  321. package/dist/styles/extended-fab.css +2 -2
  322. package/dist/styles/fab-menu.css +2 -2
  323. package/dist/styles/fab.css +2 -2
  324. package/dist/styles/icon-button.css +1 -1
  325. package/dist/styles/list.css +1 -1
  326. package/dist/styles/loading-indicator.css +1 -1
  327. package/dist/styles/menu.css +1 -1
  328. package/dist/styles/navigation-bar.css +1 -1
  329. package/dist/styles/navigation-rail.css +1 -1
  330. package/dist/styles/progress.css +1 -1
  331. package/dist/styles/radios.css +1 -1
  332. package/dist/styles/search.css +1 -1
  333. package/dist/styles/select.css +1 -1
  334. package/dist/styles/side-sheet.css +1 -1
  335. package/dist/styles/slider.css +1 -1
  336. package/dist/styles/snackbar.css +1 -1
  337. package/dist/styles/split-button.css +1 -1
  338. package/dist/styles/switch.css +1 -1
  339. package/dist/styles/tabs.css +1 -1
  340. package/dist/styles/text-field.css +1 -1
  341. package/dist/styles/timepicker.css +1 -1
  342. package/dist/styles/toolbar.css +1 -1
  343. package/dist/styles/tooltip.css +1 -1
  344. package/dist/styles/top-app-bar.css +1 -1
  345. package/dist/styles/typography.css +1 -1
  346. package/dist/styles/utilities.css +1 -1
  347. package/dist/styles.css +2 -2
  348. package/dist/svelte/Button.svelte +5 -4
  349. package/dist/svelte/runtime.d.ts +8 -62
  350. package/dist/themes/autumn-contrast.css +1 -1
  351. package/dist/themes/autumn.css +1 -1
  352. package/dist/themes/baseline-contrast.css +1 -1
  353. package/dist/themes/baseline.css +1 -1
  354. package/dist/themes/brownbeige-contrast.css +1 -1
  355. package/dist/themes/brownbeige.css +1 -1
  356. package/dist/themes/content-contrast.css +1 -1
  357. package/dist/themes/content.css +1 -1
  358. package/dist/themes/desert-contrast.css +1 -1
  359. package/dist/themes/desert.css +1 -1
  360. package/dist/themes/expressive-contrast.css +1 -1
  361. package/dist/themes/expressive.css +1 -1
  362. package/dist/themes/fidelity-contrast.css +1 -1
  363. package/dist/themes/fidelity.css +1 -1
  364. package/dist/themes/forest-contrast.css +1 -1
  365. package/dist/themes/forest.css +1 -1
  366. package/dist/themes/fruit-salad-contrast.css +1 -1
  367. package/dist/themes/fruit-salad.css +1 -1
  368. package/dist/themes/highcontrast-contrast.css +1 -1
  369. package/dist/themes/highcontrast.css +1 -1
  370. package/dist/themes/monochrome-contrast.css +1 -1
  371. package/dist/themes/monochrome.css +1 -1
  372. package/dist/themes/neutral-contrast.css +1 -1
  373. package/dist/themes/neutral.css +1 -1
  374. package/dist/themes/ocean-contrast.css +1 -1
  375. package/dist/themes/ocean.css +1 -1
  376. package/dist/themes/rainbow-contrast.css +1 -1
  377. package/dist/themes/rainbow.css +1 -1
  378. package/dist/themes/sageivory-contrast.css +1 -1
  379. package/dist/themes/sageivory.css +1 -1
  380. package/dist/themes/spring-contrast.css +1 -1
  381. package/dist/themes/spring.css +1 -1
  382. package/dist/themes/summer-contrast.css +1 -1
  383. package/dist/themes/summer.css +1 -1
  384. package/dist/themes/sunset-contrast.css +1 -1
  385. package/dist/themes/sunset.css +1 -1
  386. package/dist/themes/tealcaramel-contrast.css +1 -1
  387. package/dist/themes/tealcaramel.css +1 -1
  388. package/dist/themes/vibrant-contrast.css +1 -1
  389. package/dist/themes/vibrant.css +1 -1
  390. package/dist/vue/create.d.ts +15 -58
  391. package/dist/vue/index.d.ts +0 -6
  392. package/package.json +1 -1
  393. package/src/styles/abstract/_floating-placement.scss +12 -0
  394. package/src/styles/components/_extended-fab.scss +34 -8
  395. package/src/styles/components/_fab-menu.scss +58 -8
  396. package/src/styles/components/_fab.scss +34 -8
  397. package/src/styles/elements/_button.scss +27 -5
  398. package/src/styles/elements/_card.scss +14 -0
  399. package/src/styles/elements/_extended-fab.scss +2 -0
  400. package/src/styles/elements/_fab.scss +2 -0
  401. package/dist/components/badge/api.d.ts +0 -41
  402. package/dist/components/badge/config.d.ts +0 -631
  403. package/dist/components/badge/features.d.ts +0 -38
  404. package/dist/components/bottom-app-bar/config.d.ts +0 -16
  405. package/dist/components/bottom-sheet/api.d.ts +0 -44
  406. package/dist/components/bottom-sheet/config.d.ts +0 -547
  407. package/dist/components/bottom-sheet/features/drag.d.ts +0 -35
  408. package/dist/components/bottom-sheet/features/index.d.ts +0 -3
  409. package/dist/components/bottom-sheet/features/state.d.ts +0 -31
  410. package/dist/components/bottom-sheet/features/structure.d.ts +0 -26
  411. package/dist/components/button/api.d.ts +0 -68
  412. package/dist/components/button/config.d.ts +0 -594
  413. package/dist/components/button/features/progress.d.ts +0 -43
  414. package/dist/components/button/features/toggle.d.ts +0 -43
  415. package/dist/components/button-group/config.d.ts +0 -147
  416. package/dist/components/card/api.d.ts +0 -24
  417. package/dist/components/card/config.d.ts +0 -635
  418. package/dist/components/card/features.d.ts +0 -124
  419. package/dist/components/carousel/api.d.ts +0 -20
  420. package/dist/components/carousel/arrangement.d.ts +0 -23
  421. package/dist/components/carousel/config.d.ts +0 -540
  422. package/dist/components/carousel/features/index.d.ts +0 -2
  423. package/dist/components/carousel/features/scroll.d.ts +0 -20
  424. package/dist/components/carousel/features/slides.d.ts +0 -18
  425. package/dist/components/carousel/keylines.d.ts +0 -68
  426. package/dist/components/carousel/strategy.d.ts +0 -36
  427. package/dist/components/checkbox/api.d.ts +0 -7
  428. package/dist/components/checkbox/config.d.ts +0 -568
  429. package/dist/components/chips/api.d.ts +0 -62
  430. package/dist/components/chips/chip/chip.d.ts +0 -4
  431. package/dist/components/chips/chip/constants.d.ts +0 -38
  432. package/dist/components/chips/chip/index.d.ts +0 -1
  433. package/dist/components/chips/config.d.ts +0 -583
  434. package/dist/components/chips/features/chip-items.d.ts +0 -39
  435. package/dist/components/chips/features/container.d.ts +0 -75
  436. package/dist/components/chips/features/controller.d.ts +0 -61
  437. package/dist/components/chips/features/dom.d.ts +0 -24
  438. package/dist/components/chips/features/index.d.ts +0 -4
  439. package/dist/components/chips/schema.d.ts +0 -35
  440. package/dist/components/datepicker/api.d.ts +0 -7
  441. package/dist/components/datepicker/config.d.ts +0 -542
  442. package/dist/components/datepicker/render.d.ts +0 -3
  443. package/dist/components/datepicker/utils.d.ts +0 -84
  444. package/dist/components/dialog/api.d.ts +0 -66
  445. package/dist/components/dialog/config.d.ts +0 -583
  446. package/dist/components/dialog/features.d.ts +0 -42
  447. package/dist/components/divider/features.d.ts +0 -6
  448. package/dist/components/drawer/api.d.ts +0 -55
  449. package/dist/components/drawer/config.d.ts +0 -620
  450. package/dist/components/drawer/features/headline.d.ts +0 -27
  451. package/dist/components/drawer/features/index.d.ts +0 -3
  452. package/dist/components/drawer/features/items.d.ts +0 -32
  453. package/dist/components/drawer/features/state.d.ts +0 -22
  454. package/dist/components/extended-fab/api.d.ts +0 -96
  455. package/dist/components/extended-fab/config.d.ts +0 -600
  456. package/dist/components/fab/api.d.ts +0 -74
  457. package/dist/components/fab/config.d.ts +0 -596
  458. package/dist/components/fab-menu/config.d.ts +0 -11
  459. package/dist/components/fab-menu/stagger.d.ts +0 -10
  460. package/dist/components/icon-button/api.d.ts +0 -84
  461. package/dist/components/icon-button/config.d.ts +0 -624
  462. package/dist/components/icon-button/features/toggle.d.ts +0 -133
  463. package/dist/components/list/api.d.ts +0 -156
  464. package/dist/components/list/config.d.ts +0 -625
  465. package/dist/components/list/features/anatomy.d.ts +0 -6
  466. package/dist/components/list/features/index.d.ts +0 -2
  467. package/dist/components/list/features/renderer.d.ts +0 -8
  468. package/dist/components/list/features/selection.d.ts +0 -3
  469. package/dist/components/loading-indicator/api.d.ts +0 -14
  470. package/dist/components/loading-indicator/config.d.ts +0 -557
  471. package/dist/components/loading-indicator/features/motion.d.ts +0 -22
  472. package/dist/components/menu/api.d.ts +0 -63
  473. package/dist/components/menu/config.d.ts +0 -576
  474. package/dist/components/menu/features/controller.d.ts +0 -15
  475. package/dist/components/menu/features/index.d.ts +0 -5
  476. package/dist/components/menu/features/keyboard.d.ts +0 -23
  477. package/dist/components/menu/features/layer.d.ts +0 -15
  478. package/dist/components/menu/features/loader.d.ts +0 -35
  479. package/dist/components/menu/features/opener.d.ts +0 -16
  480. package/dist/components/menu/features/position.d.ts +0 -18
  481. package/dist/components/menu/features/registry.d.ts +0 -37
  482. package/dist/components/menu/features/submenu.d.ts +0 -28
  483. package/dist/components/menu/features/tasks.d.ts +0 -9
  484. package/dist/components/navigation-bar/config.d.ts +0 -2
  485. package/dist/components/navigation-rail/config.d.ts +0 -2
  486. package/dist/components/progress/api.d.ts +0 -81
  487. package/dist/components/progress/config.d.ts +0 -620
  488. package/dist/components/progress/features/canvas.d.ts +0 -60
  489. package/dist/components/progress/features/circular.d.ts +0 -19
  490. package/dist/components/progress/features/colors.d.ts +0 -17
  491. package/dist/components/progress/features/index.d.ts +0 -8
  492. package/dist/components/progress/features/linear.d.ts +0 -25
  493. package/dist/components/progress/features/motion.d.ts +0 -43
  494. package/dist/components/progress/features/resize-observer.d.ts +0 -5
  495. package/dist/components/progress/features/state.d.ts +0 -44
  496. package/dist/components/radios/api.d.ts +0 -37
  497. package/dist/components/radios/config.d.ts +0 -568
  498. package/dist/components/radios/radio.d.ts +0 -26
  499. package/dist/components/search/api.d.ts +0 -63
  500. package/dist/components/search/config.d.ts +0 -657
  501. package/dist/components/search/features/index.d.ts +0 -4
  502. package/dist/components/search/features/input.d.ts +0 -93
  503. package/dist/components/search/features/states.d.ts +0 -111
  504. package/dist/components/search/features/structure.d.ts +0 -16
  505. package/dist/components/search/features/suggestions.d.ts +0 -60
  506. package/dist/components/select/api.d.ts +0 -8
  507. package/dist/components/select/config.d.ts +0 -18
  508. package/dist/components/select/features.d.ts +0 -14
  509. package/dist/components/side-sheet/api.d.ts +0 -34
  510. package/dist/components/side-sheet/config.d.ts +0 -547
  511. package/dist/components/side-sheet/features/index.d.ts +0 -2
  512. package/dist/components/side-sheet/features/state.d.ts +0 -28
  513. package/dist/components/side-sheet/features/structure.d.ts +0 -21
  514. package/dist/components/slider/api.d.ts +0 -65
  515. package/dist/components/slider/config.d.ts +0 -605
  516. package/dist/components/slider/features/axis.d.ts +0 -42
  517. package/dist/components/slider/features/controller.d.ts +0 -528
  518. package/dist/components/slider/features/dom.d.ts +0 -22
  519. package/dist/components/slider/features/handlers.d.ts +0 -16
  520. package/dist/components/slider/features/index.d.ts +0 -5
  521. package/dist/components/slider/features/range.d.ts +0 -14
  522. package/dist/components/slider/features/states.d.ts +0 -76
  523. package/dist/components/slider/features/tracks.d.ts +0 -50
  524. package/dist/components/snackbar/api.d.ts +0 -7
  525. package/dist/components/snackbar/config.d.ts +0 -596
  526. package/dist/components/snackbar/features.d.ts +0 -26
  527. package/dist/components/snackbar/layer.d.ts +0 -23
  528. package/dist/components/snackbar/position.d.ts +0 -16
  529. package/dist/components/snackbar/queue.d.ts +0 -15
  530. package/dist/components/split-button/api.d.ts +0 -14
  531. package/dist/components/split-button/config.d.ts +0 -553
  532. package/dist/components/split-button/features/buttons.d.ts +0 -8
  533. package/dist/components/split-button/features/menu.d.ts +0 -10
  534. package/dist/components/switch/api.d.ts +0 -7
  535. package/dist/components/switch/config.d.ts +0 -558
  536. package/dist/components/switch/features.d.ts +0 -63
  537. package/dist/components/tabs/api.d.ts +0 -54
  538. package/dist/components/tabs/config.d.ts +0 -31
  539. package/dist/components/tabs/features.d.ts +0 -131
  540. package/dist/components/tabs/scroll-indicators.d.ts +0 -18
  541. package/dist/components/tabs/state.d.ts +0 -48
  542. package/dist/components/text-field/api.d.ts +0 -29
  543. package/dist/components/text-field/config.d.ts +0 -560
  544. package/dist/components/text-field/features/counter.d.ts +0 -29
  545. package/dist/components/text-field/features/density.d.ts +0 -28
  546. package/dist/components/text-field/features/error.d.ts +0 -55
  547. package/dist/components/text-field/features/field.d.ts +0 -37
  548. package/dist/components/text-field/features/index.d.ts +0 -20
  549. package/dist/components/text-field/features/leading-icon.d.ts +0 -68
  550. package/dist/components/text-field/features/placement.d.ts +0 -30
  551. package/dist/components/text-field/features/prefix-text.d.ts +0 -67
  552. package/dist/components/text-field/features/required.d.ts +0 -33
  553. package/dist/components/text-field/features/suffix-text.d.ts +0 -67
  554. package/dist/components/text-field/features/supporting-text.d.ts +0 -59
  555. package/dist/components/timepicker/api.d.ts +0 -26
  556. package/dist/components/timepicker/config.d.ts +0 -570
  557. package/dist/components/timepicker/dial.d.ts +0 -35
  558. package/dist/components/timepicker/render.d.ts +0 -9
  559. package/dist/components/timepicker/utils.d.ts +0 -55
  560. package/dist/components/toolbar/config.d.ts +0 -19
  561. package/dist/components/tooltip/api.d.ts +0 -18
  562. package/dist/components/tooltip/config.d.ts +0 -563
  563. package/dist/components/top-app-bar/config.d.ts +0 -16
  564. package/dist/core/compose/features/constants.d.ts +0 -8
  565. package/dist/core/dom/direction.d.ts +0 -16
  566. package/dist/core/dom/form-value.d.ts +0 -24
  567. package/dist/core/dom/utils.d.ts +0 -33
  568. package/dist/core/navigation/ripple.d.ts +0 -2
  569. package/dist/core/utils/attributes.d.ts +0 -29
  570. package/dist/core/utils/validate.d.ts +0 -73
  571. package/dist/core/utils/warn.d.ts +0 -16
  572. package/dist/elements/form-button.d.ts +0 -29
  573. package/dist/elements/lifecycle.d.ts +0 -4
  574. package/dist/elements/sheet.d.ts +0 -44
  575. package/dist/react/shadow.d.ts +0 -2
  576. package/dist/solid/shadow.d.ts +0 -3
  577. package/dist/vue/shadow.d.ts +0 -7
@@ -1,42 +1,9 @@
1
- /**
2
- * `<m-bottom-sheet>`: the bottom sheet as a custom element. Its regions are
3
- * slots: `headline` (the `headline` attribute is its fallback text), which
4
- * names the sheet, and the default slot, the content. The drag handle is the
5
- * factory's; `no-drag-handle` drops it, and dragging with it.
6
- *
7
- * Standard by default, in the page beside what it covers. `modal` makes it
8
- * the modal sheet in the factory's top layer (`layer: "top"`): a native
9
- * `<dialog>` in the element's shadow root, shown with `showModal()`, above
10
- * every z-index, the page outside inert, the scrim its `::backdrop`; Escape
11
- * and a click on the backdrop close it.
12
- *
13
- * `open` shows it and reflects its state, as on `<dialog open>`. `show()`,
14
- * `close()`, `expand()` and `collapse()` are its methods, and `open` and
15
- * `close` are dispatched as it opens and closes (not when the attribute is
16
- * what changed).
17
- *
18
- * An open sheet is partially expanded, `peek-height` pixels tall (by
19
- * default its content up to half the screen), or with `expanded` at its full
20
- * height. `max-width` is the widest it grows, in pixels (640 by default),
21
- * past which it centres itself; a change recreates it. `expanded` reflects that state as `open` does: set while the sheet
22
- * is closed, it opens expanded. `expand` and `collapse` are dispatched as the
23
- * user or a method moves it to its full height and away from it, closing
24
- * included, so an app keeping `expanded` in its state follows them.
25
- * `no-close-on-scrim-click` and `no-close-on-escape` keep a modal sheet open
26
- * on a click on the scrim and on Escape.
27
- *
28
- * Parts: `bottom-sheet`, `container`, `handle`, `header`, `title`, `content`.
29
- *
30
- * @module elements
31
- */
32
1
  import type { BottomSheetComponent, BottomSheetEventHandlers } from "../components/bottom-sheet/types.js";
33
2
  import { type DefineOptions, type ElementInstance } from "./define.js";
34
- /** The sheet's events, and `expand` and `collapse`, which the element tells apart from its state changes. */
35
3
  export interface BottomSheetElementEvents extends BottomSheetEventHandlers {
36
4
  expand?: () => void;
37
5
  collapse?: () => void;
38
6
  }
39
- /** The sheet with the `show()` the element names after `<dialog>`'s, and its `expand` and `collapse` events. */
40
7
  export interface BottomSheetElementComponent extends Omit<BottomSheetComponent, "on" | "off"> {
41
8
  show: () => BottomSheetComponent;
42
9
  on: <T extends keyof BottomSheetElementEvents>(event: T, handler: NonNullable<BottomSheetElementEvents[T]>) => unknown;
@@ -44,7 +11,9 @@ export interface BottomSheetElementComponent extends Omit<BottomSheetComponent,
44
11
  }
45
12
  declare const bottomSheetSpec: {
46
13
  name: string;
47
- slots: readonly ["headline"];
14
+ slots: readonly [
15
+ "headline"
16
+ ];
48
17
  create: (config: import("./define.js").Config) => BottomSheetElementComponent;
49
18
  styles: string[];
50
19
  hostStyles: string;
@@ -91,7 +60,12 @@ declare const bottomSheetSpec: {
91
60
  update: (c: BottomSheetElementComponent, _v: import("./define.js").AttributeValue, host: HTMLElement) => void;
92
61
  };
93
62
  };
94
- methods: readonly ["show", "close", "expand", "collapse"];
63
+ methods: readonly [
64
+ "show",
65
+ "close",
66
+ "expand",
67
+ "collapse"
68
+ ];
95
69
  events: {
96
70
  open: {
97
71
  detail: () => null;
@@ -117,12 +91,9 @@ declare const bottomSheetSpec: {
117
91
  };
118
92
  export declare const bottomSheetElement: import("./define.js").ElementDefinition<BottomSheetElementComponent>;
119
93
  export type BottomSheetSpec = typeof bottomSheetSpec;
120
- /** `<m-bottom-sheet>` as a ref or a query returns it. */
121
94
  export type BottomSheetElement = ElementInstance<BottomSheetSpec, BottomSheetElementComponent>;
122
- /** Registers `<m-bottom-sheet>` (or `<prefix-bottom-sheet>`). */
123
95
  export declare const defineBottomSheet: (options?: DefineOptions) => string;
124
96
  declare global {
125
- /** `document.querySelector("m-…")` and `createElement` return the element's type (the default prefix). */
126
97
  interface HTMLElementTagNameMap {
127
98
  "m-bottom-sheet": BottomSheetElement;
128
99
  }
@@ -1,27 +1,5 @@
1
- /**
2
- * `<m-button-group>` with `<m-button-group-item>` children.
3
- *
4
- * Each `<m-button-group-item>` declares one button (`value`, `icon`,
5
- * `selected-icon`, `aria-label`, `disabled`, `selected`, and its text as the
6
- * label). The group reads them into the factory's config and updates in place
7
- * when they change; the children stay where the framework put them.
8
- *
9
- * With `selection="single"` or `"multi"` the buttons toggle. `value` on the
10
- * group is the default selection (comma-separated in a multi group), which
11
- * moves the live one until the user or script changes it; without it, the
12
- * items' `selected` is the default. The `value` property is the live
13
- * selection: a string or null in a single group, an array in a multi group,
14
- * null without selection. Every press dispatches `action` with the button's
15
- * value; the factory calls it `click`, which the host already receives from
16
- * the browser.
17
- *
18
- * Parts: `button-group`, `button`, `text`, `ripple`.
19
- *
20
- * @module elements
21
- */
22
1
  import type { ButtonGroupComponent } from "../components/button-group/types.js";
23
2
  import { type Config, type DefineOptions, type ElementAttributes, type ElementHost, type ElementInstance } from "./define.js";
24
- /** The live selection: one value, several, or none. */
25
3
  export type ButtonGroupValue = string | string[] | null;
26
4
  declare const buttonGroupSpec: {
27
5
  name: string;
@@ -118,12 +96,7 @@ declare const buttonGroupSpec: {
118
96
  };
119
97
  export declare const buttonGroupElement: import("./define.js").ElementDefinition<ButtonGroupComponent>;
120
98
  export type ButtonGroupSpec = typeof buttonGroupSpec;
121
- /** `<m-button-group>` as a ref or a query returns it. */
122
99
  export type ButtonGroupElement = ElementInstance<ButtonGroupSpec, ButtonGroupComponent>;
123
- /**
124
- * `<m-button-group-item>` declares one button and renders nothing. Its text
125
- * content is the label unless `label` is set.
126
- */
127
100
  export declare const buttonGroupItemDeclaration: {
128
101
  readonly name: "button-group-item";
129
102
  readonly attributes: {
@@ -133,11 +106,9 @@ export declare const buttonGroupItemDeclaration: {
133
106
  readonly label: {
134
107
  readonly type: "string";
135
108
  };
136
- /** Markup (HTML). Not sanitized by default: see Markup and sanitizing. */
137
109
  readonly icon: {
138
110
  readonly type: "string";
139
111
  };
140
- /** Markup (HTML). Not sanitized by default: see Markup and sanitizing. Shown on an icon-only item while it is selected. */
141
112
  readonly "selected-icon": {
142
113
  readonly type: "string";
143
114
  };
@@ -153,10 +124,8 @@ export declare const buttonGroupItemDeclaration: {
153
124
  };
154
125
  };
155
126
  export type ButtonGroupItemAttributes = ElementAttributes<typeof buttonGroupItemDeclaration>;
156
- /** Registers `<m-button-group>` and `<m-button-group-item>` (or with another prefix). */
157
127
  export declare const defineButtonGroup: (options?: DefineOptions) => string;
158
128
  declare global {
159
- /** `document.querySelector("m-…")` and `createElement` return the element's type (the default prefix). */
160
129
  interface HTMLElementTagNameMap {
161
130
  "m-button-group": ButtonGroupElement;
162
131
  "m-button-group-item": HTMLElement & ButtonGroupItemAttributes;
@@ -1,17 +1,3 @@
1
- /**
2
- * `<m-button>`: the button as a custom element. Children are the label.
3
- *
4
- * `type="submit"` and `type="reset"` act on the host's form, which a button
5
- * inside a shadow root cannot reach by itself (see `form-button`).
6
- *
7
- * A toggle button (for now from the button's global defaults: the element has
8
- * no toggle attribute) dispatches `change` with `{ selected, value }` from the
9
- * host on each click.
10
- *
11
- * Parts: `button`, `icon`, `label` (also `text`), `ripple`.
12
- *
13
- * @module elements
14
- */
15
1
  import type { ButtonComponent } from "../components/button/types.js";
16
2
  import { type DefineOptions, type ElementInstance } from "./define.js";
17
3
  declare const buttonSpec: {
@@ -40,11 +26,23 @@ declare const buttonSpec: {
40
26
  config: string;
41
27
  update: (c: ButtonComponent, v: import("./define.js").AttributeValue) => undefined;
42
28
  };
43
- /** Markup (HTML). Not sanitized by default: see Markup and sanitizing. */
44
29
  icon: {
45
30
  type: "string";
46
31
  config: string;
47
32
  };
33
+ "icon-position": {
34
+ type: "string";
35
+ config: string;
36
+ };
37
+ toggle: {
38
+ type: "boolean";
39
+ config: string;
40
+ };
41
+ selected: {
42
+ type: "boolean";
43
+ config: string;
44
+ update: (c: ButtonComponent, v: import("./define.js").AttributeValue) => undefined;
45
+ };
48
46
  value: {
49
47
  type: "string";
50
48
  config: string;
@@ -60,6 +58,17 @@ declare const buttonSpec: {
60
58
  update: (c: ButtonComponent, v: import("./define.js").AttributeValue) => undefined;
61
59
  };
62
60
  };
61
+ properties: {
62
+ selected: {
63
+ get: (c: ButtonComponent) => boolean;
64
+ set: (c: ButtonComponent, v: unknown) => undefined;
65
+ config: string;
66
+ };
67
+ };
68
+ methods: readonly [
69
+ "setSelected"
70
+ ];
71
+ model: "selected";
63
72
  slot: {
64
73
  attribute: "label";
65
74
  config: string;
@@ -77,12 +86,9 @@ declare const buttonSpec: {
77
86
  };
78
87
  export declare const buttonElement: import("./define.js").ElementDefinition<ButtonComponent>;
79
88
  export type ButtonSpec = typeof buttonSpec;
80
- /** `<m-button>` as a ref or a query returns it. */
81
89
  export type ButtonElement = ElementInstance<ButtonSpec, ButtonComponent>;
82
- /** Registers `<m-button>` (or `<prefix-button>`). */
83
90
  export declare const defineButton: (options?: DefineOptions) => string;
84
91
  declare global {
85
- /** `document.querySelector("m-…")` and `createElement` return the element's type (the default prefix). */
86
92
  interface HTMLElementTagNameMap {
87
93
  "m-button": ButtonElement;
88
94
  }
@@ -12,10 +12,22 @@ const buttonSpec = {
12
12
  shape: { type: "string", config: "shape", update: (c, v) => void c.setShape(String(v ?? "round")) },
13
13
  disabled: { type: "boolean", config: "disabled", update: (c, v) => void (v ? c.disable() : c.enable()) },
14
14
  icon: { type: "string", config: "icon" },
15
+ "icon-position": { type: "string", config: "iconPosition" },
16
+ toggle: { type: "boolean", config: "toggle" },
17
+ selected: { type: "boolean", config: "selected", update: (c, v) => void c.setSelected(Boolean(v)) },
15
18
  value: { type: "string", config: "value", update: (c, v) => void c.setValue(String(v ?? "")) },
16
19
  type: typeAttribute,
17
20
  "aria-label": { type: "string", config: "ariaLabel", update: (c, v) => void c.setAriaLabel(String(v ?? "")) },
18
21
  },
22
+ properties: {
23
+ selected: {
24
+ get: (c) => c.isSelected(),
25
+ set: (c, v) => void c.setSelected(Boolean(v)),
26
+ config: "selected",
27
+ },
28
+ },
29
+ methods: ["setSelected"],
30
+ model: "selected",
19
31
  slot: {
20
32
  attribute: "label",
21
33
  config: "text",
@@ -1,28 +1,15 @@
1
- /**
2
- * `<m-card>`: the card as a custom element. It holds arbitrary content, so
3
- * its regions are slots, placed by the factory's own builders:
4
- *
5
- * - `media`: at the top, clipped to the card's shape;
6
- * - `avatar`, `headline`, `subhead` and `header-action`: the header, whose
7
- * headline names the card (`headline` and `subhead` attributes are the
8
- * fallback text);
9
- * - the default slot: the supporting content, padded;
10
- * - `actions`: the row of actions at the bottom.
11
- *
12
- * A region is built only when it has content, and the card is recreated when
13
- * a region appears or goes away; content changes inside a region are the
14
- * slot's. `clickable` makes the card a button (Enter and Space click it) and
15
- * its activation is the native `click`.
16
- *
17
- * Parts: `card`, `content`.
18
- *
19
- * @module elements
20
- */
21
1
  import type { CardComponent } from "../components/card/types.js";
22
2
  import { type Config, type DefineOptions, type ElementInstance } from "./define.js";
23
3
  declare const cardSpec: {
24
4
  name: string;
25
- slots: readonly ["avatar", "header-action", "headline", "subhead", "media", "actions"];
5
+ slots: readonly [
6
+ "avatar",
7
+ "header-action",
8
+ "headline",
9
+ "subhead",
10
+ "media",
11
+ "actions"
12
+ ];
26
13
  create: (config: Config) => CardComponent;
27
14
  styles: string[];
28
15
  hostStyles: string;
@@ -48,6 +35,10 @@ declare const cardSpec: {
48
35
  type: "string";
49
36
  config: string;
50
37
  };
38
+ "actions-align": {
39
+ type: "string";
40
+ config: string;
41
+ };
51
42
  disabled: {
52
43
  type: "boolean";
53
44
  update: (c: CardComponent, v: import("./define.js").AttributeValue) => void;
@@ -64,12 +55,9 @@ declare const cardSpec: {
64
55
  };
65
56
  export declare const cardElement: import("./define.js").ElementDefinition<CardComponent>;
66
57
  export type CardSpec = typeof cardSpec;
67
- /** `<m-card>` as a ref or a query returns it. */
68
58
  export type CardElement = ElementInstance<CardSpec, CardComponent>;
69
- /** Registers `<m-card>` (or `<prefix-card>`). */
70
59
  export declare const defineCard: (options?: DefineOptions) => string;
71
60
  declare global {
72
- /** `document.querySelector("m-…")` and `createElement` return the element's type (the default prefix). */
73
61
  interface HTMLElementTagNameMap {
74
62
  "m-card": CardElement;
75
63
  }
@@ -41,7 +41,7 @@ const header = (config, regions) => {
41
41
  return element;
42
42
  };
43
43
  const create = (config) => {
44
- const { regions = [], headline, subhead, ariaLabel, ...rest } = config;
44
+ const { regions = [], headline, subhead, ariaLabel, actionsAlign = "end", ...rest } = config;
45
45
  const card = createCard({ ...rest, aria: ariaLabel ? { label: ariaLabel } : undefined });
46
46
  const has = (region) => regions.includes(region);
47
47
  if (has("media"))
@@ -52,7 +52,7 @@ const create = (config) => {
52
52
  if (has("content"))
53
53
  card.addContent(createCardContent({ children: [slot()] }));
54
54
  if (has("actions")) {
55
- const actions = createCardActions({});
55
+ const actions = createCardActions({ align: actionsAlign });
56
56
  actions.append(slot("actions"));
57
57
  card.setActions(actions);
58
58
  }
@@ -102,6 +102,7 @@ const cardSpec = {
102
102
  },
103
103
  headline: { type: "string", config: "headline" },
104
104
  subhead: { type: "string", config: "subhead" },
105
+ "actions-align": { type: "string", config: "actionsAlign" },
105
106
  disabled: { type: "boolean", update: (c, v) => setDisabled(c, !!v) },
106
107
  "aria-label": { type: "string", config: "ariaLabel", update: (c, v) => setAriaLabel(c, v === null ? null : String(v)) },
107
108
  },
@@ -1,24 +1,3 @@
1
- /**
2
- * `<m-carousel>` with `<m-carousel-item>` children.
3
- *
4
- * Each `<m-carousel-item>` declares one item (`src`, `alt`, `description`,
5
- * `button-text`, `button-url`, `value`, and its text as the label). The
6
- * carousel reads them into the factory's config and updates in place when
7
- * they change; the children stay where the framework put them.
8
- *
9
- * `variant` and the sizing attributes have no setter on the carousel:
10
- * changing one recreates it. `index` on `<m-carousel>` is the default current
11
- * item, which moves the live one until the user or script changes it; the
12
- * `index` property is the live one, and `change` reports the item the user
13
- * scrolls, swipes or arrows to.
14
- *
15
- * The carousel fills the host's height, as the factory fills its
16
- * container's: give `<m-carousel>` a height.
17
- *
18
- * Parts: `carousel`, `scroller`, `track`, `item`, `content`, `title`, `snap`.
19
- *
20
- * @module elements
21
- */
22
1
  import type { CarouselComponent } from "../components/carousel/types.js";
23
2
  import { type Config, type DefineOptions, type ElementAttributes, type ElementInstance } from "./define.js";
24
3
  declare const carouselSpec: {
@@ -80,7 +59,11 @@ declare const carouselSpec: {
80
59
  };
81
60
  };
82
61
  model: "index";
83
- methods: readonly ["next", "prev", "goTo"];
62
+ methods: readonly [
63
+ "next",
64
+ "prev",
65
+ "goTo"
66
+ ];
84
67
  events: {
85
68
  change: {
86
69
  detail: (payload: unknown) => {
@@ -93,12 +76,7 @@ declare const carouselSpec: {
93
76
  };
94
77
  export declare const carouselElement: import("./define.js").ElementDefinition<CarouselComponent>;
95
78
  export type CarouselSpec = typeof carouselSpec;
96
- /** `<m-carousel>` as a ref or a query returns it. */
97
79
  export type CarouselElement = ElementInstance<CarouselSpec, CarouselComponent>;
98
- /**
99
- * `<m-carousel-item>` declares one item and renders nothing. Its text
100
- * content is the label unless `label` is set.
101
- */
102
80
  export declare const carouselItemDeclaration: {
103
81
  readonly name: "carousel-item";
104
82
  readonly attributes: {
@@ -126,10 +104,8 @@ export declare const carouselItemDeclaration: {
126
104
  };
127
105
  };
128
106
  export type CarouselItemAttributes = ElementAttributes<typeof carouselItemDeclaration>;
129
- /** Registers `<m-carousel>` and `<m-carousel-item>` (or with another prefix). */
130
107
  export declare const defineCarousel: (options?: DefineOptions) => string;
131
108
  declare global {
132
- /** `document.querySelector("m-…")` and `createElement` return the element's type (the default prefix). */
133
109
  interface HTMLElementTagNameMap {
134
110
  "m-carousel": CarouselElement;
135
111
  "m-carousel-item": HTMLElement & CarouselItemAttributes;
@@ -1,14 +1,3 @@
1
- /**
2
- * `<m-checkbox>`: the checkbox as a form-associated custom element.
3
- *
4
- * The `checked` attribute is the default state and the `checked` property the
5
- * live one, as on a native checkbox: the attribute moves the state until the
6
- * user or script changes it. `indeterminate` is a property only, as natively. Children are the label.
7
- *
8
- * Parts: `checkbox`, `input`, `icon`, `label`.
9
- *
10
- * @module elements
11
- */
12
1
  import type { CheckboxComponent } from "../components/checkbox/types.js";
13
2
  import { type DefineOptions, type ElementInstance } from "./define.js";
14
3
  declare const checkboxSpec: {
@@ -62,7 +51,11 @@ declare const checkboxSpec: {
62
51
  config: string;
63
52
  };
64
53
  };
65
- methods: readonly ["toggle", "check", "uncheck"];
54
+ methods: readonly [
55
+ "toggle",
56
+ "check",
57
+ "uncheck"
58
+ ];
66
59
  model: "checked";
67
60
  events: {
68
61
  change: {
@@ -90,12 +83,9 @@ declare const checkboxSpec: {
90
83
  };
91
84
  export declare const checkboxElement: import("./define.js").ElementDefinition<CheckboxComponent>;
92
85
  export type CheckboxSpec = typeof checkboxSpec;
93
- /** `<m-checkbox>` as a ref or a query returns it. */
94
86
  export type CheckboxElement = ElementInstance<CheckboxSpec, CheckboxComponent>;
95
- /** Registers `<m-checkbox>` (or `<prefix-checkbox>`). */
96
87
  export declare const defineCheckbox: (options?: DefineOptions) => string;
97
88
  declare global {
98
- /** `document.querySelector("m-…")` and `createElement` return the element's type (the default prefix). */
99
89
  interface HTMLElementTagNameMap {
100
90
  "m-checkbox": CheckboxElement;
101
91
  }
@@ -1,28 +1,5 @@
1
- /**
2
- * `<m-chips>` with `<m-chip>` children: the chip set.
3
- *
4
- * Each `<m-chip>` declares one chip (`variant`, `value`, `icon`,
5
- * `trailing-icon`, `avatar`, `remove-label`, `selected`, `disabled`,
6
- * `elevated`, and its text as the label). The set reads them into the
7
- * factory's config and updates in place when they change; the children stay
8
- * where the framework put them.
9
- *
10
- * Filter and input chips select. `value` on the set is the default selection
11
- * (comma-separated in a multi-select set), which moves the live one until the
12
- * user or script changes it; without it, the chips' `selected` is the default.
13
- * The `value` property is the live selection: an array in a multi-select set
14
- * (the default, as the factory's), a string or null with `selection="single"`.
15
- * Removing an input chip dispatches `remove`; the set drops the chip, and the
16
- * app removes its `<m-chip>`, which is not shown again meanwhile.
17
- *
18
- * Parts: `chips`, `container`, `chip`, `action`, `leading-icon`, `checkmark`, `label`,
19
- * `trailing-icon`, `ripple`.
20
- *
21
- * @module elements
22
- */
23
1
  import type { ChipsComponent } from "../components/chips/types.js";
24
2
  import { type Config, type DefineOptions, type ElementAttributes, type ElementHost, type ElementInstance } from "./define.js";
25
- /** The live selection: several values, or one or none in a single-select set. */
26
3
  export type ChipsValue = string | string[] | null;
27
4
  declare const chipsSpec: {
28
5
  name: string;
@@ -93,12 +70,7 @@ declare const chipsSpec: {
93
70
  };
94
71
  export declare const chipsElement: import("./define.js").ElementDefinition<ChipsComponent>;
95
72
  export type ChipsSpec = typeof chipsSpec;
96
- /** `<m-chips>` as a ref or a query returns it. */
97
73
  export type ChipsElement = ElementInstance<ChipsSpec, ChipsComponent>;
98
- /**
99
- * `<m-chip>` declares one chip and renders nothing. Its text content is the
100
- * label unless `label` is set.
101
- */
102
74
  export declare const chipDeclaration: {
103
75
  readonly name: "chip";
104
76
  readonly attributes: {
@@ -111,15 +83,12 @@ export declare const chipDeclaration: {
111
83
  readonly variant: {
112
84
  readonly type: "string";
113
85
  };
114
- /** Markup (HTML). Not sanitized by default: see Markup and sanitizing. */
115
86
  readonly icon: {
116
87
  readonly type: "string";
117
88
  };
118
- /** Markup (HTML). Not sanitized by default: see Markup and sanitizing. */
119
89
  readonly "trailing-icon": {
120
90
  readonly type: "string";
121
91
  };
122
- /** Markup (HTML), not a person's name or an image URL. Not sanitized by default: see Markup and sanitizing. Input chips only; takes precedence over `icon`. */
123
92
  readonly avatar: {
124
93
  readonly type: "string";
125
94
  };
@@ -138,10 +107,8 @@ export declare const chipDeclaration: {
138
107
  };
139
108
  };
140
109
  export type ChipAttributes = ElementAttributes<typeof chipDeclaration>;
141
- /** Registers `<m-chips>` and `<m-chip>` (or with another prefix). */
142
110
  export declare const defineChips: (options?: DefineOptions) => string;
143
111
  declare global {
144
- /** `document.querySelector("m-…")` and `createElement` return the element's type (the default prefix). */
145
112
  interface HTMLElementTagNameMap {
146
113
  "m-chips": ChipsElement;
147
114
  "m-chip": HTMLElement & ChipAttributes;
@@ -1 +1 @@
1
- .mtrl-extended-fab{position:relative;display:inline-flex;align-items:center;border:none;background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container);font:inherit;justify-content:center;text-decoration:none;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;overflow:hidden;box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1),box-shadow 100ms cubic-bezier(0.2, 0, 0, 1),background-color 100ms cubic-bezier(0.2, 0, 0, 1),color 100ms cubic-bezier(0.2, 0, 0, 1);width:var(--mtrl-extended-fab-compact, auto);height:var(--mtrl-extended-fab-height, 56px);min-width:var(--mtrl-extended-fab-height, 56px);padding:0 var(--mtrl-extended-fab-compact, var(--mtrl-extended-fab-padding, 16px));gap:var(--mtrl-extended-fab-compact, var(--mtrl-extended-fab-gap, 8px));border-radius:var(--mtrl-extended-fab-radius, var(--mtrl-sys-shape-corner-large, 16px));transition:width .3s cubic-bezier(0.2, 0, 0, 1),min-width .3s cubic-bezier(0.2, 0, 0, 1),padding .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab--small{--mtrl-extended-fab-height: 56px;--mtrl-extended-fab-icon-size: 24px;--mtrl-extended-fab-padding: 16px;--mtrl-extended-fab-gap: 8px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-large, 16px)}.mtrl-extended-fab--small .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500}.mtrl-extended-fab--medium{--mtrl-extended-fab-height: 80px;--mtrl-extended-fab-icon-size: 28px;--mtrl-extended-fab-padding: 26px;--mtrl-extended-fab-gap: 16px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-large-increased, 20px)}.mtrl-extended-fab--medium .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400}.mtrl-extended-fab--large{--mtrl-extended-fab-height: 96px;--mtrl-extended-fab-icon-size: 32px;--mtrl-extended-fab-padding: 28px;--mtrl-extended-fab-gap: 20px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-extra-large, 28px)}.mtrl-extended-fab--large .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400}.mtrl-extended-fab:focus{outline:none}.mtrl-extended-fab:focus-visible{outline:2px solid var(--mtrl-sys-color-outline);outline-offset:2px}.mtrl-extended-fab__icon{display:flex;align-items:center;justify-content:center;width:var(--mtrl-extended-fab-icon-size, 24px);height:var(--mtrl-extended-fab-icon-size, 24px);flex-shrink:0;padding:0;transition:transform .3s cubic-bezier(0.2, 0, 0, 1),margin .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab__icon svg{width:var(--mtrl-extended-fab-icon-size, 24px);height:var(--mtrl-extended-fab-icon-size, 24px)}.mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:var(--mtrl-extended-fab-compact, auto);max-width:var(--mtrl-extended-fab-compact, 280px);opacity:var(--mtrl-extended-fab-compact, 1);margin:0;transition:max-width .3s cubic-bezier(0.2, 0, 0, 1),opacity .2s cubic-bezier(0.2, 0, 0, 1),width .3s cubic-bezier(0.2, 0, 0, 1),margin .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab--fluid{width:var(--mtrl-extended-fab-compact, 100%)}.mtrl-extended-fab--primary-container{background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container)}.mtrl-extended-fab--secondary-container{background-color:var(--mtrl-sys-color-secondary-container);color:var(--mtrl-sys-color-on-secondary-container)}.mtrl-extended-fab--tertiary-container{background-color:var(--mtrl-sys-color-tertiary-container);color:var(--mtrl-sys-color-on-tertiary-container)}.mtrl-extended-fab--primary{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-extended-fab--secondary{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-extended-fab--tertiary{background-color:var(--mtrl-sys-color-tertiary);color:var(--mtrl-sys-color-on-tertiary)}.mtrl-extended-fab:hover{box-shadow:0px 2px 3px rgba(0,0,0,.3),0px 6px 10px 4px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:hover){position:relative}.mtrl-extended-fab:hover::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-extended-fab:focus-visible{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:focus-visible){position:relative}.mtrl-extended-fab:focus-visible::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-extended-fab:active{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:active){position:relative}.mtrl-extended-fab:active:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-extended-fab--collapsed{--mtrl-extended-fab-compact: 0}.mtrl-extended-fab--collapsed .mtrl-extended-fab__icon{margin:0;transform:scale(1)}.mtrl-extended-fab--collapsed .mtrl-extended-fab__text{margin:0;transition:opacity .1s cubic-bezier(0.3, 0, 1, 1),max-width .3s cubic-bezier(0.3, 0, 1, 1) .05s,width .3s cubic-bezier(0.3, 0, 1, 1) .05s,margin .3s cubic-bezier(0.3, 0, 1, 1) .05s}.mtrl-extended-fab:not(.mtrl-extended-fab--collapsed) .mtrl-extended-fab__icon{transform:scale(1)}.mtrl-extended-fab:not(.mtrl-extended-fab--collapsed) .mtrl-extended-fab__text{transition:width .25s cubic-bezier(0, 0, 0.2, 1),max-width .25s cubic-bezier(0, 0, 0.2, 1),opacity .2s cubic-bezier(0, 0, 0.2, 1) .05s,margin .25s cubic-bezier(0, 0, 0.2, 1)}.mtrl-extended-fab--long-press{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab--long-press){position:relative}.mtrl-extended-fab--long-press::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.16;pointer-events:none;border-radius:inherit}.mtrl-extended-fab.mtrl-extended-fab--lowered{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-extended-fab.mtrl-extended-fab--lowered:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-extended-fab.mtrl-extended-fab--lowered:focus-visible,.mtrl-extended-fab.mtrl-extended-fab--lowered:active{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-extended-fab:disabled,.mtrl-extended-fab.mtrl-extended-fab--disabled{pointer-events:none}.mtrl-extended-fab:disabled,.mtrl-extended-fab:disabled:hover,.mtrl-extended-fab:disabled:focus-visible,.mtrl-extended-fab:disabled:active,.mtrl-extended-fab.mtrl-extended-fab--disabled,.mtrl-extended-fab.mtrl-extended-fab--disabled:hover,.mtrl-extended-fab.mtrl-extended-fab--disabled:focus-visible,.mtrl-extended-fab.mtrl-extended-fab--disabled:active{box-shadow:none;color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 12%, transparent)}.mtrl-extended-fab:disabled::before,.mtrl-extended-fab.mtrl-extended-fab--disabled::before{display:none}.mtrl-extended-fab--top-right{position:fixed;top:16px;right:16px;z-index:600}.mtrl-extended-fab--top-left{position:fixed;top:16px;left:16px;z-index:600}.mtrl-extended-fab--bottom-right{position:fixed;bottom:16px;right:16px;z-index:600}.mtrl-extended-fab--bottom-left{position:fixed;bottom:16px;left:16px;z-index:600}@keyframes extended-fab-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}.mtrl-extended-fab--animate-enter{animation:extended-fab-enter .3s forwards}@media(max-width: 600px){.mtrl-extended-fab--center-mobile{left:50%;transform:translateX(-50%)}}.mtrl-extended-fab--collapsible{transition-duration:.3s;transition-timing-function:cubic-bezier(0.2, 0, 0, 1)}
1
+ .mtrl-extended-fab{position:relative;display:inline-flex;align-items:center;border:none;background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container);font:inherit;justify-content:center;text-decoration:none;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;overflow:hidden;box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1),box-shadow 100ms cubic-bezier(0.2, 0, 0, 1),background-color 100ms cubic-bezier(0.2, 0, 0, 1),color 100ms cubic-bezier(0.2, 0, 0, 1);width:var(--mtrl-extended-fab-compact, auto);height:var(--mtrl-extended-fab-height, 56px);min-width:var(--mtrl-extended-fab-height, 56px);padding:0 var(--mtrl-extended-fab-compact, var(--mtrl-extended-fab-padding, 16px));gap:var(--mtrl-extended-fab-compact, var(--mtrl-extended-fab-gap, 8px));border-radius:var(--mtrl-extended-fab-radius, var(--mtrl-sys-shape-corner-large, 16px));transition:width .3s cubic-bezier(0.2, 0, 0, 1),min-width .3s cubic-bezier(0.2, 0, 0, 1),padding .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab--small{--mtrl-extended-fab-height: 56px;--mtrl-extended-fab-icon-size: 24px;--mtrl-extended-fab-padding: 16px;--mtrl-extended-fab-gap: 8px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-large, 16px)}.mtrl-extended-fab--small .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500}.mtrl-extended-fab--medium{--mtrl-extended-fab-height: 80px;--mtrl-extended-fab-icon-size: 28px;--mtrl-extended-fab-padding: 26px;--mtrl-extended-fab-gap: 16px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-large-increased, 20px)}.mtrl-extended-fab--medium .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400}.mtrl-extended-fab--large{--mtrl-extended-fab-height: 96px;--mtrl-extended-fab-icon-size: 32px;--mtrl-extended-fab-padding: 28px;--mtrl-extended-fab-gap: 20px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-extra-large, 28px)}.mtrl-extended-fab--large .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400}.mtrl-extended-fab:focus{outline:none}.mtrl-extended-fab:focus-visible{outline:2px solid var(--mtrl-sys-color-outline);outline-offset:2px}.mtrl-extended-fab__icon{display:flex;align-items:center;justify-content:center;width:var(--mtrl-extended-fab-icon-size, 24px);height:var(--mtrl-extended-fab-icon-size, 24px);flex-shrink:0;padding:0;transition:transform .3s cubic-bezier(0.2, 0, 0, 1),margin .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab__icon svg{width:var(--mtrl-extended-fab-icon-size, 24px);height:var(--mtrl-extended-fab-icon-size, 24px)}.mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:var(--mtrl-extended-fab-compact, auto);max-width:var(--mtrl-extended-fab-compact, 280px);opacity:var(--mtrl-extended-fab-compact, 1);margin:0;transition:max-width .3s cubic-bezier(0.2, 0, 0, 1),opacity .2s cubic-bezier(0.2, 0, 0, 1),width .3s cubic-bezier(0.2, 0, 0, 1),margin .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab--fluid{width:var(--mtrl-extended-fab-compact, 100%)}.mtrl-extended-fab--primary-container{background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container)}.mtrl-extended-fab--secondary-container{background-color:var(--mtrl-sys-color-secondary-container);color:var(--mtrl-sys-color-on-secondary-container)}.mtrl-extended-fab--tertiary-container{background-color:var(--mtrl-sys-color-tertiary-container);color:var(--mtrl-sys-color-on-tertiary-container)}.mtrl-extended-fab--primary{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-extended-fab--secondary{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-extended-fab--tertiary{background-color:var(--mtrl-sys-color-tertiary);color:var(--mtrl-sys-color-on-tertiary)}.mtrl-extended-fab:hover{box-shadow:0px 2px 3px rgba(0,0,0,.3),0px 6px 10px 4px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:hover){position:relative}.mtrl-extended-fab:hover::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-extended-fab:focus-visible{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:focus-visible){position:relative}.mtrl-extended-fab:focus-visible::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-extended-fab:active{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:active){position:relative}.mtrl-extended-fab:active:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-extended-fab--collapsed{--mtrl-extended-fab-compact: 0}.mtrl-extended-fab--collapsed .mtrl-extended-fab__icon{margin:0;transform:scale(1)}.mtrl-extended-fab--collapsed .mtrl-extended-fab__text{margin:0;transition:opacity .1s cubic-bezier(0.3, 0, 1, 1),max-width .3s cubic-bezier(0.3, 0, 1, 1) .05s,width .3s cubic-bezier(0.3, 0, 1, 1) .05s,margin .3s cubic-bezier(0.3, 0, 1, 1) .05s}.mtrl-extended-fab:not(.mtrl-extended-fab--collapsed) .mtrl-extended-fab__icon{transform:scale(1)}.mtrl-extended-fab:not(.mtrl-extended-fab--collapsed) .mtrl-extended-fab__text{transition:width .25s cubic-bezier(0, 0, 0.2, 1),max-width .25s cubic-bezier(0, 0, 0.2, 1),opacity .2s cubic-bezier(0, 0, 0.2, 1) .05s,margin .25s cubic-bezier(0, 0, 0.2, 1)}.mtrl-extended-fab--long-press{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab--long-press){position:relative}.mtrl-extended-fab--long-press::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.16;pointer-events:none;border-radius:inherit}.mtrl-extended-fab.mtrl-extended-fab--lowered{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-extended-fab.mtrl-extended-fab--lowered:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-extended-fab.mtrl-extended-fab--lowered:focus-visible,.mtrl-extended-fab.mtrl-extended-fab--lowered:active{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-extended-fab:disabled,.mtrl-extended-fab.mtrl-extended-fab--disabled{pointer-events:none}.mtrl-extended-fab:disabled,.mtrl-extended-fab:disabled:hover,.mtrl-extended-fab:disabled:focus-visible,.mtrl-extended-fab:disabled:active,.mtrl-extended-fab.mtrl-extended-fab--disabled,.mtrl-extended-fab.mtrl-extended-fab--disabled:hover,.mtrl-extended-fab.mtrl-extended-fab--disabled:focus-visible,.mtrl-extended-fab.mtrl-extended-fab--disabled:active{box-shadow:none;color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 12%, transparent)}.mtrl-extended-fab:disabled::before,.mtrl-extended-fab.mtrl-extended-fab--disabled::before{display:none}.mtrl-extended-fab--top-right,.mtrl-extended-fab--top-end{position:fixed;top:16px;right:16px;z-index:600}.mtrl-extended-fab--top-left,.mtrl-extended-fab--top-start{position:fixed;top:16px;left:16px;z-index:600}.mtrl-extended-fab--bottom-right,.mtrl-extended-fab--bottom-end{position:fixed;bottom:16px;right:16px;z-index:600}.mtrl-extended-fab--bottom-left,.mtrl-extended-fab--bottom-start{position:fixed;bottom:16px;left:16px;z-index:600}.mtrl-extended-fab--top-start:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-extended-fab--top-start,:where(:host(.mtrl-rtl)) .mtrl-extended-fab--top-start,[dir=rtl] .mtrl-extended-fab--top-start:not(:where(.mtrl-ltr,.mtrl-ltr *)),.mtrl-extended-fab--bottom-start:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-extended-fab--bottom-start,:where(:host(.mtrl-rtl)) .mtrl-extended-fab--bottom-start,[dir=rtl] .mtrl-extended-fab--bottom-start:not(:where(.mtrl-ltr,.mtrl-ltr *)){left:auto;right:16px}.mtrl-extended-fab--top-end:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-extended-fab--top-end,:where(:host(.mtrl-rtl)) .mtrl-extended-fab--top-end,[dir=rtl] .mtrl-extended-fab--top-end:not(:where(.mtrl-ltr,.mtrl-ltr *)),.mtrl-extended-fab--bottom-end:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-extended-fab--bottom-end,:where(:host(.mtrl-rtl)) .mtrl-extended-fab--bottom-end,[dir=rtl] .mtrl-extended-fab--bottom-end:not(:where(.mtrl-ltr,.mtrl-ltr *)){right:auto;left:16px}@keyframes extended-fab-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}.mtrl-extended-fab--animate-enter{animation:extended-fab-enter .3s forwards}@media(max-width: 600px){.mtrl-extended-fab--center-mobile{left:50%;transform:translateX(-50%)}}.mtrl-extended-fab--collapsible{transition-duration:.3s;transition-timing-function:cubic-bezier(0.2, 0, 0, 1)}
@@ -1,3 +1,3 @@
1
1
  import "./ripple.js";
2
2
  import { registerStyles } from "../styles.js";
3
- registerStyles({ "extended-fab": ".mtrl-extended-fab{position:relative;display:inline-flex;align-items:center;border:none;background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container);font:inherit;justify-content:center;text-decoration:none;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;overflow:hidden;box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1),box-shadow 100ms cubic-bezier(0.2, 0, 0, 1),background-color 100ms cubic-bezier(0.2, 0, 0, 1),color 100ms cubic-bezier(0.2, 0, 0, 1);width:var(--mtrl-extended-fab-compact, auto);height:var(--mtrl-extended-fab-height, 56px);min-width:var(--mtrl-extended-fab-height, 56px);padding:0 var(--mtrl-extended-fab-compact, var(--mtrl-extended-fab-padding, 16px));gap:var(--mtrl-extended-fab-compact, var(--mtrl-extended-fab-gap, 8px));border-radius:var(--mtrl-extended-fab-radius, var(--mtrl-sys-shape-corner-large, 16px));transition:width .3s cubic-bezier(0.2, 0, 0, 1),min-width .3s cubic-bezier(0.2, 0, 0, 1),padding .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab--small{--mtrl-extended-fab-height: 56px;--mtrl-extended-fab-icon-size: 24px;--mtrl-extended-fab-padding: 16px;--mtrl-extended-fab-gap: 8px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-large, 16px)}.mtrl-extended-fab--small .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500}.mtrl-extended-fab--medium{--mtrl-extended-fab-height: 80px;--mtrl-extended-fab-icon-size: 28px;--mtrl-extended-fab-padding: 26px;--mtrl-extended-fab-gap: 16px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-large-increased, 20px)}.mtrl-extended-fab--medium .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400}.mtrl-extended-fab--large{--mtrl-extended-fab-height: 96px;--mtrl-extended-fab-icon-size: 32px;--mtrl-extended-fab-padding: 28px;--mtrl-extended-fab-gap: 20px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-extra-large, 28px)}.mtrl-extended-fab--large .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400}.mtrl-extended-fab:focus{outline:none}.mtrl-extended-fab:focus-visible{outline:2px solid var(--mtrl-sys-color-outline);outline-offset:2px}.mtrl-extended-fab__icon{display:flex;align-items:center;justify-content:center;width:var(--mtrl-extended-fab-icon-size, 24px);height:var(--mtrl-extended-fab-icon-size, 24px);flex-shrink:0;padding:0;transition:transform .3s cubic-bezier(0.2, 0, 0, 1),margin .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab__icon svg{width:var(--mtrl-extended-fab-icon-size, 24px);height:var(--mtrl-extended-fab-icon-size, 24px)}.mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:var(--mtrl-extended-fab-compact, auto);max-width:var(--mtrl-extended-fab-compact, 280px);opacity:var(--mtrl-extended-fab-compact, 1);margin:0;transition:max-width .3s cubic-bezier(0.2, 0, 0, 1),opacity .2s cubic-bezier(0.2, 0, 0, 1),width .3s cubic-bezier(0.2, 0, 0, 1),margin .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab--fluid{width:var(--mtrl-extended-fab-compact, 100%)}.mtrl-extended-fab--primary-container{background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container)}.mtrl-extended-fab--secondary-container{background-color:var(--mtrl-sys-color-secondary-container);color:var(--mtrl-sys-color-on-secondary-container)}.mtrl-extended-fab--tertiary-container{background-color:var(--mtrl-sys-color-tertiary-container);color:var(--mtrl-sys-color-on-tertiary-container)}.mtrl-extended-fab--primary{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-extended-fab--secondary{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-extended-fab--tertiary{background-color:var(--mtrl-sys-color-tertiary);color:var(--mtrl-sys-color-on-tertiary)}.mtrl-extended-fab:hover{box-shadow:0px 2px 3px rgba(0,0,0,.3),0px 6px 10px 4px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:hover){position:relative}.mtrl-extended-fab:hover::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-extended-fab:focus-visible{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:focus-visible){position:relative}.mtrl-extended-fab:focus-visible::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-extended-fab:active{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:active){position:relative}.mtrl-extended-fab:active:not(:has(>.mtrl-ripple))::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-extended-fab--collapsed{--mtrl-extended-fab-compact: 0}.mtrl-extended-fab--collapsed .mtrl-extended-fab__icon{margin:0;transform:scale(1)}.mtrl-extended-fab--collapsed .mtrl-extended-fab__text{margin:0;transition:opacity .1s cubic-bezier(0.3, 0, 1, 1),max-width .3s cubic-bezier(0.3, 0, 1, 1) .05s,width .3s cubic-bezier(0.3, 0, 1, 1) .05s,margin .3s cubic-bezier(0.3, 0, 1, 1) .05s}.mtrl-extended-fab:not(.mtrl-extended-fab--collapsed) .mtrl-extended-fab__icon{transform:scale(1)}.mtrl-extended-fab:not(.mtrl-extended-fab--collapsed) .mtrl-extended-fab__text{transition:width .25s cubic-bezier(0, 0, 0.2, 1),max-width .25s cubic-bezier(0, 0, 0.2, 1),opacity .2s cubic-bezier(0, 0, 0.2, 1) .05s,margin .25s cubic-bezier(0, 0, 0.2, 1)}.mtrl-extended-fab--long-press{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab--long-press){position:relative}.mtrl-extended-fab--long-press::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:.16;pointer-events:none;border-radius:inherit}.mtrl-extended-fab.mtrl-extended-fab--lowered{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-extended-fab.mtrl-extended-fab--lowered:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-extended-fab.mtrl-extended-fab--lowered:focus-visible,.mtrl-extended-fab.mtrl-extended-fab--lowered:active{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-extended-fab:disabled,.mtrl-extended-fab.mtrl-extended-fab--disabled{pointer-events:none}.mtrl-extended-fab:disabled,.mtrl-extended-fab:disabled:hover,.mtrl-extended-fab:disabled:focus-visible,.mtrl-extended-fab:disabled:active,.mtrl-extended-fab.mtrl-extended-fab--disabled,.mtrl-extended-fab.mtrl-extended-fab--disabled:hover,.mtrl-extended-fab.mtrl-extended-fab--disabled:focus-visible,.mtrl-extended-fab.mtrl-extended-fab--disabled:active{box-shadow:none;color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 12%, transparent)}.mtrl-extended-fab:disabled::before,.mtrl-extended-fab.mtrl-extended-fab--disabled::before{display:none}.mtrl-extended-fab--top-right{position:fixed;top:16px;right:16px;z-index:600}.mtrl-extended-fab--top-left{position:fixed;top:16px;left:16px;z-index:600}.mtrl-extended-fab--bottom-right{position:fixed;bottom:16px;right:16px;z-index:600}.mtrl-extended-fab--bottom-left{position:fixed;bottom:16px;left:16px;z-index:600}@keyframes extended-fab-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}.mtrl-extended-fab--animate-enter{animation:extended-fab-enter .3s forwards}@media(max-width: 600px){.mtrl-extended-fab--center-mobile{left:50%;transform:translateX(-50%)}}.mtrl-extended-fab--collapsible{transition-duration:.3s;transition-timing-function:cubic-bezier(0.2, 0, 0, 1)}" });
3
+ registerStyles({ "extended-fab": ".mtrl-extended-fab{position:relative;display:inline-flex;align-items:center;border:none;background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container);font:inherit;justify-content:center;text-decoration:none;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;overflow:hidden;box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1),box-shadow 100ms cubic-bezier(0.2, 0, 0, 1),background-color 100ms cubic-bezier(0.2, 0, 0, 1),color 100ms cubic-bezier(0.2, 0, 0, 1);width:var(--mtrl-extended-fab-compact, auto);height:var(--mtrl-extended-fab-height, 56px);min-width:var(--mtrl-extended-fab-height, 56px);padding:0 var(--mtrl-extended-fab-compact, var(--mtrl-extended-fab-padding, 16px));gap:var(--mtrl-extended-fab-compact, var(--mtrl-extended-fab-gap, 8px));border-radius:var(--mtrl-extended-fab-radius, var(--mtrl-sys-shape-corner-large, 16px));transition:width .3s cubic-bezier(0.2, 0, 0, 1),min-width .3s cubic-bezier(0.2, 0, 0, 1),padding .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab--small{--mtrl-extended-fab-height: 56px;--mtrl-extended-fab-icon-size: 24px;--mtrl-extended-fab-padding: 16px;--mtrl-extended-fab-gap: 8px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-large, 16px)}.mtrl-extended-fab--small .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500}.mtrl-extended-fab--medium{--mtrl-extended-fab-height: 80px;--mtrl-extended-fab-icon-size: 28px;--mtrl-extended-fab-padding: 26px;--mtrl-extended-fab-gap: 16px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-large-increased, 20px)}.mtrl-extended-fab--medium .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400}.mtrl-extended-fab--large{--mtrl-extended-fab-height: 96px;--mtrl-extended-fab-icon-size: 32px;--mtrl-extended-fab-padding: 28px;--mtrl-extended-fab-gap: 20px;--mtrl-extended-fab-radius: var(--mtrl-sys-shape-corner-extra-large, 28px)}.mtrl-extended-fab--large .mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400}.mtrl-extended-fab:focus{outline:none}.mtrl-extended-fab:focus-visible{outline:2px solid var(--mtrl-sys-color-outline);outline-offset:2px}.mtrl-extended-fab__icon{display:flex;align-items:center;justify-content:center;width:var(--mtrl-extended-fab-icon-size, 24px);height:var(--mtrl-extended-fab-icon-size, 24px);flex-shrink:0;padding:0;transition:transform .3s cubic-bezier(0.2, 0, 0, 1),margin .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab__icon svg{width:var(--mtrl-extended-fab-icon-size, 24px);height:var(--mtrl-extended-fab-icon-size, 24px)}.mtrl-extended-fab__text{font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:var(--mtrl-extended-fab-compact, auto);max-width:var(--mtrl-extended-fab-compact, 280px);opacity:var(--mtrl-extended-fab-compact, 1);margin:0;transition:max-width .3s cubic-bezier(0.2, 0, 0, 1),opacity .2s cubic-bezier(0.2, 0, 0, 1),width .3s cubic-bezier(0.2, 0, 0, 1),margin .3s cubic-bezier(0.2, 0, 0, 1)}.mtrl-extended-fab--fluid{width:var(--mtrl-extended-fab-compact, 100%)}.mtrl-extended-fab--primary-container{background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container)}.mtrl-extended-fab--secondary-container{background-color:var(--mtrl-sys-color-secondary-container);color:var(--mtrl-sys-color-on-secondary-container)}.mtrl-extended-fab--tertiary-container{background-color:var(--mtrl-sys-color-tertiary-container);color:var(--mtrl-sys-color-on-tertiary-container)}.mtrl-extended-fab--primary{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-extended-fab--secondary{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-extended-fab--tertiary{background-color:var(--mtrl-sys-color-tertiary);color:var(--mtrl-sys-color-on-tertiary)}.mtrl-extended-fab:hover{box-shadow:0px 2px 3px rgba(0,0,0,.3),0px 6px 10px 4px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:hover){position:relative}.mtrl-extended-fab:hover::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-extended-fab:focus-visible{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:focus-visible){position:relative}.mtrl-extended-fab:focus-visible::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-extended-fab:active{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab:active){position:relative}.mtrl-extended-fab:active:not(:has(>.mtrl-ripple))::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-extended-fab--collapsed{--mtrl-extended-fab-compact: 0}.mtrl-extended-fab--collapsed .mtrl-extended-fab__icon{margin:0;transform:scale(1)}.mtrl-extended-fab--collapsed .mtrl-extended-fab__text{margin:0;transition:opacity .1s cubic-bezier(0.3, 0, 1, 1),max-width .3s cubic-bezier(0.3, 0, 1, 1) .05s,width .3s cubic-bezier(0.3, 0, 1, 1) .05s,margin .3s cubic-bezier(0.3, 0, 1, 1) .05s}.mtrl-extended-fab:not(.mtrl-extended-fab--collapsed) .mtrl-extended-fab__icon{transform:scale(1)}.mtrl-extended-fab:not(.mtrl-extended-fab--collapsed) .mtrl-extended-fab__text{transition:width .25s cubic-bezier(0, 0, 0.2, 1),max-width .25s cubic-bezier(0, 0, 0.2, 1),opacity .2s cubic-bezier(0, 0, 0.2, 1) .05s,margin .25s cubic-bezier(0, 0, 0.2, 1)}.mtrl-extended-fab--long-press{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}:where(.mtrl-extended-fab--long-press){position:relative}.mtrl-extended-fab--long-press::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:.16;pointer-events:none;border-radius:inherit}.mtrl-extended-fab.mtrl-extended-fab--lowered{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-extended-fab.mtrl-extended-fab--lowered:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-extended-fab.mtrl-extended-fab--lowered:focus-visible,.mtrl-extended-fab.mtrl-extended-fab--lowered:active{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-extended-fab:disabled,.mtrl-extended-fab.mtrl-extended-fab--disabled{pointer-events:none}.mtrl-extended-fab:disabled,.mtrl-extended-fab:disabled:hover,.mtrl-extended-fab:disabled:focus-visible,.mtrl-extended-fab:disabled:active,.mtrl-extended-fab.mtrl-extended-fab--disabled,.mtrl-extended-fab.mtrl-extended-fab--disabled:hover,.mtrl-extended-fab.mtrl-extended-fab--disabled:focus-visible,.mtrl-extended-fab.mtrl-extended-fab--disabled:active{box-shadow:none;color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 12%, transparent)}.mtrl-extended-fab:disabled::before,.mtrl-extended-fab.mtrl-extended-fab--disabled::before{display:none}.mtrl-extended-fab--top-right,.mtrl-extended-fab--top-end{position:fixed;top:16px;right:16px;z-index:600}.mtrl-extended-fab--top-left,.mtrl-extended-fab--top-start{position:fixed;top:16px;left:16px;z-index:600}.mtrl-extended-fab--bottom-right,.mtrl-extended-fab--bottom-end{position:fixed;bottom:16px;right:16px;z-index:600}.mtrl-extended-fab--bottom-left,.mtrl-extended-fab--bottom-start{position:fixed;bottom:16px;left:16px;z-index:600}.mtrl-extended-fab--top-start:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-extended-fab--top-start,:where(:host(.mtrl-rtl)) .mtrl-extended-fab--top-start,[dir=rtl] .mtrl-extended-fab--top-start:not(:where(.mtrl-ltr,.mtrl-ltr *)),.mtrl-extended-fab--bottom-start:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-extended-fab--bottom-start,:where(:host(.mtrl-rtl)) .mtrl-extended-fab--bottom-start,[dir=rtl] .mtrl-extended-fab--bottom-start:not(:where(.mtrl-ltr,.mtrl-ltr *)){left:auto;right:16px}.mtrl-extended-fab--top-end:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-extended-fab--top-end,:where(:host(.mtrl-rtl)) .mtrl-extended-fab--top-end,[dir=rtl] .mtrl-extended-fab--top-end:not(:where(.mtrl-ltr,.mtrl-ltr *)),.mtrl-extended-fab--bottom-end:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-extended-fab--bottom-end,:where(:host(.mtrl-rtl)) .mtrl-extended-fab--bottom-end,[dir=rtl] .mtrl-extended-fab--bottom-end:not(:where(.mtrl-ltr,.mtrl-ltr *)){right:auto;left:16px}@keyframes extended-fab-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}.mtrl-extended-fab--animate-enter{animation:extended-fab-enter .3s forwards}@media(max-width: 600px){.mtrl-extended-fab--center-mobile{left:50%;transform:translateX(-50%)}}.mtrl-extended-fab--collapsible{transition-duration:.3s;transition-timing-function:cubic-bezier(0.2, 0, 0, 1)}" });
@@ -1 +1 @@
1
- .mtrl-fab-menu{position:relative;display:inline-block;width:56px;height:56px;vertical-align:middle}.mtrl-fab-menu--medium{width:80px;height:80px}.mtrl-fab-menu--large{width:96px;height:96px}.mtrl-fab-menu--primary{--mtrl-fab-menu-close: var(--mtrl-sys-color-primary);--mtrl-fab-menu-on-close: var(--mtrl-sys-color-on-primary);--mtrl-fab-menu-item: var(--mtrl-sys-color-primary-container);--mtrl-fab-menu-on-item: var(--mtrl-sys-color-on-primary-container)}.mtrl-fab-menu--secondary{--mtrl-fab-menu-close: var(--mtrl-sys-color-secondary);--mtrl-fab-menu-on-close: var(--mtrl-sys-color-on-secondary);--mtrl-fab-menu-item: var(--mtrl-sys-color-secondary-container);--mtrl-fab-menu-on-item: var(--mtrl-sys-color-on-secondary-container)}.mtrl-fab-menu--tertiary{--mtrl-fab-menu-close: var(--mtrl-sys-color-tertiary);--mtrl-fab-menu-on-close: var(--mtrl-sys-color-on-tertiary);--mtrl-fab-menu-item: var(--mtrl-sys-color-tertiary-container);--mtrl-fab-menu-on-item: var(--mtrl-sys-color-on-tertiary-container)}.mtrl-fab-menu--bottom-end,.mtrl-fab-menu--bottom-start{--mtrl-fab-menu-margin: 16px;position:absolute;bottom:var(--mtrl-fab-menu-margin);z-index:50}@media(min-width: 1200px){.mtrl-fab-menu--bottom-end,.mtrl-fab-menu--bottom-start{--mtrl-fab-menu-margin: 24px}}.mtrl-fab-menu--bottom-end{inset-inline-end:var(--mtrl-fab-menu-margin)}.mtrl-fab-menu--bottom-start{inset-inline-start:var(--mtrl-fab-menu-margin)}.mtrl-fab-menu--bottom-start .mtrl-fab.mtrl-fab-menu__fab{inset-inline-start:0;inset-inline-end:auto}.mtrl-fab-menu--bottom-start .mtrl-fab-menu__list{inset-inline-start:0;inset-inline-end:auto;align-items:flex-start}.mtrl-fab-menu--bottom-start .mtrl-fab-menu__item{justify-content:flex-start}.mtrl-fab.mtrl-fab-menu__fab{position:absolute;inset-block-start:0;inset-inline-end:0;display:grid;place-items:center;transition:width 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1),height 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1),border-radius 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1),background-color 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1, 1, 1, 1, 1, 1, 1, 1, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1, 1, 1),color 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1, 1, 1, 1, 1, 1, 1, 1, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1, 1, 1),box-shadow 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1)}.mtrl-fab.mtrl-fab-menu__fab>*{grid-area:1/1}.mtrl-fab.mtrl-fab-menu__fab .mtrl-fab__icon,.mtrl-fab.mtrl-fab-menu__fab .mtrl-fab-menu__close{transition:visibility 0s linear 48ms}.mtrl-fab-menu__close{display:inline-flex;width:20px;height:20px;visibility:hidden}.mtrl-fab-menu__close svg{width:20px;height:20px;fill:currentColor}.mtrl-fab-menu--list.mtrl-fab-menu--open .mtrl-fab-menu__fab{width:56px;height:56px;border-radius:28px;background-color:var(--mtrl-fab-menu-close);color:var(--mtrl-fab-menu-on-close)}.mtrl-fab-menu--list.mtrl-fab-menu--open .mtrl-fab-menu__fab .mtrl-fab__icon{visibility:hidden}.mtrl-fab-menu--list.mtrl-fab-menu--open .mtrl-fab-menu__fab .mtrl-fab-menu__close{visibility:visible}.mtrl-fab-menu__list{position:absolute;bottom:calc(100% + 8px);inset-inline-end:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;overflow-y:auto;visibility:hidden;transition:visibility 0s linear var(--mtrl-fab-menu-exit, 0ms)}.mtrl-fab-menu--menu .mtrl-fab-menu__list{display:none}.mtrl-fab-menu--open .mtrl-fab-menu__list{visibility:visible;transition-delay:0s}.mtrl-fab-menu__item{position:relative;display:inline-flex;flex-shrink:0;justify-content:flex-end;box-sizing:border-box;width:0;height:56px;padding:0;border:none;border-radius:var(--mtrl-sys-shape-corner-full, 9999px);background-color:var(--mtrl-fab-menu-item);color:var(--mtrl-fab-menu-on-item);font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;white-space:nowrap;cursor:pointer;overflow:hidden;opacity:0;transition:opacity 175ms linear(0, 0.075, 0.227, 0.39, 0.537, 0.657, 0.751, 0.822, 0.874, 0.912, 0.939, 0.958, 0.971, 0.98, 0.987, 0.991, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1, 1),width 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1);transition-delay:var(--mtrl-fab-menu-delay, 0ms)}:where(.mtrl-fab-menu__item:hover){position:relative}.mtrl-fab-menu__item:hover::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-fab-menu__item:focus-visible{outline:2px solid var(--mtrl-sys-color-secondary);outline-offset:2px}:where(.mtrl-fab-menu__item:focus-visible){position:relative}.mtrl-fab-menu__item:focus-visible::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}:where(.mtrl-fab-menu__item:active){position:relative}.mtrl-fab-menu__item:active:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-fab-menu__item-content{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-width:56px;height:100%;padding:0 24px}.mtrl-fab-menu--open .mtrl-fab-menu__item{opacity:1;width:var(--mtrl-fab-menu-item-width, auto)}.mtrl-fab-menu__item-icon{display:inline-flex;width:24px;height:24px}.mtrl-fab-menu__item-icon svg{width:24px;height:24px;fill:currentColor}@media(prefers-reduced-motion: reduce){.mtrl-fab.mtrl-fab-menu__fab{transition:background-color 175ms linear(0, 0.075, 0.227, 0.39, 0.537, 0.657, 0.751, 0.822, 0.874, 0.912, 0.939, 0.958, 0.971, 0.98, 0.987, 0.991, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1, 1),color 175ms linear(0, 0.075, 0.227, 0.39, 0.537, 0.657, 0.751, 0.822, 0.874, 0.912, 0.939, 0.958, 0.971, 0.98, 0.987, 0.991, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1, 1)}.mtrl-fab-menu__item{transition:opacity 175ms linear(0, 0.075, 0.227, 0.39, 0.537, 0.657, 0.751, 0.822, 0.874, 0.912, 0.939, 0.958, 0.971, 0.98, 0.987, 0.991, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1, 1)}}
1
+ .mtrl-fab-menu{position:relative;display:inline-block;width:56px;height:56px;vertical-align:middle}.mtrl-fab-menu--medium{width:80px;height:80px}.mtrl-fab-menu--large{width:96px;height:96px}.mtrl-fab-menu--primary{--mtrl-fab-menu-close: var(--mtrl-sys-color-primary);--mtrl-fab-menu-on-close: var(--mtrl-sys-color-on-primary);--mtrl-fab-menu-item: var(--mtrl-sys-color-primary-container);--mtrl-fab-menu-on-item: var(--mtrl-sys-color-on-primary-container)}.mtrl-fab-menu--secondary{--mtrl-fab-menu-close: var(--mtrl-sys-color-secondary);--mtrl-fab-menu-on-close: var(--mtrl-sys-color-on-secondary);--mtrl-fab-menu-item: var(--mtrl-sys-color-secondary-container);--mtrl-fab-menu-on-item: var(--mtrl-sys-color-on-secondary-container)}.mtrl-fab-menu--tertiary{--mtrl-fab-menu-close: var(--mtrl-sys-color-tertiary);--mtrl-fab-menu-on-close: var(--mtrl-sys-color-on-tertiary);--mtrl-fab-menu-item: var(--mtrl-sys-color-tertiary-container);--mtrl-fab-menu-on-item: var(--mtrl-sys-color-on-tertiary-container)}.mtrl-fab-menu--bottom-end,.mtrl-fab-menu--bottom-start{--mtrl-fab-menu-margin: 16px;position:absolute;bottom:var(--mtrl-fab-menu-margin);z-index:50}@media(min-width: 1200px){.mtrl-fab-menu--bottom-end,.mtrl-fab-menu--bottom-start{--mtrl-fab-menu-margin: 24px}}.mtrl-fab-menu--bottom-end{right:var(--mtrl-fab-menu-margin)}.mtrl-fab-menu--bottom-end:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-fab-menu--bottom-end,:where(:host(.mtrl-rtl)) .mtrl-fab-menu--bottom-end,[dir=rtl] .mtrl-fab-menu--bottom-end:not(:where(.mtrl-ltr,.mtrl-ltr *)){left:var(--mtrl-fab-menu-margin);right:auto}.mtrl-fab-menu--bottom-start{left:var(--mtrl-fab-menu-margin)}.mtrl-fab-menu--bottom-start:where(.mtrl-rtl,[dir=rtl]),:where(.mtrl-rtl) .mtrl-fab-menu--bottom-start,:where(:host(.mtrl-rtl)) .mtrl-fab-menu--bottom-start,[dir=rtl] .mtrl-fab-menu--bottom-start:not(:where(.mtrl-ltr,.mtrl-ltr *)){right:var(--mtrl-fab-menu-margin);left:auto}.mtrl-fab-menu--bottom-start .mtrl-fab.mtrl-fab-menu__fab{left:0;right:auto}:where(.mtrl-rtl) .mtrl-fab-menu--bottom-start .mtrl-fab.mtrl-fab-menu__fab,:where(:host(.mtrl-rtl)) .mtrl-fab-menu--bottom-start .mtrl-fab.mtrl-fab-menu__fab,[dir=rtl] .mtrl-fab-menu--bottom-start .mtrl-fab.mtrl-fab-menu__fab:not(:where(.mtrl-ltr,.mtrl-ltr *)){right:0;left:auto}.mtrl-fab-menu--bottom-start .mtrl-fab-menu__list{left:0;right:auto;align-items:flex-start}:where(.mtrl-rtl) .mtrl-fab-menu--bottom-start .mtrl-fab-menu__list,:where(:host(.mtrl-rtl)) .mtrl-fab-menu--bottom-start .mtrl-fab-menu__list,[dir=rtl] .mtrl-fab-menu--bottom-start .mtrl-fab-menu__list:not(:where(.mtrl-ltr,.mtrl-ltr *)){right:0;left:auto}.mtrl-fab-menu--bottom-start .mtrl-fab-menu__item{justify-content:flex-start}.mtrl-fab.mtrl-fab-menu__fab{position:absolute;inset-block-start:0;right:0;display:grid;place-items:center;transition:width 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1),height 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1),border-radius 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1),background-color 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1, 1, 1, 1, 1, 1, 1, 1, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1, 1, 1),color 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1, 1, 1, 1, 1, 1, 1, 1, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1, 1, 1),box-shadow 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1)}:where(.mtrl-rtl) .mtrl-fab.mtrl-fab-menu__fab,:where(:host(.mtrl-rtl)) .mtrl-fab.mtrl-fab-menu__fab,[dir=rtl] .mtrl-fab.mtrl-fab-menu__fab:not(:where(.mtrl-ltr,.mtrl-ltr *)){left:0;right:auto}.mtrl-fab.mtrl-fab-menu__fab>*{grid-area:1/1}.mtrl-fab.mtrl-fab-menu__fab .mtrl-fab__icon,.mtrl-fab.mtrl-fab-menu__fab .mtrl-fab-menu__close{transition:visibility 0s linear 48ms}.mtrl-fab-menu__close{display:inline-flex;width:20px;height:20px;visibility:hidden}.mtrl-fab-menu__close svg{width:20px;height:20px;fill:currentColor}.mtrl-fab-menu--list.mtrl-fab-menu--open .mtrl-fab-menu__fab{width:56px;height:56px;border-radius:28px;background-color:var(--mtrl-fab-menu-close);color:var(--mtrl-fab-menu-on-close)}.mtrl-fab-menu--list.mtrl-fab-menu--open .mtrl-fab-menu__fab .mtrl-fab__icon{visibility:hidden}.mtrl-fab-menu--list.mtrl-fab-menu--open .mtrl-fab-menu__fab .mtrl-fab-menu__close{visibility:visible}.mtrl-fab-menu__list{position:absolute;bottom:calc(100% + 8px);right:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;overflow-y:auto;visibility:hidden;transition:visibility 0s linear var(--mtrl-fab-menu-exit, 0ms)}:where(.mtrl-rtl) .mtrl-fab-menu__list,:where(:host(.mtrl-rtl)) .mtrl-fab-menu__list,[dir=rtl] .mtrl-fab-menu__list:not(:where(.mtrl-ltr,.mtrl-ltr *)){left:0;right:auto}.mtrl-fab-menu--bottom-start:where(.mtrl-rtl,[dir=rtl]) .mtrl-fab.mtrl-fab-menu__fab{right:0;left:auto}.mtrl-fab-menu--bottom-start:where(.mtrl-rtl,[dir=rtl]) .mtrl-fab-menu__list{right:0;left:auto}.mtrl-fab-menu--menu .mtrl-fab-menu__list{display:none}.mtrl-fab-menu--open .mtrl-fab-menu__list{visibility:visible;transition-delay:0s}.mtrl-fab-menu__item{position:relative;display:inline-flex;flex-shrink:0;justify-content:flex-end;box-sizing:border-box;width:0;height:56px;padding:0;border:none;border-radius:var(--mtrl-sys-shape-corner-full, 9999px);background-color:var(--mtrl-fab-menu-item);color:var(--mtrl-fab-menu-on-item);font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;white-space:nowrap;cursor:pointer;overflow:hidden;opacity:0;transition:opacity 175ms linear(0, 0.075, 0.227, 0.39, 0.537, 0.657, 0.751, 0.822, 0.874, 0.912, 0.939, 0.958, 0.971, 0.98, 0.987, 0.991, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1, 1),width 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1);transition-delay:var(--mtrl-fab-menu-delay, 0ms)}:where(.mtrl-fab-menu__item:hover){position:relative}.mtrl-fab-menu__item:hover::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-fab-menu__item:focus-visible{outline:2px solid var(--mtrl-sys-color-secondary);outline-offset:2px}:where(.mtrl-fab-menu__item:focus-visible){position:relative}.mtrl-fab-menu__item:focus-visible::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}:where(.mtrl-fab-menu__item:active){position:relative}.mtrl-fab-menu__item:active:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-fab-menu__item-content{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-width:56px;height:100%;padding:0 24px}.mtrl-fab-menu--open .mtrl-fab-menu__item{opacity:1;width:var(--mtrl-fab-menu-item-width, auto)}.mtrl-fab-menu__item-icon{display:inline-flex;width:24px;height:24px}.mtrl-fab-menu__item-icon svg{width:24px;height:24px;fill:currentColor}@media(prefers-reduced-motion: reduce){.mtrl-fab.mtrl-fab-menu__fab{transition:background-color 175ms linear(0, 0.075, 0.227, 0.39, 0.537, 0.657, 0.751, 0.822, 0.874, 0.912, 0.939, 0.958, 0.971, 0.98, 0.987, 0.991, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1, 1),color 175ms linear(0, 0.075, 0.227, 0.39, 0.537, 0.657, 0.751, 0.822, 0.874, 0.912, 0.939, 0.958, 0.971, 0.98, 0.987, 0.991, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1, 1)}.mtrl-fab-menu__item{transition:opacity 175ms linear(0, 0.075, 0.227, 0.39, 0.537, 0.657, 0.751, 0.822, 0.874, 0.912, 0.939, 0.958, 0.971, 0.98, 0.987, 0.991, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1, 1)}}