@bmxc/pami-elements 0.1.0-beta.1 → 0.1.0-beta.2

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 (949) hide show
  1. package/README.md +11 -28
  2. package/bin/templates/astro/package.json +2 -2
  3. package/bin/templates/html/index.html +2 -2
  4. package/bin/templates/html/package.json +2 -2
  5. package/bin/templates/next/package.json +3 -3
  6. package/bin/templates/nuxt/package.json +2 -2
  7. package/bin/templates/sveltekit/package.json +2 -2
  8. package/custom-elements.json +1359 -227
  9. package/dist/cjs/{a11y-Ca42WC0-.js → a11y-BkZcUjqf.js} +3 -3
  10. package/dist/cjs/{a11y-Ca42WC0-.js.map → a11y-BkZcUjqf.js.map} +1 -1
  11. package/dist/cjs/{bar-chart-C5fkmmAE.js → bar-chart-H044QgXk.js} +4 -4
  12. package/dist/cjs/{bar-chart-C5fkmmAE.js.map → bar-chart-H044QgXk.js.map} +1 -1
  13. package/dist/cjs/{chart-CHUt-2H0.js → chart-XXwCCL0v.js} +4 -4
  14. package/dist/cjs/{chart-CHUt-2H0.js.map → chart-XXwCCL0v.js.map} +1 -1
  15. package/dist/cjs/{hit-test-ChmAe1Nv.js → hit-test-C-8-_ADP.js} +3 -3
  16. package/dist/cjs/{hit-test-ChmAe1Nv.js.map → hit-test-C-8-_ADP.js.map} +1 -1
  17. package/dist/cjs/isolation-escape-DfVN8s6G.js +92 -0
  18. package/dist/cjs/isolation-escape-DfVN8s6G.js.map +1 -0
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/cjs/pami-app-bar.cjs.entry.js +2 -2
  21. package/dist/cjs/pami-app-bar.cjs.entry.js.map +1 -1
  22. package/dist/cjs/pami-area-chart.cjs.entry.js +4 -4
  23. package/dist/cjs/pami-avatar_2.cjs.entry.js +2 -2
  24. package/dist/cjs/pami-avatar_2.cjs.entry.js.map +1 -1
  25. package/dist/cjs/pami-bar-chart.cjs.entry.js +4 -4
  26. package/dist/cjs/pami-bottom-sheet.cjs.entry.js +2 -2
  27. package/dist/cjs/pami-bottom-sheet.cjs.entry.js.map +1 -1
  28. package/dist/cjs/pami-breadcrumb-item.cjs.entry.js +2 -2
  29. package/dist/cjs/pami-breadcrumb-item.cjs.entry.js.map +1 -1
  30. package/dist/cjs/pami-button_7.cjs.entry.js +23 -39
  31. package/dist/cjs/pami-button_7.cjs.entry.js.map +1 -1
  32. package/dist/cjs/pami-callout.cjs.entry.js +30 -0
  33. package/dist/cjs/pami-callout.cjs.entry.js.map +1 -0
  34. package/dist/cjs/pami-checkbox.cjs.entry.js +5 -5
  35. package/dist/cjs/pami-checkbox.cjs.entry.js.map +1 -1
  36. package/dist/cjs/pami-chip.cjs.entry.js +5 -5
  37. package/dist/cjs/pami-chip.cjs.entry.js.map +1 -1
  38. package/dist/cjs/pami-date-picker.cjs.entry.js +4 -5
  39. package/dist/cjs/pami-date-picker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/pami-dialog.cjs.entry.js +4 -4
  41. package/dist/cjs/pami-dialog.cjs.entry.js.map +1 -1
  42. package/dist/cjs/pami-divider.cjs.entry.js +2 -2
  43. package/dist/cjs/pami-fab-menu-item.cjs.entry.js +5 -5
  44. package/dist/cjs/pami-fab-menu-item.cjs.entry.js.map +1 -1
  45. package/dist/cjs/pami-fab-menu.cjs.entry.js +2 -2
  46. package/dist/cjs/pami-fab.cjs.entry.js +5 -5
  47. package/dist/cjs/pami-fab.cjs.entry.js.map +1 -1
  48. package/dist/cjs/pami-line-chart.cjs.entry.js +6 -6
  49. package/dist/cjs/pami-list-item.cjs.entry.js +2 -2
  50. package/dist/cjs/pami-list-item.cjs.entry.js.map +1 -1
  51. package/dist/cjs/pami-menu-item-group.cjs.entry.js +2 -2
  52. package/dist/cjs/pami-menu-item-group.cjs.entry.js.map +1 -1
  53. package/dist/cjs/pami-menu_2.cjs.entry.js +5 -88
  54. package/dist/cjs/pami-menu_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/pami-meter.cjs.entry.js +2 -2
  56. package/dist/cjs/pami-multi-select.cjs.entry.js +3 -3
  57. package/dist/cjs/pami-multi-select.cjs.entry.js.map +1 -1
  58. package/dist/cjs/pami-navigation-bar.cjs.entry.js +2 -2
  59. package/dist/cjs/pami-navigation-bar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/pami-navigation-group.cjs.entry.js +24 -0
  61. package/dist/cjs/pami-navigation-group.cjs.entry.js.map +1 -0
  62. package/dist/cjs/pami-navigation-rail-tab.cjs.entry.js +156 -9
  63. package/dist/cjs/pami-navigation-rail-tab.cjs.entry.js.map +1 -1
  64. package/dist/cjs/pami-navigation-rail.cjs.entry.js +211 -29
  65. package/dist/cjs/pami-navigation-rail.cjs.entry.js.map +1 -1
  66. package/dist/cjs/pami-navigation-tab.cjs.entry.js +3 -3
  67. package/dist/cjs/pami-navigation-tab.cjs.entry.js.map +1 -1
  68. package/dist/cjs/pami-organization-chart.cjs.entry.js +1 -1
  69. package/dist/cjs/pami-organization-chart.cjs.entry.js.map +1 -1
  70. package/dist/cjs/{pami-painter-CEq_kp4Z.js → pami-painter-WpO-HKN2.js} +260 -57
  71. package/dist/cjs/pami-painter-WpO-HKN2.js.map +1 -0
  72. package/dist/cjs/pami-pie-chart.cjs.entry.js +4 -4
  73. package/dist/cjs/pami-progress-indicator.cjs.entry.js +1 -1
  74. package/dist/cjs/pami-rating.cjs.entry.js +3 -3
  75. package/dist/cjs/pami-rating.cjs.entry.js.map +1 -1
  76. package/dist/cjs/pami-search.cjs.entry.js +1 -1
  77. package/dist/cjs/pami-search.cjs.entry.js.map +1 -1
  78. package/dist/cjs/pami-segmented-button-set.cjs.entry.js +2 -2
  79. package/dist/cjs/pami-segmented-button.cjs.entry.js +6 -6
  80. package/dist/cjs/pami-segmented-button.cjs.entry.js.map +1 -1
  81. package/dist/cjs/pami-select.cjs.entry.js +2 -2
  82. package/dist/cjs/pami-side-sheet.cjs.entry.js +49 -22
  83. package/dist/cjs/pami-side-sheet.cjs.entry.js.map +1 -1
  84. package/dist/cjs/pami-skeleton.cjs.entry.js +1 -1
  85. package/dist/cjs/pami-slider.cjs.entry.js +2 -2
  86. package/dist/cjs/pami-slider.cjs.entry.js.map +1 -1
  87. package/dist/cjs/pami-sparkline.cjs.entry.js +4 -4
  88. package/dist/cjs/pami-split-button.cjs.entry.js +6 -6
  89. package/dist/cjs/pami-split-button.cjs.entry.js.map +1 -1
  90. package/dist/cjs/pami-step.cjs.entry.js +7 -7
  91. package/dist/cjs/pami-stepper.cjs.entry.js +3 -3
  92. package/dist/cjs/pami-sub-menu-item.cjs.entry.js +4 -4
  93. package/dist/cjs/pami-sub-menu-item.cjs.entry.js.map +1 -1
  94. package/dist/cjs/pami-switch.cjs.entry.js +4 -4
  95. package/dist/cjs/pami-switch.cjs.entry.js.map +1 -1
  96. package/dist/cjs/pami-tab-panel.cjs.entry.js +1 -1
  97. package/dist/cjs/pami-tab-panels.cjs.entry.js +1 -1
  98. package/dist/cjs/pami-tab.cjs.entry.js +5 -5
  99. package/dist/cjs/pami-table-body.cjs.entry.js +1 -1
  100. package/dist/cjs/pami-table-cell.cjs.entry.js +2 -2
  101. package/dist/cjs/pami-table-container.cjs.entry.js +2 -2
  102. package/dist/cjs/pami-table-expand-toggle.cjs.entry.js +2 -2
  103. package/dist/cjs/pami-table-foot.cjs.entry.js +1 -1
  104. package/dist/cjs/pami-table-head.cjs.entry.js +1 -1
  105. package/dist/cjs/pami-table-pagination.cjs.entry.js +2 -2
  106. package/dist/cjs/pami-table-row.cjs.entry.js +4 -4
  107. package/dist/cjs/pami-table-sort-label.cjs.entry.js +2 -2
  108. package/dist/cjs/pami-table-toolbar.cjs.entry.js +2 -2
  109. package/dist/cjs/pami-tabs.cjs.entry.js +2 -2
  110. package/dist/cjs/pami-tag.cjs.entry.js +27 -0
  111. package/dist/cjs/pami-tag.cjs.entry.js.map +1 -0
  112. package/dist/cjs/pami-text-field.cjs.entry.js +2 -2
  113. package/dist/cjs/pami-text-field.cjs.entry.js.map +1 -1
  114. package/dist/cjs/pami-toolbar.cjs.entry.js +3 -3
  115. package/dist/cjs/pami-transfer-list.cjs.entry.js +1 -1
  116. package/dist/cjs/pami-transfer-list.cjs.entry.js.map +1 -1
  117. package/dist/cjs/pami.cjs.js +1 -1
  118. package/dist/cjs/{ripple-CiICEyeg.js → ripple-xSbG6X8P.js} +7 -2
  119. package/dist/cjs/ripple-xSbG6X8P.js.map +1 -0
  120. package/dist/cjs/{rtl-D4GO_8Co.js → rtl-Dof3JElE.js} +27 -5
  121. package/dist/cjs/rtl-Dof3JElE.js.map +1 -0
  122. package/dist/cjs/status-surface-BWKxIZPo.js +13 -0
  123. package/dist/cjs/status-surface-BWKxIZPo.js.map +1 -0
  124. package/dist/cjs/virtual-select-controller-BwjMiADh.js.map +1 -1
  125. package/dist/collection/collection-manifest.json +3 -0
  126. package/dist/collection/components/pami-app-bar/pami-app-bar.css +85 -86
  127. package/dist/collection/components/pami-bottom-sheet/pami-bottom-sheet.css +85 -86
  128. package/dist/collection/components/pami-breadcrumb-item/pami-breadcrumb-item.css +85 -86
  129. package/dist/collection/components/pami-button/pami-button.css +85 -86
  130. package/dist/collection/components/pami-callout/pami-callout.css +298 -0
  131. package/dist/collection/components/pami-callout/pami-callout.js +94 -0
  132. package/dist/collection/components/pami-callout/pami-callout.js.map +1 -0
  133. package/dist/collection/components/pami-card/pami-card.css +85 -86
  134. package/dist/collection/components/pami-checkbox/pami-checkbox.css +85 -86
  135. package/dist/collection/components/pami-checkbox/pami-checkbox.js +2 -2
  136. package/dist/collection/components/pami-chip/pami-chip.css +85 -86
  137. package/dist/collection/components/pami-chip/pami-chip.js +2 -2
  138. package/dist/collection/components/pami-date-picker/pami-date-picker.js +3 -4
  139. package/dist/collection/components/pami-date-picker/pami-date-picker.js.map +1 -1
  140. package/dist/collection/components/pami-dialog/pami-dialog.css +85 -86
  141. package/dist/collection/components/pami-dialog/pami-dialog.js +2 -2
  142. package/dist/collection/components/pami-divider/pami-divider.js +2 -2
  143. package/dist/collection/components/pami-fab/pami-fab.css +85 -86
  144. package/dist/collection/components/pami-fab/pami-fab.js +2 -2
  145. package/dist/collection/components/pami-fab-menu/pami-fab-menu.js +2 -2
  146. package/dist/collection/components/pami-fab-menu-item/pami-fab-menu-item.css +85 -86
  147. package/dist/collection/components/pami-fab-menu-item/pami-fab-menu-item.js +2 -2
  148. package/dist/collection/components/pami-icon/pami-icon.js +1 -1
  149. package/dist/collection/components/pami-icon-button/pami-icon-button.css +85 -86
  150. package/dist/collection/components/pami-line-chart/pami-line-chart.js +2 -2
  151. package/dist/collection/components/pami-list-item/pami-list-item.css +1597 -1599
  152. package/dist/collection/components/pami-menu/pami-menu.css +1 -1
  153. package/dist/collection/components/pami-menu-item/pami-menu-item.css +5 -5
  154. package/dist/collection/components/pami-menu-item-group/pami-menu-item-group.css +2 -2
  155. package/dist/collection/components/pami-menu-item-group/pami-menu-item-group.js +1 -1
  156. package/dist/collection/components/pami-meter/pami-meter.js +2 -2
  157. package/dist/collection/components/pami-multi-select/pami-multi-select.css +4 -4
  158. package/dist/collection/components/pami-multi-select/pami-multi-select.js +2 -2
  159. package/dist/collection/components/pami-navigation-bar/pami-navigation-bar.css +85 -86
  160. package/dist/collection/components/pami-navigation-group/pami-navigation-group.css +30 -0
  161. package/dist/collection/components/pami-navigation-group/pami-navigation-group.js +76 -0
  162. package/dist/collection/components/pami-navigation-group/pami-navigation-group.js.map +1 -0
  163. package/dist/collection/components/pami-navigation-rail/pami-navigation-rail.css +70 -1
  164. package/dist/collection/components/pami-navigation-rail/pami-navigation-rail.js +452 -42
  165. package/dist/collection/components/pami-navigation-rail/pami-navigation-rail.js.map +1 -1
  166. package/dist/collection/components/pami-navigation-rail-tab/pami-navigation-rail-tab.css +186 -98
  167. package/dist/collection/components/pami-navigation-rail-tab/pami-navigation-rail-tab.js +282 -6
  168. package/dist/collection/components/pami-navigation-rail-tab/pami-navigation-rail-tab.js.map +1 -1
  169. package/dist/collection/components/pami-navigation-tab/pami-navigation-tab.css +85 -86
  170. package/dist/collection/components/pami-organization-chart/pami-organization-chart.css +1 -1
  171. package/dist/collection/components/pami-pie-chart/pami-pie-chart.js +2 -2
  172. package/dist/collection/components/pami-progress-indicator/pami-progress-indicator.js +1 -1
  173. package/dist/collection/components/pami-radio/pami-radio.css +85 -86
  174. package/dist/collection/components/pami-radio/pami-radio.js +2 -2
  175. package/dist/collection/components/pami-rating/pami-rating.css +3 -3
  176. package/dist/collection/components/pami-rating/pami-rating.js +2 -2
  177. package/dist/collection/components/pami-ripple/pami-ripple.css +6 -5
  178. package/dist/collection/components/pami-ripple/pami-ripple.js +2 -9
  179. package/dist/collection/components/pami-ripple/pami-ripple.js.map +1 -1
  180. package/dist/collection/components/pami-search/pami-search.css +3 -3
  181. package/dist/collection/components/pami-segmented-button/pami-segmented-button.css +85 -86
  182. package/dist/collection/components/pami-segmented-button/pami-segmented-button.js +3 -3
  183. package/dist/collection/components/pami-segmented-button-set/pami-segmented-button-set.js +2 -2
  184. package/dist/collection/components/pami-select/pami-select.js +2 -2
  185. package/dist/collection/components/pami-side-sheet/pami-side-sheet.css +85 -86
  186. package/dist/collection/components/pami-side-sheet/pami-side-sheet.js +10 -20
  187. package/dist/collection/components/pami-side-sheet/pami-side-sheet.js.map +1 -1
  188. package/dist/collection/components/pami-skeleton/pami-skeleton.js +1 -1
  189. package/dist/collection/components/pami-slider/pami-slider.css +87 -88
  190. package/dist/collection/components/pami-snackbar/pami-snackbar.css +93 -92
  191. package/dist/collection/components/pami-snackbar/pami-snackbar.js +2 -2
  192. package/dist/collection/components/pami-split-button/pami-split-button.css +85 -86
  193. package/dist/collection/components/pami-split-button/pami-split-button.js +3 -3
  194. package/dist/collection/components/pami-step/pami-step.js +6 -6
  195. package/dist/collection/components/pami-stepper/pami-stepper.js +3 -3
  196. package/dist/collection/components/pami-sub-menu-item/pami-sub-menu-item.css +4 -4
  197. package/dist/collection/components/pami-sub-menu-item/pami-sub-menu-item.js +2 -2
  198. package/dist/collection/components/pami-switch/pami-switch.css +85 -86
  199. package/dist/collection/components/pami-switch/pami-switch.js +2 -2
  200. package/dist/collection/components/pami-tab/pami-tab.js +4 -4
  201. package/dist/collection/components/pami-tab-panel/pami-tab-panel.js +1 -1
  202. package/dist/collection/components/pami-tab-panels/pami-tab-panels.js +1 -1
  203. package/dist/collection/components/pami-table-body/pami-table-body.js +1 -1
  204. package/dist/collection/components/pami-table-cell/pami-table-cell.js +2 -2
  205. package/dist/collection/components/pami-table-container/pami-table-container.js +2 -2
  206. package/dist/collection/components/pami-table-expand-toggle/pami-table-expand-toggle.js +2 -2
  207. package/dist/collection/components/pami-table-foot/pami-table-foot.js +1 -1
  208. package/dist/collection/components/pami-table-head/pami-table-head.js +1 -1
  209. package/dist/collection/components/pami-table-pagination/pami-table-pagination.js +2 -2
  210. package/dist/collection/components/pami-table-row/pami-table-row.js +4 -4
  211. package/dist/collection/components/pami-table-sort-label/pami-table-sort-label.js +2 -2
  212. package/dist/collection/components/pami-table-toolbar/pami-table-toolbar.js +2 -2
  213. package/dist/collection/components/pami-tabs/pami-tabs.js +2 -2
  214. package/dist/collection/components/pami-tag/pami-tag.css +298 -0
  215. package/dist/collection/components/pami-tag/pami-tag.js +68 -0
  216. package/dist/collection/components/pami-tag/pami-tag.js.map +1 -0
  217. package/dist/collection/components/pami-text-field/pami-text-field.css +87 -88
  218. package/dist/collection/components/pami-toolbar/pami-toolbar.js +3 -3
  219. package/dist/collection/components/pami-tooltip/pami-tooltip.css +92 -93
  220. package/dist/collection/components/pami-transfer-list/pami-transfer-list.css +2 -2
  221. package/dist/collection/utils/charts/theme.js +25 -3
  222. package/dist/collection/utils/charts/theme.js.map +1 -1
  223. package/dist/collection/utils/focusable.js +38 -0
  224. package/dist/collection/utils/focusable.js.map +1 -0
  225. package/dist/collection/utils/pami-dots.js.map +1 -1
  226. package/dist/collection/utils/pami-material-defaults.js +194 -0
  227. package/dist/collection/utils/pami-material-defaults.js.map +1 -0
  228. package/dist/collection/utils/pami-material.js +58 -49
  229. package/dist/collection/utils/pami-material.js.map +1 -1
  230. package/dist/collection/utils/pami-motion-defaults.js +9 -0
  231. package/dist/collection/utils/pami-motion-defaults.js.map +1 -0
  232. package/dist/collection/utils/pami-painter.js +9 -7
  233. package/dist/collection/utils/pami-painter.js.map +1 -1
  234. package/dist/collection/utils/ripple.js +5 -0
  235. package/dist/collection/utils/ripple.js.map +1 -1
  236. package/dist/collection/utils/status-surface.js +7 -0
  237. package/dist/collection/utils/status-surface.js.map +1 -0
  238. package/dist/collection/wasm/engine-abi.js.map +1 -1
  239. package/dist/components/p-8OtaKJiC.js +2 -0
  240. package/dist/components/{p-DWSD26x3.js.map → p-8OtaKJiC.js.map} +1 -1
  241. package/dist/components/{p-DkVOc0wm.js → p-8v8oq2Gq.js} +2 -2
  242. package/dist/{pami/p-BFrljlvu.js → components/p-AeIwPqCK.js} +2 -2
  243. package/dist/components/p-BG--_h1M.js +2 -0
  244. package/dist/{components-csr/p-CKh3uxJF.js.map → components/p-BG--_h1M.js.map} +1 -1
  245. package/dist/components/{p-C3VyQE8n.js → p-BHjV4ckR.js} +2 -2
  246. package/dist/components/p-BHqq4sFe.js.map +1 -1
  247. package/dist/components/p-BOfpnjA1.js +2 -0
  248. package/dist/components/p-BOfpnjA1.js.map +1 -0
  249. package/dist/components/p-BcrEx_cg.js +2 -0
  250. package/dist/components/p-BcrEx_cg.js.map +1 -0
  251. package/dist/components/p-BhHms8Pb.js +2 -0
  252. package/dist/components/p-BhHms8Pb.js.map +1 -0
  253. package/dist/components/p-CKqNm_Q4.js +2 -0
  254. package/dist/components/p-CKqNm_Q4.js.map +1 -0
  255. package/dist/components/p-CMZVEmTF.js +2 -0
  256. package/dist/components/p-CMZVEmTF.js.map +1 -0
  257. package/dist/components/p-CaX5Betz.js +2 -0
  258. package/dist/components/p-CaX5Betz.js.map +1 -0
  259. package/dist/components/{p-Dh4RKEYp.js → p-Cf7x7Pbw.js} +2 -2
  260. package/dist/components/{p-BKlel-AP.js → p-CsGff_Ta.js} +2 -2
  261. package/dist/components/p-D-9rjUCJ.js +2 -0
  262. package/dist/components/p-D-9rjUCJ.js.map +1 -0
  263. package/dist/components/p-D5YKcPYj.js +2 -0
  264. package/dist/components/p-D5YKcPYj.js.map +1 -0
  265. package/dist/components/p-DDCz_UhF.js +2 -0
  266. package/dist/components/{p-BT8CI4i3.js.map → p-DDCz_UhF.js.map} +1 -1
  267. package/dist/components/p-DFOfsObx.js +2 -0
  268. package/dist/{components-csr/p-PG3r1Ywi.js.map → components/p-DFOfsObx.js.map} +1 -1
  269. package/dist/components/{p-CFpk8pnq.js → p-DKXYFRHy.js} +2 -2
  270. package/dist/components/{p-BnCqDe23.js → p-DKhFTr-2.js} +2 -2
  271. package/dist/components/{p-BnCqDe23.js.map → p-DKhFTr-2.js.map} +1 -1
  272. package/dist/components/p-DYYnx9b0.js +2 -0
  273. package/dist/components/{p-CKrq0VhQ.js.map → p-DYYnx9b0.js.map} +1 -1
  274. package/dist/components/p-DcS5GdsQ.js +2 -0
  275. package/dist/components/{p-DD2A_AfS.js.map → p-DcS5GdsQ.js.map} +1 -1
  276. package/dist/components/{p-Bf1Bx-JV.js → p-DuoeMUTq.js} +2 -2
  277. package/dist/{components-csr/p-g4sA3hAp.js → components/p-DzxH9m7D.js} +2 -2
  278. package/dist/components/pami-accordion-item.js +1 -1
  279. package/dist/components/pami-app-bar.js +1 -1
  280. package/dist/components/pami-app-bar.js.map +1 -1
  281. package/dist/components/pami-area-chart.js +1 -1
  282. package/dist/components/pami-autocomplete.js +1 -1
  283. package/dist/components/pami-avatar.js +1 -1
  284. package/dist/components/pami-badge.js +1 -1
  285. package/dist/components/pami-bar-chart.js +1 -1
  286. package/dist/components/pami-bottom-sheet.js +1 -1
  287. package/dist/components/pami-bottom-sheet.js.map +1 -1
  288. package/dist/components/pami-breadcrumb-item.js +1 -1
  289. package/dist/components/pami-breadcrumb-item.js.map +1 -1
  290. package/dist/components/pami-button.js +1 -1
  291. package/dist/components/pami-callout.d.ts +11 -0
  292. package/dist/components/pami-callout.js +2 -0
  293. package/dist/components/pami-callout.js.map +1 -0
  294. package/dist/components/pami-card.js +1 -1
  295. package/dist/components/pami-card.js.map +1 -1
  296. package/dist/components/pami-checkbox.js +1 -1
  297. package/dist/components/pami-chip.js +1 -1
  298. package/dist/components/pami-date-picker.js +1 -1
  299. package/dist/components/pami-date-picker.js.map +1 -1
  300. package/dist/components/pami-dialog.js +1 -1
  301. package/dist/components/pami-dialog.js.map +1 -1
  302. package/dist/components/pami-divider.js +1 -1
  303. package/dist/components/pami-fab-menu-item.js +1 -1
  304. package/dist/components/pami-fab-menu-item.js.map +1 -1
  305. package/dist/components/pami-fab-menu.js +1 -1
  306. package/dist/components/pami-fab.js +1 -1
  307. package/dist/components/pami-fab.js.map +1 -1
  308. package/dist/components/pami-icon-button.js +1 -1
  309. package/dist/components/pami-icon.js +1 -1
  310. package/dist/components/pami-line-chart.js +1 -1
  311. package/dist/components/pami-list-item.js +1 -1
  312. package/dist/components/pami-list-item.js.map +1 -1
  313. package/dist/components/pami-menu-item-group.js +1 -1
  314. package/dist/components/pami-menu-item-group.js.map +1 -1
  315. package/dist/components/pami-menu-item.js +1 -1
  316. package/dist/components/pami-menu.js +1 -1
  317. package/dist/components/pami-meter.js +1 -1
  318. package/dist/components/pami-multi-select.js +1 -1
  319. package/dist/components/pami-multi-select.js.map +1 -1
  320. package/dist/components/pami-navigation-bar.js +1 -1
  321. package/dist/components/pami-navigation-bar.js.map +1 -1
  322. package/dist/components/pami-navigation-group.d.ts +11 -0
  323. package/dist/components/pami-navigation-group.js +2 -0
  324. package/dist/components/pami-navigation-group.js.map +1 -0
  325. package/dist/components/pami-navigation-rail-tab.js +1 -1
  326. package/dist/components/pami-navigation-rail-tab.js.map +1 -1
  327. package/dist/components/pami-navigation-rail.js +1 -1
  328. package/dist/components/pami-navigation-rail.js.map +1 -1
  329. package/dist/components/pami-navigation-tab.js +1 -1
  330. package/dist/components/pami-navigation-tab.js.map +1 -1
  331. package/dist/components/pami-number-field.js +1 -1
  332. package/dist/components/pami-organization-chart.js +1 -1
  333. package/dist/components/pami-organization-chart.js.map +1 -1
  334. package/dist/components/pami-pie-chart.js +1 -1
  335. package/dist/components/pami-progress-indicator.js +1 -1
  336. package/dist/components/pami-radio.js +1 -1
  337. package/dist/components/pami-radio.js.map +1 -1
  338. package/dist/components/pami-rating.js +1 -1
  339. package/dist/components/pami-rating.js.map +1 -1
  340. package/dist/components/pami-ripple.js +1 -1
  341. package/dist/components/pami-search.js +1 -1
  342. package/dist/components/pami-search.js.map +1 -1
  343. package/dist/components/pami-segmented-button-set.js +1 -1
  344. package/dist/components/pami-segmented-button.js +1 -1
  345. package/dist/components/pami-segmented-button.js.map +1 -1
  346. package/dist/components/pami-select.js +1 -1
  347. package/dist/components/pami-side-sheet.js +1 -1
  348. package/dist/components/pami-side-sheet.js.map +1 -1
  349. package/dist/components/pami-skeleton.js +1 -1
  350. package/dist/components/pami-slider.js +1 -1
  351. package/dist/components/pami-snackbar.js +1 -1
  352. package/dist/components/pami-snackbar.js.map +1 -1
  353. package/dist/components/pami-sparkline.js +1 -1
  354. package/dist/components/pami-split-button.js +1 -1
  355. package/dist/components/pami-split-button.js.map +1 -1
  356. package/dist/components/pami-step.js +1 -1
  357. package/dist/components/pami-stepper.js +1 -1
  358. package/dist/components/pami-sub-menu-item.js +1 -1
  359. package/dist/components/pami-sub-menu-item.js.map +1 -1
  360. package/dist/components/pami-switch.js +1 -1
  361. package/dist/components/pami-switch.js.map +1 -1
  362. package/dist/components/pami-tab-panel.js +1 -1
  363. package/dist/components/pami-tab-panels.js +1 -1
  364. package/dist/components/pami-tab.js +1 -1
  365. package/dist/components/pami-table-body.js +1 -1
  366. package/dist/components/pami-table-cell.js +1 -1
  367. package/dist/components/pami-table-container.js +1 -1
  368. package/dist/components/pami-table-expand-toggle.js +1 -1
  369. package/dist/components/pami-table-foot.js +1 -1
  370. package/dist/components/pami-table-head.js +1 -1
  371. package/dist/components/pami-table-pagination.js +1 -1
  372. package/dist/components/pami-table-row.js +1 -1
  373. package/dist/components/pami-table-sort-label.js +1 -1
  374. package/dist/components/pami-table-toolbar.js +1 -1
  375. package/dist/components/pami-table.js +1 -1
  376. package/dist/components/pami-tabs.js +1 -1
  377. package/dist/components/pami-tag.d.ts +11 -0
  378. package/dist/components/pami-tag.js +2 -0
  379. package/dist/components/pami-tag.js.map +1 -0
  380. package/dist/components/pami-text-field.js +1 -1
  381. package/dist/components/pami-time-picker.js +1 -1
  382. package/dist/components/pami-toolbar.js +1 -1
  383. package/dist/components/pami-tooltip.js +1 -1
  384. package/dist/components/pami-transfer-list.js +1 -1
  385. package/dist/components/pami-transfer-list.js.map +1 -1
  386. package/dist/{components/p-DneLEiFl.js → components-csr/p-AeIwPqCK.js} +2 -2
  387. package/dist/components-csr/p-BHqq4sFe.js.map +1 -1
  388. package/dist/components-csr/p-B_b8a4Fl.js +2 -0
  389. package/dist/components-csr/p-B_b8a4Fl.js.map +1 -0
  390. package/dist/components-csr/p-BhHms8Pb.js +2 -0
  391. package/dist/components-csr/p-BhHms8Pb.js.map +1 -0
  392. package/dist/components-csr/{p-Dq_XLtjQ.js → p-BubrJNco.js} +2 -2
  393. package/dist/components-csr/{p-Iozt_nIr.js → p-C1ChEady.js} +2 -2
  394. package/dist/components-csr/p-C7-2STYZ.js +2 -0
  395. package/dist/components-csr/{p-BN5fTT2p.js.map → p-C7-2STYZ.js.map} +1 -1
  396. package/dist/components-csr/{p-DYa7FJrs.js → p-CC0KCIVL.js} +2 -2
  397. package/dist/components-csr/{p-C2f3W2Bc.js → p-CCLyUnYm.js} +2 -2
  398. package/dist/components-csr/{p-C2f3W2Bc.js.map → p-CCLyUnYm.js.map} +1 -1
  399. package/dist/components-csr/p-CCjSxvVk.js +2 -0
  400. package/dist/{components/p-DQG2QiqW.js.map → components-csr/p-CCjSxvVk.js.map} +1 -1
  401. package/dist/components-csr/p-CEXhFms9.js +2 -0
  402. package/dist/components-csr/{p-BeWJtYZz.js.map → p-CEXhFms9.js.map} +1 -1
  403. package/dist/components-csr/{p-wjnroiZn.js → p-CYTOzIlz.js} +2 -2
  404. package/dist/components-csr/{p-BKlel-AP.js → p-CsGff_Ta.js} +2 -2
  405. package/dist/components-csr/p-D-9rjUCJ.js +2 -0
  406. package/dist/components-csr/p-D-9rjUCJ.js.map +1 -0
  407. package/dist/components-csr/p-D5YKcPYj.js +2 -0
  408. package/dist/components-csr/p-D5YKcPYj.js.map +1 -0
  409. package/dist/components-csr/{p-CFpk8pnq.js → p-DKXYFRHy.js} +2 -2
  410. package/dist/components-csr/p-DTQ249Fz.js +2 -0
  411. package/dist/components-csr/p-DTQ249Fz.js.map +1 -0
  412. package/dist/components-csr/p-DbpI0Jma.js +2 -0
  413. package/dist/components-csr/p-DbpI0Jma.js.map +1 -0
  414. package/dist/components-csr/p-DqlfsJFI.js +2 -0
  415. package/dist/components-csr/p-DqlfsJFI.js.map +1 -0
  416. package/dist/components-csr/p-DvPstOrO.js +2 -0
  417. package/dist/components-csr/{p-dksxS2yM.js.map → p-DvPstOrO.js.map} +1 -1
  418. package/dist/components-csr/p-DxiLsbpD.js +2 -0
  419. package/dist/components-csr/p-DxiLsbpD.js.map +1 -0
  420. package/dist/{components/p-g4sA3hAp.js → components-csr/p-DzxH9m7D.js} +2 -2
  421. package/dist/components-csr/p-F3cB-9hU.js +2 -0
  422. package/dist/{components/p-BZcBbRYY.js.map → components-csr/p-F3cB-9hU.js.map} +1 -1
  423. package/dist/components-csr/p-sSc4gYQy.js +2 -0
  424. package/dist/components-csr/{p-D4njrR9m.js.map → p-sSc4gYQy.js.map} +1 -1
  425. package/dist/components-csr/pami-accordion-item.js +1 -1
  426. package/dist/components-csr/pami-app-bar.js +1 -1
  427. package/dist/components-csr/pami-app-bar.js.map +1 -1
  428. package/dist/components-csr/pami-area-chart.js +1 -1
  429. package/dist/components-csr/pami-autocomplete.js +1 -1
  430. package/dist/components-csr/pami-avatar.js +1 -1
  431. package/dist/components-csr/pami-badge.js +1 -1
  432. package/dist/components-csr/pami-bar-chart.js +1 -1
  433. package/dist/components-csr/pami-bottom-sheet.js +1 -1
  434. package/dist/components-csr/pami-bottom-sheet.js.map +1 -1
  435. package/dist/components-csr/pami-breadcrumb-item.js +1 -1
  436. package/dist/components-csr/pami-breadcrumb-item.js.map +1 -1
  437. package/dist/components-csr/pami-button.js +1 -1
  438. package/dist/components-csr/pami-callout.js +2 -0
  439. package/dist/components-csr/pami-callout.js.map +1 -0
  440. package/dist/components-csr/pami-card.js +1 -1
  441. package/dist/components-csr/pami-card.js.map +1 -1
  442. package/dist/components-csr/pami-checkbox.js +1 -1
  443. package/dist/components-csr/pami-chip.js +1 -1
  444. package/dist/components-csr/pami-date-picker.js +1 -1
  445. package/dist/components-csr/pami-date-picker.js.map +1 -1
  446. package/dist/components-csr/pami-dialog.js +1 -1
  447. package/dist/components-csr/pami-dialog.js.map +1 -1
  448. package/dist/components-csr/pami-divider.js +1 -1
  449. package/dist/components-csr/pami-fab-menu-item.js +1 -1
  450. package/dist/components-csr/pami-fab-menu-item.js.map +1 -1
  451. package/dist/components-csr/pami-fab-menu.js +1 -1
  452. package/dist/components-csr/pami-fab.js +1 -1
  453. package/dist/components-csr/pami-fab.js.map +1 -1
  454. package/dist/components-csr/pami-icon-button.js +1 -1
  455. package/dist/components-csr/pami-icon.js +1 -1
  456. package/dist/components-csr/pami-line-chart.js +1 -1
  457. package/dist/components-csr/pami-list-item.js +1 -1
  458. package/dist/components-csr/pami-list-item.js.map +1 -1
  459. package/dist/components-csr/pami-menu-item-group.js +1 -1
  460. package/dist/components-csr/pami-menu-item-group.js.map +1 -1
  461. package/dist/components-csr/pami-menu-item.js +1 -1
  462. package/dist/components-csr/pami-menu.js +1 -1
  463. package/dist/components-csr/pami-meter.js +1 -1
  464. package/dist/components-csr/pami-multi-select.js +1 -1
  465. package/dist/components-csr/pami-multi-select.js.map +1 -1
  466. package/dist/components-csr/pami-navigation-bar.js +1 -1
  467. package/dist/components-csr/pami-navigation-bar.js.map +1 -1
  468. package/dist/components-csr/pami-navigation-group.js +2 -0
  469. package/dist/components-csr/pami-navigation-group.js.map +1 -0
  470. package/dist/components-csr/pami-navigation-rail-tab.js +1 -1
  471. package/dist/components-csr/pami-navigation-rail-tab.js.map +1 -1
  472. package/dist/components-csr/pami-navigation-rail.js +1 -1
  473. package/dist/components-csr/pami-navigation-rail.js.map +1 -1
  474. package/dist/components-csr/pami-navigation-tab.js +1 -1
  475. package/dist/components-csr/pami-navigation-tab.js.map +1 -1
  476. package/dist/components-csr/pami-number-field.js +1 -1
  477. package/dist/components-csr/pami-organization-chart.js +1 -1
  478. package/dist/components-csr/pami-organization-chart.js.map +1 -1
  479. package/dist/components-csr/pami-pie-chart.js +1 -1
  480. package/dist/components-csr/pami-progress-indicator.js +1 -1
  481. package/dist/components-csr/pami-radio.js +1 -1
  482. package/dist/components-csr/pami-radio.js.map +1 -1
  483. package/dist/components-csr/pami-rating.js +1 -1
  484. package/dist/components-csr/pami-rating.js.map +1 -1
  485. package/dist/components-csr/pami-ripple.js +1 -1
  486. package/dist/components-csr/pami-search.js +1 -1
  487. package/dist/components-csr/pami-search.js.map +1 -1
  488. package/dist/components-csr/pami-segmented-button-set.js +1 -1
  489. package/dist/components-csr/pami-segmented-button.js +1 -1
  490. package/dist/components-csr/pami-segmented-button.js.map +1 -1
  491. package/dist/components-csr/pami-select.js +1 -1
  492. package/dist/components-csr/pami-side-sheet.js +1 -1
  493. package/dist/components-csr/pami-side-sheet.js.map +1 -1
  494. package/dist/components-csr/pami-skeleton.js +1 -1
  495. package/dist/components-csr/pami-slider.js +1 -1
  496. package/dist/components-csr/pami-snackbar.js +1 -1
  497. package/dist/components-csr/pami-snackbar.js.map +1 -1
  498. package/dist/components-csr/pami-sparkline.js +1 -1
  499. package/dist/components-csr/pami-split-button.js +1 -1
  500. package/dist/components-csr/pami-split-button.js.map +1 -1
  501. package/dist/components-csr/pami-step.js +1 -1
  502. package/dist/components-csr/pami-stepper.js +1 -1
  503. package/dist/components-csr/pami-sub-menu-item.js +1 -1
  504. package/dist/components-csr/pami-sub-menu-item.js.map +1 -1
  505. package/dist/components-csr/pami-switch.js +1 -1
  506. package/dist/components-csr/pami-switch.js.map +1 -1
  507. package/dist/components-csr/pami-tab-panel.js +1 -1
  508. package/dist/components-csr/pami-tab-panels.js +1 -1
  509. package/dist/components-csr/pami-tab.js +1 -1
  510. package/dist/components-csr/pami-table-body.js +1 -1
  511. package/dist/components-csr/pami-table-cell.js +1 -1
  512. package/dist/components-csr/pami-table-container.js +1 -1
  513. package/dist/components-csr/pami-table-expand-toggle.js +1 -1
  514. package/dist/components-csr/pami-table-foot.js +1 -1
  515. package/dist/components-csr/pami-table-head.js +1 -1
  516. package/dist/components-csr/pami-table-pagination.js +1 -1
  517. package/dist/components-csr/pami-table-row.js +1 -1
  518. package/dist/components-csr/pami-table-sort-label.js +1 -1
  519. package/dist/components-csr/pami-table-toolbar.js +1 -1
  520. package/dist/components-csr/pami-table.js +1 -1
  521. package/dist/components-csr/pami-tabs.js +1 -1
  522. package/dist/components-csr/pami-tag.js +2 -0
  523. package/dist/components-csr/pami-tag.js.map +1 -0
  524. package/dist/components-csr/pami-text-field.js +1 -1
  525. package/dist/components-csr/pami-time-picker.js +1 -1
  526. package/dist/components-csr/pami-toolbar.js +1 -1
  527. package/dist/components-csr/pami-tooltip.js +1 -1
  528. package/dist/components-csr/pami-transfer-list.js +1 -1
  529. package/dist/components-csr/pami-transfer-list.js.map +1 -1
  530. package/dist/esm/{a11y-DF7yzz7s.js → a11y-CFk62WKO.js} +3 -3
  531. package/dist/esm/{a11y-DF7yzz7s.js.map → a11y-CFk62WKO.js.map} +1 -1
  532. package/dist/esm/{bar-chart-BNtUGWrj.js → bar-chart-lQiYsj4t.js} +4 -4
  533. package/dist/esm/{bar-chart-BNtUGWrj.js.map → bar-chart-lQiYsj4t.js.map} +1 -1
  534. package/dist/esm/{chart-C1fPeEiw.js → chart-DGgh0ehg.js} +4 -4
  535. package/dist/esm/{chart-C1fPeEiw.js.map → chart-DGgh0ehg.js.map} +1 -1
  536. package/dist/esm/{hit-test-VKGhXvU8.js → hit-test-CwC3GJmi.js} +3 -3
  537. package/dist/esm/{hit-test-VKGhXvU8.js.map → hit-test-CwC3GJmi.js.map} +1 -1
  538. package/dist/esm/isolation-escape-D19ZgNkU.js +90 -0
  539. package/dist/esm/isolation-escape-D19ZgNkU.js.map +1 -0
  540. package/dist/esm/loader.js +1 -1
  541. package/dist/esm/pami-app-bar.entry.js +2 -2
  542. package/dist/esm/pami-app-bar.entry.js.map +1 -1
  543. package/dist/esm/pami-area-chart.entry.js +4 -4
  544. package/dist/esm/pami-avatar_2.entry.js +2 -2
  545. package/dist/esm/pami-avatar_2.entry.js.map +1 -1
  546. package/dist/esm/pami-bar-chart.entry.js +4 -4
  547. package/dist/esm/pami-bottom-sheet.entry.js +2 -2
  548. package/dist/esm/pami-bottom-sheet.entry.js.map +1 -1
  549. package/dist/esm/pami-breadcrumb-item.entry.js +2 -2
  550. package/dist/esm/pami-breadcrumb-item.entry.js.map +1 -1
  551. package/dist/esm/pami-button_7.entry.js +23 -39
  552. package/dist/esm/pami-button_7.entry.js.map +1 -1
  553. package/dist/esm/pami-callout.entry.js +28 -0
  554. package/dist/esm/pami-callout.entry.js.map +1 -0
  555. package/dist/esm/pami-checkbox.entry.js +5 -5
  556. package/dist/esm/pami-checkbox.entry.js.map +1 -1
  557. package/dist/esm/pami-chip.entry.js +5 -5
  558. package/dist/esm/pami-chip.entry.js.map +1 -1
  559. package/dist/esm/pami-date-picker.entry.js +4 -5
  560. package/dist/esm/pami-date-picker.entry.js.map +1 -1
  561. package/dist/esm/pami-dialog.entry.js +4 -4
  562. package/dist/esm/pami-dialog.entry.js.map +1 -1
  563. package/dist/esm/pami-divider.entry.js +2 -2
  564. package/dist/esm/pami-fab-menu-item.entry.js +5 -5
  565. package/dist/esm/pami-fab-menu-item.entry.js.map +1 -1
  566. package/dist/esm/pami-fab-menu.entry.js +2 -2
  567. package/dist/esm/pami-fab.entry.js +5 -5
  568. package/dist/esm/pami-fab.entry.js.map +1 -1
  569. package/dist/esm/pami-line-chart.entry.js +6 -6
  570. package/dist/esm/pami-list-item.entry.js +2 -2
  571. package/dist/esm/pami-list-item.entry.js.map +1 -1
  572. package/dist/esm/pami-menu-item-group.entry.js +2 -2
  573. package/dist/esm/pami-menu-item-group.entry.js.map +1 -1
  574. package/dist/esm/pami-menu_2.entry.js +4 -87
  575. package/dist/esm/pami-menu_2.entry.js.map +1 -1
  576. package/dist/esm/pami-meter.entry.js +2 -2
  577. package/dist/esm/pami-multi-select.entry.js +3 -3
  578. package/dist/esm/pami-multi-select.entry.js.map +1 -1
  579. package/dist/esm/pami-navigation-bar.entry.js +2 -2
  580. package/dist/esm/pami-navigation-bar.entry.js.map +1 -1
  581. package/dist/esm/pami-navigation-group.entry.js +22 -0
  582. package/dist/esm/pami-navigation-group.entry.js.map +1 -0
  583. package/dist/esm/pami-navigation-rail-tab.entry.js +157 -10
  584. package/dist/esm/pami-navigation-rail-tab.entry.js.map +1 -1
  585. package/dist/esm/pami-navigation-rail.entry.js +211 -29
  586. package/dist/esm/pami-navigation-rail.entry.js.map +1 -1
  587. package/dist/esm/pami-navigation-tab.entry.js +3 -3
  588. package/dist/esm/pami-navigation-tab.entry.js.map +1 -1
  589. package/dist/esm/pami-organization-chart.entry.js +1 -1
  590. package/dist/esm/pami-organization-chart.entry.js.map +1 -1
  591. package/dist/esm/{pami-painter-BWqbBPaI.js → pami-painter-DOkewauC.js} +260 -57
  592. package/dist/esm/pami-painter-DOkewauC.js.map +1 -0
  593. package/dist/esm/pami-pie-chart.entry.js +4 -4
  594. package/dist/esm/pami-progress-indicator.entry.js +1 -1
  595. package/dist/esm/pami-rating.entry.js +3 -3
  596. package/dist/esm/pami-rating.entry.js.map +1 -1
  597. package/dist/esm/pami-search.entry.js +1 -1
  598. package/dist/esm/pami-search.entry.js.map +1 -1
  599. package/dist/esm/pami-segmented-button-set.entry.js +2 -2
  600. package/dist/esm/pami-segmented-button.entry.js +6 -6
  601. package/dist/esm/pami-segmented-button.entry.js.map +1 -1
  602. package/dist/esm/pami-select.entry.js +2 -2
  603. package/dist/esm/pami-side-sheet.entry.js +49 -22
  604. package/dist/esm/pami-side-sheet.entry.js.map +1 -1
  605. package/dist/esm/pami-skeleton.entry.js +1 -1
  606. package/dist/esm/pami-slider.entry.js +2 -2
  607. package/dist/esm/pami-slider.entry.js.map +1 -1
  608. package/dist/esm/pami-sparkline.entry.js +4 -4
  609. package/dist/esm/pami-split-button.entry.js +6 -6
  610. package/dist/esm/pami-split-button.entry.js.map +1 -1
  611. package/dist/esm/pami-step.entry.js +7 -7
  612. package/dist/esm/pami-stepper.entry.js +3 -3
  613. package/dist/esm/pami-sub-menu-item.entry.js +4 -4
  614. package/dist/esm/pami-sub-menu-item.entry.js.map +1 -1
  615. package/dist/esm/pami-switch.entry.js +4 -4
  616. package/dist/esm/pami-switch.entry.js.map +1 -1
  617. package/dist/esm/pami-tab-panel.entry.js +1 -1
  618. package/dist/esm/pami-tab-panels.entry.js +1 -1
  619. package/dist/esm/pami-tab.entry.js +5 -5
  620. package/dist/esm/pami-table-body.entry.js +1 -1
  621. package/dist/esm/pami-table-cell.entry.js +2 -2
  622. package/dist/esm/pami-table-container.entry.js +2 -2
  623. package/dist/esm/pami-table-expand-toggle.entry.js +2 -2
  624. package/dist/esm/pami-table-foot.entry.js +1 -1
  625. package/dist/esm/pami-table-head.entry.js +1 -1
  626. package/dist/esm/pami-table-pagination.entry.js +2 -2
  627. package/dist/esm/pami-table-row.entry.js +4 -4
  628. package/dist/esm/pami-table-sort-label.entry.js +2 -2
  629. package/dist/esm/pami-table-toolbar.entry.js +2 -2
  630. package/dist/esm/pami-tabs.entry.js +2 -2
  631. package/dist/esm/pami-tag.entry.js +25 -0
  632. package/dist/esm/pami-tag.entry.js.map +1 -0
  633. package/dist/esm/pami-text-field.entry.js +2 -2
  634. package/dist/esm/pami-text-field.entry.js.map +1 -1
  635. package/dist/esm/pami-toolbar.entry.js +3 -3
  636. package/dist/esm/pami-transfer-list.entry.js +1 -1
  637. package/dist/esm/pami-transfer-list.entry.js.map +1 -1
  638. package/dist/esm/pami.js +1 -1
  639. package/dist/esm/{ripple-DT5RL9GH.js → ripple-BcReJziW.js} +7 -2
  640. package/dist/esm/ripple-BcReJziW.js.map +1 -0
  641. package/dist/esm/{rtl-CC7FhM00.js → rtl-Cd87AK5r.js} +27 -5
  642. package/dist/esm/rtl-Cd87AK5r.js.map +1 -0
  643. package/dist/esm/status-surface-D5YKcPYj.js +11 -0
  644. package/dist/esm/status-surface-D5YKcPYj.js.map +1 -0
  645. package/dist/esm/virtual-select-controller-Dr_fPcoz.js.map +1 -1
  646. package/dist/pami/p-056cbfbc.entry.js +2 -0
  647. package/dist/pami/{p-2067b15d.entry.js.map → p-056cbfbc.entry.js.map} +1 -1
  648. package/dist/pami/p-0bf56063.entry.js +2 -0
  649. package/dist/pami/{p-f33d5f4a.entry.js.map → p-0bf56063.entry.js.map} +1 -1
  650. package/dist/pami/p-0e965950.entry.js +2 -0
  651. package/dist/pami/{p-0fcc82b3.entry.js.map → p-0e965950.entry.js.map} +1 -1
  652. package/dist/pami/p-105fff09.entry.js +2 -0
  653. package/dist/pami/{p-ec67197c.entry.js.map → p-105fff09.entry.js.map} +1 -1
  654. package/dist/pami/{p-bc63e548.entry.js → p-14668a82.entry.js} +2 -2
  655. package/dist/pami/{p-cdd36757.entry.js → p-1468d5c4.entry.js} +2 -2
  656. package/dist/pami/p-1cafa0bb.entry.js +2 -0
  657. package/dist/pami/p-1cafa0bb.entry.js.map +1 -0
  658. package/dist/pami/p-20fb765c.entry.js +2 -0
  659. package/dist/pami/{p-309b4e6d.entry.js.map → p-20fb765c.entry.js.map} +1 -1
  660. package/dist/pami/{p-a4a2f7e2.entry.js → p-230b51cc.entry.js} +2 -2
  661. package/dist/pami/{p-f6d50fc7.entry.js → p-253bb306.entry.js} +2 -2
  662. package/dist/pami/{p-c087aa2d.entry.js → p-27ba3c65.entry.js} +2 -2
  663. package/dist/pami/{p-3577517b.entry.js → p-2c9fef75.entry.js} +2 -2
  664. package/dist/pami/{p-2fa9e712.entry.js → p-3031787d.entry.js} +2 -2
  665. package/dist/pami/p-35c2a89b.entry.js +2 -0
  666. package/dist/pami/{p-688017eb.entry.js.map → p-35c2a89b.entry.js.map} +1 -1
  667. package/dist/pami/{p-27208b60.entry.js → p-39a6add3.entry.js} +2 -2
  668. package/dist/pami/{p-ed0554c3.entry.js → p-3fc31b91.entry.js} +2 -2
  669. package/dist/pami/p-475ee072.entry.js +2 -0
  670. package/dist/pami/{p-6753c7a1.entry.js.map → p-475ee072.entry.js.map} +1 -1
  671. package/dist/pami/p-511a1ee2.entry.js +2 -0
  672. package/dist/pami/{p-7415982c.entry.js.map → p-511a1ee2.entry.js.map} +1 -1
  673. package/dist/pami/{p-91d25664.entry.js → p-513685d7.entry.js} +2 -2
  674. package/dist/pami/p-59ddac87.entry.js +2 -0
  675. package/dist/pami/p-59ddac87.entry.js.map +1 -0
  676. package/dist/pami/p-5baf125c.entry.js +2 -0
  677. package/dist/pami/{p-bd2fb99f.entry.js.map → p-5baf125c.entry.js.map} +1 -1
  678. package/dist/pami/p-636faa29.entry.js +2 -0
  679. package/dist/pami/p-6bae2a7c.entry.js +2 -0
  680. package/dist/pami/{p-b2704345.entry.js.map → p-6bae2a7c.entry.js.map} +1 -1
  681. package/dist/pami/p-70dbf9e1.entry.js +2 -0
  682. package/dist/pami/{p-6cd18c0d.entry.js.map → p-70dbf9e1.entry.js.map} +1 -1
  683. package/dist/pami/{p-b193dd1d.entry.js → p-71d62a04.entry.js} +2 -2
  684. package/dist/pami/{p-3b859d3c.entry.js → p-72d9ed2c.entry.js} +2 -2
  685. package/dist/pami/{p-5202ded3.entry.js → p-74673292.entry.js} +2 -2
  686. package/dist/pami/p-76869b29.entry.js +2 -0
  687. package/dist/pami/p-80a613c4.entry.js +2 -0
  688. package/dist/pami/{p-dd4d87c2.entry.js.map → p-80a613c4.entry.js.map} +1 -1
  689. package/dist/pami/p-820ec742.entry.js +2 -0
  690. package/dist/pami/{p-6a29a776.entry.js.map → p-820ec742.entry.js.map} +1 -1
  691. package/dist/pami/p-837a6389.entry.js +2 -0
  692. package/dist/pami/{p-d7504084.entry.js.map → p-837a6389.entry.js.map} +1 -1
  693. package/dist/pami/p-8381c008.entry.js +2 -0
  694. package/dist/pami/{p-7788c931.entry.js → p-86b07f8c.entry.js} +2 -2
  695. package/dist/pami/p-9178ea2e.entry.js +2 -0
  696. package/dist/pami/{p-a304bc4f.entry.js.map → p-9178ea2e.entry.js.map} +1 -1
  697. package/dist/pami/p-98683da9.entry.js +2 -0
  698. package/dist/pami/p-98683da9.entry.js.map +1 -0
  699. package/dist/pami/p-9a353a79.entry.js +2 -0
  700. package/dist/pami/{p-19669ac1.entry.js.map → p-9a353a79.entry.js.map} +1 -1
  701. package/dist/pami/p-9be87f6a.entry.js +2 -0
  702. package/dist/pami/p-9be87f6a.entry.js.map +1 -0
  703. package/dist/pami/{p-B2g1f_O7.js → p-BBBPC79O.js} +2 -2
  704. package/dist/pami/{p-B2g1f_O7.js.map → p-BBBPC79O.js.map} +1 -1
  705. package/dist/pami/p-BHqq4sFe.js.map +1 -1
  706. package/dist/pami/p-BcReJziW.js +2 -0
  707. package/dist/pami/p-BcReJziW.js.map +1 -0
  708. package/dist/pami/{p-C9EuleXc.js → p-C0lgexyr.js} +2 -2
  709. package/dist/pami/{p-C9EuleXc.js.map → p-C0lgexyr.js.map} +1 -1
  710. package/dist/{components-csr/p-DneLEiFl.js → pami/p-CAbSnOPc.js} +2 -2
  711. package/dist/pami/{p-BFrljlvu.js.map → p-CAbSnOPc.js.map} +1 -1
  712. package/dist/pami/p-CO-2MY9L.js +2 -0
  713. package/dist/pami/p-CO-2MY9L.js.map +1 -0
  714. package/dist/pami/p-Cd87AK5r.js +2 -0
  715. package/dist/pami/p-Cd87AK5r.js.map +1 -0
  716. package/dist/pami/{p-BH7SGm-U.js → p-Cln3qKA1.js} +2 -2
  717. package/dist/pami/{p-BH7SGm-U.js.map → p-Cln3qKA1.js.map} +1 -1
  718. package/dist/pami/p-D-9rjUCJ.js +2 -0
  719. package/dist/pami/p-D-9rjUCJ.js.map +1 -0
  720. package/dist/pami/p-D5YKcPYj.js +2 -0
  721. package/dist/pami/p-D5YKcPYj.js.map +1 -0
  722. package/dist/pami/{p-a516fb19.entry.js → p-a019a982.entry.js} +2 -2
  723. package/dist/pami/{p-0435815b.entry.js → p-aa031eb5.entry.js} +2 -2
  724. package/dist/pami/p-b361c9df.entry.js +2 -0
  725. package/dist/pami/{p-4ba67b88.entry.js.map → p-b361c9df.entry.js.map} +1 -1
  726. package/dist/pami/p-b5ad00c7.entry.js +2 -0
  727. package/dist/pami/{p-3b5862ac.entry.js.map → p-b5ad00c7.entry.js.map} +1 -1
  728. package/dist/pami/{p-dcd9abf8.entry.js → p-b928a212.entry.js} +2 -2
  729. package/dist/pami/{p-dcd9abf8.entry.js.map → p-b928a212.entry.js.map} +1 -1
  730. package/dist/pami/p-bac3fd4b.entry.js +2 -0
  731. package/dist/pami/{p-542e81de.entry.js.map → p-bac3fd4b.entry.js.map} +1 -1
  732. package/dist/pami/{p-42cda324.entry.js → p-be632c39.entry.js} +2 -2
  733. package/dist/pami/p-bf2e4ee5.entry.js +2 -0
  734. package/dist/pami/p-bf2e4ee5.entry.js.map +1 -0
  735. package/dist/pami/{p-ea6e514b.entry.js → p-c02334c0.entry.js} +2 -2
  736. package/dist/pami/p-c2d67784.entry.js +2 -0
  737. package/dist/pami/{p-c0fe2248.entry.js.map → p-c2d67784.entry.js.map} +1 -1
  738. package/dist/pami/{p-2391ef6b.entry.js → p-c717cd31.entry.js} +2 -2
  739. package/dist/pami/{p-d3ad1da1.entry.js → p-cd63ef03.entry.js} +2 -2
  740. package/dist/pami/{p-0f29f2bd.entry.js → p-cfc88755.entry.js} +2 -2
  741. package/dist/pami/p-d4e1fa44.entry.js +2 -0
  742. package/dist/pami/{p-b6b7092b.entry.js.map → p-d4e1fa44.entry.js.map} +1 -1
  743. package/dist/pami/p-d540f586.entry.js +2 -0
  744. package/dist/pami/p-d540f586.entry.js.map +1 -0
  745. package/dist/pami/p-d6de57b2.entry.js +2 -0
  746. package/dist/pami/{p-f3798dc6.entry.js.map → p-d6de57b2.entry.js.map} +1 -1
  747. package/dist/pami/{p-14497ccf.entry.js → p-daf42aec.entry.js} +2 -2
  748. package/dist/pami/{p-b8234190.entry.js → p-db1ee1b9.entry.js} +2 -2
  749. package/dist/pami/p-db30e449.entry.js +2 -0
  750. package/dist/pami/{p-60beacc5.entry.js.map → p-db30e449.entry.js.map} +1 -1
  751. package/dist/pami/{p-836652ad.entry.js → p-df18bacb.entry.js} +2 -2
  752. package/dist/pami/p-e08729f9.entry.js +2 -0
  753. package/dist/pami/p-e08729f9.entry.js.map +1 -0
  754. package/dist/pami/p-e65964e6.entry.js +2 -0
  755. package/dist/pami/p-e65964e6.entry.js.map +1 -0
  756. package/dist/pami/{p-81c06d88.entry.js → p-eb41f4e0.entry.js} +2 -2
  757. package/dist/pami/{p-4c023e51.entry.js → p-f29f90b0.entry.js} +2 -2
  758. package/dist/pami/p-fdee2733.entry.js +2 -0
  759. package/dist/pami/p-fdee2733.entry.js.map +1 -0
  760. package/dist/pami/pami.css +1 -1
  761. package/dist/pami/pami.esm.js +1 -1
  762. package/dist/sources/0278a6f5523ac1971fe0eadaee435bb3fd1dab609b7ec764bb3ba27e6aa8fb9f/pami-tag.tsx +30 -0
  763. package/dist/sources/{2ca06a25aa09d16ee580ce4db2554dafa516510b11f32021ef8f6fb04f823f74 → 13a6bd84ea4ee85906df60baa09ea92c604bf646ce3185706eb1c0266895d4ed}/pami-dots.tsx +1 -1
  764. package/dist/sources/{3df1210c7755e2386ccdc6e29e251b9678dc7c26acc9889678e769f5d1e5fd42 → 1ca4bc0c0956feb952356552e336ba66adf3965c09f29c3789fec9cefa0c3544}/pami-tooltip.css_tag_pami-tooltip_encapsulation_shadow +7 -7
  765. package/dist/sources/{bab5cb1d4daef5470d47d7ab2d6a75eaccfea977da04caf9c3a95ba2faa3f44e → 22a900318c9e4ddcd6f822b3d01aef0ea4c8ff892de0523df9e150f102ac6e5c}/pami-navigation-rail.css_tag_pami-navigation-rail_encapsulation_shadow +70 -1
  766. package/dist/sources/23a624b39d421b326032df3fec7a6eb8efe63812913db4f295c846a801bcc2df/focusable.ts +30 -0
  767. package/dist/sources/{ad8dae24c0940d3d78e73c208a2174be0f44c17ad88d5c14bc2a8b63fc919a17 → 24aa796cdc2df026b1d4e1a916907dd4e7c027698a43fa800d853d6f21b753cb}/pami-organization-chart.css_tag_pami-organization-chart_encapsulation_shadow +1 -1
  768. package/dist/sources/282c6204b17cf224fa1c29c70b7eeca1f5026f4ca7d81056eef97db0249e4415/pami-callout.css_tag_pami-callout_encapsulation_shadow +21 -0
  769. package/dist/sources/31bcc0fc5bd4de92e30b1fd5d74fa98dc0049dfc15c6a020e71906684f155025/pami-callout.tsx +42 -0
  770. package/dist/sources/35e1ffdb7ade27d0dcc5f5a0b602351b4356ad348211a54bf9cdfb7ebef83787/pami-navigation-group.css_tag_pami-navigation-group_encapsulation_shadow +30 -0
  771. package/dist/sources/3a78d70fc3ef5cd9c2b84b578e8aa4375e3512fe678f067f38b2eeec94cfade4/status-surface.ts +7 -0
  772. package/dist/sources/{6c163582408b4d7bc04a9c1a1f80b01e5861719f85f7e9f35667a619e50f9a0d → 4e65fa3e48826997c92b075221b722d889fbb59033628dc409191a69bb0ef1e0}/pami-menu.css_tag_pami-menu_encapsulation_shadow +1 -1
  773. package/dist/sources/527cfd468257c872834df7758243d5de17f075578964fb4b2d854046eebf0b2e/pami-motion-defaults.ts +8 -0
  774. package/dist/sources/{f057ec9cc9b2bc271fc6cafb5a9e886c1f2f88b76678d917b60de199571abccd → 541eb7b972849c16a3b860f7ea1c30751a98f8fc521a6ca03791ce5d0fe9426e}/pami-menu-item-group.css_tag_pami-menu-item-group_encapsulation_shadow +2 -2
  775. package/dist/sources/{ae8a116d7a4ea11a820767e5165db1e532a538eb8ba9ed5f4dc5a47e806ae4e6 → 59e0809dd478584dd6e8662e903cd5a0186609577db7b77a0479bd247f0d0735}/pami-side-sheet.tsx +13 -27
  776. package/dist/sources/{23e3c0a6f1c4ed86fe96ca5d8788e5cf6464e2be07031fd644120ea4efc313bf → 655cbc888435fe150257bfbd2fe21a572779617ba76cd567ac7d78e06a1ae431}/ripple.ts +6 -2
  777. package/dist/sources/{fc66575830503cd73ba7d3bedde73217b0f304d317ca851afd9e791ddad97fb5 → 6562889930d75426b2d8c57a2a68e8cb5a1540c9cc7fc5ae289092574ae223d0}/pami-navigation-rail-tab.tsx +200 -15
  778. package/dist/sources/{dd8e7de0b6aeaafd88a8d13123e5d07588ab74d8773cd80f70de293e28041436 → 6bab0e0b67c3b4abbb85cf631ad2af114271f98b795e2f2644810bffe75d1522}/pami-sub-menu-item.css_tag_pami-sub-menu-item_encapsulation_shadow +4 -4
  779. package/dist/sources/7a4b29a22f5e14ab4f0918effe1b91ad9ae6076553b826cc90edf6e43879cba0/pami-material-defaults.ts +193 -0
  780. package/dist/sources/7e8a1b22f1a1cb54b4b7cdad4bbfad9606419cf010636f6174da980089144636/pami-navigation-group.tsx +26 -0
  781. package/dist/sources/{0d91fa3bea6a6c8c693b8dca19946aef1b86d6f793f181210e5863de09b4aebb → 89368cfde7ecd06ee05b5493ce0f0503fd48fd12c4d8f2cb47610eb38157fe71}/pami-material.ts +63 -59
  782. package/dist/sources/9259130eb26707816d2f73de6a6b83ded1d342166d4bee8d7c5799f47e0ce776/pami-tag.css_tag_pami-tag_encapsulation_shadow +21 -0
  783. package/dist/sources/{7b02ffe2929f3ab24d21441af70c419cc2a0ca0c729de1ab51220ae5dc096f43 → 99e17d776c986eca5093163516c22279037bdf5d42f009db8f128413ae5cdeb2}/pami-search.css_tag_pami-search_encapsulation_shadow +3 -3
  784. package/dist/sources/{9a58a561a902b8eb3fa212160fb365c303f6ea7d5687af2abbd199d33c031650 → a430938d1fedf6a7b604b1dc070760d52bd2733dd0ff8aed7a704d2b28374333}/pami-navigation-rail-tab.css_tag_pami-navigation-rail-tab_encapsulation_shadow +101 -12
  785. package/dist/sources/{d80b6e4787aedf6628772d776d5d57b77be707a870bb78623a294a319b40bb3e → b05e116ff2b2e46fa76f8b32a21147a5275ac6550d59caafe834aad82bb2eed0}/pami-text-field.css_tag_pami-text-field_encapsulation_shadow +2 -2
  786. package/dist/sources/{f6fe21d8ade03a04388b25dd1e4a67e8ac84e5266632336311b9baf5e3e84d69 → b9bac20e73b763e4fd71ade205acf3179f48016689659d32fc5e9f723ec85c0a}/pami-menu-item.css_tag_pami-menu-item_encapsulation_shadow +5 -5
  787. package/dist/sources/{5fe0a66f80f0c4e661475395d7877a25335c605cf4fb02649bd887ab73564259 → bd61b0a219bfab84d1e6663df7c8df2dcf7395ad6110036c14874aa788023c15}/pami-slider.css_tag_pami-slider_encapsulation_shadow +2 -2
  788. package/dist/sources/{4dfc9c9d5e8fa39922a949409e66b9109463b97f0216334358921d4359cb61d6 → c176f6ce79521b5b70160c1a13b338d00bb4a90ee56911e0e043d4357dcd7e2a}/pami-multi-select.css_tag_pami-multi-select_encapsulation_shadow +4 -4
  789. package/dist/sources/{401e8c4f1d9d32aa7fb3d874c070d5e22bec9ef7a8300826a07b4df525e3e8a8 → c519dd6bf9591ea0961eb52e22d71ceabf68824f19be3bc1320cd3b7d0d06a78}/engine-abi.ts +1 -1
  790. package/dist/sources/{9230de3e79e81a5d82c53463873054c838e407aaaa6b4d83adba3e6420e1b668 → cafd0118f482317824eba435efde10692a0127e2c8104a754ac33b2e7607ef96}/pami-snackbar.css_tag_pami-snackbar_encapsulation_shadow +8 -6
  791. package/dist/sources/{8889443144c58e5dc85b288bf6f749a4142b4193f110787d5c2daddd1bd83700 → d72b349c2c336f88909a4c9e1f34cfaa824d2ccecad96b73da0ab6749bc810dd}/pami-ripple.tsx +1 -8
  792. package/dist/sources/{11e2d73298037a1e448521a045b253837dc5dfbb94e72a1c8afdb506a4759743 → dafd4f816d3de4b66b9eb2595187284bdb6a77e48afdc32d7a5166a2616d38bd}/pami-painter.ts +17 -11
  793. package/dist/sources/{3f7b937a1eddf96604fddc1dc0d30b4772f761c6f8fbacf7fa7a8532d8b2481e → de0d8bdaad31567edd750b4698e1eb5fd8122dc20b6ace6785570a380c2423d4}/pami-date-picker.tsx +5 -6
  794. package/dist/sources/{7e5e96f6428bb444fa618169230fcdc578c80766ecab3eba809e4c32ba9a17f7 → ded76ce1309e48970e51b17c73d2644d34ea22e45bc1b28b88a1ad20868e6cb9}/pami-rating.css_tag_pami-rating_encapsulation_shadow +3 -3
  795. package/dist/sources/{c274c1a827c9a70c44cfd4799d9d6254dfc6c5bcc0ba7f6d8e1ddd8d353271e0 → e73037cc274dab6b17d817adbfa3e69990da7d34758566725e634d080a8f1b53}/pami-ripple.css_tag_pami-ripple_encapsulation_shadow +6 -5
  796. package/dist/sources/{641359b47e4118436db06f645b766217d40ae15f1c1a8d1f978bdb04be56ced5 → eb9bf841ae4f9b06494c9b3edb130c9813e19f74f6f62490d9211914f616629b}/pami-list-item.css_tag_pami-list-item_encapsulation_shadow +1597 -1599
  797. package/dist/sources/{1c5da4122976a320028f326a3d21ba0f34a7bef5a8b3c0876912f32fe88c73a9 → f72676b12f85fff0999352413beba9ff1088fdbb4f64d593d1bf1936cd773cc6}/theme.ts +24 -5
  798. package/dist/sources/{95750dc74c5c9bce73cb26819375b45bd7b0462d6d52509ed918081dce4f1a0a → fdf252d43e9d2be51be81717c61f5215924906cbd31c969ef9a064d0d53c0aaf}/pami-navigation-rail.tsx +970 -766
  799. package/dist/sources/{3dfe9c1f569325c20a35778ec0dcb5ade6a20004645962282432aa2a85782276 → fff81d2a74c0586d69a65f9a8fe1954f6e853cc8f98c6cdea75a07a9737061b3}/pami-transfer-list.css_tag_pami-transfer-list_encapsulation_shadow +2 -2
  800. package/dist/types/components/pami-callout/pami-callout.d.ts +22 -0
  801. package/dist/types/components/pami-date-picker/pami-date-picker.d.ts +1 -2
  802. package/dist/types/components/pami-navigation-group/pami-navigation-group.d.ts +14 -0
  803. package/dist/types/components/pami-navigation-rail/pami-navigation-rail.d.ts +38 -0
  804. package/dist/types/components/pami-navigation-rail-tab/pami-navigation-rail-tab.d.ts +39 -0
  805. package/dist/types/components/pami-tag/pami-tag.d.ts +17 -0
  806. package/dist/types/components.d.ts +336 -14
  807. package/dist/types/utils/charts/theme.d.ts +2 -0
  808. package/dist/types/utils/focusable.d.ts +4 -0
  809. package/dist/types/utils/pami-dots.d.ts +1 -1
  810. package/dist/types/utils/pami-material-defaults.d.ts +108 -0
  811. package/dist/types/utils/pami-material.d.ts +12 -11
  812. package/dist/types/utils/pami-motion-defaults.d.ts +7 -0
  813. package/dist/types/utils/status-surface.d.ts +2 -0
  814. package/hydrate/index.js +983 -267
  815. package/hydrate/index.mjs +983 -267
  816. package/main-llm.md +14 -13
  817. package/package.json +2 -2
  818. package/src/components/pami-callout/readme.md +48 -0
  819. package/src/components/pami-navigation-group/readme.md +53 -0
  820. package/src/components/pami-navigation-rail/readme.md +91 -3
  821. package/src/components/pami-navigation-rail-tab/readme.md +30 -1
  822. package/src/components/pami-tag/readme.md +38 -0
  823. package/dist/cjs/pami-painter-CEq_kp4Z.js.map +0 -1
  824. package/dist/cjs/ripple-CiICEyeg.js.map +0 -1
  825. package/dist/cjs/rtl-D4GO_8Co.js.map +0 -1
  826. package/dist/components/p-29VlWbeT.js +0 -2
  827. package/dist/components/p-29VlWbeT.js.map +0 -1
  828. package/dist/components/p-BT8CI4i3.js +0 -2
  829. package/dist/components/p-BZcBbRYY.js +0 -2
  830. package/dist/components/p-C1b-wwIb.js +0 -2
  831. package/dist/components/p-C1b-wwIb.js.map +0 -1
  832. package/dist/components/p-CKrq0VhQ.js +0 -2
  833. package/dist/components/p-DD2A_AfS.js +0 -2
  834. package/dist/components/p-DFhQRL_q.js +0 -2
  835. package/dist/components/p-DFhQRL_q.js.map +0 -1
  836. package/dist/components/p-DO-HSPrg.js +0 -2
  837. package/dist/components/p-DO-HSPrg.js.map +0 -1
  838. package/dist/components/p-DQG2QiqW.js +0 -2
  839. package/dist/components/p-DWSD26x3.js +0 -2
  840. package/dist/components/p-NaJ3tJav.js +0 -2
  841. package/dist/components/p-NaJ3tJav.js.map +0 -1
  842. package/dist/components-csr/p-BN5fTT2p.js +0 -2
  843. package/dist/components-csr/p-BeWJtYZz.js +0 -2
  844. package/dist/components-csr/p-C1b-wwIb.js +0 -2
  845. package/dist/components-csr/p-C1b-wwIb.js.map +0 -1
  846. package/dist/components-csr/p-CGmQZ1oO.js +0 -2
  847. package/dist/components-csr/p-CGmQZ1oO.js.map +0 -1
  848. package/dist/components-csr/p-CKh3uxJF.js +0 -2
  849. package/dist/components-csr/p-CwgbF4Z5.js +0 -2
  850. package/dist/components-csr/p-CwgbF4Z5.js.map +0 -1
  851. package/dist/components-csr/p-D4njrR9m.js +0 -2
  852. package/dist/components-csr/p-D8TTB-lO.js +0 -2
  853. package/dist/components-csr/p-D8TTB-lO.js.map +0 -1
  854. package/dist/components-csr/p-DVtt3xax.js +0 -2
  855. package/dist/components-csr/p-DVtt3xax.js.map +0 -1
  856. package/dist/components-csr/p-PG3r1Ywi.js +0 -2
  857. package/dist/components-csr/p-dksxS2yM.js +0 -2
  858. package/dist/esm/pami-painter-BWqbBPaI.js.map +0 -1
  859. package/dist/esm/ripple-DT5RL9GH.js.map +0 -1
  860. package/dist/esm/rtl-CC7FhM00.js.map +0 -1
  861. package/dist/pami/p-041d2685.entry.js +0 -2
  862. package/dist/pami/p-041d2685.entry.js.map +0 -1
  863. package/dist/pami/p-0fcc82b3.entry.js +0 -2
  864. package/dist/pami/p-19669ac1.entry.js +0 -2
  865. package/dist/pami/p-1hwLIlBx.js +0 -2
  866. package/dist/pami/p-1hwLIlBx.js.map +0 -1
  867. package/dist/pami/p-2067b15d.entry.js +0 -2
  868. package/dist/pami/p-309b4e6d.entry.js +0 -2
  869. package/dist/pami/p-37d827d8.entry.js +0 -2
  870. package/dist/pami/p-3b5862ac.entry.js +0 -2
  871. package/dist/pami/p-4ba67b88.entry.js +0 -2
  872. package/dist/pami/p-542e81de.entry.js +0 -2
  873. package/dist/pami/p-5c02cc99.entry.js +0 -2
  874. package/dist/pami/p-5c02cc99.entry.js.map +0 -1
  875. package/dist/pami/p-60beacc5.entry.js +0 -2
  876. package/dist/pami/p-6753c7a1.entry.js +0 -2
  877. package/dist/pami/p-688017eb.entry.js +0 -2
  878. package/dist/pami/p-6a29a776.entry.js +0 -2
  879. package/dist/pami/p-6cd18c0d.entry.js +0 -2
  880. package/dist/pami/p-7415982c.entry.js +0 -2
  881. package/dist/pami/p-CC7FhM00.js +0 -2
  882. package/dist/pami/p-CC7FhM00.js.map +0 -1
  883. package/dist/pami/p-DT5RL9GH.js +0 -2
  884. package/dist/pami/p-DT5RL9GH.js.map +0 -1
  885. package/dist/pami/p-a304bc4f.entry.js +0 -2
  886. package/dist/pami/p-b2704345.entry.js +0 -2
  887. package/dist/pami/p-b6b7092b.entry.js +0 -2
  888. package/dist/pami/p-bac4f96e.entry.js +0 -2
  889. package/dist/pami/p-bac4f96e.entry.js.map +0 -1
  890. package/dist/pami/p-bd2fb99f.entry.js +0 -2
  891. package/dist/pami/p-c0fe2248.entry.js +0 -2
  892. package/dist/pami/p-c1409913.entry.js +0 -2
  893. package/dist/pami/p-cd922613.entry.js +0 -2
  894. package/dist/pami/p-cd922613.entry.js.map +0 -1
  895. package/dist/pami/p-cf4fa448.entry.js +0 -2
  896. package/dist/pami/p-cf4fa448.entry.js.map +0 -1
  897. package/dist/pami/p-d6600bc9.entry.js +0 -2
  898. package/dist/pami/p-d6600bc9.entry.js.map +0 -1
  899. package/dist/pami/p-d7504084.entry.js +0 -2
  900. package/dist/pami/p-dd4d87c2.entry.js +0 -2
  901. package/dist/pami/p-ec67197c.entry.js +0 -2
  902. package/dist/pami/p-ef41fef7.entry.js +0 -2
  903. package/dist/pami/p-f33d5f4a.entry.js +0 -2
  904. package/dist/pami/p-f3798dc6.entry.js +0 -2
  905. /package/dist/components/{p-DkVOc0wm.js.map → p-8v8oq2Gq.js.map} +0 -0
  906. /package/dist/components/{p-DneLEiFl.js.map → p-AeIwPqCK.js.map} +0 -0
  907. /package/dist/components/{p-C3VyQE8n.js.map → p-BHjV4ckR.js.map} +0 -0
  908. /package/dist/components/{p-Dh4RKEYp.js.map → p-Cf7x7Pbw.js.map} +0 -0
  909. /package/dist/components/{p-BKlel-AP.js.map → p-CsGff_Ta.js.map} +0 -0
  910. /package/dist/components/{p-CFpk8pnq.js.map → p-DKXYFRHy.js.map} +0 -0
  911. /package/dist/components/{p-Bf1Bx-JV.js.map → p-DuoeMUTq.js.map} +0 -0
  912. /package/dist/components/{p-g4sA3hAp.js.map → p-DzxH9m7D.js.map} +0 -0
  913. /package/dist/components-csr/{p-DneLEiFl.js.map → p-AeIwPqCK.js.map} +0 -0
  914. /package/dist/components-csr/{p-Dq_XLtjQ.js.map → p-BubrJNco.js.map} +0 -0
  915. /package/dist/components-csr/{p-Iozt_nIr.js.map → p-C1ChEady.js.map} +0 -0
  916. /package/dist/components-csr/{p-DYa7FJrs.js.map → p-CC0KCIVL.js.map} +0 -0
  917. /package/dist/components-csr/{p-wjnroiZn.js.map → p-CYTOzIlz.js.map} +0 -0
  918. /package/dist/components-csr/{p-BKlel-AP.js.map → p-CsGff_Ta.js.map} +0 -0
  919. /package/dist/components-csr/{p-CFpk8pnq.js.map → p-DKXYFRHy.js.map} +0 -0
  920. /package/dist/components-csr/{p-g4sA3hAp.js.map → p-DzxH9m7D.js.map} +0 -0
  921. /package/dist/pami/{p-bc63e548.entry.js.map → p-14668a82.entry.js.map} +0 -0
  922. /package/dist/pami/{p-cdd36757.entry.js.map → p-1468d5c4.entry.js.map} +0 -0
  923. /package/dist/pami/{p-a4a2f7e2.entry.js.map → p-230b51cc.entry.js.map} +0 -0
  924. /package/dist/pami/{p-f6d50fc7.entry.js.map → p-253bb306.entry.js.map} +0 -0
  925. /package/dist/pami/{p-c087aa2d.entry.js.map → p-27ba3c65.entry.js.map} +0 -0
  926. /package/dist/pami/{p-3577517b.entry.js.map → p-2c9fef75.entry.js.map} +0 -0
  927. /package/dist/pami/{p-2fa9e712.entry.js.map → p-3031787d.entry.js.map} +0 -0
  928. /package/dist/pami/{p-27208b60.entry.js.map → p-39a6add3.entry.js.map} +0 -0
  929. /package/dist/pami/{p-ed0554c3.entry.js.map → p-3fc31b91.entry.js.map} +0 -0
  930. /package/dist/pami/{p-91d25664.entry.js.map → p-513685d7.entry.js.map} +0 -0
  931. /package/dist/pami/{p-c1409913.entry.js.map → p-636faa29.entry.js.map} +0 -0
  932. /package/dist/pami/{p-b193dd1d.entry.js.map → p-71d62a04.entry.js.map} +0 -0
  933. /package/dist/pami/{p-3b859d3c.entry.js.map → p-72d9ed2c.entry.js.map} +0 -0
  934. /package/dist/pami/{p-5202ded3.entry.js.map → p-74673292.entry.js.map} +0 -0
  935. /package/dist/pami/{p-37d827d8.entry.js.map → p-76869b29.entry.js.map} +0 -0
  936. /package/dist/pami/{p-ef41fef7.entry.js.map → p-8381c008.entry.js.map} +0 -0
  937. /package/dist/pami/{p-7788c931.entry.js.map → p-86b07f8c.entry.js.map} +0 -0
  938. /package/dist/pami/{p-a516fb19.entry.js.map → p-a019a982.entry.js.map} +0 -0
  939. /package/dist/pami/{p-0435815b.entry.js.map → p-aa031eb5.entry.js.map} +0 -0
  940. /package/dist/pami/{p-42cda324.entry.js.map → p-be632c39.entry.js.map} +0 -0
  941. /package/dist/pami/{p-ea6e514b.entry.js.map → p-c02334c0.entry.js.map} +0 -0
  942. /package/dist/pami/{p-2391ef6b.entry.js.map → p-c717cd31.entry.js.map} +0 -0
  943. /package/dist/pami/{p-d3ad1da1.entry.js.map → p-cd63ef03.entry.js.map} +0 -0
  944. /package/dist/pami/{p-0f29f2bd.entry.js.map → p-cfc88755.entry.js.map} +0 -0
  945. /package/dist/pami/{p-14497ccf.entry.js.map → p-daf42aec.entry.js.map} +0 -0
  946. /package/dist/pami/{p-b8234190.entry.js.map → p-db1ee1b9.entry.js.map} +0 -0
  947. /package/dist/pami/{p-836652ad.entry.js.map → p-df18bacb.entry.js.map} +0 -0
  948. /package/dist/pami/{p-81c06d88.entry.js.map → p-eb41f4e0.entry.js.map} +0 -0
  949. /package/dist/pami/{p-4c023e51.entry.js.map → p-f29f90b0.entry.js.map} +0 -0
