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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/README.md +18 -0
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  3. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  4. package/dist/cjs/engine.wasm-9JtXME10.js +12 -0
  5. package/dist/cjs/engine.wasm-9JtXME10.js.map +1 -0
  6. package/dist/cjs/{index-DlQ_5_Mv.js → index-Bm07YAg9.js} +4 -15
  7. package/dist/cjs/index-Bm07YAg9.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +3 -2
  9. package/dist/cjs/loader.cjs.js.map +1 -1
  10. package/dist/cjs/md-accordion-item.cjs.entry.js +1 -1
  11. package/dist/cjs/md-accordion.cjs.entry.js +1 -1
  12. package/dist/cjs/md-app-bar.cjs.entry.js +1 -1
  13. package/dist/cjs/md-area-chart.cjs.entry.js +1 -1
  14. package/dist/cjs/md-autocomplete.cjs.entry.js +2 -2
  15. package/dist/cjs/md-avatar_2.cjs.entry.js +1 -1
  16. package/dist/cjs/md-badge.cjs.entry.js +1 -1
  17. package/dist/cjs/md-bar-chart.cjs.entry.js +1 -1
  18. package/dist/cjs/md-bottom-sheet.cjs.entry.js +1 -1
  19. package/dist/cjs/md-breadcrumb-item.cjs.entry.js +1 -1
  20. package/dist/cjs/md-breadcrumbs.cjs.entry.js +1 -1
  21. package/dist/cjs/md-button-group.cjs.entry.js +1 -1
  22. package/dist/cjs/md-button_7.cjs.entry.js +1 -1
  23. package/dist/cjs/md-checkbox.cjs.entry.js +1 -1
  24. package/dist/cjs/md-chip.cjs.entry.js +1 -1
  25. package/dist/cjs/md-color-picker.cjs.entry.js +1 -1
  26. package/dist/cjs/md-date-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/md-dialog.cjs.entry.js +1 -1
  28. package/dist/cjs/md-divider.cjs.entry.js +1 -1
  29. package/dist/cjs/md-fab-menu-item.cjs.entry.js +1 -1
  30. package/dist/cjs/md-fab-menu.cjs.entry.js +1 -1
  31. package/dist/cjs/md-fab.cjs.entry.js +1 -1
  32. package/dist/cjs/md-line-chart.cjs.entry.js +1 -1
  33. package/dist/cjs/md-list-item.cjs.entry.js +1 -1
  34. package/dist/cjs/md-list.cjs.entry.js +1 -1
  35. package/dist/cjs/md-menu-item-group.cjs.entry.js +1 -1
  36. package/dist/cjs/md-menu_2.cjs.entry.js +1 -1
  37. package/dist/cjs/md-meter.cjs.entry.js +1 -1
  38. package/dist/cjs/md-multi-select.cjs.entry.js +2 -2
  39. package/dist/cjs/md-navigation-bar.cjs.entry.js +1 -1
  40. package/dist/cjs/md-navigation-rail-tab.cjs.entry.js +1 -1
  41. package/dist/cjs/md-navigation-rail.cjs.entry.js +1 -1
  42. package/dist/cjs/md-navigation-tab.cjs.entry.js +1 -1
  43. package/dist/cjs/md-number-field.cjs.entry.js +1 -1
  44. package/dist/cjs/md-organization-chart.cjs.entry.js +1 -1
  45. package/dist/cjs/md-otp-field.cjs.entry.js +1 -1
  46. package/dist/cjs/md-pie-chart.cjs.entry.js +1 -1
  47. package/dist/cjs/md-progress-indicator.cjs.entry.js +1 -1
  48. package/dist/cjs/md-rating.cjs.entry.js +1 -1
  49. package/dist/cjs/md-search.cjs.entry.js +1 -1
  50. package/dist/cjs/md-segmented-button-set.cjs.entry.js +1 -1
  51. package/dist/cjs/md-segmented-button.cjs.entry.js +1 -1
  52. package/dist/cjs/md-select-option.cjs.entry.js +1 -1
  53. package/dist/cjs/md-select.cjs.entry.js +2 -2
  54. package/dist/cjs/md-side-sheet.cjs.entry.js +1 -1
  55. package/dist/cjs/md-skeleton.cjs.entry.js +1 -1
  56. package/dist/cjs/md-slider.cjs.entry.js +1 -1
  57. package/dist/cjs/md-sparkline.cjs.entry.js +1 -1
  58. package/dist/cjs/md-split-button.cjs.entry.js +1 -1
  59. package/dist/cjs/md-status-dot.cjs.entry.js +1 -1
  60. package/dist/cjs/md-step.cjs.entry.js +1 -1
  61. package/dist/cjs/md-stepper.cjs.entry.js +1 -1
  62. package/dist/cjs/md-sub-menu-item.cjs.entry.js +1 -1
  63. package/dist/cjs/md-switch.cjs.entry.js +1 -1
  64. package/dist/cjs/md-tab-panel.cjs.entry.js +1 -1
  65. package/dist/cjs/md-tab-panels.cjs.entry.js +1 -1
  66. package/dist/cjs/md-tab.cjs.entry.js +1 -1
  67. package/dist/cjs/md-table-body.cjs.entry.js +1 -1
  68. package/dist/cjs/md-table-cell.cjs.entry.js +1 -1
  69. package/dist/cjs/md-table-container.cjs.entry.js +1 -1
  70. package/dist/cjs/md-table-expand-toggle.cjs.entry.js +1 -1
  71. package/dist/cjs/md-table-foot.cjs.entry.js +1 -1
  72. package/dist/cjs/md-table-head.cjs.entry.js +1 -1
  73. package/dist/cjs/md-table-pagination.cjs.entry.js +1 -1
  74. package/dist/cjs/md-table-row.cjs.entry.js +1 -1
  75. package/dist/cjs/md-table-sort-label.cjs.entry.js +1 -1
  76. package/dist/cjs/md-table-toolbar.cjs.entry.js +1 -1
  77. package/dist/cjs/md-table.cjs.entry.js +1 -1
  78. package/dist/cjs/md-tabs.cjs.entry.js +1 -1
  79. package/dist/cjs/md-text-field.cjs.entry.js +1 -1
  80. package/dist/cjs/md-time-picker.cjs.entry.js +1 -1
  81. package/dist/cjs/md-toolbar.cjs.entry.js +1 -1
  82. package/dist/cjs/md-transfer-list.cjs.entry.js +1 -1
  83. package/dist/cjs/md3.cjs.js +3 -2
  84. package/dist/cjs/md3.cjs.js.map +1 -1
  85. package/dist/cjs/{virtual-select-controller-CqriaZgm.js → virtual-select-controller-C5cSoKfB.js} +10 -9
  86. package/dist/cjs/virtual-select-controller-C5cSoKfB.js.map +1 -0
  87. package/dist/collection/wasm/engine-abi.js +8 -2
  88. package/dist/collection/wasm/engine-abi.js.map +1 -1
  89. package/dist/components/index.js +1 -1
  90. package/dist/components/md-accordion-item.js +1 -1
  91. package/dist/components/md-accordion.js +1 -1
  92. package/dist/components/md-app-bar.js +1 -1
  93. package/dist/components/md-area-chart.js +1 -1
  94. package/dist/components/md-area-chart.js.map +1 -1
  95. package/dist/components/md-autocomplete.js +1 -1
  96. package/dist/components/md-avatar.js +1 -1
  97. package/dist/components/md-badge.js +1 -1
  98. package/dist/components/md-bar-chart.js +1 -1
  99. package/dist/components/md-bottom-sheet.js +1 -1
  100. package/dist/components/md-breadcrumb-item.js +1 -1
  101. package/dist/components/md-breadcrumbs.js +1 -1
  102. package/dist/components/md-button-group.js +1 -1
  103. package/dist/components/md-button.js +1 -1
  104. package/dist/components/md-card.js +1 -1
  105. package/dist/components/md-checkbox.js +1 -1
  106. package/dist/components/md-chip.js +1 -1
  107. package/dist/components/md-color-picker.js +1 -1
  108. package/dist/components/md-date-picker.js +1 -1
  109. package/dist/components/md-dialog.js +1 -1
  110. package/dist/components/md-divider.js +1 -1
  111. package/dist/components/md-fab-menu-item.js +1 -1
  112. package/dist/components/md-fab-menu.js +1 -1
  113. package/dist/components/md-fab.js +1 -1
  114. package/dist/components/md-icon-button.js +1 -1
  115. package/dist/components/md-line-chart.js +1 -1
  116. package/dist/components/md-list-item.js +1 -1
  117. package/dist/components/md-list.js +1 -1
  118. package/dist/components/md-loading-indicator.js +1 -1
  119. package/dist/components/md-menu-item-group.js +1 -1
  120. package/dist/components/md-menu-item.js +1 -1
  121. package/dist/components/md-menu.js +1 -1
  122. package/dist/components/md-meter.js +1 -1
  123. package/dist/components/md-multi-select.js +1 -1
  124. package/dist/components/md-navigation-bar.js +1 -1
  125. package/dist/components/md-navigation-rail-tab.js +1 -1
  126. package/dist/components/md-navigation-rail.js +1 -1
  127. package/dist/components/md-navigation-tab.js +1 -1
  128. package/dist/components/md-number-field.js +1 -1
  129. package/dist/components/md-organization-chart.js +1 -1
  130. package/dist/components/md-otp-field.js +1 -1
  131. package/dist/components/md-pie-chart.js +1 -1
  132. package/dist/components/md-progress-indicator.js +1 -1
  133. package/dist/components/md-radio.js +1 -1
  134. package/dist/components/md-rating.js +1 -1
  135. package/dist/components/md-ripple.js +1 -1
  136. package/dist/components/md-search.js +1 -1
  137. package/dist/components/md-segmented-button-set.js +1 -1
  138. package/dist/components/md-segmented-button.js +1 -1
  139. package/dist/components/md-select-option.js +1 -1
  140. package/dist/components/md-select.js +1 -1
  141. package/dist/components/md-side-sheet.js +1 -1
  142. package/dist/components/md-skeleton.js +1 -1
  143. package/dist/components/md-slider.js +1 -1
  144. package/dist/components/md-snackbar.js +1 -1
  145. package/dist/components/md-sparkline.js +1 -1
  146. package/dist/components/md-split-button.js +1 -1
  147. package/dist/components/md-status-dot.js +1 -1
  148. package/dist/components/md-step.js +1 -1
  149. package/dist/components/md-stepper.js +1 -1
  150. package/dist/components/md-sub-menu-item.js +1 -1
  151. package/dist/components/md-switch.js +1 -1
  152. package/dist/components/md-tab-panel.js +1 -1
  153. package/dist/components/md-tab-panels.js +1 -1
  154. package/dist/components/md-tab.js +1 -1
  155. package/dist/components/md-table-body.js +1 -1
  156. package/dist/components/md-table-cell.js +1 -1
  157. package/dist/components/md-table-container.js +1 -1
  158. package/dist/components/md-table-expand-toggle.js +1 -1
  159. package/dist/components/md-table-foot.js +1 -1
  160. package/dist/components/md-table-head.js +1 -1
  161. package/dist/components/md-table-pagination.js +1 -1
  162. package/dist/components/md-table-row.js +1 -1
  163. package/dist/components/md-table-sort-label.js +1 -1
  164. package/dist/components/md-table-toolbar.js +1 -1
  165. package/dist/components/md-table.js +1 -1
  166. package/dist/components/md-tabs.js +1 -1
  167. package/dist/components/md-text-field.js +1 -1
  168. package/dist/components/md-time-picker.js +1 -1
  169. package/dist/components/md-toolbar.js +1 -1
  170. package/dist/components/md-tooltip.js +1 -1
  171. package/dist/components/md-transfer-list.js +1 -1
  172. package/dist/components/p-B-JfuA2g.js +2 -0
  173. package/dist/components/p-B-JfuA2g.js.map +1 -0
  174. package/dist/components/p-B-iHDK5h.js +2 -0
  175. package/dist/components/p-B-iHDK5h.js.map +1 -0
  176. package/dist/components/p-BA2v4IuG.js +2 -0
  177. package/dist/components/p-BA2v4IuG.js.map +1 -0
  178. package/dist/components/p-BADA63mI.js +2 -0
  179. package/dist/components/p-BADA63mI.js.map +1 -0
  180. package/dist/components/p-BR6gfOQH.js +2 -0
  181. package/dist/components/p-BR6gfOQH.js.map +1 -0
  182. package/dist/components/p-Bz-JaJcA.js +2 -0
  183. package/dist/components/p-Bz-JaJcA.js.map +1 -0
  184. package/dist/components/p-CCMritCA.js +2 -0
  185. package/dist/components/p-CCMritCA.js.map +1 -0
  186. package/dist/components/p-CTC8XAB6.js +2 -0
  187. package/dist/components/p-CTC8XAB6.js.map +1 -0
  188. package/dist/components/p-CfBPnYW7.js +2 -0
  189. package/dist/components/p-CfBPnYW7.js.map +1 -0
  190. package/dist/components/p-CtVItLby.js +2 -0
  191. package/dist/components/p-CtVItLby.js.map +1 -0
  192. package/dist/components/p-D8oM1Kr3.js +2 -0
  193. package/dist/components/p-D8oM1Kr3.js.map +1 -0
  194. package/dist/components/{p-Ddiw2Kjw.js → p-DEzb9xsY.js} +2 -2
  195. package/dist/components/p-DEzb9xsY.js.map +1 -0
  196. package/dist/components/p-DYL-8C5C.js +2 -0
  197. package/dist/components/p-DYL-8C5C.js.map +1 -0
  198. package/dist/components/p-DfU4xY2F.js +2 -0
  199. package/dist/components/p-DfU4xY2F.js.map +1 -0
  200. package/dist/components/p-Eb44PPZa.js +2 -0
  201. package/dist/components/p-Eb44PPZa.js.map +1 -0
  202. package/dist/components/{p-UdGDg2oJ.js → p-Lsoo1B-2.js} +2 -2
  203. package/dist/components/p-Lsoo1B-2.js.map +1 -0
  204. package/dist/components/p-tSoecrcz.js +2 -0
  205. package/dist/components/p-tSoecrcz.js.map +1 -0
  206. package/dist/components-csr/index.js +2 -0
  207. package/dist/components-csr/index.js.map +1 -0
  208. package/dist/components-csr/md-accordion-item.js +2 -0
  209. package/dist/components-csr/md-accordion-item.js.map +1 -0
  210. package/dist/components-csr/md-accordion.js +2 -0
  211. package/dist/components-csr/md-accordion.js.map +1 -0
  212. package/dist/components-csr/md-app-bar.js +2 -0
  213. package/dist/components-csr/md-app-bar.js.map +1 -0
  214. package/dist/components-csr/md-area-chart.js +2 -0
  215. package/dist/components-csr/md-area-chart.js.map +1 -0
  216. package/dist/components-csr/md-autocomplete.js +2 -0
  217. package/dist/components-csr/md-autocomplete.js.map +1 -0
  218. package/dist/components-csr/md-avatar.js +2 -0
  219. package/dist/components-csr/md-avatar.js.map +1 -0
  220. package/dist/components-csr/md-badge.js +2 -0
  221. package/dist/components-csr/md-badge.js.map +1 -0
  222. package/dist/components-csr/md-bar-chart.js +2 -0
  223. package/dist/components-csr/md-bar-chart.js.map +1 -0
  224. package/dist/components-csr/md-bottom-sheet.js +2 -0
  225. package/dist/components-csr/md-bottom-sheet.js.map +1 -0
  226. package/dist/components-csr/md-breadcrumb-item.js +2 -0
  227. package/dist/components-csr/md-breadcrumb-item.js.map +1 -0
  228. package/dist/components-csr/md-breadcrumbs.js +2 -0
  229. package/dist/components-csr/md-breadcrumbs.js.map +1 -0
  230. package/dist/components-csr/md-button-group.js +2 -0
  231. package/dist/components-csr/md-button-group.js.map +1 -0
  232. package/dist/components-csr/md-button.js +2 -0
  233. package/dist/components-csr/md-button.js.map +1 -0
  234. package/dist/components-csr/md-card.js +2 -0
  235. package/dist/components-csr/md-card.js.map +1 -0
  236. package/dist/components-csr/md-checkbox.js +2 -0
  237. package/dist/components-csr/md-checkbox.js.map +1 -0
  238. package/dist/components-csr/md-chip.js +2 -0
  239. package/dist/components-csr/md-chip.js.map +1 -0
  240. package/dist/components-csr/md-color-picker.js +2 -0
  241. package/dist/components-csr/md-color-picker.js.map +1 -0
  242. package/dist/components-csr/md-date-picker.js +2 -0
  243. package/dist/components-csr/md-date-picker.js.map +1 -0
  244. package/dist/components-csr/md-dialog.js +2 -0
  245. package/dist/components-csr/md-dialog.js.map +1 -0
  246. package/dist/components-csr/md-divider.js +2 -0
  247. package/dist/components-csr/md-divider.js.map +1 -0
  248. package/dist/components-csr/md-fab-menu-item.js +2 -0
  249. package/dist/components-csr/md-fab-menu-item.js.map +1 -0
  250. package/dist/components-csr/md-fab-menu.js +2 -0
  251. package/dist/components-csr/md-fab-menu.js.map +1 -0
  252. package/dist/components-csr/md-fab.js +2 -0
  253. package/dist/components-csr/md-fab.js.map +1 -0
  254. package/dist/components-csr/md-icon-button.js +2 -0
  255. package/dist/components-csr/md-icon-button.js.map +1 -0
  256. package/dist/components-csr/md-line-chart.js +2 -0
  257. package/dist/components-csr/md-line-chart.js.map +1 -0
  258. package/dist/components-csr/md-list-item.js +2 -0
  259. package/dist/components-csr/md-list-item.js.map +1 -0
  260. package/dist/components-csr/md-list.js +2 -0
  261. package/dist/components-csr/md-list.js.map +1 -0
  262. package/dist/components-csr/md-loading-indicator.js +2 -0
  263. package/dist/components-csr/md-loading-indicator.js.map +1 -0
  264. package/dist/components-csr/md-menu-item-group.js +2 -0
  265. package/dist/components-csr/md-menu-item-group.js.map +1 -0
  266. package/dist/components-csr/md-menu-item.js +2 -0
  267. package/dist/components-csr/md-menu-item.js.map +1 -0
  268. package/dist/components-csr/md-menu.js +2 -0
  269. package/dist/components-csr/md-menu.js.map +1 -0
  270. package/dist/components-csr/md-meter.js +2 -0
  271. package/dist/components-csr/md-meter.js.map +1 -0
  272. package/dist/components-csr/md-multi-select.js +2 -0
  273. package/dist/components-csr/md-multi-select.js.map +1 -0
  274. package/dist/components-csr/md-navigation-bar.js +2 -0
  275. package/dist/components-csr/md-navigation-bar.js.map +1 -0
  276. package/dist/components-csr/md-navigation-rail-tab.js +2 -0
  277. package/dist/components-csr/md-navigation-rail-tab.js.map +1 -0
  278. package/dist/components-csr/md-navigation-rail.js +2 -0
  279. package/dist/components-csr/md-navigation-rail.js.map +1 -0
  280. package/dist/components-csr/md-navigation-tab.js +2 -0
  281. package/dist/components-csr/md-navigation-tab.js.map +1 -0
  282. package/dist/components-csr/md-number-field.js +2 -0
  283. package/dist/components-csr/md-number-field.js.map +1 -0
  284. package/dist/components-csr/md-organization-chart.js +2 -0
  285. package/dist/components-csr/md-organization-chart.js.map +1 -0
  286. package/dist/components-csr/md-otp-field.js +2 -0
  287. package/dist/components-csr/md-otp-field.js.map +1 -0
  288. package/dist/components-csr/md-pie-chart.js +2 -0
  289. package/dist/components-csr/md-pie-chart.js.map +1 -0
  290. package/dist/components-csr/md-progress-indicator.js +2 -0
  291. package/dist/components-csr/md-progress-indicator.js.map +1 -0
  292. package/dist/components-csr/md-radio.js +2 -0
  293. package/dist/components-csr/md-radio.js.map +1 -0
  294. package/dist/components-csr/md-rating.js +2 -0
  295. package/dist/components-csr/md-rating.js.map +1 -0
  296. package/dist/components-csr/md-ripple.js +2 -0
  297. package/dist/components-csr/md-ripple.js.map +1 -0
  298. package/dist/components-csr/md-search.js +2 -0
  299. package/dist/components-csr/md-search.js.map +1 -0
  300. package/dist/components-csr/md-segmented-button-set.js +2 -0
  301. package/dist/components-csr/md-segmented-button-set.js.map +1 -0
  302. package/dist/components-csr/md-segmented-button.js +2 -0
  303. package/dist/components-csr/md-segmented-button.js.map +1 -0
  304. package/dist/components-csr/md-select-option.js +2 -0
  305. package/dist/components-csr/md-select-option.js.map +1 -0
  306. package/dist/components-csr/md-select.js +2 -0
  307. package/dist/components-csr/md-select.js.map +1 -0
  308. package/dist/components-csr/md-side-sheet.js +2 -0
  309. package/dist/components-csr/md-side-sheet.js.map +1 -0
  310. package/dist/components-csr/md-skeleton.js +2 -0
  311. package/dist/components-csr/md-skeleton.js.map +1 -0
  312. package/dist/components-csr/md-slider.js +2 -0
  313. package/dist/components-csr/md-slider.js.map +1 -0
  314. package/dist/components-csr/md-snackbar.js +2 -0
  315. package/dist/components-csr/md-snackbar.js.map +1 -0
  316. package/dist/components-csr/md-sparkline.js +2 -0
  317. package/dist/components-csr/md-sparkline.js.map +1 -0
  318. package/dist/components-csr/md-split-button.js +2 -0
  319. package/dist/components-csr/md-split-button.js.map +1 -0
  320. package/dist/components-csr/md-status-dot.js +2 -0
  321. package/dist/components-csr/md-status-dot.js.map +1 -0
  322. package/dist/components-csr/md-step.js +2 -0
  323. package/dist/components-csr/md-step.js.map +1 -0
  324. package/dist/components-csr/md-stepper.js +2 -0
  325. package/dist/components-csr/md-stepper.js.map +1 -0
  326. package/dist/components-csr/md-sub-menu-item.js +2 -0
  327. package/dist/components-csr/md-sub-menu-item.js.map +1 -0
  328. package/dist/components-csr/md-switch.js +2 -0
  329. package/dist/components-csr/md-switch.js.map +1 -0
  330. package/dist/components-csr/md-tab-panel.js +2 -0
  331. package/dist/components-csr/md-tab-panel.js.map +1 -0
  332. package/dist/components-csr/md-tab-panels.js +2 -0
  333. package/dist/components-csr/md-tab-panels.js.map +1 -0
  334. package/dist/components-csr/md-tab.js +2 -0
  335. package/dist/components-csr/md-tab.js.map +1 -0
  336. package/dist/components-csr/md-table-body.js +2 -0
  337. package/dist/components-csr/md-table-body.js.map +1 -0
  338. package/dist/components-csr/md-table-cell.js +2 -0
  339. package/dist/components-csr/md-table-cell.js.map +1 -0
  340. package/dist/components-csr/md-table-container.js +2 -0
  341. package/dist/components-csr/md-table-container.js.map +1 -0
  342. package/dist/components-csr/md-table-expand-toggle.js +2 -0
  343. package/dist/components-csr/md-table-expand-toggle.js.map +1 -0
  344. package/dist/components-csr/md-table-foot.js +2 -0
  345. package/dist/components-csr/md-table-foot.js.map +1 -0
  346. package/dist/components-csr/md-table-head.js +2 -0
  347. package/dist/components-csr/md-table-head.js.map +1 -0
  348. package/dist/components-csr/md-table-pagination.js +2 -0
  349. package/dist/components-csr/md-table-pagination.js.map +1 -0
  350. package/dist/components-csr/md-table-row.js +2 -0
  351. package/dist/components-csr/md-table-row.js.map +1 -0
  352. package/dist/components-csr/md-table-sort-label.js +2 -0
  353. package/dist/components-csr/md-table-sort-label.js.map +1 -0
  354. package/dist/components-csr/md-table-toolbar.js +2 -0
  355. package/dist/components-csr/md-table-toolbar.js.map +1 -0
  356. package/dist/components-csr/md-table.js +2 -0
  357. package/dist/components-csr/md-table.js.map +1 -0
  358. package/dist/components-csr/md-tabs.js +2 -0
  359. package/dist/components-csr/md-tabs.js.map +1 -0
  360. package/dist/components-csr/md-text-field.js +2 -0
  361. package/dist/components-csr/md-text-field.js.map +1 -0
  362. package/dist/components-csr/md-time-picker.js +2 -0
  363. package/dist/components-csr/md-time-picker.js.map +1 -0
  364. package/dist/components-csr/md-toolbar.js +2 -0
  365. package/dist/components-csr/md-toolbar.js.map +1 -0
  366. package/dist/components-csr/md-tooltip.js +2 -0
  367. package/dist/components-csr/md-tooltip.js.map +1 -0
  368. package/dist/components-csr/md-transfer-list.js +2 -0
  369. package/dist/components-csr/md-transfer-list.js.map +1 -0
  370. package/dist/{components/p-DXXUoRSH.js → components-csr/p--OUYjgKN.js} +2 -2
  371. package/dist/{components/p-Dp-w93ot.js → components-csr/p--TCJgZnE.js} +2 -2
  372. package/dist/components-csr/p-BdEoSBtL.js +2 -0
  373. package/dist/components-csr/p-BdEoSBtL.js.map +1 -0
  374. package/dist/components-csr/p-Bmu7RqHM.js +2 -0
  375. package/dist/components-csr/p-Bx6--dQF.js +2 -0
  376. package/dist/components-csr/p-Bx6--dQF.js.map +1 -0
  377. package/dist/components-csr/p-Bz-JaJcA.js +2 -0
  378. package/dist/components-csr/p-Bz-JaJcA.js.map +1 -0
  379. package/dist/{components/p-uTEkf0sE.js → components-csr/p-C0DlKmRg.js} +2 -2
  380. package/dist/{components/p-Ch2-tttM.js → components-csr/p-C4_7YnHT.js} +2 -2
  381. package/dist/{components/p-BwXpiUsu.js → components-csr/p-CG6FaRlt.js} +2 -2
  382. package/dist/{components/p-B0Opn6dK.js → components-csr/p-CSrxeWwL.js} +2 -2
  383. package/dist/components-csr/p-C_ogF68H.js +2 -0
  384. package/dist/components-csr/p-C_ogF68H.js.map +1 -0
  385. package/dist/components-csr/p-Cch_V1vi.js +2 -0
  386. package/dist/components-csr/p-Cch_V1vi.js.map +1 -0
  387. package/dist/components-csr/p-CfBPnYW7.js +2 -0
  388. package/dist/components-csr/p-CfBPnYW7.js.map +1 -0
  389. package/dist/{components/p-B3MWYEEJ.js → components-csr/p-CrbzXk64.js} +2 -2
  390. package/dist/components-csr/p-CxhZdOPw.js +2 -0
  391. package/dist/components-csr/p-CxhZdOPw.js.map +1 -0
  392. package/dist/{components/p-7fN_yCXW.js → components-csr/p-DF19mmLl.js} +2 -2
  393. package/dist/components-csr/p-DWxN44zD.js +2 -0
  394. package/dist/components-csr/p-DWxN44zD.js.map +1 -0
  395. package/dist/components-csr/p-DYBUr7K_.js +2 -0
  396. package/dist/components-csr/p-DYBUr7K_.js.map +1 -0
  397. package/dist/{components/p-e2HRV63Y.js → components-csr/p-DfcpeJAu.js} +2 -2
  398. package/dist/components-csr/p-DvOKnoqK.js +2 -0
  399. package/dist/components-csr/p-DvOKnoqK.js.map +1 -0
  400. package/dist/{components/p-C8EP4S21.js → components-csr/p-DvXQXhgu.js} +2 -2
  401. package/dist/components-csr/p-DzPKu-Ma.js +2 -0
  402. package/dist/components-csr/p-DzPKu-Ma.js.map +1 -0
  403. package/dist/{components/p-stybaFzj.js → components-csr/p-Hm3X1iai.js} +2 -2
  404. package/dist/{components/p-6wZSqm_2.js → components-csr/p-IWA0yIjJ.js} +2 -2
  405. package/dist/components-csr/p-RLxbNqRv.js +2 -0
  406. package/dist/components-csr/p-RLxbNqRv.js.map +1 -0
  407. package/dist/components-csr/p-bSpXNc5J.js +2 -0
  408. package/dist/components-csr/p-bSpXNc5J.js.map +1 -0
  409. package/dist/components-csr/p-uZbtHo-A.js +2 -0
  410. package/dist/components-csr/package.json +3 -0
  411. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  412. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  413. package/dist/esm/engine.wasm-CfBPnYW7.js +10 -0
  414. package/dist/esm/engine.wasm-CfBPnYW7.js.map +1 -0
  415. package/dist/esm/{index-DTaX19_O.js → index-WmvQpZnM.js} +5 -15
  416. package/dist/esm/index-WmvQpZnM.js.map +1 -0
  417. package/dist/esm/loader.js +3 -2
  418. package/dist/esm/loader.js.map +1 -1
  419. package/dist/esm/md-accordion-item.entry.js +1 -1
  420. package/dist/esm/md-accordion.entry.js +1 -1
  421. package/dist/esm/md-app-bar.entry.js +1 -1
  422. package/dist/esm/md-area-chart.entry.js +1 -1
  423. package/dist/esm/md-autocomplete.entry.js +2 -2
  424. package/dist/esm/md-avatar_2.entry.js +1 -1
  425. package/dist/esm/md-badge.entry.js +1 -1
  426. package/dist/esm/md-bar-chart.entry.js +1 -1
  427. package/dist/esm/md-bottom-sheet.entry.js +1 -1
  428. package/dist/esm/md-breadcrumb-item.entry.js +1 -1
  429. package/dist/esm/md-breadcrumbs.entry.js +1 -1
  430. package/dist/esm/md-button-group.entry.js +1 -1
  431. package/dist/esm/md-button_7.entry.js +1 -1
  432. package/dist/esm/md-checkbox.entry.js +1 -1
  433. package/dist/esm/md-chip.entry.js +1 -1
  434. package/dist/esm/md-color-picker.entry.js +1 -1
  435. package/dist/esm/md-date-picker.entry.js +1 -1
  436. package/dist/esm/md-dialog.entry.js +1 -1
  437. package/dist/esm/md-divider.entry.js +1 -1
  438. package/dist/esm/md-fab-menu-item.entry.js +1 -1
  439. package/dist/esm/md-fab-menu.entry.js +1 -1
  440. package/dist/esm/md-fab.entry.js +1 -1
  441. package/dist/esm/md-line-chart.entry.js +1 -1
  442. package/dist/esm/md-list-item.entry.js +1 -1
  443. package/dist/esm/md-list.entry.js +1 -1
  444. package/dist/esm/md-menu-item-group.entry.js +1 -1
  445. package/dist/esm/md-menu_2.entry.js +1 -1
  446. package/dist/esm/md-meter.entry.js +1 -1
  447. package/dist/esm/md-multi-select.entry.js +2 -2
  448. package/dist/esm/md-navigation-bar.entry.js +1 -1
  449. package/dist/esm/md-navigation-rail-tab.entry.js +1 -1
  450. package/dist/esm/md-navigation-rail.entry.js +1 -1
  451. package/dist/esm/md-navigation-tab.entry.js +1 -1
  452. package/dist/esm/md-number-field.entry.js +1 -1
  453. package/dist/esm/md-organization-chart.entry.js +1 -1
  454. package/dist/esm/md-otp-field.entry.js +1 -1
  455. package/dist/esm/md-pie-chart.entry.js +1 -1
  456. package/dist/esm/md-progress-indicator.entry.js +1 -1
  457. package/dist/esm/md-rating.entry.js +1 -1
  458. package/dist/esm/md-search.entry.js +1 -1
  459. package/dist/esm/md-segmented-button-set.entry.js +1 -1
  460. package/dist/esm/md-segmented-button.entry.js +1 -1
  461. package/dist/esm/md-select-option.entry.js +1 -1
  462. package/dist/esm/md-select.entry.js +2 -2
  463. package/dist/esm/md-side-sheet.entry.js +1 -1
  464. package/dist/esm/md-skeleton.entry.js +1 -1
  465. package/dist/esm/md-slider.entry.js +1 -1
  466. package/dist/esm/md-sparkline.entry.js +1 -1
  467. package/dist/esm/md-split-button.entry.js +1 -1
  468. package/dist/esm/md-status-dot.entry.js +1 -1
  469. package/dist/esm/md-step.entry.js +1 -1
  470. package/dist/esm/md-stepper.entry.js +1 -1
  471. package/dist/esm/md-sub-menu-item.entry.js +1 -1
  472. package/dist/esm/md-switch.entry.js +1 -1
  473. package/dist/esm/md-tab-panel.entry.js +1 -1
  474. package/dist/esm/md-tab-panels.entry.js +1 -1
  475. package/dist/esm/md-tab.entry.js +1 -1
  476. package/dist/esm/md-table-body.entry.js +1 -1
  477. package/dist/esm/md-table-cell.entry.js +1 -1
  478. package/dist/esm/md-table-container.entry.js +1 -1
  479. package/dist/esm/md-table-expand-toggle.entry.js +1 -1
  480. package/dist/esm/md-table-foot.entry.js +1 -1
  481. package/dist/esm/md-table-head.entry.js +1 -1
  482. package/dist/esm/md-table-pagination.entry.js +1 -1
  483. package/dist/esm/md-table-row.entry.js +1 -1
  484. package/dist/esm/md-table-sort-label.entry.js +1 -1
  485. package/dist/esm/md-table-toolbar.entry.js +1 -1
  486. package/dist/esm/md-table.entry.js +1 -1
  487. package/dist/esm/md-tabs.entry.js +1 -1
  488. package/dist/esm/md-text-field.entry.js +1 -1
  489. package/dist/esm/md-time-picker.entry.js +1 -1
  490. package/dist/esm/md-toolbar.entry.js +1 -1
  491. package/dist/esm/md-transfer-list.entry.js +1 -1
  492. package/dist/esm/md3.js +3 -2
  493. package/dist/esm/md3.js.map +1 -1
  494. package/dist/esm/{virtual-select-controller-BEWIC0pC.js → virtual-select-controller-CR60w6DO.js} +10 -9
  495. package/dist/esm/virtual-select-controller-CR60w6DO.js.map +1 -0
  496. package/dist/md3/md3.css +1 -1
  497. package/dist/md3/md3.esm.js +1 -1
  498. package/dist/md3/md3.esm.js.map +1 -1
  499. package/dist/md3/{p-2e9503d7.entry.js → p-0a599351.entry.js} +2 -2
  500. package/dist/md3/p-1d7e0203.entry.js +2 -0
  501. package/dist/md3/{p-fb61868c.entry.js.map → p-1d7e0203.entry.js.map} +1 -1
  502. package/dist/md3/p-1e85b8a8.entry.js +2 -0
  503. package/dist/md3/{p-aaec2698.entry.js.map → p-1e85b8a8.entry.js.map} +1 -1
  504. package/dist/md3/{p-396089fd.entry.js → p-1edb5a0d.entry.js} +2 -2
  505. package/dist/md3/{p-c00f7514.entry.js → p-21c89d1d.entry.js} +2 -2
  506. package/dist/md3/p-22633b2d.entry.js +2 -0
  507. package/dist/md3/{p-6b2871a0.entry.js.map → p-22633b2d.entry.js.map} +1 -1
  508. package/dist/md3/{p-2e09a7b7.entry.js → p-27135a6b.entry.js} +2 -2
  509. package/dist/md3/{p-c063c823.entry.js → p-2befc42c.entry.js} +2 -2
  510. package/dist/md3/p-2dda08b2.entry.js +2 -0
  511. package/dist/md3/{p-21772851.entry.js.map → p-2dda08b2.entry.js.map} +1 -1
  512. package/dist/md3/p-3508d0e0.entry.js +2 -0
  513. package/dist/md3/{p-f31ab454.entry.js.map → p-3508d0e0.entry.js.map} +1 -1
  514. package/dist/md3/{p-b34d385b.entry.js → p-35b05b45.entry.js} +2 -2
  515. package/dist/md3/{p-c2dd8c8c.entry.js → p-38e9a583.entry.js} +2 -2
  516. package/dist/md3/{p-3cce1de3.entry.js → p-38f82d34.entry.js} +2 -2
  517. package/dist/md3/p-3a4bd4eb.entry.js +2 -0
  518. package/dist/md3/{p-72457a85.entry.js.map → p-3a4bd4eb.entry.js.map} +1 -1
  519. package/dist/md3/{p-be02624e.entry.js → p-3c0469aa.entry.js} +2 -2
  520. package/dist/md3/{p-63b8c8d1.entry.js → p-408ee4be.entry.js} +2 -2
  521. package/dist/md3/{p-3015c7e3.entry.js → p-4770b534.entry.js} +2 -2
  522. package/dist/md3/p-4aed552f.entry.js +2 -0
  523. package/dist/md3/{p-6c44cf13.entry.js.map → p-4aed552f.entry.js.map} +1 -1
  524. package/dist/md3/{p-c5af701b.entry.js → p-4ba3623e.entry.js} +2 -2
  525. package/dist/md3/{p-7b463fbe.entry.js → p-4f2e82cb.entry.js} +2 -2
  526. package/dist/md3/{p-be412e3f.entry.js → p-501bf161.entry.js} +2 -2
  527. package/dist/md3/{p-81843ff7.entry.js → p-5929e59c.entry.js} +2 -2
  528. package/dist/md3/{p-32bdd439.entry.js → p-5c35f916.entry.js} +2 -2
  529. package/dist/md3/{p-ac35ac5f.entry.js → p-5db87a9d.entry.js} +2 -2
  530. package/dist/md3/{p-6038b907.entry.js → p-5f39b49d.entry.js} +2 -2
  531. package/dist/md3/p-637baee1.entry.js +2 -0
  532. package/dist/md3/{p-47af9819.entry.js.map → p-637baee1.entry.js.map} +1 -1
  533. package/dist/md3/{p-05ae91b6.entry.js → p-6bf632c7.entry.js} +2 -2
  534. package/dist/md3/{p-4e3d6e40.entry.js → p-6ea7117d.entry.js} +2 -2
  535. package/dist/md3/{p-9ddbf247.entry.js → p-7112374d.entry.js} +2 -2
  536. package/dist/md3/{p-1a8ec5bc.entry.js → p-7858833e.entry.js} +2 -2
  537. package/dist/md3/p-7c8842bf.entry.js +2 -0
  538. package/dist/md3/{p-ba2ebde1.entry.js.map → p-7c8842bf.entry.js.map} +1 -1
  539. package/dist/md3/{p-4d82132d.entry.js → p-7f53a423.entry.js} +2 -2
  540. package/dist/md3/{p-b0431a5c.entry.js → p-8135c606.entry.js} +2 -2
  541. package/dist/md3/{p-4dda4cb0.entry.js → p-845ca9cc.entry.js} +2 -2
  542. package/dist/md3/{p-5b74694e.entry.js → p-89d47130.entry.js} +2 -2
  543. package/dist/md3/p-8a6fed13.entry.js +2 -0
  544. package/dist/md3/{p-a803da99.entry.js.map → p-8a6fed13.entry.js.map} +1 -1
  545. package/dist/md3/{p-e3124e1e.entry.js → p-8b1ea5dc.entry.js} +2 -2
  546. package/dist/md3/{p-c10a33c2.entry.js → p-8e7df348.entry.js} +2 -2
  547. package/dist/md3/{p-65195996.entry.js → p-925768ac.entry.js} +2 -2
  548. package/dist/md3/p-944e69e0.entry.js +2 -0
  549. package/dist/md3/{p-a3308c40.entry.js.map → p-944e69e0.entry.js.map} +1 -1
  550. package/dist/md3/{p-ac8762e5.entry.js → p-96c06b24.entry.js} +2 -2
  551. package/dist/md3/p-9b9677cc.entry.js +2 -0
  552. package/dist/md3/{p-e7dc5a32.entry.js.map → p-9b9677cc.entry.js.map} +1 -1
  553. package/dist/md3/p-Bz-JaJcA.js +2 -0
  554. package/dist/md3/p-Bz-JaJcA.js.map +1 -0
  555. package/dist/md3/p-CfBPnYW7.js +2 -0
  556. package/dist/md3/p-CfBPnYW7.js.map +1 -0
  557. package/dist/md3/p-DQuL1Twl.js +2 -0
  558. package/dist/md3/p-DQuL1Twl.js.map +1 -0
  559. package/dist/md3/p-WmvQpZnM.js +3 -0
  560. package/dist/md3/p-WmvQpZnM.js.map +1 -0
  561. package/dist/md3/p-a3623653.entry.js +2 -0
  562. package/dist/md3/{p-19ee9c33.entry.js.map → p-a3623653.entry.js.map} +1 -1
  563. package/dist/md3/{p-a5fee424.entry.js → p-a49df43d.entry.js} +2 -2
  564. package/dist/md3/{p-da4e27d4.entry.js → p-a4d4cfed.entry.js} +2 -2
  565. package/dist/md3/{p-5394254f.entry.js → p-a976498b.entry.js} +2 -2
  566. package/dist/md3/{p-bf7842f8.entry.js → p-adf8a415.entry.js} +2 -2
  567. package/dist/md3/{p-c861d774.entry.js → p-ae360663.entry.js} +2 -2
  568. package/dist/md3/{p-8eb0b6a4.entry.js → p-b243284b.entry.js} +2 -2
  569. package/dist/md3/{p-45280bf4.entry.js → p-b2d88292.entry.js} +2 -2
  570. package/dist/md3/{p-796f79f8.entry.js → p-b3b5247b.entry.js} +2 -2
  571. package/dist/md3/{p-5b799707.entry.js → p-b4266f6b.entry.js} +2 -2
  572. package/dist/md3/p-b5586b66.entry.js +2 -0
  573. package/dist/md3/{p-04e97f5d.entry.js.map → p-b5586b66.entry.js.map} +1 -1
  574. package/dist/md3/{p-a7ffb779.entry.js → p-b7602557.entry.js} +2 -2
  575. package/dist/md3/{p-6ba63c73.entry.js → p-bc24f0c9.entry.js} +2 -2
  576. package/dist/md3/{p-edb34a6d.entry.js → p-bed8dfec.entry.js} +2 -2
  577. package/dist/md3/{p-50555bb7.entry.js → p-c0476406.entry.js} +2 -2
  578. package/dist/md3/{p-0c2e824d.entry.js → p-c20fbb9e.entry.js} +2 -2
  579. package/dist/md3/{p-4e45b2ff.entry.js → p-c58c68d0.entry.js} +2 -2
  580. package/dist/md3/{p-fc0b325d.entry.js → p-cdcea99f.entry.js} +2 -2
  581. package/dist/md3/{p-0f764a1e.entry.js → p-d2e39c6e.entry.js} +2 -2
  582. package/dist/md3/p-d7e99f9e.entry.js +2 -0
  583. package/dist/md3/{p-cf07e761.entry.js.map → p-d7e99f9e.entry.js.map} +1 -1
  584. package/dist/md3/{p-c1ca6f6c.entry.js → p-da0c36d9.entry.js} +2 -2
  585. package/dist/md3/{p-77a01bcc.entry.js → p-e3c37222.entry.js} +2 -2
  586. package/dist/md3/{p-39cb7c24.entry.js → p-e6b09e71.entry.js} +2 -2
  587. package/dist/md3/{p-b4631a55.entry.js → p-eddae19a.entry.js} +2 -2
  588. package/dist/md3/{p-c6a12344.entry.js → p-ef7b1826.entry.js} +2 -2
  589. package/dist/md3/p-f1b69181.entry.js +2 -0
  590. package/dist/md3/{p-a986fd24.entry.js.map → p-f1b69181.entry.js.map} +1 -1
  591. package/dist/md3/{p-e6d7f0ff.entry.js → p-f403ad20.entry.js} +2 -2
  592. package/dist/md3/{p-708a9313.entry.js → p-f5fd9a0b.entry.js} +2 -2
  593. package/dist/md3/{p-aa0e7d4d.entry.js → p-f71af38f.entry.js} +2 -2
  594. package/dist/md3/{p-757e3aaf.entry.js → p-fac6da4c.entry.js} +2 -2
  595. package/dist/md3/{p-134b670a.entry.js → p-fc864f96.entry.js} +2 -2
  596. package/dist/types/wasm/engine-abi.d.ts +14 -0
  597. package/hydrate/index.js +19 -7
  598. package/hydrate/index.mjs +19 -7
  599. package/package.json +14 -3
  600. package/dist/cjs/index-DlQ_5_Mv.js.map +0 -1
  601. package/dist/cjs/virtual-select-controller-CqriaZgm.js.map +0 -1
  602. package/dist/components/p-BEWIC0pC.js +0 -2
  603. package/dist/components/p-BEWIC0pC.js.map +0 -1
  604. package/dist/components/p-MWBNn6Lj.js +0 -2
  605. package/dist/components/p-MWBNn6Lj.js.map +0 -1
  606. package/dist/esm/index-DTaX19_O.js.map +0 -1
  607. package/dist/esm/virtual-select-controller-BEWIC0pC.js.map +0 -1
  608. package/dist/md3/p-04e97f5d.entry.js +0 -2
  609. package/dist/md3/p-19ee9c33.entry.js +0 -2
  610. package/dist/md3/p-21772851.entry.js +0 -2
  611. package/dist/md3/p-47af9819.entry.js +0 -2
  612. package/dist/md3/p-6b2871a0.entry.js +0 -2
  613. package/dist/md3/p-6c44cf13.entry.js +0 -2
  614. package/dist/md3/p-72457a85.entry.js +0 -2
  615. package/dist/md3/p-BEWIC0pC.js +0 -2
  616. package/dist/md3/p-BEWIC0pC.js.map +0 -1
  617. package/dist/md3/p-DTaX19_O.js +0 -3
  618. package/dist/md3/p-DTaX19_O.js.map +0 -1
  619. package/dist/md3/p-a3308c40.entry.js +0 -2
  620. package/dist/md3/p-a803da99.entry.js +0 -2
  621. package/dist/md3/p-a986fd24.entry.js +0 -2
  622. package/dist/md3/p-aaec2698.entry.js +0 -2
  623. package/dist/md3/p-ba2ebde1.entry.js +0 -2
  624. package/dist/md3/p-cf07e761.entry.js +0 -2
  625. package/dist/md3/p-e7dc5a32.entry.js +0 -2
  626. package/dist/md3/p-f31ab454.entry.js +0 -2
  627. package/dist/md3/p-fb61868c.entry.js +0 -2
  628. /package/dist/{components/p-DXXUoRSH.js.map → components-csr/p--OUYjgKN.js.map} +0 -0
  629. /package/dist/{components/p-Dp-w93ot.js.map → components-csr/p--TCJgZnE.js.map} +0 -0
  630. /package/dist/{components/p-UdGDg2oJ.js.map → components-csr/p-Bmu7RqHM.js.map} +0 -0
  631. /package/dist/{components/p-uTEkf0sE.js.map → components-csr/p-C0DlKmRg.js.map} +0 -0
  632. /package/dist/{components/p-Ch2-tttM.js.map → components-csr/p-C4_7YnHT.js.map} +0 -0
  633. /package/dist/{components/p-BwXpiUsu.js.map → components-csr/p-CG6FaRlt.js.map} +0 -0
  634. /package/dist/{components/p-B0Opn6dK.js.map → components-csr/p-CSrxeWwL.js.map} +0 -0
  635. /package/dist/{components/p-B3MWYEEJ.js.map → components-csr/p-CrbzXk64.js.map} +0 -0
  636. /package/dist/{components/p-7fN_yCXW.js.map → components-csr/p-DF19mmLl.js.map} +0 -0
  637. /package/dist/{components/p-e2HRV63Y.js.map → components-csr/p-DfcpeJAu.js.map} +0 -0
  638. /package/dist/{components/p-C8EP4S21.js.map → components-csr/p-DvXQXhgu.js.map} +0 -0
  639. /package/dist/{components/p-stybaFzj.js.map → components-csr/p-Hm3X1iai.js.map} +0 -0
  640. /package/dist/{components/p-6wZSqm_2.js.map → components-csr/p-IWA0yIjJ.js.map} +0 -0
  641. /package/dist/{components/p-Ddiw2Kjw.js.map → components-csr/p-uZbtHo-A.js.map} +0 -0
  642. /package/dist/md3/{p-2e9503d7.entry.js.map → p-0a599351.entry.js.map} +0 -0
  643. /package/dist/md3/{p-396089fd.entry.js.map → p-1edb5a0d.entry.js.map} +0 -0
  644. /package/dist/md3/{p-c00f7514.entry.js.map → p-21c89d1d.entry.js.map} +0 -0
  645. /package/dist/md3/{p-2e09a7b7.entry.js.map → p-27135a6b.entry.js.map} +0 -0
  646. /package/dist/md3/{p-c063c823.entry.js.map → p-2befc42c.entry.js.map} +0 -0
  647. /package/dist/md3/{p-b34d385b.entry.js.map → p-35b05b45.entry.js.map} +0 -0
  648. /package/dist/md3/{p-c2dd8c8c.entry.js.map → p-38e9a583.entry.js.map} +0 -0
  649. /package/dist/md3/{p-3cce1de3.entry.js.map → p-38f82d34.entry.js.map} +0 -0
  650. /package/dist/md3/{p-be02624e.entry.js.map → p-3c0469aa.entry.js.map} +0 -0
  651. /package/dist/md3/{p-63b8c8d1.entry.js.map → p-408ee4be.entry.js.map} +0 -0
  652. /package/dist/md3/{p-3015c7e3.entry.js.map → p-4770b534.entry.js.map} +0 -0
  653. /package/dist/md3/{p-c5af701b.entry.js.map → p-4ba3623e.entry.js.map} +0 -0
  654. /package/dist/md3/{p-7b463fbe.entry.js.map → p-4f2e82cb.entry.js.map} +0 -0
  655. /package/dist/md3/{p-be412e3f.entry.js.map → p-501bf161.entry.js.map} +0 -0
  656. /package/dist/md3/{p-81843ff7.entry.js.map → p-5929e59c.entry.js.map} +0 -0
  657. /package/dist/md3/{p-32bdd439.entry.js.map → p-5c35f916.entry.js.map} +0 -0
  658. /package/dist/md3/{p-ac35ac5f.entry.js.map → p-5db87a9d.entry.js.map} +0 -0
  659. /package/dist/md3/{p-6038b907.entry.js.map → p-5f39b49d.entry.js.map} +0 -0
  660. /package/dist/md3/{p-05ae91b6.entry.js.map → p-6bf632c7.entry.js.map} +0 -0
  661. /package/dist/md3/{p-4e3d6e40.entry.js.map → p-6ea7117d.entry.js.map} +0 -0
  662. /package/dist/md3/{p-9ddbf247.entry.js.map → p-7112374d.entry.js.map} +0 -0
  663. /package/dist/md3/{p-1a8ec5bc.entry.js.map → p-7858833e.entry.js.map} +0 -0
  664. /package/dist/md3/{p-4d82132d.entry.js.map → p-7f53a423.entry.js.map} +0 -0
  665. /package/dist/md3/{p-b0431a5c.entry.js.map → p-8135c606.entry.js.map} +0 -0
  666. /package/dist/md3/{p-4dda4cb0.entry.js.map → p-845ca9cc.entry.js.map} +0 -0
  667. /package/dist/md3/{p-5b74694e.entry.js.map → p-89d47130.entry.js.map} +0 -0
  668. /package/dist/md3/{p-e3124e1e.entry.js.map → p-8b1ea5dc.entry.js.map} +0 -0
  669. /package/dist/md3/{p-c10a33c2.entry.js.map → p-8e7df348.entry.js.map} +0 -0
  670. /package/dist/md3/{p-65195996.entry.js.map → p-925768ac.entry.js.map} +0 -0
  671. /package/dist/md3/{p-ac8762e5.entry.js.map → p-96c06b24.entry.js.map} +0 -0
  672. /package/dist/md3/{p-a5fee424.entry.js.map → p-a49df43d.entry.js.map} +0 -0
  673. /package/dist/md3/{p-da4e27d4.entry.js.map → p-a4d4cfed.entry.js.map} +0 -0
  674. /package/dist/md3/{p-5394254f.entry.js.map → p-a976498b.entry.js.map} +0 -0
  675. /package/dist/md3/{p-bf7842f8.entry.js.map → p-adf8a415.entry.js.map} +0 -0
  676. /package/dist/md3/{p-c861d774.entry.js.map → p-ae360663.entry.js.map} +0 -0
  677. /package/dist/md3/{p-8eb0b6a4.entry.js.map → p-b243284b.entry.js.map} +0 -0
  678. /package/dist/md3/{p-45280bf4.entry.js.map → p-b2d88292.entry.js.map} +0 -0
  679. /package/dist/md3/{p-796f79f8.entry.js.map → p-b3b5247b.entry.js.map} +0 -0
  680. /package/dist/md3/{p-5b799707.entry.js.map → p-b4266f6b.entry.js.map} +0 -0
  681. /package/dist/md3/{p-a7ffb779.entry.js.map → p-b7602557.entry.js.map} +0 -0
  682. /package/dist/md3/{p-6ba63c73.entry.js.map → p-bc24f0c9.entry.js.map} +0 -0
  683. /package/dist/md3/{p-edb34a6d.entry.js.map → p-bed8dfec.entry.js.map} +0 -0
  684. /package/dist/md3/{p-50555bb7.entry.js.map → p-c0476406.entry.js.map} +0 -0
  685. /package/dist/md3/{p-0c2e824d.entry.js.map → p-c20fbb9e.entry.js.map} +0 -0
  686. /package/dist/md3/{p-4e45b2ff.entry.js.map → p-c58c68d0.entry.js.map} +0 -0
  687. /package/dist/md3/{p-fc0b325d.entry.js.map → p-cdcea99f.entry.js.map} +0 -0
  688. /package/dist/md3/{p-0f764a1e.entry.js.map → p-d2e39c6e.entry.js.map} +0 -0
  689. /package/dist/md3/{p-c1ca6f6c.entry.js.map → p-da0c36d9.entry.js.map} +0 -0
  690. /package/dist/md3/{p-77a01bcc.entry.js.map → p-e3c37222.entry.js.map} +0 -0
  691. /package/dist/md3/{p-39cb7c24.entry.js.map → p-e6b09e71.entry.js.map} +0 -0
  692. /package/dist/md3/{p-b4631a55.entry.js.map → p-eddae19a.entry.js.map} +0 -0
  693. /package/dist/md3/{p-c6a12344.entry.js.map → p-ef7b1826.entry.js.map} +0 -0
  694. /package/dist/md3/{p-e6d7f0ff.entry.js.map → p-f403ad20.entry.js.map} +0 -0
  695. /package/dist/md3/{p-708a9313.entry.js.map → p-f5fd9a0b.entry.js.map} +0 -0
  696. /package/dist/md3/{p-aa0e7d4d.entry.js.map → p-f71af38f.entry.js.map} +0 -0
  697. /package/dist/md3/{p-757e3aaf.entry.js.map → p-fac6da4c.entry.js.map} +0 -0
  698. /package/dist/md3/{p-134b670a.entry.js.map → p-fc864f96.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as s,H as e,g as a}from"./p-WmvQpZnM.js";const n=()=>`:host{--_container-color:var(--md-tabs-container-color, var(--md-sys-color-surface, #FFFBFE));display:flex;flex-direction:column;inline-size:100%;position:relative;background-color:var(--_container-color);box-sizing:border-box}.md-tabs__container{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.md-tabs__container::-webkit-scrollbar{display:none}::slotted(md-tab){flex:1;min-inline-size:90px}:host(.md-tabs--tw-auto) ::slotted(md-tab){flex:0 0 auto}:host(.md-tabs--tw-fixed) ::slotted(md-tab){flex:0 0 var(--_tab-width);inline-size:var(--_tab-width);min-inline-size:var(--_tab-width);max-inline-size:var(--_tab-width)}:host(.md-tabs--clip-left) .md-tabs__container{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 40px);mask-image:linear-gradient(to right, transparent 0, #000 40px)}:host(.md-tabs--clip-right) .md-tabs__container{-webkit-mask-image:linear-gradient(to left, transparent 0, #000 40px);mask-image:linear-gradient(to left, transparent 0, #000 40px)}:host(.md-tabs--clip-left.md-tabs--clip-right) .md-tabs__container{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%)}@media (prefers-reduced-motion: reduce){.md-tabs__container{scroll-behavior:auto}}`;const r=class{constructor(s){t(this,s);this.mdTabChange=i(this,"mdTabChange",7);this.activeTabIndex=0;this.variant="primary";this.ariaLabelProp="";this.tabWidth="equal";this.width="";this.tabCount=0;this.tabs=[];this.listenersBound=false;this.hasLoaded=false;this.activeTabEl=null;this.syncingIndex=false;this.pendingRequestedIndex=null;this.prevTabs=[];this.glideToken=0;this.uniquePrefix=`md-tabs-${Math.random().toString(36).slice(2,7)}`;this.tabClickHandlers=new Map;this.handleWheel=t=>{const i=this.containerEl;if(!i||i.scrollWidth<=i.clientWidth)return;if(Math.abs(t.deltaX)>=Math.abs(t.deltaY)||t.deltaY===0)return;t.preventDefault();const s=t.deltaMode===1?16:t.deltaMode===2?i.clientWidth:1;i.scrollBy({left:t.deltaY*s,behavior:"instant"})};this.updateOverflow=()=>{const t=this.containerEl;if(!t||this.tabs.length===0){this.el.classList.remove("md-tabs--clip-left","md-tabs--clip-right");return}const i=t.getBoundingClientRect();const s=this.tabs[0].getBoundingClientRect();const e=this.tabs[this.tabs.length-1].getBoundingClientRect();const a=Math.min(s.left,e.left);const n=Math.max(s.right,e.right);this.el.classList.toggle("md-tabs--clip-left",a<i.left-1);this.el.classList.toggle("md-tabs--clip-right",n>i.right+1)}}onTabWidthChange(){this.updateOverflow()}get tabWidthMode(){if(this.tabWidth==="auto")return"auto";if(!this.tabWidth||this.tabWidth==="equal")return"equal";return"fixed"}componentDidLoad(){const t=this.el.shadowRoot;if(!t)return;const i=t.querySelector("slot");i?.addEventListener("slotchange",(()=>this.syncTabs()));if(typeof ResizeObserver!=="undefined"){this.resizeObserver=new ResizeObserver((()=>this.updateOverflow()))}if(typeof MutationObserver!=="undefined"){this.dirObserver=new MutationObserver((()=>this.updateOverflow()))}this.hasLoaded=true;this.attachObservers();this.syncTabs()}connectedCallback(){if(this.hasLoaded){queueMicrotask((()=>{this.attachObservers();this.syncTabs()}))}}disconnectedCallback(){this.removeTabListeners();this.resizeObserver?.disconnect();this.dirObserver?.disconnect()}attachObservers(){if(this.containerEl)this.resizeObserver?.observe(this.containerEl);if(this.dirObserver){this.dirObserver.observe(this.el,{attributes:true,attributeFilter:["dir"]});this.dirObserver.observe(document.documentElement,{attributes:true,attributeFilter:["dir"]})}}onActiveChange(t){if(this.syncingIndex)return;const i=this.sanitizeIndex(t);this.pendingRequestedIndex=i>this.tabs.length-1?i:null;const s=this.clampIndex(i);if(s!==t){this.setIndexInternal(s)}this.applyIndex(s)}onVariantChange(){this.tabs.forEach((t=>t.setAttribute("variant",this.variant)))}async selectTab(t){if(t<0||t>=this.tabs.length)return;this.activateTab(t)}handleKeyDown(t){if(this.tabs.length===0)return;const i=t.composedPath?.()[0]??this.deepActiveElement();const s=i?.closest?.("md-tab")??i;const e=this.tabs.indexOf(s);if(e===-1)return;const a=this.isRtl()?-1:1;let n=null;switch(t.key){case"ArrowRight":t.preventDefault();n=this.findNextEnabledWrapping(e,a);break;case"ArrowLeft":t.preventDefault();n=this.findNextEnabledWrapping(e,a*-1);break;case"Home":t.preventDefault();n=this.findFirstEnabled();break;case"End":t.preventDefault();n=this.findLastEnabled();break}if(n!==null&&n!==e){this.tabs[n].focus();this.activateTab(n)}}handleTabDisabledChange(){this.updateRovingTabindex()}deepActiveElement(){let t=document.activeElement;while(t?.shadowRoot?.activeElement){t=t.shadowRoot.activeElement}return t}isRtl(){return typeof getComputedStyle!=="undefined"&&getComputedStyle(this.el).direction==="rtl"}prefersReducedMotion(){return typeof matchMedia!=="undefined"&&matchMedia("(prefers-reduced-motion: reduce)").matches}findNextEnabledWrapping(t,i){const s=this.tabs.length;if(s===0)return null;let e=t;for(let t=0;t<s;t++){e=(e+i+s)%s;if(!this.isDisabledTab(this.tabs[e]))return e}return null}findFirstEnabled(){for(let t=0;t<this.tabs.length;t++){if(!this.isDisabledTab(this.tabs[t]))return t}return null}findLastEnabled(){for(let t=this.tabs.length-1;t>=0;t--){if(!this.isDisabledTab(this.tabs[t]))return t}return null}syncTabs(){this.removeTabListeners();const t=this.el.shadowRoot?.querySelector("slot");if(!t)return;this.tabs=t.assignedElements({flatten:true}).filter((t=>t.tagName==="MD-TAB"));this.tabCount=this.tabs.length;this.tabs.forEach(((t,i)=>{t.setAttribute("variant",this.variant);t.addEventListener("mdTabClick",this.createTabClickHandler(i));if(!t.id){t.id=`${this.uniquePrefix}-tab-${i}`}}));this.listenersBound=true;if(this.resizeObserver){this.resizeObserver.disconnect();if(this.containerEl)this.resizeObserver.observe(this.containerEl);this.tabs.forEach((t=>this.resizeObserver.observe(t)))}this.reconcileActiveTab();this.updateOverflow()}reconcileActiveTab(){this.prevTabs.forEach((t=>{if(!this.tabs.includes(t)){t.removeAttribute("active");t.removeAttribute("tabindex")}}));this.prevTabs=this.tabs;if(this.tabs.length===0){this.activeTabEl=null;return}if(this.pendingRequestedIndex!==null){const t=this.pendingRequestedIndex;this.pendingRequestedIndex=null;if(t<=this.tabs.length-1){const i=this.clampIndex(t);this.setIndexInternal(i);this.applyIndex(i);return}}if(this.findFirstEnabled()===null){const t=this.activeTabEl!==null;const i=this.activeTabIndex;this.tabs.forEach((t=>t.removeAttribute("active")));this.activeTabEl=null;this.updateRovingTabindex();if(t)this.mdTabChange.emit({index:-1,previousIndex:i});return}const t=this.activeTabEl;let i;if(t&&this.tabs.includes(t)){i=this.tabs.indexOf(t)}else{i=this.clampIndex(this.activeTabIndex)}const s=this.activeTabIndex;this.setIndexInternal(i);this.applyIndex(i,{scroll:false});if(t!==null&&this.activeTabEl!==t){this.mdTabChange.emit({index:i,previousIndex:s})}}sanitizeIndex(t){const i=Math.round(Number(t));return Number.isFinite(i)?i:0}isDisabledTab(t){return t.disabled===true||t.hasAttribute("disabled")}clampIndex(t){const i=this.tabs.length;if(i===0)return 0;let s=Math.max(0,Math.min(this.sanitizeIndex(t),i-1));if(this.tabs[s]&&this.isDisabledTab(this.tabs[s])){const t=this.findNextEnabledWrapping(s,1)??this.findFirstEnabled();if(t!==null)s=t}return s}setIndexInternal(t){if(this.activeTabIndex===t)return;this.syncingIndex=true;this.activeTabIndex=t;this.syncingIndex=false}removeTabListeners(){if(!this.listenersBound)return;this.tabs.forEach(((t,i)=>{t.removeEventListener("mdTabClick",this.createTabClickHandler(i))}));this.listenersBound=false}createTabClickHandler(t){if(!this.tabClickHandlers.has(t)){this.tabClickHandlers.set(t,(()=>this.activateTab(t)))}return this.tabClickHandlers.get(t)}activateTab(t){this.pendingRequestedIndex=null;if(t===this.activeTabIndex&&this.tabs[t]?.hasAttribute("active"))return;const i=this.activeTabIndex;this.setIndexInternal(t);this.applyIndex(t);this.mdTabChange.emit({index:t,previousIndex:i})}applyIndex(t,i={}){const s=this.activeTabEl;const e=this.tabs[t]??null;this.applyActiveState(t);this.updateRovingTabindex();this.activeTabEl=e;if(i.scroll!==false)this.scrollTabIntoView(t);if(s&&e&&s!==e)this.glideIndicator(s,e)}applyActiveState(t){this.tabs.forEach(((i,s)=>{if(s===t){i.setAttribute("active","")}else{i.removeAttribute("active")}}))}updateRovingTabindex(){let t=this.activeTabIndex;if(this.tabs[t]&&this.isDisabledTab(this.tabs[t])){t=this.findFirstEnabled()??t}this.tabs.forEach(((i,s)=>{if(this.isDisabledTab(i)){i.setAttribute("tabindex","-1")}else{i.setAttribute("tabindex",s===t?"0":"-1")}}))}glideIndicator(t,i){if(this.prefersReducedMotion())return;const s=t=>(t.shadowRoot?.querySelector(".md-tab__indicator")??t).getBoundingClientRect();const e=s(t);const a=s(i);if(!e.width||!a.width)return;const n=e.left+e.width/2-(a.left+a.width/2);const r=e.width/a.width;if(typeof requestAnimationFrame==="undefined")return;const h=++this.glideToken;t.style.removeProperty("--md-tab-glide-x");t.style.removeProperty("--md-tab-glide-scale");t.style.removeProperty("--md-tab-glide-duration");i.style.setProperty("--md-tab-glide-duration","0s");i.style.setProperty("--md-tab-glide-x",`${n}px`);i.style.setProperty("--md-tab-glide-scale",`${r}`);requestAnimationFrame((()=>requestAnimationFrame((()=>{if(h!==this.glideToken)return;i.style.removeProperty("--md-tab-glide-duration");i.style.setProperty("--md-tab-glide-x","0px");i.style.setProperty("--md-tab-glide-scale","1");setTimeout((()=>{if(h!==this.glideToken)return;i.style.removeProperty("--md-tab-glide-x");i.style.removeProperty("--md-tab-glide-scale")}),500)}))))}scrollTabIntoView(t){const i=this.tabs[t];if(!i||!this.containerEl)return;i.scrollIntoView?.({behavior:this.prefersReducedMotion()?"auto":"smooth",block:"nearest",inline:"nearest"})}render(){return s(e,{key:"c103ec49e743ca885a22f303c46f13fc4ee650f5",class:{"md-tabs":true,[`md-tabs--${this.variant}`]:true,"md-tabs--tw-auto":this.tabWidthMode==="auto","md-tabs--tw-fixed":this.tabWidthMode==="fixed"},style:{...this.tabWidthMode==="fixed"?{"--_tab-width":this.tabWidth}:{},...this.width?{"inline-size":this.width}:{}},role:"tablist","aria-label":this.ariaLabelProp||"tabs","aria-orientation":"horizontal"},s("div",{key:"21bec4d569d80650d16c8c4a8ee55db98880ac98",class:"md-tabs__container",part:"container",ref:t=>this.containerEl=t,onWheel:this.handleWheel,onScroll:this.updateOverflow},s("slot",{key:"83031858998cab19d0fe544808aced96a07f5bab"})))}get el(){return a(this)}static get watchers(){return{tabWidth:[{onTabWidthChange:0}],activeTabIndex:[{onActiveChange:0}],variant:[{onVariantChange:0}]}}};r.style=n();export{r as md_tabs};
