@universal-material/web 3.7.2 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/.claude-plugin/plugin.json +12 -0
  2. package/README.md +12 -0
  3. package/app-bar/top-app-bar.d.ts +20 -4
  4. package/app-bar/top-app-bar.d.ts.map +1 -1
  5. package/app-bar/top-app-bar.js +84 -33
  6. package/app-bar/top-app-bar.js.map +1 -1
  7. package/app-bar/top-app-bar.styles.d.ts.map +1 -1
  8. package/app-bar/top-app-bar.styles.js +18 -1
  9. package/app-bar/top-app-bar.styles.js.map +1 -1
  10. package/badge/badge.d.ts +5 -2
  11. package/badge/badge.d.ts.map +1 -1
  12. package/badge/badge.js +9 -6
  13. package/badge/badge.js.map +1 -1
  14. package/badge/badge.styles.d.ts.map +1 -1
  15. package/badge/badge.styles.js +1 -0
  16. package/badge/badge.styles.js.map +1 -1
  17. package/bundle.min.js +5480 -2170
  18. package/button/button-base.d.ts +9 -2
  19. package/button/button-base.d.ts.map +1 -1
  20. package/button/button-base.js +12 -5
  21. package/button/button-base.js.map +1 -1
  22. package/button/button-set.d.ts +3 -3
  23. package/button/button-set.d.ts.map +1 -1
  24. package/button/button-set.js +7 -7
  25. package/button/button-set.js.map +1 -1
  26. package/button/button.d.ts +10 -7
  27. package/button/button.d.ts.map +1 -1
  28. package/button/button.js +17 -14
  29. package/button/button.js.map +1 -1
  30. package/button/fab-menu-color-context.d.ts +2 -2
  31. package/button/fab-menu-color-context.d.ts.map +1 -1
  32. package/button/fab-menu-color-context.js.map +1 -1
  33. package/button/fab-menu-item.d.ts +3 -3
  34. package/button/fab-menu-item.d.ts.map +1 -1
  35. package/button/fab-menu-item.js +11 -11
  36. package/button/fab-menu-item.js.map +1 -1
  37. package/button/fab-menu.d.ts +20 -5
  38. package/button/fab-menu.d.ts.map +1 -1
  39. package/button/fab-menu.js +48 -11
  40. package/button/fab-menu.js.map +1 -1
  41. package/button/fab.d.ts +22 -7
  42. package/button/fab.d.ts.map +1 -1
  43. package/button/fab.js +49 -11
  44. package/button/fab.js.map +1 -1
  45. package/button/icon-button.d.ts +13 -7
  46. package/button/icon-button.d.ts.map +1 -1
  47. package/button/icon-button.js +14 -8
  48. package/button/icon-button.js.map +1 -1
  49. package/button/toggle-button.d.ts +6 -6
  50. package/button/toggle-button.d.ts.map +1 -1
  51. package/button/toggle-button.js +10 -10
  52. package/button/toggle-button.js.map +1 -1
  53. package/button-field/button-field.d.ts +6 -3
  54. package/button-field/button-field.d.ts.map +1 -1
  55. package/button-field/button-field.js +12 -9
  56. package/button-field/button-field.js.map +1 -1
  57. package/calendar/calendar-adapter.d.ts +3 -0
  58. package/calendar/calendar-adapter.d.ts.map +1 -1
  59. package/calendar/calendar-adapter.js.map +1 -1
  60. package/calendar/calendar-base.d.ts +18 -1
  61. package/calendar/calendar-base.d.ts.map +1 -1
  62. package/calendar/calendar-base.js +188 -25
  63. package/calendar/calendar-base.js.map +1 -1
  64. package/calendar/calendar.d.ts +6 -2
  65. package/calendar/calendar.d.ts.map +1 -1
  66. package/calendar/calendar.js +12 -8
  67. package/calendar/calendar.js.map +1 -1
  68. package/calendar/default-calendar-adapter.d.ts +3 -0
  69. package/calendar/default-calendar-adapter.d.ts.map +1 -1
  70. package/calendar/default-calendar-adapter.js +17 -5
  71. package/calendar/default-calendar-adapter.js.map +1 -1
  72. package/calendar/range-calendar.d.ts +2 -2
  73. package/calendar/range-calendar.d.ts.map +1 -1
  74. package/calendar/range-calendar.js +9 -9
  75. package/calendar/range-calendar.js.map +1 -1
  76. package/card/card-content.d.ts +7 -2
  77. package/card/card-content.d.ts.map +1 -1
  78. package/card/card-content.js +10 -5
  79. package/card/card-content.js.map +1 -1
  80. package/card/card-media.d.ts +5 -2
  81. package/card/card-media.d.ts.map +1 -1
  82. package/card/card-media.js +8 -5
  83. package/card/card-media.js.map +1 -1
  84. package/card/card.d.ts +4 -4
  85. package/card/card.d.ts.map +1 -1
  86. package/card/card.js +5 -5
  87. package/card/card.js.map +1 -1
  88. package/checkbox/checkbox-list-item.d.ts +4 -4
  89. package/checkbox/checkbox-list-item.d.ts.map +1 -1
  90. package/checkbox/checkbox-list-item.js +5 -5
  91. package/checkbox/checkbox-list-item.js.map +1 -1
  92. package/checkbox/checkbox.d.ts +10 -3
  93. package/checkbox/checkbox.d.ts.map +1 -1
  94. package/checkbox/checkbox.js +14 -7
  95. package/checkbox/checkbox.js.map +1 -1
  96. package/chip/chip-set.d.ts +3 -3
  97. package/chip/chip-set.d.ts.map +1 -1
  98. package/chip/chip-set.js +6 -6
  99. package/chip/chip-set.js.map +1 -1
  100. package/chip/chip.d.ts +8 -5
  101. package/chip/chip.d.ts.map +1 -1
  102. package/chip/chip.js +23 -20
  103. package/chip/chip.js.map +1 -1
  104. package/chip-field/chip-field.d.ts +6 -3
  105. package/chip-field/chip-field.d.ts.map +1 -1
  106. package/chip-field/chip-field.js +9 -9
  107. package/chip-field/chip-field.js.map +1 -1
  108. package/collapse/collapse.d.ts +26 -0
  109. package/collapse/collapse.d.ts.map +1 -0
  110. package/collapse/collapse.js +62 -0
  111. package/collapse/collapse.js.map +1 -0
  112. package/collapse/collapse.styles.d.ts +2 -0
  113. package/collapse/collapse.styles.d.ts.map +1 -0
  114. package/collapse/collapse.styles.js +8 -0
  115. package/collapse/collapse.styles.js.map +1 -0
  116. package/config.js.map +1 -1
  117. package/css/universal-material.css +2 -1
  118. package/css/universal-material.min.css +2 -1
  119. package/custom-elements.json +17175 -9684
  120. package/datepicker/datepicker.d.ts +54 -3
  121. package/datepicker/datepicker.d.ts.map +1 -1
  122. package/datepicker/datepicker.js +202 -6
  123. package/datepicker/datepicker.js.map +1 -1
  124. package/datepicker/datepicker.styles.d.ts.map +1 -1
  125. package/datepicker/datepicker.styles.js +25 -0
  126. package/datepicker/datepicker.styles.js.map +1 -1
  127. package/datepicker/format.d.ts +19 -0
  128. package/datepicker/format.d.ts.map +1 -0
  129. package/datepicker/format.js +47 -0
  130. package/datepicker/format.js.map +1 -0
  131. package/datepicker/range-datepicker.d.ts +58 -0
  132. package/datepicker/range-datepicker.d.ts.map +1 -0
  133. package/datepicker/range-datepicker.js +212 -0
  134. package/datepicker/range-datepicker.js.map +1 -0
  135. package/dialog/confirm-dialog-builder.d.ts +3 -3
  136. package/dialog/confirm-dialog-builder.d.ts.map +1 -1
  137. package/dialog/confirm-dialog-builder.js.map +1 -1
  138. package/dialog/dialog-builder.d.ts +5 -4
  139. package/dialog/dialog-builder.d.ts.map +1 -1
  140. package/dialog/dialog-builder.js +10 -3
  141. package/dialog/dialog-builder.js.map +1 -1
  142. package/dialog/dialog-button-def.d.ts +3 -3
  143. package/dialog/dialog-button-def.d.ts.map +1 -1
  144. package/dialog/dialog-button-def.js.map +1 -1
  145. package/dialog/dialog.d.ts +10 -2
  146. package/dialog/dialog.d.ts.map +1 -1
  147. package/dialog/dialog.js +22 -14
  148. package/dialog/dialog.js.map +1 -1
  149. package/dialog/message-dialog-builder.d.ts +2 -2
  150. package/dialog/message-dialog-builder.d.ts.map +1 -1
  151. package/dialog/message-dialog-builder.js.map +1 -1
  152. package/elevation/elevation.d.ts +2 -2
  153. package/elevation/elevation.d.ts.map +1 -1
  154. package/elevation/elevation.js +4 -4
  155. package/elevation/elevation.js.map +1 -1
  156. package/expansion-panel/expansion-panel-container.d.ts +24 -0
  157. package/expansion-panel/expansion-panel-container.d.ts.map +1 -0
  158. package/expansion-panel/expansion-panel-container.js +54 -0
  159. package/expansion-panel/expansion-panel-container.js.map +1 -0
  160. package/expansion-panel/expansion-panel-container.styles.d.ts +2 -0
  161. package/expansion-panel/expansion-panel-container.styles.d.ts.map +1 -0
  162. package/expansion-panel/expansion-panel-container.styles.js +9 -0
  163. package/expansion-panel/expansion-panel-container.styles.js.map +1 -0
  164. package/expansion-panel/expansion-panel.d.ts +37 -0
  165. package/expansion-panel/expansion-panel.d.ts.map +1 -0
  166. package/expansion-panel/expansion-panel.js +89 -0
  167. package/expansion-panel/expansion-panel.js.map +1 -0
  168. package/expansion-panel/expansion-panel.styles.d.ts +2 -0
  169. package/expansion-panel/expansion-panel.styles.d.ts.map +1 -0
  170. package/expansion-panel/expansion-panel.styles.js +66 -0
  171. package/expansion-panel/expansion-panel.styles.js.map +1 -0
  172. package/field/field-base.d.ts +17 -3
  173. package/field/field-base.d.ts.map +1 -1
  174. package/field/field-base.js +30 -20
  175. package/field/field-base.js.map +1 -1
  176. package/field/field-defaults-context.d.ts +2 -2
  177. package/field/field-defaults-context.d.ts.map +1 -1
  178. package/field/field-defaults-context.js.map +1 -1
  179. package/field/field-defaults.d.ts +3 -3
  180. package/field/field-defaults.d.ts.map +1 -1
  181. package/field/field-defaults.js.map +1 -1
  182. package/field/field-variant.d.ts +1 -1
  183. package/field/field-variant.d.ts.map +1 -1
  184. package/field/field-variant.js.map +1 -1
  185. package/field/field.d.ts +7 -3
  186. package/field/field.d.ts.map +1 -1
  187. package/field/field.js +10 -6
  188. package/field/field.js.map +1 -1
  189. package/icon/icon.d.ts +2 -2
  190. package/icon/icon.d.ts.map +1 -1
  191. package/icon/icon.js +4 -4
  192. package/icon/icon.js.map +1 -1
  193. package/index.d.ts +29 -1
  194. package/index.d.ts.map +1 -1
  195. package/index.js +29 -1
  196. package/index.js.map +1 -1
  197. package/list/list-item.d.ts +19 -2
  198. package/list/list-item.d.ts.map +1 -1
  199. package/list/list-item.js +29 -6
  200. package/list/list-item.js.map +1 -1
  201. package/list/list-item.styles.d.ts.map +1 -1
  202. package/list/list-item.styles.js +13 -0
  203. package/list/list-item.styles.js.map +1 -1
  204. package/list/list.d.ts +2 -2
  205. package/list/list.d.ts.map +1 -1
  206. package/list/list.js +4 -4
  207. package/list/list.js.map +1 -1
  208. package/menu/menu-item.d.ts +9 -3
  209. package/menu/menu-item.d.ts.map +1 -1
  210. package/menu/menu-item.js +16 -10
  211. package/menu/menu-item.js.map +1 -1
  212. package/menu/menu.d.ts +18 -2
  213. package/menu/menu.d.ts.map +1 -1
  214. package/menu/menu.js +37 -18
  215. package/menu/menu.js.map +1 -1
  216. package/menu/menu.styles.d.ts.map +1 -1
  217. package/menu/menu.styles.js +5 -0
  218. package/menu/menu.styles.js.map +1 -1
  219. package/navigation/drawer-headline.d.ts +2 -2
  220. package/navigation/drawer-headline.d.ts.map +1 -1
  221. package/navigation/drawer-headline.js +6 -6
  222. package/navigation/drawer-headline.js.map +1 -1
  223. package/navigation/drawer-headline.styles.js +1 -1
  224. package/navigation/drawer-headline.styles.js.map +1 -1
  225. package/navigation/drawer-item.d.ts +3 -3
  226. package/navigation/drawer-item.d.ts.map +1 -1
  227. package/navigation/drawer-item.js +17 -12
  228. package/navigation/drawer-item.js.map +1 -1
  229. package/navigation/drawer.d.ts +2 -2
  230. package/navigation/drawer.d.ts.map +1 -1
  231. package/navigation/drawer.js +4 -4
  232. package/navigation/drawer.js.map +1 -1
  233. package/navigation/side-navigation.d.ts +9 -2
  234. package/navigation/side-navigation.d.ts.map +1 -1
  235. package/navigation/side-navigation.js +15 -8
  236. package/navigation/side-navigation.js.map +1 -1
  237. package/navigation-bar/navigation-bar-item.d.ts +40 -0
  238. package/navigation-bar/navigation-bar-item.d.ts.map +1 -0
  239. package/navigation-bar/navigation-bar-item.js +113 -0
  240. package/navigation-bar/navigation-bar-item.js.map +1 -0
  241. package/navigation-bar/navigation-bar-item.styles.d.ts +2 -0
  242. package/navigation-bar/navigation-bar-item.styles.d.ts.map +1 -0
  243. package/navigation-bar/navigation-bar-item.styles.js +101 -0
  244. package/navigation-bar/navigation-bar-item.styles.js.map +1 -0
  245. package/navigation-bar/navigation-bar.d.ts +40 -0
  246. package/navigation-bar/navigation-bar.d.ts.map +1 -0
  247. package/navigation-bar/navigation-bar.js +85 -0
  248. package/navigation-bar/navigation-bar.js.map +1 -0
  249. package/navigation-bar/navigation-bar.styles.d.ts +2 -0
  250. package/navigation-bar/navigation-bar.styles.d.ts.map +1 -0
  251. package/navigation-bar/navigation-bar.styles.js +44 -0
  252. package/navigation-bar/navigation-bar.styles.js.map +1 -0
  253. package/navigation-rail/navigation-rail-headline.d.ts +23 -0
  254. package/navigation-rail/navigation-rail-headline.d.ts.map +1 -0
  255. package/navigation-rail/navigation-rail-headline.js +28 -0
  256. package/navigation-rail/navigation-rail-headline.js.map +1 -0
  257. package/navigation-rail/navigation-rail-headline.styles.d.ts +2 -0
  258. package/navigation-rail/navigation-rail-headline.styles.d.ts.map +1 -0
  259. package/navigation-rail/navigation-rail-headline.styles.js +19 -0
  260. package/navigation-rail/navigation-rail-headline.styles.js.map +1 -0
  261. package/navigation-rail/navigation-rail-item.d.ts +58 -0
  262. package/navigation-rail/navigation-rail-item.d.ts.map +1 -0
  263. package/navigation-rail/navigation-rail-item.js +160 -0
  264. package/navigation-rail/navigation-rail-item.js.map +1 -0
  265. package/navigation-rail/navigation-rail-item.styles.d.ts +2 -0
  266. package/navigation-rail/navigation-rail-item.styles.d.ts.map +1 -0
  267. package/navigation-rail/navigation-rail-item.styles.js +182 -0
  268. package/navigation-rail/navigation-rail-item.styles.js.map +1 -0
  269. package/navigation-rail/navigation-rail.d.ts +66 -0
  270. package/navigation-rail/navigation-rail.d.ts.map +1 -0
  271. package/navigation-rail/navigation-rail.js +223 -0
  272. package/navigation-rail/navigation-rail.js.map +1 -0
  273. package/navigation-rail/navigation-rail.styles.d.ts +2 -0
  274. package/navigation-rail/navigation-rail.styles.d.ts.map +1 -0
  275. package/navigation-rail/navigation-rail.styles.js +220 -0
  276. package/navigation-rail/navigation-rail.styles.js.map +1 -0
  277. package/overflow-menu/overflow-menu-item.d.ts +8 -0
  278. package/overflow-menu/overflow-menu-item.d.ts.map +1 -1
  279. package/overflow-menu/overflow-menu-item.js +8 -0
  280. package/overflow-menu/overflow-menu-item.js.map +1 -1
  281. package/overflow-menu/overflow-menu.d.ts +8 -2
  282. package/overflow-menu/overflow-menu.d.ts.map +1 -1
  283. package/overflow-menu/overflow-menu.js +10 -1
  284. package/overflow-menu/overflow-menu.js.map +1 -1
  285. package/package.json +21 -5
  286. package/progress/circular-progress.d.ts +9 -2
  287. package/progress/circular-progress.d.ts.map +1 -1
  288. package/progress/circular-progress.js +9 -6
  289. package/progress/circular-progress.js.map +1 -1
  290. package/progress/progress-bar.d.ts +9 -2
  291. package/progress/progress-bar.d.ts.map +1 -1
  292. package/progress/progress-bar.js +9 -6
  293. package/progress/progress-bar.js.map +1 -1
  294. package/radio/radio-list-item.d.ts +4 -4
  295. package/radio/radio-list-item.d.ts.map +1 -1
  296. package/radio/radio-list-item.js +5 -5
  297. package/radio/radio-list-item.js.map +1 -1
  298. package/radio/radio.d.ts +6 -3
  299. package/radio/radio.d.ts.map +1 -1
  300. package/radio/radio.js +9 -6
  301. package/radio/radio.js.map +1 -1
  302. package/ripple/ripple.d.ts +2 -2
  303. package/ripple/ripple.d.ts.map +1 -1
  304. package/ripple/ripple.js +9 -9
  305. package/ripple/ripple.js.map +1 -1
  306. package/scaffold/pane.d.ts +127 -0
  307. package/scaffold/pane.d.ts.map +1 -0
  308. package/scaffold/pane.js +220 -0
  309. package/scaffold/pane.js.map +1 -0
  310. package/scaffold/pane.styles.d.ts +2 -0
  311. package/scaffold/pane.styles.d.ts.map +1 -0
  312. package/scaffold/pane.styles.js +1909 -0
  313. package/scaffold/pane.styles.js.map +1 -0
  314. package/scaffold/scaffold.d.ts +45 -0
  315. package/scaffold/scaffold.d.ts.map +1 -0
  316. package/scaffold/scaffold.js +170 -0
  317. package/scaffold/scaffold.js.map +1 -0
  318. package/scaffold/scaffold.styles.d.ts +2 -0
  319. package/scaffold/scaffold.styles.d.ts.map +1 -0
  320. package/scaffold/scaffold.styles.js +69 -0
  321. package/scaffold/scaffold.styles.js.map +1 -0
  322. package/scaffold/scroll-container-context.d.ts +4 -0
  323. package/scaffold/scroll-container-context.d.ts.map +1 -0
  324. package/scaffold/scroll-container-context.js +3 -0
  325. package/scaffold/scroll-container-context.js.map +1 -0
  326. package/scss/utilities/_divider.scss +4 -0
  327. package/search/search.d.ts +6 -3
  328. package/search/search.d.ts.map +1 -1
  329. package/search/search.js +10 -7
  330. package/search/search.js.map +1 -1
  331. package/search/search.styles.d.ts.map +1 -1
  332. package/search/search.styles.js +7 -2
  333. package/search/search.styles.js.map +1 -1
  334. package/select/option.d.ts +9 -3
  335. package/select/option.d.ts.map +1 -1
  336. package/select/option.js +14 -8
  337. package/select/option.js.map +1 -1
  338. package/select/select-navigation-controller.d.ts +4 -4
  339. package/select/select-navigation-controller.d.ts.map +1 -1
  340. package/select/select-navigation-controller.js.map +1 -1
  341. package/select/select.d.ts +22 -12
  342. package/select/select.d.ts.map +1 -1
  343. package/select/select.js +81 -31
  344. package/select/select.js.map +1 -1
  345. package/shared/button-wrapper.d.ts +4 -1
  346. package/shared/button-wrapper.d.ts.map +1 -1
  347. package/shared/button-wrapper.js +8 -8
  348. package/shared/button-wrapper.js.map +1 -1
  349. package/shared/char-count-text-field/native-text-field-wrapper.d.ts +15 -2
  350. package/shared/char-count-text-field/native-text-field-wrapper.d.ts.map +1 -1
  351. package/shared/char-count-text-field/native-text-field-wrapper.js +16 -6
  352. package/shared/char-count-text-field/native-text-field-wrapper.js.map +1 -1
  353. package/shared/menu-field/menu-field-navigation-controller.d.ts +3 -3
  354. package/shared/menu-field/menu-field-navigation-controller.d.ts.map +1 -1
  355. package/shared/menu-field/menu-field-navigation-controller.js.map +1 -1
  356. package/shared/menu-field/menu-field.d.ts +5 -5
  357. package/shared/menu-field/menu-field.d.ts.map +1 -1
  358. package/shared/menu-field/menu-field.js.map +1 -1
  359. package/shared/selection-control/selection-control-list-item.d.ts +2 -2
  360. package/shared/selection-control/selection-control-list-item.d.ts.map +1 -1
  361. package/shared/selection-control/selection-control-list-item.js +14 -1
  362. package/shared/selection-control/selection-control-list-item.js.map +1 -1
  363. package/shared/selection-control/selection-control.d.ts +10 -1
  364. package/shared/selection-control/selection-control.d.ts.map +1 -1
  365. package/shared/selection-control/selection-control.js +24 -7
  366. package/shared/selection-control/selection-control.js.map +1 -1
  367. package/shared/sets/set-base.d.ts +1 -1
  368. package/shared/sets/set-base.d.ts.map +1 -1
  369. package/shared/sets/set-base.js +2 -2
  370. package/shared/sets/set-base.js.map +1 -1
  371. package/shared/text-field-base/text-field-base.d.ts +37 -2
  372. package/shared/text-field-base/text-field-base.d.ts.map +1 -1
  373. package/shared/text-field-base/text-field-base.js +66 -4
  374. package/shared/text-field-base/text-field-base.js.map +1 -1
  375. package/skills/badge/SKILL.md +43 -0
  376. package/skills/buttons/SKILL.md +115 -0
  377. package/skills/card/SKILL.md +162 -0
  378. package/skills/chips/SKILL.md +95 -0
  379. package/skills/collapse/SKILL.md +37 -0
  380. package/skills/datepicker/SKILL.md +110 -0
  381. package/skills/dialog/SKILL.md +92 -0
  382. package/skills/drawer/SKILL.md +94 -0
  383. package/skills/expansion-panel/SKILL.md +65 -0
  384. package/skills/fab/SKILL.md +79 -0
  385. package/skills/list/SKILL.md +105 -0
  386. package/skills/menu/SKILL.md +120 -0
  387. package/skills/navigation-bar/SKILL.md +87 -0
  388. package/skills/navigation-rail/SKILL.md +127 -0
  389. package/skills/overview/SKILL.md +44 -0
  390. package/skills/progress/SKILL.md +63 -0
  391. package/skills/scaffold/SKILL.md +392 -0
  392. package/skills/search/SKILL.md +65 -0
  393. package/skills/select/SKILL.md +120 -0
  394. package/skills/selection-controls/SKILL.md +88 -0
  395. package/skills/setup/SKILL.md +58 -0
  396. package/skills/slider/SKILL.md +119 -0
  397. package/skills/snackbar/SKILL.md +70 -0
  398. package/skills/tab-bar/SKILL.md +55 -0
  399. package/skills/text-field/SKILL.md +114 -0
  400. package/skills/theming/SKILL.md +80 -0
  401. package/skills/top-app-bar/SKILL.md +64 -0
  402. package/skills/typeahead/SKILL.md +113 -0
  403. package/slider/slider.d.ts +73 -0
  404. package/slider/slider.d.ts.map +1 -0
  405. package/slider/slider.js +506 -0
  406. package/slider/slider.js.map +1 -0
  407. package/slider/slider.styles.d.ts +2 -0
  408. package/slider/slider.styles.d.ts.map +1 -0
  409. package/slider/slider.styles.js +292 -0
  410. package/slider/slider.styles.js.map +1 -0
  411. package/snackbar/snackbar.d.ts +13 -4
  412. package/snackbar/snackbar.d.ts.map +1 -1
  413. package/snackbar/snackbar.js +37 -28
  414. package/snackbar/snackbar.js.map +1 -1
  415. package/snackbar/snackbar.styles.js +1 -1
  416. package/snackbar/snackbar.styles.js.map +1 -1
  417. package/switch/switch-list-item.d.ts +4 -4
  418. package/switch/switch-list-item.d.ts.map +1 -1
  419. package/switch/switch-list-item.js +5 -5
  420. package/switch/switch-list-item.js.map +1 -1
  421. package/switch/switch.d.ts +3 -3
  422. package/switch/switch.d.ts.map +1 -1
  423. package/switch/switch.js +5 -5
  424. package/switch/switch.js.map +1 -1
  425. package/tab-bar/tab-bar.d.ts +9 -6
  426. package/tab-bar/tab-bar.d.ts.map +1 -1
  427. package/tab-bar/tab-bar.js +43 -23
  428. package/tab-bar/tab-bar.js.map +1 -1
  429. package/tab-bar/tab.d.ts +10 -5
  430. package/tab-bar/tab.d.ts.map +1 -1
  431. package/tab-bar/tab.js +14 -9
  432. package/tab-bar/tab.js.map +1 -1
  433. package/text-area/text-area.d.ts +6 -3
  434. package/text-area/text-area.d.ts.map +1 -1
  435. package/text-area/text-area.js +12 -9
  436. package/text-area/text-area.js.map +1 -1
  437. package/text-field/text-field.d.ts +31 -3
  438. package/text-field/text-field.d.ts.map +1 -1
  439. package/text-field/text-field.js +53 -13
  440. package/text-field/text-field.js.map +1 -1
  441. package/typeahead/highlight.d.ts +2 -2
  442. package/typeahead/highlight.d.ts.map +1 -1
  443. package/typeahead/highlight.js +7 -7
  444. package/typeahead/highlight.js.map +1 -1
  445. package/typeahead/typeahead-template-render.d.ts +4 -0
  446. package/typeahead/typeahead-template-render.d.ts.map +1 -1
  447. package/typeahead/typeahead-template-render.js +4 -0
  448. package/typeahead/typeahead-template-render.js.map +1 -1
  449. package/typeahead/typeahead.d.ts +14 -7
  450. package/typeahead/typeahead.d.ts.map +1 -1
  451. package/typeahead/typeahead.js +29 -18
  452. package/typeahead/typeahead.js.map +1 -1
  453. package/vscode.html-custom-data.json +1146 -326
