@material/web 1.0.0 → 1.0.2-nightly.33c1afe.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 (394) hide show
  1. package/all.d.ts +2 -0
  2. package/all.js +2 -0
  3. package/all.js.map +1 -1
  4. package/button/elevated-button.js +5 -1
  5. package/button/elevated-button.js.map +1 -1
  6. package/button/internal/_elevation.scss +32 -32
  7. package/button/internal/_icon.scss +22 -23
  8. package/button/internal/_outlined-button.scss +21 -19
  9. package/button/internal/_shared.scss +84 -77
  10. package/button/internal/_touch-target.scss +4 -0
  11. package/button/internal/button.d.ts +7 -11
  12. package/button/internal/button.js +52 -38
  13. package/button/internal/button.js.map +1 -1
  14. package/button/internal/elevated-button.d.ts +1 -1
  15. package/button/internal/elevated-button.js +1 -1
  16. package/button/internal/elevated-button.js.map +1 -1
  17. package/button/internal/filled-button.d.ts +1 -1
  18. package/button/internal/filled-button.js +1 -1
  19. package/button/internal/filled-button.js.map +1 -1
  20. package/button/internal/filled-tonal-button.d.ts +1 -1
  21. package/button/internal/filled-tonal-button.js +1 -1
  22. package/button/internal/filled-tonal-button.js.map +1 -1
  23. package/button/internal/outlined-button.d.ts +1 -1
  24. package/button/internal/outlined-button.js +2 -2
  25. package/button/internal/outlined-button.js.map +1 -1
  26. package/button/internal/outlined-styles.css.js +1 -1
  27. package/button/internal/outlined-styles.css.js.map +1 -1
  28. package/button/internal/shared-elevation-styles.css.js +1 -1
  29. package/button/internal/shared-elevation-styles.css.js.map +1 -1
  30. package/button/internal/shared-styles.css.js +1 -1
  31. package/button/internal/shared-styles.css.js.map +1 -1
  32. package/checkbox/internal/_checkbox.scss +6 -0
  33. package/checkbox/internal/checkbox-styles.css.js +1 -1
  34. package/checkbox/internal/checkbox-styles.css.js.map +1 -1
  35. package/checkbox/internal/checkbox.d.ts +20 -87
  36. package/checkbox/internal/checkbox.js +35 -153
  37. package/checkbox/internal/checkbox.js.map +1 -1
  38. package/chips/filter-chip.js +5 -1
  39. package/chips/filter-chip.js.map +1 -1
  40. package/chips/harness.js.map +1 -1
  41. package/chips/input-chip.js +6 -1
  42. package/chips/input-chip.js.map +1 -1
  43. package/chips/internal/_shared.scss +1 -0
  44. package/chips/internal/assist-chip.js +8 -4
  45. package/chips/internal/assist-chip.js.map +1 -1
  46. package/chips/internal/chip-set.js +6 -4
  47. package/chips/internal/chip-set.js.map +1 -1
  48. package/chips/internal/chip.d.ts +3 -0
  49. package/chips/internal/chip.js +7 -5
  50. package/chips/internal/chip.js.map +1 -1
  51. package/chips/internal/filter-chip.d.ts +2 -0
  52. package/chips/internal/filter-chip.js +11 -5
  53. package/chips/internal/filter-chip.js.map +1 -1
  54. package/chips/internal/input-chip.d.ts +2 -0
  55. package/chips/internal/input-chip.js +10 -4
  56. package/chips/internal/input-chip.js.map +1 -1
  57. package/chips/internal/multi-action-chip.js.map +1 -1
  58. package/chips/internal/shared-styles.css.js +1 -1
  59. package/chips/internal/shared-styles.css.js.map +1 -1
  60. package/chips/internal/trailing-icons.d.ts +1 -1
  61. package/chips/internal/trailing-icons.js +6 -5
  62. package/chips/internal/trailing-icons.js.map +1 -1
  63. package/common.d.ts +2 -0
  64. package/common.js +2 -0
  65. package/common.js.map +1 -1
  66. package/dialog/harness.js +1 -2
  67. package/dialog/harness.js.map +1 -1
  68. package/dialog/internal/_dialog.scss +1 -1
  69. package/dialog/internal/animations.js +14 -12
  70. package/dialog/internal/animations.js.map +1 -1
  71. package/dialog/internal/dialog-styles.css.js +1 -1
  72. package/dialog/internal/dialog-styles.css.js.map +1 -1
  73. package/dialog/internal/dialog.d.ts +6 -6
  74. package/dialog/internal/dialog.js +24 -24
  75. package/dialog/internal/dialog.js.map +1 -1
  76. package/fab/harness.js.map +1 -1
  77. package/fab/internal/_fab.scss +4 -0
  78. package/fab/internal/_shared.scss +1 -0
  79. package/fab/internal/fab-styles.css.js +1 -1
  80. package/fab/internal/fab-styles.css.js.map +1 -1
  81. package/fab/internal/fab.js.map +1 -1
  82. package/fab/internal/shared-styles.css.js +1 -1
  83. package/fab/internal/shared-styles.css.js.map +1 -1
  84. package/fab/internal/shared.js +10 -11
  85. package/fab/internal/shared.js.map +1 -1
  86. package/field/harness.js.map +1 -1
  87. package/field/internal/_content.scss +185 -174
  88. package/field/internal/_filled-field.scss +147 -135
  89. package/field/internal/_label.scss +83 -72
  90. package/field/internal/_outlined-field.scss +276 -261
  91. package/field/internal/_supporting-text.scss +53 -42
  92. package/field/internal/field.js +26 -22
  93. package/field/internal/field.js.map +1 -1
  94. package/field/internal/filled-styles.css.js +1 -1
  95. package/field/internal/filled-styles.css.js.map +1 -1
  96. package/field/internal/outlined-styles.css.js +1 -1
  97. package/field/internal/outlined-styles.css.js.map +1 -1
  98. package/field/internal/shared-styles.css.js +1 -1
  99. package/field/internal/shared-styles.css.js.map +1 -1
  100. package/focus/internal/focus-ring.d.ts +2 -0
  101. package/focus/internal/focus-ring.js +3 -3
  102. package/focus/internal/focus-ring.js.map +1 -1
  103. package/icon/internal/_icon.scss +7 -4
  104. package/icon/internal/icon-styles.css.js +1 -1
  105. package/icon/internal/icon-styles.css.js.map +1 -1
  106. package/iconbutton/internal/icon-button.d.ts +9 -4
  107. package/iconbutton/internal/icon-button.js +35 -22
  108. package/iconbutton/internal/icon-button.js.map +1 -1
  109. package/internal/aria/aria.d.ts +4 -26
  110. package/internal/aria/aria.js +10 -28
  111. package/internal/aria/aria.js.map +1 -1
  112. package/internal/aria/delegate.js +2 -2
  113. package/internal/aria/delegate.js.map +1 -1
  114. package/internal/controller/attachable-controller.js +3 -5
  115. package/internal/controller/attachable-controller.js.map +1 -1
  116. package/internal/controller/form-submitter.d.ts +3 -5
  117. package/internal/controller/form-submitter.js +5 -7
  118. package/internal/controller/form-submitter.js.map +1 -1
  119. package/internal/controller/is-rtl.js +2 -2
  120. package/internal/controller/is-rtl.js.map +1 -1
  121. package/internal/controller/string-converter.js +1 -1
  122. package/internal/controller/string-converter.js.map +1 -1
  123. package/internal/motion/animation.js.map +1 -1
  124. package/labs/behaviors/constraint-validation.d.ts +133 -0
  125. package/labs/behaviors/constraint-validation.js +114 -0
  126. package/labs/behaviors/constraint-validation.js.map +1 -0
  127. package/labs/behaviors/element-internals.d.ts +45 -0
  128. package/labs/behaviors/element-internals.js +50 -0
  129. package/labs/behaviors/element-internals.js.map +1 -0
  130. package/labs/behaviors/focusable.d.ts +39 -0
  131. package/labs/behaviors/focusable.js +82 -0
  132. package/labs/behaviors/focusable.js.map +1 -0
  133. package/labs/behaviors/form-associated.d.ts +199 -0
  134. package/labs/behaviors/form-associated.js +155 -0
  135. package/labs/behaviors/form-associated.js.map +1 -0
  136. package/labs/behaviors/mixin.d.ts +54 -0
  137. package/labs/behaviors/mixin.js +7 -0
  138. package/labs/behaviors/mixin.js.map +1 -0
  139. package/labs/behaviors/on-report-validity.d.ts +70 -0
  140. package/labs/behaviors/on-report-validity.js +150 -0
  141. package/labs/behaviors/on-report-validity.js.map +1 -0
  142. package/labs/behaviors/validators/checkbox-validator.d.ts +31 -0
  143. package/labs/behaviors/validators/checkbox-validator.js +29 -0
  144. package/labs/behaviors/validators/checkbox-validator.js.map +1 -0
  145. package/labs/behaviors/validators/select-validator.d.ts +31 -0
  146. package/labs/behaviors/validators/select-validator.js +30 -0
  147. package/labs/behaviors/validators/select-validator.js.map +1 -0
  148. package/labs/behaviors/validators/validator.d.ts +92 -0
  149. package/labs/behaviors/validators/validator.js +83 -0
  150. package/labs/behaviors/validators/validator.js.map +1 -0
  151. package/labs/card/_elevated-card.scss +6 -0
  152. package/labs/card/_filled-card.scss +6 -0
  153. package/labs/card/_outlined-card.scss +6 -0
  154. package/labs/card/elevated-card.d.ts +18 -0
  155. package/labs/card/elevated-card.js +21 -0
  156. package/labs/card/elevated-card.js.map +1 -0
  157. package/labs/card/filled-card.d.ts +18 -0
  158. package/labs/card/filled-card.js +21 -0
  159. package/labs/card/filled-card.js.map +1 -0
  160. package/labs/card/internal/_elevated-card.scss +35 -0
  161. package/labs/card/internal/_filled-card.scss +35 -0
  162. package/labs/card/internal/_outlined-card.scss +39 -0
  163. package/labs/card/internal/_shared.scss +40 -0
  164. package/labs/card/internal/card.d.ts +13 -0
  165. package/labs/card/internal/card.js +20 -0
  166. package/labs/card/internal/card.js.map +1 -0
  167. package/labs/card/internal/elevated-styles.css.js +9 -0
  168. package/labs/card/internal/elevated-styles.css.js.map +1 -0
  169. package/labs/card/internal/elevated-styles.scss +10 -0
  170. package/labs/card/internal/filled-styles.css.js +9 -0
  171. package/labs/card/internal/filled-styles.css.js.map +1 -0
  172. package/labs/card/internal/filled-styles.scss +10 -0
  173. package/labs/card/internal/outlined-styles.css.js +9 -0
  174. package/labs/card/internal/outlined-styles.css.js.map +1 -0
  175. package/labs/card/internal/outlined-styles.scss +10 -0
  176. package/labs/card/internal/shared-styles.css.js +9 -0
  177. package/labs/card/internal/shared-styles.css.js.map +1 -0
  178. package/labs/card/internal/shared-styles.scss +10 -0
  179. package/labs/card/outlined-card.d.ts +18 -0
  180. package/labs/card/outlined-card.js +21 -0
  181. package/labs/card/outlined-card.js.map +1 -0
  182. package/labs/item/internal/_item.scss +1 -1
  183. package/labs/item/internal/item-styles.css.js +1 -1
  184. package/labs/item/internal/item-styles.css.js.map +1 -1
  185. package/labs/item/internal/item.js +8 -8
  186. package/labs/item/internal/item.js.map +1 -1
  187. package/labs/navigationbar/internal/constants.js.map +1 -1
  188. package/labs/navigationbar/internal/navigation-bar.d.ts +3 -0
  189. package/labs/navigationbar/internal/navigation-bar.js +18 -11
  190. package/labs/navigationbar/internal/navigation-bar.js.map +1 -1
  191. package/labs/navigationdrawer/internal/navigation-drawer-modal.d.ts +3 -0
  192. package/labs/navigationdrawer/internal/navigation-drawer-modal.js +10 -3
  193. package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -1
  194. package/labs/navigationdrawer/internal/navigation-drawer.d.ts +3 -0
  195. package/labs/navigationdrawer/internal/navigation-drawer.js +8 -1
  196. package/labs/navigationdrawer/internal/navigation-drawer.js.map +1 -1
  197. package/labs/navigationtab/harness.js.map +1 -1
  198. package/labs/navigationtab/internal/navigation-tab.d.ts +6 -0
  199. package/labs/navigationtab/internal/navigation-tab.js +43 -27
  200. package/labs/navigationtab/internal/navigation-tab.js.map +1 -1
  201. package/labs/navigationtab/internal/state.js.map +1 -1
  202. package/labs/segmentedbutton/internal/_shared.scss +1 -0
  203. package/labs/segmentedbutton/internal/segmented-button.d.ts +3 -0
  204. package/labs/segmentedbutton/internal/segmented-button.js +26 -12
  205. package/labs/segmentedbutton/internal/segmented-button.js.map +1 -1
  206. package/labs/segmentedbutton/internal/shared-styles.css.js +1 -1
  207. package/labs/segmentedbutton/internal/shared-styles.css.js.map +1 -1
  208. package/labs/segmentedbuttonset/internal/segmented-button-set.d.ts +5 -0
  209. package/labs/segmentedbuttonset/internal/segmented-button-set.js +14 -9
  210. package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -1
  211. package/list/harness.d.ts +3 -2
  212. package/list/harness.js.map +1 -1
  213. package/list/internal/list-controller.d.ts +1 -1
  214. package/list/internal/list-controller.js +7 -3
  215. package/list/internal/list-controller.js.map +1 -1
  216. package/list/internal/list-navigation-helpers.js.map +1 -1
  217. package/list/internal/list.d.ts +2 -2
  218. package/list/internal/list.js +8 -6
  219. package/list/internal/list.js.map +1 -1
  220. package/list/internal/listitem/_list-item.scss +19 -0
  221. package/list/internal/listitem/harness.d.ts +3 -3
  222. package/list/internal/listitem/harness.js.map +1 -1
  223. package/list/internal/listitem/list-item-styles.css.js +1 -1
  224. package/list/internal/listitem/list-item-styles.css.js.map +1 -1
  225. package/list/internal/listitem/list-item.d.ts +3 -2
  226. package/list/internal/listitem/list-item.js +20 -21
  227. package/list/internal/listitem/list-item.js.map +1 -1
  228. package/list/list-item.d.ts +4 -12
  229. package/list/list-item.js +5 -14
  230. package/list/list-item.js.map +1 -1
  231. package/menu/harness.js.map +1 -1
  232. package/menu/internal/_menu.scss +20 -1
  233. package/menu/internal/controllers/menuItemController.d.ts +7 -0
  234. package/menu/internal/controllers/menuItemController.js +17 -4
  235. package/menu/internal/controllers/menuItemController.js.map +1 -1
  236. package/menu/internal/controllers/shared.d.ts +9 -1
  237. package/menu/internal/controllers/shared.js +4 -4
  238. package/menu/internal/controllers/shared.js.map +1 -1
  239. package/menu/internal/controllers/surfacePositionController.d.ts +16 -2
  240. package/menu/internal/controllers/surfacePositionController.js +134 -56
  241. package/menu/internal/controllers/surfacePositionController.js.map +1 -1
  242. package/menu/internal/controllers/typeaheadController.js +19 -14
  243. package/menu/internal/controllers/typeaheadController.js.map +1 -1
  244. package/menu/internal/menu-styles.css.js +1 -1
  245. package/menu/internal/menu-styles.css.js.map +1 -1
  246. package/menu/internal/menu.d.ts +55 -17
  247. package/menu/internal/menu.js +175 -88
  248. package/menu/internal/menu.js.map +1 -1
  249. package/menu/internal/menuitem/_menu-item.scss +24 -0
  250. package/menu/internal/menuitem/harness.d.ts +3 -1
  251. package/menu/internal/menuitem/harness.js.map +1 -1
  252. package/menu/internal/menuitem/menu-item-styles.css.js +1 -1
  253. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -1
  254. package/menu/internal/menuitem/menu-item.d.ts +3 -2
  255. package/menu/internal/menuitem/menu-item.js +20 -20
  256. package/menu/internal/menuitem/menu-item.js.map +1 -1
  257. package/menu/internal/submenu/sub-menu.d.ts +9 -8
  258. package/menu/internal/submenu/sub-menu.js +35 -22
  259. package/menu/internal/submenu/sub-menu.js.map +1 -1
  260. package/menu/internal/types.js.map +1 -1
  261. package/menu/menu-item.js +1 -2
  262. package/menu/menu-item.js.map +1 -1
  263. package/menu/menu.js +1 -2
  264. package/menu/menu.js.map +1 -1
  265. package/package.json +1 -1
  266. package/progress/internal/_circular-progress.scss +2 -2
  267. package/progress/internal/_linear-progress.scss +1 -1
  268. package/progress/internal/circular-progress-styles.css.js +1 -1
  269. package/progress/internal/circular-progress-styles.css.js.map +1 -1
  270. package/progress/internal/circular-progress.js +11 -10
  271. package/progress/internal/circular-progress.js.map +1 -1
  272. package/progress/internal/linear-progress-styles.css.js +1 -1
  273. package/progress/internal/linear-progress-styles.css.js.map +1 -1
  274. package/progress/internal/linear-progress.d.ts +1 -1
  275. package/progress/internal/linear-progress.js +3 -3
  276. package/progress/internal/linear-progress.js.map +1 -1
  277. package/progress/internal/progress.js +4 -2
  278. package/progress/internal/progress.js.map +1 -1
  279. package/radio/internal/_radio.scss +144 -123
  280. package/radio/internal/radio-styles.css.js +1 -1
  281. package/radio/internal/radio-styles.css.js.map +1 -1
  282. package/radio/internal/radio.d.ts +12 -23
  283. package/radio/internal/radio.js +31 -50
  284. package/radio/internal/radio.js.map +1 -1
  285. package/radio/internal/single-selection-controller.js +1 -1
  286. package/radio/internal/single-selection-controller.js.map +1 -1
  287. package/radio/radio.js +1 -2
  288. package/radio/radio.js.map +1 -1
  289. package/ripple/internal/ripple.js +21 -18
  290. package/ripple/internal/ripple.js.map +1 -1
  291. package/select/filled-select.js +1 -2
  292. package/select/filled-select.js.map +1 -1
  293. package/select/harness.js +1 -1
  294. package/select/harness.js.map +1 -1
  295. package/select/internal/_shared.scss +4 -0
  296. package/select/internal/select.d.ts +26 -99
  297. package/select/internal/select.js +78 -187
  298. package/select/internal/select.js.map +1 -1
  299. package/select/internal/selectoption/select-option.d.ts +8 -6
  300. package/select/internal/selectoption/select-option.js +25 -23
  301. package/select/internal/selectoption/select-option.js.map +1 -1
  302. package/select/internal/selectoption/selectOptionController.js +1 -1
  303. package/select/internal/selectoption/selectOptionController.js.map +1 -1
  304. package/select/internal/shared-styles.css.js +1 -1
  305. package/select/internal/shared-styles.css.js.map +1 -1
  306. package/select/outlined-select.js +1 -2
  307. package/select/outlined-select.js.map +1 -1
  308. package/select/select-option.js +1 -2
  309. package/select/select-option.js.map +1 -1
  310. package/slider/harness.js +5 -5
  311. package/slider/harness.js.map +1 -1
  312. package/slider/internal/_slider.scss +68 -30
  313. package/slider/internal/slider-styles.css.js +1 -1
  314. package/slider/internal/slider-styles.css.js.map +1 -1
  315. package/slider/internal/slider.d.ts +16 -25
  316. package/slider/internal/slider.js +111 -115
  317. package/slider/internal/slider.js.map +1 -1
  318. package/switch/internal/_handle.scss +159 -141
  319. package/switch/internal/_icon.scss +95 -72
  320. package/switch/internal/_switch.scss +90 -95
  321. package/switch/internal/_track.scss +110 -77
  322. package/switch/internal/switch-styles.css.js +1 -1
  323. package/switch/internal/switch-styles.css.js.map +1 -1
  324. package/switch/internal/switch.d.ts +13 -89
  325. package/switch/internal/switch.js +32 -159
  326. package/switch/internal/switch.js.map +1 -1
  327. package/switch/switch.js +1 -2
  328. package/switch/switch.js.map +1 -1
  329. package/tabs/harness.js +3 -3
  330. package/tabs/harness.js.map +1 -1
  331. package/tabs/internal/_tab.scss +27 -35
  332. package/tabs/internal/primary-tab.d.ts +0 -2
  333. package/tabs/internal/tab-styles.css.js +1 -1
  334. package/tabs/internal/tab-styles.css.js.map +1 -1
  335. package/tabs/internal/tab.d.ts +10 -5
  336. package/tabs/internal/tab.js +43 -22
  337. package/tabs/internal/tab.js.map +1 -1
  338. package/tabs/internal/tabs.d.ts +7 -4
  339. package/tabs/internal/tabs.js +23 -22
  340. package/tabs/internal/tabs.js.map +1 -1
  341. package/textfield/filled-text-field.js +1 -2
  342. package/textfield/filled-text-field.js.map +1 -1
  343. package/textfield/harness.js +3 -2
  344. package/textfield/harness.js.map +1 -1
  345. package/textfield/internal/text-field.d.ts +33 -18
  346. package/textfield/internal/text-field.js +96 -58
  347. package/textfield/internal/text-field.js.map +1 -1
  348. package/textfield/outlined-text-field.js +1 -2
  349. package/textfield/outlined-text-field.js.map +1 -1
  350. package/tokens/_index.scss +3 -0
  351. package/tokens/_md-comp-elevated-card.scss +63 -0
  352. package/tokens/_md-comp-filled-card.scss +63 -0
  353. package/tokens/_md-comp-icon.scss +2 -0
  354. package/tokens/_md-comp-outlined-card.scss +69 -0
  355. package/tokens/_md-comp-test-table.scss +1 -0
  356. package/internal/controller/element-internals.d.ts +0 -35
  357. package/internal/controller/element-internals.js +0 -24
  358. package/internal/controller/element-internals.js.map +0 -1
  359. package/list/internal/listitem/forced-colors-styles.css.js +0 -9
  360. package/list/internal/listitem/forced-colors-styles.css.js.map +0 -1
  361. package/list/internal/listitem/forced-colors-styles.scss +0 -19
  362. package/menu/internal/forced-colors-styles.css.js +0 -9
  363. package/menu/internal/forced-colors-styles.css.js.map +0 -1
  364. package/menu/internal/forced-colors-styles.scss +0 -12
  365. package/menu/internal/menuitem/forced-colors-styles.css.js +0 -9
  366. package/menu/internal/menuitem/forced-colors-styles.css.js.map +0 -1
  367. package/menu/internal/menuitem/forced-colors-styles.scss +0 -26
  368. package/radio/internal/forced-colors-styles.css.js +0 -9
  369. package/radio/internal/forced-colors-styles.css.js.map +0 -1
  370. package/radio/internal/forced-colors-styles.scss +0 -29
  371. package/select/internal/filled-forced-colors-styles.css.d.ts +0 -1
  372. package/select/internal/filled-forced-colors-styles.css.js +0 -9
  373. package/select/internal/filled-forced-colors-styles.css.js.map +0 -1
  374. package/select/internal/filled-forced-colors-styles.scss +0 -29
  375. package/select/internal/outlined-forced-colors-styles.css.d.ts +0 -1
  376. package/select/internal/outlined-forced-colors-styles.css.js +0 -9
  377. package/select/internal/outlined-forced-colors-styles.css.js.map +0 -1
  378. package/select/internal/outlined-forced-colors-styles.scss +0 -29
  379. package/switch/internal/forced-colors-styles.css.d.ts +0 -1
  380. package/switch/internal/forced-colors-styles.css.js +0 -9
  381. package/switch/internal/forced-colors-styles.css.js.map +0 -1
  382. package/switch/internal/forced-colors-styles.scss +0 -42
  383. package/textfield/internal/filled-forced-colors-styles.css.d.ts +0 -1
  384. package/textfield/internal/filled-forced-colors-styles.css.js +0 -9
  385. package/textfield/internal/filled-forced-colors-styles.css.js.map +0 -1
  386. package/textfield/internal/filled-forced-colors-styles.scss +0 -29
  387. package/textfield/internal/outlined-forced-colors-styles.css.d.ts +0 -1
  388. package/textfield/internal/outlined-forced-colors-styles.css.js +0 -9
  389. package/textfield/internal/outlined-forced-colors-styles.css.js.map +0 -1
  390. package/textfield/internal/outlined-forced-colors-styles.scss +0 -29
  391. /package/{list/internal/listitem/forced-colors-styles.css.d.ts → labs/card/internal/elevated-styles.css.d.ts} +0 -0
  392. /package/{menu/internal/forced-colors-styles.css.d.ts → labs/card/internal/filled-styles.css.d.ts} +0 -0
  393. /package/{menu/internal/menuitem/forced-colors-styles.css.d.ts → labs/card/internal/outlined-styles.css.d.ts} +0 -0
  394. /package/{radio/internal/forced-colors-styles.css.d.ts → labs/card/internal/shared-styles.css.d.ts} +0 -0
