@universal-material/web 3.8.0 → 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 (429) 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 +7 -6
  4. package/app-bar/top-app-bar.d.ts.map +1 -1
  5. package/app-bar/top-app-bar.js +71 -35
  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 +2 -2
  11. package/badge/badge.d.ts.map +1 -1
  12. package/badge/badge.js +6 -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 +4469 -1277
  18. package/button/button-base.d.ts +2 -2
  19. package/button/button-base.d.ts.map +1 -1
  20. package/button/button-base.js +5 -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 +7 -7
  27. package/button/button.d.ts.map +1 -1
  28. package/button/button.js +14 -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 +7 -7
  46. package/button/icon-button.d.ts.map +1 -1
  47. package/button/icon-button.js +8 -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 +3 -3
  54. package/button-field/button-field.d.ts.map +1 -1
  55. package/button-field/button-field.js +9 -9
  56. package/button-field/button-field.js.map +1 -1
  57. package/calendar/calendar-base.d.ts +1 -1
  58. package/calendar/calendar-base.d.ts.map +1 -1
  59. package/calendar/calendar-base.js +10 -10
  60. package/calendar/calendar-base.js.map +1 -1
  61. package/calendar/calendar.d.ts +2 -2
  62. package/calendar/calendar.d.ts.map +1 -1
  63. package/calendar/calendar.js +8 -8
  64. package/calendar/calendar.js.map +1 -1
  65. package/calendar/range-calendar.d.ts +2 -2
  66. package/calendar/range-calendar.d.ts.map +1 -1
  67. package/calendar/range-calendar.js +9 -9
  68. package/calendar/range-calendar.js.map +1 -1
  69. package/card/card-content.d.ts +2 -2
  70. package/card/card-content.d.ts.map +1 -1
  71. package/card/card-content.js +5 -5
  72. package/card/card-content.js.map +1 -1
  73. package/card/card-media.d.ts +2 -2
  74. package/card/card-media.d.ts.map +1 -1
  75. package/card/card-media.js +5 -5
  76. package/card/card-media.js.map +1 -1
  77. package/card/card.d.ts +4 -4
  78. package/card/card.d.ts.map +1 -1
  79. package/card/card.js +5 -5
  80. package/card/card.js.map +1 -1
  81. package/checkbox/checkbox-list-item.d.ts +4 -4
  82. package/checkbox/checkbox-list-item.d.ts.map +1 -1
  83. package/checkbox/checkbox-list-item.js +5 -5
  84. package/checkbox/checkbox-list-item.js.map +1 -1
  85. package/checkbox/checkbox.d.ts +3 -3
  86. package/checkbox/checkbox.d.ts.map +1 -1
  87. package/checkbox/checkbox.js +7 -7
  88. package/checkbox/checkbox.js.map +1 -1
  89. package/chip/chip-set.d.ts +3 -3
  90. package/chip/chip-set.d.ts.map +1 -1
  91. package/chip/chip-set.js +6 -6
  92. package/chip/chip-set.js.map +1 -1
  93. package/chip/chip.d.ts +5 -5
  94. package/chip/chip.d.ts.map +1 -1
  95. package/chip/chip.js +20 -20
  96. package/chip/chip.js.map +1 -1
  97. package/chip-field/chip-field.d.ts +3 -3
  98. package/chip-field/chip-field.d.ts.map +1 -1
  99. package/chip-field/chip-field.js +9 -9
  100. package/chip-field/chip-field.js.map +1 -1
  101. package/collapse/collapse.d.ts +26 -0
  102. package/collapse/collapse.d.ts.map +1 -0
  103. package/collapse/collapse.js +62 -0
  104. package/collapse/collapse.js.map +1 -0
  105. package/collapse/collapse.styles.d.ts +2 -0
  106. package/collapse/collapse.styles.d.ts.map +1 -0
  107. package/collapse/collapse.styles.js +8 -0
  108. package/collapse/collapse.styles.js.map +1 -0
  109. package/config.js.map +1 -1
  110. package/css/universal-material.css +2 -1
  111. package/css/universal-material.min.css +2 -1
  112. package/custom-elements.json +16615 -12152
  113. package/datepicker/datepicker.d.ts +6 -4
  114. package/datepicker/datepicker.d.ts.map +1 -1
  115. package/datepicker/datepicker.js +33 -19
  116. package/datepicker/datepicker.js.map +1 -1
  117. package/datepicker/datepicker.styles.d.ts.map +1 -1
  118. package/datepicker/datepicker.styles.js +25 -0
  119. package/datepicker/datepicker.styles.js.map +1 -1
  120. package/datepicker/range-datepicker.d.ts +6 -4
  121. package/datepicker/range-datepicker.d.ts.map +1 -1
  122. package/datepicker/range-datepicker.js +33 -19
  123. package/datepicker/range-datepicker.js.map +1 -1
  124. package/dialog/confirm-dialog-builder.d.ts +3 -3
  125. package/dialog/confirm-dialog-builder.d.ts.map +1 -1
  126. package/dialog/confirm-dialog-builder.js.map +1 -1
  127. package/dialog/dialog-builder.d.ts +5 -4
  128. package/dialog/dialog-builder.d.ts.map +1 -1
  129. package/dialog/dialog-builder.js +10 -3
  130. package/dialog/dialog-builder.js.map +1 -1
  131. package/dialog/dialog-button-def.d.ts +3 -3
  132. package/dialog/dialog-button-def.d.ts.map +1 -1
  133. package/dialog/dialog-button-def.js.map +1 -1
  134. package/dialog/dialog.d.ts +2 -2
  135. package/dialog/dialog.d.ts.map +1 -1
  136. package/dialog/dialog.js +14 -14
  137. package/dialog/dialog.js.map +1 -1
  138. package/dialog/message-dialog-builder.d.ts +2 -2
  139. package/dialog/message-dialog-builder.d.ts.map +1 -1
  140. package/dialog/message-dialog-builder.js.map +1 -1
  141. package/elevation/elevation.d.ts +2 -2
  142. package/elevation/elevation.d.ts.map +1 -1
  143. package/elevation/elevation.js +4 -4
  144. package/elevation/elevation.js.map +1 -1
  145. package/expansion-panel/expansion-panel-container.d.ts +24 -0
  146. package/expansion-panel/expansion-panel-container.d.ts.map +1 -0
  147. package/expansion-panel/expansion-panel-container.js +54 -0
  148. package/expansion-panel/expansion-panel-container.js.map +1 -0
  149. package/expansion-panel/expansion-panel-container.styles.d.ts +2 -0
  150. package/expansion-panel/expansion-panel-container.styles.d.ts.map +1 -0
  151. package/expansion-panel/expansion-panel-container.styles.js +9 -0
  152. package/expansion-panel/expansion-panel-container.styles.js.map +1 -0
  153. package/expansion-panel/expansion-panel.d.ts +37 -0
  154. package/expansion-panel/expansion-panel.d.ts.map +1 -0
  155. package/expansion-panel/expansion-panel.js +89 -0
  156. package/expansion-panel/expansion-panel.js.map +1 -0
  157. package/expansion-panel/expansion-panel.styles.d.ts +2 -0
  158. package/expansion-panel/expansion-panel.styles.d.ts.map +1 -0
  159. package/expansion-panel/expansion-panel.styles.js +66 -0
  160. package/expansion-panel/expansion-panel.styles.js.map +1 -0
  161. package/field/field-base.d.ts +3 -3
  162. package/field/field-base.d.ts.map +1 -1
  163. package/field/field-base.js +20 -20
  164. package/field/field-base.js.map +1 -1
  165. package/field/field-defaults-context.d.ts +2 -2
  166. package/field/field-defaults-context.d.ts.map +1 -1
  167. package/field/field-defaults-context.js.map +1 -1
  168. package/field/field-defaults.d.ts +3 -3
  169. package/field/field-defaults.d.ts.map +1 -1
  170. package/field/field-defaults.js.map +1 -1
  171. package/field/field-variant.d.ts +1 -1
  172. package/field/field-variant.d.ts.map +1 -1
  173. package/field/field-variant.js.map +1 -1
  174. package/field/field.d.ts +3 -3
  175. package/field/field.d.ts.map +1 -1
  176. package/field/field.js +6 -6
  177. package/field/field.js.map +1 -1
  178. package/icon/icon.d.ts +2 -2
  179. package/icon/icon.d.ts.map +1 -1
  180. package/icon/icon.js +4 -4
  181. package/icon/icon.js.map +1 -1
  182. package/index.d.ts +24 -1
  183. package/index.d.ts.map +1 -1
  184. package/index.js +24 -1
  185. package/index.js.map +1 -1
  186. package/list/list-item.d.ts +16 -2
  187. package/list/list-item.d.ts.map +1 -1
  188. package/list/list-item.js +26 -6
  189. package/list/list-item.js.map +1 -1
  190. package/list/list-item.styles.d.ts.map +1 -1
  191. package/list/list-item.styles.js +13 -0
  192. package/list/list-item.styles.js.map +1 -1
  193. package/list/list.d.ts +2 -2
  194. package/list/list.d.ts.map +1 -1
  195. package/list/list.js +4 -4
  196. package/list/list.js.map +1 -1
  197. package/menu/menu-item.d.ts +3 -3
  198. package/menu/menu-item.d.ts.map +1 -1
  199. package/menu/menu-item.js +10 -10
  200. package/menu/menu-item.js.map +1 -1
  201. package/menu/menu.d.ts +2 -2
  202. package/menu/menu.d.ts.map +1 -1
  203. package/menu/menu.js +13 -13
  204. package/menu/menu.js.map +1 -1
  205. package/navigation/drawer-headline.d.ts +2 -2
  206. package/navigation/drawer-headline.d.ts.map +1 -1
  207. package/navigation/drawer-headline.js +6 -6
  208. package/navigation/drawer-headline.js.map +1 -1
  209. package/navigation/drawer-item.d.ts +3 -3
  210. package/navigation/drawer-item.d.ts.map +1 -1
  211. package/navigation/drawer-item.js +17 -12
  212. package/navigation/drawer-item.js.map +1 -1
  213. package/navigation/drawer.d.ts +2 -2
  214. package/navigation/drawer.d.ts.map +1 -1
  215. package/navigation/drawer.js +4 -4
  216. package/navigation/drawer.js.map +1 -1
  217. package/navigation/side-navigation.d.ts +9 -2
  218. package/navigation/side-navigation.d.ts.map +1 -1
  219. package/navigation/side-navigation.js +15 -8
  220. package/navigation/side-navigation.js.map +1 -1
  221. package/navigation-bar/navigation-bar-item.d.ts +40 -0
  222. package/navigation-bar/navigation-bar-item.d.ts.map +1 -0
  223. package/navigation-bar/navigation-bar-item.js +113 -0
  224. package/navigation-bar/navigation-bar-item.js.map +1 -0
  225. package/navigation-bar/navigation-bar-item.styles.d.ts +2 -0
  226. package/navigation-bar/navigation-bar-item.styles.d.ts.map +1 -0
  227. package/navigation-bar/navigation-bar-item.styles.js +101 -0
  228. package/navigation-bar/navigation-bar-item.styles.js.map +1 -0
  229. package/navigation-bar/navigation-bar.d.ts +40 -0
  230. package/navigation-bar/navigation-bar.d.ts.map +1 -0
  231. package/navigation-bar/navigation-bar.js +85 -0
  232. package/navigation-bar/navigation-bar.js.map +1 -0
  233. package/navigation-bar/navigation-bar.styles.d.ts +2 -0
  234. package/navigation-bar/navigation-bar.styles.d.ts.map +1 -0
  235. package/navigation-bar/navigation-bar.styles.js +44 -0
  236. package/navigation-bar/navigation-bar.styles.js.map +1 -0
  237. package/navigation-rail/navigation-rail-headline.d.ts +23 -0
  238. package/navigation-rail/navigation-rail-headline.d.ts.map +1 -0
  239. package/navigation-rail/navigation-rail-headline.js +28 -0
  240. package/navigation-rail/navigation-rail-headline.js.map +1 -0
  241. package/navigation-rail/navigation-rail-headline.styles.d.ts +2 -0
  242. package/navigation-rail/navigation-rail-headline.styles.d.ts.map +1 -0
  243. package/navigation-rail/navigation-rail-headline.styles.js +19 -0
  244. package/navigation-rail/navigation-rail-headline.styles.js.map +1 -0
  245. package/navigation-rail/navigation-rail-item.d.ts +58 -0
  246. package/navigation-rail/navigation-rail-item.d.ts.map +1 -0
  247. package/navigation-rail/navigation-rail-item.js +160 -0
  248. package/navigation-rail/navigation-rail-item.js.map +1 -0
  249. package/navigation-rail/navigation-rail-item.styles.d.ts +2 -0
  250. package/navigation-rail/navigation-rail-item.styles.d.ts.map +1 -0
  251. package/navigation-rail/navigation-rail-item.styles.js +182 -0
  252. package/navigation-rail/navigation-rail-item.styles.js.map +1 -0
  253. package/navigation-rail/navigation-rail.d.ts +66 -0
  254. package/navigation-rail/navigation-rail.d.ts.map +1 -0
  255. package/navigation-rail/navigation-rail.js +223 -0
  256. package/navigation-rail/navigation-rail.js.map +1 -0
  257. package/navigation-rail/navigation-rail.styles.d.ts +2 -0
  258. package/navigation-rail/navigation-rail.styles.d.ts.map +1 -0
  259. package/navigation-rail/navigation-rail.styles.js +220 -0
  260. package/navigation-rail/navigation-rail.styles.js.map +1 -0
  261. package/overflow-menu/overflow-menu.d.ts +8 -2
  262. package/overflow-menu/overflow-menu.d.ts.map +1 -1
  263. package/overflow-menu/overflow-menu.js +10 -1
  264. package/overflow-menu/overflow-menu.js.map +1 -1
  265. package/package.json +19 -3
  266. package/progress/circular-progress.d.ts +2 -2
  267. package/progress/circular-progress.d.ts.map +1 -1
  268. package/progress/circular-progress.js +6 -6
  269. package/progress/circular-progress.js.map +1 -1
  270. package/progress/progress-bar.d.ts +2 -2
  271. package/progress/progress-bar.d.ts.map +1 -1
  272. package/progress/progress-bar.js +6 -6
  273. package/progress/progress-bar.js.map +1 -1
  274. package/radio/radio-list-item.d.ts +4 -4
  275. package/radio/radio-list-item.d.ts.map +1 -1
  276. package/radio/radio-list-item.js +5 -5
  277. package/radio/radio-list-item.js.map +1 -1
  278. package/radio/radio.d.ts +3 -3
  279. package/radio/radio.d.ts.map +1 -1
  280. package/radio/radio.js +6 -6
  281. package/radio/radio.js.map +1 -1
  282. package/ripple/ripple.d.ts +2 -2
  283. package/ripple/ripple.d.ts.map +1 -1
  284. package/ripple/ripple.js +9 -9
  285. package/ripple/ripple.js.map +1 -1
  286. package/scaffold/pane.d.ts +127 -0
  287. package/scaffold/pane.d.ts.map +1 -0
  288. package/scaffold/pane.js +220 -0
  289. package/scaffold/pane.js.map +1 -0
  290. package/scaffold/pane.styles.d.ts +2 -0
  291. package/scaffold/pane.styles.d.ts.map +1 -0
  292. package/scaffold/pane.styles.js +1909 -0
  293. package/scaffold/pane.styles.js.map +1 -0
  294. package/scaffold/scaffold.d.ts +45 -0
  295. package/scaffold/scaffold.d.ts.map +1 -0
  296. package/scaffold/scaffold.js +170 -0
  297. package/scaffold/scaffold.js.map +1 -0
  298. package/scaffold/scaffold.styles.d.ts +2 -0
  299. package/scaffold/scaffold.styles.d.ts.map +1 -0
  300. package/scaffold/scaffold.styles.js +69 -0
  301. package/scaffold/scaffold.styles.js.map +1 -0
  302. package/scaffold/scroll-container-context.d.ts +4 -0
  303. package/scaffold/scroll-container-context.d.ts.map +1 -0
  304. package/scaffold/scroll-container-context.js +3 -0
  305. package/scaffold/scroll-container-context.js.map +1 -0
  306. package/scss/utilities/_divider.scss +4 -0
  307. package/search/search.d.ts +3 -3
  308. package/search/search.d.ts.map +1 -1
  309. package/search/search.js +7 -7
  310. package/search/search.js.map +1 -1
  311. package/search/search.styles.d.ts.map +1 -1
  312. package/search/search.styles.js +7 -2
  313. package/search/search.styles.js.map +1 -1
  314. package/select/option.d.ts +3 -3
  315. package/select/option.d.ts.map +1 -1
  316. package/select/option.js +8 -8
  317. package/select/option.js.map +1 -1
  318. package/select/select-navigation-controller.d.ts +4 -4
  319. package/select/select-navigation-controller.d.ts.map +1 -1
  320. package/select/select-navigation-controller.js.map +1 -1
  321. package/select/select.d.ts +18 -12
  322. package/select/select.d.ts.map +1 -1
  323. package/select/select.js +77 -31
  324. package/select/select.js.map +1 -1
  325. package/shared/button-wrapper.d.ts +1 -1
  326. package/shared/button-wrapper.d.ts.map +1 -1
  327. package/shared/button-wrapper.js +8 -8
  328. package/shared/button-wrapper.js.map +1 -1
  329. package/shared/char-count-text-field/native-text-field-wrapper.d.ts +2 -2
  330. package/shared/char-count-text-field/native-text-field-wrapper.d.ts.map +1 -1
  331. package/shared/char-count-text-field/native-text-field-wrapper.js +6 -6
  332. package/shared/char-count-text-field/native-text-field-wrapper.js.map +1 -1
  333. package/shared/menu-field/menu-field-navigation-controller.d.ts +3 -3
  334. package/shared/menu-field/menu-field-navigation-controller.d.ts.map +1 -1
  335. package/shared/menu-field/menu-field-navigation-controller.js.map +1 -1
  336. package/shared/menu-field/menu-field.d.ts +5 -5
  337. package/shared/menu-field/menu-field.d.ts.map +1 -1
  338. package/shared/menu-field/menu-field.js.map +1 -1
  339. package/shared/selection-control/selection-control-list-item.d.ts +2 -2
  340. package/shared/selection-control/selection-control-list-item.d.ts.map +1 -1
  341. package/shared/selection-control/selection-control-list-item.js +10 -1
  342. package/shared/selection-control/selection-control-list-item.js.map +1 -1
  343. package/shared/selection-control/selection-control.d.ts +1 -1
  344. package/shared/selection-control/selection-control.d.ts.map +1 -1
  345. package/shared/selection-control/selection-control.js +15 -7
  346. package/shared/selection-control/selection-control.js.map +1 -1
  347. package/shared/sets/set-base.d.ts +1 -1
  348. package/shared/sets/set-base.d.ts.map +1 -1
  349. package/shared/sets/set-base.js +2 -2
  350. package/shared/sets/set-base.js.map +1 -1
  351. package/shared/text-field-base/text-field-base.d.ts +34 -2
  352. package/shared/text-field-base/text-field-base.d.ts.map +1 -1
  353. package/shared/text-field-base/text-field-base.js +63 -4
  354. package/shared/text-field-base/text-field-base.js.map +1 -1
  355. package/skills/badge/SKILL.md +43 -0
  356. package/skills/buttons/SKILL.md +115 -0
  357. package/skills/card/SKILL.md +162 -0
  358. package/skills/chips/SKILL.md +95 -0
  359. package/skills/collapse/SKILL.md +37 -0
  360. package/skills/datepicker/SKILL.md +110 -0
  361. package/skills/dialog/SKILL.md +92 -0
  362. package/skills/drawer/SKILL.md +94 -0
  363. package/skills/expansion-panel/SKILL.md +65 -0
  364. package/skills/fab/SKILL.md +79 -0
  365. package/skills/list/SKILL.md +105 -0
  366. package/skills/menu/SKILL.md +120 -0
  367. package/skills/navigation-bar/SKILL.md +87 -0
  368. package/skills/navigation-rail/SKILL.md +127 -0
  369. package/skills/overview/SKILL.md +44 -0
  370. package/skills/progress/SKILL.md +63 -0
  371. package/skills/scaffold/SKILL.md +392 -0
  372. package/skills/search/SKILL.md +65 -0
  373. package/skills/select/SKILL.md +120 -0
  374. package/skills/selection-controls/SKILL.md +88 -0
  375. package/skills/setup/SKILL.md +58 -0
  376. package/skills/slider/SKILL.md +119 -0
  377. package/skills/snackbar/SKILL.md +70 -0
  378. package/skills/tab-bar/SKILL.md +55 -0
  379. package/skills/text-field/SKILL.md +114 -0
  380. package/skills/theming/SKILL.md +80 -0
  381. package/skills/top-app-bar/SKILL.md +64 -0
  382. package/skills/typeahead/SKILL.md +113 -0
  383. package/slider/slider.d.ts +73 -0
  384. package/slider/slider.d.ts.map +1 -0
  385. package/slider/slider.js +506 -0
  386. package/slider/slider.js.map +1 -0
  387. package/slider/slider.styles.d.ts +2 -0
  388. package/slider/slider.styles.d.ts.map +1 -0
  389. package/slider/slider.styles.js +292 -0
  390. package/slider/slider.styles.js.map +1 -0
  391. package/snackbar/snackbar.d.ts +4 -4
  392. package/snackbar/snackbar.d.ts.map +1 -1
  393. package/snackbar/snackbar.js +28 -28
  394. package/snackbar/snackbar.js.map +1 -1
  395. package/snackbar/snackbar.styles.js +1 -1
  396. package/snackbar/snackbar.styles.js.map +1 -1
  397. package/switch/switch-list-item.d.ts +4 -4
  398. package/switch/switch-list-item.d.ts.map +1 -1
  399. package/switch/switch-list-item.js +5 -5
  400. package/switch/switch-list-item.js.map +1 -1
  401. package/switch/switch.d.ts +3 -3
  402. package/switch/switch.d.ts.map +1 -1
  403. package/switch/switch.js +5 -5
  404. package/switch/switch.js.map +1 -1
  405. package/tab-bar/tab-bar.d.ts +6 -6
  406. package/tab-bar/tab-bar.d.ts.map +1 -1
  407. package/tab-bar/tab-bar.js +40 -23
  408. package/tab-bar/tab-bar.js.map +1 -1
  409. package/tab-bar/tab.d.ts +5 -5
  410. package/tab-bar/tab.d.ts.map +1 -1
  411. package/tab-bar/tab.js +9 -9
  412. package/tab-bar/tab.js.map +1 -1
  413. package/text-area/text-area.d.ts +3 -3
  414. package/text-area/text-area.d.ts.map +1 -1
  415. package/text-area/text-area.js +9 -9
  416. package/text-area/text-area.js.map +1 -1
  417. package/text-field/text-field.d.ts +15 -3
  418. package/text-field/text-field.d.ts.map +1 -1
  419. package/text-field/text-field.js +46 -13
  420. package/text-field/text-field.js.map +1 -1
  421. package/typeahead/highlight.d.ts +2 -2
  422. package/typeahead/highlight.d.ts.map +1 -1
  423. package/typeahead/highlight.js +7 -7
  424. package/typeahead/highlight.js.map +1 -1
  425. package/typeahead/typeahead.d.ts +7 -7
  426. package/typeahead/typeahead.d.ts.map +1 -1
  427. package/typeahead/typeahead.js +22 -18
  428. package/typeahead/typeahead.js.map +1 -1
  429. package/vscode.html-custom-data.json +870 -481