@@ -2,15 +2,15 @@ import { __decorate } from "tslib";
2
2
  import { LitElement } from 'lit';
3
3
  import { customElement } from 'lit/decorators.js';
4
4
  import { styles } from './elevation.styles.js';
5
- let UmElevation = class UmElevation extends LitElement {
5
+ let Elevation = class Elevation extends LitElement {
6
6
  static { this.styles = styles; }
7
7
  connectedCallback() {
8
8
  super.connectedCallback();
9
9
  this.ariaHidden = 'true';
10
10
  }
11
11
  };
12
- UmElevation = __decorate([
12
+ Elevation = __decorate([
13
13
  customElement('u-elevation')
14
- ], UmElevation);
15
- export { UmElevation };
14
+ ], Elevation);
15
+ export { Elevation };
16
16
  //# sourceMappingURL=elevation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"elevation.js","sourceRoot":"","sources":["../../src/elevation/elevation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGxC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;aACzB,WAAM,GAAG,MAAM,AAAT,CAAU;IAEvB,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;;AANU,WAAW;IADvB,aAAa,CAAC,aAAa,CAAC;GAChB,WAAW,CAOvB","sourcesContent":["import { LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\nimport { styles } from './elevation.styles.js';\n\n@customElement('u-elevation')\nexport class UmElevation extends LitElement {\n static override styles = styles;\n\n override connectedCallback() {\n super.connectedCallback();\n this.ariaHidden = 'true';\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-elevation': UmElevation;\n }\n}\n"]}
1
+ {"version":3,"file":"elevation.js","sourceRoot":"","sources":["../../src/elevation/elevation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGxC,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;aACvB,WAAM,GAAG,MAAM,AAAT,CAAU;IAEvB,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;;AANU,SAAS;IADrB,aAAa,CAAC,aAAa,CAAC;GAChB,SAAS,CAOrB","sourcesContent":["import { LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\nimport { styles } from './elevation.styles.js';\n\n@customElement('u-elevation')\nexport class Elevation extends LitElement {\n static override styles = styles;\n\n override connectedCallback() {\n super.connectedCallback();\n this.ariaHidden = 'true';\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-elevation': Elevation;\n }\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { HTMLTemplateResult, LitElement } from 'lit';
2
+ /**
3
+ * Coordinates a group of `<u-expansion-panel>` children. When `multi` is `false`
4
+ * (default), opening one panel closes the others.
5
+ *
6
+ * @slot - Default slot for `<u-expansion-panel>` children.
7
+ */
8
+ export declare class ExpansionPanelContainer extends LitElement {
9
+ #private;
10
+ static styles: import("lit").CSSResult[];
11
+ /**
12
+ * When `true`, multiple panels may be expanded simultaneously.
13
+ */
14
+ multi: boolean;
15
+ connectedCallback(): void;
16
+ disconnectedCallback(): void;
17
+ render(): HTMLTemplateResult;
18
+ }
19
+ declare global {
20
+ interface HTMLElementTagNameMap {
21
+ 'u-expansion-panel-container': ExpansionPanelContainer;
22
+ }
23
+ }
24
+ //# sourceMappingURL=expansion-panel-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel-container.d.ts","sourceRoot":"","sources":["../../src/expansion-panel/expansion-panel-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAO3D;;;;;GAKG;AACH,qBACa,uBAAwB,SAAQ,UAAU;;IACrD,OAAgB,MAAM,4BAAwB;IAE9C;;OAEG;IACyC,KAAK,UAAS;IAEjD,iBAAiB;IAKjB,oBAAoB;IAKpB,MAAM,IAAI,kBAAkB;CActC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,6BAA6B,EAAE,uBAAuB,CAAC;KACxD;CACF"}
@@ -0,0 +1,54 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { styles as baseStyles } from '../shared/base.styles.js';
5
+ import { ExpansionPanel } from './expansion-panel.js';
6
+ import { styles } from './expansion-panel-container.styles.js';
7
+ /**
8
+ * Coordinates a group of `<u-expansion-panel>` children. When `multi` is `false`
9
+ * (default), opening one panel closes the others.
10
+ *
11
+ * @slot - Default slot for `<u-expansion-panel>` children.
12
+ */
13
+ let ExpansionPanelContainer = class ExpansionPanelContainer extends LitElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ /**
17
+ * When `true`, multiple panels may be expanded simultaneously.
18
+ */
19
+ this.multi = false;
20
+ this.#handlePanelChange = (event) => {
21
+ if (this.multi)
22
+ return;
23
+ const target = event.target;
24
+ if (!(target instanceof ExpansionPanel) || !target.expanded)
25
+ return;
26
+ for (const panel of this.querySelectorAll('u-expansion-panel')) {
27
+ if (panel !== target && panel.expanded) {
28
+ panel.expanded = false;
29
+ }
30
+ }
31
+ };
32
+ }
33
+ static { this.styles = [baseStyles, styles]; }
34
+ connectedCallback() {
35
+ super.connectedCallback();
36
+ this.addEventListener('change', this.#handlePanelChange);
37
+ }
38
+ disconnectedCallback() {
39
+ super.disconnectedCallback();
40
+ this.removeEventListener('change', this.#handlePanelChange);
41
+ }
42
+ render() {
43
+ return html `<slot></slot>`;
44
+ }
45
+ #handlePanelChange;
46
+ };
47
+ __decorate([
48
+ property({ type: Boolean, reflect: true })
49
+ ], ExpansionPanelContainer.prototype, "multi", void 0);
50
+ ExpansionPanelContainer = __decorate([
51
+ customElement('u-expansion-panel-container')
52
+ ], ExpansionPanelContainer);
53
+ export { ExpansionPanelContainer };
54
+ //# sourceMappingURL=expansion-panel-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel-container.js","sourceRoot":"","sources":["../../src/expansion-panel/expansion-panel-container.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAE/D;;;;;GAKG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU;IAAhD;;QAGL;;WAEG;QACyC,UAAK,GAAG,KAAK,CAAC;QAgB1D,uBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO;YACvB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA+B,CAAC;YACrD,IAAI,CAAC,CAAC,MAAM,YAAY,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO;YACpE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAiB,mBAAmB,CAAC,EAAE,CAAC;gBAC/E,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACvC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;aA/BiB,WAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;IAOrC,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3D,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC9D,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;IAED,kBAAkB,CAShB;;AAzB0C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sDAAe;AAN/C,uBAAuB;IADnC,aAAa,CAAC,6BAA6B,CAAC;GAChC,uBAAuB,CAgCnC","sourcesContent":["import { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { ExpansionPanel } from './expansion-panel.js';\nimport { styles } from './expansion-panel-container.styles.js';\n\n/**\n * Coordinates a group of `<u-expansion-panel>` children. When `multi` is `false`\n * (default), opening one panel closes the others.\n *\n * @slot - Default slot for `<u-expansion-panel>` children.\n */\n@customElement('u-expansion-panel-container')\nexport class ExpansionPanelContainer extends LitElement {\n static override styles = [baseStyles, styles];\n\n /**\n * When `true`, multiple panels may be expanded simultaneously.\n */\n @property({ type: Boolean, reflect: true }) multi = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('change', this.#handlePanelChange);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('change', this.#handlePanelChange);\n }\n\n override render(): HTMLTemplateResult {\n return html`<slot></slot>`;\n }\n\n #handlePanelChange = (event: Event) => {\n if (this.multi) return;\n const target = event.target as ExpansionPanel | null;\n if (!(target instanceof ExpansionPanel) || !target.expanded) return;\n for (const panel of this.querySelectorAll<ExpansionPanel>('u-expansion-panel')) {\n if (panel !== target && panel.expanded) {\n panel.expanded = false;\n }\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-expansion-panel-container': ExpansionPanelContainer;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=expansion-panel-container.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel-container.styles.d.ts","sourceRoot":"","sources":["../../src/expansion-panel/expansion-panel-container.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAMlB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: var(--u-expansion-panel-container-gap, 0.5rem);
7
+ }
8
+ `;
9
+ //# sourceMappingURL=expansion-panel-container.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel-container.styles.js","sourceRoot":"","sources":["../../src/expansion-panel/expansion-panel-container.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;CAMzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: flex;\n flex-direction: column;\n gap: var(--u-expansion-panel-container-gap, 0.5rem);\n }\n`;\n"]}
@@ -0,0 +1,37 @@
1
+ import { HTMLTemplateResult, LitElement } from 'lit';
2
+ import '../ripple/ripple.js';
3
+ import '../collapse/collapse.js';
4
+ /**
5
+ * @slot header - Content shown in the clickable header row.
6
+ * @slot - Default slot for the panel body (animated via `u-collapse`).
7
+ * @csspart header - The header row container.
8
+ * @csspart chevron - The default chevron icon (rotates on expand).
9
+ * @csspart content - The collapsible body wrapper.
10
+ * @fires change - Dispatched when the `expanded` state toggles.
11
+ */
12
+ export declare class ExpansionPanel extends LitElement {
13
+ #private;
14
+ static styles: import("lit").CSSResult[];
15
+ /**
16
+ * Whether the panel body is expanded.
17
+ */
18
+ get expanded(): boolean;
19
+ set expanded(value: boolean);
20
+ /**
21
+ * Disables toggling the panel via header click.
22
+ */
23
+ disabled: boolean;
24
+ /**
25
+ * Hides the default chevron toggle icon.
26
+ */
27
+ hideToggle: boolean;
28
+ /** Toggles `expanded`. No-op when `disabled`. */
29
+ toggle(): void;
30
+ render(): HTMLTemplateResult;
31
+ }
32
+ declare global {
33
+ interface HTMLElementTagNameMap {
34
+ 'u-expansion-panel': ExpansionPanel;
35
+ }
36
+ }
37
+ //# sourceMappingURL=expansion-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel.d.ts","sourceRoot":"","sources":["../../src/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAMpE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,yBAAyB,CAAC;AAEjC;;;;;;;GAOG;AACH,qBACa,cAAe,SAAQ,UAAU;;IAC5C,OAAgB,MAAM,4BAAwB;IAI9C;;OAEG;IACH,IACI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAO1B;IAED;;OAEG;IACyC,QAAQ,UAAS;IAE7D;;OAEG;IACmE,UAAU,UAAS;IAEzF,iDAAiD;IACjD,MAAM,IAAI,IAAI;IAKL,MAAM,IAAI,kBAAkB;CAwBtC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,cAAc,CAAC;KACrC;CACF"}
@@ -0,0 +1,89 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement, nothing } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { styles as baseStyles } from '../shared/base.styles.js';
5
+ import { styles } from './expansion-panel.styles.js';
6
+ import '../ripple/ripple.js';
7
+ import '../collapse/collapse.js';
8
+ /**
9
+ * @slot header - Content shown in the clickable header row.
10
+ * @slot - Default slot for the panel body (animated via `u-collapse`).
11
+ * @csspart header - The header row container.
12
+ * @csspart chevron - The default chevron icon (rotates on expand).
13
+ * @csspart content - The collapsible body wrapper.
14
+ * @fires change - Dispatched when the `expanded` state toggles.
15
+ */
16
+ let ExpansionPanel = class ExpansionPanel extends LitElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.#expanded = false;
20
+ /**
21
+ * Disables toggling the panel via header click.
22
+ */
23
+ this.disabled = false;
24
+ /**
25
+ * Hides the default chevron toggle icon.
26
+ */
27
+ this.hideToggle = false;
28
+ this.#handleHeaderClick = () => {
29
+ this.toggle();
30
+ };
31
+ }
32
+ static { this.styles = [baseStyles, styles]; }
33
+ #expanded;
34
+ /**
35
+ * Whether the panel body is expanded.
36
+ */
37
+ get expanded() {
38
+ return this.#expanded;
39
+ }
40
+ set expanded(value) {
41
+ const old = this.#expanded;
42
+ this.#expanded = value;
43
+ this.requestUpdate('expanded', old);
44
+ if (old !== value) {
45
+ this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));
46
+ }
47
+ }
48
+ /** Toggles `expanded`. No-op when `disabled`. */
49
+ toggle() {
50
+ if (this.disabled)
51
+ return;
52
+ this.expanded = !this.expanded;
53
+ }
54
+ render() {
55
+ return html `
56
+ <div class="header" part="header" @click=${this.#handleHeaderClick}>
57
+ <div class="header-content">
58
+ <slot name="header"></slot>
59
+ </div>
60
+ ${this.hideToggle ? nothing : html `
61
+ <span class="chevron" part="chevron" aria-hidden="true">
62
+ <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 -960 960 960" width="1em" fill="currentColor">
63
+ <path d="M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z" />
64
+ </svg>
65
+ </span>
66
+ `}
67
+ <u-ripple ?disabled=${this.disabled}></u-ripple>
68
+ </div>
69
+ <u-collapse class="body" part="content" ?open=${this.expanded}>
70
+ <slot></slot>
71
+ </u-collapse>
72
+ `;
73
+ }
74
+ #handleHeaderClick;
75
+ };
76
+ __decorate([
77
+ property({ type: Boolean, reflect: true })
78
+ ], ExpansionPanel.prototype, "expanded", null);
79
+ __decorate([
80
+ property({ type: Boolean, reflect: true })
81
+ ], ExpansionPanel.prototype, "disabled", void 0);
82
+ __decorate([
83
+ property({ type: Boolean, reflect: true, attribute: 'hide-toggle' })
84
+ ], ExpansionPanel.prototype, "hideToggle", void 0);
85
+ ExpansionPanel = __decorate([
86
+ customElement('u-expansion-panel')
87
+ ], ExpansionPanel);
88
+ export { ExpansionPanel };
89
+ //# sourceMappingURL=expansion-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../src/expansion-panel/expansion-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,qBAAqB,CAAC;AAC7B,OAAO,yBAAyB,CAAC;AAEjC;;;;;;;GAOG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QAGL,cAAS,GAAG,KAAK,CAAC;QAmBlB;;WAEG;QACyC,aAAQ,GAAG,KAAK,CAAC;QAE7D;;WAEG;QACmE,eAAU,GAAG,KAAK,CAAC;QA6BzF,uBAAkB,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;aA7DiB,WAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;IAE9C,SAAS,CAAS;IAElB;;OAEG;IAEH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAc;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAYD,iDAAiD;IACjD,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;iDACkC,IAAI,CAAC,kBAAkB;;;;UAI9D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;;;;;;SAMjC;8BACqB,IAAI,CAAC,QAAQ;;sDAEW,IAAI,CAAC,QAAQ;;;KAG9D,CAAC;IACJ,CAAC;IAED,kBAAkB,CAEhB;;AApDF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAG1C;AAc2C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAkB;AAKS;IAArE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;kDAAoB;AA9B9E,cAAc;IAD1B,aAAa,CAAC,mBAAmB,CAAC;GACtB,cAAc,CA8D1B","sourcesContent":["import { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './expansion-panel.styles.js';\n\nimport '../ripple/ripple.js';\nimport '../collapse/collapse.js';\n\n/**\n * @slot header - Content shown in the clickable header row.\n * @slot - Default slot for the panel body (animated via `u-collapse`).\n * @csspart header - The header row container.\n * @csspart chevron - The default chevron icon (rotates on expand).\n * @csspart content - The collapsible body wrapper.\n * @fires change - Dispatched when the `expanded` state toggles.\n */\n@customElement('u-expansion-panel')\nexport class ExpansionPanel extends LitElement {\n static override styles = [baseStyles, styles];\n\n #expanded = false;\n\n /**\n * Whether the panel body is expanded.\n */\n @property({ type: Boolean, reflect: true })\n get expanded(): boolean {\n return this.#expanded;\n }\n\n set expanded(value: boolean) {\n const old = this.#expanded;\n this.#expanded = value;\n this.requestUpdate('expanded', old);\n if (old !== value) {\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));\n }\n }\n\n /**\n * Disables toggling the panel via header click.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Hides the default chevron toggle icon.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-toggle' }) hideToggle = false;\n\n /** Toggles `expanded`. No-op when `disabled`. */\n toggle(): void {\n if (this.disabled) return;\n this.expanded = !this.expanded;\n }\n\n override render(): HTMLTemplateResult {\n return html`\n <div class=\"header\" part=\"header\" @click=${this.#handleHeaderClick}>\n <div class=\"header-content\">\n <slot name=\"header\"></slot>\n </div>\n ${this.hideToggle ? nothing : html`\n <span class=\"chevron\" part=\"chevron\" aria-hidden=\"true\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\">\n <path d=\"M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z\" />\n </svg>\n </span>\n `}\n <u-ripple ?disabled=${this.disabled}></u-ripple>\n </div>\n <u-collapse class=\"body\" part=\"content\" ?open=${this.expanded}>\n <slot></slot>\n </u-collapse>\n `;\n }\n\n #handleHeaderClick = () => {\n this.toggle();\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-expansion-panel': ExpansionPanel;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=expansion-panel.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel.styles.d.ts","sourceRoot":"","sources":["../../src/expansion-panel/expansion-panel.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA+DlB,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: block;
5
+ position: relative;
6
+ background-color: var(--u-expansion-panel-bg-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));
7
+ color: var(--u-expansion-panel-color, var(--u-color-on-surface, rgb(29, 27, 32)));
8
+ border-radius: var(--u-expansion-panel-shape-corner, var(--u-shape-corner-medium, 12px));
9
+ overflow: hidden;
10
+ }
11
+
12
+ .header {
13
+ position: relative;
14
+ display: flex;
15
+ align-items: center;
16
+ gap: var(--u-expansion-panel-header-gap, 0.75rem);
17
+ padding: var(--u-expansion-panel-header-padding, 0.75rem 1rem);
18
+ min-height: var(--u-expansion-panel-header-min-height, 3rem);
19
+ cursor: pointer;
20
+ user-select: none;
21
+ font-family: var(--u-font-family);
22
+ line-height: var(--u-title-m-line-height);
23
+ font-size: var(--u-title-m-font-size);
24
+ letter-spacing: var(--u-title-m-letter-spacing);
25
+ font-weight: var(--u-title-m-font-weight);
26
+ }
27
+
28
+ :host([disabled]) .header {
29
+ cursor: default;
30
+ color: color-mix(in srgb, var(--u-color-on-surface, rgb(29, 27, 32)) 38%, transparent);
31
+ }
32
+
33
+ .header-content {
34
+ flex: 1 1 auto;
35
+ min-width: 0;
36
+ }
37
+
38
+ .chevron {
39
+ flex: 0 0 auto;
40
+ display: inline-flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ font-size: 1.5rem;
44
+ line-height: 1;
45
+ color: var(--u-expansion-panel-chevron-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));
46
+ transition: transform 200ms ease-out;
47
+ }
48
+
49
+ :host([expanded]) .chevron {
50
+ transform: rotate(180deg);
51
+ }
52
+
53
+ .body {
54
+ border-top: 1px solid transparent;
55
+ transition: border-color 200ms ease-out;
56
+ }
57
+
58
+ :host([expanded]) .body {
59
+ border-top-color: var(--u-expansion-panel-divider-color, var(--u-color-outline-variant, rgb(202, 196, 208)));
60
+ }
61
+
62
+ ::slotted([slot=header]) {
63
+ display: block;
64
+ }
65
+ `;
66
+ //# sourceMappingURL=expansion-panel.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel.styles.js","sourceRoot":"","sources":["../../src/expansion-panel/expansion-panel.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n position: relative;\n background-color: var(--u-expansion-panel-bg-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n color: var(--u-expansion-panel-color, var(--u-color-on-surface, rgb(29, 27, 32)));\n border-radius: var(--u-expansion-panel-shape-corner, var(--u-shape-corner-medium, 12px));\n overflow: hidden;\n }\n\n .header {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--u-expansion-panel-header-gap, 0.75rem);\n padding: var(--u-expansion-panel-header-padding, 0.75rem 1rem);\n min-height: var(--u-expansion-panel-header-min-height, 3rem);\n cursor: pointer;\n user-select: none;\n font-family: var(--u-font-family);\n line-height: var(--u-title-m-line-height);\n font-size: var(--u-title-m-font-size);\n letter-spacing: var(--u-title-m-letter-spacing);\n font-weight: var(--u-title-m-font-weight);\n }\n\n :host([disabled]) .header {\n cursor: default;\n color: color-mix(in srgb, var(--u-color-on-surface, rgb(29, 27, 32)) 38%, transparent);\n }\n\n .header-content {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n .chevron {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 1.5rem;\n line-height: 1;\n color: var(--u-expansion-panel-chevron-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n transition: transform 200ms ease-out;\n }\n\n :host([expanded]) .chevron {\n transform: rotate(180deg);\n }\n\n .body {\n border-top: 1px solid transparent;\n transition: border-color 200ms ease-out;\n }\n\n :host([expanded]) .body {\n border-top-color: var(--u-expansion-panel-divider-color, var(--u-color-outline-variant, rgb(202, 196, 208)));\n }\n\n ::slotted([slot=header]) {\n display: block;\n }\n`;\n"]}
@@ -1,17 +1,28 @@
1
1
  import { Context, ContextProvider } from '@lit/context';
