@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
@@ -1,2 +1,2 @@
1
- import{r as e,h as t,H as r,a as s}from"./p-DTaX19_O.js";const a=()=>`:host{--_c-main:var(--md-sys-color-primary, #6750A4);--_c-container:var(--md-sys-color-secondary-container, #E8DEF8);--_indicator-color:var(--md-meter-indicator-color, var(--_c-main));--_track-color:var(--md-meter-track-color, var(--_c-container));--_track-shape:var(--md-meter-track-shape, var(--md-sys-shape-corner-full, 9999px));--_thickness:var(--md-meter-height, max(2px, calc(4px + var(--md-sys-density-scale, 0) * 0.5px)));--_size:var(--md-meter-size, max(24px, calc(48px + var(--md-sys-density-scale, 0) * 2px)));--_label-color:var(--md-meter-label-color, var(--md-sys-color-on-surface, #1C1B1F));--_value-color:var(--md-meter-value-color, var(--md-sys-color-on-surface-variant, #49454F));display:block;inline-size:100%;box-sizing:border-box}.md-meter__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--md-sys-spacing-gap-sm, 8px);margin-block-end:max(2px, calc(4px + var(--md-sys-density-scale, 0) * 0.5px))}.md-meter__label{font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:max(11px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);line-height:max(14px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, 0.25px);color:var(--_label-color);min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-meter__value{font-family:var(--md-sys-typescale-label-medium-font-family, Roboto, sans-serif);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-medium-font-weight, 500);line-height:max(12px, calc(16px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing, 0.5px);color:var(--_value-color);flex:none;font-variant-numeric:tabular-nums}.md-meter__track{position:relative;block-size:var(--_thickness);border-radius:var(--_track-shape);background-color:var(--_track-color);overflow:hidden}.md-meter__indicator{position:absolute;inset-inline-start:0;inset-block:0;inline-size:var(--_fill-pct, 0%);background-color:var(--_indicator-color);border-radius:inherit;transition:inline-size var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host([variant='circular']){inline-size:max-content;display:inline-flex;flex-direction:column;align-items:center;gap:max(2px, calc(4px + var(--md-sys-density-scale, 0) * 0.5px))}.md-meter__circular{position:relative;inline-size:var(--_size);block-size:var(--_size);flex:none}.md-meter__ring{inline-size:100%;block-size:100%;display:block;}.md-meter__ring-track{stroke:var(--_track-color)}.md-meter__ring-indicator{stroke:var(--_indicator-color);transition:stroke-dashoffset var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), opacity var(--md-sys-motion-duration-short4, 200ms) linear}.md-meter__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-label-medium-font-family, Roboto, sans-serif);font-size:calc(var(--_size) * 0.26);font-weight:var(--md-sys-typescale-label-medium-font-weight, 500);line-height:1;color:var(--_value-color);font-variant-numeric:tabular-nums;padding:calc(var(--_size) * 0.18);box-sizing:border-box;text-align:center}.md-meter__caption{font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:max(11px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);line-height:max(14px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, 0.25px);color:var(--_label-color);max-inline-size:calc(var(--_size) * 2);text-align:center}@media (prefers-reduced-motion: reduce){.md-meter__indicator,.md-meter__ring-indicator{transition:none}}@media (forced-colors: active){.md-meter__indicator{background-color:CanvasText}.md-meter__track{background-color:GrayText}.md-meter__ring-indicator{stroke:CanvasText}.md-meter__ring-track{stroke:GrayText}}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}`;const i=24;const n=240;const c=48;const o=class{constructor(t){e(this,t);this.value=0;this.min=0;this.max=100;this.label="";this.showLabel=false;this.showValue=false;this.valueText="";this.locale="";this.color="primary";this.variant="linear";this.size=48;this.thickness=4;this.density=0}get saneMin(){return Number.isFinite(this.min)?this.min:0}get saneMax(){const e=Number.isFinite(this.max)?this.max:100;return Math.max(e,this.saneMin)}get clampedValue(){const e=Number.isFinite(this.value)?this.value:this.saneMin;return Math.min(this.saneMax,Math.max(this.saneMin,e))}get percentage(){const e=this.saneMin;const t=this.saneMax;if(t===e)return 0;return(this.clampedValue-e)/(t-e)*100}get formattedValue(){if(this.valueText)return this.valueText;const e=this.clampedValue;try{if(this.formatOptions){return new Intl.NumberFormat(this.locale||undefined,this.formatOptions).format(e)}return new Intl.NumberFormat(this.locale||undefined,{style:"percent"}).format(this.percentage/100)}catch{return`${e}`}}get colorVars(){const e=this.color;if(!e||e==="primary"||!/^[a-z][a-z0-9-]*$/i.test(e))return undefined;return{"--_c-main":`var(--md-sys-color-${e}, var(--md-sys-color-primary))`,"--_c-container":`var(--md-sys-color-${e}-container, var(--md-sys-color-secondary-container))`}}get thicknessVar(){const e=Number(this.thickness);if(!Number.isFinite(e)||e===4)return undefined;return{"--_thickness":`var(--md-meter-height, max(2px, calc(${e}px + var(--md-sys-density-scale, 0) * 0.5px)))`}}get resolvedSize(){const e=Number.isFinite(this.size)&&this.size>0?this.size:c;return Math.min(n,Math.max(i,e))}get ringThickness(){const e=Number(this.thickness);return Number.isFinite(e)&&e>0?e:4}get ringRadius(){return Math.max(.5,(this.resolvedSize-this.ringThickness)/2)}get sizeVar(){if(this.variant!=="circular")return undefined;const e=this.resolvedSize;if(e===c)return undefined;return{"--_size":`var(--md-meter-size, max(24px, calc(${e}px + var(--md-sys-density-scale, 0) * 2px)))`}}get hostStyle(){const e={...this.colorVars??{},...this.thicknessVar??{},...this.sizeVar??{}};return Object.keys(e).length?e:undefined}renderCircular(e){const r=this.resolvedSize;const s=this.ringThickness;const a=this.ringRadius;const i=r/2;const n=this.percentage/100;return[t("div",{class:"md-meter__circular",part:"circular"},t("svg",{class:"md-meter__ring",viewBox:`0 0 ${r} ${r}`,"aria-hidden":"true"},t("circle",{class:"md-meter__ring-track",part:"track",cx:i,cy:i,r:a,"stroke-width":s,fill:"none"}),t("circle",{class:"md-meter__ring-indicator",part:"indicator",cx:i,cy:i,r:a,"stroke-width":s,fill:"none",pathLength:1,"stroke-dasharray":"1 1","stroke-dashoffset":1-n,"stroke-linecap":"round",transform:`rotate(-90 ${i} ${i})`,style:{opacity:n>0?"1":"0"}})),this.showValue&&t("span",{class:"md-meter__center",part:"value","aria-hidden":"true"},e)),this.showLabel&&t("span",{class:"md-meter__caption",part:"label","aria-hidden":"true"},this.label)]}render(){const e=this.variant==="circular";const s=!e&&(this.showLabel||this.showValue);const a=this.formattedValue;return t(r,{key:"cf2f9f9a168138daae1efb9617a3fc585f7f6b88",class:{"md-meter":true,"md-meter--with-header":s,"md-meter--circular":e},role:"meter","aria-label":this.label||undefined,"aria-valuemin":String(this.saneMin),"aria-valuemax":String(this.saneMax),"aria-valuenow":String(this.clampedValue),"aria-valuetext":a,style:this.hostStyle},e&&this.renderCircular(a),s&&t("div",{key:"bf4bcc8d85eb41f11d8ac478680c7f45d3215f06",class:"md-meter__header","aria-hidden":"true"},this.showLabel&&t("span",{key:"1f6ec758a643a124f71dd97025b9414269138d5f",class:"md-meter__label",part:"label"},this.label),this.showValue&&t("span",{key:"2d5c8ceb7f6aa401c28dbbcf7542c6d9cec3a1b3",class:"md-meter__value",part:"value"},a)),!e&&t("div",{key:"f1c02c7ad24a0b2c1095ec0a18bfb3c1f00245e8",class:"md-meter__track",part:"track","aria-hidden":"true"},t("div",{key:"5c66b17dbdd5fba9c78e52d533cf38817f7b4a31",class:"md-meter__indicator",part:"indicator",style:{"--_fill-pct":`${this.percentage}%`}})))}get el(){return s(this)}};o.style=a();export{o as md_meter};
2
- //# sourceMappingURL=p-4dda4cb0.entry.js.map
1
+ import{r as e,h as t,H as r,g as s}from"./p-WmvQpZnM.js";const a=()=>`:host{--_c-main:var(--md-sys-color-primary, #6750A4);--_c-container:var(--md-sys-color-secondary-container, #E8DEF8);--_indicator-color:var(--md-meter-indicator-color, var(--_c-main));--_track-color:var(--md-meter-track-color, var(--_c-container));--_track-shape:var(--md-meter-track-shape, var(--md-sys-shape-corner-full, 9999px));--_thickness:var(--md-meter-height, max(2px, calc(4px + var(--md-sys-density-scale, 0) * 0.5px)));--_size:var(--md-meter-size, max(24px, calc(48px + var(--md-sys-density-scale, 0) * 2px)));--_label-color:var(--md-meter-label-color, var(--md-sys-color-on-surface, #1C1B1F));--_value-color:var(--md-meter-value-color, var(--md-sys-color-on-surface-variant, #49454F));display:block;inline-size:100%;box-sizing:border-box}.md-meter__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--md-sys-spacing-gap-sm, 8px);margin-block-end:max(2px, calc(4px + var(--md-sys-density-scale, 0) * 0.5px))}.md-meter__label{font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:max(11px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);line-height:max(14px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, 0.25px);color:var(--_label-color);min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-meter__value{font-family:var(--md-sys-typescale-label-medium-font-family, Roboto, sans-serif);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-medium-font-weight, 500);line-height:max(12px, calc(16px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing, 0.5px);color:var(--_value-color);flex:none;font-variant-numeric:tabular-nums}.md-meter__track{position:relative;block-size:var(--_thickness);border-radius:var(--_track-shape);background-color:var(--_track-color);overflow:hidden}.md-meter__indicator{position:absolute;inset-inline-start:0;inset-block:0;inline-size:var(--_fill-pct, 0%);background-color:var(--_indicator-color);border-radius:inherit;transition:inline-size var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host([variant='circular']){inline-size:max-content;display:inline-flex;flex-direction:column;align-items:center;gap:max(2px, calc(4px + var(--md-sys-density-scale, 0) * 0.5px))}.md-meter__circular{position:relative;inline-size:var(--_size);block-size:var(--_size);flex:none}.md-meter__ring{inline-size:100%;block-size:100%;display:block;}.md-meter__ring-track{stroke:var(--_track-color)}.md-meter__ring-indicator{stroke:var(--_indicator-color);transition:stroke-dashoffset var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), opacity var(--md-sys-motion-duration-short4, 200ms) linear}.md-meter__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-label-medium-font-family, Roboto, sans-serif);font-size:calc(var(--_size) * 0.26);font-weight:var(--md-sys-typescale-label-medium-font-weight, 500);line-height:1;color:var(--_value-color);font-variant-numeric:tabular-nums;padding:calc(var(--_size) * 0.18);box-sizing:border-box;text-align:center}.md-meter__caption{font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:max(11px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);line-height:max(14px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, 0.25px);color:var(--_label-color);max-inline-size:calc(var(--_size) * 2);text-align:center}@media (prefers-reduced-motion: reduce){.md-meter__indicator,.md-meter__ring-indicator{transition:none}}@media (forced-colors: active){.md-meter__indicator{background-color:CanvasText}.md-meter__track{background-color:GrayText}.md-meter__ring-indicator{stroke:CanvasText}.md-meter__ring-track{stroke:GrayText}}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}`;const i=24;const n=240;const c=48;const o=class{constructor(t){e(this,t);this.value=0;this.min=0;this.max=100;this.label="";this.showLabel=false;this.showValue=false;this.valueText="";this.locale="";this.color="primary";this.variant="linear";this.size=48;this.thickness=4;this.density=0}get saneMin(){return Number.isFinite(this.min)?this.min:0}get saneMax(){const e=Number.isFinite(this.max)?this.max:100;return Math.max(e,this.saneMin)}get clampedValue(){const e=Number.isFinite(this.value)?this.value:this.saneMin;return Math.min(this.saneMax,Math.max(this.saneMin,e))}get percentage(){const e=this.saneMin;const t=this.saneMax;if(t===e)return 0;return(this.clampedValue-e)/(t-e)*100}get formattedValue(){if(this.valueText)return this.valueText;const e=this.clampedValue;try{if(this.formatOptions){return new Intl.NumberFormat(this.locale||undefined,this.formatOptions).format(e)}return new Intl.NumberFormat(this.locale||undefined,{style:"percent"}).format(this.percentage/100)}catch{return`${e}`}}get colorVars(){const e=this.color;if(!e||e==="primary"||!/^[a-z][a-z0-9-]*$/i.test(e))return undefined;return{"--_c-main":`var(--md-sys-color-${e}, var(--md-sys-color-primary))`,"--_c-container":`var(--md-sys-color-${e}-container, var(--md-sys-color-secondary-container))`}}get thicknessVar(){const e=Number(this.thickness);if(!Number.isFinite(e)||e===4)return undefined;return{"--_thickness":`var(--md-meter-height, max(2px, calc(${e}px + var(--md-sys-density-scale, 0) * 0.5px)))`}}get resolvedSize(){const e=Number.isFinite(this.size)&&this.size>0?this.size:c;return Math.min(n,Math.max(i,e))}get ringThickness(){const e=Number(this.thickness);return Number.isFinite(e)&&e>0?e:4}get ringRadius(){return Math.max(.5,(this.resolvedSize-this.ringThickness)/2)}get sizeVar(){if(this.variant!=="circular")return undefined;const e=this.resolvedSize;if(e===c)return undefined;return{"--_size":`var(--md-meter-size, max(24px, calc(${e}px + var(--md-sys-density-scale, 0) * 2px)))`}}get hostStyle(){const e={...this.colorVars??{},...this.thicknessVar??{},...this.sizeVar??{}};return Object.keys(e).length?e:undefined}renderCircular(e){const r=this.resolvedSize;const s=this.ringThickness;const a=this.ringRadius;const i=r/2;const n=this.percentage/100;return[t("div",{class:"md-meter__circular",part:"circular"},t("svg",{class:"md-meter__ring",viewBox:`0 0 ${r} ${r}`,"aria-hidden":"true"},t("circle",{class:"md-meter__ring-track",part:"track",cx:i,cy:i,r:a,"stroke-width":s,fill:"none"}),t("circle",{class:"md-meter__ring-indicator",part:"indicator",cx:i,cy:i,r:a,"stroke-width":s,fill:"none",pathLength:1,"stroke-dasharray":"1 1","stroke-dashoffset":1-n,"stroke-linecap":"round",transform:`rotate(-90 ${i} ${i})`,style:{opacity:n>0?"1":"0"}})),this.showValue&&t("span",{class:"md-meter__center",part:"value","aria-hidden":"true"},e)),this.showLabel&&t("span",{class:"md-meter__caption",part:"label","aria-hidden":"true"},this.label)]}render(){const e=this.variant==="circular";const s=!e&&(this.showLabel||this.showValue);const a=this.formattedValue;return t(r,{key:"cf2f9f9a168138daae1efb9617a3fc585f7f6b88",class:{"md-meter":true,"md-meter--with-header":s,"md-meter--circular":e},role:"meter","aria-label":this.label||undefined,"aria-valuemin":String(this.saneMin),"aria-valuemax":String(this.saneMax),"aria-valuenow":String(this.clampedValue),"aria-valuetext":a,style:this.hostStyle},e&&this.renderCircular(a),s&&t("div",{key:"bf4bcc8d85eb41f11d8ac478680c7f45d3215f06",class:"md-meter__header","aria-hidden":"true"},this.showLabel&&t("span",{key:"1f6ec758a643a124f71dd97025b9414269138d5f",class:"md-meter__label",part:"label"},this.label),this.showValue&&t("span",{key:"2d5c8ceb7f6aa401c28dbbcf7542c6d9cec3a1b3",class:"md-meter__value",part:"value"},a)),!e&&t("div",{key:"f1c02c7ad24a0b2c1095ec0a18bfb3c1f00245e8",class:"md-meter__track",part:"track","aria-hidden":"true"},t("div",{key:"5c66b17dbdd5fba9c78e52d533cf38817f7b4a31",class:"md-meter__indicator",part:"indicator",style:{"--_fill-pct":`${this.percentage}%`}})))}get el(){return s(this)}};o.style=a();export{o as md_meter};
2
+ //# sourceMappingURL=p-845ca9cc.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as s,h as t,H as o,a as i}from"./p-DTaX19_O.js";import{t as a}from"./p-DYBUr7K_.js";import{s as c,a as r,g as n,c as d,r as l}from"./p-DWxN44zD.js";const h=()=>`:host{--_container-color:var(--md-checkbox-container-color, transparent);--_selected-container-color:var(--md-checkbox-selected-container-color, var(--md-sys-color-primary));--_outline-color:var(--md-checkbox-outline-color, var(--md-sys-color-on-surface-variant));--_outline-width:var(--md-checkbox-outline-width, 2px);--_icon-color:var(--md-checkbox-icon-color, var(--md-sys-color-on-primary));--_container-shape:var(--md-checkbox-container-shape, 2px);--_container-size:var(--md-checkbox-container-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));--_icon-size:var(--md-checkbox-icon-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));--_touch-size:max(32px, calc(var(--md-checkbox-touch-target-size, 48px) + var(--md-sys-density-scale, 0) * 4px));--_state-layer-size:var(--md-checkbox-state-layer-size, min(40px, var(--_touch-size)));--_state-layer-color:var(--md-checkbox-state-layer-color, var(--md-sys-color-on-surface));--_selected-state-layer-color:var(--md-checkbox-selected-state-layer-color, var(--md-sys-color-primary));display:inline-flex;align-items:center;justify-content:center;position:relative;inline-size:var(--_touch-size);block-size:var(--_touch-size);cursor:pointer;border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden;-webkit-tap-highlight-color:transparent;box-sizing:border-box;flex-shrink:0;vertical-align:middle;outline:none;color:var(--_state-layer-color)}:host(.md-checkbox--selected){color:var(--_selected-state-layer-color)}.md-checkbox__native{position:absolute;opacity:0;inline-size:0;block-size:0;pointer-events:none;margin:0}.md-checkbox__ripple-layer{position:absolute;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden}:host(.md-checkbox--disabled) .md-checkbox__ripple-layer,:host([soft-disabled]) .md-checkbox__ripple-layer{display:none}.md-checkbox__state-layer{position:absolute;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);background-color:var(--_state-layer-color);opacity:0;transition:opacity var(--md-sys-motion-duration-short1, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none}:host(.md-checkbox--unselected:hover) .md-checkbox__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-checkbox--unselected:focus-visible) .md-checkbox__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(.md-checkbox--unselected:active) .md-checkbox__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(.md-checkbox--selected) .md-checkbox__state-layer{background-color:var(--_selected-state-layer-color)}:host(.md-checkbox--selected:hover) .md-checkbox__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-checkbox--selected:focus-visible) .md-checkbox__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(.md-checkbox--selected:active) .md-checkbox__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(:focus-visible){outline:2px solid var(--md-sys-color-secondary);outline-offset:calc((var(--_state-layer-size) - var(--_touch-size)) / 2)}.md-checkbox__container{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_container-size);block-size:var(--_container-size);border-radius:var(--_container-shape);border:var(--_outline-width) solid var(--_outline-color);background-color:var(--_container-color);box-sizing:border-box;pointer-events:none;transition:background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), transform var(--md-sys-motion-duration-medium4, 400ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}:host(.md-checkbox--selected) .md-checkbox__container{background-color:var(--_selected-container-color);border-color:var(--_selected-container-color)}:host(.md-checkbox--pressed) .md-checkbox__container{transform:scale(0.82);transition:background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host([aria-invalid="true"]) .md-checkbox__container{border-color:var(--md-sys-color-error)}:host([aria-invalid="true"].md-checkbox--selected) .md-checkbox__container{background-color:var(--md-sys-color-error);border-color:var(--md-sys-color-error)}.md-checkbox__icon{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_icon-size);block-size:var(--_icon-size);color:var(--_icon-color);overflow:visible}.md-checkbox__icon .material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-size:var(--_icon-size);line-height:1;font-weight:normal;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 24}@keyframes md-checkbox-glyph-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.18);opacity:1}100%{transform:scale(1);opacity:1}}:host(.md-checkbox--checked) .md-checkbox__icon .material-symbols-outlined,:host(.md-checkbox--indeterminate) .md-checkbox__icon .material-symbols-outlined{animation:md-checkbox-glyph-in var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)) both}:host(.md-checkbox--unselected) .md-checkbox__icon{opacity:0}:host(.md-checkbox--selected) .md-checkbox__icon{opacity:1}:host(.md-checkbox--disabled){cursor:default;pointer-events:none}:host(.md-checkbox--disabled.md-checkbox--unselected) .md-checkbox__container{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);background-color:transparent}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__container{background-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);border-color:transparent}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__icon{color:var(--md-sys-color-surface)}:host(.md-checkbox--disabled) .md-checkbox__state-layer{display:none}:host([soft-disabled]){cursor:default;pointer-events:auto}:host([soft-disabled].md-checkbox--unselected) .md-checkbox__container{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);background-color:transparent}:host([soft-disabled].md-checkbox--selected) .md-checkbox__container{background-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);border-color:transparent}:host([soft-disabled].md-checkbox--selected) .md-checkbox__icon{color:var(--md-sys-color-surface)}:host([soft-disabled]) .md-checkbox__state-layer{display:none}@media (prefers-reduced-motion: reduce){.md-checkbox__container,.md-checkbox__state-layer{transition:none}.md-checkbox__icon .material-symbols-outlined{animation:none}}@media (forced-colors: active){:host{forced-color-adjust:none}.md-checkbox__container{border-color:ButtonText;background-color:ButtonFace}:host(.md-checkbox--selected) .md-checkbox__container{background-color:Highlight;border-color:Highlight}:host(.md-checkbox--selected) .md-checkbox__icon{color:HighlightText}:host(:focus-visible){outline-color:Highlight}:host(.md-checkbox--disabled) .md-checkbox__container{border-color:GrayText;opacity:1}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__container{background-color:GrayText;border-color:GrayText}.md-checkbox__state-layer{display:none}}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}.md-checkbox__target{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_touch-size);block-size:var(--_touch-size);border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden;flex-shrink:0}:host(.md-checkbox--has-support){display:inline-flex;flex-direction:column;align-items:flex-start;inline-size:var(--_touch-size);block-size:auto;overflow:visible;border-radius:0}.md-checkbox__support{display:block;margin-block-start:2px;margin-inline-start:calc((var(--_touch-size) - var(--_container-size)) / 2);inline-size:max-content;max-inline-size:60ch;font-family:var(--md-sys-typescale-body-small-font-family, Roboto, sans-serif);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));color:var(--md-checkbox-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454F))}.md-checkbox__support--error{color:var(--md-checkbox-error-text-color, var(--md-sys-color-error, #B3261E))}`;const m=class{constructor(t){e(this,t);this.mdChange=s(this,"mdChange",7);this.mdValidityChange=s(this,"mdValidityChange",5);if(t.$hostElement$["s-ei"]){this.internals=t.$hostElement$["s-ei"]}else{this.internals=t.$hostElement$.attachInternals();t.$hostElement$["s-ei"]=this.internals}this.valueMissingLabel="Please check this box if you want to proceed.";this.customValidityMessage="";this.uid=`md-checkbox-${Math.random().toString(36).slice(2,7)}`;this.invalid=false;this.error=false;this.errorText="";this.supportingText="";this.checked=false;this.indeterminate=false;this.disabled=false;this.softDisabled=false;this.required=false;this.name="";this.value="on";this.density=0;this.prevChecked=false;this.prevIndeterminate=false;this.pressed=false;this.initialChecked=false;this.initialIndeterminate=false;this.lastValidityKey=null;this.handleClick=()=>{if(this.isDisabled)return;this.prevChecked=this.checked;this.prevIndeterminate=this.indeterminate;if(this.indeterminate){this.indeterminate=false;this.checked=true}else{this.checked=!this.checked}this.mdChange.emit({checked:this.checked,indeterminate:this.indeterminate})};this.handleKeyDown=e=>{if(this.isDisabled)return;if(e.key===" "){e.preventDefault();this.pressed=true;a(this.el);this.handleClick();setTimeout((()=>{this.pressed=false}),150)}};this.handlePointerDown=()=>{if(!this.isDisabled)this.pressed=true};this.handlePointerUp=()=>{this.pressed=false}}get isDisabled(){return this.disabled||this.softDisabled}componentWillLoad(){this.initialChecked=this.checked;this.initialIndeterminate=this.indeterminate;this.syncFormValue()}onStateChange(){this.prevChecked=this.checked;this.prevIndeterminate=this.indeterminate;this.syncFormValue()}onValueChange(){this.syncFormValue()}formResetCallback(){this.checked=this.initialChecked;this.indeterminate=this.initialIndeterminate}syncFormValue(){c(this.internals,this.checked?this.value:null);this.syncValidity()}syncValidity(){this.invalid=this.required&&!this.checked&&!this.customValidityMessage?true:!!this.customValidityMessage;r(this.internals,{missing:this.required&&!this.checked,missingMessage:this.valueMissingLabel,customMessage:this.customValidityMessage});this.emitValidityChange()}async getValidity(){return n(this.internals)}emitValidityChange(){const e=n(this.internals);const s=`${e.valid}|${e.validationMessage}`;if(this.lastValidityKey===s)return;const t=this.lastValidityKey!==null;this.lastValidityKey=s;if(t)this.mdValidityChange.emit(e)}async checkValidity(){return d(this.internals)}async reportValidity(){return l(this.internals)}async setCustomValidity(e){this.customValidityMessage=e;this.syncValidity()}get ariaCheckedValue(){if(this.indeterminate)return"mixed";return String(this.checked)}render(){const e=this.isDisabled;const s=this.checked||this.indeterminate;const i=this.el.getAttribute("aria-hidden")==="true";return t(o,{key:"a0d40b9f78fd0156ee6cdec1366112632f167511",class:{"md-checkbox":true,"md-checkbox--checked":this.checked&&!this.indeterminate,"md-checkbox--indeterminate":this.indeterminate,"md-checkbox--disabled":e,"md-checkbox--selected":s,"md-checkbox--unselected":!s,"md-checkbox--pressed":this.pressed,"md-checkbox--prev-unselected":!this.prevChecked&&!this.prevIndeterminate,"md-checkbox--has-support":!!(this.errorText||this.supportingText)},role:"checkbox","aria-invalid":this.invalid?"true":undefined,"aria-describedby":this.errorText||this.supportingText?`${this.uid}-support`:undefined,"aria-checked":this.ariaCheckedValue,"aria-disabled":e?"true":undefined,"aria-required":this.required?"true":undefined,tabindex:i?null:this.disabled?"-1":"0",onPointerDown:this.handlePointerDown,onPointerUp:this.handlePointerUp,onPointerLeave:this.handlePointerUp,onPointerCancel:this.handlePointerUp,onClick:this.handleClick,onKeyDown:this.handleKeyDown},t("span",{key:"08c18fbbeb24f4b2776e533f9fe5891c7962d68a",class:"md-checkbox__target",part:"target"},t("span",{key:"bd3d4b8aff21d9574ad129ee875d8b673d7365d9",class:"md-checkbox__ripple-layer","aria-hidden":"true"},t("md-ripple",{key:"da2c6869e619d1afa2f209cded502588e5ca2f9a",disabled:e})),t("span",{key:"141b88846ca966456a5d93a71ac8e8c89b638500",class:"md-checkbox__state-layer",part:"state-layer","aria-hidden":"true"}),t("span",{key:"97c914aaa946e06275280a1f6022836c42137911",class:"md-checkbox__container",part:"container"},t("span",{key:"2feb4131baf460aef5e0e13e53a1cddc289eadf6",class:"md-checkbox__icon",part:"icon","aria-hidden":"true"},t("span",{key:"1405ff7289795bf85418a95747e1b2475be9b354",class:"material-symbols-outlined"},this.indeterminate?"remove":"check")))),(this.errorText||this.supportingText)&&t("span",{key:"b5cbb3b42837a18b6135dcd5fc10c363badd4636",id:`${this.uid}-support`,part:"supporting-text",role:this.error?"alert":undefined,class:{"md-checkbox__support":true,"md-checkbox__support--error":this.error}},this.errorText||this.supportingText))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{checked:[{onStateChange:0}],indeterminate:[{onStateChange:0}],value:[{onValueChange:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}]}}};m.style=h();export{m as md_checkbox};
2
- //# sourceMappingURL=p-77a01bcc.entry.js.map
1
+ import{r as e,c as s,h as t,H as o,g as i}from"./p-WmvQpZnM.js";import{t as a}from"./p-DYBUr7K_.js";import{s as c,a as r,g as n,c as d,r as l}from"./p-DWxN44zD.js";const h=()=>`:host{--_container-color:var(--md-checkbox-container-color, transparent);--_selected-container-color:var(--md-checkbox-selected-container-color, var(--md-sys-color-primary));--_outline-color:var(--md-checkbox-outline-color, var(--md-sys-color-on-surface-variant));--_outline-width:var(--md-checkbox-outline-width, 2px);--_icon-color:var(--md-checkbox-icon-color, var(--md-sys-color-on-primary));--_container-shape:var(--md-checkbox-container-shape, 2px);--_container-size:var(--md-checkbox-container-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));--_icon-size:var(--md-checkbox-icon-size, max(14px, calc(18px + var(--md-sys-density-scale, 0) * 1px)));--_touch-size:max(32px, calc(var(--md-checkbox-touch-target-size, 48px) + var(--md-sys-density-scale, 0) * 4px));--_state-layer-size:var(--md-checkbox-state-layer-size, min(40px, var(--_touch-size)));--_state-layer-color:var(--md-checkbox-state-layer-color, var(--md-sys-color-on-surface));--_selected-state-layer-color:var(--md-checkbox-selected-state-layer-color, var(--md-sys-color-primary));display:inline-flex;align-items:center;justify-content:center;position:relative;inline-size:var(--_touch-size);block-size:var(--_touch-size);cursor:pointer;border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden;-webkit-tap-highlight-color:transparent;box-sizing:border-box;flex-shrink:0;vertical-align:middle;outline:none;color:var(--_state-layer-color)}:host(.md-checkbox--selected){color:var(--_selected-state-layer-color)}.md-checkbox__native{position:absolute;opacity:0;inline-size:0;block-size:0;pointer-events:none;margin:0}.md-checkbox__ripple-layer{position:absolute;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden}:host(.md-checkbox--disabled) .md-checkbox__ripple-layer,:host([soft-disabled]) .md-checkbox__ripple-layer{display:none}.md-checkbox__state-layer{position:absolute;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);background-color:var(--_state-layer-color);opacity:0;transition:opacity var(--md-sys-motion-duration-short1, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none}:host(.md-checkbox--unselected:hover) .md-checkbox__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-checkbox--unselected:focus-visible) .md-checkbox__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(.md-checkbox--unselected:active) .md-checkbox__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(.md-checkbox--selected) .md-checkbox__state-layer{background-color:var(--_selected-state-layer-color)}:host(.md-checkbox--selected:hover) .md-checkbox__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-checkbox--selected:focus-visible) .md-checkbox__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(.md-checkbox--selected:active) .md-checkbox__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(:focus-visible){outline:2px solid var(--md-sys-color-secondary);outline-offset:calc((var(--_state-layer-size) - var(--_touch-size)) / 2)}.md-checkbox__container{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_container-size);block-size:var(--_container-size);border-radius:var(--_container-shape);border:var(--_outline-width) solid var(--_outline-color);background-color:var(--_container-color);box-sizing:border-box;pointer-events:none;transition:background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), transform var(--md-sys-motion-duration-medium4, 400ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}:host(.md-checkbox--selected) .md-checkbox__container{background-color:var(--_selected-container-color);border-color:var(--_selected-container-color)}:host(.md-checkbox--pressed) .md-checkbox__container{transform:scale(0.82);transition:background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host([aria-invalid="true"]) .md-checkbox__container{border-color:var(--md-sys-color-error)}:host([aria-invalid="true"].md-checkbox--selected) .md-checkbox__container{background-color:var(--md-sys-color-error);border-color:var(--md-sys-color-error)}.md-checkbox__icon{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_icon-size);block-size:var(--_icon-size);color:var(--_icon-color);overflow:visible}.md-checkbox__icon .material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-size:var(--_icon-size);line-height:1;font-weight:normal;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 24}@keyframes md-checkbox-glyph-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.18);opacity:1}100%{transform:scale(1);opacity:1}}:host(.md-checkbox--checked) .md-checkbox__icon .material-symbols-outlined,:host(.md-checkbox--indeterminate) .md-checkbox__icon .material-symbols-outlined{animation:md-checkbox-glyph-in var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)) both}:host(.md-checkbox--unselected) .md-checkbox__icon{opacity:0}:host(.md-checkbox--selected) .md-checkbox__icon{opacity:1}:host(.md-checkbox--disabled){cursor:default;pointer-events:none}:host(.md-checkbox--disabled.md-checkbox--unselected) .md-checkbox__container{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);background-color:transparent}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__container{background-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);border-color:transparent}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__icon{color:var(--md-sys-color-surface)}:host(.md-checkbox--disabled) .md-checkbox__state-layer{display:none}:host([soft-disabled]){cursor:default;pointer-events:auto}:host([soft-disabled].md-checkbox--unselected) .md-checkbox__container{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);background-color:transparent}:host([soft-disabled].md-checkbox--selected) .md-checkbox__container{background-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);border-color:transparent}:host([soft-disabled].md-checkbox--selected) .md-checkbox__icon{color:var(--md-sys-color-surface)}:host([soft-disabled]) .md-checkbox__state-layer{display:none}@media (prefers-reduced-motion: reduce){.md-checkbox__container,.md-checkbox__state-layer{transition:none}.md-checkbox__icon .material-symbols-outlined{animation:none}}@media (forced-colors: active){:host{forced-color-adjust:none}.md-checkbox__container{border-color:ButtonText;background-color:ButtonFace}:host(.md-checkbox--selected) .md-checkbox__container{background-color:Highlight;border-color:Highlight}:host(.md-checkbox--selected) .md-checkbox__icon{color:HighlightText}:host(:focus-visible){outline-color:Highlight}:host(.md-checkbox--disabled) .md-checkbox__container{border-color:GrayText;opacity:1}:host(.md-checkbox--disabled.md-checkbox--selected) .md-checkbox__container{background-color:GrayText;border-color:GrayText}.md-checkbox__state-layer{display:none}}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}.md-checkbox__target{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_touch-size);block-size:var(--_touch-size);border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden;flex-shrink:0}:host(.md-checkbox--has-support){display:inline-flex;flex-direction:column;align-items:flex-start;inline-size:var(--_touch-size);block-size:auto;overflow:visible;border-radius:0}.md-checkbox__support{display:block;margin-block-start:2px;margin-inline-start:calc((var(--_touch-size) - var(--_container-size)) / 2);inline-size:max-content;max-inline-size:60ch;font-family:var(--md-sys-typescale-body-small-font-family, Roboto, sans-serif);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));color:var(--md-checkbox-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454F))}.md-checkbox__support--error{color:var(--md-checkbox-error-text-color, var(--md-sys-color-error, #B3261E))}`;const m=class{constructor(t){e(this,t);this.mdChange=s(this,"mdChange",7);this.mdValidityChange=s(this,"mdValidityChange",5);if(t.$hostElement$["s-ei"]){this.internals=t.$hostElement$["s-ei"]}else{this.internals=t.$hostElement$.attachInternals();t.$hostElement$["s-ei"]=this.internals}this.valueMissingLabel="Please check this box if you want to proceed.";this.customValidityMessage="";this.uid=`md-checkbox-${Math.random().toString(36).slice(2,7)}`;this.invalid=false;this.error=false;this.errorText="";this.supportingText="";this.checked=false;this.indeterminate=false;this.disabled=false;this.softDisabled=false;this.required=false;this.name="";this.value="on";this.density=0;this.prevChecked=false;this.prevIndeterminate=false;this.pressed=false;this.initialChecked=false;this.initialIndeterminate=false;this.lastValidityKey=null;this.handleClick=()=>{if(this.isDisabled)return;this.prevChecked=this.checked;this.prevIndeterminate=this.indeterminate;if(this.indeterminate){this.indeterminate=false;this.checked=true}else{this.checked=!this.checked}this.mdChange.emit({checked:this.checked,indeterminate:this.indeterminate})};this.handleKeyDown=e=>{if(this.isDisabled)return;if(e.key===" "){e.preventDefault();this.pressed=true;a(this.el);this.handleClick();setTimeout((()=>{this.pressed=false}),150)}};this.handlePointerDown=()=>{if(!this.isDisabled)this.pressed=true};this.handlePointerUp=()=>{this.pressed=false}}get isDisabled(){return this.disabled||this.softDisabled}componentWillLoad(){this.initialChecked=this.checked;this.initialIndeterminate=this.indeterminate;this.syncFormValue()}onStateChange(){this.prevChecked=this.checked;this.prevIndeterminate=this.indeterminate;this.syncFormValue()}onValueChange(){this.syncFormValue()}formResetCallback(){this.checked=this.initialChecked;this.indeterminate=this.initialIndeterminate}syncFormValue(){c(this.internals,this.checked?this.value:null);this.syncValidity()}syncValidity(){this.invalid=this.required&&!this.checked&&!this.customValidityMessage?true:!!this.customValidityMessage;r(this.internals,{missing:this.required&&!this.checked,missingMessage:this.valueMissingLabel,customMessage:this.customValidityMessage});this.emitValidityChange()}async getValidity(){return n(this.internals)}emitValidityChange(){const e=n(this.internals);const s=`${e.valid}|${e.validationMessage}`;if(this.lastValidityKey===s)return;const t=this.lastValidityKey!==null;this.lastValidityKey=s;if(t)this.mdValidityChange.emit(e)}async checkValidity(){return d(this.internals)}async reportValidity(){return l(this.internals)}async setCustomValidity(e){this.customValidityMessage=e;this.syncValidity()}get ariaCheckedValue(){if(this.indeterminate)return"mixed";return String(this.checked)}render(){const e=this.isDisabled;const s=this.checked||this.indeterminate;const i=this.el.getAttribute("aria-hidden")==="true";return t(o,{key:"6151d70a6d2b1c923477873ef91c0e80d1d165e8",class:{"md-checkbox":true,"md-checkbox--checked":this.checked&&!this.indeterminate,"md-checkbox--indeterminate":this.indeterminate,"md-checkbox--disabled":e,"md-checkbox--selected":s,"md-checkbox--unselected":!s,"md-checkbox--pressed":this.pressed,"md-checkbox--prev-unselected":!this.prevChecked&&!this.prevIndeterminate,"md-checkbox--has-support":!!(this.errorText||this.supportingText)},role:"checkbox","aria-invalid":this.invalid?"true":undefined,"aria-describedby":this.errorText||this.supportingText?`${this.uid}-support`:undefined,"aria-checked":this.ariaCheckedValue,"aria-disabled":e?"true":undefined,"aria-required":this.required?"true":undefined,tabindex:i?null:this.disabled?"-1":"0",onPointerDown:this.handlePointerDown,onPointerUp:this.handlePointerUp,onPointerLeave:this.handlePointerUp,onPointerCancel:this.handlePointerUp,onClick:this.handleClick,onKeyDown:this.handleKeyDown},t("span",{key:"e40a207fadba9da13cc242770b5dbf25bd982bf9",class:"md-checkbox__target",part:"target"},t("span",{key:"e9743a49ac5ad9d09341871d94241a73d9a6f6db",class:"md-checkbox__ripple-layer","aria-hidden":"true"},t("md-ripple",{key:"6b2b3f16de880e62bd4c7e535972d72b9b852356",disabled:e})),t("span",{key:"083ac5d32a3b61934bf59992dc94d0aecfa4519b",class:"md-checkbox__state-layer",part:"state-layer","aria-hidden":"true"}),t("span",{key:"15b739357adfe8b42bbd529ae9c73c07c81be941",class:"md-checkbox__container",part:"container"},t("span",{key:"3af9b1d50202b1e8946fb6c4df12e3dcf4b6f721",class:"md-checkbox__icon",part:"icon","aria-hidden":"true"},t("span",{key:"c79042be6891ac7553c93ac2111f52b0ef6a115e",class:"material-symbols-outlined"},this.indeterminate?"remove":"check")))),(this.errorText||this.supportingText)&&t("span",{key:"72f3b6a14ea4d901ac0ed671d0407860d10777bb",id:`${this.uid}-support`,part:"supporting-text",role:this.error?"alert":undefined,class:{"md-checkbox__support":true,"md-checkbox__support--error":this.error}},this.errorText||this.supportingText))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{checked:[{onStateChange:0}],indeterminate:[{onStateChange:0}],value:[{onValueChange:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}]}}};m.style=h();export{m as md_checkbox};
2
+ //# sourceMappingURL=p-87f88d62.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as s,h as t,H as i,a as d}from"./p-DTaX19_O.js";const a=()=>`:host{--_container-color:var(--md-side-sheet-container-color, var(--md-sys-color-surface, #FFFBFE));--_container-shape:var(--md-side-sheet-container-shape, 0px);--_headline-color:var(--md-side-sheet-headline-color, var(--md-sys-color-on-surface-variant, #49454F));--_content-color:var(--md-side-sheet-content-color, var(--md-sys-color-on-surface, #1C1B1F));--_scrim-color:var(--md-side-sheet-scrim-color, rgba(0, 0, 0, 0.32));--_divider-color:var(--md-side-sheet-divider-color, var(--md-sys-color-outline-variant, #CAC4D0));--_width:var(--md-side-sheet-width, max(280px, calc(360px + var(--md-sys-density-scale, 0) * 16px)));--_max-width:var(--md-side-sheet-max-width, max(320px, calc(400px + var(--md-sys-density-scale, 0) * 16px)));--_icon-color:var(--md-side-sheet-icon-color, var(--md-sys-color-on-surface-variant, #49454F));display:block;position:relative;box-sizing:border-box}:host(.md-side-sheet--standard){inline-size:min(var(--_width), 100%);max-inline-size:min(var(--_max-width), 100%);block-size:100%}:host(.md-side-sheet--standard:not(.md-side-sheet--open)){display:none}:host(.md-side-sheet--standard) .md-side-sheet__container{position:relative;inline-size:100%;block-size:100%;background-color:var(--_container-color);color:var(--_content-color);display:flex;flex-direction:column;overflow:hidden}:host(.md-side-sheet--standard.md-side-sheet--end) .md-side-sheet__container{border-inline-start:1px solid var(--_divider-color)}:host(.md-side-sheet--standard.md-side-sheet--start) .md-side-sheet__container{border-inline-end:1px solid var(--_divider-color)}:host(.md-side-sheet--modal){display:contents}:host(.md-side-sheet--modal:not(.md-side-sheet--open)){display:contents;pointer-events:none}.md-side-sheet__scrim{position:fixed;inset:0;background-color:var(--_scrim-color);z-index:var(--md-sys-z-index-popup, 1000);opacity:0;pointer-events:none;transition:opacity var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-side-sheet--modal.md-side-sheet--open) .md-side-sheet__scrim{opacity:1;pointer-events:auto}:host(.md-side-sheet--modal) .md-side-sheet__container{position:fixed;inset-block:0;z-index:var(--md-sys-z-index-dialog-scrim, 1001);inline-size:min(var(--_width), 100%);max-inline-size:min(var(--_max-width), 100%);background-color:var(--md-sys-color-surface-container-low, #F7F2FA);color:var(--_content-color);display:flex;flex-direction:column;overflow:hidden;pointer-events:none;opacity:0;box-shadow:var(--md-sys-elevation-1);transition:transform var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), opacity var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-side-sheet--modal.md-side-sheet--end) .md-side-sheet__container{inset-inline-end:0;inset-inline-start:auto;transform:translateX(100%)}:host(.md-side-sheet--modal.md-side-sheet--start) .md-side-sheet__container{inset-inline-start:0;inset-inline-end:auto;transform:translateX(-100%)}:host(.md-side-sheet--modal.md-side-sheet--open) .md-side-sheet__container{pointer-events:auto;transform:translateX(0);opacity:1}:host-context([dir="rtl"]):host(.md-side-sheet--modal.md-side-sheet--end) .md-side-sheet__container,:host([dir="rtl"].md-side-sheet--modal.md-side-sheet--end) .md-side-sheet__container{transform:translateX(-100%)}:host-context([dir="rtl"]):host(.md-side-sheet--modal.md-side-sheet--start) .md-side-sheet__container,:host([dir="rtl"].md-side-sheet--modal.md-side-sheet--start) .md-side-sheet__container{transform:translateX(100%)}:host-context([dir="rtl"]):host(.md-side-sheet--modal.md-side-sheet--open) .md-side-sheet__container,:host([dir="rtl"].md-side-sheet--modal.md-side-sheet--open) .md-side-sheet__container{transform:translateX(0)}:host(.md-side-sheet--detached) .md-side-sheet__container{--_container-shape:var(--md-side-sheet-container-shape, var(--md-sys-shape-corner-large, 16px));border-radius:var(--_container-shape)}:host(.md-side-sheet--modal.md-side-sheet--detached) .md-side-sheet__container{inset-block:max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px));block-size:calc(100% - max(16px, calc(32px + var(--md-sys-density-scale, 0) * 4px)));box-shadow:var(--md-sys-elevation-3)}:host(.md-side-sheet--modal.md-side-sheet--detached.md-side-sheet--end) .md-side-sheet__container{inset-inline-end:16px}:host(.md-side-sheet--modal.md-side-sheet--detached.md-side-sheet--start) .md-side-sheet__container{inset-inline-start:16px}:host(.md-side-sheet--standard.md-side-sheet--detached) .md-side-sheet__container{border:none;margin:16px;block-size:calc(100% - 32px);box-shadow:var(--md-sys-elevation-1)}.md-side-sheet__header{display:flex;align-items:center;gap:max(4px, calc(12px + var(--md-sys-density-scale, 0) * 2px));padding-inline:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px));padding-block:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px)) max(8px, calc(12px + var(--md-sys-density-scale, 0) * 1px));flex-shrink:0}.md-side-sheet__back{flex-shrink:0;margin-inline-start:calc(-12px - var(--md-sys-density-scale, 0) * 1px)}.md-side-sheet__headline{flex:1;font-family:var(--md-sys-typescale-title-large-font-family, Roboto, sans-serif);font-size:max(16px, calc(22px + var(--md-sys-density-scale, 0) * 1px));font-weight:var(--md-sys-typescale-title-large-font-weight, 400);line-height:max(22px, calc(28px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-title-large-letter-spacing, 0px);color:var(--_headline-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-side-sheet__close{flex-shrink:0;margin-inline-end:calc(-12px - var(--md-sys-density-scale, 0) * 1px)}.md-side-sheet__close md-icon-button,.md-side-sheet__back md-icon-button{--md-icon-button-icon-color:var(--_icon-color);--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}.md-side-sheet__divider{block-size:1px;background-color:var(--_divider-color);flex-shrink:0}.md-side-sheet__content{flex:1;min-block-size:0;overflow-y:scroll;padding-inline:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px));padding-block:max(8px, calc(12px + var(--md-sys-density-scale, 0) * 1px));font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, 0.25px);color:var(--_content-color);scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline-variant, #CAC4D0) transparent}.md-side-sheet__content::-webkit-scrollbar{inline-size:8px}.md-side-sheet__content::-webkit-scrollbar-thumb{background-color:var(--md-sys-color-outline-variant, #CAC4D0);border-radius:4px}.md-side-sheet__content::-webkit-scrollbar-track{background-color:transparent}.md-side-sheet__actions{display:flex;align-items:center;justify-content:flex-start;gap:max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px));min-block-size:max(40px, calc(72px + var(--md-sys-density-scale, 0) * 4px));box-sizing:border-box;padding-inline:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px));padding-block:max(6px, calc(12px + var(--md-sys-density-scale, 0) * 1px));flex-shrink:0;margin-block-start:auto}::slotted([slot="back"]){color:var(--_icon-color);--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}::slotted([slot="close"]){color:var(--_icon-color);--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}.md-side-sheet__focus-guard{position:fixed;overflow:hidden;clip-path:inset(50%);inline-size:1px;block-size:1px;padding:0;border:0;margin:-1px;white-space:nowrap}@media (prefers-reduced-motion: reduce){.md-side-sheet__scrim,:host(.md-side-sheet--modal) .md-side-sheet__container{transition:none}}@media (forced-colors: active){.md-side-sheet__container{border:2px solid CanvasText}.md-side-sheet__divider{background-color:CanvasText}}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}`;const n=class{constructor(t){e(this,t);this.mdOpen=s(this,"mdOpen",7);this.mdClose=s(this,"mdClose",7);this.mdCancel=s(this,"mdCancel",7);this.mdBack=s(this,"mdBack",7);this.open=false;this.variant="standard";this.side="end";this.headline="";this.closeable=true;this.showBack=false;this.scrimDismissible=true;this.topDivider=false;this.bottomDivider=false;this.detached=false;this.sheetAriaLabel="";this.density=0;this.hasSlottedClose=false;this.hasSlottedBack=false;this.hasActions=false;this.previousFocus=null;this.headlineId=`md-side-sheet-headline-${Math.random().toString(36).slice(2)}`;this.handleDocKeyDown=e=>{if(!this.open||this.variant!=="modal")return;if(e.key==="Escape"){e.preventDefault();e.stopPropagation();if(!this.scrimDismissible)return;this.mdCancel.emit();this.open=false}};this.handleDocFocusIn=()=>{if(!this.open||this.variant!=="modal")return;const e=document.activeElement;if(!e)return;if(e===this.el||this.el.contains(e))return;const s=this.containerEl?.contains(e);if(s)return;this.focusFirst()};this.handleStartGuardFocus=()=>{const e=this.getFocusableElements();if(e.length>0){e[e.length-1].focus()}else{this.containerEl?.focus()}};this.handleEndGuardFocus=()=>{const e=this.getFocusableElements();if(e.length>0){e[0].focus()}else{this.containerEl?.focus()}};this.handleScrimClick=()=>{if(!this.scrimDismissible)return;this.mdCancel.emit();this.open=false};this.handleCloseClick=()=>{this.mdCancel.emit();this.open=false};this.handleBackClick=()=>{this.mdBack.emit()}}connectedCallback(){this.hasActions=!!this.el.querySelector('[slot="actions"]')}componentDidLoad(){const e=this.el.shadowRoot;if(!e)return;const s=e.querySelector('slot[name="close"]');const t=e.querySelector('slot[name="back"]');const i=e.querySelector('slot[name="actions"]');s?.addEventListener("slotchange",(()=>{this.hasSlottedClose=s.assignedElements().length>0}));t?.addEventListener("slotchange",(()=>{this.hasSlottedBack=t.assignedElements().length>0}));i?.addEventListener("slotchange",(()=>{this.hasActions=i.assignedElements().length>0}));if(this.open){this.onOpenChange(true)}}disconnectedCallback(){this.removeGlobalListeners();document.body.style.overflow=""}onOpenChange(e){if(e){this.addGlobalListeners();if(this.variant==="modal"){this.previousFocus=document.activeElement;document.body.style.overflow="hidden";requestAnimationFrame((()=>{this.containerEl?.removeAttribute("inert");this.focusFirst()}))}this.mdOpen.emit()}else{this.removeGlobalListeners();if(this.variant==="modal"){document.body.style.overflow="";this.previousFocus?.focus?.({preventScroll:true});this.previousFocus=null}this.mdClose.emit()}}async show(){this.open=true}async close(){this.open=false}addGlobalListeners(){if(this.variant!=="modal")return;document.addEventListener("keydown",this.handleDocKeyDown,true);document.addEventListener("focusin",this.handleDocFocusIn)}removeGlobalListeners(){document.removeEventListener("keydown",this.handleDocKeyDown,true);document.removeEventListener("focusin",this.handleDocFocusIn)}focusFirst(){if(!this.containerEl)return;const e=this.getFocusableElements();if(e.length>0){e[0].focus()}else{this.containerEl.focus()}}getFocusableElements(){const e='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]), md-icon-button:not([disabled]), md-button:not([disabled]), md-text-field:not([disabled]), md-checkbox:not([disabled]), md-switch:not([disabled]), md-radio:not([disabled]), md-slider:not([disabled])';const s=Array.from(this.containerEl?.querySelectorAll(e)??[]);const t=this.containerEl?.querySelectorAll("slot")??[];const i=[];t.forEach((s=>{const t=s.assignedElements({flatten:true});t.forEach((s=>{if(s.matches?.(e)){i.push(s)}const t=s.querySelectorAll?.(e);if(t)i.push(...Array.from(t))}))}));return[...s,...i]}render(){const e=this.variant==="modal";const s=!!this.headline;const d=e&&this.showBack;return t(i,{key:"0d6549e4f1f62be50e3907cfb4f6758a9013d718",class:{"md-side-sheet":true,[`md-side-sheet--${this.variant}`]:true,[`md-side-sheet--${this.side}`]:true,"md-side-sheet--open":this.open,"md-side-sheet--detached":this.detached}},e&&t("div",{key:"4a2beb6ed0b3005a4b83560f1a9cf02e8d2390a9",class:"md-side-sheet__scrim",part:"scrim","aria-hidden":"true",onClick:this.handleScrimClick}),t("div",{key:"90918a183d8be5fa19f360a6546d6a97b7e1a519",class:"md-side-sheet__container",part:"container",role:e?"dialog":"region","aria-modal":e?"true":undefined,"aria-labelledby":s?this.headlineId:undefined,"aria-label":this.sheetAriaLabel||(!s?"Side sheet":undefined),"aria-hidden":!this.open?"true":undefined,inert:!this.open,tabindex:-1,ref:e=>this.containerEl=e},e&&t("span",{key:"53fd02f82a4ebc464fefd0bc2336c6b1bbd6af4a",class:"md-side-sheet__focus-guard",tabindex:0,"aria-hidden":"true",onFocus:this.handleEndGuardFocus}),t("div",{key:"6af5c6e6155dd081663dc620d5a9657c10e375d9",class:"md-side-sheet__header",part:"header"},d&&t("div",{key:"b73407538462b111215191c1a1a02a0ee41158ef",class:"md-side-sheet__back"},t("slot",{key:"f718a04469fb9388800230fef2776f316cf27d83",name:"back"},t("md-icon-button",{key:"58359a2e694a98642cec44d1c86390356692de4b",variant:"standard",icon:"arrow_back","aria-label":"Back",onClick:this.handleBackClick}))),t("span",{key:"4b9cffb75729b3d62bce148bfcabfe41bfed47c6",id:this.headlineId,class:"md-side-sheet__headline",part:"headline"},t("slot",{key:"f869a19f38e59d39b30666b63449df7ac7746b92",name:"headline"},this.headline)),this.closeable&&t("div",{key:"08a697ecd140662748310f41332919d4da5ec076",class:"md-side-sheet__close",part:"close"},t("slot",{key:"f5ca65931d3baac5d70a27a70702338187e39445",name:"close"},t("md-icon-button",{key:"61114ca7e484651711ef8899a74c52b6e934bd22",variant:"standard",icon:"close","aria-label":"Close side sheet",onClick:this.handleCloseClick})))),this.topDivider&&t("div",{key:"6ce2d0e7de5e3e5a3f6e738e5ad444fda9f1b773",class:"md-side-sheet__divider",part:"divider-top","aria-hidden":"true"}),t("div",{key:"4c0475c3ded3abd2687c069b129f0028143a23a2",class:"md-side-sheet__content",part:"content"},t("slot",{key:"87b6af3a5a53dda956643f94868bbba2a1106064"})),this.hasActions&&this.bottomDivider&&t("div",{key:"66310f2bd364a6716188ee52b37f6f71b3363625",class:"md-side-sheet__divider md-side-sheet__divider--bottom",part:"divider-bottom","aria-hidden":"true"}),this.hasActions&&t("div",{key:"17086a116a77c9e6bf0aab69f05522bbb43741d1",class:"md-side-sheet__actions",part:"actions"},t("slot",{key:"a78f795463ff743d54b816a37e38a0d726c55f92",name:"actions"})),e&&t("span",{key:"9cd3e21f0ea363036a6d584f22c067d155c8a22c",class:"md-side-sheet__focus-guard",tabindex:0,"aria-hidden":"true",onFocus:this.handleStartGuardFocus})))}get el(){return d(this)}static get watchers(){return{open:[{onOpenChange:0}]}}};n.style=a();export{n as md_side_sheet};
2
- //# sourceMappingURL=p-5b74694e.entry.js.map
1
+ import{r as e,c as s,h as t,H as i,g as d}from"./p-WmvQpZnM.js";const a=()=>`:host{--_container-color:var(--md-side-sheet-container-color, var(--md-sys-color-surface, #FFFBFE));--_container-shape:var(--md-side-sheet-container-shape, 0px);--_headline-color:var(--md-side-sheet-headline-color, var(--md-sys-color-on-surface-variant, #49454F));--_content-color:var(--md-side-sheet-content-color, var(--md-sys-color-on-surface, #1C1B1F));--_scrim-color:var(--md-side-sheet-scrim-color, rgba(0, 0, 0, 0.32));--_divider-color:var(--md-side-sheet-divider-color, var(--md-sys-color-outline-variant, #CAC4D0));--_width:var(--md-side-sheet-width, max(280px, calc(360px + var(--md-sys-density-scale, 0) * 16px)));--_max-width:var(--md-side-sheet-max-width, max(320px, calc(400px + var(--md-sys-density-scale, 0) * 16px)));--_icon-color:var(--md-side-sheet-icon-color, var(--md-sys-color-on-surface-variant, #49454F));display:block;position:relative;box-sizing:border-box}:host(.md-side-sheet--standard){inline-size:min(var(--_width), 100%);max-inline-size:min(var(--_max-width), 100%);block-size:100%}:host(.md-side-sheet--standard:not(.md-side-sheet--open)){display:none}:host(.md-side-sheet--standard) .md-side-sheet__container{position:relative;inline-size:100%;block-size:100%;background-color:var(--_container-color);color:var(--_content-color);display:flex;flex-direction:column;overflow:hidden}:host(.md-side-sheet--standard.md-side-sheet--end) .md-side-sheet__container{border-inline-start:1px solid var(--_divider-color)}:host(.md-side-sheet--standard.md-side-sheet--start) .md-side-sheet__container{border-inline-end:1px solid var(--_divider-color)}:host(.md-side-sheet--modal){display:contents}:host(.md-side-sheet--modal:not(.md-side-sheet--open)){display:contents;pointer-events:none}.md-side-sheet__scrim{position:fixed;inset:0;background-color:var(--_scrim-color);z-index:var(--md-sys-z-index-popup, 1000);opacity:0;pointer-events:none;transition:opacity var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-side-sheet--modal.md-side-sheet--open) .md-side-sheet__scrim{opacity:1;pointer-events:auto}:host(.md-side-sheet--modal) .md-side-sheet__container{position:fixed;inset-block:0;z-index:var(--md-sys-z-index-dialog-scrim, 1001);inline-size:min(var(--_width), 100%);max-inline-size:min(var(--_max-width), 100%);background-color:var(--md-sys-color-surface-container-low, #F7F2FA);color:var(--_content-color);display:flex;flex-direction:column;overflow:hidden;pointer-events:none;opacity:0;box-shadow:var(--md-sys-elevation-1);transition:transform var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), opacity var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-side-sheet--modal.md-side-sheet--end) .md-side-sheet__container{inset-inline-end:0;inset-inline-start:auto;transform:translateX(100%)}:host(.md-side-sheet--modal.md-side-sheet--start) .md-side-sheet__container{inset-inline-start:0;inset-inline-end:auto;transform:translateX(-100%)}:host(.md-side-sheet--modal.md-side-sheet--open) .md-side-sheet__container{pointer-events:auto;transform:translateX(0);opacity:1}:host-context([dir="rtl"]):host(.md-side-sheet--modal.md-side-sheet--end) .md-side-sheet__container,:host([dir="rtl"].md-side-sheet--modal.md-side-sheet--end) .md-side-sheet__container{transform:translateX(-100%)}:host-context([dir="rtl"]):host(.md-side-sheet--modal.md-side-sheet--start) .md-side-sheet__container,:host([dir="rtl"].md-side-sheet--modal.md-side-sheet--start) .md-side-sheet__container{transform:translateX(100%)}:host-context([dir="rtl"]):host(.md-side-sheet--modal.md-side-sheet--open) .md-side-sheet__container,:host([dir="rtl"].md-side-sheet--modal.md-side-sheet--open) .md-side-sheet__container{transform:translateX(0)}:host(.md-side-sheet--detached) .md-side-sheet__container{--_container-shape:var(--md-side-sheet-container-shape, var(--md-sys-shape-corner-large, 16px));border-radius:var(--_container-shape)}:host(.md-side-sheet--modal.md-side-sheet--detached) .md-side-sheet__container{inset-block:max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px));block-size:calc(100% - max(16px, calc(32px + var(--md-sys-density-scale, 0) * 4px)));box-shadow:var(--md-sys-elevation-3)}:host(.md-side-sheet--modal.md-side-sheet--detached.md-side-sheet--end) .md-side-sheet__container{inset-inline-end:16px}:host(.md-side-sheet--modal.md-side-sheet--detached.md-side-sheet--start) .md-side-sheet__container{inset-inline-start:16px}:host(.md-side-sheet--standard.md-side-sheet--detached) .md-side-sheet__container{border:none;margin:16px;block-size:calc(100% - 32px);box-shadow:var(--md-sys-elevation-1)}.md-side-sheet__header{display:flex;align-items:center;gap:max(4px, calc(12px + var(--md-sys-density-scale, 0) * 2px));padding-inline:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px));padding-block:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px)) max(8px, calc(12px + var(--md-sys-density-scale, 0) * 1px));flex-shrink:0}.md-side-sheet__back{flex-shrink:0;margin-inline-start:calc(-12px - var(--md-sys-density-scale, 0) * 1px)}.md-side-sheet__headline{flex:1;font-family:var(--md-sys-typescale-title-large-font-family, Roboto, sans-serif);font-size:max(16px, calc(22px + var(--md-sys-density-scale, 0) * 1px));font-weight:var(--md-sys-typescale-title-large-font-weight, 400);line-height:max(22px, calc(28px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-title-large-letter-spacing, 0px);color:var(--_headline-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-side-sheet__close{flex-shrink:0;margin-inline-end:calc(-12px - var(--md-sys-density-scale, 0) * 1px)}.md-side-sheet__close md-icon-button,.md-side-sheet__back md-icon-button{--md-icon-button-icon-color:var(--_icon-color);--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}.md-side-sheet__divider{block-size:1px;background-color:var(--_divider-color);flex-shrink:0}.md-side-sheet__content{flex:1;min-block-size:0;overflow-y:scroll;padding-inline:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px));padding-block:max(8px, calc(12px + var(--md-sys-density-scale, 0) * 1px));font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, 0.25px);color:var(--_content-color);scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline-variant, #CAC4D0) transparent}.md-side-sheet__content::-webkit-scrollbar{inline-size:8px}.md-side-sheet__content::-webkit-scrollbar-thumb{background-color:var(--md-sys-color-outline-variant, #CAC4D0);border-radius:4px}.md-side-sheet__content::-webkit-scrollbar-track{background-color:transparent}.md-side-sheet__actions{display:flex;align-items:center;justify-content:flex-start;gap:max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px));min-block-size:max(40px, calc(72px + var(--md-sys-density-scale, 0) * 4px));box-sizing:border-box;padding-inline:max(12px, calc(24px + var(--md-sys-density-scale, 0) * 2px));padding-block:max(6px, calc(12px + var(--md-sys-density-scale, 0) * 1px));flex-shrink:0;margin-block-start:auto}::slotted([slot="back"]){color:var(--_icon-color);--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}::slotted([slot="close"]){color:var(--_icon-color);--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}.md-side-sheet__focus-guard{position:fixed;overflow:hidden;clip-path:inset(50%);inline-size:1px;block-size:1px;padding:0;border:0;margin:-1px;white-space:nowrap}@media (prefers-reduced-motion: reduce){.md-side-sheet__scrim,:host(.md-side-sheet--modal) .md-side-sheet__container{transition:none}}@media (forced-colors: active){.md-side-sheet__container{border:2px solid CanvasText}.md-side-sheet__divider{background-color:CanvasText}}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}`;const n=class{constructor(t){e(this,t);this.mdOpen=s(this,"mdOpen",7);this.mdClose=s(this,"mdClose",7);this.mdCancel=s(this,"mdCancel",7);this.mdBack=s(this,"mdBack",7);this.open=false;this.variant="standard";this.side="end";this.headline="";this.closeable=true;this.showBack=false;this.scrimDismissible=true;this.topDivider=false;this.bottomDivider=false;this.detached=false;this.sheetAriaLabel="";this.density=0;this.hasSlottedClose=false;this.hasSlottedBack=false;this.hasActions=false;this.previousFocus=null;this.headlineId=`md-side-sheet-headline-${Math.random().toString(36).slice(2)}`;this.handleDocKeyDown=e=>{if(!this.open||this.variant!=="modal")return;if(e.key==="Escape"){e.preventDefault();e.stopPropagation();if(!this.scrimDismissible)return;this.mdCancel.emit();this.open=false}};this.handleDocFocusIn=()=>{if(!this.open||this.variant!=="modal")return;const e=document.activeElement;if(!e)return;if(e===this.el||this.el.contains(e))return;const s=this.containerEl?.contains(e);if(s)return;this.focusFirst()};this.handleStartGuardFocus=()=>{const e=this.getFocusableElements();if(e.length>0){e[e.length-1].focus()}else{this.containerEl?.focus()}};this.handleEndGuardFocus=()=>{const e=this.getFocusableElements();if(e.length>0){e[0].focus()}else{this.containerEl?.focus()}};this.handleScrimClick=()=>{if(!this.scrimDismissible)return;this.mdCancel.emit();this.open=false};this.handleCloseClick=()=>{this.mdCancel.emit();this.open=false};this.handleBackClick=()=>{this.mdBack.emit()}}connectedCallback(){this.hasActions=!!this.el.querySelector('[slot="actions"]')}componentDidLoad(){const e=this.el.shadowRoot;if(!e)return;const s=e.querySelector('slot[name="close"]');const t=e.querySelector('slot[name="back"]');const i=e.querySelector('slot[name="actions"]');s?.addEventListener("slotchange",(()=>{this.hasSlottedClose=s.assignedElements().length>0}));t?.addEventListener("slotchange",(()=>{this.hasSlottedBack=t.assignedElements().length>0}));i?.addEventListener("slotchange",(()=>{this.hasActions=i.assignedElements().length>0}));if(this.open){this.onOpenChange(true)}}disconnectedCallback(){this.removeGlobalListeners();document.body.style.overflow=""}onOpenChange(e){if(e){this.addGlobalListeners();if(this.variant==="modal"){this.previousFocus=document.activeElement;document.body.style.overflow="hidden";requestAnimationFrame((()=>{this.containerEl?.removeAttribute("inert");this.focusFirst()}))}this.mdOpen.emit()}else{this.removeGlobalListeners();if(this.variant==="modal"){document.body.style.overflow="";this.previousFocus?.focus?.({preventScroll:true});this.previousFocus=null}this.mdClose.emit()}}async show(){this.open=true}async close(){this.open=false}addGlobalListeners(){if(this.variant!=="modal")return;document.addEventListener("keydown",this.handleDocKeyDown,true);document.addEventListener("focusin",this.handleDocFocusIn)}removeGlobalListeners(){document.removeEventListener("keydown",this.handleDocKeyDown,true);document.removeEventListener("focusin",this.handleDocFocusIn)}focusFirst(){if(!this.containerEl)return;const e=this.getFocusableElements();if(e.length>0){e[0].focus()}else{this.containerEl.focus()}}getFocusableElements(){const e='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]), md-icon-button:not([disabled]), md-button:not([disabled]), md-text-field:not([disabled]), md-checkbox:not([disabled]), md-switch:not([disabled]), md-radio:not([disabled]), md-slider:not([disabled])';const s=Array.from(this.containerEl?.querySelectorAll(e)??[]);const t=this.containerEl?.querySelectorAll("slot")??[];const i=[];t.forEach((s=>{const t=s.assignedElements({flatten:true});t.forEach((s=>{if(s.matches?.(e)){i.push(s)}const t=s.querySelectorAll?.(e);if(t)i.push(...Array.from(t))}))}));return[...s,...i]}render(){const e=this.variant==="modal";const s=!!this.headline;const d=e&&this.showBack;return t(i,{key:"0d6549e4f1f62be50e3907cfb4f6758a9013d718",class:{"md-side-sheet":true,[`md-side-sheet--${this.variant}`]:true,[`md-side-sheet--${this.side}`]:true,"md-side-sheet--open":this.open,"md-side-sheet--detached":this.detached}},e&&t("div",{key:"4a2beb6ed0b3005a4b83560f1a9cf02e8d2390a9",class:"md-side-sheet__scrim",part:"scrim","aria-hidden":"true",onClick:this.handleScrimClick}),t("div",{key:"90918a183d8be5fa19f360a6546d6a97b7e1a519",class:"md-side-sheet__container",part:"container",role:e?"dialog":"region","aria-modal":e?"true":undefined,"aria-labelledby":s?this.headlineId:undefined,"aria-label":this.sheetAriaLabel||(!s?"Side sheet":undefined),"aria-hidden":!this.open?"true":undefined,inert:!this.open,tabindex:-1,ref:e=>this.containerEl=e},e&&t("span",{key:"53fd02f82a4ebc464fefd0bc2336c6b1bbd6af4a",class:"md-side-sheet__focus-guard",tabindex:0,"aria-hidden":"true",onFocus:this.handleEndGuardFocus}),t("div",{key:"6af5c6e6155dd081663dc620d5a9657c10e375d9",class:"md-side-sheet__header",part:"header"},d&&t("div",{key:"b73407538462b111215191c1a1a02a0ee41158ef",class:"md-side-sheet__back"},t("slot",{key:"f718a04469fb9388800230fef2776f316cf27d83",name:"back"},t("md-icon-button",{key:"58359a2e694a98642cec44d1c86390356692de4b",variant:"standard",icon:"arrow_back","aria-label":"Back",onClick:this.handleBackClick}))),t("span",{key:"4b9cffb75729b3d62bce148bfcabfe41bfed47c6",id:this.headlineId,class:"md-side-sheet__headline",part:"headline"},t("slot",{key:"f869a19f38e59d39b30666b63449df7ac7746b92",name:"headline"},this.headline)),this.closeable&&t("div",{key:"08a697ecd140662748310f41332919d4da5ec076",class:"md-side-sheet__close",part:"close"},t("slot",{key:"f5ca65931d3baac5d70a27a70702338187e39445",name:"close"},t("md-icon-button",{key:"61114ca7e484651711ef8899a74c52b6e934bd22",variant:"standard",icon:"close","aria-label":"Close side sheet",onClick:this.handleCloseClick})))),this.topDivider&&t("div",{key:"6ce2d0e7de5e3e5a3f6e738e5ad444fda9f1b773",class:"md-side-sheet__divider",part:"divider-top","aria-hidden":"true"}),t("div",{key:"4c0475c3ded3abd2687c069b129f0028143a23a2",class:"md-side-sheet__content",part:"content"},t("slot",{key:"87b6af3a5a53dda956643f94868bbba2a1106064"})),this.hasActions&&this.bottomDivider&&t("div",{key:"66310f2bd364a6716188ee52b37f6f71b3363625",class:"md-side-sheet__divider md-side-sheet__divider--bottom",part:"divider-bottom","aria-hidden":"true"}),this.hasActions&&t("div",{key:"17086a116a77c9e6bf0aab69f05522bbb43741d1",class:"md-side-sheet__actions",part:"actions"},t("slot",{key:"a78f795463ff743d54b816a37e38a0d726c55f92",name:"actions"})),e&&t("span",{key:"9cd3e21f0ea363036a6d584f22c067d155c8a22c",class:"md-side-sheet__focus-guard",tabindex:0,"aria-hidden":"true",onFocus:this.handleStartGuardFocus})))}get el(){return d(this)}static get watchers(){return{open:[{onOpenChange:0}]}}};n.style=a();export{n as md_side_sheet};
2
+ //# sourceMappingURL=p-89d47130.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as s,g as a}from"./p-WmvQpZnM.js";import{s as r}from"./p-DWxN44zD.js";const n=()=>`:host{--_size:var(--md-rating-item-size, max(12px, calc(28px + var(--md-sys-density-scale, 0) * 2px)));--_gap:var(--md-rating-item-gap, var(--md-sys-spacing-gap-xs, 4px));--_active-color:var(--md-rating-active-color, var(--md-sys-color-secondary, #FFB400));--_inactive-color:var(--md-rating-inactive-color, color-mix(in srgb, var(--md-sys-color-on-surface-variant) 30%, transparent));--_focus-ring-color:var(--md-rating-focus-ring-color, var(--md-sys-color-secondary));--_focus-ring-width:var(--md-rating-focus-ring-width, 3px);--_focus-ring-offset:var(--md-rating-focus-ring-offset, 2px);--_state-layer-color:var(--md-rating-state-layer-color, var(--md-sys-color-on-surface));--_label-color:var(--md-rating-value-label-color, var(--md-sys-color-on-surface));--_label-font:var( --md-rating-value-label-font, var(--md-sys-typescale-label-medium-font, system-ui) );--_pop-scale:var(--md-rating-pop-scale, 1.12);--_duration:var(--md-rating-duration, var(--md-sys-motion-duration-short3, 150ms));display:inline-flex;align-items:center;gap:var(--md-sys-spacing-gap-md, 12px);color:var(--_active-color);vertical-align:middle}:host([size="xs"]){--_size:var(--md-rating-item-size, max(12px, calc(16px + var(--md-sys-density-scale, 0) * 2px)))}:host([size="sm"]){--_size:var(--md-rating-item-size, max(12px, calc(20px + var(--md-sys-density-scale, 0) * 2px)))}:host([size="md"]){--_size:var(--md-rating-item-size, max(12px, calc(28px + var(--md-sys-density-scale, 0) * 2px)))}:host([size="lg"]){--_size:var(--md-rating-item-size, max(12px, calc(36px + var(--md-sys-density-scale, 0) * 2px)))}:host([size="xl"]){--_size:var(--md-rating-item-size, max(12px, calc(48px + var(--md-sys-density-scale, 0) * 2px)))}.md-rating__items{display:inline-flex;align-items:center;gap:var(--_gap);position:relative;border-radius:var(--md-sys-shape-corner-full, 999px);outline:none}.md-rating__items:focus-visible{outline:var(--_focus-ring-width) solid var(--_focus-ring-color);outline-offset:var(--_focus-ring-offset)}.md-rating__item{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_size);block-size:var(--_size);padding:0;margin:0;border:0;background:transparent;cursor:pointer;border-radius:50%;color:inherit;font:inherit;transition:transform var(--_duration) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)), color var(--_duration) ease;-webkit-tap-highlight-color:transparent;will-change:transform;backface-visibility:hidden}:host(.md-rating--readonly) .md-rating__item,:host(.md-rating--disabled) .md-rating__item,:host(.md-rating--soft-disabled) .md-rating__item{cursor:default}.md-rating__item:hover{transform:scale(var(--_pop-scale))}:host(.md-rating--readonly) .md-rating__item:hover,:host(.md-rating--disabled) .md-rating__item:hover,:host(.md-rating--soft-disabled) .md-rating__item:hover{transform:none}.md-rating__icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--md-rating-icon-font-family, 'Material Symbols Rounded', 'Material Symbols Outlined', 'Material Icons');font-size:var(--_size);font-weight:normal;font-style:normal;letter-spacing:normal;text-transform:none;line-height:1;white-space:nowrap;direction:ltr;pointer-events:none;-webkit-font-smoothing:antialiased;font-feature-settings:'liga';font-variation-settings:'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24}.md-rating__icon--bg{color:var(--_inactive-color)}.md-rating__icon--fg{color:var(--_active-color);font-variation-settings:'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24}:host([outline-empty]) .md-rating__icon--bg{font-variation-settings:'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24}.md-rating__icon--state{color:var(--_state-layer-color);opacity:0;font-variation-settings:'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;transition:opacity var(--_duration) ease}.md-rating__item:hover .md-rating__icon--state{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}.md-rating__item:active .md-rating__icon--state{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(.md-rating--readonly) .md-rating__icon--state,:host(.md-rating--disabled) .md-rating__icon--state,:host(.md-rating--soft-disabled) .md-rating__icon--state{display:none}.md-rating__icon--ripple{color:var(--_state-layer-color);opacity:0;font-variation-settings:'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24}:host(.md-rating--readonly) .md-rating__icon--ripple,:host(.md-rating--disabled) .md-rating__icon--ripple,:host(.md-rating--soft-disabled) .md-rating__icon--ripple{display:none}.md-rating__value-label{display:inline-grid;place-items:center start;font:var(--_label-font);font-size:var(--md-sys-typescale-label-large-size, 14px);font-weight:var(--md-sys-typescale-label-large-weight, 500);color:var(--_label-color);white-space:nowrap;font-variant-numeric:tabular-nums}.md-rating__value-label>*{grid-area:1 / 1}.md-rating__value-label-sizer{visibility:hidden;pointer-events:none}:host(.md-rating--disabled){opacity:var(--md-sys-state-disabled-content-opacity, 0.38);pointer-events:none}:host(.md-rating--soft-disabled){opacity:var(--md-sys-state-disabled-content-opacity, 0.38)}:host(.md-rating--soft-disabled) .md-rating__items{pointer-events:none}:host(.md-rating--soft-disabled) .md-rating__items{pointer-events:auto}:host(.md-rating--soft-disabled) .md-rating__item{pointer-events:none}:host-context([dir="rtl"]) .md-rating__items,:host([dir="rtl"]) .md-rating__items{flex-direction:row-reverse}@media (prefers-reduced-motion: reduce){.md-rating__item,.md-rating__icon--state{transition:none}.md-rating__item:hover{transform:none}}.material-symbols-outlined{font-family:var(--md-rating-icon-font-family, 'Material Symbols Rounded', 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}: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 o=class{constructor(e){t(this,e);this.mdHover=i(this,"mdHover",7);this.mdChange=i(this,"mdChange",7);if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}this.value=0;this.defaultValue=0;this.max=5;this.precision=1;this.size="md";this.readonly=false;this.disabled=false;this.softDisabled=false;this.icon="star";this.emptyIcon="star";this.outlineEmpty=true;this.showValueLabel=false;this.ratingLabel="Rating";this.name="";this.hover="preview";this.density=0;this.hoveredValue=null;this.focused=false;this.initialValue=0;this.computeValueFromPointer=(t,i,e)=>{if(this.precision===1)return t+1;const s=e.getBoundingClientRect();const a=getComputedStyle(this.el).direction==="rtl";const r=i.clientX-s.left;const n=a?1-r/s.width:r/s.width;return t+(n<=.5?.5:1)};this.handleItemPointerMove=t=>i=>{if(!this.isInteractive)return;if(this.hover==="off")return;const e=i.currentTarget;const s=this.computeValueFromPointer(t,i,e);if(s!==this.hoveredValue){this.hoveredValue=s;this.mdHover.emit(s)}};this.handlePointerLeave=()=>{if(!this.isInteractive)return;if(this.hoveredValue==null)return;this.hoveredValue=null;this.mdHover.emit(null)};this.handleItemClick=t=>i=>{if(!this.isInteractive)return;const e=i.currentTarget;let s=this.computeValueFromPointer(t,i,e);if(s===this.value){s=this.defaultValue}this.value=s;this.mdChange.emit(s)};this.handleItemPointerDown=()=>t=>{if(!this.isInteractive||this.rippleSuppressed())return;const i=t.currentTarget;const e=i.querySelector(".md-rating__icon--ripple");if(!e||typeof e.animate!=="function")return;const s=i.getBoundingClientRect();const a=s.width?(t.clientX-s.left)/s.width*100:50;const r=s.height?(t.clientY-s.top)/s.height*100:50;e.animate([{clipPath:`circle(0% at ${a}% ${r}%)`,opacity:.22},{clipPath:`circle(85% at ${a}% ${r}%)`,opacity:0}],{duration:420,easing:"cubic-bezier(0.2, 0, 0, 1)"})};this.handleKeyDown=t=>{if(!this.isInteractive)return;const i=this.precision;let e=this.value;const s=getComputedStyle(this.el).direction==="rtl";switch(t.key){case"ArrowRight":e=s?this.value-i:this.value+i;break;case"ArrowLeft":e=s?this.value+i:this.value-i;break;case"ArrowUp":e=this.value+i;break;case"ArrowDown":e=this.value-i;break;case"Home":e=0;break;case"End":e=this.max;break;default:if(/^[0-9]$/.test(t.key)){const i=Number(t.key);if(i<=this.max)e=i}else{return}}t.preventDefault();e=Math.max(0,Math.min(this.max,e));if(e!==this.value){this.value=e;this.mdChange.emit(e)}};this.handleFocus=()=>{this.focused=true};this.handleBlur=()=>{this.focused=false;if(this.hoveredValue!=null){this.hoveredValue=null;this.mdHover.emit(null)}}}componentWillLoad(){this.validateValue(this.value);this.initialValue=this.value}validateValue(t){if(typeof t!=="number"||Number.isNaN(t)){this.value=0;return}if(t<0)this.value=0;if(t>this.max)this.value=this.max;this.syncFormValue()}onMaxChange(){if(this.value>this.max)this.value=this.max}formResetCallback(){this.value=this.initialValue}syncFormValue(){r(this.internals,this.value?String(this.value):null)}async focusRating(){const t=this.el.shadowRoot;const i=t?.querySelector(".md-rating__items");i?.focus()}get isInteractive(){return!this.readonly&&!this.disabled&&!this.softDisabled}get displayValue(){return this.hoveredValue!=null&&this.hover==="preview"?this.hoveredValue:this.value}resolveLabel(t){if(this.getLabel)return this.getLabel(t);if(t===0)return"Empty";if(t===1)return"1 Star";return`${t} Stars`}resolveAccessibleLabel(){const t=this.el;const i=t.getRootNode();const e=t=>i.getElementById?.(t)??(typeof document!=="undefined"?document.getElementById(t):null);const s=t=>t.map((t=>t?.textContent?.trim()??"")).filter(Boolean).join(" ");const a=t.getAttribute("aria-labelledby");if(a){const t=s(a.split(/\s+/).map(e));if(t)return t}const r=t.getAttribute("aria-label");if(r)return r;const n=this.internals?.labels;if(n&&n.length){const t=s(Array.from(n));if(t)return t}return this.ratingLabel}valueLabelVariants(){const t=this.precision||1;const i=new Set;for(let e=0;e<=this.max+1e-9;e+=t){const s=Math.min(Math.round(e/t)*t,this.max);i.add(this.resolveLabel(s))}return Array.from(i)}rippleSuppressed(){if(typeof getComputedStyle!=="function")return false;try{return getComputedStyle(this.el).getPropertyValue("--md-sys-ripple-enabled").trim()==="0"}catch{return false}}renderItem(t){const i=this.displayValue;const s=Math.max(0,Math.min(1,i-t));const a=s>0&&s<1;const r=s>=1;const n=s<=0;return e("span",{class:{"md-rating__item":true,"md-rating__item--full":r,"md-rating__item--half":a,"md-rating__item--empty":n},part:`item ${r?"item-full":a?"item-half":"item-empty"}`,"aria-hidden":"true",onPointerMove:this.handleItemPointerMove(t),onPointerDown:this.handleItemPointerDown(),onClick:this.handleItemClick(t)},e("span",{class:"md-rating__icon md-rating__icon--bg material-symbols-outlined",part:"icon-empty"},this.outlineEmpty?this.icon:this.emptyIcon),e("span",{class:"md-rating__icon md-rating__icon--fg material-symbols-outlined",part:"icon-filled",style:{clipPath:`inset(0 ${(1-s)*100}% 0 0)`}},this.icon),e("span",{class:"md-rating__icon md-rating__icon--state material-symbols-outlined",part:"state-layer","aria-hidden":"true"},this.icon),e("span",{class:"md-rating__icon md-rating__icon--ripple material-symbols-outlined",part:"ripple","aria-hidden":"true"},this.icon))}render(){const t=this.disabled?"-1":this.readonly?undefined:"0";const i=this.value;const a=!this.readonly;const r=this.resolveAccessibleLabel();const n=a?r:`${r}: ${this.resolveLabel(i)}`;return e(s,{key:"6a07c9c03bcae26da555b8936153fa1f78269e4c",class:{"md-rating":true,[`md-rating--${this.size}`]:true,"md-rating--readonly":this.readonly,"md-rating--disabled":this.disabled,"md-rating--soft-disabled":this.softDisabled,"md-rating--focused":this.focused}},e("div",{key:"e7ab5f40e2aac91318894ee41e552d94c42dc7d5",class:"md-rating__items",role:a?"slider":"img","aria-label":n,"aria-valuemin":a?0:undefined,"aria-valuemax":a?this.max:undefined,"aria-valuenow":a?i:undefined,"aria-valuetext":a?this.resolveLabel(i):undefined,"aria-orientation":a?"horizontal":undefined,"aria-readonly":a?"false":undefined,"aria-disabled":a&&(this.disabled||this.softDisabled)?"true":undefined,tabindex:t,part:"items",onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur,onPointerLeave:this.handlePointerLeave},Array.from({length:this.max},((t,i)=>this.renderItem(i)))),this.showValueLabel&&e("span",{key:"3928dd313d1539d4de36ac82f837ace71b48ac25",class:"md-rating__value-label",part:"value-label","aria-hidden":"true"},this.valueLabelVariants().map((t=>e("span",{key:t,class:"md-rating__value-label-sizer","aria-hidden":"true"},t))),e("span",{key:"848cbe90b328be7557684d0c98cef4d44ee217a9",class:"md-rating__value-label-text"},this.resolveLabel(this.displayValue))))}static get formAssociated(){return true}get el(){return a(this)}static get watchers(){return{value:[{validateValue:0}],max:[{onMaxChange:0}]}}};o.style=n();export{o as md_rating};
2
+ //# sourceMappingURL=p-8a6fed13.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["mdRatingCss","MdRating","constructor","hostRef","this","value","defaultValue","max","precision","size","readonly","disabled","softDisabled","icon","emptyIcon","outlineEmpty","showValueLabel","ratingLabel","name","hover","density","hoveredValue","focused","initialValue","computeValueFromPointer","itemIndex","e","itemEl","rect","getBoundingClientRect","isRtl","getComputedStyle","el","direction","x","clientX","left","ratio","width","handleItemPointerMove","i","isInteractive","target","currentTarget","next","mdHover","emit","handlePointerLeave","handleItemClick","mdChange","handleItemPointerDown","rippleSuppressed","item","ripple","querySelector","animate","y","height","clientY","top","clipPath","opacity","duration","easing","handleKeyDown","step","key","test","digit","Number","preventDefault","Math","min","handleFocus","handleBlur","componentWillLoad","validateValue","isNaN","syncFormValue","onMaxChange","formResetCallback","setFormValue","internals","String","focusRating","root","shadowRoot","host","focus","displayValue","resolveLabel","getLabel","resolveAccessibleLabel","getRootNode","byId","id","getElementById","document","joinText","els","map","textContent","trim","filter","Boolean","join","labelledby","getAttribute","text","split","hostAria","labels","length","Array","from","valueLabelVariants","set","Set","v","val","round","add","getPropertyValue","renderItem","filledPortion","isHalf","isFull","isEmpty","h","class","part","onPointerMove","onPointerDown","onClick","style","render","tabindex","undefined","interactive","baseLabel","Host","role","onKeyDown","onFocus","onBlur","onPointerLeave","_","t"],"sources":["src/components/md-rating/md-rating.css?tag=md-rating&encapsulation=shadow","src/components/md-rating/md-rating.tsx"],"sourcesContent":["/* ==========================================================\n md-rating — Material Design 3 Expressive Rating\n Spec: https://m3.material.io/styles/motion/overview\n Reference parity: https://mui.com/material-ui/react-rating/\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-rating-item-size Icon dimension (per `size`)\n --md-rating-item-gap Space between items\n --md-rating-active-color Filled icon color\n --md-rating-inactive-color Empty icon color\n --md-rating-focus-ring-color Focus ring color\n --md-rating-focus-ring-width Focus ring width\n --md-rating-focus-ring-offset Focus ring offset\n --md-rating-state-layer-color Hover / press overlay color\n --md-rating-value-label-color Color of the inline value label\n --md-rating-value-label-font Font of the value label\n --md-rating-pop-scale Scale on hover/active (MD3 Expressive)\n --md-rating-duration Animation duration\n\n CSS PARTS:\n items The slider container\n item Each star/icon button\n item-full A fully filled item\n item-half A half-filled item\n item-empty An empty item\n icon-empty The background (outline) icon\n icon-filled The clipped foreground (filled) icon\n state-layer Hover / press overlay — a filled glyph tracing the icon shape\n ripple Press ripple — a glyph-clipped expanding circle\n value-label The inline numeric value label\n ========================================================== */\n\n:host {\n --_size: var(--md-rating-item-size, max(12px, calc(28px + var(--md-sys-density-scale, 0) * 2px)));\n --_gap: var(--md-rating-item-gap, var(--md-sys-spacing-gap-xs, 4px));\n --_active-color: var(--md-rating-active-color, var(--md-sys-color-secondary, #FFB400));\n --_inactive-color: var(--md-rating-inactive-color, color-mix(in srgb, var(--md-sys-color-on-surface-variant) 30%, transparent));\n --_focus-ring-color: var(--md-rating-focus-ring-color, var(--md-sys-color-secondary));\n --_focus-ring-width: var(--md-rating-focus-ring-width, 3px);\n --_focus-ring-offset: var(--md-rating-focus-ring-offset, 2px);\n --_state-layer-color: var(--md-rating-state-layer-color, var(--md-sys-color-on-surface));\n --_label-color: var(--md-rating-value-label-color, var(--md-sys-color-on-surface));\n --_label-font: var(\n --md-rating-value-label-font,\n var(--md-sys-typescale-label-medium-font, system-ui)\n );\n --_pop-scale: var(--md-rating-pop-scale, 1.12);\n --_duration: var(--md-rating-duration, var(--md-sys-motion-duration-short3, 150ms));\n\n display: inline-flex;\n align-items: center;\n gap: var(--md-sys-spacing-gap-md, 12px);\n color: var(--_active-color);\n vertical-align: middle;\n}\n\n/* Size scale — MD3 Expressive density variants. */\n:host([size=\"xs\"]) { --_size: var(--md-rating-item-size, max(12px, calc(16px + var(--md-sys-density-scale, 0) * 2px))); }\n:host([size=\"sm\"]) { --_size: var(--md-rating-item-size, max(12px, calc(20px + var(--md-sys-density-scale, 0) * 2px))); }\n:host([size=\"md\"]) { --_size: var(--md-rating-item-size, max(12px, calc(28px + var(--md-sys-density-scale, 0) * 2px))); }\n:host([size=\"lg\"]) { --_size: var(--md-rating-item-size, max(12px, calc(36px + var(--md-sys-density-scale, 0) * 2px))); }\n:host([size=\"xl\"]) { --_size: var(--md-rating-item-size, max(12px, calc(48px + var(--md-sys-density-scale, 0) * 2px))); }\n\n.md-rating__items {\n display: inline-flex;\n align-items: center;\n gap: var(--_gap);\n position: relative;\n border-radius: var(--md-sys-shape-corner-full, 999px);\n outline: none;\n}\n\n.md-rating__items:focus-visible {\n outline: var(--_focus-ring-width) solid var(--_focus-ring-color);\n outline-offset: var(--_focus-ring-offset);\n}\n\n/* ── Item ─────────────────────────────────────────────────────── */\n\n.md-rating__item {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: var(--_size);\n block-size: var(--_size);\n padding: 0;\n margin: 0;\n border: 0;\n background: transparent;\n cursor: pointer;\n border-radius: 50%;\n color: inherit;\n font: inherit;\n transition:\n transform var(--_duration) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n color var(--_duration) ease;\n -webkit-tap-highlight-color: transparent;\n /* Composite the item so the hover pop scales the cached raster instead of\n re-hinting the font glyphs every frame — kills the edge shimmer/jitter. */\n will-change: transform;\n backface-visibility: hidden;\n}\n\n:host(.md-rating--readonly) .md-rating__item,\n:host(.md-rating--disabled) .md-rating__item,\n:host(.md-rating--soft-disabled) .md-rating__item {\n cursor: default;\n}\n\n.md-rating__item:hover {\n transform: scale(var(--_pop-scale));\n}\n\n:host(.md-rating--readonly) .md-rating__item:hover,\n:host(.md-rating--disabled) .md-rating__item:hover,\n:host(.md-rating--soft-disabled) .md-rating__item:hover {\n transform: none;\n}\n\n/* ── Icons ────────────────────────────────────────────────────── */\n\n.md-rating__icon {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: var(--md-rating-icon-font-family, 'Material Symbols Rounded', 'Material Symbols Outlined', 'Material Icons');\n font-size: var(--_size);\n font-weight: normal;\n font-style: normal;\n letter-spacing: normal;\n text-transform: none;\n line-height: 1;\n white-space: nowrap;\n direction: ltr;\n pointer-events: none;\n -webkit-font-smoothing: antialiased;\n font-feature-settings: 'liga';\n font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n\n.md-rating__icon--bg {\n color: var(--_inactive-color);\n}\n\n.md-rating__icon--fg {\n color: var(--_active-color);\n font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n}\n\n/* Outline-empty styling: use the filled glyph with the inactive\n colour for both layers so the outline silhouette is preserved. */\n:host([outline-empty]) .md-rating__icon--bg {\n font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n}\n\n/* ── State layer ──────────────────────────────────────────────── */\n\n/* The hover/press overlay is a filled copy of the glyph, so the state\n layer traces the icon silhouette (a star, heart, bolt…) instead of the\n old circle. It sits on top of the icons and tints them within their own\n shape. */\n.md-rating__icon--state {\n color: var(--_state-layer-color);\n opacity: 0;\n font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n transition: opacity var(--_duration) ease;\n}\n\n.md-rating__item:hover .md-rating__icon--state {\n opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);\n}\n\n.md-rating__item:active .md-rating__icon--state {\n opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);\n}\n\n:host(.md-rating--readonly) .md-rating__icon--state,\n:host(.md-rating--disabled) .md-rating__icon--state,\n:host(.md-rating--soft-disabled) .md-rating__icon--state {\n display: none;\n}\n\n/* ── Press ripple ─────────────────────────────────────────────── */\n\n/* A filled copy of the glyph, invisible at rest. handleItemPointerDown drives\n an expanding `clip-path: circle()` + fade over it via the Web Animations API,\n so the ripple reveals within the icon silhouette. */\n.md-rating__icon--ripple {\n color: var(--_state-layer-color);\n opacity: 0;\n font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n}\n\n:host(.md-rating--readonly) .md-rating__icon--ripple,\n:host(.md-rating--disabled) .md-rating__icon--ripple,\n:host(.md-rating--soft-disabled) .md-rating__icon--ripple {\n display: none;\n}\n\n/* ── Value label ──────────────────────────────────────────────── */\n\n.md-rating__value-label {\n /* Grid-stack the visible text over the hidden sizers so the box always\n reserves the widest label's width — the text can change on hover without\n resizing the box and reflowing the row. */\n display: inline-grid;\n place-items: center start;\n font: var(--_label-font);\n font-size: var(--md-sys-typescale-label-large-size, 14px);\n font-weight: var(--md-sys-typescale-label-large-weight, 500);\n color: var(--_label-color);\n white-space: nowrap;\n font-variant-numeric: tabular-nums;\n}\n\n.md-rating__value-label > * {\n grid-area: 1 / 1;\n}\n\n.md-rating__value-label-sizer {\n visibility: hidden;\n pointer-events: none;\n}\n\n/* ── Disabled / readonly visuals ──────────────────────────────── */\n\n:host(.md-rating--disabled) {\n opacity: var(--md-sys-state-disabled-content-opacity, 0.38);\n pointer-events: none;\n}\n\n:host(.md-rating--soft-disabled) {\n opacity: var(--md-sys-state-disabled-content-opacity, 0.38);\n}\n\n:host(.md-rating--soft-disabled) .md-rating__items {\n pointer-events: none;\n}\n\n/* Allow keyboard focus on soft-disabled. */\n:host(.md-rating--soft-disabled) .md-rating__items {\n pointer-events: auto;\n}\n\n:host(.md-rating--soft-disabled) .md-rating__item {\n pointer-events: none;\n}\n\n/* ── RTL mirroring ─────────────────────────────────────────────── */\n\n:host-context([dir=\"rtl\"]) .md-rating__items,\n:host([dir=\"rtl\"]) .md-rating__items {\n flex-direction: row-reverse;\n}\n\n/* ── Reduced motion ────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .md-rating__item,\n .md-rating__icon--state {\n transition: none;\n }\n .md-rating__item:hover {\n transform: none;\n }\n}\n\n/* ── Material Symbols font (shadow-root scope) ─────────────────── */\n\n/* Shadow DOM doesn't inherit page-level font-family rules, so the\n `.material-symbols-outlined` class on our internal icon spans\n needs its own font declaration here. Mirrors md-button.css. */\n.material-symbols-outlined {\n font-family: var(--md-rating-icon-font-family, 'Material Symbols Rounded', 'Material Symbols Outlined', 'Material Icons');\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n overflow-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* ==========================================================\n DENSITY (local override)\n Maps the local `density` prop onto the same --md-sys-density-scale signal a\n global `data-density` ancestor sets. Declared on :host, so a local rung wins\n over the inherited global one. Every density-sensitive value in this file\n derives from that single signal by calc — never add a fixed per-rung ladder.\n ========================================================== */\n:host([density='-1']) { --md-sys-density-scale: -1; }\n:host([density='-2']) { --md-sys-density-scale: -2; }\n:host([density='-3']) { --md-sys-density-scale: -3; }\n:host([density='-4']) { --md-sys-density-scale: -4; }\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n Watch,\n Method,\n AttachInternals,\n} from '@stencil/core';\nimport { setFormValue } from '../../utils/form';\n\n/**\n * `md-rating` — Material Design 3 Expressive Rating control.\n *\n * A star-rating input: configurable max, half-step precision, custom icons\n * (Material Symbols glyphs OR slotted SVG/HTML), per-value icons\n * (filled / empty), hover preview, read-only and disabled modes,\n * keyboard navigation (Arrow + Home/End), and reset to zero.\n *\n * MD3 Expressive: items animate with a brief tonal \"scale-up\" pop on\n * hover and selection; press uses a state-layer + ripple. The\n * underlying ARIA pattern is a slider so screen readers announce the\n * value as a continuous range.\n */\n@Component({\n tag: 'md-rating',\n styleUrl: 'md-rating.css',\n shadow: true,\n formAssociated: true,\n})\nexport class MdRating {\n @Element() el!: HTMLElement;\n\n /**\n * Form-association handle. The rating submits its `value` under the host's\n * `name` via `setFormValue`, so it participates in `<form>`/`FormData`\n * natively — a hidden `<input>` in the shadow root would be invisible to\n * `FormData`.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /** Current numeric rating (0 → max, half-steps when precision = 0.5). */\n @Prop({ mutable: true, reflect: true }) value: number = 0;\n\n /** Default value used when the consumer clears the rating (re-clicking the\n * current value). */\n @Prop({ attribute: 'default-value' }) defaultValue: number = 0;\n\n /** Maximum rating (number of items rendered). */\n @Prop({ reflect: true }) max: number = 5;\n\n /** Step size — `1` (full only) or `0.5` (half). */\n @Prop({ reflect: true }) precision: 1 | 0.5 = 1;\n\n /** Size of each item. */\n @Prop({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n /** Read-only — purely decorative; no interaction, no focus. */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /** Disabled — non-interactive and visually dimmed; not focusable. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Soft-disabled — disabled visuals but remains focusable for discoverability. */\n @Prop({ reflect: true, attribute: 'soft-disabled' }) softDisabled: boolean = false;\n\n /** Material Symbols glyph used for *filled* items. */\n @Prop() icon: string = 'star';\n\n /** Material Symbols glyph used for *empty* items. */\n @Prop({ attribute: 'empty-icon' }) emptyIcon: string = 'star';\n\n /**\n * Use the *filled* glyph for empty items as well, drawn with the\n * outline-only color treatment — a solid silhouette outline behind\n * the fill.\n */\n @Prop({ attribute: 'outline-empty', reflect: true }) outlineEmpty: boolean = true;\n\n /**\n * Optional label provider — `el.getLabel = (v) => \"${v} Stars\"`. Used\n * by the hidden screen-reader text and the visible value label\n * when `show-value-label` is set.\n */\n @Prop() getLabel?: (value: number) => string;\n\n /** When true, render the current numeric value beside the items. */\n @Prop({ attribute: 'show-value-label', reflect: true }) showValueLabel: boolean = false;\n\n /** Accessible label for the slider role. */\n /**\n * Accessible name for the rating control.\n *\n * The attribute is `rating-label`, NOT `aria-label-rating`. Anything starting\n * with `aria-` is parsed as an ARIA attribute, and `aria-label-rating` is not\n * one — so the previous name made axe report a CRITICAL `aria-valid-attr`\n * violation on every consumer that used the documented API. The value still\n * ends up as the host's accessible name; only the attribute spelling changed.\n */\n @Prop({ attribute: 'rating-label' }) ratingLabel: string = 'Rating';\n\n /** Form name for native form participation. */\n @Prop({ reflect: true }) name: string = '';\n\n /**\n * Hover-preview behaviour:\n * - `'preview'` (default) — display the hovered value over the live one.\n * - `'off'` — no hover preview; `value` is the only signal.\n */\n @Prop({ reflect: true }) hover: 'preview' | 'off' = 'preview';\n\n /**\n * Local density rung. Drives the same `--md-sys-density-scale` signal that a\n * global `data-density` ancestor sets, so a local value simply overrides the\n * inherited one. 0 = default, -4 = ultra-compact.\n */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n\n /** Fires while the user is hovering (or `null` when the cursor leaves). */\n @Event() mdHover: EventEmitter<number | null>;\n\n /** Fires whenever the value changes via interaction. */\n @Event() mdChange: EventEmitter<number>;\n\n @State() private hoveredValue: number | null = null;\n @State() private focused: boolean = false;\n\n /** Initial rating at load, restored on form reset. */\n private initialValue = 0;\n\n componentWillLoad() {\n this.validateValue(this.value);\n this.initialValue = this.value;\n }\n\n @Watch('value')\n validateValue(next: number) {\n if (typeof next !== 'number' || Number.isNaN(next)) {\n this.value = 0;\n return;\n }\n if (next < 0) this.value = 0;\n if (next > this.max) this.value = this.max;\n this.syncFormValue();\n }\n\n /** Re-clamp the value when `max` shrinks, so aria-valuenow can never fall\n * outside the announced [aria-valuemin, aria-valuemax] range. */\n @Watch('max')\n onMaxChange() {\n if (this.value > this.max) this.value = this.max;\n }\n\n /** Restore the initial rating when the owning form is reset. */\n formResetCallback() {\n this.value = this.initialValue;\n }\n\n /** Keep the submitted form value in sync with the rating. */\n private syncFormValue() {\n setFormValue(this.internals, this.value ? String(this.value) : null);\n }\n\n /** Programmatically focus the rating. */\n @Method()\n async focusRating() {\n const root = this.el.shadowRoot;\n const host = root?.querySelector('.md-rating__items') as HTMLElement | null;\n host?.focus();\n }\n\n private get isInteractive(): boolean {\n return !this.readonly && !this.disabled && !this.softDisabled;\n }\n\n private get displayValue(): number {\n return this.hoveredValue != null && this.hover === 'preview'\n ? this.hoveredValue\n : this.value;\n }\n\n private resolveLabel(value: number): string {\n if (this.getLabel) return this.getLabel(value);\n if (value === 0) return 'Empty';\n if (value === 1) return '1 Star';\n return `${value} Stars`;\n }\n\n /**\n * Accessible name for the slider. The focusable node is the shadow-internal\n * slider, so an external `<label>`, `aria-labelledby`, or host `aria-label`\n * can't otherwise name it (IDREFs don't cross the shadow boundary; a host\n * label on a generic host is dropped). We forward it: aria-labelledby (text)\n * → host aria-label → associated `<label>`s (via ElementInternals) → the\n * `rating-label` prop as the attribute-only fallback.\n */\n private resolveAccessibleLabel(): string {\n const host = this.el;\n const root = host.getRootNode() as Document | ShadowRoot;\n const byId = (id: string): Element | null =>\n (root as Document).getElementById?.(id) ??\n (typeof document !== 'undefined' ? document.getElementById(id) : null);\n const joinText = (els: Array<Element | null>) =>\n els.map((el) => el?.textContent?.trim() ?? '').filter(Boolean).join(' ');\n\n const labelledby = host.getAttribute('aria-labelledby');\n if (labelledby) {\n const text = joinText(labelledby.split(/\\s+/).map(byId));\n if (text) return text;\n }\n\n const hostAria = host.getAttribute('aria-label');\n if (hostAria) return hostAria;\n\n const labels = this.internals?.labels;\n if (labels && labels.length) {\n const text = joinText(Array.from(labels) as Element[]);\n if (text) return text;\n }\n\n return this.ratingLabel;\n }\n\n /**\n * Every label the value can take (one per discrete step, 0 → max). Rendered as\n * hidden sizers behind the visible label so its box reserves the widest label's\n * width — otherwise the text swapping on hover (\"1 Star\" → \"3.5 Stars\") would\n * resize the box and reflow the whole component. Icon-agnostic re: getLabel.\n */\n private valueLabelVariants(): string[] {\n const step = this.precision || 1;\n const set = new Set<string>();\n for (let v = 0; v <= this.max + 1e-9; v += step) {\n const val = Math.min(Math.round(v / step) * step, this.max);\n set.add(this.resolveLabel(val));\n }\n return Array.from(set);\n }\n\n private computeValueFromPointer = (\n itemIndex: number,\n e: MouseEvent | PointerEvent,\n itemEl: HTMLElement,\n ): number => {\n if (this.precision === 1) return itemIndex + 1;\n const rect = itemEl.getBoundingClientRect();\n const isRtl = getComputedStyle(this.el).direction === 'rtl';\n const x = e.clientX - rect.left;\n const ratio = isRtl ? 1 - x / rect.width : x / rect.width;\n return itemIndex + (ratio <= 0.5 ? 0.5 : 1);\n };\n\n private handleItemPointerMove = (i: number) => (e: PointerEvent) => {\n if (!this.isInteractive) return;\n if (this.hover === 'off') return;\n const target = e.currentTarget as HTMLElement;\n const next = this.computeValueFromPointer(i, e, target);\n if (next !== this.hoveredValue) {\n this.hoveredValue = next;\n this.mdHover.emit(next);\n }\n };\n\n private handlePointerLeave = () => {\n if (!this.isInteractive) return;\n if (this.hoveredValue == null) return;\n this.hoveredValue = null;\n this.mdHover.emit(null);\n };\n\n private handleItemClick = (i: number) => (e: MouseEvent) => {\n if (!this.isInteractive) return;\n const target = e.currentTarget as HTMLElement;\n let next = this.computeValueFromPointer(i, e, target);\n\n if (next === this.value) {\n next = this.defaultValue;\n }\n\n this.value = next;\n this.mdChange.emit(next);\n };\n\n /**\n * True when ripples are switched off, globally (`data-ripple=\"off\"` on an\n * ancestor) or on this component (`ripple=\"off\"`). Both resolve to\n * `--md-sys-ripple-enabled` in tokens.css §13.\n *\n * md-rating does NOT use the shared md-ripple element — its press effect is a\n * filled copy of the glyph revealed by a WAAPI clip-path animation, so it\n * bypasses the gate in md-ripple entirely and needs its own check to honour\n * the same switch.\n *\n * `=== '0'` deliberately: an unset property returns '' and must mean ENABLED,\n * so a falsiness test would kill ripples wherever the token sheet is absent.\n */\n private rippleSuppressed(): boolean {\n if (typeof getComputedStyle !== 'function') return false;\n try {\n return (\n getComputedStyle(this.el).getPropertyValue('--md-sys-ripple-enabled').trim() === '0'\n );\n } catch {\n return false;\n }\n }\n\n /**\n * Press ripple, clipped to the glyph. The ripple layer is a filled copy of\n * the icon, so an expanding `clip-path: circle()` from the pointer reveals it\n * within the star/heart/bolt silhouette — a shaped ripple that stays\n * icon-agnostic (no hardcoded star geometry). Runs via the Web Animations API\n * so each press restarts cleanly and it no-ops in non-DOM (spec) envs.\n */\n private handleItemPointerDown = () => (e: PointerEvent) => {\n if (!this.isInteractive || this.rippleSuppressed()) return;\n const item = e.currentTarget as HTMLElement;\n const ripple = item.querySelector('.md-rating__icon--ripple') as HTMLElement | null;\n if (!ripple || typeof ripple.animate !== 'function') return;\n const rect = item.getBoundingClientRect();\n const x = rect.width ? ((e.clientX - rect.left) / rect.width) * 100 : 50;\n const y = rect.height ? ((e.clientY - rect.top) / rect.height) * 100 : 50;\n ripple.animate(\n [\n { clipPath: `circle(0% at ${x}% ${y}%)`, opacity: 0.22 },\n { clipPath: `circle(85% at ${x}% ${y}%)`, opacity: 0 },\n ],\n { duration: 420, easing: 'cubic-bezier(0.2, 0, 0, 1)' },\n );\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (!this.isInteractive) return;\n const step = this.precision;\n let next = this.value;\n const isRtl = getComputedStyle(this.el).direction === 'rtl';\n\n switch (e.key) {\n case 'ArrowRight':\n next = isRtl ? this.value - step : this.value + step;\n break;\n case 'ArrowLeft':\n next = isRtl ? this.value + step : this.value - step;\n break;\n case 'ArrowUp':\n next = this.value + step;\n break;\n case 'ArrowDown':\n next = this.value - step;\n break;\n case 'Home':\n next = 0;\n break;\n case 'End':\n next = this.max;\n break;\n default:\n if (/^[0-9]$/.test(e.key)) {\n const digit = Number(e.key);\n if (digit <= this.max) next = digit;\n } else {\n // Not a slider key (e.g. Escape/Tab): let it bubble untouched so a\n // dialog/menu ancestor can still dismiss. Home already clears to 0.\n return;\n }\n }\n e.preventDefault();\n next = Math.max(0, Math.min(this.max, next));\n if (next !== this.value) {\n this.value = next;\n this.mdChange.emit(next);\n }\n };\n\n private handleFocus = () => {\n this.focused = true;\n };\n\n private handleBlur = () => {\n this.focused = false;\n if (this.hoveredValue != null) {\n this.hoveredValue = null;\n this.mdHover.emit(null);\n }\n };\n\n private renderItem(i: number) {\n const value = this.displayValue;\n const filledPortion = Math.max(0, Math.min(1, value - i));\n const isHalf = filledPortion > 0 && filledPortion < 1;\n const isFull = filledPortion >= 1;\n const isEmpty = filledPortion <= 0;\n\n return (\n // A non-interactive <span> (not <button>): the single interactive control\n // is the role=\"slider\" container, so an interactive descendant would trip\n // WAI-ARIA \"nested-interactive\". Pointer handlers still drive selection;\n // keyboard is handled on the slider. aria-hidden keeps it out of the tree.\n <span\n class={{\n 'md-rating__item': true,\n 'md-rating__item--full': isFull,\n 'md-rating__item--half': isHalf,\n 'md-rating__item--empty': isEmpty,\n }}\n part={`item ${isFull ? 'item-full' : isHalf ? 'item-half' : 'item-empty'}`}\n aria-hidden=\"true\"\n onPointerMove={this.handleItemPointerMove(i)}\n onPointerDown={this.handleItemPointerDown()}\n onClick={this.handleItemClick(i)}\n >\n <span class=\"md-rating__icon md-rating__icon--bg material-symbols-outlined\" part=\"icon-empty\">\n {this.outlineEmpty ? this.icon : this.emptyIcon}\n </span>\n <span\n class=\"md-rating__icon md-rating__icon--fg material-symbols-outlined\"\n part=\"icon-filled\"\n style={{ clipPath: `inset(0 ${(1 - filledPortion) * 100}% 0 0)` }}\n >\n {this.icon}\n </span>\n {/* State layer is a third copy of the glyph, so the hover/press overlay\n follows the icon silhouette (star, heart, bolt…) instead of a circle. */}\n <span\n class=\"md-rating__icon md-rating__icon--state material-symbols-outlined\"\n part=\"state-layer\"\n aria-hidden=\"true\"\n >\n {this.icon}\n </span>\n {/* Press ripple, clipped to the glyph via an expanding clip-path circle\n driven from handleItemPointerDown (see there). */}\n <span\n class=\"md-rating__icon md-rating__icon--ripple material-symbols-outlined\"\n part=\"ripple\"\n aria-hidden=\"true\"\n >\n {this.icon}\n </span>\n </span>\n );\n }\n\n render() {\n const tabindex = this.disabled\n ? '-1'\n : this.readonly\n ? undefined\n : '0';\n\n const value = this.value;\n // Readonly renders as role=\"img\" (a static picture of the rating). `img`\n // does NOT support the slider value/orientation/readonly attributes, so\n // emitting them trips WAI-ARIA \"aria-allowed-attr\". Instead the value is\n // folded into the img's accessible NAME (img ignores aria-valuetext), and\n // the slider ARIA is applied only in the interactive branch.\n const interactive = !this.readonly;\n const baseLabel = this.resolveAccessibleLabel();\n const name = interactive\n ? baseLabel\n : `${baseLabel}: ${this.resolveLabel(value)}`;\n\n return (\n <Host\n class={{\n 'md-rating': true,\n [`md-rating--${this.size}`]: true,\n 'md-rating--readonly': this.readonly,\n 'md-rating--disabled': this.disabled,\n 'md-rating--soft-disabled': this.softDisabled,\n 'md-rating--focused': this.focused,\n }}\n >\n <div\n class=\"md-rating__items\"\n role={interactive ? 'slider' : 'img'}\n aria-label={name}\n aria-valuemin={interactive ? 0 : undefined}\n aria-valuemax={interactive ? this.max : undefined}\n aria-valuenow={interactive ? value : undefined}\n aria-valuetext={interactive ? this.resolveLabel(value) : undefined}\n aria-orientation={interactive ? 'horizontal' : undefined}\n aria-readonly={interactive ? 'false' : undefined}\n aria-disabled={interactive && (this.disabled || this.softDisabled) ? 'true' : undefined}\n tabindex={tabindex}\n part=\"items\"\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onPointerLeave={this.handlePointerLeave}\n >\n {Array.from({ length: this.max }, (_, i) => this.renderItem(i))}\n </div>\n {this.showValueLabel && (\n <span class=\"md-rating__value-label\" part=\"value-label\" aria-hidden=\"true\">\n {/* Hidden sizers reserve the widest label's width so the visible text\n swapping on hover doesn't reflow the row (see valueLabelVariants). */}\n {this.valueLabelVariants().map((t) => (\n <span key={t} class=\"md-rating__value-label-sizer\" aria-hidden=\"true\">\n {t}\n </span>\n ))}\n <span class=\"md-rating__value-label-text\">\n {this.resolveLabel(this.displayValue)}\n </span>\n </span>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mdRatingCss","MdRating","constructor","hostRef","this","value","defaultValue","max","precision","size","readonly","disabled","softDisabled","icon","emptyIcon","outlineEmpty","showValueLabel","ratingLabel","name","hover","density","hoveredValue","focused","initialValue","computeValueFromPointer","itemIndex","e","itemEl","rect","getBoundingClientRect","isRtl","getComputedStyle","el","direction","x","clientX","left","ratio","width","handleItemPointerMove","i","isInteractive","target","currentTarget","next","mdHover","emit","handlePointerLeave","handleItemClick","mdChange","handleItemPointerDown","rippleSuppressed","item","ripple","querySelector","animate","y","height","clientY","top","clipPath","opacity","duration","easing","handleKeyDown","step","key","test","digit","Number","preventDefault","Math","min","handleFocus","handleBlur","componentWillLoad","validateValue","isNaN","syncFormValue","onMaxChange","formResetCallback","setFormValue","internals","String","focusRating","root","shadowRoot","host","focus","displayValue","resolveLabel","getLabel","resolveAccessibleLabel","getRootNode","byId","id","getElementById","document","joinText","els","map","textContent","trim","filter","Boolean","join","labelledby","getAttribute","text","split","hostAria","labels","length","Array","from","valueLabelVariants","set","Set","v","val","round","add","getPropertyValue","renderItem","filledPortion","isHalf","isFull","isEmpty","h","class","part","onPointerMove","onPointerDown","onClick","style","render","tabindex","undefined","interactive","baseLabel","Host","role","onKeyDown","onFocus","onBlur","onPointerLeave","_","t"],"sources":["src/components/md-rating/md-rating.css?tag=md-rating&encapsulation=shadow","src/components/md-rating/md-rating.tsx"],"sourcesContent":["/* ==========================================================\n md-rating — Material Design 3 Expressive Rating\n Spec: https://m3.material.io/styles/motion/overview\n Reference parity: https://mui.com/material-ui/react-rating/\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-rating-item-size Icon dimension (per `size`)\n --md-rating-item-gap Space between items\n --md-rating-active-color Filled icon color\n --md-rating-inactive-color Empty icon color\n --md-rating-focus-ring-color Focus ring color\n --md-rating-focus-ring-width Focus ring width\n --md-rating-focus-ring-offset Focus ring offset\n --md-rating-state-layer-color Hover / press overlay color\n --md-rating-value-label-color Color of the inline value label\n --md-rating-value-label-font Font of the value label\n --md-rating-pop-scale Scale on hover/active (MD3 Expressive)\n --md-rating-duration Animation duration\n\n CSS PARTS:\n items The slider container\n item Each star/icon button\n item-full A fully filled item\n item-half A half-filled item\n item-empty An empty item\n icon-empty The background (outline) icon\n icon-filled The clipped foreground (filled) icon\n state-layer Hover / press overlay — a filled glyph tracing the icon shape\n ripple Press ripple — a glyph-clipped expanding circle\n value-label The inline numeric value label\n ========================================================== */\n\n:host {\n --_size: var(--md-rating-item-size, max(12px, calc(28px + var(--md-sys-density-scale, 0) * 2px)));\n --_gap: var(--md-rating-item-gap, var(--md-sys-spacing-gap-xs, 4px));\n --_active-color: var(--md-rating-active-color, var(--md-sys-color-secondary, #FFB400));\n --_inactive-color: var(--md-rating-inactive-color, color-mix(in srgb, var(--md-sys-color-on-surface-variant) 30%, transparent));\n --_focus-ring-color: var(--md-rating-focus-ring-color, var(--md-sys-color-secondary));\n --_focus-ring-width: var(--md-rating-focus-ring-width, 3px);\n --_focus-ring-offset: var(--md-rating-focus-ring-offset, 2px);\n --_state-layer-color: var(--md-rating-state-layer-color, var(--md-sys-color-on-surface));\n --_label-color: var(--md-rating-value-label-color, var(--md-sys-color-on-surface));\n --_label-font: var(\n --md-rating-value-label-font,\n var(--md-sys-typescale-label-medium-font, system-ui)\n );\n --_pop-scale: var(--md-rating-pop-scale, 1.12);\n --_duration: var(--md-rating-duration, var(--md-sys-motion-duration-short3, 150ms));\n\n display: inline-flex;\n align-items: center;\n gap: var(--md-sys-spacing-gap-md, 12px);\n color: var(--_active-color);\n vertical-align: middle;\n}\n\n/* Size scale — MD3 Expressive density variants. */\n:host([size=\"xs\"]) { --_size: var(--md-rating-item-size, max(12px, calc(16px + var(--md-sys-density-scale, 0) * 2px))); }\n:host([size=\"sm\"]) { --_size: var(--md-rating-item-size, max(12px, calc(20px + var(--md-sys-density-scale, 0) * 2px))); }\n:host([size=\"md\"]) { --_size: var(--md-rating-item-size, max(12px, calc(28px + var(--md-sys-density-scale, 0) * 2px))); }\n:host([size=\"lg\"]) { --_size: var(--md-rating-item-size, max(12px, calc(36px + var(--md-sys-density-scale, 0) * 2px))); }\n:host([size=\"xl\"]) { --_size: var(--md-rating-item-size, max(12px, calc(48px + var(--md-sys-density-scale, 0) * 2px))); }\n\n.md-rating__items {\n display: inline-flex;\n align-items: center;\n gap: var(--_gap);\n position: relative;\n border-radius: var(--md-sys-shape-corner-full, 999px);\n outline: none;\n}\n\n.md-rating__items:focus-visible {\n outline: var(--_focus-ring-width) solid var(--_focus-ring-color);\n outline-offset: var(--_focus-ring-offset);\n}\n\n/* ── Item ─────────────────────────────────────────────────────── */\n\n.md-rating__item {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: var(--_size);\n block-size: var(--_size);\n padding: 0;\n margin: 0;\n border: 0;\n background: transparent;\n cursor: pointer;\n border-radius: 50%;\n color: inherit;\n font: inherit;\n transition:\n transform var(--_duration) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n color var(--_duration) ease;\n -webkit-tap-highlight-color: transparent;\n /* Composite the item so the hover pop scales the cached raster instead of\n re-hinting the font glyphs every frame — kills the edge shimmer/jitter. */\n will-change: transform;\n backface-visibility: hidden;\n}\n\n:host(.md-rating--readonly) .md-rating__item,\n:host(.md-rating--disabled) .md-rating__item,\n:host(.md-rating--soft-disabled) .md-rating__item {\n cursor: default;\n}\n\n.md-rating__item:hover {\n transform: scale(var(--_pop-scale));\n}\n\n:host(.md-rating--readonly) .md-rating__item:hover,\n:host(.md-rating--disabled) .md-rating__item:hover,\n:host(.md-rating--soft-disabled) .md-rating__item:hover {\n transform: none;\n}\n\n/* ── Icons ────────────────────────────────────────────────────── */\n\n.md-rating__icon {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: var(--md-rating-icon-font-family, 'Material Symbols Rounded', 'Material Symbols Outlined', 'Material Icons');\n font-size: var(--_size);\n font-weight: normal;\n font-style: normal;\n letter-spacing: normal;\n text-transform: none;\n line-height: 1;\n white-space: nowrap;\n direction: ltr;\n pointer-events: none;\n -webkit-font-smoothing: antialiased;\n font-feature-settings: 'liga';\n font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n\n.md-rating__icon--bg {\n color: var(--_inactive-color);\n}\n\n.md-rating__icon--fg {\n color: var(--_active-color);\n font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n}\n\n/* Outline-empty styling: use the filled glyph with the inactive\n colour for both layers so the outline silhouette is preserved. */\n:host([outline-empty]) .md-rating__icon--bg {\n font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n}\n\n/* ── State layer ──────────────────────────────────────────────── */\n\n/* The hover/press overlay is a filled copy of the glyph, so the state\n layer traces the icon silhouette (a star, heart, bolt…) instead of the\n old circle. It sits on top of the icons and tints them within their own\n shape. */\n.md-rating__icon--state {\n color: var(--_state-layer-color);\n opacity: 0;\n font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n transition: opacity var(--_duration) ease;\n}\n\n.md-rating__item:hover .md-rating__icon--state {\n opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);\n}\n\n.md-rating__item:active .md-rating__icon--state {\n opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);\n}\n\n:host(.md-rating--readonly) .md-rating__icon--state,\n:host(.md-rating--disabled) .md-rating__icon--state,\n:host(.md-rating--soft-disabled) .md-rating__icon--state {\n display: none;\n}\n\n/* ── Press ripple ─────────────────────────────────────────────── */\n\n/* A filled copy of the glyph, invisible at rest. handleItemPointerDown drives\n an expanding `clip-path: circle()` + fade over it via the Web Animations API,\n so the ripple reveals within the icon silhouette. */\n.md-rating__icon--ripple {\n color: var(--_state-layer-color);\n opacity: 0;\n font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n}\n\n:host(.md-rating--readonly) .md-rating__icon--ripple,\n:host(.md-rating--disabled) .md-rating__icon--ripple,\n:host(.md-rating--soft-disabled) .md-rating__icon--ripple {\n display: none;\n}\n\n/* ── Value label ──────────────────────────────────────────────── */\n\n.md-rating__value-label {\n /* Grid-stack the visible text over the hidden sizers so the box always\n reserves the widest label's width — the text can change on hover without\n resizing the box and reflowing the row. */\n display: inline-grid;\n place-items: center start;\n font: var(--_label-font);\n font-size: var(--md-sys-typescale-label-large-size, 14px);\n font-weight: var(--md-sys-typescale-label-large-weight, 500);\n color: var(--_label-color);\n white-space: nowrap;\n font-variant-numeric: tabular-nums;\n}\n\n.md-rating__value-label > * {\n grid-area: 1 / 1;\n}\n\n.md-rating__value-label-sizer {\n visibility: hidden;\n pointer-events: none;\n}\n\n/* ── Disabled / readonly visuals ──────────────────────────────── */\n\n:host(.md-rating--disabled) {\n opacity: var(--md-sys-state-disabled-content-opacity, 0.38);\n pointer-events: none;\n}\n\n:host(.md-rating--soft-disabled) {\n opacity: var(--md-sys-state-disabled-content-opacity, 0.38);\n}\n\n:host(.md-rating--soft-disabled) .md-rating__items {\n pointer-events: none;\n}\n\n/* Allow keyboard focus on soft-disabled. */\n:host(.md-rating--soft-disabled) .md-rating__items {\n pointer-events: auto;\n}\n\n:host(.md-rating--soft-disabled) .md-rating__item {\n pointer-events: none;\n}\n\n/* ── RTL mirroring ─────────────────────────────────────────────── */\n\n:host-context([dir=\"rtl\"]) .md-rating__items,\n:host([dir=\"rtl\"]) .md-rating__items {\n flex-direction: row-reverse;\n}\n\n/* ── Reduced motion ────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .md-rating__item,\n .md-rating__icon--state {\n transition: none;\n }\n .md-rating__item:hover {\n transform: none;\n }\n}\n\n/* ── Material Symbols font (shadow-root scope) ─────────────────── */\n\n/* Shadow DOM doesn't inherit page-level font-family rules, so the\n `.material-symbols-outlined` class on our internal icon spans\n needs its own font declaration here. Mirrors md-button.css. */\n.material-symbols-outlined {\n font-family: var(--md-rating-icon-font-family, 'Material Symbols Rounded', 'Material Symbols Outlined', 'Material Icons');\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n overflow-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* ==========================================================\n DENSITY (local override)\n Maps the local `density` prop onto the same --md-sys-density-scale signal a\n global `data-density` ancestor sets. Declared on :host, so a local rung wins\n over the inherited global one. Every density-sensitive value in this file\n derives from that single signal by calc — never add a fixed per-rung ladder.\n ========================================================== */\n:host([density='-1']) { --md-sys-density-scale: -1; }\n:host([density='-2']) { --md-sys-density-scale: -2; }\n:host([density='-3']) { --md-sys-density-scale: -3; }\n:host([density='-4']) { --md-sys-density-scale: -4; }\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n Watch,\n Method,\n AttachInternals,\n} from '@stencil/core';\nimport { setFormValue } from '../../utils/form';\n\n/**\n * `md-rating` — Material Design 3 Expressive Rating control.\n *\n * A star-rating input: configurable max, half-step precision, custom icons\n * (Material Symbols glyphs OR slotted SVG/HTML), per-value icons\n * (filled / empty), hover preview, read-only and disabled modes,\n * keyboard navigation (Arrow + Home/End), and reset to zero.\n *\n * MD3 Expressive: items animate with a brief tonal \"scale-up\" pop on\n * hover and selection; press uses a state-layer + ripple. The\n * underlying ARIA pattern is a slider so screen readers announce the\n * value as a continuous range.\n */\n@Component({\n tag: 'md-rating',\n styleUrl: 'md-rating.css',\n shadow: true,\n formAssociated: true,\n})\nexport class MdRating {\n @Element() el!: HTMLElement;\n\n /**\n * Form-association handle. The rating submits its `value` under the host's\n * `name` via `setFormValue`, so it participates in `<form>`/`FormData`\n * natively — a hidden `<input>` in the shadow root would be invisible to\n * `FormData`.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /** Current numeric rating (0 → max, half-steps when precision = 0.5). */\n @Prop({ mutable: true, reflect: true }) value: number = 0;\n\n /** Default value used when the consumer clears the rating (re-clicking the\n * current value). */\n @Prop({ attribute: 'default-value' }) defaultValue: number = 0;\n\n /** Maximum rating (number of items rendered). */\n @Prop({ reflect: true }) max: number = 5;\n\n /** Step size — `1` (full only) or `0.5` (half). */\n @Prop({ reflect: true }) precision: 1 | 0.5 = 1;\n\n /** Size of each item. */\n @Prop({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n /** Read-only — purely decorative; no interaction, no focus. */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /** Disabled — non-interactive and visually dimmed; not focusable. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Soft-disabled — disabled visuals but remains focusable for discoverability. */\n @Prop({ reflect: true, attribute: 'soft-disabled' }) softDisabled: boolean = false;\n\n /** Material Symbols glyph used for *filled* items. */\n @Prop() icon: string = 'star';\n\n /** Material Symbols glyph used for *empty* items. */\n @Prop({ attribute: 'empty-icon' }) emptyIcon: string = 'star';\n\n /**\n * Use the *filled* glyph for empty items as well, drawn with the\n * outline-only color treatment — a solid silhouette outline behind\n * the fill.\n */\n @Prop({ attribute: 'outline-empty', reflect: true }) outlineEmpty: boolean = true;\n\n /**\n * Optional label provider — `el.getLabel = (v) => \"${v} Stars\"`. Used\n * by the hidden screen-reader text and the visible value label\n * when `show-value-label` is set.\n */\n @Prop() getLabel?: (value: number) => string;\n\n /** When true, render the current numeric value beside the items. */\n @Prop({ attribute: 'show-value-label', reflect: true }) showValueLabel: boolean = false;\n\n /** Accessible label for the slider role. */\n /**\n * Accessible name for the rating control.\n *\n * The attribute is `rating-label`, NOT `aria-label-rating`. Anything starting\n * with `aria-` is parsed as an ARIA attribute, and `aria-label-rating` is not\n * one — so the previous name made axe report a CRITICAL `aria-valid-attr`\n * violation on every consumer that used the documented API. The value still\n * ends up as the host's accessible name; only the attribute spelling changed.\n */\n @Prop({ attribute: 'rating-label' }) ratingLabel: string = 'Rating';\n\n /** Form name for native form participation. */\n @Prop({ reflect: true }) name: string = '';\n\n /**\n * Hover-preview behaviour:\n * - `'preview'` (default) — display the hovered value over the live one.\n * - `'off'` — no hover preview; `value` is the only signal.\n */\n @Prop({ reflect: true }) hover: 'preview' | 'off' = 'preview';\n\n /**\n * Local density rung. Drives the same `--md-sys-density-scale` signal that a\n * global `data-density` ancestor sets, so a local value simply overrides the\n * inherited one. 0 = default, -4 = ultra-compact.\n */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n\n /** Fires while the user is hovering (or `null` when the cursor leaves). */\n @Event() mdHover: EventEmitter<number | null>;\n\n /** Fires whenever the value changes via interaction. */\n @Event() mdChange: EventEmitter<number>;\n\n @State() private hoveredValue: number | null = null;\n @State() private focused: boolean = false;\n\n /** Initial rating at load, restored on form reset. */\n private initialValue = 0;\n\n componentWillLoad() {\n this.validateValue(this.value);\n this.initialValue = this.value;\n }\n\n @Watch('value')\n validateValue(next: number) {\n if (typeof next !== 'number' || Number.isNaN(next)) {\n this.value = 0;\n return;\n }\n if (next < 0) this.value = 0;\n if (next > this.max) this.value = this.max;\n this.syncFormValue();\n }\n\n /** Re-clamp the value when `max` shrinks, so aria-valuenow can never fall\n * outside the announced [aria-valuemin, aria-valuemax] range. */\n @Watch('max')\n onMaxChange() {\n if (this.value > this.max) this.value = this.max;\n }\n\n /** Restore the initial rating when the owning form is reset. */\n formResetCallback() {\n this.value = this.initialValue;\n }\n\n /** Keep the submitted form value in sync with the rating. */\n private syncFormValue() {\n setFormValue(this.internals, this.value ? String(this.value) : null);\n }\n\n /** Programmatically focus the rating. */\n @Method()\n async focusRating() {\n const root = this.el.shadowRoot;\n const host = root?.querySelector('.md-rating__items') as HTMLElement | null;\n host?.focus();\n }\n\n private get isInteractive(): boolean {\n return !this.readonly && !this.disabled && !this.softDisabled;\n }\n\n private get displayValue(): number {\n return this.hoveredValue != null && this.hover === 'preview'\n ? this.hoveredValue\n : this.value;\n }\n\n private resolveLabel(value: number): string {\n if (this.getLabel) return this.getLabel(value);\n if (value === 0) return 'Empty';\n if (value === 1) return '1 Star';\n return `${value} Stars`;\n }\n\n /**\n * Accessible name for the slider. The focusable node is the shadow-internal\n * slider, so an external `<label>`, `aria-labelledby`, or host `aria-label`\n * can't otherwise name it (IDREFs don't cross the shadow boundary; a host\n * label on a generic host is dropped). We forward it: aria-labelledby (text)\n * → host aria-label → associated `<label>`s (via ElementInternals) → the\n * `rating-label` prop as the attribute-only fallback.\n */\n private resolveAccessibleLabel(): string {\n const host = this.el;\n const root = host.getRootNode() as Document | ShadowRoot;\n const byId = (id: string): Element | null =>\n (root as Document).getElementById?.(id) ??\n (typeof document !== 'undefined' ? document.getElementById(id) : null);\n const joinText = (els: Array<Element | null>) =>\n els.map((el) => el?.textContent?.trim() ?? '').filter(Boolean).join(' ');\n\n const labelledby = host.getAttribute('aria-labelledby');\n if (labelledby) {\n const text = joinText(labelledby.split(/\\s+/).map(byId));\n if (text) return text;\n }\n\n const hostAria = host.getAttribute('aria-label');\n if (hostAria) return hostAria;\n\n const labels = this.internals?.labels;\n if (labels && labels.length) {\n const text = joinText(Array.from(labels) as Element[]);\n if (text) return text;\n }\n\n return this.ratingLabel;\n }\n\n /**\n * Every label the value can take (one per discrete step, 0 → max). Rendered as\n * hidden sizers behind the visible label so its box reserves the widest label's\n * width — otherwise the text swapping on hover (\"1 Star\" → \"3.5 Stars\") would\n * resize the box and reflow the whole component. Icon-agnostic re: getLabel.\n */\n private valueLabelVariants(): string[] {\n const step = this.precision || 1;\n const set = new Set<string>();\n for (let v = 0; v <= this.max + 1e-9; v += step) {\n const val = Math.min(Math.round(v / step) * step, this.max);\n set.add(this.resolveLabel(val));\n }\n return Array.from(set);\n }\n\n private computeValueFromPointer = (\n itemIndex: number,\n e: MouseEvent | PointerEvent,\n itemEl: HTMLElement,\n ): number => {\n if (this.precision === 1) return itemIndex + 1;\n const rect = itemEl.getBoundingClientRect();\n const isRtl = getComputedStyle(this.el).direction === 'rtl';\n const x = e.clientX - rect.left;\n const ratio = isRtl ? 1 - x / rect.width : x / rect.width;\n return itemIndex + (ratio <= 0.5 ? 0.5 : 1);\n };\n\n private handleItemPointerMove = (i: number) => (e: PointerEvent) => {\n if (!this.isInteractive) return;\n if (this.hover === 'off') return;\n const target = e.currentTarget as HTMLElement;\n const next = this.computeValueFromPointer(i, e, target);\n if (next !== this.hoveredValue) {\n this.hoveredValue = next;\n this.mdHover.emit(next);\n }\n };\n\n private handlePointerLeave = () => {\n if (!this.isInteractive) return;\n if (this.hoveredValue == null) return;\n this.hoveredValue = null;\n this.mdHover.emit(null);\n };\n\n private handleItemClick = (i: number) => (e: MouseEvent) => {\n if (!this.isInteractive) return;\n const target = e.currentTarget as HTMLElement;\n let next = this.computeValueFromPointer(i, e, target);\n\n if (next === this.value) {\n next = this.defaultValue;\n }\n\n this.value = next;\n this.mdChange.emit(next);\n };\n\n /**\n * True when ripples are switched off, globally (`data-ripple=\"off\"` on an\n * ancestor) or on this component (`ripple=\"off\"`). Both resolve to\n * `--md-sys-ripple-enabled` in tokens.css §13.\n *\n * md-rating does NOT use the shared md-ripple element — its press effect is a\n * filled copy of the glyph revealed by a WAAPI clip-path animation, so it\n * bypasses the gate in md-ripple entirely and needs its own check to honour\n * the same switch.\n *\n * `=== '0'` deliberately: an unset property returns '' and must mean ENABLED,\n * so a falsiness test would kill ripples wherever the token sheet is absent.\n */\n private rippleSuppressed(): boolean {\n if (typeof getComputedStyle !== 'function') return false;\n try {\n return (\n getComputedStyle(this.el).getPropertyValue('--md-sys-ripple-enabled').trim() === '0'\n );\n } catch {\n return false;\n }\n }\n\n /**\n * Press ripple, clipped to the glyph. The ripple layer is a filled copy of\n * the icon, so an expanding `clip-path: circle()` from the pointer reveals it\n * within the star/heart/bolt silhouette — a shaped ripple that stays\n * icon-agnostic (no hardcoded star geometry). Runs via the Web Animations API\n * so each press restarts cleanly and it no-ops in non-DOM (spec) envs.\n */\n private handleItemPointerDown = () => (e: PointerEvent) => {\n if (!this.isInteractive || this.rippleSuppressed()) return;\n const item = e.currentTarget as HTMLElement;\n const ripple = item.querySelector('.md-rating__icon--ripple') as HTMLElement | null;\n if (!ripple || typeof ripple.animate !== 'function') return;\n const rect = item.getBoundingClientRect();\n const x = rect.width ? ((e.clientX - rect.left) / rect.width) * 100 : 50;\n const y = rect.height ? ((e.clientY - rect.top) / rect.height) * 100 : 50;\n ripple.animate(\n [\n { clipPath: `circle(0% at ${x}% ${y}%)`, opacity: 0.22 },\n { clipPath: `circle(85% at ${x}% ${y}%)`, opacity: 0 },\n ],\n { duration: 420, easing: 'cubic-bezier(0.2, 0, 0, 1)' },\n );\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (!this.isInteractive) return;\n const step = this.precision;\n let next = this.value;\n const isRtl = getComputedStyle(this.el).direction === 'rtl';\n\n switch (e.key) {\n case 'ArrowRight':\n next = isRtl ? this.value - step : this.value + step;\n break;\n case 'ArrowLeft':\n next = isRtl ? this.value + step : this.value - step;\n break;\n case 'ArrowUp':\n next = this.value + step;\n break;\n case 'ArrowDown':\n next = this.value - step;\n break;\n case 'Home':\n next = 0;\n break;\n case 'End':\n next = this.max;\n break;\n default:\n if (/^[0-9]$/.test(e.key)) {\n const digit = Number(e.key);\n if (digit <= this.max) next = digit;\n } else {\n // Not a slider key (e.g. Escape/Tab): let it bubble untouched so a\n // dialog/menu ancestor can still dismiss. Home already clears to 0.\n return;\n }\n }\n e.preventDefault();\n next = Math.max(0, Math.min(this.max, next));\n if (next !== this.value) {\n this.value = next;\n this.mdChange.emit(next);\n }\n };\n\n private handleFocus = () => {\n this.focused = true;\n };\n\n private handleBlur = () => {\n this.focused = false;\n if (this.hoveredValue != null) {\n this.hoveredValue = null;\n this.mdHover.emit(null);\n }\n };\n\n private renderItem(i: number) {\n const value = this.displayValue;\n const filledPortion = Math.max(0, Math.min(1, value - i));\n const isHalf = filledPortion > 0 && filledPortion < 1;\n const isFull = filledPortion >= 1;\n const isEmpty = filledPortion <= 0;\n\n return (\n // A non-interactive <span> (not <button>): the single interactive control\n // is the role=\"slider\" container, so an interactive descendant would trip\n // WAI-ARIA \"nested-interactive\". Pointer handlers still drive selection;\n // keyboard is handled on the slider. aria-hidden keeps it out of the tree.\n <span\n class={{\n 'md-rating__item': true,\n 'md-rating__item--full': isFull,\n 'md-rating__item--half': isHalf,\n 'md-rating__item--empty': isEmpty,\n }}\n part={`item ${isFull ? 'item-full' : isHalf ? 'item-half' : 'item-empty'}`}\n aria-hidden=\"true\"\n onPointerMove={this.handleItemPointerMove(i)}\n onPointerDown={this.handleItemPointerDown()}\n onClick={this.handleItemClick(i)}\n >\n <span class=\"md-rating__icon md-rating__icon--bg material-symbols-outlined\" part=\"icon-empty\">\n {this.outlineEmpty ? this.icon : this.emptyIcon}\n </span>\n <span\n class=\"md-rating__icon md-rating__icon--fg material-symbols-outlined\"\n part=\"icon-filled\"\n style={{ clipPath: `inset(0 ${(1 - filledPortion) * 100}% 0 0)` }}\n >\n {this.icon}\n </span>\n {/* State layer is a third copy of the glyph, so the hover/press overlay\n follows the icon silhouette (star, heart, bolt…) instead of a circle. */}\n <span\n class=\"md-rating__icon md-rating__icon--state material-symbols-outlined\"\n part=\"state-layer\"\n aria-hidden=\"true\"\n >\n {this.icon}\n </span>\n {/* Press ripple, clipped to the glyph via an expanding clip-path circle\n driven from handleItemPointerDown (see there). */}\n <span\n class=\"md-rating__icon md-rating__icon--ripple material-symbols-outlined\"\n part=\"ripple\"\n aria-hidden=\"true\"\n >\n {this.icon}\n </span>\n </span>\n );\n }\n\n render() {\n const tabindex = this.disabled\n ? '-1'\n : this.readonly\n ? undefined\n : '0';\n\n const value = this.value;\n // Readonly renders as role=\"img\" (a static picture of the rating). `img`\n // does NOT support the slider value/orientation/readonly attributes, so\n // emitting them trips WAI-ARIA \"aria-allowed-attr\". Instead the value is\n // folded into the img's accessible NAME (img ignores aria-valuetext), and\n // the slider ARIA is applied only in the interactive branch.\n const interactive = !this.readonly;\n const baseLabel = this.resolveAccessibleLabel();\n const name = interactive\n ? baseLabel\n : `${baseLabel}: ${this.resolveLabel(value)}`;\n\n return (\n <Host\n class={{\n 'md-rating': true,\n [`md-rating--${this.size}`]: true,\n 'md-rating--readonly': this.readonly,\n 'md-rating--disabled': this.disabled,\n 'md-rating--soft-disabled': this.softDisabled,\n 'md-rating--focused': this.focused,\n }}\n >\n <div\n class=\"md-rating__items\"\n role={interactive ? 'slider' : 'img'}\n aria-label={name}\n aria-valuemin={interactive ? 0 : undefined}\n aria-valuemax={interactive ? this.max : undefined}\n aria-valuenow={interactive ? value : undefined}\n aria-valuetext={interactive ? this.resolveLabel(value) : undefined}\n aria-orientation={interactive ? 'horizontal' : undefined}\n aria-readonly={interactive ? 'false' : undefined}\n aria-disabled={interactive && (this.disabled || this.softDisabled) ? 'true' : undefined}\n tabindex={tabindex}\n part=\"items\"\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onPointerLeave={this.handlePointerLeave}\n >\n {Array.from({ length: this.max }, (_, i) => this.renderItem(i))}\n </div>\n {this.showValueLabel && (\n <span class=\"md-rating__value-label\" part=\"value-label\" aria-hidden=\"true\">\n {/* Hidden sizers reserve the widest label's width so the visible text\n swapping on hover doesn't reflow the row (see valueLabelVariants). */}\n {this.valueLabelVariants().map((t) => (\n <span key={t} class=\"md-rating__value-label-sizer\" aria-hidden=\"true\">\n {t}\n </span>\n ))}\n <span class=\"md-rating__value-label-text\">\n {this.resolveLabel(this.displayValue)}\n </span>\n </span>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,f as s,h as e,H as l,g as r}from"./p-WmvQpZnM.js";import{L as a}from"./p-DnKDoE8K.js";import{V as n,i as o,n as h,r as c,c as d}from"./p-Bz-JaJcA.js";import{s as m,g as u,c as p,r as f}from"./p-DWxN44zD.js";import{p as v}from"./p-CxhZdOPw.js";const _=()=>`:host{--md-text-field-padding-inline-end:var(--md-sys-spacing-inset-lg, 16px);--_min-width:var(--md-multi-select-min-width, 200px);--_chip-gap:var(--md-multi-select-chip-gap, var(--md-sys-spacing-gap-xs, 4px));--_chip-radius:var(--md-multi-select-chip-radius, 8px);--_caret-color:var(--md-multi-select-caret-color, var(--md-sys-color-on-surface-variant));--_clear-color:var(--md-multi-select-clear-color, var(--md-sys-color-on-surface-variant));--_option-icon-size:var(--md-multi-select-option-icon-size, 20px);font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);display:inline-block;inline-size:var(--md-multi-select-width, 100%);min-inline-size:var(--_min-width);box-sizing:border-box;vertical-align:bottom;position:relative}.md-multi-select__field{display:block;inline-size:100%;cursor:pointer;--md-text-field-cursor:pointer}.md-multi-select__field::part(input){cursor:pointer}:host(.md-multi-select--display-text) .md-multi-select__field::part(input){text-overflow:ellipsis}:host(.md-multi-select--disabled) .md-multi-select__field,:host(.md-multi-select--soft-disabled) .md-multi-select__field{cursor:not-allowed;--md-text-field-cursor:not-allowed}:host(.md-multi-select--disabled) .md-multi-select__field::part(input),:host(.md-multi-select--soft-disabled) .md-multi-select__field::part(input){cursor:not-allowed}.md-multi-select__frame{display:flex;flex-direction:column;gap:var(--md-multi-select-frame-gap, max(6px, calc(8px + var(--md-sys-density-scale, 0) * 0.5px)))}:host(.md-multi-select--chips-top) .md-multi-select__frame{flex-direction:column-reverse;gap:var(--md-multi-select-frame-gap, max(6px, calc(16px + var(--md-sys-density-scale, 0) * 2.5px)))}:host(.md-multi-select--chips-left) .md-multi-select__frame,:host(.md-multi-select--chips-right) .md-multi-select__frame{flex-flow:row nowrap;align-items:center;justify-content:flex-start}:host(.md-multi-select--chips-left) .md-multi-select__chips{order:-1}:host(.md-multi-select--chips-left) .md-multi-select__field,:host(.md-multi-select--chips-right) .md-multi-select__field{inline-size:var(--md-multi-select-trigger-width, max-content);flex:0 0 auto}:host(.md-multi-select--chips-left) ::slotted([slot='trigger']),:host(.md-multi-select--chips-right) ::slotted([slot='trigger']){inline-size:var(--md-multi-select-trigger-width, max-content);flex:0 0 auto}:host(.md-multi-select--chips-left) .md-multi-select__chips,:host(.md-multi-select--chips-right) .md-multi-select__chips{flex:0 1 auto;min-inline-size:0}.md-multi-select__chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--_chip-gap);max-inline-size:100%}:host(.md-multi-select--chips-bottom) .md-multi-select__chips,:host(.md-multi-select--chips-top) .md-multi-select__chips{contain:inline-size}.md-multi-select__chips md-chip{--md-chip-container-shape:var(--_chip-radius)}.md-multi-select__button{flex:0 0 auto}.md-multi-select__button-desc{padding-block-start:4px;padding-inline:16px;font:var(--md-sys-typescale-body-small, 400 12px/16px Roboto, sans-serif);color:var(--md-sys-color-on-surface-variant, #49454f)}.md-multi-select__button-desc--error{color:var(--md-sys-color-error, #b3261e)}.md-multi-select__sr-live{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.md-multi-select__inline-chips{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--_chip-gap);min-inline-size:0;max-inline-size:100%;flex:1 1 auto;position:relative;overflow:hidden;}.md-multi-select__inline-chips--wrap{flex-wrap:wrap;overflow:visible;padding-block-start:var(--md-multi-select-inline-chips-block-start, var(--md-sys-spacing-gap-xs, 4px));row-gap:var(--_chip-gap)}.md-multi-select__inline-chips md-chip,.md-multi-select__inline-measure md-chip{--md-chip-container-shape:var(--_chip-radius);flex-shrink:0}.md-multi-select__measure-clip{position:absolute;inline-size:0;block-size:0;overflow:hidden;pointer-events:none}.md-multi-select__inline-measure{position:absolute;inset-block-start:0;inset-inline-start:0;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--_chip-gap);inline-size:max-content;visibility:hidden;pointer-events:none;white-space:nowrap}.md-multi-select__overflow-chip{flex-shrink:0;display:inline-flex;align-items:center;block-size:var(--md-multi-select-chip-height, 32px);padding-inline:12px;border:1px solid var(--md-multi-select-chip-outline, var(--md-sys-color-outline-variant, #CAC4D0));border-radius:var(--_chip-radius);background:transparent;color:var(--md-sys-color-on-surface-variant, #49454F);font:500 var(--md-sys-typescale-label-large-size, 14px) / var(--md-sys-typescale-label-large-line-height, 20px) var(--md-sys-typescale-label-large-font, Roboto, sans-serif);white-space:nowrap;cursor:pointer}.md-multi-select__overflow-chip:hover:not(:disabled){background:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) 8%, transparent)}.md-multi-select__overflow-chip:focus-visible{outline:2px solid var(--md-sys-color-primary, #6750A4);outline-offset:2px}.md-multi-select__clear{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--md-multi-select-clear-size, 28px);block-size:var(--md-multi-select-clear-size, 28px);padding:0;background:var(--md-multi-select-clear-bg, transparent);border:0;border-radius:var(--md-multi-select-clear-radius, 50%);color:var(--_clear-color);cursor:pointer;font-size:var(--md-multi-select-clear-icon-size, 18px);transition:background var(--md-sys-motion-duration-short2, 100ms) ease}.md-multi-select__clear:hover{background:var(--md-multi-select-clear-hover-bg, color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent))}.md-multi-select__clear:focus-visible{outline-width:var(--md-multi-select-clear-focus-ring-width, 2px);outline-style:solid;outline-color:var(--md-multi-select-clear-focus-ring-color, var(--md-sys-color-primary));outline-offset:var(--md-multi-select-clear-focus-ring-offset, 1px)}.md-multi-select__clear .material-symbols-outlined{font-size:var(--md-multi-select-clear-icon-size, 18px)}.md-multi-select__field .md-multi-select__caret-box{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto}.md-multi-select__caret{color:var(--_caret-color);font-size:var(--md-multi-select-caret-size, 24px);line-height:1;transition:transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));display:inline-flex;align-items:center;justify-content:center;inline-size:var(--md-multi-select-caret-box-size, 24px);block-size:var(--md-multi-select-caret-box-size, 24px)}:host(.md-multi-select--open) .md-multi-select__caret{transform:rotate(180deg)}.md-multi-select__loader{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--md-multi-select-loader-size, 24px);block-size:var(--md-multi-select-loader-size, 24px);--md-loading-indicator-size:var(--md-multi-select-spinner-size, 22px);--md-loading-indicator-shape-size:var(--md-multi-select-spinner-size, 22px)}.md-multi-select__loading{display:flex;align-items:center;padding-block:var(--md-multi-select-loading-padding, var(--md-sys-spacing-inset-lg, 16px));padding-inline:var(--md-multi-select-loading-padding, var(--md-sys-spacing-inset-lg, 16px))}.md-multi-select__loading md-progress-indicator{inline-size:100%}.md-multi-select__empty{display:flex;justify-content:center;padding:var(--md-multi-select-empty-padding, var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px));color:var(--md-multi-select-empty-color, var(--md-sys-color-on-surface-variant, #49454f));text-align:center;font:var(--md-multi-select-empty-font, var(--md-sys-typescale-body-medium, 400 14px/20px Roboto, sans-serif))}.md-multi-select__select-all{display:block;border-block-end:var(--md-multi-select-select-all-divider-width, 1px) solid var(--md-multi-select-select-all-divider-color, var(--md-sys-color-outline-variant, #cac4d0))}md-menu::part(empty-text){display:block;padding:var(--md-multi-select-empty-padding, var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px));color:var(--md-multi-select-empty-color, var(--md-sys-color-on-surface-variant));text-align:center}.md-multi-select__option-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--md-multi-select-option-icon-color, var(--md-sys-color-on-surface-variant, #49454f));font-size:var(--_option-icon-size);inline-size:var(--_option-icon-size);block-size:var(--_option-icon-size);line-height:1}@media (prefers-reduced-motion: reduce){.md-multi-select__caret,.md-multi-select__clear{transition:none}}@media (forced-colors: active){.md-multi-select__caret{color:CanvasText}.md-multi-select__clear:focus-visible{outline-color:Highlight}}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.md-multi-select__vspacer{display:block;flex:none;pointer-events:none}.md-multi-select__search-wrap{position:relative;display:block}.md-multi-select__search{box-sizing:border-box;width:100%;border:none;outline:none;padding:var(--md-multi-select-search-padding, 12px 44px 12px 16px);font:inherit;color:var(--md-multi-select-search-color, var(--md-sys-color-on-surface, #1d1b20));background:var(--md-multi-select-search-bg, var(--md-sys-color-surface-container, #f3edf7));border-bottom:var(--md-multi-select-search-border-width, 1px) solid var(--md-multi-select-search-border-color, var(--md-sys-color-outline-variant, #cac4d0))}.md-multi-select__search::placeholder{color:var(--md-multi-select-search-placeholder-color, var(--md-sys-color-on-surface-variant, #49454f))}.md-multi-select__search-spinner{position:absolute;inset-block-start:50%;inset-inline-end:12px;margin-block-start:-12px;--md-loading-indicator-size:var(--md-multi-select-search-spinner-size, 24px);--md-loading-indicator-shape-size:18px;pointer-events:none}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}`;let g=0;const b=200;const y=180;const x=class{constructor(l){t(this,l);this.mdChange=i(this,"mdChange",7);this.mdOpen=i(this,"mdOpen",7);this.mdClose=i(this,"mdClose",7);this.mdRemove=i(this,"mdRemove",7);this.mdClear=i(this,"mdClear",7);this.mdValidityChange=i(this,"mdValidityChange",5);if(l.$hostElement$["s-ei"]){this.internals=l.$hostElement$["s-ei"]}else{this.internals=l.$hostElement$.attachInternals();l.$hostElement$["s-ei"]=this.internals}this.valueMissingLabel="Please select at least one option";this.reserveSupportingSpace=false;this.customValidityMessage="";this.variant="outlined";this.label="";this.placeholder="";this.supportingText="";this.error=false;this.errorText="";this.disabled=false;this.softDisabled=false;this.required=false;this.density=0;this.options=[];this.virtualize="auto";this.filterable=false;this.filterMode="substring";this.value=[];this.maxSelected=0;this.showSelectAll=false;this.selectAllLabel="Select all";this.placement="bottom-start";this.matchTriggerWidth=true;this.displayMode="chips";this.chipOverflow="count";this.chipPosition="bottom";this.trigger="field";this.triggerIcon="add";this.triggerLabel="";this.searchPlaceholder="Search…";this.filterLabel="";this.noResultsText="No results";this.noOptionsText="No options";this.searchingLabel="Searching";this.loadingText="Loading…";this.loading=false;this.clearable=false;this.clearIcon="close";this.clearLabel="Clear selection";this.dropdownIcon="arrow_drop_down";this.name="";this.open=false;this.optionsData=[];this.triggerId=`md-multi-select-${++g}`;this.hasTriggerLeading=false;this.hasTriggerTrailing=false;this.liveMessage="";this.hasSlottedTrigger=false;this.query="";this.inlineVisibleCount=Number.POSITIVE_INFINITY;this.inlineOverflowCount=0;this.wiredTrigger=null;this._needsReposition=false;this._focusChipAfterRender=null;this.vc=new n({queryItem:t=>this.el.shadowRoot?.querySelector(`md-menu-item[data-vindex="${t}"]`)??null,requestRender:()=>s(this)});this.providerSet=false;this.selectedLabelMap=new Map;this.searching=false;this.queryText=null;this.defaultValue=[];this.onTriggerSlotChange=()=>{this.computeSlottedTrigger();this.wireSlottedTrigger()};this.lastValidityKey=null;this.loadSeq=0;this._syncGuard=false;this._lastEmit=null;this.toggleOpen=()=>{if(this.isDisabled)return;this.open=!this.open};this.isSelected=t=>this.value.includes(t);this.toggleValue=(t,i)=>{i?.stopPropagation();if(this.isDisabled)return;const s=this.isSelected(t);const e=!s&&this.maxSelected>0&&this.value.length>=this.maxSelected;if(e){const t=i?.target;if(t)t.selected=false;return}const l=s?this.value.filter((i=>i!==t)):[...this.value,t];this.value=l;this.mdChange.emit([...l])};this.removeValue=t=>i=>{i.stopPropagation();if("preventDefault"in i)i.preventDefault();if(this.isDisabled||!this.isSelected(t))return;const s=this.selectedOptions().findIndex((i=>i.value===t));this.value=this.value.filter((i=>i!==t));this.mdRemove.emit(t);this.mdChange.emit([...this.value]);const e=this.selectedOptions().length;this._focusChipAfterRender=e===0?"trigger":Math.min(s,e-1)};this.clearValue=t=>{t.stopPropagation();if(this.isDisabled||this.value.length===0)return;this.value=[];this.mdChange.emit([]);this.mdClear.emit();this.fieldEl?.focus?.()};this.toggleSelectAll=t=>{t?.stopPropagation();if(this.isDisabled)return;const i=this.optionsData.filter((t=>!t.disabled)).map((t=>t.value));const s=i.length>0&&i.every((t=>this.value.includes(t)));this.value=s?[]:i.slice(0,this.maxSelected>0?this.maxSelected:undefined);this.mdChange.emit([...this.value]);const e=t?.target;if(e){const t=i.length>0&&i.every((t=>this.value.includes(t)));e.selected=t;e.indeterminate=!t&&i.some((t=>this.value.includes(t)))}};this.vpWired=false;this.handleMenuOpen=()=>{this._syncGuard=true;this.open=true;this._syncGuard=false;if(this._lastEmit!=="open"){this._lastEmit="open";this.mdOpen.emit()}if(this.vc.active){this.wireViewport()}if(this.filterable){requestAnimationFrame((()=>{const t=this.el.shadowRoot?.querySelector(".md-multi-select__search");t?.focus();void this.menuEl?.setComboboxElement?.(t)}))}};this.handleMenuClose=()=>{this._syncGuard=true;this.open=false;this._syncGuard=false;if(this._lastEmit!=="close"){this._lastEmit="close";this.mdClose.emit()}void this.menuEl?.setComboboxElement?.(null);this.vc.detachViewport();this.vpWired=false;if(this.query){this.query="";const t=this.el.shadowRoot?.querySelector(".md-multi-select__search");if(t)t.value=""}};this.onSearchInput=t=>{const i=t.target.value;this.queryText=null;if(!this.vc.active){this.query=i;return}if(!this.searching){this.searching=true;s(this)}clearTimeout(this.searchDebounce);this.searchDebounce=setTimeout((()=>{this.vc.setQuery(i);this.searching=false;s(this)}),y)};this.renderValueChip=t=>e("md-chip",{key:t.value,part:"chip",exportparts:"remove:chip-remove,label:chip-label",variant:"input",selectable:false,label:t.label,disabled:this.isDisabled,removable:!this.isDisabled,onMdRemove:this.removeValue(t.value),onClick:t=>t.stopPropagation()});this.recomputeInlineOverflow=()=>{if(this.trigger!=="field"||this.displayMode!=="chips-inline"||this.chipOverflow!=="count")return;const t=this.inlineDisplayEl;const i=this.inlineMeasureEl;const s=this.selectedOptions().length;if(!t||!i||s===0)return;const e=t.clientWidth;if(e<=0)return;const l=getComputedStyle(i).columnGap||getComputedStyle(i).gap;const r=parseFloat(l)||4;const a=Array.from(i.querySelectorAll("md-chip"));const n=a.slice(0,s).map((t=>t.getBoundingClientRect().width));if(n.some((t=>t<=0)))return;const o=i.querySelector(".md-multi-select__overflow-chip");const h=o?o.getBoundingClientRect().width:44;let c=0;for(let t=0;t<s;t++)c+=n[t]+(t>0?r:0);let d;if(c<=e+.5){d=s}else{const t=e-h-r;let i=0;d=0;for(let e=0;e<s;e++){const s=n[e]+(e>0?r:0);if(i+s<=t){i+=s;d++}else break}}if(d!==this.inlineVisibleCount||s-d!==this.inlineOverflowCount){this.inlineVisibleCount=d;this.inlineOverflowCount=s-d}}}get optionList(){return v(this.options,"md-multi-select","options")}get isDisabled(){return this.disabled||this.softDisabled}async show(){if(this.isDisabled)return;this.open=true}async close(){this.open=false}async focusTrigger(){this.fieldEl?.focus?.()}async reset(){if(this.value.length===0)return;this.value=[];this.mdChange.emit([])}async loadOptions(t){if(this.virtualize==="never"||!o()){this.loadSeq++;this.vc.reset();this.optionsData=h(c(t));return}const i=++this.loadSeq;this.optionsData=[];this.vc.setFixedRowHeight(this.rowHeight);this.vc.setFilterMode(this.filterMode);const e=await this.vc.load(t);if(i!==this.loadSeq)return;if(!e){this.vc.reset();this.optionsData=h(c(t))}else{this.updateSelectedLabels()}s(this)}async setQuery(t){this.vc.setQuery(t);if(!this.vc.active)this.query=t;this.queryText=t;this.syncSearchField();s(this)}syncSearchField(){if(this.queryText===null)return;const t=this.el.shadowRoot?.querySelector(".md-multi-select__search");if(!t)return;t.value=this.queryText;this.queryText=null}async getLabels(t){return Object.fromEntries(this.vc.getLabels(t))}componentDidLoad(){this.wireSlottedTrigger();if(this.open&&!this.isDisabled){this.menuEl?.show?.({autoFocus:false})}if(typeof ResizeObserver!=="undefined"&&this.frameEl){this._frameRO=new ResizeObserver((()=>{if(this.open)void this.menuEl?.reposition?.()}));this._frameRO.observe(this.frameEl)}}componentWillLoad(){this.refreshOptions();if(this.value.length===0){const t=this.optionsData.filter((t=>t.selected&&!t.disabled)).map((t=>t.value));if(t.length)this.value=t}this.defaultValue=[...this.value];this.syncFormValue();this.hasTriggerLeading=!!this.el.querySelector('[slot="trigger-leading"]');this.hasTriggerTrailing=!!this.el.querySelector('[slot="trigger-trailing"]');this.computeSlottedTrigger()}computeSlottedTrigger(){this.hasSlottedTrigger=this.el.querySelector('[slot="trigger"]')!==null}wireSlottedTrigger(){const t=this.el.querySelector('[slot="trigger"]');if(!t){this.wiredTrigger?.removeEventListener("click",this.toggleOpen);this.wiredTrigger=null;return}if(t!==this.wiredTrigger){this.wiredTrigger?.removeEventListener("click",this.toggleOpen);t.addEventListener("click",this.toggleOpen);this.wiredTrigger=t}if(!t.id)t.id=this.triggerId;else if(t.id!==this.triggerId)this.triggerId=t.id;t.setAttribute("aria-haspopup","listbox");this.fieldEl=t}formResetCallback(){this.value=[...this.defaultValue]}syncFormValue(){this.updateSelectedLabels();this.updateValidity();this.liveMessage=this.value.length?`${this.value.length} selected`:"None selected";this._needsReposition=true;if(!this.value.length){m(this.internals,null);return}const t=new FormData;const i=this.name||"";for(const s of this.value)t.append(i,s);m(this.internals,t)}updateValidity(){if(!this.internals?.setValidity)return;if(this.customValidityMessage){this.internals.setValidity({customError:true},this.customValidityMessage,this.fieldEl??this.el)}else if(this.required&&this.value.length===0){this.internals.setValidity({valueMissing:true},this.errorText||this.valueMissingLabel,this.fieldEl??this.el)}else{this.internals.setValidity({})}this.emitValidityChange()}async getValidity(){return u(this.internals)}emitValidityChange(){const t=u(this.internals);const i=`${t.valid}|${t.validationMessage}`;if(this.lastValidityKey===i)return;const s=this.lastValidityKey!==null;this.lastValidityKey=i;if(s)this.mdValidityChange.emit(t)}async checkValidity(){return p(this.internals)}async reportValidity(){return f(this.internals)}async setCustomValidity(t){this.customValidityMessage=t;this.updateValidity()}refreshOptions(){const t=d(this.el,this.optionList);const i=this.virtualize==="always"||this.virtualize==="auto"&&t.length>b;if(i&&o()&&t.length>0){const i=++this.loadSeq;this.optionsData=[];this.vc.setFixedRowHeight(this.rowHeight);this.vc.setFilterMode(this.filterMode);void this.vc.load(t).then((e=>{if(i!==this.loadSeq)return;if(!e){this.optionsData=t;s(this)}else{this.updateSelectedLabels()}}))}else{this.loadSeq++;this.vc.reset();this.optionsData=t}}updateSelectedLabels(){if(this.vc.active&&this.value.length){this.selectedLabelMap=this.vc.getLabels(this.value)}else{this.selectedLabelMap=new Map}s(this)}onOptionChange(t){t.stopPropagation();this.refreshOptions()}syncMenu(t){if(this._syncGuard||!this.menuEl)return;if(t)this.menuEl.show?.({autoFocus:!this.filterable});else this.menuEl.close?.()}handleKeyDown(t){if(this.isDisabled)return;if(!this.open&&(t.key==="ArrowDown"||t.key==="ArrowUp"||t.key==="Enter"||t.key===" ")){t.preventDefault();this.open=true}else if(this.open&&t.key==="Escape"){t.preventDefault();this.open=false;this.fieldEl?.focus?.()}}wireViewport(){void(async()=>{const t=await(this.menuEl?.getScrollViewport?.())??null;if(!t||this.vpWired)return;this.vpWired=true;await this.vc.attachViewport((async()=>t))})()}componentDidRender(){this.syncSearchField();if(!this.menuEl)return;if(this.vc.active&&!this.providerSet){void this.menuEl.setVirtualProvider?.(this.vc.provider);this.providerSet=true;if(this.open&&this.filterable){const t=this.el.shadowRoot?.querySelector(".md-multi-select__search");void this.menuEl?.setComboboxElement?.(t)}}else if(!this.vc.active&&this.providerSet){void this.menuEl.setVirtualProvider?.(null);this.providerSet=false}if(this.open&&this.vc.active&&!this.vpWired)this.wireViewport();if(this._needsReposition){this._needsReposition=false;if(this.open)requestAnimationFrame((()=>void this.menuEl?.reposition?.()))}if(this._focusChipAfterRender!==null){const t=this._focusChipAfterRender;this._focusChipAfterRender=null;requestAnimationFrame((()=>{if(t==="trigger"){this.fieldEl?.focus?.();return}const i=this.el.shadowRoot?.querySelectorAll(".md-multi-select__chips md-chip, .md-multi-select__inline-chips > md-chip");const s=i?.[t];const e=s?.shadowRoot?.querySelector('[part="remove"]');(e??s??this.fieldEl)?.focus?.()}))}if(this.trigger==="field"&&this.displayMode==="chips-inline"&&this.chipOverflow==="count"){if(typeof ResizeObserver!=="undefined"){if(!this._inlineRO)this._inlineRO=new ResizeObserver(this.recomputeInlineOverflow);this._inlineRO.disconnect();if(this.inlineDisplayEl)this._inlineRO.observe(this.inlineDisplayEl);if(this.inlineMeasureEl)this._inlineRO.observe(this.inlineMeasureEl)}requestAnimationFrame(this.recomputeInlineOverflow)}else{this._inlineRO?.disconnect()}}disconnectedCallback(){this.wiredTrigger?.removeEventListener("click",this.toggleOpen);this.wiredTrigger=null;clearTimeout(this.searchDebounce);this.vc.detachViewport();this._frameRO?.disconnect();this._frameRO=undefined;this._inlineRO?.disconnect();this._inlineRO=undefined}selectedOptions(){if(this.vc.active){return this.value.map((t=>({value:t,label:this.selectedLabelMap.get(t)??t,disabled:false})))}return this.value.map((t=>this.optionsData.find((i=>i.value===t)))).filter((t=>!!t))}countText(){const t=this.value.length;if(t===0)return"";return this.countFormatter?this.countFormatter(t):`${t} selected`}renderTrigger(){return[e("slot",{name:"trigger",onSlotchange:this.onTriggerSlotChange}),this.hasSlottedTrigger?this.renderTriggerMessage():this.trigger==="button"?this.renderButtonTrigger():this.renderFieldTrigger()]}renderFieldTrigger(){const t=this.selectedOptions();const i=t.length>0;const s=this.displayMode==="chips-inline";const l=s?"":this.displayMode==="text"&&i?t.map((t=>t.label)).join(", "):i?this.countText():"";return e("md-text-field",{ref:t=>this.fieldEl=t,id:this.triggerId,class:"md-multi-select__field",part:"field",exportparts:"container:field-container,input:field-input,label:field-label",variant:this.variant,label:this.label,placeholder:i?"":this.placeholder,value:l,readOnly:true,disabled:this.disabled,error:this.error,errorText:this.errorText,reserveSupportingSpace:this.reserveSupportingSpace,supportingText:this.supportingText,required:this.required,density:this.chipPosition==="left"||this.chipPosition==="right"?-3:this.density,appearFocused:this.open,chipsWrap:s&&this.chipOverflow==="wrap",onClick:this.toggleOpen},this.hasTriggerLeading&&e("slot",{name:"trigger-leading",slot:"leading-icon"}),s&&this.renderInlineChips(),this.hasTriggerTrailing&&e("slot",{name:"trigger-trailing",slot:"trailing-icon"}),this.loading?e("span",{slot:"trailing-icon",class:"md-multi-select__loader",part:"loading-spinner"},e("slot",{name:"loader"},e(a,{label:this.loadingText}))):[this.clearable&&i&&!this.isDisabled&&e("button",{type:"button",slot:"trailing-icon",class:"md-multi-select__clear",part:"clear","aria-label":this.clearLabel,onClick:this.clearValue},e("span",{class:"material-symbols-outlined","aria-hidden":"true"},this.clearIcon)),e("span",{slot:"trailing-icon",class:"md-multi-select__caret-box",part:"caret-box","aria-hidden":"true"},e("span",{class:"md-multi-select__caret material-symbols-outlined",part:"caret"},e("slot",{name:"dropdown-icon"},this.dropdownIcon)))])}renderButtonTrigger(){const t=this.error&&this.errorText?this.errorText:this.supportingText;const i=t?`${this.triggerId}-desc`:undefined;return[e("md-button",{ref:t=>this.fieldEl=t,id:this.triggerId,class:"md-multi-select__button",part:"field button",variant:"outlined",size:"xs",icon:this.triggerIcon,loading:this.loading,disabled:this.isDisabled,"aria-haspopup":"listbox","aria-expanded":String(this.open),"aria-controls":this.listboxRendered?`${this.triggerId}-listbox`:undefined,"aria-invalid":this.error?"true":undefined,"aria-describedby":i,onMdClick:this.toggleOpen},this.triggerLabel||this.label),this.renderTriggerMessage()]}renderTriggerMessage(){const t=this.error&&this.errorText?this.errorText:this.supportingText;if(!t)return null;return e("div",{id:this.hasSlottedTrigger?undefined:`${this.triggerId}-desc`,class:{"md-multi-select__button-desc":true,"md-multi-select__button-desc--error":this.error&&!!this.errorText},part:"button-desc",role:this.error?"alert":undefined},t)}get listboxRendered(){return this.open&&!this.loading&&(this.vc.active||this.optionsData.length>0)}renderInlineChips(){const t=this.selectedOptions();if(t.length===0)return null;const i=this.chipOverflow==="wrap";const s=i?t.length:Math.min(t.length,this.inlineVisibleCount);const l=i?0:t.length-s;return e("div",{slot:"chips",class:{"md-multi-select__inline-chips":true,"md-multi-select__inline-chips--wrap":i},part:"chips",role:"group","aria-label":this.label?`${this.label} — selected`:"Selected",ref:t=>this.inlineDisplayEl=t},t.slice(0,s).map(this.renderValueChip),l>0&&e("button",{type:"button",class:"md-multi-select__overflow-chip",part:"overflow-chip","aria-label":`${l} more selected — open to manage`,onClick:t=>{t.stopPropagation();this.toggleOpen()}},"+",l))}renderInlineMeasure(){if(this.trigger!=="field"||this.displayMode!=="chips-inline"||this.chipOverflow!=="count")return null;const t=this.selectedOptions();if(t.length===0)return null;return e("div",{class:"md-multi-select__measure-clip","aria-hidden":"true"},e("div",{class:"md-multi-select__inline-measure",ref:t=>this.inlineMeasureEl=t},t.map(this.renderValueChip),e("span",{class:"md-multi-select__overflow-chip"},"+",t.length)))}renderChips(){if(this.trigger!=="button"&&!this.hasSlottedTrigger&&this.displayMode!=="chips")return null;const t=this.selectedOptions();if(t.length===0)return null;return e("div",{class:"md-multi-select__chips",part:"chips",role:"group","aria-label":this.label?`${this.label} — selected`:"Selected"},t.map((t=>e("md-chip",{key:t.value,part:"chip",exportparts:"remove:chip-remove,label:chip-label",variant:"input",selectable:false,label:t.label,disabled:this.isDisabled,removable:!this.isDisabled,onMdRemove:this.removeValue(t.value),onClick:t=>t.stopPropagation()}))))}renderVirtualOptions(){return e("div",{class:"md-multi-select__listbox",part:"listbox",role:"listbox",id:`${this.triggerId}-listbox`,"aria-multiselectable":"true","aria-label":this.label||"Options"},e("div",{class:"md-multi-select__vspacer",style:{height:`${this.vc.topPad}px`},"aria-hidden":"true"}),this.vc.windowRows.map(((t,i)=>{const s=this.vc.windowStart+i;const l=this.isSelected(t.value);return e("md-menu-item",{key:t.index,id:`${this.triggerId}-opt-${s}`,"data-vindex":s,presentation:"option",type:"checkbox","check-position":"start","keep-open":true,part:l?"option option-selected":"option",disabled:t.disabled,selected:l,headline:t.label,"supporting-text":t.supportingText||"","aria-setsize":this.vc.filteredLength,"aria-posinset":s+1,onMdClick:i=>this.toggleValue(t.value,i)},t.icon?e("span",{slot:"leading-icon",part:"option-icon",class:"material-symbols-outlined md-multi-select__option-icon","aria-hidden":"true"},t.icon):null)})),e("div",{class:"md-multi-select__vspacer",style:{height:`${this.vc.bottomPad}px`},"aria-hidden":"true"}))}renderEmpty(t,i){return e("div",{class:"md-multi-select__empty",part:"empty",role:"status"},e("slot",{name:t},i))}renderMenu(){const t=this.vc.active;const i=this.optionsData.filter((t=>!t.disabled));const s=i.length>0&&i.every((t=>this.value.includes(t.value)));const l=!s&&i.some((t=>this.value.includes(t.value)));const r=this.filterable&&!t?this.query.trim().toLowerCase():"";const n=r?this.optionsData.filter((t=>t.label.toLowerCase().includes(r)||(t.supportingText||"").toLowerCase().includes(r))):this.optionsData;const o=!this.loading&&(t&&this.vc.filteredLength===0||!t&&!!r&&n.length===0);const h=!this.loading&&!t&&!r&&this.optionsData.length===0;const c=t?this.maxHeight??320:this.maxHeight;return e("md-menu",{ref:t=>this.menuEl=t,anchor:this.triggerId,placement:this.placement,"match-anchor-width":this.matchTriggerWidth,"max-height":c,"auto-focus":!this.filterable,"empty-text":"",listbox:true,"list-label":this.label||"Options",part:"menu",exportparts:"surface:menu-surface,empty-text",onMdOpen:this.handleMenuOpen,onMdClose:this.handleMenuClose},e("div",{slot:"header",part:"menu-header",class:"md-multi-select__menu-header"},e("slot",{name:"menu-header"})),this.filterable&&!this.loading&&e("div",{slot:"header",class:"md-multi-select__search-wrap",part:"search-wrap"},e("input",{class:"md-multi-select__search",part:"search",type:"text",role:"combobox","aria-haspopup":"listbox","aria-expanded":String(this.open),"aria-controls":`${this.triggerId}-listbox`,"aria-autocomplete":"list",autocomplete:"off",placeholder:this.searchPlaceholder,"aria-label":this.filterLabel||(this.label?`Filter ${this.label}`:"Filter options"),onInput:this.onSearchInput,onClick:t=>t.stopPropagation()}),this.searching&&e(a,{class:"md-multi-select__search-spinner",part:"search-spinner",label:this.searchingLabel,"aria-hidden":"true"})),this.showSelectAll&&!t&&!this.loading&&this.optionsData.length>0&&e("div",{slot:"header",class:"md-multi-select__select-all",part:"select-all"},e("md-menu-item",{type:"checkbox","check-position":"start",part:"select-all-item","role-override":"checkbox","keep-open":true,headline:this.selectAllLabel,selected:s,indeterminate:l,disabled:this.isDisabled,onMdClick:t=>this.toggleSelectAll(t)})),this.loading?e("div",{class:"md-multi-select__loading",part:"loading-bar",role:"status","aria-label":this.loadingText},e("slot",{name:"menu-loader"},e("md-progress-indicator",{variant:"linear",indeterminate:true,wave:true,part:"loading-progress",label:this.loadingText}))):t?[this.renderVirtualOptions(),o?this.renderEmpty("no-results",this.noResultsText):null]:h?this.renderEmpty("no-options",this.noOptionsText):[e("div",{class:"md-multi-select__listbox",part:"listbox",role:"listbox",id:`${this.triggerId}-listbox`,"aria-multiselectable":"true","aria-label":this.label||"Options"},n.map(((t,i)=>{const s=this.isSelected(t.value);return e("md-menu-item",{key:t.value,id:`${this.triggerId}-opt-${i}`,presentation:"option",type:"checkbox","check-position":"start","keep-open":true,part:s?"option option-selected":"option",disabled:t.disabled,selected:s,headline:t.label,"supporting-text":t.supportingText||"",onMdClick:i=>this.toggleValue(t.value,i)},t.icon?e("span",{slot:"leading-icon",part:"option-icon",class:"material-symbols-outlined md-multi-select__option-icon",style:t.iconColor?{color:t.iconColor}:undefined,"aria-hidden":"true"},t.icon):null)}))),o?this.renderEmpty("no-results",this.noResultsText):null])}render(){return e(l,{key:"9fe3cdfe669524760d977efe2714ebcf4f19a59c",class:{"md-multi-select":true,[`md-multi-select--${this.variant}`]:true,"md-multi-select--open":this.open,"md-multi-select--disabled":this.disabled,"md-multi-select--soft-disabled":this.softDisabled,"md-multi-select--loading":this.loading,[`md-multi-select--display-${this.displayMode}`]:true,"md-multi-select--button":this.trigger==="button"&&!this.hasSlottedTrigger,"md-multi-select--slotted-trigger":this.hasSlottedTrigger,[`md-multi-select--chips-${this.chipPosition}`]:this.trigger==="button"||this.hasSlottedTrigger||this.displayMode==="chips"},"aria-haspopup":"listbox","aria-busy":this.loading?"true":undefined},e("div",{key:"7b1b2aecd1ac12d5645e779daa2973d60c00d678",class:"md-multi-select__frame",part:"frame",ref:t=>this.frameEl=t},this.renderTrigger(),this.renderChips()),this.renderInlineMeasure(),this.renderMenu(),e("div",{key:"18d8e66db39168d0f4d336220c09dab3615460aa",class:"md-multi-select__sr-live",part:"live-region",role:"status","aria-live":"polite","aria-atomic":"true"},this.liveMessage),e("div",{key:"0b01ad6bdeb5d95c6d035bc739ac83094f0e6e57",class:"md-multi-select__options",hidden:true},e("slot",{key:"e4bbb120ffdaf6307976dffa41227e97a8b834d0",onSlotchange:()=>this.refreshOptions()})))}static get formAssociated(){return true}get el(){return r(this)}static get watchers(){return{value:[{syncFormValue:0}],required:[{updateValidity:0}],valueMissingLabel:[{updateValidity:0}],options:[{refreshOptions:0}],open:[{syncMenu:0}]}}};x.style=_();export{x as md_multi_select};
2
+ //# sourceMappingURL=p-8a7e0297.entry.js.map