@@ -504,7 +504,7 @@
504
504
  padding: 32px 16px;
505
505
  text-align: center;
506
506
  color: var(--md-sys-color-on-surface-variant, #49454f);
507
- font-size: var(--md-sys-typescale-body-medium-size, 14px);
507
+ font-size: var(--md-sys-typescale-body-medium-font-size, 14px);
508
508
  }
509
509
 
510
510
  /* ── Horizontal orientation ───────────────────────────────────────
@@ -0,0 +1,21 @@
1
+ @import '../../global/pami-surface.css';
2
+ :host { display: block; min-inline-size: 0; }
3
+ :host([hidden]) { display: none; }
4
+ [part="container"] {
5
+ display: flex; align-items: flex-start;
6
+ gap: var(--md-sys-spacing-gap-sm, 8px);
7
+ padding: var(--md-sys-spacing-inset-lg, 16px);
8
+ border-radius: var(--md-sys-shape-corner-medium, 12px);
9
+ font: var(--md-sys-typescale-body-medium-font);
10
+ box-sizing: border-box;
11
+ }
12
+ .body { flex: 1; min-inline-size: 0; overflow-wrap: anywhere; }
13
+ .headline { font: var(--md-sys-typescale-title-small-font); }
14
+ ::slotted([slot="headline"]) { margin: 0; font: inherit; }
15
+ [part="actions"] { display: flex; flex-wrap: wrap; gap: var(--md-sys-spacing-gap-sm, 8px); }
16
+ ::slotted([slot="actions"]) { margin-block-start: var(--md-sys-spacing-gap-sm, 8px); }
17
+ .icon { display: inline-flex; flex-shrink: 0; }
18
+ ::slotted([slot="icon"]) {
19
+ inline-size: var(--md-sys-typescale-body-medium-line-height);
20
+ block-size: var(--md-sys-typescale-body-medium-line-height);
21
+ }
@@ -0,0 +1,42 @@
1
+ import { Component, Element, Host, Prop, h } from '@stencil/core';
2
+ import { PamiDots } from '../../utils/pami-dots';
3
+ import { paintSurfaces, unpaintSurfaces } from '../../utils/pami-painter';
4
+ import { PamiStatusTone, statusSurface } from '../../utils/status-surface';
5
+
6
+ /**
7
+ * An explanation or notification in the content flow.
8
+ * @tag pami-callout
9
+ * @slot - Message content
10
+ * @slot headline - Optional heading with an application-chosen heading level
11
+ * @slot icon - Optional decorative icon
12
+ * @slot actions - Application-owned controls
13
+ * @csspart container - Message surface
14
+ * @csspart content - Heading and message
15
+ * @csspart actions - Action region
16
+ */
17
+ @Component({ tag: 'pami-callout', styleUrl: 'pami-callout.css', shadow: true })
18
+ export class PamiCallout {
19
+ @Element() el!: HTMLElement;
20
+ /** Semantic colour; does not determine announcement urgency. */
21
+ @Prop({ reflect: true }) tone: PamiStatusTone = 'neutral';
22
+ /** Announce message updates. Use assertive only for urgent interruptions. */
23
+ @Prop() announcement: 'off' | 'polite' | 'assertive' = 'off';
24
+
25
+ componentDidRender() { paintSurfaces(this.el); }
26
+ disconnectedCallback() { unpaintSurfaces(this.el); }
27
+
28
+ render() {
29
+ const live = this.announcement === 'polite' || this.announcement === 'assertive';
30
+ return <Host><div part="container" data-surface={`${statusSurface(this.tone)}:surface`}>
31
+ <PamiDots />
32
+ <span class="icon" aria-hidden="true"><slot name="icon" /></span>
33
+ <div class="body">
34
+ <div part="content" role={live ? (this.announcement === 'assertive' ? 'alert' : 'status') : undefined}
35
+ aria-live={live ? this.announcement : undefined} aria-atomic={live ? 'true' : undefined}>
36
+ <div class="headline"><slot name="headline" /></div><slot />
37
+ </div>
38
+ <div part="actions"><slot name="actions" /></div>
39
+ </div>
40
+ </div></Host>;
41
+ }
42
+ }
@@ -0,0 +1,30 @@
1
+ :host {
2
+ display: block;
3
+ box-sizing: border-box;
4
+ inline-size: 100%;
5
+ min-inline-size: 0;
6
+ padding-block: var(--md-sys-spacing-gap-sm, 8px);
7
+ border-block-start: 1px solid var(--md-sys-color-outline-variant);
8
+ }
9
+
10
+ :host([hidden]) { display: none; }
11
+
12
+ [part="label"] {
13
+ display: block;
14
+ padding: var(--md-sys-spacing-inset-sm, 8px) var(--md-sys-spacing-inset-lg, 16px);
15
+ font: var(--md-sys-typescale-label-medium-font);
16
+ color: var(--md-sys-color-on-surface-variant);
17
+ overflow-wrap: anywhere;
18
+ }
19
+
20
+ :host(:not([expanded])) [part="label"] { display: none; }
21
+
22
+ [part="items"] {
23
+ display: flex;
24
+ flex-direction: column;
25
+ gap: var(--md-sys-spacing-gap-xs, 4px);
26
+ }
27
+
28
+ @media (forced-colors: active) {
29
+ :host { border-color: CanvasText; }
30
+ }
@@ -0,0 +1,7 @@
1
+ export type PamiStatusTone = 'neutral' | 'info' | 'success' | 'warning' | 'error';
2
+ const surfaces: Record<PamiStatusTone, string> = {
3
+ neutral: 'crumb', info: 'blue', success: 'green', warning: 'yellow', error: 'red',
4
+ };
5
+ export function statusSurface(tone: PamiStatusTone): string {
6
+ return surfaces[tone] || surfaces.neutral;
7
+ }
@@ -459,7 +459,7 @@
459
459
  display: none;