@@ -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,7 +1,7 @@
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
7
  /**
@@ -15,7 +15,7 @@ export declare class UmSearch extends UmNativeTextFieldWrapper {
15
15
  }
16
16
  declare global {
17
17
  interface HTMLElementTagNameMap {
18
- 'u-search': UmSearch;
18
+ 'u-search': Search;
19
19
  }
20
20
  }
21
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;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,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,9 +4,9 @@ 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
12
  /**
@@ -70,12 +70,12 @@ let UmSearch = class UmSearch extends UmNativeTextFieldWrapper {
70
70
  };
71
71
  __decorate([
72
72
  property({ reflect: true })
73
- ], UmSearch.prototype, "position", void 0);
73
+ ], Search.prototype, "position", void 0);
74
74
  __decorate([
75
75
  query('input')
76
- ], UmSearch.prototype, "input", void 0);
77
- UmSearch = __decorate([
76
+ ], Search.prototype, "input", void 0);
77
+ Search = __decorate([
78
78
  customElement('u-search')
79
- ], UmSearch);
80
- export { UmSearch };
79
+ ], Search);
80
+ export { Search };
81
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;;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;0CACwB;AAEpC;IAAf,KAAK,CAAC,OAAO,CAAC;uCAA0B;AAV9B,QAAQ;IADpB,aAAa,CAAC,UAAU,CAAC;GACb,QAAQ,CAsEpB","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 /**\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': 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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"search.styles.d.ts","sourceRoot":"","sources":["../../src/search/search.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAgGlB,CAAC"}
1
+ {"version":3,"file":"search.styles.d.ts","sourceRoot":"","sources":["../../src/search/search.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAqGlB,CAAC"}