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

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 (833) 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/lazy-loading-indicator-CoC-_DMs.js +69 -0
  9. package/dist/cjs/lazy-loading-indicator-CoC-_DMs.js.map +1 -0
  10. package/dist/cjs/loader.cjs.js +4 -3
  11. package/dist/cjs/loader.cjs.js.map +1 -1
  12. package/dist/cjs/md-accordion-item.cjs.entry.js +4 -4
  13. package/dist/cjs/md-accordion.cjs.entry.js +1 -1
  14. package/dist/cjs/md-app-bar.cjs.entry.js +2 -2
  15. package/dist/cjs/md-area-chart.cjs.entry.js +3 -3
  16. package/dist/cjs/md-autocomplete.cjs.entry.js +6 -5
  17. package/dist/cjs/md-autocomplete.cjs.entry.js.map +1 -1
  18. package/dist/cjs/md-avatar_2.cjs.entry.js +4 -4
  19. package/dist/cjs/md-badge.cjs.entry.js +3 -3
  20. package/dist/cjs/md-bar-chart.cjs.entry.js +3 -3
  21. package/dist/cjs/md-bottom-sheet.cjs.entry.js +5 -5
  22. package/dist/cjs/md-breadcrumb-item.cjs.entry.js +1 -1
  23. package/dist/cjs/md-breadcrumbs.cjs.entry.js +3 -3
  24. package/dist/cjs/md-button-group.cjs.entry.js +3 -3
  25. package/dist/cjs/{md-button_7.cjs.entry.js → md-button_6.cjs.entry.js} +14 -39
  26. package/dist/cjs/md-button_6.cjs.entry.js.map +1 -0
  27. package/dist/cjs/md-checkbox.cjs.entry.js +3 -3
  28. package/dist/cjs/md-chip.cjs.entry.js +3 -3
  29. package/dist/cjs/md-color-picker.cjs.entry.js +1 -1
  30. package/dist/cjs/md-date-picker.cjs.entry.js +2 -2
  31. package/dist/cjs/md-dialog.cjs.entry.js +3 -3
  32. package/dist/cjs/md-divider.cjs.entry.js +3 -3
  33. package/dist/cjs/md-fab-menu-item.cjs.entry.js +3 -3
  34. package/dist/cjs/md-fab-menu.cjs.entry.js +3 -3
  35. package/dist/cjs/md-fab.cjs.entry.js +3 -3
  36. package/dist/cjs/md-line-chart.cjs.entry.js +3 -3
  37. package/dist/cjs/md-list-item.cjs.entry.js +4 -4
  38. package/dist/cjs/md-list.cjs.entry.js +4 -4
  39. package/dist/cjs/md-loading-indicator-CmzdcYLR.js +33 -0
  40. package/dist/cjs/md-loading-indicator-CmzdcYLR.js.map +1 -0
  41. package/dist/cjs/md-loading-indicator.cjs.entry.js +11 -0
  42. package/dist/cjs/md-loading-indicator.cjs.entry.js.map +1 -0
  43. package/dist/cjs/md-menu-item-group.cjs.entry.js +1 -1
  44. package/dist/cjs/md-menu_2.cjs.entry.js +6 -6
  45. package/dist/cjs/md-meter.cjs.entry.js +1 -1
  46. package/dist/cjs/md-multi-select.cjs.entry.js +7 -6
  47. package/dist/cjs/md-multi-select.cjs.entry.js.map +1 -1
  48. package/dist/cjs/md-navigation-bar.cjs.entry.js +2 -2
  49. package/dist/cjs/md-navigation-rail-tab.cjs.entry.js +1 -1
  50. package/dist/cjs/md-navigation-rail.cjs.entry.js +1 -1
  51. package/dist/cjs/md-navigation-tab.cjs.entry.js +3 -3
  52. package/dist/cjs/md-number-field.cjs.entry.js +3 -3
  53. package/dist/cjs/md-organization-chart.cjs.entry.js +3 -3
  54. package/dist/cjs/md-otp-field.cjs.entry.js +4 -4
  55. package/dist/cjs/md-pie-chart.cjs.entry.js +1 -1
  56. package/dist/cjs/md-progress-indicator.cjs.entry.js +1 -1
  57. package/dist/cjs/md-rating.cjs.entry.js +1 -1
  58. package/dist/cjs/md-search.cjs.entry.js +8 -7
  59. package/dist/cjs/md-search.cjs.entry.js.map +1 -1
  60. package/dist/cjs/md-segmented-button-set.cjs.entry.js +1 -1
  61. package/dist/cjs/md-segmented-button.cjs.entry.js +1 -1
  62. package/dist/cjs/md-select-option.cjs.entry.js +2 -2
  63. package/dist/cjs/md-select.cjs.entry.js +7 -6
  64. package/dist/cjs/md-select.cjs.entry.js.map +1 -1
  65. package/dist/cjs/md-side-sheet.cjs.entry.js +1 -1
  66. package/dist/cjs/md-skeleton.cjs.entry.js +1 -1
  67. package/dist/cjs/md-slider.cjs.entry.js +3 -3
  68. package/dist/cjs/md-sparkline.cjs.entry.js +3 -3
  69. package/dist/cjs/md-split-button.cjs.entry.js +1 -1
  70. package/dist/cjs/md-status-dot.cjs.entry.js +2 -2
  71. package/dist/cjs/md-step.cjs.entry.js +1 -1
  72. package/dist/cjs/md-stepper.cjs.entry.js +1 -1
  73. package/dist/cjs/md-sub-menu-item.cjs.entry.js +1 -1
  74. package/dist/cjs/md-switch.cjs.entry.js +1 -1
  75. package/dist/cjs/md-tab-panel.cjs.entry.js +1 -1
  76. package/dist/cjs/md-tab-panels.cjs.entry.js +1 -1
  77. package/dist/cjs/md-tab.cjs.entry.js +1 -1
  78. package/dist/cjs/md-table-body.cjs.entry.js +1 -1
  79. package/dist/cjs/md-table-cell.cjs.entry.js +1 -1
  80. package/dist/cjs/md-table-container.cjs.entry.js +1 -1
  81. package/dist/cjs/md-table-expand-toggle.cjs.entry.js +1 -1
  82. package/dist/cjs/md-table-foot.cjs.entry.js +1 -1
  83. package/dist/cjs/md-table-head.cjs.entry.js +1 -1
  84. package/dist/cjs/md-table-pagination.cjs.entry.js +1 -1
  85. package/dist/cjs/md-table-row.cjs.entry.js +1 -1
  86. package/dist/cjs/md-table-sort-label.cjs.entry.js +1 -1
  87. package/dist/cjs/md-table-toolbar.cjs.entry.js +1 -1
  88. package/dist/cjs/md-table.cjs.entry.js +4 -4
  89. package/dist/cjs/md-tabs.cjs.entry.js +1 -1
  90. package/dist/cjs/md-text-field.cjs.entry.js +8 -8
  91. package/dist/cjs/md-time-picker.cjs.entry.js +2 -2
  92. package/dist/cjs/md-toolbar.cjs.entry.js +1 -1
  93. package/dist/cjs/md-transfer-list.cjs.entry.js +2 -2
  94. package/dist/cjs/md3.cjs.js +4 -3
  95. package/dist/cjs/md3.cjs.js.map +1 -1
  96. package/dist/cjs/{virtual-select-controller-CqriaZgm.js → virtual-select-controller-C5cSoKfB.js} +10 -9
  97. package/dist/cjs/virtual-select-controller-C5cSoKfB.js.map +1 -0
  98. package/dist/collection/collection-manifest.json +1 -1
  99. package/dist/collection/components/md-accordion-item/md-accordion-item.js +3 -3
  100. package/dist/collection/components/md-app-bar/md-app-bar.js +1 -1
  101. package/dist/collection/components/md-area-chart/md-area-chart.js +2 -2
  102. package/dist/collection/components/md-autocomplete/md-autocomplete.js +4 -3
  103. package/dist/collection/components/md-autocomplete/md-autocomplete.js.map +1 -1
  104. package/dist/collection/components/md-avatar/md-avatar.js +2 -2
  105. package/dist/collection/components/md-badge/md-badge.js +2 -2
  106. package/dist/collection/components/md-bar-chart/md-bar-chart.js +2 -2
  107. package/dist/collection/components/md-bottom-sheet/md-bottom-sheet.js +4 -4
  108. package/dist/collection/components/md-breadcrumbs/md-breadcrumbs.js +2 -2
  109. package/dist/collection/components/md-button/md-button.js +4 -3
  110. package/dist/collection/components/md-button/md-button.js.map +1 -1
  111. package/dist/collection/components/md-button-group/md-button-group.js +2 -2
  112. package/dist/collection/components/md-card/md-card.js +2 -2
  113. package/dist/collection/components/md-checkbox/md-checkbox.js +2 -2
  114. package/dist/collection/components/md-chip/md-chip.js +2 -2
  115. package/dist/collection/components/md-date-picker/md-date-picker.js +1 -1
  116. package/dist/collection/components/md-dialog/md-dialog.js +2 -2
  117. package/dist/collection/components/md-divider/md-divider.js +2 -2
  118. package/dist/collection/components/md-fab/md-fab.js +2 -2
  119. package/dist/collection/components/md-fab-menu/md-fab-menu.js +2 -2
  120. package/dist/collection/components/md-fab-menu-item/md-fab-menu-item.js +2 -2
  121. package/dist/collection/components/md-icon-button/md-icon-button.js +4 -4
  122. package/dist/collection/components/md-line-chart/md-line-chart.js +2 -2
  123. package/dist/collection/components/md-list/md-list.js +3 -3
  124. package/dist/collection/components/md-list-item/md-list-item.js +3 -3
  125. package/dist/collection/components/md-loading-indicator/md-loading-indicator.js +2 -2
  126. package/dist/collection/components/md-menu/md-menu.js +3 -3
  127. package/dist/collection/components/md-menu-item/md-menu-item.js +2 -2
  128. package/dist/collection/components/md-multi-select/md-multi-select.js +5 -4
  129. package/dist/collection/components/md-multi-select/md-multi-select.js.map +1 -1
  130. package/dist/collection/components/md-navigation-bar/md-navigation-bar.js +1 -1
  131. package/dist/collection/components/md-navigation-tab/md-navigation-tab.js +2 -2
  132. package/dist/collection/components/md-number-field/md-number-field.js +2 -2
  133. package/dist/collection/components/md-organization-chart/md-organization-chart.js +2 -2
  134. package/dist/collection/components/md-otp-field/md-otp-field.js +3 -3
  135. package/dist/collection/components/md-ripple/md-ripple.js +1 -1
  136. package/dist/collection/components/md-search/md-search.js +7 -6
  137. package/dist/collection/components/md-search/md-search.js.map +1 -1
  138. package/dist/collection/components/md-select/md-select.js +5 -4
  139. package/dist/collection/components/md-select/md-select.js.map +1 -1
  140. package/dist/collection/components/md-select-option/md-select-option.js +1 -1
  141. package/dist/collection/components/md-slider/md-slider.js +2 -2
  142. package/dist/collection/components/md-sparkline/md-sparkline.js +2 -2
  143. package/dist/collection/components/md-status-dot/md-status-dot.js +1 -1
  144. package/dist/collection/components/md-table/md-table.js +3 -3
  145. package/dist/collection/components/md-text-field/md-text-field.js +7 -7
  146. package/dist/collection/components/md-time-picker/md-time-picker.js +1 -1
  147. package/dist/collection/components/md-tooltip/md-tooltip.js +1 -1
  148. package/dist/collection/components/md-transfer-list/md-transfer-list.js +1 -1
  149. package/dist/collection/utils/lazy-loading-indicator.js +62 -0
  150. package/dist/collection/utils/lazy-loading-indicator.js.map +1 -0
  151. package/dist/collection/wasm/engine-abi.js +8 -2
  152. package/dist/collection/wasm/engine-abi.js.map +1 -1
  153. package/dist/components/index.js +1 -1
  154. package/dist/components/md-accordion-item.js +1 -1
  155. package/dist/components/md-accordion.js +1 -1
  156. package/dist/components/md-app-bar.js +1 -1
  157. package/dist/components/md-area-chart.js +1 -1
  158. package/dist/components/md-autocomplete.js +1 -1
  159. package/dist/components/md-autocomplete.js.map +1 -1
  160. package/dist/components/md-avatar.js +1 -1
  161. package/dist/components/md-badge.js +1 -1
  162. package/dist/components/md-bar-chart.js +1 -1
  163. package/dist/components/md-bottom-sheet.js +1 -1
  164. package/dist/components/md-breadcrumb-item.js +1 -1
  165. package/dist/components/md-breadcrumbs.js +1 -1
  166. package/dist/components/md-button-group.js +1 -1
  167. package/dist/components/md-button.js +1 -1
  168. package/dist/components/md-card.js +1 -1
  169. package/dist/components/md-checkbox.js +1 -1
  170. package/dist/components/md-chip.js +1 -1
  171. package/dist/components/md-color-picker.js +1 -1
  172. package/dist/components/md-date-picker.js +1 -1
  173. package/dist/components/md-date-picker.js.map +1 -1
  174. package/dist/components/md-dialog.js +1 -1
  175. package/dist/components/md-dialog.js.map +1 -1
  176. package/dist/components/md-divider.js +1 -1
  177. package/dist/components/md-divider.js.map +1 -1
  178. package/dist/components/md-fab-menu-item.js +1 -1
  179. package/dist/components/md-fab-menu.js +1 -1
  180. package/dist/components/md-fab.js +1 -1
  181. package/dist/components/md-icon-button.js +1 -1
  182. package/dist/components/md-line-chart.js +1 -1
  183. package/dist/components/md-line-chart.js.map +1 -1
  184. package/dist/components/md-list-item.js +1 -1
  185. package/dist/components/md-list.js +1 -1
  186. package/dist/components/md-loading-indicator.js +1 -1
  187. package/dist/components/md-menu-item-group.js +1 -1
  188. package/dist/components/md-menu-item.js +1 -1
  189. package/dist/components/md-menu.js +1 -1
  190. package/dist/components/md-meter.js +1 -1
  191. package/dist/components/md-multi-select.js +1 -1
  192. package/dist/components/md-multi-select.js.map +1 -1
  193. package/dist/components/md-navigation-bar.js +1 -1
  194. package/dist/components/md-navigation-rail-tab.js +1 -1
  195. package/dist/components/md-navigation-rail.js +1 -1
  196. package/dist/components/md-navigation-tab.js +1 -1
  197. package/dist/components/md-number-field.js +1 -1
  198. package/dist/components/md-organization-chart.js +1 -1
  199. package/dist/components/md-otp-field.js +1 -1
  200. package/dist/components/md-pie-chart.js +1 -1
  201. package/dist/components/md-progress-indicator.js +1 -1
  202. package/dist/components/md-radio.js +1 -1
  203. package/dist/components/md-rating.js +1 -1
  204. package/dist/components/md-ripple.js +1 -1
  205. package/dist/components/md-search.js +1 -1
  206. package/dist/components/md-search.js.map +1 -1
  207. package/dist/components/md-segmented-button-set.js +1 -1
  208. package/dist/components/md-segmented-button.js +1 -1
  209. package/dist/components/md-select-option.js +1 -1
  210. package/dist/components/md-select.js +1 -1
  211. package/dist/components/md-side-sheet.js +1 -1
  212. package/dist/components/md-skeleton.js +1 -1
  213. package/dist/components/md-slider.js +1 -1
  214. package/dist/components/md-snackbar.js +1 -1
  215. package/dist/components/md-snackbar.js.map +1 -1
  216. package/dist/components/md-sparkline.js +1 -1
  217. package/dist/components/md-split-button.js +1 -1
  218. package/dist/components/md-status-dot.js +1 -1
  219. package/dist/components/md-step.js +1 -1
  220. package/dist/components/md-step.js.map +1 -1
  221. package/dist/components/md-stepper.js +1 -1
  222. package/dist/components/md-stepper.js.map +1 -1
  223. package/dist/components/md-sub-menu-item.js +1 -1
  224. package/dist/components/md-switch.js +1 -1
  225. package/dist/components/md-tab-panel.js +1 -1
  226. package/dist/components/md-tab-panels.js +1 -1
  227. package/dist/components/md-tab.js +1 -1
  228. package/dist/components/md-table-body.js +1 -1
  229. package/dist/components/md-table-cell.js +1 -1
  230. package/dist/components/md-table-container.js +1 -1
  231. package/dist/components/md-table-expand-toggle.js +1 -1
  232. package/dist/components/md-table-foot.js +1 -1
  233. package/dist/components/md-table-head.js +1 -1
  234. package/dist/components/md-table-pagination.js +1 -1
  235. package/dist/components/md-table-pagination.js.map +1 -1
  236. package/dist/components/md-table-row.js +1 -1
  237. package/dist/components/md-table-sort-label.js +1 -1
  238. package/dist/components/md-table-toolbar.js +1 -1
  239. package/dist/components/md-table.js +1 -1
  240. package/dist/components/md-tabs.js +1 -1
  241. package/dist/components/md-text-field.js +1 -1
  242. package/dist/components/md-time-picker.js +1 -1
  243. package/dist/components/md-time-picker.js.map +1 -1
  244. package/dist/components/md-toolbar.js +1 -1
  245. package/dist/components/md-tooltip.js +1 -1
  246. package/dist/components/md-transfer-list.js +1 -1
  247. package/dist/components/p-1RSrsLOs.js +2 -0
  248. package/dist/components/p-1RSrsLOs.js.map +1 -0
  249. package/dist/components/p-2HV152w7.js +2 -0
  250. package/dist/components/p-2HV152w7.js.map +1 -0
  251. package/dist/components/p-6ZDAcEKN.js +2 -0
  252. package/dist/components/p-6ZDAcEKN.js.map +1 -0
  253. package/dist/components/p-B2fYoYe9.js +2 -0
  254. package/dist/components/p-B2fYoYe9.js.map +1 -0
  255. package/dist/components/p-BR6gfOQH.js +2 -0
  256. package/dist/components/p-BR6gfOQH.js.map +1 -0
  257. package/dist/components/p-Bz-JaJcA.js +2 -0
  258. package/dist/components/p-Bz-JaJcA.js.map +1 -0
  259. package/dist/components/p-C77M30dm.js +2 -0
  260. package/dist/components/p-C77M30dm.js.map +1 -0
  261. package/dist/components/p-CNgkGl_1.js +2 -0
  262. package/dist/components/p-CNgkGl_1.js.map +1 -0
  263. package/dist/components/p-CfBPnYW7.js +2 -0
  264. package/dist/components/p-CfBPnYW7.js.map +1 -0
  265. package/dist/components/p-D5Ht729E.js +2 -0
  266. package/dist/components/p-D5Ht729E.js.map +1 -0
  267. package/dist/components/p-DPqGg8C1.js +2 -0
  268. package/dist/components/p-DPqGg8C1.js.map +1 -0
  269. package/dist/components/p-De3E5Q8v.js +2 -0
  270. package/dist/components/p-De3E5Q8v.js.map +1 -0
  271. package/dist/components/p-Dm_7DA1f.js +2 -0
  272. package/dist/components/p-Dm_7DA1f.js.map +1 -0
  273. package/dist/components/p-Dz3R-2Wn.js +2 -0
  274. package/dist/components/p-Dz3R-2Wn.js.map +1 -0
  275. package/dist/components/p-Zjf9uhOr.js +2 -0
  276. package/dist/components/p-Zjf9uhOr.js.map +1 -0
  277. package/dist/components/p-ssLobpGS.js +2 -0
  278. package/dist/components/p-ssLobpGS.js.map +1 -0
  279. package/dist/components/p-tSoecrcz.js +2 -0
  280. package/dist/components/p-tSoecrcz.js.map +1 -0
  281. package/dist/components/p-zMR3UIR_.js +2 -0
  282. package/dist/components/p-zMR3UIR_.js.map +1 -0
  283. package/dist/components-csr/index.js +2 -0
  284. package/dist/components-csr/index.js.map +1 -0
  285. package/dist/components-csr/md-accordion-item.js +2 -0
  286. package/dist/components-csr/md-accordion-item.js.map +1 -0
  287. package/dist/components-csr/md-accordion.js +2 -0
  288. package/dist/components-csr/md-accordion.js.map +1 -0
  289. package/dist/components-csr/md-app-bar.js +2 -0
  290. package/dist/components-csr/md-app-bar.js.map +1 -0
  291. package/dist/components-csr/md-area-chart.js +2 -0
  292. package/dist/components-csr/md-area-chart.js.map +1 -0
  293. package/dist/components-csr/md-autocomplete.js +2 -0
  294. package/dist/components-csr/md-autocomplete.js.map +1 -0
  295. package/dist/components-csr/md-avatar.js +2 -0
  296. package/dist/components-csr/md-avatar.js.map +1 -0
  297. package/dist/components-csr/md-badge.js +2 -0
  298. package/dist/components-csr/md-badge.js.map +1 -0
  299. package/dist/components-csr/md-bar-chart.js +2 -0
  300. package/dist/components-csr/md-bar-chart.js.map +1 -0
  301. package/dist/components-csr/md-bottom-sheet.js +2 -0
  302. package/dist/components-csr/md-bottom-sheet.js.map +1 -0
  303. package/dist/components-csr/md-breadcrumb-item.js +2 -0
  304. package/dist/components-csr/md-breadcrumb-item.js.map +1 -0
  305. package/dist/components-csr/md-breadcrumbs.js +2 -0
  306. package/dist/components-csr/md-breadcrumbs.js.map +1 -0
  307. package/dist/components-csr/md-button-group.js +2 -0
  308. package/dist/components-csr/md-button-group.js.map +1 -0
  309. package/dist/components-csr/md-button.js +2 -0
  310. package/dist/components-csr/md-button.js.map +1 -0
  311. package/dist/components-csr/md-card.js +2 -0
  312. package/dist/components-csr/md-card.js.map +1 -0
  313. package/dist/components-csr/md-checkbox.js +2 -0
  314. package/dist/components-csr/md-checkbox.js.map +1 -0
  315. package/dist/components-csr/md-chip.js +2 -0
  316. package/dist/components-csr/md-chip.js.map +1 -0
  317. package/dist/components-csr/md-color-picker.js +2 -0
  318. package/dist/components-csr/md-color-picker.js.map +1 -0
  319. package/dist/components-csr/md-date-picker.js +2 -0
  320. package/dist/components-csr/md-date-picker.js.map +1 -0
  321. package/dist/components-csr/md-dialog.js +2 -0
  322. package/dist/components-csr/md-dialog.js.map +1 -0
  323. package/dist/components-csr/md-divider.js +2 -0
  324. package/dist/components-csr/md-divider.js.map +1 -0
  325. package/dist/components-csr/md-fab-menu-item.js +2 -0
  326. package/dist/components-csr/md-fab-menu-item.js.map +1 -0
  327. package/dist/components-csr/md-fab-menu.js +2 -0
  328. package/dist/components-csr/md-fab-menu.js.map +1 -0
  329. package/dist/components-csr/md-fab.js +2 -0
  330. package/dist/components-csr/md-fab.js.map +1 -0
  331. package/dist/components-csr/md-icon-button.js +2 -0
  332. package/dist/components-csr/md-icon-button.js.map +1 -0
  333. package/dist/components-csr/md-line-chart.js +2 -0
  334. package/dist/components-csr/md-line-chart.js.map +1 -0
  335. package/dist/components-csr/md-list-item.js +2 -0
  336. package/dist/components-csr/md-list-item.js.map +1 -0
  337. package/dist/components-csr/md-list.js +2 -0
  338. package/dist/components-csr/md-list.js.map +1 -0
  339. package/dist/components-csr/md-loading-indicator.js +2 -0
  340. package/dist/components-csr/md-loading-indicator.js.map +1 -0
  341. package/dist/components-csr/md-menu-item-group.js +2 -0
  342. package/dist/components-csr/md-menu-item-group.js.map +1 -0
  343. package/dist/components-csr/md-menu-item.js +2 -0
  344. package/dist/components-csr/md-menu-item.js.map +1 -0
  345. package/dist/components-csr/md-menu.js +2 -0
  346. package/dist/components-csr/md-menu.js.map +1 -0
  347. package/dist/components-csr/md-meter.js +2 -0
  348. package/dist/components-csr/md-meter.js.map +1 -0
  349. package/dist/components-csr/md-multi-select.js +2 -0
  350. package/dist/components-csr/md-multi-select.js.map +1 -0
  351. package/dist/components-csr/md-navigation-bar.js +2 -0
  352. package/dist/components-csr/md-navigation-bar.js.map +1 -0
  353. package/dist/components-csr/md-navigation-rail-tab.js +2 -0
  354. package/dist/components-csr/md-navigation-rail-tab.js.map +1 -0
  355. package/dist/components-csr/md-navigation-rail.js +2 -0
  356. package/dist/components-csr/md-navigation-rail.js.map +1 -0
  357. package/dist/components-csr/md-navigation-tab.js +2 -0
  358. package/dist/components-csr/md-navigation-tab.js.map +1 -0
  359. package/dist/components-csr/md-number-field.js +2 -0
  360. package/dist/components-csr/md-number-field.js.map +1 -0
  361. package/dist/components-csr/md-organization-chart.js +2 -0
  362. package/dist/components-csr/md-organization-chart.js.map +1 -0
  363. package/dist/components-csr/md-otp-field.js +2 -0
  364. package/dist/components-csr/md-otp-field.js.map +1 -0
  365. package/dist/components-csr/md-pie-chart.js +2 -0
  366. package/dist/components-csr/md-pie-chart.js.map +1 -0
  367. package/dist/components-csr/md-progress-indicator.js +2 -0
  368. package/dist/components-csr/md-progress-indicator.js.map +1 -0
  369. package/dist/components-csr/md-radio.js +2 -0
  370. package/dist/components-csr/md-radio.js.map +1 -0
  371. package/dist/components-csr/md-rating.js +2 -0
  372. package/dist/components-csr/md-rating.js.map +1 -0
  373. package/dist/components-csr/md-ripple.js +2 -0
  374. package/dist/components-csr/md-ripple.js.map +1 -0
  375. package/dist/components-csr/md-search.js +2 -0
  376. package/dist/components-csr/md-search.js.map +1 -0
  377. package/dist/components-csr/md-segmented-button-set.js +2 -0
  378. package/dist/components-csr/md-segmented-button-set.js.map +1 -0
  379. package/dist/components-csr/md-segmented-button.js +2 -0
  380. package/dist/components-csr/md-segmented-button.js.map +1 -0
  381. package/dist/components-csr/md-select-option.js +2 -0
  382. package/dist/components-csr/md-select-option.js.map +1 -0
  383. package/dist/components-csr/md-select.js +2 -0
  384. package/dist/components-csr/md-select.js.map +1 -0
  385. package/dist/components-csr/md-side-sheet.js +2 -0
  386. package/dist/components-csr/md-side-sheet.js.map +1 -0
  387. package/dist/components-csr/md-skeleton.js +2 -0
  388. package/dist/components-csr/md-skeleton.js.map +1 -0
  389. package/dist/components-csr/md-slider.js +2 -0
  390. package/dist/components-csr/md-slider.js.map +1 -0
  391. package/dist/components-csr/md-snackbar.js +2 -0
  392. package/dist/components-csr/md-snackbar.js.map +1 -0
  393. package/dist/components-csr/md-sparkline.js +2 -0
  394. package/dist/components-csr/md-sparkline.js.map +1 -0
  395. package/dist/components-csr/md-split-button.js +2 -0
  396. package/dist/components-csr/md-split-button.js.map +1 -0
  397. package/dist/components-csr/md-status-dot.js +2 -0
  398. package/dist/components-csr/md-status-dot.js.map +1 -0
  399. package/dist/components-csr/md-step.js +2 -0
  400. package/dist/components-csr/md-step.js.map +1 -0
  401. package/dist/components-csr/md-stepper.js +2 -0
  402. package/dist/components-csr/md-stepper.js.map +1 -0
  403. package/dist/components-csr/md-sub-menu-item.js +2 -0
  404. package/dist/components-csr/md-sub-menu-item.js.map +1 -0
  405. package/dist/components-csr/md-switch.js +2 -0
  406. package/dist/components-csr/md-switch.js.map +1 -0
  407. package/dist/components-csr/md-tab-panel.js +2 -0
  408. package/dist/components-csr/md-tab-panel.js.map +1 -0
  409. package/dist/components-csr/md-tab-panels.js +2 -0
  410. package/dist/components-csr/md-tab-panels.js.map +1 -0
  411. package/dist/components-csr/md-tab.js +2 -0
  412. package/dist/components-csr/md-tab.js.map +1 -0
  413. package/dist/components-csr/md-table-body.js +2 -0
  414. package/dist/components-csr/md-table-body.js.map +1 -0
  415. package/dist/components-csr/md-table-cell.js +2 -0
  416. package/dist/components-csr/md-table-cell.js.map +1 -0
  417. package/dist/components-csr/md-table-container.js +2 -0
  418. package/dist/components-csr/md-table-container.js.map +1 -0
  419. package/dist/components-csr/md-table-expand-toggle.js +2 -0
  420. package/dist/components-csr/md-table-expand-toggle.js.map +1 -0
  421. package/dist/components-csr/md-table-foot.js +2 -0
  422. package/dist/components-csr/md-table-foot.js.map +1 -0
  423. package/dist/components-csr/md-table-head.js +2 -0
  424. package/dist/components-csr/md-table-head.js.map +1 -0
  425. package/dist/components-csr/md-table-pagination.js +2 -0
  426. package/dist/components-csr/md-table-pagination.js.map +1 -0
  427. package/dist/components-csr/md-table-row.js +2 -0
  428. package/dist/components-csr/md-table-row.js.map +1 -0
  429. package/dist/components-csr/md-table-sort-label.js +2 -0
  430. package/dist/components-csr/md-table-sort-label.js.map +1 -0
  431. package/dist/components-csr/md-table-toolbar.js +2 -0
  432. package/dist/components-csr/md-table-toolbar.js.map +1 -0
  433. package/dist/components-csr/md-table.js +2 -0
  434. package/dist/components-csr/md-table.js.map +1 -0
  435. package/dist/components-csr/md-tabs.js +2 -0
  436. package/dist/components-csr/md-tabs.js.map +1 -0
  437. package/dist/components-csr/md-text-field.js +2 -0
  438. package/dist/components-csr/md-text-field.js.map +1 -0
  439. package/dist/components-csr/md-time-picker.js +2 -0
  440. package/dist/components-csr/md-time-picker.js.map +1 -0
  441. package/dist/components-csr/md-toolbar.js +2 -0
  442. package/dist/components-csr/md-toolbar.js.map +1 -0
  443. package/dist/components-csr/md-tooltip.js +2 -0
  444. package/dist/components-csr/md-tooltip.js.map +1 -0
  445. package/dist/components-csr/md-transfer-list.js +2 -0
  446. package/dist/components-csr/md-transfer-list.js.map +1 -0
  447. package/dist/components-csr/p-6WgHjhDg.js +2 -0
  448. package/dist/components-csr/p-6WgHjhDg.js.map +1 -0
  449. package/dist/{components/p-uTEkf0sE.js → components-csr/p-BEmwDSzw.js} +2 -2
  450. package/dist/{components/p-C8EP4S21.js → components-csr/p-BQKzjYcY.js} +2 -2
  451. package/dist/{components/p-BwXpiUsu.js → components-csr/p-BWMwewtY.js} +2 -2
  452. package/dist/{components/p-DXXUoRSH.js → components-csr/p-BZakoRau.js} +2 -2
  453. package/dist/components-csr/p-BZakoRau.js.map +1 -0
  454. package/dist/{md3/p-BjYKc1Ge.js → components-csr/p-BdEoSBtL.js} +2 -2
  455. package/dist/components-csr/p-BdEoSBtL.js.map +1 -0
  456. package/dist/{components/p-B0Opn6dK.js → components-csr/p-Bkt_X-6v.js} +2 -2
  457. package/dist/components-csr/p-Bx6--dQF.js.map +1 -0
  458. package/dist/components-csr/p-Bz-JaJcA.js +2 -0
  459. package/dist/components-csr/p-Bz-JaJcA.js.map +1 -0
  460. package/dist/{components/p-stybaFzj.js → components-csr/p-C3vB0Hd9.js} +2 -2
  461. package/dist/{components/p-B3MWYEEJ.js → components-csr/p-CF7mq5T7.js} +2 -2
  462. package/dist/{components/p-7fN_yCXW.js → components-csr/p-CVMM-tdC.js} +2 -2
  463. package/dist/components-csr/p-C_ogF68H.js.map +1 -0
  464. package/dist/components-csr/p-Cch_V1vi.js +2 -0
  465. package/dist/components-csr/p-Cch_V1vi.js.map +1 -0
  466. package/dist/components-csr/p-CfBPnYW7.js +2 -0
  467. package/dist/components-csr/p-CfBPnYW7.js.map +1 -0
  468. package/dist/components-csr/p-CxhZdOPw.js +2 -0
  469. package/dist/components-csr/p-CxhZdOPw.js.map +1 -0
  470. package/dist/{components/p-Ch2-tttM.js → components-csr/p-DMQ-6aj8.js} +2 -2
  471. package/dist/components-csr/p-DWxN44zD.js +2 -0
  472. package/dist/components-csr/p-DWxN44zD.js.map +1 -0
  473. package/dist/components-csr/p-DYBUr7K_.js +2 -0
  474. package/dist/components-csr/p-DYBUr7K_.js.map +1 -0
  475. package/dist/{components/p-e2HRV63Y.js → components-csr/p-DfcpeJAu.js} +2 -2
  476. package/dist/{components/p-Dp-w93ot.js → components-csr/p-DjKPc5EU.js} +2 -2
  477. package/dist/components-csr/p-DvOKnoqK.js.map +1 -0
  478. package/dist/components-csr/p-DzPKu-Ma.js.map +1 -0
  479. package/dist/{components/p-UdGDg2oJ.js → components-csr/p-If0JHsYV.js} +2 -2
  480. package/dist/components-csr/p-If0JHsYV.js.map +1 -0
  481. package/dist/components-csr/p-RLxbNqRv.js.map +1 -0
  482. package/dist/{components/p-6wZSqm_2.js → components-csr/p-R_guULjT.js} +2 -2
  483. package/dist/components-csr/p-bSpXNc5J.js +2 -0
  484. package/dist/components-csr/p-bSpXNc5J.js.map +1 -0
  485. package/dist/{components/p-Ddiw2Kjw.js → components-csr/p-uSMrgqAy.js} +2 -2
  486. package/dist/components-csr/package.json +3 -0
  487. package/dist/esm/{a11y-C6CRqodW.js → a11y-BckJ95d7.js} +3 -3
  488. package/dist/esm/{a11y-C6CRqodW.js.map → a11y-BckJ95d7.js.map} +1 -1
  489. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  490. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  491. package/dist/esm/{bar-chart-ZZrajEkM.js → bar-chart-BuTyuCbt.js} +4 -4
  492. package/dist/esm/{bar-chart-ZZrajEkM.js.map → bar-chart-BuTyuCbt.js.map} +1 -1
  493. package/dist/esm/{chart-32olae06.js → chart-ByIhkqsG.js} +4 -4
  494. package/dist/esm/{chart-32olae06.js.map → chart-ByIhkqsG.js.map} +1 -1
  495. package/dist/esm/engine.wasm-CfBPnYW7.js +10 -0
  496. package/dist/esm/engine.wasm-CfBPnYW7.js.map +1 -0
  497. package/dist/esm/{hit-test-DHldf5Lm.js → hit-test-c_hI-yCX.js} +3 -3
  498. package/dist/esm/{hit-test-DHldf5Lm.js.map → hit-test-c_hI-yCX.js.map} +1 -1
  499. package/dist/esm/{index-DTaX19_O.js → index-WmvQpZnM.js} +5 -15
  500. package/dist/esm/index-WmvQpZnM.js.map +1 -0
  501. package/dist/esm/lazy-loading-indicator-BWFcjJiK.js +67 -0
  502. package/dist/esm/lazy-loading-indicator-BWFcjJiK.js.map +1 -0
  503. package/dist/esm/loader.js +4 -3
  504. package/dist/esm/loader.js.map +1 -1
  505. package/dist/esm/md-accordion-item.entry.js +4 -4
  506. package/dist/esm/md-accordion.entry.js +1 -1
  507. package/dist/esm/md-app-bar.entry.js +2 -2
  508. package/dist/esm/md-area-chart.entry.js +7 -7
  509. package/dist/esm/md-autocomplete.entry.js +6 -5
  510. package/dist/esm/md-autocomplete.entry.js.map +1 -1
  511. package/dist/esm/md-avatar_2.entry.js +4 -4
  512. package/dist/esm/md-badge.entry.js +3 -3
  513. package/dist/esm/md-bar-chart.entry.js +7 -7
  514. package/dist/esm/md-bottom-sheet.entry.js +5 -5
  515. package/dist/esm/md-breadcrumb-item.entry.js +2 -2
  516. package/dist/esm/md-breadcrumbs.entry.js +3 -3
  517. package/dist/esm/md-button-group.entry.js +3 -3
  518. package/dist/esm/{md-button_7.entry.js → md-button_6.entry.js} +16 -40
  519. package/dist/esm/md-button_6.entry.js.map +1 -0
  520. package/dist/esm/md-checkbox.entry.js +3 -3
  521. package/dist/esm/md-chip.entry.js +3 -3
  522. package/dist/esm/md-color-picker.entry.js +1 -1
  523. package/dist/esm/md-date-picker.entry.js +2 -2
  524. package/dist/esm/md-dialog.entry.js +3 -3
  525. package/dist/esm/md-divider.entry.js +3 -3
  526. package/dist/esm/md-fab-menu-item.entry.js +3 -3
  527. package/dist/esm/md-fab-menu.entry.js +3 -3
  528. package/dist/esm/md-fab.entry.js +3 -3
  529. package/dist/esm/md-line-chart.entry.js +7 -7
  530. package/dist/esm/md-list-item.entry.js +5 -5
  531. package/dist/esm/md-list.entry.js +4 -4
  532. package/dist/esm/md-loading-indicator-Bf-Pt29l.js +31 -0
  533. package/dist/esm/md-loading-indicator-Bf-Pt29l.js.map +1 -0
  534. package/dist/esm/md-loading-indicator.entry.js +5 -0
  535. package/dist/esm/md-loading-indicator.entry.js.map +1 -0
  536. package/dist/esm/md-menu-item-group.entry.js +1 -1
  537. package/dist/esm/md-menu_2.entry.js +6 -6
  538. package/dist/esm/md-meter.entry.js +1 -1
  539. package/dist/esm/md-multi-select.entry.js +7 -6
  540. package/dist/esm/md-multi-select.entry.js.map +1 -1
  541. package/dist/esm/md-navigation-bar.entry.js +2 -2
  542. package/dist/esm/md-navigation-rail-tab.entry.js +2 -2
  543. package/dist/esm/md-navigation-rail.entry.js +1 -1
  544. package/dist/esm/md-navigation-tab.entry.js +4 -4
  545. package/dist/esm/md-number-field.entry.js +3 -3
  546. package/dist/esm/md-organization-chart.entry.js +3 -3
  547. package/dist/esm/md-otp-field.entry.js +4 -4
  548. package/dist/esm/md-pie-chart.entry.js +3 -3
  549. package/dist/esm/md-progress-indicator.entry.js +1 -1
  550. package/dist/esm/md-rating.entry.js +1 -1
  551. package/dist/esm/md-search.entry.js +8 -7
  552. package/dist/esm/md-search.entry.js.map +1 -1
  553. package/dist/esm/md-segmented-button-set.entry.js +1 -1
  554. package/dist/esm/md-segmented-button.entry.js +1 -1
  555. package/dist/esm/md-select-option.entry.js +2 -2
  556. package/dist/esm/md-select.entry.js +7 -6
  557. package/dist/esm/md-select.entry.js.map +1 -1
  558. package/dist/esm/md-side-sheet.entry.js +1 -1
  559. package/dist/esm/md-skeleton.entry.js +1 -1
  560. package/dist/esm/md-slider.entry.js +3 -3
  561. package/dist/esm/md-sparkline.entry.js +7 -7
  562. package/dist/esm/md-split-button.entry.js +1 -1
  563. package/dist/esm/md-status-dot.entry.js +2 -2
  564. package/dist/esm/md-step.entry.js +1 -1
  565. package/dist/esm/md-stepper.entry.js +1 -1
  566. package/dist/esm/md-sub-menu-item.entry.js +1 -1
  567. package/dist/esm/md-switch.entry.js +1 -1
  568. package/dist/esm/md-tab-panel.entry.js +1 -1
  569. package/dist/esm/md-tab-panels.entry.js +1 -1
  570. package/dist/esm/md-tab.entry.js +1 -1
  571. package/dist/esm/md-table-body.entry.js +1 -1
  572. package/dist/esm/md-table-cell.entry.js +1 -1
  573. package/dist/esm/md-table-container.entry.js +1 -1
  574. package/dist/esm/md-table-expand-toggle.entry.js +1 -1
  575. package/dist/esm/md-table-foot.entry.js +1 -1
  576. package/dist/esm/md-table-head.entry.js +1 -1
  577. package/dist/esm/md-table-pagination.entry.js +1 -1
  578. package/dist/esm/md-table-row.entry.js +1 -1
  579. package/dist/esm/md-table-sort-label.entry.js +1 -1
  580. package/dist/esm/md-table-toolbar.entry.js +1 -1
  581. package/dist/esm/md-table.entry.js +4 -4
  582. package/dist/esm/md-tabs.entry.js +1 -1
  583. package/dist/esm/md-text-field.entry.js +8 -8
  584. package/dist/esm/md-time-picker.entry.js +2 -2
  585. package/dist/esm/md-toolbar.entry.js +1 -1
  586. package/dist/esm/md-transfer-list.entry.js +2 -2
  587. package/dist/esm/md3.js +4 -3
  588. package/dist/esm/md3.js.map +1 -1
  589. package/dist/esm/{rtl-DvOKnoqK.js → rtl-CVFH1DkU.js} +3 -3
  590. package/dist/esm/{rtl-DvOKnoqK.js.map → rtl-CVFH1DkU.js.map} +1 -1
  591. package/dist/esm/{url-BjYKc1Ge.js → url-BdEoSBtL.js} +3 -3
  592. package/dist/esm/{url-BjYKc1Ge.js.map → url-BdEoSBtL.js.map} +1 -1
  593. package/dist/esm/{virtual-select-controller-BEWIC0pC.js → virtual-select-controller-CR60w6DO.js} +10 -9
  594. package/dist/esm/virtual-select-controller-CR60w6DO.js.map +1 -0
  595. package/dist/md3/md3.css +1 -1
  596. package/dist/md3/md3.esm.js +1 -1
  597. package/dist/md3/md3.esm.js.map +1 -1
  598. package/dist/md3/p-08f1c469.entry.js +2 -0
  599. package/dist/md3/{p-4d82132d.entry.js.map → p-08f1c469.entry.js.map} +1 -1
  600. package/dist/md3/{p-9ddbf247.entry.js → p-108f89d7.entry.js} +2 -2
  601. package/dist/md3/p-1112bffc.entry.js +2 -0
  602. package/dist/md3/{p-cf07e761.entry.js.map → p-1112bffc.entry.js.map} +1 -1
  603. package/dist/md3/{p-c6a12344.entry.js → p-114c270b.entry.js} +2 -2
  604. package/dist/md3/p-1835fe36.entry.js +2 -0
  605. package/dist/md3/{p-a3308c40.entry.js.map → p-1835fe36.entry.js.map} +1 -1
  606. package/dist/md3/{p-396089fd.entry.js → p-1edb5a0d.entry.js} +2 -2
  607. package/dist/md3/p-2ba2db3b.entry.js +2 -0
  608. package/dist/md3/{p-6b2871a0.entry.js.map → p-2ba2db3b.entry.js.map} +1 -1
  609. package/dist/md3/p-3508d0e0.entry.js +2 -0
  610. package/dist/md3/{p-f31ab454.entry.js.map → p-3508d0e0.entry.js.map} +1 -1
  611. package/dist/md3/{p-b34d385b.entry.js → p-35b05b45.entry.js} +2 -2
  612. package/dist/md3/{p-c2dd8c8c.entry.js → p-38e9a583.entry.js} +2 -2
  613. package/dist/md3/{p-be02624e.entry.js → p-3c0469aa.entry.js} +2 -2
  614. package/dist/md3/p-3f64a27d.entry.js +2 -0
  615. package/dist/md3/{p-fb61868c.entry.js.map → p-3f64a27d.entry.js.map} +1 -1
  616. package/dist/md3/{p-63b8c8d1.entry.js → p-408ee4be.entry.js} +2 -2
  617. package/dist/md3/{p-edb34a6d.entry.js → p-43c708ad.entry.js} +2 -2
  618. package/dist/md3/{p-3015c7e3.entry.js → p-4770b534.entry.js} +2 -2
  619. package/dist/md3/{p-c861d774.entry.js → p-4b7cf934.entry.js} +2 -2
  620. package/dist/md3/{p-2e09a7b7.entry.js → p-4f26bd60.entry.js} +2 -2
  621. package/dist/md3/{p-7b463fbe.entry.js → p-4f2e82cb.entry.js} +2 -2
  622. package/dist/md3/{p-be412e3f.entry.js → p-501bf161.entry.js} +2 -2
  623. package/dist/md3/{p-c063c823.entry.js → p-56c7c570.entry.js} +2 -2
  624. package/dist/md3/{p-2e9503d7.entry.js → p-56ca0c3c.entry.js} +2 -2
  625. package/dist/md3/{p-ac8762e5.entry.js → p-5b63149a.entry.js} +2 -2
  626. package/dist/md3/{p-c5af701b.entry.js → p-5f668b0a.entry.js} +2 -2
  627. package/dist/md3/p-6237ddac.entry.js +2 -0
  628. package/dist/md3/{p-e7dc5a32.entry.js.map → p-6237ddac.entry.js.map} +1 -1
  629. package/dist/md3/{p-8eb0b6a4.entry.js → p-6d65fc6a.entry.js} +2 -2
  630. package/dist/md3/{p-e3124e1e.entry.js → p-707b6d7c.entry.js} +2 -2
  631. package/dist/md3/{p-a5fee424.entry.js → p-71f1660b.entry.js} +2 -2
  632. package/dist/md3/{p-1a8ec5bc.entry.js → p-7501170f.entry.js} +2 -2
  633. package/dist/md3/p-7c8842bf.entry.js +2 -0
  634. package/dist/md3/{p-ba2ebde1.entry.js.map → p-7c8842bf.entry.js.map} +1 -1
  635. package/dist/md3/{p-4e3d6e40.entry.js → p-7d1686a7.entry.js} +2 -2
  636. package/dist/md3/p-7e7f0e45.entry.js +2 -0
  637. package/dist/md3/p-7e7f0e45.entry.js.map +1 -0
  638. package/dist/md3/p-80379565.entry.js +2 -0
  639. package/dist/md3/{p-6c44cf13.entry.js.map → p-80379565.entry.js.map} +1 -1
  640. package/dist/md3/p-830724e4.entry.js +2 -0
  641. package/dist/md3/p-830724e4.entry.js.map +1 -0
  642. package/dist/md3/{p-4dda4cb0.entry.js → p-845ca9cc.entry.js} +2 -2
  643. package/dist/md3/{p-77a01bcc.entry.js → p-87f88d62.entry.js} +2 -2
  644. package/dist/md3/{p-5b74694e.entry.js → p-89d47130.entry.js} +2 -2
  645. package/dist/md3/p-8a6fed13.entry.js +2 -0
  646. package/dist/md3/{p-a803da99.entry.js.map → p-8a6fed13.entry.js.map} +1 -1
  647. package/dist/md3/p-8a7e0297.entry.js +2 -0
  648. package/dist/md3/p-8a7e0297.entry.js.map +1 -0
  649. package/dist/md3/{p-b0431a5c.entry.js → p-8bdcda53.entry.js} +2 -2
  650. package/dist/md3/{p-c10a33c2.entry.js → p-8e7df348.entry.js} +2 -2
  651. package/dist/md3/p-9003a7d4.entry.js +2 -0
  652. package/dist/md3/p-9003a7d4.entry.js.map +1 -0
  653. package/dist/md3/{p-05ae91b6.entry.js → p-90ccf4c3.entry.js} +2 -2
  654. package/dist/md3/p-BdEoSBtL.js +2 -0
  655. package/dist/md3/{p-BjYKc1Ge.js.map → p-BdEoSBtL.js.map} +1 -1
  656. package/dist/md3/p-Bz-JaJcA.js +2 -0
  657. package/dist/md3/p-Bz-JaJcA.js.map +1 -0
  658. package/dist/md3/p-CGqeEMjY.js +2 -0
  659. package/dist/md3/{p-DzPKu-Ma.js.map → p-CGqeEMjY.js.map} +1 -1
  660. package/dist/md3/p-CVFH1DkU.js +2 -0
  661. package/dist/md3/{p-DvOKnoqK.js.map → p-CVFH1DkU.js.map} +1 -1
  662. package/dist/md3/p-Cch92tDM.js +2 -0
  663. package/dist/md3/{p-RLxbNqRv.js.map → p-Cch92tDM.js.map} +1 -1
  664. package/dist/md3/p-CfBPnYW7.js +2 -0
  665. package/dist/md3/p-CfBPnYW7.js.map +1 -0
  666. package/dist/md3/p-D17cVKxS.js +2 -0
  667. package/dist/md3/p-D17cVKxS.js.map +1 -0
  668. package/dist/md3/p-DGtztV3K.js +2 -0
  669. package/dist/md3/{p-Bx6--dQF.js.map → p-DGtztV3K.js.map} +1 -1
  670. package/dist/md3/p-DQuL1Twl.js +2 -0
  671. package/dist/md3/p-DQuL1Twl.js.map +1 -0
  672. package/dist/md3/p-DnKDoE8K.js +2 -0
  673. package/dist/md3/p-DnKDoE8K.js.map +1 -0
  674. package/dist/md3/p-WmvQpZnM.js +3 -0
  675. package/dist/md3/p-WmvQpZnM.js.map +1 -0
  676. package/dist/md3/p-a3623653.entry.js +2 -0
  677. package/dist/md3/{p-19ee9c33.entry.js.map → p-a3623653.entry.js.map} +1 -1
  678. package/dist/md3/{p-da4e27d4.entry.js → p-a4d4cfed.entry.js} +2 -2
  679. package/dist/md3/{p-5394254f.entry.js → p-a976498b.entry.js} +2 -2
  680. package/dist/md3/{p-6038b907.entry.js → p-ab568d1c.entry.js} +2 -2
  681. package/dist/md3/{p-bf7842f8.entry.js → p-adf8a415.entry.js} +2 -2
  682. package/dist/md3/p-ae30e899.entry.js +2 -0
  683. package/dist/md3/p-ae30e899.entry.js.map +1 -0
  684. package/dist/md3/{p-45280bf4.entry.js → p-b2d88292.entry.js} +2 -2
  685. package/dist/md3/{p-796f79f8.entry.js → p-b3b5247b.entry.js} +2 -2
  686. package/dist/md3/{p-5b799707.entry.js → p-b4266f6b.entry.js} +2 -2
  687. package/dist/md3/p-b54bbf88.entry.js +2 -0
  688. package/dist/md3/p-b54bbf88.entry.js.map +1 -0
  689. package/dist/md3/{p-c00f7514.entry.js → p-ba011453.entry.js} +2 -2
  690. package/dist/md3/{p-6ba63c73.entry.js → p-bc24f0c9.entry.js} +2 -2
  691. package/dist/md3/{p-0c2e824d.entry.js → p-c20fbb9e.entry.js} +2 -2
  692. package/dist/md3/{p-fc0b325d.entry.js → p-c2944c87.entry.js} +2 -2
  693. package/dist/md3/{p-4e45b2ff.entry.js → p-c58c68d0.entry.js} +2 -2
  694. package/dist/md3/p-cc6e8afd.entry.js +2 -0
  695. package/dist/md3/{p-72457a85.entry.js.map → p-cc6e8afd.entry.js.map} +1 -1
  696. package/dist/md3/{p-0f764a1e.entry.js → p-d2e39c6e.entry.js} +2 -2
  697. package/dist/md3/{p-50555bb7.entry.js → p-d8885f53.entry.js} +2 -2
  698. package/dist/md3/{p-c1ca6f6c.entry.js → p-db6fb4e1.entry.js} +2 -2
  699. package/dist/md3/{p-81843ff7.entry.js → p-dcba2857.entry.js} +2 -2
  700. package/dist/md3/{p-65195996.entry.js → p-e357e8ac.entry.js} +2 -2
  701. package/dist/md3/{p-39cb7c24.entry.js → p-e5c6795e.entry.js} +2 -2
  702. package/dist/md3/p-e871663b.entry.js +2 -0
  703. package/dist/md3/{p-aaec2698.entry.js.map → p-e871663b.entry.js.map} +1 -1
  704. package/dist/md3/p-f1b69181.entry.js +2 -0
  705. package/dist/md3/{p-a986fd24.entry.js.map → p-f1b69181.entry.js.map} +1 -1
  706. package/dist/md3/p-f297d786.entry.js +2 -0
  707. package/dist/md3/{p-3cce1de3.entry.js.map → p-f297d786.entry.js.map} +1 -1
  708. package/dist/md3/{p-e6d7f0ff.entry.js → p-f403ad20.entry.js} +2 -2
  709. package/dist/md3/p-f5399b73.entry.js +2 -0
  710. package/dist/md3/{p-04e97f5d.entry.js.map → p-f5399b73.entry.js.map} +1 -1
  711. package/dist/md3/{p-708a9313.entry.js → p-f5fd9a0b.entry.js} +2 -2
  712. package/dist/md3/{p-aa0e7d4d.entry.js → p-f71af38f.entry.js} +2 -2
  713. package/dist/md3/{p-757e3aaf.entry.js → p-fac6da4c.entry.js} +2 -2
  714. package/dist/md3/{p-134b670a.entry.js → p-fc864f96.entry.js} +2 -2
  715. package/dist/md3/{p-32bdd439.entry.js → p-fd686966.entry.js} +2 -2
  716. package/dist/md3/p-nhfFYWzy.js +2 -0
  717. package/dist/md3/{p-C_ogF68H.js.map → p-nhfFYWzy.js.map} +1 -1
  718. package/dist/types/utils/lazy-loading-indicator.d.ts +7 -0
  719. package/dist/types/wasm/engine-abi.d.ts +14 -0
  720. package/hydrate/index.js +191 -113
  721. package/hydrate/index.mjs +191 -113
  722. package/package.json +30 -5
  723. package/dist/cjs/index-DlQ_5_Mv.js.map +0 -1
  724. package/dist/cjs/md-button_7.cjs.entry.js.map +0 -1
  725. package/dist/cjs/virtual-select-controller-CqriaZgm.js.map +0 -1
  726. package/dist/components/p-BEWIC0pC.js +0 -2
  727. package/dist/components/p-BEWIC0pC.js.map +0 -1
  728. package/dist/components/p-DXXUoRSH.js.map +0 -1
  729. package/dist/components/p-MWBNn6Lj.js +0 -2
  730. package/dist/components/p-MWBNn6Lj.js.map +0 -1
  731. package/dist/components/p-UdGDg2oJ.js.map +0 -1
  732. package/dist/esm/index-DTaX19_O.js.map +0 -1
  733. package/dist/esm/md-button_7.entry.js.map +0 -1
  734. package/dist/esm/virtual-select-controller-BEWIC0pC.js.map +0 -1
  735. package/dist/md3/p-04e97f5d.entry.js +0 -2
  736. package/dist/md3/p-19ee9c33.entry.js +0 -2
  737. package/dist/md3/p-21772851.entry.js +0 -2
  738. package/dist/md3/p-21772851.entry.js.map +0 -1
  739. package/dist/md3/p-3cce1de3.entry.js +0 -2
  740. package/dist/md3/p-47af9819.entry.js +0 -2
  741. package/dist/md3/p-47af9819.entry.js.map +0 -1
  742. package/dist/md3/p-4d82132d.entry.js +0 -2
  743. package/dist/md3/p-6b2871a0.entry.js +0 -2
  744. package/dist/md3/p-6c44cf13.entry.js +0 -2
  745. package/dist/md3/p-72457a85.entry.js +0 -2
  746. package/dist/md3/p-BEWIC0pC.js +0 -2
  747. package/dist/md3/p-BEWIC0pC.js.map +0 -1
  748. package/dist/md3/p-DTaX19_O.js +0 -3
  749. package/dist/md3/p-DTaX19_O.js.map +0 -1
  750. package/dist/md3/p-a3308c40.entry.js +0 -2
  751. package/dist/md3/p-a7ffb779.entry.js +0 -2
  752. package/dist/md3/p-a7ffb779.entry.js.map +0 -1
  753. package/dist/md3/p-a803da99.entry.js +0 -2
  754. package/dist/md3/p-a986fd24.entry.js +0 -2
  755. package/dist/md3/p-aaec2698.entry.js +0 -2
  756. package/dist/md3/p-ac35ac5f.entry.js +0 -2
  757. package/dist/md3/p-ac35ac5f.entry.js.map +0 -1
  758. package/dist/md3/p-b4631a55.entry.js +0 -2
  759. package/dist/md3/p-b4631a55.entry.js.map +0 -1
  760. package/dist/md3/p-ba2ebde1.entry.js +0 -2
  761. package/dist/md3/p-cf07e761.entry.js +0 -2
  762. package/dist/md3/p-e7dc5a32.entry.js +0 -2
  763. package/dist/md3/p-f31ab454.entry.js +0 -2
  764. package/dist/md3/p-fb61868c.entry.js +0 -2
  765. /package/dist/{components/p-uTEkf0sE.js.map → components-csr/p-BEmwDSzw.js.map} +0 -0
  766. /package/dist/{components/p-C8EP4S21.js.map → components-csr/p-BQKzjYcY.js.map} +0 -0
  767. /package/dist/{components/p-BwXpiUsu.js.map → components-csr/p-BWMwewtY.js.map} +0 -0
  768. /package/dist/{components/p-B0Opn6dK.js.map → components-csr/p-Bkt_X-6v.js.map} +0 -0
  769. /package/dist/{md3 → components-csr}/p-Bx6--dQF.js +0 -0
  770. /package/dist/{components/p-stybaFzj.js.map → components-csr/p-C3vB0Hd9.js.map} +0 -0
  771. /package/dist/{components/p-B3MWYEEJ.js.map → components-csr/p-CF7mq5T7.js.map} +0 -0
  772. /package/dist/{components/p-7fN_yCXW.js.map → components-csr/p-CVMM-tdC.js.map} +0 -0
  773. /package/dist/{md3 → components-csr}/p-C_ogF68H.js +0 -0
  774. /package/dist/{components/p-Ch2-tttM.js.map → components-csr/p-DMQ-6aj8.js.map} +0 -0
  775. /package/dist/{components/p-e2HRV63Y.js.map → components-csr/p-DfcpeJAu.js.map} +0 -0
  776. /package/dist/{components/p-Dp-w93ot.js.map → components-csr/p-DjKPc5EU.js.map} +0 -0
  777. /package/dist/{md3 → components-csr}/p-DvOKnoqK.js +0 -0
  778. /package/dist/{md3 → components-csr}/p-DzPKu-Ma.js +0 -0
  779. /package/dist/{md3 → components-csr}/p-RLxbNqRv.js +0 -0
  780. /package/dist/{components/p-6wZSqm_2.js.map → components-csr/p-R_guULjT.js.map} +0 -0
  781. /package/dist/{components/p-Ddiw2Kjw.js.map → components-csr/p-uSMrgqAy.js.map} +0 -0
  782. /package/dist/md3/{p-9ddbf247.entry.js.map → p-108f89d7.entry.js.map} +0 -0
  783. /package/dist/md3/{p-c6a12344.entry.js.map → p-114c270b.entry.js.map} +0 -0
  784. /package/dist/md3/{p-396089fd.entry.js.map → p-1edb5a0d.entry.js.map} +0 -0
  785. /package/dist/md3/{p-b34d385b.entry.js.map → p-35b05b45.entry.js.map} +0 -0
  786. /package/dist/md3/{p-c2dd8c8c.entry.js.map → p-38e9a583.entry.js.map} +0 -0
  787. /package/dist/md3/{p-be02624e.entry.js.map → p-3c0469aa.entry.js.map} +0 -0
  788. /package/dist/md3/{p-63b8c8d1.entry.js.map → p-408ee4be.entry.js.map} +0 -0
  789. /package/dist/md3/{p-edb34a6d.entry.js.map → p-43c708ad.entry.js.map} +0 -0
  790. /package/dist/md3/{p-3015c7e3.entry.js.map → p-4770b534.entry.js.map} +0 -0
  791. /package/dist/md3/{p-c861d774.entry.js.map → p-4b7cf934.entry.js.map} +0 -0
  792. /package/dist/md3/{p-2e09a7b7.entry.js.map → p-4f26bd60.entry.js.map} +0 -0
  793. /package/dist/md3/{p-7b463fbe.entry.js.map → p-4f2e82cb.entry.js.map} +0 -0
  794. /package/dist/md3/{p-be412e3f.entry.js.map → p-501bf161.entry.js.map} +0 -0
  795. /package/dist/md3/{p-c063c823.entry.js.map → p-56c7c570.entry.js.map} +0 -0
  796. /package/dist/md3/{p-2e9503d7.entry.js.map → p-56ca0c3c.entry.js.map} +0 -0
  797. /package/dist/md3/{p-ac8762e5.entry.js.map → p-5b63149a.entry.js.map} +0 -0
  798. /package/dist/md3/{p-c5af701b.entry.js.map → p-5f668b0a.entry.js.map} +0 -0
  799. /package/dist/md3/{p-8eb0b6a4.entry.js.map → p-6d65fc6a.entry.js.map} +0 -0
  800. /package/dist/md3/{p-e3124e1e.entry.js.map → p-707b6d7c.entry.js.map} +0 -0
  801. /package/dist/md3/{p-a5fee424.entry.js.map → p-71f1660b.entry.js.map} +0 -0
  802. /package/dist/md3/{p-1a8ec5bc.entry.js.map → p-7501170f.entry.js.map} +0 -0
  803. /package/dist/md3/{p-4e3d6e40.entry.js.map → p-7d1686a7.entry.js.map} +0 -0
  804. /package/dist/md3/{p-4dda4cb0.entry.js.map → p-845ca9cc.entry.js.map} +0 -0
  805. /package/dist/md3/{p-77a01bcc.entry.js.map → p-87f88d62.entry.js.map} +0 -0
  806. /package/dist/md3/{p-5b74694e.entry.js.map → p-89d47130.entry.js.map} +0 -0
  807. /package/dist/md3/{p-b0431a5c.entry.js.map → p-8bdcda53.entry.js.map} +0 -0
  808. /package/dist/md3/{p-c10a33c2.entry.js.map → p-8e7df348.entry.js.map} +0 -0
  809. /package/dist/md3/{p-05ae91b6.entry.js.map → p-90ccf4c3.entry.js.map} +0 -0
  810. /package/dist/md3/{p-da4e27d4.entry.js.map → p-a4d4cfed.entry.js.map} +0 -0
  811. /package/dist/md3/{p-5394254f.entry.js.map → p-a976498b.entry.js.map} +0 -0
  812. /package/dist/md3/{p-6038b907.entry.js.map → p-ab568d1c.entry.js.map} +0 -0
  813. /package/dist/md3/{p-bf7842f8.entry.js.map → p-adf8a415.entry.js.map} +0 -0
  814. /package/dist/md3/{p-45280bf4.entry.js.map → p-b2d88292.entry.js.map} +0 -0
  815. /package/dist/md3/{p-796f79f8.entry.js.map → p-b3b5247b.entry.js.map} +0 -0
  816. /package/dist/md3/{p-5b799707.entry.js.map → p-b4266f6b.entry.js.map} +0 -0
  817. /package/dist/md3/{p-c00f7514.entry.js.map → p-ba011453.entry.js.map} +0 -0
  818. /package/dist/md3/{p-6ba63c73.entry.js.map → p-bc24f0c9.entry.js.map} +0 -0
  819. /package/dist/md3/{p-0c2e824d.entry.js.map → p-c20fbb9e.entry.js.map} +0 -0
  820. /package/dist/md3/{p-fc0b325d.entry.js.map → p-c2944c87.entry.js.map} +0 -0
  821. /package/dist/md3/{p-4e45b2ff.entry.js.map → p-c58c68d0.entry.js.map} +0 -0
  822. /package/dist/md3/{p-0f764a1e.entry.js.map → p-d2e39c6e.entry.js.map} +0 -0
  823. /package/dist/md3/{p-50555bb7.entry.js.map → p-d8885f53.entry.js.map} +0 -0
  824. /package/dist/md3/{p-c1ca6f6c.entry.js.map → p-db6fb4e1.entry.js.map} +0 -0
  825. /package/dist/md3/{p-81843ff7.entry.js.map → p-dcba2857.entry.js.map} +0 -0
  826. /package/dist/md3/{p-65195996.entry.js.map → p-e357e8ac.entry.js.map} +0 -0
  827. /package/dist/md3/{p-39cb7c24.entry.js.map → p-e5c6795e.entry.js.map} +0 -0
  828. /package/dist/md3/{p-e6d7f0ff.entry.js.map → p-f403ad20.entry.js.map} +0 -0
  829. /package/dist/md3/{p-708a9313.entry.js.map → p-f5fd9a0b.entry.js.map} +0 -0
  830. /package/dist/md3/{p-aa0e7d4d.entry.js.map → p-f71af38f.entry.js.map} +0 -0
  831. /package/dist/md3/{p-757e3aaf.entry.js.map → p-fac6da4c.entry.js.map} +0 -0
  832. /package/dist/md3/{p-134b670a.entry.js.map → p-fc864f96.entry.js.map} +0 -0
  833. /package/dist/md3/{p-32bdd439.entry.js.map → p-fd686966.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{p as t,H as i,c as e,h as s,d as a,t as n}from"./p-bSpXNc5J.js";const r=()=>`: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 h=t(class t extends i{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdTabChange=e(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 e=t.deltaMode===1?16:t.deltaMode===2?i.clientWidth:1;i.scrollBy({left:t.deltaY*e,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 e=this.tabs[0].getBoundingClientRect();const s=this.tabs[this.tabs.length-1].getBoundingClientRect();const a=Math.min(e.left,s.left);const n=Math.max(e.right,s.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 e=this.clampIndex(i);if(e!==t){this.setIndexInternal(e)}this.applyIndex(e)}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 e=i?.closest?.("md-tab")??i;const s=this.tabs.indexOf(e);if(s===-1)return;const a=this.isRtl()?-1:1;let n=null;switch(t.key){case"ArrowRight":t.preventDefault();n=this.findNextEnabledWrapping(s,a);break;case"ArrowLeft":t.preventDefault();n=this.findNextEnabledWrapping(s,a*-1);break;case"Home":t.preventDefault();n=this.findFirstEnabled();break;case"End":t.preventDefault();n=this.findLastEnabled();break}if(n!==null&&n!==s){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 e=this.tabs.length;if(e===0)return null;let s=t;for(let t=0;t<e;t++){s=(s+i+e)%e;if(!this.isDisabledTab(this.tabs[s]))return s}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 e=this.activeTabIndex;this.setIndexInternal(i);this.applyIndex(i,{scroll:false});if(t!==null&&this.activeTabEl!==t){this.mdTabChange.emit({index:i,previousIndex:e})}}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 e=Math.max(0,Math.min(this.sanitizeIndex(t),i-1));if(this.tabs[e]&&this.isDisabledTab(this.tabs[e])){const t=this.findNextEnabledWrapping(e,1)??this.findFirstEnabled();if(t!==null)e=t}return e}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 e=this.activeTabEl;const s=this.tabs[t]??null;this.applyActiveState(t);this.updateRovingTabindex();this.activeTabEl=s;if(i.scroll!==false)this.scrollTabIntoView(t);if(e&&s&&e!==s)this.glideIndicator(e,s)}applyActiveState(t){this.tabs.forEach(((i,e)=>{if(e===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,e)=>{if(this.isDisabledTab(i)){i.setAttribute("tabindex","-1")}else{i.setAttribute("tabindex",e===t?"0":"-1")}}))}glideIndicator(t,i){if(this.prefersReducedMotion())return;const e=t=>(t.shadowRoot?.querySelector(".md-tab__indicator")??t).getBoundingClientRect();const s=e(t);const a=e(i);if(!s.width||!a.width)return;const n=s.left+s.width/2-(a.left+a.width/2);const r=s.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(a,{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 this}static get watchers(){return{tabWidth:[{onTabWidthChange:0}],activeTabIndex:[{onActiveChange:0}],variant:[{onVariantChange:0}]}}static get style(){return r()}},[257,"md-tabs",{activeTabIndex:[1026,"active-tab-index"],variant:[513],ariaLabelProp:[1,"aria-label"],tabWidth:[1,"tab-width"],width:[1],tabCount:[32],selectTab:[64]},[[0,"keydown","handleKeyDown"],[0,"mdTabDisabledChange","handleTabDisabledChange"]],{tabWidth:[{onTabWidthChange:0}],activeTabIndex:[{onActiveChange:0}],variant:[{onVariantChange:0}]}]);function l(){if(typeof customElements==="undefined"){return}const t=["md-tabs"];t.forEach((t=>{switch(t){case"md-tabs":if(!customElements.get(n(t))){customElements.define(n(t),h)}break}}))}l();const o=h;const d=l;export{o as MdTabs,d as defineCustomElement};
2
+ //# sourceMappingURL=md-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mdTabsCss","MdTabs","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","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":[]}
@@ -0,0 +1,2 @@
1
+ import{M as o,d as s}from"./p-CF7mq5T7.js";const t=o;const m=s;export{t as MdTextField,m as defineCustomElement};
2
+ //# sourceMappingURL=md-text-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{p as i,H as t,c as e,h as r,d as a,t as s}from"./p-bSpXNc5J.js";import{g as n}from"./p-DWxN44zD.js";import{d as o}from"./p-BZakoRau.js";import{d}from"./p-R_guULjT.js";import{d as l}from"./p-C3vB0Hd9.js";import{d as c}from"./p-CF7mq5T7.js";const h=()=>`:host{--_trigger-color:var(--md-time-picker-trigger-color, var(--md-sys-color-on-surface, #1c1b1f));--_trigger-outline-color:var(--md-time-picker-trigger-outline-color, var(--md-sys-color-outline, #79747e));--_trigger-hover-color:var(--md-time-picker-trigger-hover-color, var(--md-sys-color-on-surface, #1c1b1f));--_trigger-focus-color:var(--md-time-picker-trigger-focus-color, var(--md-sys-color-primary, #6750a4));--_trigger-icon-color:var(--md-time-picker-trigger-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_dialog-color:var(--md-time-picker-dialog-color, var(--md-sys-color-surface-container-high, #ece6f0));--_dialog-on-color:var(--md-time-picker-dialog-on-color, var(--md-sys-color-on-surface, #1c1b1f));--_dialog-shape:var(--md-time-picker-dialog-shape, var(--md-sys-shape-corner-extra-large, 28px));--_dialog-elevation:var(--md-time-picker-dialog-elevation, var(--md-sys-elevation-3, 0 4px 8px 3px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.3)));--_scrim-color:var(--md-time-picker-scrim-color, rgba(0, 0, 0, 0.32));--_headline-color:var(--md-time-picker-headline-color, var(--md-sys-color-on-surface-variant, #49454f));--_time-display-shape:var( --md-time-picker-input-shape, var(--md-time-picker-time-display-shape, var(--md-sys-shape-corner-small, 8px)) );--_period-bg:var(--md-time-picker-period-bg, transparent);--_period-color:var(--md-time-picker-period-color, var(--md-sys-color-on-surface, #1c1b1f));--_period-active-bg:var(--md-time-picker-period-active-bg, var(--md-sys-color-tertiary-container, #ffd8e4));--_period-active-color:var(--md-time-picker-period-active-color, var(--md-sys-color-on-tertiary-container, #370b1e));--_period-outline-color:var(--md-time-picker-period-outline-color, var(--md-sys-color-outline, #79747e));--_dial-bg:var(--md-time-picker-dial-bg, var(--md-sys-color-surface-container-highest, #e6e0e9));--_dial-number-color:var(--md-time-picker-dial-number-color, var(--md-sys-color-on-surface, #1c1b1f));--_dial-number-active-color:var(--md-time-picker-dial-number-active-color, var(--md-sys-color-on-primary, #ffffff));--_dial-hand-color:var(--md-time-picker-dial-hand-color, var(--md-sys-color-primary, #6750a4));--_dial-target-size:var(--md-time-picker-dial-target-size, 48px);--_input-bg:var(--md-time-picker-input-bg, var(--md-sys-color-surface-container-highest, #e6e0e9));--_input-color:var(--md-time-picker-input-color, var(--md-sys-color-on-surface, #1c1b1f));--_input-outline-color:var(--md-time-picker-input-outline-color, transparent);--_input-active-outline-color:var(--md-time-picker-input-active-outline-color, var(--md-sys-color-primary, #6750a4));--_input-error-color:var(--md-time-picker-input-error-color, var(--md-sys-color-error, #b3261e));--_input-hint-color:var(--md-time-picker-input-hint-color, var(--md-sys-color-on-surface-variant, #49454f));--_action-color:var(--md-time-picker-action-color, var(--md-sys-color-primary, #6750a4));--_action-primary-color:var(--md-time-picker-action-primary-color, var(--md-sys-color-primary, #6750a4));--_toggle-icon-color:var(--md-time-picker-toggle-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_dialog-padding:var(--md-time-picker-dialog-padding, var(--md-sys-spacing-inset-xl, 24px));--_dialog-min-width:var(--md-time-picker-dialog-min-width, 328px);--_dialog-horizontal-width-12h:var(--md-time-picker-dialog-horizontal-width-12h, 572px);--_dialog-horizontal-width-24h:var(--md-time-picker-dialog-horizontal-width-24h, 608px);--_dialog-enter-duration:var(--md-time-picker-dialog-enter-duration, var(--md-sys-motion-duration-long2, 500ms));--_mode-swap-duration:var(--md-time-picker-mode-swap-duration, var(--md-sys-motion-duration-long1, 450ms));--_motion-easing:var(--md-time-picker-motion-easing, var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)));--_trigger-min-width:var(--md-time-picker-trigger-min-width, 240px);--_trigger-icon-size:var(--md-time-picker-trigger-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_trigger-shape:var(--md-time-picker-trigger-shape, var(--md-sys-shape-corner-extra-small, 4px));--_headline-font-size:var(--md-time-picker-headline-font-size, max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px)));--_headline-font-weight:var(--md-time-picker-headline-font-weight, var(--md-sys-typescale-label-medium-font-weight, 500));--_headline-spacing:var(--md-time-picker-headline-spacing, max(4px, calc(20px + var(--md-sys-density-scale, 0) * 2px)));--_input-height:var(--md-time-picker-input-height, calc(var(--_input-font-size) * 1.6));--_input-width:var(--md-time-picker-input-width, calc(var(--_input-height) * 4 / 3));--_input-border-width:var(--md-time-picker-input-border-width, 2px);--_input-font-size:var(--md-time-picker-input-font-size, max(32px, calc(45px + var(--md-sys-density-scale, 0) * 2px)));--_input-font-weight:var(--md-time-picker-input-font-weight, var(--md-sys-typescale-display-medium-font-weight, 400));--_input-active-bg:var(--md-time-picker-input-active-bg, var(--md-sys-color-primary-container, #eaddff));--_input-active-color:var(--md-time-picker-input-active-color, var(--md-sys-color-on-primary-container, #21005d));--_input-separator-color:var(--md-time-picker-input-separator-color, var(--_dialog-on-color));--_input-separator-width:var(--md-time-picker-input-separator-width, 24px);--_input-hint-gap:var(--md-time-picker-input-hint-gap, var(--md-sys-spacing-gap-xs, 4px));--_input-hover-opacity:var(--md-time-picker-input-hover-opacity, 8%);--_period-shape:var(--md-time-picker-period-shape, var(--md-sys-shape-corner-small, 8px));--_period-outline-width:var(--md-time-picker-period-outline-width, 1px);--_period-vertical-width:var(--md-time-picker-period-vertical-width, 52px);--_period-vertical-height:var(--md-time-picker-period-vertical-height, 80px);--_period-vertical-height-input:var(--md-time-picker-period-vertical-height-input, 72px);--_period-horizontal-width:var(--md-time-picker-period-horizontal-width, 216px);--_period-horizontal-height:var(--md-time-picker-period-horizontal-height, 38px);--_period-font-size:var(--md-time-picker-period-font-size, max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px)));--_period-font-weight:var(--md-time-picker-period-font-weight, 500);--_period-hover-opacity:var(--md-time-picker-period-hover-opacity, 8%);--_dial-size:var(--md-time-picker-dial-size, 256px);--_dial-center-size:var(--md-time-picker-dial-center-size, 8px);--_dial-hand-width:var(--md-time-picker-dial-hand-width, 2px);--_dial-number-font-size:var(--md-time-picker-dial-number-font-size, max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px)));--_dial-number-font-weight:var(--md-time-picker-dial-number-font-weight, var(--md-sys-typescale-body-large-font-weight, 400));--_dial-number-active-font-weight:var(--md-time-picker-dial-number-active-font-weight, 500);--_footer-gap:var(--md-time-picker-footer-gap, var(--md-sys-spacing-gap-sm, 8px));--_actions-gap:var(--md-time-picker-actions-gap, var(--md-sys-spacing-gap-sm, 8px));--_action-shape:var(--md-time-picker-action-shape, var(--md-sys-shape-corner-full, 9999px));--_action-confirm-bg:var(--md-time-picker-action-confirm-bg, transparent);--_action-cancel-bg:var(--md-time-picker-action-cancel-bg, transparent);--_toggle-bg:var(--md-time-picker-toggle-bg, transparent);--_toggle-icon-size:var(--md-time-picker-toggle-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_toggle-shape:var(--md-time-picker-toggle-shape, var(--md-sys-shape-corner-full, 9999px));display:inline-block;position:relative;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);color:var(--_dialog-on-color)}:host([hide-trigger]){display:contents}:host([disabled]){cursor:not-allowed}.md-time-picker__field{min-inline-size:var(--_trigger-min-width);display:inline-flex;inline-size:auto;cursor:pointer;--md-text-field-label-color:var(--_trigger-icon-color);--md-text-field-input-color:var(--_trigger-color);--md-text-field-outline-color:var(--_trigger-outline-color);--md-text-field-active-indicator-color:var(--_trigger-focus-color);--md-text-field-icon-color:var(--_trigger-icon-color);--md-text-field-container-shape:var(--_trigger-shape)}.md-time-picker__field--disabled{cursor:not-allowed}.md-time-picker__field-icon{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons'), sans-serif;font-size:var(--_trigger-icon-size);line-height:1;color:var(--_trigger-icon-color);flex-shrink:0}.md-time-picker__field:hover:not(.md-time-picker__field--disabled) .md-time-picker__field-icon{color:var(--_trigger-hover-color)}:host(.md-time-picker--open) .md-time-picker__field{--md-text-field-active-indicator-color:var(--_trigger-focus-color);--md-text-field-icon-color:var(--_trigger-focus-color)}.md-time-picker__scrim{position:fixed;inset:0;z-index:var(--md-sys-z-index-popup, 1000);display:flex;align-items:center;justify-content:center;background:var(--_scrim-color);padding:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-scrim-in var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)) forwards;box-sizing:border-box}@keyframes md-time-picker-scrim-in{from{opacity:0}to{opacity:1}}.md-time-picker__dialog{background:var(--_dialog-color);color:var(--_dialog-on-color);border-radius:var(--_dialog-shape);box-shadow:var(--_dialog-elevation);padding:var(--_dialog-padding);width:min(var(--_dialog-min-width), calc(100vw - 48px));max-block-size:calc(100vh - 48px);max-block-size:calc(100dvh - 48px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;animation:md-time-picker-dialog-in var(--_dialog-enter-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__dialog--input{width:min(var(--_dialog-min-width), calc(100vw - 48px))}.md-time-picker__dialog--horizontal{width:min(var(--_dialog-horizontal-width-12h), calc(100vw - 48px))}:host(.md-time-picker--format-24h) .md-time-picker__dialog--horizontal{width:min(var(--_dialog-horizontal-width-24h), calc(100vw - 48px))}@keyframes md-time-picker-dialog-in{from{opacity:0;transform:translateY(12px) scale(0.88)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes md-time-picker-mode-in{from{opacity:0;transform:translateY(8px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}.md-time-picker__headline{font-size:var(--_headline-font-size);font-weight:var(--_headline-font-weight);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing, 0.5px);line-height:var(--md-sys-typescale-label-medium-line-height, 16px);color:var(--_headline-color);text-transform:none;margin-block-end:var(--_headline-spacing);text-align:start}.md-time-picker__body{display:flex;flex-direction:column}.md-time-picker__body--horizontal{flex-direction:row;align-items:flex-start;column-gap:52px}.md-time-picker__time-area{display:flex;flex-direction:column;flex:0 0 auto}.md-time-picker__body--horizontal .md-time-picker__dial-wrap{flex:0 0 auto}.md-time-picker__body--horizontal .md-time-picker__input-area{margin-block-end:0}.md-time-picker__body--horizontal .md-time-picker__period--horizontal{margin-block-start:var(--md-sys-spacing-inset-lg, 16px);margin-block-end:0;margin-inline:0}.md-time-picker__period{display:inline-flex;border:var(--_period-outline-width) solid var(--_period-outline-color);box-sizing:border-box}.md-time-picker__period--vertical{flex-direction:column;border-radius:var(--_period-shape);margin-inline-start:var(--md-sys-spacing-inset-md, 12px);inline-size:var(--_period-vertical-width);block-size:var(--_period-vertical-height)}.md-time-picker__input-area .md-time-picker__period--vertical{block-size:var(--_period-vertical-height-input)}.md-time-picker__period--horizontal{flex-direction:row;border-radius:var(--_period-shape);margin-block-start:var(--md-sys-spacing-inset-md, 12px);margin-block-end:var(--md-sys-spacing-inset-xl, 24px);margin-inline:auto;inline-size:var(--_period-horizontal-width);block-size:var(--_period-horizontal-height);align-self:center}.md-time-picker__period-btn{flex:1 1 0;background:var(--_period-bg);color:var(--_period-color);border:none;font:inherit;font-size:var(--_period-font-size);font-weight:var(--_period-font-weight);letter-spacing:0.1px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;overflow:hidden;transition:background-color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}.md-time-picker__period-btn-label{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center}.md-time-picker__period--vertical .md-time-picker__period-btn{block-size:50%}.md-time-picker__period--horizontal .md-time-picker__period-btn{inline-size:50%;block-size:100%}.md-time-picker__period-btn:hover{background:color-mix(in srgb, var(--_period-color) var(--_period-hover-opacity), transparent)}.md-time-picker__period-btn--active{background:var(--_period-active-bg);color:var(--_period-active-color)}.md-time-picker__period-btn--active:hover{background:color-mix(in srgb, var(--_period-active-color) var(--_period-hover-opacity), var(--_period-active-bg))}.md-time-picker__period-btn:focus-visible{outline:3px solid var(--md-sys-color-secondary, #625b71);outline-offset:2px;z-index:1}.md-time-picker__period--vertical .md-time-picker__period-btn--am{border-block-end:var(--_period-outline-width) solid var(--_period-outline-color);border-start-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-start-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--vertical .md-time-picker__period-btn--pm{border-end-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--horizontal .md-time-picker__period-btn--am{border-inline-end:var(--_period-outline-width) solid var(--_period-outline-color);border-start-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-start-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--horizontal .md-time-picker__period-btn--pm{border-start-end-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__dial-wrap{display:flex;justify-content:center;align-items:center;margin-block-end:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-mode-in var(--_mode-swap-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__dial{position:relative;width:var(--_dial-size);height:var(--_dial-size);background:var(--_dial-bg);border-radius:50%;touch-action:none;user-select:none;cursor:pointer;box-sizing:border-box}:host([disabled]) .md-time-picker__dial{pointer-events:none;opacity:0.38}.md-time-picker__dial-center{position:absolute;width:var(--_dial-center-size);height:var(--_dial-center-size);border-radius:50%;background:var(--_dial-hand-color);left:50%;top:50%;transform:translate(-50%, -50%);z-index:2}.md-time-picker__dial-hand{position:absolute;left:50%;top:auto;bottom:50%;width:0;height:50%;background:transparent;transform-origin:50% 100%;transform:rotate(0deg);transition:transform 200ms var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));pointer-events:none;z-index:1}.md-time-picker__dial-hand-line{position:absolute;left:50%;top:auto;bottom:0;width:var(--_dial-hand-width);height:var(--md-time-picker-hand-length, var(--_hand-length-dynamic, 100%));background:var(--_dial-hand-color);transform:translateX(-50%)}.md-time-picker__dial-hand-tip{position:absolute;left:50%;top:calc(100% - var(--md-time-picker-hand-length, var(--_hand-length-dynamic, 100%)));bottom:auto;width:var(--_dial-target-size);height:var(--_dial-target-size);background:var(--_dial-hand-color);border-radius:50%;transform:translate(-50%, -50%)}.md-time-picker__dial-hand-dot{display:none}.md-time-picker__dial-number{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:var(--_dial-target-size);height:var(--_dial-target-size);margin-left:calc(-1 * var(--_dial-target-size) / 2);margin-top:calc(-1 * var(--_dial-target-size) / 2);border-radius:50%;font-family:var(--md-sys-typescale-body-large-font-family, var(--md-sys-typescale-body-large-font, inherit));font-size:var(--_dial-number-font-size);font-weight:var(--_dial-number-font-weight);line-height:1;letter-spacing:0;color:var(--_dial-number-color);pointer-events:none;user-select:none;z-index:2;transition:color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));font-variant-numeric:tabular-nums}.md-time-picker__dial-number--inner{color:var(--_dial-number-color);opacity:1}.md-time-picker__dial-number--active{color:var(--_dial-number-active-color);font-weight:var(--_dial-number-active-font-weight);opacity:1}.md-time-picker__input-area{margin-block-end:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-mode-in var(--_mode-swap-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__input-time{display:flex;align-items:flex-start;justify-content:center;gap:0}.md-time-picker__input-group{display:flex;flex-direction:column;align-items:center;gap:var(--_input-hint-gap)}.md-time-picker__input{font-family:inherit;font-size:var(--_input-font-size);font-weight:var(--_input-font-weight);line-height:1;letter-spacing:var(--md-sys-typescale-display-medium-letter-spacing, 0);background:var(--_input-bg);color:var(--_input-color);border:var(--_input-border-width) solid var(--_input-outline-color);border-radius:var(--_time-display-shape);padding-block:0;padding-inline:16px;inline-size:var(--_input-width);block-size:var(--_input-height);text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;box-sizing:border-box}.md-time-picker__input::-webkit-outer-spin-button,.md-time-picker__input::-webkit-inner-spin-button{appearance:none;margin:0}.md-time-picker__input:hover{background:color-mix(in srgb, var(--_input-color) var(--_input-hover-opacity), var(--_input-bg))}.md-time-picker__input:focus{outline:none;background:var(--_input-bg);border-color:var(--_input-active-outline-color)}.md-time-picker__input--active{background:var(--_input-active-bg);color:var(--_input-active-color);border-color:transparent}.md-time-picker__input--active:focus{background:var(--_input-active-bg);color:var(--_input-active-color);border-color:var(--_input-active-outline-color)}.md-time-picker__input--active:hover{background:color-mix( in srgb, var(--_input-active-color) var(--_input-hover-opacity), var(--_input-active-bg) )}.md-time-picker__input--error,.md-time-picker__input--error:focus{border-color:var(--_input-error-color);color:var(--_input-error-color)}.md-time-picker__input-separator{font-size:var(--_input-font-size);font-weight:var(--_input-font-weight);line-height:1;color:var(--_input-separator-color);display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_input-separator-width);block-size:var(--_input-height);align-self:flex-start}.md-time-picker__input-hint{font-size:var(--md-sys-typescale-body-small-font-size, 12px);letter-spacing:var(--md-sys-typescale-body-small-letter-spacing, 0.4px);color:var(--_input-hint-color)}.md-time-picker__input--error~.md-time-picker__input-hint{color:var(--_input-error-color)}.md-time-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--_footer-gap)}.md-time-picker__toggle-mode{--md-icon-button-color:var(--_toggle-icon-color);--md-icon-button-icon-color:var(--_toggle-icon-color);--md-icon-button-icon-size:var(--_toggle-icon-size);--md-icon-button-container-color:var(--_toggle-bg);--md-icon-button-container-shape:var(--_toggle-shape)}.md-time-picker__actions{display:inline-flex;align-items:center;gap:var(--_actions-gap)}.md-time-picker__action-btn{--md-button-label-color:var(--_action-color);--md-button-container-color:var(--_action-cancel-bg);--md-button-container-shape:var(--_action-shape)}.md-time-picker__action-btn--primary{--md-button-label-color:var(--_action-primary-color);--md-button-container-color:var(--_action-confirm-bg);--md-button-container-shape:var(--_action-shape)}@media (prefers-reduced-motion: reduce){.md-time-picker__scrim,.md-time-picker__dialog,.md-time-picker__dial-wrap,.md-time-picker__input-area,.md-time-picker__dial-hand,.md-time-picker__period-btn,.md-time-picker__dial-number,.md-time-picker__input{animation:none !important;transition:none !important}}.md-time-picker__sr-status{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (forced-colors: active){.md-time-picker__dialog{border:1px solid CanvasText}.md-time-picker__period,.md-time-picker__input,.md-time-picker__dial{border:1px solid CanvasText}.md-time-picker__input:hover,.md-time-picker__period-btn:hover{background:Canvas;color:CanvasText;forced-color-adjust:none}.md-time-picker__input:focus{background:Canvas;color:CanvasText;border-color:Highlight;forced-color-adjust:none}.md-time-picker__input--active,.md-time-picker__input--active:hover,.md-time-picker__input--active:focus,.md-time-picker__period-btn--active,.md-time-picker__period-btn--active:hover,.md-time-picker__dial-hand-line,.md-time-picker__dial-hand-tip,.md-time-picker__dial-center{background:Highlight;color:HighlightText;forced-color-adjust:none}.md-time-picker__input--error,.md-time-picker__input--error:focus,.md-time-picker__input--error:hover{background:Canvas;border-color:LinkText;color:LinkText;forced-color-adjust:none}.md-time-picker__period-btn:focus-visible{outline-color:Highlight}.md-time-picker__period--vertical .md-time-picker__period-btn--am{border-block-end-color:CanvasText}.md-time-picker__period--horizontal .md-time-picker__period-btn--am{border-inline-end-color:CanvasText}.md-time-picker__period-btn md-ripple{display:none}}:host-context([data-theme='dark']){--_scrim-color:var(--md-time-picker-scrim-color, rgba(0, 0, 0, 0.6))}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}`;const m=[];let p="";let u=0;const _=i(class i extends t{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=e(this,"mdChange",7);this.mdInput=e(this,"mdInput",7);this.mdOpen=e(this,"mdOpen",7);this.mdClose=e(this,"mdClose",7);this.mdCancel=e(this,"mdCancel",7);this.mdModeChange=e(this,"mdModeChange",7);this.mdValidityChange=e(this,"mdValidityChange",5);this.internals=this.attachInternals();this.variant="input";this.format="12h";this.value="";this.name="";this.min="";this.max="";this.required=false;this.label="Select time";this.headline="";this.headlineInputLabel="Enter time";this.headlineDialLabel="Select time";this.valueMissingLabel="Please select a time.";this.rangeUnderflowLabel="Please select a time at or after {min}.";this.rangeOverflowLabel="Please select a time at or before {max}.";this.rangeOutsideLabel="Please select a time at or after {min} or at or before {max}.";this.disabled=false;this.open=false;this.minuteStep=1;this.cancelLabel="Cancel";this.okLabel="OK";this.hideTrigger=false;this.amLabel="AM";this.pmLabel="PM";this.hourLabel="Hour";this.minuteLabel="Minute";this.toggleDialLabel="Toggle dial picker";this.toggleInputLabel="Toggle keyboard input";this.periodLabel="Period";this.periodLayout="vertical";this.orientation="vertical";this.responsive=false;this.density=0;this.isOpen=false;this.mode="dial";this.selecting="hour";this.draftHours=12;this.draftMinutes=0;this.hourInputValue="";this.minuteInputValue="";this.hourInputError=false;this.minuteInputError=false;this.viewportWidth=0;this.viewportHeight=0;this.formDisabled=false;this.committedHours=12;this.committedMinutes=0;this.committedValue="";this.defaultValue="";this.isDragging=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;this.previousFocus=null;this.openSeq=0;this.uid=Math.random().toString(36).slice(2,11);this.headlineId=`md-time-picker-headline-${this.uid}`;this.hourCumulativeAngle=0;this.minuteCumulativeAngle=0;this.lastHandMode=null;this.lastValidityKey=null;this.lastInputEmitKey=-1;this.openPicker=()=>{if(this.isDisabled||this.isOpen)return;this.previousFocus=i.deepActiveElement();this.sampleViewport();this.attachOpenEnvironment();this.draftHours=this.committedHours;this.draftMinutes=this.committedMinutes;this.lastInputEmitKey=this.draftHours*60+this.draftMinutes;this.selecting="hour";this.mode=this.effectiveVariant;this.hourInputValue=String(this.displayHour);this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");this.hourInputError=false;this.minuteInputError=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;this.hourCumulativeAngle=0;this.minuteCumulativeAngle=0;this.lastHandMode=null;this.openSeq=++u;this.isOpen=true;this.open=true;this.mdOpen.emit();requestAnimationFrame((()=>this.focusInitial()))};this.closePicker=()=>{if(!this.isOpen)return;this.isOpen=false;this.open=false;this.detachOpenEnvironment();this.mdClose.emit();this.restoreFocusAfterClose()};this.cancel=()=>{if(!this.isOpen)return;this.draftHours=this.committedHours;this.draftMinutes=this.committedMinutes;this.mdCancel.emit();this.closePicker()};this.confirm=()=>{if(this.isDisabled)return;this.commitInputs();if(this.hourInputError||this.minuteInputError)return;this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;const i=this.buildChangeDetail(this.draftHours,this.draftMinutes);this.committedValue=i.value;this.value=i.value;this.updateFormValue();this.mdChange.emit(i);this.closePicker()};this.setSelecting=i=>{this.selecting=i};this.togglePeriod=i=>{if(this.format==="24h")return;if(this.period===i)return;if(i==="AM"&&this.draftHours>=12)this.draftHours-=12;else if(i==="PM"&&this.draftHours<12)this.draftHours+=12;this.emitInputIfChanged();this.syncInputsFromDraft()};this.onPeriodKeyDown=i=>{if(this.format==="24h")return;const t=i.key;const e=t==="ArrowLeft"||t==="ArrowRight"||t==="ArrowUp"||t==="ArrowDown"||t==="Home"||t==="End";if(!e&&t!==" "&&t!=="Spacebar")return;i.preventDefault();let r;if(t==="Home")r="AM";else if(t==="End")r="PM";else if(t===" "||t==="Spacebar")r=this.period;else r=this.period==="AM"?"PM":"AM";this.togglePeriod(r);requestAnimationFrame((()=>{const i=this.el.shadowRoot;if(!i)return;const t=i.querySelector(r==="AM"?'[part="period-am"]':'[part="period-pm"]');t?.focus()}))};this.toggleMode=()=>{const i=this.mode;this.mode=this.mode==="dial"?"input":"dial";this.mdModeChange.emit({mode:this.mode,previousMode:i});this.selecting="hour";this.hourInputValue=String(this.displayHour);this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");this.hourInputError=false;this.minuteInputError=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;requestAnimationFrame((()=>{this.syncInputFields();this.focusInputSelectingAll(this.hourInputEl)}))};this.bindHourInput=i=>{if(!i){this.hourInputSeeded=false;this.hourInputEl=undefined;return}this.hourInputEl=i;if(!this.hourInputSeeded){i.value=this.hourInputValue;this.hourInputSeeded=true}};this.bindMinuteInput=i=>{if(!i){this.minuteInputSeeded=false;this.minuteInputEl=undefined;return}this.minuteInputEl=i;if(!this.minuteInputSeeded){i.value=this.minuteInputValue;this.minuteInputSeeded=true}};this.applyDialPointer=i=>{const t=this.dialPointFromEvent(i);if(!t)return;const{angle:e,distance:r,radius:a}=t;if(this.selecting==="hour"){const i=Math.round(e/30)%12;if(this.format==="12h"){const t=i===0?12:i;this.setHour24FromDisplay(t,this.period)}else{const t=r<a*.66;if(t){this.draftHours=i===0?0:12+i}else{this.draftHours=i===0?12:i}}}else{const i=Math.max(1,Math.min(30,this.minuteStep||1));let t=Math.round(e/6);t=Math.round(t/i)*i%60;this.draftMinutes=t}this.emitInputIfChanged();this.syncInputsFromDraft()};this.onDialPointerDown=i=>{if(this.isDisabled)return;i.preventDefault();this.isDragging=true;i.currentTarget?.setPointerCapture?.(i.pointerId);this.applyDialPointer(i)};this.onDialPointerMove=i=>{if(!this.isDragging)return;this.applyDialPointer(i)};this.onDialPointerUp=i=>{if(!this.isDragging)return;this.isDragging=false;i.currentTarget?.releasePointerCapture?.(i.pointerId);if(this.selecting==="hour"){this.selecting="minute";requestAnimationFrame((()=>{this.focusInputSelectingAll(this.minuteInputEl)}))}};this.onHostKeyDown=i=>{if(!this.isOpen)return;if(i.key==="Escape"){i.preventDefault();i.stopPropagation();this.cancel()}};this.commitInputs=()=>{this.applyInputsToDraft("both")};this.onHourInput=i=>{const t=i.target;const e=t.value.replace(/\D/g,"").slice(0,2);if(t.value!==e)t.value=e;this.hourInputValue=e;this.applyInputsToDraft("hour")};this.onMinuteInput=i=>{const t=i.target;const e=t.value.replace(/\D/g,"").slice(0,2);if(t.value!==e)t.value=e;this.minuteInputValue=e;this.applyInputsToDraft("minute")};this.onHourBlur=()=>{if(this.hourInputEl)this.hourInputValue=this.hourInputEl.value;this.commitInputs();if(!this.hourInputError&&parseInt(this.hourInputValue,10)===this.displayHour){this.hourInputValue=String(this.displayHour);if(this.hourInputEl)this.hourInputEl.value=this.hourInputValue}};this.onMinuteBlur=()=>{if(this.minuteInputEl)this.minuteInputValue=this.minuteInputEl.value;this.commitInputs();if(!this.minuteInputError&&parseInt(this.minuteInputValue,10)===this.draftMinutes){this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.minuteInputEl)this.minuteInputEl.value=this.minuteInputValue}};this.onInputKeyDown=i=>{if(i.key==="Enter"){i.preventDefault();if(this.hourInputEl)this.hourInputValue=this.hourInputEl.value;if(this.minuteInputEl)this.minuteInputValue=this.minuteInputEl.value;this.confirm();return}if(i.key==="ArrowUp"||i.key==="ArrowDown"){const t=i.target;const e=t===this.hourInputEl||t?.classList?.contains("md-time-picker__input-hour")===true;const r=t===this.minuteInputEl||t?.classList?.contains("md-time-picker__input-minute")===true;if(!e&&!r)return;i.preventDefault();this.bumpFocusedInput(i.key==="ArrowUp"?1:-1,e?"hour":"minute")}};this.onTriggerClick=i=>{if(this.isDisabled)return;i.preventDefault();this.openPicker()};this.onTriggerKeyDown=i=>{if(this.isDisabled)return;if(i.key==="Enter"||i.key===" "||i.key==="Spacebar"){i.preventDefault();i.stopPropagation();this.openPicker()}}}componentWillLoad(){if(!this.parseValueInto(this.value)){this.value=""}else if(this.value){this.value=this.toIso(this.draftHours,this.draftMinutes)}this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;this.committedValue=this.value;this.defaultValue=this.value;this.hourInputValue=String(this.computeDisplayHour(this.draftHours));this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.responsive)this.sampleViewport();this.mode=this.effectiveVariant;if(this.open&&!this.disabled){this.isOpen=true;this.selecting="hour"}else if(this.open&&this.disabled){this.open=false}this.updateFormValue()}componentDidLoad(){this.updateValidity();if(this.isOpen){this.openSeq=++u;this.previousFocus=i.deepActiveElement();this.attachOpenEnvironment();this.mdOpen.emit();requestAnimationFrame((()=>this.focusInitial()))}}connectedCallback(){if(this.isOpen)this.attachOpenEnvironment()}disconnectedCallback(){this.detachOpenEnvironment()}formResetCallback(){this.value=this.defaultValue;this.updateFormValue()}formDisabledCallback(i){this.formDisabled=i;if(i&&this.isOpen)this.cancel()}formStateRestoreCallback(i){if(typeof i==="string")this.value=i}handleVariantChange(i){if(!this.isOpen)this.mode=i}handleValueChange(i){let t;if(i===""){this.parseValueInto("");t=""}else if(this.parseValueInto(i)){t=this.toIso(this.draftHours,this.draftMinutes)}else{this.parseValueInto("");t=""}if(t!==i){this.value=t;return}this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;this.committedValue=i;if(this.isOpen){this.syncInputsFromDraft();this.lastInputEmitKey=this.draftHours*60+this.draftMinutes}else{this.hourInputValue=String(this.computeDisplayHour(this.draftHours));this.minuteInputValue=String(this.draftMinutes).padStart(2,"0")}this.updateFormValue()}handleConstraintChange(){this.updateValidity()}handleDisabledChange(i){if(i&&this.isOpen)this.cancel()}handleResponsiveChange(t){if(!this.isOpen)return;if(t){this.sampleViewport();this.attachViewportListener();if(this.mode==="dial"&&this.viewportHeight>0&&this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT){this.mode="input"}}else{this.detachViewportListener()}}handleOpenPropChange(i){if(i&&!this.isOpen){this.openPicker()}else if(!i&&this.isOpen){this.closePicker()}}emitValidityChange(){const i=n(this.internals);const t=`${i.valid}|${i.validationMessage}`;if(this.lastValidityKey===t)return;const e=this.lastValidityKey!==null;this.lastValidityKey=t;if(e)this.mdValidityChange.emit(i)}async show(){this.openPicker()}async hide(){this.cancel()}async checkValidity(){if(typeof this.internals?.checkValidity!=="function")return true;return this.internals.checkValidity()}async reportValidity(){if(typeof this.internals?.reportValidity!=="function")return true;return this.internals.reportValidity()}async getValidity(){const i=this.internals?.validity;if(!i)return{valid:true,validationMessage:""};return{valid:i.valid,valueMissing:i.valueMissing,rangeUnderflow:i.rangeUnderflow,rangeOverflow:i.rangeOverflow,validationMessage:this.internals.validationMessage}}parseValueInto(i){if(!i){this.draftHours=12;this.draftMinutes=0;return true}const t=/^(\d{1,2}):(\d{2})$/.exec(i);if(!t)return false;const e=parseInt(t[1],10);const r=parseInt(t[2],10);if(e<0||e>23||r<0||r>59)return false;this.draftHours=e;this.draftMinutes=r;return true}get isDisabled(){return this.disabled||this.formDisabled}parseHHMM(i){const t=/^(\d{1,2}):(\d{2})$/.exec(i||"");if(!t)return null;const e=parseInt(t[1],10);const r=parseInt(t[2],10);if(e>23||r>59)return null;return e*60+r}toIso(i,t){return`${String(i).padStart(2,"0")}:${String(t).padStart(2,"0")}`}emitInputIfChanged(){if(!this.isOpen)return;const i=this.draftHours*60+this.draftMinutes;if(i===this.lastInputEmitKey)return;this.lastInputEmitKey=i;this.mdInput.emit(this.buildChangeDetail(this.draftHours,this.draftMinutes))}buildChangeDetail(i,t){const e=this.toIso(i,t);const r=`${e}:00`;const a=new Date;a.setHours(i,t,0,0);return{value:e,iso:r,isoDateTime:a.toISOString(),date:a,hours:i,minutes:t,period:i>=12?"PM":"AM"}}get period(){return this.draftHours>=12?"PM":"AM"}computeDisplayHour(i){if(this.format==="24h")return i;if(i===0)return 12;if(i>12)return i-12;return i}get displayHour(){return this.computeDisplayHour(this.draftHours)}setHour24FromDisplay(i,t){let e;if(this.format==="24h"){e=(i%24+24)%24}else{const r=i===0?12:i;if(r===12)e=t==="AM"?0:12;else e=t==="AM"?r:r+12}this.draftHours=e}formatDisplayTime(i,t){if(this.format==="24h"){return`${String(i).padStart(2,"0")}:${String(t).padStart(2,"0")}`}const e=i>=12?this.pmLabel:this.amLabel;const r=i===0?12:i>12?i-12:i;return`${r}:${String(t).padStart(2,"0")} ${e}`}focusInitial(){const i=this.el.shadowRoot;if(!i)return;this.syncInputFields();this.focusInputSelectingAll(this.hourInputEl)}focusInputSelectingAll(i){if(!i)return;i.focus();this.selectInputContents(i)}attachOpenEnvironment(){if(typeof document==="undefined"||this.docKeyHandler)return;if(!m.includes(this))m.push(this);if(document.body){if(m.length===1){p=document.body.style.overflow}document.body.style.overflow="hidden"}this.docKeyHandler=t=>{if(!this.isOpen)return;if(!i.isTopmostOpen(this))return;if(t.key==="Escape"){t.preventDefault();t.stopImmediatePropagation();this.cancel()}else if(t.key==="Tab"){this.trapFocus(t)}};document.addEventListener("keydown",this.docKeyHandler,true);this.attachViewportListener()}detachOpenEnvironment(){if(typeof document!=="undefined"&&this.docKeyHandler){document.removeEventListener("keydown",this.docKeyHandler,true);this.docKeyHandler=undefined;const i=m.indexOf(this);if(i!==-1)m.splice(i,1);if(document.body&&m.length===0){document.body.style.overflow=p}}this.detachViewportListener()}static isTopmostOpen(i){let t=null;for(const i of m){if(!t||i.openSeq>t.openSeq)t=i}return t===i}static deepActiveElement(){if(typeof document==="undefined")return null;let i=document.activeElement;while(i?.shadowRoot?.activeElement)i=i.shadowRoot.activeElement;return i??null}static composedContains(i,t){let e=t;while(e){if(e===i)return true;e=e instanceof ShadowRoot?e.host:e.parentNode}return false}restoreFocusAfterClose(){const t=this.previousFocus;this.previousFocus=null;const e=!!t&&t.isConnected&&typeof t.focus==="function"&&(typeof document==="undefined"||t!==document.body);if(e&&!i.composedContains(this.el,t)){t.focus();const e=i.deepActiveElement();if(e&&i.composedContains(t,e))return}if(this.isDisabled)return;if(this.triggerFieldEl)this.focusTrigger()}focusTrigger(){const i=this.triggerFieldEl;if(!i)return;if(typeof i.setFocus==="function")void i.setFocus();else i.focus?.()}dialogFocusables(){const i=this.el.shadowRoot?.querySelector(".md-time-picker__dialog");if(!i)return[];const t=Array.from(i.querySelectorAll("input, button, md-button, md-icon-button, [tabindex]"));return t.filter((i=>!i.hasAttribute("disabled")&&i.getAttribute("tabindex")!=="-1"))}focusItem(i){const t=i;if(typeof t.setFocus==="function"){void t.setFocus();return}const e=i.shadowRoot?.querySelector("button, input, [tabindex]");const r=e??i;r.focus();if(r instanceof HTMLInputElement)this.selectInputContents(r)}trapFocus(t){const e=this.dialogFocusables();if(!e.length)return;const r=i.deepActiveElement();const a=r?e.findIndex((t=>i.composedContains(t,r))):-1;const s=!t.shiftKey;if(a===-1){t.preventDefault();this.focusItem(e[s?0:e.length-1]);return}if(s&&a===e.length-1){t.preventDefault();this.focusItem(e[0])}else if(!s&&a===0){t.preventDefault();this.focusItem(e[e.length-1])}}sampleViewport(){if(typeof window==="undefined")return;this.viewportWidth=window.innerWidth||0;this.viewportHeight=window.innerHeight||0}attachViewportListener(){if(!this.responsive||typeof window==="undefined")return;if(this.viewportResizeHandler)return;let t=0;this.viewportResizeHandler=()=>{if(t)cancelAnimationFrame(t);t=requestAnimationFrame((()=>{this.sampleViewport();if(this.mode==="dial"&&this.viewportHeight>0&&this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT){this.mode="input"}t=0}))};window.addEventListener("resize",this.viewportResizeHandler,{passive:true});window.addEventListener("orientationchange",this.viewportResizeHandler,{passive:true})}detachViewportListener(){if(typeof window==="undefined")return;if(!this.viewportResizeHandler)return;window.removeEventListener("resize",this.viewportResizeHandler);window.removeEventListener("orientationchange",this.viewportResizeHandler);this.viewportResizeHandler=undefined}updateFormValue(){try{this.internals?.setFormValue(this.committedValue??"")}catch{}this.updateValidity()}updateValidity(){if(typeof this.internals?.setValidity!=="function")return;const i=this.triggerFieldEl;const t=(t,e)=>{if(e&&i)this.internals.setValidity(t,e,i);else if(e)this.internals.setValidity(t,e);else this.internals.setValidity(t)};const e=this.parseHHMM(this.committedValue);const r=this.parseHHMM(this.min);const a=this.parseHHMM(this.max);const s=i=>i.replace(/\{min\}/g,this.min).replace(/\{max\}/g,this.max);try{if(this.required&&e===null){t({valueMissing:true},this.valueMissingLabel)}else if(e!==null&&r!==null&&a!==null&&r>a){if(e<r&&e>a){t({rangeUnderflow:true,rangeOverflow:true},s(this.rangeOutsideLabel))}else{t({})}}else if(e!==null&&r!==null&&e<r){t({rangeUnderflow:true},s(this.rangeUnderflowLabel))}else if(e!==null&&a!==null&&e>a){t({rangeOverflow:true},s(this.rangeOverflowLabel))}else{t({})}}catch{}this.emitValidityChange()}syncInputFields(){if(this.hourInputEl)this.hourInputEl.value=String(this.displayHour);if(this.minuteInputEl)this.minuteInputEl.value=String(this.draftMinutes).padStart(2,"0")}syncInputsFromDraft(){const t=String(this.displayHour);const e=String(this.draftMinutes).padStart(2,"0");this.hourInputValue=t;this.minuteInputValue=e;this.hourInputError=false;this.minuteInputError=false;if(this.hourInputEl&&this.hourInputEl.value!==t){this.hourInputEl.value=t;if(i.deepActiveElement()===this.hourInputEl){this.selectInputContents(this.hourInputEl)}}if(this.minuteInputEl&&this.minuteInputEl.value!==e){this.minuteInputEl.value=e;if(i.deepActiveElement()===this.minuteInputEl){this.selectInputContents(this.minuteInputEl)}}}dialPointFromEvent(i){if(!this.dialEl)return null;const t=this.dialEl.getBoundingClientRect();const e=t.left+t.width/2;const r=t.top+t.height/2;const a=i.clientX-e;const s=i.clientY-r;const n=Math.hypot(a,s);let o=Math.atan2(s,a)*(180/Math.PI);o=(o+90+360)%360;return{angle:o,distance:n,radius:t.width/2}}applyInputsToDraft(i){const t=parseInt(this.hourInputValue,10);const e=parseInt(this.minuteInputValue,10);const r=this.format==="24h"?0:1;const a=this.format==="24h"?23:12;const s=!isNaN(t)&&t>=r&&t<=a;const n=!isNaN(e)&&e>=0&&e<=59;if(i==="hour"||i==="both")this.hourInputError=!s;if(i==="minute"||i==="both")this.minuteInputError=!n;if(s&&n){this.draftMinutes=e;this.setHour24FromDisplay(t,this.period);this.emitInputIfChanged();return true}return false}get hourValueNow(){const i=parseInt(this.hourInputValue,10);return Number.isNaN(i)?this.displayHour:i}get minuteValueNow(){const i=parseInt(this.minuteInputValue,10);return Number.isNaN(i)?this.draftMinutes:i}bumpFocusedInput(i,t){if(t==="hour"){const t=this.hourInputError?this.displayHour:this.hourValueNow;if(this.format==="24h"){this.draftHours=((t+i)%24+24)%24}else{const e=t;let r=e+i;if(r>12)r=1;else if(r<1)r=12;this.setHour24FromDisplay(r,this.period)}this.hourInputError=false;this.hourInputValue=String(this.displayHour);if(this.hourInputEl){this.hourInputEl.value=this.hourInputValue;this.selectInputContents(this.hourInputEl)}}else{const t=Math.max(1,Math.min(30,this.minuteStep||1));const e=this.minuteInputError?this.draftMinutes:this.minuteValueNow;const r=Math.round(e/t)*t;this.draftMinutes=((r+i*t)%60+60)%60;this.minuteInputError=false;this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.minuteInputEl){this.minuteInputEl.value=this.minuteInputValue;this.selectInputContents(this.minuteInputEl)}}this.emitInputIfChanged()}selectInputContents(i){if(typeof i.select!=="function")return;try{i.select()}catch{}}renderTrigger(){if(this.hideTrigger)return null;const i=this.committedValue?this.formatDisplayTime(this.committedHours,this.committedMinutes):"";const t=i?`${this.label}, ${i}`:this.label;return r("md-text-field",{class:{"md-time-picker__field":true,"md-time-picker__field--disabled":this.isDisabled,"md-time-picker__field--filled":!!i,"md-time-picker__field--open":this.isOpen},variant:"outlined",readOnly:true,label:this.label,value:i,disabled:this.isDisabled,required:this.required,part:"trigger","aria-haspopup":"dialog","aria-expanded":String(this.isOpen),"aria-label":t,appearFocused:this.isOpen,ref:i=>{this.triggerFieldEl=i},onClick:this.onTriggerClick,onKeyDown:this.onTriggerKeyDown},r("span",{slot:"leading-icon",class:"md-time-picker__field-icon material-symbols-outlined",part:"trigger-icon","aria-hidden":"true"},"schedule"))}get effectivePeriodLayout(){if(this.mode==="input")return"vertical";if(this.effectiveOrientation==="horizontal"&&this.mode==="dial")return"horizontal";return this.periodLayout}get effectiveVariant(){if(!this.responsive)return this.variant;if(!this.viewportHeight)return this.variant;if(this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT)return"input";return this.variant}get effectiveOrientation(){if(!this.responsive)return this.orientation;if(!this.viewportWidth||!this.viewportHeight)return this.orientation;if(this.mode!=="dial")return this.orientation;if(this.orientation==="vertical"&&this.viewportWidth>=i.ADAPTIVE_LANDSCAPE_WIDTH&&this.viewportWidth>this.viewportHeight){return"horizontal"}if(this.orientation==="horizontal"&&this.viewportWidth<i.ADAPTIVE_DEMOTE_WIDTH){return"vertical"}return this.orientation}renderPeriodToggle(){const i=this.period;const t=this.effectivePeriodLayout==="horizontal";return r("div",{class:{"md-time-picker__period":true,"md-time-picker__period--vertical":!t,"md-time-picker__period--horizontal":t},role:"radiogroup","aria-label":this.periodLabel,"aria-orientation":t?"horizontal":"vertical",onKeyDown:this.onPeriodKeyDown,part:"period-toggle"},r("button",{type:"button",class:{"md-time-picker__period-btn":true,"md-time-picker__period-btn--am":true,"md-time-picker__period-btn--active":i==="AM"},role:"radio","aria-checked":String(i==="AM"),tabindex:i==="AM"?0:-1,onClick:()=>this.togglePeriod("AM"),part:"period-am"},r("md-ripple",{disabled:this.isDisabled,part:"period-am-ripple"}),r("span",{class:"md-time-picker__period-btn-label"},this.amLabel)),r("button",{type:"button",class:{"md-time-picker__period-btn":true,"md-time-picker__period-btn--pm":true,"md-time-picker__period-btn--active":i==="PM"},role:"radio","aria-checked":String(i==="PM"),tabindex:i==="PM"?0:-1,onClick:()=>this.togglePeriod("PM"),part:"period-pm"},r("md-ripple",{disabled:this.isDisabled,part:"period-pm-ripple"}),r("span",{class:"md-time-picker__period-btn-label"},this.pmLabel)))}advanceHandAngle(i,t){if(this.lastHandMode!==i){this.lastHandMode=i;if(i==="hour"){this.hourCumulativeAngle=t;return t}this.minuteCumulativeAngle=t;return t}const e=i==="hour"?this.hourCumulativeAngle:this.minuteCumulativeAngle;const r=((t-e)%360+540)%360-180;const a=e+r;if(i==="hour")this.hourCumulativeAngle=a;else this.minuteCumulativeAngle=a;return a}renderDial(){const i=this.selecting==="hour";const t=50;const e=.8;const a=.52;let s=0;let n=e;if(i){if(this.format==="12h"){const i=this.displayHour===12?0:this.displayHour;s=i*30}else{const i=this.draftHours;if(i===0){s=0;n=a}else if(i>=1&&i<=12){s=(i===12?0:i)*30}else{s=(i-12)*30;n=a}}}else{s=this.draftMinutes*6}const o=this.advanceHandAngle(i?"hour":"minute",s);return r("div",{class:"md-time-picker__dial-wrap",part:"dial-wrap"},r("div",{class:{"md-time-picker__dial":true,"md-time-picker__dial--minute":!i,"md-time-picker__dial--24h-hour":i&&this.format==="24h"},ref:i=>this.dialEl=i,onPointerDown:this.onDialPointerDown,onPointerMove:this.onDialPointerMove,onPointerUp:this.onDialPointerUp,onPointerCancel:this.onDialPointerUp,role:"presentation",part:"dial"},r("div",{class:"md-time-picker__dial-hand",style:{transform:`rotate(${o}deg)`,["--_hand-length-dynamic"]:`${n*100}%`},"aria-hidden":"true",part:"dial-hand"},r("span",{class:"md-time-picker__dial-hand-dot","aria-hidden":"true"}),r("span",{class:"md-time-picker__dial-hand-line","aria-hidden":"true"}),r("span",{class:"md-time-picker__dial-hand-tip","aria-hidden":"true"})),r("span",{class:"md-time-picker__dial-center","aria-hidden":"true"}),i?this.renderHourNumbers(t,e,a):this.renderMinuteNumbers(t,e)))}renderHourNumbers(i,t,e){const r=[];if(this.format==="12h"){for(let i=0;i<12;i++){const t=i===0?"12":String(i);r.push({label:t,angle:i*30,inner:false,value:i===0?12:i})}}else{for(let i=0;i<12;i++){const t=i===0?"12":String(i);r.push({label:t,angle:i*30,inner:false,value:i===0?12:i})}for(let i=0;i<12;i++){const t=i===0?"00":String(12+i);r.push({label:t,angle:i*30,inner:true,value:i===0?0:12+i})}}return r.map((r=>this.renderDialNumber(r.label,r.angle,r.inner,this.isHourActive(r.value),i,t,e,r.value)))}isHourActive(i){if(this.format==="12h"){return this.displayHour===i}return this.draftHours===i}renderMinuteNumbers(i,t){const e=[];for(let i=0;i<12;i++){const t=i*5;e.push({label:String(t).padStart(2,"0"),angle:t*6,value:t})}return e.map((e=>this.renderDialNumber(e.label,e.angle,false,this.draftMinutes===e.value,i,t,t,e.value)))}renderDialNumber(i,t,e,a,s,n,o,d){const l=e?s*o:s*n;const c=(t-90)*Math.PI/180;const h=50+Math.cos(c)*l;const m=50+Math.sin(c)*l;return r("span",{class:{"md-time-picker__dial-number":true,"md-time-picker__dial-number--inner":e,"md-time-picker__dial-number--active":a},style:{left:`${h}%`,top:`${m}%`},"data-value":String(d),"aria-hidden":"true"},i)}renderInputs(i=true){const t=this.selecting==="hour";return r("div",{class:"md-time-picker__input-area",part:"input-area"},r("div",{class:"md-time-picker__input-time"},r("div",{class:"md-time-picker__input-group"},r("input",{type:"text",inputmode:"numeric",autocomplete:"off",class:{"md-time-picker__input":true,"md-time-picker__input-hour":true,"md-time-picker__input--active":t,"md-time-picker__input--error":this.hourInputError},maxLength:2,ref:this.bindHourInput,role:"spinbutton","aria-valuemin":this.format==="24h"?0:1,"aria-valuemax":this.format==="24h"?23:12,"aria-valuenow":this.hourInputError?undefined:this.hourValueNow,"aria-label":this.hourLabel,"aria-invalid":String(this.hourInputError),onInput:this.onHourInput,onFocus:()=>this.setSelecting("hour"),onBlur:this.onHourBlur,onKeyDown:this.onInputKeyDown,part:"input-hour"}),r("span",{class:"md-time-picker__input-hint"},this.hourLabel)),r("span",{class:"md-time-picker__input-separator","aria-hidden":"true"},":"),r("div",{class:"md-time-picker__input-group"},r("input",{type:"text",inputmode:"numeric",autocomplete:"off",class:{"md-time-picker__input":true,"md-time-picker__input-minute":true,"md-time-picker__input--active":!t,"md-time-picker__input--error":this.minuteInputError},maxLength:2,ref:this.bindMinuteInput,role:"spinbutton","aria-valuemin":0,"aria-valuemax":59,"aria-valuenow":this.minuteInputError?undefined:this.minuteValueNow,"aria-label":this.minuteLabel,"aria-invalid":String(this.minuteInputError),onInput:this.onMinuteInput,onFocus:()=>this.setSelecting("minute"),onBlur:this.onMinuteBlur,onKeyDown:this.onInputKeyDown,part:"input-minute"}),r("span",{class:"md-time-picker__input-hint"},this.minuteLabel)),this.format==="12h"&&i&&this.renderPeriodToggle()))}renderDialog(){if(!this.isOpen)return null;const i=this.mode==="input";const t=!i&&this.effectiveOrientation==="horizontal";const e=this.effectivePeriodLayout;const a=this.headline||(i?this.headlineInputLabel:this.headlineDialLabel);const s=!i&&this.format==="12h"&&e==="horizontal";const n=i?null:r("div",{class:"md-time-picker__time-area",part:"time-area"},this.renderInputs(!s),s&&this.renderPeriodToggle());return r("div",{class:"md-time-picker__scrim",part:"scrim",onClick:i=>{if(i.target===i.currentTarget)this.cancel()}},r("div",{class:{"md-time-picker__dialog":true,"md-time-picker__dialog--dial":!i,"md-time-picker__dialog--input":i,"md-time-picker__dialog--horizontal":t,"md-time-picker__dialog--vertical":!t},role:"dialog","aria-modal":"true","aria-labelledby":this.headlineId,part:"dialog"},r("div",{class:"md-time-picker__headline",id:this.headlineId,part:"headline"},a),r("span",{class:"md-time-picker__sr-status","aria-live":"polite"},this.selecting==="hour"?this.hourLabel:this.minuteLabel),r("div",{class:{"md-time-picker__body":true,"md-time-picker__body--horizontal":t},part:"body"},n,i?this.renderInputs():this.renderDial()),r("div",{class:"md-time-picker__footer",part:"footer"},r("md-icon-button",{class:"md-time-picker__toggle-mode",variant:"standard",size:"sm",icon:i?"schedule":"keyboard","aria-label":i?this.toggleDialLabel:this.toggleInputLabel,onMdClick:this.toggleMode,part:"toggle-mode"}),r("div",{class:"md-time-picker__actions",part:"actions"},r("md-button",{class:"md-time-picker__action-btn",variant:"text",size:"sm",onMdClick:this.cancel,part:"cancel-button"},this.cancelLabel),r("md-button",{class:"md-time-picker__action-btn md-time-picker__action-btn--primary",variant:"text",size:"sm",onMdClick:this.confirm,part:"confirm-button"},this.okLabel)))))}render(){return r(a,{key:"a99a007239478e87fd5fc131f5d160df0d09b6e5",class:{"md-time-picker":true,[`md-time-picker--${this.variant}`]:true,[`md-time-picker--format-${this.format}`]:true,"md-time-picker--open":this.isOpen,"md-time-picker--disabled":this.isDisabled},onKeyDown:this.onHostKeyDown},this.renderTrigger(),this.renderDialog())}static get formAssociated(){return true}get el(){return this}static get watchers(){return{variant:[{handleVariantChange:0}],value:[{handleValueChange:0}],min:[{handleConstraintChange:0}],max:[{handleConstraintChange:0}],required:[{handleConstraintChange:0}],valueMissingLabel:[{handleConstraintChange:0}],rangeUnderflowLabel:[{handleConstraintChange:0}],rangeOverflowLabel:[{handleConstraintChange:0}],rangeOutsideLabel:[{handleConstraintChange:0}],disabled:[{handleDisabledChange:0}],responsive:[{handleResponsiveChange:0}],open:[{handleOpenPropChange:0}]}}static get style(){return h()}},[65,"md-time-picker",{variant:[1],format:[1],value:[1537],name:[513],min:[1],max:[1],required:[516],label:[1],headline:[1],headlineInputLabel:[1,"headline-input-label"],headlineDialLabel:[1,"headline-dial-label"],valueMissingLabel:[1,"value-missing-label"],rangeUnderflowLabel:[1,"range-underflow-label"],rangeOverflowLabel:[1,"range-overflow-label"],rangeOutsideLabel:[1,"range-outside-label"],disabled:[516],open:[1540],minuteStep:[2,"minute-step"],cancelLabel:[1,"cancel-label"],okLabel:[1,"ok-label"],hideTrigger:[516,"hide-trigger"],amLabel:[1,"am-label"],pmLabel:[1,"pm-label"],hourLabel:[1,"hour-label"],minuteLabel:[1,"minute-label"],toggleDialLabel:[1,"toggle-dial-label"],toggleInputLabel:[1,"toggle-input-label"],periodLabel:[1,"period-label"],periodLayout:[1,"period-layout"],orientation:[1],responsive:[4],density:[514],isOpen:[32],mode:[32],selecting:[32],draftHours:[32],draftMinutes:[32],hourInputValue:[32],minuteInputValue:[32],hourInputError:[32],minuteInputError:[32],viewportWidth:[32],viewportHeight:[32],formDisabled:[32],show:[64],hide:[64],checkValidity:[64],reportValidity:[64],getValidity:[64]},undefined,{variant:[{handleVariantChange:0}],value:[{handleValueChange:0}],min:[{handleConstraintChange:0}],max:[{handleConstraintChange:0}],required:[{handleConstraintChange:0}],valueMissingLabel:[{handleConstraintChange:0}],rangeUnderflowLabel:[{handleConstraintChange:0}],rangeOverflowLabel:[{handleConstraintChange:0}],rangeOutsideLabel:[{handleConstraintChange:0}],disabled:[{handleDisabledChange:0}],responsive:[{handleResponsiveChange:0}],open:[{handleOpenPropChange:0}]}]);_.ADAPTIVE_MIN_DIAL_HEIGHT=460;_.ADAPTIVE_LANDSCAPE_WIDTH=720;_.ADAPTIVE_DEMOTE_WIDTH=620;function f(){if(typeof customElements==="undefined"){return}const i=["md-time-picker","md-button","md-icon-button","md-ripple","md-text-field"];i.forEach((i=>{switch(i){case"md-time-picker":if(!customElements.get(s(i))){customElements.define(s(i),_)}break;case"md-button":if(!customElements.get(s(i))){o()}break;case"md-icon-button":if(!customElements.get(s(i))){d()}break;case"md-ripple":if(!customElements.get(s(i))){l()}break;case"md-text-field":if(!customElements.get(s(i))){c()}break}}))}f();const g=_;const v=f;export{g as MdTimePicker,v as defineCustomElement};
2
+ //# sourceMappingURL=md-time-picker.js.map