460
460
  padding: var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px);
461
461
  font-family: var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);
462
- font-size: var(--md-sys-typescale-body-medium-size, 14px);
462
+ font-size: var(--md-sys-typescale-body-medium-font-size, 14px);
463
463
  line-height: var(--md-sys-typescale-body-medium-line-height, 20px);
464
464
  color: var(--md-sys-color-on-surface-variant, #49454F);
465
465
  text-align: center;
@@ -0,0 +1,8 @@
1
+ // Generated from foundations/tokens/pami.tokens.json. Do not edit.
2
+ export const PARI_DURATION_MS = 320;
3
+ export const PARI_OPACITY = 0.24;
4
+ export const PARI_EASING = "cubic-bezier(0.16, 1, 0.3, 1)";
5
+ export const PRESS_SCALE = 1;
6
+ export const PRESS_DURATION_MS = 100;
7
+ export const PRESS_EASING = "cubic-bezier(0.2, 0, 0.2, 1)";
8
+ export const EASING_STANDARD = "cubic-bezier(0.2, 0, 0, 1)";
@@ -10,8 +10,8 @@
10
10
 
11
11
  .pami-menu-item-group__label {
12
12
  font-family: var(--md-sys-typescale-label-medium-font-family, Roboto, sans-serif);
13
- font-size: var(--md-sys-typescale-label-medium-size, 12px);
14
- font-weight: var(--md-sys-typescale-label-medium-weight, 500);
13
+ font-size: var(--md-sys-typescale-label-medium-font-size, 12px);
14
+ font-weight: var(--md-sys-typescale-label-medium-font-weight, 500);
15
15
  line-height: var(--md-sys-typescale-label-medium-line-height, 16px);
16
16
  color: var(--md-sys-color-on-surface-variant, #49454F);
17
17
  /* Global density: on-grid label padding tracks --md-sys-spacing-* tokens
@@ -2,7 +2,8 @@ import { createId } from '../../utils/id';
2
2
  import { paintSurfaces, unpaintSurfaces } from '../../utils/pami-painter';
3
3
  import { PamiDots } from '../../utils/pami-dots';
4
4
  import { Component, Host, h, Prop, Event, EventEmitter, Method, Watch, State, Element } from '@stencil/core';
5
- import { OverlayLifecycle } from '../../utils/overlay-lifecycle';
5
+ import { OverlayLifecycle } from '../../utils/overlay-lifecycle';
6
+ import { flatFocusableElements } from '../../utils/focusable';
6
7
 
7
8
  /**
8
9
  * MD3 Side sheet — anchored panel for secondary content and actions.
@@ -253,8 +254,12 @@ export class PamiSideSheet {
253
254
 
254
255
  // ── Focus trap via focusin ──────────────────────────────
255
256
 
256
- private handleDocFocusIn = () => {
257
- if (!this.open || this.variant !== 'modal') return;
257
+ private handleDocFocusIn = (event: FocusEvent) => {
258
+ if (!this.open || this.variant !== 'modal') return;
259
+
260
+ // In an enclosing shadow root, document.activeElement is that outer host.
261
+ // The composed focus path still identifies this sheet and its slots.
262
+ if (event.composedPath().includes(this.el)) return;
258
263
 
259
264
  const active = document.activeElement;
260
265
  if (!active) return;
@@ -316,28 +321,9 @@ export class PamiSideSheet {
316
321
  }
317
322
  }
318
323
 
319
- private getFocusableElements(): HTMLElement[] {
320
- const selector = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]), pami-icon-button:not([disabled]), pami-button:not([disabled]), pami-text-field:not([disabled]), pami-checkbox:not([disabled]), pami-switch:not([disabled]), pami-radio:not([disabled]), pami-slider:not([disabled])';
321
-
322
- const shadowEls = Array.from(
323
- this.containerEl?.querySelectorAll(selector) ?? [],
324
- ) as HTMLElement[];
325
-
326
- const slots = this.containerEl?.querySelectorAll('slot') ?? [];
327
- const slottedEls: HTMLElement[] = [];
328
- slots.forEach((slot) => {
329
- const assigned = (slot as HTMLSlotElement).assignedElements({ flatten: true });
330
- assigned.forEach((el) => {
331
- if ((el as HTMLElement).matches?.(selector)) {
332
- slottedEls.push(el as HTMLElement);
333
- }
334
- const nested = (el as HTMLElement).querySelectorAll?.(selector);
335
- if (nested) slottedEls.push(...(Array.from(nested) as HTMLElement[]));
336
- });
337
- });
338
-
339
- return [...shadowEls, ...slottedEls];
340
- }
324
+ private getFocusableElements(): HTMLElement[] {
325
+ return this.containerEl ? flatFocusableElements(this.containerEl) : [];
326
+ }
341
327
 
342
328
  // ── Render ──────────────────────────────────────────────
343
329
 
@@ -393,7 +379,7 @@ export class PamiSideSheet {
393
379
  class="pami-side-sheet__focus-guard"
394
380
  tabindex={0}
395
381
  aria-hidden="true"
396
- onFocus={this.handleEndGuardFocus}
382
+ onFocus={this.handleStartGuardFocus}
397
383
  ></span>
398
384
  )}
399
385
 
@@ -456,7 +442,7 @@ export class PamiSideSheet {
456
442
  class="pami-side-sheet__focus-guard"
457
443
  tabindex={0}
458
444
  aria-hidden="true"
459
- onFocus={this.handleStartGuardFocus}
445
+ onFocus={this.handleEndGuardFocus}
460
446
  ></span>
461
447
  )}
462
448
  </div>
@@ -41,8 +41,12 @@ export function triggerRipple(host: HTMLElement, selector: string = 'pami-ripple
41
41
  export async function waitForHostRipple(
42
42
  host: HTMLElement,
43
43
  selector: string = 'pami-ripple',
44
- ): Promise<void> {
45
- const started =
44
+ ): Promise<void> {
45
+ // Keyboard and application actions must not wait for decorative feedback
46
+ // when the user has requested reduced motion.
47
+ if (typeof window !== 'undefined' &&
48
+ window.matchMedia?.('(prefers-reduced-motion: reduce)').matches) return;
49
+ const started =
46
50
  typeof performance !== 'undefined' ? performance.now() : Date.now();
47
51
  const ripple = host.shadowRoot?.querySelector(selector) as RippleElement | null;
48
52
  if (typeof ripple?.whenSettled === 'function') {
@@ -15,7 +15,9 @@ import { PamiDots } from '../../utils/pami-dots';
15
15
  import { paintSurfaces, unpaintSurfaces } from '../../utils/pami-painter';
16
16
  import { triggerRipple } from '../../utils/ripple';
17
17
  import { getRailTransitionTiming, parseRailMotionDuration, registerRailTabTransition, synchronizeRailAnimation } from '../../utils/navigation-rail-motion';
18
- import { sanitizeHref, SAFE_LINK_REL } from '../../utils/url';
18
+ import { sanitizeHref, SAFE_LINK_REL } from '../../utils/url';
19
+ import { fixedContainingBlockOrigin } from '../../utils/fixed-position';
20
+ import { releaseIsolatingAncestors } from '../../utils/isolation-escape';
19
21
 
20
22
  /**
21
23
  * Material Design 3 — Navigation Rail Destination (Tab)
@@ -23,7 +25,16 @@ import { sanitizeHref, SAFE_LINK_REL } from '../../utils/url';
23
25
  * A single destination within a `<pami-navigation-rail>`. Renders the MD3
24
26
  * active-indicator pill (56×32) around the icon, with an optional label
25
27
  * underneath (or inline when the parent rail is expanded). Supports badges,
26
- * disabled state, link mode (`href`) and slotted custom icons.
28
+ * disabled state, link mode (`href`) and slotted custom icons.
29
+ * @tag pami-navigation-rail-tab
30
+ * @slot icon - Destination icon
31
+ * @slot children - Nested navigation destinations or labelled groups
32
+ * @slot submenu - Legacy command menu
33
+ * @fires pamiChildrenToggle - Disclosure changes independently of routing
34
+ * @csspart destination - Branch destination button or link
35
+ * @csspart disclosure - Branch disclosure button
36
+ * @csspart children - Inline or popup children region
37
+ * @csspart row - Parent destination and disclosure row
27
38
  *
28
39
  * Spec:
29
40
  * - https://m3.material.io/components/navigation-rail/specs
@@ -76,7 +87,32 @@ export class PamiNavigationRailTab {
76
87
  labelVisibility: 'all' | 'selected' | 'none' = 'all';
77
88
 
78
89
  /** True when the parent rail is expanded; managed by the parent. */
79
- @Prop({ reflect: true }) expanded: boolean = false;
90
+ @Prop({ reflect: true }) expanded: boolean = false;
91
+
92
+ /** Managed by the rail: destination semantics for grouped navigation. */
93
+ @Prop() navigation: boolean = false;
94
+
95
+ /** Whether the destinations in the children slot are disclosed. */
96
+ @Prop({ mutable: true, reflect: true, attribute: 'children-open' }) childrenOpen: boolean = false;
97
+
98
+ /** Accessible disclosure name; defaults to the destination label. */
99
+ @Prop({ attribute: 'children-label' }) childrenLabel?: string;
100
+
101
+ /** Fired when the user opens or closes the children disclosure. */
102
+ @Event() pamiChildrenToggle: EventEmitter<{ value: string; open: boolean }>;
103
+
104
+ @State() private hasChildren = false;
105
+ private childrenId = createId('pami-navigation-children');
106
+ private childrenObserver?: MutationObserver;
107
+ private popupWasOpen = false;
108
+ private restoreIsolation?: () => void;
109
+ private pendingChildrenFocus = false;
110
+
111
+ private syncChildren = () => {
112
+ this.hasChildren = Array.from(this.el.children).some(child => child.getAttribute('slot') === 'children');
113
+ };
114
+
115
+ componentWillLoad() { this.syncChildren(); }
80
116
 
81
117
  /**
82
118
  * Local density rung. Drives the same `--md-sys-density-scale` signal that a
@@ -126,14 +162,33 @@ export class PamiNavigationRailTab {
126
162
  private labelAnimation?: Animation;
127
163
  private unregisterTransition?: () => void;
128
164
 
129
- connectedCallback() {
165
+ connectedCallback() {
166
+ this.syncChildren();
167
+ if (typeof MutationObserver !== 'undefined') {
168
+ this.childrenObserver = new MutationObserver(this.syncChildren);
169
+ this.childrenObserver.observe(this.el, { childList: true, attributes: true, subtree: true, attributeFilter: ['slot'] });
170
+ }
171
+ this.el.ownerDocument.addEventListener('pointerdown', this.onOutsidePointer);
172
+ this.el.ownerDocument.addEventListener('keydown', this.onPopupKeyDown);
173
+ this.el.ownerDocument.addEventListener('focusin', this.onOutsideFocus);
174
+ this.el.ownerDocument.defaultView?.addEventListener('resize', this.positionChildren);
175
+ this.el.ownerDocument.addEventListener('scroll', this.positionChildren, true);
130
176
  this.unregisterTransition = registerRailTabTransition(this.el, () => {
131
177
  this.captureTransition();
132
178
  this.transitionPrepared = true;
133
179
  });
134
180
  }
135
181
 
136
- disconnectedCallback() {
182
+ disconnectedCallback() {
183
+ this.childrenObserver?.disconnect();
184
+ this.el.ownerDocument.removeEventListener('pointerdown', this.onOutsidePointer);
185
+ this.el.ownerDocument.removeEventListener('keydown', this.onPopupKeyDown);
186
+ this.el.ownerDocument.removeEventListener('focusin', this.onOutsideFocus);
187
+ this.el.ownerDocument.defaultView?.removeEventListener('resize', this.positionChildren);
188
+ this.el.ownerDocument.removeEventListener('scroll', this.positionChildren, true);
189
+ this.restoreIsolation?.();
190
+ this.restoreIsolation = undefined;
191
+ this.popupWasOpen = false;
137
192
  unpaintSurfaces(this.el);
138
193
  this.unregisterTransition?.();
139
194
  this.cancelAnimations();
@@ -182,7 +237,8 @@ export class PamiNavigationRailTab {
182
237
  /** The rail prepares before its own padding changes. Direct prop changes
183
238
  * still capture here, so a destination also behaves correctly in isolation. */
184
239
  @Watch('expanded')
185
- onExpandedChange() {
240
+ onExpandedChange() {
241
+ if (!this.expanded && this.hasChildren && this.childrenOpen) this.setChildrenOpen(false);
186
242
  if (!this.transitionPrepared) this.captureTransition();
187
243
  this.transitionPrepared = false;
188
244
  }
@@ -270,7 +326,8 @@ export class PamiNavigationRailTab {
270
326
  this.labelOverlay = { element: label, styles };
271
327
  }
272
328
 
273
- componentDidRender() {
329
+ componentDidRender() {
330
+ this.syncChildrenPopup();
274
331
  if (!this.pendingTransition) return;
275
332
  this.pendingTransition = false;
276
333
  this.playTransition();
@@ -491,7 +548,7 @@ export class PamiNavigationRailTab {
491
548
  else void menu.show();
492
549
  }
493
550
 
494
- private handleClick = (e: MouseEvent) => {
551
+ private handleClick = (e: MouseEvent) => {
495
552
  if (this.disabled) {
496
553
  e.preventDefault();
497
554
  e.stopImmediatePropagation();
@@ -505,7 +562,134 @@ export class PamiNavigationRailTab {
505
562
  return;
506
563
  }
507
564
  this.pamiTabClick.emit({ value: this.value });
508
- };
565
+ };
566
+
567
+ /** Focus this destination, including the native control used by a branch. */
568
+ @Method()
569
+ async focusDestination(): Promise<void> {
570
+ const target = this.hasChildren ? this.el.shadowRoot?.querySelector<HTMLElement>('[part="destination"]') : this.el;
571
+ target?.focus({ preventScroll: true });
572
+ }
573
+
574
+ /** Change the disclosure without activating the parent route. */
575
+ @Method()
576
+ async setChildrenOpen(open: boolean): Promise<void> {
577
+ if (this.disabled || !this.hasChildren || open === this.childrenOpen) return;
578
+ if (!open && this.popupWasOpen && this.el.contains(this.el.ownerDocument.activeElement)) {
579
+ this.el.shadowRoot?.querySelector<HTMLButtonElement>('[part="disclosure"]')?.focus({ preventScroll: true });
580
+ }
581
+ this.childrenOpen = open;
582
+ this.pamiChildrenToggle.emit({ value: this.value, open });
583
+ }
584
+
585
+ private disclosure = () => {
586
+ this.pendingChildrenFocus = !this.expanded && !this.childrenOpen;
587
+ void this.setChildrenOpen(!this.childrenOpen);
588
+ };
589
+
590
+ private onOutsidePointer = (event: PointerEvent) => {
591
+ if (this.popupWasOpen && !event.composedPath().includes(this.el)) void this.setChildrenOpen(false);
592
+ };
593
+
594
+ private onOutsideFocus = (event: FocusEvent) => {
595
+ if (this.popupWasOpen && !event.composedPath().includes(this.el)) void this.setChildrenOpen(false);
596
+ };
597
+
598
+ private onPopupKeyDown = (event: KeyboardEvent) => {
599
+ if (!this.popupWasOpen || event.key !== 'Escape' || event.defaultPrevented) return;
600
+ event.preventDefault();
601
+ void this.setChildrenOpen(false);
602
+ this.el.shadowRoot?.querySelector<HTMLButtonElement>('[part="disclosure"]')?.focus({ preventScroll: true });
603
+ };
604
+
605
+ private positionChildren = () => {
606
+ if (!this.popupWasOpen) return;
607
+ const region = this.el.shadowRoot?.querySelector<HTMLElement>('[part="children"]');
608
+ const trigger = this.el.shadowRoot?.querySelector<HTMLElement>('[part="row"]');
609
+ if (!region || !trigger) return;
610
+ const viewport = this.el.ownerDocument.defaultView;
611
+ if (!viewport) return;
612
+ const margin = parseFloat(getComputedStyle(this.el).getPropertyValue('--md-sys-spacing-inset-sm')) || 8;
613
+ const rect = trigger.getBoundingClientRect();
614
+ const rtl = getComputedStyle(this.el).direction === 'rtl';
615
+ const width = Math.min(region.getBoundingClientRect().width, viewport.innerWidth - 2 * margin);
616
+ let left = rtl ? rect.left - width - margin : rect.right + margin;
617
+ if (left < margin || left + width > viewport.innerWidth - margin) left = rtl ? rect.right + margin : rect.left - width - margin;
618
+ left = Math.max(margin, Math.min(left, viewport.innerWidth - width - margin));
619
+ const height = region.getBoundingClientRect().height;
620
+ const top = Math.max(margin, Math.min(rect.top, viewport.innerHeight - height - margin));
621
+ const origin = fixedContainingBlockOrigin(region);
622
+ region.style.left = `${left - origin.x}px`;
623
+ region.style.top = `${top - origin.y}px`;
624
+ };
625
+
626
+ private syncChildrenPopup() {
627
+ const region = this.el.shadowRoot?.querySelector<HTMLElement>('[part="children"]');
628
+ if (!region) return;
629
+ const open = this.hasChildren && this.childrenOpen && !this.expanded;
630
+ if (open) {
631
+ region.setAttribute('popover', 'manual');
632
+ if (!this.popupWasOpen) {
633
+ this.restoreIsolation = releaseIsolatingAncestors(region);
634
+ region.showPopover?.();
635
+ }
636
+ this.popupWasOpen = true;
637
+ this.positionChildren();
638
+ if (this.pendingChildrenFocus) {
639
+ this.pendingChildrenFocus = false;
640
+ const child = Array.from(this.el.querySelectorAll<HTMLPamiNavigationRailTabElement & { focusDestination?(): Promise<void> }>('pami-navigation-rail-tab'))
641
+ .find(tab => !tab.disabled && !tab.hidden);
642
+ if (child?.focusDestination) void child.focusDestination();
643
+ else child?.focus();
644
+ }
645
+ } else {
646
+ if (this.popupWasOpen) {
647
+ if (this.el.ownerDocument.activeElement !== this.el && this.el.contains(this.el.ownerDocument.activeElement)) {
648
+ this.el.shadowRoot?.querySelector<HTMLButtonElement>('[part="disclosure"]')?.focus({ preventScroll: true });
649
+ }
650
+ region.hidePopover?.();
651
+ }
652
+ region.removeAttribute('popover');
653
+ region.style.removeProperty('left');
654
+ region.style.removeProperty('top');
655
+ this.restoreIsolation?.();
656
+ this.restoreIsolation = undefined;
657
+ this.popupWasOpen = false;
658
+ }
659
+ }
660
+
661
+ private renderBranch(href: string | undefined) {
662
+ const destination = [
663
+ this.active && <span class="pami-navigation-branch__surface" data-surface={this.expanded ? 'crust-soft:control' : 'crust:control'} aria-hidden="true"><PamiDots /></span>,
664
+ <pami-ripple disabled={this.disabled} />,
665
+ <span class="pami-navigation-branch__icon">{this.renderIcon()}{this.renderBadge()}</span>,
666
+ <span class="pami-navigation-branch__label" part="label">{this.label}</span>,
667
+ ];
668
+ return (
669
+ <Host class={{ 'pami-navigation-rail-tab': true, 'pami-navigation-rail-tab--branch': true,
670
+ 'pami-navigation-rail-tab--expanded': this.expanded, 'pami-navigation-rail-tab--active': this.active }}
671
+ role="group" aria-label={this.label} tabindex="-1">
672
+ <div class="pami-navigation-branch__row" part="row">
673
+ {href && !this.disabled
674
+ ? <a class="pami-navigation-branch__destination" part="destination" href={href}
675
+ target={this.target || undefined} rel={this.target ? SAFE_LINK_REL : undefined}
676
+ aria-current={this.active ? 'page' : undefined} onClick={this.handleClick}>{destination}</a>
677
+ : <button class="pami-navigation-branch__destination" part="destination" type="button" disabled={this.disabled}
678
+ aria-current={this.active ? 'page' : undefined} onClick={this.handleClick}>{destination}</button>}
679
+ <button type="button" class="pami-navigation-branch__disclosure" part="disclosure" disabled={this.disabled}
680
+ aria-label={this.childrenLabel || this.label} aria-controls={this.childrenId}
681
+ aria-expanded={String(this.childrenOpen)} onClick={this.disclosure}>
682
+ <pami-icon name={this.childrenOpen ? 'expand_less' : 'expand_more'} aria-hidden="true" />
683
+ </button>
684
+ </div>
685
+ <div id={this.childrenId} part="children" role="group" aria-label={this.label}
686
+ class={{ 'pami-navigation-branch__children': true, 'pami-navigation-branch__popup': !this.expanded }}
687
+ hidden={!this.childrenOpen} inert={!this.childrenOpen || this.disabled}>
688
+ <slot name="children" onSlotchange={this.syncChildren} />
689
+ </div>
690
+ </Host>
691
+ );
692
+ }
509
693
 
510
694
  private handleKeyDown = (e: KeyboardEvent) => {
511
695
  if (this.disabled) return;
@@ -577,7 +761,7 @@ export class PamiNavigationRailTab {
577
761
  return [
578
762
  <span class="pami-navigation-rail-tab__indicator" part="indicator" aria-hidden="true">
579
763
  {this.active && (
580
- <span class="pami-navigation-rail-tab__surface" data-surface="crust:control" aria-hidden="true">
764
+ <span class="pami-navigation-rail-tab__surface" data-surface={this.expanded ? 'crust-soft:control' : 'crust:control'} aria-hidden="true">
581
765
  <PamiDots />
582
766
  </span>
583
767
  )}
@@ -620,12 +804,13 @@ export class PamiNavigationRailTab {
620
804
  /* `isLink` drives role, aria-current and aria-selected, so it is derived
621
805
  from the sanitized URL: a rejected `href` renders no anchor, and the
622
806
  tab must not still announce itself as a link. */
623
- const href = sanitizeHref(this.href);
807
+ const href = sanitizeHref(this.href);
808
+ if (this.hasChildren) return this.renderBranch(href);
624
809
  const isLink = !!href && !this.disabled;
625
810
  const ariaDisabled = this.disabled ? 'true' : null;
626
- const ariaCurrent = this.active && isLink ? 'page' : null;
627
- const ariaSelected = isLink ? null : this.active ? 'true' : 'false';
628
- const role = isLink ? 'link' : 'tab';
811
+ const ariaCurrent = this.active && (isLink || this.navigation) ? 'page' : null;
812
+ const ariaSelected = isLink || this.navigation ? null : this.active ? 'true' : 'false';
813
+ const role = isLink ? 'link' : this.navigation ? 'button' : 'tab';
629
814
  // Accessible name resolution.
630
815
  // - tab mode: the role=tab host is named by its rendered label contents;
631
816
  // aria-label is only needed for icon-only tabs (author supplies it).
@@ -656,7 +841,7 @@ export class PamiNavigationRailTab {
656
841
  aria-current={ariaCurrent}
657
842
  aria-disabled={ariaDisabled}
658
843
  aria-label={hostAriaLabel}
659
- tabindex={this.disabled ? '-1' : this.active ? '0' : '-1'}
844
+ tabindex={this.disabled ? '-1' : this.navigation || this.active ? '0' : '-1'}
660
845
  aria-haspopup={this.submenu ? 'menu' : undefined}
661
846
  aria-expanded={this.submenu ? (this.submenuOpen ? 'true' : 'false') : undefined}
662
847
  onClick={this.handleClick}
@@ -138,7 +138,7 @@
138
138
  .pami-sub-menu-item__headline {
139
139
  font-family: var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);
140
140
  font-size: max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));
141
- font-weight: var(--md-sys-typescale-body-large-weight, 400);
141
+ font-weight: var(--md-sys-typescale-body-large-font-weight, 400);
142
142
  line-height: max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));
143
143
  white-space: nowrap;
144
144
  overflow: hidden;
@@ -169,10 +169,10 @@
169
169
  background-color: var(--md-sys-color-tertiary-container, #FFD8E4);
170
170
  color: var(--md-sys-color-on-tertiary-container, #31111D);
171
171
  font-family: var(--md-sys-typescale-label-small-font-family, Roboto, sans-serif);
172
- font-size: var(--md-sys-typescale-label-small-size, 11px);
173
- font-weight: var(--md-sys-typescale-label-small-weight, 500);
172
+ font-size: var(--md-sys-typescale-label-small-font-size, 11px);
173
+ font-weight: var(--md-sys-typescale-label-small-font-weight, 500);
174
174
  line-height: var(--md-sys-typescale-label-small-line-height, 16px);
175
- letter-spacing: var(--md-sys-typescale-label-small-tracking, 0.5px);
175
+ letter-spacing: var(--md-sys-typescale-label-small-letter-spacing, 0.5px);
176
176
  white-space: nowrap;
177
177
  }
178
178