@universal-material/web 3.7.2 → 3.9.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 (453) hide show
  1. package/.claude-plugin/plugin.json +12 -0
  2. package/README.md +12 -0
  3. package/app-bar/top-app-bar.d.ts +20 -4
  4. package/app-bar/top-app-bar.d.ts.map +1 -1
  5. package/app-bar/top-app-bar.js +84 -33
  6. package/app-bar/top-app-bar.js.map +1 -1
  7. package/app-bar/top-app-bar.styles.d.ts.map +1 -1
  8. package/app-bar/top-app-bar.styles.js +18 -1
  9. package/app-bar/top-app-bar.styles.js.map +1 -1
  10. package/badge/badge.d.ts +5 -2
  11. package/badge/badge.d.ts.map +1 -1
  12. package/badge/badge.js +9 -6
  13. package/badge/badge.js.map +1 -1
  14. package/badge/badge.styles.d.ts.map +1 -1
  15. package/badge/badge.styles.js +1 -0
  16. package/badge/badge.styles.js.map +1 -1
  17. package/bundle.min.js +5480 -2170
  18. package/button/button-base.d.ts +9 -2
  19. package/button/button-base.d.ts.map +1 -1
  20. package/button/button-base.js +12 -5
  21. package/button/button-base.js.map +1 -1
  22. package/button/button-set.d.ts +3 -3
  23. package/button/button-set.d.ts.map +1 -1
  24. package/button/button-set.js +7 -7
  25. package/button/button-set.js.map +1 -1
  26. package/button/button.d.ts +10 -7
  27. package/button/button.d.ts.map +1 -1
  28. package/button/button.js +17 -14
  29. package/button/button.js.map +1 -1
  30. package/button/fab-menu-color-context.d.ts +2 -2
  31. package/button/fab-menu-color-context.d.ts.map +1 -1
  32. package/button/fab-menu-color-context.js.map +1 -1
  33. package/button/fab-menu-item.d.ts +3 -3
  34. package/button/fab-menu-item.d.ts.map +1 -1
  35. package/button/fab-menu-item.js +11 -11
  36. package/button/fab-menu-item.js.map +1 -1
  37. package/button/fab-menu.d.ts +20 -5
  38. package/button/fab-menu.d.ts.map +1 -1
  39. package/button/fab-menu.js +48 -11
  40. package/button/fab-menu.js.map +1 -1
  41. package/button/fab.d.ts +22 -7
  42. package/button/fab.d.ts.map +1 -1
  43. package/button/fab.js +49 -11
  44. package/button/fab.js.map +1 -1
  45. package/button/icon-button.d.ts +13 -7
  46. package/button/icon-button.d.ts.map +1 -1
  47. package/button/icon-button.js +14 -8
  48. package/button/icon-button.js.map +1 -1
  49. package/button/toggle-button.d.ts +6 -6
  50. package/button/toggle-button.d.ts.map +1 -1
  51. package/button/toggle-button.js +10 -10
  52. package/button/toggle-button.js.map +1 -1
  53. package/button-field/button-field.d.ts +6 -3
  54. package/button-field/button-field.d.ts.map +1 -1
  55. package/button-field/button-field.js +12 -9
  56. package/button-field/button-field.js.map +1 -1
  57. package/calendar/calendar-adapter.d.ts +3 -0
  58. package/calendar/calendar-adapter.d.ts.map +1 -1
  59. package/calendar/calendar-adapter.js.map +1 -1
  60. package/calendar/calendar-base.d.ts +18 -1
  61. package/calendar/calendar-base.d.ts.map +1 -1
  62. package/calendar/calendar-base.js +188 -25
  63. package/calendar/calendar-base.js.map +1 -1
  64. package/calendar/calendar.d.ts +6 -2
  65. package/calendar/calendar.d.ts.map +1 -1
  66. package/calendar/calendar.js +12 -8
  67. package/calendar/calendar.js.map +1 -1
  68. package/calendar/default-calendar-adapter.d.ts +3 -0
  69. package/calendar/default-calendar-adapter.d.ts.map +1 -1
  70. package/calendar/default-calendar-adapter.js +17 -5
  71. package/calendar/default-calendar-adapter.js.map +1 -1
  72. package/calendar/range-calendar.d.ts +2 -2
  73. package/calendar/range-calendar.d.ts.map +1 -1
  74. package/calendar/range-calendar.js +9 -9
  75. package/calendar/range-calendar.js.map +1 -1
  76. package/card/card-content.d.ts +7 -2
  77. package/card/card-content.d.ts.map +1 -1
  78. package/card/card-content.js +10 -5
  79. package/card/card-content.js.map +1 -1
  80. package/card/card-media.d.ts +5 -2
  81. package/card/card-media.d.ts.map +1 -1
  82. package/card/card-media.js +8 -5
  83. package/card/card-media.js.map +1 -1
  84. package/card/card.d.ts +4 -4
  85. package/card/card.d.ts.map +1 -1
  86. package/card/card.js +5 -5
  87. package/card/card.js.map +1 -1
  88. package/checkbox/checkbox-list-item.d.ts +4 -4
  89. package/checkbox/checkbox-list-item.d.ts.map +1 -1
  90. package/checkbox/checkbox-list-item.js +5 -5
  91. package/checkbox/checkbox-list-item.js.map +1 -1
  92. package/checkbox/checkbox.d.ts +10 -3
  93. package/checkbox/checkbox.d.ts.map +1 -1
  94. package/checkbox/checkbox.js +14 -7
  95. package/checkbox/checkbox.js.map +1 -1
  96. package/chip/chip-set.d.ts +3 -3
  97. package/chip/chip-set.d.ts.map +1 -1
  98. package/chip/chip-set.js +6 -6
  99. package/chip/chip-set.js.map +1 -1
  100. package/chip/chip.d.ts +8 -5
  101. package/chip/chip.d.ts.map +1 -1
  102. package/chip/chip.js +23 -20
  103. package/chip/chip.js.map +1 -1
  104. package/chip-field/chip-field.d.ts +6 -3
  105. package/chip-field/chip-field.d.ts.map +1 -1
  106. package/chip-field/chip-field.js +9 -9
  107. package/chip-field/chip-field.js.map +1 -1
  108. package/collapse/collapse.d.ts +26 -0
  109. package/collapse/collapse.d.ts.map +1 -0
  110. package/collapse/collapse.js +62 -0
  111. package/collapse/collapse.js.map +1 -0
  112. package/collapse/collapse.styles.d.ts +2 -0
  113. package/collapse/collapse.styles.d.ts.map +1 -0
  114. package/collapse/collapse.styles.js +8 -0
  115. package/collapse/collapse.styles.js.map +1 -0
  116. package/config.js.map +1 -1
  117. package/css/universal-material.css +2 -1
  118. package/css/universal-material.min.css +2 -1
  119. package/custom-elements.json +17175 -9684
  120. package/datepicker/datepicker.d.ts +54 -3
  121. package/datepicker/datepicker.d.ts.map +1 -1
  122. package/datepicker/datepicker.js +202 -6
  123. package/datepicker/datepicker.js.map +1 -1
  124. package/datepicker/datepicker.styles.d.ts.map +1 -1
  125. package/datepicker/datepicker.styles.js +25 -0
  126. package/datepicker/datepicker.styles.js.map +1 -1
  127. package/datepicker/format.d.ts +19 -0
  128. package/datepicker/format.d.ts.map +1 -0
  129. package/datepicker/format.js +47 -0
  130. package/datepicker/format.js.map +1 -0
  131. package/datepicker/range-datepicker.d.ts +58 -0
  132. package/datepicker/range-datepicker.d.ts.map +1 -0
  133. package/datepicker/range-datepicker.js +212 -0
  134. package/datepicker/range-datepicker.js.map +1 -0
  135. package/dialog/confirm-dialog-builder.d.ts +3 -3
  136. package/dialog/confirm-dialog-builder.d.ts.map +1 -1
  137. package/dialog/confirm-dialog-builder.js.map +1 -1
  138. package/dialog/dialog-builder.d.ts +5 -4
  139. package/dialog/dialog-builder.d.ts.map +1 -1
  140. package/dialog/dialog-builder.js +10 -3
  141. package/dialog/dialog-builder.js.map +1 -1
  142. package/dialog/dialog-button-def.d.ts +3 -3
  143. package/dialog/dialog-button-def.d.ts.map +1 -1
  144. package/dialog/dialog-button-def.js.map +1 -1
  145. package/dialog/dialog.d.ts +10 -2
  146. package/dialog/dialog.d.ts.map +1 -1
  147. package/dialog/dialog.js +22 -14
  148. package/dialog/dialog.js.map +1 -1
  149. package/dialog/message-dialog-builder.d.ts +2 -2
  150. package/dialog/message-dialog-builder.d.ts.map +1 -1
  151. package/dialog/message-dialog-builder.js.map +1 -1
  152. package/elevation/elevation.d.ts +2 -2
  153. package/elevation/elevation.d.ts.map +1 -1
  154. package/elevation/elevation.js +4 -4
  155. package/elevation/elevation.js.map +1 -1
  156. package/expansion-panel/expansion-panel-container.d.ts +24 -0
  157. package/expansion-panel/expansion-panel-container.d.ts.map +1 -0
  158. package/expansion-panel/expansion-panel-container.js +54 -0
  159. package/expansion-panel/expansion-panel-container.js.map +1 -0
  160. package/expansion-panel/expansion-panel-container.styles.d.ts +2 -0
  161. package/expansion-panel/expansion-panel-container.styles.d.ts.map +1 -0
  162. package/expansion-panel/expansion-panel-container.styles.js +9 -0
  163. package/expansion-panel/expansion-panel-container.styles.js.map +1 -0
  164. package/expansion-panel/expansion-panel.d.ts +37 -0
  165. package/expansion-panel/expansion-panel.d.ts.map +1 -0
  166. package/expansion-panel/expansion-panel.js +89 -0
  167. package/expansion-panel/expansion-panel.js.map +1 -0
  168. package/expansion-panel/expansion-panel.styles.d.ts +2 -0
  169. package/expansion-panel/expansion-panel.styles.d.ts.map +1 -0
  170. package/expansion-panel/expansion-panel.styles.js +66 -0
  171. package/expansion-panel/expansion-panel.styles.js.map +1 -0
  172. package/field/field-base.d.ts +17 -3
  173. package/field/field-base.d.ts.map +1 -1
  174. package/field/field-base.js +30 -20
  175. package/field/field-base.js.map +1 -1
  176. package/field/field-defaults-context.d.ts +2 -2
  177. package/field/field-defaults-context.d.ts.map +1 -1
  178. package/field/field-defaults-context.js.map +1 -1
  179. package/field/field-defaults.d.ts +3 -3
  180. package/field/field-defaults.d.ts.map +1 -1
  181. package/field/field-defaults.js.map +1 -1
  182. package/field/field-variant.d.ts +1 -1
  183. package/field/field-variant.d.ts.map +1 -1
  184. package/field/field-variant.js.map +1 -1
  185. package/field/field.d.ts +7 -3
  186. package/field/field.d.ts.map +1 -1
  187. package/field/field.js +10 -6
  188. package/field/field.js.map +1 -1
  189. package/icon/icon.d.ts +2 -2
  190. package/icon/icon.d.ts.map +1 -1
  191. package/icon/icon.js +4 -4
  192. package/icon/icon.js.map +1 -1
  193. package/index.d.ts +29 -1
  194. package/index.d.ts.map +1 -1
  195. package/index.js +29 -1
  196. package/index.js.map +1 -1
  197. package/list/list-item.d.ts +19 -2
  198. package/list/list-item.d.ts.map +1 -1
  199. package/list/list-item.js +29 -6
  200. package/list/list-item.js.map +1 -1
  201. package/list/list-item.styles.d.ts.map +1 -1
  202. package/list/list-item.styles.js +13 -0
  203. package/list/list-item.styles.js.map +1 -1
  204. package/list/list.d.ts +2 -2
  205. package/list/list.d.ts.map +1 -1
  206. package/list/list.js +4 -4
  207. package/list/list.js.map +1 -1
  208. package/menu/menu-item.d.ts +9 -3
  209. package/menu/menu-item.d.ts.map +1 -1
  210. package/menu/menu-item.js +16 -10
  211. package/menu/menu-item.js.map +1 -1
  212. package/menu/menu.d.ts +18 -2
  213. package/menu/menu.d.ts.map +1 -1
  214. package/menu/menu.js +37 -18
  215. package/menu/menu.js.map +1 -1
  216. package/menu/menu.styles.d.ts.map +1 -1
  217. package/menu/menu.styles.js +5 -0
  218. package/menu/menu.styles.js.map +1 -1
  219. package/navigation/drawer-headline.d.ts +2 -2
  220. package/navigation/drawer-headline.d.ts.map +1 -1
  221. package/navigation/drawer-headline.js +6 -6
  222. package/navigation/drawer-headline.js.map +1 -1
  223. package/navigation/drawer-headline.styles.js +1 -1
  224. package/navigation/drawer-headline.styles.js.map +1 -1
  225. package/navigation/drawer-item.d.ts +3 -3
  226. package/navigation/drawer-item.d.ts.map +1 -1
  227. package/navigation/drawer-item.js +17 -12
  228. package/navigation/drawer-item.js.map +1 -1
  229. package/navigation/drawer.d.ts +2 -2
  230. package/navigation/drawer.d.ts.map +1 -1
  231. package/navigation/drawer.js +4 -4
  232. package/navigation/drawer.js.map +1 -1
  233. package/navigation/side-navigation.d.ts +9 -2
  234. package/navigation/side-navigation.d.ts.map +1 -1
  235. package/navigation/side-navigation.js +15 -8
  236. package/navigation/side-navigation.js.map +1 -1
  237. package/navigation-bar/navigation-bar-item.d.ts +40 -0
  238. package/navigation-bar/navigation-bar-item.d.ts.map +1 -0
  239. package/navigation-bar/navigation-bar-item.js +113 -0
  240. package/navigation-bar/navigation-bar-item.js.map +1 -0
  241. package/navigation-bar/navigation-bar-item.styles.d.ts +2 -0
  242. package/navigation-bar/navigation-bar-item.styles.d.ts.map +1 -0
  243. package/navigation-bar/navigation-bar-item.styles.js +101 -0
  244. package/navigation-bar/navigation-bar-item.styles.js.map +1 -0
  245. package/navigation-bar/navigation-bar.d.ts +40 -0
  246. package/navigation-bar/navigation-bar.d.ts.map +1 -0
  247. package/navigation-bar/navigation-bar.js +85 -0
  248. package/navigation-bar/navigation-bar.js.map +1 -0
  249. package/navigation-bar/navigation-bar.styles.d.ts +2 -0
  250. package/navigation-bar/navigation-bar.styles.d.ts.map +1 -0
  251. package/navigation-bar/navigation-bar.styles.js +44 -0
  252. package/navigation-bar/navigation-bar.styles.js.map +1 -0
  253. package/navigation-rail/navigation-rail-headline.d.ts +23 -0
  254. package/navigation-rail/navigation-rail-headline.d.ts.map +1 -0
  255. package/navigation-rail/navigation-rail-headline.js +28 -0
  256. package/navigation-rail/navigation-rail-headline.js.map +1 -0
  257. package/navigation-rail/navigation-rail-headline.styles.d.ts +2 -0
  258. package/navigation-rail/navigation-rail-headline.styles.d.ts.map +1 -0
  259. package/navigation-rail/navigation-rail-headline.styles.js +19 -0
  260. package/navigation-rail/navigation-rail-headline.styles.js.map +1 -0
  261. package/navigation-rail/navigation-rail-item.d.ts +58 -0
  262. package/navigation-rail/navigation-rail-item.d.ts.map +1 -0
  263. package/navigation-rail/navigation-rail-item.js +160 -0
  264. package/navigation-rail/navigation-rail-item.js.map +1 -0
  265. package/navigation-rail/navigation-rail-item.styles.d.ts +2 -0
  266. package/navigation-rail/navigation-rail-item.styles.d.ts.map +1 -0
  267. package/navigation-rail/navigation-rail-item.styles.js +182 -0
  268. package/navigation-rail/navigation-rail-item.styles.js.map +1 -0
  269. package/navigation-rail/navigation-rail.d.ts +66 -0
  270. package/navigation-rail/navigation-rail.d.ts.map +1 -0
  271. package/navigation-rail/navigation-rail.js +223 -0
  272. package/navigation-rail/navigation-rail.js.map +1 -0
  273. package/navigation-rail/navigation-rail.styles.d.ts +2 -0
  274. package/navigation-rail/navigation-rail.styles.d.ts.map +1 -0
  275. package/navigation-rail/navigation-rail.styles.js +220 -0
  276. package/navigation-rail/navigation-rail.styles.js.map +1 -0
  277. package/overflow-menu/overflow-menu-item.d.ts +8 -0
  278. package/overflow-menu/overflow-menu-item.d.ts.map +1 -1
  279. package/overflow-menu/overflow-menu-item.js +8 -0
  280. package/overflow-menu/overflow-menu-item.js.map +1 -1
  281. package/overflow-menu/overflow-menu.d.ts +8 -2
  282. package/overflow-menu/overflow-menu.d.ts.map +1 -1
  283. package/overflow-menu/overflow-menu.js +10 -1
  284. package/overflow-menu/overflow-menu.js.map +1 -1
  285. package/package.json +21 -5
  286. package/progress/circular-progress.d.ts +9 -2
  287. package/progress/circular-progress.d.ts.map +1 -1
  288. package/progress/circular-progress.js +9 -6
  289. package/progress/circular-progress.js.map +1 -1
  290. package/progress/progress-bar.d.ts +9 -2
  291. package/progress/progress-bar.d.ts.map +1 -1
  292. package/progress/progress-bar.js +9 -6
  293. package/progress/progress-bar.js.map +1 -1
  294. package/radio/radio-list-item.d.ts +4 -4
  295. package/radio/radio-list-item.d.ts.map +1 -1
  296. package/radio/radio-list-item.js +5 -5
  297. package/radio/radio-list-item.js.map +1 -1
  298. package/radio/radio.d.ts +6 -3
  299. package/radio/radio.d.ts.map +1 -1
  300. package/radio/radio.js +9 -6
  301. package/radio/radio.js.map +1 -1
  302. package/ripple/ripple.d.ts +2 -2
  303. package/ripple/ripple.d.ts.map +1 -1
  304. package/ripple/ripple.js +9 -9
  305. package/ripple/ripple.js.map +1 -1
  306. package/scaffold/pane.d.ts +127 -0
  307. package/scaffold/pane.d.ts.map +1 -0
  308. package/scaffold/pane.js +220 -0
  309. package/scaffold/pane.js.map +1 -0
  310. package/scaffold/pane.styles.d.ts +2 -0
  311. package/scaffold/pane.styles.d.ts.map +1 -0
  312. package/scaffold/pane.styles.js +1909 -0
  313. package/scaffold/pane.styles.js.map +1 -0
  314. package/scaffold/scaffold.d.ts +45 -0
  315. package/scaffold/scaffold.d.ts.map +1 -0
  316. package/scaffold/scaffold.js +170 -0
  317. package/scaffold/scaffold.js.map +1 -0
  318. package/scaffold/scaffold.styles.d.ts +2 -0
  319. package/scaffold/scaffold.styles.d.ts.map +1 -0
  320. package/scaffold/scaffold.styles.js +69 -0
  321. package/scaffold/scaffold.styles.js.map +1 -0
  322. package/scaffold/scroll-container-context.d.ts +4 -0
  323. package/scaffold/scroll-container-context.d.ts.map +1 -0
  324. package/scaffold/scroll-container-context.js +3 -0
  325. package/scaffold/scroll-container-context.js.map +1 -0
  326. package/scss/utilities/_divider.scss +4 -0
  327. package/search/search.d.ts +6 -3
  328. package/search/search.d.ts.map +1 -1
  329. package/search/search.js +10 -7
  330. package/search/search.js.map +1 -1
  331. package/search/search.styles.d.ts.map +1 -1
  332. package/search/search.styles.js +7 -2
  333. package/search/search.styles.js.map +1 -1
  334. package/select/option.d.ts +9 -3
  335. package/select/option.d.ts.map +1 -1
  336. package/select/option.js +14 -8
  337. package/select/option.js.map +1 -1
  338. package/select/select-navigation-controller.d.ts +4 -4
  339. package/select/select-navigation-controller.d.ts.map +1 -1
  340. package/select/select-navigation-controller.js.map +1 -1
  341. package/select/select.d.ts +22 -12
  342. package/select/select.d.ts.map +1 -1
  343. package/select/select.js +81 -31
  344. package/select/select.js.map +1 -1
  345. package/shared/button-wrapper.d.ts +4 -1
  346. package/shared/button-wrapper.d.ts.map +1 -1
  347. package/shared/button-wrapper.js +8 -8
  348. package/shared/button-wrapper.js.map +1 -1
  349. package/shared/char-count-text-field/native-text-field-wrapper.d.ts +15 -2
  350. package/shared/char-count-text-field/native-text-field-wrapper.d.ts.map +1 -1
  351. package/shared/char-count-text-field/native-text-field-wrapper.js +16 -6
  352. package/shared/char-count-text-field/native-text-field-wrapper.js.map +1 -1
  353. package/shared/menu-field/menu-field-navigation-controller.d.ts +3 -3
  354. package/shared/menu-field/menu-field-navigation-controller.d.ts.map +1 -1
  355. package/shared/menu-field/menu-field-navigation-controller.js.map +1 -1
  356. package/shared/menu-field/menu-field.d.ts +5 -5
  357. package/shared/menu-field/menu-field.d.ts.map +1 -1
  358. package/shared/menu-field/menu-field.js.map +1 -1
  359. package/shared/selection-control/selection-control-list-item.d.ts +2 -2
  360. package/shared/selection-control/selection-control-list-item.d.ts.map +1 -1
  361. package/shared/selection-control/selection-control-list-item.js +14 -1
  362. package/shared/selection-control/selection-control-list-item.js.map +1 -1
  363. package/shared/selection-control/selection-control.d.ts +10 -1
  364. package/shared/selection-control/selection-control.d.ts.map +1 -1
  365. package/shared/selection-control/selection-control.js +24 -7
  366. package/shared/selection-control/selection-control.js.map +1 -1
  367. package/shared/sets/set-base.d.ts +1 -1
  368. package/shared/sets/set-base.d.ts.map +1 -1
  369. package/shared/sets/set-base.js +2 -2
  370. package/shared/sets/set-base.js.map +1 -1
  371. package/shared/text-field-base/text-field-base.d.ts +37 -2
  372. package/shared/text-field-base/text-field-base.d.ts.map +1 -1
  373. package/shared/text-field-base/text-field-base.js +66 -4
  374. package/shared/text-field-base/text-field-base.js.map +1 -1
  375. package/skills/badge/SKILL.md +43 -0
  376. package/skills/buttons/SKILL.md +115 -0
  377. package/skills/card/SKILL.md +162 -0
  378. package/skills/chips/SKILL.md +95 -0
  379. package/skills/collapse/SKILL.md +37 -0
  380. package/skills/datepicker/SKILL.md +110 -0
  381. package/skills/dialog/SKILL.md +92 -0
  382. package/skills/drawer/SKILL.md +94 -0
  383. package/skills/expansion-panel/SKILL.md +65 -0
  384. package/skills/fab/SKILL.md +79 -0
  385. package/skills/list/SKILL.md +105 -0
  386. package/skills/menu/SKILL.md +120 -0
  387. package/skills/navigation-bar/SKILL.md +87 -0
  388. package/skills/navigation-rail/SKILL.md +127 -0
  389. package/skills/overview/SKILL.md +44 -0
  390. package/skills/progress/SKILL.md +63 -0
  391. package/skills/scaffold/SKILL.md +392 -0
  392. package/skills/search/SKILL.md +65 -0
  393. package/skills/select/SKILL.md +120 -0
  394. package/skills/selection-controls/SKILL.md +88 -0
  395. package/skills/setup/SKILL.md +58 -0
  396. package/skills/slider/SKILL.md +119 -0
  397. package/skills/snackbar/SKILL.md +70 -0
  398. package/skills/tab-bar/SKILL.md +55 -0
  399. package/skills/text-field/SKILL.md +114 -0
  400. package/skills/theming/SKILL.md +80 -0
  401. package/skills/top-app-bar/SKILL.md +64 -0
  402. package/skills/typeahead/SKILL.md +113 -0
  403. package/slider/slider.d.ts +73 -0
  404. package/slider/slider.d.ts.map +1 -0
  405. package/slider/slider.js +506 -0
  406. package/slider/slider.js.map +1 -0
  407. package/slider/slider.styles.d.ts +2 -0
  408. package/slider/slider.styles.d.ts.map +1 -0
  409. package/slider/slider.styles.js +292 -0
  410. package/slider/slider.styles.js.map +1 -0
  411. package/snackbar/snackbar.d.ts +13 -4
  412. package/snackbar/snackbar.d.ts.map +1 -1
  413. package/snackbar/snackbar.js +37 -28
  414. package/snackbar/snackbar.js.map +1 -1
  415. package/snackbar/snackbar.styles.js +1 -1
  416. package/snackbar/snackbar.styles.js.map +1 -1
  417. package/switch/switch-list-item.d.ts +4 -4
  418. package/switch/switch-list-item.d.ts.map +1 -1
  419. package/switch/switch-list-item.js +5 -5
  420. package/switch/switch-list-item.js.map +1 -1
  421. package/switch/switch.d.ts +3 -3
  422. package/switch/switch.d.ts.map +1 -1
  423. package/switch/switch.js +5 -5
  424. package/switch/switch.js.map +1 -1
  425. package/tab-bar/tab-bar.d.ts +9 -6
  426. package/tab-bar/tab-bar.d.ts.map +1 -1
  427. package/tab-bar/tab-bar.js +43 -23
  428. package/tab-bar/tab-bar.js.map +1 -1
  429. package/tab-bar/tab.d.ts +10 -5
  430. package/tab-bar/tab.d.ts.map +1 -1
  431. package/tab-bar/tab.js +14 -9
  432. package/tab-bar/tab.js.map +1 -1
  433. package/text-area/text-area.d.ts +6 -3
  434. package/text-area/text-area.d.ts.map +1 -1
  435. package/text-area/text-area.js +12 -9
  436. package/text-area/text-area.js.map +1 -1
  437. package/text-field/text-field.d.ts +31 -3
  438. package/text-field/text-field.d.ts.map +1 -1
  439. package/text-field/text-field.js +53 -13
  440. package/text-field/text-field.js.map +1 -1
  441. package/typeahead/highlight.d.ts +2 -2
  442. package/typeahead/highlight.d.ts.map +1 -1
  443. package/typeahead/highlight.js +7 -7
  444. package/typeahead/highlight.js.map +1 -1
  445. package/typeahead/typeahead-template-render.d.ts +4 -0
  446. package/typeahead/typeahead-template-render.d.ts.map +1 -1
  447. package/typeahead/typeahead-template-render.js +4 -0
  448. package/typeahead/typeahead-template-render.js.map +1 -1
  449. package/typeahead/typeahead.d.ts +14 -7
  450. package/typeahead/typeahead.d.ts.map +1 -1
  451. package/typeahead/typeahead.js +29 -18
  452. package/typeahead/typeahead.js.map +1 -1
  453. package/vscode.html-custom-data.json +1146 -326
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pane.styles.js","sourceRoot":"","sources":["../../src/scaffold/pane.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAk3DzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n min-height: 0;\n --u-pane-transition: 300ms cubic-bezier(0.19, 1, 0.22, 1);\n --_u-pane-variant-bg: transparent;\n --_u-pane-variant-radius: 0;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n --_u-pane-shape-corner-end: 0;\n }\n\n .container {\n height: 100%;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n box-sizing: border-box;\n background-color: var(--_u-pane-bg-color);\n border-radius: var(--_u-pane-shape-corner);\n box-shadow: var(--_u-pane-box-shadow);\n }\n\n .header {\n flex: 0 0 auto;\n }\n\n .content {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n }\n\n :host([variant=filled]) {\n --_u-pane-variant-bg: var(--u-pane-filled-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-variant-radius: var(--u-pane-filled-shape-corner,\n var(--u-shape-corner-medium, 12px));\n }\n\n :host([variant=transparent]) {\n --_u-pane-variant-bg: transparent;\n --_u-pane-variant-radius: 0;\n }\n\n @media (max-width: 839.98px) {\n :host([variant=filled]) {\n --_u-pane-variant-radius: 0;\n }\n }\n .scrim {\n position: fixed;\n inset: 0;\n background-color: var(--u-pane-scrim-color, var(--u-color-scrim, rgb(0, 0, 0)));\n opacity: 0;\n pointer-events: none;\n transition: opacity var(--u-pane-transition);\n display: none;\n }\n\n :host([mode=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n\n :host([mode=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n\n :host([mode=fixed]) .scrim {\n display: none;\n }\n\n :host([mode=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n\n :host([mode=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n\n :host([mode=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n\n @starting-style {\n :host([mode=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host([mode=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host([mode=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n\n :host([mode=collapsible]) .scrim {\n display: none;\n }\n\n :host([mode=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n\n :host([mode=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n\n :host([mode=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n\n :host([mode=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n\n :host([mode=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n\n :host([mode=sidebar]) .scrim {\n display: block;\n }\n\n :host([mode=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n\n :host([mode=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n\n :host([mode=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n\n :host([mode=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n\n :host([mode=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n\n :host([mode=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n\n :host([mode=fullscreen]) .scrim {\n display: none;\n }\n\n @media (min-width: 600px) {\n :host(:where(:not([query-context=container]))[mode-sm=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fixed]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]) .scrim {\n display: block;\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]) .scrim {\n display: none;\n }\n }\n @container (min-width: 600px) {\n :host(:where([query-context=container])[mode-sm=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where([query-context=container])[mode-sm=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-sm=fixed]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-sm=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where([query-context=container])[mode-sm=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where([query-context=container])[mode-sm=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where([query-context=container])[mode-sm=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where([query-context=container])[mode-sm=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where([query-context=container])[mode-sm=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-sm=collapsible]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-sm=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where([query-context=container])[mode-sm=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where([query-context=container])[mode-sm=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-sm=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[mode-sm=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-sm=sidebar]) .scrim {\n display: block;\n }\n :host(:where([query-context=container])[mode-sm=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]) .scrim {\n display: none;\n }\n }\n @media (min-width: 840px) {\n :host(:where(:not([query-context=container]))[mode-md=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where(:not([query-context=container]))[mode-md=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-md=fixed]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where(:not([query-context=container]))[mode-md=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]) .scrim {\n display: block;\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]) .scrim {\n display: none;\n }\n }\n @container (min-width: 840px) {\n :host(:where([query-context=container])[mode-md=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where([query-context=container])[mode-md=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-md=fixed]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-md=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where([query-context=container])[mode-md=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where([query-context=container])[mode-md=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where([query-context=container])[mode-md=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where([query-context=container])[mode-md=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where([query-context=container])[mode-md=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-md=collapsible]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-md=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where([query-context=container])[mode-md=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where([query-context=container])[mode-md=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-md=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[mode-md=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-md=sidebar]) .scrim {\n display: block;\n }\n :host(:where([query-context=container])[mode-md=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where([query-context=container])[mode-md=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]) .scrim {\n display: none;\n }\n }\n @media (min-width: 1200px) {\n :host(:where(:not([query-context=container]))[mode-lg=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fixed]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]) .scrim {\n display: block;\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]) .scrim {\n display: none;\n }\n }\n @container (min-width: 1200px) {\n :host(:where([query-context=container])[mode-lg=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where([query-context=container])[mode-lg=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-lg=fixed]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-lg=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where([query-context=container])[mode-lg=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where([query-context=container])[mode-lg=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where([query-context=container])[mode-lg=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where([query-context=container])[mode-lg=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where([query-context=container])[mode-lg=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-lg=collapsible]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-lg=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where([query-context=container])[mode-lg=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where([query-context=container])[mode-lg=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-lg=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[mode-lg=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-lg=sidebar]) .scrim {\n display: block;\n }\n :host(:where([query-context=container])[mode-lg=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]) .scrim {\n display: none;\n }\n }\n @media (min-width: 1600px) {\n :host(:where(:not([query-context=container]))[mode-xl=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fixed]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]) .scrim {\n display: block;\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]) .scrim {\n display: none;\n }\n }\n @container (min-width: 1600px) {\n :host(:where([query-context=container])[mode-xl=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where([query-context=container])[mode-xl=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-xl=fixed]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-xl=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where([query-context=container])[mode-xl=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where([query-context=container])[mode-xl=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where([query-context=container])[mode-xl=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where([query-context=container])[mode-xl=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where([query-context=container])[mode-xl=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-xl=collapsible]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-xl=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where([query-context=container])[mode-xl=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where([query-context=container])[mode-xl=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-xl=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[mode-xl=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-xl=sidebar]) .scrim {\n display: block;\n }\n :host(:where([query-context=container])[mode-xl=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]) .scrim {\n display: none;\n }\n }\n :host([animation=none]),\n :host([animation=none]) .container,\n :host([animation=none]) .scrim {\n transition: none;\n }\n\n :host([animation=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n\n :host([animation=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n\n :host([animation=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n\n :host([animation=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n\n :host([animation=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n\n :host([animation=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n\n @media (min-width: 600px) {\n :host(:where(:not([query-context=container]))[animation-sm=none]),\n :host(:where(:not([query-context=container]))[animation-sm=none]) .container,\n :host(:where(:not([query-context=container]))[animation-sm=none]) .scrim {\n transition: none;\n }\n :host(:where(:not([query-context=container]))[animation-sm=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[animation-sm=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where(:not([query-context=container]))[animation-sm=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-sm=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[animation-sm=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-sm=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @container (min-width: 600px) {\n :host(:where([query-context=container])[animation-sm=none]),\n :host(:where([query-context=container])[animation-sm=none]) .container,\n :host(:where([query-context=container])[animation-sm=none]) .scrim {\n transition: none;\n }\n :host(:where([query-context=container])[animation-sm=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where([query-context=container])[animation-sm=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where([query-context=container])[animation-sm=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-sm=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[animation-sm=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-sm=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @media (min-width: 840px) {\n :host(:where(:not([query-context=container]))[animation-md=none]),\n :host(:where(:not([query-context=container]))[animation-md=none]) .container,\n :host(:where(:not([query-context=container]))[animation-md=none]) .scrim {\n transition: none;\n }\n :host(:where(:not([query-context=container]))[animation-md=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[animation-md=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where(:not([query-context=container]))[animation-md=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-md=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[animation-md=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-md=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @container (min-width: 840px) {\n :host(:where([query-context=container])[animation-md=none]),\n :host(:where([query-context=container])[animation-md=none]) .container,\n :host(:where([query-context=container])[animation-md=none]) .scrim {\n transition: none;\n }\n :host(:where([query-context=container])[animation-md=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where([query-context=container])[animation-md=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where([query-context=container])[animation-md=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-md=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[animation-md=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-md=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @media (min-width: 1200px) {\n :host(:where(:not([query-context=container]))[animation-lg=none]),\n :host(:where(:not([query-context=container]))[animation-lg=none]) .container,\n :host(:where(:not([query-context=container]))[animation-lg=none]) .scrim {\n transition: none;\n }\n :host(:where(:not([query-context=container]))[animation-lg=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[animation-lg=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where(:not([query-context=container]))[animation-lg=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-lg=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[animation-lg=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-lg=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @container (min-width: 1200px) {\n :host(:where([query-context=container])[animation-lg=none]),\n :host(:where([query-context=container])[animation-lg=none]) .container,\n :host(:where([query-context=container])[animation-lg=none]) .scrim {\n transition: none;\n }\n :host(:where([query-context=container])[animation-lg=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where([query-context=container])[animation-lg=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where([query-context=container])[animation-lg=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-lg=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[animation-lg=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-lg=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @media (min-width: 1600px) {\n :host(:where(:not([query-context=container]))[animation-xl=none]),\n :host(:where(:not([query-context=container]))[animation-xl=none]) .container,\n :host(:where(:not([query-context=container]))[animation-xl=none]) .scrim {\n transition: none;\n }\n :host(:where(:not([query-context=container]))[animation-xl=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[animation-xl=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where(:not([query-context=container]))[animation-xl=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-xl=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[animation-xl=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-xl=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @container (min-width: 1600px) {\n :host(:where([query-context=container])[animation-xl=none]),\n :host(:where([query-context=container])[animation-xl=none]) .container,\n :host(:where([query-context=container])[animation-xl=none]) .scrim {\n transition: none;\n }\n :host(:where([query-context=container])[animation-xl=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where([query-context=container])[animation-xl=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where([query-context=container])[animation-xl=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-xl=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[animation-xl=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-xl=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n`;\n"]}
@@ -0,0 +1,45 @@
1
+ import { HTMLTemplateResult, LitElement, PropertyValues } from 'lit';
2
+ /**
3
+ * Layout container that hosts the top app bar, navigation bar, a
4
+ * flex-row body that accepts plain content and any number of
5
+ * `u-pane` children, and a floating FAB. Panes auto-arrange via
6
+ * `display: flex` + `gap` on the body row; their behaviour (fixed,
7
+ * collapsible, sidebar, fullscreen) is owned by `u-pane` itself.
8
+ *
9
+ * The scaffold has one piece of pane-aware bookkeeping: it watches the
10
+ * children and writes `data-align="start|end"` on each `u-pane`
11
+ * depending on whether the pane appears before (`start`) or after
12
+ * (`end`) the first non-pane child in the light DOM. The pane reads
13
+ * that attribute to pick the slide direction in `sidebar` / `fullscreen`
14
+ * modes. When there is no non-pane content, every pane defaults to
15
+ * `start`.
16
+ *
17
+ * The scaffold establishes a `container-type: inline-size` named
18
+ * container (`u-scaffold`) so panes with `query-context="container"`
19
+ * can react to the scaffold's own size rather than the viewport.
20
+ *
21
+ * @slot top-bar - the top app bar.
22
+ * @slot - panes (`u-pane`) and the page content as siblings. Non-pane
23
+ * children act as the body and flex to fill the remaining space.
24
+ * @slot bottom-bar - the navigation bar (or any bottom-anchored bar).
25
+ * @slot fab - floating action button area, anchored above the bottom bar.
26
+ *
27
+ * @csspart top-bar
28
+ * @csspart bottom-bar
29
+ * @csspart fab
30
+ * @csspart body-row
31
+ */
32
+ export declare class Scaffold extends LitElement {
33
+ #private;
34
+ static styles: import("lit").CSSResult[];
35
+ private readonly _bottomBar;
36
+ protected render(): HTMLTemplateResult;
37
+ protected firstUpdated(changedProperties: PropertyValues): void;
38
+ disconnectedCallback(): void;
39
+ }
40
+ declare global {
41
+ interface HTMLElementTagNameMap {
42
+ 'u-scaffold': Scaffold;
43
+ }
44
+ }
45
+ //# sourceMappingURL=scaffold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/scaffold/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,QAAS,SAAQ,UAAU;;IACtC,OAAgB,MAAM,4BAAwB;IAG9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;cAKvB,MAAM,IAAI,kBAAkB;cAqB5B,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAiB/D,oBAAoB,IAAI,IAAI;CAsGtC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,QAAQ,CAAC;KACxB;CACF"}
@@ -0,0 +1,170 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement } from 'lit';
3
+ import { customElement, query } from 'lit/decorators.js';
4
+ import { styles as baseStyles } from '../shared/base.styles.js';
5
+ import { styles } from './scaffold.styles.js';
6
+ /**
7
+ * Layout container that hosts the top app bar, navigation bar, a
8
+ * flex-row body that accepts plain content and any number of
9
+ * `u-pane` children, and a floating FAB. Panes auto-arrange via
10
+ * `display: flex` + `gap` on the body row; their behaviour (fixed,
11
+ * collapsible, sidebar, fullscreen) is owned by `u-pane` itself.
12
+ *
13
+ * The scaffold has one piece of pane-aware bookkeeping: it watches the
14
+ * children and writes `data-align="start|end"` on each `u-pane`
15
+ * depending on whether the pane appears before (`start`) or after
16
+ * (`end`) the first non-pane child in the light DOM. The pane reads
17
+ * that attribute to pick the slide direction in `sidebar` / `fullscreen`
18
+ * modes. When there is no non-pane content, every pane defaults to
19
+ * `start`.
20
+ *
21
+ * The scaffold establishes a `container-type: inline-size` named
22
+ * container (`u-scaffold`) so panes with `query-context="container"`
23
+ * can react to the scaffold's own size rather than the viewport.
24
+ *
25
+ * @slot top-bar - the top app bar.
26
+ * @slot - panes (`u-pane`) and the page content as siblings. Non-pane
27
+ * children act as the body and flex to fill the remaining space.
28
+ * @slot bottom-bar - the navigation bar (or any bottom-anchored bar).
29
+ * @slot fab - floating action button area, anchored above the bottom bar.
30
+ *
31
+ * @csspart top-bar
32
+ * @csspart bottom-bar
33
+ * @csspart fab
34
+ * @csspart body-row
35
+ */
36
+ let Scaffold = class Scaffold extends LitElement {
37
+ static { this.styles = [baseStyles, styles]; }
38
+ #bottomBarObserver = null;
39
+ #paneChildObserver = null;
40
+ render() {
41
+ return html `
42
+ <div class="layout">
43
+ <div class="top-bar-row" part="top-bar">
44
+ <slot name="top-bar" @slotchange=${this.#autoSetAbsolutePosition}></slot>
45
+ </div>
46
+ <div class="body-row" part="body-row">
47
+ <slot @slotchange=${this.#syncPaneAlignment}></slot>
48
+ </div>
49
+ <div class="bottom-bar-row" part="bottom-bar">
50
+ <slot
51
+ name="bottom-bar"
52
+ @slotchange=${this.#handleBottomBarSlotChange}></slot>
53
+ </div>
54
+ </div>
55
+ <div class="fab" part="fab">
56
+ <slot name="fab"></slot>
57
+ </div>
58
+ `;
59
+ }
60
+ firstUpdated(changedProperties) {
61
+ super.firstUpdated(changedProperties);
62
+ this.#measureBottomBar();
63
+ if (typeof ResizeObserver !== 'undefined') {
64
+ this.#bottomBarObserver = new ResizeObserver(() => this.#measureBottomBar());
65
+ this.#bottomBarObserver.observe(this._bottomBar);
66
+ }
67
+ this.#syncPaneAlignment();
68
+ this.#paneChildObserver = new MutationObserver(() => this.#syncPaneAlignment());
69
+ this.#paneChildObserver.observe(this, {
70
+ childList: true,
71
+ subtree: false,
72
+ });
73
+ }
74
+ disconnectedCallback() {
75
+ super.disconnectedCallback();
76
+ this.#bottomBarObserver?.disconnect();
77
+ this.#bottomBarObserver = null;
78
+ this.#paneChildObserver?.disconnect();
79
+ this.#paneChildObserver = null;
80
+ }
81
+ /**
82
+ * Walk the light-DOM children once and stamp `data-align="start|end"`
83
+ * on each `u-pane` based on its position in the body row.
84
+ *
85
+ * - If non-pane body content is present: panes appearing before it are
86
+ * `start`, panes appearing after are `end`.
87
+ * - If there is no body content: the last pane is `end` (so a trailing
88
+ * detail pane animates from the correct side in modal modes), and
89
+ * every other pane is `start`. A single pane stays `start`.
90
+ *
91
+ * The pane's CSS uses `data-align` as the default slide direction for
92
+ * `animation="exit"` (the default). Consumers can override per-pane
93
+ * with `animation="exit-start"` / `animation="exit-end"`.
94
+ */
95
+ #syncPaneAlignment = () => {
96
+ const children = Array.from(this.children);
97
+ let bodyIndex = -1;
98
+ const paneIndices = [];
99
+ for (let i = 0; i < children.length; i++) {
100
+ const child = children[i];
101
+ const slot = child.getAttribute('slot');
102
+ // Bars and FABs live in named slots — ignore them when locating
103
+ // the body row contents.
104
+ if (slot === 'top-bar' || slot === 'bottom-bar' || slot === 'fab') {
105
+ continue;
106
+ }
107
+ if (child.tagName === 'U-PANE') {
108
+ paneIndices.push(i);
109
+ }
110
+ else if (bodyIndex === -1) {
111
+ bodyIndex = i;
112
+ }
113
+ }
114
+ const hasBody = bodyIndex !== -1;
115
+ const lastPaneIndex = paneIndices.length > 1
116
+ ? paneIndices[paneIndices.length - 1]
117
+ : -1;
118
+ for (const i of paneIndices) {
119
+ let align;
120
+ if (hasBody) {
121
+ align = i > bodyIndex ? 'end' : 'start';
122
+ }
123
+ else {
124
+ align = i === lastPaneIndex ? 'end' : 'start';
125
+ }
126
+ const child = children[i];
127
+ if (child.getAttribute('data-align') !== align) {
128
+ child.setAttribute('data-align', align);
129
+ }
130
+ }
131
+ };
132
+ #handleBottomBarSlotChange = (event) => {
133
+ this.#autoSetAbsolutePosition(event);
134
+ this.#measureBottomBar();
135
+ };
136
+ #measureBottomBar = () => {
137
+ if (!this._bottomBar) {
138
+ return;
139
+ }
140
+ const height = this._bottomBar.offsetHeight;
141
+ this.style.setProperty('--_u-scaffold-bottom-bar-height', `${height}px`);
142
+ };
143
+ /**
144
+ * Ensures a slotted top/bottom bar uses `position="absolute"` so it
145
+ * anchors against the scaffold host. Only overrides the default
146
+ * `'fixed'` positioning — any explicit `'static'` or `'absolute'` set by
147
+ * the consumer (or at runtime) is respected.
148
+ */
149
+ #autoSetAbsolutePosition = (event) => {
150
+ const slot = event.target;
151
+ for (const el of slot.assignedElements({ flatten: true })) {
152
+ const tag = el.tagName;
153
+ if (tag !== 'U-TOP-APP-BAR' && tag !== 'U-NAVIGATION-BAR') {
154
+ continue;
155
+ }
156
+ const bar = el;
157
+ if (bar.position === 'fixed') {
158
+ bar.position = 'absolute';
159
+ }
160
+ }
161
+ };
162
+ };
163
+ __decorate([
164
+ query('.bottom-bar-row', true)
165
+ ], Scaffold.prototype, "_bottomBar", void 0);
166
+ Scaffold = __decorate([
167
+ customElement('u-scaffold')
168
+ ], Scaffold);
169
+ export { Scaffold };
170
+ //# sourceMappingURL=scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;aACtB,WAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;IAK9C,kBAAkB,GAA0B,IAAI,CAAC;IACjD,kBAAkB,GAA4B,IAAI,CAAC;IAEhC,MAAM;QACvB,OAAO,IAAI,CAAA;;;6CAG8B,IAAI,CAAC,wBAAwB;;;8BAG5C,IAAI,CAAC,kBAAkB;;;;;0BAK3B,IAAI,CAAC,0BAA0B;;;;;;KAMpD,CAAC;IACJ,CAAC;IAEkB,YAAY,CAAC,iBAAiC;QAC/D,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE;YACpC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACM,kBAAkB,GAAG,GAAS,EAAE;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAExC,gEAAgE;YAChE,yBAAyB;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAClE,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5B,SAAS,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;YAC1C,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEP,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,KAAsB,CAAC;YAE3B,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC/C,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEO,0BAA0B,GAAG,CAAC,KAAY,EAAQ,EAAE;QAC3D,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEO,iBAAiB,GAAG,GAAS,EAAE;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iCAAiC,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF;;;;;OAKG;IACM,wBAAwB,GAAG,CAAC,KAAY,EAAQ,EAAE;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;QAE7C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;YAEvB,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,EAA6D,CAAC;YAE1E,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC7B,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;;AAhJe;IADhB,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC;4CACW;AAJ/B,QAAQ;IADpB,aAAa,CAAC,YAAY,CAAC;GACf,QAAQ,CAqJpB","sourcesContent":["import { html, HTMLTemplateResult, LitElement, PropertyValues } from 'lit';\nimport { customElement, query } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './scaffold.styles.js';\n\n/**\n * Layout container that hosts the top app bar, navigation bar, a\n * flex-row body that accepts plain content and any number of\n * `u-pane` children, and a floating FAB. Panes auto-arrange via\n * `display: flex` + `gap` on the body row; their behaviour (fixed,\n * collapsible, sidebar, fullscreen) is owned by `u-pane` itself.\n *\n * The scaffold has one piece of pane-aware bookkeeping: it watches the\n * children and writes `data-align=\"start|end\"` on each `u-pane`\n * depending on whether the pane appears before (`start`) or after\n * (`end`) the first non-pane child in the light DOM. The pane reads\n * that attribute to pick the slide direction in `sidebar` / `fullscreen`\n * modes. When there is no non-pane content, every pane defaults to\n * `start`.\n *\n * The scaffold establishes a `container-type: inline-size` named\n * container (`u-scaffold`) so panes with `query-context=\"container\"`\n * can react to the scaffold's own size rather than the viewport.\n *\n * @slot top-bar - the top app bar.\n * @slot - panes (`u-pane`) and the page content as siblings. Non-pane\n * children act as the body and flex to fill the remaining space.\n * @slot bottom-bar - the navigation bar (or any bottom-anchored bar).\n * @slot fab - floating action button area, anchored above the bottom bar.\n *\n * @csspart top-bar\n * @csspart bottom-bar\n * @csspart fab\n * @csspart body-row\n */\n@customElement('u-scaffold')\nexport class Scaffold extends LitElement {\n static override styles = [baseStyles, styles];\n\n @query('.bottom-bar-row', true)\n private readonly _bottomBar!: HTMLElement;\n\n #bottomBarObserver: ResizeObserver | null = null;\n #paneChildObserver: MutationObserver | null = null;\n\n protected override render(): HTMLTemplateResult {\n return html`\n <div class=\"layout\">\n <div class=\"top-bar-row\" part=\"top-bar\">\n <slot name=\"top-bar\" @slotchange=${this.#autoSetAbsolutePosition}></slot>\n </div>\n <div class=\"body-row\" part=\"body-row\">\n <slot @slotchange=${this.#syncPaneAlignment}></slot>\n </div>\n <div class=\"bottom-bar-row\" part=\"bottom-bar\">\n <slot\n name=\"bottom-bar\"\n @slotchange=${this.#handleBottomBarSlotChange}></slot>\n </div>\n </div>\n <div class=\"fab\" part=\"fab\">\n <slot name=\"fab\"></slot>\n </div>\n `;\n }\n\n protected override firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties);\n this.#measureBottomBar();\n\n if (typeof ResizeObserver !== 'undefined') {\n this.#bottomBarObserver = new ResizeObserver(() => this.#measureBottomBar());\n this.#bottomBarObserver.observe(this._bottomBar);\n }\n\n this.#syncPaneAlignment();\n this.#paneChildObserver = new MutationObserver(() => this.#syncPaneAlignment());\n this.#paneChildObserver.observe(this, {\n childList: true,\n subtree: false,\n });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#bottomBarObserver?.disconnect();\n this.#bottomBarObserver = null;\n this.#paneChildObserver?.disconnect();\n this.#paneChildObserver = null;\n }\n\n /**\n * Walk the light-DOM children once and stamp `data-align=\"start|end\"`\n * on each `u-pane` based on its position in the body row.\n *\n * - If non-pane body content is present: panes appearing before it are\n * `start`, panes appearing after are `end`.\n * - If there is no body content: the last pane is `end` (so a trailing\n * detail pane animates from the correct side in modal modes), and\n * every other pane is `start`. A single pane stays `start`.\n *\n * The pane's CSS uses `data-align` as the default slide direction for\n * `animation=\"exit\"` (the default). Consumers can override per-pane\n * with `animation=\"exit-start\"` / `animation=\"exit-end\"`.\n */\n readonly #syncPaneAlignment = (): void => {\n const children = Array.from(this.children);\n let bodyIndex = -1;\n const paneIndices: number[] = [];\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const slot = child.getAttribute('slot');\n\n // Bars and FABs live in named slots — ignore them when locating\n // the body row contents.\n if (slot === 'top-bar' || slot === 'bottom-bar' || slot === 'fab') {\n continue;\n }\n\n if (child.tagName === 'U-PANE') {\n paneIndices.push(i);\n } else if (bodyIndex === -1) {\n bodyIndex = i;\n }\n }\n\n const hasBody = bodyIndex !== -1;\n const lastPaneIndex = paneIndices.length > 1\n ? paneIndices[paneIndices.length - 1]\n : -1;\n\n for (const i of paneIndices) {\n let align: 'start' | 'end';\n\n if (hasBody) {\n align = i > bodyIndex ? 'end' : 'start';\n } else {\n align = i === lastPaneIndex ? 'end' : 'start';\n }\n\n const child = children[i];\n if (child.getAttribute('data-align') !== align) {\n child.setAttribute('data-align', align);\n }\n }\n };\n\n readonly #handleBottomBarSlotChange = (event: Event): void => {\n this.#autoSetAbsolutePosition(event);\n this.#measureBottomBar();\n };\n\n readonly #measureBottomBar = (): void => {\n if (!this._bottomBar) {\n return;\n }\n\n const height = this._bottomBar.offsetHeight;\n this.style.setProperty('--_u-scaffold-bottom-bar-height', `${height}px`);\n };\n\n /**\n * Ensures a slotted top/bottom bar uses `position=\"absolute\"` so it\n * anchors against the scaffold host. Only overrides the default\n * `'fixed'` positioning — any explicit `'static'` or `'absolute'` set by\n * the consumer (or at runtime) is respected.\n */\n readonly #autoSetAbsolutePosition = (event: Event): void => {\n const slot = event.target as HTMLSlotElement;\n\n for (const el of slot.assignedElements({ flatten: true })) {\n const tag = el.tagName;\n\n if (tag !== 'U-TOP-APP-BAR' && tag !== 'U-NAVIGATION-BAR') {\n continue;\n }\n\n const bar = el as Element & { position: 'fixed' | 'absolute' | 'static' };\n\n if (bar.position === 'fixed') {\n bar.position = 'absolute';\n }\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-scaffold': Scaffold;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=scaffold.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.styles.d.ts","sourceRoot":"","sources":["../../src/scaffold/scaffold.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAkElB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: block;
5
+ position: relative;
6
+ width: 100%;
7
+ height: 100%;
8
+ overflow: hidden;
9
+ contain: layout paint style;
10
+ isolation: isolate;
11
+ background-color: var(--u-scaffold-container-color, var(--u-color-body, transparent));
12
+ container-type: inline-size;
13
+ container-name: u-scaffold;
14
+ }
15
+
16
+ @media (min-width: 840px) {
17
+ :host {
18
+ --u-pane-padding: 16px;
19
+ }
20
+ }
21
+ .layout {
22
+ display: flex;
23
+ flex-direction: column;
24
+ width: 100%;
25
+ height: 100%;
26
+ min-height: 0;
27
+ }
28
+
29
+ .top-bar-row,
30
+ .bottom-bar-row {
31
+ position: relative;
32
+ flex: 0 0 auto;
33
+ }
34
+
35
+ .body-row {
36
+ position: relative;
37
+ display: flex;
38
+ flex-direction: row;
39
+ gap: var(--u-pane-gap, 16px);
40
+ flex: 1 1 auto;
41
+ min-height: 0;
42
+ width: 100%;
43
+ padding: 0 var(--u-pane-padding, 0);
44
+ padding-block-end: var(--u-pane-padding, 0);
45
+ }
46
+
47
+ ::slotted(:not(u-pane)) {
48
+ flex: 1 1 0;
49
+ min-width: 0;
50
+ min-height: 0;
51
+ }
52
+
53
+ .fab {
54
+ position: absolute;
55
+ inset-inline-end: var(--u-scaffold-fab-inline-offset, 16px);
56
+ inset-block-end: calc(var(--u-scaffold-fab-block-offset, 16px) + var(--_u-scaffold-bottom-bar-height, 0px));
57
+ z-index: 5;
58
+ pointer-events: none;
59
+ display: flex;
60
+ align-items: flex-end;
61
+ justify-content: flex-end;
62
+ --u-fab-menu-toggle-margin: 0;
63
+ }
64
+
65
+ .fab ::slotted(u-fab) {
66
+ pointer-events: auto;
67
+ }
68
+ `;
69
+ //# sourceMappingURL=scaffold.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.styles.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n contain: layout paint style;\n isolation: isolate;\n background-color: var(--u-scaffold-container-color, var(--u-color-body, transparent));\n container-type: inline-size;\n container-name: u-scaffold;\n }\n\n @media (min-width: 840px) {\n :host {\n --u-pane-padding: 16px;\n }\n }\n .layout {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n }\n\n .top-bar-row,\n .bottom-bar-row {\n position: relative;\n flex: 0 0 auto;\n }\n\n .body-row {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: var(--u-pane-gap, 16px);\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n padding: 0 var(--u-pane-padding, 0);\n padding-block-end: var(--u-pane-padding, 0);\n }\n\n ::slotted(:not(u-pane)) {\n flex: 1 1 0;\n min-width: 0;\n min-height: 0;\n }\n\n .fab {\n position: absolute;\n inset-inline-end: var(--u-scaffold-fab-inline-offset, 16px);\n inset-block-end: calc(var(--u-scaffold-fab-block-offset, 16px) + var(--_u-scaffold-bottom-bar-height, 0px));\n z-index: 5;\n pointer-events: none;\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n --u-fab-menu-toggle-margin: 0;\n }\n\n .fab ::slotted(u-fab) {\n pointer-events: auto;\n }\n`;\n"]}
@@ -0,0 +1,4 @@
1
+ export declare const scrollContainerContext: {
2
+ __context__: HTMLElement | undefined;
3
+ };
4
+ //# sourceMappingURL=scroll-container-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-container-context.d.ts","sourceRoot":"","sources":["../../src/scaffold/scroll-container-context.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB;;CACuC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createContext } from '@lit/context';
2
+ export const scrollContainerContext = createContext(Symbol('scrollContainerContext'));
3
+ //# sourceMappingURL=scroll-container-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-container-context.js","sourceRoot":"","sources":["../../src/scaffold/scroll-container-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GACjC,aAAa,CAA0B,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC","sourcesContent":["import { createContext } from '@lit/context';\n\nexport const scrollContainerContext =\n createContext<HTMLElement | undefined>(Symbol('scrollContainerContext'));\n"]}
@@ -6,6 +6,10 @@
6
6
  height: var(--u-divider-thickness, 1px);
7
7
  background-color: var(--u-divider-color, currentColor);
8
8
  opacity: var(--u-divider-opacity, .4);
9
+ // Dividers are 1px and should never shrink. Without this, dropping a
10
+ // divider into a flex-column container (e.g. the expanded nav-rail's
11
+ // overflowing item list) collapses it to 0.
12
+ flex-shrink: 0;
9
13
  }
10
14
 
11
15
  .u-divider {
@@ -1,9 +1,12 @@
1
1
  import { PropertyValues } from '@lit/reactive-element';
2
2
  import { HTMLTemplateResult } from 'lit';
3
- import { UmNativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';
4
- export declare class UmSearch extends UmNativeTextFieldWrapper {
3
+ import { NativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';
4
+ export declare class Search extends NativeTextFieldWrapper {
5
5
  #private;
6
6
  static styles: import("lit").CSSResult[];
7
+ /**
8
+ * The positioning strategy of the search bar
9
+ */
7
10
  position: 'fixed' | 'absolute' | 'static';
8
11
  input: HTMLInputElement;
9
12
  protected renderControl(): HTMLTemplateResult;
@@ -12,7 +15,7 @@ export declare class UmSearch extends UmNativeTextFieldWrapper {
12
15
  }
13
16
  declare global {
14
17
  interface HTMLElementTagNameMap {
15
- 'u-search': UmSearch;
18
+ 'u-search': Search;
16
19
  }
17
20
  }
18
21
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAQ,kBAAkB,EAAW,MAAM,KAAK,CAAC;AAMxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAGxG,qBACa,QAAS,SAAQ,wBAAwB;;IAEpD,OAAgB,MAAM,4BAAwB;IAG9C,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAW;IAEpC,KAAK,EAAG,gBAAgB,CAAC;cAItB,aAAa,IAAI,kBAAkB;IAI7C,MAAM,IAAI,kBAAkB;IA0C5B,YAAY,CAAC,iBAAiB,EAAE,cAAc;CAUxD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,QAAQ,CAAC;KACtB;CACF"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAQ,kBAAkB,EAAW,MAAM,KAAK,CAAC;AAMxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AAGtG,qBACa,MAAO,SAAQ,sBAAsB;;IAEhD,OAAgB,MAAM,4BAAwB;IAE9C;;OAEG;IAEH,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAW;IAEpC,KAAK,EAAG,gBAAgB,CAAC;cAItB,aAAa,IAAI,kBAAkB;IAI7C,MAAM,IAAI,kBAAkB;IA0C5B,YAAY,CAAC,iBAAiB,EAAE,cAAc;CAUxD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,MAAM,CAAC;KACpB;CACF"}
package/search/search.js CHANGED
@@ -4,11 +4,14 @@ import { customElement, property, query } from 'lit/decorators.js';
4
4
  import { classMap } from 'lit/directives/class-map.js';
5
5
  import { live } from 'lit/directives/live.js';
6
6
  import { styles as baseStyles } from '../shared/base.styles.js';
7
- import { UmNativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';
7
+ import { NativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';
8
8
  import { styles } from './search.styles.js';
9
- let UmSearch = class UmSearch extends UmNativeTextFieldWrapper {
9
+ let Search = class Search extends NativeTextFieldWrapper {
10
10
  constructor() {
11
11
  super(...arguments);
12
+ /**
13
+ * The positioning strategy of the search bar
14
+ */
12
15
  this.position = 'fixed';
13
16
  this.#containerSizeObserver = null;
14
17
  }
@@ -67,12 +70,12 @@ let UmSearch = class UmSearch extends UmNativeTextFieldWrapper {
67
70
  };
68
71
  __decorate([
69
72
  property({ reflect: true })
70
- ], UmSearch.prototype, "position", void 0);
73
+ ], Search.prototype, "position", void 0);
71
74
  __decorate([
72
75
  query('input')
73
- ], UmSearch.prototype, "input", void 0);
74
- UmSearch = __decorate([
76
+ ], Search.prototype, "input", void 0);
77
+ Search = __decorate([
75
78
  customElement('u-search')
76
- ], UmSearch);
77
- export { UmSearch };
79
+ ], Search);
80
+ export { Search };
78
81
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAsB,OAAO,EAAE,MAAM,KAAK,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AACxG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGrC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,wBAAwB;IAA/C;;QAKL,aAAQ,GAAoC,OAAO,CAAC;QAIpD,2BAAsB,GAA0B,IAAI,CAAC;IA0DvD,CAAC;aAjEiB,WAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;IAO9C,sBAAsB,CAA+B;IAElC,aAAa;QAC9B,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAEQ,MAAM;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC;YACvB,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAA;oBACK,OAAO;;;qDAG0B,IAAI,CAAC,4BAA4B;;;;;iBAKrE,IAAI,CAAC,EAAE,IAAI,OAAO;yBACV,IAAI,CAAC,UAAU;2BACb,IAAI,CAAC,YAAY,IAAI,OAAO;6BAC1B,IAAI,CAAC,cAAc,IAAI,OAAO;yBAClC,IAAI,CAAC,SAAS;mBACpB,IAAI,CAAC,IAAI,IAAI,OAAO;wBACf,IAAI,CAAC,SAAS,IAAI,OAAO;2BACtB,IAAI,CAAC,WAAW,IAAI,OAAO;qBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;qBACjB,IAAI,CAAC,YAAY;uBACf,IAAI,CAAC,cAAc;;;sDAGY,IAAI,CAAC,6BAA6B;;;;WAI7E,CAAC;IACV,CAAC;IAED,4BAA4B;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IAEQ,YAAY,CAAC,iBAAiC;QACrD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,sBAAsB,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC;IACnF,CAAC;;AA7DD;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CACwB;AAEpC;IAAf,KAAK,CAAC,OAAO,CAAC;uCAA0B;AAP9B,QAAQ;IADpB,aAAa,CAAC,UAAU,CAAC;GACb,QAAQ,CAmEpB","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\n\nimport { html, HTMLTemplateResult, nothing } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { UmNativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';\nimport { styles } from './search.styles.js';\n\n@customElement('u-search')\nexport class UmSearch extends UmNativeTextFieldWrapper {\n\n static override styles = [baseStyles, styles];\n\n @property({ reflect: true })\n position: 'fixed' | 'absolute' | 'static' = 'fixed';\n\n @query('input') input!: HTMLInputElement;\n\n #containerSizeObserver: ResizeObserver | null = null;\n\n protected override renderControl(): HTMLTemplateResult {\n return html``;\n }\n\n override render(): HTMLTemplateResult {\n const classes = classMap({\n 'inner-container': true,\n });\n\n return html`<div class=\"container\">\n <div class=\"${classes}\">\n <div class=\"content\">\n <div class=\"icon leading-icon\" part=\"icon leading\">\n <slot name=\"leading-icon\" @slotchange=\"${this.#handleLeadingIconSlotChange}\"></slot>\n </div>\n <input\n class=\"input\"\n part=\"input\"\n id=${this.id || nothing}\n spellcheck=${this.spellcheck}\n autocomplete=${this.autocomplete ?? nothing}\n autocapitalize=${this.autocapitalize || nothing}\n ?autofocus=${this.autofocus}\n role=${this.role ?? nothing}\n maxlength=${this.maxlength ?? nothing}\n .placeholder=${this.placeholder ?? nothing}\n .value=${live(this._value)}\n @input=${this._handleInput}\n @keydown=${this._handleKeyDown} />\n \n <div class=\"icon trailing-icon\" part=\"icon trailing\">\n <slot name=\"trailing-icon\" @slotchange=\"${this.#handleTrailingIconSlotChange}\"></slot>\n </div>\n </div>\n </div>\n </div>`;\n }\n\n #handleLeadingIconSlotChange() {\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n }\n\n #handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.#containerSizeObserver = new ResizeObserver(() => this.#setContentHeightProperty());\n this.#containerSizeObserver.observe(this._container);\n this.#setContentHeightProperty();\n }\n\n #setContentHeightProperty() {\n this.style.setProperty('--_content-height', `${this._container.clientHeight}px`);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-search': UmSearch;\n }\n}\n"]}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAsB,OAAO,EAAE,MAAM,KAAK,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGrC,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,sBAAsB;IAA3C;;QAIL;;WAEG;QAEH,aAAQ,GAAoC,OAAO,CAAC;QAIpD,2BAAsB,GAA0B,IAAI,CAAC;IA0DvD,CAAC;aApEiB,WAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;IAU9C,sBAAsB,CAA+B;IAElC,aAAa;QAC9B,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAEQ,MAAM;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC;YACvB,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAA;oBACK,OAAO;;;qDAG0B,IAAI,CAAC,4BAA4B;;;;;iBAKrE,IAAI,CAAC,EAAE,IAAI,OAAO;yBACV,IAAI,CAAC,UAAU;2BACb,IAAI,CAAC,YAAY,IAAI,OAAO;6BAC1B,IAAI,CAAC,cAAc,IAAI,OAAO;yBAClC,IAAI,CAAC,SAAS;mBACpB,IAAI,CAAC,IAAI,IAAI,OAAO;wBACf,IAAI,CAAC,SAAS,IAAI,OAAO;2BACtB,IAAI,CAAC,WAAW,IAAI,OAAO;qBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;qBACjB,IAAI,CAAC,YAAY;uBACf,IAAI,CAAC,cAAc;;;sDAGY,IAAI,CAAC,6BAA6B;;;;WAI7E,CAAC;IACV,CAAC;IAED,4BAA4B;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IAEQ,YAAY,CAAC,iBAAiC;QACrD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,sBAAsB,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC;IACnF,CAAC;;AA7DD;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCACwB;AAEpC;IAAf,KAAK,CAAC,OAAO,CAAC;qCAA0B;AAV9B,MAAM;IADlB,aAAa,CAAC,UAAU,CAAC;GACb,MAAM,CAsElB","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\n\nimport { html, HTMLTemplateResult, nothing } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { NativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';\nimport { styles } from './search.styles.js';\n\n@customElement('u-search')\nexport class Search extends NativeTextFieldWrapper {\n\n static override styles = [baseStyles, styles];\n\n /**\n * The positioning strategy of the search bar\n */\n @property({ reflect: true })\n position: 'fixed' | 'absolute' | 'static' = 'fixed';\n\n @query('input') input!: HTMLInputElement;\n\n #containerSizeObserver: ResizeObserver | null = null;\n\n protected override renderControl(): HTMLTemplateResult {\n return html``;\n }\n\n override render(): HTMLTemplateResult {\n const classes = classMap({\n 'inner-container': true,\n });\n\n return html`<div class=\"container\">\n <div class=\"${classes}\">\n <div class=\"content\">\n <div class=\"icon leading-icon\" part=\"icon leading\">\n <slot name=\"leading-icon\" @slotchange=\"${this.#handleLeadingIconSlotChange}\"></slot>\n </div>\n <input\n class=\"input\"\n part=\"input\"\n id=${this.id || nothing}\n spellcheck=${this.spellcheck}\n autocomplete=${this.autocomplete ?? nothing}\n autocapitalize=${this.autocapitalize || nothing}\n ?autofocus=${this.autofocus}\n role=${this.role ?? nothing}\n maxlength=${this.maxlength ?? nothing}\n .placeholder=${this.placeholder ?? nothing}\n .value=${live(this._value)}\n @input=${this._handleInput}\n @keydown=${this._handleKeyDown} />\n \n <div class=\"icon trailing-icon\" part=\"icon trailing\">\n <slot name=\"trailing-icon\" @slotchange=\"${this.#handleTrailingIconSlotChange}\"></slot>\n </div>\n </div>\n </div>\n </div>`;\n }\n\n #handleLeadingIconSlotChange() {\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n }\n\n #handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.#containerSizeObserver = new ResizeObserver(() => this.#setContentHeightProperty());\n this.#containerSizeObserver.observe(this._container);\n this.#setContentHeightProperty();\n }\n\n #setContentHeightProperty() {\n this.style.setProperty('--_content-height', `${this._container.clientHeight}px`);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-search': Search;\n }\n}\n"]}