2
+ //# sourceMappingURL=p-a3623653.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["mdTabsCss","MdTabs","constructor","hostRef","this","activeTabIndex","variant","ariaLabelProp","tabWidth","width","tabCount","tabs","listenersBound","hasLoaded","activeTabEl","syncingIndex","pendingRequestedIndex","prevTabs","glideToken","uniquePrefix","Math","random","toString","slice","tabClickHandlers","Map","handleWheel","e","c","containerEl","scrollWidth","clientWidth","abs","deltaX","deltaY","preventDefault","factor","deltaMode","scrollBy","left","behavior","updateOverflow","length","el","classList","remove","box","getBoundingClientRect","first","last","min","right","max","toggle","onTabWidthChange","tabWidthMode","componentDidLoad","shadow","shadowRoot","slot","querySelector","addEventListener","syncTabs","ResizeObserver","resizeObserver","MutationObserver","dirObserver","attachObservers","connectedCallback","queueMicrotask","disconnectedCallback","removeTabListeners","disconnect","observe","attributes","attributeFilter","document","documentElement","onActiveChange","newIndex","sanitized","sanitizeIndex","clamped","clampIndex","setIndexInternal","applyIndex","onVariantChange","forEach","tab","setAttribute","selectTab","index","activateTab","handleKeyDown","origin","composedPath","deepActiveElement","originTab","closest","currentIndex","indexOf","dir","isRtl","targetIndex","key","findNextEnabledWrapping","findFirstEnabled","findLastEnabled","focus","handleTabDisabledChange","updateRovingTabindex","active","activeElement","getComputedStyle","direction","prefersReducedMotion","matchMedia","matches","from","len","idx","i","isDisabledTab","assignedElements","flatten","filter","tagName","createTabClickHandler","id","t","reconcileActiveTab","includes","removeAttribute","pending","hadSelection","previousIndex","mdTabChange","emit","prevEl","scroll","num","round","Number","isFinite","disabled","hasAttribute","enabled","removeEventListener","has","set","get","opts","nextEl","applyActiveState","scrollTabIntoView","glideIndicator","activeIndex","holder","prevTab","nextTab","measure","p","n","dx","sx","requestAnimationFrame","token","style","removeProperty","setProperty","setTimeout","scrollIntoView","block","inline","render","h","Host","class","role","part","ref","onWheel","onScroll"],"sources":["src/components/md-tabs/md-tabs.css?tag=md-tabs&encapsulation=shadow","src/components/md-tabs/md-tabs.tsx"],"sourcesContent":["/* ==========================================================\n md-tabs — Material Design 3 Tabs Container\n Spec: https://m3.material.io/components/tabs/specs\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-tabs-container-color Container background\n --md-tabs-divider-color Divider color for every child tab's\n bottom line (md-tab inherits it into its\n own divider default chain)\n\n CSS PARTS:\n container Scrollable tab container\n\n SLOTS:\n (default) md-tab elements\n ========================================================== */\n\n/* ==========================================================\n 1. HOST\n ========================================================== */\n\n:host {\n --_container-color: var(--md-tabs-container-color, var(--md-sys-color-surface, #FFFBFE));\n\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n position: relative;\n background-color: var(--_container-color);\n box-sizing: border-box;\n}\n\n/* ==========================================================\n 2. CONTAINER — horizontal scroll, hide scrollbar\n ========================================================== */\n\n.md-tabs__container {\n display: flex;\n overflow-x: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n scroll-behavior: smooth;\n}\n\n.md-tabs__container::-webkit-scrollbar {\n display: none;\n}\n\n/* Tabs fill container equally (tab-width=\"equal\", the default) */\n::slotted(md-tab) {\n flex: 1;\n min-inline-size: 90px;\n}\n\n/* tab-width=\"auto\" — content-sized tabs, strip scrolls */\n:host(.md-tabs--tw-auto) ::slotted(md-tab) {\n flex: 0 0 auto;\n}\n\n/* tab-width=\"<length>\" — content-immune fixed tracks (dynamic badges/labels\n can't reshuffle the strip); long labels ellipsize inside md-tab */\n:host(.md-tabs--tw-fixed) ::slotted(md-tab) {\n flex: 0 0 var(--_tab-width);\n inline-size: var(--_tab-width);\n min-inline-size: var(--_tab-width);\n max-inline-size: var(--_tab-width);\n}\n\n/* ==========================================================\n 3. OVERFLOW AFFORDANCE — edge fades signal clipped tabs\n md-tabs toggles clip-left/right from tab GEOMETRY (physical rects,\n RTL-correct); the mask fades the clipped edge. Wheel input maps to\n horizontal scroll in the component.\n ========================================================== */\n\n:host(.md-tabs--clip-left) .md-tabs__container {\n -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px);\n mask-image: linear-gradient(to right, transparent 0, #000 40px);\n}\n\n:host(.md-tabs--clip-right) .md-tabs__container {\n -webkit-mask-image: linear-gradient(to left, transparent 0, #000 40px);\n mask-image: linear-gradient(to left, transparent 0, #000 40px);\n}\n\n:host(.md-tabs--clip-left.md-tabs--clip-right) .md-tabs__container {\n -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);\n mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);\n}\n\n/* ==========================================================\n 4. REDUCED MOTION\n ========================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .md-tabs__container {\n scroll-behavior: auto;\n }\n}\n","import { Component, Host, h, Prop, Event, EventEmitter, Element, Watch, State, Method, Listen } from '@stencil/core';\n\n/**\n * @slot - Tab items (`md-tab` elements)\n *\n * @part container - Scrollable tab container\n */\n@Component({\n tag: 'md-tabs',\n styleUrl: 'md-tabs.css',\n shadow: true,\n})\nexport class MdTabs {\n @Element() el!: HTMLElement;\n\n /** Index of the currently active tab */\n @Prop({ mutable: true }) activeTabIndex: number = 0;\n\n /** Visual variant applied to all child tabs */\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' = 'primary';\n\n /** Accessible label for the tablist */\n @Prop({ attribute: 'aria-label' }) ariaLabelProp: string = '';\n\n /**\n * How tabs size along the strip. All modes are layout-stable under\n * dynamic content (labels/badges can change without reshuffling the\n * strip); long labels ellipsize instead of forcing a tab wider.\n * - `equal` (default) — tabs share the parent's FULL width equally;\n * tracks change only when the PARENT resizes.\n * - `auto` — each tab takes its content width (the strip scrolls), so\n * tracks follow content by design.\n * - any CSS length (e.g. `\"140px\"`, `\"10rem\"`) — every tab gets exactly\n * that width regardless of parent or content.\n */\n @Prop({ attribute: 'tab-width' }) tabWidth: string = 'equal';\n\n /**\n * Explicit width for the WHOLE strip (any CSS size: `\"480px\"`, `\"40rem\"`,\n * `\"100%\"`). By default the strip is `100%` of its parent — in\n * shrink-to-fit layouts (inline-block cards, auto grid columns, flex\n * items) that parent's width follows the ACTIVE TAB PANEL, so switching\n * to a tab with tiny content collapses the whole tablist. Set `width` to\n * anchor the strip regardless of what the panels do.\n */\n @Prop() width: string = '';\n\n @Watch('tabWidth')\n onTabWidthChange() {\n this.updateOverflow();\n }\n\n private get tabWidthMode(): 'equal' | 'auto' | 'fixed' {\n if (this.tabWidth === 'auto') return 'auto';\n if (!this.tabWidth || this.tabWidth === 'equal') return 'equal';\n return 'fixed';\n }\n\n /** Emits when the active tab changes */\n @Event() mdTabChange: EventEmitter<{ index: number; previousIndex: number }>;\n\n @State() private tabCount = 0;\n\n private tabs: HTMLElement[] = [];\n private containerEl?: HTMLElement;\n private listenersBound = false;\n private hasLoaded = false;\n /** The active tab ELEMENT — selection survives reorders/removals by\n * identity, not position (removing a preceding tab must not silently\n * select a different tab). */\n private activeTabEl: HTMLElement | null = null;\n /** Guards the activeTabIndex watch while we reconcile internally. */\n private syncingIndex = false;\n /** Consumer-requested index awaiting a tab that hasn't slotted in yet. */\n private pendingRequestedIndex: number | null = null;\n private prevTabs: HTMLElement[] = [];\n private glideToken = 0;\n private resizeObserver?: ResizeObserver;\n private dirObserver?: MutationObserver;\n private uniquePrefix = `md-tabs-${Math.random().toString(36).slice(2, 7)}`;\n\n // ─── Lifecycle ───────────────────────────────────────────\n\n componentDidLoad() {\n const shadow = this.el.shadowRoot;\n if (!shadow) return;\n\n const slot = shadow.querySelector('slot') as HTMLSlotElement | null;\n slot?.addEventListener('slotchange', () => this.syncTabs());\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => this.updateOverflow());\n }\n if (typeof MutationObserver !== 'undefined') {\n // A runtime dir flip moves the clipped side without firing scroll or\n // resize — the fades went stale on the wrong edge.\n this.dirObserver = new MutationObserver(() => this.updateOverflow());\n }\n this.hasLoaded = true;\n this.attachObservers();\n this.syncTabs();\n }\n\n connectedCallback() {\n // Reparenting disconnects (tearing down tab listeners) and reconnects\n // WITHOUT a slotchange — the slot's assignment inside our own shadow\n // never changed. Rebind, or the component is permanently dead after\n // an appendChild elsewhere.\n if (this.hasLoaded) {\n queueMicrotask(() => {\n this.attachObservers(); // disconnect() wiped subscriptions — re-observe\n this.syncTabs();\n });\n }\n }\n\n disconnectedCallback() {\n this.removeTabListeners();\n this.resizeObserver?.disconnect();\n this.dirObserver?.disconnect();\n }\n\n private attachObservers() {\n if (this.containerEl) this.resizeObserver?.observe(this.containerEl);\n if (this.dirObserver) {\n this.dirObserver.observe(this.el, { attributes: true, attributeFilter: ['dir'] });\n this.dirObserver.observe(document.documentElement, { attributes: true, attributeFilter: ['dir'] });\n }\n }\n\n // ─── Watchers ────────────────────────────────────────────\n\n @Watch('activeTabIndex')\n onActiveChange(newIndex: number) {\n if (this.syncingIndex) return;\n // The prop is the primary framework-wrapper path — it must be FULLY\n // reactive: clamp, then active state + roving tabindex + scroll, exactly\n // like the click/keyboard path (previously only the visuals updated,\n // leaving focus on the old tab and the new one offscreen).\n const sanitized = this.sanitizeIndex(newIndex);\n // \"append a tab and select it\" sets an index the (stale, pre-slotchange)\n // list doesn't have yet — remember the INTENT and honor it when the tab\n // registers, instead of permanently rewriting the consumer's value.\n this.pendingRequestedIndex = sanitized > this.tabs.length - 1 ? sanitized : null;\n const clamped = this.clampIndex(sanitized);\n if (clamped !== newIndex) {\n this.setIndexInternal(clamped); // guarded — the watch will NOT re-fire\n }\n this.applyIndex(clamped);\n }\n\n @Watch('variant')\n onVariantChange() {\n this.tabs.forEach(tab => tab.setAttribute('variant', this.variant));\n }\n\n // ─── Public Methods ──────────────────────────────────────\n\n /** Programmatically select a tab by index */\n @Method()\n async selectTab(index: number) {\n if (index < 0 || index >= this.tabs.length) return;\n this.activateTab(index);\n }\n\n // ─── Keyboard Navigation ─────────────────────────────────\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (this.tabs.length === 0) return;\n\n // composedPath()[0] is the true origin even through CLOSED shadow roots\n // (the deep activeElement walk stops at a closed host — arrows were dead\n // there). Fallback to the walk for synthetic events without a path.\n const origin = (e.composedPath?.()[0] as HTMLElement | undefined) ?? (this.deepActiveElement() as HTMLElement);\n const originTab = origin?.closest?.('md-tab') ?? origin;\n const currentIndex = this.tabs.indexOf(originTab as HTMLElement);\n if (currentIndex === -1) return;\n\n // Arrow keys follow VISUAL direction: in RTL, ArrowRight moves toward\n // lower indexes (same contract as md-navigation-bar).\n const dir: 1 | -1 = this.isRtl() ? -1 : 1;\n let targetIndex: number | null = null;\n\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n targetIndex = this.findNextEnabledWrapping(currentIndex, dir);\n break;\n case 'ArrowLeft':\n e.preventDefault();\n targetIndex = this.findNextEnabledWrapping(currentIndex, (dir * -1) as 1 | -1);\n break;\n case 'Home':\n e.preventDefault();\n targetIndex = this.findFirstEnabled();\n break;\n case 'End':\n e.preventDefault();\n targetIndex = this.findLastEnabled();\n break;\n }\n\n if (targetIndex !== null && targetIndex !== currentIndex) {\n this.tabs[targetIndex].focus();\n this.activateTab(targetIndex);\n }\n }\n\n /** A disabled state change re-roves so exactly one tab stays focusable. */\n @Listen('mdTabDisabledChange')\n handleTabDisabledChange() {\n this.updateRovingTabindex();\n }\n\n private deepActiveElement(): Element | null {\n let active: Element | null = document.activeElement;\n while (active?.shadowRoot?.activeElement) {\n active = active.shadowRoot.activeElement;\n }\n return active;\n }\n\n private isRtl(): boolean {\n return typeof getComputedStyle !== 'undefined' && getComputedStyle(this.el).direction === 'rtl';\n }\n\n private prefersReducedMotion(): boolean {\n return typeof matchMedia !== 'undefined' && matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n /** Wraps around: last→first and first→last, skipping disabled tabs. */\n private findNextEnabledWrapping(from: number, direction: 1 | -1): number | null {\n const len = this.tabs.length;\n if (len === 0) return null;\n let idx = from;\n for (let i = 0; i < len; i++) {\n idx = (idx + direction + len) % len;\n if (!this.isDisabledTab(this.tabs[idx])) return idx;\n }\n return null;\n }\n\n private findFirstEnabled(): number | null {\n for (let i = 0; i < this.tabs.length; i++) {\n if (!this.isDisabledTab(this.tabs[i])) return i;\n }\n return null;\n }\n\n private findLastEnabled(): number | null {\n for (let i = this.tabs.length - 1; i >= 0; i--) {\n if (!this.isDisabledTab(this.tabs[i])) return i;\n }\n return null;\n }\n\n // ─── Tab Sync ────────────────────────────────────────────\n\n private syncTabs() {\n this.removeTabListeners();\n\n const slot = this.el.shadowRoot?.querySelector('slot') as HTMLSlotElement | null;\n if (!slot) return;\n\n // flatten:true — tabs forwarded through a wrapper's <slot> must be\n // managed too (without it, assignedElements() returns the nested SLOT\n // element and zero tabs register).\n this.tabs = slot.assignedElements({ flatten: true }).filter(\n el => el.tagName === 'MD-TAB',\n ) as HTMLElement[];\n\n this.tabCount = this.tabs.length;\n\n this.tabs.forEach((tab, index) => {\n tab.setAttribute('variant', this.variant);\n tab.addEventListener('mdTabClick', this.createTabClickHandler(index));\n\n if (!tab.id) {\n tab.id = `${this.uniquePrefix}-tab-${index}`;\n }\n });\n\n this.listenersBound = true;\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n if (this.containerEl) this.resizeObserver.observe(this.containerEl);\n // A tab GROWING (label/min-width change) overflows the strip without\n // resizing the container box — observe the tabs themselves.\n this.tabs.forEach((t) => this.resizeObserver!.observe(t));\n }\n this.reconcileActiveTab();\n this.updateOverflow();\n }\n\n /**\n * Selection integrity across mutations: follow the active ELEMENT if it\n * still exists; if it was removed (or the index is out of range), clamp to\n * the nearest valid enabled tab and tell consumers. Never leave the\n * tablist without a focusable tab.\n */\n private reconcileActiveTab() {\n // Tabs that LEFT the managed set must not keep selected-looking state\n // (a moved-out active tab kept active + aria-selected + tabindex=0).\n this.prevTabs.forEach((t) => {\n if (!this.tabs.includes(t)) {\n t.removeAttribute('active');\n t.removeAttribute('tabindex'); // its own reconnect stamps standalone\n }\n });\n this.prevTabs = this.tabs;\n\n if (this.tabs.length === 0) {\n this.activeTabEl = null;\n return;\n }\n\n // A consumer index that outran the slotted list (\"append + select\")\n // wins the moment the tab registers — consumer-initiated, so no emit.\n if (this.pendingRequestedIndex !== null) {\n const pending = this.pendingRequestedIndex;\n this.pendingRequestedIndex = null; // single-shot: first reconcile only\n if (pending <= this.tabs.length - 1) {\n const idx = this.clampIndex(pending);\n this.setIndexInternal(idx);\n this.applyIndex(idx);\n return;\n }\n }\n\n // No enabled tab at all: nothing may claim aria-selected or the tab\n // stop (previously a DISABLED tab ended active with zero focusable tabs).\n if (this.findFirstEnabled() === null) {\n const hadSelection = this.activeTabEl !== null;\n const previousIndex = this.activeTabIndex;\n this.tabs.forEach((t) => t.removeAttribute('active'));\n this.activeTabEl = null;\n this.updateRovingTabindex();\n if (hadSelection) this.mdTabChange.emit({ index: -1, previousIndex });\n return;\n }\n\n const prevEl = this.activeTabEl;\n let index: number;\n if (prevEl && this.tabs.includes(prevEl)) {\n index = this.tabs.indexOf(prevEl);\n } else {\n index = this.clampIndex(this.activeTabIndex);\n }\n const previousIndex = this.activeTabIndex;\n this.setIndexInternal(index);\n this.applyIndex(index, { scroll: false });\n // Emit on ELEMENT-identity change, not index change: removing a mid-list\n // active tab keeps the same NUMBER while selecting a different tab —\n // the old numeric guard made that emit dead code.\n if (prevEl !== null && this.activeTabEl !== prevEl) {\n this.mdTabChange.emit({ index, previousIndex });\n }\n }\n\n /** NaN / floats / attribute garbage must never wipe the tablist. */\n private sanitizeIndex(index: unknown): number {\n const num = Math.round(Number(index));\n return Number.isFinite(num) ? num : 0;\n }\n\n /** Property writes reflect to the attribute ASYNC — read the prop first\n * so a just-disabled tab is never left holding the tab stop. */\n private isDisabledTab(tab: HTMLElement): boolean {\n return (tab as HTMLElement & { disabled?: boolean }).disabled === true || tab.hasAttribute('disabled');\n }\n\n /** Clamp into range, preferring an enabled tab (falls back to nearest). */\n private clampIndex(index: number): number {\n const len = this.tabs.length;\n if (len === 0) return 0;\n let idx = Math.max(0, Math.min(this.sanitizeIndex(index), len - 1));\n if (this.tabs[idx] && this.isDisabledTab(this.tabs[idx])) {\n const enabled = this.findNextEnabledWrapping(idx, 1) ?? this.findFirstEnabled();\n if (enabled !== null) idx = enabled;\n }\n return idx;\n }\n\n private setIndexInternal(index: number) {\n if (this.activeTabIndex === index) return;\n this.syncingIndex = true;\n this.activeTabIndex = index;\n this.syncingIndex = false;\n }\n\n private removeTabListeners() {\n if (!this.listenersBound) return;\n this.tabs.forEach((tab, index) => {\n tab.removeEventListener('mdTabClick', this.createTabClickHandler(index));\n });\n this.listenersBound = false;\n }\n\n private tabClickHandlers = new Map<number, () => void>();\n\n private createTabClickHandler(index: number): () => void {\n if (!this.tabClickHandlers.has(index)) {\n this.tabClickHandlers.set(index, () => this.activateTab(index));\n }\n return this.tabClickHandlers.get(index)!;\n }\n\n private activateTab(index: number) {\n this.pendingRequestedIndex = null;\n if (index === this.activeTabIndex && this.tabs[index]?.hasAttribute('active')) return;\n const previousIndex = this.activeTabIndex;\n this.setIndexInternal(index);\n this.applyIndex(index);\n this.mdTabChange.emit({ index, previousIndex });\n }\n\n /** SINGLE application path — active state + roving tabindex + scroll (+\n * indicator glide). Used by the watch, activation and reconciliation so\n * no caller can half-update again. */\n private applyIndex(index: number, opts: { scroll?: boolean } = {}) {\n const prevEl = this.activeTabEl;\n const nextEl = this.tabs[index] ?? null;\n this.applyActiveState(index);\n this.updateRovingTabindex();\n this.activeTabEl = nextEl;\n if (opts.scroll !== false) this.scrollTabIntoView(index);\n if (prevEl && nextEl && prevEl !== nextEl) this.glideIndicator(prevEl, nextEl);\n }\n\n private applyActiveState(activeIndex: number) {\n this.tabs.forEach((tab, i) => {\n if (i === activeIndex) {\n tab.setAttribute('active', '');\n } else {\n tab.removeAttribute('active');\n }\n });\n }\n\n /** md-tabs is the ONLY tabindex writer (md-tab renders none inside a\n * tablist) and always leaves exactly one focusable tab — the active one,\n * or the first enabled tab when the active one is disabled/invalid. */\n private updateRovingTabindex() {\n let holder = this.activeTabIndex;\n if (this.tabs[holder] && this.isDisabledTab(this.tabs[holder])) {\n holder = this.findFirstEnabled() ?? holder;\n }\n this.tabs.forEach((tab, i) => {\n if (this.isDisabledTab(tab)) {\n tab.setAttribute('tabindex', '-1');\n } else {\n tab.setAttribute('tabindex', i === holder ? '0' : '-1');\n }\n });\n }\n\n /**\n * MD3 indicator glide: FLIP the incoming tab's indicator from the\n * outgoing one's position/width to its own. The indicators live in each\n * tab's shadow root, so the transform is driven via inherited custom\n * properties the indicator CSS consumes.\n */\n private glideIndicator(prevTab: HTMLElement, nextTab: HTMLElement) {\n if (this.prefersReducedMotion()) return;\n const measure = (tab: HTMLElement) =>\n (tab.shadowRoot?.querySelector('.md-tab__indicator') ?? tab).getBoundingClientRect();\n const p = measure(prevTab);\n const n = measure(nextTab);\n if (!p.width || !n.width) return;\n const dx = p.left + p.width / 2 - (n.left + n.width / 2);\n const sx = p.width / n.width;\n if (typeof requestAnimationFrame === 'undefined') return;\n // Releasing synchronously never glided: the `active` class lands on the\n // NEXT render, after the vars were already back at identity — the\n // indicator just popped in place. Hold the translated start frame\n // through the render (duration 0), release on a double rAF so the\n // transition carries it home. Token guards rapid tab-hopping.\n const token = ++this.glideToken;\n prevTab.style.removeProperty('--md-tab-glide-x');\n prevTab.style.removeProperty('--md-tab-glide-scale');\n prevTab.style.removeProperty('--md-tab-glide-duration');\n nextTab.style.setProperty('--md-tab-glide-duration', '0s');\n nextTab.style.setProperty('--md-tab-glide-x', `${dx}px`);\n nextTab.style.setProperty('--md-tab-glide-scale', `${sx}`);\n requestAnimationFrame(() => requestAnimationFrame(() => {\n if (token !== this.glideToken) return;\n nextTab.style.removeProperty('--md-tab-glide-duration');\n nextTab.style.setProperty('--md-tab-glide-x', '0px');\n nextTab.style.setProperty('--md-tab-glide-scale', '1');\n setTimeout(() => {\n if (token !== this.glideToken) return;\n nextTab.style.removeProperty('--md-tab-glide-x');\n nextTab.style.removeProperty('--md-tab-glide-scale');\n }, 500);\n }));\n }\n\n private scrollTabIntoView(index: number) {\n const tab = this.tabs[index];\n if (!tab || !this.containerEl) return;\n tab.scrollIntoView?.({\n behavior: this.prefersReducedMotion() ? 'auto' : 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n\n // ─── Overflow affordance ─────────────────────────────────\n\n /** Vertical wheel scrolls the tab strip horizontally when it overflows —\n * otherwise clipped tabs are unreachable for mouse-only users (the\n * scrollbar is hidden by design). */\n private handleWheel = (e: WheelEvent) => {\n const c = this.containerEl;\n if (!c || c.scrollWidth <= c.clientWidth) return;\n // Horizontal gestures (trackpad swipes) scroll the strip NATIVELY —\n // intercepting them replayed the motion through the tarpit below.\n if (Math.abs(e.deltaX) >= Math.abs(e.deltaY) || e.deltaY === 0) return;\n e.preventDefault();\n // deltaMode: 0=pixels, 1=lines (Firefox wheel), 2=pages\n const factor = e.deltaMode === 1 ? 16 : e.deltaMode === 2 ? c.clientWidth : 1;\n // MUST bypass the container's scroll-behavior:smooth — incremental\n // scrollLeft writes read the mid-animation position, so a wheel burst\n // compounded off barely-moved values and crawled (10x120px netted\n // 155px of 320). 'instant' applies each tick fully.\n c.scrollBy({ left: e.deltaY * factor, behavior: 'instant' as ScrollBehavior });\n };\n\n /** Edge fades signal clipped tabs. Detection uses tab GEOMETRY (physical\n * rects), so it is RTL-correct by construction. */\n private updateOverflow = () => {\n const c = this.containerEl;\n if (!c || this.tabs.length === 0) {\n this.el.classList.remove('md-tabs--clip-left', 'md-tabs--clip-right');\n return;\n }\n const box = c.getBoundingClientRect();\n const first = this.tabs[0].getBoundingClientRect();\n const last = this.tabs[this.tabs.length - 1].getBoundingClientRect();\n const left = Math.min(first.left, last.left);\n const right = Math.max(first.right, last.right);\n this.el.classList.toggle('md-tabs--clip-left', left < box.left - 1);\n this.el.classList.toggle('md-tabs--clip-right', right > box.right + 1);\n };\n\n // ─── Render ──────────────────────────────────────────────\n\n render() {\n return (\n <Host\n class={{\n 'md-tabs': true,\n [`md-tabs--${this.variant}`]: true,\n 'md-tabs--tw-auto': this.tabWidthMode === 'auto',\n 'md-tabs--tw-fixed': this.tabWidthMode === 'fixed',\n }}\n style={{\n ...(this.tabWidthMode === 'fixed' ? { '--_tab-width': this.tabWidth } : {}),\n ...(this.width ? { 'inline-size': this.width } : {}),\n }}\n role=\"tablist\"\n aria-label={this.ariaLabelProp || 'tabs'}\n aria-orientation=\"horizontal\"\n >\n <div\n class=\"md-tabs__container\"\n part=\"container\"\n ref={el => (this.containerEl = el)}\n onWheel={this.handleWheel}\n onScroll={this.updateOverflow}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"2DAAA,MAAMA,EAAY,IAAM,u3C,MCYXC,EAAM,MALnB,WAAAC,CAAAC,G,mDAS2BC,KAAAC,eAAyB,EAGzBD,KAAAE,QAAmC,UAGzBF,KAAAG,cAAwB,GAazBH,KAAAI,SAAmB,QAU7CJ,KAAAK,MAAgB,GAgBPL,KAAAM,SAAW,EAEpBN,KAAAO,KAAsB,GAEtBP,KAAAQ,eAAiB,MACjBR,KAAAS,UAAY,MAIZT,KAAAU,YAAkC,KAElCV,KAAAW,aAAe,MAEfX,KAAAY,sBAAuC,KACvCZ,KAAAa,SAA0B,GAC1Bb,KAAAc,WAAa,EAGbd,KAAAe,aAAe,WAAWC,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,KA+T9DnB,KAAAoB,iBAAmB,IAAIC,IAkHvBrB,KAAAsB,YAAeC,IACrB,MAAMC,EAAIxB,KAAKyB,YACf,IAAKD,GAAKA,EAAEE,aAAeF,EAAEG,YAAa,OAG1C,GAAIX,KAAKY,IAAIL,EAAEM,SAAWb,KAAKY,IAAIL,EAAEO,SAAWP,EAAEO,SAAW,EAAG,OAChEP,EAAEQ,iBAEF,MAAMC,EAAST,EAAEU,YAAc,EAAI,GAAKV,EAAEU,YAAc,EAAIT,EAAEG,YAAc,EAK5EH,EAAEU,SAAS,CAAEC,KAAMZ,EAAEO,OAASE,EAAQI,SAAU,WAA8B,EAKxEpC,KAAAqC,eAAiB,KACvB,MAAMb,EAAIxB,KAAKyB,YACf,IAAKD,GAAKxB,KAAKO,KAAK+B,SAAW,EAAG,CAChCtC,KAAKuC,GAAGC,UAAUC,OAAO,qBAAsB,uBAC/C,M,CAEF,MAAMC,EAAMlB,EAAEmB,wBACd,MAAMC,EAAQ5C,KAAKO,KAAK,GAAGoC,wBAC3B,MAAME,EAAO7C,KAAKO,KAAKP,KAAKO,KAAK+B,OAAS,GAAGK,wBAC7C,MAAMR,EAAOnB,KAAK8B,IAAIF,EAAMT,KAAMU,EAAKV,MACvC,MAAMY,EAAQ/B,KAAKgC,IAAIJ,EAAMG,MAAOF,EAAKE,OACzC/C,KAAKuC,GAAGC,UAAUS,OAAO,qBAAsBd,EAAOO,EAAIP,KAAO,GACjEnC,KAAKuC,GAAGC,UAAUS,OAAO,sBAAuBF,EAAQL,EAAIK,MAAQ,EAAE,CAkCzE,CAhhBC,gBAAAG,GACElD,KAAKqC,gB,CAGP,gBAAYc,GACV,GAAInD,KAAKI,WAAa,OAAQ,MAAO,OACrC,IAAKJ,KAAKI,UAAYJ,KAAKI,WAAa,QAAS,MAAO,QACxD,MAAO,O,CA4BT,gBAAAgD,GACE,MAAMC,EAASrD,KAAKuC,GAAGe,WACvB,IAAKD,EAAQ,OAEb,MAAME,EAAOF,EAAOG,cAAc,QAClCD,GAAME,iBAAiB,cAAc,IAAMzD,KAAK0D,aAChD,UAAWC,iBAAmB,YAAa,CACzC3D,KAAK4D,eAAiB,IAAID,gBAAe,IAAM3D,KAAKqC,kB,CAEtD,UAAWwB,mBAAqB,YAAa,CAG3C7D,KAAK8D,YAAc,IAAID,kBAAiB,IAAM7D,KAAKqC,kB,CAErDrC,KAAKS,UAAY,KACjBT,KAAK+D,kBACL/D,KAAK0D,U,CAGP,iBAAAM,GAKE,GAAIhE,KAAKS,UAAW,CAClBwD,gBAAe,KACbjE,KAAK+D,kBACL/D,KAAK0D,UAAU,G,EAKrB,oBAAAQ,GACElE,KAAKmE,qBACLnE,KAAK4D,gBAAgBQ,aACrBpE,KAAK8D,aAAaM,Y,CAGZ,eAAAL,GACN,GAAI/D,KAAKyB,YAAazB,KAAK4D,gBAAgBS,QAAQrE,KAAKyB,aACxD,GAAIzB,KAAK8D,YAAa,CACpB9D,KAAK8D,YAAYO,QAAQrE,KAAKuC,GAAI,CAAE+B,WAAY,KAAMC,gBAAiB,CAAC,SACxEvE,KAAK8D,YAAYO,QAAQG,SAASC,gBAAiB,CAAEH,WAAY,KAAMC,gBAAiB,CAAC,Q,EAO7F,cAAAG,CAAeC,GACb,GAAI3E,KAAKW,aAAc,OAKvB,MAAMiE,EAAY5E,KAAK6E,cAAcF,GAIrC3E,KAAKY,sBAAwBgE,EAAY5E,KAAKO,KAAK+B,OAAS,EAAIsC,EAAY,KAC5E,MAAME,EAAU9E,KAAK+E,WAAWH,GAChC,GAAIE,IAAYH,EAAU,CACxB3E,KAAKgF,iBAAiBF,E,CAExB9E,KAAKiF,WAAWH,E,CAIlB,eAAAI,GACElF,KAAKO,KAAK4E,SAAQC,GAAOA,EAAIC,aAAa,UAAWrF,KAAKE,U,CAO5D,eAAMoF,CAAUC,GACd,GAAIA,EAAQ,GAAKA,GAASvF,KAAKO,KAAK+B,OAAQ,OAC5CtC,KAAKwF,YAAYD,E,CAMnB,aAAAE,CAAclE,GACZ,GAAIvB,KAAKO,KAAK+B,SAAW,EAAG,OAK5B,MAAMoD,EAAUnE,EAAEoE,iBAAiB,IAAmC3F,KAAK4F,oBAC3E,MAAMC,EAAYH,GAAQI,UAAU,WAAaJ,EACjD,MAAMK,EAAe/F,KAAKO,KAAKyF,QAAQH,GACvC,GAAIE,KAAiB,EAAI,OAIzB,MAAME,EAAcjG,KAAKkG,SAAU,EAAK,EACxC,IAAIC,EAA6B,KAEjC,OAAQ5E,EAAE6E,KACR,IAAK,aACH7E,EAAEQ,iBACFoE,EAAcnG,KAAKqG,wBAAwBN,EAAcE,GACzD,MACF,IAAK,YACH1E,EAAEQ,iBACFoE,EAAcnG,KAAKqG,wBAAwBN,EAAeE,GAAM,GAChE,MACF,IAAK,OACH1E,EAAEQ,iBACFoE,EAAcnG,KAAKsG,mBACnB,MACF,IAAK,MACH/E,EAAEQ,iBACFoE,EAAcnG,KAAKuG,kBACnB,MAGJ,GAAIJ,IAAgB,MAAQA,IAAgBJ,EAAc,CACxD/F,KAAKO,KAAK4F,GAAaK,QACvBxG,KAAKwF,YAAYW,E,EAMrB,uBAAAM,GACEzG,KAAK0G,sB,CAGC,iBAAAd,GACN,IAAIe,EAAyBnC,SAASoC,cACtC,MAAOD,GAAQrD,YAAYsD,cAAe,CACxCD,EAASA,EAAOrD,WAAWsD,a,CAE7B,OAAOD,C,CAGD,KAAAT,GACN,cAAcW,mBAAqB,aAAeA,iBAAiB7G,KAAKuC,IAAIuE,YAAc,K,CAGpF,oBAAAC,GACN,cAAcC,aAAe,aAAeA,WAAW,oCAAoCC,O,CAIrF,uBAAAZ,CAAwBa,EAAcJ,GAC5C,MAAMK,EAAMnH,KAAKO,KAAK+B,OACtB,GAAI6E,IAAQ,EAAG,OAAO,KACtB,IAAIC,EAAMF,EACV,IAAK,IAAIG,EAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5BD,GAAOA,EAAMN,EAAYK,GAAOA,EAChC,IAAKnH,KAAKsH,cAActH,KAAKO,KAAK6G,IAAO,OAAOA,C,CAElD,OAAO,I,CAGD,gBAAAd,GACN,IAAK,IAAIe,EAAI,EAAGA,EAAIrH,KAAKO,KAAK+B,OAAQ+E,IAAK,CACzC,IAAKrH,KAAKsH,cAActH,KAAKO,KAAK8G,IAAK,OAAOA,C,CAEhD,OAAO,I,CAGD,eAAAd,GACN,IAAK,IAAIc,EAAIrH,KAAKO,KAAK+B,OAAS,EAAG+E,GAAK,EAAGA,IAAK,CAC9C,IAAKrH,KAAKsH,cAActH,KAAKO,KAAK8G,IAAK,OAAOA,C,CAEhD,OAAO,I,CAKD,QAAA3D,GACN1D,KAAKmE,qBAEL,MAAMZ,EAAOvD,KAAKuC,GAAGe,YAAYE,cAAc,QAC/C,IAAKD,EAAM,OAKXvD,KAAKO,KAAOgD,EAAKgE,iBAAiB,CAAEC,QAAS,OAAQC,QACnDlF,GAAMA,EAAGmF,UAAY,WAGvB1H,KAAKM,SAAWN,KAAKO,KAAK+B,OAE1BtC,KAAKO,KAAK4E,SAAQ,CAACC,EAAKG,KACtBH,EAAIC,aAAa,UAAWrF,KAAKE,SACjCkF,EAAI3B,iBAAiB,aAAczD,KAAK2H,sBAAsBpC,IAE9D,IAAKH,EAAIwC,GAAI,CACXxC,EAAIwC,GAAK,GAAG5H,KAAKe,oBAAoBwE,G,KAIzCvF,KAAKQ,eAAiB,KACtB,GAAIR,KAAK4D,eAAgB,CACvB5D,KAAK4D,eAAeQ,aACpB,GAAIpE,KAAKyB,YAAazB,KAAK4D,eAAeS,QAAQrE,KAAKyB,aAGvDzB,KAAKO,KAAK4E,SAAS0C,GAAM7H,KAAK4D,eAAgBS,QAAQwD,I,CAExD7H,KAAK8H,qBACL9H,KAAKqC,gB,CASC,kBAAAyF,GAGN9H,KAAKa,SAASsE,SAAS0C,IACrB,IAAK7H,KAAKO,KAAKwH,SAASF,GAAI,CAC1BA,EAAEG,gBAAgB,UAClBH,EAAEG,gBAAgB,W,KAGtBhI,KAAKa,SAAWb,KAAKO,KAErB,GAAIP,KAAKO,KAAK+B,SAAW,EAAG,CAC1BtC,KAAKU,YAAc,KACnB,M,CAKF,GAAIV,KAAKY,wBAA0B,KAAM,CACvC,MAAMqH,EAAUjI,KAAKY,sBACrBZ,KAAKY,sBAAwB,KAC7B,GAAIqH,GAAWjI,KAAKO,KAAK+B,OAAS,EAAG,CACnC,MAAM8E,EAAMpH,KAAK+E,WAAWkD,GAC5BjI,KAAKgF,iBAAiBoC,GACtBpH,KAAKiF,WAAWmC,GAChB,M,EAMJ,GAAIpH,KAAKsG,qBAAuB,KAAM,CACpC,MAAM4B,EAAelI,KAAKU,cAAgB,KAC1C,MAAMyH,EAAgBnI,KAAKC,eAC3BD,KAAKO,KAAK4E,SAAS0C,GAAMA,EAAEG,gBAAgB,YAC3ChI,KAAKU,YAAc,KACnBV,KAAK0G,uBACL,GAAIwB,EAAclI,KAAKoI,YAAYC,KAAK,CAAE9C,OAAO,EAAI4C,kBACrD,M,CAGF,MAAMG,EAAStI,KAAKU,YACpB,IAAI6E,EACJ,GAAI+C,GAAUtI,KAAKO,KAAKwH,SAASO,GAAS,CACxC/C,EAAQvF,KAAKO,KAAKyF,QAAQsC,E,KACrB,CACL/C,EAAQvF,KAAK+E,WAAW/E,KAAKC,e,CAE/B,MAAMkI,EAAgBnI,KAAKC,eAC3BD,KAAKgF,iBAAiBO,GACtBvF,KAAKiF,WAAWM,EAAO,CAAEgD,OAAQ,QAIjC,GAAID,IAAW,MAAQtI,KAAKU,cAAgB4H,EAAQ,CAClDtI,KAAKoI,YAAYC,KAAK,CAAE9C,QAAO4C,iB,EAK3B,aAAAtD,CAAcU,GACpB,MAAMiD,EAAMxH,KAAKyH,MAAMC,OAAOnD,IAC9B,OAAOmD,OAAOC,SAASH,GAAOA,EAAM,C,CAK9B,aAAAlB,CAAclC,GACpB,OAAQA,EAA6CwD,WAAa,MAAQxD,EAAIyD,aAAa,W,CAIrF,UAAA9D,CAAWQ,GACjB,MAAM4B,EAAMnH,KAAKO,KAAK+B,OACtB,GAAI6E,IAAQ,EAAG,OAAO,EACtB,IAAIC,EAAMpG,KAAKgC,IAAI,EAAGhC,KAAK8B,IAAI9C,KAAK6E,cAAcU,GAAQ4B,EAAM,IAChE,GAAInH,KAAKO,KAAK6G,IAAQpH,KAAKsH,cAActH,KAAKO,KAAK6G,IAAO,CACxD,MAAM0B,EAAU9I,KAAKqG,wBAAwBe,EAAK,IAAMpH,KAAKsG,mBAC7D,GAAIwC,IAAY,KAAM1B,EAAM0B,C,CAE9B,OAAO1B,C,CAGD,gBAAApC,CAAiBO,GACvB,GAAIvF,KAAKC,iBAAmBsF,EAAO,OACnCvF,KAAKW,aAAe,KACpBX,KAAKC,eAAiBsF,EACtBvF,KAAKW,aAAe,K,CAGd,kBAAAwD,GACN,IAAKnE,KAAKQ,eAAgB,OAC1BR,KAAKO,KAAK4E,SAAQ,CAACC,EAAKG,KACtBH,EAAI2D,oBAAoB,aAAc/I,KAAK2H,sBAAsBpC,GAAO,IAE1EvF,KAAKQ,eAAiB,K,CAKhB,qBAAAmH,CAAsBpC,GAC5B,IAAKvF,KAAKoB,iBAAiB4H,IAAIzD,GAAQ,CACrCvF,KAAKoB,iBAAiB6H,IAAI1D,GAAO,IAAMvF,KAAKwF,YAAYD,I,CAE1D,OAAOvF,KAAKoB,iBAAiB8H,IAAI3D,E,CAG3B,WAAAC,CAAYD,GAClBvF,KAAKY,sBAAwB,KAC7B,GAAI2E,IAAUvF,KAAKC,gBAAkBD,KAAKO,KAAKgF,IAAQsD,aAAa,UAAW,OAC/E,MAAMV,EAAgBnI,KAAKC,eAC3BD,KAAKgF,iBAAiBO,GACtBvF,KAAKiF,WAAWM,GAChBvF,KAAKoI,YAAYC,KAAK,CAAE9C,QAAO4C,iB,CAMzB,UAAAlD,CAAWM,EAAe4D,EAA6B,IAC7D,MAAMb,EAAStI,KAAKU,YACpB,MAAM0I,EAASpJ,KAAKO,KAAKgF,IAAU,KACnCvF,KAAKqJ,iBAAiB9D,GACtBvF,KAAK0G,uBACL1G,KAAKU,YAAc0I,EACnB,GAAID,EAAKZ,SAAW,MAAOvI,KAAKsJ,kBAAkB/D,GAClD,GAAI+C,GAAUc,GAAUd,IAAWc,EAAQpJ,KAAKuJ,eAAejB,EAAQc,E,CAGjE,gBAAAC,CAAiBG,GACvBxJ,KAAKO,KAAK4E,SAAQ,CAACC,EAAKiC,KACtB,GAAIA,IAAMmC,EAAa,CACrBpE,EAAIC,aAAa,SAAU,G,KACtB,CACLD,EAAI4C,gBAAgB,S,KAQlB,oBAAAtB,GACN,IAAI+C,EAASzJ,KAAKC,eAClB,GAAID,KAAKO,KAAKkJ,IAAWzJ,KAAKsH,cAActH,KAAKO,KAAKkJ,IAAU,CAC9DA,EAASzJ,KAAKsG,oBAAsBmD,C,CAEtCzJ,KAAKO,KAAK4E,SAAQ,CAACC,EAAKiC,KACtB,GAAIrH,KAAKsH,cAAclC,GAAM,CAC3BA,EAAIC,aAAa,WAAY,K,KACxB,CACLD,EAAIC,aAAa,WAAYgC,IAAMoC,EAAS,IAAM,K,KAWhD,cAAAF,CAAeG,EAAsBC,GAC3C,GAAI3J,KAAK+G,uBAAwB,OACjC,MAAM6C,EAAWxE,IACdA,EAAI9B,YAAYE,cAAc,uBAAyB4B,GAAKzC,wBAC/D,MAAMkH,EAAID,EAAQF,GAClB,MAAMI,EAAIF,EAAQD,GAClB,IAAKE,EAAExJ,QAAUyJ,EAAEzJ,MAAO,OAC1B,MAAM0J,EAAKF,EAAE1H,KAAO0H,EAAExJ,MAAQ,GAAKyJ,EAAE3H,KAAO2H,EAAEzJ,MAAQ,GACtD,MAAM2J,EAAKH,EAAExJ,MAAQyJ,EAAEzJ,MACvB,UAAW4J,wBAA0B,YAAa,OAMlD,MAAMC,IAAUlK,KAAKc,WACrB4I,EAAQS,MAAMC,eAAe,oBAC7BV,EAAQS,MAAMC,eAAe,wBAC7BV,EAAQS,MAAMC,eAAe,2BAC7BT,EAAQQ,MAAME,YAAY,0BAA2B,MACrDV,EAAQQ,MAAME,YAAY,mBAAoB,GAAGN,OACjDJ,EAAQQ,MAAME,YAAY,uBAAwB,GAAGL,KACrDC,uBAAsB,IAAMA,uBAAsB,KAChD,GAAIC,IAAUlK,KAAKc,WAAY,OAC/B6I,EAAQQ,MAAMC,eAAe,2BAC7BT,EAAQQ,MAAME,YAAY,mBAAoB,OAC9CV,EAAQQ,MAAME,YAAY,uBAAwB,KAClDC,YAAW,KACT,GAAIJ,IAAUlK,KAAKc,WAAY,OAC/B6I,EAAQQ,MAAMC,eAAe,oBAC7BT,EAAQQ,MAAMC,eAAe,uBAAuB,GACnD,IAAI,K,CAIH,iBAAAd,CAAkB/D,GACxB,MAAMH,EAAMpF,KAAKO,KAAKgF,GACtB,IAAKH,IAAQpF,KAAKyB,YAAa,OAC/B2D,EAAImF,iBAAiB,CACnBnI,SAAUpC,KAAK+G,uBAAyB,OAAS,SACjDyD,MAAO,UACPC,OAAQ,W,CA4CZ,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAxE,IAAA,2CACHyE,MAAO,CACL,UAAW,KACX,CAAC,YAAY7K,KAAKE,WAAY,KAC9B,mBAAoBF,KAAKmD,eAAiB,OAC1C,oBAAqBnD,KAAKmD,eAAiB,SAE7CgH,MAAO,IACDnK,KAAKmD,eAAiB,QAAU,CAAE,eAAgBnD,KAAKI,UAAa,MACpEJ,KAAKK,MAAQ,CAAE,cAAeL,KAAKK,OAAU,IAEnDyK,KAAK,UAAS,aACF9K,KAAKG,eAAiB,OAAM,mBACvB,cAEjBwK,EAAA,OAAAvE,IAAA,2CACEyE,MAAM,qBACNE,KAAK,YACLC,IAAKzI,GAAOvC,KAAKyB,YAAcc,EAC/B0I,QAASjL,KAAKsB,YACd4J,SAAUlL,KAAKqC,gBAEfsI,EAAA,QAAAvE,IAAA,8C","ignoreList":[]}
1
+ {"version":3,"names":["mdTabsCss","MdTabs","constructor","hostRef","this","activeTabIndex","variant","ariaLabelProp","tabWidth","width","tabCount","tabs","listenersBound","hasLoaded","activeTabEl","syncingIndex","pendingRequestedIndex","prevTabs","glideToken","uniquePrefix","Math","random","toString","slice","tabClickHandlers","Map","handleWheel","e","c","containerEl","scrollWidth","clientWidth","abs","deltaX","deltaY","preventDefault","factor","deltaMode","scrollBy","left","behavior","updateOverflow","length","el","classList","remove","box","getBoundingClientRect","first","last","min","right","max","toggle","onTabWidthChange","tabWidthMode","componentDidLoad","shadow","shadowRoot","slot","querySelector","addEventListener","syncTabs","ResizeObserver","resizeObserver","MutationObserver","dirObserver","attachObservers","connectedCallback","queueMicrotask","disconnectedCallback","removeTabListeners","disconnect","observe","attributes","attributeFilter","document","documentElement","onActiveChange","newIndex","sanitized","sanitizeIndex","clamped","clampIndex","setIndexInternal","applyIndex","onVariantChange","forEach","tab","setAttribute","selectTab","index","activateTab","handleKeyDown","origin","composedPath","deepActiveElement","originTab","closest","currentIndex","indexOf","dir","isRtl","targetIndex","key","findNextEnabledWrapping","findFirstEnabled","findLastEnabled","focus","handleTabDisabledChange","updateRovingTabindex","active","activeElement","getComputedStyle","direction","prefersReducedMotion","matchMedia","matches","from","len","idx","i","isDisabledTab","assignedElements","flatten","filter","tagName","createTabClickHandler","id","t","reconcileActiveTab","includes","removeAttribute","pending","hadSelection","previousIndex","mdTabChange","emit","prevEl","scroll","num","round","Number","isFinite","disabled","hasAttribute","enabled","removeEventListener","has","set","get","opts","nextEl","applyActiveState","scrollTabIntoView","glideIndicator","activeIndex","holder","prevTab","nextTab","measure","p","n","dx","sx","requestAnimationFrame","token","style","removeProperty","setProperty","setTimeout","scrollIntoView","block","inline","render","h","Host","class","role","part","ref","onWheel","onScroll"],"sources":["src/components/md-tabs/md-tabs.css?tag=md-tabs&encapsulation=shadow","src/components/md-tabs/md-tabs.tsx"],"sourcesContent":["/* ==========================================================\n md-tabs — Material Design 3 Tabs Container\n Spec: https://m3.material.io/components/tabs/specs\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-tabs-container-color Container background\n --md-tabs-divider-color Divider color for every child tab's\n bottom line (md-tab inherits it into its\n own divider default chain)\n\n CSS PARTS:\n container Scrollable tab container\n\n SLOTS:\n (default) md-tab elements\n ========================================================== */\n\n/* ==========================================================\n 1. HOST\n ========================================================== */\n\n:host {\n --_container-color: var(--md-tabs-container-color, var(--md-sys-color-surface, #FFFBFE));\n\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n position: relative;\n background-color: var(--_container-color);\n box-sizing: border-box;\n}\n\n/* ==========================================================\n 2. CONTAINER — horizontal scroll, hide scrollbar\n ========================================================== */\n\n.md-tabs__container {\n display: flex;\n overflow-x: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n scroll-behavior: smooth;\n}\n\n.md-tabs__container::-webkit-scrollbar {\n display: none;\n}\n\n/* Tabs fill container equally (tab-width=\"equal\", the default) */\n::slotted(md-tab) {\n flex: 1;\n min-inline-size: 90px;\n}\n\n/* tab-width=\"auto\" — content-sized tabs, strip scrolls */\n:host(.md-tabs--tw-auto) ::slotted(md-tab) {\n flex: 0 0 auto;\n}\n\n/* tab-width=\"<length>\" — content-immune fixed tracks (dynamic badges/labels\n can't reshuffle the strip); long labels ellipsize inside md-tab */\n:host(.md-tabs--tw-fixed) ::slotted(md-tab) {\n flex: 0 0 var(--_tab-width);\n inline-size: var(--_tab-width);\n min-inline-size: var(--_tab-width);\n max-inline-size: var(--_tab-width);\n}\n\n/* ==========================================================\n 3. OVERFLOW AFFORDANCE — edge fades signal clipped tabs\n md-tabs toggles clip-left/right from tab GEOMETRY (physical rects,\n RTL-correct); the mask fades the clipped edge. Wheel input maps to\n horizontal scroll in the component.\n ========================================================== */\n\n:host(.md-tabs--clip-left) .md-tabs__container {\n -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px);\n mask-image: linear-gradient(to right, transparent 0, #000 40px);\n}\n\n:host(.md-tabs--clip-right) .md-tabs__container {\n -webkit-mask-image: linear-gradient(to left, transparent 0, #000 40px);\n mask-image: linear-gradient(to left, transparent 0, #000 40px);\n}\n\n:host(.md-tabs--clip-left.md-tabs--clip-right) .md-tabs__container {\n -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);\n mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);\n}\n\n/* ==========================================================\n 4. REDUCED MOTION\n ========================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .md-tabs__container {\n scroll-behavior: auto;\n }\n}\n","import { Component, Host, h, Prop, Event, EventEmitter, Element, Watch, State, Method, Listen } from '@stencil/core';\n\n/**\n * @slot - Tab items (`md-tab` elements)\n *\n * @part container - Scrollable tab container\n */\n@Component({\n tag: 'md-tabs',\n styleUrl: 'md-tabs.css',\n shadow: true,\n})\nexport class MdTabs {\n @Element() el!: HTMLElement;\n\n /** Index of the currently active tab */\n @Prop({ mutable: true }) activeTabIndex: number = 0;\n\n /** Visual variant applied to all child tabs */\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' = 'primary';\n\n /** Accessible label for the tablist */\n @Prop({ attribute: 'aria-label' }) ariaLabelProp: string = '';\n\n /**\n * How tabs size along the strip. All modes are layout-stable under\n * dynamic content (labels/badges can change without reshuffling the\n * strip); long labels ellipsize instead of forcing a tab wider.\n * - `equal` (default) — tabs share the parent's FULL width equally;\n * tracks change only when the PARENT resizes.\n * - `auto` — each tab takes its content width (the strip scrolls), so\n * tracks follow content by design.\n * - any CSS length (e.g. `\"140px\"`, `\"10rem\"`) — every tab gets exactly\n * that width regardless of parent or content.\n */\n @Prop({ attribute: 'tab-width' }) tabWidth: string = 'equal';\n\n /**\n * Explicit width for the WHOLE strip (any CSS size: `\"480px\"`, `\"40rem\"`,\n * `\"100%\"`). By default the strip is `100%` of its parent — in\n * shrink-to-fit layouts (inline-block cards, auto grid columns, flex\n * items) that parent's width follows the ACTIVE TAB PANEL, so switching\n * to a tab with tiny content collapses the whole tablist. Set `width` to\n * anchor the strip regardless of what the panels do.\n */\n @Prop() width: string = '';\n\n @Watch('tabWidth')\n onTabWidthChange() {\n this.updateOverflow();\n }\n\n private get tabWidthMode(): 'equal' | 'auto' | 'fixed' {\n if (this.tabWidth === 'auto') return 'auto';\n if (!this.tabWidth || this.tabWidth === 'equal') return 'equal';\n return 'fixed';\n }\n\n /** Emits when the active tab changes */\n @Event() mdTabChange: EventEmitter<{ index: number; previousIndex: number }>;\n\n @State() private tabCount = 0;\n\n private tabs: HTMLElement[] = [];\n private containerEl?: HTMLElement;\n private listenersBound = false;\n private hasLoaded = false;\n /** The active tab ELEMENT — selection survives reorders/removals by\n * identity, not position (removing a preceding tab must not silently\n * select a different tab). */\n private activeTabEl: HTMLElement | null = null;\n /** Guards the activeTabIndex watch while we reconcile internally. */\n private syncingIndex = false;\n /** Consumer-requested index awaiting a tab that hasn't slotted in yet. */\n private pendingRequestedIndex: number | null = null;\n private prevTabs: HTMLElement[] = [];\n private glideToken = 0;\n private resizeObserver?: ResizeObserver;\n private dirObserver?: MutationObserver;\n private uniquePrefix = `md-tabs-${Math.random().toString(36).slice(2, 7)}`;\n\n // ─── Lifecycle ───────────────────────────────────────────\n\n componentDidLoad() {\n const shadow = this.el.shadowRoot;\n if (!shadow) return;\n\n const slot = shadow.querySelector('slot') as HTMLSlotElement | null;\n slot?.addEventListener('slotchange', () => this.syncTabs());\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => this.updateOverflow());\n }\n if (typeof MutationObserver !== 'undefined') {\n // A runtime dir flip moves the clipped side without firing scroll or\n // resize — the fades went stale on the wrong edge.\n this.dirObserver = new MutationObserver(() => this.updateOverflow());\n }\n this.hasLoaded = true;\n this.attachObservers();\n this.syncTabs();\n }\n\n connectedCallback() {\n // Reparenting disconnects (tearing down tab listeners) and reconnects\n // WITHOUT a slotchange — the slot's assignment inside our own shadow\n // never changed. Rebind, or the component is permanently dead after\n // an appendChild elsewhere.\n if (this.hasLoaded) {\n queueMicrotask(() => {\n this.attachObservers(); // disconnect() wiped subscriptions — re-observe\n this.syncTabs();\n });\n }\n }\n\n disconnectedCallback() {\n this.removeTabListeners();\n this.resizeObserver?.disconnect();\n this.dirObserver?.disconnect();\n }\n\n private attachObservers() {\n if (this.containerEl) this.resizeObserver?.observe(this.containerEl);\n if (this.dirObserver) {\n this.dirObserver.observe(this.el, { attributes: true, attributeFilter: ['dir'] });\n this.dirObserver.observe(document.documentElement, { attributes: true, attributeFilter: ['dir'] });\n }\n }\n\n // ─── Watchers ────────────────────────────────────────────\n\n @Watch('activeTabIndex')\n onActiveChange(newIndex: number) {\n if (this.syncingIndex) return;\n // The prop is the primary framework-wrapper path — it must be FULLY\n // reactive: clamp, then active state + roving tabindex + scroll, exactly\n // like the click/keyboard path (previously only the visuals updated,\n // leaving focus on the old tab and the new one offscreen).\n const sanitized = this.sanitizeIndex(newIndex);\n // \"append a tab and select it\" sets an index the (stale, pre-slotchange)\n // list doesn't have yet — remember the INTENT and honor it when the tab\n // registers, instead of permanently rewriting the consumer's value.\n this.pendingRequestedIndex = sanitized > this.tabs.length - 1 ? sanitized : null;\n const clamped = this.clampIndex(sanitized);\n if (clamped !== newIndex) {\n this.setIndexInternal(clamped); // guarded — the watch will NOT re-fire\n }\n this.applyIndex(clamped);\n }\n\n @Watch('variant')\n onVariantChange() {\n this.tabs.forEach(tab => tab.setAttribute('variant', this.variant));\n }\n\n // ─── Public Methods ──────────────────────────────────────\n\n /** Programmatically select a tab by index */\n @Method()\n async selectTab(index: number) {\n if (index < 0 || index >= this.tabs.length) return;\n this.activateTab(index);\n }\n\n // ─── Keyboard Navigation ─────────────────────────────────\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (this.tabs.length === 0) return;\n\n // composedPath()[0] is the true origin even through CLOSED shadow roots\n // (the deep activeElement walk stops at a closed host — arrows were dead\n // there). Fallback to the walk for synthetic events without a path.\n const origin = (e.composedPath?.()[0] as HTMLElement | undefined) ?? (this.deepActiveElement() as HTMLElement);\n const originTab = origin?.closest?.('md-tab') ?? origin;\n const currentIndex = this.tabs.indexOf(originTab as HTMLElement);\n if (currentIndex === -1) return;\n\n // Arrow keys follow VISUAL direction: in RTL, ArrowRight moves toward\n // lower indexes (same contract as md-navigation-bar).\n const dir: 1 | -1 = this.isRtl() ? -1 : 1;\n let targetIndex: number | null = null;\n\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n targetIndex = this.findNextEnabledWrapping(currentIndex, dir);\n break;\n case 'ArrowLeft':\n e.preventDefault();\n targetIndex = this.findNextEnabledWrapping(currentIndex, (dir * -1) as 1 | -1);\n break;\n case 'Home':\n e.preventDefault();\n targetIndex = this.findFirstEnabled();\n break;\n case 'End':\n e.preventDefault();\n targetIndex = this.findLastEnabled();\n break;\n }\n\n if (targetIndex !== null && targetIndex !== currentIndex) {\n this.tabs[targetIndex].focus();\n this.activateTab(targetIndex);\n }\n }\n\n /** A disabled state change re-roves so exactly one tab stays focusable. */\n @Listen('mdTabDisabledChange')\n handleTabDisabledChange() {\n this.updateRovingTabindex();\n }\n\n private deepActiveElement(): Element | null {\n let active: Element | null = document.activeElement;\n while (active?.shadowRoot?.activeElement) {\n active = active.shadowRoot.activeElement;\n }\n return active;\n }\n\n private isRtl(): boolean {\n return typeof getComputedStyle !== 'undefined' && getComputedStyle(this.el).direction === 'rtl';\n }\n\n private prefersReducedMotion(): boolean {\n return typeof matchMedia !== 'undefined' && matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n /** Wraps around: last→first and first→last, skipping disabled tabs. */\n private findNextEnabledWrapping(from: number, direction: 1 | -1): number | null {\n const len = this.tabs.length;\n if (len === 0) return null;\n let idx = from;\n for (let i = 0; i < len; i++) {\n idx = (idx + direction + len) % len;\n if (!this.isDisabledTab(this.tabs[idx])) return idx;\n }\n return null;\n }\n\n private findFirstEnabled(): number | null {\n for (let i = 0; i < this.tabs.length; i++) {\n if (!this.isDisabledTab(this.tabs[i])) return i;\n }\n return null;\n }\n\n private findLastEnabled(): number | null {\n for (let i = this.tabs.length - 1; i >= 0; i--) {\n if (!this.isDisabledTab(this.tabs[i])) return i;\n }\n return null;\n }\n\n // ─── Tab Sync ────────────────────────────────────────────\n\n private syncTabs() {\n this.removeTabListeners();\n\n const slot = this.el.shadowRoot?.querySelector('slot') as HTMLSlotElement | null;\n if (!slot) return;\n\n // flatten:true — tabs forwarded through a wrapper's <slot> must be\n // managed too (without it, assignedElements() returns the nested SLOT\n // element and zero tabs register).\n this.tabs = slot.assignedElements({ flatten: true }).filter(\n el => el.tagName === 'MD-TAB',\n ) as HTMLElement[];\n\n this.tabCount = this.tabs.length;\n\n this.tabs.forEach((tab, index) => {\n tab.setAttribute('variant', this.variant);\n tab.addEventListener('mdTabClick', this.createTabClickHandler(index));\n\n if (!tab.id) {\n tab.id = `${this.uniquePrefix}-tab-${index}`;\n }\n });\n\n this.listenersBound = true;\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n if (this.containerEl) this.resizeObserver.observe(this.containerEl);\n // A tab GROWING (label/min-width change) overflows the strip without\n // resizing the container box — observe the tabs themselves.\n this.tabs.forEach((t) => this.resizeObserver!.observe(t));\n }\n this.reconcileActiveTab();\n this.updateOverflow();\n }\n\n /**\n * Selection integrity across mutations: follow the active ELEMENT if it\n * still exists; if it was removed (or the index is out of range), clamp to\n * the nearest valid enabled tab and tell consumers. Never leave the\n * tablist without a focusable tab.\n */\n private reconcileActiveTab() {\n // Tabs that LEFT the managed set must not keep selected-looking state\n // (a moved-out active tab kept active + aria-selected + tabindex=0).\n this.prevTabs.forEach((t) => {\n if (!this.tabs.includes(t)) {\n t.removeAttribute('active');\n t.removeAttribute('tabindex'); // its own reconnect stamps standalone\n }\n });\n this.prevTabs = this.tabs;\n\n if (this.tabs.length === 0) {\n this.activeTabEl = null;\n return;\n }\n\n // A consumer index that outran the slotted list (\"append + select\")\n // wins the moment the tab registers — consumer-initiated, so no emit.\n if (this.pendingRequestedIndex !== null) {\n const pending = this.pendingRequestedIndex;\n this.pendingRequestedIndex = null; // single-shot: first reconcile only\n if (pending <= this.tabs.length - 1) {\n const idx = this.clampIndex(pending);\n this.setIndexInternal(idx);\n this.applyIndex(idx);\n return;\n }\n }\n\n // No enabled tab at all: nothing may claim aria-selected or the tab\n // stop (previously a DISABLED tab ended active with zero focusable tabs).\n if (this.findFirstEnabled() === null) {\n const hadSelection = this.activeTabEl !== null;\n const previousIndex = this.activeTabIndex;\n this.tabs.forEach((t) => t.removeAttribute('active'));\n this.activeTabEl = null;\n this.updateRovingTabindex();\n if (hadSelection) this.mdTabChange.emit({ index: -1, previousIndex });\n return;\n }\n\n const prevEl = this.activeTabEl;\n let index: number;\n if (prevEl && this.tabs.includes(prevEl)) {\n index = this.tabs.indexOf(prevEl);\n } else {\n index = this.clampIndex(this.activeTabIndex);\n }\n const previousIndex = this.activeTabIndex;\n this.setIndexInternal(index);\n this.applyIndex(index, { scroll: false });\n // Emit on ELEMENT-identity change, not index change: removing a mid-list\n // active tab keeps the same NUMBER while selecting a different tab —\n // the old numeric guard made that emit dead code.\n if (prevEl !== null && this.activeTabEl !== prevEl) {\n this.mdTabChange.emit({ index, previousIndex });\n }\n }\n\n /** NaN / floats / attribute garbage must never wipe the tablist. */\n private sanitizeIndex(index: unknown): number {\n const num = Math.round(Number(index));\n return Number.isFinite(num) ? num : 0;\n }\n\n /** Property writes reflect to the attribute ASYNC — read the prop first\n * so a just-disabled tab is never left holding the tab stop. */\n private isDisabledTab(tab: HTMLElement): boolean {\n return (tab as HTMLElement & { disabled?: boolean }).disabled === true || tab.hasAttribute('disabled');\n }\n\n /** Clamp into range, preferring an enabled tab (falls back to nearest). */\n private clampIndex(index: number): number {\n const len = this.tabs.length;\n if (len === 0) return 0;\n let idx = Math.max(0, Math.min(this.sanitizeIndex(index), len - 1));\n if (this.tabs[idx] && this.isDisabledTab(this.tabs[idx])) {\n const enabled = this.findNextEnabledWrapping(idx, 1) ?? this.findFirstEnabled();\n if (enabled !== null) idx = enabled;\n }\n return idx;\n }\n\n private setIndexInternal(index: number) {\n if (this.activeTabIndex === index) return;\n this.syncingIndex = true;\n this.activeTabIndex = index;\n this.syncingIndex = false;\n }\n\n private removeTabListeners() {\n if (!this.listenersBound) return;\n this.tabs.forEach((tab, index) => {\n tab.removeEventListener('mdTabClick', this.createTabClickHandler(index));\n });\n this.listenersBound = false;\n }\n\n private tabClickHandlers = new Map<number, () => void>();\n\n private createTabClickHandler(index: number): () => void {\n if (!this.tabClickHandlers.has(index)) {\n this.tabClickHandlers.set(index, () => this.activateTab(index));\n }\n return this.tabClickHandlers.get(index)!;\n }\n\n private activateTab(index: number) {\n this.pendingRequestedIndex = null;\n if (index === this.activeTabIndex && this.tabs[index]?.hasAttribute('active')) return;\n const previousIndex = this.activeTabIndex;\n this.setIndexInternal(index);\n this.applyIndex(index);\n this.mdTabChange.emit({ index, previousIndex });\n }\n\n /** SINGLE application path — active state + roving tabindex + scroll (+\n * indicator glide). Used by the watch, activation and reconciliation so\n * no caller can half-update again. */\n private applyIndex(index: number, opts: { scroll?: boolean } = {}) {\n const prevEl = this.activeTabEl;\n const nextEl = this.tabs[index] ?? null;\n this.applyActiveState(index);\n this.updateRovingTabindex();\n this.activeTabEl = nextEl;\n if (opts.scroll !== false) this.scrollTabIntoView(index);\n if (prevEl && nextEl && prevEl !== nextEl) this.glideIndicator(prevEl, nextEl);\n }\n\n private applyActiveState(activeIndex: number) {\n this.tabs.forEach((tab, i) => {\n if (i === activeIndex) {\n tab.setAttribute('active', '');\n } else {\n tab.removeAttribute('active');\n }\n });\n }\n\n /** md-tabs is the ONLY tabindex writer (md-tab renders none inside a\n * tablist) and always leaves exactly one focusable tab — the active one,\n * or the first enabled tab when the active one is disabled/invalid. */\n private updateRovingTabindex() {\n let holder = this.activeTabIndex;\n if (this.tabs[holder] && this.isDisabledTab(this.tabs[holder])) {\n holder = this.findFirstEnabled() ?? holder;\n }\n this.tabs.forEach((tab, i) => {\n if (this.isDisabledTab(tab)) {\n tab.setAttribute('tabindex', '-1');\n } else {\n tab.setAttribute('tabindex', i === holder ? '0' : '-1');\n }\n });\n }\n\n /**\n * MD3 indicator glide: FLIP the incoming tab's indicator from the\n * outgoing one's position/width to its own. The indicators live in each\n * tab's shadow root, so the transform is driven via inherited custom\n * properties the indicator CSS consumes.\n */\n private glideIndicator(prevTab: HTMLElement, nextTab: HTMLElement) {\n if (this.prefersReducedMotion()) return;\n const measure = (tab: HTMLElement) =>\n (tab.shadowRoot?.querySelector('.md-tab__indicator') ?? tab).getBoundingClientRect();\n const p = measure(prevTab);\n const n = measure(nextTab);\n if (!p.width || !n.width) return;\n const dx = p.left + p.width / 2 - (n.left + n.width / 2);\n const sx = p.width / n.width;\n if (typeof requestAnimationFrame === 'undefined') return;\n // Releasing synchronously never glided: the `active` class lands on the\n // NEXT render, after the vars were already back at identity — the\n // indicator just popped in place. Hold the translated start frame\n // through the render (duration 0), release on a double rAF so the\n // transition carries it home. Token guards rapid tab-hopping.\n const token = ++this.glideToken;\n prevTab.style.removeProperty('--md-tab-glide-x');\n prevTab.style.removeProperty('--md-tab-glide-scale');\n prevTab.style.removeProperty('--md-tab-glide-duration');\n nextTab.style.setProperty('--md-tab-glide-duration', '0s');\n nextTab.style.setProperty('--md-tab-glide-x', `${dx}px`);\n nextTab.style.setProperty('--md-tab-glide-scale', `${sx}`);\n requestAnimationFrame(() => requestAnimationFrame(() => {\n if (token !== this.glideToken) return;\n nextTab.style.removeProperty('--md-tab-glide-duration');\n nextTab.style.setProperty('--md-tab-glide-x', '0px');\n nextTab.style.setProperty('--md-tab-glide-scale', '1');\n setTimeout(() => {\n if (token !== this.glideToken) return;\n nextTab.style.removeProperty('--md-tab-glide-x');\n nextTab.style.removeProperty('--md-tab-glide-scale');\n }, 500);\n }));\n }\n\n private scrollTabIntoView(index: number) {\n const tab = this.tabs[index];\n if (!tab || !this.containerEl) return;\n tab.scrollIntoView?.({\n behavior: this.prefersReducedMotion() ? 'auto' : 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n\n // ─── Overflow affordance ─────────────────────────────────\n\n /** Vertical wheel scrolls the tab strip horizontally when it overflows —\n * otherwise clipped tabs are unreachable for mouse-only users (the\n * scrollbar is hidden by design). */\n private handleWheel = (e: WheelEvent) => {\n const c = this.containerEl;\n if (!c || c.scrollWidth <= c.clientWidth) return;\n // Horizontal gestures (trackpad swipes) scroll the strip NATIVELY —\n // intercepting them replayed the motion through the tarpit below.\n if (Math.abs(e.deltaX) >= Math.abs(e.deltaY) || e.deltaY === 0) return;\n e.preventDefault();\n // deltaMode: 0=pixels, 1=lines (Firefox wheel), 2=pages\n const factor = e.deltaMode === 1 ? 16 : e.deltaMode === 2 ? c.clientWidth : 1;\n // MUST bypass the container's scroll-behavior:smooth — incremental\n // scrollLeft writes read the mid-animation position, so a wheel burst\n // compounded off barely-moved values and crawled (10x120px netted\n // 155px of 320). 'instant' applies each tick fully.\n c.scrollBy({ left: e.deltaY * factor, behavior: 'instant' as ScrollBehavior });\n };\n\n /** Edge fades signal clipped tabs. Detection uses tab GEOMETRY (physical\n * rects), so it is RTL-correct by construction. */\n private updateOverflow = () => {\n const c = this.containerEl;\n if (!c || this.tabs.length === 0) {\n this.el.classList.remove('md-tabs--clip-left', 'md-tabs--clip-right');\n return;\n }\n const box = c.getBoundingClientRect();\n const first = this.tabs[0].getBoundingClientRect();\n const last = this.tabs[this.tabs.length - 1].getBoundingClientRect();\n const left = Math.min(first.left, last.left);\n const right = Math.max(first.right, last.right);\n this.el.classList.toggle('md-tabs--clip-left', left < box.left - 1);\n this.el.classList.toggle('md-tabs--clip-right', right > box.right + 1);\n };\n\n // ─── Render ──────────────────────────────────────────────\n\n render() {\n return (\n <Host\n class={{\n 'md-tabs': true,\n [`md-tabs--${this.variant}`]: true,\n 'md-tabs--tw-auto': this.tabWidthMode === 'auto',\n 'md-tabs--tw-fixed': this.tabWidthMode === 'fixed',\n }}\n style={{\n ...(this.tabWidthMode === 'fixed' ? { '--_tab-width': this.tabWidth } : {}),\n ...(this.width ? { 'inline-size': this.width } : {}),\n }}\n role=\"tablist\"\n aria-label={this.ariaLabelProp || 'tabs'}\n aria-orientation=\"horizontal\"\n >\n <div\n class=\"md-tabs__container\"\n part=\"container\"\n ref={el => (this.containerEl = el)}\n onWheel={this.handleWheel}\n onScroll={this.updateOverflow}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,h as s,H as i,a as r}from"./p-DTaX19_O.js";const n=()=>`:host{--_container-color:var(--md-list-container-color, var(--md-sys-color-surface, #fffbfe));--_container-shape:var(--md-list-container-shape, 0px);--_padding-block:var(--md-list-padding-block, var(--md-sys-spacing-inset-sm, 8px));--_padding-inline:var(--md-list-padding-inline, 0px);--_segmented-gap:var(--md-list-segmented-gap, 2px);--_drop-placeholder-color:var(--md-list-drop-placeholder-color, color-mix(in srgb, var(--md-sys-color-primary-container, #eaddff) 45%, transparent));--_drop-placeholder-outline-color:var(--md-list-drop-placeholder-outline-color, color-mix(in srgb, var(--md-sys-color-primary, #6750a4) 55%, transparent));--_drop-placeholder-outline-width:var(--md-list-drop-placeholder-outline-width, 2px);--_drop-placeholder-shape:var(--md-list-drop-placeholder-shape, var(--md-sys-shape-corner-large, 16px));--_drop-placeholder-opacity:var(--md-list-drop-placeholder-opacity, 1);display:flex;flex-direction:column;inline-size:100%;background-color:var(--_container-color);color:var(--md-sys-color-on-surface, #1c1b1f);border-radius:var(--_container-shape);padding-block:var(--_padding-block);padding-inline:var(--_padding-inline);box-sizing:border-box;overflow:clip}:host(.md-list--standard){--_container-color:var(--md-list-container-color, transparent);--_container-shape:var(--md-list-container-shape, 0px);gap:0;overflow:visible}:host(.md-list--standard) ::slotted(md-list-item){--md-list-item-container-shape:0px;}:host(.md-list--standard) ::slotted(md-list-item:first-of-type){--md-list-item-container-shape-start-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-start-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--standard) ::slotted(md-list-item:last-of-type){--md-list-item-container-shape-end-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--standard) ::slotted(md-list-item:only-of-type){--md-list-item-container-shape-start-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-start-end:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--segmented){--_container-color:var(--md-list-container-color, transparent);--_container-shape:var(--md-list-container-shape, 0px);--_padding-inline:var(--md-list-padding-inline, 0px);--_padding-block:var(--md-list-padding-block, 0px);gap:var(--_segmented-gap);overflow:visible}:host(.md-list--segmented) ::slotted(md-list-item){--md-list-item-container-shape:var(--md-sys-shape-corner-extra-small, 4px);}:host(.md-list--segmented) ::slotted(md-list-item:first-of-type){--md-list-item-container-shape-start-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-start-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--segmented) ::slotted(md-list-item:last-of-type){--md-list-item-container-shape-end-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--segmented) ::slotted(md-list-item:only-of-type){--md-list-item-container-shape-start-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-start-end:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--single-select),:host(.md-list--multi-select){}:host(:focus){outline:none}:host(.md-list--reordering){position:relative}.md-list__drop-placeholder{position:absolute;inset-inline-start:var(--_padding-inline);inset-inline-end:var(--_padding-inline);inset-block-start:0;box-sizing:border-box;z-index:0;pointer-events:none;border-radius:var(--_drop-placeholder-shape);background-color:var(--_drop-placeholder-color);border:var(--_drop-placeholder-outline-width) dashed var(--_drop-placeholder-outline-color);opacity:var(--_drop-placeholder-opacity);transition:transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@media (prefers-reduced-motion: reduce){.md-list__drop-placeholder{transition: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}`;function o(t){let e=t.getRootNode().activeElement;while(e){if(e===t)return true;e=e.parentElement??(e.getRootNode().host??null)}return false}const a=class{constructor(s){t(this,s);this.mdSelect=e(this,"mdSelect",7);this.mdActivate=e(this,"mdActivate",7);this.mdReorder=e(this,"mdReorder",7);this.listStyle="standard";this.selectionMode="none";this.interactionMode="single-action";this.reorderable=false;this.label="";this.labelledby="";this.roleOverride="";this.density=0;this.activeIndex=0;this.dropPlaceholder=null;this.typeaheadBuffer="";this.typeaheadTimer=null;this.childObserver=null;this.originalOrder=[];this.dragState=null;this.handleMdItemSelect=t=>{this.onExpandedItemSelect(t)};this.onDragMove=t=>{const e=this.dragState;if(!e||t.pointerId!==e.pointerId)return;const s=t.clientY-e.startClientY;e.item.style.transform=`translateY(${s}px)`;const i=e.rects[e.fromIndex];const r=i.center+s;let n=e.fromIndex;for(let t=0;t<e.rects.length;t++){if(t===e.fromIndex)continue;const s=e.rects[t];if(t<e.fromIndex&&r<s.center)n=Math.min(n,t);if(t>e.fromIndex&&r>s.center)n=Math.max(n,t)}if(n!==e.targetIndex){e.targetIndex=n;this.applySiblingShifts();this.dropPlaceholder={top:e.rects[n].top-e.listTop,height:e.rects[e.fromIndex].height}}};this.onDragEnd=t=>{const e=this.dragState;if(!e||t.pointerId!==e.pointerId)return;this.el.removeEventListener("pointermove",this.onDragMove);this.el.removeEventListener("pointerup",this.onDragEnd);this.el.removeEventListener("pointercancel",this.onDragEnd);try{this.el.releasePointerCapture(e.pointerId)}catch{}e.rects.forEach((t=>{t.item.classList.remove("md-list-item--shifting");t.item.style.transform=""}));e.item.classList.remove("md-list-item--dragged");this.dropPlaceholder=null;const{fromIndex:s,targetIndex:i}=e;this.dragState=null;if(i!==s){this.moveItem(s,i);this.emitReorder(s,i)}}}get items(){return Array.from(this.el.children).filter((t=>t.tagName==="MD-LIST-ITEM"))}get focusableItems(){return this.items.filter((t=>this.isItemFocusable(t)))}hasExpandableRows(){return this.items.some((t=>t.expandable||t.hasAttribute("expandable")))}get effectiveRole(){if(this.roleOverride)return this.roleOverride;if(this.selectionMode!=="none"){return this.hasExpandableRows()?"list":"listbox"}return"list"}get childDividers(){return Array.from(this.el.children).filter((t=>t.tagName==="MD-DIVIDER"))}syncDividers(){const t=this.effectiveRole;const e=t==="list"||t==="listbox";this.childDividers.forEach((t=>{if(e)t.setAttribute("aria-hidden","true");else t.removeAttribute("aria-hidden")}))}isItemFocusable(t){if(t.disabled)return false;if(this.selectionMode!=="none")return true;if(this.reorderable)return true;return t.type!=="text"}componentDidLoad(){this.syncSelectionMode();this.syncInteractionMode();this.syncReorderable();this.syncContainerRole();this.syncDividers();this.originalOrder=[...this.items];this.refreshRovingTabindex(this.findInitialActiveIndex(),false);this.el.addEventListener("mdItemSelect",this.handleMdItemSelect);if(typeof MutationObserver!=="undefined"){this.childObserver=new MutationObserver((t=>{const e=t.some((t=>t.type==="childList"));if(e){this.syncSelectionMode();this.syncInteractionMode();this.syncReorderable();this.syncContainerRole();this.syncDividers();this.items.forEach((t=>{if(!this.originalOrder.includes(t))this.originalOrder.push(t)}));this.refreshRovingTabindex(this.activeIndex,false)}}));this.childObserver.observe(this.el,{childList:true})}}disconnectedCallback(){this.el.removeEventListener("mdItemSelect",this.handleMdItemSelect);this.childObserver?.disconnect();this.childObserver=null;if(this.typeaheadTimer!==null){window.clearTimeout(this.typeaheadTimer);this.typeaheadTimer=null}if(this.dragState){this.el.removeEventListener("pointermove",this.onDragMove);this.el.removeEventListener("pointerup",this.onDragEnd);this.el.removeEventListener("pointercancel",this.onDragEnd);this.dragState=null;this.dropPlaceholder=null}}onSelectionModeChange(){this.syncSelectionMode();this.syncDividers();this.refreshRovingTabindex(this.activeIndex,false)}onInteractionModeChange(){this.syncInteractionMode()}onReorderableChange(){this.syncReorderable();this.refreshRovingTabindex(this.activeIndex,false)}onRoleOverrideChange(){this.syncContainerRole();this.syncDividers()}syncReorderable(){const t=this.reorderable;this.items.forEach((e=>{e.reorderable=t}))}syncContainerRole(){const t=this.effectiveRole;this.items.forEach((e=>{e.containerRole=t}))}syncInteractionMode(){const t=this.interactionMode;this.items.forEach((e=>{e.interactionMode=t;if(t==="single-action"){e.removeAttribute("data-interaction-mode")}else{e.setAttribute("data-interaction-mode",t)}}))}syncSelectionMode(){const t=this.selectionMode;const e=s=>{s.selectionMode=t;if(t==="none"){s.removeAttribute("data-selection-mode")}else{s.setAttribute("data-selection-mode",t)}if(s.expandable){if(s.selected)s.selected=false;Array.from(s.children).forEach((t=>{if(t.tagName==="MD-LIST-ITEM"&&t.getAttribute("slot")==="expanded-content"){e(t)}}))}};this.items.forEach(e)}findInitialActiveIndex(){const t=this.items;if(t.length===0)return 0;const e=t.findIndex((t=>t.selected&&!t.expandable&&this.isItemFocusable(t)));if(e>=0)return e;const s=t.findIndex((t=>this.isItemFocusable(t)));return s>=0?s:0}refreshRovingTabindex(t,e,s=false){const i=this.items;const r=this.focusableItems;if(i.length===0)return;if(r.length===0){i.forEach((t=>{t.tabbable=false;t.rovingFocusVisible=false}));return}let n=t;if(!i[n]||!this.isItemFocusable(i[n])){n=i.indexOf(r[0])}this.activeIndex=n;i.forEach(((t,e)=>{t.tabbable=e===n;t.rovingFocusVisible=s&&e===n}));if(e){this.mdActivate.emit({index:n,item:i[n]})}}onItemClick(t){const e=t.detail;const s=this.items;const i=s[e.index];if(!i||i.expandable)return;this.activateItem(e.index,true)}onExpandedItemSelect(t){if(this.selectionMode==="none")return;const e=this.findExpandableParentFromEvent(t);if(!e)return;const s=this.items.indexOf(e);if(s<0)return;this.mdSelect.emit({index:s,childIndex:t.detail.index,expanded:e.expanded,value:t.detail.value,selected:t.detail.selected,item:t.detail.item})}onRequestActivation(t){const e=t.composedPath().find((t=>t?.tagName==="MD-LIST-ITEM"));if(!e)return;const s=this.items.indexOf(e);if(s>=0&&s!==this.activeIndex){this.refreshRovingTabindex(s,true)}}onHostPointerDown(t){if(!this.reorderable||t.button!==0)return;const e=t.composedPath();const s=e.some((t=>t?.dataset?.listDragHandle==="true"));if(!s)return;const i=e.find((t=>t?.tagName==="MD-LIST-ITEM"));if(!i||i.disabled)return;t.preventDefault();this.startDrag(i,t)}startDrag(t,e){const s=this.items;const i=s.indexOf(t);if(i<0)return;const r=s.map((t=>{const e=t.getBoundingClientRect();return{item:t,top:e.top,height:e.height,center:e.top+e.height/2}}));const n=r.length>1?r[1].top-r[0].top:r[0]?.height??0;const o=this.el.getBoundingClientRect().top;this.dragState={item:t,pointerId:e.pointerId,startClientY:e.clientY,rects:r,fromIndex:i,targetIndex:i,rowGap:n,listTop:o};this.dropPlaceholder={top:r[i].top-o,height:r[i].height};t.classList.add("md-list-item--dragged");try{this.el.setPointerCapture(e.pointerId)}catch{}this.el.addEventListener("pointermove",this.onDragMove);this.el.addEventListener("pointerup",this.onDragEnd);this.el.addEventListener("pointercancel",this.onDragEnd)}applySiblingShifts(){const t=this.dragState;if(!t)return;const{fromIndex:e,targetIndex:s,rowGap:i,rects:r}=t;r.forEach(((r,n)=>{if(r.item===t.item)return;let o=0;if(e<s&&n>e&&n<=s)o=-i;else if(e>s&&n<e&&n>=s)o=i;r.item.classList.add("md-list-item--shifting");r.item.style.transform=o?`translateY(${o}px)`:""}))}onItemRequestReorder(t){if(!this.reorderable)return;t.stopPropagation();const{direction:e,from:s}=t.detail;const i=this.items;const r=e==="up"?s-1:s+1;if(s<0||r<0||r>=i.length)return;if(i[s]?.disabled)return;this.moveItem(s,r);this.emitReorder(s,r);const n=this.items[r];if(n){this.refreshRovingTabindex(r,false,true);requestAnimationFrame((()=>this.focusListItem(n)))}}moveItem(t,e){const s=this.items;const i=s[t];const r=s[e];if(!i||!r)return;if(t<e){this.el.insertBefore(i,r.nextSibling)}else{this.el.insertBefore(i,r)}}emitReorder(t,e){const s=this.items.map((t=>this.originalOrder.indexOf(t)));this.mdReorder.emit({from:t,to:e,order:s})}handleKeyDown(t){if(this.el.closest("md-search"))return;if(t.altKey&&(t.key==="ArrowUp"||t.key==="ArrowDown"))return;const e=this.focusableItems;if(e.length===0)return;const s=this.items;const i=s.find((t=>o(t)));const r=i?e.indexOf(i):-1;switch(t.key){case"ArrowDown":{t.preventDefault();const s=r<e.length-1?r+1:0;this.focusItem(e[s]);return}case"ArrowUp":{t.preventDefault();const s=r>0?r-1:e.length-1;this.focusItem(e[s]);return}case"Home":{t.preventDefault();this.focusItem(e[0]);return}case"End":{t.preventDefault();this.focusItem(e[e.length-1]);return}}if(t.key.length===1&&/\S/.test(t.key)&&!t.metaKey&&!t.ctrlKey&&!t.altKey){this.handleTypeahead(t.key.toLowerCase())}}handleTypeahead(t){this.typeaheadBuffer+=t;if(this.typeaheadTimer!==null){window.clearTimeout(this.typeaheadTimer)}this.typeaheadTimer=window.setTimeout((()=>{this.typeaheadBuffer="";this.typeaheadTimer=null}),500);const e=this.focusableItems;const s=this.typeaheadBuffer;const i=e.find((t=>{const e=(t.headline||t.textContent||"").trim().toLowerCase();return e.startsWith(s)}));if(i){this.focusItem(i)}}focusListItem(t){void t.setFocus({focusVisible:true,preventScroll:true})}focusItem(t){if(!t)return;const e=this.items.indexOf(t);if(e<0)return;this.refreshRovingTabindex(e,true,true);requestAnimationFrame((()=>this.focusListItem(t)))}onFocusOut(t){const e=t.relatedTarget;if(e&&this.el.contains(e))return;this.items.forEach((t=>{t.rovingFocusVisible=false}))}findExpandableParentFromEvent(t){const e=typeof t.composedPath==="function"?t.composedPath():[t.target];for(const t of e){const e=t;if(e?.tagName!=="MD-LIST-ITEM"||!e.expandable)continue;if(e.parentElement===this.el)return e}return null}activateItem(t,e){const s=this.items;const i=s[t];if(!i||i.expandable)return;if(this.selectionMode==="single-select"){s.forEach(((e,s)=>{if(s!==t&&e.selected)e.selected=false}));i.selected=true;if(e){this.mdSelect.emit({index:t,value:i.headline||(i.textContent??"").trim(),selected:true,item:i})}}else if(this.selectionMode==="multi-select"){i.selected=!i.selected;if(e){this.mdSelect.emit({index:t,value:i.headline||(i.textContent??"").trim(),selected:i.selected,item:i})}}}getRovingFocusItem(t){if(t.length===0)return null;const e=t.find((t=>t.tabbable));if(e)return e;const s=this.items[this.activeIndex];if(s&&t.includes(s))return s;return t[0]}async activateNext(){const t=this.focusableItems;if(t.length===0)return null;const e=this.getRovingFocusItem(t);const s=e?t.indexOf(e):-1;const i=s<t.length-1?s+1:0;this.focusItem(t[i]);return t[i]}async activatePrevious(){const t=this.focusableItems;if(t.length===0)return null;const e=this.getRovingFocusItem(t);const s=e?t.indexOf(e):-1;const i=s>0?s-1:t.length-1;this.focusItem(t[i]);return t[i]}async selectItem(t){if(this.selectionMode==="none")return;this.activateItem(t,false)}async getSelectedIndices(){return this.items.map(((t,e)=>t.selected?e:-1)).filter((t=>t>=0))}render(){const t=this.effectiveRole;const e=t==="listbox"&&this.selectionMode==="multi-select"?"true":null;return s(i,{key:"b276cebae42f64386ad013dc37c0e3926ea00594",class:{"md-list":true,[`md-list--${this.listStyle}`]:true,[`md-list--${this.selectionMode}`]:this.selectionMode!=="none",[`md-list--${this.interactionMode}`]:true,"md-list--reorderable":this.reorderable,"md-list--reordering":!!this.dropPlaceholder},role:t,"aria-label":this.label||null,"aria-labelledby":this.labelledby||null,"aria-multiselectable":e},this.dropPlaceholder&&s("div",{key:"50ef5fcce48b5ab1a53d1bd74d254048c919bba0",class:"md-list__drop-placeholder",part:"drop-placeholder","aria-hidden":"true",style:{transform:`translateY(${this.dropPlaceholder.top}px)`,blockSize:`${this.dropPlaceholder.height}px`}}),s("slot",{key:"3f3144e9735900e8ba29abfd2190b9c8ce585b56"}))}get el(){return r(this)}static get watchers(){return{selectionMode:[{onSelectionModeChange:0}],interactionMode:[{onInteractionModeChange:0}],reorderable:[{onReorderableChange:0}],roleOverride:[{onRoleOverrideChange:0}]}}};a.style=n();export{a as md_list};
2
- //# sourceMappingURL=p-a5fee424.entry.js.map
1
+ import{r as t,c as e,h as s,H as i,g as r}from"./p-WmvQpZnM.js";const n=()=>`:host{--_container-color:var(--md-list-container-color, var(--md-sys-color-surface, #fffbfe));--_container-shape:var(--md-list-container-shape, 0px);--_padding-block:var(--md-list-padding-block, var(--md-sys-spacing-inset-sm, 8px));--_padding-inline:var(--md-list-padding-inline, 0px);--_segmented-gap:var(--md-list-segmented-gap, 2px);--_drop-placeholder-color:var(--md-list-drop-placeholder-color, color-mix(in srgb, var(--md-sys-color-primary-container, #eaddff) 45%, transparent));--_drop-placeholder-outline-color:var(--md-list-drop-placeholder-outline-color, color-mix(in srgb, var(--md-sys-color-primary, #6750a4) 55%, transparent));--_drop-placeholder-outline-width:var(--md-list-drop-placeholder-outline-width, 2px);--_drop-placeholder-shape:var(--md-list-drop-placeholder-shape, var(--md-sys-shape-corner-large, 16px));--_drop-placeholder-opacity:var(--md-list-drop-placeholder-opacity, 1);display:flex;flex-direction:column;inline-size:100%;background-color:var(--_container-color);color:var(--md-sys-color-on-surface, #1c1b1f);border-radius:var(--_container-shape);padding-block:var(--_padding-block);padding-inline:var(--_padding-inline);box-sizing:border-box;overflow:clip}:host(.md-list--standard){--_container-color:var(--md-list-container-color, transparent);--_container-shape:var(--md-list-container-shape, 0px);gap:0;overflow:visible}:host(.md-list--standard) ::slotted(md-list-item){--md-list-item-container-shape:0px;}:host(.md-list--standard) ::slotted(md-list-item:first-of-type){--md-list-item-container-shape-start-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-start-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--standard) ::slotted(md-list-item:last-of-type){--md-list-item-container-shape-end-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--standard) ::slotted(md-list-item:only-of-type){--md-list-item-container-shape-start-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-start-end:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--segmented){--_container-color:var(--md-list-container-color, transparent);--_container-shape:var(--md-list-container-shape, 0px);--_padding-inline:var(--md-list-padding-inline, 0px);--_padding-block:var(--md-list-padding-block, 0px);gap:var(--_segmented-gap);overflow:visible}:host(.md-list--segmented) ::slotted(md-list-item){--md-list-item-container-shape:var(--md-sys-shape-corner-extra-small, 4px);}:host(.md-list--segmented) ::slotted(md-list-item:first-of-type){--md-list-item-container-shape-start-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-start-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--segmented) ::slotted(md-list-item:last-of-type){--md-list-item-container-shape-end-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--segmented) ::slotted(md-list-item:only-of-type){--md-list-item-container-shape-start-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-start-end:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-start:var(--md-sys-shape-corner-large, 16px);--md-list-item-container-shape-end-end:var(--md-sys-shape-corner-large, 16px)}:host(.md-list--single-select),:host(.md-list--multi-select){}:host(:focus){outline:none}:host(.md-list--reordering){position:relative}.md-list__drop-placeholder{position:absolute;inset-inline-start:var(--_padding-inline);inset-inline-end:var(--_padding-inline);inset-block-start:0;box-sizing:border-box;z-index:0;pointer-events:none;border-radius:var(--_drop-placeholder-shape);background-color:var(--_drop-placeholder-color);border:var(--_drop-placeholder-outline-width) dashed var(--_drop-placeholder-outline-color);opacity:var(--_drop-placeholder-opacity);transition:transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}@media (prefers-reduced-motion: reduce){.md-list__drop-placeholder{transition: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}`;function o(t){let e=t.getRootNode().activeElement;while(e){if(e===t)return true;e=e.parentElement??(e.getRootNode().host??null)}return false}const a=class{constructor(s){t(this,s);this.mdSelect=e(this,"mdSelect",7);this.mdActivate=e(this,"mdActivate",7);this.mdReorder=e(this,"mdReorder",7);this.listStyle="standard";this.selectionMode="none";this.interactionMode="single-action";this.reorderable=false;this.label="";this.labelledby="";this.roleOverride="";this.density=0;this.activeIndex=0;this.dropPlaceholder=null;this.typeaheadBuffer="";this.typeaheadTimer=null;this.childObserver=null;this.originalOrder=[];this.dragState=null;this.handleMdItemSelect=t=>{this.onExpandedItemSelect(t)};this.onDragMove=t=>{const e=this.dragState;if(!e||t.pointerId!==e.pointerId)return;const s=t.clientY-e.startClientY;e.item.style.transform=`translateY(${s}px)`;const i=e.rects[e.fromIndex];const r=i.center+s;let n=e.fromIndex;for(let t=0;t<e.rects.length;t++){if(t===e.fromIndex)continue;const s=e.rects[t];if(t<e.fromIndex&&r<s.center)n=Math.min(n,t);if(t>e.fromIndex&&r>s.center)n=Math.max(n,t)}if(n!==e.targetIndex){e.targetIndex=n;this.applySiblingShifts();this.dropPlaceholder={top:e.rects[n].top-e.listTop,height:e.rects[e.fromIndex].height}}};this.onDragEnd=t=>{const e=this.dragState;if(!e||t.pointerId!==e.pointerId)return;this.el.removeEventListener("pointermove",this.onDragMove);this.el.removeEventListener("pointerup",this.onDragEnd);this.el.removeEventListener("pointercancel",this.onDragEnd);try{this.el.releasePointerCapture(e.pointerId)}catch{}e.rects.forEach((t=>{t.item.classList.remove("md-list-item--shifting");t.item.style.transform=""}));e.item.classList.remove("md-list-item--dragged");this.dropPlaceholder=null;const{fromIndex:s,targetIndex:i}=e;this.dragState=null;if(i!==s){this.moveItem(s,i);this.emitReorder(s,i)}}}get items(){return Array.from(this.el.children).filter((t=>t.tagName==="MD-LIST-ITEM"))}get focusableItems(){return this.items.filter((t=>this.isItemFocusable(t)))}hasExpandableRows(){return this.items.some((t=>t.expandable||t.hasAttribute("expandable")))}get effectiveRole(){if(this.roleOverride)return this.roleOverride;if(this.selectionMode!=="none"){return this.hasExpandableRows()?"list":"listbox"}return"list"}get childDividers(){return Array.from(this.el.children).filter((t=>t.tagName==="MD-DIVIDER"))}syncDividers(){const t=this.effectiveRole;const e=t==="list"||t==="listbox";this.childDividers.forEach((t=>{if(e)t.setAttribute("aria-hidden","true");else t.removeAttribute("aria-hidden")}))}isItemFocusable(t){if(t.disabled)return false;if(this.selectionMode!=="none")return true;if(this.reorderable)return true;return t.type!=="text"}componentDidLoad(){this.syncSelectionMode();this.syncInteractionMode();this.syncReorderable();this.syncContainerRole();this.syncDividers();this.originalOrder=[...this.items];this.refreshRovingTabindex(this.findInitialActiveIndex(),false);this.el.addEventListener("mdItemSelect",this.handleMdItemSelect);if(typeof MutationObserver!=="undefined"){this.childObserver=new MutationObserver((t=>{const e=t.some((t=>t.type==="childList"));if(e){this.syncSelectionMode();this.syncInteractionMode();this.syncReorderable();this.syncContainerRole();this.syncDividers();this.items.forEach((t=>{if(!this.originalOrder.includes(t))this.originalOrder.push(t)}));this.refreshRovingTabindex(this.activeIndex,false)}}));this.childObserver.observe(this.el,{childList:true})}}disconnectedCallback(){this.el.removeEventListener("mdItemSelect",this.handleMdItemSelect);this.childObserver?.disconnect();this.childObserver=null;if(this.typeaheadTimer!==null){window.clearTimeout(this.typeaheadTimer);this.typeaheadTimer=null}if(this.dragState){this.el.removeEventListener("pointermove",this.onDragMove);this.el.removeEventListener("pointerup",this.onDragEnd);this.el.removeEventListener("pointercancel",this.onDragEnd);this.dragState=null;this.dropPlaceholder=null}}onSelectionModeChange(){this.syncSelectionMode();this.syncDividers();this.refreshRovingTabindex(this.activeIndex,false)}onInteractionModeChange(){this.syncInteractionMode()}onReorderableChange(){this.syncReorderable();this.refreshRovingTabindex(this.activeIndex,false)}onRoleOverrideChange(){this.syncContainerRole();this.syncDividers()}syncReorderable(){const t=this.reorderable;this.items.forEach((e=>{e.reorderable=t}))}syncContainerRole(){const t=this.effectiveRole;this.items.forEach((e=>{e.containerRole=t}))}syncInteractionMode(){const t=this.interactionMode;this.items.forEach((e=>{e.interactionMode=t;if(t==="single-action"){e.removeAttribute("data-interaction-mode")}else{e.setAttribute("data-interaction-mode",t)}}))}syncSelectionMode(){const t=this.selectionMode;const e=s=>{s.selectionMode=t;if(t==="none"){s.removeAttribute("data-selection-mode")}else{s.setAttribute("data-selection-mode",t)}if(s.expandable){if(s.selected)s.selected=false;Array.from(s.children).forEach((t=>{if(t.tagName==="MD-LIST-ITEM"&&t.getAttribute("slot")==="expanded-content"){e(t)}}))}};this.items.forEach(e)}findInitialActiveIndex(){const t=this.items;if(t.length===0)return 0;const e=t.findIndex((t=>t.selected&&!t.expandable&&this.isItemFocusable(t)));if(e>=0)return e;const s=t.findIndex((t=>this.isItemFocusable(t)));return s>=0?s:0}refreshRovingTabindex(t,e,s=false){const i=this.items;const r=this.focusableItems;if(i.length===0)return;if(r.length===0){i.forEach((t=>{t.tabbable=false;t.rovingFocusVisible=false}));return}let n=t;if(!i[n]||!this.isItemFocusable(i[n])){n=i.indexOf(r[0])}this.activeIndex=n;i.forEach(((t,e)=>{t.tabbable=e===n;t.rovingFocusVisible=s&&e===n}));if(e){this.mdActivate.emit({index:n,item:i[n]})}}onItemClick(t){const e=t.detail;const s=this.items;const i=s[e.index];if(!i||i.expandable)return;this.activateItem(e.index,true)}onExpandedItemSelect(t){if(this.selectionMode==="none")return;const e=this.findExpandableParentFromEvent(t);if(!e)return;const s=this.items.indexOf(e);if(s<0)return;this.mdSelect.emit({index:s,childIndex:t.detail.index,expanded:e.expanded,value:t.detail.value,selected:t.detail.selected,item:t.detail.item})}onRequestActivation(t){const e=t.composedPath().find((t=>t?.tagName==="MD-LIST-ITEM"));if(!e)return;const s=this.items.indexOf(e);if(s>=0&&s!==this.activeIndex){this.refreshRovingTabindex(s,true)}}onHostPointerDown(t){if(!this.reorderable||t.button!==0)return;const e=t.composedPath();const s=e.some((t=>t?.dataset?.listDragHandle==="true"));if(!s)return;const i=e.find((t=>t?.tagName==="MD-LIST-ITEM"));if(!i||i.disabled)return;t.preventDefault();this.startDrag(i,t)}startDrag(t,e){const s=this.items;const i=s.indexOf(t);if(i<0)return;const r=s.map((t=>{const e=t.getBoundingClientRect();return{item:t,top:e.top,height:e.height,center:e.top+e.height/2}}));const n=r.length>1?r[1].top-r[0].top:r[0]?.height??0;const o=this.el.getBoundingClientRect().top;this.dragState={item:t,pointerId:e.pointerId,startClientY:e.clientY,rects:r,fromIndex:i,targetIndex:i,rowGap:n,listTop:o};this.dropPlaceholder={top:r[i].top-o,height:r[i].height};t.classList.add("md-list-item--dragged");try{this.el.setPointerCapture(e.pointerId)}catch{}this.el.addEventListener("pointermove",this.onDragMove);this.el.addEventListener("pointerup",this.onDragEnd);this.el.addEventListener("pointercancel",this.onDragEnd)}applySiblingShifts(){const t=this.dragState;if(!t)return;const{fromIndex:e,targetIndex:s,rowGap:i,rects:r}=t;r.forEach(((r,n)=>{if(r.item===t.item)return;let o=0;if(e<s&&n>e&&n<=s)o=-i;else if(e>s&&n<e&&n>=s)o=i;r.item.classList.add("md-list-item--shifting");r.item.style.transform=o?`translateY(${o}px)`:""}))}onItemRequestReorder(t){if(!this.reorderable)return;t.stopPropagation();const{direction:e,from:s}=t.detail;const i=this.items;const r=e==="up"?s-1:s+1;if(s<0||r<0||r>=i.length)return;if(i[s]?.disabled)return;this.moveItem(s,r);this.emitReorder(s,r);const n=this.items[r];if(n){this.refreshRovingTabindex(r,false,true);requestAnimationFrame((()=>this.focusListItem(n)))}}moveItem(t,e){const s=this.items;const i=s[t];const r=s[e];if(!i||!r)return;if(t<e){this.el.insertBefore(i,r.nextSibling)}else{this.el.insertBefore(i,r)}}emitReorder(t,e){const s=this.items.map((t=>this.originalOrder.indexOf(t)));this.mdReorder.emit({from:t,to:e,order:s})}handleKeyDown(t){if(this.el.closest("md-search"))return;if(t.altKey&&(t.key==="ArrowUp"||t.key==="ArrowDown"))return;const e=this.focusableItems;if(e.length===0)return;const s=this.items;const i=s.find((t=>o(t)));const r=i?e.indexOf(i):-1;switch(t.key){case"ArrowDown":{t.preventDefault();const s=r<e.length-1?r+1:0;this.focusItem(e[s]);return}case"ArrowUp":{t.preventDefault();const s=r>0?r-1:e.length-1;this.focusItem(e[s]);return}case"Home":{t.preventDefault();this.focusItem(e[0]);return}case"End":{t.preventDefault();this.focusItem(e[e.length-1]);return}}if(t.key.length===1&&/\S/.test(t.key)&&!t.metaKey&&!t.ctrlKey&&!t.altKey){this.handleTypeahead(t.key.toLowerCase())}}handleTypeahead(t){this.typeaheadBuffer+=t;if(this.typeaheadTimer!==null){window.clearTimeout(this.typeaheadTimer)}this.typeaheadTimer=window.setTimeout((()=>{this.typeaheadBuffer="";this.typeaheadTimer=null}),500);const e=this.focusableItems;const s=this.typeaheadBuffer;const i=e.find((t=>{const e=(t.headline||t.textContent||"").trim().toLowerCase();return e.startsWith(s)}));if(i){this.focusItem(i)}}focusListItem(t){void t.setFocus({focusVisible:true,preventScroll:true})}focusItem(t){if(!t)return;const e=this.items.indexOf(t);if(e<0)return;this.refreshRovingTabindex(e,true,true);requestAnimationFrame((()=>this.focusListItem(t)))}onFocusOut(t){const e=t.relatedTarget;if(e&&this.el.contains(e))return;this.items.forEach((t=>{t.rovingFocusVisible=false}))}findExpandableParentFromEvent(t){const e=typeof t.composedPath==="function"?t.composedPath():[t.target];for(const t of e){const e=t;if(e?.tagName!=="MD-LIST-ITEM"||!e.expandable)continue;if(e.parentElement===this.el)return e}return null}activateItem(t,e){const s=this.items;const i=s[t];if(!i||i.expandable)return;if(this.selectionMode==="single-select"){s.forEach(((e,s)=>{if(s!==t&&e.selected)e.selected=false}));i.selected=true;if(e){this.mdSelect.emit({index:t,value:i.headline||(i.textContent??"").trim(),selected:true,item:i})}}else if(this.selectionMode==="multi-select"){i.selected=!i.selected;if(e){this.mdSelect.emit({index:t,value:i.headline||(i.textContent??"").trim(),selected:i.selected,item:i})}}}getRovingFocusItem(t){if(t.length===0)return null;const e=t.find((t=>t.tabbable));if(e)return e;const s=this.items[this.activeIndex];if(s&&t.includes(s))return s;return t[0]}async activateNext(){const t=this.focusableItems;if(t.length===0)return null;const e=this.getRovingFocusItem(t);const s=e?t.indexOf(e):-1;const i=s<t.length-1?s+1:0;this.focusItem(t[i]);return t[i]}async activatePrevious(){const t=this.focusableItems;if(t.length===0)return null;const e=this.getRovingFocusItem(t);const s=e?t.indexOf(e):-1;const i=s>0?s-1:t.length-1;this.focusItem(t[i]);return t[i]}async selectItem(t){if(this.selectionMode==="none")return;this.activateItem(t,false)}async getSelectedIndices(){return this.items.map(((t,e)=>t.selected?e:-1)).filter((t=>t>=0))}render(){const t=this.effectiveRole;const e=t==="listbox"&&this.selectionMode==="multi-select"?"true":null;return s(i,{key:"b276cebae42f64386ad013dc37c0e3926ea00594",class:{"md-list":true,[`md-list--${this.listStyle}`]:true,[`md-list--${this.selectionMode}`]:this.selectionMode!=="none",[`md-list--${this.interactionMode}`]:true,"md-list--reorderable":this.reorderable,"md-list--reordering":!!this.dropPlaceholder},role:t,"aria-label":this.label||null,"aria-labelledby":this.labelledby||null,"aria-multiselectable":e},this.dropPlaceholder&&s("div",{key:"50ef5fcce48b5ab1a53d1bd74d254048c919bba0",class:"md-list__drop-placeholder",part:"drop-placeholder","aria-hidden":"true",style:{transform:`translateY(${this.dropPlaceholder.top}px)`,blockSize:`${this.dropPlaceholder.height}px`}}),s("slot",{key:"3f3144e9735900e8ba29abfd2190b9c8ce585b56"}))}get el(){return r(this)}static get watchers(){return{selectionMode:[{onSelectionModeChange:0}],interactionMode:[{onInteractionModeChange:0}],reorderable:[{onReorderableChange:0}],roleOverride:[{onRoleOverrideChange:0}]}}};a.style=n();export{a as md_list};
2
+ //# sourceMappingURL=p-a49df43d.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as a,H as e,a as s}from"./p-DTaX19_O.js";const o=()=>`:host{--_color:var(--md-table-toolbar-color, var(--md-sys-color-on-surface, #1C1B1F));--_bg:var(--md-table-toolbar-bg, transparent);--_sel-bg:var(--md-table-toolbar-selection-bg, var(--md-sys-color-secondary-container, #E8DEF8));--_sel-color:var(--md-table-toolbar-selection-color, var(--md-sys-color-on-secondary-container, #1E192B));--_pad-block:var(--md-table-toolbar-padding-block, var(--md-sys-spacing-inset-md, 12px));--_pad-inline:var(--md-table-toolbar-padding-inline, 24px);--_min-h:var(--md-table-toolbar-min-height, calc(64px + var(--md-sys-density-scale, 0) * 4px));--_motion-duration:var(--md-sys-motion-spring-effects-default-duration, 200ms);--_motion-easing:var(--md-sys-motion-spring-effects-default-easing, cubic-bezier(0.34, 0.8, 0.34, 1));display:flex;align-items:center;gap:max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px));padding-block:var(--_pad-block);padding-inline:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px));min-block-size:var(--_min-h);background-color:var(--_bg);color:var(--_color);position:relative;isolation:isolate;transition:background-color var(--_motion-duration) var(--_motion-easing), color var(--_motion-duration) var(--_motion-easing)}:host(.md-table-toolbar--compact){--_pad-block:6px;--_min-h:48px}:host(.md-table-toolbar--selection-mode){background-color:var(--_sel-bg);color:var(--_sel-color)}.md-table-toolbar__leading{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.md-table-toolbar__leading[hidden]{display:none}.md-table-toolbar__main{flex:1 1 auto;min-inline-size:0}.md-table-toolbar__actions{display:inline-flex;align-items:center;gap:max(0px, calc(4px + var(--md-sys-density-scale, 0) * 1px));flex:0 0 auto;--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}.md-table-toolbar__titles{display:flex;flex-direction:column;gap:2px}.md-table-toolbar__headline{margin:0;font-family:var(--md-sys-typescale-title-large-font-family, Roboto, sans-serif);font-size:max(16px, calc(22px + var(--md-sys-density-scale, 0) * 1px));font-weight:var(--md-sys-typescale-title-large-font-weight, 400);line-height:max(22px, calc(28px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:0;color:inherit}:host(.md-table-toolbar--compact) .md-table-toolbar__headline{font-size:var(--md-sys-typescale-title-medium-font-size, 16px);line-height:var(--md-sys-typescale-title-medium-line-height, 24px)}.md-table-toolbar__supporting{margin:0;font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:var(--md-sys-typescale-body-medium-font-size, 14px);line-height:var(--md-sys-typescale-body-medium-line-height, 20px);color:var(--md-sys-color-on-surface-variant, #49454F)}:host(.md-table-toolbar--selection-mode) .md-table-toolbar__supporting{color:inherit;opacity:0.85}.md-table-toolbar__selection-caption{font-family:var(--md-sys-typescale-title-medium-font-family, Roboto, sans-serif);font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:500;line-height:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));animation:md-table-toolbar-fade var(--_motion-duration) var(--_motion-easing)}@keyframes md-table-toolbar-fade{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){:host{transition:none}.md-table-toolbar__selection-caption{animation: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 i=class{constructor(a){t(this,a);this.headline="";this.supportingText="";this.numSelected=0;this.autoBind=false;this.labelSelected="%count% selected";this.compact=false;this.density=0;this.hasSelectionActions=false;this.hasActions=false;this.hasLeading=false;this.parentTable=null;this.boundListener=null}componentDidLoad(){const t=this.el.shadowRoot;if(!t)return;this.bindSlotChanges(t);if(this.autoBind){this.parentTable=this.el.closest("md-table-container")?.querySelector("md-table")??null;if(!this.parentTable)return;this.boundListener=t=>{const a=t.detail;this.numSelected=a?.count??0};this.parentTable.addEventListener("mdSelectionChange",this.boundListener)}}disconnectedCallback(){if(this.parentTable&&this.boundListener){this.parentTable.removeEventListener("mdSelectionChange",this.boundListener)}this.parentTable=null;this.boundListener=null}bindSlotChanges(t){const a=t.querySelector('slot[name="leading"]');const e=t.querySelector('slot[name="actions"]');const s=t.querySelector('slot[name="selection-actions"]');a?.addEventListener("slotchange",(()=>{this.hasLeading=a.assignedElements().length>0}));e?.addEventListener("slotchange",(()=>{this.hasActions=e.assignedElements().length>0}));s?.addEventListener("slotchange",(()=>{this.hasSelectionActions=s.assignedElements().length>0}));this.hasLeading=!!a&&a.assignedElements().length>0;this.hasActions=!!e&&e.assignedElements().length>0;this.hasSelectionActions=!!s&&s.assignedElements().length>0}get inSelectionMode(){return this.numSelected>0}get selectionLabel(){return this.labelSelected.replace("%count%",this.numSelected.toLocaleString())}render(){return a(e,{key:"d509dc8677829b9eabc1ab09e3f200eee2940013",class:{"md-table-toolbar":true,"md-table-toolbar--compact":this.compact,"md-table-toolbar--selection-mode":this.inSelectionMode},role:"toolbar","aria-label":this.headline||"Table toolbar"},a("div",{key:"795bd82dc57564b7f67867abfba4c3242e082052",class:"md-table-toolbar__leading",part:"leading",hidden:!this.hasLeading&&!this.inSelectionMode},!this.inSelectionMode&&a("slot",{key:"e7c3c5d8a10c25fd87deb60a55b5df54fcb87615",name:"leading"})),a("div",{key:"3fe66dd47ee8bb78e590b13c3c09e70043f7ec65",class:"md-table-toolbar__main",part:"main"},this.inSelectionMode?a("span",{class:"md-table-toolbar__selection-caption",part:"selection-caption","aria-live":"polite"},this.selectionLabel):a("div",{class:"md-table-toolbar__titles"},this.headline&&a("h2",{class:"md-table-toolbar__headline",part:"headline"},a("slot",{name:"headline"},this.headline)),this.supportingText&&a("p",{class:"md-table-toolbar__supporting",part:"supporting-text"},a("slot",{name:"supporting-text"},this.supportingText)),!this.headline&&!this.supportingText&&a("slot",{name:"title-area"}))),a("div",{key:"8aec03944525b513de402ae00b06371b715fabc8",class:"md-table-toolbar__actions",part:"actions"},this.inSelectionMode?a("slot",{name:"selection-actions"}):a("slot",{name:"actions"})))}get el(){return s(this)}};i.style=o();export{i as md_table_toolbar};
2
- //# sourceMappingURL=p-da4e27d4.entry.js.map
1
+ import{r as t,h as a,H as e,g as s}from"./p-WmvQpZnM.js";const o=()=>`:host{--_color:var(--md-table-toolbar-color, var(--md-sys-color-on-surface, #1C1B1F));--_bg:var(--md-table-toolbar-bg, transparent);--_sel-bg:var(--md-table-toolbar-selection-bg, var(--md-sys-color-secondary-container, #E8DEF8));--_sel-color:var(--md-table-toolbar-selection-color, var(--md-sys-color-on-secondary-container, #1E192B));--_pad-block:var(--md-table-toolbar-padding-block, var(--md-sys-spacing-inset-md, 12px));--_pad-inline:var(--md-table-toolbar-padding-inline, 24px);--_min-h:var(--md-table-toolbar-min-height, calc(64px + var(--md-sys-density-scale, 0) * 4px));--_motion-duration:var(--md-sys-motion-spring-effects-default-duration, 200ms);--_motion-easing:var(--md-sys-motion-spring-effects-default-easing, cubic-bezier(0.34, 0.8, 0.34, 1));display:flex;align-items:center;gap:max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px));padding-block:var(--_pad-block);padding-inline:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px));min-block-size:var(--_min-h);background-color:var(--_bg);color:var(--_color);position:relative;isolation:isolate;transition:background-color var(--_motion-duration) var(--_motion-easing), color var(--_motion-duration) var(--_motion-easing)}:host(.md-table-toolbar--compact){--_pad-block:6px;--_min-h:48px}:host(.md-table-toolbar--selection-mode){background-color:var(--_sel-bg);color:var(--_sel-color)}.md-table-toolbar__leading{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.md-table-toolbar__leading[hidden]{display:none}.md-table-toolbar__main{flex:1 1 auto;min-inline-size:0}.md-table-toolbar__actions{display:inline-flex;align-items:center;gap:max(0px, calc(4px + var(--md-sys-density-scale, 0) * 1px));flex:0 0 auto;--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}.md-table-toolbar__titles{display:flex;flex-direction:column;gap:2px}.md-table-toolbar__headline{margin:0;font-family:var(--md-sys-typescale-title-large-font-family, Roboto, sans-serif);font-size:max(16px, calc(22px + var(--md-sys-density-scale, 0) * 1px));font-weight:var(--md-sys-typescale-title-large-font-weight, 400);line-height:max(22px, calc(28px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:0;color:inherit}:host(.md-table-toolbar--compact) .md-table-toolbar__headline{font-size:var(--md-sys-typescale-title-medium-font-size, 16px);line-height:var(--md-sys-typescale-title-medium-line-height, 24px)}.md-table-toolbar__supporting{margin:0;font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:var(--md-sys-typescale-body-medium-font-size, 14px);line-height:var(--md-sys-typescale-body-medium-line-height, 20px);color:var(--md-sys-color-on-surface-variant, #49454F)}:host(.md-table-toolbar--selection-mode) .md-table-toolbar__supporting{color:inherit;opacity:0.85}.md-table-toolbar__selection-caption{font-family:var(--md-sys-typescale-title-medium-font-family, Roboto, sans-serif);font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:500;line-height:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));animation:md-table-toolbar-fade var(--_motion-duration) var(--_motion-easing)}@keyframes md-table-toolbar-fade{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){:host{transition:none}.md-table-toolbar__selection-caption{animation: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 i=class{constructor(a){t(this,a);this.headline="";this.supportingText="";this.numSelected=0;this.autoBind=false;this.labelSelected="%count% selected";this.compact=false;this.density=0;this.hasSelectionActions=false;this.hasActions=false;this.hasLeading=false;this.parentTable=null;this.boundListener=null}componentDidLoad(){const t=this.el.shadowRoot;if(!t)return;this.bindSlotChanges(t);if(this.autoBind){this.parentTable=this.el.closest("md-table-container")?.querySelector("md-table")??null;if(!this.parentTable)return;this.boundListener=t=>{const a=t.detail;this.numSelected=a?.count??0};this.parentTable.addEventListener("mdSelectionChange",this.boundListener)}}disconnectedCallback(){if(this.parentTable&&this.boundListener){this.parentTable.removeEventListener("mdSelectionChange",this.boundListener)}this.parentTable=null;this.boundListener=null}bindSlotChanges(t){const a=t.querySelector('slot[name="leading"]');const e=t.querySelector('slot[name="actions"]');const s=t.querySelector('slot[name="selection-actions"]');a?.addEventListener("slotchange",(()=>{this.hasLeading=a.assignedElements().length>0}));e?.addEventListener("slotchange",(()=>{this.hasActions=e.assignedElements().length>0}));s?.addEventListener("slotchange",(()=>{this.hasSelectionActions=s.assignedElements().length>0}));this.hasLeading=!!a&&a.assignedElements().length>0;this.hasActions=!!e&&e.assignedElements().length>0;this.hasSelectionActions=!!s&&s.assignedElements().length>0}get inSelectionMode(){return this.numSelected>0}get selectionLabel(){return this.labelSelected.replace("%count%",this.numSelected.toLocaleString())}render(){return a(e,{key:"d509dc8677829b9eabc1ab09e3f200eee2940013",class:{"md-table-toolbar":true,"md-table-toolbar--compact":this.compact,"md-table-toolbar--selection-mode":this.inSelectionMode},role:"toolbar","aria-label":this.headline||"Table toolbar"},a("div",{key:"795bd82dc57564b7f67867abfba4c3242e082052",class:"md-table-toolbar__leading",part:"leading",hidden:!this.hasLeading&&!this.inSelectionMode},!this.inSelectionMode&&a("slot",{key:"e7c3c5d8a10c25fd87deb60a55b5df54fcb87615",name:"leading"})),a("div",{key:"3fe66dd47ee8bb78e590b13c3c09e70043f7ec65",class:"md-table-toolbar__main",part:"main"},this.inSelectionMode?a("span",{class:"md-table-toolbar__selection-caption",part:"selection-caption","aria-live":"polite"},this.selectionLabel):a("div",{class:"md-table-toolbar__titles"},this.headline&&a("h2",{class:"md-table-toolbar__headline",part:"headline"},a("slot",{name:"headline"},this.headline)),this.supportingText&&a("p",{class:"md-table-toolbar__supporting",part:"supporting-text"},a("slot",{name:"supporting-text"},this.supportingText)),!this.headline&&!this.supportingText&&a("slot",{name:"title-area"}))),a("div",{key:"8aec03944525b513de402ae00b06371b715fabc8",class:"md-table-toolbar__actions",part:"actions"},this.inSelectionMode?a("slot",{name:"selection-actions"}):a("slot",{name:"actions"})))}get el(){return s(this)}};i.style=o();export{i as md_table_toolbar};
2
+ //# sourceMappingURL=p-a4d4cfed.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as a,h as e,H as t,a as o}from"./p-DTaX19_O.js";const s=()=>`:host{display:contents}`;const r=class{constructor(e){a(this,e)}render(){return e(t,{key:"2265a136496a1f36a92b9ef2cf7e4a939332e32e",class:"md-table-head",role:"rowgroup","data-md-rowgroup":"head"},e("slot",{key:"539b822ac3a6cf9a2ab605b03fc300948aac3659",onSlotchange:()=>this.el.dispatchEvent(new CustomEvent("mdRowgroupSlotChange",{bubbles:true}))}))}get el(){return o(this)}};r.style=s();export{r as md_table_head};
2
- //# sourceMappingURL=p-5394254f.entry.js.map
1
+ import{r as a,h as e,H as t,g as o}from"./p-WmvQpZnM.js";const s=()=>`:host{display:contents}`;const r=class{constructor(e){a(this,e)}render(){return e(t,{key:"2265a136496a1f36a92b9ef2cf7e4a939332e32e",class:"md-table-head",role:"rowgroup","data-md-rowgroup":"head"},e("slot",{key:"539b822ac3a6cf9a2ab605b03fc300948aac3659",onSlotchange:()=>this.el.dispatchEvent(new CustomEvent("mdRowgroupSlotChange",{bubbles:true}))}))}get el(){return o(this)}};r.style=s();export{r as md_table_head};
2
+ //# sourceMappingURL=p-a976498b.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as e,H as o,a as s}from"./p-DTaX19_O.js";const a=()=>`:host{display:contents}`;const r=class{constructor(e){t(this,e);this.presentational=false}render(){return e(o,{key:"4fb0c0f306120df793e2ea1939ffa4e782180eb8",class:"md-table-foot",role:this.presentational?"presentation":"rowgroup","data-md-rowgroup":"foot"},e("slot",{key:"3a4c18e3bf84c50c5a93ab9473dd3bedb2d8df3e",onSlotchange:()=>this.el.dispatchEvent(new CustomEvent("mdRowgroupSlotChange",{bubbles:true}))}))}get el(){return s(this)}};r.style=a();export{r as md_table_foot};
2
- //# sourceMappingURL=p-bf7842f8.entry.js.map
1
+ import{r as t,h as e,H as o,g as s}from"./p-WmvQpZnM.js";const a=()=>`:host{display:contents}`;const r=class{constructor(e){t(this,e);this.presentational=false}render(){return e(o,{key:"4fb0c0f306120df793e2ea1939ffa4e782180eb8",class:"md-table-foot",role:this.presentational?"presentation":"rowgroup","data-md-rowgroup":"foot"},e("slot",{key:"3a4c18e3bf84c50c5a93ab9473dd3bedb2d8df3e",onSlotchange:()=>this.el.dispatchEvent(new CustomEvent("mdRowgroupSlotChange",{bubbles:true}))}))}get el(){return s(this)}};r.style=a();export{r as md_table_foot};
2
+ //# sourceMappingURL=p-adf8a415.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as o,h as i,H as a,a as r}from"./p-DTaX19_O.js";import{t}from"./p-DYBUr7K_.js";const s=()=>`: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 n=class{constructor(i){e(this,i);this.mdClick=o(this,"mdClick",7);this.mdSelect=o(this,"mdSelect",7);this.mdRemove=o(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();t(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 r=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 i(a,{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||r,"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},i("md-ripple",{key:"71ddc00b4e7f72a93b9356f647b3630aa50380a3",disabled:s}),i("span",{key:"6eab2a000c1543bb6957c175cfb33cbb06d3f345",class:"md-chip__state-layer",part:"state-layer","aria-hidden":"true"}),!this.elevated&&i("span",{key:"ee96614931899684057f77b1bed36c315964fdca",class:"md-chip__outline",part:"outline","aria-hidden":"true"}),l&&i("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}),r&&i("span",{key:"c15afa18cc1fa1e956c1dcf3c0806d7b065620b0",class:"md-chip__checkmark",part:"checkmark","aria-hidden":"true"},i("svg",{key:"1e7a5eb1ec44df6efd803543e943889bff65e1e8",viewBox:"0 0 18 18",fill:"none"},i("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"}))),i("slot",{key:"9dd3792251fc0f43baa3e3b0787fbbf7967cfc2b",name:"leading-icon"},e&&!r&&i("span",{key:"0078163a6741535eef3c413559d8cc9a4b7dbbc2",class:"md-chip__icon material-symbols-outlined",part:"icon","aria-hidden":"true"},this.icon)),i("span",{key:"bae9ed93b4ba0e8dda2e9d0fbae102405fbdaeae",class:"md-chip__label",part:"label",id:"md-chip-label-text"},i("slot",{key:"9f36d159a093aaa93e3c4867e7bbf7a5543fcebd"},this.label)),t?i("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},i("slot",{name:"trailing-icon"},i("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true"},i("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"})))):i("slot",{name:"trailing-icon"},o&&i("span",{class:"md-chip__trailing-icon material-symbols-outlined",part:"trailing-icon","aria-hidden":"true"},this.trailingIcon)))}get el(){return r(this)}};n.style=s();export{n as md_chip};
2
- //# sourceMappingURL=p-c861d774.entry.js.map
1
+ import{r as e,c as o,h as i,H as a,g as r}from"./p-WmvQpZnM.js";import{t}from"./p-DYBUr7K_.js";const s=()=>`: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 n=class{constructor(i){e(this,i);this.mdClick=o(this,"mdClick",7);this.mdSelect=o(this,"mdSelect",7);this.mdRemove=o(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();t(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 r=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 i(a,{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||r,"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},i("md-ripple",{key:"71ddc00b4e7f72a93b9356f647b3630aa50380a3",disabled:s}),i("span",{key:"6eab2a000c1543bb6957c175cfb33cbb06d3f345",class:"md-chip__state-layer",part:"state-layer","aria-hidden":"true"}),!this.elevated&&i("span",{key:"ee96614931899684057f77b1bed36c315964fdca",class:"md-chip__outline",part:"outline","aria-hidden":"true"}),l&&i("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}),r&&i("span",{key:"c15afa18cc1fa1e956c1dcf3c0806d7b065620b0",class:"md-chip__checkmark",part:"checkmark","aria-hidden":"true"},i("svg",{key:"1e7a5eb1ec44df6efd803543e943889bff65e1e8",viewBox:"0 0 18 18",fill:"none"},i("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"}))),i("slot",{key:"9dd3792251fc0f43baa3e3b0787fbbf7967cfc2b",name:"leading-icon"},e&&!r&&i("span",{key:"0078163a6741535eef3c413559d8cc9a4b7dbbc2",class:"md-chip__icon material-symbols-outlined",part:"icon","aria-hidden":"true"},this.icon)),i("span",{key:"bae9ed93b4ba0e8dda2e9d0fbae102405fbdaeae",class:"md-chip__label",part:"label",id:"md-chip-label-text"},i("slot",{key:"9f36d159a093aaa93e3c4867e7bbf7a5543fcebd"},this.label)),t?i("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},i("slot",{name:"trailing-icon"},i("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true"},i("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"})))):i("slot",{name:"trailing-icon"},o&&i("span",{class:"md-chip__trailing-icon material-symbols-outlined",part:"trailing-icon","aria-hidden":"true"},this.trailingIcon)))}get el(){return r(this)}};n.style=s();export{n as md_chip};
2
+ //# sourceMappingURL=p-ae360663.entry.js.map