@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
@@ -1,2 +1,2 @@
1
- import{p as t,H as o,h as e,d as n,t as a}from"./p-MWBNn6Lj.js";const r=()=>`:host{--_container-color:var(--md-toolbar-container-color, var(--md-sys-color-surface-container, #F3EDF7));--_icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--_shape:var(--md-toolbar-container-shape, 0px);--_height:var(--md-toolbar-container-height, max(48px, calc(64px + var(--md-sys-density-scale, 0) * 4px)));--_padding:var(--md-toolbar-padding, var(--md-sys-spacing-inset-lg, 16px));--_gap:var(--md-toolbar-gap, max(4px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));--_fab-gap:var(--md-toolbar-fab-gap, var(--md-sys-spacing-gap-lg, 16px));display:flex;align-items:center;box-sizing:border-box;color:var(--_icon-color);font-family:var(--md-sys-typescale-label-large-font-family, Roboto, sans-serif)}:host(.md-toolbar--docked){--_gap:var(--md-toolbar-gap, max(4px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));--_padding:var(--md-toolbar-padding, var(--md-sys-spacing-inset-lg, 16px));inline-size:100%;min-block-size:var(--_height);padding-inline:var(--_padding);padding-block-end:env(safe-area-inset-bottom, 0px);background-color:var(--_container-color);border-radius:var(--_shape);box-shadow:var(--md-sys-elevation-2, 0 1px 3px 1px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.3));position:sticky;inset-block-end:0;z-index:var(--md-sys-z-index-app-bar, 100);gap:0}:host(.md-toolbar--docked.md-toolbar--align-center){--_gap:var(--md-toolbar-gap, var(--md-sys-spacing-gap-sm, 8px))}:host(.md-toolbar--docked.md-toolbar--align-space-between){--_gap:0px}:host(.md-toolbar--floating){--_shape:var(--md-toolbar-container-shape, var(--md-sys-shape-corner-full, 100px));--_gap:var(--md-toolbar-gap, var(--md-sys-spacing-gap-xs, 4px));--_padding:var(--md-toolbar-padding, var(--md-sys-spacing-inset-sm, 8px));--_fab-gap:var(--md-toolbar-fab-gap, var(--md-sys-spacing-gap-sm, 8px));display:inline-flex;align-items:center;gap:var(--_fab-gap);margin-inline:var(--md-sys-spacing-inset-lg, 16px);padding:0;background-color:transparent;border-radius:0;box-shadow:none}:host(.md-toolbar--floating) .md-toolbar__container{background-color:var(--_container-color);border-radius:var(--_shape);box-shadow:var(--md-sys-elevation-2, 0 1px 3px 1px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.3));padding:var(--_padding);box-sizing:border-box;flex:0 1 auto}:host(.md-toolbar--floating:not(.md-toolbar--vertical)){min-block-size:var(--_height)}:host(.md-toolbar--floating:not(.md-toolbar--vertical)) .md-toolbar__container{block-size:var(--_height)}:host(.md-toolbar--floating.md-toolbar--vertical) .md-toolbar__container{block-size:auto;inline-size:100%}:host(.md-toolbar--vertical){flex-direction:column;block-size:auto;inline-size:var(--_height)}:host(.md-toolbar--vertical) .md-toolbar__container{flex-direction:column}:host(.md-toolbar--standard){--_container-color:var(--md-toolbar-container-color, var(--md-sys-color-surface-container, #F3EDF7));--_icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-toolbar--vibrant){--_container-color:var(--md-toolbar-container-color, var(--md-sys-color-primary-container, #EADDFF));--_icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface, #1C1B1F))}.md-toolbar__container{display:flex;align-items:center;gap:var(--_gap);flex:1;min-inline-size:0;flex-wrap:var(--md-toolbar-flex-wrap, nowrap);overflow-x:var(--md-toolbar-overflow-x, visible);scrollbar-width:var(--md-toolbar-scrollbar-width, thin);scroll-padding-inline:var(--_padding)}:host(.md-toolbar--vertical) .md-toolbar__container{overflow-x:visible;overflow-y:var(--md-toolbar-overflow-y, visible);scroll-padding-block:var(--_padding)}:host(.md-toolbar--align-start) .md-toolbar__container{justify-content:flex-start}:host(.md-toolbar--align-center) .md-toolbar__container{justify-content:center}:host(.md-toolbar--align-end) .md-toolbar__container{justify-content:flex-end}:host(.md-toolbar--align-space-between) .md-toolbar__container{justify-content:space-between}.md-toolbar__fab-container{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-inline-start:var(--_fab-gap)}.md-toolbar__fab-container--hidden{display:none}.md-toolbar__fab-container--floating{margin-inline-start:0;margin-block-start:0}::slotted(*){flex-shrink:0}:host(.md-toolbar--standard) ::slotted(md-icon-button.md-icon-button--standard:not(.md-icon-button--selected)),:host(.md-toolbar--standard) ::slotted(md-icon-button.md-icon-button--outlined:not(.md-icon-button--selected)){--md-icon-button-icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--md-icon-button-state-layer-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-toolbar--vibrant) ::slotted(md-icon-button.md-icon-button--standard:not(.md-icon-button--selected)),:host(.md-toolbar--vibrant) ::slotted(md-icon-button.md-icon-button--outlined:not(.md-icon-button--selected)){--md-icon-button-icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface, #1C1B1F));--md-icon-button-state-layer-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface, #1C1B1F))}:host(.md-toolbar--vibrant) ::slotted(md-icon-button.md-icon-button--tonal.md-icon-button--toggle:not(.md-icon-button--selected)){--md-icon-button-container-color:var(--md-sys-color-surface-container, #F3EDF7);--md-icon-button-icon-color:var(--md-sys-color-on-surface, #1C1B1F);--md-icon-button-state-layer-color:var(--md-sys-color-on-surface, #1C1B1F)}:host(.md-toolbar--vibrant) ::slotted(md-icon-button.md-icon-button--tonal.md-icon-button--toggle.md-icon-button--selected){--md-icon-button-container-color:var(--md-sys-color-secondary-container, #E8DEF8);--md-icon-button-icon-color:var(--md-sys-color-on-secondary-container, #1E192B);--md-icon-button-state-layer-color:var(--md-sys-color-on-secondary-container, #1E192B)}::slotted([slot="leading"]){margin-inline-end:auto}::slotted([slot="trailing"]){margin-inline-start:auto}:host(.md-toolbar--docked) ::slotted([slot="fab"]){box-shadow:none !important}@media (forced-colors: active){:host(.md-toolbar--docked){border-block-start:1px solid CanvasText}:host(.md-toolbar--floating) .md-toolbar__container{border:1px solid CanvasText}}@media (prefers-reduced-motion: reduce){.md-toolbar__container{scroll-behavior:auto}}: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 i=t(class t extends o{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.variant="docked";this.color="standard";this.layout="horizontal";this.alignment="start";this.containerSemantics="toolbar";this.ariaLabelProp="";this.ariaLabelledby="";this.density=0;this.hasFab=false;this.activeItem=null;this.roved=new Map;this.hasLoaded=false;this.rovingFrame=0;this.onHostKeyDown=t=>this.handleKeyDown(t);this.onFocusIn=t=>this.handleFocusIn(t);this.syncFab=()=>{this.hasFab=(this.fabSlot?.assignedElements().length??0)>0};this.syncRoving=()=>{if(typeof requestAnimationFrame!=="function"){this.updateRoving();return}if(this.rovingFrame)return;this.rovingFrame=requestAnimationFrame((()=>{this.rovingFrame=0;this.updateRoving()}))}}onNavPropChange(t,o,e){this.updateRoving()}hasAccessibleName(){return(this.ariaLabelledby??"").trim().length>0||(this.ariaLabelProp??"").trim().length>0}warnGenericNamed(){console.warn('[md-toolbar] `aria-label`/`aria-labelledby` on container-semantics="generic": a generic container cannot be named (ARIA name-prohibited), so assistive tech will ignore it. Use container-semantics="toolbar" if the name matters.')}componentWillLoad(){const t=this.el.getAttribute("aria-label");if(t!==null&&t.trim()==="")this.el.removeAttribute("aria-label")}connectedCallback(){this.el.addEventListener("keydown",this.onHostKeyDown,false);this.el.addEventListener("focusin",this.onFocusIn,false);if(this.hasLoaded)this.setupObservers()}componentDidLoad(){this.hasLoaded=true;this.setupObservers()}disconnectedCallback(){this.el.removeEventListener("keydown",this.onHostKeyDown,false);this.el.removeEventListener("focusin",this.onFocusIn,false);this.teardownObservers();this.clearRoving()}setupObservers(){const t=this.el.shadowRoot;this.fabSlot=t?.querySelector('slot[name="fab"]')??undefined;this.fabSlot?.addEventListener("slotchange",this.syncFab);this.syncFab();t?.querySelectorAll("slot").forEach((t=>t.addEventListener("slotchange",this.syncRoving)));if(typeof MutationObserver!=="undefined"&&!this.slotObserver){this.slotObserver=new MutationObserver(this.syncRoving);this.slotObserver.observe(this.el,{childList:true,subtree:true,attributes:true,attributeFilter:["disabled","aria-disabled","aria-hidden","hidden","class","style","role","type"]})}this.updateRoving()}teardownObservers(){this.fabSlot?.removeEventListener("slotchange",this.syncFab);this.el.shadowRoot?.querySelectorAll("slot").forEach((t=>t.removeEventListener("slotchange",this.syncRoving)));this.slotObserver?.disconnect();this.slotObserver=undefined;if(this.rovingFrame&&typeof cancelAnimationFrame==="function")cancelAnimationFrame(this.rovingFrame);this.rovingFrame=0}async setFocus(){const t=this.getItems();const o=this.activeItem&&t.includes(this.activeItem)?this.activeItem:this.preferredActive(t);o?.focus()}classify(o){if("isContentEditable"in o&&o.isContentEditable)return"independent";if(o.matches(t.COMPOSITE_SELECTOR))return"composite";if(o.matches(t.INDEPENDENT_SELECTOR))return"independent";if(o.matches(t.ROVING_SELECTOR))return"roving";if(o.matches('[tabindex]:not([tabindex^="-"])')){return o.querySelector(t.ANY_CONTROL_SELECTOR)?"wrapper":"roving"}return"wrapper"}optedOut(t){if("groupTabindex"in t)return false;const o=this.roved.get(t);const e=o&&o.kind==="attr"?o.orig:t.getAttribute("tabindex");return e!==null&&e.trim()!==""&&parseInt(e,10)<0}slotOf(t){const o=t.getAttribute("slot");if(o==="leading")return"leading";if(o==="trailing")return"trailing";if(o==="fab")return"fab";return"default"}slotPriority(t){const o=this.slotOf(t);return o==="leading"?0:o==="trailing"?2:o==="fab"?3:1}isVisible(t){const o=t.checkVisibility;if(typeof o==="function")return o.call(t,{checkVisibilityCSS:true});if(typeof getComputedStyle!=="function")return true;const e=getComputedStyle(t);return e.display!=="none"&&e.visibility!=="hidden"&&e.visibility!=="collapse"}ariaHiddenWithin(t){let o=t;while(o&&o!==this.el){if(o.getAttribute&&o.getAttribute("aria-hidden")==="true")return true;o=o.parentElement}return false}isNavigable(t){if(!(t instanceof o))return false;if(t.hidden)return false;if(t.hasAttribute("disabled"))return false;if("disabled"in t&&t.disabled===true)return false;if(this.optedOut(t))return false;if(this.ariaHiddenWithin(t))return false;return this.isVisible(t)}collectRoving(t,o){const e=this.classify(t);if(e==="composite"||e==="independent")return;if(e==="roving"){if(this.isNavigable(t)&&!o.includes(t))o.push(t);return}for(const e of Array.from(t.children))this.collectRoving(e,o)}preferredActive(t){return t.find((t=>t.getAttribute("aria-disabled")!=="true"))??t[0]}getItems(){const t=Array.from(this.el.children).filter((t=>this.slotOf(t)!=="fab"));const o=new Map;t.forEach(((t,e)=>o.set(t,e)));t.sort(((t,e)=>{const n=this.slotPriority(t);const a=this.slotPriority(e);if(n!==a)return n-a;return(o.get(t)??0)-(o.get(e)??0)}));const e=[];for(const o of t)this.collectRoving(o,e);return e}applyRoving(t,o){if("groupTabindex"in t){if(!this.roved.has(t))this.roved.set(t,{kind:"group",orig:null});t.groupTabindex=o?0:-1}else{if(!this.roved.has(t))this.roved.set(t,{kind:"attr",orig:t.getAttribute("tabindex")});t.setAttribute("tabindex",o?"0":"-1")}}restoreOne(t){const o=this.roved.get(t);if(!o)return;if(o.kind==="group"){try{t.groupTabindex=null}catch{}}else if(o.orig===null){t.removeAttribute("tabindex")}else{t.setAttribute("tabindex",o.orig)}this.roved.delete(t)}clearRoving(){for(const t of Array.from(this.roved.keys()))this.restoreOne(t)}updateRoving(){if(this.containerSemantics!=="toolbar"){this.clearRoving();return}const t=this.getItems();for(const o of Array.from(this.roved.keys())){if(!t.includes(o))this.restoreOne(o)}if(t.length===0){this.activeItem=null;return}const o=this.activeItem&&t.includes(this.activeItem)?this.activeItem:this.preferredActive(t);this.activeItem=o??null;for(const e of t)this.applyRoving(e,e===o)}handleFocusIn(t){if(this.containerSemantics!=="toolbar")return;const o=this.getItems();const e=this.resolveItem(t.target,o);if(!e||e===this.activeItem)return;this.activeItem=e;for(const t of o)this.applyRoving(t,t===e)}resolveItem(t,o){const e=t;if(!e)return null;for(const t of o){if(t===e||t.contains(e))return t}return null}handleKeyDown(t){if(this.containerSemantics!=="toolbar")return;if(t.defaultPrevented)return;if(t.shiftKey||t.ctrlKey||t.metaKey||t.altKey)return;const o=t.key;const e=o==="ArrowRight"||o==="ArrowLeft"||o==="ArrowUp"||o==="ArrowDown"||o==="Home"||o==="End";if(!e)return;const n=this.getItems();if(n.length===0)return;const a=this.resolveItem(t.target,n);if(!a)return;const r=this.variant==="floating"&&this.layout==="vertical";const i=typeof getComputedStyle==="function"&&getComputedStyle(this.el).direction==="rtl";let s=0;if(r){if(o==="ArrowDown")s=1;else if(o==="ArrowUp")s=-1}else{if(o==="ArrowRight")s=i?-1:1;else if(o==="ArrowLeft")s=i?1:-1}let l;if(o==="Home"){l=0}else if(o==="End"){l=n.length-1}else if(s!==0){const t=n.indexOf(a);l=(t+s+n.length)%n.length}else{return}const d=n[l];if(!d)return;t.preventDefault();if(d!==a){this.activeItem=d;for(const t of n)this.applyRoving(t,t===d);d.focus()}}render(){const t=this.variant==="floating";const o=t&&this.layout==="vertical";const a=this.containerSemantics==="toolbar";const r=(this.ariaLabelledby??"").trim();const i=(this.ariaLabelProp??"").trim();const s=i.length>0?this.ariaLabelProp:undefined;const l=r.length>0?this.ariaLabelledby:undefined;const d=a?o?"vertical":"horizontal":undefined;return e(n,{key:"2064ce9ddf20d134ceaedbb2a0a54d39a70a19d0",class:{"md-toolbar":true,[`md-toolbar--${this.variant}`]:true,[`md-toolbar--${this.color}`]:true,[`md-toolbar--${this.layout}`]:t,[`md-toolbar--align-${this.alignment}`]:true,"md-toolbar--vertical":o,"md-toolbar--generic":!a},role:a?"toolbar":undefined,"aria-label":s,"aria-labelledby":l,"aria-orientation":d},e("div",{key:"e311ea0f281f1bb167ccf2914d047f2d49ca34e9",class:"md-toolbar__container",part:"container"},e("slot",{key:"6f9ce44e297c337340debd90a935e6db46fd10f0",name:"leading"}),e("slot",{key:"6a57d91bb3d358ae64b727d89754501ec3efb71f"}),e("slot",{key:"c826d0f85ed25a897d8bc667b904f28a0f099191",name:"trailing"})),e("div",{key:"153673e76d1ec5b6a84cfb9ac2bed6ca53faaf74",class:{"md-toolbar__fab-container":true,"md-toolbar__fab-container--floating":t,"md-toolbar__fab-container--hidden":!this.hasFab},part:"fab-container"},e("slot",{key:"5835dab76c0418045a36a1128c0315e772af0e7d",name:"fab"})))}get el(){return this}static get watchers(){return{containerSemantics:[{onNavPropChange:0}],variant:[{onNavPropChange:0}],layout:[{onNavPropChange:0}]}}static get style(){return r()}},[257,"md-toolbar",{variant:[513],color:[513],layout:[513],alignment:[513],containerSemantics:[513,"container-semantics"],ariaLabelProp:[1,"aria-label"],ariaLabelledby:[1,"aria-labelledby"],density:[514],hasFab:[32],setFocus:[64]},undefined,{containerSemantics:[{onNavPropChange:0}],variant:[{onNavPropChange:0}],layout:[{onNavPropChange:0}]}]);i.COMPOSITE_SELECTOR='md-button-group,md-menu,[role="group"],[role="radiogroup"],[role="listbox"],[role="menu"],[role="tablist"],[role="toolbar"]';i.INDEPENDENT_SELECTOR=['input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="file"]):not([type="color"]):not([type="hidden"])',"textarea","select",'[contenteditable]:not([contenteditable="false"])',"md-text-field","md-select","md-radio","md-chip","md-switch","md-checkbox","md-fab",'[role="textbox"]','[role="searchbox"]','[role="spinbutton"]','[role="combobox"]','[role="slider"]','[role="radio"]','[role="checkbox"]'].join(",");i.ROVING_SELECTOR=["button","a[href]","md-button","md-icon-button",'input[type="button"]','input[type="submit"]','input[type="reset"]','input[type="image"]','input[type="file"]','input[type="color"]','[role="button"]','[role="menuitem"]','[role="link"]'].join(",");i.ANY_CONTROL_SELECTOR=i.COMPOSITE_SELECTOR+","+i.INDEPENDENT_SELECTOR+","+i.ROVING_SELECTOR;function s(){if(typeof customElements==="undefined"){return}const t=["md-toolbar"];t.forEach((t=>{switch(t){case"md-toolbar":if(!customElements.get(a(t))){customElements.define(a(t),i)}break}}))}s();const l=i;const d=s;export{l as MdToolbar,d as defineCustomElement};
1
+ import{p as t,H as o,h as e,d as n,t as a}from"./p-BR6gfOQH.js";const r=()=>`:host{--_container-color:var(--md-toolbar-container-color, var(--md-sys-color-surface-container, #F3EDF7));--_icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--_shape:var(--md-toolbar-container-shape, 0px);--_height:var(--md-toolbar-container-height, max(48px, calc(64px + var(--md-sys-density-scale, 0) * 4px)));--_padding:var(--md-toolbar-padding, var(--md-sys-spacing-inset-lg, 16px));--_gap:var(--md-toolbar-gap, max(4px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));--_fab-gap:var(--md-toolbar-fab-gap, var(--md-sys-spacing-gap-lg, 16px));display:flex;align-items:center;box-sizing:border-box;color:var(--_icon-color);font-family:var(--md-sys-typescale-label-large-font-family, Roboto, sans-serif)}:host(.md-toolbar--docked){--_gap:var(--md-toolbar-gap, max(4px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));--_padding:var(--md-toolbar-padding, var(--md-sys-spacing-inset-lg, 16px));inline-size:100%;min-block-size:var(--_height);padding-inline:var(--_padding);padding-block-end:env(safe-area-inset-bottom, 0px);background-color:var(--_container-color);border-radius:var(--_shape);box-shadow:var(--md-sys-elevation-2, 0 1px 3px 1px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.3));position:sticky;inset-block-end:0;z-index:var(--md-sys-z-index-app-bar, 100);gap:0}:host(.md-toolbar--docked.md-toolbar--align-center){--_gap:var(--md-toolbar-gap, var(--md-sys-spacing-gap-sm, 8px))}:host(.md-toolbar--docked.md-toolbar--align-space-between){--_gap:0px}:host(.md-toolbar--floating){--_shape:var(--md-toolbar-container-shape, var(--md-sys-shape-corner-full, 100px));--_gap:var(--md-toolbar-gap, var(--md-sys-spacing-gap-xs, 4px));--_padding:var(--md-toolbar-padding, var(--md-sys-spacing-inset-sm, 8px));--_fab-gap:var(--md-toolbar-fab-gap, var(--md-sys-spacing-gap-sm, 8px));display:inline-flex;align-items:center;gap:var(--_fab-gap);margin-inline:var(--md-sys-spacing-inset-lg, 16px);padding:0;background-color:transparent;border-radius:0;box-shadow:none}:host(.md-toolbar--floating) .md-toolbar__container{background-color:var(--_container-color);border-radius:var(--_shape);box-shadow:var(--md-sys-elevation-2, 0 1px 3px 1px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.3));padding:var(--_padding);box-sizing:border-box;flex:0 1 auto}:host(.md-toolbar--floating:not(.md-toolbar--vertical)){min-block-size:var(--_height)}:host(.md-toolbar--floating:not(.md-toolbar--vertical)) .md-toolbar__container{block-size:var(--_height)}:host(.md-toolbar--floating.md-toolbar--vertical) .md-toolbar__container{block-size:auto;inline-size:100%}:host(.md-toolbar--vertical){flex-direction:column;block-size:auto;inline-size:var(--_height)}:host(.md-toolbar--vertical) .md-toolbar__container{flex-direction:column}:host(.md-toolbar--standard){--_container-color:var(--md-toolbar-container-color, var(--md-sys-color-surface-container, #F3EDF7));--_icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-toolbar--vibrant){--_container-color:var(--md-toolbar-container-color, var(--md-sys-color-primary-container, #EADDFF));--_icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface, #1C1B1F))}.md-toolbar__container{display:flex;align-items:center;gap:var(--_gap);flex:1;min-inline-size:0;flex-wrap:var(--md-toolbar-flex-wrap, nowrap);overflow-x:var(--md-toolbar-overflow-x, visible);scrollbar-width:var(--md-toolbar-scrollbar-width, thin);scroll-padding-inline:var(--_padding)}:host(.md-toolbar--vertical) .md-toolbar__container{overflow-x:visible;overflow-y:var(--md-toolbar-overflow-y, visible);scroll-padding-block:var(--_padding)}:host(.md-toolbar--align-start) .md-toolbar__container{justify-content:flex-start}:host(.md-toolbar--align-center) .md-toolbar__container{justify-content:center}:host(.md-toolbar--align-end) .md-toolbar__container{justify-content:flex-end}:host(.md-toolbar--align-space-between) .md-toolbar__container{justify-content:space-between}.md-toolbar__fab-container{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-inline-start:var(--_fab-gap)}.md-toolbar__fab-container--hidden{display:none}.md-toolbar__fab-container--floating{margin-inline-start:0;margin-block-start:0}::slotted(*){flex-shrink:0}:host(.md-toolbar--standard) ::slotted(md-icon-button.md-icon-button--standard:not(.md-icon-button--selected)),:host(.md-toolbar--standard) ::slotted(md-icon-button.md-icon-button--outlined:not(.md-icon-button--selected)){--md-icon-button-icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--md-icon-button-state-layer-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-toolbar--vibrant) ::slotted(md-icon-button.md-icon-button--standard:not(.md-icon-button--selected)),:host(.md-toolbar--vibrant) ::slotted(md-icon-button.md-icon-button--outlined:not(.md-icon-button--selected)){--md-icon-button-icon-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface, #1C1B1F));--md-icon-button-state-layer-color:var(--md-toolbar-icon-color, var(--md-sys-color-on-surface, #1C1B1F))}:host(.md-toolbar--vibrant) ::slotted(md-icon-button.md-icon-button--tonal.md-icon-button--toggle:not(.md-icon-button--selected)){--md-icon-button-container-color:var(--md-sys-color-surface-container, #F3EDF7);--md-icon-button-icon-color:var(--md-sys-color-on-surface, #1C1B1F);--md-icon-button-state-layer-color:var(--md-sys-color-on-surface, #1C1B1F)}:host(.md-toolbar--vibrant) ::slotted(md-icon-button.md-icon-button--tonal.md-icon-button--toggle.md-icon-button--selected){--md-icon-button-container-color:var(--md-sys-color-secondary-container, #E8DEF8);--md-icon-button-icon-color:var(--md-sys-color-on-secondary-container, #1E192B);--md-icon-button-state-layer-color:var(--md-sys-color-on-secondary-container, #1E192B)}::slotted([slot="leading"]){margin-inline-end:auto}::slotted([slot="trailing"]){margin-inline-start:auto}:host(.md-toolbar--docked) ::slotted([slot="fab"]){box-shadow:none !important}@media (forced-colors: active){:host(.md-toolbar--docked){border-block-start:1px solid CanvasText}:host(.md-toolbar--floating) .md-toolbar__container{border:1px solid CanvasText}}@media (prefers-reduced-motion: reduce){.md-toolbar__container{scroll-behavior:auto}}: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 i=t(class t extends o{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.variant="docked";this.color="standard";this.layout="horizontal";this.alignment="start";this.containerSemantics="toolbar";this.ariaLabelProp="";this.ariaLabelledby="";this.density=0;this.hasFab=false;this.activeItem=null;this.roved=new Map;this.hasLoaded=false;this.rovingFrame=0;this.onHostKeyDown=t=>this.handleKeyDown(t);this.onFocusIn=t=>this.handleFocusIn(t);this.syncFab=()=>{this.hasFab=(this.fabSlot?.assignedElements().length??0)>0};this.syncRoving=()=>{if(typeof requestAnimationFrame!=="function"){this.updateRoving();return}if(this.rovingFrame)return;this.rovingFrame=requestAnimationFrame((()=>{this.rovingFrame=0;this.updateRoving()}))}}onNavPropChange(t,o,e){this.updateRoving()}hasAccessibleName(){return(this.ariaLabelledby??"").trim().length>0||(this.ariaLabelProp??"").trim().length>0}warnGenericNamed(){console.warn('[md-toolbar] `aria-label`/`aria-labelledby` on container-semantics="generic": a generic container cannot be named (ARIA name-prohibited), so assistive tech will ignore it. Use container-semantics="toolbar" if the name matters.')}componentWillLoad(){const t=this.el.getAttribute("aria-label");if(t!==null&&t.trim()==="")this.el.removeAttribute("aria-label")}connectedCallback(){this.el.addEventListener("keydown",this.onHostKeyDown,false);this.el.addEventListener("focusin",this.onFocusIn,false);if(this.hasLoaded)this.setupObservers()}componentDidLoad(){this.hasLoaded=true;this.setupObservers()}disconnectedCallback(){this.el.removeEventListener("keydown",this.onHostKeyDown,false);this.el.removeEventListener("focusin",this.onFocusIn,false);this.teardownObservers();this.clearRoving()}setupObservers(){const t=this.el.shadowRoot;this.fabSlot=t?.querySelector('slot[name="fab"]')??undefined;this.fabSlot?.addEventListener("slotchange",this.syncFab);this.syncFab();t?.querySelectorAll("slot").forEach((t=>t.addEventListener("slotchange",this.syncRoving)));if(typeof MutationObserver!=="undefined"&&!this.slotObserver){this.slotObserver=new MutationObserver(this.syncRoving);this.slotObserver.observe(this.el,{childList:true,subtree:true,attributes:true,attributeFilter:["disabled","aria-disabled","aria-hidden","hidden","class","style","role","type"]})}this.updateRoving()}teardownObservers(){this.fabSlot?.removeEventListener("slotchange",this.syncFab);this.el.shadowRoot?.querySelectorAll("slot").forEach((t=>t.removeEventListener("slotchange",this.syncRoving)));this.slotObserver?.disconnect();this.slotObserver=undefined;if(this.rovingFrame&&typeof cancelAnimationFrame==="function")cancelAnimationFrame(this.rovingFrame);this.rovingFrame=0}async setFocus(){const t=this.getItems();const o=this.activeItem&&t.includes(this.activeItem)?this.activeItem:this.preferredActive(t);o?.focus()}classify(o){if("isContentEditable"in o&&o.isContentEditable)return"independent";if(o.matches(t.COMPOSITE_SELECTOR))return"composite";if(o.matches(t.INDEPENDENT_SELECTOR))return"independent";if(o.matches(t.ROVING_SELECTOR))return"roving";if(o.matches('[tabindex]:not([tabindex^="-"])')){return o.querySelector(t.ANY_CONTROL_SELECTOR)?"wrapper":"roving"}return"wrapper"}optedOut(t){if("groupTabindex"in t)return false;const o=this.roved.get(t);const e=o&&o.kind==="attr"?o.orig:t.getAttribute("tabindex");return e!==null&&e.trim()!==""&&parseInt(e,10)<0}slotOf(t){const o=t.getAttribute("slot");if(o==="leading")return"leading";if(o==="trailing")return"trailing";if(o==="fab")return"fab";return"default"}slotPriority(t){const o=this.slotOf(t);return o==="leading"?0:o==="trailing"?2:o==="fab"?3:1}isVisible(t){const o=t.checkVisibility;if(typeof o==="function")return o.call(t,{checkVisibilityCSS:true});if(typeof getComputedStyle!=="function")return true;const e=getComputedStyle(t);return e.display!=="none"&&e.visibility!=="hidden"&&e.visibility!=="collapse"}ariaHiddenWithin(t){let o=t;while(o&&o!==this.el){if(o.getAttribute&&o.getAttribute("aria-hidden")==="true")return true;o=o.parentElement}return false}isNavigable(t){if(!(t instanceof o))return false;if(t.hidden)return false;if(t.hasAttribute("disabled"))return false;if("disabled"in t&&t.disabled===true)return false;if(this.optedOut(t))return false;if(this.ariaHiddenWithin(t))return false;return this.isVisible(t)}collectRoving(t,o){const e=this.classify(t);if(e==="composite"||e==="independent")return;if(e==="roving"){if(this.isNavigable(t)&&!o.includes(t))o.push(t);return}for(const e of Array.from(t.children))this.collectRoving(e,o)}preferredActive(t){return t.find((t=>t.getAttribute("aria-disabled")!=="true"))??t[0]}getItems(){const t=Array.from(this.el.children).filter((t=>this.slotOf(t)!=="fab"));const o=new Map;t.forEach(((t,e)=>o.set(t,e)));t.sort(((t,e)=>{const n=this.slotPriority(t);const a=this.slotPriority(e);if(n!==a)return n-a;return(o.get(t)??0)-(o.get(e)??0)}));const e=[];for(const o of t)this.collectRoving(o,e);return e}applyRoving(t,o){if("groupTabindex"in t){if(!this.roved.has(t))this.roved.set(t,{kind:"group",orig:null});t.groupTabindex=o?0:-1}else{if(!this.roved.has(t))this.roved.set(t,{kind:"attr",orig:t.getAttribute("tabindex")});t.setAttribute("tabindex",o?"0":"-1")}}restoreOne(t){const o=this.roved.get(t);if(!o)return;if(o.kind==="group"){try{t.groupTabindex=null}catch{}}else if(o.orig===null){t.removeAttribute("tabindex")}else{t.setAttribute("tabindex",o.orig)}this.roved.delete(t)}clearRoving(){for(const t of Array.from(this.roved.keys()))this.restoreOne(t)}updateRoving(){if(this.containerSemantics!=="toolbar"){this.clearRoving();return}const t=this.getItems();for(const o of Array.from(this.roved.keys())){if(!t.includes(o))this.restoreOne(o)}if(t.length===0){this.activeItem=null;return}const o=this.activeItem&&t.includes(this.activeItem)?this.activeItem:this.preferredActive(t);this.activeItem=o??null;for(const e of t)this.applyRoving(e,e===o)}handleFocusIn(t){if(this.containerSemantics!=="toolbar")return;const o=this.getItems();const e=this.resolveItem(t.target,o);if(!e||e===this.activeItem)return;this.activeItem=e;for(const t of o)this.applyRoving(t,t===e)}resolveItem(t,o){const e=t;if(!e)return null;for(const t of o){if(t===e||t.contains(e))return t}return null}handleKeyDown(t){if(this.containerSemantics!=="toolbar")return;if(t.defaultPrevented)return;if(t.shiftKey||t.ctrlKey||t.metaKey||t.altKey)return;const o=t.key;const e=o==="ArrowRight"||o==="ArrowLeft"||o==="ArrowUp"||o==="ArrowDown"||o==="Home"||o==="End";if(!e)return;const n=this.getItems();if(n.length===0)return;const a=this.resolveItem(t.target,n);if(!a)return;const r=this.variant==="floating"&&this.layout==="vertical";const i=typeof getComputedStyle==="function"&&getComputedStyle(this.el).direction==="rtl";let s=0;if(r){if(o==="ArrowDown")s=1;else if(o==="ArrowUp")s=-1}else{if(o==="ArrowRight")s=i?-1:1;else if(o==="ArrowLeft")s=i?1:-1}let l;if(o==="Home"){l=0}else if(o==="End"){l=n.length-1}else if(s!==0){const t=n.indexOf(a);l=(t+s+n.length)%n.length}else{return}const d=n[l];if(!d)return;t.preventDefault();if(d!==a){this.activeItem=d;for(const t of n)this.applyRoving(t,t===d);d.focus()}}render(){const t=this.variant==="floating";const o=t&&this.layout==="vertical";const a=this.containerSemantics==="toolbar";const r=(this.ariaLabelledby??"").trim();const i=(this.ariaLabelProp??"").trim();const s=i.length>0?this.ariaLabelProp:undefined;const l=r.length>0?this.ariaLabelledby:undefined;const d=a?o?"vertical":"horizontal":undefined;return e(n,{key:"2064ce9ddf20d134ceaedbb2a0a54d39a70a19d0",class:{"md-toolbar":true,[`md-toolbar--${this.variant}`]:true,[`md-toolbar--${this.color}`]:true,[`md-toolbar--${this.layout}`]:t,[`md-toolbar--align-${this.alignment}`]:true,"md-toolbar--vertical":o,"md-toolbar--generic":!a},role:a?"toolbar":undefined,"aria-label":s,"aria-labelledby":l,"aria-orientation":d},e("div",{key:"e311ea0f281f1bb167ccf2914d047f2d49ca34e9",class:"md-toolbar__container",part:"container"},e("slot",{key:"6f9ce44e297c337340debd90a935e6db46fd10f0",name:"leading"}),e("slot",{key:"6a57d91bb3d358ae64b727d89754501ec3efb71f"}),e("slot",{key:"c826d0f85ed25a897d8bc667b904f28a0f099191",name:"trailing"})),e("div",{key:"153673e76d1ec5b6a84cfb9ac2bed6ca53faaf74",class:{"md-toolbar__fab-container":true,"md-toolbar__fab-container--floating":t,"md-toolbar__fab-container--hidden":!this.hasFab},part:"fab-container"},e("slot",{key:"5835dab76c0418045a36a1128c0315e772af0e7d",name:"fab"})))}get el(){return this}static get watchers(){return{containerSemantics:[{onNavPropChange:0}],variant:[{onNavPropChange:0}],layout:[{onNavPropChange:0}]}}static get style(){return r()}},[257,"md-toolbar",{variant:[513],color:[513],layout:[513],alignment:[513],containerSemantics:[513,"container-semantics"],ariaLabelProp:[1,"aria-label"],ariaLabelledby:[1,"aria-labelledby"],density:[514],hasFab:[32],setFocus:[64]},undefined,{containerSemantics:[{onNavPropChange:0}],variant:[{onNavPropChange:0}],layout:[{onNavPropChange:0}]}]);i.COMPOSITE_SELECTOR='md-button-group,md-menu,[role="group"],[role="radiogroup"],[role="listbox"],[role="menu"],[role="tablist"],[role="toolbar"]';i.INDEPENDENT_SELECTOR=['input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="file"]):not([type="color"]):not([type="hidden"])',"textarea","select",'[contenteditable]:not([contenteditable="false"])',"md-text-field","md-select","md-radio","md-chip","md-switch","md-checkbox","md-fab",'[role="textbox"]','[role="searchbox"]','[role="spinbutton"]','[role="combobox"]','[role="slider"]','[role="radio"]','[role="checkbox"]'].join(",");i.ROVING_SELECTOR=["button","a[href]","md-button","md-icon-button",'input[type="button"]','input[type="submit"]','input[type="reset"]','input[type="image"]','input[type="file"]','input[type="color"]','[role="button"]','[role="menuitem"]','[role="link"]'].join(",");i.ANY_CONTROL_SELECTOR=i.COMPOSITE_SELECTOR+","+i.INDEPENDENT_SELECTOR+","+i.ROVING_SELECTOR;function s(){if(typeof customElements==="undefined"){return}const t=["md-toolbar"];t.forEach((t=>{switch(t){case"md-toolbar":if(!customElements.get(a(t))){customElements.define(a(t),i)}break}}))}s();const l=i;const d=s;export{l as MdToolbar,d as defineCustomElement};
2
2
  //# sourceMappingURL=md-toolbar.js.map
@@ -1,2 +1,2 @@
1
- import{M as o,d as s}from"./p-Dp-w93ot.js";const t=o;const p=s;export{t as MdTooltip,p as defineCustomElement};
1
+ import{M as o,d as s}from"./p-DfU4xY2F.js";const t=o;const p=s;export{t as MdTooltip,p as defineCustomElement};
2
2
  //# sourceMappingURL=md-tooltip.js.map
@@ -1,2 +1,2 @@
1
- import{p as t,H as s,c as e,h as i,d as r,t as a}from"./p-MWBNn6Lj.js";import{p as n}from"./p-CxhZdOPw.js";import{d as o}from"./p-C8EP4S21.js";import{d as l}from"./p-6wZSqm_2.js";import{d as c}from"./p-stybaFzj.js";import{d}from"./p-B3MWYEEJ.js";const m=()=>`:host{--_column-min-width:var(--md-transfer-list-column-min-width, 260px);--_column-max-block:var(--md-transfer-list-column-max-block, var(--md-transfer-list-height, 360px));--_width:var(--md-transfer-list-width, auto);--_min-width:var(--md-transfer-list-min-width, auto);--_max-width:var(--md-transfer-list-max-width, none);--_height:var(--md-transfer-list-height, auto);--_min-height:var(--md-transfer-list-min-height, auto);--_max-height:var(--md-transfer-list-max-height, none);--_container-shape:var(--md-transfer-list-container-shape, var(--md-sys-shape-corner-large, 16px));--_container-color:var(--md-transfer-list-container-color, var(--md-sys-color-surface-container-low));--_header-color:var(--md-transfer-list-header-color, var(--md-sys-color-surface-container));--_header-text-color:var(--md-transfer-list-header-text-color, var(--md-sys-color-on-surface));--_item-inset:var(--md-transfer-list-item-inset, 6px);--_item-padding:var( --md-transfer-list-item-padding, var(--md-sys-spacing-inset-sm, 8px) calc(var(--md-sys-spacing-inset-lg, 16px) - var(--_item-inset)) );--_item-gap:var(--md-transfer-list-item-gap, var(--md-sys-spacing-gap-md, 12px));--_divider-color:var(--md-transfer-list-divider-color, var(--md-sys-color-outline-variant));--_controls-gap:var(--md-transfer-list-controls-gap, var(--md-sys-spacing-gap-md, 12px));--_control-size:var(--md-transfer-list-control-size, max(24px, calc(40px + var(--md-sys-density-scale, 0) * 4px)));--_control-icon-size:var(--md-transfer-list-control-icon-size, max(16px, calc(24px + var(--md-sys-density-scale, 0) * 2px)));display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:minmax(0, 1fr);gap:var(--md-sys-spacing-gap-lg, 16px);align-items:stretch;box-sizing:border-box;inline-size:var(--_width);min-inline-size:var(--_min-width);max-inline-size:var(--_max-width);block-size:var(--_height);min-block-size:var(--_min-height);max-block-size:var(--_max-height);font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, system-ui, sans-serif);color:var(--md-sys-color-on-surface, #1d1b20)}: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}:host([full-width]){inline-size:100%}:host([full-height]){block-size:100%;--_column-max-block:var(--md-transfer-list-column-max-block, 100%)}@media (max-width: 640px){:host{grid-template-columns:1fr;grid-template-rows:auto auto auto}}.md-transfer-list__column{display:flex;flex-direction:column;min-inline-size:var(--_column-min-width);max-block-size:var(--_column-max-block);background:var(--_container-color);border-radius:var(--_container-shape);overflow:hidden;border:1px solid var(--_divider-color);box-sizing:border-box}:host([searchable]) .md-transfer-list__column{block-size:var(--_column-max-block)}.md-transfer-list__header{display:flex;align-items:center;gap:var(--md-sys-spacing-gap-md, 12px);padding:var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px);background:var(--_header-color);color:var(--_header-text-color);border-block-end:1px solid var(--_divider-color);flex:0 0 auto}.md-transfer-list__header-title{display:flex;flex-direction:column;min-inline-size:0;flex:1}.md-transfer-list__title{font-family:var(--md-sys-typescale-title-small-font-family, Roboto, system-ui, sans-serif);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-title-small-weight, 500);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__count{align-self:flex-start;margin-block-start:2px;padding:1px 8px;border-radius:var(--md-sys-shape-corner-full, 999px);background:var(--md-sys-color-secondary-container, #e8def8);color:var(--md-sys-color-on-secondary-container, #1d192b);font-size:max(10px, calc(11px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-small-weight, 500);line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));letter-spacing:0.4px;white-space:nowrap}.md-transfer-list__search{padding:calc(8px + max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px))) var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-sm, 8px);flex:0 0 auto}.md-transfer-list__list{margin:0;padding:var(--md-sys-spacing-inset-xs, 4px) 0;list-style:none;overflow-y:auto;flex:1 1 auto}.md-transfer-list__item{position:relative;display:flex;align-items:center;gap:var(--_item-gap);padding:var(--_item-padding);margin-inline:var(--_item-inset);border-radius:var(--md-sys-shape-corner-small, 8px);cursor:pointer;transition:background-color var(--md-sys-motion-duration-short2, 100ms) ease;outline:none}.md-transfer-list__item+.md-transfer-list__item{margin-block-start:2px}.md-transfer-list__item:hover{background:color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent)}.md-transfer-list__item--checked{background:color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent)}.md-transfer-list__item--checked:hover{background:color-mix(in srgb, var(--md-sys-color-primary) 12%, transparent)}.md-transfer-list__item:focus-visible{outline:3px solid var(--md-sys-color-secondary);outline-offset:-3px;background:color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent)}.md-transfer-list__item--disabled{opacity:var(--md-sys-state-disabled-content-opacity, 0.38);pointer-events:none}.md-transfer-list__labels{display:flex;flex-direction:column;min-inline-size:0;flex:1}.md-transfer-list__label{color:var(--md-sys-color-on-surface);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__description{color:var(--md-sys-color-on-surface-variant);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__empty{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-gap-sm, 8px);padding:max(4px, calc(32px + var(--md-sys-density-scale, 0) * 2px)) var(--md-sys-spacing-inset-lg, 16px);text-align:center;color:var(--md-sys-color-on-surface-variant);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px))}.md-transfer-list__empty-icon{font-size:var(--md-transfer-list-empty-icon-size, max(24px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));opacity:0.9}.md-transfer-list__controls{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--_controls-gap);padding-inline:var(--md-sys-spacing-inset-xs, 4px)}.md-transfer-list__controls md-icon-button{--md-icon-button-container-width:var(--_control-size);--md-icon-button-container-height:var(--_control-size);--md-icon-button-icon-size:var(--_control-icon-size)}@media (max-width: 640px){.md-transfer-list__controls{flex-direction:row;justify-content:center;padding-block:var(--md-sys-spacing-inset-md, 12px)}.md-transfer-list__controls md-icon-button,:host-context([dir='rtl']) .md-transfer-list__controls md-icon-button,:host([dir='rtl']) .md-transfer-list__controls md-icon-button{transform:rotate(90deg)}}:host(.md-transfer-list--disabled) .md-transfer-list__item{pointer-events:none;cursor:default}:host-context([dir='rtl']) .md-transfer-list__controls md-icon-button,:host([dir='rtl']) .md-transfer-list__controls md-icon-button{transform:scaleX(-1)}@media (prefers-reduced-motion: reduce){.md-transfer-list__item{transition:none}}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;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}`;const h=t(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=e(this,"mdChange",7);this.mdMove=e(this,"mdMove",7);this.items=[];this.value=[];this.sourceTitle="Choices";this.targetTitle="Chosen";this.searchable=true;this.sourceSearchPlaceholder="Search choices";this.targetSearchPlaceholder="Search chosen";this.showSelectAll=true;this.searchIcon="search";this.moveRightIcon="chevron_right";this.moveLeftIcon="chevron_left";this.moveAllRightIcon="keyboard_double_arrow_right";this.moveAllLeftIcon="keyboard_double_arrow_left";this.emptyIcon="";this.emptyText="No items";this.countTemplate="{checked}/{total} selected";this.density=0;this.disabled=false;this.singleStepOnly=false;this.moveRightLabel="Move selected to target";this.moveLeftLabel="Move selected to source";this.moveAllRightLabel="Move all to target";this.moveAllLeftLabel="Move all to source";this.sourceChecked=new Set;this.targetChecked=new Set;this.sourceQuery="";this.targetQuery="";this.moveRight=()=>{if(this.disabled)return;const t=this.getEligibleChecked("source");if(t.length===0)return;const s=[...this.value,...t];this.sourceChecked=new Set;this.commit(s,"right",t)};this.moveLeft=()=>{if(this.disabled)return;const t=this.getEligibleChecked("target");if(t.length===0)return;const s=this.value.filter((s=>!t.includes(s)));this.targetChecked=new Set;this.commit(s,"left",t)};this.moveAllRight=()=>{if(this.disabled)return;const t=this.sourceItems.filter((t=>!t.disabled)).map((t=>t.value));if(t.length===0)return;const s=[...this.value,...t];this.sourceChecked=new Set;this.commit(s,"right",t)};this.moveAllLeft=()=>{if(this.disabled)return;const t=this.targetItems.filter((t=>!t.disabled)).map((t=>t.value));if(t.length===0)return;const s=this.value.filter((s=>!t.includes(s)));this.targetChecked=new Set;this.commit(s,"left",t)};this.toggleItem=(t,s)=>{if(this.disabled)return;const e=this.itemList.find((t=>t.value===s));if(e?.disabled)return;const i=new Set(t==="source"?this.sourceChecked:this.targetChecked);if(i.has(s))i.delete(s);else i.add(s);if(t==="source")this.sourceChecked=i;else this.targetChecked=i};this.toggleSelectAll=t=>()=>{if(this.disabled)return;const s=this.getVisible(t).filter((t=>!t.disabled));const e=t==="source"?this.sourceChecked:this.targetChecked;const i=s.length>0&&s.every((t=>e.has(t.value)));const r=new Set(e);if(i){s.forEach((t=>r.delete(t.value)))}else{s.forEach((t=>r.add(t.value)))}if(t==="source")this.sourceChecked=r;else this.targetChecked=r}}get itemList(){return n(this.items,"md-transfer-list","items")}syncCheckedSets(){const t=new Set(this.itemList.map((t=>t.value)));this.sourceChecked=new Set(Array.from(this.sourceChecked).filter((s=>t.has(s))));this.targetChecked=new Set(Array.from(this.targetChecked).filter((s=>t.has(s))))}async moveSelectedRight(){this.moveRight()}async moveSelectedLeft(){this.moveLeft()}get sourceItems(){return this.itemList.filter((t=>!this.value.includes(t.value)))}get targetItems(){return this.itemList.filter((t=>this.value.includes(t.value)))}filter(t,s){if(!s)return t;const e=s.trim().toLowerCase();return t.filter((t=>t.label.toLowerCase().includes(e)||(t.description?.toLowerCase().includes(e)??false)))}getVisible(t){return t==="source"?this.filter(this.sourceItems,this.sourceQuery):this.filter(this.targetItems,this.targetQuery)}getEligibleChecked(t){const s=new Set(this.getVisible(t).filter((t=>!t.disabled)).map((t=>t.value)));const e=t==="source"?this.sourceChecked:this.targetChecked;return Array.from(e).filter((t=>s.has(t)))}commit(t,s,e){this.value=t;this.mdChange.emit(t);this.mdMove.emit({direction:s,moved:e,target:t})}renderHeader(t){const s=t==="source"?this.sourceTitle:this.targetTitle;const e=this.getVisible(t);const r=e.filter((t=>!t.disabled));const a=t==="source"?this.sourceChecked:this.targetChecked;const n=r.filter((t=>a.has(t.value))).length;const o=r.length>0&&n===r.length;const l=n>0&&!o;return i("div",{class:"md-transfer-list__header",part:"header"},this.showSelectAll&&i("md-checkbox",{class:"md-transfer-list__select-all",checked:o,indeterminate:l,disabled:this.disabled||r.length===0,onMdChange:this.toggleSelectAll(t),"aria-label":`Select all ${s}`}),i("div",{class:"md-transfer-list__header-title",part:"header-title"},i("span",{class:"md-transfer-list__title"},s),i("span",{class:"md-transfer-list__count",part:"count"},this.countTemplate.replace("{checked}",String(n)).replace("{total}",String(r.length)))))}renderSearch(t){if(!this.searchable)return null;const s=t==="source"?this.sourceSearchPlaceholder:this.targetSearchPlaceholder;const e=t==="source"?this.sourceQuery:this.targetQuery;return i("md-text-field",{class:"md-transfer-list__search",part:"search",variant:"outlined",density:this.density,label:s,value:e,clearable:"internal",disabled:this.disabled,onMdInput:s=>{if(t==="source")this.sourceQuery=s.detail??"";else this.targetQuery=s.detail??""}},this.searchIcon&&i("span",{slot:"leading-icon",class:"material-symbols-outlined","aria-hidden":"true"},this.searchIcon))}renderList(t){const s=this.getVisible(t);const e=t==="source"?this.sourceChecked:this.targetChecked;const r=t==="source"?this.sourceTitle:this.targetTitle;if(s.length===0){return i("div",{class:"md-transfer-list__empty",role:"status",part:"empty"},this.emptyIcon&&i("span",{class:"md-transfer-list__empty-icon material-symbols-outlined",part:"empty-icon","aria-hidden":"true"},this.emptyIcon),this.emptyText)}return i("ul",{class:"md-transfer-list__list",role:"listbox","aria-multiselectable":"true","aria-label":r,tabindex:this.disabled?"0":undefined,part:"list"},s.map((s=>{const r=e.has(s.value);return i("li",{class:{"md-transfer-list__item":true,"md-transfer-list__item--checked":r,"md-transfer-list__item--disabled":!!s.disabled},role:"option","aria-selected":String(r),"aria-disabled":s.disabled?"true":"false",key:s.value,onClick:()=>this.toggleItem(t,s.value),onKeyDown:e=>{if(e.key===" "||e.key==="Enter"){e.preventDefault();this.toggleItem(t,s.value)}},tabindex:s.disabled||this.disabled?"-1":"0",part:"item"},i("md-ripple",{disabled:s.disabled||this.disabled}),i("md-checkbox",{checked:r,disabled:s.disabled||this.disabled,inert:true,"aria-hidden":"true"}),i("div",{class:"md-transfer-list__labels"},i("span",{class:"md-transfer-list__label"},s.label),s.description&&i("span",{class:"md-transfer-list__description"},s.description)))})))}renderColumn(t){return i("div",{class:"md-transfer-list__column",part:`column column-${t}`},this.renderHeader(t),this.renderSearch(t),this.renderList(t))}renderControls(){const t=this.getEligibleChecked("source").length;const s=this.getEligibleChecked("target").length;const e=this.sourceItems.some((t=>!t.disabled));const r=this.targetItems.some((t=>!t.disabled));return i("div",{class:"md-transfer-list__controls",part:"controls"},!this.singleStepOnly&&i("md-icon-button",{variant:"tonal",icon:this.moveAllRightIcon,disabled:this.disabled||!e,"aria-label":this.moveAllRightLabel,onClick:this.moveAllRight}),i("md-icon-button",{variant:"filled",icon:this.moveRightIcon,disabled:this.disabled||t===0,"aria-label":this.moveRightLabel,onClick:this.moveRight}),i("md-icon-button",{variant:"filled",icon:this.moveLeftIcon,disabled:this.disabled||s===0,"aria-label":this.moveLeftLabel,onClick:this.moveLeft}),!this.singleStepOnly&&i("md-icon-button",{variant:"tonal",icon:this.moveAllLeftIcon,disabled:this.disabled||!r,"aria-label":this.moveAllLeftLabel,onClick:this.moveAllLeft}))}render(){return i(r,{key:"0a05bcbdb886ef5a52c9d5aae979f0ff6f8b46aa",class:{"md-transfer-list":true,"md-transfer-list--disabled":this.disabled},role:"group","aria-disabled":this.disabled?"true":"false"},this.renderColumn("source"),this.renderControls(),this.renderColumn("target"))}get el(){return this}static get watchers(){return{value:[{syncCheckedSets:0}]}}static get style(){return m()}},[1,"md-transfer-list",{items:[1],value:[1040],sourceTitle:[1,"source-title"],targetTitle:[1,"target-title"],searchable:[516],sourceSearchPlaceholder:[1,"source-search-placeholder"],targetSearchPlaceholder:[1,"target-search-placeholder"],showSelectAll:[516,"show-select-all"],searchIcon:[1,"search-icon"],moveRightIcon:[1,"move-right-icon"],moveLeftIcon:[1,"move-left-icon"],moveAllRightIcon:[1,"move-all-right-icon"],moveAllLeftIcon:[1,"move-all-left-icon"],emptyIcon:[1,"empty-icon"],emptyText:[1,"empty-text"],countTemplate:[1,"count-template"],density:[514],disabled:[516],singleStepOnly:[516,"single-step-only"],moveRightLabel:[1,"move-right-label"],moveLeftLabel:[1,"move-left-label"],moveAllRightLabel:[1,"move-all-right-label"],moveAllLeftLabel:[1,"move-all-left-label"],sourceChecked:[32],targetChecked:[32],sourceQuery:[32],targetQuery:[32],moveSelectedRight:[64],moveSelectedLeft:[64]},undefined,{value:[{syncCheckedSets:0}]}]);function f(){if(typeof customElements==="undefined"){return}const t=["md-transfer-list","md-checkbox","md-icon-button","md-ripple","md-text-field"];t.forEach((t=>{switch(t){case"md-transfer-list":if(!customElements.get(a(t))){customElements.define(a(t),h)}break;case"md-checkbox":if(!customElements.get(a(t))){o()}break;case"md-icon-button":if(!customElements.get(a(t))){l()}break;case"md-ripple":if(!customElements.get(a(t))){c()}break;case"md-text-field":if(!customElements.get(a(t))){d()}break}}))}f();const p=h;const u=f;export{p as MdTransferList,u as defineCustomElement};
1
+ import{p as t,H as s,c as e,h as i,d as r,t as a}from"./p-BR6gfOQH.js";import{p as n}from"./p-CxhZdOPw.js";import{d as o}from"./p-BA2v4IuG.js";import{d as l}from"./p-DYL-8C5C.js";import{d as c}from"./p-CTC8XAB6.js";import{d}from"./p-CtVItLby.js";const m=()=>`:host{--_column-min-width:var(--md-transfer-list-column-min-width, 260px);--_column-max-block:var(--md-transfer-list-column-max-block, var(--md-transfer-list-height, 360px));--_width:var(--md-transfer-list-width, auto);--_min-width:var(--md-transfer-list-min-width, auto);--_max-width:var(--md-transfer-list-max-width, none);--_height:var(--md-transfer-list-height, auto);--_min-height:var(--md-transfer-list-min-height, auto);--_max-height:var(--md-transfer-list-max-height, none);--_container-shape:var(--md-transfer-list-container-shape, var(--md-sys-shape-corner-large, 16px));--_container-color:var(--md-transfer-list-container-color, var(--md-sys-color-surface-container-low));--_header-color:var(--md-transfer-list-header-color, var(--md-sys-color-surface-container));--_header-text-color:var(--md-transfer-list-header-text-color, var(--md-sys-color-on-surface));--_item-inset:var(--md-transfer-list-item-inset, 6px);--_item-padding:var( --md-transfer-list-item-padding, var(--md-sys-spacing-inset-sm, 8px) calc(var(--md-sys-spacing-inset-lg, 16px) - var(--_item-inset)) );--_item-gap:var(--md-transfer-list-item-gap, var(--md-sys-spacing-gap-md, 12px));--_divider-color:var(--md-transfer-list-divider-color, var(--md-sys-color-outline-variant));--_controls-gap:var(--md-transfer-list-controls-gap, var(--md-sys-spacing-gap-md, 12px));--_control-size:var(--md-transfer-list-control-size, max(24px, calc(40px + var(--md-sys-density-scale, 0) * 4px)));--_control-icon-size:var(--md-transfer-list-control-icon-size, max(16px, calc(24px + var(--md-sys-density-scale, 0) * 2px)));display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:minmax(0, 1fr);gap:var(--md-sys-spacing-gap-lg, 16px);align-items:stretch;box-sizing:border-box;inline-size:var(--_width);min-inline-size:var(--_min-width);max-inline-size:var(--_max-width);block-size:var(--_height);min-block-size:var(--_min-height);max-block-size:var(--_max-height);font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, system-ui, sans-serif);color:var(--md-sys-color-on-surface, #1d1b20)}: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}:host([full-width]){inline-size:100%}:host([full-height]){block-size:100%;--_column-max-block:var(--md-transfer-list-column-max-block, 100%)}@media (max-width: 640px){:host{grid-template-columns:1fr;grid-template-rows:auto auto auto}}.md-transfer-list__column{display:flex;flex-direction:column;min-inline-size:var(--_column-min-width);max-block-size:var(--_column-max-block);background:var(--_container-color);border-radius:var(--_container-shape);overflow:hidden;border:1px solid var(--_divider-color);box-sizing:border-box}:host([searchable]) .md-transfer-list__column{block-size:var(--_column-max-block)}.md-transfer-list__header{display:flex;align-items:center;gap:var(--md-sys-spacing-gap-md, 12px);padding:var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px);background:var(--_header-color);color:var(--_header-text-color);border-block-end:1px solid var(--_divider-color);flex:0 0 auto}.md-transfer-list__header-title{display:flex;flex-direction:column;min-inline-size:0;flex:1}.md-transfer-list__title{font-family:var(--md-sys-typescale-title-small-font-family, Roboto, system-ui, sans-serif);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-title-small-weight, 500);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__count{align-self:flex-start;margin-block-start:2px;padding:1px 8px;border-radius:var(--md-sys-shape-corner-full, 999px);background:var(--md-sys-color-secondary-container, #e8def8);color:var(--md-sys-color-on-secondary-container, #1d192b);font-size:max(10px, calc(11px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-small-weight, 500);line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));letter-spacing:0.4px;white-space:nowrap}.md-transfer-list__search{padding:calc(8px + max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px))) var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-sm, 8px);flex:0 0 auto}.md-transfer-list__list{margin:0;padding:var(--md-sys-spacing-inset-xs, 4px) 0;list-style:none;overflow-y:auto;flex:1 1 auto}.md-transfer-list__item{position:relative;display:flex;align-items:center;gap:var(--_item-gap);padding:var(--_item-padding);margin-inline:var(--_item-inset);border-radius:var(--md-sys-shape-corner-small, 8px);cursor:pointer;transition:background-color var(--md-sys-motion-duration-short2, 100ms) ease;outline:none}.md-transfer-list__item+.md-transfer-list__item{margin-block-start:2px}.md-transfer-list__item:hover{background:color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent)}.md-transfer-list__item--checked{background:color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent)}.md-transfer-list__item--checked:hover{background:color-mix(in srgb, var(--md-sys-color-primary) 12%, transparent)}.md-transfer-list__item:focus-visible{outline:3px solid var(--md-sys-color-secondary);outline-offset:-3px;background:color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent)}.md-transfer-list__item--disabled{opacity:var(--md-sys-state-disabled-content-opacity, 0.38);pointer-events:none}.md-transfer-list__labels{display:flex;flex-direction:column;min-inline-size:0;flex:1}.md-transfer-list__label{color:var(--md-sys-color-on-surface);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__description{color:var(--md-sys-color-on-surface-variant);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__empty{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-gap-sm, 8px);padding:max(4px, calc(32px + var(--md-sys-density-scale, 0) * 2px)) var(--md-sys-spacing-inset-lg, 16px);text-align:center;color:var(--md-sys-color-on-surface-variant);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px))}.md-transfer-list__empty-icon{font-size:var(--md-transfer-list-empty-icon-size, max(24px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));opacity:0.9}.md-transfer-list__controls{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--_controls-gap);padding-inline:var(--md-sys-spacing-inset-xs, 4px)}.md-transfer-list__controls md-icon-button{--md-icon-button-container-width:var(--_control-size);--md-icon-button-container-height:var(--_control-size);--md-icon-button-icon-size:var(--_control-icon-size)}@media (max-width: 640px){.md-transfer-list__controls{flex-direction:row;justify-content:center;padding-block:var(--md-sys-spacing-inset-md, 12px)}.md-transfer-list__controls md-icon-button,:host-context([dir='rtl']) .md-transfer-list__controls md-icon-button,:host([dir='rtl']) .md-transfer-list__controls md-icon-button{transform:rotate(90deg)}}:host(.md-transfer-list--disabled) .md-transfer-list__item{pointer-events:none;cursor:default}:host-context([dir='rtl']) .md-transfer-list__controls md-icon-button,:host([dir='rtl']) .md-transfer-list__controls md-icon-button{transform:scaleX(-1)}@media (prefers-reduced-motion: reduce){.md-transfer-list__item{transition:none}}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;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}`;const h=t(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=e(this,"mdChange",7);this.mdMove=e(this,"mdMove",7);this.items=[];this.value=[];this.sourceTitle="Choices";this.targetTitle="Chosen";this.searchable=true;this.sourceSearchPlaceholder="Search choices";this.targetSearchPlaceholder="Search chosen";this.showSelectAll=true;this.searchIcon="search";this.moveRightIcon="chevron_right";this.moveLeftIcon="chevron_left";this.moveAllRightIcon="keyboard_double_arrow_right";this.moveAllLeftIcon="keyboard_double_arrow_left";this.emptyIcon="";this.emptyText="No items";this.countTemplate="{checked}/{total} selected";this.density=0;this.disabled=false;this.singleStepOnly=false;this.moveRightLabel="Move selected to target";this.moveLeftLabel="Move selected to source";this.moveAllRightLabel="Move all to target";this.moveAllLeftLabel="Move all to source";this.sourceChecked=new Set;this.targetChecked=new Set;this.sourceQuery="";this.targetQuery="";this.moveRight=()=>{if(this.disabled)return;const t=this.getEligibleChecked("source");if(t.length===0)return;const s=[...this.value,...t];this.sourceChecked=new Set;this.commit(s,"right",t)};this.moveLeft=()=>{if(this.disabled)return;const t=this.getEligibleChecked("target");if(t.length===0)return;const s=this.value.filter((s=>!t.includes(s)));this.targetChecked=new Set;this.commit(s,"left",t)};this.moveAllRight=()=>{if(this.disabled)return;const t=this.sourceItems.filter((t=>!t.disabled)).map((t=>t.value));if(t.length===0)return;const s=[...this.value,...t];this.sourceChecked=new Set;this.commit(s,"right",t)};this.moveAllLeft=()=>{if(this.disabled)return;const t=this.targetItems.filter((t=>!t.disabled)).map((t=>t.value));if(t.length===0)return;const s=this.value.filter((s=>!t.includes(s)));this.targetChecked=new Set;this.commit(s,"left",t)};this.toggleItem=(t,s)=>{if(this.disabled)return;const e=this.itemList.find((t=>t.value===s));if(e?.disabled)return;const i=new Set(t==="source"?this.sourceChecked:this.targetChecked);if(i.has(s))i.delete(s);else i.add(s);if(t==="source")this.sourceChecked=i;else this.targetChecked=i};this.toggleSelectAll=t=>()=>{if(this.disabled)return;const s=this.getVisible(t).filter((t=>!t.disabled));const e=t==="source"?this.sourceChecked:this.targetChecked;const i=s.length>0&&s.every((t=>e.has(t.value)));const r=new Set(e);if(i){s.forEach((t=>r.delete(t.value)))}else{s.forEach((t=>r.add(t.value)))}if(t==="source")this.sourceChecked=r;else this.targetChecked=r}}get itemList(){return n(this.items,"md-transfer-list","items")}syncCheckedSets(){const t=new Set(this.itemList.map((t=>t.value)));this.sourceChecked=new Set(Array.from(this.sourceChecked).filter((s=>t.has(s))));this.targetChecked=new Set(Array.from(this.targetChecked).filter((s=>t.has(s))))}async moveSelectedRight(){this.moveRight()}async moveSelectedLeft(){this.moveLeft()}get sourceItems(){return this.itemList.filter((t=>!this.value.includes(t.value)))}get targetItems(){return this.itemList.filter((t=>this.value.includes(t.value)))}filter(t,s){if(!s)return t;const e=s.trim().toLowerCase();return t.filter((t=>t.label.toLowerCase().includes(e)||(t.description?.toLowerCase().includes(e)??false)))}getVisible(t){return t==="source"?this.filter(this.sourceItems,this.sourceQuery):this.filter(this.targetItems,this.targetQuery)}getEligibleChecked(t){const s=new Set(this.getVisible(t).filter((t=>!t.disabled)).map((t=>t.value)));const e=t==="source"?this.sourceChecked:this.targetChecked;return Array.from(e).filter((t=>s.has(t)))}commit(t,s,e){this.value=t;this.mdChange.emit(t);this.mdMove.emit({direction:s,moved:e,target:t})}renderHeader(t){const s=t==="source"?this.sourceTitle:this.targetTitle;const e=this.getVisible(t);const r=e.filter((t=>!t.disabled));const a=t==="source"?this.sourceChecked:this.targetChecked;const n=r.filter((t=>a.has(t.value))).length;const o=r.length>0&&n===r.length;const l=n>0&&!o;return i("div",{class:"md-transfer-list__header",part:"header"},this.showSelectAll&&i("md-checkbox",{class:"md-transfer-list__select-all",checked:o,indeterminate:l,disabled:this.disabled||r.length===0,onMdChange:this.toggleSelectAll(t),"aria-label":`Select all ${s}`}),i("div",{class:"md-transfer-list__header-title",part:"header-title"},i("span",{class:"md-transfer-list__title"},s),i("span",{class:"md-transfer-list__count",part:"count"},this.countTemplate.replace("{checked}",String(n)).replace("{total}",String(r.length)))))}renderSearch(t){if(!this.searchable)return null;const s=t==="source"?this.sourceSearchPlaceholder:this.targetSearchPlaceholder;const e=t==="source"?this.sourceQuery:this.targetQuery;return i("md-text-field",{class:"md-transfer-list__search",part:"search",variant:"outlined",density:this.density,label:s,value:e,clearable:"internal",disabled:this.disabled,onMdInput:s=>{if(t==="source")this.sourceQuery=s.detail??"";else this.targetQuery=s.detail??""}},this.searchIcon&&i("span",{slot:"leading-icon",class:"material-symbols-outlined","aria-hidden":"true"},this.searchIcon))}renderList(t){const s=this.getVisible(t);const e=t==="source"?this.sourceChecked:this.targetChecked;const r=t==="source"?this.sourceTitle:this.targetTitle;if(s.length===0){return i("div",{class:"md-transfer-list__empty",role:"status",part:"empty"},this.emptyIcon&&i("span",{class:"md-transfer-list__empty-icon material-symbols-outlined",part:"empty-icon","aria-hidden":"true"},this.emptyIcon),this.emptyText)}return i("ul",{class:"md-transfer-list__list",role:"listbox","aria-multiselectable":"true","aria-label":r,tabindex:this.disabled?"0":undefined,part:"list"},s.map((s=>{const r=e.has(s.value);return i("li",{class:{"md-transfer-list__item":true,"md-transfer-list__item--checked":r,"md-transfer-list__item--disabled":!!s.disabled},role:"option","aria-selected":String(r),"aria-disabled":s.disabled?"true":"false",key:s.value,onClick:()=>this.toggleItem(t,s.value),onKeyDown:e=>{if(e.key===" "||e.key==="Enter"){e.preventDefault();this.toggleItem(t,s.value)}},tabindex:s.disabled||this.disabled?"-1":"0",part:"item"},i("md-ripple",{disabled:s.disabled||this.disabled}),i("md-checkbox",{checked:r,disabled:s.disabled||this.disabled,inert:true,"aria-hidden":"true"}),i("div",{class:"md-transfer-list__labels"},i("span",{class:"md-transfer-list__label"},s.label),s.description&&i("span",{class:"md-transfer-list__description"},s.description)))})))}renderColumn(t){return i("div",{class:"md-transfer-list__column",part:`column column-${t}`},this.renderHeader(t),this.renderSearch(t),this.renderList(t))}renderControls(){const t=this.getEligibleChecked("source").length;const s=this.getEligibleChecked("target").length;const e=this.sourceItems.some((t=>!t.disabled));const r=this.targetItems.some((t=>!t.disabled));return i("div",{class:"md-transfer-list__controls",part:"controls"},!this.singleStepOnly&&i("md-icon-button",{variant:"tonal",icon:this.moveAllRightIcon,disabled:this.disabled||!e,"aria-label":this.moveAllRightLabel,onClick:this.moveAllRight}),i("md-icon-button",{variant:"filled",icon:this.moveRightIcon,disabled:this.disabled||t===0,"aria-label":this.moveRightLabel,onClick:this.moveRight}),i("md-icon-button",{variant:"filled",icon:this.moveLeftIcon,disabled:this.disabled||s===0,"aria-label":this.moveLeftLabel,onClick:this.moveLeft}),!this.singleStepOnly&&i("md-icon-button",{variant:"tonal",icon:this.moveAllLeftIcon,disabled:this.disabled||!r,"aria-label":this.moveAllLeftLabel,onClick:this.moveAllLeft}))}render(){return i(r,{key:"0a05bcbdb886ef5a52c9d5aae979f0ff6f8b46aa",class:{"md-transfer-list":true,"md-transfer-list--disabled":this.disabled},role:"group","aria-disabled":this.disabled?"true":"false"},this.renderColumn("source"),this.renderControls(),this.renderColumn("target"))}get el(){return this}static get watchers(){return{value:[{syncCheckedSets:0}]}}static get style(){return m()}},[1,"md-transfer-list",{items:[1],value:[1040],sourceTitle:[1,"source-title"],targetTitle:[1,"target-title"],searchable:[516],sourceSearchPlaceholder:[1,"source-search-placeholder"],targetSearchPlaceholder:[1,"target-search-placeholder"],showSelectAll:[516,"show-select-all"],searchIcon:[1,"search-icon"],moveRightIcon:[1,"move-right-icon"],moveLeftIcon:[1,"move-left-icon"],moveAllRightIcon:[1,"move-all-right-icon"],moveAllLeftIcon:[1,"move-all-left-icon"],emptyIcon:[1,"empty-icon"],emptyText:[1,"empty-text"],countTemplate:[1,"count-template"],density:[514],disabled:[516],singleStepOnly:[516,"single-step-only"],moveRightLabel:[1,"move-right-label"],moveLeftLabel:[1,"move-left-label"],moveAllRightLabel:[1,"move-all-right-label"],moveAllLeftLabel:[1,"move-all-left-label"],sourceChecked:[32],targetChecked:[32],sourceQuery:[32],targetQuery:[32],moveSelectedRight:[64],moveSelectedLeft:[64]},undefined,{value:[{syncCheckedSets:0}]}]);function f(){if(typeof customElements==="undefined"){return}const t=["md-transfer-list","md-checkbox","md-icon-button","md-ripple","md-text-field"];t.forEach((t=>{switch(t){case"md-transfer-list":if(!customElements.get(a(t))){customElements.define(a(t),h)}break;case"md-checkbox":if(!customElements.get(a(t))){o()}break;case"md-icon-button":if(!customElements.get(a(t))){l()}break;case"md-ripple":if(!customElements.get(a(t))){c()}break;case"md-text-field":if(!customElements.get(a(t))){d()}break}}))}f();const p=h;const u=f;export{p as MdTransferList,u as defineCustomElement};
2
2
  //# sourceMappingURL=md-transfer-list.js.map