@@ -0,0 +1,35 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use 'sass:list';
8
+ // go/keep-sorted end
9
+ // go/keep-sorted start
10
+ @use '../../../tokens';
11
+ // go/keep-sorted end
12
+
13
+ @mixin theme($tokens) {
14
+ $supported-tokens: tokens.$md-comp-filled-card-supported-tokens;
15
+
16
+ @each $token, $value in $tokens {
17
+ @if list.index($supported-tokens, $token) == null {
18
+ @error 'Filled card `#{$token}` is not a supported token.';
19
+ }
20
+
21
+ @if $value {
22
+ --md-filled-card-#{$token}: #{$value};
23
+ }
24
+ }
25
+ }
26
+
27
+ @mixin styles() {
28
+ $tokens: tokens.md-comp-filled-card-values();
29
+
30
+ :host {
31
+ @each $token, $value in $tokens {
32
+ --_#{$token}: var(--md-filled-card-#{$token}, #{$value});
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,39 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use 'sass:list';
8
+ // go/keep-sorted end
9
+ // go/keep-sorted start
10
+ @use '../../../tokens';
11
+ // go/keep-sorted end
12
+
13
+ @mixin theme($tokens) {
14
+ $supported-tokens: tokens.$md-comp-outlined-card-supported-tokens;
15
+
16
+ @each $token, $value in $tokens {
17
+ @if list.index($supported-tokens, $token) == null {
18
+ @error 'Outlined card `#{$token}` is not a supported token.';
19
+ }
20
+
21
+ @if $value {
22
+ --md-outlined-card-#{$token}: #{$value};
23
+ }
24
+ }
25
+ }
26
+
27
+ @mixin styles() {
28
+ $tokens: tokens.md-comp-outlined-card-values();
29
+
30
+ :host {
31
+ @each $token, $value in $tokens {
32
+ --_#{$token}: var(--md-outlined-card-#{$token}, #{$value});
33
+ }
34
+ }
35
+
36
+ .container {
37
+ outline: var(--_outline-width) solid var(--_outline-color);
38
+ }
39
+ }
@@ -0,0 +1,40 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use '../../../elevation/elevation';
8
+ // go/keep-sorted end
9
+
10
+ @mixin styles() {
11
+ :host {
12
+ border-radius: var(--_container-shape);
13
+ display: flex;
14
+ padding: 16px;
15
+ position: relative;
16
+ }
17
+
18
+ // Separate element will be needed for disabled opacities (b/307361748)
19
+ .container {
20
+ background: var(--_container-color);
21
+ border-radius: inherit;
22
+ inset: 0;
23
+ position: absolute;
24
+ }
25
+
26
+ md-elevation {
27
+ border-radius: inherit;
28
+
29
+ @include elevation.theme(
30
+ (
31
+ 'level': var(--_container-elevation),
32
+ 'shadow-color': var(--_container-shadow-color),
33
+ )
34
+ );
35
+ }
36
+
37
+ slot {
38
+ z-index: 0; // Place content above background elements
39
+ }
40
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import '../../../elevation/elevation.js';
7
+ import { LitElement } from 'lit';
8
+ /**
9
+ * A card component.
10
+ */
11
+ export declare class Card extends LitElement {
12
+ protected render(): import("lit-html").TemplateResult<1>;
13
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import '../../../elevation/elevation.js';
7
+ import { html, LitElement } from 'lit';
8
+ /**
9
+ * A card component.
10
+ */
11
+ export class Card extends LitElement {
12
+ render() {
13
+ return html `
14
+ <md-elevation part="elevation"></md-elevation>
15
+ <div class="container"></div>
16
+ <slot></slot>
17
+ `;
18
+ }
19
+ }
20
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["card.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,iCAAiC,CAAC;AAEzC,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AAErC;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,UAAU;IACf,MAAM;QACvB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../../elevation/elevation.js';\n\nimport {html, LitElement} from 'lit';\n\n/**\n * A card component.\n */\nexport class Card extends LitElement {\n protected override render() {\n return html`\n <md-elevation part=\"elevation\"></md-elevation>\n <div class=\"container\"></div>\n <slot></slot>\n `;\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { css } from 'lit';
7
+ export const styles = css `:host{--_container-color: var(--md-elevated-card-container-color, var(--md-sys-color-surface-container-low, #f7f2fa));--_container-elevation: var(--md-elevated-card-container-elevation, 1);--_container-shadow-color: var(--md-elevated-card-container-shadow-color, var(--md-sys-color-shadow, #000));--_container-shape: var(--md-elevated-card-container-shape, 12px)}/*# sourceMappingURL=elevated-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=elevated-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elevated-styles.css.js","sourceRoot":"","sources":["elevated-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_container-color: var(--md-elevated-card-container-color, var(--md-sys-color-surface-container-low, #f7f2fa));--_container-elevation: var(--md-elevated-card-container-elevation, 1);--_container-shadow-color: var(--md-elevated-card-container-shadow-color, var(--md-sys-color-shadow, #000));--_container-shape: var(--md-elevated-card-container-shape, 12px)}/*# sourceMappingURL=elevated-styles.css.map */\n`;\n "]}
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use './elevated-card';
8
+ // go/keep-sorted end
9
+
10
+ @include elevated-card.styles;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { css } from 'lit';
7
+ export const styles = css `:host{--_container-color: var(--md-filled-card-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_container-elevation: var(--md-filled-card-container-elevation, 0);--_container-shadow-color: var(--md-filled-card-container-shadow-color, var(--md-sys-color-shadow, #000));--_container-shape: var(--md-filled-card-container-shape, 12px)}/*# sourceMappingURL=filled-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=filled-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filled-styles.css.js","sourceRoot":"","sources":["filled-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_container-color: var(--md-filled-card-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_container-elevation: var(--md-filled-card-container-elevation, 0);--_container-shadow-color: var(--md-filled-card-container-shadow-color, var(--md-sys-color-shadow, #000));--_container-shape: var(--md-filled-card-container-shape, 12px)}/*# sourceMappingURL=filled-styles.css.map */\n`;\n "]}
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use './filled-card';
8
+ // go/keep-sorted end
9
+
10
+ @include filled-card.styles;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { css } from 'lit';
7
+ export const styles = css `:host{--_container-color: var(--md-outlined-card-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-outlined-card-container-elevation, 0);--_container-shadow-color: var(--md-outlined-card-container-shadow-color, var(--md-sys-color-shadow, #000));--_container-shape: var(--md-outlined-card-container-shape, 12px);--_outline-color: var(--md-outlined-card-outline-color, var(--md-sys-color-outline-variant, #cac4d0));--_outline-width: var(--md-outlined-card-outline-width, 1px)}.container{outline:var(--_outline-width) solid var(--_outline-color)}/*# sourceMappingURL=outlined-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=outlined-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outlined-styles.css.js","sourceRoot":"","sources":["outlined-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_container-color: var(--md-outlined-card-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-outlined-card-container-elevation, 0);--_container-shadow-color: var(--md-outlined-card-container-shadow-color, var(--md-sys-color-shadow, #000));--_container-shape: var(--md-outlined-card-container-shape, 12px);--_outline-color: var(--md-outlined-card-outline-color, var(--md-sys-color-outline-variant, #cac4d0));--_outline-width: var(--md-outlined-card-outline-width, 1px)}.container{outline:var(--_outline-width) solid var(--_outline-color)}/*# sourceMappingURL=outlined-styles.css.map */\n`;\n "]}
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use './outlined-card';
8
+ // go/keep-sorted end
9
+
10
+ @include outlined-card.styles;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { css } from 'lit';
7
+ export const styles = css `:host{border-radius:var(--_container-shape);display:flex;padding:16px;position:relative}.container{background:var(--_container-color);border-radius:inherit;inset:0;position:absolute}md-elevation{border-radius:inherit;--md-elevation-level: var(--_container-elevation);--md-elevation-shadow-color: var(--_container-shadow-color)}slot{z-index:0}/*# sourceMappingURL=shared-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=shared-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-styles.css.js","sourceRoot":"","sources":["shared-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{border-radius:var(--_container-shape);display:flex;padding:16px;position:relative}.container{background:var(--_container-color);border-radius:inherit;inset:0;position:absolute}md-elevation{border-radius:inherit;--md-elevation-level: var(--_container-elevation);--md-elevation-shadow-color: var(--_container-shadow-color)}slot{z-index:0}/*# sourceMappingURL=shared-styles.css.map */\n`;\n "]}
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use './shared';
8
+ // go/keep-sorted end
9
+
10
+ @include shared.styles;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Card } from './internal/card.js';
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ 'md-outlined-card': MdOutlinedCard;
10
+ }
11
+ }
12
+ /**
13
+ * @final
14
+ * @suppress {visibility}
15
+ */
16
+ export declare class MdOutlinedCard extends Card {
17
+ static styles: import("lit").CSSResult[];
18
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { customElement } from 'lit/decorators.js';
8
+ import { Card } from './internal/card.js';
9
+ import { styles as outlinedStyles } from './internal/outlined-styles.css.js';
10
+ import { styles as sharedStyles } from './internal/shared-styles.css.js';
11
+ /**
12
+ * @final
13
+ * @suppress {visibility}
14
+ */
15
+ export let MdOutlinedCard = class MdOutlinedCard extends Card {
16
+ };
17
+ MdOutlinedCard.styles = [sharedStyles, outlinedStyles];
18
+ MdOutlinedCard = __decorate([
19
+ customElement('md-outlined-card')
20
+ ], MdOutlinedCard);
21
+ //# sourceMappingURL=outlined-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outlined-card.js","sourceRoot":"","sources":["outlined-card.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAQvE;;;GAGG;AAEI,WAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,IAAI;;AACtB,qBAAM,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,AAAjC,CAAkC;AAD7C,cAAc;IAD1B,aAAa,CAAC,kBAAkB,CAAC;GACrB,cAAc,CAE1B","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Card} from './internal/card.js';\nimport {styles as outlinedStyles} from './internal/outlined-styles.css.js';\nimport {styles as sharedStyles} from './internal/shared-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-outlined-card': MdOutlinedCard;\n }\n}\n\n/**\n * @final\n * @suppress {visibility}\n */\n@customElement('md-outlined-card')\nexport class MdOutlinedCard extends Card {\n static override styles = [sharedStyles, outlinedStyles];\n}\n"]}
@@ -85,7 +85,7 @@
85
85
  }
86
86
 
87
87
  .default-slot,
88
- ::slotted(*) {
88
+ .text ::slotted(*) {
89
89
  overflow: hidden;
90
90
  text-overflow: ellipsis;
91
91
  }
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { css } from 'lit';
7
- export const styles = css `:host{color:var(--md-sys-color-on-surface, #1d1b20);font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);align-items:center;box-sizing:border-box;display:flex;gap:16px;min-height:56px;overflow:hidden;padding:12px 16px;position:relative;text-overflow:ellipsis}:host([multiline]){min-height:72px}[name=overline]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-medium-size, 0.875rem);font-weight:var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem)}[name=trailing-supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=container]::slotted(*){inset:0;position:absolute}.default-slot{display:inline}.default-slot,::slotted(*){overflow:hidden;text-overflow:ellipsis}.text{display:flex;flex:1;flex-direction:column;overflow:hidden}/*# sourceMappingURL=item-styles.css.map */
7
+ export const styles = css `:host{color:var(--md-sys-color-on-surface, #1d1b20);font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);align-items:center;box-sizing:border-box;display:flex;gap:16px;min-height:56px;overflow:hidden;padding:12px 16px;position:relative;text-overflow:ellipsis}:host([multiline]){min-height:72px}[name=overline]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-medium-size, 0.875rem);font-weight:var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem)}[name=trailing-supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=container]::slotted(*){inset:0;position:absolute}.default-slot{display:inline}.default-slot,.text ::slotted(*){overflow:hidden;text-overflow:ellipsis}.text{display:flex;flex:1;flex-direction:column;overflow:hidden}/*# sourceMappingURL=item-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=item-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-styles.css.js","sourceRoot":"","sources":["item-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{color:var(--md-sys-color-on-surface, #1d1b20);font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);align-items:center;box-sizing:border-box;display:flex;gap:16px;min-height:56px;overflow:hidden;padding:12px 16px;position:relative;text-overflow:ellipsis}:host([multiline]){min-height:72px}[name=overline]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-medium-size, 0.875rem);font-weight:var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem)}[name=trailing-supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=container]::slotted(*){inset:0;position:absolute}.default-slot{display:inline}.default-slot,::slotted(*){overflow:hidden;text-overflow:ellipsis}.text{display:flex;flex:1;flex-direction:column;overflow:hidden}/*# sourceMappingURL=item-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"item-styles.css.js","sourceRoot":"","sources":["item-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{color:var(--md-sys-color-on-surface, #1d1b20);font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);align-items:center;box-sizing:border-box;display:flex;gap:16px;min-height:56px;overflow:hidden;padding:12px 16px;position:relative;text-overflow:ellipsis}:host([multiline]){min-height:72px}[name=overline]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-medium-size, 0.875rem);font-weight:var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem)}[name=trailing-supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=container]::slotted(*){inset:0;position:absolute}.default-slot{display:inline}.default-slot,.text ::slotted(*){overflow:hidden;text-overflow:ellipsis}.text{display:flex;flex:1;flex-direction:column;overflow:hidden}/*# sourceMappingURL=item-styles.css.map */\n`;\n "]}
@@ -26,14 +26,14 @@ export class Item extends LitElement {
26
26
  <slot name="container"></slot>
27
27
  <slot class="non-text" name="start"></slot>
28
28
  <div class="text">
29
- <slot name="overline"
30
- @slotchange=${this.handleTextSlotChange}></slot>
31
- <slot class="default-slot"
32
- @slotchange=${this.handleTextSlotChange}></slot>
33
- <slot name="headline"
34
- @slotchange=${this.handleTextSlotChange}></slot>
35
- <slot name="supporting-text"
36
- @slotchange=${this.handleTextSlotChange}></slot>
29
+ <slot name="overline" @slotchange=${this.handleTextSlotChange}></slot>
30
+ <slot
31
+ class="default-slot"
32
+ @slotchange=${this.handleTextSlotChange}></slot>
33
+ <slot name="headline" @slotchange=${this.handleTextSlotChange}></slot>
34
+ <slot
35
+ name="supporting-text"
36
+ @slotchange=${this.handleTextSlotChange}></slot>
37
37
  </div>
38
38
  <slot class="non-text" name="trailing-supporting-text"></slot>
39
39
  <slot class="non-text" name="end"></slot>
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,UAAU;IAApC;;QACE;;;;;;WAMG;QACuC,cAAS,GAAG,KAAK,CAAC;IAyC9D,CAAC;IArCU,MAAM;QACb,OAAO,IAAI,CAAA;;;;;0BAKW,IAAI,CAAC,oBAAoB;;0BAEzB,IAAI,CAAC,oBAAoB;;0BAEzB,IAAI,CAAC,oBAAoB;;0BAEzB,IAAI,CAAC,oBAAoB;;;;KAI9C,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;YACjC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;gBACxB,gBAAgB,IAAI,CAAC,CAAC;aACvB;YAED,IAAI,gBAAgB,GAAG,CAAC,EAAE;gBACxB,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;aACP;SACF;QAED,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;IAC/B,CAAC;CACF;AAzC2C;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;uCAAmB;AAEnB;IAAxC,QAAQ,CAAC,YAAY,CAAC;uCAAgD;AAyCzE,SAAS,cAAc,CAAC,IAAqB;IAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EAAE;QACtD,0DAA0D;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC;QACtD,oEAAoE;QACpE,kBAAkB;QAClB,MAAM,iBAAiB,GACnB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,SAAS,IAAI,iBAAiB,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement} from 'lit';\nimport {property, queryAll} from 'lit/decorators.js';\n\n/**\n * An item layout component.\n */\nexport class Item extends LitElement {\n /**\n * Only needed for SSR.\n *\n * Add this attribute when an item has two lines to avoid a Flash Of Unstyled\n * Content. This attribute is not needed for single line items or items with\n * three or more lines.\n */\n @property({type: Boolean, reflect: true}) multiline = false;\n\n @queryAll('.text slot') private readonly textSlots!: HTMLSlotElement[];\n\n override render() {\n return html`\n <slot name=\"container\"></slot>\n <slot class=\"non-text\" name=\"start\"></slot>\n <div class=\"text\">\n <slot name=\"overline\"\n @slotchange=${this.handleTextSlotChange}></slot>\n <slot class=\"default-slot\"\n @slotchange=${this.handleTextSlotChange}></slot>\n <slot name=\"headline\"\n @slotchange=${this.handleTextSlotChange}></slot>\n <slot name=\"supporting-text\"\n @slotchange=${this.handleTextSlotChange}></slot>\n </div>\n <slot class=\"non-text\" name=\"trailing-supporting-text\"></slot>\n <slot class=\"non-text\" name=\"end\"></slot>\n `;\n }\n\n private handleTextSlotChange() {\n // Check if there's more than one text slot with content. If so, the item is\n // multiline, which has a different min-height than single line items.\n let isMultiline = false;\n let slotsWithContent = 0;\n for (const slot of this.textSlots) {\n if (slotHasContent(slot)) {\n slotsWithContent += 1;\n }\n\n if (slotsWithContent > 1) {\n isMultiline = true;\n break;\n }\n }\n\n this.multiline = isMultiline;\n }\n}\n\nfunction slotHasContent(slot: HTMLSlotElement) {\n for (const node of slot.assignedNodes({flatten: true})) {\n // Assume there's content if there's an element slotted in\n const isElement = node.nodeType === Node.ELEMENT_NODE;\n // If there's only text nodes for the default slot, check if there's\n // non-whitespace.\n const isTextWithContent =\n node.nodeType === Node.TEXT_NODE && node.textContent?.match(/\\S/);\n if (isElement || isTextWithContent) {\n return true;\n }\n }\n\n return false;\n}\n"]}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,UAAU;IAApC;;QACE;;;;;;WAMG;QACuC,cAAS,GAAG,KAAK,CAAC;IAyC9D,CAAC;IArCU,MAAM;QACb,OAAO,IAAI,CAAA;;;;4CAI6B,IAAI,CAAC,oBAAoB;;;wBAG7C,IAAI,CAAC,oBAAoB;4CACL,IAAI,CAAC,oBAAoB;;;wBAG7C,IAAI,CAAC,oBAAoB;;;;KAI5C,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;YACjC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;gBACxB,gBAAgB,IAAI,CAAC,CAAC;aACvB;YAED,IAAI,gBAAgB,GAAG,CAAC,EAAE;gBACxB,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;aACP;SACF;QAED,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;IAC/B,CAAC;CACF;AAzC2C;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;uCAAmB;AAEnB;IAAxC,QAAQ,CAAC,YAAY,CAAC;uCAAgD;AAyCzE,SAAS,cAAc,CAAC,IAAqB;IAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EAAE;QACtD,0DAA0D;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC;QACtD,oEAAoE;QACpE,kBAAkB;QAClB,MAAM,iBAAiB,GACrB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,SAAS,IAAI,iBAAiB,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement} from 'lit';\nimport {property, queryAll} from 'lit/decorators.js';\n\n/**\n * An item layout component.\n */\nexport class Item extends LitElement {\n /**\n * Only needed for SSR.\n *\n * Add this attribute when an item has two lines to avoid a Flash Of Unstyled\n * Content. This attribute is not needed for single line items or items with\n * three or more lines.\n */\n @property({type: Boolean, reflect: true}) multiline = false;\n\n @queryAll('.text slot') private readonly textSlots!: HTMLSlotElement[];\n\n override render() {\n return html`\n <slot name=\"container\"></slot>\n <slot class=\"non-text\" name=\"start\"></slot>\n <div class=\"text\">\n <slot name=\"overline\" @slotchange=${this.handleTextSlotChange}></slot>\n <slot\n class=\"default-slot\"\n @slotchange=${this.handleTextSlotChange}></slot>\n <slot name=\"headline\" @slotchange=${this.handleTextSlotChange}></slot>\n <slot\n name=\"supporting-text\"\n @slotchange=${this.handleTextSlotChange}></slot>\n </div>\n <slot class=\"non-text\" name=\"trailing-supporting-text\"></slot>\n <slot class=\"non-text\" name=\"end\"></slot>\n `;\n }\n\n private handleTextSlotChange() {\n // Check if there's more than one text slot with content. If so, the item is\n // multiline, which has a different min-height than single line items.\n let isMultiline = false;\n let slotsWithContent = 0;\n for (const slot of this.textSlots) {\n if (slotHasContent(slot)) {\n slotsWithContent += 1;\n }\n\n if (slotsWithContent > 1) {\n isMultiline = true;\n break;\n }\n }\n\n this.multiline = isMultiline;\n }\n}\n\nfunction slotHasContent(slot: HTMLSlotElement) {\n for (const node of slot.assignedNodes({flatten: true})) {\n // Assume there's content if there's an element slotted in\n const isElement = node.nodeType === Node.ELEMENT_NODE;\n // If there's only text nodes for the default slot, check if there's\n // non-whitespace.\n const isTextWithContent =\n node.nodeType === Node.TEXT_NODE && node.textContent?.match(/\\S/);\n if (isElement || isTextWithContent) {\n return true;\n }\n }\n\n return false;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {NavigationTabState} from '../../navigationtab/internal/state.js';\n\n/**\n * MDCNavigationTabInteractionEventDetail provides details for the interaction\n * event.\n */\nexport interface MDCNavigationTabInteractionEventDetail {\n state: NavigationTabState;\n}\n\n/**\n * NavigationTabInteractionEvent is the custom event for the interaction event.\n */\nexport type NavigationTabInteractionEvent =\n CustomEvent<MDCNavigationTabInteractionEventDetail>;\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {NavigationTabState} from '../../navigationtab/internal/state.js';\n\n/**\n * MDCNavigationTabInteractionEventDetail provides details for the interaction\n * event.\n */\nexport interface MDCNavigationTabInteractionEventDetail {\n state: NavigationTabState;\n}\n\n/**\n * NavigationTabInteractionEvent is the custom event for the interaction event.\n */\nexport type NavigationTabInteractionEvent =\n CustomEvent<MDCNavigationTabInteractionEventDetail>;\n"]}
@@ -9,6 +9,9 @@ import { NavigationTab } from '../../navigationtab/internal/navigation-tab.js';
9
9
  import { NavigationBarState } from './state.js';
10
10
  /**
11
11
  * TODO(b/265346501): add docs
12
+ *
13
+ * @fires navigation-bar-activated {CustomEvent<tab: NavigationTab, activeIndex: number>}
14
+ * Dispatched whenever the `activeIndex` changes. --bubbles --composed
12
15
  */
13
16
  export declare class NavigationBar extends LitElement implements NavigationBarState {
14
17
  activeIndex: number;
@@ -11,6 +11,9 @@ import { requestUpdateOnAriaChange } from '../../../internal/aria/delegate.js';
11
11
  import { isRtl } from '../../../internal/controller/is-rtl.js';
12
12
  /**
13
13
  * TODO(b/265346501): add docs
14
+ *
15
+ * @fires navigation-bar-activated {CustomEvent<tab: NavigationTab, activeIndex: number>}
16
+ * Dispatched whenever the `activeIndex` changes. --bubbles --composed
14
17
  */
15
18
  export class NavigationBar extends LitElement {
16
19
  constructor() {
@@ -22,23 +25,27 @@ export class NavigationBar extends LitElement {
22
25
  render() {
23
26
  // Needed for closure conformance
24
27
  const { ariaLabel } = this;
25
- return html `<div class="md3-navigation-bar"
26
- role="tablist"
27
- aria-label=${ariaLabel || nothing}
28
- @keydown="${this.handleKeydown}"
29
- @navigation-tab-interaction="${this.handleNavigationTabInteraction}"
30
- @navigation-tab-rendered=${this.handleNavigationTabConnected}
31
- ><md-elevation></md-elevation
32
- ><div class="md3-navigation-bar__tabs-slot-container"
33
- ><slot></slot></div></div>`;
28
+ return html `<div
29
+ class="md3-navigation-bar"
30
+ role="tablist"
31
+ aria-label=${ariaLabel || nothing}
32
+ @keydown="${this.handleKeydown}"
33
+ @navigation-tab-interaction="${this.handleNavigationTabInteraction}"
34
+ @navigation-tab-rendered=${this.handleNavigationTabConnected}
35
+ ><md-elevation></md-elevation
36
+ ><div class="md3-navigation-bar__tabs-slot-container"><slot></slot></div
37
+ ></div>`;
34
38
  }
35
39
  updated(changedProperties) {
36
40
  if (changedProperties.has('activeIndex')) {
37
41
  this.onActiveIndexChange(this.activeIndex);
38
42
  this.dispatchEvent(new CustomEvent('navigation-bar-activated', {
39
- detail: { tab: this.tabs[this.activeIndex], activeIndex: this.activeIndex },
43
+ detail: {
44
+ tab: this.tabs[this.activeIndex],
45
+ activeIndex: this.activeIndex,
46
+ },
40
47
  bubbles: true,
41
- composed: true
48
+ composed: true,
42
49
  }));
43
50
  }
44
51
  if (changedProperties.has('hideInactiveLabels')) {
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-bar.js","sourceRoot":"","sources":["navigation-bar.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,iCAAiC,CAAC;AAEzC,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAC,yBAAyB,EAAC,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAC,KAAK,EAAC,MAAM,wCAAwC,CAAC;AAM7D;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;IAA7C;;QAKuD,gBAAW,GAAG,CAAC,CAAC;QAGrE,uBAAkB,GAAG,KAAK,CAAC;QAE3B,SAAI,GAAoB,EAAE,CAAC;IA6H7B,CAAC;IAxHoB,MAAM;QACvB,iCAAiC;QACjC,MAAM,EAAC,SAAS,EAAC,GAAG,IAAuB,CAAC;QAC5C,OAAO,IAAI,CAAA;;yBAEU,SAAS,IAAI,OAAO;wBACrB,IAAI,CAAC,aAAa;2CACC,IAAI,CAAC,8BAA8B;uCACvC,IAAI,CAAC,4BAA4B;;;mCAGrC,CAAC;IAClC,CAAC;IAEkB,OAAO,CAAC,iBAAgD;QACzE,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,0BAA0B,EAAE;gBAC7D,MAAM,EACF,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAC;gBACrE,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC,CAAC;SACL;QAED,IAAI,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;YAC/C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC1D;QAED,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACjC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5C;IACH,CAAC;IAEQ,YAAY,CAAC,iBAAiC;QACrD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;QACD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,CAAC;IAEO,4BAA4B,CAAC,KAAkB;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IAEO,8BAA8B,CAAC,KAAoC;QACzE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAsB,CAAC,CAAC;IAC5E,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACtB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAClD,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;YACnC,OAAO;SACR;QAED,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO;SACR;QAED,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO;SACR;QAED,MAAM,SAAS,GACX,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,CAAC;QACvE,IAAI,SAAS,IAAI,eAAe,KAAK,QAAQ,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO;SACR;QACD,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO;SACR;QAED,MAAM,aAAa,GACf,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,CAAC;QACvE,IAAI,aAAa,IAAI,eAAe,KAAK,CAAC,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO;SACR;QACD,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO;SACR;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAa;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC;SACnC;IACH,CAAC;IAEO,0BAA0B,CAAC,KAAc;QAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAC/B;IACH,CAAC;CACF;AAtIC;IACE,yBAAyB,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC,GAAA,CAAA;AAEoD;IAApD,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAC,CAAC;kDAAiB;AAGrE;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAC,CAAC;yDAClC;AAKV;IADhB,qBAAqB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;kDACQ","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../../elevation/elevation.js';\n\nimport {html, LitElement, nothing, PropertyValues} from 'lit';\nimport {property, queryAssignedElements} from 'lit/decorators.js';\n\nimport {ARIAMixinStrict} from '../../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../../internal/aria/delegate.js';\nimport {isRtl} from '../../../internal/controller/is-rtl.js';\nimport {NavigationTab} from '../../navigationtab/internal/navigation-tab.js';\n\nimport {NavigationTabInteractionEvent} from './constants.js';\nimport {NavigationBarState} from './state.js';\n\n/**\n * TODO(b/265346501): add docs\n */\nexport class NavigationBar extends LitElement implements NavigationBarState {\n static {\n requestUpdateOnAriaChange(NavigationBar);\n }\n\n @property({type: Number, attribute: 'active-index'}) activeIndex = 0;\n\n @property({type: Boolean, attribute: 'hide-inactive-labels'})\n hideInactiveLabels = false;\n\n tabs: NavigationTab[] = [];\n\n @queryAssignedElements({flatten: true})\n private readonly tabsElement!: NavigationTab[];\n\n protected override render() {\n // Needed for closure conformance\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`<div class=\"md3-navigation-bar\"\n role=\"tablist\"\n aria-label=${ariaLabel || nothing}\n @keydown=\"${this.handleKeydown}\"\n @navigation-tab-interaction=\"${this.handleNavigationTabInteraction}\"\n @navigation-tab-rendered=${this.handleNavigationTabConnected}\n ><md-elevation></md-elevation\n ><div class=\"md3-navigation-bar__tabs-slot-container\"\n ><slot></slot></div></div>`;\n }\n\n protected override updated(changedProperties: PropertyValues<NavigationBar>) {\n if (changedProperties.has('activeIndex')) {\n this.onActiveIndexChange(this.activeIndex);\n this.dispatchEvent(new CustomEvent('navigation-bar-activated', {\n detail:\n {tab: this.tabs[this.activeIndex], activeIndex: this.activeIndex},\n bubbles: true,\n composed: true\n }));\n }\n\n if (changedProperties.has('hideInactiveLabels')) {\n this.onHideInactiveLabelsChange(this.hideInactiveLabels);\n }\n\n if (changedProperties.has('tabs')) {\n this.onHideInactiveLabelsChange(this.hideInactiveLabels);\n this.onActiveIndexChange(this.activeIndex);\n }\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.layout();\n }\n\n layout() {\n if (!this.tabsElement) return;\n const navTabs: NavigationTab[] = [];\n for (const node of this.tabsElement) {\n navTabs.push(node);\n }\n this.tabs = navTabs;\n }\n\n private handleNavigationTabConnected(event: CustomEvent) {\n const target = event.target as NavigationTab;\n if (this.tabs.indexOf(target) === -1) {\n this.layout();\n }\n }\n\n private handleNavigationTabInteraction(event: NavigationTabInteractionEvent) {\n this.activeIndex = this.tabs.indexOf(event.detail.state as NavigationTab);\n }\n\n private handleKeydown(event: KeyboardEvent) {\n const key = event.key;\n const focusedTabIndex = this.tabs.findIndex((tab) => {\n return tab.matches(':focus-within');\n });\n const isRTL = isRtl(this);\n const maxIndex = this.tabs.length - 1;\n\n if (key === 'Enter' || key === ' ') {\n this.activeIndex = focusedTabIndex;\n return;\n }\n\n if (key === 'Home') {\n this.tabs[0].focus();\n return;\n }\n\n if (key === 'End') {\n this.tabs[maxIndex].focus();\n return;\n }\n\n const toNextTab =\n (key === 'ArrowRight' && !isRTL) || (key === 'ArrowLeft' && isRTL);\n if (toNextTab && focusedTabIndex === maxIndex) {\n this.tabs[0].focus();\n return;\n }\n if (toNextTab) {\n this.tabs[focusedTabIndex + 1].focus();\n return;\n }\n\n const toPreviousTab =\n (key === 'ArrowLeft' && !isRTL) || (key === 'ArrowRight' && isRTL);\n if (toPreviousTab && focusedTabIndex === 0) {\n this.tabs[maxIndex].focus();\n return;\n }\n if (toPreviousTab) {\n this.tabs[focusedTabIndex - 1].focus();\n return;\n }\n }\n\n private onActiveIndexChange(value: number) {\n if (!this.tabs[value]) {\n throw new Error('NavigationBar: activeIndex is out of bounds.');\n }\n for (let i = 0; i < this.tabs.length; i++) {\n this.tabs[i].active = i === value;\n }\n }\n\n private onHideInactiveLabelsChange(value: boolean) {\n for (const tab of this.tabs) {\n tab.hideInactiveLabel = value;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"navigation-bar.js","sourceRoot":"","sources":["navigation-bar.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../../elevation/elevation.js';\n\nimport {html, LitElement, nothing, PropertyValues} from 'lit';\nimport {property, queryAssignedElements} from 'lit/decorators.js';\n\nimport {ARIAMixinStrict} from '../../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../../internal/aria/delegate.js';\nimport {isRtl} from '../../../internal/controller/is-rtl.js';\nimport {NavigationTab} from '../../navigationtab/internal/navigation-tab.js';\n\nimport {NavigationTabInteractionEvent} from './constants.js';\nimport {NavigationBarState} from './state.js';\n\n/**\n * TODO(b/265346501): add docs\n *\n * @fires navigation-bar-activated {CustomEvent<tab: NavigationTab, activeIndex: number>}\n * Dispatched whenever the `activeIndex` changes. --bubbles --composed\n */\nexport class NavigationBar extends LitElement implements NavigationBarState {\n static {\n requestUpdateOnAriaChange(NavigationBar);\n }\n\n @property({type: Number, attribute: 'active-index'}) activeIndex = 0;\n\n @property({type: Boolean, attribute: 'hide-inactive-labels'})\n hideInactiveLabels = false;\n\n tabs: NavigationTab[] = [];\n\n @queryAssignedElements({flatten: true})\n private readonly tabsElement!: NavigationTab[];\n\n protected override render() {\n // Needed for closure conformance\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`<div\n class=\"md3-navigation-bar\"\n role=\"tablist\"\n aria-label=${ariaLabel || nothing}\n @keydown=\"${this.handleKeydown}\"\n @navigation-tab-interaction=\"${this.handleNavigationTabInteraction}\"\n @navigation-tab-rendered=${this.handleNavigationTabConnected}\n ><md-elevation></md-elevation\n ><div class=\"md3-navigation-bar__tabs-slot-container\"><slot></slot></div\n ></div>`;\n }\n\n protected override updated(changedProperties: PropertyValues<NavigationBar>) {\n if (changedProperties.has('activeIndex')) {\n this.onActiveIndexChange(this.activeIndex);\n this.dispatchEvent(\n new CustomEvent('navigation-bar-activated', {\n detail: {\n tab: this.tabs[this.activeIndex],\n activeIndex: this.activeIndex,\n },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n if (changedProperties.has('hideInactiveLabels')) {\n this.onHideInactiveLabelsChange(this.hideInactiveLabels);\n }\n\n if (changedProperties.has('tabs')) {\n this.onHideInactiveLabelsChange(this.hideInactiveLabels);\n this.onActiveIndexChange(this.activeIndex);\n }\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.layout();\n }\n\n layout() {\n if (!this.tabsElement) return;\n const navTabs: NavigationTab[] = [];\n for (const node of this.tabsElement) {\n navTabs.push(node);\n }\n this.tabs = navTabs;\n }\n\n private handleNavigationTabConnected(event: CustomEvent) {\n const target = event.target as NavigationTab;\n if (this.tabs.indexOf(target) === -1) {\n this.layout();\n }\n }\n\n private handleNavigationTabInteraction(event: NavigationTabInteractionEvent) {\n this.activeIndex = this.tabs.indexOf(event.detail.state as NavigationTab);\n }\n\n private handleKeydown(event: KeyboardEvent) {\n const key = event.key;\n const focusedTabIndex = this.tabs.findIndex((tab) => {\n return tab.matches(':focus-within');\n });\n const isRTL = isRtl(this);\n const maxIndex = this.tabs.length - 1;\n\n if (key === 'Enter' || key === ' ') {\n this.activeIndex = focusedTabIndex;\n return;\n }\n\n if (key === 'Home') {\n this.tabs[0].focus();\n return;\n }\n\n if (key === 'End') {\n this.tabs[maxIndex].focus();\n return;\n }\n\n const toNextTab =\n (key === 'ArrowRight' && !isRTL) || (key === 'ArrowLeft' && isRTL);\n if (toNextTab && focusedTabIndex === maxIndex) {\n this.tabs[0].focus();\n return;\n }\n if (toNextTab) {\n this.tabs[focusedTabIndex + 1].focus();\n return;\n }\n\n const toPreviousTab =\n (key === 'ArrowLeft' && !isRTL) || (key === 'ArrowRight' && isRTL);\n if (toPreviousTab && focusedTabIndex === 0) {\n this.tabs[maxIndex].focus();\n return;\n }\n if (toPreviousTab) {\n this.tabs[focusedTabIndex - 1].focus();\n return;\n }\n }\n\n private onActiveIndexChange(value: number) {\n if (!this.tabs[value]) {\n throw new Error('NavigationBar: activeIndex is out of bounds.');\n }\n for (let i = 0; i < this.tabs.length; i++) {\n this.tabs[i].active = i === value;\n }\n }\n\n private onHideInactiveLabelsChange(value: boolean) {\n for (const tab of this.tabs) {\n tab.hideInactiveLabel = value;\n }\n }\n}\n"]}
@@ -6,6 +6,9 @@
6
6
  import { LitElement, PropertyValues } from 'lit';
7
7
  /**
8
8
  * TODO(b/265346501): add docs
9
+ *
10
+ * @fires navigation-drawer-changed {CustomEvent<{opened: boolean}>}
11
+ * Dispatched whenever the drawer opens or closes --bubbles --composed
9
12
  */
10
13
  export declare class NavigationDrawerModal extends LitElement {
11
14
  opened: boolean;
@@ -10,6 +10,9 @@ import { classMap } from 'lit/directives/class-map.js';
10
10
  import { requestUpdateOnAriaChange } from '../../../internal/aria/delegate.js';
11
11
  /**
12
12
  * TODO(b/265346501): add docs
13
+ *
14
+ * @fires navigation-drawer-changed {CustomEvent<{opened: boolean}>}
15
+ * Dispatched whenever the drawer opens or closes --bubbles --composed
13
16
  */
14
17
  export class NavigationDrawerModal extends LitElement {
15
18
  constructor() {
@@ -34,8 +37,8 @@ export class NavigationDrawerModal extends LitElement {
34
37
  aria-modal=${ariaModal || nothing}
35
38
  class="md3-navigation-drawer-modal ${this.getRenderClasses()}"
36
39
  @keydown="${this.handleKeyDown}"
37
- role="dialog"><div class="md3-elevation-overlay"
38
- ></div>
40
+ role="dialog"
41
+ ><div class="md3-elevation-overlay"></div>
39
42
  <div class="md3-navigation-drawer-modal__slot-content">
40
43
  <slot></slot>
41
44
  </div>
@@ -56,7 +59,11 @@ export class NavigationDrawerModal extends LitElement {
56
59
  updated(changedProperties) {
57
60
  if (changedProperties.has('opened')) {
58
61
  setTimeout(() => {
59
- this.dispatchEvent(new CustomEvent('navigation-drawer-changed', { detail: { opened: this.opened }, bubbles: true, composed: true }));
62
+ this.dispatchEvent(new CustomEvent('navigation-drawer-changed', {
63
+ detail: { opened: this.opened },
64
+ bubbles: true,
65
+ composed: true,
66
+ }));
60
67
  }, 250);
61
68
  }
62
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-drawer-modal.js","sourceRoot":"","sources":["navigation-drawer-modal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAGrD,OAAO,EAAC,yBAAyB,EAAC,MAAM,oCAAoC,CAAC;AAE7E;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAArD;;QAK6B,WAAM,GAAG,KAAK,CAAC;QAC9B,UAAK,GAAkB,KAAK,CAAC;IA6D3C,CAAC;IA3DoB,MAAM;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACpD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACnD,iCAAiC;QACjC,MAAM,EAAC,SAAS,EAAE,SAAS,EAAC,GAAG,IAAuB,CAAC;QACvD,OAAO,IAAI,CAAA;;oDAEqC,IAAI,CAAC,eAAe,EAAE;kBACxD,IAAI,CAAC,gBAAgB;;;wBAGf,YAAY;sBACd,UAAU;qBACX,SAAS,IAAI,OAAO;qBACpB,SAAS,IAAI,OAAO;6CACI,IAAI,CAAC,gBAAgB,EAAE;oBAChD,IAAI,CAAC,aAAa;;;;;;;KAOjC,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,QAAQ,CAAC;YACd,4CAA4C,EAAE,IAAI,CAAC,MAAM;SAC1D,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,OAAO,QAAQ,CAAC;YACd,qCAAqC,EAAE,IAAI,CAAC,MAAM;YAClD,6CAA6C,EAAE,IAAI,CAAC,KAAK,KAAK,OAAO;SACtE,CAAC,CAAC;IACL,CAAC;IAEkB,OAAO,CAAC,iBACyC;QAClE,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACnC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAC9B,2BAA2B,EAC3B,EAAC,MAAM,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;YACvE,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IACH,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF;AAlEC;IACE,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;AACnD,CAAC,GAAA,CAAA;AAE0B;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;qDAAgB;AAC9B;IAAX,QAAQ,EAAE;oDAA8B","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement, nothing, PropertyValues} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\n\nimport {ARIAMixinStrict} from '../../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../../internal/aria/delegate.js';\n\n/**\n * TODO(b/265346501): add docs\n */\nexport class NavigationDrawerModal extends LitElement {\n static {\n requestUpdateOnAriaChange(NavigationDrawerModal);\n }\n\n @property({type: Boolean}) opened = false;\n @property() pivot: 'start'|'end' = 'end';\n\n protected override render() {\n const ariaExpanded = this.opened ? 'true' : 'false';\n const ariaHidden = !this.opened ? 'true' : 'false';\n // Needed for closure conformance\n const {ariaLabel, ariaModal} = this as ARIAMixinStrict;\n return html`\n <div\n class=\"md3-navigation-drawer-modal__scrim ${this.getScrimClasses()}\"\n @click=\"${this.handleScrimClick}\">\n </div>\n <div\n aria-expanded=${ariaExpanded}\n aria-hidden=${ariaHidden}\n aria-label=${ariaLabel || nothing}\n aria-modal=${ariaModal || nothing}\n class=\"md3-navigation-drawer-modal ${this.getRenderClasses()}\"\n @keydown=\"${this.handleKeyDown}\"\n role=\"dialog\"><div class=\"md3-elevation-overlay\"\n ></div>\n <div class=\"md3-navigation-drawer-modal__slot-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private getScrimClasses() {\n return classMap({\n 'md3-navigation-drawer-modal--scrim-visible': this.opened,\n });\n }\n\n private getRenderClasses() {\n return classMap({\n 'md3-navigation-drawer-modal--opened': this.opened,\n 'md3-navigation-drawer-modal--pivot-at-start': this.pivot === 'start',\n });\n }\n\n protected override updated(changedProperties:\n PropertyValues<NavigationDrawerModal>) {\n if (changedProperties.has('opened')) {\n setTimeout(() => {\n this.dispatchEvent(new CustomEvent(\n 'navigation-drawer-changed',\n {detail: {opened: this.opened}, bubbles: true, composed: true}));\n }, 250);\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.opened = false;\n }\n }\n\n private handleScrimClick() {\n this.opened = !this.opened;\n }\n}\n"]}
1
+ {"version":3,"file":"navigation-drawer-modal.js","sourceRoot":"","sources":["navigation-drawer-modal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAGrD,OAAO,EAAC,yBAAyB,EAAC,MAAM,oCAAoC,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAArD;;QAK6B,WAAM,GAAG,KAAK,CAAC;QAC9B,UAAK,GAAoB,KAAK,CAAC;IAkE7C,CAAC;IAhEoB,MAAM;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACpD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACnD,iCAAiC;QACjC,MAAM,EAAC,SAAS,EAAE,SAAS,EAAC,GAAG,IAAuB,CAAC;QACvD,OAAO,IAAI,CAAA;;oDAEqC,IAAI,CAAC,eAAe,EAAE;kBACxD,IAAI,CAAC,gBAAgB;;;wBAGf,YAAY;sBACd,UAAU;qBACX,SAAS,IAAI,OAAO;qBACpB,SAAS,IAAI,OAAO;6CACI,IAAI,CAAC,gBAAgB,EAAE;oBAChD,IAAI,CAAC,aAAa;;;;;;;KAOjC,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,QAAQ,CAAC;YACd,4CAA4C,EAAE,IAAI,CAAC,MAAM;SAC1D,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,OAAO,QAAQ,CAAC;YACd,qCAAqC,EAAE,IAAI,CAAC,MAAM;YAClD,6CAA6C,EAAE,IAAI,CAAC,KAAK,KAAK,OAAO;SACtE,CAAC,CAAC;IACL,CAAC;IAEkB,OAAO,CACxB,iBAAwD;QAExD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACnC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,2BAA2B,EAAE;oBAC3C,MAAM,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC;oBAC7B,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;iBACf,CAAC,CACH,CAAC;YACJ,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IACH,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF;AAvEC;IACE,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;AACnD,CAAC,GAAA,CAAA;AAE0B;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;qDAAgB;AAC9B;IAAX,QAAQ,EAAE;oDAAgC","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement, nothing, PropertyValues} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\n\nimport {ARIAMixinStrict} from '../../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../../internal/aria/delegate.js';\n\n/**\n * TODO(b/265346501): add docs\n *\n * @fires navigation-drawer-changed {CustomEvent<{opened: boolean}>}\n * Dispatched whenever the drawer opens or closes --bubbles --composed\n */\nexport class NavigationDrawerModal extends LitElement {\n static {\n requestUpdateOnAriaChange(NavigationDrawerModal);\n }\n\n @property({type: Boolean}) opened = false;\n @property() pivot: 'start' | 'end' = 'end';\n\n protected override render() {\n const ariaExpanded = this.opened ? 'true' : 'false';\n const ariaHidden = !this.opened ? 'true' : 'false';\n // Needed for closure conformance\n const {ariaLabel, ariaModal} = this as ARIAMixinStrict;\n return html`\n <div\n class=\"md3-navigation-drawer-modal__scrim ${this.getScrimClasses()}\"\n @click=\"${this.handleScrimClick}\">\n </div>\n <div\n aria-expanded=${ariaExpanded}\n aria-hidden=${ariaHidden}\n aria-label=${ariaLabel || nothing}\n aria-modal=${ariaModal || nothing}\n class=\"md3-navigation-drawer-modal ${this.getRenderClasses()}\"\n @keydown=\"${this.handleKeyDown}\"\n role=\"dialog\"\n ><div class=\"md3-elevation-overlay\"></div>\n <div class=\"md3-navigation-drawer-modal__slot-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private getScrimClasses() {\n return classMap({\n 'md3-navigation-drawer-modal--scrim-visible': this.opened,\n });\n }\n\n private getRenderClasses() {\n return classMap({\n 'md3-navigation-drawer-modal--opened': this.opened,\n 'md3-navigation-drawer-modal--pivot-at-start': this.pivot === 'start',\n });\n }\n\n protected override updated(\n changedProperties: PropertyValues<NavigationDrawerModal>,\n ) {\n if (changedProperties.has('opened')) {\n setTimeout(() => {\n this.dispatchEvent(\n new CustomEvent('navigation-drawer-changed', {\n detail: {opened: this.opened},\n bubbles: true,\n composed: true,\n }),\n );\n }, 250);\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.opened = false;\n }\n }\n\n private handleScrimClick() {\n this.opened = !this.opened;\n }\n}\n"]}
@@ -7,6 +7,9 @@ import '../../../elevation/elevation.js';
7
7
  import { LitElement, PropertyValues } from 'lit';
8
8
  /**
9
9
  * TODO(b/265346501): add docs
10
+ *
11
+ * @fires navigation-drawer-changed {CustomEvent<{opened: boolean}>}
12
+ * Dispatched whenever the drawer opens or closes --bubbles --composed
10
13
  */
11
14
  export declare class NavigationDrawer extends LitElement {
12
15
  opened: boolean;
@@ -11,6 +11,9 @@ import { classMap } from 'lit/directives/class-map.js';
11
11
  import { requestUpdateOnAriaChange } from '../../../internal/aria/delegate.js';
12
12
  /**
13
13
  * TODO(b/265346501): add docs
14
+ *
15
+ * @fires navigation-drawer-changed {CustomEvent<{opened: boolean}>}
16
+ * Dispatched whenever the drawer opens or closes --bubbles --composed
14
17
  */
15
18
  export class NavigationDrawer extends LitElement {
16
19
  constructor() {
@@ -47,7 +50,11 @@ export class NavigationDrawer extends LitElement {
47
50
  updated(changedProperties) {
48
51
  if (changedProperties.has('opened')) {
49
52
  setTimeout(() => {
50
- this.dispatchEvent(new CustomEvent('navigation-drawer-changed', { detail: { opened: this.opened }, bubbles: true, composed: true }));
53
+ this.dispatchEvent(new CustomEvent('navigation-drawer-changed', {
54
+ detail: { opened: this.opened },
55
+ bubbles: true,
56
+ composed: true,
57
+ }));
51
58
  }, 250);
52
59
  }
53
60
  }