@awc-ui/core 1.0.0-beta.2 → 1.0.0-beta.3

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 (698) hide show
  1. package/README.md +18 -0
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  3. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  4. package/dist/cjs/engine.wasm-9JtXME10.js +12 -0
  5. package/dist/cjs/engine.wasm-9JtXME10.js.map +1 -0
  6. package/dist/cjs/{index-DlQ_5_Mv.js → index-Bm07YAg9.js} +4 -15
  7. package/dist/cjs/index-Bm07YAg9.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +3 -2
  9. package/dist/cjs/loader.cjs.js.map +1 -1
  10. package/dist/cjs/md-accordion-item.cjs.entry.js +1 -1
  11. package/dist/cjs/md-accordion.cjs.entry.js +1 -1
  12. package/dist/cjs/md-app-bar.cjs.entry.js +1 -1
  13. package/dist/cjs/md-area-chart.cjs.entry.js +1 -1
  14. package/dist/cjs/md-autocomplete.cjs.entry.js +2 -2
  15. package/dist/cjs/md-avatar_2.cjs.entry.js +1 -1
  16. package/dist/cjs/md-badge.cjs.entry.js +1 -1
  17. package/dist/cjs/md-bar-chart.cjs.entry.js +1 -1
  18. package/dist/cjs/md-bottom-sheet.cjs.entry.js +1 -1
  19. package/dist/cjs/md-breadcrumb-item.cjs.entry.js +1 -1
  20. package/dist/cjs/md-breadcrumbs.cjs.entry.js +1 -1
  21. package/dist/cjs/md-button-group.cjs.entry.js +1 -1
  22. package/dist/cjs/md-button_7.cjs.entry.js +1 -1
  23. package/dist/cjs/md-checkbox.cjs.entry.js +1 -1
  24. package/dist/cjs/md-chip.cjs.entry.js +1 -1
  25. package/dist/cjs/md-color-picker.cjs.entry.js +1 -1
  26. package/dist/cjs/md-date-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/md-dialog.cjs.entry.js +1 -1
  28. package/dist/cjs/md-divider.cjs.entry.js +1 -1
  29. package/dist/cjs/md-fab-menu-item.cjs.entry.js +1 -1
  30. package/dist/cjs/md-fab-menu.cjs.entry.js +1 -1
  31. package/dist/cjs/md-fab.cjs.entry.js +1 -1
  32. package/dist/cjs/md-line-chart.cjs.entry.js +1 -1
  33. package/dist/cjs/md-list-item.cjs.entry.js +1 -1
  34. package/dist/cjs/md-list.cjs.entry.js +1 -1
  35. package/dist/cjs/md-menu-item-group.cjs.entry.js +1 -1
  36. package/dist/cjs/md-menu_2.cjs.entry.js +1 -1
  37. package/dist/cjs/md-meter.cjs.entry.js +1 -1
  38. package/dist/cjs/md-multi-select.cjs.entry.js +2 -2
  39. package/dist/cjs/md-navigation-bar.cjs.entry.js +1 -1
  40. package/dist/cjs/md-navigation-rail-tab.cjs.entry.js +1 -1
  41. package/dist/cjs/md-navigation-rail.cjs.entry.js +1 -1
  42. package/dist/cjs/md-navigation-tab.cjs.entry.js +1 -1
  43. package/dist/cjs/md-number-field.cjs.entry.js +1 -1
  44. package/dist/cjs/md-organization-chart.cjs.entry.js +1 -1
  45. package/dist/cjs/md-otp-field.cjs.entry.js +1 -1
  46. package/dist/cjs/md-pie-chart.cjs.entry.js +1 -1
  47. package/dist/cjs/md-progress-indicator.cjs.entry.js +1 -1
  48. package/dist/cjs/md-rating.cjs.entry.js +1 -1
  49. package/dist/cjs/md-search.cjs.entry.js +1 -1
  50. package/dist/cjs/md-segmented-button-set.cjs.entry.js +1 -1
  51. package/dist/cjs/md-segmented-button.cjs.entry.js +1 -1
  52. package/dist/cjs/md-select-option.cjs.entry.js +1 -1
  53. package/dist/cjs/md-select.cjs.entry.js +2 -2
  54. package/dist/cjs/md-side-sheet.cjs.entry.js +1 -1
  55. package/dist/cjs/md-skeleton.cjs.entry.js +1 -1
  56. package/dist/cjs/md-slider.cjs.entry.js +1 -1
  57. package/dist/cjs/md-sparkline.cjs.entry.js +1 -1
  58. package/dist/cjs/md-split-button.cjs.entry.js +1 -1
  59. package/dist/cjs/md-status-dot.cjs.entry.js +1 -1
  60. package/dist/cjs/md-step.cjs.entry.js +1 -1
  61. package/dist/cjs/md-stepper.cjs.entry.js +1 -1
  62. package/dist/cjs/md-sub-menu-item.cjs.entry.js +1 -1
  63. package/dist/cjs/md-switch.cjs.entry.js +1 -1
  64. package/dist/cjs/md-tab-panel.cjs.entry.js +1 -1
  65. package/dist/cjs/md-tab-panels.cjs.entry.js +1 -1
  66. package/dist/cjs/md-tab.cjs.entry.js +1 -1
  67. package/dist/cjs/md-table-body.cjs.entry.js +1 -1
  68. package/dist/cjs/md-table-cell.cjs.entry.js +1 -1
  69. package/dist/cjs/md-table-container.cjs.entry.js +1 -1
  70. package/dist/cjs/md-table-expand-toggle.cjs.entry.js +1 -1
  71. package/dist/cjs/md-table-foot.cjs.entry.js +1 -1
  72. package/dist/cjs/md-table-head.cjs.entry.js +1 -1
  73. package/dist/cjs/md-table-pagination.cjs.entry.js +1 -1
  74. package/dist/cjs/md-table-row.cjs.entry.js +1 -1
  75. package/dist/cjs/md-table-sort-label.cjs.entry.js +1 -1
  76. package/dist/cjs/md-table-toolbar.cjs.entry.js +1 -1
  77. package/dist/cjs/md-table.cjs.entry.js +1 -1
  78. package/dist/cjs/md-tabs.cjs.entry.js +1 -1
  79. package/dist/cjs/md-text-field.cjs.entry.js +1 -1
  80. package/dist/cjs/md-time-picker.cjs.entry.js +1 -1
  81. package/dist/cjs/md-toolbar.cjs.entry.js +1 -1
  82. package/dist/cjs/md-transfer-list.cjs.entry.js +1 -1
  83. package/dist/cjs/md3.cjs.js +3 -2
  84. package/dist/cjs/md3.cjs.js.map +1 -1
  85. package/dist/cjs/{virtual-select-controller-CqriaZgm.js → virtual-select-controller-C5cSoKfB.js} +10 -9
  86. package/dist/cjs/virtual-select-controller-C5cSoKfB.js.map +1 -0
  87. package/dist/collection/wasm/engine-abi.js +8 -2
  88. package/dist/collection/wasm/engine-abi.js.map +1 -1
  89. package/dist/components/index.js +1 -1
  90. package/dist/components/md-accordion-item.js +1 -1
  91. package/dist/components/md-accordion.js +1 -1
  92. package/dist/components/md-app-bar.js +1 -1
  93. package/dist/components/md-area-chart.js +1 -1
  94. package/dist/components/md-area-chart.js.map +1 -1
  95. package/dist/components/md-autocomplete.js +1 -1
  96. package/dist/components/md-avatar.js +1 -1
  97. package/dist/components/md-badge.js +1 -1
  98. package/dist/components/md-bar-chart.js +1 -1
  99. package/dist/components/md-bottom-sheet.js +1 -1
  100. package/dist/components/md-breadcrumb-item.js +1 -1
  101. package/dist/components/md-breadcrumbs.js +1 -1
  102. package/dist/components/md-button-group.js +1 -1
  103. package/dist/components/md-button.js +1 -1
  104. package/dist/components/md-card.js +1 -1
  105. package/dist/components/md-checkbox.js +1 -1
  106. package/dist/components/md-chip.js +1 -1
  107. package/dist/components/md-color-picker.js +1 -1
  108. package/dist/components/md-date-picker.js +1 -1
  109. package/dist/components/md-dialog.js +1 -1
  110. package/dist/components/md-divider.js +1 -1
  111. package/dist/components/md-fab-menu-item.js +1 -1
  112. package/dist/components/md-fab-menu.js +1 -1
  113. package/dist/components/md-fab.js +1 -1
  114. package/dist/components/md-icon-button.js +1 -1
  115. package/dist/components/md-line-chart.js +1 -1
  116. package/dist/components/md-list-item.js +1 -1
  117. package/dist/components/md-list.js +1 -1
  118. package/dist/components/md-loading-indicator.js +1 -1
  119. package/dist/components/md-menu-item-group.js +1 -1
  120. package/dist/components/md-menu-item.js +1 -1
  121. package/dist/components/md-menu.js +1 -1
  122. package/dist/components/md-meter.js +1 -1
  123. package/dist/components/md-multi-select.js +1 -1
  124. package/dist/components/md-navigation-bar.js +1 -1
  125. package/dist/components/md-navigation-rail-tab.js +1 -1
  126. package/dist/components/md-navigation-rail.js +1 -1
  127. package/dist/components/md-navigation-tab.js +1 -1
  128. package/dist/components/md-number-field.js +1 -1
  129. package/dist/components/md-organization-chart.js +1 -1
  130. package/dist/components/md-otp-field.js +1 -1
  131. package/dist/components/md-pie-chart.js +1 -1
  132. package/dist/components/md-progress-indicator.js +1 -1
  133. package/dist/components/md-radio.js +1 -1
  134. package/dist/components/md-rating.js +1 -1
  135. package/dist/components/md-ripple.js +1 -1
  136. package/dist/components/md-search.js +1 -1
  137. package/dist/components/md-segmented-button-set.js +1 -1
  138. package/dist/components/md-segmented-button.js +1 -1
  139. package/dist/components/md-select-option.js +1 -1
  140. package/dist/components/md-select.js +1 -1
  141. package/dist/components/md-side-sheet.js +1 -1
  142. package/dist/components/md-skeleton.js +1 -1
  143. package/dist/components/md-slider.js +1 -1
  144. package/dist/components/md-snackbar.js +1 -1
  145. package/dist/components/md-sparkline.js +1 -1
  146. package/dist/components/md-split-button.js +1 -1
  147. package/dist/components/md-status-dot.js +1 -1
  148. package/dist/components/md-step.js +1 -1
  149. package/dist/components/md-stepper.js +1 -1
  150. package/dist/components/md-sub-menu-item.js +1 -1
  151. package/dist/components/md-switch.js +1 -1
  152. package/dist/components/md-tab-panel.js +1 -1
  153. package/dist/components/md-tab-panels.js +1 -1
  154. package/dist/components/md-tab.js +1 -1
  155. package/dist/components/md-table-body.js +1 -1
  156. package/dist/components/md-table-cell.js +1 -1
  157. package/dist/components/md-table-container.js +1 -1
  158. package/dist/components/md-table-expand-toggle.js +1 -1
  159. package/dist/components/md-table-foot.js +1 -1
  160. package/dist/components/md-table-head.js +1 -1
  161. package/dist/components/md-table-pagination.js +1 -1
  162. package/dist/components/md-table-row.js +1 -1
  163. package/dist/components/md-table-sort-label.js +1 -1
  164. package/dist/components/md-table-toolbar.js +1 -1
  165. package/dist/components/md-table.js +1 -1
  166. package/dist/components/md-tabs.js +1 -1
  167. package/dist/components/md-text-field.js +1 -1
  168. package/dist/components/md-time-picker.js +1 -1
  169. package/dist/components/md-toolbar.js +1 -1
  170. package/dist/components/md-tooltip.js +1 -1
  171. package/dist/components/md-transfer-list.js +1 -1
  172. package/dist/components/p-B-JfuA2g.js +2 -0
  173. package/dist/components/p-B-JfuA2g.js.map +1 -0
  174. package/dist/components/p-B-iHDK5h.js +2 -0
  175. package/dist/components/p-B-iHDK5h.js.map +1 -0
  176. package/dist/components/p-BA2v4IuG.js +2 -0
  177. package/dist/components/p-BA2v4IuG.js.map +1 -0
  178. package/dist/components/p-BADA63mI.js +2 -0
  179. package/dist/components/p-BADA63mI.js.map +1 -0
  180. package/dist/components/p-BR6gfOQH.js +2 -0
  181. package/dist/components/p-BR6gfOQH.js.map +1 -0
  182. package/dist/components/p-Bz-JaJcA.js +2 -0
  183. package/dist/components/p-Bz-JaJcA.js.map +1 -0
  184. package/dist/components/p-CCMritCA.js +2 -0
  185. package/dist/components/p-CCMritCA.js.map +1 -0
  186. package/dist/components/p-CTC8XAB6.js +2 -0
  187. package/dist/components/p-CTC8XAB6.js.map +1 -0
  188. package/dist/components/p-CfBPnYW7.js +2 -0
  189. package/dist/components/p-CfBPnYW7.js.map +1 -0
  190. package/dist/components/p-CtVItLby.js +2 -0
  191. package/dist/components/p-CtVItLby.js.map +1 -0
  192. package/dist/components/p-D8oM1Kr3.js +2 -0
  193. package/dist/components/p-D8oM1Kr3.js.map +1 -0
  194. package/dist/components/{p-Ddiw2Kjw.js → p-DEzb9xsY.js} +2 -2
  195. package/dist/components/p-DEzb9xsY.js.map +1 -0
  196. package/dist/components/p-DYL-8C5C.js +2 -0
  197. package/dist/components/p-DYL-8C5C.js.map +1 -0
  198. package/dist/components/p-DfU4xY2F.js +2 -0
  199. package/dist/components/p-DfU4xY2F.js.map +1 -0
  200. package/dist/components/p-Eb44PPZa.js +2 -0
  201. package/dist/components/p-Eb44PPZa.js.map +1 -0
  202. package/dist/components/{p-UdGDg2oJ.js → p-Lsoo1B-2.js} +2 -2
  203. package/dist/components/p-Lsoo1B-2.js.map +1 -0
  204. package/dist/components/p-tSoecrcz.js +2 -0
  205. package/dist/components/p-tSoecrcz.js.map +1 -0
  206. package/dist/components-csr/index.js +2 -0
  207. package/dist/components-csr/index.js.map +1 -0
  208. package/dist/components-csr/md-accordion-item.js +2 -0
  209. package/dist/components-csr/md-accordion-item.js.map +1 -0
  210. package/dist/components-csr/md-accordion.js +2 -0
  211. package/dist/components-csr/md-accordion.js.map +1 -0
  212. package/dist/components-csr/md-app-bar.js +2 -0
  213. package/dist/components-csr/md-app-bar.js.map +1 -0
  214. package/dist/components-csr/md-area-chart.js +2 -0
  215. package/dist/components-csr/md-area-chart.js.map +1 -0
  216. package/dist/components-csr/md-autocomplete.js +2 -0
  217. package/dist/components-csr/md-autocomplete.js.map +1 -0
  218. package/dist/components-csr/md-avatar.js +2 -0
  219. package/dist/components-csr/md-avatar.js.map +1 -0
  220. package/dist/components-csr/md-badge.js +2 -0
  221. package/dist/components-csr/md-badge.js.map +1 -0
  222. package/dist/components-csr/md-bar-chart.js +2 -0
  223. package/dist/components-csr/md-bar-chart.js.map +1 -0
  224. package/dist/components-csr/md-bottom-sheet.js +2 -0
  225. package/dist/components-csr/md-bottom-sheet.js.map +1 -0
  226. package/dist/components-csr/md-breadcrumb-item.js +2 -0
  227. package/dist/components-csr/md-breadcrumb-item.js.map +1 -0
  228. package/dist/components-csr/md-breadcrumbs.js +2 -0
  229. package/dist/components-csr/md-breadcrumbs.js.map +1 -0
  230. package/dist/components-csr/md-button-group.js +2 -0
  231. package/dist/components-csr/md-button-group.js.map +1 -0
  232. package/dist/components-csr/md-button.js +2 -0
  233. package/dist/components-csr/md-button.js.map +1 -0
  234. package/dist/components-csr/md-card.js +2 -0
  235. package/dist/components-csr/md-card.js.map +1 -0
  236. package/dist/components-csr/md-checkbox.js +2 -0
  237. package/dist/components-csr/md-checkbox.js.map +1 -0
  238. package/dist/components-csr/md-chip.js +2 -0
  239. package/dist/components-csr/md-chip.js.map +1 -0
  240. package/dist/components-csr/md-color-picker.js +2 -0
  241. package/dist/components-csr/md-color-picker.js.map +1 -0
  242. package/dist/components-csr/md-date-picker.js +2 -0
  243. package/dist/components-csr/md-date-picker.js.map +1 -0
  244. package/dist/components-csr/md-dialog.js +2 -0
  245. package/dist/components-csr/md-dialog.js.map +1 -0
  246. package/dist/components-csr/md-divider.js +2 -0
  247. package/dist/components-csr/md-divider.js.map +1 -0
  248. package/dist/components-csr/md-fab-menu-item.js +2 -0
  249. package/dist/components-csr/md-fab-menu-item.js.map +1 -0
  250. package/dist/components-csr/md-fab-menu.js +2 -0
  251. package/dist/components-csr/md-fab-menu.js.map +1 -0
  252. package/dist/components-csr/md-fab.js +2 -0
  253. package/dist/components-csr/md-fab.js.map +1 -0
  254. package/dist/components-csr/md-icon-button.js +2 -0
  255. package/dist/components-csr/md-icon-button.js.map +1 -0
  256. package/dist/components-csr/md-line-chart.js +2 -0
  257. package/dist/components-csr/md-line-chart.js.map +1 -0
  258. package/dist/components-csr/md-list-item.js +2 -0
  259. package/dist/components-csr/md-list-item.js.map +1 -0
  260. package/dist/components-csr/md-list.js +2 -0
  261. package/dist/components-csr/md-list.js.map +1 -0
  262. package/dist/components-csr/md-loading-indicator.js +2 -0
  263. package/dist/components-csr/md-loading-indicator.js.map +1 -0
  264. package/dist/components-csr/md-menu-item-group.js +2 -0
  265. package/dist/components-csr/md-menu-item-group.js.map +1 -0
  266. package/dist/components-csr/md-menu-item.js +2 -0
  267. package/dist/components-csr/md-menu-item.js.map +1 -0
  268. package/dist/components-csr/md-menu.js +2 -0
  269. package/dist/components-csr/md-menu.js.map +1 -0
  270. package/dist/components-csr/md-meter.js +2 -0
  271. package/dist/components-csr/md-meter.js.map +1 -0
  272. package/dist/components-csr/md-multi-select.js +2 -0
  273. package/dist/components-csr/md-multi-select.js.map +1 -0
  274. package/dist/components-csr/md-navigation-bar.js +2 -0
  275. package/dist/components-csr/md-navigation-bar.js.map +1 -0
  276. package/dist/components-csr/md-navigation-rail-tab.js +2 -0
  277. package/dist/components-csr/md-navigation-rail-tab.js.map +1 -0
  278. package/dist/components-csr/md-navigation-rail.js +2 -0
  279. package/dist/components-csr/md-navigation-rail.js.map +1 -0
  280. package/dist/components-csr/md-navigation-tab.js +2 -0
  281. package/dist/components-csr/md-navigation-tab.js.map +1 -0
  282. package/dist/components-csr/md-number-field.js +2 -0
  283. package/dist/components-csr/md-number-field.js.map +1 -0
  284. package/dist/components-csr/md-organization-chart.js +2 -0
  285. package/dist/components-csr/md-organization-chart.js.map +1 -0
  286. package/dist/components-csr/md-otp-field.js +2 -0
  287. package/dist/components-csr/md-otp-field.js.map +1 -0
  288. package/dist/components-csr/md-pie-chart.js +2 -0
  289. package/dist/components-csr/md-pie-chart.js.map +1 -0
  290. package/dist/components-csr/md-progress-indicator.js +2 -0
  291. package/dist/components-csr/md-progress-indicator.js.map +1 -0
  292. package/dist/components-csr/md-radio.js +2 -0
  293. package/dist/components-csr/md-radio.js.map +1 -0
  294. package/dist/components-csr/md-rating.js +2 -0
  295. package/dist/components-csr/md-rating.js.map +1 -0
  296. package/dist/components-csr/md-ripple.js +2 -0
  297. package/dist/components-csr/md-ripple.js.map +1 -0
  298. package/dist/components-csr/md-search.js +2 -0
  299. package/dist/components-csr/md-search.js.map +1 -0
  300. package/dist/components-csr/md-segmented-button-set.js +2 -0
  301. package/dist/components-csr/md-segmented-button-set.js.map +1 -0
  302. package/dist/components-csr/md-segmented-button.js +2 -0
  303. package/dist/components-csr/md-segmented-button.js.map +1 -0
  304. package/dist/components-csr/md-select-option.js +2 -0
  305. package/dist/components-csr/md-select-option.js.map +1 -0
  306. package/dist/components-csr/md-select.js +2 -0
  307. package/dist/components-csr/md-select.js.map +1 -0
  308. package/dist/components-csr/md-side-sheet.js +2 -0
  309. package/dist/components-csr/md-side-sheet.js.map +1 -0
  310. package/dist/components-csr/md-skeleton.js +2 -0
  311. package/dist/components-csr/md-skeleton.js.map +1 -0
  312. package/dist/components-csr/md-slider.js +2 -0
  313. package/dist/components-csr/md-slider.js.map +1 -0
  314. package/dist/components-csr/md-snackbar.js +2 -0
  315. package/dist/components-csr/md-snackbar.js.map +1 -0
  316. package/dist/components-csr/md-sparkline.js +2 -0
  317. package/dist/components-csr/md-sparkline.js.map +1 -0
  318. package/dist/components-csr/md-split-button.js +2 -0
  319. package/dist/components-csr/md-split-button.js.map +1 -0
  320. package/dist/components-csr/md-status-dot.js +2 -0
  321. package/dist/components-csr/md-status-dot.js.map +1 -0
  322. package/dist/components-csr/md-step.js +2 -0
  323. package/dist/components-csr/md-step.js.map +1 -0
  324. package/dist/components-csr/md-stepper.js +2 -0
  325. package/dist/components-csr/md-stepper.js.map +1 -0
  326. package/dist/components-csr/md-sub-menu-item.js +2 -0
  327. package/dist/components-csr/md-sub-menu-item.js.map +1 -0
  328. package/dist/components-csr/md-switch.js +2 -0
  329. package/dist/components-csr/md-switch.js.map +1 -0
  330. package/dist/components-csr/md-tab-panel.js +2 -0
  331. package/dist/components-csr/md-tab-panel.js.map +1 -0
  332. package/dist/components-csr/md-tab-panels.js +2 -0
  333. package/dist/components-csr/md-tab-panels.js.map +1 -0
  334. package/dist/components-csr/md-tab.js +2 -0
  335. package/dist/components-csr/md-tab.js.map +1 -0
  336. package/dist/components-csr/md-table-body.js +2 -0
  337. package/dist/components-csr/md-table-body.js.map +1 -0
  338. package/dist/components-csr/md-table-cell.js +2 -0
  339. package/dist/components-csr/md-table-cell.js.map +1 -0
  340. package/dist/components-csr/md-table-container.js +2 -0
  341. package/dist/components-csr/md-table-container.js.map +1 -0
  342. package/dist/components-csr/md-table-expand-toggle.js +2 -0
  343. package/dist/components-csr/md-table-expand-toggle.js.map +1 -0
  344. package/dist/components-csr/md-table-foot.js +2 -0
  345. package/dist/components-csr/md-table-foot.js.map +1 -0
  346. package/dist/components-csr/md-table-head.js +2 -0
  347. package/dist/components-csr/md-table-head.js.map +1 -0
  348. package/dist/components-csr/md-table-pagination.js +2 -0
  349. package/dist/components-csr/md-table-pagination.js.map +1 -0
  350. package/dist/components-csr/md-table-row.js +2 -0
  351. package/dist/components-csr/md-table-row.js.map +1 -0
  352. package/dist/components-csr/md-table-sort-label.js +2 -0
  353. package/dist/components-csr/md-table-sort-label.js.map +1 -0
  354. package/dist/components-csr/md-table-toolbar.js +2 -0
  355. package/dist/components-csr/md-table-toolbar.js.map +1 -0
  356. package/dist/components-csr/md-table.js +2 -0
  357. package/dist/components-csr/md-table.js.map +1 -0
  358. package/dist/components-csr/md-tabs.js +2 -0
  359. package/dist/components-csr/md-tabs.js.map +1 -0
  360. package/dist/components-csr/md-text-field.js +2 -0
  361. package/dist/components-csr/md-text-field.js.map +1 -0
  362. package/dist/components-csr/md-time-picker.js +2 -0
  363. package/dist/components-csr/md-time-picker.js.map +1 -0
  364. package/dist/components-csr/md-toolbar.js +2 -0
  365. package/dist/components-csr/md-toolbar.js.map +1 -0
  366. package/dist/components-csr/md-tooltip.js +2 -0
  367. package/dist/components-csr/md-tooltip.js.map +1 -0
  368. package/dist/components-csr/md-transfer-list.js +2 -0
  369. package/dist/components-csr/md-transfer-list.js.map +1 -0
  370. package/dist/{components/p-DXXUoRSH.js → components-csr/p--OUYjgKN.js} +2 -2
  371. package/dist/{components/p-Dp-w93ot.js → components-csr/p--TCJgZnE.js} +2 -2
  372. package/dist/components-csr/p-BdEoSBtL.js +2 -0
  373. package/dist/components-csr/p-BdEoSBtL.js.map +1 -0
  374. package/dist/components-csr/p-Bmu7RqHM.js +2 -0
  375. package/dist/components-csr/p-Bx6--dQF.js +2 -0
  376. package/dist/components-csr/p-Bx6--dQF.js.map +1 -0
  377. package/dist/components-csr/p-Bz-JaJcA.js +2 -0
  378. package/dist/components-csr/p-Bz-JaJcA.js.map +1 -0
  379. package/dist/{components/p-uTEkf0sE.js → components-csr/p-C0DlKmRg.js} +2 -2
  380. package/dist/{components/p-Ch2-tttM.js → components-csr/p-C4_7YnHT.js} +2 -2
  381. package/dist/{components/p-BwXpiUsu.js → components-csr/p-CG6FaRlt.js} +2 -2
  382. package/dist/{components/p-B0Opn6dK.js → components-csr/p-CSrxeWwL.js} +2 -2
  383. package/dist/components-csr/p-C_ogF68H.js +2 -0
  384. package/dist/components-csr/p-C_ogF68H.js.map +1 -0
  385. package/dist/components-csr/p-Cch_V1vi.js +2 -0
  386. package/dist/components-csr/p-Cch_V1vi.js.map +1 -0
  387. package/dist/components-csr/p-CfBPnYW7.js +2 -0
  388. package/dist/components-csr/p-CfBPnYW7.js.map +1 -0
  389. package/dist/{components/p-B3MWYEEJ.js → components-csr/p-CrbzXk64.js} +2 -2
  390. package/dist/components-csr/p-CxhZdOPw.js +2 -0
  391. package/dist/components-csr/p-CxhZdOPw.js.map +1 -0
  392. package/dist/{components/p-7fN_yCXW.js → components-csr/p-DF19mmLl.js} +2 -2
  393. package/dist/components-csr/p-DWxN44zD.js +2 -0
  394. package/dist/components-csr/p-DWxN44zD.js.map +1 -0
  395. package/dist/components-csr/p-DYBUr7K_.js +2 -0
  396. package/dist/components-csr/p-DYBUr7K_.js.map +1 -0
  397. package/dist/{components/p-e2HRV63Y.js → components-csr/p-DfcpeJAu.js} +2 -2
  398. package/dist/components-csr/p-DvOKnoqK.js +2 -0
  399. package/dist/components-csr/p-DvOKnoqK.js.map +1 -0
  400. package/dist/{components/p-C8EP4S21.js → components-csr/p-DvXQXhgu.js} +2 -2
  401. package/dist/components-csr/p-DzPKu-Ma.js +2 -0
  402. package/dist/components-csr/p-DzPKu-Ma.js.map +1 -0
  403. package/dist/{components/p-stybaFzj.js → components-csr/p-Hm3X1iai.js} +2 -2
  404. package/dist/{components/p-6wZSqm_2.js → components-csr/p-IWA0yIjJ.js} +2 -2
  405. package/dist/components-csr/p-RLxbNqRv.js +2 -0
  406. package/dist/components-csr/p-RLxbNqRv.js.map +1 -0
  407. package/dist/components-csr/p-bSpXNc5J.js +2 -0
  408. package/dist/components-csr/p-bSpXNc5J.js.map +1 -0
  409. package/dist/components-csr/p-uZbtHo-A.js +2 -0
  410. package/dist/components-csr/package.json +3 -0
  411. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  412. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  413. package/dist/esm/engine.wasm-CfBPnYW7.js +10 -0
  414. package/dist/esm/engine.wasm-CfBPnYW7.js.map +1 -0
  415. package/dist/esm/{index-DTaX19_O.js → index-WmvQpZnM.js} +5 -15
  416. package/dist/esm/index-WmvQpZnM.js.map +1 -0
  417. package/dist/esm/loader.js +3 -2
  418. package/dist/esm/loader.js.map +1 -1
  419. package/dist/esm/md-accordion-item.entry.js +1 -1
  420. package/dist/esm/md-accordion.entry.js +1 -1
  421. package/dist/esm/md-app-bar.entry.js +1 -1
  422. package/dist/esm/md-area-chart.entry.js +1 -1
  423. package/dist/esm/md-autocomplete.entry.js +2 -2
  424. package/dist/esm/md-avatar_2.entry.js +1 -1
  425. package/dist/esm/md-badge.entry.js +1 -1
  426. package/dist/esm/md-bar-chart.entry.js +1 -1
  427. package/dist/esm/md-bottom-sheet.entry.js +1 -1
  428. package/dist/esm/md-breadcrumb-item.entry.js +1 -1
  429. package/dist/esm/md-breadcrumbs.entry.js +1 -1
  430. package/dist/esm/md-button-group.entry.js +1 -1
  431. package/dist/esm/md-button_7.entry.js +1 -1
  432. package/dist/esm/md-checkbox.entry.js +1 -1
  433. package/dist/esm/md-chip.entry.js +1 -1
  434. package/dist/esm/md-color-picker.entry.js +1 -1
  435. package/dist/esm/md-date-picker.entry.js +1 -1
  436. package/dist/esm/md-dialog.entry.js +1 -1
  437. package/dist/esm/md-divider.entry.js +1 -1
  438. package/dist/esm/md-fab-menu-item.entry.js +1 -1
  439. package/dist/esm/md-fab-menu.entry.js +1 -1
  440. package/dist/esm/md-fab.entry.js +1 -1
  441. package/dist/esm/md-line-chart.entry.js +1 -1
  442. package/dist/esm/md-list-item.entry.js +1 -1
  443. package/dist/esm/md-list.entry.js +1 -1
  444. package/dist/esm/md-menu-item-group.entry.js +1 -1
  445. package/dist/esm/md-menu_2.entry.js +1 -1
  446. package/dist/esm/md-meter.entry.js +1 -1
  447. package/dist/esm/md-multi-select.entry.js +2 -2
  448. package/dist/esm/md-navigation-bar.entry.js +1 -1
  449. package/dist/esm/md-navigation-rail-tab.entry.js +1 -1
  450. package/dist/esm/md-navigation-rail.entry.js +1 -1
  451. package/dist/esm/md-navigation-tab.entry.js +1 -1
  452. package/dist/esm/md-number-field.entry.js +1 -1
  453. package/dist/esm/md-organization-chart.entry.js +1 -1
  454. package/dist/esm/md-otp-field.entry.js +1 -1
  455. package/dist/esm/md-pie-chart.entry.js +1 -1
  456. package/dist/esm/md-progress-indicator.entry.js +1 -1
  457. package/dist/esm/md-rating.entry.js +1 -1
  458. package/dist/esm/md-search.entry.js +1 -1
  459. package/dist/esm/md-segmented-button-set.entry.js +1 -1
  460. package/dist/esm/md-segmented-button.entry.js +1 -1
  461. package/dist/esm/md-select-option.entry.js +1 -1
  462. package/dist/esm/md-select.entry.js +2 -2
  463. package/dist/esm/md-side-sheet.entry.js +1 -1
  464. package/dist/esm/md-skeleton.entry.js +1 -1
  465. package/dist/esm/md-slider.entry.js +1 -1
  466. package/dist/esm/md-sparkline.entry.js +1 -1
  467. package/dist/esm/md-split-button.entry.js +1 -1
  468. package/dist/esm/md-status-dot.entry.js +1 -1
  469. package/dist/esm/md-step.entry.js +1 -1
  470. package/dist/esm/md-stepper.entry.js +1 -1
  471. package/dist/esm/md-sub-menu-item.entry.js +1 -1
  472. package/dist/esm/md-switch.entry.js +1 -1
  473. package/dist/esm/md-tab-panel.entry.js +1 -1
  474. package/dist/esm/md-tab-panels.entry.js +1 -1
  475. package/dist/esm/md-tab.entry.js +1 -1
  476. package/dist/esm/md-table-body.entry.js +1 -1
  477. package/dist/esm/md-table-cell.entry.js +1 -1
  478. package/dist/esm/md-table-container.entry.js +1 -1
  479. package/dist/esm/md-table-expand-toggle.entry.js +1 -1
  480. package/dist/esm/md-table-foot.entry.js +1 -1
  481. package/dist/esm/md-table-head.entry.js +1 -1
  482. package/dist/esm/md-table-pagination.entry.js +1 -1
  483. package/dist/esm/md-table-row.entry.js +1 -1
  484. package/dist/esm/md-table-sort-label.entry.js +1 -1
  485. package/dist/esm/md-table-toolbar.entry.js +1 -1
  486. package/dist/esm/md-table.entry.js +1 -1
  487. package/dist/esm/md-tabs.entry.js +1 -1
  488. package/dist/esm/md-text-field.entry.js +1 -1
  489. package/dist/esm/md-time-picker.entry.js +1 -1
  490. package/dist/esm/md-toolbar.entry.js +1 -1
  491. package/dist/esm/md-transfer-list.entry.js +1 -1
  492. package/dist/esm/md3.js +3 -2
  493. package/dist/esm/md3.js.map +1 -1
  494. package/dist/esm/{virtual-select-controller-BEWIC0pC.js → virtual-select-controller-CR60w6DO.js} +10 -9
  495. package/dist/esm/virtual-select-controller-CR60w6DO.js.map +1 -0
  496. package/dist/md3/md3.css +1 -1
  497. package/dist/md3/md3.esm.js +1 -1
  498. package/dist/md3/md3.esm.js.map +1 -1
  499. package/dist/md3/{p-2e9503d7.entry.js → p-0a599351.entry.js} +2 -2
  500. package/dist/md3/p-1d7e0203.entry.js +2 -0
  501. package/dist/md3/{p-fb61868c.entry.js.map → p-1d7e0203.entry.js.map} +1 -1
  502. package/dist/md3/p-1e85b8a8.entry.js +2 -0
  503. package/dist/md3/{p-aaec2698.entry.js.map → p-1e85b8a8.entry.js.map} +1 -1
  504. package/dist/md3/{p-396089fd.entry.js → p-1edb5a0d.entry.js} +2 -2
  505. package/dist/md3/{p-c00f7514.entry.js → p-21c89d1d.entry.js} +2 -2
  506. package/dist/md3/p-22633b2d.entry.js +2 -0
  507. package/dist/md3/{p-6b2871a0.entry.js.map → p-22633b2d.entry.js.map} +1 -1
  508. package/dist/md3/{p-2e09a7b7.entry.js → p-27135a6b.entry.js} +2 -2
  509. package/dist/md3/{p-c063c823.entry.js → p-2befc42c.entry.js} +2 -2
  510. package/dist/md3/p-2dda08b2.entry.js +2 -0
  511. package/dist/md3/{p-21772851.entry.js.map → p-2dda08b2.entry.js.map} +1 -1
  512. package/dist/md3/p-3508d0e0.entry.js +2 -0
  513. package/dist/md3/{p-f31ab454.entry.js.map → p-3508d0e0.entry.js.map} +1 -1
  514. package/dist/md3/{p-b34d385b.entry.js → p-35b05b45.entry.js} +2 -2
  515. package/dist/md3/{p-c2dd8c8c.entry.js → p-38e9a583.entry.js} +2 -2
  516. package/dist/md3/{p-3cce1de3.entry.js → p-38f82d34.entry.js} +2 -2
  517. package/dist/md3/p-3a4bd4eb.entry.js +2 -0
  518. package/dist/md3/{p-72457a85.entry.js.map → p-3a4bd4eb.entry.js.map} +1 -1
  519. package/dist/md3/{p-be02624e.entry.js → p-3c0469aa.entry.js} +2 -2
  520. package/dist/md3/{p-63b8c8d1.entry.js → p-408ee4be.entry.js} +2 -2
  521. package/dist/md3/{p-3015c7e3.entry.js → p-4770b534.entry.js} +2 -2
  522. package/dist/md3/p-4aed552f.entry.js +2 -0
  523. package/dist/md3/{p-6c44cf13.entry.js.map → p-4aed552f.entry.js.map} +1 -1
  524. package/dist/md3/{p-c5af701b.entry.js → p-4ba3623e.entry.js} +2 -2
  525. package/dist/md3/{p-7b463fbe.entry.js → p-4f2e82cb.entry.js} +2 -2
  526. package/dist/md3/{p-be412e3f.entry.js → p-501bf161.entry.js} +2 -2
  527. package/dist/md3/{p-81843ff7.entry.js → p-5929e59c.entry.js} +2 -2
  528. package/dist/md3/{p-32bdd439.entry.js → p-5c35f916.entry.js} +2 -2
  529. package/dist/md3/{p-ac35ac5f.entry.js → p-5db87a9d.entry.js} +2 -2
  530. package/dist/md3/{p-6038b907.entry.js → p-5f39b49d.entry.js} +2 -2
  531. package/dist/md3/p-637baee1.entry.js +2 -0
  532. package/dist/md3/{p-47af9819.entry.js.map → p-637baee1.entry.js.map} +1 -1
  533. package/dist/md3/{p-05ae91b6.entry.js → p-6bf632c7.entry.js} +2 -2
  534. package/dist/md3/{p-4e3d6e40.entry.js → p-6ea7117d.entry.js} +2 -2
  535. package/dist/md3/{p-9ddbf247.entry.js → p-7112374d.entry.js} +2 -2
  536. package/dist/md3/{p-1a8ec5bc.entry.js → p-7858833e.entry.js} +2 -2
  537. package/dist/md3/p-7c8842bf.entry.js +2 -0
  538. package/dist/md3/{p-ba2ebde1.entry.js.map → p-7c8842bf.entry.js.map} +1 -1
  539. package/dist/md3/{p-4d82132d.entry.js → p-7f53a423.entry.js} +2 -2
  540. package/dist/md3/{p-b0431a5c.entry.js → p-8135c606.entry.js} +2 -2
  541. package/dist/md3/{p-4dda4cb0.entry.js → p-845ca9cc.entry.js} +2 -2
  542. package/dist/md3/{p-5b74694e.entry.js → p-89d47130.entry.js} +2 -2
  543. package/dist/md3/p-8a6fed13.entry.js +2 -0
  544. package/dist/md3/{p-a803da99.entry.js.map → p-8a6fed13.entry.js.map} +1 -1
  545. package/dist/md3/{p-e3124e1e.entry.js → p-8b1ea5dc.entry.js} +2 -2
  546. package/dist/md3/{p-c10a33c2.entry.js → p-8e7df348.entry.js} +2 -2
  547. package/dist/md3/{p-65195996.entry.js → p-925768ac.entry.js} +2 -2
  548. package/dist/md3/p-944e69e0.entry.js +2 -0
  549. package/dist/md3/{p-a3308c40.entry.js.map → p-944e69e0.entry.js.map} +1 -1
  550. package/dist/md3/{p-ac8762e5.entry.js → p-96c06b24.entry.js} +2 -2
  551. package/dist/md3/p-9b9677cc.entry.js +2 -0
  552. package/dist/md3/{p-e7dc5a32.entry.js.map → p-9b9677cc.entry.js.map} +1 -1
  553. package/dist/md3/p-Bz-JaJcA.js +2 -0
  554. package/dist/md3/p-Bz-JaJcA.js.map +1 -0
  555. package/dist/md3/p-CfBPnYW7.js +2 -0
  556. package/dist/md3/p-CfBPnYW7.js.map +1 -0
  557. package/dist/md3/p-DQuL1Twl.js +2 -0
  558. package/dist/md3/p-DQuL1Twl.js.map +1 -0
  559. package/dist/md3/p-WmvQpZnM.js +3 -0
  560. package/dist/md3/p-WmvQpZnM.js.map +1 -0
  561. package/dist/md3/p-a3623653.entry.js +2 -0
  562. package/dist/md3/{p-19ee9c33.entry.js.map → p-a3623653.entry.js.map} +1 -1
  563. package/dist/md3/{p-a5fee424.entry.js → p-a49df43d.entry.js} +2 -2
  564. package/dist/md3/{p-da4e27d4.entry.js → p-a4d4cfed.entry.js} +2 -2
  565. package/dist/md3/{p-5394254f.entry.js → p-a976498b.entry.js} +2 -2
  566. package/dist/md3/{p-bf7842f8.entry.js → p-adf8a415.entry.js} +2 -2
  567. package/dist/md3/{p-c861d774.entry.js → p-ae360663.entry.js} +2 -2
  568. package/dist/md3/{p-8eb0b6a4.entry.js → p-b243284b.entry.js} +2 -2
  569. package/dist/md3/{p-45280bf4.entry.js → p-b2d88292.entry.js} +2 -2
  570. package/dist/md3/{p-796f79f8.entry.js → p-b3b5247b.entry.js} +2 -2
  571. package/dist/md3/{p-5b799707.entry.js → p-b4266f6b.entry.js} +2 -2
  572. package/dist/md3/p-b5586b66.entry.js +2 -0
  573. package/dist/md3/{p-04e97f5d.entry.js.map → p-b5586b66.entry.js.map} +1 -1
  574. package/dist/md3/{p-a7ffb779.entry.js → p-b7602557.entry.js} +2 -2
  575. package/dist/md3/{p-6ba63c73.entry.js → p-bc24f0c9.entry.js} +2 -2
  576. package/dist/md3/{p-edb34a6d.entry.js → p-bed8dfec.entry.js} +2 -2
  577. package/dist/md3/{p-50555bb7.entry.js → p-c0476406.entry.js} +2 -2
  578. package/dist/md3/{p-0c2e824d.entry.js → p-c20fbb9e.entry.js} +2 -2
  579. package/dist/md3/{p-4e45b2ff.entry.js → p-c58c68d0.entry.js} +2 -2
  580. package/dist/md3/{p-fc0b325d.entry.js → p-cdcea99f.entry.js} +2 -2
  581. package/dist/md3/{p-0f764a1e.entry.js → p-d2e39c6e.entry.js} +2 -2
  582. package/dist/md3/p-d7e99f9e.entry.js +2 -0
  583. package/dist/md3/{p-cf07e761.entry.js.map → p-d7e99f9e.entry.js.map} +1 -1
  584. package/dist/md3/{p-c1ca6f6c.entry.js → p-da0c36d9.entry.js} +2 -2
  585. package/dist/md3/{p-77a01bcc.entry.js → p-e3c37222.entry.js} +2 -2
  586. package/dist/md3/{p-39cb7c24.entry.js → p-e6b09e71.entry.js} +2 -2
  587. package/dist/md3/{p-b4631a55.entry.js → p-eddae19a.entry.js} +2 -2
  588. package/dist/md3/{p-c6a12344.entry.js → p-ef7b1826.entry.js} +2 -2
  589. package/dist/md3/p-f1b69181.entry.js +2 -0
  590. package/dist/md3/{p-a986fd24.entry.js.map → p-f1b69181.entry.js.map} +1 -1
  591. package/dist/md3/{p-e6d7f0ff.entry.js → p-f403ad20.entry.js} +2 -2
  592. package/dist/md3/{p-708a9313.entry.js → p-f5fd9a0b.entry.js} +2 -2
  593. package/dist/md3/{p-aa0e7d4d.entry.js → p-f71af38f.entry.js} +2 -2
  594. package/dist/md3/{p-757e3aaf.entry.js → p-fac6da4c.entry.js} +2 -2
  595. package/dist/md3/{p-134b670a.entry.js → p-fc864f96.entry.js} +2 -2
  596. package/dist/types/wasm/engine-abi.d.ts +14 -0
  597. package/hydrate/index.js +19 -7
  598. package/hydrate/index.mjs +19 -7
  599. package/package.json +14 -3
  600. package/dist/cjs/index-DlQ_5_Mv.js.map +0 -1
  601. package/dist/cjs/virtual-select-controller-CqriaZgm.js.map +0 -1
  602. package/dist/components/p-BEWIC0pC.js +0 -2
  603. package/dist/components/p-BEWIC0pC.js.map +0 -1
  604. package/dist/components/p-MWBNn6Lj.js +0 -2
  605. package/dist/components/p-MWBNn6Lj.js.map +0 -1
  606. package/dist/esm/index-DTaX19_O.js.map +0 -1
  607. package/dist/esm/virtual-select-controller-BEWIC0pC.js.map +0 -1
  608. package/dist/md3/p-04e97f5d.entry.js +0 -2
  609. package/dist/md3/p-19ee9c33.entry.js +0 -2
  610. package/dist/md3/p-21772851.entry.js +0 -2
  611. package/dist/md3/p-47af9819.entry.js +0 -2
  612. package/dist/md3/p-6b2871a0.entry.js +0 -2
  613. package/dist/md3/p-6c44cf13.entry.js +0 -2
  614. package/dist/md3/p-72457a85.entry.js +0 -2
  615. package/dist/md3/p-BEWIC0pC.js +0 -2
  616. package/dist/md3/p-BEWIC0pC.js.map +0 -1
  617. package/dist/md3/p-DTaX19_O.js +0 -3
  618. package/dist/md3/p-DTaX19_O.js.map +0 -1
  619. package/dist/md3/p-a3308c40.entry.js +0 -2
  620. package/dist/md3/p-a803da99.entry.js +0 -2
  621. package/dist/md3/p-a986fd24.entry.js +0 -2
  622. package/dist/md3/p-aaec2698.entry.js +0 -2
  623. package/dist/md3/p-ba2ebde1.entry.js +0 -2
  624. package/dist/md3/p-cf07e761.entry.js +0 -2
  625. package/dist/md3/p-e7dc5a32.entry.js +0 -2
  626. package/dist/md3/p-f31ab454.entry.js +0 -2
  627. package/dist/md3/p-fb61868c.entry.js +0 -2
  628. /package/dist/{components/p-DXXUoRSH.js.map → components-csr/p--OUYjgKN.js.map} +0 -0
  629. /package/dist/{components/p-Dp-w93ot.js.map → components-csr/p--TCJgZnE.js.map} +0 -0
  630. /package/dist/{components/p-UdGDg2oJ.js.map → components-csr/p-Bmu7RqHM.js.map} +0 -0
  631. /package/dist/{components/p-uTEkf0sE.js.map → components-csr/p-C0DlKmRg.js.map} +0 -0
  632. /package/dist/{components/p-Ch2-tttM.js.map → components-csr/p-C4_7YnHT.js.map} +0 -0
  633. /package/dist/{components/p-BwXpiUsu.js.map → components-csr/p-CG6FaRlt.js.map} +0 -0
  634. /package/dist/{components/p-B0Opn6dK.js.map → components-csr/p-CSrxeWwL.js.map} +0 -0
  635. /package/dist/{components/p-B3MWYEEJ.js.map → components-csr/p-CrbzXk64.js.map} +0 -0
  636. /package/dist/{components/p-7fN_yCXW.js.map → components-csr/p-DF19mmLl.js.map} +0 -0
  637. /package/dist/{components/p-e2HRV63Y.js.map → components-csr/p-DfcpeJAu.js.map} +0 -0
  638. /package/dist/{components/p-C8EP4S21.js.map → components-csr/p-DvXQXhgu.js.map} +0 -0
  639. /package/dist/{components/p-stybaFzj.js.map → components-csr/p-Hm3X1iai.js.map} +0 -0
  640. /package/dist/{components/p-6wZSqm_2.js.map → components-csr/p-IWA0yIjJ.js.map} +0 -0
  641. /package/dist/{components/p-Ddiw2Kjw.js.map → components-csr/p-uZbtHo-A.js.map} +0 -0
  642. /package/dist/md3/{p-2e9503d7.entry.js.map → p-0a599351.entry.js.map} +0 -0
  643. /package/dist/md3/{p-396089fd.entry.js.map → p-1edb5a0d.entry.js.map} +0 -0
  644. /package/dist/md3/{p-c00f7514.entry.js.map → p-21c89d1d.entry.js.map} +0 -0
  645. /package/dist/md3/{p-2e09a7b7.entry.js.map → p-27135a6b.entry.js.map} +0 -0
  646. /package/dist/md3/{p-c063c823.entry.js.map → p-2befc42c.entry.js.map} +0 -0
  647. /package/dist/md3/{p-b34d385b.entry.js.map → p-35b05b45.entry.js.map} +0 -0
  648. /package/dist/md3/{p-c2dd8c8c.entry.js.map → p-38e9a583.entry.js.map} +0 -0
  649. /package/dist/md3/{p-3cce1de3.entry.js.map → p-38f82d34.entry.js.map} +0 -0
  650. /package/dist/md3/{p-be02624e.entry.js.map → p-3c0469aa.entry.js.map} +0 -0
  651. /package/dist/md3/{p-63b8c8d1.entry.js.map → p-408ee4be.entry.js.map} +0 -0
  652. /package/dist/md3/{p-3015c7e3.entry.js.map → p-4770b534.entry.js.map} +0 -0
  653. /package/dist/md3/{p-c5af701b.entry.js.map → p-4ba3623e.entry.js.map} +0 -0
  654. /package/dist/md3/{p-7b463fbe.entry.js.map → p-4f2e82cb.entry.js.map} +0 -0
  655. /package/dist/md3/{p-be412e3f.entry.js.map → p-501bf161.entry.js.map} +0 -0
  656. /package/dist/md3/{p-81843ff7.entry.js.map → p-5929e59c.entry.js.map} +0 -0
  657. /package/dist/md3/{p-32bdd439.entry.js.map → p-5c35f916.entry.js.map} +0 -0
  658. /package/dist/md3/{p-ac35ac5f.entry.js.map → p-5db87a9d.entry.js.map} +0 -0
  659. /package/dist/md3/{p-6038b907.entry.js.map → p-5f39b49d.entry.js.map} +0 -0
  660. /package/dist/md3/{p-05ae91b6.entry.js.map → p-6bf632c7.entry.js.map} +0 -0
  661. /package/dist/md3/{p-4e3d6e40.entry.js.map → p-6ea7117d.entry.js.map} +0 -0
  662. /package/dist/md3/{p-9ddbf247.entry.js.map → p-7112374d.entry.js.map} +0 -0
  663. /package/dist/md3/{p-1a8ec5bc.entry.js.map → p-7858833e.entry.js.map} +0 -0
  664. /package/dist/md3/{p-4d82132d.entry.js.map → p-7f53a423.entry.js.map} +0 -0
  665. /package/dist/md3/{p-b0431a5c.entry.js.map → p-8135c606.entry.js.map} +0 -0
  666. /package/dist/md3/{p-4dda4cb0.entry.js.map → p-845ca9cc.entry.js.map} +0 -0
  667. /package/dist/md3/{p-5b74694e.entry.js.map → p-89d47130.entry.js.map} +0 -0
  668. /package/dist/md3/{p-e3124e1e.entry.js.map → p-8b1ea5dc.entry.js.map} +0 -0
  669. /package/dist/md3/{p-c10a33c2.entry.js.map → p-8e7df348.entry.js.map} +0 -0
  670. /package/dist/md3/{p-65195996.entry.js.map → p-925768ac.entry.js.map} +0 -0
  671. /package/dist/md3/{p-ac8762e5.entry.js.map → p-96c06b24.entry.js.map} +0 -0
  672. /package/dist/md3/{p-a5fee424.entry.js.map → p-a49df43d.entry.js.map} +0 -0
  673. /package/dist/md3/{p-da4e27d4.entry.js.map → p-a4d4cfed.entry.js.map} +0 -0
  674. /package/dist/md3/{p-5394254f.entry.js.map → p-a976498b.entry.js.map} +0 -0
  675. /package/dist/md3/{p-bf7842f8.entry.js.map → p-adf8a415.entry.js.map} +0 -0
  676. /package/dist/md3/{p-c861d774.entry.js.map → p-ae360663.entry.js.map} +0 -0
  677. /package/dist/md3/{p-8eb0b6a4.entry.js.map → p-b243284b.entry.js.map} +0 -0
  678. /package/dist/md3/{p-45280bf4.entry.js.map → p-b2d88292.entry.js.map} +0 -0
  679. /package/dist/md3/{p-796f79f8.entry.js.map → p-b3b5247b.entry.js.map} +0 -0
  680. /package/dist/md3/{p-5b799707.entry.js.map → p-b4266f6b.entry.js.map} +0 -0
  681. /package/dist/md3/{p-a7ffb779.entry.js.map → p-b7602557.entry.js.map} +0 -0
  682. /package/dist/md3/{p-6ba63c73.entry.js.map → p-bc24f0c9.entry.js.map} +0 -0
  683. /package/dist/md3/{p-edb34a6d.entry.js.map → p-bed8dfec.entry.js.map} +0 -0
  684. /package/dist/md3/{p-50555bb7.entry.js.map → p-c0476406.entry.js.map} +0 -0
  685. /package/dist/md3/{p-0c2e824d.entry.js.map → p-c20fbb9e.entry.js.map} +0 -0
  686. /package/dist/md3/{p-4e45b2ff.entry.js.map → p-c58c68d0.entry.js.map} +0 -0
  687. /package/dist/md3/{p-fc0b325d.entry.js.map → p-cdcea99f.entry.js.map} +0 -0
  688. /package/dist/md3/{p-0f764a1e.entry.js.map → p-d2e39c6e.entry.js.map} +0 -0
  689. /package/dist/md3/{p-c1ca6f6c.entry.js.map → p-da0c36d9.entry.js.map} +0 -0
  690. /package/dist/md3/{p-77a01bcc.entry.js.map → p-e3c37222.entry.js.map} +0 -0
  691. /package/dist/md3/{p-39cb7c24.entry.js.map → p-e6b09e71.entry.js.map} +0 -0
  692. /package/dist/md3/{p-b4631a55.entry.js.map → p-eddae19a.entry.js.map} +0 -0
  693. /package/dist/md3/{p-c6a12344.entry.js.map → p-ef7b1826.entry.js.map} +0 -0
  694. /package/dist/md3/{p-e6d7f0ff.entry.js.map → p-f403ad20.entry.js.map} +0 -0
  695. /package/dist/md3/{p-708a9313.entry.js.map → p-f5fd9a0b.entry.js.map} +0 -0
  696. /package/dist/md3/{p-aa0e7d4d.entry.js.map → p-f71af38f.entry.js.map} +0 -0
  697. /package/dist/md3/{p-757e3aaf.entry.js.map → p-fac6da4c.entry.js.map} +0 -0
  698. /package/dist/md3/{p-134b670a.entry.js.map → p-fc864f96.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ const A="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";export{A as WASM_BASE64};
2
+ //# sourceMappingURL=p-CfBPnYW7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WASM_BASE64"],"sources":["src/wasm/engine.wasm.ts"],"sourcesContent":["// GENERATED by scripts/build-wasm.mjs — DO NOT EDIT.\n// Source: packages/core/src/wasm/engine.ts\n// Regenerate with: pnpm --filter @awc-ui/core build:wasm\n/* eslint-disable */\nexport const WASM_BASE64 =\n 'AGFzbQEAAAABUQ1gAX8Bf2AAAX9gAn9/AGAAAGACf38Bf2ADf39/AX9gAX8AYAN/f38AYAR/f39/AGADf39+AGAFf39/f38AYAV/f39/fwF/YAZ/f39/f38BfwINAQNlbnYFYWJvcnQACANFRAICAAAAAwICBwYGAAICAgkDAQAEBAQCAAEBAQMDBgYDAwUAAAcKAQEBAQQHCwQFDAMDAQUFBQQAAAAAAAAAAAAAAAQFBQMBAAEGvAElfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBfwt/AUEAC38BQQALfwFB7IwCCwfJAhoHcmVzZXJ2ZQAmDXZhbHVlV3JpdGVQdHIAJw1sYWJlbFdyaXRlUHRyACgMaWNvbldyaXRlUHRyACkPc3VwcG9ydFdyaXRlUHRyACoJYXBwZW5kUm93AC0MZmluYWxpemVMb2FkADIIcXVlcnlQdHIAMw1xdWVyeUNhcGFjaXR5ABkIc2V0UXVlcnkANwp0b3RhbENvdW50ABoNZmlsdGVyZWRDb3VudAAbBXJvd0F0ADgIdmFsdWVQdHIAOQh2YWx1ZUxlbgA6CGxhYmVsUHRyADsIbGFiZWxMZW4APAdpY29uUHRyAD0HaWNvbkxlbgA+CnN1cHBvcnRQdHIAPwpzdXBwb3J0TGVuAEAIcm93RmxhZ3MAQQxpbmRleE9mVmFsdWUAQg9maW5kTGFiZWxQcmVmaXgAQwVyZXNldAAcBm1lbW9yeQIACAEgDAERCsc2RAkAIAAgATYCBAsJACAAIAE2AggLEAAgACAAEAEgACAAEAIgAAsKACAAKAIEQXxxCwoAIAAoAgRBA3ELLQECfxAdIwQiARAEIQADQCAAIAFHBEAgABAFGiAAQRRqEB8gABAEIQAMAQsLCxEAIAAgACgCBEF8cSABchABCxEAIAAgASAAKAIEQQNxchABCyYBAX8gASgCCCEDIAAgASACchABIAAgAxACIAMgABAIIAEgABACC4UBAQJ/IAAjBUYEQCAAKAIIJAULAkAgABAEIgFFBEAgACgCCBoMAQsgASAAKAIIIgIQAiACIAEQCAsjBiEBIAAoAgwiAkECTQR/QQEFIAJB0AwoAgBLBEBB0ApBkAtBFUEcEAAACyACQQJ0QdQMaigCAEEgcQshAiAAIAEjB0VBAiACGxAJCyMAIABFBEAPCyAAQRRrIgAQBSMHRgRAIAAQCiMDQQFqJAMLCw0AIAAoAgBBfHFBBGoLCQAgACABNgIAC8ABAQR/IAEoAgBBfHEiA0GAAkkEfyADQQR2BUEfQfz///8DIAMgA0H8////A08bIgNnayIEQQdrIQIgAyAEQQRrdkEQcwshAyABKAIIIQUgASgCBCIEBEAgBCAFEAILIAUEQCAFIAQQAQsgASAAIAJBBHQgA2pBAnRqIgEoAmBGBEAgASAFNgJgIAVFBEAgACACQQJ0aiIBKAIEQX4gA3dxIQMgASADNgIEIANFBEAgACAAKAIAQX4gAndxEA0LCwsLtQIBBX8gASgCACEDIAFBBGogASgCAEF8cWoiBCgCACICQQFxBEAgACAEEA4gASADQQRqIAJBfHFqIgMQDSABQQRqIAEoAgBBfHFqIgQoAgAhAgsgA0ECcQRAIAFBBGsoAgAiASgCACEGIAAgARAOIAEgBkEEaiADQXxxaiIDEA0LIAQgAkECchANIARBBGsgATYCACAAIANBfHEiAkGAAkkEfyACQQR2BUEfQfz///8DIAIgAkH8////A08bIgJnayIDQQdrIQUgAiADQQRrdkEQcwsiAiAFQQR0akECdGooAmAhAyABQQAQASABIAMQAiADBEAgAyABEAELIAAgBUEEdCACakECdGogATYCYCAAIAAoAgBBASAFdHIQDSAAIAVBAnRqIgAgACgCBEEBIAJ0cjYCBAuCAQEDfyABQRNqQXBxQQRrIQEgACgCoAwiAwRAIAMgAUEQayIFRgRAIAMoAgAhBCAFIQELCyACp0FwcSABayIDQRRJBEAPCyABIARBAnEgA0EIayIDQQFychANIAFBABABIAFBABACIAFBBGogA2oiA0ECEA0gACADNgKgDCAAIAEQDwuWAQECfz8AIgFBAEwEf0EBIAFrQABBAEgFQQALBEAAC0HwjAJBABANQZCZAkEANgIAA0AgAEEXSQRAIABBAnRB8IwCakEANgIEQQAhAQNAIAFBEEkEQCAAQQR0IAFqQQJ0QfCMAmpBADYCYCABQQFqIQEMAQsLIABBAWohAAwBCwtB8IwCQZSZAj8ArEIQhhAQQfCMAiQJC/4CAQJ/AkACQAJAAkAjAg4DAAECAwtBASQCQQAkAxAGIwYkBSMDDwsjB0UhASMFEAQhAANAIAAjBkcEQCAAJAUgABAFIAFHBEAgACABEAdBACQDIABBFGoQHyMDDwsgABAEIQAMAQsLQQAkAxAGIwUQBCMGRgRAIyQhAANAIABB7IwCSQRAIAAoAgAQCyAAQQRqIQAMAQsLIwUQBCEAA0AgACMGRwRAIAAQBSABRwRAIAAgARAHIABBFGoQHwsgABAEIQAMAQsLIwghACMGJAggACQGIAEkByAAEAQkBUECJAILIwMPCyMFIgAjBkcEQCAAEAQkBSAAEAUaIABB7IwCSQRAIABBABABIABBABACBSMAIAAQDGskACAAQQRqIgBB7IwCTwRAIwlFBEAQEQsgAEEEayEBIABBD3FBASAAGwR/QQEFIAEoAgBBAXELGiMJIQAgASABKAIAQQFyEA0gACABEA8LC0EKDwsjBiMGEAEjBiMGEAJBACQCC0EACx0AIABBAUEbIABna3RqQQFrIAAgAEH+////AUkbC44BAQJ/IAFBgAJJBH8gAUEEdgVBHyABEBMiAWdrIgNBB2shAiABIANBBGt2QRBzCyEBIAAgAkECdGooAgRBfyABdHEiAQR/IAAgAWggAkEEdGpBAnRqKAJgBSAAKAIAQX8gAkEBanRxIgEEfyAAIAAgAWgiAEECdGooAgRoIABBBHRqQQJ0aigCYAVBAAsLC5QCAQN/IAFB/P///wNLBEBBkAlB4AtBzQNBHRAAAAsgAEEMIAFBE2pBcHFBBGsgAUEMTRsiARAUIgJFBEAgAUGAAk8EfyABEBMFIAELIQI/ACIDIAJBBCAAKAKgDCADQRB0QQRrR3RqQf//A2pBgIB8cUEQdiICIAIgA0gbQABBAEgEQCACQABBAEgEQAALCyAAIANBEHQ/AKxCEIYQECAAIAEQFCECCyACKAIAGiAAIAIQDiACKAIAIgNBfHEgAWsiBEEQTwRAIAIgASADQQJxchANIAJBBGogAWoiASAEQQRrQQFyEA0gACABEA8FIAIgA0F+cRANIAJBBGogAigCAEF8cWoiACAAKAIAQX1xEA0LIAILqgEBAX8gAEHs////A08EQEGQCUHQCUGFAkEfEAAACyMAIwFPBEACQEGAECECA0AgAhASayECIwJFBEAjAK1CyAF+QuQAgKdBgAhqJAEMAgsgAkEASg0ACyMAIwAjAWtBgAhJQQp0aiQBCwsjCUUEQBARCyMJIABBEGoQFSICIAE2AgwgAiAANgIQIAIjCCMHEAkjACACEAxqJAAgAkEUaiIBQQAgAPwLACABC0QAIAAgATYCACABBEAgAUEUayIBEAUjB0YEQCAAQRRrEAUiACMHRUYEQCABEAoFIwJBAUYgAEEDRnEEQCABEAoLCwsLCx0AIABBIGogACAAQf8BcSIAQdoATSAAQcEAT3EbCwUAQYAICwQAIxULBAAjGgt2AEEAECMkCkEAECMkC0EAECMkDEEAECMkDUEAECMkDkEBECQkD0EBECQkEEEBECQkEUEBECQkEkEAECMkE0EAECQkFEEBECQkIkEAJCNBACQVQQAkFkEAJBdBACQYQQAkGUEAJBpBACQbQQAkHEEAJCBBfyQhC7gBAQF/IwoiAARAIAAQCwsjCyIABEAgABALCyMMIgAEQCAAEAsLIw0iAARAIAAQCwsjDiIABEAgABALCyMPIgAEQCAAEAsLIxAiAARAIAAQCwsjESIABEAgABALCyMSIgAEQCAAEAsLIxMiAARAIAAQCwsjFCIABEAgABALCyMdIgAEQCAAEAsLIx4iAARAIAAQCwsjHyIABEAgABALCyMiIgAEQCAAEAsLQdAKEAtBoAgQC0GQCRALCxAAIAAoAgAiAARAIAAQCwsLOwACQAJAAkACQAJAAkACQCAAQQhrKAIADgYAAQIDBAUGCw8LDwsPCyAAEB4PCyAAEB4PCyAAEB4PCwALgwEAPwBBEHRB7IwCa0EBdiQBQYAKEAMkBEGgChADJAZBsAsQAyQIQQAQIyQKQQAQIyQLQQAQIyQMQQAQIyQNQQAQIyQOQQEQJCQPQQEQJCQQQQEQJCQRQQEQJCQSQQAQIyQTQQAQJCQUQYAIECMkHUGACBAjJB5BgAgQIyQfQQEQJCQiCxoAIyRB7AxIBEBBgI0CQbCNAkEBQQEQAAALC7gBACMkQRBrJCQQISMkQgA3AwAjJEIANwMIIABFBEAjJEEMQQMQFiIANgIACyMkIAA2AgQgAEEAEBcjJCAANgIEIABBABABIyQgADYCBCAAQQAQAiABQfz///8DIAJ2SwRAQaAIQdAIQRNBORAAAAsjJCABIAJ0IgFBARAWIgI2AggjJCAANgIEIyQgAjYCDCAAIAIQFyMkIAA2AgQgACACEAEjJCAANgIEIAAgARACIyRBEGokJCAACwoAIABBAEEEEEQLCgAgAEECQQUQRAtUACMkQQRrJCQQISMkQQA2AgAjJCAANgIAIAEgACgCCEECdk8EQEHQCkGgDEHrBUHAABAAAAsjJCAANgIAIAAoAgQgAUECdGogAjYCACMkQQRqJCQL1AEAIyRBBGskJBAhIyRBADYCACABECMkCiACECMkCyACECMkDCAAQQFqIgEQJCQPIAEQJCQQIAAQIyQTIAAQJCQUIANBAEokGyAEQQBKJBwgAxAjJA0gBBAjJA4gAUEBIxsbECQkESABQQEjHBsQJCQSQQAkFUEAJBZBACQXQQAkGEEAJBlBACQaIyQjDyIANgIAIABBAEEAECUjJCMQIgA2AgAgAEEAQQAQJSMkIxEiADYCACAAQQBBABAlIyQjEiIANgIAIABBAEEAECUjJEEEaiQkCzABAX8jJEEEayQkECEjJEEANgIAIyQjCiIANgIAIxYgACgCBGohACMkQQRqJCQgAAswAQF/IyRBBGskJBAhIyRBADYCACMkIwsiADYCACMXIAAoAgRqIQAjJEEEaiQkIAALMAEBfyMkQQRrJCQQISMkQQA2AgAjJCMNIgA2AgAjGCAAKAIEaiEAIyRBBGokJCAACzABAX8jJEEEayQkECEjJEEANgIAIyQjDiIANgIAIxkgACgCBGohACMkQQRqJCQgAAtPACMkQQRrJCQQISMkQQA2AgAjJCAANgIAIAEgACgCCE8EQEHQCkGgDEGnAUEtEAAACyMkIAA2AgAgACgCBCABai0AACEAIyRBBGokJCAAC00AIyRBBGskJBAhIyRBADYCACMkIAA2AgAgASAAKAIITwRAQdAKQaAMQbIBQS0QAAALIyQgADYCACAAKAIEIAFqIAI6AAAjJEEEaiQkC/EBAQR/IyRBCGskJBAhIyRCADcDACMWIABqJBYjJCMPIgA2AgAgACMVIgZBAWojFhAlIxchBwNAIAEgBUoEQCMkIwwiCDYCACMkIwsiADYCBCAIIAUgB2oiCCAAIAgQKxAYQf8BcRAsIAVBAWohBQwBCwsjFyABaiQXIyQjECIANgIAIAAgBkEBaiIAIxcQJSMbBEAjGCACaiQYIyQjESIBNgIAIAEgACMYECULIxwEQCMZIANqJBkjJCMSIgA2AgAgACAGQQFqIxkQJQsjJCMTIgA2AgAgACAGIARB/wFxECwgBkEBaiQVIyRBCGokJCAGC1YAIyRBBGskJBAhIyRBADYCACMkIAA2AgAgASAAKAIIQQJ2TwRAQdAKQaAMQeAFQcAAEAAACyMkIAA2AgAgACgCBCABQQJ0aigCACEAIyRBBGokJCAAC1EBAX8jJEEEayQkECEjJEEANgIAQcW78oh4IQMDQCABIAJIBEAjJCAANgIAIAAgARArIANzQZODgAhsIQMgAUEBaiEBDAELCyMkQQRqJCQgAwt1AQF/IyRBBGskJBAhIyRBADYCAAJAIAIgAWsiAiAFIARrRw0AA0AgAiAGSgRAIyQgADYCACAAIAEgBmoQKyEFIyQgAzYCACADIAQgBmoQKyAFRwRAQQAhBgwDCyAGQQFqIQYMAQsLQQEhBgsjJEEEaiQkIAYLSAECfyMkQQRrJCQQISMkQQA2AgADQCAAIxVIBEAjJCMUIgE2AgAgASAAIAAQJSAAQQFqIQAMAQsLIxUkGkEAJCAjJEEEaiQkC+ECAQl/IyRBDGskJBAhIyRCADcDACMkQQA2AghBASEAA0AgACMVQQF0SARAIABBAXQhAAwBCwsgABAkJCIgAEEBayQjA0AgACABSgRAIyQjIiIDNgIAIAMgAUF/ECUgAUEBaiEBDAELCwNAIAIjFUgEQCMkIw8iADYCACAAIAIQLiEDIyQjDyIANgIAIAAgAkEBahAuIQQjJCMKIgA2AgAgACADIAQQLyMjcSEAQQAhAQNAIyQjIiIFNgIAIAUgABAuQX9HBEACQCMkIyIiBTYCACAFIAAQLiEFIyQjCiIGNgIAIyQjDyIHNgIIIAcgBRAuIQcjJCMPIgg2AgggCCAFQQFqEC4hBSMkIwoiCDYCBCAGIAcgBSAIIAMgBBAwBEBBASEBDAELIyMgAEEBanEhAAwCCwsLIAFFBEAjJCMiIgE2AgAgASAAIAIQJQsgAkEBaiECDAELCxAxIyRBDGokJAstAQF/IyRBBGskJBAhIyRBADYCACMkIx0iADYCACAAKAIEIQAjJEEEaiQkIAALcQECfyMkQQRrJCQQISMkQQA2AgACQCACIAEgAGtKDQADQCACIANKBEAjJCMMIgE2AgAgASAAIANqECshBCMkIx4iATYCACABIAMQKyAERwRAQQAhAwwDCyADQQFqIQMMAQsLQQEhAwsjJEEEaiQkIAMLZwEDfyMkQQRrJCQQISMkQQA2AgADQCAAIAFIIAIgA0pxBEAjJCMMIgQ2AgAgBCAAECshBSMkIx4iBDYCACADQQFqIAMgBCADECsgBUYbIQMgAEEBaiEADAELCyMkQQRqJCQgAiADRgugAQEEfyMkQQRrJCQQISMkQQA2AgACQCABIABrIgEgAkgNACABIAJrIQQDQCADIARMBEBBACEBA0AgASACSAR/IyQjDCIFNgIAIAUgACADaiABahArIQYjJCMeIgU2AgAgBSABECsgBkYFQQALBEAgAUEBaiEBDAELCyABIAJGBEBBASEDDAMLIANBAWohAwwBCwtBACEDCyMkQQRqJCQgAwvFBAEFfyMkQQhrJCQQISMkQgA3AwAgAEEATARAEDEgASQhIyRBCGokJCMaDwtBgAggACAAQYAIShshAANAIAAgAkoEQCMkIx4iBDYCACMkIx0iBTYCBCAEIAIgBSACECsQGEH/AXEQLCACQQFqIQIMAQsLIyEgAUYiAgRAIyBBAEohAgsgAgRAIAAjIE4hAgsgAgRAA0AgAyMgSARAAkAjJCMfIgQ2AgAgBCADECshBCMkIx4iBTYCACAFIAMQKyAERwRAQQAhAgwBCyADQQFqIQMMAgsLCwsgAgRAQQAhAkEAIQMDQCADIxpIBEAjJCMUIgQ2AgAgBCADEC4hBCMkIxAiBTYCACAFIAQQLiEFIyQjECIGNgIAIAYgBEEBahAuIQYgAUEBRgR/IAUgBiAAEDQFIAFBAkYEfyAFIAYgABA1BSAFIAYgABA2CwsEQCMkIxQiBTYCACAFIAIgBBAlIAJBAWohAgsgA0EBaiEDDAELCyACJBoFQQAkGkEAIQIDQCACIxVIBEAjJCMQIgM2AgAgAyACEC4hAyMkIxAiBDYCACAEIAJBAWoQLiEEIAFBAUYEfyADIAQgABA0BSABQQJGBH8gAyAEIAAQNQUgAyAEIAAQNgsLBEAjJCMUIgM2AgAgAyMaIAIQJSMaQQFqJBoLIAJBAWohAgwBCwsLQQAhAgNAIAAgAkoEQCMkIx8iAzYCACMkIx4iBDYCBCADIAIgBCACECsQLCACQQFqIQIMAQsLIAAkICABJCEjJEEIaiQkIxoLPwEBfyMkQQRrJCQQISMkQQA2AgAgAEEASCAAIxpOcgR/QX8FIyQjFCIBNgIAIAEgABAuCyEAIyRBBGokJCAAC1IBAn8jJEEEayQkECEjJEEANgIAIABBAEggACMVTnIEf0EABSMkIwoiATYCACABKAIEIQIjJCMPIgE2AgAgASAAEC4gAmoLIQAjJEEEaiQkIAALVgECfyMkQQRrJCQQISMkQQA2AgAgAEEASCAAIxVOcgR/QQAFIyQjDyIBNgIAIAEgAEEBahAuIQIjJCMPIgE2AgAgAiABIAAQLmsLIQAjJEEEaiQkIAALUgECfyMkQQRrJCQQISMkQQA2AgAgAEEASCAAIxVOcgR/QQAFIyQjCyIBNgIAIAEoAgQhAiMkIxAiATYCACABIAAQLiACagshACMkQQRqJCQgAAtWAQJ/IyRBBGskJBAhIyRBADYCACAAQQBIIAAjFU5yBH9BAAUjJCMQIgE2AgAgASAAQQFqEC4hAiMkIxAiATYCACACIAEgABAuawshACMkQQRqJCQgAAtWAQJ/IyRBBGskJBAhIyRBADYCACMbRSAAQQBIciAAIxVOcgR/QQAFIyQjDSIBNgIAIAEoAgQhAiMkIxEiATYCACABIAAQLiACagshACMkQQRqJCQgAAtaAQJ/IyRBBGskJBAhIyRBADYCACMbRSAAQQBIciAAIxVOcgR/QQAFIyQjESIBNgIAIAEgAEEBahAuIQIjJCMRIgE2AgAgAiABIAAQLmsLIQAjJEEEaiQkIAALVgECfyMkQQRrJCQQISMkQQA2AgAjHEUgAEEASHIgACMVTnIEf0EABSMkIw4iATYCACABKAIEIQIjJCMSIgE2AgAgASAAEC4gAmoLIQAjJEEEaiQkIAALWgECfyMkQQRrJCQQISMkQQA2AgAjHEUgAEEASHIgACMVTnIEf0EABSMkIxIiATYCACABIABBAWoQLiECIyQjEiIBNgIAIAIgASAAEC5rCyEAIyRBBGokJCAACz8BAX8jJEEEayQkECEjJEEANgIAIABBAEggACMVTnIEf0EABSMkIxMiATYCACABIAAQKwshACMkQQRqJCQgAAvCAQEGfyMkQQxrJCQQISMkQgA3AwAjJEEANgIIAkAjFQRAIyQjHSIBNgIAIAFBACAAEC8jI3EhAgNAIyQjIiIBNgIAIAEgAhAuQX9HBEAjJCMiIgE2AgAgASACEC4hASMkIwoiAzYCACMkIw8iBDYCCCAEIAEQLiEFIyQjDyIENgIIIAQgAUEBahAuIQYjJCMdIgQ2AgQgAyAFIAYgBEEAIAAQMA0DIyMgAkEBanEhAgwBCwsLQX8hAQsjJEEMaiQkIAEL7gEBBX8jJEEIayQkECEjJEIANwMAIxpFIABBAExyBEAjJEEIaiQkQX8PC0GACCAAIABBgAhKGyEAA0AgACACSgRAIyQjHiIDNgIAIyQjHSIENgIEIAMgAiAEIAIQKxAYQf8BcRAsIAJBAWohAgwBCwsgAUEAIAFBAE4bIQRBACEBA0AgASMaSARAIAEgBGojGm8hBSMkIxQiAjYCACACIAUQLiECIyQjECIDNgIAIAMgAhAuIQYjJCMQIgM2AgAgBiADIAJBAWoQLiAAEDQEQCMkQQhqJCQgBQ8LIAFBAWohAQwBCwsjJEEIaiQkQX8LQAEBfyMkQQhrJCQQISMkQgA3AwAjJEEMIAIQFiIDNgIAIyQgAzYCBCMkIAMgACABECIiADYCACMkQQhqJCQgAAsLxQMRAEGMCAsBLABBmAgLIwIAAAAcAAAASQBuAHYAYQBsAGkAZAAgAGwAZQBuAGcAdABoAEG8CAsBPABByAgLLQIAAAAmAAAAfgBsAGkAYgAvAGEAcgByAGEAeQBiAHUAZgBmAGUAcgAuAHQAcwBB/AgLATwAQYgJCy8CAAAAKAAAAEEAbABsAG8AYwBhAHQAaQBvAG4AIAB0AG8AbwAgAGwAYQByAGcAZQBBvAkLATwAQcgJCycCAAAAIAAAAH4AbABpAGIALwByAHQALwBpAHQAYwBtAHMALgB0AHMAQbwKCwE8AEHICgsrAgAAACQAAABJAG4AZABlAHgAIABvAHUAdAAgAG8AZgAgAHIAYQBuAGcAZQBB/AoLASwAQYgLCxsCAAAAFAAAAH4AbABpAGIALwByAHQALgB0AHMAQcwLCwE8AEHYCwslAgAAAB4AAAB+AGwAaQBiAC8AcgB0AC8AdABsAHMAZgAuAHQAcwBBjAwLATwAQZgMCysCAAAAJAAAAH4AbABpAGIALwB0AHkAcABlAGQAYQByAHIAYQB5AC4AdABzAEHQDAsaBgAAACAAAAAgAAAAIAAAAAAAAABBAAAAAQk=';\n"],"mappings":"AAIO,MAAMA,EACX,koV","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{p as t,H as e,c as i,h as s,d,t as o}from"./p-BR6gfOQH.js";import{g as l}from"./p-DWxN44zD.js";const r=()=>`:host{--_container-color:var(--md-text-field-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));--_input-color:var(--md-text-field-input-color, var(--md-sys-color-on-surface, #1C1B1F));--_label-color:var(--md-text-field-label-color, var(--md-sys-color-on-surface-variant, #49454F));--_active-indicator-color:var(--md-text-field-active-indicator-color, var(--md-sys-color-primary, #6750A4));--_outline-color:var(--md-text-field-outline-color, var(--md-sys-color-outline, #79747E));--_error-color:var(--md-text-field-error-color, var(--md-sys-color-error, #B3261E));--_supporting-text-color:var(--md-text-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454F));--_icon-color:var(--md-text-field-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--_text-inset:calc(var(--md-sys-spacing-inset-lg, 16px) + 7px);--_icon-size:var(--md-text-field-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_container-shape:var(--md-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px));--_filled-pill:var(--md-text-field-filled-pill, 0);--_filled-block-end-radius:calc(var(--_filled-pill) * var(--_container-shape));display:flex;flex-direction:column;position:relative;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);width:100%;box-sizing:border-box}.md-text-field__container{position:relative;display:flex;align-items:stretch;min-height:calc(56px + var(--md-sys-density-scale, 0) * 4px);cursor:var(--md-text-field-cursor, text);box-sizing:border-box}:host(.md-text-field--filled) .md-text-field__container{background-color:var(--_container-color);border-start-start-radius:var(--_container-shape);border-start-end-radius:var(--_container-shape);border-end-start-radius:var(--_filled-block-end-radius);border-end-end-radius:var(--_filled-block-end-radius);padding-block:max(2px, calc(8px + var(--md-sys-density-scale, 0) * 0.5px));padding-inline-start:var(--md-text-field-padding-inline-start, var(--_text-inset));padding-inline-end:var(--md-text-field-padding-inline-end, var(--_text-inset));transition:background-color var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1))}:host(.md-text-field--filled.md-text-field--focused) .md-text-field__container{background-color:var(--md-text-field-container-color, var(--md-sys-color-surface-container-high, #ECE6F0))}:host(.md-text-field--outlined) .md-text-field__container{background-color:transparent;border-radius:var(--_container-shape);padding-block:max(2px, calc(8px + var(--md-sys-density-scale, 0) * 1px));padding-inline-start:var(--md-text-field-padding-inline-start, var(--_text-inset));padding-inline-end:var(--md-text-field-padding-inline-end, var(--_text-inset))}:host(.md-text-field--outlined) .md-text-field__input{position:relative;inset-block-start:var(--md-text-field-optical-nudge, 0px)}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}.md-text-field__state-layer{position:absolute;inset:0;border-radius:inherit;background-color:var(--md-sys-color-on-surface, #1C1B1F);opacity:0;transition:opacity var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none}:host(.md-text-field--filled:hover:not(.md-text-field--disabled)) .md-text-field__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-text-field--outlined) .md-text-field__state-layer{display:none}.md-text-field__input-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;padding:0}:host(.md-text-field--filled) .md-text-field__input-wrap{justify-content:flex-end}.md-text-field__input-row{display:flex;align-items:center}.md-text-field__chips{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:4px;min-inline-size:0;overflow:hidden}:host(.md-text-field--with-chips:not([chips-wrap])) .md-text-field__chips{flex:1 1 auto}:host(.md-text-field--with-chips) .md-text-field__input-row{flex-wrap:nowrap;gap:4px;min-inline-size:0}:host(.md-text-field--with-chips:not([chips-wrap])) .md-text-field__input{flex:0 1 0;min-inline-size:0}:host(.md-text-field--with-chips) .md-text-field__input{flex:1 0 40px;min-inline-size:40px}:host(.md-text-field--with-chips[chips-wrap]) .md-text-field__input-row{flex-wrap:wrap;row-gap:6px}:host([chips-wrap]) .md-text-field__chips{flex-wrap:wrap;overflow:visible}.md-text-field__input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));font-weight:var(--md-sys-typescale-body-large-weight, 400);letter-spacing:var(--md-sys-typescale-body-large-tracking, 0.5px);color:var(--_input-color);caret-color:var(--_active-indicator-color);cursor:var(--md-text-field-cursor, text);padding:0;margin:0;min-width:0;width:100%}.md-text-field__input::placeholder{color:var(--_label-color)}:host(.md-text-field--error) .md-text-field__input{caret-color:var(--_error-color)}.md-text-field__input--textarea{resize:none;overflow-wrap:break-word}.md-text-field__input--auto-grow{overflow:hidden}.md-text-field__input--fixed{overflow-y:auto}:host(.md-text-field--multiline) .md-text-field__container{align-items:flex-start;min-height:auto}:host(.md-text-field--multiline) .md-text-field__input-wrap{justify-content:flex-start}:host(.md-text-field--multiline.md-text-field--filled) .md-text-field__input-wrap{justify-content:flex-start;padding-block-start:20px}:host(.md-text-field--multiline) .md-text-field__input-row{align-items:flex-start}:host(.md-text-field--filled.md-text-field--floating.md-text-field--with-chips) .md-text-field__input-wrap{padding-block-start:max(12px, calc(16px + var(--md-sys-density-scale, 0) * 1px))}:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__icon,:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__trailing-icon-button,:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__clear,:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__password-toggle,:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__speech{align-self:flex-start;margin-block-start:16px}:host(.md-text-field--auto-grow) .md-text-field__icon,:host(.md-text-field--auto-grow) .md-text-field__trailing-icon-button,:host(.md-text-field--auto-grow) .md-text-field__clear,:host(.md-text-field--auto-grow) .md-text-field__password-toggle,:host(.md-text-field--auto-grow) .md-text-field__speech{align-self:center}.md-text-field__label{position:absolute;inset-inline-start:0;font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));color:var(--_label-color);pointer-events:none;transition:top var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), inset-inline-start var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), font-size var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), line-height var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), transform var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), background-color var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), padding var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), color var(--md-sys-motion-duration-short2, 100ms) ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}:host(.md-text-field--filled) .md-text-field__label{top:50%;transform:translateY(-50%)}:host(.md-text-field--multiline:not(.md-text-field--floating)) .md-text-field__label{top:28px}:host(.md-text-field--multiline.md-text-field--outlined:not(.md-text-field--floating)) .md-text-field__label{top:12px;}:host(.md-text-field--multiline.md-text-field--filled:not(.md-text-field--floating)) .md-text-field__label{top:32px;}:host(.md-text-field--filled.md-text-field--floating) .md-text-field__label{top:0;transform:translateY(0);font-size:max(11px, calc(var(--md-sys-typescale-body-small-size, 12px) + var(--md-sys-density-scale, 0) * 0.25px));line-height:max(12px, calc(var(--md-sys-typescale-body-small-line-height, 16px) + var(--md-sys-density-scale, 0) * 1px))}:host(.md-text-field--outlined) .md-text-field__label{top:50%;transform:translateY(-50%);background-color:transparent;padding:0}:host(.md-text-field--outlined.md-text-field--floating) .md-text-field__label{top:calc(-8px - var(--md-sys-density-scale, 0) * 1px);inset-inline-start:0;transform:translateY(-50%);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(12px, calc(16px + var(--md-sys-density-scale, 0) * 1px));background-color:transparent;padding:0}:host([density='-1'].md-text-field--filled.md-text-field--floating) .md-text-field__label,:host([density='-2'].md-text-field--filled.md-text-field--floating) .md-text-field__label,:host([density='-3'].md-text-field--filled.md-text-field--floating) .md-text-field__label,:host([density='-4'].md-text-field--filled.md-text-field--floating) .md-text-field__label{font-size:11px;line-height:12px;top:1px}:host([density='-2'].md-text-field--filled.md-text-field--floating) .md-text-field__label{top:-2px;}:host([density='-3'].md-text-field--outlined.md-text-field--floating) .md-text-field__label,:host([density='-4'].md-text-field--outlined.md-text-field--floating) .md-text-field__label{top:-4px}:host(.md-text-field--filled) .md-text-field__input{line-height:max(16px, calc(24px + var(--md-sys-density-scale, 0) * 2px))}:host(.md-text-field--outlined.md-text-field--floating.md-text-field--with-leading) .md-text-field__label{inset-inline-start:calc(-1 * (var(--_icon-size) + var(--md-sys-spacing-gap-lg, 16px)))}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__label{color:var(--md-sys-color-on-surface, #1C1B1F)}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__label{color:var(--md-sys-color-on-error-container, #8C1D18)}:host(.md-text-field--focused) .md-text-field__label{color:var(--_active-indicator-color)}:host(.md-text-field--error) .md-text-field__label{color:var(--_error-color)}.md-text-field__prefix,.md-text-field__suffix{font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));color:var(--_supporting-text-color);white-space:nowrap;user-select:none;transition:color var(--md-sys-motion-duration-short2, 100ms) ease}.md-text-field__prefix{margin-inline-end:2px}.md-text-field__suffix{margin-inline-start:2px}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled)) .md-text-field__prefix,:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled)) .md-text-field__suffix{color:var(--md-sys-color-on-surface, #1C1B1F)}.md-text-field__icon{display:flex;align-items:center;justify-content:center;font-size:var(--_icon-size);color:var(--_icon-color);flex-shrink:0;align-self:center;user-select:none;transition:color var(--md-sys-motion-duration-short2, 100ms) ease}.md-text-field__icon ::slotted(*){font-size:var(--_icon-size) !important;width:var(--_icon-size);height:var(--_icon-size);color:inherit}.md-text-field__icon--leading{margin-inline-end:var(--md-sys-spacing-gap-lg, 16px)}.md-text-field__icon--trailing{margin-inline-start:0}.md-text-field__trailing-icon-button{display:flex;align-items:center;flex-shrink:0;align-self:center;margin-inline-start:0}.md-text-field__error-icon+.md-text-field__trailing-icon-button{margin-inline-start:4px}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled)) .md-text-field__icon--leading{color:var(--md-sys-color-on-surface, #1C1B1F)}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__icon--trailing{color:var(--md-sys-color-on-surface, #1C1B1F)}:host(.md-text-field--error) .md-text-field__icon--trailing{color:var(--_error-color)}:host(.md-text-field--error) .md-text-field__icon--trailing ::slotted(*){color:inherit}.md-text-field__clear{display:flex;align-items:center;justify-content:center;align-self:center;border:none;background:none;padding:0;margin:0;margin-inline-start:var(--md-sys-spacing-gap-lg, 16px);cursor:pointer;border-radius:50%;width:var(--_icon-size);height:var(--_icon-size);flex-shrink:0;color:var(--_icon-color);transition:color var(--md-sys-motion-duration-short2, 100ms) ease, opacity var(--md-sys-motion-duration-short2, 100ms) ease}.md-text-field__clear ::slotted(*){font-size:var(--_icon-size) !important;width:var(--_icon-size);height:var(--_icon-size);color:inherit}.md-text-field__clear:hover:not(:disabled){color:var(--md-sys-color-on-surface, #1C1B1F)}.md-text-field__clear:focus-visible,.md-text-field__password-toggle:focus-visible,.md-text-field__speech:focus-visible{outline:2px solid var(--md-sys-color-secondary, #625B71);outline-offset:-6px}.md-text-field__clear--disabled{color:var(--md-sys-color-on-surface, #1C1B1F);opacity:0.38;cursor:default;pointer-events:none}:host(.md-text-field--error) .md-text-field__clear:not(:disabled){color:var(--_error-color)}.md-text-field__password-toggle{display:flex;align-items:center;justify-content:center;align-self:center;border:none;background:none;padding:0;margin:0;margin-inline-start:var(--md-sys-spacing-gap-lg, 16px);cursor:pointer;border-radius:50%;width:var(--_icon-size);height:var(--_icon-size);flex-shrink:0;color:var(--_icon-color);transition:color var(--md-sys-motion-duration-short2, 100ms) ease}.md-text-field__password-toggle ::slotted(*){font-size:var(--_icon-size) !important;width:var(--_icon-size);height:var(--_icon-size);color:inherit}.md-text-field__password-toggle:hover:not(:disabled){color:var(--md-sys-color-on-surface, #1C1B1F)}.md-text-field__password-toggle--disabled{color:var(--md-sys-color-on-surface, #1C1B1F);opacity:0.38;cursor:default;pointer-events:none}:host(.md-text-field--error) .md-text-field__password-toggle:not(:disabled){color:var(--_error-color)}.md-text-field__speech{display:flex;align-items:center;justify-content:center;align-self:center;border:none;background:none;padding:0;margin:0;margin-inline-start:var(--md-sys-spacing-gap-lg, 16px);cursor:pointer;border-radius:50%;width:var(--_icon-size);height:var(--_icon-size);flex-shrink:0;color:var(--_icon-color);transition:color var(--md-sys-motion-duration-short2, 100ms) ease}.md-text-field__speech ::slotted(*){font-size:var(--_icon-size) !important;width:var(--_icon-size);height:var(--_icon-size);color:inherit}.md-text-field__speech:hover:not(:disabled){color:var(--md-sys-color-on-surface, #1C1B1F)}.md-text-field__speech--listening{color:var(--_error-color);animation:md-speech-pulse 1.2s ease-in-out infinite}.md-text-field__speech--disabled{color:var(--md-sys-color-on-surface, #1C1B1F);opacity:0.38;cursor:default;pointer-events:none}:host(.md-text-field--error) .md-text-field__speech:not(:disabled):not(.md-text-field__speech--listening){color:var(--_error-color)}@keyframes md-speech-pulse{0%,100%{opacity:1}50%{opacity:0.4}}.md-text-field__error-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;width:var(--_icon-size);height:var(--_icon-size);font-size:var(--_icon-size);line-height:1;margin-inline-start:var(--md-sys-spacing-gap-lg, 16px);color:var(--_error-color)}.md-text-field__error-icon ::slotted(*){font-size:var(--_icon-size) !important;width:var(--_icon-size);height:var(--_icon-size);color:inherit}:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__error-icon{align-self:flex-start;margin-block-start:16px}:host(.md-text-field--auto-grow) .md-text-field__error-icon{align-self:center}.md-text-field__indicator{position:absolute;inset-block-end:0;inset-inline:0;height:1px;background-color:var(--md-sys-color-on-surface-variant, #49454F);opacity:calc(1 - var(--_filled-pill));transition:height var(--md-sys-motion-duration-short2, 100ms) ease, background-color var(--md-sys-motion-duration-short2, 100ms) ease, opacity var(--md-sys-motion-duration-short2, 100ms) ease}:host(.md-text-field--focused) .md-text-field__indicator{height:var(--md-text-field-focus-border-width, 3px);background-color:var(--_active-indicator-color);transition:height var(--md-sys-motion-duration-short2, 100ms) ease}:host(.md-text-field--error) .md-text-field__indicator{background-color:var(--_error-color)}:host(.md-text-field--error.md-text-field--focused) .md-text-field__indicator{height:var(--md-text-field-focus-border-width, 3px);background-color:var(--_error-color);transition:height var(--md-sys-motion-duration-short2, 100ms) ease;}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__indicator{height:1px;background-color:var(--md-sys-color-on-surface, #1C1B1F)}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__indicator{height:1px;background-color:var(--md-sys-color-on-error-container, #8C1D18)}.md-text-field__fieldset{position:absolute;inset:0;margin:0;max-inline-size:100%;min-inline-size:0;overflow:hidden;padding-inline-start:calc( var(--md-text-field-padding-inline-start, var(--_text-inset)) - 1px - var(--_legend-inline-padding, 4px) );padding-inline-end:calc( var(--md-text-field-padding-inline-end, var(--_text-inset)) - 1px - var(--_legend-inline-padding, 4px) );padding-block:0;border:1px solid var(--_outline-color);border-radius:var(--_container-shape);pointer-events:none;transition:border-color var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1))}:host(.md-text-field--focused) .md-text-field__fieldset{border-color:var(--_active-indicator-color);border-width:var(--md-text-field-focus-border-width, 3px);inset:var(--md-text-field-focus-inset, -2px);transition:none}:host(.md-text-field--error) .md-text-field__fieldset{border-color:var(--_error-color)}:host(.md-text-field--error.md-text-field--focused) .md-text-field__fieldset{border-color:var(--_error-color);border-width:var(--md-text-field-focus-border-width, 3px);inset:var(--md-text-field-focus-inset, -2px);transition:none;}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__fieldset{border-color:var(--md-sys-color-on-surface, #1C1B1F)}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__fieldset{border-color:var(--md-sys-color-on-error-container, #8C1D18)}.md-text-field__legend{max-inline-size:calc(100% - 16px);overflow:hidden;height:0;padding:0;font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));max-width:0;transition:max-width var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), padding-inline var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));white-space:nowrap}.md-text-field__legend--active{max-width:100%;padding-inline:var(--_legend-inline-padding, 4px);transition:max-width var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), padding-inline var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1))}.md-text-field__legend span{display:inline-block;padding:0;visibility:hidden}.md-text-field__support-row{display:flex;justify-content:space-between;padding:4px 16px 0;gap:16px}.md-text-field__support-text{font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));color:var(--_supporting-text-color)}.md-text-field__support-text--error{color:var(--_error-color)}.md-text-field__counter{font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));color:var(--_supporting-text-color);flex-shrink:0}:host(.md-text-field--disabled) .md-text-field__container{cursor:default;pointer-events:none}:host(.md-text-field--disabled.md-text-field--filled) .md-text-field__container{background-color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 4%, transparent)}:host(.md-text-field--disabled) .md-text-field__label{color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent)}:host(.md-text-field--disabled) .md-text-field__input{color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent)}:host(.md-text-field--disabled) .md-text-field__indicator{background-color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent)}:host(.md-text-field--disabled) .md-text-field__fieldset{border-color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 12%, transparent)}:host(.md-text-field--disabled) .md-text-field__icon{color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent)}:host(.md-text-field--disabled) .md-text-field__icon ::slotted(*){color:inherit}:host(.md-text-field--disabled) .md-text-field__support-text,:host(.md-text-field--disabled) .md-text-field__counter{color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent)}:host(.md-text-field--disabled) .md-text-field__prefix,:host(.md-text-field--disabled) .md-text-field__suffix{color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent)}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;font-size:var(--_icon-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}@keyframes md-tf-autofill-start{from{--md-tf-autofill:1}}@keyframes md-tf-autofill-cancel{from{--md-tf-autofill:0}}.md-text-field__input:-webkit-autofill{animation-name:md-tf-autofill-start;box-shadow:0 0 0 1000px var(--_container-color, #E6E1E6) inset;-webkit-text-fill-color:var(--md-text-field-input-color, var(--md-sys-color-on-surface, #1D1B20));caret-color:var(--md-text-field-input-color, var(--md-sys-color-on-surface, #1D1B20))}.md-text-field__input:not(:-webkit-autofill){animation-name:md-tf-autofill-cancel}@media (prefers-reduced-motion: reduce){.md-text-field__label,.md-text-field__indicator,.md-text-field__state-layer,.md-text-field__fieldset,.md-text-field__legend,.md-text-field__legend>span,.md-text-field__container{transition-duration:0.01ms !important}.md-text-field__speech--listening,.md-text-field__speech--listening *{animation:none !important}}@media (forced-colors: active){:host(.md-text-field--filled) .md-text-field__container,:host(.md-text-field--filled.md-text-field--focused) .md-text-field__container,:host(.md-text-field--filled.md-text-field--disabled) .md-text-field__container,:host(.md-text-field--outlined) .md-text-field__container,.md-text-field__container{border:1px solid ButtonText;forced-color-adjust:none;background:Field;color:FieldText}:host(.md-text-field--focused) .md-text-field__indicator{background-color:Highlight}.md-text-field__input{caret-color:FieldText}:host(.md-text-field--filled.md-text-field--disabled) .md-text-field__indicator{background-color:GrayText}:host(.md-text-field--outlined.md-text-field--disabled) .md-text-field__fieldset{border-color:GrayText}:host(.md-text-field--focused) .md-text-field__label,:host(.md-text-field--error) .md-text-field__label,:host(.md-text-field--disabled) .md-text-field__label{color:FieldText}:host(.md-text-field--disabled) .md-text-field__label,:host(.md-text-field--disabled) .md-text-field__input{color:GrayText}:host(.md-text-field--error) .md-text-field__indicator{background-color:LinkText}.md-text-field__input{background:Field;color:FieldText}:host(.md-text-field--focused) .md-text-field__container{outline:2px solid Highlight;outline-offset:1px}:host(.md-text-field--error) .md-text-field__container{border-color:LinkText}:host(.md-text-field--disabled) .md-text-field__container,:host(.md-text-field--disabled) .md-text-field__input{color:GrayText;border-color:GrayText}.md-text-field__support-text,.md-text-field__counter{color:CanvasText}.md-text-field__support-text--error{color:LinkText}.md-text-field__label,.md-text-field__prefix,.md-text-field__suffix,.md-text-field__icon,.md-text-field__clear,.md-text-field__password-toggle,.md-text-field__speech{color:FieldText;forced-color-adjust:none}.md-text-field__error-icon{color:LinkText}.md-text-field__indicator{background-color:FieldText}:host(.md-text-field--outlined) .md-text-field__container{border:none}:host(.md-text-field--outlined) .md-text-field__fieldset{border-color:ButtonText}:host(.md-text-field--outlined.md-text-field--error) .md-text-field__fieldset{border-color:LinkText}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__label,:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__label,:host(:hover) .md-text-field__prefix,:host(:hover) .md-text-field__suffix,:host(:hover) .md-text-field__icon{color:FieldText}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__label{color:LinkText}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__indicator,:host(:hover:not(.md-text-field--focused)) .md-text-field__indicator{background-color:FieldText}:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__indicator{background-color:LinkText}:host(:hover) .md-text-field__clear,:host(:hover) .md-text-field__password-toggle,:host(:hover) .md-text-field__speech{color:FieldText;background:none}}:host(.md-text-field--outlined) .md-text-field__input:-webkit-autofill{box-shadow:0 0 0 1000px var(--md-sys-color-surface, #FEF7FF) inset}.md-text-field__clear,.md-text-field__password-toggle,.md-text-field__speech{min-inline-size:40px;min-block-size:40px;display:inline-flex;align-items:center;justify-content:center;margin-inline:-6px;margin-block:-8px}.md-text-field__clear--empty{visibility:hidden}`;const n={numeric:/[^0-9]/g,integer:/[^0-9-]/g,decimal:/[^0-9.\-]/g,alpha:/[^a-zA-Z]/g,alphanumeric:/[^a-zA-Z0-9]/g};const a=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdInput=i(this,"mdInput",7);this.mdChange=i(this,"mdChange",7);this.mdSearch=i(this,"mdSearch",7);this.mdClear=i(this,"mdClear",7);this.mdPasswordToggle=i(this,"mdPasswordToggle",7);this.mdSpeechResult=i(this,"mdSpeechResult",7);this.mdValidityChange=i(this,"mdValidityChange",5);this.internals=this.attachInternals();this.reserveSupportingSpace=false;this.variant="filled";this.label="";this.value="";this.placeholder="";this.type="text";this.name="";this.pattern="";this.autocomplete="";this.inputMode="";this.enterKeyHint="";this.autoCapitalize="";this.disabled=false;this.readOnly=false;this.required=false;this.error=false;this.errorText="";this.supportingText="";this.prefixText="";this.suffixText="";this.clearable=false;this.passwordToggle=false;this.density=0;this.multiline=false;this.speechToText=false;this.speechLang="";this.restrict="";this.formatOn="blur";this.focusBorderWidth=3;this.appearFocused=false;this.chipsWrap=false;this.debounce=0;this.throttle=0;this.focused=false;this.formDisabled=false;this.autofilled=false;this.hostAriaLabel="";this.passwordVisible=false;this.hasSlottedLeading=false;this.hasSlottedChips=false;this.hasSlottedTrailing=false;this.hasTrailingIconButton=false;this.listening=false;this.displayValue="";this.defaultValue="";this.internalWrite=false;this.composing=false;this.warnedLiveFormat=false;this.uid=`md-text-field-${Math.random().toString(36).slice(2,7)}`;this.throttlePending=false;this.customValidityMessage="";this.inputRole="";this.inputExpanded=false;this.inputAriaAutocomplete="";this.lastValidityKey=null;this.pendingTypeResync=false;this.formatterEpoch=0;this.handleInput=t=>{const e=t.target||this.inputEl;if(!e)return;if(this.composing)return;let i=e.value;let s=e.selectionStart??i.length;let d=this.applyRestrict(i);if(this.restrict&&this.maxLength!=null&&!isNaN(this.maxLength)&&d.length>this.maxLength){const t=Array.from(d);let e="";for(const i of t){if((e+i).length>this.maxLength)break;e+=i}d=e}if(d!==i){const t=this.applyRestrict(i.substring(0,s));i=d;e.value=i;s=Math.min(t.length,i.length);try{e.setSelectionRange(s,s)}catch{}}this.internalWrite=true;try{this.value=this.parser?this.parser(i):i}catch(t){this.value=i}if(this.formatter&&this.effectiveFormatOn==="input"&&this.maxLength!=null){const t=this.value.replace(/[-/\s]/g,"");if(t.length>this.maxLength){const e=Array.from(t);let i="";for(const t of e){if((i+t).length>this.maxLength)break;i+=t}this.value=i}}if(this.formatter&&this.effectiveFormatOn==="input"){try{const t=t=>this.parser?this.parser(t).length:(t.match(/[0-9a-zA-Z]/g)||[]).length;const d=t(i.substring(0,s));const o=this.formatter(this.value);this.displayValue=o;e.value=o;let l=d===0?0:o.length;for(let e=0;d>0&&e<o.length;e++){if(t(o.slice(0,e+1))===d){l=e+1;break}}try{e.setSelectionRange(l,l)}catch{}}catch(t){this.displayValue=this.value;e.value=this.value}}if(!(this.formatter&&this.effectiveFormatOn==="input")){this.displayValue=e.value}this.internalWrite=false;this.mdInput.emit(this.value);this.emitSearch(this.value);if(this.multiline==="auto-grow"){this.autoGrow()}};this.handleCompositionStart=()=>{this.composing=true};this.handleCompositionEnd=t=>{this.composing=false;this.handleInput(t)};this.handleKeyDown=t=>{if(t.key==="Enter"&&!this.multiline&&!this.composing){try{const t=this.internals?.form;const e=t?.querySelector('button[type="submit"], input[type="submit"], button:not([type])');t?.requestSubmit(e instanceof HTMLButtonElement||e instanceof HTMLInputElement?e:undefined)}catch{}}if(t.key==="Escape"&&!this.composing&&this.clearable==="internal"&&this.value&&!this.readOnly&&!this.isDisabled){t.stopPropagation();t.preventDefault();this.clearValue();this.mdClear.emit()}};this.handleAutofillStart=t=>{if(t.animationName==="md-tf-autofill-start")this.autofilled=true;if(t.animationName==="md-tf-autofill-cancel")this.autofilled=false};this.handleChange=()=>{this.mdChange.emit(this.value);this.el.dispatchEvent(new CustomEvent("change",{bubbles:true}))};this.handleFocus=()=>{this.focused=true;if(this.formatter&&this.effectiveFormatOn==="blur"&&this.inputEl){this.displayValue=this.value;this.inputEl.value=this.value}};this.handleBlur=()=>{this.focused=false;this.composing=false;this.syncDisplayValue();if(this.inputEl){this.inputEl.value=this.displayValue}};this.handleContainerClick=()=>{this.inputEl?.focus()};this.handleClear=t=>{t.stopPropagation();if(this.isDisabled||this.readOnly||!this.value)return;if(this.clearable==="internal"){this.clearValue()}this.mdClear.emit();this.inputEl?.focus()};this.handlePasswordToggle=t=>{t.stopPropagation();if(this.isDisabled)return;if(this.passwordToggle==="internal"){this.passwordVisible=!this.passwordVisible;this.mdPasswordToggle.emit({visible:this.passwordVisible})}else{this.mdPasswordToggle.emit({visible:this.type==="password"})}this.inputEl?.focus()};this.handleSpeechToggle=t=>{t.stopPropagation();if(this.isDisabled||this.readOnly)return;if(this.speechToText==="external"){this.listening=!this.listening;this.mdSpeechResult.emit({transcript:"",listening:this.listening});return}if(this.listening){this.recognition?.stop();return}const e=window.SpeechRecognition||window.webkitSpeechRecognition;if(!e){console.warn("md-text-field: SpeechRecognition API not supported in this browser.");return}const i=new e;i.continuous=false;i.interimResults=true;if(this.speechLang){i.lang=this.speechLang}let s="";const d=this.value;i.onresult=t=>{let e="";for(let i=t.resultIndex;i<t.results.length;i++){const d=t.results[i][0].transcript;if(t.results[i].isFinal){s+=d}else{e+=d}}const i=d&&!d.endsWith(" ")?" ":"";this.internalWrite=true;this.value=d+i+s+e;this.internalWrite=false;if(this.inputEl)this.inputEl.value=this.value;this.mdInput.emit(this.value);this.mdSpeechResult.emit({transcript:s+e,listening:true})};i.onend=()=>{this.listening=false;this.recognition=undefined;const t=d&&!d.endsWith(" ")?" ":"";this.internalWrite=true;this.value=d+t+s;this.internalWrite=false;if(this.inputEl)this.inputEl.value=this.value;this.mdInput.emit(this.value);this.mdChange.emit(this.value);this.mdSpeechResult.emit({transcript:s,listening:false})};i.onerror=t=>{if(t.error!=="aborted"){console.warn("md-text-field: Speech recognition error:",t.error)}this.listening=false;this.recognition=undefined};this.recognition=i;this.listening=true;i.start()}}get isDisabled(){return this.disabled||this.formDisabled}get effectiveFormatOn(){if(this.formatOn==="input"&&this.formatter&&!this.parser){return"blur"}return this.formatOn}static isInteractive(t){const e=t.tagName.toLowerCase();return["md-icon-button","md-button","button","a","input","select","textarea"].includes(e)||t.hasAttribute("tabindex")}get isFloating(){return this.focused||this.appearFocused||!!this.value||!!this.placeholder||this.autofilled||this.hasSlottedChips}get effectiveRows(){if(this.rows!=null)return this.rows;return this.multiline==="fixed"?4:2}get restrictPattern(){if(!this.restrict)return null;if(n[this.restrict])return n[this.restrict];try{const t=this.restrict.startsWith("[")&&this.restrict.endsWith("]")?this.restrict.slice(1,-1):this.restrict;return new RegExp(`[^${t}]`,"g")}catch{return null}}applyRestrict(t){const e=this.restrictPattern;return e?t.replace(e,""):t}syncTrailingSlotState(e){if(!e)return;this.hasSlottedTrailing=e.assignedNodes().length>0;this.hasTrailingIconButton=e.assignedElements().some((e=>t.isInteractive(e)))}syncHostSlottedIcons(){const e=this.el.querySelector('[slot="leading-icon"]');const i=this.el.querySelector('[slot="trailing-icon"]');this.hasSlottedLeading=!!e;this.hasSlottedTrailing=!!i;this.hasTrailingIconButton=!!i&&t.isInteractive(i)}componentWillLoad(){this.bridgeFormatterProps();if(this.el.hasAttribute("clearable")&&!this.clearable)this.clearable="internal";if(this.el.hasAttribute("password-toggle")&&!this.passwordToggle)this.passwordToggle="internal";if(this.el.hasAttribute("speech-to-text")&&!this.speechToText)this.speechToText="internal";if(this.maxLength==null&&this.el.hasAttribute("maxlength")){this.maxLength=parseInt(this.el.getAttribute("maxlength"),10)}if(this.minLength==null&&this.el.hasAttribute("minlength")){this.minLength=parseInt(this.el.getAttribute("minlength"),10)}if(!this.label&&!this.hostAriaLabel){const t=this.el.getAttribute("aria-label");if(t){this.hostAriaLabel=t;this.el.removeAttribute("aria-label")}}if(!this.multiline&&/[\r\n]/.test(this.value)){this.value=this.value.replace(/[\r\n]+/g,"")}this.defaultValue=this.value;this.syncDisplayValue();this.syncHostSlottedIcons();this.updateFormValue()}updateFormValue(){try{this.internals?.setFormValue(this.value)}catch{}}updateValidity(){const t=this.inputEl;if(!t)return;try{if(this.customValidityMessage){this.internals?.setValidity({customError:true},this.customValidityMessage,t);return}if(this.focused&&t.value!==this.value)return;const e=t.value;let i=false;if(t.value!==this.value){t.value=this.value;i=true;if(t.value!==this.value){t.value=e;this.internals?.setValidity({badInput:true},"Invalid value",t);return}}const s=t.validity;const d={valueMissing:s.valueMissing,typeMismatch:s.typeMismatch,patternMismatch:s.patternMismatch,tooLong:s.tooLong,tooShort:s.tooShort,rangeUnderflow:s.rangeUnderflow,rangeOverflow:s.rangeOverflow,stepMismatch:s.stepMismatch,badInput:s.badInput};const o=s.valid;const l=t.validationMessage;if(i)t.value=e;if(o){this.internals?.setValidity({})}else{this.internals?.setValidity(d,l||"Invalid value",t)}}catch{}this.emitValidityChange()}formResetCallback(){this.internalWrite=false;this.value=this.defaultValue;this.syncDisplayValue();if(this.inputEl)this.inputEl.value=this.displayValue;this.updateFormValue()}formDisabledCallback(t){queueMicrotask((()=>{this.formDisabled=t}))}async setFocus(){this.inputEl?.focus()}async select(){this.inputEl?.select()}async getInputElement(){return this.inputEl??null}async getValidity(){try{const t=this.internals.validity;return{valid:t.valid,validationMessage:this.internals.validationMessage,flags:{valueMissing:t.valueMissing,typeMismatch:t.typeMismatch,patternMismatch:t.patternMismatch,tooLong:t.tooLong,tooShort:t.tooShort,rangeUnderflow:t.rangeUnderflow,rangeOverflow:t.rangeOverflow,stepMismatch:t.stepMismatch,badInput:t.badInput,customError:t.customError}}}catch{return{valid:true,validationMessage:"",flags:{}}}}async setCustomValidity(t){this.customValidityMessage=t;this.updateValidity()}formStateRestoreCallback(t){if(typeof t==="string"){this.value=t}}emitValidityChange(){const t=l(this.internals);const e=`${t.valid}|${t.validationMessage}`;if(this.lastValidityKey===e)return;const i=this.lastValidityKey!==null;this.lastValidityKey=e;if(i)this.mdValidityChange.emit(t)}async checkValidity(){try{return this.internals.checkValidity()}catch{return this.inputEl?.checkValidity()??true}}async reportValidity(){try{return this.internals.reportValidity()}catch{return this.inputEl?.reportValidity()??true}}componentDidLoad(){const t=this.el.shadowRoot;const e=t?.querySelector('slot[name="leading-icon"]');e?.addEventListener("slotchange",(()=>{this.hasSlottedLeading=e.assignedNodes().length>0}));const i=t?.querySelector('slot[name="trailing-icon"]');i?.addEventListener("slotchange",(()=>{this.syncTrailingSlotState(i)}));const s=t?.querySelector('slot[name="chips"]');s?.addEventListener("slotchange",(()=>{this.hasSlottedChips=s.assignedNodes().length>0}));this.hasSlottedLeading=(e?.assignedNodes().length??0)>0;this.hasSlottedChips=(s?.assignedNodes().length??0)>0;this.syncTrailingSlotState(i);if(this.multiline==="auto-grow"){this.autoGrow()}this.syncDisplayValue();this.updateValidity()}onValueChange(){if(this.value==null){this.value="";return}if(!this.internalWrite&&!this.multiline&&/[\r\n]/.test(this.value)){this.value=this.value.replace(/[\r\n]+/g,"");return}if(this.multiline==="auto-grow"){this.autoGrow()}this.updateFormValue();if(!this.focused){this.syncDisplayValue();return}if(!this.internalWrite){this.composing=false;this.syncDisplayValue();const t=this.inputEl;if(t){t.value=this.effectiveFormatOn==="blur"&&this.formatter?this.value:this.displayValue;const e=t.value.length;try{t.setSelectionRange(e,e)}catch{}}this.updateValidity()}}onTypeChange(){this.pendingTypeResync=true}componentDidRender(){if(this.pendingTypeResync){this.pendingTypeResync=false;const t=this.inputEl;if(t){const e=this.focused&&this.formatter&&this.effectiveFormatOn==="blur"?this.value:this.displayValue;if(t.value!==e){t.value=e}}}this.updateValidity()}bridgeFormatterProps(){["formatter","parser"].forEach((t=>{Object.defineProperty(this.el,t,{configurable:true,get:()=>this[t],set:e=>{this[t]=e;if(!this.focused){this.syncDisplayValue()}this.formatterEpoch++}})}))}syncDisplayValue(){if(this.formatter){try{const t=this.formatter(this.value);this.displayValue=typeof t==="string"?t:this.value}catch(t){this.displayValue=this.value}}else{this.displayValue=this.value}}emitSearchDistinct(t){if(t===this.lastEmittedSearch)return;this.lastEmittedSearch=t;this.mdSearch.emit(t)}emitSearch(t){if(this.debounce>0){clearTimeout(this.debounceTimer);this.debounceTimer=setTimeout((()=>this.emitSearchDistinct(t)),this.debounce)}if(this.throttle>0){if(!this.throttleTimer){this.emitSearchDistinct(t);this.throttlePending=false;this.throttleTimer=setTimeout((()=>{this.throttleTimer=undefined;if(this.throttlePending){this.emitSearchDistinct(this.value);this.throttlePending=false}}),this.throttle)}else{this.throttlePending=true}}if(this.debounce<=0&&this.throttle<=0){this.emitSearchDistinct(t)}}autoGrow(){const t=this.inputEl;if(!t)return;t.value=this.value;t.style.height="auto";t.style.height=`${t.scrollHeight}px`}clearValue(){this.internalWrite=true;this.value="";this.internalWrite=false;if(this.inputEl){this.inputEl.value=""}this.displayValue="";this.updateValidity();this.mdInput.emit(this.value);this.mdChange.emit(this.value);this.emitSearch("")}disconnectedCallback(){this.recognition?.abort();this.recognition=undefined;clearTimeout(this.debounceTimer);clearTimeout(this.throttleTimer);this.debounceTimer=undefined;this.throttleTimer=undefined;this.throttlePending=false}renderInputElement(){const t=this.passwordToggle==="internal"&&this.passwordVisible?"text":this.type;const e=this.focused&&this.formatter&&this.effectiveFormatOn==="blur";const i=e?this.value:this.displayValue;const d=this.error&&this.errorText?this.errorText:this.supportingText;const o=[d?`${this.uid}-support`:"",this.maxLength!=null&&!isNaN(this.maxLength)?`${this.uid}-counter`:""].filter(Boolean).join(" ");const l=this.el.getAttribute("aria-haspopup");const r=l==="dialog"||l==="listbox"?l:null;const n=this.inputRole==="combobox"?"combobox":undefined;const a={placeholder:this.isFloating?this.placeholder:"",disabled:this.isDisabled,readOnly:this.readOnly,required:this.required,maxLength:this.formatter&&this.effectiveFormatOn==="input"||this.restrict?undefined:this.maxLength,pattern:this.pattern||undefined,minLength:this.minLength,min:this.min,max:this.max,step:this.step,autocomplete:this.autocomplete||undefined,inputMode:this.inputMode||undefined,enterKeyHint:this.enterKeyHint||undefined,autoCapitalize:this.autoCapitalize||undefined,spellcheck:this.spellcheck,value:i,"aria-label":this.label||this.hostAriaLabel||undefined,"aria-haspopup":r||undefined,role:n,"aria-expanded":n?String(this.inputExpanded):undefined,"aria-autocomplete":n&&this.inputAriaAutocomplete?this.inputAriaAutocomplete:undefined,"aria-describedby":o||undefined,"aria-invalid":this.error?"true":undefined,"aria-required":this.required?"true":undefined,id:`${this.uid}-input`,onInput:this.handleInput,onChange:this.handleChange,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd,onAnimationStart:this.handleAutofillStart};if(this.multiline){return s("textarea",{ref:t=>{this.inputEl=t},...a,rows:this.effectiveRows,part:"input",class:{"md-text-field__input":true,"md-text-field__input--textarea":true,"md-text-field__input--auto-grow":this.multiline==="auto-grow","md-text-field__input--fixed":this.multiline==="fixed"}},i)}return s("input",{ref:t=>{this.inputEl=t},class:"md-text-field__input",part:"input",type:t,...a})}render(){const t=this.error&&this.errorText?this.errorText:this.supportingText;const e=!!this.clearable;const i=!this.multiline&&!!this.passwordToggle;const o=!!this.speechToText;const l=this.hasSlottedLeading;const r=this.hasSlottedTrailing||e||i||o||this.error;const n=!!this.formatter&&this.effectiveFormatOn==="input";const a=n?this.value.replace(/[-/\s]/g,"").length:this.value.length;const c=this.maxLength!=null&&!isNaN(this.maxLength)?`${a}/${this.maxLength}`:"";const f=this.isDisabled||this.readOnly||!this.value;const h=this.passwordToggle==="internal"?this.passwordVisible:this.type!=="password";const m=h?"visibility_off":"visibility";return s(d,{key:"4508bf039397006cfe5cbf6b6d4b4486161cf528",class:{"md-text-field":true,[`md-text-field--${this.variant}`]:true,"md-text-field--focused":this.focused||this.appearFocused,"md-text-field--error":this.error,"md-text-field--disabled":this.isDisabled,"md-text-field--with-leading":l,"md-text-field--with-trailing":r,"md-text-field--with-chips":this.hasSlottedChips,"md-text-field--floating":this.isFloating,[`md-text-field--density${this.density}`]:this.density!==0,"md-text-field--multiline":!!this.multiline,"md-text-field--auto-grow":this.multiline==="auto-grow","md-text-field--textarea":this.multiline==="fixed","md-text-field--listening":this.listening},style:Number(this.focusBorderWidth)!==3?{"--md-text-field-focus-border-width":`${Number(this.focusBorderWidth)}px`,"--md-text-field-focus-inset":`${-(Number(this.focusBorderWidth)-1)}px`}:undefined},s("div",{key:"d9d373cfa27b4ba168f47f4b05d6433524227e1f",class:"md-text-field__container",part:"container",onClick:this.handleContainerClick},s("div",{key:"9312fd06590051f02f66cca2d488d537a4b7b083",class:"md-text-field__state-layer","aria-hidden":"true"}),s("span",{key:"73efa44c0053b753a101e1f64c64e2d2c39564fd",class:"md-text-field__icon md-text-field__icon--leading","aria-hidden":"true",style:{display:l?undefined:"none"}},s("slot",{key:"bf4a47cc04bca6daa5d11aaad263d87f20377378",name:"leading-icon"})),s("div",{key:"06c44f320928d78994d992c2e32794ca4132ffed",class:"md-text-field__input-wrap"},this.label&&s("label",{key:"a0d7d3b96ac067b17959770389461591baef936a",class:"md-text-field__label",part:"label",htmlFor:`${this.uid}-input`},this.label),s("div",{key:"ea7bcb96445bcaf3df21602c391068e47649d997",class:"md-text-field__input-row"},s("span",{key:"44c6f618e62608f265c6d87b59534f572ed00b75",class:"md-text-field__chips",part:"chips",style:{display:this.hasSlottedChips?undefined:"none"}},s("slot",{key:"e977d02a77960b0fee7125cdd784caf9f66e41e0",name:"chips"})),this.prefixText&&this.isFloating&&s("span",{key:"df25770815ba1f3307c61d860745257bfecb8209",class:"md-text-field__prefix"},this.prefixText),this.renderInputElement(),this.suffixText&&this.isFloating&&s("span",{key:"4effa7c4af78f7af50229c8ef132a981fcdb2722",class:"md-text-field__suffix"},this.suffixText))),e&&s("button",{key:"46bfde02d14bd0c828171fc5f8c30c10f15d84ed",type:"button",class:{"md-text-field__clear":true,"md-text-field__clear--disabled":f,"md-text-field__clear--empty":!this.value},disabled:f,onClick:this.handleClear,"aria-label":"Clear"},s("slot",{key:"ce2c25c56aefc9e6b2eca382f1359e305c33b8e8",name:"clear-icon"},s("span",{key:"58d4069b1f6581d87ad8d18e64604608bdcee805",class:"material-symbols-outlined","aria-hidden":"true"},"cancel"))),i&&s("button",{key:"ebd029da05a0eaa3132c7bae860bbba548c6b243",type:"button",class:{"md-text-field__password-toggle":true,"md-text-field__password-toggle--disabled":this.isDisabled},disabled:this.isDisabled,onClick:this.handlePasswordToggle,"aria-label":h?"Hide password":"Show password","aria-pressed":h?"true":"false"},s("slot",{key:"a32e0b4ab841edd5299d5e09ce69d5fd700d6e34",name:"password-toggle-icon"},s("span",{key:"616afe93a98c1a609b1e01feaf3bc8043145f36c",class:"material-symbols-outlined","aria-hidden":"true"},m))),o&&s("button",{key:"e53cbc05ae3fb648500470932bc96865fd206b2f",type:"button",class:{"md-text-field__speech":true,"md-text-field__speech--listening":this.listening,"md-text-field__speech--disabled":this.isDisabled},disabled:this.isDisabled||this.readOnly,onClick:this.handleSpeechToggle,"aria-label":this.listening?"Stop listening":"Start voice input","aria-pressed":this.listening?"true":"false"},s("slot",{key:"9a5f7868e44b1c8e9f9047e536c1c63505226886",name:"speech-icon"},s("span",{key:"a71be510232fddeb96cb6bb8f673231da9670dc9",class:"material-symbols-outlined","aria-hidden":"true"},this.listening?"hearing":"mic"))),this.error&&s("span",{key:"d729440b9e9e3ce6d8e6486036c97d7f3b443f0b",class:"md-text-field__error-icon","aria-hidden":"true"},s("slot",{key:"90e770cf0fc390961ecb181dc48f92370c7823fd",name:"error-icon"},s("span",{key:"e149f154a1f3d0194aff25d742ebc2c44b6d0547",class:"material-symbols-outlined",style:{fontVariationSettings:"'FILL' 1"}},"error"))),s("span",{key:"53a7d1b64a6385257de98f1f2a40806b76a0d35a",class:{"md-text-field__icon":!this.hasTrailingIconButton,"md-text-field__icon--trailing":!this.hasTrailingIconButton,"md-text-field__trailing-icon-button":this.hasTrailingIconButton},"aria-hidden":this.hasTrailingIconButton?null:"true",style:{display:this.hasSlottedTrailing?undefined:"none"}},s("slot",{key:"9a66c71717eae11fead8bed3e8ccc6217d1dd32e",name:"trailing-icon"})),this.variant==="filled"&&s("div",{key:"44c58eacdabd17b343bd2d9779f9146983412df6",class:"md-text-field__indicator"}),this.variant==="outlined"&&s("fieldset",{key:"0030dec6fd5327ee80d106167eb8746f6857a1b8",class:"md-text-field__fieldset"},s("legend",{key:"f970588bb684f4a6d8c35f6e156c02fb5029a462",class:{"md-text-field__legend":true,"md-text-field__legend--active":this.isFloating&&!!this.label}},s("span",{key:"e1ca66b55e706fe2368e8da9b7087c0bd2144de9"},this.label)))),(t||c||this.reserveSupportingSpace)&&s("div",{key:"2d8c198e0a0ff72cfef291edef33078cbec15338",class:"md-text-field__support-row"},s("span",{key:"e63c054d0e1443b0a968606742dea66f9b26b3fc",id:`${this.uid}-support`,part:"supporting-text",role:this.error?"alert":undefined,class:{"md-text-field__support-text":true,"md-text-field__support-text--error":this.error}},t||(this.reserveSupportingSpace?"​":"")),c&&s("span",{key:"cbad922f5b336990a6e126e82e23d9fea9a171e4",id:`${this.uid}-counter`,part:"counter",class:"md-text-field__counter"},c)))}static get delegatesFocus(){return true}static get formAssociated(){return true}get el(){return this}static get watchers(){return{value:[{onValueChange:0}],type:[{onTypeChange:0}]}}static get style(){return r()}},[337,"md-text-field",{reserveSupportingSpace:[4,"reserve-supporting-space"],variant:[1],label:[1],value:[1025],placeholder:[1],type:[1],name:[513],pattern:[1],minLength:[1026,"min-length"],min:[8],max:[8],step:[8],autocomplete:[1],inputMode:[1,"inputmode"],enterKeyHint:[1,"enterkeyhint"],autoCapitalize:[1,"autocapitalize"],spellcheck:[4],disabled:[516],readOnly:[4,"readonly"],required:[4],error:[4],errorText:[1,"error-text"],supportingText:[1,"supporting-text"],prefixText:[1,"prefix-text"],suffixText:[1,"suffix-text"],maxLength:[1026,"max-length"],clearable:[1032],passwordToggle:[1032,"password-toggle"],density:[514],multiline:[8],rows:[2],speechToText:[1032,"speech-to-text"],speechLang:[1,"speech-lang"],restrict:[1],formatter:[1040],parser:[1040],formatOn:[1,"format-on"],focusBorderWidth:[514,"focus-border-width"],appearFocused:[516,"appear-focused"],chipsWrap:[516,"chips-wrap"],debounce:[514],throttle:[514],inputRole:[1,"input-role"],inputExpanded:[4,"input-expanded"],inputAriaAutocomplete:[1,"input-aria-autocomplete"],focused:[32],formDisabled:[32],autofilled:[32],hostAriaLabel:[32],passwordVisible:[32],hasSlottedLeading:[32],hasSlottedChips:[32],hasSlottedTrailing:[32],hasTrailingIconButton:[32],listening:[32],displayValue:[32],formatterEpoch:[32],setFocus:[64],select:[64],getInputElement:[64],getValidity:[64],setCustomValidity:[64],checkValidity:[64],reportValidity:[64]},undefined,{value:[{onValueChange:0}],type:[{onTypeChange:0}]}]);function c(){if(typeof customElements==="undefined"){return}const t=["md-text-field"];t.forEach((t=>{switch(t){case"md-text-field":if(!customElements.get(o(t))){customElements.define(o(t),a)}break}}))}c();export{a as M,c as d};
2
+ //# sourceMappingURL=p-CtVItLby.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mdTextFieldCss","RESTRICT_PATTERNS","numeric","integer","decimal","alpha","alphanumeric","MdTextField","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","reserveSupportingSpace","variant","label","value","placeholder","type","name","pattern","autocomplete","inputMode","enterKeyHint","autoCapitalize","disabled","readOnly","required","error","errorText","supportingText","prefixText","suffixText","clearable","passwordToggle","density","multiline","speechToText","speechLang","restrict","formatOn","focusBorderWidth","appearFocused","chipsWrap","debounce","throttle","focused","formDisabled","autofilled","hostAriaLabel","passwordVisible","hasSlottedLeading","hasSlottedChips","hasSlottedTrailing","hasTrailingIconButton","listening","displayValue","defaultValue","internalWrite","composing","warnedLiveFormat","uid","Math","random","toString","slice","throttlePending","customValidityMessage","inputRole","inputExpanded","inputAriaAutocomplete","lastValidityKey","pendingTypeResync","formatterEpoch","handleInput","e","el","target","inputEl","raw","cursorPos","selectionStart","length","restricted","applyRestrict","maxLength","isNaN","points","Array","from","out","pt","strippedBefore","substring","min","setSelectionRange","parser","err","formatter","effectiveFormatOn","content","replace","contentLen","str","match","contentBeforeCursor","formatted","newPos","i","mdInput","emit","emitSearch","autoGrow","handleCompositionStart","handleCompositionEnd","handleKeyDown","key","form","internals","submitter","querySelector","requestSubmit","HTMLButtonElement","HTMLInputElement","undefined","isDisabled","stopPropagation","preventDefault","clearValue","mdClear","handleAutofillStart","animationName","handleChange","mdChange","dispatchEvent","CustomEvent","bubbles","handleFocus","handleBlur","syncDisplayValue","handleContainerClick","focus","handleClear","handlePasswordToggle","mdPasswordToggle","visible","handleSpeechToggle","mdSpeechResult","transcript","recognition","stop","SpeechRecognition","window","webkitSpeechRecognition","console","warn","continuous","interimResults","lang","finalTranscript","baseValue","onresult","event","interim","resultIndex","results","isFinal","separator","endsWith","onend","onerror","start","isInteractive","tag","tagName","toLowerCase","includes","hasAttribute","isFloating","effectiveRows","rows","restrictPattern","inner","startsWith","RegExp","syncTrailingSlotState","trailingSlot","assignedNodes","assignedElements","some","syncHostSlottedIcons","leading","trailing","componentWillLoad","bridgeFormatterProps","parseInt","getAttribute","minLength","hostLabel","removeAttribute","test","updateFormValue","setFormValue","updateValidity","input","setValidity","customError","shown","restore","badInput","v","validity","flags","valueMissing","typeMismatch","patternMismatch","tooLong","tooShort","rangeUnderflow","rangeOverflow","stepMismatch","valid","message","validationMessage","emitValidityChange","formResetCallback","formDisabledCallback","queueMicrotask","setFocus","select","getInputElement","getValidity","setCustomValidity","formStateRestoreCallback","state","getValidityOf","primed","mdValidityChange","checkValidity","reportValidity","componentDidLoad","root","shadowRoot","leadingSlot","addEventListener","chipsSlot","onValueChange","end","onTypeChange","componentDidRender","expected","forEach","Object","defineProperty","configurable","get","set","fn","emitSearchDistinct","lastEmittedSearch","mdSearch","clearTimeout","debounceTimer","setTimeout","throttleTimer","textarea","style","height","scrollHeight","disconnectedCallback","abort","renderInputElement","inputType","useRawWhileFocused","showValue","supportText","describedBy","filter","Boolean","join","hostPopupAttr","hostPopup","comboboxRole","sharedProps","max","step","spellcheck","role","String","id","onInput","onChange","onFocus","onBlur","onKeyDown","onCompositionstart","onCompositionend","onAnimationStart","h","ref","part","class","render","showClear","showPasswordToggle","showSpeech","hasLeading","hasTrailing","usesFormatterLimit","contentLength","charCount","clearDisabled","isPasswordRevealed","passwordIcon","Host","Number","onClick","display","htmlFor","fontVariationSettings"],"sources":["src/components/md-text-field/md-text-field.css?tag=md-text-field&encapsulation=shadow","src/components/md-text-field/md-text-field.tsx"],"sourcesContent":["/* ==========================================================\n md-text-field — Material Design 3 Text Field\n Spec: https://m3.material.io/components/text-fields/specs\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-text-field-container-color Filled-variant container background\n --md-text-field-input-color Input text colour\n --md-text-field-label-color Resting label colour\n --md-text-field-active-indicator-color Filled bottom line + outlined border on focus\n --md-text-field-outline-color Outlined-variant resting border\n --md-text-field-error-color Error accent (label, indicator, icon, helper)\n --md-text-field-supporting-text-color Supporting text + character counter\n --md-text-field-icon-color Leading / trailing / clear / password / speech icons\n --md-text-field-icon-size All glyph sizes (24dp; tapers with\n density — set to opt out)\n --md-text-field-padding-inline-start / -end Per-side container inset\n --md-text-field-optical-nudge Outlined only: px the input text is\n shifted down from true centre\n (default 0 = geometric centring)\n --md-text-field-container-shape Border-radius for both variants\n --md-text-field-filled-pill Filled only: 1 rounds all corners (pill);\n 0 keeps MD3 top-only radius + bottom indicator\n --md-text-field-cursor Cursor over the field (default: text)\n --md-text-field-focus-border-width Border thickness on focus (1, 2, or 3 px)\n --md-text-field-focus-inset Negative inset that compensates for the focus border\n\n SLOTS:\n leading-icon Custom leading icon (overrides nothing — pure decoration)\n trailing-icon Custom trailing icon\n clear-icon Custom clear-button glyph (replaces the default \"cancel\" icon)\n password-toggle-icon Custom password-toggle glyph\n speech-icon Custom microphone glyph\n error-icon Custom error-state icon (replaces the default filled \"error\")\n\n CSS PARTS:\n container Field container (state layer + input row)\n label Floating label\n input The native input / textarea\n supporting-text Supporting / error text line\n counter Character counter\n\n ========================================================== */\n\n/* ==========================================================\n 1. HOST — public → internal var mapping\n ========================================================== */\n:host {\n /* Public → internal mapping. Each `--_*` falls back to the user-facing\n `--md-text-field-*` token (if set), which itself falls back to the\n MD3 system token. This keeps the override chain three layers deep\n so end-users can theme either per-component or system-wide. */\n --_container-color: var(--md-text-field-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));\n --_input-color: var(--md-text-field-input-color, var(--md-sys-color-on-surface, #1C1B1F));\n --_label-color: var(--md-text-field-label-color, var(--md-sys-color-on-surface-variant, #49454F));\n --_active-indicator-color: var(--md-text-field-active-indicator-color, var(--md-sys-color-primary, #6750A4));\n --_outline-color: var(--md-text-field-outline-color, var(--md-sys-color-outline, #79747E));\n --_error-color: var(--md-text-field-error-color, var(--md-sys-color-error, #B3261E));\n --_supporting-text-color: var(--md-text-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454F));\n --_icon-color: var(--md-text-field-icon-color, var(--md-sys-color-on-surface-variant, #49454F));\n /* One lever for every glyph in the field — leading, trailing, clear,\n password toggle, speech, error. 1px per density rung off 24dp (18px floor),\n the library-wide icon taper. Previously each of the six was a separate\n hard-coded 24px, so the glyphs stayed full size while the container\n tightened around them. */\n /* The inset the TEXT sits at. inset-lg is the box inset; the extra 7px is the\n optical bearing of a Material Symbols caret — `arrow_drop_down` renders only\n ~21px of ink inside a 48px advance, so a select's caret box has to sit 7px\n shallower than its ink appears to. Every field carries the same text inset,\n glyph or not, so a text field, select, multi-select and autocomplete stacked\n in a form all line their text up on one column. Composites pull their\n TRAILING side back to the box inset — see md-select. */\n --_text-inset: calc(var(--md-sys-spacing-inset-lg, 16px) + 7px);\n --_icon-size: var(--md-text-field-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));\n --_container-shape: var(--md-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px));\n --_filled-pill: var(--md-text-field-filled-pill, 0);\n --_filled-block-end-radius: calc(var(--_filled-pill) * var(--_container-shape));\n\n display: flex;\n flex-direction: column;\n position: relative;\n font-family: var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);\n width: 100%;\n box-sizing: border-box;\n}\n\n/* ==========================================================\n 2. CONTAINER\n ========================================================== */\n.md-text-field__container {\n position: relative;\n display: flex;\n align-items: stretch;\n /* Global density: follows an ancestor's `data-density` (0…-4) by default,\n 4px per rung. density-scale is 0 by default so 56px is unchanged. An\n explicit local `density` prop overrides via the .--density-N blocks below\n (they set a fixed height that wins over this base). */\n min-height: calc(56px + var(--md-sys-density-scale, 0) * 4px);\n cursor: var(--md-text-field-cursor, text);\n box-sizing: border-box;\n}\n\n/* ── Filled container ── */\n:host(.md-text-field--filled) .md-text-field__container {\n background-color: var(--_container-color);\n border-start-start-radius: var(--_container-shape);\n border-start-end-radius: var(--_container-shape);\n border-end-start-radius: var(--_filled-block-end-radius);\n border-end-end-radius: var(--_filled-block-end-radius);\n /* The filled stack is padding + label + input + padding, and those four MUST\n sum to the container height or a gap opens between the label and the value.\n They are four independent formulas, so the coefficient here is not free —\n it is whatever is left over:\n\n container 56 + 4s\n label 16 + 1s (line-height)\n input 24 + 2s (line-height)\n => padding ((56 + 4s) - (16 + s) - (24 + 2s)) / 2 = 8 + 0.5s\n\n At 1.5s it over-tightened: the padding shed 6px per side across the range\n while label+input shed 12px, so 8px of slack piled up between the label and\n the value at -4 — the one gap that grew while everything around it shrank.\n If any of those three formulas changes, this coefficient changes with it. */\n padding-block: max(2px, calc(8px + var(--md-sys-density-scale, 0) * 0.5px));\n padding-inline-start: var(--md-text-field-padding-inline-start, var(--_text-inset));\n padding-inline-end: var(--md-text-field-padding-inline-end, var(--_text-inset));\n transition: background-color var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));\n}\n\n:host(.md-text-field--filled.md-text-field--focused) .md-text-field__container {\n /* the PUBLIC container var must keep applying while focused — it\n previously vanished behind this hardcoded focus tint */\n background-color: var(--md-text-field-container-color, var(--md-sys-color-surface-container-high, #ECE6F0));\n}\n\n/* Horizontal rhythm comes from the SPACING TOKENS, not literals: those already\n taper per density rung at the token layer (inset-lg 16→12→8, gap-lg 16→12),\n which is how the rest of the library tightens horizontally for free. These\n were frozen at 16px/12px, so at -4 the field was 40px tall but still carried\n density-0 side padding and a density-0 icon gap. */\n/* An icon does NOT reduce the container's inset — both sides pad to inset-lg\n whether or not a leading/trailing icon is present.\n\n --md-text-field-padding-inline-{start,end} let a COMPOSING component shift one\n side without restating the density formula. md-select uses the start override:\n its caret glyph carries 7px of empty space inside its box, so the text has to\n sit that much further in for the two to LOOK level. */\n/* ── Outlined container ── */\n:host(.md-text-field--outlined) .md-text-field__container {\n background-color: transparent;\n border-radius: var(--_container-shape);\n /* Vertical padding tightens with global density (1px/rung, floored at 2px) so\n outlined fields shrink to the same rung heights as filled ones instead of\n flooring ~4px taller. 8px at density 0. The local density classes below set\n their own padding-block and still win by source order. */\n padding-block: max(2px, calc(8px + var(--md-sys-density-scale, 0) * 1px));\n padding-inline-start: var(--md-text-field-padding-inline-start, var(--_text-inset));\n padding-inline-end: var(--md-text-field-padding-inline-end, var(--_text-inset));\n}\n\n/* Optical-centring lever for the outlined input, DEFAULT 0 — i.e. true geometric\n centring, which is what the input already has: equal gaps above and below,\n verified at every density rung and in both density paths.\n\n It defaulted to 2px briefly. Do not reintroduce that without evidence: pushing\n the text down makes it read LOW, and descender-heavy or CJK content compounds\n it — `Hello世` carries ~22px of natural ink against ~19px for `Hello`, and the\n extra mass extends downward inside the same 24px line box. The notched border\n can make a centred field look high, but the two perceptions cancel out and\n centre is the neutral answer.\n\n Kept as a knob so per-instance optical tuning needs no CSS surgery. Applied to\n the input rather than container padding because the local `density` classes\n set `padding-block` as a SHORTHAND, which would wipe an asymmetric start/end\n at rungs -3 and -4; a relative offset also stays out of layout, so container\n heights are untouched. Filled is excluded — its input already sits low to\n clear the floated label. */\n:host(.md-text-field--outlined) .md-text-field__input {\n position: relative;\n inset-block-start: var(--md-text-field-optical-nudge, 0px);\n}\n\n/* The local `density` prop drives the SAME --md-sys-density-scale signal as a\n global `data-density` ancestor — set on the host so it overrides any inherited\n global value (local wins). This unifies both paths: the container height,\n input line box and label all condense identically whether density is set\n locally or globally. */\n:host([density='-1']) { --md-sys-density-scale: -1; }\n:host([density='-2']) { --md-sys-density-scale: -2; }\n:host([density='-3']) { --md-sys-density-scale: -3; }\n:host([density='-4']) { --md-sys-density-scale: -4; }\n\n/* ==========================================================\n 2b. DENSITY\n Density scale: 0 (default 56px), -1 (52px), -2 (48px), -3 (44px),\n -4 (40px, ultra-compact — matches the global data-density scale).\n Each step reduces container height by 4px.\n\n There is deliberately NO fixed per-rung ladder here. The `density` PROP and a\n global `data-density` ancestor both resolve to the SAME signal\n (`--md-sys-density-scale`, mapped on :host above), and every density-sensitive\n value derives from it by calc — container min-height (§2), padding-block,\n input line box and label. One signal, one set of numbers, both paths.\n\n A fixed ladder used to live here and had drifted out of sync: it set\n 52/48/40/36 while the formula gives 52/48/44/40, so `density=\"-4\"` rendered\n 36px but `data-density=\"-4\"` rendered 40px. Only the two newest rungs\n disagreed, which is the signature of a ladder that wasn't renumbered when -4\n was added — the comment above always documented the formula's values. If you\n need to adjust a rung, change the calc, never re-add per-rung overrides.\n ========================================================== */\n\n/* ==========================================================\n 3. STATE LAYER (filled only)\n ========================================================== */\n.md-text-field__state-layer {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background-color: var(--md-sys-color-on-surface, #1C1B1F);\n opacity: 0;\n transition: opacity var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n pointer-events: none;\n}\n\n:host(.md-text-field--filled:hover:not(.md-text-field--disabled)) .md-text-field__state-layer {\n opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);\n}\n\n/* MD3 outlined text fields have NO hover state layer — the outline color\n change (below) is the hover affordance. */\n:host(.md-text-field--outlined) .md-text-field__state-layer {\n display: none;\n}\n\n/* ==========================================================\n 4. INPUT WRAP\n ========================================================== */\n.md-text-field__input-wrap {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-width: 0;\n position: relative;\n padding: 0;\n}\n\n:host(.md-text-field--filled) .md-text-field__input-wrap {\n justify-content: flex-end;\n}\n\n.md-text-field__input-row {\n display: flex;\n align-items: center;\n}\n\n/* Interactive leading content (multi-select chips) inside the input row. By\n default chips stay on a SINGLE line so a selection never changes the field's\n height: a 32px chip fits within the 56px container's existing block padding,\n the row does NOT wrap or add extra padding, and the chips box fills the row so\n the consumer can lay out / measure overflow. `chips-wrap` opts back into the\n multi-row growing behaviour. */\n.md-text-field__chips {\n display: inline-flex;\n flex-wrap: nowrap;\n align-items: center;\n gap: 4px;\n min-inline-size: 0;\n overflow: hidden;\n}\n\n:host(.md-text-field--with-chips:not([chips-wrap])) .md-text-field__chips {\n /* Fill the row up to the trailing cluster so a \"+N\" counter has room and the\n consumer's chip box measures the true available width. */\n flex: 1 1 auto;\n}\n\n:host(.md-text-field--with-chips) .md-text-field__input-row {\n flex-wrap: nowrap;\n gap: 4px;\n min-inline-size: 0;\n}\n\n:host(.md-text-field--with-chips:not([chips-wrap])) .md-text-field__input {\n /* Single-line chips own the row; the readonly input takes no reserved space. */\n flex: 0 1 0;\n min-inline-size: 0;\n}\n\n:host(.md-text-field--with-chips) .md-text-field__input {\n /* The input follows the chips; keep it usable but let chips dominate the row. */\n flex: 1 0 40px;\n min-inline-size: 40px;\n}\n\n/* chips-wrap: chips flow onto multiple rows and the field grows (container is\n min-height, not fixed). A SINGLE row keeps the normal 56px height — the growth\n comes only from the second row onward; the between-row spacing is the row-gap\n and the outer breathing room is the container's own block padding (so no extra\n padding-block here, which would inflate even a one-row field). */\n:host(.md-text-field--with-chips[chips-wrap]) .md-text-field__input-row {\n flex-wrap: wrap;\n row-gap: 6px;\n}\n\n:host([chips-wrap]) .md-text-field__chips {\n flex-wrap: wrap;\n overflow: visible;\n}\n\n/* ==========================================================\n 5. INPUT\n ========================================================== */\n.md-text-field__input {\n flex: 1;\n border: none;\n outline: none;\n background: transparent;\n font-family: inherit;\n font-size: max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));\n line-height: max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));\n font-weight: var(--md-sys-typescale-body-large-weight, 400);\n letter-spacing: var(--md-sys-typescale-body-large-tracking, 0.5px);\n color: var(--_input-color);\n caret-color: var(--_active-indicator-color);\n cursor: var(--md-text-field-cursor, text);\n padding: 0;\n margin: 0;\n min-width: 0;\n width: 100%;\n}\n\n.md-text-field__input::placeholder {\n color: var(--_label-color);\n}\n\n:host(.md-text-field--error) .md-text-field__input {\n caret-color: var(--_error-color);\n}\n\n/* ── Textarea (shared) ── */\n.md-text-field__input--textarea {\n resize: none;\n overflow-wrap: break-word;\n}\n\n/* ── Auto-grow: expands with content, no scrollbar ── */\n.md-text-field__input--auto-grow {\n overflow: hidden;\n}\n\n/* ── Fixed: fixed height, scrolls vertically ── */\n.md-text-field__input--fixed {\n overflow-y: auto;\n}\n\n/* Multiline container adjustments */\n:host(.md-text-field--multiline) .md-text-field__container {\n align-items: flex-start;\n min-height: auto;\n}\n\n:host(.md-text-field--multiline) .md-text-field__input-wrap {\n justify-content: flex-start;\n}\n\n:host(.md-text-field--multiline.md-text-field--filled) .md-text-field__input-wrap {\n justify-content: flex-start;\n padding-block-start: 20px;\n}\n\n:host(.md-text-field--multiline) .md-text-field__input-row {\n align-items: flex-start;\n}\n\n/* Chips + a floated label, filled variant.\n\n A filled field floats its label to `top: 0` INSIDE the container. A single-\n line value clears it because the value is vertically centred, but a chip box\n is not centred — it fills from the container's top edge, so the first chip\n row lands underneath the label (measured: label 4491-4507, chips from 4491).\n\n Inset the chip stack by the label's own line-height, density-aware, exactly\n as the multiline case does. Outlined fields are unaffected: their label sits\n ON the outline stroke (top: -8px), outside the content box. */\n:host(.md-text-field--filled.md-text-field--floating.md-text-field--with-chips)\n .md-text-field__input-wrap {\n padding-block-start: max(12px, calc(16px + var(--md-sys-density-scale, 0) * 1px));\n}\n\n:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__icon,\n:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__trailing-icon-button,\n:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__clear,\n:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__password-toggle,\n:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__speech {\n align-self: flex-start;\n margin-block-start: 16px;\n}\n\n:host(.md-text-field--auto-grow) .md-text-field__icon,\n:host(.md-text-field--auto-grow) .md-text-field__trailing-icon-button,\n:host(.md-text-field--auto-grow) .md-text-field__clear,\n:host(.md-text-field--auto-grow) .md-text-field__password-toggle,\n:host(.md-text-field--auto-grow) .md-text-field__speech {\n align-self: center;\n}\n\n/* ==========================================================\n 6. LABEL\n ========================================================== */\n.md-text-field__label {\n position: absolute;\n inset-inline-start: 0;\n font-size: max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));\n line-height: max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));\n color: var(--_label-color);\n pointer-events: none;\n transition:\n top var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n inset-inline-start var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n font-size var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n line-height var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n transform var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n background-color var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n padding var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n color var(--md-sys-motion-duration-short2, 100ms) ease;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n/* Filled label — resting */\n:host(.md-text-field--filled) .md-text-field__label {\n top: 50%;\n transform: translateY(-50%);\n}\n\n/* Multiline resting label sits on the FIRST line, not vertically centered\n in the whole textarea */\n:host(.md-text-field--multiline:not(.md-text-field--floating)) .md-text-field__label {\n top: 28px;\n}\n\n:host(.md-text-field--multiline.md-text-field--outlined:not(.md-text-field--floating)) .md-text-field__label {\n top: 12px; /* outlined wrap has less top padding than filled */\n}\n\n:host(.md-text-field--multiline.md-text-field--filled:not(.md-text-field--floating)) .md-text-field__label {\n top: 32px; /* measured 4px high against the first text line at 28px */\n}\n\n/* Filled label — floating */\n:host(.md-text-field--filled.md-text-field--floating) .md-text-field__label {\n top: 0;\n transform: translateY(0);\n /* Condense the floated label with density (12/16 at scale 0 → 11/12 at -4) so\n it clears the value in the shorter container under BOTH global data-density\n and the local `density` prop. */\n font-size: max(11px, calc(var(--md-sys-typescale-body-small-size, 12px) + var(--md-sys-density-scale, 0) * 0.25px));\n line-height: max(12px, calc(var(--md-sys-typescale-body-small-line-height, 16px) + var(--md-sys-density-scale, 0) * 1px));\n}\n\n/* Outlined label — resting */\n:host(.md-text-field--outlined) .md-text-field__label {\n top: 50%;\n transform: translateY(-50%);\n background-color: transparent;\n padding: 0;\n}\n\n/* Outlined label — floating */\n:host(.md-text-field--outlined.md-text-field--floating) .md-text-field__label {\n /* The floated label must sit centred ON the outline stroke, and with\n translateY(-50%) its centre lands exactly at this `top`. The density term\n has to cancel the container's own shrink: at 0.5px/rung it only compensated\n half of it, so the label drifted 0.5px ABOVE the stroke per rung — dead-on\n at density 0, 2px high by -4, which reads as uneven padding around the\n notch. 1px/rung tracks the stroke exactly at every rung. */\n top: calc(-8px - var(--md-sys-density-scale, 0) * 1px);\n inset-inline-start: 0;\n transform: translateY(-50%);\n font-size: max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));\n line-height: max(12px, calc(16px + var(--md-sys-density-scale, 0) * 1px));\n background-color: transparent;\n padding: 0;\n}\n\n/* Condensed densities: the floating label crowded the input text (line\n boxes overlapped up to 8px) — tighten its box so both fit the shorter\n container */\n:host([density='-1'].md-text-field--filled.md-text-field--floating) .md-text-field__label,\n:host([density='-2'].md-text-field--filled.md-text-field--floating) .md-text-field__label,\n:host([density='-3'].md-text-field--filled.md-text-field--floating) .md-text-field__label,\n:host([density='-4'].md-text-field--filled.md-text-field--floating) .md-text-field__label {\n font-size: 11px;\n line-height: 12px;\n top: 1px;\n}\n\n:host([density='-2'].md-text-field--filled.md-text-field--floating) .md-text-field__label {\n top: -2px; /* -2 measured 5px of overlap where -1/-3 measured 1px */\n}\n\n/* Outlined density -3/-4: the notch label rode 4px above the border line */\n:host([density='-3'].md-text-field--outlined.md-text-field--floating) .md-text-field__label,\n:host([density='-4'].md-text-field--outlined.md-text-field--floating) .md-text-field__label {\n top: -4px;\n}\n\n/* The filled input's 24px body-large line box collides with the floated label\n in the shorter dense container. Tighten it WITH density (24px at scale 0 →\n 16px at -4, font size unchanged) so the value clears the label. Driven by\n --md-sys-density-scale so it works under BOTH a global data-density ancestor\n AND the local `density` prop (which sets the scale on the host, below). */\n:host(.md-text-field--filled) .md-text-field__input {\n line-height: max(16px, calc(24px + var(--md-sys-density-scale, 0) * 2px));\n}\n\n/* Outlined + leading icon — shift the floating label back onto the notch.\n With a leading icon the label's natural position is\n `container padding + icon + icon gap`, so this pulls it back to where the\n no-icon label sits (the container's inset-lg edge), which is where the notch\n is cut. Written as that subtraction rather than the literal it evaluates to:\n 16 - 12 - 24 - 16 = -36 at density 0, but every one of those four terms now\n tapers, so a constant went stale the moment the icon and gap started\n shrinking — the label slid left out of the notch and the outline struck\n through it (measured 16 -> 6 -> 0 from the container edge, against a notch\n that stayed at 16). */\n:host(.md-text-field--outlined.md-text-field--floating.md-text-field--with-leading) .md-text-field__label {\n inset-inline-start: calc(-1 * (var(--_icon-size) + var(--md-sys-spacing-gap-lg, 16px)));\n}\n\n/* Hover label color */\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__label {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__label {\n color: var(--md-sys-color-on-error-container, #8C1D18);\n}\n\n/* Focused label color */\n:host(.md-text-field--focused) .md-text-field__label {\n color: var(--_active-indicator-color);\n}\n\n/* Error label color */\n:host(.md-text-field--error) .md-text-field__label {\n color: var(--_error-color);\n}\n\n/* ==========================================================\n 7. PREFIX / SUFFIX\n ========================================================== */\n.md-text-field__prefix,\n.md-text-field__suffix {\n font-size: max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));\n line-height: max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));\n color: var(--_supporting-text-color);\n white-space: nowrap;\n user-select: none;\n transition: color var(--md-sys-motion-duration-short2, 100ms) ease;\n}\n\n.md-text-field__prefix {\n margin-inline-end: 2px;\n}\n\n.md-text-field__suffix {\n margin-inline-start: 2px;\n}\n\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled)) .md-text-field__prefix,\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled)) .md-text-field__suffix {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n/* ==========================================================\n 8. ICONS (slot wrappers)\n ========================================================== */\n.md-text-field__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--_icon-size);\n color: var(--_icon-color);\n flex-shrink: 0;\n align-self: center;\n user-select: none;\n transition: color var(--md-sys-motion-duration-short2, 100ms) ease;\n}\n\n/* Decorative glyphs (SVG, icon font) — 24px. */\n.md-text-field__icon ::slotted(*) {\n /* `!important` is required, not stylistic: slotted glyphs carry the\n DOCUMENT-tree class `.material-symbols-outlined { font-size: 24px }`, and\n per CSS Scoping §3.3 the outer tree beats `::slotted()` for normal\n declarations at any specificity. Only `!important` inverts that. */\n font-size: var(--_icon-size) !important;\n width: var(--_icon-size);\n height: var(--_icon-size);\n color: inherit;\n}\n\n.md-text-field__icon--leading {\n margin-inline-end: var(--md-sys-spacing-gap-lg, 16px);\n}\n\n.md-text-field__icon--trailing {\n margin-inline-start: 0;\n}\n\n/* Slotted md-icon-button — layout only; sizing/colors come from md-icon-button. */\n.md-text-field__trailing-icon-button {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n align-self: center;\n margin-inline-start: 0;\n}\n\n/* When a trailing icon BUTTON follows the error icon, tighten the gap: the\n button's state layer already insets its glyph ~8px, so the full 16px margin\n reads as ~24px between the two glyphs. 4px brings it to ~12px, pairing the\n error icon with the trigger. Only applies after the error icon — the normal\n text→button gap keeps its 16px. */\n.md-text-field__error-icon + .md-text-field__trailing-icon-button {\n margin-inline-start: 4px;\n}\n\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled)) .md-text-field__icon--leading {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__icon--trailing {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n:host(.md-text-field--error) .md-text-field__icon--trailing {\n color: var(--_error-color);\n}\n\n:host(.md-text-field--error) .md-text-field__icon--trailing ::slotted(*) {\n color: inherit;\n}\n\n/* ==========================================================\n 8b. CLEAR BUTTON\n ========================================================== */\n.md-text-field__clear {\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: center;\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n margin-inline-start: var(--md-sys-spacing-gap-lg, 16px);\n cursor: pointer;\n border-radius: 50%;\n width: var(--_icon-size);\n height: var(--_icon-size);\n flex-shrink: 0;\n color: var(--_icon-color);\n transition: color var(--md-sys-motion-duration-short2, 100ms) ease,\n opacity var(--md-sys-motion-duration-short2, 100ms) ease;\n}\n\n.md-text-field__clear ::slotted(*) {\n /* `!important` is required, not stylistic: slotted glyphs carry the\n DOCUMENT-tree class `.material-symbols-outlined { font-size: 24px }`, and\n per CSS Scoping §3.3 the outer tree beats `::slotted()` for normal\n declarations at any specificity. Only `!important` inverts that. */\n font-size: var(--_icon-size) !important;\n width: var(--_icon-size);\n height: var(--_icon-size);\n color: inherit;\n}\n\n.md-text-field__clear:hover:not(:disabled) {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n/* Keyboard focus ring for the in-field buttons (clear / password / speech):\n the system secondary colour used across the library (cf. md-icon-button).\n Without it they fall back to the UA blue. The buttons have 40px hit targets\n around 24px glyphs (see ACTION BUTTON HIT TARGETS below) — the negative\n offset pulls the ring inside the hit box so it hugs the visible glyph\n instead of haloing the invisible target. */\n.md-text-field__clear:focus-visible,\n.md-text-field__password-toggle:focus-visible,\n.md-text-field__speech:focus-visible {\n outline: 2px solid var(--md-sys-color-secondary, #625B71);\n outline-offset: -6px;\n}\n\n.md-text-field__clear--disabled {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n opacity: 0.38;\n cursor: default;\n pointer-events: none;\n}\n\n:host(.md-text-field--error) .md-text-field__clear:not(:disabled) {\n color: var(--_error-color);\n}\n\n/* ==========================================================\n 8c. PASSWORD TOGGLE BUTTON\n ========================================================== */\n.md-text-field__password-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: center;\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n margin-inline-start: var(--md-sys-spacing-gap-lg, 16px);\n cursor: pointer;\n border-radius: 50%;\n width: var(--_icon-size);\n height: var(--_icon-size);\n flex-shrink: 0;\n color: var(--_icon-color);\n transition: color var(--md-sys-motion-duration-short2, 100ms) ease;\n}\n\n.md-text-field__password-toggle ::slotted(*) {\n /* `!important` is required, not stylistic: slotted glyphs carry the\n DOCUMENT-tree class `.material-symbols-outlined { font-size: 24px }`, and\n per CSS Scoping §3.3 the outer tree beats `::slotted()` for normal\n declarations at any specificity. Only `!important` inverts that. */\n font-size: var(--_icon-size) !important;\n width: var(--_icon-size);\n height: var(--_icon-size);\n color: inherit;\n}\n\n.md-text-field__password-toggle:hover:not(:disabled) {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n.md-text-field__password-toggle--disabled {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n opacity: 0.38;\n cursor: default;\n pointer-events: none;\n}\n\n:host(.md-text-field--error) .md-text-field__password-toggle:not(:disabled) {\n color: var(--_error-color);\n}\n\n/* ==========================================================\n 8d. SPEECH-TO-TEXT BUTTON\n ========================================================== */\n.md-text-field__speech {\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: center;\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n margin-inline-start: var(--md-sys-spacing-gap-lg, 16px);\n cursor: pointer;\n border-radius: 50%;\n width: var(--_icon-size);\n height: var(--_icon-size);\n flex-shrink: 0;\n color: var(--_icon-color);\n transition: color var(--md-sys-motion-duration-short2, 100ms) ease;\n}\n\n.md-text-field__speech ::slotted(*) {\n /* `!important` is required, not stylistic: slotted glyphs carry the\n DOCUMENT-tree class `.material-symbols-outlined { font-size: 24px }`, and\n per CSS Scoping §3.3 the outer tree beats `::slotted()` for normal\n declarations at any specificity. Only `!important` inverts that. */\n font-size: var(--_icon-size) !important;\n width: var(--_icon-size);\n height: var(--_icon-size);\n color: inherit;\n}\n\n.md-text-field__speech:hover:not(:disabled) {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n.md-text-field__speech--listening {\n color: var(--_error-color);\n animation: md-speech-pulse 1.2s ease-in-out infinite;\n}\n\n.md-text-field__speech--disabled {\n color: var(--md-sys-color-on-surface, #1C1B1F);\n opacity: 0.38;\n cursor: default;\n pointer-events: none;\n}\n\n:host(.md-text-field--error) .md-text-field__speech:not(:disabled):not(.md-text-field__speech--listening) {\n color: var(--_error-color);\n}\n\n@keyframes md-speech-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n}\n\n/* ==========================================================\n 8e. ERROR ICON\n ========================================================== */\n.md-text-field__error-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n align-self: center;\n width: var(--_icon-size);\n height: var(--_icon-size);\n /* Pin the glyph size so the default (non-slotted) material-symbols \"error\"\n glyph renders at the field's icon size instead of inheriting the field's\n font-size and ballooning. Slotted custom icons are normalized below. */\n font-size: var(--_icon-size);\n line-height: 1;\n margin-inline-start: var(--md-sys-spacing-gap-lg, 16px);\n color: var(--_error-color);\n}\n\n.md-text-field__error-icon ::slotted(*) {\n /* `!important` is required, not stylistic: slotted glyphs carry the\n DOCUMENT-tree class `.material-symbols-outlined { font-size: 24px }`, and\n per CSS Scoping §3.3 the outer tree beats `::slotted()` for normal\n declarations at any specificity. Only `!important` inverts that. */\n font-size: var(--_icon-size) !important;\n width: var(--_icon-size);\n height: var(--_icon-size);\n color: inherit;\n}\n\n:host(.md-text-field--multiline:not(.md-text-field--auto-grow)) .md-text-field__error-icon {\n align-self: flex-start;\n margin-block-start: 16px;\n}\n\n:host(.md-text-field--auto-grow) .md-text-field__error-icon {\n align-self: center;\n}\n\n/* ==========================================================\n 9. FILLED — ACTIVE INDICATOR\n ========================================================== */\n.md-text-field__indicator {\n position: absolute;\n inset-block-end: 0;\n inset-inline: 0;\n height: 1px;\n background-color: var(--md-sys-color-on-surface-variant, #49454F);\n opacity: calc(1 - var(--_filled-pill));\n transition:\n height var(--md-sys-motion-duration-short2, 100ms) ease,\n background-color var(--md-sys-motion-duration-short2, 100ms) ease,\n opacity var(--md-sys-motion-duration-short2, 100ms) ease;\n}\n\n:host(.md-text-field--focused) .md-text-field__indicator {\n height: var(--md-text-field-focus-border-width, 3px);\n background-color: var(--_active-indicator-color);\n /* Keep the MD3 grow (1px→3px) but make the primary colour IMMEDIATE — else\n the line morphs from the hover `on-surface` (near-black) to primary over\n 100ms, the same \"dark, then primary\" flash as the outlined ring. */\n transition: height var(--md-sys-motion-duration-short2, 100ms) ease;\n}\n\n:host(.md-text-field--error) .md-text-field__indicator {\n background-color: var(--_error-color);\n}\n\n:host(.md-text-field--error.md-text-field--focused) .md-text-field__indicator {\n height: var(--md-text-field-focus-border-width, 3px);\n background-color: var(--_error-color);\n transition: height var(--md-sys-motion-duration-short2, 100ms) ease; /* immediate colour — see above */\n}\n\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__indicator {\n height: 1px;\n background-color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__indicator {\n height: 1px;\n background-color: var(--md-sys-color-on-error-container, #8C1D18);\n}\n\n/* ==========================================================\n 10. OUTLINED — FIELDSET / LEGEND\n ========================================================== */\n.md-text-field__fieldset {\n position: absolute;\n inset: 0;\n margin: 0;\n /* a wide legend must never expand the fieldset past the host (min-content\n of an abs-positioned box wins over inset without these) */\n max-inline-size: 100%;\n min-inline-size: 0;\n overflow: hidden;\n /* Positions the NOTCH, which must line up with the floated label — the label\n sits at the container's padded content edge, so this has to track the same\n token or the two drift apart and the outline strikes through the label.\n The old literal 11px was that alignment hard-coded for density 0 only:\n 16px container padding - 1px fieldset border - 4px legend padding = 11.\n Now derived, so it holds at every rung (12->7, 8->3). */\n /* Both fall back to --_text-inset, the SAME default the container uses. With\n the raw token here instead, the notch sat 7px left of the label the moment\n the container's default gained the caret bearing — the border cut through\n the label's first characters. */\n padding-inline-start: calc(\n var(--md-text-field-padding-inline-start, var(--_text-inset)) -\n 1px - var(--_legend-inline-padding, 4px)\n );\n padding-inline-end: calc(\n var(--md-text-field-padding-inline-end, var(--_text-inset)) -\n 1px - var(--_legend-inline-padding, 4px)\n );\n padding-block: 0;\n border: 1px solid var(--_outline-color);\n border-radius: var(--_container-shape);\n pointer-events: none;\n /* Only border-COLOUR is transitioned. border-width is deliberately NOT — it\n renders in integer-pixel steps, so a 1→3px \"grow\" reads as a jump, not a\n glide; the ring snaps to its focused thickness while the floating label +\n notch carry the smooth focus motion. On blur this rule fades the colour\n primary→resting. */\n transition: border-color var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));\n}\n\n:host(.md-text-field--focused) .md-text-field__fieldset {\n border-color: var(--_active-indicator-color);\n border-width: var(--md-text-field-focus-border-width, 3px);\n inset: var(--md-text-field-focus-inset, -2px);\n /* Primary colour is IMMEDIATE (no border-color transition here) so a\n mouse-focus — sitting on the near-black hover `on-surface` outline — never\n morphs through black (\"black ring, then primary\"). The smooth part of focus\n is the label floating up into the notch that cuts open in this ring. */\n transition: none;\n}\n\n:host(.md-text-field--error) .md-text-field__fieldset {\n border-color: var(--_error-color);\n}\n\n:host(.md-text-field--error.md-text-field--focused) .md-text-field__fieldset {\n border-color: var(--_error-color);\n border-width: var(--md-text-field-focus-border-width, 3px);\n inset: var(--md-text-field-focus-inset, -2px);\n transition: none; /* immediate colour — see the non-error rule above */\n}\n\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__fieldset {\n border-color: var(--md-sys-color-on-surface, #1C1B1F);\n}\n\n:host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__fieldset {\n border-color: var(--md-sys-color-on-error-container, #8C1D18);\n}\n\n.md-text-field__legend {\n /* long labels must never blow the notch past the host */\n max-inline-size: calc(100% - 16px);\n overflow: hidden;\n height: 0;\n\n padding: 0;\n /* MUST stay identical to the outlined floating label's font-size — this\n legend is what cuts the notch in the outline, and it sizes that gap by\n rendering the same text. The label already tapered with density while this\n stayed at a flat 12px, so below density 0 the notch was cut wider than the\n label that sits in it. */\n font-size: max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));\n max-width: 0;\n /* Notch CLOSES with the same 200ms/easing it opens with (was `0ms` → the gap\n snapped shut while the label smoothly descended). Now the cut in the outline\n tracks the floating label symmetrically both ways. */\n transition:\n max-width var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n padding-inline var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));\n white-space: nowrap;\n}\n\n.md-text-field__legend--active {\n max-width: 100%;\n /* Shared with the fieldset's padding-inline calc above — these two must agree. */\n padding-inline: var(--_legend-inline-padding, 4px);\n transition:\n max-width var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n padding-inline var(--md-sys-motion-duration-medium1, 200ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));\n}\n\n.md-text-field__legend span {\n display: inline-block;\n padding: 0;\n visibility: hidden;\n}\n\n/* ==========================================================\n 11. SUPPORT TEXT / CHARACTER COUNTER\n ========================================================== */\n.md-text-field__support-row {\n display: flex;\n justify-content: space-between;\n padding: 4px 16px 0;\n gap: 16px;\n}\n\n.md-text-field__support-text {\n /* body-small (12/16) — the library's 0.5px/rung rate for sub-22px type. */\n font-size: max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));\n line-height: max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));\n color: var(--_supporting-text-color);\n}\n\n.md-text-field__support-text--error {\n color: var(--_error-color);\n}\n\n.md-text-field__counter {\n /* body-small (12/16) — the library's 0.5px/rung rate for sub-22px type. */\n font-size: max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));\n line-height: max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));\n color: var(--_supporting-text-color);\n flex-shrink: 0;\n}\n\n/* ==========================================================\n 12. DISABLED\n ========================================================== */\n:host(.md-text-field--disabled) .md-text-field__container {\n cursor: default;\n pointer-events: none;\n}\n\n:host(.md-text-field--disabled.md-text-field--filled) .md-text-field__container {\n background-color: color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 4%, transparent);\n}\n\n:host(.md-text-field--disabled) .md-text-field__label {\n color: color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent);\n}\n\n:host(.md-text-field--disabled) .md-text-field__input {\n color: color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent);\n}\n\n:host(.md-text-field--disabled) .md-text-field__indicator {\n background-color: color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent);\n}\n\n:host(.md-text-field--disabled) .md-text-field__fieldset {\n border-color: color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 12%, transparent);\n}\n\n:host(.md-text-field--disabled) .md-text-field__icon {\n color: color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent);\n}\n\n:host(.md-text-field--disabled) .md-text-field__icon ::slotted(*) {\n color: inherit;\n}\n\n:host(.md-text-field--disabled) .md-text-field__support-text,\n:host(.md-text-field--disabled) .md-text-field__counter {\n color: color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent);\n}\n\n:host(.md-text-field--disabled) .md-text-field__prefix,\n:host(.md-text-field--disabled) .md-text-field__suffix {\n color: color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 38%, transparent);\n}\n\n/* ==========================================================\n 13. MATERIAL SYMBOLS (Shadow DOM)\n ========================================================== */\n.material-symbols-outlined {\n font-family: var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');\n font-weight: normal;\n font-style: normal;\n /* Shadow-internal copy of the Material Symbols base — the global stylesheet\n can't reach in here, so this needs no `!important`, only the same lever. */\n font-size: var(--_icon-size);\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n overflow-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* ==========================================================\n AUTOFILL — browsers fill without input events; the animation\n hack lets JS float the label instead of overlapping the text.\n ========================================================== */\n\n@keyframes md-tf-autofill-start {\n from { --md-tf-autofill: 1; }\n}\n\n@keyframes md-tf-autofill-cancel {\n from { --md-tf-autofill: 0; }\n}\n\n.md-text-field__input:-webkit-autofill {\n animation-name: md-tf-autofill-start;\n /* keep the field's own surface instead of the UA's tint — must reference\n the INTERNAL chain (the public var is unset on default themes, and a\n transparent cover let Chrome's blue through) */\n box-shadow: 0 0 0 1000px var(--_container-color, #E6E1E6) inset;\n -webkit-text-fill-color: var(--md-text-field-input-color, var(--md-sys-color-on-surface, #1D1B20));\n caret-color: var(--md-text-field-input-color, var(--md-sys-color-on-surface, #1D1B20));\n}\n\n.md-text-field__input:not(:-webkit-autofill) {\n animation-name: md-tf-autofill-cancel;\n}\n\n/* ==========================================================\n REDUCED MOTION\n ========================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .md-text-field__label,\n .md-text-field__indicator,\n .md-text-field__state-layer,\n .md-text-field__fieldset,\n .md-text-field__legend,\n .md-text-field__legend > span,\n .md-text-field__container {\n transition-duration: 0.01ms !important;\n }\n .md-text-field__speech--listening,\n .md-text-field__speech--listening * {\n animation: none !important;\n }\n}\n\n/* ==========================================================\n FORCED COLORS (Windows High Contrast) — the filled variant is\n background-only and measured white-on-white without this.\n ========================================================== */\n\n@media (forced-colors: active) {\n /* MUST outrank :host(.md-text-field--filled) .md-text-field__container\n (0-3-0) — a bare class rule silently lost and the author container\n survived under white FieldText labels (~1.25:1 in dark HCM) */\n :host(.md-text-field--filled) .md-text-field__container,\n :host(.md-text-field--filled.md-text-field--focused) .md-text-field__container,\n :host(.md-text-field--filled.md-text-field--disabled) .md-text-field__container,\n :host(.md-text-field--outlined) .md-text-field__container,\n .md-text-field__container {\n border: 1px solid ButtonText;\n forced-color-adjust: none;\n background: Field;\n color: FieldText;\n }\n :host(.md-text-field--focused) .md-text-field__indicator {\n background-color: Highlight;\n }\n .md-text-field__input {\n caret-color: FieldText;\n }\n :host(.md-text-field--filled.md-text-field--disabled) .md-text-field__indicator {\n background-color: GrayText;\n }\n :host(.md-text-field--outlined.md-text-field--disabled) .md-text-field__fieldset {\n border-color: GrayText;\n }\n /* state-colored labels/indicator keep author colors without these */\n :host(.md-text-field--focused) .md-text-field__label,\n :host(.md-text-field--error) .md-text-field__label,\n :host(.md-text-field--disabled) .md-text-field__label {\n color: FieldText;\n }\n :host(.md-text-field--disabled) .md-text-field__label,\n :host(.md-text-field--disabled) .md-text-field__input {\n color: GrayText;\n }\n :host(.md-text-field--error) .md-text-field__indicator {\n background-color: LinkText;\n }\n .md-text-field__input {\n background: Field;\n color: FieldText;\n }\n :host(.md-text-field--focused) .md-text-field__container {\n outline: 2px solid Highlight;\n outline-offset: 1px;\n }\n :host(.md-text-field--error) .md-text-field__container {\n border-color: LinkText;\n }\n :host(.md-text-field--disabled) .md-text-field__container,\n :host(.md-text-field--disabled) .md-text-field__input {\n color: GrayText;\n border-color: GrayText;\n }\n .md-text-field__support-text,\n .md-text-field__counter {\n color: CanvasText;\n }\n .md-text-field__support-text--error {\n color: LinkText;\n }\n /* label / icons / prefix / suffix keep author colors without this and go\n unreadable in dark HCM */\n .md-text-field__label,\n .md-text-field__prefix,\n .md-text-field__suffix,\n .md-text-field__icon,\n .md-text-field__clear,\n .md-text-field__password-toggle,\n .md-text-field__speech {\n color: FieldText;\n forced-color-adjust: none;\n }\n .md-text-field__error-icon {\n color: LinkText;\n }\n .md-text-field__indicator {\n background-color: FieldText;\n }\n /* outlined draws its border via the fieldset — the container border added\n above would double it with mismatched colors */\n :host(.md-text-field--outlined) .md-text-field__container {\n border: none;\n }\n :host(.md-text-field--outlined) .md-text-field__fieldset {\n border-color: ButtonText;\n }\n :host(.md-text-field--outlined.md-text-field--error) .md-text-field__fieldset {\n border-color: LinkText;\n }\n /* :hover author rules (~0-6-0) outranked the FC block and repainted the\n label at 1.22:1 in dark HCM — mirror them at equal-or-higher specificity */\n :host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__label,\n :host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__label,\n :host(:hover) .md-text-field__prefix,\n :host(:hover) .md-text-field__suffix,\n :host(:hover) .md-text-field__icon {\n color: FieldText;\n }\n :host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__label {\n color: LinkText;\n }\n :host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled):not(.md-text-field--error)) .md-text-field__indicator,\n :host(:hover:not(.md-text-field--focused)) .md-text-field__indicator {\n /* must match the author hover selector's specificity (0-4-0) exactly */\n background-color: FieldText;\n }\n :host(:hover:not(.md-text-field--focused):not(.md-text-field--disabled).md-text-field--error) .md-text-field__indicator {\n background-color: LinkText;\n }\n :host(:hover) .md-text-field__clear,\n :host(:hover) .md-text-field__password-toggle,\n :host(:hover) .md-text-field__speech {\n color: FieldText;\n background: none;\n }\n}\n\n/* outlined fields have a transparent container — cover with the page surface */\n:host(.md-text-field--outlined) .md-text-field__input:-webkit-autofill {\n box-shadow: 0 0 0 1000px var(--md-sys-color-surface, #FEF7FF) inset;\n}\n\n/* ==========================================================\n ACTION BUTTON HIT TARGETS — 24px visuals, 40px targets\n ========================================================== */\n\n.md-text-field__clear,\n.md-text-field__password-toggle,\n.md-text-field__speech {\n min-inline-size: 40px;\n min-block-size: 40px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-inline: -6px;\n /* the 40px target must not defeat condensed densities: cancel its\n contribution to the flex cross size (target area is preserved) */\n margin-block: -8px;\n}\n\n/* M3: the clear affordance appears only when there is content — keep the\n layout box (width stability) but hide the ghost icon */\n.md-text-field__clear--empty {\n visibility: hidden;\n}\n","import { getValidityOf } from '../../utils/form';\nimport { AttachInternals, Build, Component, Element, Event, EventEmitter, Host, Method, Prop, State, Watch, h } from '@stencil/core';\n\nconst RESTRICT_PATTERNS: Record<string, RegExp> = {\n numeric: /[^0-9]/g,\n integer: /[^0-9-]/g,\n decimal: /[^0-9.\\-]/g,\n alpha: /[^a-zA-Z]/g,\n alphanumeric: /[^a-zA-Z0-9]/g,\n};\n\n@Component({\n tag: 'md-text-field',\n styleUrl: 'md-text-field.css',\n // delegatesFocus makes host.focus() (and click-anywhere) land in the inner\n // input — previously host.focus() was a literal no-op.\n shadow: { delegatesFocus: true },\n formAssociated: true,\n})\nexport class MdTextField {\n\n /**\n * Always occupy the supporting-text line, even when there is no message.\n *\n * The row is otherwise rendered only when there is something to show, so the\n * first validation error CREATES a line and shoves everything below it down —\n * the whole form jumps as you tab through it. Reserving the space is opt-in\n * because a field with no message would otherwise carry an empty line\n * everywhere, including dense and inline layouts. createFormController turns\n * it on automatically for the fields it manages, since those are exactly the\n * ones whose messages appear and disappear.\n */\n @Prop({ attribute: 'reserve-supporting-space' }) reserveSupportingSpace: boolean = false;\n\n @Element() el!: HTMLElement;\n\n @Prop() variant: 'filled' | 'outlined' = 'filled';\n @Prop() label: string = '';\n /** NOT reflected: typed values (incl. passwords) must never appear as a DOM attribute. */\n @Prop({ mutable: true }) value: string = '';\n @Prop() placeholder: string = '';\n @Prop() type: string = 'text';\n /** Form field name (host attribute — ElementInternals submits under it). */\n @Prop({ reflect: true }) name: string = '';\n /** Constraint validation (forwarded to the inner input; surfaced via ElementInternals). */\n @Prop() pattern: string = '';\n @Prop({ attribute: 'min-length', mutable: true }) minLength: number | undefined;\n @Prop() min: string | number | undefined;\n @Prop() max: string | number | undefined;\n @Prop() step: string | number | undefined;\n /** Input behavior passthrough (password managers / mobile keyboards). */\n @Prop() autocomplete: string = '';\n @Prop({ attribute: 'inputmode' }) inputMode: string = '';\n @Prop({ attribute: 'enterkeyhint' }) enterKeyHint: string = '';\n @Prop({ attribute: 'autocapitalize' }) autoCapitalize: string = '';\n @Prop() spellcheck: boolean | undefined;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ attribute: 'readonly' }) readOnly: boolean = false;\n @Prop() required: boolean = false;\n @Prop() error: boolean = false;\n @Prop() errorText: string = '';\n @Prop() supportingText: string = '';\n @Prop({ attribute: 'prefix-text' }) prefixText: string = '';\n @Prop({ attribute: 'suffix-text' }) suffixText: string = '';\n @Prop({ attribute: 'max-length', mutable: true }) maxLength: number | undefined;\n /** Show a clear icon button. 'internal' clears the value directly; 'external' emits mdClear and leaves value control to the consumer. */\n @Prop({ mutable: true }) clearable: 'internal' | 'external' | false = false;\n /** Show a password visibility toggle. 'internal' toggles the input type directly; 'external' emits mdPasswordToggle and leaves type control to the consumer. */\n @Prop({ attribute: 'password-toggle', mutable: true }) passwordToggle: 'internal' | 'external' | false = false;\n /** Density scale: 0 (default 56px), -1 (52px), -2 (48px), -3 (44px). */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n /**\n * Multi-line mode.\n * - false: single-line <input> (default)\n * - 'auto-grow': <textarea> that expands as content grows (multi-line field)\n * - 'fixed': <textarea> with fixed height that scrolls (text area)\n */\n @Prop() multiline: 'auto-grow' | 'fixed' | false = false;\n /** Number of visible text rows for multiline modes. Defaults to 2 for auto-grow, 4 for fixed. */\n @Prop() rows: number | undefined;\n /**\n * Speech-to-text via Web Speech API.\n * - 'internal': manages recognition internally, appends transcript to value\n * - 'external': emits mdSpeechResult on mic click, letting the consumer handle recognition\n */\n @Prop({ attribute: 'speech-to-text', mutable: true }) speechToText: 'internal' | 'external' | false = false;\n /** Language/locale for internal speech recognition (e.g. 'en-US', 'de-DE'). Defaults to browser locale. */\n @Prop({ attribute: 'speech-lang' }) speechLang: string = '';\n /**\n * Restrict input to allowed characters.\n * Presets: 'numeric', 'integer', 'decimal', 'alpha', 'alphanumeric'.\n * Custom: a regex character class string, e.g. '[0-9+() -]'.\n */\n @Prop() restrict: string = '';\n /**\n * Formats the raw value for display.\n * Set via JS: `el.formatter = (v) => Number(v).toLocaleString()`.\n */\n @Prop({ mutable: true }) formatter?: (value: string) => string;\n /**\n * Parses the display value back to a raw value.\n * Set via JS: `el.parser = (v) => v.replace(/[^0-9.-]/g, '')`.\n */\n @Prop({ mutable: true }) parser?: (displayValue: string) => string;\n /**\n * When to apply the formatter.\n * - 'blur': format on blur, show raw value on focus (default)\n * - 'input': format on every keystroke (live formatting)\n */\n @Prop({ attribute: 'format-on' }) formatOn: 'blur' | 'input' = 'blur';\n /** Border width when focused: 1, 2, or 3 pixels. */\n @Prop({ attribute: 'focus-border-width', reflect: true }) focusBorderWidth: number = 3;\n /**\n * Force the field to render in its focused visual state regardless of the\n * underlying input's actual focus. Use when the field acts as an *anchor*\n * for a popover, dialog, or menu, and the OS focus has moved into that\n * surface — for example the `md-time-picker` keeps its trigger field in\n * the focused look while the picker modal is open, so the trigger and\n * the modal read as one connected control.\n *\n * Visual-only: affects the notched-outline width / colour, the floating\n * label position, and the leading-icon colour through md-text-field's\n * existing `.md-text-field--focused` rules. Does NOT alter formatter /\n * blur-format behaviour (those keep tracking real focus events), so\n * `formatOn=\"blur\"` still flips between formatted and raw on real\n * focus/blur even while `appear-focused` is on.\n */\n @Prop({ attribute: 'appear-focused', reflect: true }) appearFocused: boolean = false;\n /**\n * When leading `chips` are slotted, allow them to WRAP onto multiple rows so\n * the field grows to fit them. Default `false`: chips stay on a single line and\n * the field keeps its normal height (the consumer, e.g. md-multi-select, is\n * responsible for handling overflow — clipping or a \"+N\" counter).\n */\n @Prop({ attribute: 'chips-wrap', reflect: true }) chipsWrap: boolean = false;\n /** Debounce delay (ms) for the mdSearch event. Emits after the user stops typing for this duration. 0 = disabled. */\n @Prop({ reflect: true }) debounce: number = 0;\n /** Throttle interval (ms) for the mdSearch event. Emits at most once per interval while typing. 0 = disabled. */\n @Prop({ reflect: true }) throttle: number = 0;\n\n @Event() mdInput: EventEmitter<string>;\n @Event() mdChange: EventEmitter<string>;\n /** Emitted with debounce/throttle control. Useful for search-as-you-type, API calls, or filtering. */\n @Event() mdSearch: EventEmitter<string>;\n @Event() mdClear: EventEmitter<void>;\n @Event() mdPasswordToggle: EventEmitter<{ visible: boolean }>;\n @Event() mdSpeechResult: EventEmitter<{ transcript: string; listening: boolean }>;\n\n @AttachInternals() internals!: ElementInternals;\n\n @State() private focused = false;\n @State() private formDisabled = false;\n @State() private autofilled = false;\n @State() private hostAriaLabel = '';\n @State() private passwordVisible = false;\n @State() private hasSlottedLeading = false;\n /** Interactive leading content (e.g. multi-select chips) slotted into `chips` —\n * rendered in the input flow (NOT the aria-hidden icon slot) so it stays operable. */\n @State() private hasSlottedChips = false;\n @State() private hasSlottedTrailing = false;\n @State() private hasTrailingIconButton = false;\n @State() private listening = false;\n @State() private displayValue: string = '';\n\n private inputEl?: HTMLInputElement | HTMLTextAreaElement;\n private defaultValue = '';\n /** True while a this.value mutation originates from user input handlers. */\n private internalWrite = false;\n private composing = false;\n private warnedLiveFormat = false;\n private uid = `md-text-field-${Math.random().toString(36).slice(2, 7)}`;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private recognition?: any;\n private debounceTimer?: ReturnType<typeof setTimeout>;\n private throttleTimer?: ReturnType<typeof setTimeout>;\n private throttlePending = false;\n private lastEmittedSearch: string | undefined;\n\n /** Consumer `disabled` OR ancestor form/fieldset disabled (formDisabledCallback). */\n private get isDisabled(): boolean {\n return this.disabled || this.formDisabled;\n }\n\n /** Live (per-keystroke) formatting REQUIRES a parser — without one the\n * formatted display feeds back into the next parse and corrupts the value.\n * Fall back to blur formatting and warn once in dev. */\n private get effectiveFormatOn(): 'blur' | 'input' {\n if (this.formatOn === 'input' && this.formatter && !this.parser) {\n if (Build.isDev && !this.warnedLiveFormat) {\n this.warnedLiveFormat = true;\n console.warn(\"[md-text-field] format-on='input' requires a parser — falling back to format-on='blur'.\", this.el);\n }\n return 'blur';\n }\n return this.formatOn;\n }\n\n /** Anything focusable slotted as trailing content must stay in the AX\n * tree (the wrapper is aria-hidden for decorative icons only). */\n private static isInteractive(el: Element): boolean {\n const tag = el.tagName.toLowerCase();\n return (\n ['md-icon-button', 'md-button', 'button', 'a', 'input', 'select', 'textarea'].includes(tag) ||\n el.hasAttribute('tabindex')\n );\n }\n\n private get isFloating(): boolean {\n // `appearFocused` opts an unfocused, empty field into the floating-label\n // state so the legend notch forms cleanly around the label. Without this,\n // toggling `appear-focused` on an empty trigger would draw the focused\n // primary outline THROUGH the resting (inline) label, because the\n // fieldset's legend wouldn't be active and there'd be no notch cut.\n return this.focused || this.appearFocused || !!this.value || !!this.placeholder || this.autofilled || this.hasSlottedChips;\n }\n\n private get effectiveRows(): number {\n if (this.rows != null) return this.rows;\n return this.multiline === 'fixed' ? 4 : 2;\n }\n\n private get restrictPattern(): RegExp | null {\n if (!this.restrict) return null;\n if (RESTRICT_PATTERNS[this.restrict]) return RESTRICT_PATTERNS[this.restrict];\n try {\n // Custom character class: invert it to strip disallowed chars\n // e.g. '[0-9+]' → /[^0-9+]/g\n const inner = this.restrict.startsWith('[') && this.restrict.endsWith(']')\n ? this.restrict.slice(1, -1)\n : this.restrict;\n return new RegExp(`[^${inner}]`, 'g');\n } catch {\n return null;\n }\n }\n\n private applyRestrict(raw: string): string {\n const pattern = this.restrictPattern;\n return pattern ? raw.replace(pattern, '') : raw;\n }\n\n private syncTrailingSlotState(trailingSlot: HTMLSlotElement | null | undefined) {\n if (!trailingSlot) return;\n this.hasSlottedTrailing = trailingSlot.assignedNodes().length > 0;\n this.hasTrailingIconButton = trailingSlot\n .assignedElements()\n .some((el) => MdTextField.isInteractive(el));\n }\n\n /**\n * Detect projected trailing/leading icons from host children before first\n * paint. Nested consumers (e.g. md-date-picker) always render a trailing\n * md-icon-button inside the field; waiting for componentDidLoad left the\n * trailing wrapper at display:none on the initial frame.\n */\n private syncHostSlottedIcons() {\n const leading = this.el.querySelector('[slot=\"leading-icon\"]');\n const trailing = this.el.querySelector('[slot=\"trailing-icon\"]');\n this.hasSlottedLeading = !!leading;\n this.hasSlottedTrailing = !!trailing;\n this.hasTrailingIconButton = !!trailing && MdTextField.isInteractive(trailing);\n }\n\n componentWillLoad() {\n this.bridgeFormatterProps();\n // bare attribute forms (`clearable`, `password-toggle`, `speech-to-text`)\n // parse as '' — treat as the internal mode instead of silently off\n if (this.el.hasAttribute('clearable') && !this.clearable) this.clearable = 'internal';\n if (this.el.hasAttribute('password-toggle') && !this.passwordToggle) this.passwordToggle = 'internal';\n if (this.el.hasAttribute('speech-to-text') && !this.speechToText) this.speechToText = 'internal';\n // native attribute spellings (minlength/maxlength) as fallbacks for the\n // dash-cased props\n if (this.maxLength == null && this.el.hasAttribute('maxlength')) {\n this.maxLength = parseInt(this.el.getAttribute('maxlength')!, 10);\n }\n if (this.minLength == null && this.el.hasAttribute('minlength')) {\n this.minLength = parseInt(this.el.getAttribute('minlength')!, 10);\n }\n // host aria-label passthrough: hosts are role-less (generic), where\n // aria-label is prohibited — move it to the input's accessible name\n if (!this.label && !this.hostAriaLabel) {\n const hostLabel = this.el.getAttribute('aria-label');\n if (hostLabel) {\n this.hostAriaLabel = hostLabel;\n this.el.removeAttribute('aria-label');\n }\n }\n // Sync before first paint so consumers (e.g. md-date-picker) do not flash\n // an empty input when a `value` prop is already set.\n if (!this.multiline && /[\\r\\n]/.test(this.value)) {\n this.value = this.value.replace(/[\\r\\n]+/g, ''); // native setter parity for initial values\n }\n this.defaultValue = this.value;\n this.syncDisplayValue();\n this.syncHostSlottedIcons();\n this.updateFormValue();\n }\n\n /** ElementInternals: participate in FormData under the host's `name`. */\n private updateFormValue() {\n try {\n this.internals?.setFormValue(this.value); // '' submits as x= like a native input\n } catch { /* spec mock */ }\n }\n\n /** Surface the inner input's constraint validity on the host. */\n private customValidityMessage = '';\n\n private updateValidity() {\n const input = this.inputEl;\n if (!input) return;\n try {\n if (this.customValidityMessage) {\n this.internals?.setValidity({ customError: true }, this.customValidityMessage, input);\n return;\n }\n // Validity must describe the SUBMITTED value (this.value), not the\n // formatted display: pattern=\"[0-9]+\" + a grouping formatter flagged\n // valid data as patternMismatch after blur. Probe raw synchronously\n // (no paint can happen mid-task), then restore the display.\n // While FOCUSED with display != raw (live formatter/parser fields),\n // the probe swap below destroys the caret Chrome preserves across\n // value writes — skip; blur re-validates on the committed state.\n if (this.focused && input.value !== this.value) return;\n const shown = input.value;\n let restore = false;\n if (input.value !== this.value) {\n input.value = this.value;\n restore = true;\n if (input.value !== this.value) {\n // input can't even HOLD the value (type=number + garbage) — block\n // submission rather than submit data the control can't represent\n input.value = shown;\n this.internals?.setValidity({ badInput: true }, 'Invalid value', input);\n return;\n }\n }\n // SNAPSHOT immediately: input.validity is LIVE — restoring the display\n // value below would re-flip every flag before we read it.\n const v = input.validity;\n const flags = {\n valueMissing: v.valueMissing,\n typeMismatch: v.typeMismatch,\n patternMismatch: v.patternMismatch,\n tooLong: v.tooLong,\n tooShort: v.tooShort,\n rangeUnderflow: v.rangeUnderflow,\n rangeOverflow: v.rangeOverflow,\n stepMismatch: v.stepMismatch,\n badInput: v.badInput,\n };\n const valid = v.valid;\n const message = input.validationMessage;\n if (restore) input.value = shown;\n\n if (valid) {\n this.internals?.setValidity({});\n } else {\n // plain flags — passing the live ValidityState object throws in Chrome\n this.internals?.setValidity(flags, message || 'Invalid value', input);\n }\n } catch { /* spec mock */ }\n this.emitValidityChange();\n }\n\n formResetCallback() {\n this.internalWrite = false;\n this.value = this.defaultValue;\n this.syncDisplayValue();\n if (this.inputEl) this.inputEl.value = this.displayValue;\n this.updateFormValue();\n }\n\n formDisabledCallback(disabled: boolean) {\n // called synchronously while Stencil reflects the disabled attribute\n // during render — a direct @State write logs 'changed during rendering'\n queueMicrotask(() => {\n this.formDisabled = disabled;\n });\n }\n\n /**\n * Promote the inner input to a WAI-ARIA **combobox**, for a composite that\n * owns the popup (md-autocomplete). The role has to live on the real textbox\n * — the one AT reads when it has focus — and this field renders it, so the\n * owner cannot put it there itself.\n *\n * Whitelisted to `combobox`: it is the only role an owner has a legitimate\n * reason to place on a text input, and an open-ended role prop here would let\n * a consumer lie about the control.\n */\n @Prop({ attribute: 'input-role' }) inputRole: '' | 'combobox' = '';\n\n /** Expanded state of the owner's popup. Emitted only with `input-role=\"combobox\"`,\n * where `aria-expanded` is an allowed attribute (it is not on a bare textbox). */\n @Prop({ attribute: 'input-expanded' }) inputExpanded: boolean = false;\n\n /** `aria-autocomplete` for the combobox — how typing relates to the popup. */\n @Prop({ attribute: 'input-aria-autocomplete' })\n inputAriaAutocomplete: '' | 'none' | 'inline' | 'list' | 'both' = '';\n\n /** Focus the inner input (host.focus() also works via delegatesFocus). */\n @Method()\n async setFocus() {\n this.inputEl?.focus();\n }\n\n /** Select the input's full contents. */\n @Method()\n async select() {\n this.inputEl?.select();\n }\n\n /**\n * The real `<input>` / `<textarea>` this field renders.\n *\n * A composite that owns a popup (md-autocomplete, the date/time pickers)\n * needs the actual textbox to wire combobox ARIA onto — its role, its\n * expanded state, and the element references that point at a listbox living\n * in the PARENT's shadow root. Handing it over explicitly replaces the\n * shadow-piercing `querySelector('.md-text-field__input')` those components\n * were doing against a private class name.\n *\n * Returns null before the first render.\n */\n @Method()\n async getInputElement(): Promise<HTMLInputElement | HTMLTextAreaElement | null> {\n return this.inputEl ?? null;\n }\n\n /** Native-parity validity readback: flags + message + willValidate. */\n @Method()\n async getValidity(): Promise<{ valid: boolean; validationMessage: string; flags: Record<string, boolean> }> {\n try {\n const v = this.internals.validity;\n return {\n valid: v.valid,\n validationMessage: this.internals.validationMessage,\n flags: {\n valueMissing: v.valueMissing,\n typeMismatch: v.typeMismatch,\n patternMismatch: v.patternMismatch,\n tooLong: v.tooLong,\n tooShort: v.tooShort,\n rangeUnderflow: v.rangeUnderflow,\n rangeOverflow: v.rangeOverflow,\n stepMismatch: v.stepMismatch,\n badInput: v.badInput,\n customError: v.customError,\n },\n };\n } catch {\n return { valid: true, validationMessage: '', flags: {} };\n }\n }\n\n /** App/server-side validation: a non-empty message marks the field\n * invalid for its form until cleared with an empty string. */\n @Method()\n async setCustomValidity(message: string) {\n this.customValidityMessage = message;\n this.updateValidity();\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n // browser session restore / bfcache — native inputs restore their value\n if (typeof state === 'string') {\n this.value = state;\n }\n }\n\n /**\n * Fires when this control's validity CHANGES — never on every keystroke, and\n * never for a re-publish that lands on the same state.\n *\n * `composed: false` is deliberate. Composites like md-select embed an\n * md-text-field, and a composed event escapes that inner shadow root, so a\n * listener on md-select would receive the inner field's event as well as the\n * host's — two events, different payloads, for one logical control. Keeping\n * it uncomposed means each component reports only for itself, while\n * `bubbles: true` still lets a <form> or app root hear every control.\n */\n @Event({ bubbles: true, composed: false }) mdValidityChange: EventEmitter<{\n valid: boolean;\n validationMessage: string;\n flags: Record<string, boolean>;\n }>;\n\n /** Last emitted validity, so a re-publish that changes nothing stays silent. */\n private lastValidityKey: string | null = null;\n\n /**\n * Emit mdValidityChange if validity actually moved.\n *\n * The FIRST call only primes the baseline. Initial state is not a change, and\n * emitting on mount would fire once per control on every page load — noise a\n * consumer would have to filter out, and misleading for anything logging\n * \"field became invalid\".\n */\n private emitValidityChange() {\n const v = getValidityOf(this.internals);\n const key = `${v.valid}|${v.validationMessage}`;\n if (this.lastValidityKey === key) return;\n const primed = this.lastValidityKey !== null;\n this.lastValidityKey = key;\n if (primed) this.mdValidityChange.emit(v);\n }\n\n /** Constraint-validation API, delegated to the inner input. */\n @Method()\n async checkValidity(): Promise<boolean> {\n // internals reflects the SUBMITTED value's validity (the inner input may\n // hold a formatted display that would answer wrongly in both directions)\n try {\n return this.internals.checkValidity();\n } catch {\n return this.inputEl?.checkValidity() ?? true;\n }\n }\n\n @Method()\n async reportValidity(): Promise<boolean> {\n try {\n return this.internals.reportValidity();\n } catch {\n return this.inputEl?.reportValidity() ?? true;\n }\n }\n\n componentDidLoad() {\n const root = this.el.shadowRoot;\n const leadingSlot = root?.querySelector('slot[name=\"leading-icon\"]') as HTMLSlotElement | null;\n leadingSlot?.addEventListener('slotchange', () => {\n this.hasSlottedLeading = leadingSlot.assignedNodes().length > 0;\n });\n const trailingSlot = root?.querySelector('slot[name=\"trailing-icon\"]') as HTMLSlotElement | null;\n trailingSlot?.addEventListener('slotchange', () => {\n this.syncTrailingSlotState(trailingSlot);\n });\n const chipsSlot = root?.querySelector('slot[name=\"chips\"]') as HTMLSlotElement | null;\n chipsSlot?.addEventListener('slotchange', () => {\n this.hasSlottedChips = chipsSlot.assignedNodes().length > 0;\n });\n // Detect statically-slotted icons present at first render: the initial\n // `slotchange` can fire before the listeners above are attached, so sync\n // once on load (matches md-icon-button's behaviour).\n this.hasSlottedLeading = (leadingSlot?.assignedNodes().length ?? 0) > 0;\n this.hasSlottedChips = (chipsSlot?.assignedNodes().length ?? 0) > 0;\n this.syncTrailingSlotState(trailingSlot);\n\n if (this.multiline === 'auto-grow') {\n this.autoGrow();\n }\n\n // Initialize display value with formatted version if not focused\n this.syncDisplayValue();\n this.updateValidity();\n }\n\n @Watch('value')\n onValueChange() {\n // framework form resets (Angular/Vue setValue(null)) write null through\n // the proxies — native inputs coerce to ''\n if (this.value == null) {\n this.value = '';\n return; // watch re-fires with ''\n }\n // native single-line inputs strip newlines at the value SETTER —\n // blurred programmatic writes must sanitize too, or value/display/\n // validity/submission diverge\n if (!this.internalWrite && !this.multiline && /[\\r\\n]/.test(this.value)) {\n this.value = this.value.replace(/[\\r\\n]+/g, '');\n return; // watch re-fires with the clean value\n }\n if (this.multiline === 'auto-grow') {\n this.autoGrow();\n }\n this.updateFormValue();\n if (!this.focused) {\n this.syncDisplayValue();\n return;\n }\n // Programmatic writes while FOCUSED were silently dropped (the next\n // keystroke reverted to DOM state) — breaking md-autocomplete's option\n // pick. Writes NOT originating from our own input handlers must reach\n // the visible input, preserving the caret.\n if (!this.internalWrite) {\n // a programmatic write ABORTS any in-flight composition without a\n // compositionend — un-wedge the gate\n this.composing = false;\n this.syncDisplayValue();\n const el = this.inputEl;\n if (el) {\n el.value = this.effectiveFormatOn === 'blur' && this.formatter ? this.value : this.displayValue;\n // replacement semantics (autocomplete pick): caret goes to the end\n const end = el.value.length;\n try { el.setSelectionRange(end, end); } catch { /* mock DOM */ }\n }\n this.updateValidity();\n }\n }\n\n /** Re-sync the DOM input after a type change: churning through\n * type=\"number\" leaves the native input blank for non-numeric values;\n * switching back must restore the visible text. */\n private pendingTypeResync = false;\n\n @Watch('type')\n onTypeChange() {\n // resync must run AFTER the render that applies the new type to the DOM —\n // a microtask fires before Stencil commits, and the type swap re-wipes it\n this.pendingTypeResync = true;\n }\n\n componentDidRender() {\n if (this.pendingTypeResync) {\n this.pendingTypeResync = false;\n const el = this.inputEl;\n if (el) {\n const expected = this.focused && this.formatter && this.effectiveFormatOn === 'blur' ? this.value : this.displayValue;\n if (el.value !== expected) {\n el.value = expected;\n }\n }\n }\n // Always AFTER render: validity must be read from the COMMITTED input —\n // reading it in the value watch saw the stale DOM (programmatic fills\n // never cleared valueMissing).\n this.updateValidity();\n }\n\n @State() private formatterEpoch = 0;\n\n /** Stencil function-typed props are INERT (no watch, no re-render on\n * assignment) — bridge element-level formatter/parser assignments with\n * explicit accessors so the documented `el.formatter = fn` path\n * reformats the resting display and re-renders (maxLength omission etc). */\n private bridgeFormatterProps() {\n (['formatter', 'parser'] as const).forEach((key) => {\n const el = this.el as unknown as Record<string, unknown>;\n Object.defineProperty(this.el, key, {\n configurable: true,\n get: () => this[key],\n set: (fn: ((v: string) => string) | undefined) => {\n this[key] = fn as never;\n // recompute the display BEFORE the reactive poke — spec-env renders\n // flush synchronously per state set, and a stale displayValue would\n // win the final patch\n if (!this.focused) {\n this.syncDisplayValue();\n }\n this.formatterEpoch++; // re-render (maxLength omission, display)\n },\n });\n void el;\n });\n }\n\n private syncDisplayValue() {\n if (this.formatter) {\n try {\n const out = this.formatter(this.value);\n this.displayValue = typeof out === 'string' ? out : this.value;\n } catch (err) {\n if (Build.isDev) console.warn('[md-text-field] formatter threw — showing the raw value.', err);\n this.displayValue = this.value;\n }\n } else {\n this.displayValue = this.value;\n }\n }\n\n private emitSearchDistinct(value: string) {\n if (value === this.lastEmittedSearch) return;\n this.lastEmittedSearch = value;\n this.mdSearch.emit(value);\n }\n\n private emitSearch(value: string) {\n if (this.debounce > 0) {\n clearTimeout(this.debounceTimer);\n this.debounceTimer = setTimeout(() => this.emitSearchDistinct(value), this.debounce);\n }\n\n if (this.throttle > 0) {\n if (!this.throttleTimer) {\n this.emitSearchDistinct(value);\n this.throttlePending = false;\n this.throttleTimer = setTimeout(() => {\n this.throttleTimer = undefined;\n if (this.throttlePending) {\n this.emitSearchDistinct(this.value);\n this.throttlePending = false;\n }\n }, this.throttle);\n } else {\n this.throttlePending = true;\n }\n }\n\n if (this.debounce <= 0 && this.throttle <= 0) {\n this.emitSearchDistinct(value);\n }\n }\n\n private autoGrow() {\n const textarea = this.inputEl as HTMLTextAreaElement | undefined;\n if (!textarea) return;\n textarea.value = this.value;\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n }\n\n private handleInput = (e: Event) => {\n const el = (e.target as HTMLInputElement | HTMLTextAreaElement) || this.inputEl;\n if (!el) return;\n // Mid-IME-composition the DOM value is provisional: restricting or\n // formatting it CANCELS the composition on every CJK keystroke. Let the\n // browser compose; the full pipeline runs once on compositionend.\n if (this.composing) return;\n let raw = el.value;\n let cursorPos = el.selectionStart ?? raw.length;\n\n // Apply restriction\n let restricted = this.applyRestrict(raw);\n // length cap runs AFTER restrict (native maxLength is not forwarded for\n // restrict fields), so pasting \"(555) 123-4567\" into numeric/10 keeps\n // all ten digits\n if (this.restrict && this.maxLength != null && !isNaN(this.maxLength) && restricted.length > this.maxLength) {\n const points = Array.from(restricted);\n let out = '';\n for (const pt of points) {\n if ((out + pt).length > this.maxLength) break;\n out += pt;\n }\n restricted = out;\n }\n if (restricted !== raw) {\n // adjust the caret by characters stripped BEFORE it only — the global\n // length diff also counted strips after the caret, landing the caret\n // behind the edit point and scrambling sustained mid-string typing\n const strippedBefore = this.applyRestrict(raw.substring(0, cursorPos));\n raw = restricted;\n el.value = raw;\n cursorPos = Math.min(strippedBefore.length, raw.length);\n try { el.setSelectionRange(cursorPos, cursorPos); } catch { /* mock DOM */ }\n }\n\n this.internalWrite = true;\n try {\n this.value = this.parser ? this.parser(raw) : raw;\n } catch (err) {\n if (Build.isDev) console.warn('[md-text-field] parser threw — using the raw value.', err);\n this.value = raw;\n }\n\n if (this.formatter && this.effectiveFormatOn === 'input' && this.maxLength != null) {\n const content = this.value.replace(/[-/\\s]/g, '');\n if (content.length > this.maxLength) {\n // slice by CODE POINTS — a code-unit slice can split a surrogate\n // pair and submit corrupted Unicode (U+FFFD)\n const points = Array.from(content);\n let out = '';\n for (const pt of points) {\n if ((out + pt).length > this.maxLength) break;\n out += pt;\n }\n this.value = out;\n }\n }\n\n if (this.formatter && this.effectiveFormatOn === 'input') {\n try {\n // content = what the PARSER keeps (typed '.'/',' are content for number\n // formatters; group separators are not) — the alphanumeric-only count\n // orphaned decimal separators and scrambled following digits\n const contentLen = (str: string) =>\n this.parser ? this.parser(str).length : (str.match(/[0-9a-zA-Z]/g) || []).length;\n const contentBeforeCursor = contentLen(raw.substring(0, cursorPos));\n const formatted = this.formatter(this.value);\n this.displayValue = formatted;\n el.value = formatted;\n\n // deletions can land the caret at content position 0 — defaulting to\n // the END teleported it and scrambled \"retype the first group\" flows\n let newPos = contentBeforeCursor === 0 ? 0 : formatted.length;\n for (let i = 0; contentBeforeCursor > 0 && i < formatted.length; i++) {\n if (contentLen(formatted.slice(0, i + 1)) === contentBeforeCursor) {\n newPos = i + 1;\n break;\n }\n }\n try { el.setSelectionRange(newPos, newPos); } catch { /* mock DOM */ }\n } catch (err) {\n // a throwing formatter must not wedge the pipeline (uncaught per\n // keystroke froze the visible input while value kept advancing)\n if (Build.isDev) console.warn('[md-text-field] formatter threw — leaving the raw display.', err);\n this.displayValue = this.value;\n el.value = this.value;\n }\n }\n\n if (!(this.formatter && this.effectiveFormatOn === 'input')) {\n // keep displayValue honest while typing — the post-render type-churn\n // resync reads it and used to clobber live input with stale text\n this.displayValue = el.value;\n }\n this.internalWrite = false;\n this.mdInput.emit(this.value);\n this.emitSearch(this.value);\n\n if (this.multiline === 'auto-grow') {\n this.autoGrow();\n }\n };\n\n private handleCompositionStart = () => {\n this.composing = true;\n };\n\n private handleCompositionEnd = (e: Event) => {\n this.composing = false;\n this.handleInput(e);\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n // Enter submits the owning form (single-line fields, like a native input)\n if (e.key === 'Enter' && !this.multiline && !this.composing) {\n try {\n const form = this.internals?.form;\n // native implicit submission activates the DEFAULT submit button so\n // its name/value participates and its click handlers fire\n const submitter = form?.querySelector<HTMLElement>(\n 'button[type=\"submit\"], input[type=\"submit\"], button:not([type])',\n );\n form?.requestSubmit(submitter instanceof HTMLButtonElement || submitter instanceof HTMLInputElement ? submitter : undefined);\n } catch { /* spec mock */ }\n }\n // Escape clears (internal clearable only) — keyboard parity with the icon\n if (e.key === 'Escape' && !this.composing && this.clearable === 'internal' && this.value && !this.readOnly && !this.isDisabled) {\n e.stopPropagation();\n e.preventDefault(); // a parent <dialog> must not ALSO close on the clearing press\n this.clearValue();\n this.mdClear.emit(); // keyboard parity with the clear icon\n }\n };\n\n /** Autofill never fires input events pre-interaction — detect it via the\n * animation hack so the label floats instead of overlapping the text. */\n private handleAutofillStart = (e: AnimationEvent) => {\n if (e.animationName === 'md-tf-autofill-start') this.autofilled = true;\n if (e.animationName === 'md-tf-autofill-cancel') this.autofilled = false;\n };\n\n private handleChange = () => {\n this.mdChange.emit(this.value);\n // change is non-composed — form-level change delegation never hears the\n // inner input; re-dispatch from the host (material-web parity).\n // CustomEvent, NOT Event: the Stencil `Event` decorator import shadows\n // the DOM constructor here.\n this.el.dispatchEvent(new CustomEvent('change', { bubbles: true }));\n };\n\n private handleFocus = () => {\n this.focused = true;\n // In blur mode, switch from formatted display to raw value for editing\n if (this.formatter && this.effectiveFormatOn === 'blur' && this.inputEl) {\n this.displayValue = this.value;\n this.inputEl.value = this.value;\n }\n };\n\n private handleBlur = () => {\n this.focused = false;\n this.composing = false; // abandoned compositions must not wedge the input gate\n // Always sync display value on blur\n this.syncDisplayValue();\n if (this.inputEl) {\n this.inputEl.value = this.displayValue;\n }\n };\n\n private handleContainerClick = () => {\n this.inputEl?.focus();\n };\n\n private clearValue() {\n this.internalWrite = true;\n this.value = '';\n this.internalWrite = false;\n if (this.inputEl) {\n this.inputEl.value = '';\n }\n this.displayValue = '';\n this.updateValidity();\n this.mdInput.emit(this.value);\n this.mdChange.emit(this.value);\n this.emitSearch(''); // search consumers must not keep stale results\n }\n\n private handleClear = (e: MouseEvent) => {\n e.stopPropagation();\n // readonly means the USER cannot mutate the value — the clear affordance included\n if (this.isDisabled || this.readOnly || !this.value) return;\n\n if (this.clearable === 'internal') {\n this.clearValue();\n }\n\n this.mdClear.emit();\n this.inputEl?.focus();\n };\n\n private handlePasswordToggle = (e: MouseEvent) => {\n e.stopPropagation();\n if (this.isDisabled) return;\n\n if (this.passwordToggle === 'internal') {\n this.passwordVisible = !this.passwordVisible;\n this.mdPasswordToggle.emit({ visible: this.passwordVisible });\n } else {\n this.mdPasswordToggle.emit({ visible: this.type === 'password' });\n }\n\n this.inputEl?.focus();\n };\n\n private handleSpeechToggle = (e: MouseEvent) => {\n e.stopPropagation();\n if (this.isDisabled || this.readOnly) return;\n\n if (this.speechToText === 'external') {\n this.listening = !this.listening;\n this.mdSpeechResult.emit({ transcript: '', listening: this.listening });\n return;\n }\n\n if (this.listening) {\n this.recognition?.stop();\n return;\n }\n\n const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;\n if (!SpeechRecognition) {\n console.warn('md-text-field: SpeechRecognition API not supported in this browser.');\n return;\n }\n\n const recognition = new SpeechRecognition();\n recognition.continuous = false;\n recognition.interimResults = true;\n if (this.speechLang) {\n recognition.lang = this.speechLang;\n }\n\n let finalTranscript = '';\n const baseValue = this.value;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n recognition.onresult = (event: any) => {\n let interim = '';\n for (let i = event.resultIndex; i < event.results.length; i++) {\n const transcript = event.results[i][0].transcript;\n if (event.results[i].isFinal) {\n finalTranscript += transcript;\n } else {\n interim += transcript;\n }\n }\n const separator = baseValue && !baseValue.endsWith(' ') ? ' ' : '';\n this.internalWrite = true;\n this.value = baseValue + separator + finalTranscript + interim;\n this.internalWrite = false;\n if (this.inputEl) this.inputEl.value = this.value;\n this.mdInput.emit(this.value);\n this.mdSpeechResult.emit({ transcript: finalTranscript + interim, listening: true });\n };\n\n recognition.onend = () => {\n this.listening = false;\n this.recognition = undefined;\n const separator = baseValue && !baseValue.endsWith(' ') ? ' ' : '';\n this.internalWrite = true;\n this.value = baseValue + separator + finalTranscript;\n this.internalWrite = false;\n if (this.inputEl) this.inputEl.value = this.value;\n this.mdInput.emit(this.value);\n this.mdChange.emit(this.value);\n this.mdSpeechResult.emit({ transcript: finalTranscript, listening: false });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n recognition.onerror = (event: any) => {\n if (event.error !== 'aborted') {\n console.warn('md-text-field: Speech recognition error:', event.error);\n }\n this.listening = false;\n this.recognition = undefined;\n };\n\n this.recognition = recognition;\n this.listening = true;\n recognition.start();\n };\n\n disconnectedCallback() {\n this.recognition?.abort();\n this.recognition = undefined;\n clearTimeout(this.debounceTimer);\n clearTimeout(this.throttleTimer);\n // stale ids read as an OPEN throttle window after reconnect — mdSearch\n // would never emit again for this instance\n this.debounceTimer = undefined;\n this.throttleTimer = undefined;\n this.throttlePending = false;\n }\n\n private renderInputElement() {\n const inputType = this.passwordToggle === 'internal' && this.passwordVisible ? 'text' : this.type;\n const useRawWhileFocused = this.focused && this.formatter && this.effectiveFormatOn === 'blur';\n const showValue = useRawWhileFocused ? this.value : this.displayValue;\n\n const supportText = this.error && this.errorText ? this.errorText : this.supportingText;\n const describedBy = [\n supportText ? `${this.uid}-support` : '',\n this.maxLength != null && !isNaN(this.maxLength) ? `${this.uid}-counter` : '',\n ].filter(Boolean).join(' ');\n\n // Mirror the popup-opener kinds that are truthful ON THE INPUT: 'dialog'\n // (md-time-picker's modal trigger) and 'listbox' (the select/autocomplete\n // family — the focused input genuinely summons a listbox popup). Other\n // kinds stay host-side, and aria-controls is never mirrored (an IDREF in\n // this shadow scope can never resolve to the owner's popup).\n const hostPopupAttr = this.el.getAttribute('aria-haspopup');\n const hostPopup = hostPopupAttr === 'dialog' || hostPopupAttr === 'listbox' ? hostPopupAttr : null;\n // Combobox promotion (opt-in, `input-role=\"combobox\"`): with the role in\n // place, aria-expanded and aria-autocomplete become allowed on this input,\n // so the owner's popup state is exposed on the element AT actually reads.\n // The listbox itself is still referenced by the OWNER, via ARIA element\n // reflection — see md-autocomplete. An IDREF could not do it: it would have\n // to resolve inside this shadow root, where the owner's listbox is not.\n const comboboxRole = this.inputRole === 'combobox' ? 'combobox' : undefined;\n const sharedProps = {\n placeholder: this.isFloating ? this.placeholder : '',\n disabled: this.isDisabled,\n readOnly: this.readOnly,\n required: this.required,\n // restrict fields enforce length POST-strip in handleInput — native\n // maxLength would truncate a paste BEFORE restrict runs, dropping legal chars\n maxLength: (this.formatter && this.effectiveFormatOn === 'input') || this.restrict ? undefined : this.maxLength,\n pattern: this.pattern || undefined,\n minLength: this.minLength,\n min: this.min,\n max: this.max,\n step: this.step,\n autocomplete: this.autocomplete || undefined,\n inputMode: this.inputMode || undefined,\n enterKeyHint: this.enterKeyHint || undefined,\n autoCapitalize: this.autoCapitalize || undefined,\n spellcheck: this.spellcheck,\n // value LAST: Stencil applies JSX props in order, and value-before-\n // type/min/max triggers dev warnings + transient clamping\n value: showValue,\n 'aria-label': this.label || this.hostAriaLabel || undefined,\n // popup-trigger passthrough: composite widgets (md-time-picker etc.)\n // set aria-haspopup / aria-expanded / aria-controls on the host, but\n // AT reads the focused element — the inner input — so mirror them.\n // Only aria-haspopup is mirrored from the HOST — it's an ARIA *global*\n // attribute, valid on the textbox role. aria-expanded is not allowed on a\n // bare textbox (axe: critical aria-allowed-attr), so an owner that needs\n // it opts into `input-role=\"combobox\"` above instead of pushing the\n // attribute at the host. Read live from the host each render; the host\n // attrs are re-applied by the owner's JSX and any owner state flip that\n // changes them also re-renders this field (e.g. via appearFocused).\n 'aria-haspopup': hostPopup || undefined,\n role: comboboxRole,\n 'aria-expanded': comboboxRole ? String(this.inputExpanded) : undefined,\n 'aria-autocomplete':\n comboboxRole && this.inputAriaAutocomplete ? this.inputAriaAutocomplete : undefined,\n 'aria-describedby': describedBy || undefined,\n // omit when valid — a hard-coded \"false\" suppresses the browser's own\n // :user-invalid signal on the inner input\n 'aria-invalid': this.error ? 'true' : undefined,\n 'aria-required': this.required ? 'true' : undefined,\n id: `${this.uid}-input`,\n onInput: this.handleInput,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown: this.handleKeyDown,\n onCompositionstart: this.handleCompositionStart,\n onCompositionend: this.handleCompositionEnd,\n onAnimationStart: this.handleAutofillStart,\n };\n\n if (this.multiline) {\n return (\n <textarea\n ref={(el?: HTMLTextAreaElement) => { this.inputEl = el; }}\n {...sharedProps}\n rows={this.effectiveRows}\n part=\"input\"\n class={{\n 'md-text-field__input': true,\n 'md-text-field__input--textarea': true,\n 'md-text-field__input--auto-grow': this.multiline === 'auto-grow',\n 'md-text-field__input--fixed': this.multiline === 'fixed',\n }}\n >\n {showValue}\n </textarea>\n );\n }\n\n return (\n <input\n ref={(el?: HTMLInputElement) => { this.inputEl = el; }}\n class=\"md-text-field__input\"\n part=\"input\"\n type={inputType}\n {...sharedProps}\n />\n );\n }\n\n render() {\n const supportText = this.error && this.errorText ? this.errorText : this.supportingText;\n const showClear = !!this.clearable;\n const showPasswordToggle = !this.multiline && !!this.passwordToggle;\n const showSpeech = !!this.speechToText;\n const hasLeading = this.hasSlottedLeading;\n const hasTrailing = this.hasSlottedTrailing || showClear || showPasswordToggle || showSpeech || this.error;\n // The counter must count what the LIMIT counts: native maxLength counts\n // every char; only the live-formatter path enforces a stripped length.\n const usesFormatterLimit = !!this.formatter && this.effectiveFormatOn === 'input';\n const contentLength = usesFormatterLimit\n ? this.value.replace(/[-/\\s]/g, '').length\n : this.value.length;\n const charCount = this.maxLength != null && !isNaN(this.maxLength) ? `${contentLength}/${this.maxLength}` : '';\n const clearDisabled = this.isDisabled || this.readOnly || !this.value;\n\n const isPasswordRevealed = this.passwordToggle === 'internal'\n ? this.passwordVisible\n : this.type !== 'password';\n const passwordIcon = isPasswordRevealed ? 'visibility_off' : 'visibility';\n\n return (\n <Host\n class={{\n 'md-text-field': true,\n [`md-text-field--${this.variant}`]: true,\n 'md-text-field--focused': this.focused || this.appearFocused,\n 'md-text-field--error': this.error,\n 'md-text-field--disabled': this.isDisabled,\n 'md-text-field--with-leading': hasLeading,\n 'md-text-field--with-trailing': hasTrailing,\n 'md-text-field--with-chips': this.hasSlottedChips,\n 'md-text-field--floating': this.isFloating,\n [`md-text-field--density${this.density}`]: this.density !== 0,\n 'md-text-field--multiline': !!this.multiline,\n 'md-text-field--auto-grow': this.multiline === 'auto-grow',\n 'md-text-field--textarea': this.multiline === 'fixed',\n 'md-text-field--listening': this.listening,\n }}\n style={Number(this.focusBorderWidth) !== 3 ? {\n // Only inline when the prop deviates — unconditional inline styles\n // made the documented custom properties dead (clobbered every render).\n '--md-text-field-focus-border-width': `${Number(this.focusBorderWidth)}px`,\n '--md-text-field-focus-inset': `${-(Number(this.focusBorderWidth) - 1)}px`,\n } : undefined}\n >\n <div class=\"md-text-field__container\" part=\"container\" onClick={this.handleContainerClick}>\n <div class=\"md-text-field__state-layer\" aria-hidden=\"true\"></div>\n\n <span\n class=\"md-text-field__icon md-text-field__icon--leading\"\n aria-hidden=\"true\"\n style={{ display: hasLeading ? undefined : 'none' }}\n >\n <slot name=\"leading-icon\"></slot>\n </span>\n\n <div class=\"md-text-field__input-wrap\">\n {this.label && (\n <label class=\"md-text-field__label\" part=\"label\" htmlFor={`${this.uid}-input`}>{this.label}</label>\n )}\n\n <div class=\"md-text-field__input-row\">\n {/* Interactive leading content (multi-select chips). Kept in the input\n flow and NOT aria-hidden, so its focusable controls stay operable.\n Only occupies space when populated. */}\n <span\n class=\"md-text-field__chips\"\n part=\"chips\"\n style={{ display: this.hasSlottedChips ? undefined : 'none' }}\n >\n <slot name=\"chips\"></slot>\n </span>\n {this.prefixText && this.isFloating && (\n <span class=\"md-text-field__prefix\">{this.prefixText}</span>\n )}\n {this.renderInputElement()}\n {this.suffixText && this.isFloating && (\n <span class=\"md-text-field__suffix\">{this.suffixText}</span>\n )}\n </div>\n </div>\n\n {showClear && (\n <button\n type=\"button\"\n class={{\n 'md-text-field__clear': true,\n 'md-text-field__clear--disabled': clearDisabled,\n 'md-text-field__clear--empty': !this.value,\n }}\n disabled={clearDisabled}\n onClick={this.handleClear}\n aria-label=\"Clear\"\n >\n <slot name=\"clear-icon\">\n <span class=\"material-symbols-outlined\" aria-hidden=\"true\">cancel</span>\n </slot>\n </button>\n )}\n\n {showPasswordToggle && (\n <button\n type=\"button\"\n class={{\n 'md-text-field__password-toggle': true,\n 'md-text-field__password-toggle--disabled': this.isDisabled,\n }}\n disabled={this.isDisabled}\n onClick={this.handlePasswordToggle}\n aria-label={isPasswordRevealed ? 'Hide password' : 'Show password'}\n aria-pressed={isPasswordRevealed ? 'true' : 'false'}\n >\n <slot name=\"password-toggle-icon\">\n <span class=\"material-symbols-outlined\" aria-hidden=\"true\">{passwordIcon}</span>\n </slot>\n </button>\n )}\n\n {showSpeech && (\n <button\n type=\"button\"\n class={{\n 'md-text-field__speech': true,\n 'md-text-field__speech--listening': this.listening,\n 'md-text-field__speech--disabled': this.isDisabled,\n }}\n disabled={this.isDisabled || this.readOnly}\n onClick={this.handleSpeechToggle}\n aria-label={this.listening ? 'Stop listening' : 'Start voice input'}\n aria-pressed={this.listening ? 'true' : 'false'}\n >\n <slot name=\"speech-icon\">\n <span class=\"material-symbols-outlined\" aria-hidden=\"true\">\n {this.listening ? 'hearing' : 'mic'}\n </span>\n </slot>\n </button>\n )}\n\n {this.error && (\n <span class=\"md-text-field__error-icon\" aria-hidden=\"true\">\n <slot name=\"error-icon\">\n <span class=\"material-symbols-outlined\" style={{ fontVariationSettings: \"'FILL' 1\" }}>error</span>\n </slot>\n </span>\n )}\n\n <span\n class={{\n 'md-text-field__icon': !this.hasTrailingIconButton,\n 'md-text-field__icon--trailing': !this.hasTrailingIconButton,\n 'md-text-field__trailing-icon-button': this.hasTrailingIconButton,\n }}\n // interactive slotted content (md-date-picker's icon buttons) must\n // NOT be pruned from the AX tree while staying tabbable\n aria-hidden={this.hasTrailingIconButton ? null : 'true'}\n style={{ display: this.hasSlottedTrailing ? undefined : 'none' }}\n >\n <slot name=\"trailing-icon\"></slot>\n </span>\n\n {this.variant === 'filled' && <div class=\"md-text-field__indicator\"></div>}\n\n {this.variant === 'outlined' && (\n <fieldset class=\"md-text-field__fieldset\">\n {/* Only cut a notch when there's a label to notch around — an empty\n active legend still reserves `padding-inline`, leaving a blank\n gap in the top border (e.g. a label-less pagination select). */}\n <legend\n class={{\n 'md-text-field__legend': true,\n 'md-text-field__legend--active': this.isFloating && !!this.label,\n }}\n >\n <span>{this.label}</span>\n </legend>\n </fieldset>\n )}\n </div>\n\n {(supportText || charCount || this.reserveSupportingSpace) && (\n <div class=\"md-text-field__support-row\">\n <span\n id={`${this.uid}-support`}\n part=\"supporting-text\"\n role={this.error ? 'alert' : undefined}\n class={{ 'md-text-field__support-text': true, 'md-text-field__support-text--error': this.error }}\n >\n {/* A zero-width space holds the line box open when reserving, so\n the row has height before any message exists. An empty span\n would collapse and defeat the reservation. */}\n {supportText || (this.reserveSupportingSpace ? '\\u200B' : '')}\n </span>\n {charCount && <span id={`${this.uid}-counter`} part=\"counter\" class=\"md-text-field__counter\">{charCount}</span>}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{p as e,H as s,c as a,h as r,d as t,t as d}from"./p-BR6gfOQH.js";import{t as i}from"./p-DYBUr7K_.js";import{d as n}from"./p-CTC8XAB6.js";const o=()=>`:host{display:flex;align-items:center;position:relative;overflow:hidden;cursor:pointer;user-select:none;min-height:var(--md-menu-item-height, calc(48px + var(--md-sys-density-scale, 0) * 4px));--_icon-size:var(--md-menu-item-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_check-size:var(--md-menu-item-check-size, max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px)));padding:0 var(--md-menu-item-padding-inline, var(--md-sys-spacing-inset-md, 12px));gap:var(--md-menu-item-gap, var(--md-sys-spacing-gap-md, 12px));color:var(--md-sys-color-on-surface, #1C1B1F);box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:none;transition:background-color var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), color var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-radius var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}@media (prefers-reduced-motion: reduce){:host{transition:none}}.md-menu-item__state-layer{position:absolute;inset:0;background-color:var(--md-sys-color-on-surface, #1C1B1F);opacity:0;pointer-events:none;}:host-context(md-menu-item-group[data-use-gap]) .md-menu-item__state-layer{border-radius:calc(var(--md-menu-group-shape, 12px) - var(--md-sys-spacing-inset-xs, 4px))}:host(:hover) .md-menu-item__state-layer{opacity:0.08}:host(:active) .md-menu-item__state-layer{opacity:0.12}:host(:focus-visible) .md-menu-item__state-layer,:host([data-md-focused]) .md-menu-item__state-layer{opacity:0.12}:host(:hover) .md-menu-item__state-layer,:host(:active) .md-menu-item__state-layer{transition:opacity var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(:focus-visible),:host([data-md-focused]){outline:3px solid var(--md-sys-color-secondary, #625B71);outline-offset:-3px}:host(.md-menu-item--selected){background-color:var(--md-sys-color-secondary-container, #E8DEF8)}:host([data-variant="standard"].md-menu-item--selected){background-color:var(--md-sys-color-tertiary-container, #FFD8E4);color:var(--md-sys-color-on-tertiary-container, #31111D);border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-ee)))}:host([data-variant="standard"]:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ee)))}:host([data-variant="standard"]:active){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-ee)))}:host([data-variant="standard"]:first-child:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ee)))}:host([data-variant="standard"]:last-child:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ee)))}:host([data-variant="standard"][data-after-gap]:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ee)))}:host([data-variant="standard"][gap]:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ee)))}:host([data-variant="standard"][data-after-gap][gap]:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ee)))}:host([data-variant="vibrant"].md-menu-item--selected){background-color:var(--md-sys-color-tertiary, #7D5260);color:var(--md-sys-color-on-tertiary, #FFFFFF);border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-ee)))}:host([data-variant="vibrant"]:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ee)))}:host([data-variant="vibrant"]:active){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-medium, 12px) - var(--_rest-ee)))}:host([data-variant="vibrant"]:first-child:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ee)))}:host([data-variant="vibrant"]:last-child:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ee)))}:host([data-variant="vibrant"][data-after-gap]:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ee)))}:host([data-variant="vibrant"][gap]:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-extra-small, 4px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ee)))}:host([data-variant="vibrant"][data-after-gap][gap]:hover){border-start-start-radius:calc(var(--_rest-ss) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ss)));border-start-end-radius:calc(var(--_rest-se) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-se)));border-end-start-radius:calc(var(--_rest-es) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-es)));border-end-end-radius:calc(var(--_rest-ee) + var(--md-sys-shape-morph-enabled, 1) * (var(--md-sys-shape-corner-large, 16px) - var(--_rest-ee)))}:host(.md-menu-item--disabled){cursor:default;opacity:0.38;pointer-events:none}.md-menu-item__leading{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--_icon-size);height:var(--_icon-size);color:var(--md-sys-color-on-surface-variant, #49454F)}.md-menu-item__leading ::slotted(*){font-size:var(--_icon-size) !important;width:var(--_icon-size);height:var(--_icon-size);color:inherit}:host(.md-menu-item--selected) .md-menu-item__leading{color:inherit}.md-menu-item__content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.md-menu-item__headline{font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-large-weight, 400);line-height:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-menu-item__supporting{font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:max(11px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));color:var(--md-sys-color-on-surface-variant, #49454F);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-menu-item__badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:20px;margin-inline-start:12px;padding:0 8px;border-radius:var(--md-sys-shape-corner-full, 9999px);background-color:var(--md-sys-color-tertiary-container, #FFD8E4);color:var(--md-sys-color-on-tertiary-container, #31111D);font-family:var(--md-sys-typescale-label-small-font-family, Roboto, sans-serif);font-size:var(--md-sys-typescale-label-small-size, 11px);font-weight:var(--md-sys-typescale-label-small-weight, 500);line-height:var(--md-sys-typescale-label-small-line-height, 16px);letter-spacing:var(--md-sys-typescale-label-small-tracking, 0.5px);white-space:nowrap}.md-menu-item__trailing{display:flex;align-items:center;flex-shrink:0;margin-inline-start:8px;color:var(--md-sys-color-on-surface-variant, #49454F)}.md-menu-item__trailing ::slotted(*:not(md-badge)){font-size:var(--_icon-size) !important;width:var(--_icon-size);height:var(--_icon-size);color:inherit}.md-menu-item__trailing-text{font-family:var(--md-sys-typescale-label-small-font-family, Roboto, sans-serif);font-size:var(--md-sys-typescale-label-small-size, 11px);color:var(--md-sys-color-on-surface-variant, #49454F)}.md-menu-item__trailing:not(:has(::slotted(*),.md-menu-item__trailing-text)){display:none}:host(.md-menu-item--selected) .md-menu-item__trailing{color:inherit}.md-menu-item__check{display:flex;align-items:center;justify-content:center;width:var(--_check-size);height:var(--_check-size);flex-shrink:0;margin-inline-start:8px;color:inherit}.md-menu-item__check .material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;font-size:var(--_check-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}:host(.md-menu-item--divider){padding-bottom:0;margin-bottom:0}:host(.md-menu-item--divider)::after{content:'';position:absolute;bottom:0;inset-inline:0;height:1px;background-color:var(--md-sys-color-outline-variant, #CAC4D0)}:host([data-variant="standard"]){--_rest-ss:var(--md-sys-shape-corner-small, 8px);--_rest-se:var(--md-sys-shape-corner-small, 8px);--_rest-es:var(--md-sys-shape-corner-small, 8px);--_rest-ee:var(--md-sys-shape-corner-small, 8px);color:var(--md-sys-color-on-surface, #1C1B1F);gap:8px;border-radius:var(--md-sys-shape-corner-small, 8px);--_icon-size:var(--md-menu-item-icon-size, max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px)))}:host([data-variant="standard"]:first-child){--_rest-ss:var(--md-sys-shape-corner-large, 16px);--_rest-se:var(--md-sys-shape-corner-large, 16px);border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px)}:host([data-variant="standard"]:last-child){--_rest-es:var(--md-sys-shape-corner-large, 16px);--_rest-ee:var(--md-sys-shape-corner-large, 16px);border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host([data-variant="standard"]) .md-menu-item__leading{color:var(--md-sys-color-on-surface-variant, #49454F)}:host([data-variant="standard"]) .md-menu-item__trailing,:host([data-variant="standard"]) .md-menu-item__supporting,:host([data-variant="standard"]) .md-menu-item__trailing-text{color:var(--md-sys-color-on-surface-variant, #49454F)}:host([data-variant="standard"].md-menu-item--selected) .md-menu-item__leading,:host([data-variant="standard"].md-menu-item--selected) .md-menu-item__trailing{color:inherit}:host([data-variant="vibrant"]){--_rest-ss:var(--md-sys-shape-corner-small, 8px);--_rest-se:var(--md-sys-shape-corner-small, 8px);--_rest-es:var(--md-sys-shape-corner-small, 8px);--_rest-ee:var(--md-sys-shape-corner-small, 8px);color:var(--md-sys-color-on-tertiary-container, #31111D);gap:8px;border-radius:var(--md-sys-shape-corner-small, 8px);--_icon-size:var(--md-menu-item-icon-size, max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px)))}:host([data-variant="vibrant"]:first-child){--_rest-ss:var(--md-sys-shape-corner-large, 16px);--_rest-se:var(--md-sys-shape-corner-large, 16px);border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px)}:host([data-variant="vibrant"]:last-child){--_rest-es:var(--md-sys-shape-corner-large, 16px);--_rest-ee:var(--md-sys-shape-corner-large, 16px);border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host([data-variant="vibrant"]) .md-menu-item__leading{color:var(--md-sys-color-on-tertiary-container, #31111D)}:host([data-variant="vibrant"]) .md-menu-item__trailing,:host([data-variant="vibrant"]) .md-menu-item__supporting,:host([data-variant="vibrant"]) .md-menu-item__trailing-text{color:var(--md-sys-color-on-tertiary-container, #31111D)}:host([data-variant="vibrant"].md-menu-item--selected) .md-menu-item__leading,:host([data-variant="vibrant"].md-menu-item--selected) .md-menu-item__trailing{color:inherit}:host([data-variant="vibrant"]) .md-menu-item__state-layer{background-color:var(--md-sys-color-on-tertiary-container, #31111D)}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}`;const m=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.mdClick=a(this,"mdClick",7);this.headline="";this.supportingText="";this.trailingText="";this.disabled=false;this.selected=false;this.indeterminate=false;this.keepOpen=false;this.divider=false;this.gap=false;this.badge="";this.type="button";this.checkPosition="end";this.presentation="menuitem";this.roleOverride="";this.density=0;this.hasLeadingIcon=false;this.hasTrailingIcon=false;this.handleClick=e=>{if(this.disabled){e.preventDefault();e.stopPropagation();return}if(this.type==="checkbox"){this.selected=!this.selected}else if(this.type==="radio"){this.selected=true;this.deselectSiblingRadios()}this.mdClick.emit();if(!this.keepOpen){let e=this.el.closest("md-menu");let s=e;while(e){const a=e.parentElement?.closest("md-menu");if(a){s=a;e=a}else{break}}if(s){const e=s;if(e.anchor){document.getElementById(e.anchor)?.focus()}setTimeout((()=>e.close?.()),150)}}};this.handleKeyDown=e=>{if(e.key==="Enter"){e.preventDefault();if(!this.disabled)i(this.el);this.el.click()}else if(e.key===" "){e.preventDefault();if(this.disabled)return;i(this.el);if(this.type==="checkbox"){this.selected=!this.selected;this.mdClick.emit()}else if(this.type==="radio"){this.selected=true;this.deselectSiblingRadios();this.mdClick.emit()}else{this.el.click()}}}}componentWillLoad(){this.hasLeadingIcon=!!this.el.querySelector('[slot="leading-icon"]');this.hasTrailingIcon=!!this.el.querySelector('[slot="trailing-icon"]')}deselectSiblingRadios(){if(this.type!=="radio")return;const e=this.el.closest("md-menu-item-group")||this.el.closest("md-menu");if(!e)return;const s=Array.from(e.querySelectorAll("md-menu-item"));for(const e of s){if(e!==this.el&&e.type==="radio"&&e.selected){e.selected=false}}}get role(){if(this.roleOverride)return this.roleOverride;if(this.presentation==="option")return"option";if(this.type==="checkbox")return"menuitemcheckbox";if(this.type==="radio")return"menuitemradio";return"menuitem"}render(){return r(t,{key:"b25da4876896e5eaf656f6e2139c09553454eec8",class:{"md-menu-item":true,"md-menu-item--selected":this.selected,"md-menu-item--disabled":this.disabled,"md-menu-item--divider":this.divider,"md-menu-item--gap":this.gap},role:this.role,"aria-disabled":this.disabled?"true":"false","aria-selected":this.presentation==="option"?String(this.selected):undefined,"aria-checked":this.presentation!=="option"&&this.type!=="button"?this.indeterminate&&!this.selected?"mixed":String(this.selected):undefined,tabindex:"-1",onClick:this.handleClick,onKeyDown:this.handleKeyDown},r("md-ripple",{key:"f68ad95aae97cc8ab0ca9af2050c29f723408e52",disabled:this.disabled}),r("span",{key:"0fd37b9aa2303309350d7a449a0981a00a75be12",class:"md-menu-item__state-layer",part:"state-layer","aria-hidden":"true"}),this.type!=="button"&&this.checkPosition==="start"&&r("span",{key:"5549c5da78c3593035184d324411fcba8651fb3e",class:"md-menu-item__check","aria-hidden":"true"},r("span",{key:"f36546592022ccc977d158ab5b3ed00b126e6f8b",class:"material-symbols-outlined"},this.selected?"check":this.indeterminate?"remove":"")),this.hasLeadingIcon&&r("span",{key:"0903854ac07ee37da7bd2157a760f448646f450a",class:"md-menu-item__leading",part:"leading-icon","aria-hidden":"true"},r("slot",{key:"af7ada80ec2c6b394fae8472a1df7089e0ba4094",name:"leading-icon"})),r("span",{key:"6254c0d2f1af7fb704bc67997aa72f3a1b16331d",class:"md-menu-item__content",part:"content"},r("span",{key:"ce241acc497161cd00d353aa7e31c2aaac88f888",class:"md-menu-item__headline",part:"headline"},this.headline),this.supportingText&&r("span",{key:"d0516abae552af8d01636efd29d9cbda0779a82b",class:"md-menu-item__supporting",part:"supporting-text"},this.supportingText)),this.badge&&r("span",{key:"d37b17f80d96a51cd0eaf8949bc545e768d1f80a",class:"md-menu-item__badge",part:"badge"},this.badge),(this.hasTrailingIcon||this.trailingText)&&r("span",{key:"a9bd6510bc0cd58514413c60aa32c67b483e1827",class:"md-menu-item__trailing",part:"trailing"},r("slot",{key:"0cde3d7bde1836d4c9b8235dda7591ceb57dfac8",name:"trailing-icon"},this.trailingText&&r("span",{key:"6b26d3a72ccae3495cb1f23a757d328400fe658e",class:"md-menu-item__trailing-text"},this.trailingText))),this.type!=="button"&&this.checkPosition==="end"&&r("span",{key:"05c12792d280f770aad8fc64bfbab7833bb2aa91",class:"md-menu-item__check","aria-hidden":"true"},r("span",{key:"fb0edd0eb26708672ac89f5ffcf3ddf1164cfe75",class:"material-symbols-outlined"},this.selected?"check":this.indeterminate?"remove":"")))}get el(){return this}static get style(){return o()}},[257,"md-menu-item",{headline:[1],supportingText:[1,"supporting-text"],trailingText:[1,"trailing-text"],disabled:[516],selected:[1540],indeterminate:[1540],keepOpen:[4,"keep-open"],divider:[516],gap:[516],badge:[1],type:[1],checkPosition:[513,"check-position"],presentation:[513],roleOverride:[1,"role-override"],density:[514],hasLeadingIcon:[32],hasTrailingIcon:[32]}]);function l(){if(typeof customElements==="undefined"){return}const e=["md-menu-item","md-ripple"];e.forEach((e=>{switch(e){case"md-menu-item":if(!customElements.get(d(e))){customElements.define(d(e),m)}break;case"md-ripple":if(!customElements.get(d(e))){n()}break}}))}l();export{m as M,l as d};
2
+ //# sourceMappingURL=p-D8oM1Kr3.js.map