@@ -0,0 +1,2 @@
1
+ import{p as e,H as o,c as i,h as a,d as r,t}from"./p-BR6gfOQH.js";import{t as s}from"./p-DYBUr7K_.js";import{d as n}from"./p-CTC8XAB6.js";const c=()=>`:host{--_container-color:var(--md-chip-container-color, transparent);--_container-color-selected:var(--md-chip-container-color-selected, var(--md-sys-color-secondary-container));--_label-color:var(--md-chip-label-color, var(--md-sys-color-on-surface-variant));--_label-color-selected:var(--md-chip-label-color-selected, var(--md-sys-color-on-secondary-container));--_icon-color:var(--md-chip-icon-color, var(--md-sys-color-primary));--_icon-size:var(--md-chip-icon-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));--_container-shape:var(--md-chip-container-shape, var(--md-sys-shape-corner-small, 8px));--_container-height:var(--md-chip-container-height, 32px);--_outline-color:var(--md-chip-outline-color, var(--md-sys-color-outline));--_outline-width:var(--md-chip-outline-width, 1px);--_state-layer-color:var(--md-chip-state-layer-color, var(--md-sys-color-on-surface));--_elevation:var(--md-chip-elevation, var(--md-sys-elevation-0, none));--_c-main:var(--md-sys-color-primary);--_c-on-main:var(--md-sys-color-on-primary);--_c-container:var(--md-sys-color-secondary-container);--_c-on-container:var(--md-sys-color-on-secondary-container);--_padding-inline:var(--md-sys-spacing-inset-lg, 16px);--_gap:var(--md-sys-spacing-gap-sm, 8px);display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;block-size:max(24px, calc(var(--_container-height) + var(--md-sys-density-scale, 0) * 4px));padding-inline:var(--_padding-inline);gap:var(--_gap);background-color:var(--_container-color);border-radius:var(--_container-shape);box-shadow:var(--_elevation);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;font-family:var(--md-sys-typescale-label-large-font-family, Roboto, sans-serif);font-size:max(11px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-large-font-weight, 500);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-label-large-letter-spacing, 0.1px);color:var(--_label-color);transition:background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), box-shadow var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-chip--with-leading-icon){padding-inline-start:var(--md-sys-spacing-inset-sm, 8px)}:host(.md-chip--with-trailing-icon){padding-inline-end:var(--md-sys-spacing-inset-sm, 8px)}:host(.md-chip--assist){--_icon-color:var(--md-chip-icon-color, var(--md-sys-color-primary));--_label-color:var(--md-chip-label-color, var(--md-sys-color-on-surface))}:host(.md-chip--filter){--_icon-color:var(--md-chip-icon-color, var(--md-sys-color-on-surface-variant));--_label-color:var(--md-chip-label-color, var(--md-sys-color-on-surface-variant))}:host(.md-chip--input){--_outline-color:var(--md-chip-outline-color, var(--md-sys-color-outline-variant));--_icon-color:var(--md-chip-icon-color, var(--md-sys-color-on-surface-variant));--_label-color:var(--md-chip-label-color, var(--md-sys-color-on-surface-variant))}:host(.md-chip--suggestion){--_icon-color:var(--md-chip-icon-color, var(--md-sys-color-on-surface-variant));--_label-color:var(--md-chip-label-color, var(--md-sys-color-on-surface-variant))}:host(.md-chip--selected){--_container-color:var(--_container-color-selected);color:var(--_label-color-selected);--_icon-color:var(--md-chip-icon-color, var(--md-sys-color-on-secondary-container));--_state-layer-color:var(--md-sys-color-on-secondary-container)}:host(.md-chip--selected) .md-chip__outline{border-color:transparent}:host(.md-chip--elevated){--_elevation:var(--md-chip-elevation, var(--md-sys-elevation-1))}:host(.md-chip--elevated) .md-chip__outline{border-color:transparent}:host(.md-chip--elevated.md-chip--selected){--_elevation:var(--md-chip-elevation, var(--md-sys-elevation-1))}:host(.md-chip--appearance-outlined[color]){--_outline-color:var(--md-chip-outline-color, var(--_c-main));--_label-color:var(--md-chip-label-color, var(--_c-main));--_icon-color:var(--md-chip-icon-color, var(--_c-main));--_state-layer-color:var(--md-chip-state-layer-color, var(--_c-main))}:host(.md-chip--appearance-filled),:host(.md-chip--appearance-elevated){--_container-color:var(--md-chip-container-color, var(--md-sys-color-surface-container-high));--_label-color:var(--md-chip-label-color, var(--md-sys-color-on-surface-variant));--_icon-color:var(--md-chip-icon-color, var(--md-sys-color-on-surface-variant))}:host(.md-chip--appearance-filled[color]),:host(.md-chip--appearance-elevated[color]){--_container-color:var(--md-chip-container-color, var(--_c-container));--_label-color:var(--md-chip-label-color, var(--_c-on-container));--_icon-color:var(--md-chip-icon-color, var(--_c-on-container));--_state-layer-color:var(--md-chip-state-layer-color, var(--_c-on-container))}:host(.md-chip--appearance-filled) .md-chip__outline,:host(.md-chip--appearance-elevated) .md-chip__outline{border-color:transparent}:host(.md-chip--selected[color]){--_container-color:var(--_c-container);color:var(--_c-on-container);--_label-color-selected:var(--_c-on-container);--_icon-color:var(--md-chip-icon-color, var(--_c-on-container));--_state-layer-color:var(--_c-on-container)}.md-chip__outline{position:absolute;inset:0;border-radius:inherit;border:var(--_outline-width) solid var(--_outline-color);pointer-events:none}.md-chip__state-layer{position:absolute;inset:0;border-radius:inherit;background-color:var(--_state-layer-color);opacity:0;transition:opacity var(--md-sys-motion-duration-short1, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none;z-index:1}:host(:hover) .md-chip__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(:focus-visible) .md-chip__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(:active) .md-chip__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(:focus-visible){outline:3px solid var(--md-sys-color-secondary);outline-offset:2px}.md-chip__primary{position:absolute;inset:0;z-index:2;margin:0;padding:0;border:none;background:none;border-radius:inherit;cursor:inherit;-webkit-tap-highlight-color:transparent}.md-chip__primary:focus-visible{outline:3px solid var(--md-sys-color-secondary);outline-offset:-3px}.md-chip__label{position:relative;z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start}.md-chip__icon,.md-chip__trailing-icon{position:relative;z-index:2;font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-size:var(--_icon-size);inline-size:var(--_icon-size);block-size:var(--_icon-size);color:var(--_icon-color);line-height:1;font-weight:normal;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;overflow-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;pointer-events:none;flex-shrink:0}slot[name="leading-icon"],slot[name="trailing-icon"]{display:contents}::slotted([slot="leading-icon"]),::slotted([slot="trailing-icon"]){display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_icon-size);block-size:var(--_icon-size);font-size:var(--_icon-size);color:var(--_icon-color);fill:currentColor;pointer-events:none;flex-shrink:0;position:relative;z-index:2}.md-chip__checkmark{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_icon-size);block-size:var(--_icon-size);color:var(--_icon-color);flex-shrink:0}.md-chip__checkmark svg{inline-size:var(--_icon-size);block-size:var(--_icon-size)}.md-chip__remove{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-inline-size:18px;min-block-size:18px;padding:0;border:none;background:none;color:var(--_icon-color);cursor:pointer;border-radius:50%;flex-shrink:0;-webkit-tap-highlight-color:transparent}.md-chip__remove:focus-visible{outline:2px solid var(--md-sys-color-secondary);outline-offset:1px}.md-chip__remove svg{inline-size:var(--_icon-size);block-size:var(--_icon-size);pointer-events:none}.md-chip__remove:disabled{cursor:default;pointer-events:none}:host(.md-chip--disabled){cursor:default;pointer-events:none;color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);--_icon-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);--_elevation:var(--md-sys-elevation-0, none) !important}:host(.md-chip--disabled:not(.md-chip--selected):not(.md-chip--elevated)) .md-chip__outline{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent)}:host(.md-chip--disabled.md-chip--selected){--_container-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent)}:host(.md-chip--disabled.md-chip--elevated:not(.md-chip--selected)){--_container-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent)}:host(.md-chip--disabled:hover) .md-chip__state-layer,:host(.md-chip--disabled:active) .md-chip__state-layer,:host(.md-chip--disabled:focus-visible) .md-chip__state-layer{opacity:0}:host([soft-disabled]){cursor:default;pointer-events:auto;color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);--_icon-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);--_elevation:var(--md-sys-elevation-0, none) !important}:host([soft-disabled]) .md-chip__state-layer{display:none}@media (prefers-reduced-motion: reduce){:host{transition:none}.md-chip__state-layer{transition:none}}@media (forced-colors: active){:host{border:1px solid ButtonText;background-color:ButtonFace;color:ButtonText;forced-color-adjust:none}.md-chip__outline{border-color:ButtonText}:host(:focus-visible){outline-color:Highlight}.md-chip__primary:focus-visible{outline-color:Highlight}:host(.md-chip--selected){background-color:Highlight;color:HighlightText}:host(.md-chip--disabled){border-color:GrayText;color:GrayText;opacity:1}.md-chip__state-layer{display:none}}: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 l=e(class e extends o{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.mdClick=i(this,"mdClick",7);this.mdSelect=i(this,"mdSelect",7);this.mdRemove=i(this,"mdRemove",7);this.variant="assist";this.icon="";this.trailingIcon="";this.selected=false;this.appearance="outlined";this.elevated=false;this.disabled=false;this.softDisabled=false;this.label="";this.density=0;this.hasSlottedLeadingIcon=false;this.hasSlottedTrailingIcon=false;this.handleClick=e=>{if(this.isDisabled){e.preventDefault();return}if(this.isSelectable){this.selected=!this.selected;this.mdSelect.emit({selected:this.selected})}this.mdClick.emit()};this.handleKeyDown=e=>{if(this.isDisabled)return;if(e.key==="Enter"||e.key===" "){e.preventDefault();s(this.el);this.el.click();return}if(this.isRemovable&&(e.key==="Delete"||e.key==="Backspace")){e.preventDefault();this.dispatchRemove()}};this.handleRemoveClick=e=>{e.stopPropagation();if(this.isDisabled)return;this.dispatchRemove()};this.handleRemoveKeyDown=e=>{if(this.isDisabled)return;if(e.key==="Enter"||e.key===" "){e.stopPropagation();e.preventDefault();this.dispatchRemove()}}}get isDisabled(){return this.disabled||this.softDisabled}get colorVars(){const e=this.color;if(!e||!/^[a-z][a-z0-9-]*$/i.test(e))return undefined;return{"--_c-main":`var(--md-sys-color-${e}, var(--md-sys-color-primary))`,"--_c-on-main":`var(--md-sys-color-on-${e}, var(--md-sys-color-on-primary))`,"--_c-container":`var(--md-sys-color-${e}-container, var(--md-sys-color-secondary-container))`,"--_c-on-container":`var(--md-sys-color-on-${e}-container, var(--md-sys-color-on-secondary-container))`}}get effectiveAppearance(){return this.elevated?"elevated":this.appearance}get isSelectable(){if(this.selectable!==undefined)return this.selectable;return this.variant==="filter"||this.variant==="input"}get isInteractiveHost(){return!(this.selectable===false&&this.isRemovable)}get isRemovable(){if(this.removable===true)return true;if(this.removable===false)return false;return this.variant==="input"}get accessibleLabel(){return this.label||this.el.textContent?.trim()||""}componentDidLoad(){const e=this.el.shadowRoot;if(!e)return;const o=e.querySelector('slot[name="leading-icon"]');const i=e.querySelector('slot[name="trailing-icon"]');o?.addEventListener("slotchange",(()=>{this.hasSlottedLeadingIcon=o.assignedElements().length>0}));i?.addEventListener("slotchange",(()=>{this.hasSlottedTrailingIcon=i.assignedElements().length>0}))}dispatchRemove(){const e=this.mdRemove.emit();if(!e.defaultPrevented){this.el.remove()}}render(){const e=!!this.icon||this.hasSlottedLeadingIcon;const o=!!this.trailingIcon||this.hasSlottedTrailingIcon;const i=this.variant==="filter"&&this.selected&&!e;const t=this.isRemovable;const s=this.isDisabled;const n=this.accessibleLabel;const c=this.isInteractiveHost&&!t;const l=this.isInteractiveHost&&t;return a(r,{key:"ac377a67d3c9c5e464f9cc30cada24b9c9f2e848",style:this.colorVars,class:{"md-chip":true,[`md-chip--${this.variant}`]:true,"md-chip--selected":this.selected&&this.isSelectable,[`md-chip--appearance-${this.effectiveAppearance}`]:true,"md-chip--elevated":this.effectiveAppearance==="elevated",[`md-chip--color-${this.color}`]:!!this.color,"md-chip--disabled":s,"md-chip--with-leading-icon":e||i,"md-chip--with-trailing-icon":o||t},role:c?"button":"group","aria-roledescription":"chip","aria-pressed":c&&this.isSelectable?String(this.selected):undefined,"aria-label":c?undefined:n||undefined,"aria-disabled":s?"true":undefined,tabindex:c?this.disabled?"-1":"0":undefined,onClick:this.handleClick,onKeyDown:this.handleKeyDown},a("md-ripple",{key:"71ddc00b4e7f72a93b9356f647b3630aa50380a3",disabled:s}),a("span",{key:"6eab2a000c1543bb6957c175cfb33cbb06d3f345",class:"md-chip__state-layer",part:"state-layer","aria-hidden":"true"}),!this.elevated&&a("span",{key:"ee96614931899684057f77b1bed36c315964fdca",class:"md-chip__outline",part:"outline","aria-hidden":"true"}),l&&a("span",{key:"f0743bfa4bc9b7c6cf7d357c000426f1e5f3b108",class:"md-chip__primary",part:"primary",role:"button",tabindex:this.disabled?"-1":"0","aria-labelledby":"md-chip-label-text","aria-pressed":this.isSelectable?String(this.selected):undefined,"aria-disabled":s?"true":undefined}),i&&a("span",{key:"c15afa18cc1fa1e956c1dcf3c0806d7b065620b0",class:"md-chip__checkmark",part:"checkmark","aria-hidden":"true"},a("svg",{key:"1e7a5eb1ec44df6efd803543e943889bff65e1e8",viewBox:"0 0 18 18",fill:"none"},a("path",{key:"3d36f6406d5bce2e0b7fb71f25b9a6142cc88b3b",d:"M6.75 12.127L3.623 9l-1.06 1.057L6.75 14.25l9-9-1.057-1.057L6.75 12.127z",fill:"currentColor"}))),a("slot",{key:"9dd3792251fc0f43baa3e3b0787fbbf7967cfc2b",name:"leading-icon"},e&&!i&&a("span",{key:"0078163a6741535eef3c413559d8cc9a4b7dbbc2",class:"md-chip__icon material-symbols-outlined",part:"icon","aria-hidden":"true"},this.icon)),a("span",{key:"bae9ed93b4ba0e8dda2e9d0fbae102405fbdaeae",class:"md-chip__label",part:"label",id:"md-chip-label-text"},a("slot",{key:"9f36d159a093aaa93e3c4867e7bbf7a5543fcebd"},this.label)),t?a("button",{class:"md-chip__remove",part:"remove",type:"button",tabindex:this.disabled?"-1":"0","aria-label":n?`Remove ${n}`:"Remove",disabled:s,onClick:this.handleRemoveClick,onKeyDown:this.handleRemoveKeyDown},a("slot",{name:"trailing-icon"},a("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true"},a("path",{d:"M14.25 4.808l-1.058-1.058L9 7.942 4.808 3.75 3.75 4.808 7.942 9 3.75 13.192l1.058 1.058L9 10.058l4.192 4.192 1.058-1.058L10.058 9l4.192-4.192z",fill:"currentColor"})))):a("slot",{name:"trailing-icon"},o&&a("span",{class:"md-chip__trailing-icon material-symbols-outlined",part:"trailing-icon","aria-hidden":"true"},this.trailingIcon)))}get el(){return this}static get style(){return c()}},[257,"md-chip",{variant:[513],icon:[1],trailingIcon:[1,"trailing-icon"],selected:[1540],selectable:[4],appearance:[513],color:[513],elevated:[516],disabled:[516],softDisabled:[516,"soft-disabled"],removable:[516],label:[1],density:[514],hasSlottedLeadingIcon:[32],hasSlottedTrailingIcon:[32]}]);function d(){if(typeof customElements==="undefined"){return}const e=["md-chip","md-ripple"];e.forEach((e=>{switch(e){case"md-chip":if(!customElements.get(t(e))){customElements.define(t(e),l)}break;case"md-ripple":if(!customElements.get(t(e))){n()}break}}))}d();export{l as M,d};
2
+ //# sourceMappingURL=p-B-JfuA2g.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mdChipCss","MdChip","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","icon","trailingIcon","selected","appearance","elevated","disabled","softDisabled","label","density","hasSlottedLeadingIcon","hasSlottedTrailingIcon","handleClick","e","isDisabled","preventDefault","isSelectable","mdSelect","emit","mdClick","handleKeyDown","key","triggerRipple","el","click","isRemovable","dispatchRemove","handleRemoveClick","stopPropagation","handleRemoveKeyDown","colorVars","c","color","test","undefined","effectiveAppearance","selectable","isInteractiveHost","removable","accessibleLabel","textContent","trim","componentDidLoad","shadow","shadowRoot","leadingSlot","querySelector","trailingSlot","addEventListener","assignedElements","length","ev","mdRemove","defaultPrevented","remove","render","hasLeadingIcon","hasTrailingIcon","showCheckmark","showRemove","isEffectivelyDisabled","chipLabel","hostIsButton","renderPrimary","h","Host","style","class","role","String","tabindex","onClick","onKeyDown","part","viewBox","fill","d","name","id","type"],"sources":["src/components/md-chip/md-chip.css?tag=md-chip&encapsulation=shadow","src/components/md-chip/md-chip.tsx"],"sourcesContent":["/* ==========================================================\n md-chip — Material Design 3 Chip\n Spec: https://m3.material.io/components/chips/specs\n\n Four variants:\n assist — surface-container-low, on-surface, outline\n filter — surface-container-low, on-surface-variant, outline (selectable)\n input — surface-container-low, on-surface-variant, outline-variant (selectable + removable)\n suggestion — surface-container-low, on-surface-variant, outline\n\n Measurements (MD3 spec):\n Height: 32px\n Shape: 8px corner radius (shape-corner-small)\n Icon size: 18px\n Left/right padding: 16px (no icon), 8px (with icon)\n Padding between: 8px\n Label text: label-large\n\n APPEARANCE x COLOUR:\n `appearance` picks the surface style (outlined | filled | elevated) and is\n independent of `variant`, which picks the M3 chip TYPE. `color` picks a\n role — primary / secondary / tertiary / error (baseline M3) or\n success / warning / info (semantic status roles, defined in\n packages/tokens/src/tokens.css on the same tonal recipe).\n\n outlined + color -> tints outline, label and icon; container transparent\n filled/elevated -> tonal container (<color>-container) with\n on-<color>-container label; outline dropped\n no color -> neutral: outlined is unchanged from before, and\n filled/elevated take a surface tone rather than the\n secondary container, so an unselected filled chip is\n never mistaken for a selected one\n\n Every per-instance property below still wins over all of it.\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-chip-container-color Container background\n --md-chip-container-color-selected Selected container background\n --md-chip-label-color Label text color\n --md-chip-label-color-selected Selected label text color\n --md-chip-icon-color Leading/trailing icon color\n --md-chip-icon-size Icon dimensions\n --md-chip-container-shape Border-radius override\n --md-chip-container-height Height override\n --md-chip-outline-color Outline color\n --md-chip-outline-width Outline width\n --md-chip-state-layer-color State layer color override\n --md-chip-elevation Box-shadow override\n\n CSS PARTS:\n state-layer Hover/press overlay\n outline Border element\n label Label text wrapper\n icon Leading icon\n trailing-icon Trailing icon\n checkmark Filter chip checkmark\n remove Input chip remove button\n\n SLOTS:\n (default) Label text\n leading-icon Custom leading icon\n trailing-icon Custom trailing icon\n ========================================================== */\n\n/* ==========================================================\n 1. HOST — BASE\n ========================================================== */\n\n:host {\n --_container-color: var(--md-chip-container-color, transparent);\n --_container-color-selected: var(--md-chip-container-color-selected, var(--md-sys-color-secondary-container));\n --_label-color: var(--md-chip-label-color, var(--md-sys-color-on-surface-variant));\n --_label-color-selected: var(--md-chip-label-color-selected, var(--md-sys-color-on-secondary-container));\n --_icon-color: var(--md-chip-icon-color, var(--md-sys-color-primary));\n --_icon-size: var(--md-chip-icon-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));\n --_container-shape: var(--md-chip-container-shape, var(--md-sys-shape-corner-small, 8px));\n --_container-height: var(--md-chip-container-height, 32px);\n --_outline-color: var(--md-chip-outline-color, var(--md-sys-color-outline));\n --_outline-width: var(--md-chip-outline-width, 1px);\n --_state-layer-color: var(--md-chip-state-layer-color, var(--md-sys-color-on-surface));\n --_elevation: var(--md-chip-elevation, var(--md-sys-elevation-0, none));\n /* Colour-role slots. These four are the ONLY thing the `color` prop swaps;\n every appearance below is written against them, so adding a role is a\n 4-line block and never touches the appearance rules.\n The neutral defaults reproduce the pre-existing look exactly: an uncoloured\n chip's selected state has always been secondary-container. */\n --_c-main: var(--md-sys-color-primary);\n --_c-on-main: var(--md-sys-color-on-primary);\n --_c-container: var(--md-sys-color-secondary-container);\n --_c-on-container: var(--md-sys-color-on-secondary-container);\n --_padding-inline: var(--md-sys-spacing-inset-lg, 16px);\n --_gap: var(--md-sys-spacing-gap-sm, 8px);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n /* Global density: each `data-density` rung (0…-4) trims 4px off the chip\n height, floored at 24px (label-large line-height is 20px). Applied at the\n consumption point so every size/variant is covered by one edit. Unchanged\n at density 0. */\n block-size: max(24px, calc(var(--_container-height) + var(--md-sys-density-scale, 0) * 4px));\n padding-inline: var(--_padding-inline);\n gap: var(--_gap);\n\n background-color: var(--_container-color);\n border-radius: var(--_container-shape);\n box-shadow: var(--_elevation);\n cursor: pointer;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n overflow: hidden;\n\n font-family: var(--md-sys-typescale-label-large-font-family, Roboto, sans-serif);\n font-size: max(11px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));\n font-weight: var(--md-sys-typescale-label-large-font-weight, 500);\n line-height: max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));\n letter-spacing: var(--md-sys-typescale-label-large-letter-spacing, 0.1px);\n color: var(--_label-color);\n\n transition:\n background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n box-shadow var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n\n/* Shrink padding when leading/trailing icon present */\n:host(.md-chip--with-leading-icon) {\n padding-inline-start: var(--md-sys-spacing-inset-sm, 8px);\n}\n\n:host(.md-chip--with-trailing-icon) {\n padding-inline-end: var(--md-sys-spacing-inset-sm, 8px);\n}\n\n/* ==========================================================\n 2. VARIANT-SPECIFIC COLORS\n ========================================================== */\n\n/* Assist — primary icon color */\n:host(.md-chip--assist) {\n --_icon-color: var(--md-chip-icon-color, var(--md-sys-color-primary));\n --_label-color: var(--md-chip-label-color, var(--md-sys-color-on-surface));\n}\n\n/* Filter */\n:host(.md-chip--filter) {\n --_icon-color: var(--md-chip-icon-color, var(--md-sys-color-on-surface-variant));\n --_label-color: var(--md-chip-label-color, var(--md-sys-color-on-surface-variant));\n}\n\n/* Input */\n:host(.md-chip--input) {\n --_outline-color: var(--md-chip-outline-color, var(--md-sys-color-outline-variant));\n --_icon-color: var(--md-chip-icon-color, var(--md-sys-color-on-surface-variant));\n --_label-color: var(--md-chip-label-color, var(--md-sys-color-on-surface-variant));\n}\n\n/* Suggestion */\n:host(.md-chip--suggestion) {\n --_icon-color: var(--md-chip-icon-color, var(--md-sys-color-on-surface-variant));\n --_label-color: var(--md-chip-label-color, var(--md-sys-color-on-surface-variant));\n}\n\n/* ==========================================================\n 3. SELECTED STATE\n ========================================================== */\n\n:host(.md-chip--selected) {\n --_container-color: var(--_container-color-selected);\n color: var(--_label-color-selected);\n --_icon-color: var(--md-chip-icon-color, var(--md-sys-color-on-secondary-container));\n --_state-layer-color: var(--md-sys-color-on-secondary-container);\n}\n\n:host(.md-chip--selected) .md-chip__outline {\n border-color: transparent;\n}\n\n/* ==========================================================\n 4. ELEVATED\n ========================================================== */\n\n:host(.md-chip--elevated) {\n --_elevation: var(--md-chip-elevation, var(--md-sys-elevation-1));\n}\n\n:host(.md-chip--elevated) .md-chip__outline {\n border-color: transparent;\n}\n\n:host(.md-chip--elevated.md-chip--selected) {\n --_elevation: var(--md-chip-elevation, var(--md-sys-elevation-1));\n}\n\n/* ==========================================================\n 4b. COLOUR ROLES\n Resolved in the component, not here: md-chip.tsx maps `color` onto the four\n --_c-* slots below as inline custom properties. That way ANY role the theme\n defines works — `color=\"brand\"` picks up --md-sys-color-brand the moment a\n theme ships it — instead of only the names we happened to enumerate in CSS.\n Each slot falls back to the neutral default, so an unknown role renders as an\n uncoloured chip rather than losing its container colour entirely.\n ========================================================== */\n\n/* ==========================================================\n 4c. APPEARANCE (outlined | filled | elevated)\n ========================================================== */\n\n/* `outlined` is the default and is deliberately a no-op when no `color` is set,\n so untouched chips render exactly as before. With a colour, the role tints\n the outline, label and icon while the container stays transparent. */\n:host(.md-chip--appearance-outlined[color]) {\n --_outline-color: var(--md-chip-outline-color, var(--_c-main));\n --_label-color: var(--md-chip-label-color, var(--_c-main));\n --_icon-color: var(--md-chip-icon-color, var(--_c-main));\n --_state-layer-color: var(--md-chip-state-layer-color, var(--_c-main));\n}\n\n/* `filled` and `elevated` share one tonal container — they differ only in\n elevation, which section 4 already owns. Without a colour they take a neutral\n surface rather than the secondary container, so an unselected filled chip is\n never mistaken for a selected one. */\n:host(.md-chip--appearance-filled),\n:host(.md-chip--appearance-elevated) {\n --_container-color: var(--md-chip-container-color, var(--md-sys-color-surface-container-high));\n --_label-color: var(--md-chip-label-color, var(--md-sys-color-on-surface-variant));\n --_icon-color: var(--md-chip-icon-color, var(--md-sys-color-on-surface-variant));\n}\n\n:host(.md-chip--appearance-filled[color]),\n:host(.md-chip--appearance-elevated[color]) {\n --_container-color: var(--md-chip-container-color, var(--_c-container));\n --_label-color: var(--md-chip-label-color, var(--_c-on-container));\n --_icon-color: var(--md-chip-icon-color, var(--_c-on-container));\n --_state-layer-color: var(--md-chip-state-layer-color, var(--_c-on-container));\n}\n\n/* Both drop the outline: the container itself is now the shape. */\n:host(.md-chip--appearance-filled) .md-chip__outline,\n:host(.md-chip--appearance-elevated) .md-chip__outline {\n border-color: transparent;\n}\n\n/* Selection tints with the chosen role instead of the fixed secondary\n container, for every appearance. Section 3 still supplies the neutral case. */\n:host(.md-chip--selected[color]) {\n --_container-color: var(--_c-container);\n color: var(--_c-on-container);\n --_label-color-selected: var(--_c-on-container);\n --_icon-color: var(--md-chip-icon-color, var(--_c-on-container));\n --_state-layer-color: var(--_c-on-container);\n}\n\n/* ==========================================================\n 5. OUTLINE\n ========================================================== */\n\n.md-chip__outline {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n border: var(--_outline-width) solid var(--_outline-color);\n pointer-events: none;\n}\n\n/* ==========================================================\n 6. STATE LAYER\n ========================================================== */\n\n.md-chip__state-layer {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background-color: var(--_state-layer-color);\n opacity: 0;\n transition: opacity var(--md-sys-motion-duration-short1, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n pointer-events: none;\n z-index: 1;\n}\n\n:host(:hover) .md-chip__state-layer {\n opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);\n}\n\n:host(:focus-visible) .md-chip__state-layer {\n opacity: var(--md-sys-state-focus-state-layer-opacity, 0.12);\n}\n\n:host(:active) .md-chip__state-layer {\n opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);\n}\n\n/* ==========================================================\n 7. FOCUS RING\n ========================================================== */\n\n:host(:focus-visible) {\n outline: 3px solid var(--md-sys-color-secondary);\n outline-offset: 2px;\n}\n\n/* ==========================================================\n 7b. PRIMARY ACTION (removable chips)\n When a chip is both interactive AND removable, its body action is a\n SEPARATE focusable control that is a sibling of the remove ✕ button\n (so the two interactive controls don't nest — see md-chip.tsx). It is a\n transparent layer over the chip; the label/icons paint above it (higher in\n DOM at the same z-index) and pointer/keyboard activation bubbles to the\n host handlers. The focus ring uses a NEGATIVE outline-offset so it renders\n INSIDE the chip edge and is not clipped by the host's `overflow: hidden`.\n ========================================================== */\n\n.md-chip__primary {\n position: absolute;\n inset: 0;\n z-index: 2;\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n border-radius: inherit;\n cursor: inherit;\n -webkit-tap-highlight-color: transparent;\n}\n\n.md-chip__primary:focus-visible {\n outline: 3px solid var(--md-sys-color-secondary);\n outline-offset: -3px;\n}\n\n/* ==========================================================\n 8. LABEL\n ========================================================== */\n\n.md-chip__label {\n position: relative;\n z-index: 2;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: start;\n}\n\n/* ==========================================================\n 9. ICONS\n ========================================================== */\n\n.md-chip__icon,\n.md-chip__trailing-icon {\n position: relative;\n z-index: 2;\n font-family: var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');\n font-size: var(--_icon-size);\n inline-size: var(--_icon-size);\n block-size: var(--_icon-size);\n color: var(--_icon-color);\n line-height: 1;\n font-weight: normal;\n font-style: normal;\n letter-spacing: normal;\n text-transform: none;\n white-space: nowrap;\n overflow-wrap: normal;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n pointer-events: none;\n flex-shrink: 0;\n}\n\nslot[name=\"leading-icon\"],\nslot[name=\"trailing-icon\"] {\n display: contents;\n}\n\n::slotted([slot=\"leading-icon\"]),\n::slotted([slot=\"trailing-icon\"]) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: var(--_icon-size);\n block-size: var(--_icon-size);\n font-size: var(--_icon-size);\n color: var(--_icon-color);\n fill: currentColor;\n pointer-events: none;\n flex-shrink: 0;\n position: relative;\n z-index: 2;\n}\n\n/* ==========================================================\n 10. CHECKMARK (filter chip selected)\n ========================================================== */\n\n.md-chip__checkmark {\n position: relative;\n z-index: 2;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: var(--_icon-size);\n block-size: var(--_icon-size);\n color: var(--_icon-color);\n flex-shrink: 0;\n}\n\n.md-chip__checkmark svg {\n inline-size: var(--_icon-size);\n block-size: var(--_icon-size);\n}\n\n/* ==========================================================\n 11. REMOVE BUTTON (input chip)\n ========================================================== */\n\n.md-chip__remove {\n position: relative;\n z-index: 2;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-inline-size: 18px;\n min-block-size: 18px;\n padding: 0;\n border: none;\n background: none;\n color: var(--_icon-color);\n cursor: pointer;\n border-radius: 50%;\n flex-shrink: 0;\n -webkit-tap-highlight-color: transparent;\n}\n\n.md-chip__remove:focus-visible {\n outline: 2px solid var(--md-sys-color-secondary);\n outline-offset: 1px;\n}\n\n.md-chip__remove svg {\n inline-size: var(--_icon-size);\n block-size: var(--_icon-size);\n pointer-events: none;\n}\n\n.md-chip__remove:disabled {\n cursor: default;\n pointer-events: none;\n}\n\n/* ==========================================================\n 12. DISABLED\n ========================================================== */\n\n:host(.md-chip--disabled) {\n cursor: default;\n pointer-events: none;\n color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n --_icon-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n --_elevation: var(--md-sys-elevation-0, none) !important;\n}\n\n:host(.md-chip--disabled:not(.md-chip--selected):not(.md-chip--elevated)) .md-chip__outline {\n border-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);\n}\n\n:host(.md-chip--disabled.md-chip--selected) {\n --_container-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);\n}\n\n:host(.md-chip--disabled.md-chip--elevated:not(.md-chip--selected)) {\n --_container-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);\n}\n\n:host(.md-chip--disabled:hover) .md-chip__state-layer,\n:host(.md-chip--disabled:active) .md-chip__state-layer,\n:host(.md-chip--disabled:focus-visible) .md-chip__state-layer {\n opacity: 0;\n}\n\n/* Soft-disabled: disabled visuals but remains focusable */\n:host([soft-disabled]) {\n cursor: default;\n pointer-events: auto;\n color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n --_icon-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n --_elevation: var(--md-sys-elevation-0, none) !important;\n}\n\n:host([soft-disabled]) .md-chip__state-layer {\n display: none;\n}\n\n/* ==========================================================\n 13. REDUCED MOTION\n ========================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n :host {\n transition: none;\n }\n\n .md-chip__state-layer {\n transition: none;\n }\n}\n\n/* ==========================================================\n 14. FORCED COLORS — Windows High Contrast\n ========================================================== */\n\n@media (forced-colors: active) {\n :host {\n border: 1px solid ButtonText;\n background-color: ButtonFace;\n color: ButtonText;\n forced-color-adjust: none;\n }\n\n .md-chip__outline {\n border-color: ButtonText;\n }\n\n :host(:focus-visible) {\n outline-color: Highlight;\n }\n\n .md-chip__primary:focus-visible {\n outline-color: Highlight;\n }\n\n :host(.md-chip--selected) {\n background-color: Highlight;\n color: HighlightText;\n }\n\n :host(.md-chip--disabled) {\n border-color: GrayText;\n color: GrayText;\n opacity: 1;\n }\n\n .md-chip__state-layer {\n display: none;\n }\n}\n\n/* ==========================================================\n DENSITY (local override)\n Maps the local `density` prop onto the same --md-sys-density-scale signal a\n global `data-density` ancestor sets. Declared on :host, so a local rung wins\n over the inherited global one. Every density-sensitive value in this file\n derives from that single signal by calc — never add a fixed per-rung ladder.\n ========================================================== */\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","import { Component, Host, h, Prop, State, Event, EventEmitter, Element } from '@stencil/core';\nimport { triggerRipple } from '../../utils/ripple';\n\n@Component({ tag: 'md-chip', styleUrl: 'md-chip.css', shadow: true })\nexport class MdChip {\n @Element() el!: HTMLElement;\n\n /** Chip variant */\n @Prop({ reflect: true }) variant: 'assist' | 'filter' | 'input' | 'suggestion' = 'assist';\n\n /** Material Symbols icon name for the leading icon */\n @Prop() icon: string = '';\n\n /** Material Symbols icon name for the trailing icon (filter/input only) */\n @Prop({ attribute: 'trailing-icon' }) trailingIcon: string = '';\n\n /** Whether the chip is selected (filter/input variants) */\n @Prop({ mutable: true, reflect: true }) selected: boolean = false;\n\n /**\n * Whether clicking the chip body toggles `selected`. Defaults to true for\n * `filter`/`input` variants. Set `selectable=\"false\"` for a token that is only\n * a display of a value (e.g. a multi-select's removable chips) — clicking the\n * body then does nothing and the ✕ remove button is the only action, so the\n * chip doesn't flash a misleading \"active\" state.\n */\n @Prop() selectable?: boolean;\n\n /**\n * Surface style of the chip. Distinct from `variant`, which selects the M3\n * chip TYPE (assist / filter / input / suggestion); a chip has both.\n *\n * - `outlined` (default) — transparent container with a 1dp outline.\n * - `filled` — tonal container, no outline.\n * - `elevated` — tonal container with elevation and no outline.\n */\n @Prop({ reflect: true }) appearance: 'outlined' | 'filled' | 'elevated' = 'outlined';\n\n /**\n * Colour role applied to the chip's outline / label / container, depending on\n * `appearance`. Omit for the neutral surface treatment.\n *\n * Any role name the THEME defines is accepted, not just a fixed list — the\n * chip resolves `<name>` to the `--md-sys-color-<name>` /\n * `-<name>-container` / `-on-<name>-container` family at runtime. So\n * `color=\"brand\"` works as soon as a theme ships those tokens, and a name the\n * theme does not define degrades to the neutral treatment rather than\n * rendering broken.\n *\n * `primary` | `secondary` | `tertiary` | `error` are the baseline M3 roles;\n * `success` | `warning` | `info` ship in packages/tokens on the same tonal\n * recipe. The union below is a hint for editor autocomplete only — the `string`\n * arm is what makes custom roles work.\n */\n @Prop({ reflect: true }) color?:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'error'\n | 'success'\n | 'warning'\n | 'info'\n | (string & {});\n\n /**\n * Whether the chip is elevated (adds shadow instead of outline).\n *\n * @deprecated Use `appearance=\"elevated\"`. Kept as an alias so existing\n * markup keeps working: when true it forces the elevated appearance and wins\n * over `appearance`, since a consumer setting it is being explicit.\n */\n @Prop({ reflect: true }) elevated: boolean = false;\n\n /** Disables the chip */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Soft-disabled: disabled visuals but remains focusable */\n @Prop({ reflect: true, attribute: 'soft-disabled' }) softDisabled: boolean = false;\n\n /**\n * When `true`, the chip renders a trailing remove (\"✕\") button and responds\n * to Delete / Backspace from the chip itself. Works on every variant.\n *\n * `variant=\"input\"` is removable by default (per MD3 spec) — setting\n * `removable=\"false\"` explicitly opts out of that behavior.\n */\n @Prop({ reflect: true }) removable?: boolean;\n\n /** Label text — alternative to default slot */\n @Prop() label: string = '';\n\n /**\n * Local density rung. Drives the same `--md-sys-density-scale` signal that a\n * global `data-density` ancestor sets, so a local value simply overrides the\n * inherited one. 0 = default, -4 = ultra-compact.\n */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n\n /** Emits when the chip is clicked or activated via keyboard */\n @Event() mdClick: EventEmitter<void>;\n\n /** Emits when the selected state changes (filter/input) */\n @Event() mdSelect: EventEmitter<{ selected: boolean }>;\n\n /**\n * Fires when the trailing remove (\"✕\") button is activated on a removable\n * chip (by click, Enter, Space, Delete, or Backspace).\n *\n * The event is **cancelable**: by default, after `mdRemove` is dispatched\n * the chip removes itself from the DOM. Call `event.preventDefault()` in a\n * handler to keep the chip mounted (e.g. when your state layer owns the\n * list and will re-render with the chip gone).\n */\n @Event({ cancelable: true }) mdRemove: EventEmitter<void>;\n\n @State() private hasSlottedLeadingIcon = false;\n @State() private hasSlottedTrailingIcon = false;\n\n private get isDisabled() {\n return this.disabled || this.softDisabled;\n }\n\n /**\n * Maps `color` onto the four slots every appearance rule is written against.\n * Done here rather than as one CSS block per role so ANY theme-defined role\n * works, not just a list we happen to have enumerated.\n *\n * Each var carries a fallback to the neutral default, so a role the theme has\n * not defined renders as an uncoloured chip instead of collapsing to\n * guaranteed-invalid and losing its container colour entirely.\n */\n private get colorVars(): Record<string, string> | undefined {\n const c = this.color;\n // Guard the interpolation: this value becomes part of a custom-property\n // NAME, so anything outside a plain CSS ident is rejected outright.\n if (!c || !/^[a-z][a-z0-9-]*$/i.test(c)) return undefined;\n return {\n '--_c-main': `var(--md-sys-color-${c}, var(--md-sys-color-primary))`,\n '--_c-on-main': `var(--md-sys-color-on-${c}, var(--md-sys-color-on-primary))`,\n '--_c-container': `var(--md-sys-color-${c}-container, var(--md-sys-color-secondary-container))`,\n '--_c-on-container': `var(--md-sys-color-on-${c}-container, var(--md-sys-color-on-secondary-container))`,\n };\n }\n\n /**\n * Resolves the deprecated `elevated` boolean against `appearance`. Setting\n * `elevated` is an explicit act, so it wins; `appearance` covers everything\n * else. One accessor means the class map and any future logic can't disagree\n * about which surface style is in effect.\n */\n private get effectiveAppearance(): 'outlined' | 'filled' | 'elevated' {\n return this.elevated ? 'elevated' : this.appearance;\n }\n\n private get isSelectable() {\n if (this.selectable !== undefined) return this.selectable;\n return this.variant === 'filter' || this.variant === 'input';\n }\n\n /**\n * Whether the chip BODY is an interactive control. An EXPLICITLY non-selectable\n * (`selectable=\"false\"`) REMOVABLE token — e.g. md-multi-select's display chips —\n * does nothing on body-click and only its ✕ is interactive, so exposing the host\n * as a focusable `button` both misleads AT and nests an interactive control inside\n * another (axe nested-interactive). Such tokens are a labelled `group` whose only\n * tab stop is the remove ✕. Every other chip keeps its default button semantics.\n */\n private get isInteractiveHost() {\n return !(this.selectable === false && this.isRemovable);\n }\n\n /**\n * A chip is removable when `removable` is explicitly true, or when the chip\n * is an `input` variant and the consumer hasn't explicitly opted out\n * (`removable=\"false\"`). This keeps backward compatibility: pre-existing\n * `<md-chip variant=\"input\">` markup continues to show the ✕ button.\n */\n private get isRemovable() {\n if (this.removable === true) return true;\n if (this.removable === false) return false;\n return this.variant === 'input';\n }\n\n /** Resolves the chip's accessible label from the label prop or light-DOM text content. */\n private get accessibleLabel(): string {\n return this.label || this.el.textContent?.trim() || '';\n }\n\n componentDidLoad() {\n const shadow = this.el.shadowRoot;\n if (!shadow) return;\n\n const leadingSlot = shadow.querySelector('slot[name=\"leading-icon\"]') as HTMLSlotElement | null;\n const trailingSlot = shadow.querySelector('slot[name=\"trailing-icon\"]') as HTMLSlotElement | null;\n\n leadingSlot?.addEventListener('slotchange', () => {\n this.hasSlottedLeadingIcon = leadingSlot.assignedElements().length > 0;\n });\n trailingSlot?.addEventListener('slotchange', () => {\n this.hasSlottedTrailingIcon = trailingSlot.assignedElements().length > 0;\n });\n }\n\n /**\n * Dispatches the cancelable `mdRemove` event. When the consumer hasn't\n * called `preventDefault()`, removes the chip from its parent DOM as the\n * default action. Centralises the policy so click/key handlers stay\n * single-purpose and we never forget the default action on one path.\n */\n private dispatchRemove() {\n const ev = this.mdRemove.emit();\n if (!ev.defaultPrevented) {\n this.el.remove();\n }\n }\n\n private handleClick = (e: MouseEvent) => {\n if (this.isDisabled) { e.preventDefault(); return; }\n\n if (this.isSelectable) {\n this.selected = !this.selected;\n this.mdSelect.emit({ selected: this.selected });\n }\n\n this.mdClick.emit();\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.isDisabled) return;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n triggerRipple(this.el);\n this.el.click();\n return;\n }\n\n if (this.isRemovable && (e.key === 'Delete' || e.key === 'Backspace')) {\n e.preventDefault();\n this.dispatchRemove();\n }\n };\n\n private handleRemoveClick = (e: MouseEvent) => {\n e.stopPropagation();\n if (this.isDisabled) return;\n this.dispatchRemove();\n };\n\n private handleRemoveKeyDown = (e: KeyboardEvent) => {\n if (this.isDisabled) return;\n if (e.key === 'Enter' || e.key === ' ') {\n e.stopPropagation();\n e.preventDefault();\n this.dispatchRemove();\n }\n };\n\n render() {\n const hasLeadingIcon = !!this.icon || this.hasSlottedLeadingIcon;\n const hasTrailingIcon = !!this.trailingIcon || this.hasSlottedTrailingIcon;\n const showCheckmark = this.variant === 'filter' && this.selected && !hasLeadingIcon;\n const showRemove = this.isRemovable;\n const isEffectivelyDisabled = this.isDisabled;\n const chipLabel = this.accessibleLabel;\n\n // A removable chip renders a trailing remove ✕ <button> — itself a\n // focusable control. If the HOST were also a focusable widget\n // (role=\"button\" + tabindex) the two would nest (axe \"nested-interactive\").\n // So when the body is interactive AND a remove button is present, the host\n // steps down to a labelled `group` container and the primary (body) action\n // becomes its OWN focusable element — a sibling of the remove button, not\n // its ancestor. The host stays a single `button` only when there is no\n // remove button to nest.\n const hostIsButton = this.isInteractiveHost && !showRemove;\n const renderPrimary = this.isInteractiveHost && showRemove;\n\n return (\n <Host\n style={this.colorVars}\n class={{\n 'md-chip': true,\n [`md-chip--${this.variant}`]: true,\n 'md-chip--selected': this.selected && this.isSelectable,\n // The deprecated `elevated` boolean resolves into `appearance`, and\n // the legacy `md-chip--elevated` class is still emitted for that case\n // so every existing rule keyed on it (disabled states, selected\n // combinations) keeps applying untouched.\n [`md-chip--appearance-${this.effectiveAppearance}`]: true,\n 'md-chip--elevated': this.effectiveAppearance === 'elevated',\n [`md-chip--color-${this.color}`]: !!this.color,\n 'md-chip--disabled': isEffectivelyDisabled,\n 'md-chip--with-leading-icon': hasLeadingIcon || showCheckmark,\n 'md-chip--with-trailing-icon': hasTrailingIcon || showRemove,\n }}\n role={hostIsButton ? 'button' : 'group'}\n aria-roledescription=\"chip\"\n aria-pressed={hostIsButton && this.isSelectable ? String(this.selected) : undefined}\n aria-label={hostIsButton ? undefined : chipLabel || undefined}\n aria-disabled={isEffectivelyDisabled ? 'true' : undefined}\n tabindex={hostIsButton ? (this.disabled ? '-1' : '0') : undefined}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <md-ripple disabled={isEffectivelyDisabled}></md-ripple>\n <span class=\"md-chip__state-layer\" part=\"state-layer\" aria-hidden=\"true\"></span>\n\n {!this.elevated && <span class=\"md-chip__outline\" part=\"outline\" aria-hidden=\"true\"></span>}\n\n {renderPrimary && (\n <span\n class=\"md-chip__primary\"\n part=\"primary\"\n role=\"button\"\n tabindex={this.disabled ? '-1' : '0'}\n aria-labelledby=\"md-chip-label-text\"\n aria-pressed={this.isSelectable ? String(this.selected) : undefined}\n aria-disabled={isEffectivelyDisabled ? 'true' : undefined}\n ></span>\n )}\n\n {showCheckmark && (\n <span class=\"md-chip__checkmark\" part=\"checkmark\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 18 18\" fill=\"none\">\n <path d=\"M6.75 12.127L3.623 9l-1.06 1.057L6.75 14.25l9-9-1.057-1.057L6.75 12.127z\" fill=\"currentColor\" />\n </svg>\n </span>\n )}\n\n <slot name=\"leading-icon\">\n {hasLeadingIcon && !showCheckmark && (\n <span class=\"md-chip__icon material-symbols-outlined\" part=\"icon\" aria-hidden=\"true\">\n {this.icon}\n </span>\n )}\n </slot>\n\n <span class=\"md-chip__label\" part=\"label\" id=\"md-chip-label-text\">\n <slot>{this.label}</slot>\n </span>\n\n {showRemove ? (\n <button\n class=\"md-chip__remove\"\n part=\"remove\"\n type=\"button\"\n tabindex={this.disabled ? '-1' : '0'}\n aria-label={chipLabel ? `Remove ${chipLabel}` : 'Remove'}\n disabled={isEffectivelyDisabled}\n onClick={this.handleRemoveClick}\n onKeyDown={this.handleRemoveKeyDown}\n >\n <slot name=\"trailing-icon\">\n <svg viewBox=\"0 0 18 18\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M14.25 4.808l-1.058-1.058L9 7.942 4.808 3.75 3.75 4.808 7.942 9 3.75 13.192l1.058 1.058L9 10.058l4.192 4.192 1.058-1.058L10.058 9l4.192-4.192z\" fill=\"currentColor\" />\n </svg>\n </slot>\n </button>\n ) : (\n <slot name=\"trailing-icon\">\n {hasTrailingIcon && (\n <span class=\"md-chip__trailing-icon material-symbols-outlined\" part=\"trailing-icon\" aria-hidden=\"true\">\n {this.trailingIcon}\n </span>\n )}\n </slot>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"0IAAA,MAAMA,EAAY,IAAM,2iV,MCIXC,EAAMC,EAAA,MAAAD,UAAAE,EADnB,WAAAC,CAAAC,G,yKAK2BC,KAAAC,QAAwD,SAGzED,KAAAE,KAAe,GAGeF,KAAAG,aAAuB,GAGrBH,KAAAI,SAAoB,MAmBnCJ,KAAAK,WAAiD,WAmCjDL,KAAAM,SAAoB,MAGpBN,KAAAO,SAAoB,MAGQP,KAAAQ,aAAwB,MAYrER,KAAAS,MAAgB,GAOCT,KAAAU,QAAiC,EAmBzCV,KAAAW,sBAAwB,MACxBX,KAAAY,uBAAyB,MAoGlCZ,KAAAa,YAAeC,IACrB,GAAId,KAAKe,WAAY,CAAED,EAAEE,iBAAkB,M,CAE3C,GAAIhB,KAAKiB,aAAc,CACrBjB,KAAKI,UAAYJ,KAAKI,SACtBJ,KAAKkB,SAASC,KAAK,CAAEf,SAAUJ,KAAKI,U,CAGtCJ,KAAKoB,QAAQD,MAAM,EAGbnB,KAAAqB,cAAiBP,IACvB,GAAId,KAAKe,WAAY,OAErB,GAAID,EAAEQ,MAAQ,SAAWR,EAAEQ,MAAQ,IAAK,CACtCR,EAAEE,iBACFO,EAAcvB,KAAKwB,IACnBxB,KAAKwB,GAAGC,QACR,M,CAGF,GAAIzB,KAAK0B,cAAgBZ,EAAEQ,MAAQ,UAAYR,EAAEQ,MAAQ,aAAc,CACrER,EAAEE,iBACFhB,KAAK2B,gB,GAID3B,KAAA4B,kBAAqBd,IAC3BA,EAAEe,kBACF,GAAI7B,KAAKe,WAAY,OACrBf,KAAK2B,gBAAgB,EAGf3B,KAAA8B,oBAAuBhB,IAC7B,GAAId,KAAKe,WAAY,OACrB,GAAID,EAAEQ,MAAQ,SAAWR,EAAEQ,MAAQ,IAAK,CACtCR,EAAEe,kBACFf,EAAEE,iBACFhB,KAAK2B,gB,EAoHV,CA5PC,cAAYZ,GACV,OAAOf,KAAKO,UAAYP,KAAKQ,Y,CAY/B,aAAYuB,GACV,MAAMC,EAAIhC,KAAKiC,MAGf,IAAKD,IAAM,qBAAqBE,KAAKF,GAAI,OAAOG,UAChD,MAAO,CACL,YAAa,sBAAsBH,kCACnC,eAAgB,yBAAyBA,qCACzC,iBAAkB,sBAAsBA,wDACxC,oBAAqB,yBAAyBA,2D,CAUlD,uBAAYI,GACV,OAAOpC,KAAKM,SAAW,WAAaN,KAAKK,U,CAG3C,gBAAYY,GACV,GAAIjB,KAAKqC,aAAeF,UAAW,OAAOnC,KAAKqC,WAC/C,OAAOrC,KAAKC,UAAY,UAAYD,KAAKC,UAAY,O,CAWvD,qBAAYqC,GACV,QAAStC,KAAKqC,aAAe,OAASrC,KAAK0B,Y,CAS7C,eAAYA,GACV,GAAI1B,KAAKuC,YAAc,KAAM,OAAO,KACpC,GAAIvC,KAAKuC,YAAc,MAAO,OAAO,MACrC,OAAOvC,KAAKC,UAAY,O,CAI1B,mBAAYuC,GACV,OAAOxC,KAAKS,OAAST,KAAKwB,GAAGiB,aAAaC,QAAU,E,CAGtD,gBAAAC,GACE,MAAMC,EAAS5C,KAAKwB,GAAGqB,WACvB,IAAKD,EAAQ,OAEb,MAAME,EAAcF,EAAOG,cAAc,6BACzC,MAAMC,EAAeJ,EAAOG,cAAc,8BAE1CD,GAAaG,iBAAiB,cAAc,KAC1CjD,KAAKW,sBAAwBmC,EAAYI,mBAAmBC,OAAS,CAAC,IAExEH,GAAcC,iBAAiB,cAAc,KAC3CjD,KAAKY,uBAAyBoC,EAAaE,mBAAmBC,OAAS,CAAC,G,CAUpE,cAAAxB,GACN,MAAMyB,EAAKpD,KAAKqD,SAASlC,OACzB,IAAKiC,EAAGE,iBAAkB,CACxBtD,KAAKwB,GAAG+B,Q,EA8CZ,MAAAC,GACE,MAAMC,IAAmBzD,KAAKE,MAAQF,KAAKW,sBAC3C,MAAM+C,IAAoB1D,KAAKG,cAAgBH,KAAKY,uBACpD,MAAM+C,EAAgB3D,KAAKC,UAAY,UAAYD,KAAKI,WAAaqD,EACrE,MAAMG,EAAa5D,KAAK0B,YACxB,MAAMmC,EAAwB7D,KAAKe,WACnC,MAAM+C,EAAY9D,KAAKwC,gBAUvB,MAAMuB,EAAe/D,KAAKsC,oBAAsBsB,EAChD,MAAMI,EAAgBhE,KAAKsC,mBAAqBsB,EAEhD,OACEK,EAACC,EAAI,CAAA5C,IAAA,2CACH6C,MAAOnE,KAAK+B,UACZqC,MAAO,CACL,UAAW,KACX,CAAC,YAAYpE,KAAKC,WAAY,KAC9B,oBAAqBD,KAAKI,UAAYJ,KAAKiB,aAK3C,CAAC,uBAAuBjB,KAAKoC,uBAAwB,KACrD,oBAAqBpC,KAAKoC,sBAAwB,WAClD,CAAC,kBAAkBpC,KAAKiC,WAAYjC,KAAKiC,MACzC,oBAAqB4B,EACrB,6BAA8BJ,GAAkBE,EAChD,8BAA+BD,GAAmBE,GAEpDS,KAAMN,EAAe,SAAW,QAAO,uBAClB,OAAM,eACbA,GAAgB/D,KAAKiB,aAAeqD,OAAOtE,KAAKI,UAAY+B,UAAS,aACvE4B,EAAe5B,UAAY2B,GAAa3B,UAAS,gBAC9C0B,EAAwB,OAAS1B,UAChDoC,SAAUR,EAAgB/D,KAAKO,SAAW,KAAO,IAAO4B,UACxDqC,QAASxE,KAAKa,YACd4D,UAAWzE,KAAKqB,eAEhB4C,EAAA,aAAA3C,IAAA,2CAAWf,SAAUsD,IACrBI,EAAA,QAAA3C,IAAA,2CAAM8C,MAAM,uBAAuBM,KAAK,cAAa,cAAa,UAEhE1E,KAAKM,UAAY2D,EAAA,QAAA3C,IAAA,2CAAM8C,MAAM,mBAAmBM,KAAK,UAAS,cAAa,SAE5EV,GACCC,EAAA,QAAA3C,IAAA,2CACE8C,MAAM,mBACNM,KAAK,UACLL,KAAK,SACLE,SAAUvE,KAAKO,SAAW,KAAO,IAAG,kBACpB,qBAAoB,eACtBP,KAAKiB,aAAeqD,OAAOtE,KAAKI,UAAY+B,UAAS,gBACpD0B,EAAwB,OAAS1B,YAInDwB,GACCM,EAAA,QAAA3C,IAAA,2CAAM8C,MAAM,qBAAqBM,KAAK,YAAW,cAAa,QAC5DT,EAAA,OAAA3C,IAAA,2CAAKqD,QAAQ,YAAYC,KAAK,QAC5BX,EAAA,QAAA3C,IAAA,2CAAMuD,EAAE,2EAA2ED,KAAK,mBAK9FX,EAAA,QAAA3C,IAAA,2CAAMwD,KAAK,gBACRrB,IAAmBE,GAClBM,EAAA,QAAA3C,IAAA,2CAAM8C,MAAM,0CAA0CM,KAAK,OAAM,cAAa,QAC3E1E,KAAKE,OAKZ+D,EAAA,QAAA3C,IAAA,2CAAM8C,MAAM,iBAAiBM,KAAK,QAAQK,GAAG,sBAC3Cd,EAAA,QAAA3C,IAAA,4CAAOtB,KAAKS,QAGbmD,EACCK,EAAA,UACEG,MAAM,kBACNM,KAAK,SACLM,KAAK,SACLT,SAAUvE,KAAKO,SAAW,KAAO,IAAG,aACxBuD,EAAY,UAAUA,IAAc,SAChDvD,SAAUsD,EACVW,QAASxE,KAAK4B,kBACd6C,UAAWzE,KAAK8B,qBAEhBmC,EAAA,QAAMa,KAAK,iBACTb,EAAA,OAAKU,QAAQ,YAAYC,KAAK,OAAM,cAAa,QAC/CX,EAAA,QAAMY,EAAE,iJAAiJD,KAAK,oBAKpKX,EAAA,QAAMa,KAAK,iBACRpB,GACCO,EAAA,QAAMG,MAAM,mDAAmDM,KAAK,gBAAe,cAAa,QAC7F1E,KAAKG,e","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{p as i,H as a,h as o,d as n,t as e}from"./p-BR6gfOQH.js";const t=()=>`:host{--_color:var(--md-loading-indicator-color, var(--md-sys-color-primary, #6750A4));--_size:var(--md-loading-indicator-size, max(32px, calc(48px + var(--md-sys-density-scale, 0) * 4px)));--_shape-size:var(--md-loading-indicator-shape-size, calc(var(--_size) * 0.792));--_container-color:var(--md-loading-indicator-container-color, var(--md-sys-color-primary-container, #EADDFF));--_container-shape:var(--md-loading-indicator-container-shape, var(--md-sys-shape-corner-full, 50%));display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_size);block-size:var(--_size);flex-shrink:0;box-sizing:border-box;overflow:hidden}:host(.md-loading-indicator--contained){--_color:var(--md-loading-indicator-color, var(--md-sys-color-on-primary-container, #21005D));background-color:var(--_container-color);border-radius:var(--_container-shape)}.md-loading-indicator__shape{display:block;inline-size:var(--_shape-size);block-size:var(--_shape-size);background-color:var(--_color);will-change:clip-path, transform;animation:md-loading-morph 4.55s infinite}@keyframes md-loading-morph{0%{clip-path:polygon( 50% 5.3%, 55.4% 9.1%, 59.3% 15.3%, 64% 16.1%, 71.2% 13.3%, 77.1% 14.7%, 78.3% 21.7%, 78.1% 28.4%, 82.6% 31.2%, 90% 33.4%, 92.6% 38.6%, 88.4% 44.9%, 85.3% 50%, 88.4% 55.1%, 92.6% 61.4%, 90% 66.6%, 82.6% 68.8%, 78.1% 71.6%, 78.3% 78.3%, 77.1% 85.3%, 71.2% 86.7%, 64% 83.9%, 59.3% 84.7%, 55.4% 90.9%, 50% 94.7%, 44.6% 90.9%, 40.7% 84.7%, 36% 83.9%, 28.8% 86.7%, 22.9% 85.3%, 21.7% 78.3%, 21.9% 71.6%, 17.4% 68.8%, 10% 66.6%, 7.4% 61.4%, 11.6% 55.1%, 14.7% 50%, 11.6% 44.9%, 7.4% 38.6%, 10% 33.4%, 17.4% 31.2%, 21.9% 28.4%, 21.7% 21.7%, 22.9% 14.7%, 28.8% 13.3%, 36% 16.1%, 40.7% 15.3%, 44.6% 9.1% );transform:rotate(0deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}14.3%{clip-path:polygon( 50% 6.8%, 55.4% 9.1%, 59.8% 13.6%, 64.2% 15.8%, 70% 15.4%, 76.2% 15.9%, 79.9% 20.1%, 80.8% 26.4%, 81.8% 31.6%, 85.8% 35.2%, 90.8% 39.1%, 92.6% 44.4%, 90% 50%, 86.7% 54.8%, 86.4% 59.8%, 88.1% 65.8%, 87.4% 71.6%, 82.7% 75.1%, 76.7% 76.7%, 72.5% 79.4%, 70% 84.6%, 66.4% 89.7%, 60.9% 90.8%, 55.1% 88.4%, 50% 86.8%, 44.9% 88.4%, 39.1% 90.8%, 33.6% 89.7%, 30% 84.6%, 27.5% 79.4%, 23.3% 76.7%, 17.3% 75.1%, 12.6% 71.6%, 11.9% 65.8%, 13.6% 59.8%, 13.3% 54.8%, 10% 50%, 7.4% 44.4%, 9.2% 39.1%, 14.2% 35.2%, 18.2% 31.6%, 19.2% 26.4%, 20.1% 20.1%, 23.8% 15.9%, 30% 15.4%, 35.8% 15.8%, 40.2% 13.6%, 44.6% 9.1% );transform:rotate(154deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}28.6%{clip-path:polygon( 50% 6.8%, 55.4% 8.9%, 60% 12.7%, 63.9% 16.4%, 67.5% 19.7%, 71.1% 22.5%, 75% 25%, 79.5% 27.4%, 84.4% 30.1%, 89.3% 33.7%, 91.4% 38.9%, 90% 44.7%, 87.6% 50%, 85.4% 54.7%, 83.5% 59%, 82.1% 63.3%, 81.2% 68%, 80.2% 73.2%, 78.9% 78.9%, 76.3% 84.2%, 71% 86.4%, 65% 86.2%, 59.5% 85.5%, 54.6% 84.8%, 50% 84.6%, 45.4% 84.8%, 40.5% 85.5%, 35% 86.2%, 29% 86.4%, 23.7% 84.2%, 21.1% 78.9%, 19.8% 73.2%, 18.8% 68%, 17.9% 63.3%, 16.5% 59%, 14.6% 54.7%, 12.4% 50%, 10% 44.7%, 8.6% 38.9%, 10.7% 33.7%, 15.6% 30.1%, 20.5% 27.4%, 25% 25%, 28.9% 22.5%, 32.5% 19.7%, 36.1% 16.4%, 40% 12.7%, 44.6% 8.9% );transform:rotate(309deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}42.9%{clip-path:polygon( 50% 5.1%, 55.8% 5.6%, 61.5% 7.3%, 66.6% 9.9%, 71.1% 13.4%, 74.8% 17.6%, 77.6% 22.4%, 79.5% 27.4%, 80.3% 32.5%, 80.1% 37.5%, 79.1% 42.2%, 77.5% 46.4%, 76.4% 50%, 77.5% 53.6%, 79.1% 57.8%, 80.1% 62.5%, 80.3% 67.5%, 79.5% 72.6%, 77.6% 77.6%, 74.8% 82.4%, 71.1% 86.6%, 66.6% 90.1%, 61.5% 92.7%, 55.8% 94.4%, 50% 94.9%, 44.2% 94.4%, 38.5% 92.7%, 33.4% 90.1%, 28.9% 86.6%, 25.2% 82.4%, 22.4% 77.6%, 20.5% 72.6%, 19.7% 67.5%, 19.9% 62.5%, 20.9% 57.8%, 22.5% 53.6%, 23.6% 50%, 22.5% 46.4%, 20.9% 42.2%, 19.9% 37.5%, 19.7% 32.5%, 20.5% 27.4%, 22.4% 22.4%, 25.2% 17.6%, 28.9% 13.4%, 33.4% 9.9%, 38.5% 7.3%, 44.2% 5.6% );transform:rotate(463deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}57.1%{clip-path:polygon( 50% 3.4%, 55.7% 7.1%, 59.5% 14.5%, 62.8% 19.1%, 68.4% 18.2%, 76.4% 15.7%, 82.9% 17.1%, 84.3% 23.6%, 81.8% 31.6%, 80.9% 37.2%, 85.5% 40.5%, 92.9% 44.3%, 96.6% 50%, 92.9% 55.7%, 85.5% 59.5%, 80.9% 62.8%, 81.8% 68.4%, 84.3% 76.4%, 82.9% 82.9%, 76.4% 84.3%, 68.4% 81.8%, 62.8% 80.9%, 59.5% 85.5%, 55.7% 92.9%, 50% 96.6%, 44.3% 92.9%, 40.5% 85.5%, 37.2% 80.9%, 31.6% 81.8%, 23.6% 84.3%, 17.1% 82.9%, 15.7% 76.4%, 18.2% 68.4%, 19.1% 62.8%, 14.5% 59.5%, 7.1% 55.7%, 3.4% 50%, 7.1% 44.3%, 14.5% 40.5%, 19.1% 37.2%, 18.2% 31.6%, 15.7% 23.6%, 17.1% 17.1%, 23.6% 15.7%, 31.6% 18.2%, 37.2% 19.1%, 40.5% 14.5%, 44.3% 7.1% );transform:rotate(617deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}71.4%{clip-path:polygon( 50% 18.1%, 54.2% 17.7%, 58.9% 16.8%, 64.3% 15.5%, 70.5% 14.5%, 77% 14.8%, 82.4% 17.6%, 85.2% 23%, 85.5% 29.5%, 84.5% 35.7%, 83.2% 41.1%, 82.3% 45.8%, 81.9% 50%, 82.3% 54.2%, 83.2% 58.9%, 84.5% 64.3%, 85.5% 70.5%, 85.2% 77%, 82.4% 82.4%, 77% 85.2%, 70.5% 85.5%, 64.3% 84.5%, 58.9% 83.2%, 54.2% 82.3%, 50% 81.9%, 45.8% 82.3%, 41.1% 83.2%, 35.7% 84.5%, 29.5% 85.5%, 23% 85.2%, 17.6% 82.4%, 14.8% 77%, 14.5% 70.5%, 15.5% 64.3%, 16.8% 58.9%, 17.7% 54.2%, 18.1% 50%, 17.7% 45.8%, 16.8% 41.1%, 15.5% 35.7%, 14.5% 29.5%, 14.8% 23%, 17.6% 17.6%, 23% 14.8%, 29.5% 14.5%, 35.7% 15.5%, 41.1% 16.8%, 45.8% 17.7% );transform:rotate(771deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}85.7%{clip-path:polygon( 50% 14.5%, 54.9% 12.8%, 60.3% 11.6%, 66.1% 11.2%, 72% 11.9%, 77.7% 13.9%, 82.5% 17.5%, 86.1% 22.3%, 88.1% 28%, 88.8% 33.9%, 88.4% 39.7%, 87.2% 45.1%, 85.5% 50%, 83.5% 54.4%, 81.3% 58.4%, 79% 62%, 76.5% 65.3%, 73.9% 68.4%, 71.2% 71.2%, 68.4% 73.9%, 65.3% 76.5%, 62% 79%, 58.4% 81.3%, 54.4% 83.5%, 50% 85.5%, 45.1% 87.2%, 39.7% 88.4%, 33.9% 88.8%, 28% 88.1%, 22.3% 86.1%, 17.5% 82.5%, 13.9% 77.7%, 11.9% 72%, 11.2% 66.1%, 11.6% 60.3%, 12.8% 54.9%, 14.5% 50%, 16.5% 45.6%, 18.7% 41.6%, 21% 38%, 23.5% 34.7%, 26.1% 31.6%, 28.8% 28.8%, 31.6% 26.1%, 34.7% 23.5%, 38% 21%, 41.6% 18.7%, 45.6% 16.5% );transform:rotate(926deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}100%{clip-path:polygon( 50% 5.3%, 55.4% 9.1%, 59.3% 15.3%, 64% 16.1%, 71.2% 13.3%, 77.1% 14.7%, 78.3% 21.7%, 78.1% 28.4%, 82.6% 31.2%, 90% 33.4%, 92.6% 38.6%, 88.4% 44.9%, 85.3% 50%, 88.4% 55.1%, 92.6% 61.4%, 90% 66.6%, 82.6% 68.8%, 78.1% 71.6%, 78.3% 78.3%, 77.1% 85.3%, 71.2% 86.7%, 64% 83.9%, 59.3% 84.7%, 55.4% 90.9%, 50% 94.7%, 44.6% 90.9%, 40.7% 84.7%, 36% 83.9%, 28.8% 86.7%, 22.9% 85.3%, 21.7% 78.3%, 21.9% 71.6%, 17.4% 68.8%, 10% 66.6%, 7.4% 61.4%, 11.6% 55.1%, 14.7% 50%, 11.6% 44.9%, 7.4% 38.6%, 10% 33.4%, 17.4% 31.2%, 21.9% 28.4%, 21.7% 21.7%, 22.9% 14.7%, 28.8% 13.3%, 36% 16.1%, 40.7% 15.3%, 44.6% 9.1% );transform:rotate(1080deg)}}.md-loading-indicator__sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host(:focus-visible){outline:3px solid var(--md-sys-color-secondary, #625B71);outline-offset:2px;border-radius:var(--_container-shape)}@media (prefers-reduced-motion: reduce){.md-loading-indicator__shape{animation:md-loading-pulse 2s ease-in-out infinite;border-radius:50%;clip-path:none}}@keyframes md-loading-pulse{0%,100%{opacity:1}50%{opacity:0.4}}@media (forced-colors: active){.md-loading-indicator__shape{background-color:CanvasText}:host(.md-loading-indicator--contained){background-color:Canvas;outline:1px solid CanvasText}}: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 r=i(class i extends a{constructor(i){super();if(i!==false){this.__registerHost()}this.__attachShadow();this.variant="uncontained";this.label="Loading";this.density=0}render(){return o(n,{key:"e6d22ea32ed8fef67906f81bb2ee61f127ed20f8",class:{"md-loading-indicator":true,[`md-loading-indicator--${this.variant}`]:true},role:"progressbar","aria-label":this.label,"aria-live":"polite"},o("span",{key:"284caf45947b622f09d46803b7b0205402b6a309",class:"md-loading-indicator__shape",part:"shape","aria-hidden":"true"}),o("span",{key:"472fac91cea4c2d490d49466b13ab75ab99ed962",class:"md-loading-indicator__sr-only",role:"status"},this.label))}static get style(){return t()}},[1,"md-loading-indicator",{variant:[513],label:[1],density:[514]}]);function s(){if(typeof customElements==="undefined"){return}const i=["md-loading-indicator"];i.forEach((i=>{switch(i){case"md-loading-indicator":if(!customElements.get(e(i))){customElements.define(e(i),r)}break}}))}s();export{r as M,s as d};
2
+ //# sourceMappingURL=p-B-iHDK5h.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mdLoadingIndicatorCss","MdLoadingIndicator","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","label","density","render","h","Host","key","class","role","part"],"sources":["src/components/md-loading-indicator/md-loading-indicator.css?tag=md-loading-indicator&encapsulation=shadow","src/components/md-loading-indicator/md-loading-indicator.tsx"],"sourcesContent":["/* ==========================================================\n md-loading-indicator — Material Design 3 Loading Indicator\n Spec: https://m3.material.io/components/loading-indicator/specs\n Ref: material-components-android LoadingIndicatorDrawingDelegate\n\n A looping shape-morph animation matching the Android M3\n implementation. Morphs through seven Material shapes:\n Soft Burst → Cookie 9 → Pentagon → Pill →\n Sunny → Cookie 4 → Oval → (repeat)\n\n Timing: 650 ms per shape, 4.55 s full cycle.\n Rotation: ~154° per shape (1080° / 7), 3 full turns per cycle.\n Easing: bouncy spring — each segment overshoots its target\n shape before settling, so the polygon morph and the\n rotation both gain a tactile \"rubber band\" feel.\n Curve sits between the project's spring-spatial-default\n (overshoot 1.21) and spring-spatial-fast (1.67) tokens.\n Shapes: 48-vertex polygons with Gaussian-smoothed corners\n matching Android CornerRounding parameters.\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-loading-indicator-color Indicator shape color\n --md-loading-indicator-size Overall component size (default 48px)\n --md-loading-indicator-shape-size Morphing shape size (default 38px)\n --md-loading-indicator-container-color Container background (contained variant)\n --md-loading-indicator-container-shape Container border radius\n\n CSS PARTS:\n shape The morphing indicator shape\n\n SLOTS:\n (none)\n ========================================================== */\n\n:host {\n --_color: var(--md-loading-indicator-color, var(--md-sys-color-primary, #6750A4));\n --_size: var(--md-loading-indicator-size, max(32px, calc(48px + var(--md-sys-density-scale, 0) * 4px)));\n /* Derived from --_size, NOT sized independently. These are two public hooks\n over one shape: setting only `--md-loading-indicator-size` used to leave\n the polygon at its own 38px default, so shrinking the component crammed a\n 38px shape into a smaller container and the morph rendered as a clipped\n blob. 0.792 is the spec ratio (38/48), so the default is unchanged at\n density 0 and any override now scales both boxes together. */\n --_shape-size: var(--md-loading-indicator-shape-size, calc(var(--_size) * 0.792));\n --_container-color: var(--md-loading-indicator-container-color, var(--md-sys-color-primary-container, #EADDFF));\n --_container-shape: var(--md-loading-indicator-container-shape, var(--md-sys-shape-corner-full, 50%));\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: var(--_size);\n block-size: var(--_size);\n flex-shrink: 0;\n box-sizing: border-box;\n /* Belt-and-braces: an explicit shape-size larger than the container would\n otherwise spill the polygon past the (round) container edge. */\n overflow: hidden;\n}\n\n/* ==========================================================\n CONTAINED VARIANT\n Shape uses on-primary-container; background is primary-container.\n ========================================================== */\n\n:host(.md-loading-indicator--contained) {\n --_color: var(--md-loading-indicator-color, var(--md-sys-color-on-primary-container, #21005D));\n\n background-color: var(--_container-color);\n border-radius: var(--_container-shape);\n}\n\n/* ==========================================================\n MORPHING SHAPE\n 48-vertex clip-path polygon animated through 7 Material\n shapes with Gaussian-smoothed corners. Each shape is\n approximated by radial sampling at 7.5° intervals then\n smoothed to match Android CornerRounding values.\n ========================================================== */\n\n.md-loading-indicator__shape {\n display: block;\n inline-size: var(--_shape-size);\n block-size: var(--_shape-size);\n background-color: var(--_color);\n will-change: clip-path, transform;\n animation: md-loading-morph 4.55s infinite;\n}\n\n@keyframes md-loading-morph {\n /* ── Shape 1: Soft Burst — 10 rounded bumps ── */\n 0% {\n clip-path: polygon(\n 50% 5.3%, 55.4% 9.1%, 59.3% 15.3%, 64% 16.1%, 71.2% 13.3%, 77.1% 14.7%,\n 78.3% 21.7%, 78.1% 28.4%, 82.6% 31.2%, 90% 33.4%, 92.6% 38.6%, 88.4% 44.9%,\n 85.3% 50%, 88.4% 55.1%, 92.6% 61.4%, 90% 66.6%, 82.6% 68.8%, 78.1% 71.6%,\n 78.3% 78.3%, 77.1% 85.3%, 71.2% 86.7%, 64% 83.9%, 59.3% 84.7%, 55.4% 90.9%,\n 50% 94.7%, 44.6% 90.9%, 40.7% 84.7%, 36% 83.9%, 28.8% 86.7%, 22.9% 85.3%,\n 21.7% 78.3%, 21.9% 71.6%, 17.4% 68.8%, 10% 66.6%, 7.4% 61.4%, 11.6% 55.1%,\n 14.7% 50%, 11.6% 44.9%, 7.4% 38.6%, 10% 33.4%, 17.4% 31.2%, 21.9% 28.4%,\n 21.7% 21.7%, 22.9% 14.7%, 28.8% 13.3%, 36% 16.1%, 40.7% 15.3%, 44.6% 9.1%\n );\n transform: rotate(0deg);\n animation-timing-function: cubic-bezier(0.34, 1.45, 0.4, 1);\n }\n\n /* ── Shape 2: Cookie 9 — 9 rounded scallops ── */\n 14.3% {\n clip-path: polygon(\n 50% 6.8%, 55.4% 9.1%, 59.8% 13.6%, 64.2% 15.8%, 70% 15.4%, 76.2% 15.9%,\n 79.9% 20.1%, 80.8% 26.4%, 81.8% 31.6%, 85.8% 35.2%, 90.8% 39.1%, 92.6% 44.4%,\n 90% 50%, 86.7% 54.8%, 86.4% 59.8%, 88.1% 65.8%, 87.4% 71.6%, 82.7% 75.1%,\n 76.7% 76.7%, 72.5% 79.4%, 70% 84.6%, 66.4% 89.7%, 60.9% 90.8%, 55.1% 88.4%,\n 50% 86.8%, 44.9% 88.4%, 39.1% 90.8%, 33.6% 89.7%, 30% 84.6%, 27.5% 79.4%,\n 23.3% 76.7%, 17.3% 75.1%, 12.6% 71.6%, 11.9% 65.8%, 13.6% 59.8%, 13.3% 54.8%,\n 10% 50%, 7.4% 44.4%, 9.2% 39.1%, 14.2% 35.2%, 18.2% 31.6%, 19.2% 26.4%,\n 20.1% 20.1%, 23.8% 15.9%, 30% 15.4%, 35.8% 15.8%, 40.2% 13.6%, 44.6% 9.1%\n );\n transform: rotate(154deg);\n animation-timing-function: cubic-bezier(0.34, 1.45, 0.4, 1);\n }\n\n /* ── Shape 3: Pentagon — 5 rounded sides (fill ratio 0.80) ── */\n 28.6% {\n clip-path: polygon(\n 50% 6.8%, 55.4% 8.9%, 60% 12.7%, 63.9% 16.4%, 67.5% 19.7%, 71.1% 22.5%,\n 75% 25%, 79.5% 27.4%, 84.4% 30.1%, 89.3% 33.7%, 91.4% 38.9%, 90% 44.7%,\n 87.6% 50%, 85.4% 54.7%, 83.5% 59%, 82.1% 63.3%, 81.2% 68%, 80.2% 73.2%,\n 78.9% 78.9%, 76.3% 84.2%, 71% 86.4%, 65% 86.2%, 59.5% 85.5%, 54.6% 84.8%,\n 50% 84.6%, 45.4% 84.8%, 40.5% 85.5%, 35% 86.2%, 29% 86.4%, 23.7% 84.2%,\n 21.1% 78.9%, 19.8% 73.2%, 18.8% 68%, 17.9% 63.3%, 16.5% 59%, 14.6% 54.7%,\n 12.4% 50%, 10% 44.7%, 8.6% 38.9%, 10.7% 33.7%, 15.6% 30.1%, 20.5% 27.4%,\n 25% 25%, 28.9% 22.5%, 32.5% 19.7%, 36.1% 16.4%, 40% 12.7%, 44.6% 8.9%\n );\n transform: rotate(309deg);\n animation-timing-function: cubic-bezier(0.34, 1.45, 0.4, 1);\n }\n\n /* ── Shape 4: Pill — capsule with rounded ends ── */\n 42.9% {\n clip-path: polygon(\n 50% 5.1%, 55.8% 5.6%, 61.5% 7.3%, 66.6% 9.9%, 71.1% 13.4%, 74.8% 17.6%,\n 77.6% 22.4%, 79.5% 27.4%, 80.3% 32.5%, 80.1% 37.5%, 79.1% 42.2%, 77.5% 46.4%,\n 76.4% 50%, 77.5% 53.6%, 79.1% 57.8%, 80.1% 62.5%, 80.3% 67.5%, 79.5% 72.6%,\n 77.6% 77.6%, 74.8% 82.4%, 71.1% 86.6%, 66.6% 90.1%, 61.5% 92.7%, 55.8% 94.4%,\n 50% 94.9%, 44.2% 94.4%, 38.5% 92.7%, 33.4% 90.1%, 28.9% 86.6%, 25.2% 82.4%,\n 22.4% 77.6%, 20.5% 72.6%, 19.7% 67.5%, 19.9% 62.5%, 20.9% 57.8%, 22.5% 53.6%,\n 23.6% 50%, 22.5% 46.4%, 20.9% 42.2%, 19.9% 37.5%, 19.7% 32.5%, 20.5% 27.4%,\n 22.4% 22.4%, 25.2% 17.6%, 28.9% 13.4%, 33.4% 9.9%, 38.5% 7.3%, 44.2% 5.6%\n );\n transform: rotate(463deg);\n animation-timing-function: cubic-bezier(0.34, 1.45, 0.4, 1);\n }\n\n /* ── Shape 5: Sunny — 8 rounded rays ── */\n 57.1% {\n clip-path: polygon(\n 50% 3.4%, 55.7% 7.1%, 59.5% 14.5%, 62.8% 19.1%, 68.4% 18.2%, 76.4% 15.7%,\n 82.9% 17.1%, 84.3% 23.6%, 81.8% 31.6%, 80.9% 37.2%, 85.5% 40.5%, 92.9% 44.3%,\n 96.6% 50%, 92.9% 55.7%, 85.5% 59.5%, 80.9% 62.8%, 81.8% 68.4%, 84.3% 76.4%,\n 82.9% 82.9%, 76.4% 84.3%, 68.4% 81.8%, 62.8% 80.9%, 59.5% 85.5%, 55.7% 92.9%,\n 50% 96.6%, 44.3% 92.9%, 40.5% 85.5%, 37.2% 80.9%, 31.6% 81.8%, 23.6% 84.3%,\n 17.1% 82.9%, 15.7% 76.4%, 18.2% 68.4%, 19.1% 62.8%, 14.5% 59.5%, 7.1% 55.7%,\n 3.4% 50%, 7.1% 44.3%, 14.5% 40.5%, 19.1% 37.2%, 18.2% 31.6%, 15.7% 23.6%,\n 17.1% 17.1%, 23.6% 15.7%, 31.6% 18.2%, 37.2% 19.1%, 40.5% 14.5%, 44.3% 7.1%\n );\n transform: rotate(617deg);\n animation-timing-function: cubic-bezier(0.34, 1.45, 0.4, 1);\n }\n\n /* ── Shape 6: Cookie 4 — rounded diamond (fill ratio 0.70) ── */\n 71.4% {\n clip-path: polygon(\n 50% 18.1%, 54.2% 17.7%, 58.9% 16.8%, 64.3% 15.5%, 70.5% 14.5%, 77% 14.8%,\n 82.4% 17.6%, 85.2% 23%, 85.5% 29.5%, 84.5% 35.7%, 83.2% 41.1%, 82.3% 45.8%,\n 81.9% 50%, 82.3% 54.2%, 83.2% 58.9%, 84.5% 64.3%, 85.5% 70.5%, 85.2% 77%,\n 82.4% 82.4%, 77% 85.2%, 70.5% 85.5%, 64.3% 84.5%, 58.9% 83.2%, 54.2% 82.3%,\n 50% 81.9%, 45.8% 82.3%, 41.1% 83.2%, 35.7% 84.5%, 29.5% 85.5%, 23% 85.2%,\n 17.6% 82.4%, 14.8% 77%, 14.5% 70.5%, 15.5% 64.3%, 16.8% 58.9%, 17.7% 54.2%,\n 18.1% 50%, 17.7% 45.8%, 16.8% 41.1%, 15.5% 35.7%, 14.5% 29.5%, 14.8% 23%,\n 17.6% 17.6%, 23% 14.8%, 29.5% 14.5%, 35.7% 15.5%, 41.1% 16.8%, 45.8% 17.7%\n );\n transform: rotate(771deg);\n animation-timing-function: cubic-bezier(0.34, 1.45, 0.4, 1);\n }\n\n /* ── Shape 7: Oval — tilted ellipse (-45°) ── */\n 85.7% {\n clip-path: polygon(\n 50% 14.5%, 54.9% 12.8%, 60.3% 11.6%, 66.1% 11.2%, 72% 11.9%, 77.7% 13.9%,\n 82.5% 17.5%, 86.1% 22.3%, 88.1% 28%, 88.8% 33.9%, 88.4% 39.7%, 87.2% 45.1%,\n 85.5% 50%, 83.5% 54.4%, 81.3% 58.4%, 79% 62%, 76.5% 65.3%, 73.9% 68.4%,\n 71.2% 71.2%, 68.4% 73.9%, 65.3% 76.5%, 62% 79%, 58.4% 81.3%, 54.4% 83.5%,\n 50% 85.5%, 45.1% 87.2%, 39.7% 88.4%, 33.9% 88.8%, 28% 88.1%, 22.3% 86.1%,\n 17.5% 82.5%, 13.9% 77.7%, 11.9% 72%, 11.2% 66.1%, 11.6% 60.3%, 12.8% 54.9%,\n 14.5% 50%, 16.5% 45.6%, 18.7% 41.6%, 21% 38%, 23.5% 34.7%, 26.1% 31.6%,\n 28.8% 28.8%, 31.6% 26.1%, 34.7% 23.5%, 38% 21%, 41.6% 18.7%, 45.6% 16.5%\n );\n transform: rotate(926deg);\n animation-timing-function: cubic-bezier(0.34, 1.45, 0.4, 1);\n }\n\n /* ── Loop: back to Soft Burst ── */\n 100% {\n clip-path: polygon(\n 50% 5.3%, 55.4% 9.1%, 59.3% 15.3%, 64% 16.1%, 71.2% 13.3%, 77.1% 14.7%,\n 78.3% 21.7%, 78.1% 28.4%, 82.6% 31.2%, 90% 33.4%, 92.6% 38.6%, 88.4% 44.9%,\n 85.3% 50%, 88.4% 55.1%, 92.6% 61.4%, 90% 66.6%, 82.6% 68.8%, 78.1% 71.6%,\n 78.3% 78.3%, 77.1% 85.3%, 71.2% 86.7%, 64% 83.9%, 59.3% 84.7%, 55.4% 90.9%,\n 50% 94.7%, 44.6% 90.9%, 40.7% 84.7%, 36% 83.9%, 28.8% 86.7%, 22.9% 85.3%,\n 21.7% 78.3%, 21.9% 71.6%, 17.4% 68.8%, 10% 66.6%, 7.4% 61.4%, 11.6% 55.1%,\n 14.7% 50%, 11.6% 44.9%, 7.4% 38.6%, 10% 33.4%, 17.4% 31.2%, 21.9% 28.4%,\n 21.7% 21.7%, 22.9% 14.7%, 28.8% 13.3%, 36% 16.1%, 40.7% 15.3%, 44.6% 9.1%\n );\n transform: rotate(1080deg);\n }\n}\n\n/* ==========================================================\n VISUALLY HIDDEN (screen-reader-only status text)\n ========================================================== */\n\n.md-loading-indicator__sr-only {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n\n/* ==========================================================\n FOCUS RING\n Some assistive technologies can programmatically focus\n progressbar elements. Provide a visible ring when focused.\n ========================================================== */\n\n:host(:focus-visible) {\n outline: 3px solid var(--md-sys-color-secondary, #625B71);\n outline-offset: 2px;\n border-radius: var(--_container-shape);\n}\n\n/* ==========================================================\n REDUCED MOTION\n Replace the complex morph animation with a gentle opacity\n pulse so the \"loading\" intent is still communicated visually.\n ========================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .md-loading-indicator__shape {\n animation: md-loading-pulse 2s ease-in-out infinite;\n border-radius: 50%;\n clip-path: none;\n }\n}\n\n@keyframes md-loading-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n}\n\n/* ==========================================================\n FORCED COLORS (High Contrast)\n ========================================================== */\n\n@media (forced-colors: active) {\n .md-loading-indicator__shape {\n background-color: CanvasText;\n }\n\n :host(.md-loading-indicator--contained) {\n background-color: Canvas;\n outline: 1px solid CanvasText;\n }\n}\n\n/* ==========================================================\n DENSITY (local override)\n Maps the local `density` prop onto the same --md-sys-density-scale signal a\n global `data-density` ancestor sets. Declared on :host, so a local rung wins\n over the inherited global one. Every density-sensitive value in this file\n derives from that single signal by calc — never add a fixed per-rung ladder.\n ========================================================== */\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","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'md-loading-indicator',\n styleUrl: 'md-loading-indicator.css',\n shadow: true,\n})\nexport class MdLoadingIndicator {\n /** Visual style: uncontained (default) or contained (with background container) */\n @Prop({ reflect: true }) variant: 'uncontained' | 'contained' = 'uncontained';\n\n /** Accessible label for screen readers */\n @Prop() label: string = 'Loading';\n\n /**\n * Local density rung. Drives the same `--md-sys-density-scale` signal that a\n * global `data-density` ancestor sets, so a local value simply overrides the\n * inherited one. 0 = default, -4 = ultra-compact.\n */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n\n render() {\n return (\n <Host\n class={{\n 'md-loading-indicator': true,\n [`md-loading-indicator--${this.variant}`]: true,\n }}\n role=\"progressbar\"\n aria-label={this.label}\n aria-live=\"polite\"\n >\n <span class=\"md-loading-indicator__shape\" part=\"shape\" aria-hidden=\"true\"></span>\n <span class=\"md-loading-indicator__sr-only\" role=\"status\">{this.label}</span>\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAwB,IAAM,u0P,MCOvBC,EAAkBC,EAAA,MAAAD,UAAAE,EAL/B,WAAAC,CAAAC,G,kEAO2BC,KAAAC,QAAuC,cAGxDD,KAAAE,MAAgB,UAOCF,KAAAG,QAAiC,CAkB3D,CAhBC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,uBAAwB,KACxB,CAAC,yBAAyBR,KAAKC,WAAY,MAE7CQ,KAAK,cAAa,aACNT,KAAKE,MAAK,YACZ,UAEVG,EAAA,QAAAE,IAAA,2CAAMC,MAAM,8BAA8BE,KAAK,QAAO,cAAa,SACnEL,EAAA,QAAAE,IAAA,2CAAMC,MAAM,gCAAgCC,KAAK,UAAUT,KAAKE,O","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{p as e,H as s,c as t,h as o,d as i,t as a}from"./p-BR6gfOQH.js";import{t as r}from"./p-DYBUr7K_.js";import{s as c,a as n,g as d,c as l,r as h}from"./p-DWxN44zD.js";import{d as m}from"./p-CTC8XAB6.js";const b=()=>`:host{--_container-color:var(--md-checkbox-container-color, transparent);--_selected-container-color:var(--md-checkbox-selected-container-color, var(--md-sys-color-primary));--_outline-color:var(--md-checkbox-outline-color, var(--md-sys-color-on-surface-variant));--_outline-width:var(--md-checkbox-outline-width, 2px);--_icon-color:var(--md-checkbox-icon-color, var(--md-sys-color-on-primary));--_container-shape:var(--md-checkbox-container-shape, 2px);--_container-size:var(--md-checkbox-container-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));--_icon-size:var(--md-checkbox-icon-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));--_touch-size:max(32px, calc(var(--md-checkbox-touch-target-size, 48px) + var(--md-sys-density-scale, 0) * 4px));--_state-layer-size:var(--md-checkbox-state-layer-size, min(40px, var(--_touch-size)));--_state-layer-color:var(--md-checkbox-state-layer-color, var(--md-sys-color-on-surface));--_selected-state-layer-color:var(--md-checkbox-selected-state-layer-color, var(--md-sys-color-primary));display:inline-flex;align-items:center;justify-content:center;position:relative;inline-size:var(--_touch-size);block-size:var(--_touch-size);cursor:pointer;border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden;-webkit-tap-highlight-color:transparent;box-sizing:border-box;flex-shrink:0;vertical-align:middle;outline:none;color:var(--_state-layer-color)}:host(.md-checkbox--selected){color:var(--_selected-state-layer-color)}.md-checkbox__native{position:absolute;opacity:0;inline-size:0;block-size:0;pointer-events:none;margin:0}.md-checkbox__ripple-layer{position:absolute;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden}:host(.md-checkbox--disabled) .md-checkbox__ripple-layer,:host([soft-disabled]) .md-checkbox__ripple-layer{display:none}.md-checkbox__state-layer{position:absolute;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);background-color:var(--_state-layer-color);opacity:0;transition:opacity var(--md-sys-motion-duration-short1, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none}:host(.md-checkbox--unselected:hover) .md-checkbox__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-checkbox--unselected:focus-visible) .md-checkbox__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(.md-checkbox--unselected:active) .md-checkbox__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(.md-checkbox--selected) .md-checkbox__state-layer{background-color:var(--_selected-state-layer-color)}:host(.md-checkbox--selected:hover) .md-checkbox__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-checkbox--selected:focus-visible) .md-checkbox__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(.md-checkbox--selected:active) .md-checkbox__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(:focus-visible){outline:2px solid var(--md-sys-color-secondary);outline-offset:calc((var(--_state-layer-size) - var(--_touch-size)) / 2)}.md-checkbox__container{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_container-size);block-size:var(--_container-size);border-radius:var(--_container-shape);border:var(--_outline-width) solid var(--_outline-color);background-color:var(--_container-color);box-sizing:border-box;pointer-events:none;transition:background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), transform var(--md-sys-motion-duration-medium4, 400ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}:host(.md-checkbox--selected) .md-checkbox__container{background-color:var(--_selected-container-color);border-color:var(--_selected-container-color)}:host(.md-checkbox--pressed) .md-checkbox__container{transform:scale(0.82);transition:background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host([aria-invalid="true"]) .md-checkbox__container{border-color:var(--md-sys-color-error)}:host([aria-invalid="true"].md-checkbox--selected) .md-checkbox__container{background-color:var(--md-sys-color-error);border-color:var(--md-sys-color-error)}.md-checkbox__icon{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_icon-size);block-size:var(--_icon-size);color:var(--_icon-color);overflow:visible}.md-checkbox__icon .material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-size:var(--_icon-size);line-height:1;font-weight:normal;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 24}@keyframes md-checkbox-glyph-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.18);opacity:1}100%{transform:scale(1);opacity:1}}:host(.md-checkbox--checked) .md-checkbox__icon .material-symbols-outlined,:host(.md-checkbox--indeterminate) .md-checkbox__icon .material-symbols-outlined{animation:md-checkbox-glyph-in var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)) both}:host(.md-checkbox--unselected) .md-checkbox__icon{opacity:0}:host(.md-checkbox--selected) .md-checkbox__icon{opacity:1}:host(.md-checkbox--disabled){cursor:default;pointer-events:none}:host(.md-checkbox--disabled.md-checkbox--unselected) .md-checkbox__container{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);background-color:transparent}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__container{background-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);border-color:transparent}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__icon{color:var(--md-sys-color-surface)}:host(.md-checkbox--disabled) .md-checkbox__state-layer{display:none}:host([soft-disabled]){cursor:default;pointer-events:auto}:host([soft-disabled].md-checkbox--unselected) .md-checkbox__container{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);background-color:transparent}:host([soft-disabled].md-checkbox--selected) .md-checkbox__container{background-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);border-color:transparent}:host([soft-disabled].md-checkbox--selected) .md-checkbox__icon{color:var(--md-sys-color-surface)}:host([soft-disabled]) .md-checkbox__state-layer{display:none}@media (prefers-reduced-motion: reduce){.md-checkbox__container,.md-checkbox__state-layer{transition:none}.md-checkbox__icon .material-symbols-outlined{animation:none}}@media (forced-colors: active){:host{forced-color-adjust:none}.md-checkbox__container{border-color:ButtonText;background-color:ButtonFace}:host(.md-checkbox--selected) .md-checkbox__container{background-color:Highlight;border-color:Highlight}:host(.md-checkbox--selected) .md-checkbox__icon{color:HighlightText}:host(:focus-visible){outline-color:Highlight}:host(.md-checkbox--disabled) .md-checkbox__container{border-color:GrayText;opacity:1}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__container{background-color:GrayText;border-color:GrayText}.md-checkbox__state-layer{display:none}}: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-checkbox__target{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_touch-size);block-size:var(--_touch-size);border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden;flex-shrink:0}:host(.md-checkbox--has-support){display:inline-flex;flex-direction:column;align-items:flex-start;inline-size:var(--_touch-size);block-size:auto;overflow:visible;border-radius:0}.md-checkbox__support{display:block;margin-block-start:2px;margin-inline-start:calc((var(--_touch-size) - var(--_container-size)) / 2);inline-size:max-content;max-inline-size:60ch;font-family:var(--md-sys-typescale-body-small-font-family, Roboto, sans-serif);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(--md-checkbox-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454F))}.md-checkbox__support--error{color:var(--md-checkbox-error-text-color, var(--md-sys-color-error, #B3261E))}`;const y=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.mdChange=t(this,"mdChange",7);this.mdValidityChange=t(this,"mdValidityChange",5);this.internals=this.attachInternals();this.valueMissingLabel="Please check this box if you want to proceed.";this.customValidityMessage="";this.uid=`md-checkbox-${Math.random().toString(36).slice(2,7)}`;this.invalid=false;this.error=false;this.errorText="";this.supportingText="";this.checked=false;this.indeterminate=false;this.disabled=false;this.softDisabled=false;this.required=false;this.name="";this.value="on";this.density=0;this.prevChecked=false;this.prevIndeterminate=false;this.pressed=false;this.initialChecked=false;this.initialIndeterminate=false;this.lastValidityKey=null;this.handleClick=()=>{if(this.isDisabled)return;this.prevChecked=this.checked;this.prevIndeterminate=this.indeterminate;if(this.indeterminate){this.indeterminate=false;this.checked=true}else{this.checked=!this.checked}this.mdChange.emit({checked:this.checked,indeterminate:this.indeterminate})};this.handleKeyDown=e=>{if(this.isDisabled)return;if(e.key===" "){e.preventDefault();this.pressed=true;r(this.el);this.handleClick();setTimeout((()=>{this.pressed=false}),150)}};this.handlePointerDown=()=>{if(!this.isDisabled)this.pressed=true};this.handlePointerUp=()=>{this.pressed=false}}get isDisabled(){return this.disabled||this.softDisabled}componentWillLoad(){this.initialChecked=this.checked;this.initialIndeterminate=this.indeterminate;this.syncFormValue()}onStateChange(){this.prevChecked=this.checked;this.prevIndeterminate=this.indeterminate;this.syncFormValue()}onValueChange(){this.syncFormValue()}formResetCallback(){this.checked=this.initialChecked;this.indeterminate=this.initialIndeterminate}syncFormValue(){c(this.internals,this.checked?this.value:null);this.syncValidity()}syncValidity(){this.invalid=this.required&&!this.checked&&!this.customValidityMessage?true:!!this.customValidityMessage;n(this.internals,{missing:this.required&&!this.checked,missingMessage:this.valueMissingLabel,customMessage:this.customValidityMessage});this.emitValidityChange()}async getValidity(){return d(this.internals)}emitValidityChange(){const e=d(this.internals);const s=`${e.valid}|${e.validationMessage}`;if(this.lastValidityKey===s)return;const t=this.lastValidityKey!==null;this.lastValidityKey=s;if(t)this.mdValidityChange.emit(e)}async checkValidity(){return l(this.internals)}async reportValidity(){return h(this.internals)}async setCustomValidity(e){this.customValidityMessage=e;this.syncValidity()}get ariaCheckedValue(){if(this.indeterminate)return"mixed";return String(this.checked)}render(){const e=this.isDisabled;const s=this.checked||this.indeterminate;const t=this.el.getAttribute("aria-hidden")==="true";return o(i,{key:"a0d40b9f78fd0156ee6cdec1366112632f167511",class:{"md-checkbox":true,"md-checkbox--checked":this.checked&&!this.indeterminate,"md-checkbox--indeterminate":this.indeterminate,"md-checkbox--disabled":e,"md-checkbox--selected":s,"md-checkbox--unselected":!s,"md-checkbox--pressed":this.pressed,"md-checkbox--prev-unselected":!this.prevChecked&&!this.prevIndeterminate,"md-checkbox--has-support":!!(this.errorText||this.supportingText)},role:"checkbox","aria-invalid":this.invalid?"true":undefined,"aria-describedby":this.errorText||this.supportingText?`${this.uid}-support`:undefined,"aria-checked":this.ariaCheckedValue,"aria-disabled":e?"true":undefined,"aria-required":this.required?"true":undefined,tabindex:t?null:this.disabled?"-1":"0",onPointerDown:this.handlePointerDown,onPointerUp:this.handlePointerUp,onPointerLeave:this.handlePointerUp,onPointerCancel:this.handlePointerUp,onClick:this.handleClick,onKeyDown:this.handleKeyDown},o("span",{key:"08c18fbbeb24f4b2776e533f9fe5891c7962d68a",class:"md-checkbox__target",part:"target"},o("span",{key:"bd3d4b8aff21d9574ad129ee875d8b673d7365d9",class:"md-checkbox__ripple-layer","aria-hidden":"true"},o("md-ripple",{key:"da2c6869e619d1afa2f209cded502588e5ca2f9a",disabled:e})),o("span",{key:"141b88846ca966456a5d93a71ac8e8c89b638500",class:"md-checkbox__state-layer",part:"state-layer","aria-hidden":"true"}),o("span",{key:"97c914aaa946e06275280a1f6022836c42137911",class:"md-checkbox__container",part:"container"},o("span",{key:"2feb4131baf460aef5e0e13e53a1cddc289eadf6",class:"md-checkbox__icon",part:"icon","aria-hidden":"true"},o("span",{key:"1405ff7289795bf85418a95747e1b2475be9b354",class:"material-symbols-outlined"},this.indeterminate?"remove":"check")))),(this.errorText||this.supportingText)&&o("span",{key:"b5cbb3b42837a18b6135dcd5fc10c363badd4636",id:`${this.uid}-support`,part:"supporting-text",role:this.error?"alert":undefined,class:{"md-checkbox__support":true,"md-checkbox__support--error":this.error}},this.errorText||this.supportingText))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{checked:[{onStateChange:0}],indeterminate:[{onStateChange:0}],value:[{onValueChange:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}]}}static get style(){return b()}},[65,"md-checkbox",{valueMissingLabel:[1,"value-missing-label"],error:[516],errorText:[1025,"error-text"],supportingText:[1,"supporting-text"],checked:[1540],indeterminate:[1540],disabled:[516],softDisabled:[516,"soft-disabled"],required:[516],name:[1],value:[1],density:[514],invalid:[32],prevChecked:[32],prevIndeterminate:[32],pressed:[32],getValidity:[64],checkValidity:[64],reportValidity:[64],setCustomValidity:[64]},undefined,{checked:[{onStateChange:0}],indeterminate:[{onStateChange:0}],value:[{onValueChange:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}]}]);function u(){if(typeof customElements==="undefined"){return}const e=["md-checkbox","md-ripple"];e.forEach((e=>{switch(e){case"md-checkbox":if(!customElements.get(a(e))){customElements.define(a(e),y)}break;case"md-ripple":if(!customElements.get(a(e))){m()}break}}))}u();export{y as M,u as d};
2
+ //# sourceMappingURL=p-BA2v4IuG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mdCheckboxCss","MdCheckbox","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","valueMissingLabel","customValidityMessage","uid","Math","random","toString","slice","invalid","error","errorText","supportingText","checked","indeterminate","disabled","softDisabled","required","name","value","density","prevChecked","prevIndeterminate","pressed","initialChecked","initialIndeterminate","lastValidityKey","handleClick","isDisabled","mdChange","emit","handleKeyDown","e","key","preventDefault","triggerRipple","el","setTimeout","handlePointerDown","handlePointerUp","componentWillLoad","syncFormValue","onStateChange","onValueChange","formResetCallback","setFormValue","internals","syncValidity","setValidityState","missing","missingMessage","customMessage","emitValidityChange","getValidity","getValidityOf","v","valid","validationMessage","primed","mdValidityChange","checkValidity","checkValidityOf","reportValidity","reportValidityOf","setCustomValidity","message","ariaCheckedValue","String","render","isEffectivelyDisabled","isSelected","decorative","getAttribute","h","Host","class","role","undefined","tabindex","onPointerDown","onPointerUp","onPointerLeave","onPointerCancel","onClick","onKeyDown","part","id"],"sources":["src/components/md-checkbox/md-checkbox.css?tag=md-checkbox&encapsulation=shadow","src/components/md-checkbox/md-checkbox.tsx"],"sourcesContent":["/* ==========================================================\n md-checkbox — Material Design 3 Checkbox\n Spec: https://m3.material.io/components/checkbox/specs\n\n Three visual states: unchecked, checked (✓), indeterminate (—)\n\n Measurements (MD3 spec):\n Container size: 18px\n Container shape: 2px corner radius\n Icon size: 18px\n Icon alignment: Center-aligned\n Target (touch) size: 48px\n State-layer size: 40px\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-checkbox-container-color Unchecked container (transparent)\n --md-checkbox-selected-container-color Checked / indeterminate fill\n --md-checkbox-outline-color Border color (unchecked)\n --md-checkbox-outline-width Border width\n --md-checkbox-icon-color Checkmark / dash color\n --md-checkbox-container-shape Container corner radius\n --md-checkbox-container-size Container size\n --md-checkbox-icon-size Icon size\n --md-checkbox-state-layer-size State-layer diameter\n --md-checkbox-state-layer-color State-layer color (unchecked)\n --md-checkbox-selected-state-layer-color State-layer color (checked/indeterminate)\n\n CSS PARTS:\n state-layer Hover / focus / press overlay\n container The 18px checkbox box\n icon The SVG icon (checkmark or dash)\n\n SLOTS:\n (none — standalone control, label provided externally)\n ========================================================== */\n\n/* ==========================================================\n 1. HOST — TOUCH TARGET\n color controls md-ripple wave color (md-ripple uses currentColor).\n ========================================================== */\n\n:host {\n --_container-color: var(--md-checkbox-container-color, transparent);\n --_selected-container-color: var(--md-checkbox-selected-container-color, var(--md-sys-color-primary));\n --_outline-color: var(--md-checkbox-outline-color, var(--md-sys-color-on-surface-variant));\n --_outline-width: var(--md-checkbox-outline-width, 2px);\n --_icon-color: var(--md-checkbox-icon-color, var(--md-sys-color-on-primary));\n --_container-shape: var(--md-checkbox-container-shape, 2px);\n /* The visible box + checkmark shrink with global density (18px at 0 → 14px at\n -4, 1px/rung) so the control itself densifies, not just the tap target. */\n --_container-size: var(--md-checkbox-container-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));\n --_icon-size: var(--md-checkbox-icon-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));\n /* Overall touch-target (host) size — shrink for dense layouts (e.g. compact\n tables). Global density: each `data-density` rung (0…-4) trims 4px, floored\n at 32px to keep breathing room around the 18px box. Unchanged at density 0.\n The 40px state layer is min(40px, touch) so it scales with — and never\n exceeds — the host at every rung. */\n --_touch-size: max(32px, calc(var(--md-checkbox-touch-target-size, 48px) + var(--md-sys-density-scale, 0) * 4px));\n --_state-layer-size: var(--md-checkbox-state-layer-size, min(40px, var(--_touch-size)));\n --_state-layer-color: var(--md-checkbox-state-layer-color, var(--md-sys-color-on-surface));\n --_selected-state-layer-color: var(--md-checkbox-selected-state-layer-color, var(--md-sys-color-primary));\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n inline-size: var(--_touch-size);\n block-size: var(--_touch-size);\n cursor: pointer;\n border-radius: var(--md-sys-shape-corner-full, 50%);\n overflow: hidden;\n -webkit-tap-highlight-color: transparent;\n box-sizing: border-box;\n flex-shrink: 0;\n vertical-align: middle;\n outline: none;\n color: var(--_state-layer-color);\n}\n\n:host(.md-checkbox--selected) {\n color: var(--_selected-state-layer-color);\n}\n\n/* ==========================================================\n 2. HIDDEN NATIVE INPUT\n ========================================================== */\n\n.md-checkbox__native {\n position: absolute;\n opacity: 0;\n inline-size: 0;\n block-size: 0;\n pointer-events: none;\n margin: 0;\n}\n\n/* ==========================================================\n 3. RIPPLE LAYER (40px — constrains md-ripple to state-layer size)\n md-ripple resolves this span as its host via parentElement,\n so its wave is sized and clipped to the 40px circle.\n ========================================================== */\n\n.md-checkbox__ripple-layer {\n position: absolute;\n inline-size: var(--_state-layer-size);\n block-size: var(--_state-layer-size);\n border-radius: var(--md-sys-shape-corner-full, 50%);\n overflow: hidden;\n}\n\n:host(.md-checkbox--disabled) .md-checkbox__ripple-layer,\n:host([soft-disabled]) .md-checkbox__ripple-layer {\n display: none;\n}\n\n/* ==========================================================\n 4. STATE LAYER (40px centered inside 48px touch target)\n ========================================================== */\n\n.md-checkbox__state-layer {\n position: absolute;\n inline-size: var(--_state-layer-size);\n block-size: var(--_state-layer-size);\n border-radius: var(--md-sys-shape-corner-full, 50%);\n background-color: var(--_state-layer-color);\n opacity: 0;\n transition: opacity var(--md-sys-motion-duration-short1, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n pointer-events: none;\n}\n\n/* Unchecked state-layer colors */\n:host(.md-checkbox--unselected:hover) .md-checkbox__state-layer {\n opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);\n}\n\n:host(.md-checkbox--unselected:focus-visible) .md-checkbox__state-layer {\n opacity: var(--md-sys-state-focus-state-layer-opacity, 0.12);\n}\n\n:host(.md-checkbox--unselected:active) .md-checkbox__state-layer {\n opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);\n}\n\n/* Selected state-layer colors */\n:host(.md-checkbox--selected) .md-checkbox__state-layer {\n background-color: var(--_selected-state-layer-color);\n}\n\n:host(.md-checkbox--selected:hover) .md-checkbox__state-layer {\n opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);\n}\n\n:host(.md-checkbox--selected:focus-visible) .md-checkbox__state-layer {\n opacity: var(--md-sys-state-focus-state-layer-opacity, 0.12);\n}\n\n:host(.md-checkbox--selected:active) .md-checkbox__state-layer {\n opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);\n}\n\n/* ==========================================================\n 4. FOCUS RING\n ========================================================== */\n\n:host(:focus-visible) {\n /* Hug the state layer instead of the (larger) touch-target host — a +offset\n on the 48px host made a ~52px ring around the 18px box (lots of white\n space). Negative offset pulls it to the state-layer edge; scales with\n density since the offset is derived from the host/state-layer sizes. */\n outline: 2px solid var(--md-sys-color-secondary);\n outline-offset: calc((var(--_state-layer-size) - var(--_touch-size)) / 2);\n}\n\n/* ==========================================================\n 5. CONTAINER (18px box)\n Transitions use the same motion tokens as md-button:\n Release: medium4 (400ms) + emphasized-decelerate (spring-back)\n Press: short4 (200ms) + standard (snap-in)\n ========================================================== */\n\n.md-checkbox__container {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: var(--_container-size);\n block-size: var(--_container-size);\n border-radius: var(--_container-shape);\n border: var(--_outline-width) solid var(--_outline-color);\n background-color: var(--_container-color);\n box-sizing: border-box;\n pointer-events: none;\n transition:\n background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n border-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n transform var(--md-sys-motion-duration-medium4, 400ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1));\n}\n\n/* Selected (checked or indeterminate) container */\n:host(.md-checkbox--selected) .md-checkbox__container {\n background-color: var(--_selected-container-color);\n border-color: var(--_selected-container-color);\n}\n\n/* ==========================================================\n 5b. PRESS ANIMATION — M3 Expressive\n Same approach as md-button shape-morph: squish on press,\n spring back on release with asymmetric timing.\n ========================================================== */\n\n:host(.md-checkbox--pressed) .md-checkbox__container {\n transform: scale(0.82);\n transition:\n background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n border-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n\n/* Error state support via custom property */\n:host([aria-invalid=\"true\"]) .md-checkbox__container {\n border-color: var(--md-sys-color-error);\n}\n\n:host([aria-invalid=\"true\"].md-checkbox--selected) .md-checkbox__container {\n background-color: var(--md-sys-color-error);\n border-color: var(--md-sys-color-error);\n}\n\n/* ==========================================================\n 6. ICON (Material Symbols check / remove)\n ========================================================== */\n\n/* The glyph is the SAME Material Symbols `check` md-step uses for a completed\n step — see md-step.css §\"bubble\". The font-family has to be declared here\n too: the global `.material-symbols-outlined` rule lives in the document\n stylesheet and does not cross the shadow boundary, so a shadow-DOM glyph with\n no local font-family renders as the literal word \"check\". */\n.md-checkbox__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: var(--_icon-size);\n block-size: var(--_icon-size);\n color: var(--_icon-color);\n overflow: visible;\n}\n\n.md-checkbox__icon .material-symbols-outlined {\n font-family: var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');\n font-size: var(--_icon-size);\n line-height: 1;\n font-weight: normal;\n font-style: normal;\n letter-spacing: normal;\n text-transform: none;\n white-space: nowrap;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n /* FILL 1 / wght 600 — the same face md-step gives a completed step, which is\n what makes the two marks read as one shape rather than two weights. */\n font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 24;\n}\n\n/* Scale-in when the mark appears, replacing the old stroke-draw animation a\n font glyph cannot do. Matches md-step's glyph entrance. */\n@keyframes md-checkbox-glyph-in {\n 0% { transform: scale(0); opacity: 0; }\n 60% { transform: scale(1.18); opacity: 1; }\n 100% { transform: scale(1); opacity: 1; }\n}\n\n:host(.md-checkbox--checked) .md-checkbox__icon .material-symbols-outlined,\n:host(.md-checkbox--indeterminate) .md-checkbox__icon .material-symbols-outlined {\n animation: md-checkbox-glyph-in\n var(--md-sys-motion-duration-short2, 200ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)) both;\n}\n\n/* Unselected: hide icon entirely */\n:host(.md-checkbox--unselected) .md-checkbox__icon {\n opacity: 0;\n}\n\n:host(.md-checkbox--selected) .md-checkbox__icon {\n opacity: 1;\n}\n\n/* ==========================================================\n 7. DISABLED\n ========================================================== */\n\n:host(.md-checkbox--disabled) {\n cursor: default;\n pointer-events: none;\n}\n\n:host(.md-checkbox--disabled.md-checkbox--unselected) .md-checkbox__container {\n border-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n background-color: transparent;\n}\n\n:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__container {\n background-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n border-color: transparent;\n}\n\n:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__icon {\n color: var(--md-sys-color-surface);\n}\n\n:host(.md-checkbox--disabled) .md-checkbox__state-layer {\n display: none;\n}\n\n/* Soft-disabled: disabled visuals but remains focusable */\n:host([soft-disabled]) {\n cursor: default;\n pointer-events: auto;\n}\n\n:host([soft-disabled].md-checkbox--unselected) .md-checkbox__container {\n border-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n background-color: transparent;\n}\n\n:host([soft-disabled].md-checkbox--selected) .md-checkbox__container {\n background-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n border-color: transparent;\n}\n\n:host([soft-disabled].md-checkbox--selected) .md-checkbox__icon {\n color: var(--md-sys-color-surface);\n}\n\n:host([soft-disabled]) .md-checkbox__state-layer {\n display: none;\n}\n\n/* ==========================================================\n 8. REDUCED MOTION\n ========================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .md-checkbox__container,\n .md-checkbox__state-layer {\n transition: none;\n }\n\n .md-checkbox__icon .material-symbols-outlined {\n animation: none;\n }\n}\n\n/* ==========================================================\n 9. FORCED COLORS — Windows High Contrast\n ========================================================== */\n\n@media (forced-colors: active) {\n :host {\n forced-color-adjust: none;\n }\n\n .md-checkbox__container {\n border-color: ButtonText;\n background-color: ButtonFace;\n }\n\n :host(.md-checkbox--selected) .md-checkbox__container {\n background-color: Highlight;\n border-color: Highlight;\n }\n\n :host(.md-checkbox--selected) .md-checkbox__icon {\n color: HighlightText;\n }\n\n :host(:focus-visible) {\n outline-color: Highlight;\n }\n\n :host(.md-checkbox--disabled) .md-checkbox__container {\n border-color: GrayText;\n opacity: 1;\n }\n\n :host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__container {\n background-color: GrayText;\n border-color: GrayText;\n }\n\n .md-checkbox__state-layer {\n display: none;\n }\n}\n\n/* ==========================================================\n DENSITY (local override)\n Maps the local `density` prop onto the same --md-sys-density-scale signal a\n global `data-density` ancestor sets. Declared on :host, so a local rung wins\n over the inherited global one. Every density-sensitive value in this file\n derives from that single signal by calc — never add a fixed per-rung ladder.\n ========================================================== */\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/* ==========================================================\n TARGET WRAPPER + SUPPORTING LINE\n The 48px touch target, its ripple clipping and its circular overflow now\n live on .md-checkbox__target rather than on :host. That indirection exists\n for one reason: `:host { overflow: hidden }` clips the ripple to a circle,\n and it was silently clipping the supporting message out of existence too.\n The host can now grow to fit a message while the target keeps its exact\n size and clipping.\n\n Layout only changes when there IS a message, so a checkbox without one\n renders byte-identically to before.\n ========================================================== */\n.md-checkbox__target {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: var(--_touch-size);\n block-size: var(--_touch-size);\n border-radius: var(--md-sys-shape-corner-full, 50%);\n overflow: hidden;\n flex-shrink: 0;\n}\n\n:host(.md-checkbox--has-support) {\n /* Stack target over message. Height becomes auto so the line is IN FLOW —\n an absolutely positioned one was clipped by the target's overflow and,\n once escaped, painted underneath the following row. */\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n /* Stay as NARROW as the touch target. max-content here stretched the host to\n the width of the sentence, which shoved the adjacent label text far to the\n right. The message overflows horizontally instead (overflow is visible), so\n it is readable without affecting the row's layout. */\n inline-size: var(--_touch-size);\n block-size: auto;\n overflow: visible;\n border-radius: 0;\n}\n\n.md-checkbox__support {\n display: block;\n margin-block-start: 2px;\n /* Align the message with the VISIBLE box, not the touch target. The box is\n centred inside the larger target, so a message flush to the host's edge\n started ~15px to its left and read as misaligned. Inset it by exactly the\n gap between the two. */\n margin-inline-start: calc((var(--_touch-size) - var(--_container-size)) / 2);\n /* Sized to its content and allowed to overflow the narrow host — the host\n reserves the vertical space, not the horizontal. */\n inline-size: max-content;\n max-inline-size: 60ch;\n\n font-family: var(--md-sys-typescale-body-small-font-family, Roboto, sans-serif);\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(--md-checkbox-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454F));\n}\n\n.md-checkbox__support--error {\n color: var(--md-checkbox-error-text-color, var(--md-sys-color-error, #B3261E));\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { triggerRipple } from '../../utils/ripple';\nimport {\n setFormValue,\n setValidityState,\n checkValidityOf,\n reportValidityOf,\n getValidityOf,\n} from '../../utils/form';\n\n/**\n * `md-checkbox` — Material Design 3 checkbox (with tri-state / indeterminate).\n *\n * Form-associated: inside a `<form>` it submits its `value` under `name` when\n * checked, and restores on form reset. It is a *labelable* element — wrap it in\n * a `<label>` (clicks on the label text toggle it AND give it its accessible\n * name natively), or pass `aria-label` / `aria-labelledby` on the host. A bare,\n * unlabeled checkbox has no accessible name (axe `aria-toggle-field-name`).\n *\n * @part state-layer - State-layer overlay\n * @part container - Box container that holds the icon\n * @part icon - Checkmark / indeterminate-dash SVG\n */\n@Component({\n tag: 'md-checkbox',\n styleUrl: 'md-checkbox.css',\n shadow: true,\n formAssociated: true,\n})\nexport class MdCheckbox {\n @Element() el!: HTMLElement;\n\n\n /**\n * Localized constraint-validation message shown when `required` is unmet.\n *\n * A prop rather than a hardcoded string, matching md-time-picker's\n * `value-missing-label`: components stay i18n-engine-agnostic and the\n * consumer localizes through its own dictionary. Native inputs get their\n * message from the browser's locale for free; a form-associated custom\n * element supplies its own, so leaving this hardcoded would ship an\n * English-only form to every locale.\n */\n @Prop({ attribute: 'value-missing-label' }) valueMissingLabel: string =\n 'Please check this box if you want to proceed.';\n\n /** Message set via setCustomValidity(); non-empty wins over valueMissing. */\n private customValidityMessage = '';\n\n /** Stable id so the supporting line can be referenced by aria-describedby. */\n private uid = `md-checkbox-${Math.random().toString(36).slice(2, 7)}`;\n\n /** Drives aria-invalid on the host. */\n @State() private invalid = false;\n\n /** Show the supporting line in the error colour. */\n @Prop({ reflect: true }) error: boolean = false;\n\n /**\n * Supporting / error message shown beneath the control.\n *\n * A checkbox previously had nowhere to put a message, so a failed `required`\n * could only surface as the browser's own validation balloon — visually\n * unrelated to the field, and gone the moment you click away. This gives it\n * the same inline supporting line md-text-field has.\n *\n * The host is a fixed-size touch target, so the line is positioned OUT of\n * that box rather than laid out inside it; see the CSS for why that cannot\n * simply be a flex child.\n */\n @Prop({ attribute: 'error-text', mutable: true }) errorText: string = '';\n\n /** Supporting text shown when there is no error. */\n @Prop({ attribute: 'supporting-text' }) supportingText: string = '';\n\n /**\n * Form-association handle. The checkbox submits `value` under the host's\n * `name` via `setFormValue`, so it participates in `<form>` / `FormData`\n * natively. A hidden shadow `<input>` was previously used but a shadow-DOM\n * form control is invisible to the outer form's `FormData` AND nests a native\n * checkbox inside the `role=\"checkbox\"` host (axe `nested-interactive`).\n */\n @AttachInternals() internals!: ElementInternals;\n\n /** Whether the checkbox is checked */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /** Whether the checkbox is in the indeterminate (mixed) state */\n @Prop({ mutable: true, reflect: true }) indeterminate: boolean = false;\n\n /** Disables the checkbox */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Soft-disabled: disabled visuals but remains focusable for discoverability */\n @Prop({ reflect: true, attribute: 'soft-disabled' }) softDisabled: boolean = false;\n\n /** Whether the checkbox is required in a form */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Form name */\n @Prop() name: string = '';\n\n /** Form value submitted when checked */\n @Prop() value: string = 'on';\n\n /**\n * Local density rung. Drives the same `--md-sys-density-scale` signal that a\n * global `data-density` ancestor sets, so a local value simply overrides the\n * inherited one. 0 = default, -4 = ultra-compact.\n */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n\n /** Emits when checked or indeterminate state changes */\n @Event() mdChange: EventEmitter<{ checked: boolean; indeterminate: boolean }>;\n\n @State() private prevChecked: boolean = false;\n @State() private prevIndeterminate: boolean = false;\n @State() private pressed = false;\n\n private initialChecked = false;\n private initialIndeterminate = false;\n\n private get isDisabled() {\n return this.disabled || this.softDisabled;\n }\n\n // md-checkbox is form-associated, so it is a *labelable* element: a wrapping\n // <label> forwards clicks and names it NATIVELY — no manual closest('label')\n // wiring (which would double-toggle, since the native label click already\n // reaches the host).\n\n componentWillLoad() {\n this.initialChecked = this.checked;\n this.initialIndeterminate = this.indeterminate;\n this.syncFormValue();\n }\n\n @Watch('checked')\n @Watch('indeterminate')\n onStateChange() {\n this.prevChecked = this.checked;\n this.prevIndeterminate = this.indeterminate;\n this.syncFormValue();\n }\n\n @Watch('value')\n onValueChange() {\n this.syncFormValue();\n }\n\n /** Restore the initial checked / indeterminate state when the form resets. */\n formResetCallback() {\n this.checked = this.initialChecked;\n this.indeterminate = this.initialIndeterminate;\n }\n\n private syncFormValue() {\n // Indeterminate is a visual state only; `checked` alone decides submission.\n setFormValue(this.internals, this.checked ? this.value : null);\n this.syncValidity();\n }\n\n /**\n * Publish `required` to the owning form. Without this the checkbox is\n * form-associated (its value reaches FormData) yet ALWAYS reports valid, so an\n * empty required control lets the form submit — `required` renders as a visual\n * hint and nothing more. Kept in the same place as the value sync so the two\n * can never drift.\n */\n @Watch('required')\n @Watch('valueMissingLabel')\n private syncValidity() {\n // Mirror the computed validity into state so the host can expose\n // aria-invalid. WCAG 3.3.1 (Error Identification, Level A): a control that\n // is invalid must SAY SO programmatically, not just look wrong. This host\n // carries role=\"checkbox\", so aria-invalid belongs on it. Error TEXT stays\n // the app's to render and link with aria-describedby on this host (it is a\n // light-DOM element, so that association works without our help) — the\n // component does not own the label and should not own the message.\n this.invalid = this.required && !this.checked && !this.customValidityMessage\n ? true\n : !!this.customValidityMessage;\n setValidityState(this.internals, {\n missing: this.required && !this.checked,\n missingMessage: this.valueMissingLabel,\n customMessage: this.customValidityMessage,\n });\n this.emitValidityChange();\n }\n\n /** Current validity: boolean, message and flags. Mirrors md-text-field. */\n @Method()\n async getValidity(): Promise<{\n valid: boolean;\n validationMessage: string;\n flags: Record<string, boolean>;\n }> {\n return getValidityOf(this.internals);\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, matching md-text-field and the native contract. */\n @Method()\n async checkValidity(): Promise<boolean> {\n return checkValidityOf(this.internals);\n }\n\n /** Like checkValidity(), but also shows the browser's validation message. */\n @Method()\n async reportValidity(): Promise<boolean> {\n return reportValidityOf(this.internals);\n }\n\n /** App/server-side validation: a non-empty message marks the control invalid\n * for its form until cleared with an empty string. */\n @Method()\n async setCustomValidity(message: string) {\n this.customValidityMessage = message;\n this.syncValidity();\n }\n\n private handleClick = () => {\n if (this.isDisabled) return;\n\n this.prevChecked = this.checked;\n this.prevIndeterminate = this.indeterminate;\n\n if (this.indeterminate) {\n this.indeterminate = false;\n this.checked = true;\n } else {\n this.checked = !this.checked;\n }\n\n this.mdChange.emit({ checked: this.checked, indeterminate: this.indeterminate });\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.isDisabled) return;\n if (e.key === ' ') {\n e.preventDefault();\n this.pressed = true;\n triggerRipple(this.el);\n this.handleClick();\n setTimeout(() => { this.pressed = false; }, 150);\n }\n };\n\n private handlePointerDown = () => {\n if (!this.isDisabled) this.pressed = true;\n };\n\n private handlePointerUp = () => {\n this.pressed = false;\n };\n\n private get ariaCheckedValue(): string {\n if (this.indeterminate) return 'mixed';\n return String(this.checked);\n }\n\n render() {\n const isEffectivelyDisabled = this.isDisabled;\n const isSelected = this.checked || this.indeterminate;\n /* A checkbox authored `aria-hidden=\"true\"` is a purely decorative\n indicator (e.g. an M3 list-row selection glyph mirroring the row's\n state — the row click owns the real toggle). It must NOT be focusable:\n a focusable `role=\"checkbox\"` nested inside an interactive row\n (`role=\"option\"`/`button`) trips axe `nested-interactive`, and an\n aria-hidden element in the tab order trips `aria-hidden-focus`. Note a\n `tabindex=\"-1\"` is NOT enough — nested-interactive flags any focusable\n (tabindex present) widget descendant \"even with aria-hidden\" — so the\n attribute is dropped entirely, leaving the host non-focusable. */\n const decorative = this.el.getAttribute('aria-hidden') === 'true';\n\n return (\n <Host\n class={{\n 'md-checkbox': true,\n 'md-checkbox--checked': this.checked && !this.indeterminate,\n 'md-checkbox--indeterminate': this.indeterminate,\n 'md-checkbox--disabled': isEffectivelyDisabled,\n 'md-checkbox--selected': isSelected,\n 'md-checkbox--unselected': !isSelected,\n 'md-checkbox--pressed': this.pressed,\n 'md-checkbox--prev-unselected': !this.prevChecked && !this.prevIndeterminate,\n 'md-checkbox--has-support': !!(this.errorText || this.supportingText),\n }}\n role=\"checkbox\"\n aria-invalid={this.invalid ? 'true' : undefined}\n aria-describedby={this.errorText || this.supportingText ? `${this.uid}-support` : undefined}\n aria-checked={this.ariaCheckedValue}\n aria-disabled={isEffectivelyDisabled ? 'true' : undefined}\n aria-required={this.required ? 'true' : undefined}\n tabindex={decorative ? null : this.disabled ? '-1' : '0'}\n onPointerDown={this.handlePointerDown}\n onPointerUp={this.handlePointerUp}\n onPointerLeave={this.handlePointerUp}\n onPointerCancel={this.handlePointerUp}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <span class=\"md-checkbox__target\" part=\"target\">\n <span class=\"md-checkbox__ripple-layer\" aria-hidden=\"true\">\n <md-ripple disabled={isEffectivelyDisabled}></md-ripple>\n </span>\n <span class=\"md-checkbox__state-layer\" part=\"state-layer\" aria-hidden=\"true\"></span>\n\n <span class=\"md-checkbox__container\" part=\"container\">\n {/* Material Symbols glyphs — the same `check` md-step draws for a\n completed step, so the two components' marks are identical rather\n than merely similar. (This replaced a hand-drawn SVG path whose\n stroke geometry never quite matched the font face.) */}\n <span class=\"md-checkbox__icon\" part=\"icon\" aria-hidden=\"true\">\n <span class=\"material-symbols-outlined\">\n {this.indeterminate ? 'remove' : 'check'}\n </span>\n </span>\n </span>\n </span>\n\n{(this.errorText || this.supportingText) && (\n <span\n id={`${this.uid}-support`}\n part=\"supporting-text\"\n role={this.error ? 'alert' : undefined}\n class={{\n 'md-checkbox__support': true,\n 'md-checkbox__support--error': this.error,\n }}\n >\n {this.errorText || this.supportingText}\n </span>\n )}\n\n </Host>\n );\n }\n}\n"],"mappings":"+MAAA,MAAMA,EAAgB,IAAM,2wS,MC6BfC,EAAUC,EAAA,MAAAD,UAAAE,EANvB,WAAAC,CAAAC,G,8LAoB8CC,KAAAC,kBAC1C,gDAGMD,KAAAE,sBAAwB,GAGxBF,KAAAG,IAAM,eAAeC,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,KAGhDP,KAAAQ,QAAU,MAGFR,KAAAS,MAAiB,MAcQT,KAAAU,UAAoB,GAG9BV,KAAAW,eAAyB,GAYzBX,KAAAY,QAAmB,MAGnBZ,KAAAa,cAAyB,MAGxCb,KAAAc,SAAoB,MAGQd,KAAAe,aAAwB,MAGpDf,KAAAgB,SAAoB,MAGrChB,KAAAiB,KAAe,GAGfjB,KAAAkB,MAAgB,KAOClB,KAAAmB,QAAiC,EAKzCnB,KAAAoB,YAAuB,MACvBpB,KAAAqB,kBAA6B,MAC7BrB,KAAAsB,QAAU,MAEnBtB,KAAAuB,eAAiB,MACjBvB,KAAAwB,qBAAuB,MAkGvBxB,KAAAyB,gBAAiC,KAuCjCzB,KAAA0B,YAAc,KACpB,GAAI1B,KAAK2B,WAAY,OAErB3B,KAAKoB,YAAcpB,KAAKY,QACxBZ,KAAKqB,kBAAoBrB,KAAKa,cAE9B,GAAIb,KAAKa,cAAe,CACtBb,KAAKa,cAAgB,MACrBb,KAAKY,QAAU,I,KACV,CACLZ,KAAKY,SAAWZ,KAAKY,O,CAGvBZ,KAAK4B,SAASC,KAAK,CAAEjB,QAASZ,KAAKY,QAASC,cAAeb,KAAKa,eAAgB,EAG1Eb,KAAA8B,cAAiBC,IACvB,GAAI/B,KAAK2B,WAAY,OACrB,GAAII,EAAEC,MAAQ,IAAK,CACjBD,EAAEE,iBACFjC,KAAKsB,QAAU,KACfY,EAAclC,KAAKmC,IACnBnC,KAAK0B,cACLU,YAAW,KAAQpC,KAAKsB,QAAU,KAAK,GAAK,I,GAIxCtB,KAAAqC,kBAAoB,KAC1B,IAAKrC,KAAK2B,WAAY3B,KAAKsB,QAAU,IAAI,EAGnCtB,KAAAsC,gBAAkB,KACxBtC,KAAKsB,QAAU,KAAK,CAqFvB,CA5PC,cAAYK,GACV,OAAO3B,KAAKc,UAAYd,KAAKe,Y,CAQ/B,iBAAAwB,GACEvC,KAAKuB,eAAiBvB,KAAKY,QAC3BZ,KAAKwB,qBAAuBxB,KAAKa,cACjCb,KAAKwC,e,CAKP,aAAAC,GACEzC,KAAKoB,YAAcpB,KAAKY,QACxBZ,KAAKqB,kBAAoBrB,KAAKa,cAC9Bb,KAAKwC,e,CAIP,aAAAE,GACE1C,KAAKwC,e,CAIP,iBAAAG,GACE3C,KAAKY,QAAUZ,KAAKuB,eACpBvB,KAAKa,cAAgBb,KAAKwB,oB,CAGpB,aAAAgB,GAENI,EAAa5C,KAAK6C,UAAW7C,KAAKY,QAAUZ,KAAKkB,MAAQ,MACzDlB,KAAK8C,c,CAYC,YAAAA,GAQN9C,KAAKQ,QAAUR,KAAKgB,WAAahB,KAAKY,UAAYZ,KAAKE,sBACnD,OACEF,KAAKE,sBACX6C,EAAiB/C,KAAK6C,UAAW,CAC/BG,QAAShD,KAAKgB,WAAahB,KAAKY,QAChCqC,eAAgBjD,KAAKC,kBACrBiD,cAAelD,KAAKE,wBAEpBF,KAAKmD,oB,CAKT,iBAAMC,GAKJ,OAAOC,EAAcrD,KAAK6C,U,CA+BpB,kBAAAM,GACN,MAAMG,EAAID,EAAcrD,KAAK6C,WAC7B,MAAMb,EAAM,GAAGsB,EAAEC,SAASD,EAAEE,oBAC5B,GAAIxD,KAAKyB,kBAAoBO,EAAK,OAClC,MAAMyB,EAASzD,KAAKyB,kBAAoB,KACxCzB,KAAKyB,gBAAkBO,EACvB,GAAIyB,EAAQzD,KAAK0D,iBAAiB7B,KAAKyB,E,CAKzC,mBAAMK,GACJ,OAAOC,EAAgB5D,KAAK6C,U,CAK9B,oBAAMgB,GACJ,OAAOC,EAAiB9D,KAAK6C,U,CAM/B,uBAAMkB,CAAkBC,GACtBhE,KAAKE,sBAAwB8D,EAC7BhE,KAAK8C,c,CAsCP,oBAAYmB,GACV,GAAIjE,KAAKa,cAAe,MAAO,QAC/B,OAAOqD,OAAOlE,KAAKY,Q,CAGrB,MAAAuD,GACE,MAAMC,EAAwBpE,KAAK2B,WACnC,MAAM0C,EAAarE,KAAKY,SAAWZ,KAAKa,cAUxC,MAAMyD,EAAatE,KAAKmC,GAAGoC,aAAa,iBAAmB,OAE3D,OACEC,EAACC,EAAI,CAAAzC,IAAA,2CACH0C,MAAO,CACL,cAAe,KACf,uBAAwB1E,KAAKY,UAAYZ,KAAKa,cAC9C,6BAA8Bb,KAAKa,cACnC,wBAAyBuD,EACzB,wBAAyBC,EACzB,2BAA4BA,EAC5B,uBAAwBrE,KAAKsB,QAC7B,gCAAiCtB,KAAKoB,cAAgBpB,KAAKqB,kBAC3D,8BAA+BrB,KAAKU,WAAaV,KAAKW,iBAExDgE,KAAK,WAAU,eACD3E,KAAKQ,QAAU,OAASoE,UAAS,mBAC7B5E,KAAKU,WAAaV,KAAKW,eAAiB,GAAGX,KAAKG,cAAgByE,UAAS,eAC7E5E,KAAKiE,iBAAgB,gBACpBG,EAAwB,OAASQ,UAAS,gBAC1C5E,KAAKgB,SAAW,OAAS4D,UACxCC,SAAUP,EAAa,KAAOtE,KAAKc,SAAW,KAAO,IACrDgE,cAAe9E,KAAKqC,kBACpB0C,YAAa/E,KAAKsC,gBAClB0C,eAAgBhF,KAAKsC,gBACrB2C,gBAAiBjF,KAAKsC,gBACtB4C,QAASlF,KAAK0B,YACdyD,UAAWnF,KAAK8B,eAEhB0C,EAAA,QAAAxC,IAAA,2CAAM0C,MAAM,sBAAsBU,KAAK,UACrCZ,EAAA,QAAAxC,IAAA,2CAAM0C,MAAM,4BAA2B,cAAa,QACpDF,EAAA,aAAAxC,IAAA,2CAAWlB,SAAUsD,KAEvBI,EAAA,QAAAxC,IAAA,2CAAM0C,MAAM,2BAA2BU,KAAK,cAAa,cAAa,SAEtEZ,EAAA,QAAAxC,IAAA,2CAAM0C,MAAM,yBAAyBU,KAAK,aAKxCZ,EAAA,QAAAxC,IAAA,2CAAM0C,MAAM,oBAAoBU,KAAK,OAAM,cAAa,QACtDZ,EAAA,QAAAxC,IAAA,2CAAM0C,MAAM,6BACT1E,KAAKa,cAAgB,SAAW,aAM7Cb,KAAKU,WAAaV,KAAKW,iBACf6D,EAAA,QAAAxC,IAAA,2CACEqD,GAAI,GAAGrF,KAAKG,cACZiF,KAAK,kBACLT,KAAM3E,KAAKS,MAAQ,QAAUmE,UAC7BF,MAAO,CACL,uBAAwB,KACxB,8BAA+B1E,KAAKS,QAGrCT,KAAKU,WAAaV,KAAKW,gB","ignoreList":[]}