2
2
  import { CSSResultGroup } from '@lit/reactive-element/css-tag';
3
3
  import { LitElement, nothing, TemplateResult } from 'lit';
4
- import { UmFieldDefaults } from './field-defaults.js';
5
- export declare abstract class UmFieldBase extends LitElement {
4
+ import { FieldDefaults } from './field-defaults.js';
5
+ export declare abstract class FieldBase extends LitElement {
6
6
  static styles: CSSResultGroup;
7
7
  private readonly config;
8
+ /**
9
+ * The Field variant to render. When omitted, falls back to the variant
10
+ * provided by the surrounding `fieldDefaultsContext` (or `'filled'`).
11
+ */
8
12
  variant: 'filled' | 'outlined' | undefined;
9
13
  /**
10
14
  * The floating label for the field
11
15
  */
12
16
  label: string | undefined;
13
17
  protected _innerCounter: string | undefined;
18
+ /**
19
+ * Custom counter text shown in the supporting line, overriding the
20
+ * automatic character-count counter
21
+ */
14
22
  counter: string | undefined;
23
+ /**
24
+ * Whether to hide the counter from the supporting text line
25
+ */
15
26
  hideCounter: boolean;
16
27
  /**
17
28
  * Supporting text conveys additional information about the field, such as how it will be used
@@ -26,12 +37,15 @@ export declare abstract class UmFieldBase extends LitElement {
26
37
  * Whether the field is empty or not. This changes the behavior of the floating label when the field is not focused.
27
38
  */
28
39
  empty: boolean;
40
+ /**
41
+ * Whether the field is disabled
42
+ */
29
43
  disabled: boolean;
30
44
  /**
31
45
  * Get or sets where or not the field is in a visually invalid state.
32
46
  */
33
47
  invalid: boolean;
34
- static setDefaults(contextRoot: HTMLElement, config: UmFieldDefaults): ContextProvider<Context<HTMLElement, UmFieldDefaults>>;
48
+ static setDefaults(contextRoot: HTMLElement, config: FieldDefaults): ContextProvider<Context<HTMLElement, FieldDefaults>>;
35
49
  /**
36
50
  * Whether the field has a leading icon or not
37
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"field-base.d.ts","sourceRoot":"","sources":["../../src/field/field-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAQ,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAOhE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,8BAAsB,WAAY,SAAQ,UAAU;IAClD,OAAgB,MAAM,EAAE,cAAc,CAAwB;IAI9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IAEzC,OAAO,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAY;IAElE;;OAEG;IAEH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAEgB,WAAW,UAAS;IAE5E;;OAEG;IACyC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/E;;;OAGG;IACoC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAErE;;OAEG;IACyC,KAAK,UAAS;IACd,QAAQ,UAAS;IAE7D;;OAEG;IACyC,OAAO,UAAS;IAE5D,MAAM,CAAC,WAAW,CAChB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,eAAe,GACtB,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAOzD;;;;OAIG;IAEH,cAAc,UAAS;IAEvB;;;;OAIG;IAEH,eAAe,UAAS;IAExB;;;;OAIG;IAEH,YAAY,UAAS;IAGrB,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAG,WAAW,EAAE,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAG,WAAW,EAAE,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IACzC,SAAS,CAAC,UAAU,EAAG,WAAW,CAAC;;cAO3C,MAAM,IAAI,cAAc;IA+C3C,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,cAAc;IAElD,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAIrC,iBAAiB;IAK1B,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,yBAAyB;IAIjC,SAAS,CAAC,yBAAyB,IAAI,cAAc,GAAG,OAAO,OAAO;CAGvE"}
1
+ {"version":3,"file":"field-base.d.ts","sourceRoot":"","sources":["../../src/field/field-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAQ,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAOhE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,8BAAsB,SAAU,SAAQ,UAAU;IAChD,OAAgB,MAAM,EAAE,cAAc,CAAwB;IAI9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IAEnD;;;OAGG;IACS,OAAO,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAY;IAElE;;OAEG;IAEH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAErD;;;OAGG;IACS,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACqD,WAAW,UAAS;IAE5E;;OAEG;IACyC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/E;;;OAGG;IACoC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAErE;;OAEG;IACyC,KAAK,UAAS;IAE1D;;OAEG;IACyC,QAAQ,UAAS;IAE7D;;OAEG;IACyC,OAAO,UAAS;IAE5D,MAAM,CAAC,WAAW,CAChB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAOvD;;;;OAIG;IAEH,cAAc,UAAS;IAEvB;;;;OAIG;IAEH,eAAe,UAAS;IAExB;;;;OAIG;IAEH,YAAY,UAAS;IAGrB,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAG,WAAW,EAAE,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAG,WAAW,EAAE,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IACzC,SAAS,CAAC,UAAU,EAAG,WAAW,CAAC;;cAO3C,MAAM,IAAI,cAAc;IA+C3C,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,cAAc;IAElD,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAIrC,iBAAiB;IAK1B,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,yBAAyB;IAIjC,SAAS,CAAC,yBAAyB,IAAI,cAAc,GAAG,OAAO,OAAO;CAGvE"}
@@ -6,7 +6,7 @@ import { classMap } from 'lit/directives/class-map.js';
6
6
  import { styles as baseStyles } from '../shared/base.styles.js';
7
7
  import { styles } from './field-base.styles.js';
8
8
  import { fieldDefaultsContext } from './field-defaults-context.js';
9
- export class UmFieldBase extends LitElement {
9
+ export class FieldBase extends LitElement {
10
10
  static { this.styles = [baseStyles, styles]; }
11
11
  static setDefaults(contextRoot, config) {
12
12
  return new ContextProvider(contextRoot, {
@@ -16,12 +16,22 @@ export class UmFieldBase extends LitElement {
16
16
  }
17
17
  constructor() {
18
18
  super();
19
+ /**
20
+ * The Field variant to render. When omitted, falls back to the variant
21
+ * provided by the surrounding `fieldDefaultsContext` (or `'filled'`).
22
+ */
19
23
  this.variant = 'filled';
24
+ /**
25
+ * Whether to hide the counter from the supporting text line
26
+ */
20
27
  this.hideCounter = false;
21
28
  /**
22
29
  * Whether the field is empty or not. This changes the behavior of the floating label when the field is not focused.
23
30
  */
24
31
  this.empty = false;
32
+ /**
33
+ * Whether the field is disabled
34
+ */
25
35
  this.disabled = false;
26
36
  /**
27
37
  * Get or sets where or not the field is in a visually invalid state.
@@ -116,59 +126,59 @@ export class UmFieldBase extends LitElement {
116
126
  __decorate([
117
127
  consume({ context: fieldDefaultsContext, subscribe: true }),
118
128
  state()
119
- ], UmFieldBase.prototype, "config", void 0);
129
+ ], FieldBase.prototype, "config", void 0);
120
130
  __decorate([
121
131
  property()
122
- ], UmFieldBase.prototype, "variant", void 0);
132
+ ], FieldBase.prototype, "variant", void 0);
123
133
  __decorate([
124
134
  property()
125
- ], UmFieldBase.prototype, "label", void 0);
135
+ ], FieldBase.prototype, "label", void 0);
126
136
  __decorate([
127
137
  state()
128
- ], UmFieldBase.prototype, "_innerCounter", void 0);
138
+ ], FieldBase.prototype, "_innerCounter", void 0);
129
139
  __decorate([
130
140
  property()
131
- ], UmFieldBase.prototype, "counter", void 0);
141
+ ], FieldBase.prototype, "counter", void 0);
132
142
  __decorate([
133
143
  property({ type: Boolean, attribute: 'hide-counter' })
134
- ], UmFieldBase.prototype, "hideCounter", void 0);
144
+ ], FieldBase.prototype, "hideCounter", void 0);
135
145
  __decorate([
136
146
  property({ attribute: 'supporting-text' })
137
- ], UmFieldBase.prototype, "supportingText", void 0);
147
+ ], FieldBase.prototype, "supportingText", void 0);
138
148
  __decorate([
139
149
  property({ attribute: 'error-text' })
140
- ], UmFieldBase.prototype, "errorText", void 0);
150
+ ], FieldBase.prototype, "errorText", void 0);
141
151
  __decorate([
142
152
  property({ type: Boolean, reflect: true })
143
- ], UmFieldBase.prototype, "empty", void 0);
153
+ ], FieldBase.prototype, "empty", void 0);
144
154
  __decorate([
145
155
  property({ type: Boolean, reflect: true })
146
- ], UmFieldBase.prototype, "disabled", void 0);
156
+ ], FieldBase.prototype, "disabled", void 0);
147
157
  __decorate([
148
158
  property({ type: Boolean, reflect: true })
149
- ], UmFieldBase.prototype, "invalid", void 0);
159
+ ], FieldBase.prototype, "invalid", void 0);
150
160
  __decorate([
151
161
  property({ type: Boolean, attribute: 'has-leading-icon', reflect: true })
152
- ], UmFieldBase.prototype, "hasLeadingIcon", void 0);
162
+ ], FieldBase.prototype, "hasLeadingIcon", void 0);
153
163
  __decorate([
154
164
  property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true })
155
- ], UmFieldBase.prototype, "hasTrailingIcon", void 0);
165
+ ], FieldBase.prototype, "hasTrailingIcon", void 0);
156
166
  __decorate([
157
167
  property({ type: Boolean, attribute: 'has-error-text', reflect: true })
158
- ], UmFieldBase.prototype, "hasErrorText", void 0);
168
+ ], FieldBase.prototype, "hasErrorText", void 0);
159
169
  __decorate([
160
170
  queryAssignedElements({ slot: 'leading-icon', flatten: true })
161
- ], UmFieldBase.prototype, "assignedLeadingIcons", void 0);
171
+ ], FieldBase.prototype, "assignedLeadingIcons", void 0);
162
172
  __decorate([
163
173
  queryAssignedElements({ slot: 'trailing-icon', flatten: true })
164
- ], UmFieldBase.prototype, "assignedTrailingIcons", void 0);
174
+ ], FieldBase.prototype, "assignedTrailingIcons", void 0);
165
175
  __decorate([
166
176
  queryAssignedElements({ slot: 'error-text', flatten: true })
167
- ], UmFieldBase.prototype, "assignedErrorTexts", void 0);
177
+ ], FieldBase.prototype, "assignedErrorTexts", void 0);
168
178
  __decorate([
169
179
  query('.label', true)
170
- ], UmFieldBase.prototype, "_labelElement", void 0);
180
+ ], FieldBase.prototype, "_labelElement", void 0);
171
181
  __decorate([
172
182
  query('.container', true)
173
- ], UmFieldBase.prototype, "_container", void 0);
183
+ ], FieldBase.prototype, "_container", void 0);
174
184
  //# sourceMappingURL=field-base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-base.js","sourceRoot":"","sources":["../../src/field/field-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { consume, Context, ContextProvider } from '@lit/context';\nimport { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { html, LitElement, nothing, TemplateResult } from 'lit';\nimport { property, query, queryAssignedElements, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './field-base.styles.js';\nimport { fieldDefaultsContext } from './field-defaults-context.js';\nimport { UmFieldDefaults } from './field-defaults.js';\n\nexport abstract class UmFieldBase extends LitElement {\n static override styles: CSSResultGroup = [baseStyles, styles];\n\n @consume({ context: fieldDefaultsContext, subscribe: true })\n @state()\n private readonly config: UmFieldDefaults | undefined;\n\n @property() variant: 'filled' | 'outlined' | undefined = 'filled';\n\n /**\n * The floating label for the field\n */\n @property()\n label: string | undefined;\n\n @state() protected _innerCounter: string | undefined;\n @property() counter: string | undefined;\n\n @property({ type: Boolean, attribute: 'hide-counter' }) hideCounter = false;\n\n /**\n * Supporting text conveys additional information about the field, such as how it will be used\n */\n @property({ attribute: 'supporting-text' }) supportingText: string | undefined;\n\n /**\n * For text fields that validate their content (such as passwords), replace supporting text with error text when applicable.\n * If `errorText` is not an empty string, changing the property `invalid` to `true` will show the `errorText` instead of `supportingText`\n */\n @property({ attribute: 'error-text' }) errorText: string | undefined;\n\n /**\n * Whether the field is empty or not. This changes the behavior of the floating label when the field is not focused.\n */\n @property({ type: Boolean, reflect: true }) empty = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Get or sets where or not the field is in a visually invalid state.\n */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n static setDefaults(\n contextRoot: HTMLElement,\n config: UmFieldDefaults,\n ): ContextProvider<Context<HTMLElement, UmFieldDefaults>> {\n return new ContextProvider(contextRoot, {\n context: fieldDefaultsContext,\n initialValue: config,\n });\n }\n\n /**\n * Whether the field has a leading icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-leading-icon', reflect: true })\n hasLeadingIcon = false;\n\n /**\n * Whether the field has a trailing icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true })\n hasTrailingIcon = false;\n\n /**\n * Whether the field has an error text or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-error-text', reflect: true })\n hasErrorText = false;\n\n @queryAssignedElements({ slot: 'leading-icon', flatten: true })\n protected readonly assignedLeadingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'trailing-icon', flatten: true })\n protected readonly assignedTrailingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'error-text', flatten: true })\n private readonly assignedErrorTexts!: HTMLElement[];\n\n @query('.label', true) private readonly _labelElement!: HTMLElement;\n @query('.container', true) protected _container!: HTMLElement;\n\n constructor() {\n super();\n this.variant = undefined;\n }\n\n protected override render(): TemplateResult {\n const variant = this.variant ?? this.config?.variant ?? 'filled';\n\n const classes = {\n [variant]: true,\n 'no-label': !this.label,\n };\n\n const counter = html`\n <slot class=\"counter\" name=\"counter\">\n <div>${this.counter ?? this._innerCounter}</div>\n </slot>\n `;\n\n const outline = html`\n <div class=\"outline\">\n <div class=\"outline-start\"></div>\n <div class=\"outline-notch\">\n <div class=\"outline-notch-label\">${this.label}</div>\n </div>\n <div class=\"outline-end\"></div>\n </div>\n `;\n\n return html`\n <div class=\"container ${classMap(classes)}\">\n ${variant === 'outlined' ? outline : nothing}\n <slot class=\"icon leading-icon\" name=\"leading-icon\" @slotchange=\"${this.handleLeadingIconSlotChange}\"></slot>\n <label class=\"label\" id=\"label\">${this.label}</label>\n <div class=\"input-wrapper\" part=\"wrapper\">${this.renderControl()}</div>\n <slot class=\"icon trailing-icon\" name=\"trailing-icon\" @slotchange=\"${this.handleTrailingIconSlotChange}\">\n <span>${this.renderDefaultTrailingIcon()}</span>\n </slot>\n </div>\n <div class=\"supporting-text\" id=\"supporting-text\">\n <slot class=\"error-text\" name=\"error-text\" @slotchange=\"${this.handleErrorTextSlotChange}\">\n <div>${this.errorText}</div>\n </slot>\n <slot name=\"supporting-text\" id=\"supporting-text\">\n <div>${this.supportingText}</div>\n </slot>\n ${this.hideCounter ? nothing : counter}\n </div>\n ${this.renderAfterContent()}\n `;\n }\n\n protected abstract renderControl(): TemplateResult;\n\n protected renderAfterContent(): TemplateResult {\n return html``;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.hasLeadingIcon = !!this.assignedLeadingIcons.length;\n }\n\n private handleLeadingIconSlotChange() {\n this._labelElement.style.transition = 'none';\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n\n setTimeout(() => {\n this._labelElement.style.transition = '';\n });\n }\n\n private handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n private handleErrorTextSlotChange() {\n this.hasErrorText = this.assignedErrorTexts.length > 0;\n }\n\n protected renderDefaultTrailingIcon(): TemplateResult | typeof nothing {\n return nothing;\n }\n}\n"]}
1
+ {"version":3,"file":"field-base.js","sourceRoot":"","sources":["../../src/field/field-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { consume, Context, ContextProvider } from '@lit/context';\nimport { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { html, LitElement, nothing, TemplateResult } from 'lit';\nimport { property, query, queryAssignedElements, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './field-base.styles.js';\nimport { fieldDefaultsContext } from './field-defaults-context.js';\nimport { FieldDefaults } from './field-defaults.js';\n\nexport abstract class FieldBase extends LitElement {\n static override styles: CSSResultGroup = [baseStyles, styles];\n\n @consume({ context: fieldDefaultsContext, subscribe: true })\n @state()\n private readonly config: FieldDefaults | undefined;\n\n /**\n * The Field variant to render. When omitted, falls back to the variant\n * provided by the surrounding `fieldDefaultsContext` (or `'filled'`).\n */\n @property() variant: 'filled' | 'outlined' | undefined = 'filled';\n\n /**\n * The floating label for the field\n */\n @property()\n label: string | undefined;\n\n @state() protected _innerCounter: string | undefined;\n\n /**\n * Custom counter text shown in the supporting line, overriding the\n * automatic character-count counter\n */\n @property() counter: string | undefined;\n\n /**\n * Whether to hide the counter from the supporting text line\n */\n @property({ type: Boolean, attribute: 'hide-counter' }) hideCounter = false;\n\n /**\n * Supporting text conveys additional information about the field, such as how it will be used\n */\n @property({ attribute: 'supporting-text' }) supportingText: string | undefined;\n\n /**\n * For text fields that validate their content (such as passwords), replace supporting text with error text when applicable.\n * If `errorText` is not an empty string, changing the property `invalid` to `true` will show the `errorText` instead of `supportingText`\n */\n @property({ attribute: 'error-text' }) errorText: string | undefined;\n\n /**\n * Whether the field is empty or not. This changes the behavior of the floating label when the field is not focused.\n */\n @property({ type: Boolean, reflect: true }) empty = false;\n\n /**\n * Whether the field is disabled\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Get or sets where or not the field is in a visually invalid state.\n */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n static setDefaults(\n contextRoot: HTMLElement,\n config: FieldDefaults,\n ): ContextProvider<Context<HTMLElement, FieldDefaults>> {\n return new ContextProvider(contextRoot, {\n context: fieldDefaultsContext,\n initialValue: config,\n });\n }\n\n /**\n * Whether the field has a leading icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-leading-icon', reflect: true })\n hasLeadingIcon = false;\n\n /**\n * Whether the field has a trailing icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true })\n hasTrailingIcon = false;\n\n /**\n * Whether the field has an error text or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-error-text', reflect: true })\n hasErrorText = false;\n\n @queryAssignedElements({ slot: 'leading-icon', flatten: true })\n protected readonly assignedLeadingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'trailing-icon', flatten: true })\n protected readonly assignedTrailingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'error-text', flatten: true })\n private readonly assignedErrorTexts!: HTMLElement[];\n\n @query('.label', true) private readonly _labelElement!: HTMLElement;\n @query('.container', true) protected _container!: HTMLElement;\n\n constructor() {\n super();\n this.variant = undefined;\n }\n\n protected override render(): TemplateResult {\n const variant = this.variant ?? this.config?.variant ?? 'filled';\n\n const classes = {\n [variant]: true,\n 'no-label': !this.label,\n };\n\n const counter = html`\n <slot class=\"counter\" name=\"counter\">\n <div>${this.counter ?? this._innerCounter}</div>\n </slot>\n `;\n\n const outline = html`\n <div class=\"outline\">\n <div class=\"outline-start\"></div>\n <div class=\"outline-notch\">\n <div class=\"outline-notch-label\">${this.label}</div>\n </div>\n <div class=\"outline-end\"></div>\n </div>\n `;\n\n return html`\n <div class=\"container ${classMap(classes)}\">\n ${variant === 'outlined' ? outline : nothing}\n <slot class=\"icon leading-icon\" name=\"leading-icon\" @slotchange=\"${this.handleLeadingIconSlotChange}\"></slot>\n <label class=\"label\" id=\"label\">${this.label}</label>\n <div class=\"input-wrapper\" part=\"wrapper\">${this.renderControl()}</div>\n <slot class=\"icon trailing-icon\" name=\"trailing-icon\" @slotchange=\"${this.handleTrailingIconSlotChange}\">\n <span>${this.renderDefaultTrailingIcon()}</span>\n </slot>\n </div>\n <div class=\"supporting-text\" id=\"supporting-text\">\n <slot class=\"error-text\" name=\"error-text\" @slotchange=\"${this.handleErrorTextSlotChange}\">\n <div>${this.errorText}</div>\n </slot>\n <slot name=\"supporting-text\" id=\"supporting-text\">\n <div>${this.supportingText}</div>\n </slot>\n ${this.hideCounter ? nothing : counter}\n </div>\n ${this.renderAfterContent()}\n `;\n }\n\n protected abstract renderControl(): TemplateResult;\n\n protected renderAfterContent(): TemplateResult {\n return html``;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.hasLeadingIcon = !!this.assignedLeadingIcons.length;\n }\n\n private handleLeadingIconSlotChange() {\n this._labelElement.style.transition = 'none';\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n\n setTimeout(() => {\n this._labelElement.style.transition = '';\n });\n }\n\n private handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n private handleErrorTextSlotChange() {\n this.hasErrorText = this.assignedErrorTexts.length > 0;\n }\n\n protected renderDefaultTrailingIcon(): TemplateResult | typeof nothing {\n return nothing;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { UmFieldDefaults } from './field-defaults.js';
1
+ import { FieldDefaults } from './field-defaults.js';
2
2
  export declare const fieldDefaultsContext: {
3
- __context__: UmFieldDefaults;
3
+ __context__: FieldDefaults;
4
4
  };
5
5
  //# sourceMappingURL=field-defaults-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-defaults-context.d.ts","sourceRoot":"","sources":["../../src/field/field-defaults-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,eAAO,MAAM,oBAAoB;;CAA6D,CAAC"}
1
+ {"version":3,"file":"field-defaults-context.d.ts","sourceRoot":"","sources":["../../src/field/field-defaults-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,eAAO,MAAM,oBAAoB;;CAA2D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-defaults-context.js","sourceRoot":"","sources":["../../src/field/field-defaults-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAkB,0BAA0B,CAAC,CAAC","sourcesContent":["import { createContext } from '@lit/context';\n\nimport { UmFieldDefaults } from './field-defaults.js';\n\nexport const fieldDefaultsContext = createContext<UmFieldDefaults>('u-field-defaults-context');\n"]}
1
+ {"version":3,"file":"field-defaults-context.js","sourceRoot":"","sources":["../../src/field/field-defaults-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAgB,0BAA0B,CAAC,CAAC","sourcesContent":["import { createContext } from '@lit/context';\n\nimport { FieldDefaults } from './field-defaults.js';\n\nexport const fieldDefaultsContext = createContext<FieldDefaults>('u-field-defaults-context');\n"]}
@@ -1,5 +1,5 @@
1
- import { UmFieldVariant } from './field-variant.js';
2
- export interface UmFieldDefaults {
3
- variant: UmFieldVariant;
1
+ import { FieldVariant } from './field-variant.js';
2
+ export interface FieldDefaults {
3
+ variant: FieldVariant;
4
4
  }
5
5
  //# sourceMappingURL=field-defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-defaults.d.ts","sourceRoot":"","sources":["../../src/field/field-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;CACzB"}
1
+ {"version":3,"file":"field-defaults.d.ts","sourceRoot":"","sources":["../../src/field/field-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,CAAC;CACvB"}