@pitchfork-ui/elements 0.0.0-stage → 0.2.1

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 (1639) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -2
  3. package/dist/cjs/aria-5oCPUGFo.js +25 -0
  4. package/dist/cjs/aria-5oCPUGFo.js.map +1 -0
  5. package/dist/cjs/cartesian-C7GC9oo_.js +198 -0
  6. package/dist/cjs/cartesian-C7GC9oo_.js.map +1 -0
  7. package/dist/cjs/command-Du9CowoS.js +42 -0
  8. package/dist/cjs/command-Du9CowoS.js.map +1 -0
  9. package/dist/cjs/control-label-C0eK8bPh.js +36 -0
  10. package/dist/cjs/control-label-C0eK8bPh.js.map +1 -0
  11. package/dist/cjs/date-CzVt5Lej.js +170 -0
  12. package/dist/cjs/date-CzVt5Lej.js.map +1 -0
  13. package/dist/cjs/form-validity-BCrcqnZ7.js +37 -0
  14. package/dist/cjs/form-validity-BCrcqnZ7.js.map +1 -0
  15. package/dist/cjs/icons-Db3Bk5fj.js +81 -0
  16. package/dist/cjs/icons-Db3Bk5fj.js.map +1 -0
  17. package/dist/cjs/index-CIskGKk1.js +2307 -0
  18. package/dist/cjs/index-CIskGKk1.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +5 -0
  20. package/dist/cjs/index.cjs.js.map +1 -0
  21. package/dist/cjs/keys-S3YTuCcn.js +20 -0
  22. package/dist/cjs/keys-S3YTuCcn.js.map +1 -0
  23. package/dist/cjs/loader.cjs.js +15 -0
  24. package/dist/cjs/loader.cjs.js.map +1 -0
  25. package/dist/cjs/motion-Bjlaq-ac.js +45 -0
  26. package/dist/cjs/motion-Bjlaq-ac.js.map +1 -0
  27. package/dist/cjs/nav-C4LaACXb.js +27 -0
  28. package/dist/cjs/nav-C4LaACXb.js.map +1 -0
  29. package/dist/cjs/navigation-CZce-g58.js +35 -0
  30. package/dist/cjs/navigation-CZce-g58.js.map +1 -0
  31. package/dist/cjs/number-field-DIVYv25j.js +76 -0
  32. package/dist/cjs/number-field-DIVYv25j.js.map +1 -0
  33. package/dist/cjs/pf-accordion-item.cjs.entry.js +62 -0
  34. package/dist/cjs/pf-accordion-item.cjs.entry.js.map +1 -0
  35. package/dist/cjs/pf-accordion.cjs.entry.js +146 -0
  36. package/dist/cjs/pf-accordion.cjs.entry.js.map +1 -0
  37. package/dist/cjs/pf-alert.cjs.entry.js +67 -0
  38. package/dist/cjs/pf-alert.cjs.entry.js.map +1 -0
  39. package/dist/cjs/pf-avatar-group.cjs.entry.js +120 -0
  40. package/dist/cjs/pf-avatar-group.cjs.entry.js.map +1 -0
  41. package/dist/cjs/pf-avatar.cjs.entry.js +30 -0
  42. package/dist/cjs/pf-avatar.cjs.entry.js.map +1 -0
  43. package/dist/cjs/pf-badge-group.cjs.entry.js +36 -0
  44. package/dist/cjs/pf-badge-group.cjs.entry.js.map +1 -0
  45. package/dist/cjs/pf-badge.cjs.entry.js +22 -0
  46. package/dist/cjs/pf-badge.cjs.entry.js.map +1 -0
  47. package/dist/cjs/pf-bar-chart.cjs.entry.js +112 -0
  48. package/dist/cjs/pf-bar-chart.cjs.entry.js.map +1 -0
  49. package/dist/cjs/pf-breadcrumb.cjs.entry.js +43 -0
  50. package/dist/cjs/pf-breadcrumb.cjs.entry.js.map +1 -0
  51. package/dist/cjs/pf-breadcrumbs.cjs.entry.js +96 -0
  52. package/dist/cjs/pf-breadcrumbs.cjs.entry.js.map +1 -0
  53. package/dist/cjs/pf-button-group-item.cjs.entry.js +51 -0
  54. package/dist/cjs/pf-button-group-item.cjs.entry.js.map +1 -0
  55. package/dist/cjs/pf-button-group.cjs.entry.js +102 -0
  56. package/dist/cjs/pf-button-group.cjs.entry.js.map +1 -0
  57. package/dist/cjs/pf-button.cjs.entry.js +43 -0
  58. package/dist/cjs/pf-button.cjs.entry.js.map +1 -0
  59. package/dist/cjs/pf-calendar.cjs.entry.js +222 -0
  60. package/dist/cjs/pf-calendar.cjs.entry.js.map +1 -0
  61. package/dist/cjs/pf-card-content.cjs.entry.js +20 -0
  62. package/dist/cjs/pf-card-content.cjs.entry.js.map +1 -0
  63. package/dist/cjs/pf-card-footer.cjs.entry.js +20 -0
  64. package/dist/cjs/pf-card-footer.cjs.entry.js.map +1 -0
  65. package/dist/cjs/pf-card-header.cjs.entry.js +20 -0
  66. package/dist/cjs/pf-card-header.cjs.entry.js.map +1 -0
  67. package/dist/cjs/pf-card.cjs.entry.js +20 -0
  68. package/dist/cjs/pf-card.cjs.entry.js.map +1 -0
  69. package/dist/cjs/pf-carousel-slide.cjs.entry.js +33 -0
  70. package/dist/cjs/pf-carousel-slide.cjs.entry.js.map +1 -0
  71. package/dist/cjs/pf-carousel.cjs.entry.js +170 -0
  72. package/dist/cjs/pf-carousel.cjs.entry.js.map +1 -0
  73. package/dist/cjs/pf-chart-series.cjs.entry.js +33 -0
  74. package/dist/cjs/pf-chart-series.cjs.entry.js.map +1 -0
  75. package/dist/cjs/pf-checkbox.cjs.entry.js +112 -0
  76. package/dist/cjs/pf-checkbox.cjs.entry.js.map +1 -0
  77. package/dist/cjs/pf-code-snippet.cjs.entry.js +157 -0
  78. package/dist/cjs/pf-code-snippet.cjs.entry.js.map +1 -0
  79. package/dist/cjs/pf-collapsible.cjs.entry.js +76 -0
  80. package/dist/cjs/pf-collapsible.cjs.entry.js.map +1 -0
  81. package/dist/cjs/pf-combobox.cjs.entry.js +340 -0
  82. package/dist/cjs/pf-combobox.cjs.entry.js.map +1 -0
  83. package/dist/cjs/pf-command-group.cjs.entry.js +22 -0
  84. package/dist/cjs/pf-command-group.cjs.entry.js.map +1 -0
  85. package/dist/cjs/pf-command-item.cjs.entry.js +50 -0
  86. package/dist/cjs/pf-command-item.cjs.entry.js.map +1 -0
  87. package/dist/cjs/pf-command-palette.cjs.entry.js +273 -0
  88. package/dist/cjs/pf-command-palette.cjs.entry.js.map +1 -0
  89. package/dist/cjs/pf-content-divider.cjs.entry.js +55 -0
  90. package/dist/cjs/pf-content-divider.cjs.entry.js.map +1 -0
  91. package/dist/cjs/pf-context-menu.cjs.entry.js +159 -0
  92. package/dist/cjs/pf-context-menu.cjs.entry.js.map +1 -0
  93. package/dist/cjs/pf-credit-card.cjs.entry.js +40 -0
  94. package/dist/cjs/pf-credit-card.cjs.entry.js.map +1 -0
  95. package/dist/cjs/pf-date-picker.cjs.entry.js +242 -0
  96. package/dist/cjs/pf-date-picker.cjs.entry.js.map +1 -0
  97. package/dist/cjs/pf-date-range-picker.cjs.entry.js +477 -0
  98. package/dist/cjs/pf-date-range-picker.cjs.entry.js.map +1 -0
  99. package/dist/cjs/pf-dropdown.cjs.entry.js +183 -0
  100. package/dist/cjs/pf-dropdown.cjs.entry.js.map +1 -0
  101. package/dist/cjs/pf-empty-state.cjs.entry.js +55 -0
  102. package/dist/cjs/pf-empty-state.cjs.entry.js.map +1 -0
  103. package/dist/cjs/pf-file-uploader.cjs.entry.js +312 -0
  104. package/dist/cjs/pf-file-uploader.cjs.entry.js.map +1 -0
  105. package/dist/cjs/pf-gauge-chart.cjs.entry.js +41 -0
  106. package/dist/cjs/pf-gauge-chart.cjs.entry.js.map +1 -0
  107. package/dist/cjs/pf-header-navigation.cjs.entry.js +89 -0
  108. package/dist/cjs/pf-header-navigation.cjs.entry.js.map +1 -0
  109. package/dist/cjs/pf-heatmap.cjs.entry.js +252 -0
  110. package/dist/cjs/pf-heatmap.cjs.entry.js.map +1 -0
  111. package/dist/cjs/pf-icon.cjs.entry.js +327 -0
  112. package/dist/cjs/pf-icon.cjs.entry.js.map +1 -0
  113. package/dist/cjs/pf-inline-cta.cjs.entry.js +86 -0
  114. package/dist/cjs/pf-inline-cta.cjs.entry.js.map +1 -0
  115. package/dist/cjs/pf-input.cjs.entry.js +124 -0
  116. package/dist/cjs/pf-input.cjs.entry.js.map +1 -0
  117. package/dist/cjs/pf-kbd.cjs.entry.js +27 -0
  118. package/dist/cjs/pf-kbd.cjs.entry.js.map +1 -0
  119. package/dist/cjs/pf-line-chart.cjs.entry.js +117 -0
  120. package/dist/cjs/pf-line-chart.cjs.entry.js.map +1 -0
  121. package/dist/cjs/pf-loading-dots.cjs.entry.js +24 -0
  122. package/dist/cjs/pf-loading-dots.cjs.entry.js.map +1 -0
  123. package/dist/cjs/pf-loading-skeleton.cjs.entry.js +43 -0
  124. package/dist/cjs/pf-loading-skeleton.cjs.entry.js.map +1 -0
  125. package/dist/cjs/pf-loading-spinner.cjs.entry.js +30 -0
  126. package/dist/cjs/pf-loading-spinner.cjs.entry.js.map +1 -0
  127. package/dist/cjs/pf-menu-item.cjs.entry.js +57 -0
  128. package/dist/cjs/pf-menu-item.cjs.entry.js.map +1 -0
  129. package/dist/cjs/pf-menu-separator.cjs.entry.js +20 -0
  130. package/dist/cjs/pf-menu-separator.cjs.entry.js.map +1 -0
  131. package/dist/cjs/pf-metric-card.cjs.entry.js +54 -0
  132. package/dist/cjs/pf-metric-card.cjs.entry.js.map +1 -0
  133. package/dist/cjs/pf-metric-grid.cjs.entry.js +20 -0
  134. package/dist/cjs/pf-metric-grid.cjs.entry.js.map +1 -0
  135. package/dist/cjs/pf-modal-body.cjs.entry.js +20 -0
  136. package/dist/cjs/pf-modal-body.cjs.entry.js.map +1 -0
  137. package/dist/cjs/pf-modal-footer.cjs.entry.js +20 -0
  138. package/dist/cjs/pf-modal-footer.cjs.entry.js.map +1 -0
  139. package/dist/cjs/pf-modal-header.cjs.entry.js +20 -0
  140. package/dist/cjs/pf-modal-header.cjs.entry.js.map +1 -0
  141. package/dist/cjs/pf-modal.cjs.entry.js +229 -0
  142. package/dist/cjs/pf-modal.cjs.entry.js.map +1 -0
  143. package/dist/cjs/pf-multi-select.cjs.entry.js +317 -0
  144. package/dist/cjs/pf-multi-select.cjs.entry.js.map +1 -0
  145. package/dist/cjs/pf-nav-item.cjs.entry.js +83 -0
  146. package/dist/cjs/pf-nav-item.cjs.entry.js.map +1 -0
  147. package/dist/cjs/pf-nav-section.cjs.entry.js +54 -0
  148. package/dist/cjs/pf-nav-section.cjs.entry.js.map +1 -0
  149. package/dist/cjs/pf-notification.cjs.entry.js +68 -0
  150. package/dist/cjs/pf-notification.cjs.entry.js.map +1 -0
  151. package/dist/cjs/pf-number-input.cjs.entry.js +193 -0
  152. package/dist/cjs/pf-number-input.cjs.entry.js.map +1 -0
  153. package/dist/cjs/pf-option.cjs.entry.js +50 -0
  154. package/dist/cjs/pf-option.cjs.entry.js.map +1 -0
  155. package/dist/cjs/pf-page-header.cjs.entry.js +35 -0
  156. package/dist/cjs/pf-page-header.cjs.entry.js.map +1 -0
  157. package/dist/cjs/pf-pagination.cjs.entry.js +113 -0
  158. package/dist/cjs/pf-pagination.cjs.entry.js.map +1 -0
  159. package/dist/cjs/pf-pie-chart.cjs.entry.js +94 -0
  160. package/dist/cjs/pf-pie-chart.cjs.entry.js.map +1 -0
  161. package/dist/cjs/pf-pie-slice.cjs.entry.js +36 -0
  162. package/dist/cjs/pf-pie-slice.cjs.entry.js.map +1 -0
  163. package/dist/cjs/pf-popover.cjs.entry.js +157 -0
  164. package/dist/cjs/pf-popover.cjs.entry.js.map +1 -0
  165. package/dist/cjs/pf-progress-bar.cjs.entry.js +32 -0
  166. package/dist/cjs/pf-progress-bar.cjs.entry.js.map +1 -0
  167. package/dist/cjs/pf-progress-circle.cjs.entry.js +40 -0
  168. package/dist/cjs/pf-progress-circle.cjs.entry.js.map +1 -0
  169. package/dist/cjs/pf-progress-step.cjs.entry.js +42 -0
  170. package/dist/cjs/pf-progress-step.cjs.entry.js.map +1 -0
  171. package/dist/cjs/pf-progress-steps.cjs.entry.js +99 -0
  172. package/dist/cjs/pf-progress-steps.cjs.entry.js.map +1 -0
  173. package/dist/cjs/pf-radar-axis.cjs.entry.js +33 -0
  174. package/dist/cjs/pf-radar-axis.cjs.entry.js.map +1 -0
  175. package/dist/cjs/pf-radar-chart.cjs.entry.js +185 -0
  176. package/dist/cjs/pf-radar-chart.cjs.entry.js.map +1 -0
  177. package/dist/cjs/pf-radio-button.cjs.entry.js +73 -0
  178. package/dist/cjs/pf-radio-button.cjs.entry.js.map +1 -0
  179. package/dist/cjs/pf-radio-group.cjs.entry.js +174 -0
  180. package/dist/cjs/pf-radio-group.cjs.entry.js.map +1 -0
  181. package/dist/cjs/pf-rating-badge.cjs.entry.js +35 -0
  182. package/dist/cjs/pf-rating-badge.cjs.entry.js.map +1 -0
  183. package/dist/cjs/pf-rating-stars.cjs.entry.js +46 -0
  184. package/dist/cjs/pf-rating-stars.cjs.entry.js.map +1 -0
  185. package/dist/cjs/pf-resizable.cjs.entry.js +205 -0
  186. package/dist/cjs/pf-resizable.cjs.entry.js.map +1 -0
  187. package/dist/cjs/pf-rich-text-editor.cjs.entry.js +261 -0
  188. package/dist/cjs/pf-rich-text-editor.cjs.entry.js.map +1 -0
  189. package/dist/cjs/pf-scroll-area.cjs.entry.js +43 -0
  190. package/dist/cjs/pf-scroll-area.cjs.entry.js.map +1 -0
  191. package/dist/cjs/pf-section-footer.cjs.entry.js +41 -0
  192. package/dist/cjs/pf-section-footer.cjs.entry.js.map +1 -0
  193. package/dist/cjs/pf-section-header.cjs.entry.js +37 -0
  194. package/dist/cjs/pf-section-header.cjs.entry.js.map +1 -0
  195. package/dist/cjs/pf-select.cjs.entry.js +413 -0
  196. package/dist/cjs/pf-select.cjs.entry.js.map +1 -0
  197. package/dist/cjs/pf-sidebar-navigation.cjs.entry.js +106 -0
  198. package/dist/cjs/pf-sidebar-navigation.cjs.entry.js.map +1 -0
  199. package/dist/cjs/pf-slideout-menu.cjs.entry.js +155 -0
  200. package/dist/cjs/pf-slideout-menu.cjs.entry.js.map +1 -0
  201. package/dist/cjs/pf-slider.cjs.entry.js +127 -0
  202. package/dist/cjs/pf-slider.cjs.entry.js.map +1 -0
  203. package/dist/cjs/pf-sparkline.cjs.entry.js +123 -0
  204. package/dist/cjs/pf-sparkline.cjs.entry.js.map +1 -0
  205. package/dist/cjs/pf-switch.cjs.entry.js +112 -0
  206. package/dist/cjs/pf-switch.cjs.entry.js.map +1 -0
  207. package/dist/cjs/pf-tab-panel.cjs.entry.js +41 -0
  208. package/dist/cjs/pf-tab-panel.cjs.entry.js.map +1 -0
  209. package/dist/cjs/pf-tab.cjs.entry.js +96 -0
  210. package/dist/cjs/pf-tab.cjs.entry.js.map +1 -0
  211. package/dist/cjs/pf-table-cell.cjs.entry.js +50 -0
  212. package/dist/cjs/pf-table-cell.cjs.entry.js.map +1 -0
  213. package/dist/cjs/pf-table-row.cjs.entry.js +51 -0
  214. package/dist/cjs/pf-table-row.cjs.entry.js.map +1 -0
  215. package/dist/cjs/pf-table.cjs.entry.js +145 -0
  216. package/dist/cjs/pf-table.cjs.entry.js.map +1 -0
  217. package/dist/cjs/pf-tabs.cjs.entry.js +342 -0
  218. package/dist/cjs/pf-tabs.cjs.entry.js.map +1 -0
  219. package/dist/cjs/pf-tag-input.cjs.entry.js +200 -0
  220. package/dist/cjs/pf-tag-input.cjs.entry.js.map +1 -0
  221. package/dist/cjs/pf-tag.cjs.entry.js +32 -0
  222. package/dist/cjs/pf-tag.cjs.entry.js.map +1 -0
  223. package/dist/cjs/pf-textarea.cjs.entry.js +141 -0
  224. package/dist/cjs/pf-textarea.cjs.entry.js.map +1 -0
  225. package/dist/cjs/pf-time-picker.cjs.entry.js +329 -0
  226. package/dist/cjs/pf-time-picker.cjs.entry.js.map +1 -0
  227. package/dist/cjs/pf-timeline-item.cjs.entry.js +46 -0
  228. package/dist/cjs/pf-timeline-item.cjs.entry.js.map +1 -0
  229. package/dist/cjs/pf-timeline.cjs.entry.js +55 -0
  230. package/dist/cjs/pf-timeline.cjs.entry.js.map +1 -0
  231. package/dist/cjs/pf-toaster.cjs.entry.js +90 -0
  232. package/dist/cjs/pf-toaster.cjs.entry.js.map +1 -0
  233. package/dist/cjs/pf-toolbar-separator.cjs.entry.js +22 -0
  234. package/dist/cjs/pf-toolbar-separator.cjs.entry.js.map +1 -0
  235. package/dist/cjs/pf-toolbar.cjs.entry.js +75 -0
  236. package/dist/cjs/pf-toolbar.cjs.entry.js.map +1 -0
  237. package/dist/cjs/pf-tooltip.cjs.entry.js +179 -0
  238. package/dist/cjs/pf-tooltip.cjs.entry.js.map +1 -0
  239. package/dist/cjs/pf-tree-item.cjs.entry.js +81 -0
  240. package/dist/cjs/pf-tree-item.cjs.entry.js.map +1 -0
  241. package/dist/cjs/pf-tree-view.cjs.entry.js +342 -0
  242. package/dist/cjs/pf-tree-view.cjs.entry.js.map +1 -0
  243. package/dist/cjs/pf-utility-button.cjs.entry.js +56 -0
  244. package/dist/cjs/pf-utility-button.cjs.entry.js.map +1 -0
  245. package/dist/cjs/pf-video-player.cjs.entry.js +62 -0
  246. package/dist/cjs/pf-video-player.cjs.entry.js.map +1 -0
  247. package/dist/cjs/pf-visually-hidden.cjs.entry.js +25 -0
  248. package/dist/cjs/pf-visually-hidden.cjs.entry.js.map +1 -0
  249. package/dist/cjs/pie-Bf7gKQU2.js +117 -0
  250. package/dist/cjs/pie-Bf7gKQU2.js.map +1 -0
  251. package/dist/cjs/pitchfork.cjs.js +27 -0
  252. package/dist/cjs/pitchfork.cjs.js.map +1 -0
  253. package/dist/cjs/place-popover-CMqeolzZ.js +200 -0
  254. package/dist/cjs/place-popover-CMqeolzZ.js.map +1 -0
  255. package/dist/cjs/progress-DVUoQ3h5.js +87 -0
  256. package/dist/cjs/progress-DVUoQ3h5.js.map +1 -0
  257. package/dist/cjs/rating-B-EBGYMD.js +56 -0
  258. package/dist/cjs/rating-B-EBGYMD.js.map +1 -0
  259. package/dist/cjs/roving-BNDruU3m.js +71 -0
  260. package/dist/cjs/roving-BNDruU3m.js.map +1 -0
  261. package/dist/cjs/scroll-lock-DllDwdH9.js +46 -0
  262. package/dist/cjs/scroll-lock-DllDwdH9.js.map +1 -0
  263. package/dist/cjs/text-DQvgAqew.js +59 -0
  264. package/dist/cjs/text-DQvgAqew.js.map +1 -0
  265. package/dist/cjs/value-list-zSKmhcgH.js +109 -0
  266. package/dist/cjs/value-list-zSKmhcgH.js.map +1 -0
  267. package/dist/collection/collection-manifest.json +120 -0
  268. package/dist/collection/components/pf-accordion/pf-accordion.css +10 -0
  269. package/dist/collection/components/pf-accordion/pf-accordion.js +289 -0
  270. package/dist/collection/components/pf-accordion/pf-accordion.js.map +1 -0
  271. package/dist/collection/components/pf-accordion-item/pf-accordion-item.css +94 -0
  272. package/dist/collection/components/pf-accordion-item/pf-accordion-item.js +194 -0
  273. package/dist/collection/components/pf-accordion-item/pf-accordion-item.js.map +1 -0
  274. package/dist/collection/components/pf-alert/pf-alert.css +140 -0
  275. package/dist/collection/components/pf-alert/pf-alert.js +238 -0
  276. package/dist/collection/components/pf-alert/pf-alert.js.map +1 -0
  277. package/dist/collection/components/pf-avatar/pf-avatar.css +101 -0
  278. package/dist/collection/components/pf-avatar/pf-avatar.js +152 -0
  279. package/dist/collection/components/pf-avatar/pf-avatar.js.map +1 -0
  280. package/dist/collection/components/pf-avatar-group/pf-avatar-group.css +55 -0
  281. package/dist/collection/components/pf-avatar-group/pf-avatar-group.js +222 -0
  282. package/dist/collection/components/pf-avatar-group/pf-avatar-group.js.map +1 -0
  283. package/dist/collection/components/pf-badge/pf-badge.css +43 -0
  284. package/dist/collection/components/pf-badge/pf-badge.js +59 -0
  285. package/dist/collection/components/pf-badge/pf-badge.js.map +1 -0
  286. package/dist/collection/components/pf-badge-group/pf-badge-group.css +119 -0
  287. package/dist/collection/components/pf-badge-group/pf-badge-group.js +164 -0
  288. package/dist/collection/components/pf-badge-group/pf-badge-group.js.map +1 -0
  289. package/dist/collection/components/pf-bar-chart/pf-bar-chart.css +96 -0
  290. package/dist/collection/components/pf-bar-chart/pf-bar-chart.js +263 -0
  291. package/dist/collection/components/pf-bar-chart/pf-bar-chart.js.map +1 -0
  292. package/dist/collection/components/pf-breadcrumb/pf-breadcrumb.css +40 -0
  293. package/dist/collection/components/pf-breadcrumb/pf-breadcrumb.js +160 -0
  294. package/dist/collection/components/pf-breadcrumb/pf-breadcrumb.js.map +1 -0
  295. package/dist/collection/components/pf-breadcrumbs/pf-breadcrumbs.css +27 -0
  296. package/dist/collection/components/pf-breadcrumbs/pf-breadcrumbs.js +162 -0
  297. package/dist/collection/components/pf-breadcrumbs/pf-breadcrumbs.js.map +1 -0
  298. package/dist/collection/components/pf-button/pf-button.css +134 -0
  299. package/dist/collection/components/pf-button/pf-button.js +216 -0
  300. package/dist/collection/components/pf-button/pf-button.js.map +1 -0
  301. package/dist/collection/components/pf-button-group/pf-button-group.css +14 -0
  302. package/dist/collection/components/pf-button-group/pf-button-group.js +229 -0
  303. package/dist/collection/components/pf-button-group/pf-button-group.js.map +1 -0
  304. package/dist/collection/components/pf-button-group-item/pf-button-group-item.css +103 -0
  305. package/dist/collection/components/pf-button-group-item/pf-button-group-item.js +206 -0
  306. package/dist/collection/components/pf-button-group-item/pf-button-group-item.js.map +1 -0
  307. package/dist/collection/components/pf-calendar/pf-calendar.css +151 -0
  308. package/dist/collection/components/pf-calendar/pf-calendar.js +479 -0
  309. package/dist/collection/components/pf-calendar/pf-calendar.js.map +1 -0
  310. package/dist/collection/components/pf-card/pf-card.css +17 -0
  311. package/dist/collection/components/pf-card/pf-card.js +32 -0
  312. package/dist/collection/components/pf-card/pf-card.js.map +1 -0
  313. package/dist/collection/components/pf-card-content/pf-card-content.css +8 -0
  314. package/dist/collection/components/pf-card-content/pf-card-content.js +24 -0
  315. package/dist/collection/components/pf-card-content/pf-card-content.js.map +1 -0
  316. package/dist/collection/components/pf-card-footer/pf-card-footer.css +10 -0
  317. package/dist/collection/components/pf-card-footer/pf-card-footer.js +26 -0
  318. package/dist/collection/components/pf-card-footer/pf-card-footer.js.map +1 -0
  319. package/dist/collection/components/pf-card-header/pf-card-header.css +14 -0
  320. package/dist/collection/components/pf-card-header/pf-card-header.js +24 -0
  321. package/dist/collection/components/pf-card-header/pf-card-header.js.map +1 -0
  322. package/dist/collection/components/pf-carousel/pf-carousel.css +145 -0
  323. package/dist/collection/components/pf-carousel/pf-carousel.js +397 -0
  324. package/dist/collection/components/pf-carousel/pf-carousel.js.map +1 -0
  325. package/dist/collection/components/pf-carousel-slide/pf-carousel-slide.css +12 -0
  326. package/dist/collection/components/pf-carousel-slide/pf-carousel-slide.js +106 -0
  327. package/dist/collection/components/pf-carousel-slide/pf-carousel-slide.js.map +1 -0
  328. package/dist/collection/components/pf-chart-series/pf-chart-series.css +18 -0
  329. package/dist/collection/components/pf-chart-series/pf-chart-series.js +132 -0
  330. package/dist/collection/components/pf-chart-series/pf-chart-series.js.map +1 -0
  331. package/dist/collection/components/pf-checkbox/pf-checkbox.css +77 -0
  332. package/dist/collection/components/pf-checkbox/pf-checkbox.js +327 -0
  333. package/dist/collection/components/pf-checkbox/pf-checkbox.js.map +1 -0
  334. package/dist/collection/components/pf-code-snippet/pf-code-snippet.css +164 -0
  335. package/dist/collection/components/pf-code-snippet/pf-code-snippet.js +371 -0
  336. package/dist/collection/components/pf-code-snippet/pf-code-snippet.js.map +1 -0
  337. package/dist/collection/components/pf-collapsible/pf-collapsible.css +85 -0
  338. package/dist/collection/components/pf-collapsible/pf-collapsible.js +224 -0
  339. package/dist/collection/components/pf-collapsible/pf-collapsible.js.map +1 -0
  340. package/dist/collection/components/pf-combobox/pf-combobox.css +158 -0
  341. package/dist/collection/components/pf-combobox/pf-combobox.js +754 -0
  342. package/dist/collection/components/pf-combobox/pf-combobox.js.map +1 -0
  343. package/dist/collection/components/pf-command-group/pf-command-group.css +18 -0
  344. package/dist/collection/components/pf-command-group/pf-command-group.js +57 -0
  345. package/dist/collection/components/pf-command-group/pf-command-group.js.map +1 -0
  346. package/dist/collection/components/pf-command-item/pf-command-item.css +76 -0
  347. package/dist/collection/components/pf-command-item/pf-command-item.js +142 -0
  348. package/dist/collection/components/pf-command-item/pf-command-item.js.map +1 -0
  349. package/dist/collection/components/pf-command-palette/pf-command-palette.css +113 -0
  350. package/dist/collection/components/pf-command-palette/pf-command-palette.js +503 -0
  351. package/dist/collection/components/pf-command-palette/pf-command-palette.js.map +1 -0
  352. package/dist/collection/components/pf-content-divider/pf-content-divider.css +61 -0
  353. package/dist/collection/components/pf-content-divider/pf-content-divider.js +121 -0
  354. package/dist/collection/components/pf-content-divider/pf-content-divider.js.map +1 -0
  355. package/dist/collection/components/pf-context-menu/pf-context-menu.css +58 -0
  356. package/dist/collection/components/pf-context-menu/pf-context-menu.js +331 -0
  357. package/dist/collection/components/pf-context-menu/pf-context-menu.js.map +1 -0
  358. package/dist/collection/components/pf-credit-card/pf-credit-card.css +118 -0
  359. package/dist/collection/components/pf-credit-card/pf-credit-card.js +180 -0
  360. package/dist/collection/components/pf-credit-card/pf-credit-card.js.map +1 -0
  361. package/dist/collection/components/pf-date-picker/pf-date-picker.css +141 -0
  362. package/dist/collection/components/pf-date-picker/pf-date-picker.js +697 -0
  363. package/dist/collection/components/pf-date-picker/pf-date-picker.js.map +1 -0
  364. package/dist/collection/components/pf-date-range-picker/pf-date-range-picker.css +267 -0
  365. package/dist/collection/components/pf-date-range-picker/pf-date-range-picker.js +834 -0
  366. package/dist/collection/components/pf-date-range-picker/pf-date-range-picker.js.map +1 -0
  367. package/dist/collection/components/pf-dropdown/pf-dropdown.css +57 -0
  368. package/dist/collection/components/pf-dropdown/pf-dropdown.js +369 -0
  369. package/dist/collection/components/pf-dropdown/pf-dropdown.js.map +1 -0
  370. package/dist/collection/components/pf-empty-state/pf-empty-state.css +94 -0
  371. package/dist/collection/components/pf-empty-state/pf-empty-state.js +126 -0
  372. package/dist/collection/components/pf-empty-state/pf-empty-state.js.map +1 -0
  373. package/dist/collection/components/pf-file-uploader/pf-file-uploader.css +186 -0
  374. package/dist/collection/components/pf-file-uploader/pf-file-uploader.js +557 -0
  375. package/dist/collection/components/pf-file-uploader/pf-file-uploader.js.map +1 -0
  376. package/dist/collection/components/pf-gauge-chart/pf-gauge-chart.css +83 -0
  377. package/dist/collection/components/pf-gauge-chart/pf-gauge-chart.js +186 -0
  378. package/dist/collection/components/pf-gauge-chart/pf-gauge-chart.js.map +1 -0
  379. package/dist/collection/components/pf-header-navigation/pf-header-navigation.css +83 -0
  380. package/dist/collection/components/pf-header-navigation/pf-header-navigation.js +171 -0
  381. package/dist/collection/components/pf-header-navigation/pf-header-navigation.js.map +1 -0
  382. package/dist/collection/components/pf-heatmap/pf-heatmap.css +108 -0
  383. package/dist/collection/components/pf-heatmap/pf-heatmap.js +321 -0
  384. package/dist/collection/components/pf-heatmap/pf-heatmap.js.map +1 -0
  385. package/dist/collection/components/pf-icon/bundled-icons.js +40 -0
  386. package/dist/collection/components/pf-icon/bundled-icons.js.map +1 -0
  387. package/dist/collection/components/pf-icon/custom-icons.js +37 -0
  388. package/dist/collection/components/pf-icon/custom-icons.js.map +1 -0
  389. package/dist/collection/components/pf-icon/icon-names.js +9 -0
  390. package/dist/collection/components/pf-icon/icon-names.js.map +1 -0
  391. package/dist/collection/components/pf-icon/pf-icon.css +17 -0
  392. package/dist/collection/components/pf-icon/pf-icon.js +105 -0
  393. package/dist/collection/components/pf-icon/pf-icon.js.map +1 -0
  394. package/dist/collection/components/pf-inline-cta/pf-inline-cta.css +167 -0
  395. package/dist/collection/components/pf-inline-cta/pf-inline-cta.js +263 -0
  396. package/dist/collection/components/pf-inline-cta/pf-inline-cta.js.map +1 -0
  397. package/dist/collection/components/pf-input/pf-input.css +82 -0
  398. package/dist/collection/components/pf-input/pf-input.js +424 -0
  399. package/dist/collection/components/pf-input/pf-input.js.map +1 -0
  400. package/dist/collection/components/pf-kbd/pf-kbd.css +33 -0
  401. package/dist/collection/components/pf-kbd/pf-kbd.js +102 -0
  402. package/dist/collection/components/pf-kbd/pf-kbd.js.map +1 -0
  403. package/dist/collection/components/pf-line-chart/pf-line-chart.css +98 -0
  404. package/dist/collection/components/pf-line-chart/pf-line-chart.js +294 -0
  405. package/dist/collection/components/pf-line-chart/pf-line-chart.js.map +1 -0
  406. package/dist/collection/components/pf-loading-dots/pf-loading-dots.css +75 -0
  407. package/dist/collection/components/pf-loading-dots/pf-loading-dots.js +79 -0
  408. package/dist/collection/components/pf-loading-dots/pf-loading-dots.js.map +1 -0
  409. package/dist/collection/components/pf-loading-skeleton/pf-loading-skeleton.css +54 -0
  410. package/dist/collection/components/pf-loading-skeleton/pf-loading-skeleton.js +131 -0
  411. package/dist/collection/components/pf-loading-skeleton/pf-loading-skeleton.js.map +1 -0
  412. package/dist/collection/components/pf-loading-spinner/pf-loading-spinner.css +51 -0
  413. package/dist/collection/components/pf-loading-spinner/pf-loading-spinner.js +78 -0
  414. package/dist/collection/components/pf-loading-spinner/pf-loading-spinner.js.map +1 -0
  415. package/dist/collection/components/pf-menu-item/pf-menu-item.css +70 -0
  416. package/dist/collection/components/pf-menu-item/pf-menu-item.js +167 -0
  417. package/dist/collection/components/pf-menu-item/pf-menu-item.js.map +1 -0
  418. package/dist/collection/components/pf-menu-separator/pf-menu-separator.css +11 -0
  419. package/dist/collection/components/pf-menu-separator/pf-menu-separator.js +25 -0
  420. package/dist/collection/components/pf-menu-separator/pf-menu-separator.js.map +1 -0
  421. package/dist/collection/components/pf-metric-card/pf-metric-card.css +125 -0
  422. package/dist/collection/components/pf-metric-card/pf-metric-card.js +128 -0
  423. package/dist/collection/components/pf-metric-card/pf-metric-card.js.map +1 -0
  424. package/dist/collection/components/pf-metric-grid/pf-metric-grid.css +14 -0
  425. package/dist/collection/components/pf-metric-grid/pf-metric-grid.js +29 -0
  426. package/dist/collection/components/pf-metric-grid/pf-metric-grid.js.map +1 -0
  427. package/dist/collection/components/pf-modal/pf-modal.css +94 -0
  428. package/dist/collection/components/pf-modal/pf-modal.js +396 -0
  429. package/dist/collection/components/pf-modal/pf-modal.js.map +1 -0
  430. package/dist/collection/components/pf-modal-body/pf-modal-body.css +9 -0
  431. package/dist/collection/components/pf-modal-body/pf-modal-body.js +28 -0
  432. package/dist/collection/components/pf-modal-body/pf-modal-body.js.map +1 -0
  433. package/dist/collection/components/pf-modal-footer/pf-modal-footer.css +11 -0
  434. package/dist/collection/components/pf-modal-footer/pf-modal-footer.js +28 -0
  435. package/dist/collection/components/pf-modal-footer/pf-modal-footer.js.map +1 -0
  436. package/dist/collection/components/pf-modal-header/pf-modal-header.css +10 -0
  437. package/dist/collection/components/pf-modal-header/pf-modal-header.js +28 -0
  438. package/dist/collection/components/pf-modal-header/pf-modal-header.js.map +1 -0
  439. package/dist/collection/components/pf-multi-select/pf-multi-select.css +139 -0
  440. package/dist/collection/components/pf-multi-select/pf-multi-select.js +692 -0
  441. package/dist/collection/components/pf-multi-select/pf-multi-select.js.map +1 -0
  442. package/dist/collection/components/pf-nav-item/pf-nav-item.css +125 -0
  443. package/dist/collection/components/pf-nav-item/pf-nav-item.js +265 -0
  444. package/dist/collection/components/pf-nav-item/pf-nav-item.js.map +1 -0
  445. package/dist/collection/components/pf-nav-section/pf-nav-section.css +39 -0
  446. package/dist/collection/components/pf-nav-section/pf-nav-section.js +94 -0
  447. package/dist/collection/components/pf-nav-section/pf-nav-section.js.map +1 -0
  448. package/dist/collection/components/pf-notification/pf-notification.css +200 -0
  449. package/dist/collection/components/pf-notification/pf-notification.js +234 -0
  450. package/dist/collection/components/pf-notification/pf-notification.js.map +1 -0
  451. package/dist/collection/components/pf-number-input/pf-number-input.css +137 -0
  452. package/dist/collection/components/pf-number-input/pf-number-input.js +561 -0
  453. package/dist/collection/components/pf-number-input/pf-number-input.js.map +1 -0
  454. package/dist/collection/components/pf-option/pf-option.css +46 -0
  455. package/dist/collection/components/pf-option/pf-option.js +162 -0
  456. package/dist/collection/components/pf-option/pf-option.js.map +1 -0
  457. package/dist/collection/components/pf-page-header/pf-page-header.css +101 -0
  458. package/dist/collection/components/pf-page-header/pf-page-header.js +64 -0
  459. package/dist/collection/components/pf-page-header/pf-page-header.js.map +1 -0
  460. package/dist/collection/components/pf-pagination/pf-pagination.css +109 -0
  461. package/dist/collection/components/pf-pagination/pf-pagination.js +232 -0
  462. package/dist/collection/components/pf-pagination/pf-pagination.js.map +1 -0
  463. package/dist/collection/components/pf-pie-chart/pf-pie-chart.css +115 -0
  464. package/dist/collection/components/pf-pie-chart/pf-pie-chart.js +226 -0
  465. package/dist/collection/components/pf-pie-chart/pf-pie-chart.js.map +1 -0
  466. package/dist/collection/components/pf-pie-slice/pf-pie-slice.css +37 -0
  467. package/dist/collection/components/pf-pie-slice/pf-pie-slice.js +155 -0
  468. package/dist/collection/components/pf-pie-slice/pf-pie-slice.js.map +1 -0
  469. package/dist/collection/components/pf-popover/pf-popover.css +49 -0
  470. package/dist/collection/components/pf-popover/pf-popover.js +325 -0
  471. package/dist/collection/components/pf-popover/pf-popover.js.map +1 -0
  472. package/dist/collection/components/pf-progress-bar/pf-progress-bar.css +49 -0
  473. package/dist/collection/components/pf-progress-bar/pf-progress-bar.js +121 -0
  474. package/dist/collection/components/pf-progress-bar/pf-progress-bar.js.map +1 -0
  475. package/dist/collection/components/pf-progress-circle/pf-progress-circle.css +62 -0
  476. package/dist/collection/components/pf-progress-circle/pf-progress-circle.js +170 -0
  477. package/dist/collection/components/pf-progress-circle/pf-progress-circle.js.map +1 -0
  478. package/dist/collection/components/pf-progress-step/pf-progress-step.css +167 -0
  479. package/dist/collection/components/pf-progress-step/pf-progress-step.js +176 -0
  480. package/dist/collection/components/pf-progress-step/pf-progress-step.js.map +1 -0
  481. package/dist/collection/components/pf-progress-steps/pf-progress-steps.css +35 -0
  482. package/dist/collection/components/pf-progress-steps/pf-progress-steps.js +139 -0
  483. package/dist/collection/components/pf-progress-steps/pf-progress-steps.js.map +1 -0
  484. package/dist/collection/components/pf-radar-axis/pf-radar-axis.css +26 -0
  485. package/dist/collection/components/pf-radar-axis/pf-radar-axis.js +108 -0
  486. package/dist/collection/components/pf-radar-axis/pf-radar-axis.js.map +1 -0
  487. package/dist/collection/components/pf-radar-chart/pf-radar-chart.css +123 -0
  488. package/dist/collection/components/pf-radar-chart/pf-radar-chart.js +280 -0
  489. package/dist/collection/components/pf-radar-chart/pf-radar-chart.js.map +1 -0
  490. package/dist/collection/components/pf-radio-button/pf-radio-button.css +60 -0
  491. package/dist/collection/components/pf-radio-button/pf-radio-button.js +175 -0
  492. package/dist/collection/components/pf-radio-button/pf-radio-button.js.map +1 -0
  493. package/dist/collection/components/pf-radio-group/pf-radio-group.css +36 -0
  494. package/dist/collection/components/pf-radio-group/pf-radio-group.js +420 -0
  495. package/dist/collection/components/pf-radio-group/pf-radio-group.js.map +1 -0
  496. package/dist/collection/components/pf-rating-badge/pf-rating-badge.css +48 -0
  497. package/dist/collection/components/pf-rating-badge/pf-rating-badge.js +131 -0
  498. package/dist/collection/components/pf-rating-badge/pf-rating-badge.js.map +1 -0
  499. package/dist/collection/components/pf-rating-stars/pf-rating-stars.css +54 -0
  500. package/dist/collection/components/pf-rating-stars/pf-rating-stars.js +159 -0
  501. package/dist/collection/components/pf-rating-stars/pf-rating-stars.js.map +1 -0
  502. package/dist/collection/components/pf-resizable/pf-resizable.css +83 -0
  503. package/dist/collection/components/pf-resizable/pf-resizable.js +309 -0
  504. package/dist/collection/components/pf-resizable/pf-resizable.js.map +1 -0
  505. package/dist/collection/components/pf-rich-text-editor/pf-rich-text-editor.css +136 -0
  506. package/dist/collection/components/pf-rich-text-editor/pf-rich-text-editor.js +519 -0
  507. package/dist/collection/components/pf-rich-text-editor/pf-rich-text-editor.js.map +1 -0
  508. package/dist/collection/components/pf-scroll-area/pf-scroll-area.css +62 -0
  509. package/dist/collection/components/pf-scroll-area/pf-scroll-area.js +98 -0
  510. package/dist/collection/components/pf-scroll-area/pf-scroll-area.js.map +1 -0
  511. package/dist/collection/components/pf-section-footer/pf-section-footer.css +73 -0
  512. package/dist/collection/components/pf-section-footer/pf-section-footer.js +113 -0
  513. package/dist/collection/components/pf-section-footer/pf-section-footer.js.map +1 -0
  514. package/dist/collection/components/pf-section-header/pf-section-header.css +93 -0
  515. package/dist/collection/components/pf-section-header/pf-section-header.js +113 -0
  516. package/dist/collection/components/pf-section-header/pf-section-header.js.map +1 -0
  517. package/dist/collection/components/pf-select/pf-select.css +127 -0
  518. package/dist/collection/components/pf-select/pf-select.js +713 -0
  519. package/dist/collection/components/pf-select/pf-select.js.map +1 -0
  520. package/dist/collection/components/pf-sidebar-navigation/pf-sidebar-navigation.css +69 -0
  521. package/dist/collection/components/pf-sidebar-navigation/pf-sidebar-navigation.js +194 -0
  522. package/dist/collection/components/pf-sidebar-navigation/pf-sidebar-navigation.js.map +1 -0
  523. package/dist/collection/components/pf-slideout-menu/pf-slideout-menu.css +179 -0
  524. package/dist/collection/components/pf-slideout-menu/pf-slideout-menu.js +414 -0
  525. package/dist/collection/components/pf-slideout-menu/pf-slideout-menu.js.map +1 -0
  526. package/dist/collection/components/pf-slider/pf-slider.css +119 -0
  527. package/dist/collection/components/pf-slider/pf-slider.js +422 -0
  528. package/dist/collection/components/pf-slider/pf-slider.js.map +1 -0
  529. package/dist/collection/components/pf-sparkline/pf-sparkline.css +76 -0
  530. package/dist/collection/components/pf-sparkline/pf-sparkline.js +271 -0
  531. package/dist/collection/components/pf-sparkline/pf-sparkline.js.map +1 -0
  532. package/dist/collection/components/pf-switch/pf-switch.css +79 -0
  533. package/dist/collection/components/pf-switch/pf-switch.js +332 -0
  534. package/dist/collection/components/pf-switch/pf-switch.js.map +1 -0
  535. package/dist/collection/components/pf-tab/pf-tab.css +88 -0
  536. package/dist/collection/components/pf-tab/pf-tab.js +374 -0
  537. package/dist/collection/components/pf-tab/pf-tab.js.map +1 -0
  538. package/dist/collection/components/pf-tab-panel/pf-tab-panel.css +15 -0
  539. package/dist/collection/components/pf-tab-panel/pf-tab-panel.js +95 -0
  540. package/dist/collection/components/pf-tab-panel/pf-tab-panel.js.map +1 -0
  541. package/dist/collection/components/pf-table/pf-table.css +86 -0
  542. package/dist/collection/components/pf-table/pf-table.js +353 -0
  543. package/dist/collection/components/pf-table/pf-table.js.map +1 -0
  544. package/dist/collection/components/pf-table-cell/pf-table-cell.css +77 -0
  545. package/dist/collection/components/pf-table-cell/pf-table-cell.js +226 -0
  546. package/dist/collection/components/pf-table-cell/pf-table-cell.js.map +1 -0
  547. package/dist/collection/components/pf-table-row/pf-table-row.css +21 -0
  548. package/dist/collection/components/pf-table-row/pf-table-row.js +131 -0
  549. package/dist/collection/components/pf-table-row/pf-table-row.js.map +1 -0
  550. package/dist/collection/components/pf-tabs/pf-tabs.css +108 -0
  551. package/dist/collection/components/pf-tabs/pf-tabs.js +499 -0
  552. package/dist/collection/components/pf-tabs/pf-tabs.js.map +1 -0
  553. package/dist/collection/components/pf-tag/pf-tag.css +71 -0
  554. package/dist/collection/components/pf-tag/pf-tag.js +128 -0
  555. package/dist/collection/components/pf-tag/pf-tag.js.map +1 -0
  556. package/dist/collection/components/pf-tag-input/pf-tag-input.css +80 -0
  557. package/dist/collection/components/pf-tag-input/pf-tag-input.js +534 -0
  558. package/dist/collection/components/pf-tag-input/pf-tag-input.js.map +1 -0
  559. package/dist/collection/components/pf-textarea/pf-textarea.css +70 -0
  560. package/dist/collection/components/pf-textarea/pf-textarea.js +433 -0
  561. package/dist/collection/components/pf-textarea/pf-textarea.js.map +1 -0
  562. package/dist/collection/components/pf-time-picker/pf-time-picker.css +151 -0
  563. package/dist/collection/components/pf-time-picker/pf-time-picker.js +614 -0
  564. package/dist/collection/components/pf-time-picker/pf-time-picker.js.map +1 -0
  565. package/dist/collection/components/pf-timeline/pf-timeline.css +13 -0
  566. package/dist/collection/components/pf-timeline/pf-timeline.js +109 -0
  567. package/dist/collection/components/pf-timeline/pf-timeline.js.map +1 -0
  568. package/dist/collection/components/pf-timeline-item/pf-timeline-item.css +118 -0
  569. package/dist/collection/components/pf-timeline-item/pf-timeline-item.js +115 -0
  570. package/dist/collection/components/pf-timeline-item/pf-timeline-item.js.map +1 -0
  571. package/dist/collection/components/pf-toaster/pf-toaster.css +56 -0
  572. package/dist/collection/components/pf-toaster/pf-toaster.js +255 -0
  573. package/dist/collection/components/pf-toaster/pf-toaster.js.map +1 -0
  574. package/dist/collection/components/pf-toolbar/pf-toolbar.css +23 -0
  575. package/dist/collection/components/pf-toolbar/pf-toolbar.js +131 -0
  576. package/dist/collection/components/pf-toolbar/pf-toolbar.js.map +1 -0
  577. package/dist/collection/components/pf-toolbar-separator/pf-toolbar-separator.css +19 -0
  578. package/dist/collection/components/pf-toolbar-separator/pf-toolbar-separator.js +59 -0
  579. package/dist/collection/components/pf-toolbar-separator/pf-toolbar-separator.js.map +1 -0
  580. package/dist/collection/components/pf-tooltip/pf-tooltip.css +51 -0
  581. package/dist/collection/components/pf-tooltip/pf-tooltip.js +323 -0
  582. package/dist/collection/components/pf-tooltip/pf-tooltip.js.map +1 -0
  583. package/dist/collection/components/pf-tree-item/pf-tree-item.css +115 -0
  584. package/dist/collection/components/pf-tree-item/pf-tree-item.js +315 -0
  585. package/dist/collection/components/pf-tree-item/pf-tree-item.js.map +1 -0
  586. package/dist/collection/components/pf-tree-view/pf-tree-view.css +26 -0
  587. package/dist/collection/components/pf-tree-view/pf-tree-view.js +426 -0
  588. package/dist/collection/components/pf-tree-view/pf-tree-view.js.map +1 -0
  589. package/dist/collection/components/pf-utility-button/pf-utility-button.css +100 -0
  590. package/dist/collection/components/pf-utility-button/pf-utility-button.js +199 -0
  591. package/dist/collection/components/pf-utility-button/pf-utility-button.js.map +1 -0
  592. package/dist/collection/components/pf-video-player/pf-video-player.css +77 -0
  593. package/dist/collection/components/pf-video-player/pf-video-player.js +415 -0
  594. package/dist/collection/components/pf-video-player/pf-video-player.js.map +1 -0
  595. package/dist/collection/components/pf-visually-hidden/pf-visually-hidden.css +42 -0
  596. package/dist/collection/components/pf-visually-hidden/pf-visually-hidden.js +60 -0
  597. package/dist/collection/components/pf-visually-hidden/pf-visually-hidden.js.map +1 -0
  598. package/dist/collection/control-label.js +30 -0
  599. package/dist/collection/control-label.js.map +1 -0
  600. package/dist/collection/form-validity.js +31 -0
  601. package/dist/collection/form-validity.js.map +1 -0
  602. package/dist/collection/index.js +2 -0
  603. package/dist/collection/index.js.map +1 -0
  604. package/dist/collection/place-popover.js +22 -0
  605. package/dist/collection/place-popover.js.map +1 -0
  606. package/dist/components/index.d.ts +35 -0
  607. package/dist/components/index.js +2 -0
  608. package/dist/components/index.js.map +1 -0
  609. package/dist/components/p-BA6CMosJ.js +2 -0
  610. package/dist/components/p-BA6CMosJ.js.map +1 -0
  611. package/dist/components/p-Bb-s2aqK.js +2 -0
  612. package/dist/components/p-Bb-s2aqK.js.map +1 -0
  613. package/dist/components/p-BmcsJLdy.js +2 -0
  614. package/dist/components/p-BmcsJLdy.js.map +1 -0
  615. package/dist/components/p-C-VLyxRR.js +2 -0
  616. package/dist/components/p-C-VLyxRR.js.map +1 -0
  617. package/dist/components/p-C4aE66tt.js +2 -0
  618. package/dist/components/p-C4aE66tt.js.map +1 -0
  619. package/dist/components/p-C9jNMqLs.js +2 -0
  620. package/dist/components/p-C9jNMqLs.js.map +1 -0
  621. package/dist/components/p-CAz7-p8y.js +2 -0
  622. package/dist/components/p-CAz7-p8y.js.map +1 -0
  623. package/dist/components/p-CC7AyfOt.js +2 -0
  624. package/dist/components/p-CC7AyfOt.js.map +1 -0
  625. package/dist/components/p-COAc4ZDB.js +2 -0
  626. package/dist/components/p-COAc4ZDB.js.map +1 -0
  627. package/dist/components/p-CSsYpnzu.js +2 -0
  628. package/dist/components/p-CSsYpnzu.js.map +1 -0
  629. package/dist/components/p-CkFjPRTe.js +7 -0
  630. package/dist/components/p-CkFjPRTe.js.map +1 -0
  631. package/dist/components/p-ClI1g7kx.js +2 -0
  632. package/dist/components/p-ClI1g7kx.js.map +1 -0
  633. package/dist/components/p-CmX-kVk-.js +2 -0
  634. package/dist/components/p-CmX-kVk-.js.map +1 -0
  635. package/dist/components/p-Cr6IXrUk.js +2 -0
  636. package/dist/components/p-Cr6IXrUk.js.map +1 -0
  637. package/dist/components/p-Cta76kgc.js +2 -0
  638. package/dist/components/p-Cta76kgc.js.map +1 -0
  639. package/dist/components/p-Cy_kHPeC.js +2 -0
  640. package/dist/components/p-Cy_kHPeC.js.map +1 -0
  641. package/dist/components/p-DSXauhXX.js +2 -0
  642. package/dist/components/p-DSXauhXX.js.map +1 -0
  643. package/dist/components/p-DToIJg5W.js +2 -0
  644. package/dist/components/p-DToIJg5W.js.map +1 -0
  645. package/dist/components/p-DVK0sUX2.js +2 -0
  646. package/dist/components/p-DVK0sUX2.js.map +1 -0
  647. package/dist/components/p-DfpCerXM.js +2 -0
  648. package/dist/components/p-DfpCerXM.js.map +1 -0
  649. package/dist/components/p-DhgtpS36.js +2 -0
  650. package/dist/components/p-DhgtpS36.js.map +1 -0
  651. package/dist/components/p-DkBJMi_M.js +2 -0
  652. package/dist/components/p-DkBJMi_M.js.map +1 -0
  653. package/dist/components/p-Dkd7BUB5.js +2 -0
  654. package/dist/components/p-Dkd7BUB5.js.map +1 -0
  655. package/dist/components/p-E7EWeR1F.js +2 -0
  656. package/dist/components/p-E7EWeR1F.js.map +1 -0
  657. package/dist/components/p-Fiuz9ck7.js +2 -0
  658. package/dist/components/p-Fiuz9ck7.js.map +1 -0
  659. package/dist/components/p-g4FlTDZx.js +2 -0
  660. package/dist/components/p-g4FlTDZx.js.map +1 -0
  661. package/dist/components/pf-accordion-item.d.ts +11 -0
  662. package/dist/components/pf-accordion-item.js +2 -0
  663. package/dist/components/pf-accordion-item.js.map +1 -0
  664. package/dist/components/pf-accordion.d.ts +11 -0
  665. package/dist/components/pf-accordion.js +2 -0
  666. package/dist/components/pf-accordion.js.map +1 -0
  667. package/dist/components/pf-alert.d.ts +11 -0
  668. package/dist/components/pf-alert.js +2 -0
  669. package/dist/components/pf-alert.js.map +1 -0
  670. package/dist/components/pf-avatar-group.d.ts +11 -0
  671. package/dist/components/pf-avatar-group.js +2 -0
  672. package/dist/components/pf-avatar-group.js.map +1 -0
  673. package/dist/components/pf-avatar.d.ts +11 -0
  674. package/dist/components/pf-avatar.js +2 -0
  675. package/dist/components/pf-avatar.js.map +1 -0
  676. package/dist/components/pf-badge-group.d.ts +11 -0
  677. package/dist/components/pf-badge-group.js +2 -0
  678. package/dist/components/pf-badge-group.js.map +1 -0
  679. package/dist/components/pf-badge.d.ts +11 -0
  680. package/dist/components/pf-badge.js +2 -0
  681. package/dist/components/pf-badge.js.map +1 -0
  682. package/dist/components/pf-bar-chart.d.ts +11 -0
  683. package/dist/components/pf-bar-chart.js +2 -0
  684. package/dist/components/pf-bar-chart.js.map +1 -0
  685. package/dist/components/pf-breadcrumb.d.ts +11 -0
  686. package/dist/components/pf-breadcrumb.js +2 -0
  687. package/dist/components/pf-breadcrumb.js.map +1 -0
  688. package/dist/components/pf-breadcrumbs.d.ts +11 -0
  689. package/dist/components/pf-breadcrumbs.js +2 -0
  690. package/dist/components/pf-breadcrumbs.js.map +1 -0
  691. package/dist/components/pf-button-group-item.d.ts +11 -0
  692. package/dist/components/pf-button-group-item.js +2 -0
  693. package/dist/components/pf-button-group-item.js.map +1 -0
  694. package/dist/components/pf-button-group.d.ts +11 -0
  695. package/dist/components/pf-button-group.js +2 -0
  696. package/dist/components/pf-button-group.js.map +1 -0
  697. package/dist/components/pf-button.d.ts +11 -0
  698. package/dist/components/pf-button.js +2 -0
  699. package/dist/components/pf-button.js.map +1 -0
  700. package/dist/components/pf-calendar.d.ts +11 -0
  701. package/dist/components/pf-calendar.js +2 -0
  702. package/dist/components/pf-calendar.js.map +1 -0
  703. package/dist/components/pf-card-content.d.ts +11 -0
  704. package/dist/components/pf-card-content.js +2 -0
  705. package/dist/components/pf-card-content.js.map +1 -0
  706. package/dist/components/pf-card-footer.d.ts +11 -0
  707. package/dist/components/pf-card-footer.js +2 -0
  708. package/dist/components/pf-card-footer.js.map +1 -0
  709. package/dist/components/pf-card-header.d.ts +11 -0
  710. package/dist/components/pf-card-header.js +2 -0
  711. package/dist/components/pf-card-header.js.map +1 -0
  712. package/dist/components/pf-card.d.ts +11 -0
  713. package/dist/components/pf-card.js +2 -0
  714. package/dist/components/pf-card.js.map +1 -0
  715. package/dist/components/pf-carousel-slide.d.ts +11 -0
  716. package/dist/components/pf-carousel-slide.js +2 -0
  717. package/dist/components/pf-carousel-slide.js.map +1 -0
  718. package/dist/components/pf-carousel.d.ts +11 -0
  719. package/dist/components/pf-carousel.js +2 -0
  720. package/dist/components/pf-carousel.js.map +1 -0
  721. package/dist/components/pf-chart-series.d.ts +11 -0
  722. package/dist/components/pf-chart-series.js +2 -0
  723. package/dist/components/pf-chart-series.js.map +1 -0
  724. package/dist/components/pf-checkbox.d.ts +11 -0
  725. package/dist/components/pf-checkbox.js +2 -0
  726. package/dist/components/pf-checkbox.js.map +1 -0
  727. package/dist/components/pf-code-snippet.d.ts +11 -0
  728. package/dist/components/pf-code-snippet.js +2 -0
  729. package/dist/components/pf-code-snippet.js.map +1 -0
  730. package/dist/components/pf-collapsible.d.ts +11 -0
  731. package/dist/components/pf-collapsible.js +2 -0
  732. package/dist/components/pf-collapsible.js.map +1 -0
  733. package/dist/components/pf-combobox.d.ts +11 -0
  734. package/dist/components/pf-combobox.js +2 -0
  735. package/dist/components/pf-combobox.js.map +1 -0
  736. package/dist/components/pf-command-group.d.ts +11 -0
  737. package/dist/components/pf-command-group.js +2 -0
  738. package/dist/components/pf-command-group.js.map +1 -0
  739. package/dist/components/pf-command-item.d.ts +11 -0
  740. package/dist/components/pf-command-item.js +2 -0
  741. package/dist/components/pf-command-item.js.map +1 -0
  742. package/dist/components/pf-command-palette.d.ts +11 -0
  743. package/dist/components/pf-command-palette.js +2 -0
  744. package/dist/components/pf-command-palette.js.map +1 -0
  745. package/dist/components/pf-content-divider.d.ts +11 -0
  746. package/dist/components/pf-content-divider.js +2 -0
  747. package/dist/components/pf-content-divider.js.map +1 -0
  748. package/dist/components/pf-context-menu.d.ts +11 -0
  749. package/dist/components/pf-context-menu.js +2 -0
  750. package/dist/components/pf-context-menu.js.map +1 -0
  751. package/dist/components/pf-credit-card.d.ts +11 -0
  752. package/dist/components/pf-credit-card.js +2 -0
  753. package/dist/components/pf-credit-card.js.map +1 -0
  754. package/dist/components/pf-date-picker.d.ts +11 -0
  755. package/dist/components/pf-date-picker.js +2 -0
  756. package/dist/components/pf-date-picker.js.map +1 -0
  757. package/dist/components/pf-date-range-picker.d.ts +11 -0
  758. package/dist/components/pf-date-range-picker.js +2 -0
  759. package/dist/components/pf-date-range-picker.js.map +1 -0
  760. package/dist/components/pf-dropdown.d.ts +11 -0
  761. package/dist/components/pf-dropdown.js +2 -0
  762. package/dist/components/pf-dropdown.js.map +1 -0
  763. package/dist/components/pf-empty-state.d.ts +11 -0
  764. package/dist/components/pf-empty-state.js +2 -0
  765. package/dist/components/pf-empty-state.js.map +1 -0
  766. package/dist/components/pf-file-uploader.d.ts +11 -0
  767. package/dist/components/pf-file-uploader.js +2 -0
  768. package/dist/components/pf-file-uploader.js.map +1 -0
  769. package/dist/components/pf-gauge-chart.d.ts +11 -0
  770. package/dist/components/pf-gauge-chart.js +2 -0
  771. package/dist/components/pf-gauge-chart.js.map +1 -0
  772. package/dist/components/pf-header-navigation.d.ts +11 -0
  773. package/dist/components/pf-header-navigation.js +2 -0
  774. package/dist/components/pf-header-navigation.js.map +1 -0
  775. package/dist/components/pf-heatmap.d.ts +11 -0
  776. package/dist/components/pf-heatmap.js +2 -0
  777. package/dist/components/pf-heatmap.js.map +1 -0
  778. package/dist/components/pf-icon.d.ts +11 -0
  779. package/dist/components/pf-icon.js +2 -0
  780. package/dist/components/pf-icon.js.map +1 -0
  781. package/dist/components/pf-inline-cta.d.ts +11 -0
  782. package/dist/components/pf-inline-cta.js +2 -0
  783. package/dist/components/pf-inline-cta.js.map +1 -0
  784. package/dist/components/pf-input.d.ts +11 -0
  785. package/dist/components/pf-input.js +2 -0
  786. package/dist/components/pf-input.js.map +1 -0
  787. package/dist/components/pf-kbd.d.ts +11 -0
  788. package/dist/components/pf-kbd.js +2 -0
  789. package/dist/components/pf-kbd.js.map +1 -0
  790. package/dist/components/pf-line-chart.d.ts +11 -0
  791. package/dist/components/pf-line-chart.js +2 -0
  792. package/dist/components/pf-line-chart.js.map +1 -0
  793. package/dist/components/pf-loading-dots.d.ts +11 -0
  794. package/dist/components/pf-loading-dots.js +2 -0
  795. package/dist/components/pf-loading-dots.js.map +1 -0
  796. package/dist/components/pf-loading-skeleton.d.ts +11 -0
  797. package/dist/components/pf-loading-skeleton.js +2 -0
  798. package/dist/components/pf-loading-skeleton.js.map +1 -0
  799. package/dist/components/pf-loading-spinner.d.ts +11 -0
  800. package/dist/components/pf-loading-spinner.js +2 -0
  801. package/dist/components/pf-loading-spinner.js.map +1 -0
  802. package/dist/components/pf-menu-item.d.ts +11 -0
  803. package/dist/components/pf-menu-item.js +2 -0
  804. package/dist/components/pf-menu-item.js.map +1 -0
  805. package/dist/components/pf-menu-separator.d.ts +11 -0
  806. package/dist/components/pf-menu-separator.js +2 -0
  807. package/dist/components/pf-menu-separator.js.map +1 -0
  808. package/dist/components/pf-metric-card.d.ts +11 -0
  809. package/dist/components/pf-metric-card.js +2 -0
  810. package/dist/components/pf-metric-card.js.map +1 -0
  811. package/dist/components/pf-metric-grid.d.ts +11 -0
  812. package/dist/components/pf-metric-grid.js +2 -0
  813. package/dist/components/pf-metric-grid.js.map +1 -0
  814. package/dist/components/pf-modal-body.d.ts +11 -0
  815. package/dist/components/pf-modal-body.js +2 -0
  816. package/dist/components/pf-modal-body.js.map +1 -0
  817. package/dist/components/pf-modal-footer.d.ts +11 -0
  818. package/dist/components/pf-modal-footer.js +2 -0
  819. package/dist/components/pf-modal-footer.js.map +1 -0
  820. package/dist/components/pf-modal-header.d.ts +11 -0
  821. package/dist/components/pf-modal-header.js +2 -0
  822. package/dist/components/pf-modal-header.js.map +1 -0
  823. package/dist/components/pf-modal.d.ts +11 -0
  824. package/dist/components/pf-modal.js +2 -0
  825. package/dist/components/pf-modal.js.map +1 -0
  826. package/dist/components/pf-multi-select.d.ts +11 -0
  827. package/dist/components/pf-multi-select.js +2 -0
  828. package/dist/components/pf-multi-select.js.map +1 -0
  829. package/dist/components/pf-nav-item.d.ts +11 -0
  830. package/dist/components/pf-nav-item.js +2 -0
  831. package/dist/components/pf-nav-item.js.map +1 -0
  832. package/dist/components/pf-nav-section.d.ts +11 -0
  833. package/dist/components/pf-nav-section.js +2 -0
  834. package/dist/components/pf-nav-section.js.map +1 -0
  835. package/dist/components/pf-notification.d.ts +11 -0
  836. package/dist/components/pf-notification.js +2 -0
  837. package/dist/components/pf-notification.js.map +1 -0
  838. package/dist/components/pf-number-input.d.ts +11 -0
  839. package/dist/components/pf-number-input.js +2 -0
  840. package/dist/components/pf-number-input.js.map +1 -0
  841. package/dist/components/pf-option.d.ts +11 -0
  842. package/dist/components/pf-option.js +2 -0
  843. package/dist/components/pf-option.js.map +1 -0
  844. package/dist/components/pf-page-header.d.ts +11 -0
  845. package/dist/components/pf-page-header.js +2 -0
  846. package/dist/components/pf-page-header.js.map +1 -0
  847. package/dist/components/pf-pagination.d.ts +11 -0
  848. package/dist/components/pf-pagination.js +2 -0
  849. package/dist/components/pf-pagination.js.map +1 -0
  850. package/dist/components/pf-pie-chart.d.ts +11 -0
  851. package/dist/components/pf-pie-chart.js +2 -0
  852. package/dist/components/pf-pie-chart.js.map +1 -0
  853. package/dist/components/pf-pie-slice.d.ts +11 -0
  854. package/dist/components/pf-pie-slice.js +2 -0
  855. package/dist/components/pf-pie-slice.js.map +1 -0
  856. package/dist/components/pf-popover.d.ts +11 -0
  857. package/dist/components/pf-popover.js +2 -0
  858. package/dist/components/pf-popover.js.map +1 -0
  859. package/dist/components/pf-progress-bar.d.ts +11 -0
  860. package/dist/components/pf-progress-bar.js +2 -0
  861. package/dist/components/pf-progress-bar.js.map +1 -0
  862. package/dist/components/pf-progress-circle.d.ts +11 -0
  863. package/dist/components/pf-progress-circle.js +2 -0
  864. package/dist/components/pf-progress-circle.js.map +1 -0
  865. package/dist/components/pf-progress-step.d.ts +11 -0
  866. package/dist/components/pf-progress-step.js +2 -0
  867. package/dist/components/pf-progress-step.js.map +1 -0
  868. package/dist/components/pf-progress-steps.d.ts +11 -0
  869. package/dist/components/pf-progress-steps.js +2 -0
  870. package/dist/components/pf-progress-steps.js.map +1 -0
  871. package/dist/components/pf-radar-axis.d.ts +11 -0
  872. package/dist/components/pf-radar-axis.js +2 -0
  873. package/dist/components/pf-radar-axis.js.map +1 -0
  874. package/dist/components/pf-radar-chart.d.ts +11 -0
  875. package/dist/components/pf-radar-chart.js +2 -0
  876. package/dist/components/pf-radar-chart.js.map +1 -0
  877. package/dist/components/pf-radio-button.d.ts +11 -0
  878. package/dist/components/pf-radio-button.js +2 -0
  879. package/dist/components/pf-radio-button.js.map +1 -0
  880. package/dist/components/pf-radio-group.d.ts +11 -0
  881. package/dist/components/pf-radio-group.js +2 -0
  882. package/dist/components/pf-radio-group.js.map +1 -0
  883. package/dist/components/pf-rating-badge.d.ts +11 -0
  884. package/dist/components/pf-rating-badge.js +2 -0
  885. package/dist/components/pf-rating-badge.js.map +1 -0
  886. package/dist/components/pf-rating-stars.d.ts +11 -0
  887. package/dist/components/pf-rating-stars.js +2 -0
  888. package/dist/components/pf-rating-stars.js.map +1 -0
  889. package/dist/components/pf-resizable.d.ts +11 -0
  890. package/dist/components/pf-resizable.js +2 -0
  891. package/dist/components/pf-resizable.js.map +1 -0
  892. package/dist/components/pf-rich-text-editor.d.ts +11 -0
  893. package/dist/components/pf-rich-text-editor.js +2 -0
  894. package/dist/components/pf-rich-text-editor.js.map +1 -0
  895. package/dist/components/pf-scroll-area.d.ts +11 -0
  896. package/dist/components/pf-scroll-area.js +2 -0
  897. package/dist/components/pf-scroll-area.js.map +1 -0
  898. package/dist/components/pf-section-footer.d.ts +11 -0
  899. package/dist/components/pf-section-footer.js +2 -0
  900. package/dist/components/pf-section-footer.js.map +1 -0
  901. package/dist/components/pf-section-header.d.ts +11 -0
  902. package/dist/components/pf-section-header.js +2 -0
  903. package/dist/components/pf-section-header.js.map +1 -0
  904. package/dist/components/pf-select.d.ts +11 -0
  905. package/dist/components/pf-select.js +2 -0
  906. package/dist/components/pf-select.js.map +1 -0
  907. package/dist/components/pf-sidebar-navigation.d.ts +11 -0
  908. package/dist/components/pf-sidebar-navigation.js +2 -0
  909. package/dist/components/pf-sidebar-navigation.js.map +1 -0
  910. package/dist/components/pf-slideout-menu.d.ts +11 -0
  911. package/dist/components/pf-slideout-menu.js +2 -0
  912. package/dist/components/pf-slideout-menu.js.map +1 -0
  913. package/dist/components/pf-slider.d.ts +11 -0
  914. package/dist/components/pf-slider.js +2 -0
  915. package/dist/components/pf-slider.js.map +1 -0
  916. package/dist/components/pf-sparkline.d.ts +11 -0
  917. package/dist/components/pf-sparkline.js +2 -0
  918. package/dist/components/pf-sparkline.js.map +1 -0
  919. package/dist/components/pf-switch.d.ts +11 -0
  920. package/dist/components/pf-switch.js +2 -0
  921. package/dist/components/pf-switch.js.map +1 -0
  922. package/dist/components/pf-tab-panel.d.ts +11 -0
  923. package/dist/components/pf-tab-panel.js +2 -0
  924. package/dist/components/pf-tab-panel.js.map +1 -0
  925. package/dist/components/pf-tab.d.ts +11 -0
  926. package/dist/components/pf-tab.js +2 -0
  927. package/dist/components/pf-tab.js.map +1 -0
  928. package/dist/components/pf-table-cell.d.ts +11 -0
  929. package/dist/components/pf-table-cell.js +2 -0
  930. package/dist/components/pf-table-cell.js.map +1 -0
  931. package/dist/components/pf-table-row.d.ts +11 -0
  932. package/dist/components/pf-table-row.js +2 -0
  933. package/dist/components/pf-table-row.js.map +1 -0
  934. package/dist/components/pf-table.d.ts +11 -0
  935. package/dist/components/pf-table.js +2 -0
  936. package/dist/components/pf-table.js.map +1 -0
  937. package/dist/components/pf-tabs.d.ts +11 -0
  938. package/dist/components/pf-tabs.js +2 -0
  939. package/dist/components/pf-tabs.js.map +1 -0
  940. package/dist/components/pf-tag-input.d.ts +11 -0
  941. package/dist/components/pf-tag-input.js +2 -0
  942. package/dist/components/pf-tag-input.js.map +1 -0
  943. package/dist/components/pf-tag.d.ts +11 -0
  944. package/dist/components/pf-tag.js +2 -0
  945. package/dist/components/pf-tag.js.map +1 -0
  946. package/dist/components/pf-textarea.d.ts +11 -0
  947. package/dist/components/pf-textarea.js +2 -0
  948. package/dist/components/pf-textarea.js.map +1 -0
  949. package/dist/components/pf-time-picker.d.ts +11 -0
  950. package/dist/components/pf-time-picker.js +2 -0
  951. package/dist/components/pf-time-picker.js.map +1 -0
  952. package/dist/components/pf-timeline-item.d.ts +11 -0
  953. package/dist/components/pf-timeline-item.js +2 -0
  954. package/dist/components/pf-timeline-item.js.map +1 -0
  955. package/dist/components/pf-timeline.d.ts +11 -0
  956. package/dist/components/pf-timeline.js +2 -0
  957. package/dist/components/pf-timeline.js.map +1 -0
  958. package/dist/components/pf-toaster.d.ts +11 -0
  959. package/dist/components/pf-toaster.js +2 -0
  960. package/dist/components/pf-toaster.js.map +1 -0
  961. package/dist/components/pf-toolbar-separator.d.ts +11 -0
  962. package/dist/components/pf-toolbar-separator.js +2 -0
  963. package/dist/components/pf-toolbar-separator.js.map +1 -0
  964. package/dist/components/pf-toolbar.d.ts +11 -0
  965. package/dist/components/pf-toolbar.js +2 -0
  966. package/dist/components/pf-toolbar.js.map +1 -0
  967. package/dist/components/pf-tooltip.d.ts +11 -0
  968. package/dist/components/pf-tooltip.js +2 -0
  969. package/dist/components/pf-tooltip.js.map +1 -0
  970. package/dist/components/pf-tree-item.d.ts +11 -0
  971. package/dist/components/pf-tree-item.js +2 -0
  972. package/dist/components/pf-tree-item.js.map +1 -0
  973. package/dist/components/pf-tree-view.d.ts +11 -0
  974. package/dist/components/pf-tree-view.js +2 -0
  975. package/dist/components/pf-tree-view.js.map +1 -0
  976. package/dist/components/pf-utility-button.d.ts +11 -0
  977. package/dist/components/pf-utility-button.js +2 -0
  978. package/dist/components/pf-utility-button.js.map +1 -0
  979. package/dist/components/pf-video-player.d.ts +11 -0
  980. package/dist/components/pf-video-player.js +2 -0
  981. package/dist/components/pf-video-player.js.map +1 -0
  982. package/dist/components/pf-visually-hidden.d.ts +11 -0
  983. package/dist/components/pf-visually-hidden.js +2 -0
  984. package/dist/components/pf-visually-hidden.js.map +1 -0
  985. package/dist/docs.d.ts +480 -0
  986. package/dist/docs.json +26373 -0
  987. package/dist/elements.json +10049 -0
  988. package/dist/esm/aria-DfpCerXM.js +22 -0
  989. package/dist/esm/aria-DfpCerXM.js.map +1 -0
  990. package/dist/esm/cartesian-rMXGMSEx.js +184 -0
  991. package/dist/esm/cartesian-rMXGMSEx.js.map +1 -0
  992. package/dist/esm/command-Dkd7BUB5.js +39 -0
  993. package/dist/esm/command-Dkd7BUB5.js.map +1 -0
  994. package/dist/esm/control-label-Cy_kHPeC.js +34 -0
  995. package/dist/esm/control-label-Cy_kHPeC.js.map +1 -0
  996. package/dist/esm/date-C9jNMqLs.js +154 -0
  997. package/dist/esm/date-C9jNMqLs.js.map +1 -0
  998. package/dist/esm/form-validity-Cr6IXrUk.js +35 -0
  999. package/dist/esm/form-validity-Cr6IXrUk.js.map +1 -0
  1000. package/dist/esm/icons-CCln56Fj.js +75 -0
  1001. package/dist/esm/icons-CCln56Fj.js.map +1 -0
  1002. package/dist/esm/index-Bm6UxEit.js +2279 -0
  1003. package/dist/esm/index-Bm6UxEit.js.map +1 -0
  1004. package/dist/esm/index.js +4 -0
  1005. package/dist/esm/index.js.map +1 -0
  1006. package/dist/esm/keys-g4FlTDZx.js +17 -0
  1007. package/dist/esm/keys-g4FlTDZx.js.map +1 -0
  1008. package/dist/esm/loader.js +13 -0
  1009. package/dist/esm/loader.js.map +1 -0
  1010. package/dist/esm/motion-Cta76kgc.js +43 -0
  1011. package/dist/esm/motion-Cta76kgc.js.map +1 -0
  1012. package/dist/esm/nav-DToIJg5W.js +25 -0
  1013. package/dist/esm/nav-DToIJg5W.js.map +1 -0
  1014. package/dist/esm/navigation-CAz7-p8y.js +32 -0
  1015. package/dist/esm/navigation-CAz7-p8y.js.map +1 -0
  1016. package/dist/esm/number-field-DSXauhXX.js +70 -0
  1017. package/dist/esm/number-field-DSXauhXX.js.map +1 -0
  1018. package/dist/esm/pf-accordion-item.entry.js +60 -0
  1019. package/dist/esm/pf-accordion-item.entry.js.map +1 -0
  1020. package/dist/esm/pf-accordion.entry.js +144 -0
  1021. package/dist/esm/pf-accordion.entry.js.map +1 -0
  1022. package/dist/esm/pf-alert.entry.js +65 -0
  1023. package/dist/esm/pf-alert.entry.js.map +1 -0
  1024. package/dist/esm/pf-avatar-group.entry.js +118 -0
  1025. package/dist/esm/pf-avatar-group.entry.js.map +1 -0
  1026. package/dist/esm/pf-avatar.entry.js +28 -0
  1027. package/dist/esm/pf-avatar.entry.js.map +1 -0
  1028. package/dist/esm/pf-badge-group.entry.js +34 -0
  1029. package/dist/esm/pf-badge-group.entry.js.map +1 -0
  1030. package/dist/esm/pf-badge.entry.js +20 -0
  1031. package/dist/esm/pf-badge.entry.js.map +1 -0
  1032. package/dist/esm/pf-bar-chart.entry.js +110 -0
  1033. package/dist/esm/pf-bar-chart.entry.js.map +1 -0
  1034. package/dist/esm/pf-breadcrumb.entry.js +41 -0
  1035. package/dist/esm/pf-breadcrumb.entry.js.map +1 -0
  1036. package/dist/esm/pf-breadcrumbs.entry.js +94 -0
  1037. package/dist/esm/pf-breadcrumbs.entry.js.map +1 -0
  1038. package/dist/esm/pf-button-group-item.entry.js +49 -0
  1039. package/dist/esm/pf-button-group-item.entry.js.map +1 -0
  1040. package/dist/esm/pf-button-group.entry.js +100 -0
  1041. package/dist/esm/pf-button-group.entry.js.map +1 -0
  1042. package/dist/esm/pf-button.entry.js +41 -0
  1043. package/dist/esm/pf-button.entry.js.map +1 -0
  1044. package/dist/esm/pf-calendar.entry.js +220 -0
  1045. package/dist/esm/pf-calendar.entry.js.map +1 -0
  1046. package/dist/esm/pf-card-content.entry.js +18 -0
  1047. package/dist/esm/pf-card-content.entry.js.map +1 -0
  1048. package/dist/esm/pf-card-footer.entry.js +18 -0
  1049. package/dist/esm/pf-card-footer.entry.js.map +1 -0
  1050. package/dist/esm/pf-card-header.entry.js +18 -0
  1051. package/dist/esm/pf-card-header.entry.js.map +1 -0
  1052. package/dist/esm/pf-card.entry.js +18 -0
  1053. package/dist/esm/pf-card.entry.js.map +1 -0
  1054. package/dist/esm/pf-carousel-slide.entry.js +31 -0
  1055. package/dist/esm/pf-carousel-slide.entry.js.map +1 -0
  1056. package/dist/esm/pf-carousel.entry.js +168 -0
  1057. package/dist/esm/pf-carousel.entry.js.map +1 -0
  1058. package/dist/esm/pf-chart-series.entry.js +31 -0
  1059. package/dist/esm/pf-chart-series.entry.js.map +1 -0
  1060. package/dist/esm/pf-checkbox.entry.js +110 -0
  1061. package/dist/esm/pf-checkbox.entry.js.map +1 -0
  1062. package/dist/esm/pf-code-snippet.entry.js +155 -0
  1063. package/dist/esm/pf-code-snippet.entry.js.map +1 -0
  1064. package/dist/esm/pf-collapsible.entry.js +74 -0
  1065. package/dist/esm/pf-collapsible.entry.js.map +1 -0
  1066. package/dist/esm/pf-combobox.entry.js +338 -0
  1067. package/dist/esm/pf-combobox.entry.js.map +1 -0
  1068. package/dist/esm/pf-command-group.entry.js +20 -0
  1069. package/dist/esm/pf-command-group.entry.js.map +1 -0
  1070. package/dist/esm/pf-command-item.entry.js +48 -0
  1071. package/dist/esm/pf-command-item.entry.js.map +1 -0
  1072. package/dist/esm/pf-command-palette.entry.js +271 -0
  1073. package/dist/esm/pf-command-palette.entry.js.map +1 -0
  1074. package/dist/esm/pf-content-divider.entry.js +53 -0
  1075. package/dist/esm/pf-content-divider.entry.js.map +1 -0
  1076. package/dist/esm/pf-context-menu.entry.js +157 -0
  1077. package/dist/esm/pf-context-menu.entry.js.map +1 -0
  1078. package/dist/esm/pf-credit-card.entry.js +38 -0
  1079. package/dist/esm/pf-credit-card.entry.js.map +1 -0
  1080. package/dist/esm/pf-date-picker.entry.js +240 -0
  1081. package/dist/esm/pf-date-picker.entry.js.map +1 -0
  1082. package/dist/esm/pf-date-range-picker.entry.js +475 -0
  1083. package/dist/esm/pf-date-range-picker.entry.js.map +1 -0
  1084. package/dist/esm/pf-dropdown.entry.js +181 -0
  1085. package/dist/esm/pf-dropdown.entry.js.map +1 -0
  1086. package/dist/esm/pf-empty-state.entry.js +53 -0
  1087. package/dist/esm/pf-empty-state.entry.js.map +1 -0
  1088. package/dist/esm/pf-file-uploader.entry.js +310 -0
  1089. package/dist/esm/pf-file-uploader.entry.js.map +1 -0
  1090. package/dist/esm/pf-gauge-chart.entry.js +39 -0
  1091. package/dist/esm/pf-gauge-chart.entry.js.map +1 -0
  1092. package/dist/esm/pf-header-navigation.entry.js +87 -0
  1093. package/dist/esm/pf-header-navigation.entry.js.map +1 -0
  1094. package/dist/esm/pf-heatmap.entry.js +250 -0
  1095. package/dist/esm/pf-heatmap.entry.js.map +1 -0
  1096. package/dist/esm/pf-icon.entry.js +325 -0
  1097. package/dist/esm/pf-icon.entry.js.map +1 -0
  1098. package/dist/esm/pf-inline-cta.entry.js +84 -0
  1099. package/dist/esm/pf-inline-cta.entry.js.map +1 -0
  1100. package/dist/esm/pf-input.entry.js +122 -0
  1101. package/dist/esm/pf-input.entry.js.map +1 -0
  1102. package/dist/esm/pf-kbd.entry.js +25 -0
  1103. package/dist/esm/pf-kbd.entry.js.map +1 -0
  1104. package/dist/esm/pf-line-chart.entry.js +115 -0
  1105. package/dist/esm/pf-line-chart.entry.js.map +1 -0
  1106. package/dist/esm/pf-loading-dots.entry.js +22 -0
  1107. package/dist/esm/pf-loading-dots.entry.js.map +1 -0
  1108. package/dist/esm/pf-loading-skeleton.entry.js +41 -0
  1109. package/dist/esm/pf-loading-skeleton.entry.js.map +1 -0
  1110. package/dist/esm/pf-loading-spinner.entry.js +28 -0
  1111. package/dist/esm/pf-loading-spinner.entry.js.map +1 -0
  1112. package/dist/esm/pf-menu-item.entry.js +55 -0
  1113. package/dist/esm/pf-menu-item.entry.js.map +1 -0
  1114. package/dist/esm/pf-menu-separator.entry.js +18 -0
  1115. package/dist/esm/pf-menu-separator.entry.js.map +1 -0
  1116. package/dist/esm/pf-metric-card.entry.js +52 -0
  1117. package/dist/esm/pf-metric-card.entry.js.map +1 -0
  1118. package/dist/esm/pf-metric-grid.entry.js +18 -0
  1119. package/dist/esm/pf-metric-grid.entry.js.map +1 -0
  1120. package/dist/esm/pf-modal-body.entry.js +18 -0
  1121. package/dist/esm/pf-modal-body.entry.js.map +1 -0
  1122. package/dist/esm/pf-modal-footer.entry.js +18 -0
  1123. package/dist/esm/pf-modal-footer.entry.js.map +1 -0
  1124. package/dist/esm/pf-modal-header.entry.js +18 -0
  1125. package/dist/esm/pf-modal-header.entry.js.map +1 -0
  1126. package/dist/esm/pf-modal.entry.js +227 -0
  1127. package/dist/esm/pf-modal.entry.js.map +1 -0
  1128. package/dist/esm/pf-multi-select.entry.js +315 -0
  1129. package/dist/esm/pf-multi-select.entry.js.map +1 -0
  1130. package/dist/esm/pf-nav-item.entry.js +81 -0
  1131. package/dist/esm/pf-nav-item.entry.js.map +1 -0
  1132. package/dist/esm/pf-nav-section.entry.js +52 -0
  1133. package/dist/esm/pf-nav-section.entry.js.map +1 -0
  1134. package/dist/esm/pf-notification.entry.js +66 -0
  1135. package/dist/esm/pf-notification.entry.js.map +1 -0
  1136. package/dist/esm/pf-number-input.entry.js +191 -0
  1137. package/dist/esm/pf-number-input.entry.js.map +1 -0
  1138. package/dist/esm/pf-option.entry.js +48 -0
  1139. package/dist/esm/pf-option.entry.js.map +1 -0
  1140. package/dist/esm/pf-page-header.entry.js +33 -0
  1141. package/dist/esm/pf-page-header.entry.js.map +1 -0
  1142. package/dist/esm/pf-pagination.entry.js +111 -0
  1143. package/dist/esm/pf-pagination.entry.js.map +1 -0
  1144. package/dist/esm/pf-pie-chart.entry.js +92 -0
  1145. package/dist/esm/pf-pie-chart.entry.js.map +1 -0
  1146. package/dist/esm/pf-pie-slice.entry.js +34 -0
  1147. package/dist/esm/pf-pie-slice.entry.js.map +1 -0
  1148. package/dist/esm/pf-popover.entry.js +155 -0
  1149. package/dist/esm/pf-popover.entry.js.map +1 -0
  1150. package/dist/esm/pf-progress-bar.entry.js +30 -0
  1151. package/dist/esm/pf-progress-bar.entry.js.map +1 -0
  1152. package/dist/esm/pf-progress-circle.entry.js +38 -0
  1153. package/dist/esm/pf-progress-circle.entry.js.map +1 -0
  1154. package/dist/esm/pf-progress-step.entry.js +40 -0
  1155. package/dist/esm/pf-progress-step.entry.js.map +1 -0
  1156. package/dist/esm/pf-progress-steps.entry.js +97 -0
  1157. package/dist/esm/pf-progress-steps.entry.js.map +1 -0
  1158. package/dist/esm/pf-radar-axis.entry.js +31 -0
  1159. package/dist/esm/pf-radar-axis.entry.js.map +1 -0
  1160. package/dist/esm/pf-radar-chart.entry.js +183 -0
  1161. package/dist/esm/pf-radar-chart.entry.js.map +1 -0
  1162. package/dist/esm/pf-radio-button.entry.js +71 -0
  1163. package/dist/esm/pf-radio-button.entry.js.map +1 -0
  1164. package/dist/esm/pf-radio-group.entry.js +172 -0
  1165. package/dist/esm/pf-radio-group.entry.js.map +1 -0
  1166. package/dist/esm/pf-rating-badge.entry.js +33 -0
  1167. package/dist/esm/pf-rating-badge.entry.js.map +1 -0
  1168. package/dist/esm/pf-rating-stars.entry.js +44 -0
  1169. package/dist/esm/pf-rating-stars.entry.js.map +1 -0
  1170. package/dist/esm/pf-resizable.entry.js +203 -0
  1171. package/dist/esm/pf-resizable.entry.js.map +1 -0
  1172. package/dist/esm/pf-rich-text-editor.entry.js +259 -0
  1173. package/dist/esm/pf-rich-text-editor.entry.js.map +1 -0
  1174. package/dist/esm/pf-scroll-area.entry.js +41 -0
  1175. package/dist/esm/pf-scroll-area.entry.js.map +1 -0
  1176. package/dist/esm/pf-section-footer.entry.js +39 -0
  1177. package/dist/esm/pf-section-footer.entry.js.map +1 -0
  1178. package/dist/esm/pf-section-header.entry.js +35 -0
  1179. package/dist/esm/pf-section-header.entry.js.map +1 -0
  1180. package/dist/esm/pf-select.entry.js +411 -0
  1181. package/dist/esm/pf-select.entry.js.map +1 -0
  1182. package/dist/esm/pf-sidebar-navigation.entry.js +104 -0
  1183. package/dist/esm/pf-sidebar-navigation.entry.js.map +1 -0
  1184. package/dist/esm/pf-slideout-menu.entry.js +153 -0
  1185. package/dist/esm/pf-slideout-menu.entry.js.map +1 -0
  1186. package/dist/esm/pf-slider.entry.js +125 -0
  1187. package/dist/esm/pf-slider.entry.js.map +1 -0
  1188. package/dist/esm/pf-sparkline.entry.js +121 -0
  1189. package/dist/esm/pf-sparkline.entry.js.map +1 -0
  1190. package/dist/esm/pf-switch.entry.js +110 -0
  1191. package/dist/esm/pf-switch.entry.js.map +1 -0
  1192. package/dist/esm/pf-tab-panel.entry.js +39 -0
  1193. package/dist/esm/pf-tab-panel.entry.js.map +1 -0
  1194. package/dist/esm/pf-tab.entry.js +94 -0
  1195. package/dist/esm/pf-tab.entry.js.map +1 -0
  1196. package/dist/esm/pf-table-cell.entry.js +48 -0
  1197. package/dist/esm/pf-table-cell.entry.js.map +1 -0
  1198. package/dist/esm/pf-table-row.entry.js +49 -0
  1199. package/dist/esm/pf-table-row.entry.js.map +1 -0
  1200. package/dist/esm/pf-table.entry.js +143 -0
  1201. package/dist/esm/pf-table.entry.js.map +1 -0
  1202. package/dist/esm/pf-tabs.entry.js +340 -0
  1203. package/dist/esm/pf-tabs.entry.js.map +1 -0
  1204. package/dist/esm/pf-tag-input.entry.js +198 -0
  1205. package/dist/esm/pf-tag-input.entry.js.map +1 -0
  1206. package/dist/esm/pf-tag.entry.js +30 -0
  1207. package/dist/esm/pf-tag.entry.js.map +1 -0
  1208. package/dist/esm/pf-textarea.entry.js +139 -0
  1209. package/dist/esm/pf-textarea.entry.js.map +1 -0
  1210. package/dist/esm/pf-time-picker.entry.js +327 -0
  1211. package/dist/esm/pf-time-picker.entry.js.map +1 -0
  1212. package/dist/esm/pf-timeline-item.entry.js +44 -0
  1213. package/dist/esm/pf-timeline-item.entry.js.map +1 -0
  1214. package/dist/esm/pf-timeline.entry.js +53 -0
  1215. package/dist/esm/pf-timeline.entry.js.map +1 -0
  1216. package/dist/esm/pf-toaster.entry.js +88 -0
  1217. package/dist/esm/pf-toaster.entry.js.map +1 -0
  1218. package/dist/esm/pf-toolbar-separator.entry.js +20 -0
  1219. package/dist/esm/pf-toolbar-separator.entry.js.map +1 -0
  1220. package/dist/esm/pf-toolbar.entry.js +73 -0
  1221. package/dist/esm/pf-toolbar.entry.js.map +1 -0
  1222. package/dist/esm/pf-tooltip.entry.js +177 -0
  1223. package/dist/esm/pf-tooltip.entry.js.map +1 -0
  1224. package/dist/esm/pf-tree-item.entry.js +79 -0
  1225. package/dist/esm/pf-tree-item.entry.js.map +1 -0
  1226. package/dist/esm/pf-tree-view.entry.js +340 -0
  1227. package/dist/esm/pf-tree-view.entry.js.map +1 -0
  1228. package/dist/esm/pf-utility-button.entry.js +54 -0
  1229. package/dist/esm/pf-utility-button.entry.js.map +1 -0
  1230. package/dist/esm/pf-video-player.entry.js +60 -0
  1231. package/dist/esm/pf-video-player.entry.js.map +1 -0
  1232. package/dist/esm/pf-visually-hidden.entry.js +23 -0
  1233. package/dist/esm/pf-visually-hidden.entry.js.map +1 -0
  1234. package/dist/esm/pie-COAc4ZDB.js +111 -0
  1235. package/dist/esm/pie-COAc4ZDB.js.map +1 -0
  1236. package/dist/esm/pitchfork.js +23 -0
  1237. package/dist/esm/pitchfork.js.map +1 -0
  1238. package/dist/esm/place-popover-CC7AyfOt.js +195 -0
  1239. package/dist/esm/place-popover-CC7AyfOt.js.map +1 -0
  1240. package/dist/esm/progress-BA6CMosJ.js +80 -0
  1241. package/dist/esm/progress-BA6CMosJ.js.map +1 -0
  1242. package/dist/esm/rating-DVK0sUX2.js +52 -0
  1243. package/dist/esm/rating-DVK0sUX2.js.map +1 -0
  1244. package/dist/esm/roving-BzRAGyFO.js +67 -0
  1245. package/dist/esm/roving-BzRAGyFO.js.map +1 -0
  1246. package/dist/esm/scroll-lock-C-VLyxRR.js +44 -0
  1247. package/dist/esm/scroll-lock-C-VLyxRR.js.map +1 -0
  1248. package/dist/esm/text-B8ulhYUJ.js +54 -0
  1249. package/dist/esm/text-B8ulhYUJ.js.map +1 -0
  1250. package/dist/esm/value-list-BmcsJLdy.js +100 -0
  1251. package/dist/esm/value-list-BmcsJLdy.js.map +1 -0
  1252. package/dist/index.cjs.js +1 -0
  1253. package/dist/index.js +1 -0
  1254. package/dist/pitchfork/index.esm.js +2 -0
  1255. package/dist/pitchfork/index.esm.js.map +1 -0
  1256. package/dist/pitchfork/p-01ed0d56.entry.js +2 -0
  1257. package/dist/pitchfork/p-01ed0d56.entry.js.map +1 -0
  1258. package/dist/pitchfork/p-02e28338.entry.js +2 -0
  1259. package/dist/pitchfork/p-02e28338.entry.js.map +1 -0
  1260. package/dist/pitchfork/p-03db6bae.entry.js +2 -0
  1261. package/dist/pitchfork/p-03db6bae.entry.js.map +1 -0
  1262. package/dist/pitchfork/p-04869bdc.entry.js +2 -0
  1263. package/dist/pitchfork/p-04869bdc.entry.js.map +1 -0
  1264. package/dist/pitchfork/p-068baf6d.entry.js +2 -0
  1265. package/dist/pitchfork/p-068baf6d.entry.js.map +1 -0
  1266. package/dist/pitchfork/p-0bbec059.entry.js +2 -0
  1267. package/dist/pitchfork/p-0bbec059.entry.js.map +1 -0
  1268. package/dist/pitchfork/p-1133b2fa.entry.js +2 -0
  1269. package/dist/pitchfork/p-1133b2fa.entry.js.map +1 -0
  1270. package/dist/pitchfork/p-19c0145c.entry.js +2 -0
  1271. package/dist/pitchfork/p-19c0145c.entry.js.map +1 -0
  1272. package/dist/pitchfork/p-1bb6b456.entry.js +2 -0
  1273. package/dist/pitchfork/p-1bb6b456.entry.js.map +1 -0
  1274. package/dist/pitchfork/p-1bc87b8c.entry.js +2 -0
  1275. package/dist/pitchfork/p-1bc87b8c.entry.js.map +1 -0
  1276. package/dist/pitchfork/p-1e171d52.entry.js +2 -0
  1277. package/dist/pitchfork/p-1e171d52.entry.js.map +1 -0
  1278. package/dist/pitchfork/p-1e7e8d25.entry.js +2 -0
  1279. package/dist/pitchfork/p-1e7e8d25.entry.js.map +1 -0
  1280. package/dist/pitchfork/p-1fa3b37b.entry.js +2 -0
  1281. package/dist/pitchfork/p-1fa3b37b.entry.js.map +1 -0
  1282. package/dist/pitchfork/p-22c7e5b4.entry.js +2 -0
  1283. package/dist/pitchfork/p-22c7e5b4.entry.js.map +1 -0
  1284. package/dist/pitchfork/p-22d8c69d.entry.js +2 -0
  1285. package/dist/pitchfork/p-22d8c69d.entry.js.map +1 -0
  1286. package/dist/pitchfork/p-248bd301.entry.js +2 -0
  1287. package/dist/pitchfork/p-248bd301.entry.js.map +1 -0
  1288. package/dist/pitchfork/p-2577564c.entry.js +7 -0
  1289. package/dist/pitchfork/p-2577564c.entry.js.map +1 -0
  1290. package/dist/pitchfork/p-25d0a34b.entry.js +2 -0
  1291. package/dist/pitchfork/p-25d0a34b.entry.js.map +1 -0
  1292. package/dist/pitchfork/p-26e119df.entry.js +2 -0
  1293. package/dist/pitchfork/p-26e119df.entry.js.map +1 -0
  1294. package/dist/pitchfork/p-2798795f.entry.js +2 -0
  1295. package/dist/pitchfork/p-2798795f.entry.js.map +1 -0
  1296. package/dist/pitchfork/p-2add2e98.entry.js +2 -0
  1297. package/dist/pitchfork/p-2add2e98.entry.js.map +1 -0
  1298. package/dist/pitchfork/p-3133eb1a.entry.js +2 -0
  1299. package/dist/pitchfork/p-3133eb1a.entry.js.map +1 -0
  1300. package/dist/pitchfork/p-31e0fbc7.entry.js +2 -0
  1301. package/dist/pitchfork/p-31e0fbc7.entry.js.map +1 -0
  1302. package/dist/pitchfork/p-34f2df95.entry.js +2 -0
  1303. package/dist/pitchfork/p-34f2df95.entry.js.map +1 -0
  1304. package/dist/pitchfork/p-37ee290d.entry.js +2 -0
  1305. package/dist/pitchfork/p-37ee290d.entry.js.map +1 -0
  1306. package/dist/pitchfork/p-3843faa6.entry.js +2 -0
  1307. package/dist/pitchfork/p-3843faa6.entry.js.map +1 -0
  1308. package/dist/pitchfork/p-3cd7d421.entry.js +2 -0
  1309. package/dist/pitchfork/p-3cd7d421.entry.js.map +1 -0
  1310. package/dist/pitchfork/p-3fd3444b.entry.js +2 -0
  1311. package/dist/pitchfork/p-3fd3444b.entry.js.map +1 -0
  1312. package/dist/pitchfork/p-41d997d9.entry.js +2 -0
  1313. package/dist/pitchfork/p-41d997d9.entry.js.map +1 -0
  1314. package/dist/pitchfork/p-4217a92a.entry.js +2 -0
  1315. package/dist/pitchfork/p-4217a92a.entry.js.map +1 -0
  1316. package/dist/pitchfork/p-43c103bb.entry.js +2 -0
  1317. package/dist/pitchfork/p-43c103bb.entry.js.map +1 -0
  1318. package/dist/pitchfork/p-45039de3.entry.js +2 -0
  1319. package/dist/pitchfork/p-45039de3.entry.js.map +1 -0
  1320. package/dist/pitchfork/p-4959a556.entry.js +2 -0
  1321. package/dist/pitchfork/p-4959a556.entry.js.map +1 -0
  1322. package/dist/pitchfork/p-4b05851a.entry.js +2 -0
  1323. package/dist/pitchfork/p-4b05851a.entry.js.map +1 -0
  1324. package/dist/pitchfork/p-4b16ef92.entry.js +2 -0
  1325. package/dist/pitchfork/p-4b16ef92.entry.js.map +1 -0
  1326. package/dist/pitchfork/p-4b7c186f.entry.js +2 -0
  1327. package/dist/pitchfork/p-4b7c186f.entry.js.map +1 -0
  1328. package/dist/pitchfork/p-4df4eed8.entry.js +2 -0
  1329. package/dist/pitchfork/p-4df4eed8.entry.js.map +1 -0
  1330. package/dist/pitchfork/p-4dfe7e8a.entry.js +2 -0
  1331. package/dist/pitchfork/p-4dfe7e8a.entry.js.map +1 -0
  1332. package/dist/pitchfork/p-4e785310.entry.js +2 -0
  1333. package/dist/pitchfork/p-4e785310.entry.js.map +1 -0
  1334. package/dist/pitchfork/p-4e7c51e4.entry.js +2 -0
  1335. package/dist/pitchfork/p-4e7c51e4.entry.js.map +1 -0
  1336. package/dist/pitchfork/p-50ad12be.entry.js +2 -0
  1337. package/dist/pitchfork/p-50ad12be.entry.js.map +1 -0
  1338. package/dist/pitchfork/p-51353d53.entry.js +2 -0
  1339. package/dist/pitchfork/p-51353d53.entry.js.map +1 -0
  1340. package/dist/pitchfork/p-51528462.entry.js +2 -0
  1341. package/dist/pitchfork/p-51528462.entry.js.map +1 -0
  1342. package/dist/pitchfork/p-578db1a6.entry.js +2 -0
  1343. package/dist/pitchfork/p-578db1a6.entry.js.map +1 -0
  1344. package/dist/pitchfork/p-5b98848c.entry.js +2 -0
  1345. package/dist/pitchfork/p-5b98848c.entry.js.map +1 -0
  1346. package/dist/pitchfork/p-6066ce98.entry.js +2 -0
  1347. package/dist/pitchfork/p-6066ce98.entry.js.map +1 -0
  1348. package/dist/pitchfork/p-643f7e00.entry.js +2 -0
  1349. package/dist/pitchfork/p-643f7e00.entry.js.map +1 -0
  1350. package/dist/pitchfork/p-685f817b.entry.js +2 -0
  1351. package/dist/pitchfork/p-685f817b.entry.js.map +1 -0
  1352. package/dist/pitchfork/p-69d27f61.entry.js +2 -0
  1353. package/dist/pitchfork/p-69d27f61.entry.js.map +1 -0
  1354. package/dist/pitchfork/p-6cfacd82.entry.js +2 -0
  1355. package/dist/pitchfork/p-6cfacd82.entry.js.map +1 -0
  1356. package/dist/pitchfork/p-6d3c4094.entry.js +2 -0
  1357. package/dist/pitchfork/p-6d3c4094.entry.js.map +1 -0
  1358. package/dist/pitchfork/p-717b552a.entry.js +2 -0
  1359. package/dist/pitchfork/p-717b552a.entry.js.map +1 -0
  1360. package/dist/pitchfork/p-7197ef71.entry.js +2 -0
  1361. package/dist/pitchfork/p-7197ef71.entry.js.map +1 -0
  1362. package/dist/pitchfork/p-742f2cc4.entry.js +2 -0
  1363. package/dist/pitchfork/p-742f2cc4.entry.js.map +1 -0
  1364. package/dist/pitchfork/p-76f0f473.entry.js +2 -0
  1365. package/dist/pitchfork/p-76f0f473.entry.js.map +1 -0
  1366. package/dist/pitchfork/p-77168a0d.entry.js +2 -0
  1367. package/dist/pitchfork/p-77168a0d.entry.js.map +1 -0
  1368. package/dist/pitchfork/p-7e5ba1f9.entry.js +2 -0
  1369. package/dist/pitchfork/p-7e5ba1f9.entry.js.map +1 -0
  1370. package/dist/pitchfork/p-8718bb3a.entry.js +2 -0
  1371. package/dist/pitchfork/p-8718bb3a.entry.js.map +1 -0
  1372. package/dist/pitchfork/p-8a1e2ba8.entry.js +2 -0
  1373. package/dist/pitchfork/p-8a1e2ba8.entry.js.map +1 -0
  1374. package/dist/pitchfork/p-8e1a4b26.entry.js +2 -0
  1375. package/dist/pitchfork/p-8e1a4b26.entry.js.map +1 -0
  1376. package/dist/pitchfork/p-8e304481.entry.js +2 -0
  1377. package/dist/pitchfork/p-8e304481.entry.js.map +1 -0
  1378. package/dist/pitchfork/p-97dd4193.entry.js +2 -0
  1379. package/dist/pitchfork/p-97dd4193.entry.js.map +1 -0
  1380. package/dist/pitchfork/p-9d93b1ea.entry.js +2 -0
  1381. package/dist/pitchfork/p-9d93b1ea.entry.js.map +1 -0
  1382. package/dist/pitchfork/p-9dc1dd8a.entry.js +2 -0
  1383. package/dist/pitchfork/p-9dc1dd8a.entry.js.map +1 -0
  1384. package/dist/pitchfork/p-B8ulhYUJ.js +2 -0
  1385. package/dist/pitchfork/p-B8ulhYUJ.js.map +1 -0
  1386. package/dist/pitchfork/p-BA6CMosJ.js +2 -0
  1387. package/dist/pitchfork/p-BA6CMosJ.js.map +1 -0
  1388. package/dist/pitchfork/p-Bm6UxEit.js +3 -0
  1389. package/dist/pitchfork/p-Bm6UxEit.js.map +1 -0
  1390. package/dist/pitchfork/p-BmcsJLdy.js +2 -0
  1391. package/dist/pitchfork/p-BmcsJLdy.js.map +1 -0
  1392. package/dist/pitchfork/p-C-VLyxRR.js +2 -0
  1393. package/dist/pitchfork/p-C-VLyxRR.js.map +1 -0
  1394. package/dist/pitchfork/p-C9jNMqLs.js +2 -0
  1395. package/dist/pitchfork/p-C9jNMqLs.js.map +1 -0
  1396. package/dist/pitchfork/p-CAz7-p8y.js +2 -0
  1397. package/dist/pitchfork/p-CAz7-p8y.js.map +1 -0
  1398. package/dist/pitchfork/p-CC7AyfOt.js +2 -0
  1399. package/dist/pitchfork/p-CC7AyfOt.js.map +1 -0
  1400. package/dist/pitchfork/p-CCln56Fj.js +2 -0
  1401. package/dist/pitchfork/p-CCln56Fj.js.map +1 -0
  1402. package/dist/pitchfork/p-COAc4ZDB.js +2 -0
  1403. package/dist/pitchfork/p-COAc4ZDB.js.map +1 -0
  1404. package/dist/pitchfork/p-CmX-kVk-.js +2 -0
  1405. package/dist/pitchfork/p-CmX-kVk-.js.map +1 -0
  1406. package/dist/pitchfork/p-Cr6IXrUk.js +2 -0
  1407. package/dist/pitchfork/p-Cr6IXrUk.js.map +1 -0
  1408. package/dist/pitchfork/p-Cta76kgc.js +2 -0
  1409. package/dist/pitchfork/p-Cta76kgc.js.map +1 -0
  1410. package/dist/pitchfork/p-Cy_kHPeC.js +2 -0
  1411. package/dist/pitchfork/p-Cy_kHPeC.js.map +1 -0
  1412. package/dist/pitchfork/p-DSXauhXX.js +2 -0
  1413. package/dist/pitchfork/p-DSXauhXX.js.map +1 -0
  1414. package/dist/pitchfork/p-DToIJg5W.js +2 -0
  1415. package/dist/pitchfork/p-DToIJg5W.js.map +1 -0
  1416. package/dist/pitchfork/p-DVK0sUX2.js +2 -0
  1417. package/dist/pitchfork/p-DVK0sUX2.js.map +1 -0
  1418. package/dist/pitchfork/p-DfpCerXM.js +2 -0
  1419. package/dist/pitchfork/p-DfpCerXM.js.map +1 -0
  1420. package/dist/pitchfork/p-Dkd7BUB5.js +2 -0
  1421. package/dist/pitchfork/p-Dkd7BUB5.js.map +1 -0
  1422. package/dist/pitchfork/p-Fiuz9ck7.js +2 -0
  1423. package/dist/pitchfork/p-Fiuz9ck7.js.map +1 -0
  1424. package/dist/pitchfork/p-a1a7838d.entry.js +2 -0
  1425. package/dist/pitchfork/p-a1a7838d.entry.js.map +1 -0
  1426. package/dist/pitchfork/p-a4cc62e1.entry.js +2 -0
  1427. package/dist/pitchfork/p-a4cc62e1.entry.js.map +1 -0
  1428. package/dist/pitchfork/p-a4fad812.entry.js +2 -0
  1429. package/dist/pitchfork/p-a4fad812.entry.js.map +1 -0
  1430. package/dist/pitchfork/p-a5b5c09a.entry.js +2 -0
  1431. package/dist/pitchfork/p-a5b5c09a.entry.js.map +1 -0
  1432. package/dist/pitchfork/p-a7ce64b1.entry.js +2 -0
  1433. package/dist/pitchfork/p-a7ce64b1.entry.js.map +1 -0
  1434. package/dist/pitchfork/p-a864dae5.entry.js +2 -0
  1435. package/dist/pitchfork/p-a864dae5.entry.js.map +1 -0
  1436. package/dist/pitchfork/p-aa2acec3.entry.js +2 -0
  1437. package/dist/pitchfork/p-aa2acec3.entry.js.map +1 -0
  1438. package/dist/pitchfork/p-aa615fe9.entry.js +2 -0
  1439. package/dist/pitchfork/p-aa615fe9.entry.js.map +1 -0
  1440. package/dist/pitchfork/p-aa869013.entry.js +2 -0
  1441. package/dist/pitchfork/p-aa869013.entry.js.map +1 -0
  1442. package/dist/pitchfork/p-aac27e62.entry.js +2 -0
  1443. package/dist/pitchfork/p-aac27e62.entry.js.map +1 -0
  1444. package/dist/pitchfork/p-ab6c09e7.entry.js +2 -0
  1445. package/dist/pitchfork/p-ab6c09e7.entry.js.map +1 -0
  1446. package/dist/pitchfork/p-ac3fcb57.entry.js +2 -0
  1447. package/dist/pitchfork/p-ac3fcb57.entry.js.map +1 -0
  1448. package/dist/pitchfork/p-ad93b614.entry.js +2 -0
  1449. package/dist/pitchfork/p-ad93b614.entry.js.map +1 -0
  1450. package/dist/pitchfork/p-ae5fd08e.entry.js +2 -0
  1451. package/dist/pitchfork/p-ae5fd08e.entry.js.map +1 -0
  1452. package/dist/pitchfork/p-b26df5a0.entry.js +2 -0
  1453. package/dist/pitchfork/p-b26df5a0.entry.js.map +1 -0
  1454. package/dist/pitchfork/p-b2df1ecb.entry.js +2 -0
  1455. package/dist/pitchfork/p-b2df1ecb.entry.js.map +1 -0
  1456. package/dist/pitchfork/p-b442330b.entry.js +2 -0
  1457. package/dist/pitchfork/p-b442330b.entry.js.map +1 -0
  1458. package/dist/pitchfork/p-b4480baf.entry.js +2 -0
  1459. package/dist/pitchfork/p-b4480baf.entry.js.map +1 -0
  1460. package/dist/pitchfork/p-b4774cba.entry.js +2 -0
  1461. package/dist/pitchfork/p-b4774cba.entry.js.map +1 -0
  1462. package/dist/pitchfork/p-b6b18062.entry.js +2 -0
  1463. package/dist/pitchfork/p-b6b18062.entry.js.map +1 -0
  1464. package/dist/pitchfork/p-be2c6150.entry.js +2 -0
  1465. package/dist/pitchfork/p-be2c6150.entry.js.map +1 -0
  1466. package/dist/pitchfork/p-bf044fb5.entry.js +2 -0
  1467. package/dist/pitchfork/p-bf044fb5.entry.js.map +1 -0
  1468. package/dist/pitchfork/p-c07c5847.entry.js +2 -0
  1469. package/dist/pitchfork/p-c07c5847.entry.js.map +1 -0
  1470. package/dist/pitchfork/p-c82804d4.entry.js +2 -0
  1471. package/dist/pitchfork/p-c82804d4.entry.js.map +1 -0
  1472. package/dist/pitchfork/p-d4bbcba0.entry.js +2 -0
  1473. package/dist/pitchfork/p-d4bbcba0.entry.js.map +1 -0
  1474. package/dist/pitchfork/p-d7ca4026.entry.js +2 -0
  1475. package/dist/pitchfork/p-d7ca4026.entry.js.map +1 -0
  1476. package/dist/pitchfork/p-dcaaedeb.entry.js +2 -0
  1477. package/dist/pitchfork/p-dcaaedeb.entry.js.map +1 -0
  1478. package/dist/pitchfork/p-dd0e0d79.entry.js +2 -0
  1479. package/dist/pitchfork/p-dd0e0d79.entry.js.map +1 -0
  1480. package/dist/pitchfork/p-dd48d94d.entry.js +2 -0
  1481. package/dist/pitchfork/p-dd48d94d.entry.js.map +1 -0
  1482. package/dist/pitchfork/p-e882124b.entry.js +2 -0
  1483. package/dist/pitchfork/p-e882124b.entry.js.map +1 -0
  1484. package/dist/pitchfork/p-e9d767df.entry.js +2 -0
  1485. package/dist/pitchfork/p-e9d767df.entry.js.map +1 -0
  1486. package/dist/pitchfork/p-ea63c122.entry.js +2 -0
  1487. package/dist/pitchfork/p-ea63c122.entry.js.map +1 -0
  1488. package/dist/pitchfork/p-ec8df806.entry.js +2 -0
  1489. package/dist/pitchfork/p-ec8df806.entry.js.map +1 -0
  1490. package/dist/pitchfork/p-edb28479.entry.js +2 -0
  1491. package/dist/pitchfork/p-edb28479.entry.js.map +1 -0
  1492. package/dist/pitchfork/p-f0889512.entry.js +2 -0
  1493. package/dist/pitchfork/p-f0889512.entry.js.map +1 -0
  1494. package/dist/pitchfork/p-f3d80b42.entry.js +2 -0
  1495. package/dist/pitchfork/p-f3d80b42.entry.js.map +1 -0
  1496. package/dist/pitchfork/p-f5242cee.entry.js +2 -0
  1497. package/dist/pitchfork/p-f5242cee.entry.js.map +1 -0
  1498. package/dist/pitchfork/p-f5df568f.entry.js +2 -0
  1499. package/dist/pitchfork/p-f5df568f.entry.js.map +1 -0
  1500. package/dist/pitchfork/p-f689e353.entry.js +2 -0
  1501. package/dist/pitchfork/p-f689e353.entry.js.map +1 -0
  1502. package/dist/pitchfork/p-f713c62d.entry.js +2 -0
  1503. package/dist/pitchfork/p-f713c62d.entry.js.map +1 -0
  1504. package/dist/pitchfork/p-f855c9d4.entry.js +2 -0
  1505. package/dist/pitchfork/p-f855c9d4.entry.js.map +1 -0
  1506. package/dist/pitchfork/p-fa1302c7.entry.js +2 -0
  1507. package/dist/pitchfork/p-fa1302c7.entry.js.map +1 -0
  1508. package/dist/pitchfork/p-fd802631.entry.js +2 -0
  1509. package/dist/pitchfork/p-fd802631.entry.js.map +1 -0
  1510. package/dist/pitchfork/p-fe6f403c.entry.js +2 -0
  1511. package/dist/pitchfork/p-fe6f403c.entry.js.map +1 -0
  1512. package/dist/pitchfork/p-g4FlTDZx.js +2 -0
  1513. package/dist/pitchfork/p-g4FlTDZx.js.map +1 -0
  1514. package/dist/pitchfork/pitchfork.css +40 -0
  1515. package/dist/pitchfork/pitchfork.esm.js +2 -0
  1516. package/dist/pitchfork/pitchfork.esm.js.map +1 -0
  1517. package/dist/types/components/pf-accordion/pf-accordion.d.ts +80 -0
  1518. package/dist/types/components/pf-accordion-item/pf-accordion-item.d.ts +57 -0
  1519. package/dist/types/components/pf-alert/pf-alert.d.ts +57 -0
  1520. package/dist/types/components/pf-avatar/pf-avatar.d.ts +25 -0
  1521. package/dist/types/components/pf-avatar-group/pf-avatar-group.d.ts +46 -0
  1522. package/dist/types/components/pf-badge/pf-badge.d.ts +14 -0
  1523. package/dist/types/components/pf-badge-group/pf-badge-group.d.ts +23 -0
  1524. package/dist/types/components/pf-bar-chart/pf-bar-chart.d.ts +39 -0
  1525. package/dist/types/components/pf-breadcrumb/pf-breadcrumb.d.ts +40 -0
  1526. package/dist/types/components/pf-breadcrumbs/pf-breadcrumbs.d.ts +52 -0
  1527. package/dist/types/components/pf-button/pf-button.d.ts +38 -0
  1528. package/dist/types/components/pf-button-group/pf-button-group.d.ts +53 -0
  1529. package/dist/types/components/pf-button-group-item/pf-button-group-item.d.ts +47 -0
  1530. package/dist/types/components/pf-calendar/pf-calendar.d.ts +101 -0
  1531. package/dist/types/components/pf-card/pf-card.d.ts +16 -0
  1532. package/dist/types/components/pf-card-content/pf-card-content.d.ts +8 -0
  1533. package/dist/types/components/pf-card-footer/pf-card-footer.d.ts +10 -0
  1534. package/dist/types/components/pf-card-header/pf-card-header.d.ts +8 -0
  1535. package/dist/types/components/pf-carousel/pf-carousel.d.ts +73 -0
  1536. package/dist/types/components/pf-carousel-slide/pf-carousel-slide.d.ts +19 -0
  1537. package/dist/types/components/pf-chart-series/pf-chart-series.d.ts +33 -0
  1538. package/dist/types/components/pf-checkbox/pf-checkbox.d.ts +57 -0
  1539. package/dist/types/components/pf-code-snippet/pf-code-snippet.d.ts +74 -0
  1540. package/dist/types/components/pf-collapsible/pf-collapsible.d.ts +56 -0
  1541. package/dist/types/components/pf-combobox/pf-combobox.d.ts +123 -0
  1542. package/dist/types/components/pf-command-group/pf-command-group.d.ts +18 -0
  1543. package/dist/types/components/pf-command-item/pf-command-item.d.ts +41 -0
  1544. package/dist/types/components/pf-command-palette/pf-command-palette.d.ts +102 -0
  1545. package/dist/types/components/pf-content-divider/pf-content-divider.d.ts +39 -0
  1546. package/dist/types/components/pf-context-menu/pf-context-menu.d.ts +54 -0
  1547. package/dist/types/components/pf-credit-card/pf-credit-card.d.ts +31 -0
  1548. package/dist/types/components/pf-date-picker/pf-date-picker.d.ts +121 -0
  1549. package/dist/types/components/pf-date-range-picker/pf-date-range-picker.d.ts +122 -0
  1550. package/dist/types/components/pf-dropdown/pf-dropdown.d.ts +66 -0
  1551. package/dist/types/components/pf-empty-state/pf-empty-state.d.ts +43 -0
  1552. package/dist/types/components/pf-file-uploader/pf-file-uploader.d.ts +96 -0
  1553. package/dist/types/components/pf-gauge-chart/pf-gauge-chart.d.ts +36 -0
  1554. package/dist/types/components/pf-header-navigation/pf-header-navigation.d.ts +64 -0
  1555. package/dist/types/components/pf-heatmap/pf-heatmap.d.ts +55 -0
  1556. package/dist/types/components/pf-icon/bundled-icons.d.ts +3 -0
  1557. package/dist/types/components/pf-icon/custom-icons.d.ts +3 -0
  1558. package/dist/types/components/pf-icon/icon-names.d.ts +6 -0
  1559. package/dist/types/components/pf-icon/pf-icon.d.ts +22 -0
  1560. package/dist/types/components/pf-inline-cta/pf-inline-cta.d.ts +69 -0
  1561. package/dist/types/components/pf-input/pf-input.d.ts +80 -0
  1562. package/dist/types/components/pf-kbd/pf-kbd.d.ts +18 -0
  1563. package/dist/types/components/pf-line-chart/pf-line-chart.d.ts +68 -0
  1564. package/dist/types/components/pf-loading-dots/pf-loading-dots.d.ts +14 -0
  1565. package/dist/types/components/pf-loading-skeleton/pf-loading-skeleton.d.ts +24 -0
  1566. package/dist/types/components/pf-loading-spinner/pf-loading-spinner.d.ts +12 -0
  1567. package/dist/types/components/pf-menu-item/pf-menu-item.d.ts +43 -0
  1568. package/dist/types/components/pf-menu-separator/pf-menu-separator.d.ts +9 -0
  1569. package/dist/types/components/pf-metric-card/pf-metric-card.d.ts +42 -0
  1570. package/dist/types/components/pf-metric-grid/pf-metric-grid.d.ts +13 -0
  1571. package/dist/types/components/pf-modal/pf-modal.d.ts +137 -0
  1572. package/dist/types/components/pf-modal-body/pf-modal-body.d.ts +12 -0
  1573. package/dist/types/components/pf-modal-footer/pf-modal-footer.d.ts +12 -0
  1574. package/dist/types/components/pf-modal-header/pf-modal-header.d.ts +12 -0
  1575. package/dist/types/components/pf-multi-select/pf-multi-select.d.ts +108 -0
  1576. package/dist/types/components/pf-nav-item/pf-nav-item.d.ts +78 -0
  1577. package/dist/types/components/pf-nav-section/pf-nav-section.d.ts +44 -0
  1578. package/dist/types/components/pf-notification/pf-notification.d.ts +53 -0
  1579. package/dist/types/components/pf-number-input/pf-number-input.d.ts +87 -0
  1580. package/dist/types/components/pf-option/pf-option.d.ts +40 -0
  1581. package/dist/types/components/pf-page-header/pf-page-header.d.ts +33 -0
  1582. package/dist/types/components/pf-pagination/pf-pagination.d.ts +41 -0
  1583. package/dist/types/components/pf-pie-chart/pf-pie-chart.d.ts +52 -0
  1584. package/dist/types/components/pf-pie-slice/pf-pie-slice.d.ts +36 -0
  1585. package/dist/types/components/pf-popover/pf-popover.d.ts +82 -0
  1586. package/dist/types/components/pf-progress-bar/pf-progress-bar.d.ts +18 -0
  1587. package/dist/types/components/pf-progress-circle/pf-progress-circle.d.ts +23 -0
  1588. package/dist/types/components/pf-progress-step/pf-progress-step.d.ts +38 -0
  1589. package/dist/types/components/pf-progress-steps/pf-progress-steps.d.ts +42 -0
  1590. package/dist/types/components/pf-radar-axis/pf-radar-axis.d.ts +28 -0
  1591. package/dist/types/components/pf-radar-chart/pf-radar-chart.d.ts +62 -0
  1592. package/dist/types/components/pf-radio-button/pf-radio-button.d.ts +55 -0
  1593. package/dist/types/components/pf-radio-group/pf-radio-group.d.ts +80 -0
  1594. package/dist/types/components/pf-rating-badge/pf-rating-badge.d.ts +23 -0
  1595. package/dist/types/components/pf-rating-stars/pf-rating-stars.d.ts +31 -0
  1596. package/dist/types/components/pf-resizable/pf-resizable.d.ts +68 -0
  1597. package/dist/types/components/pf-rich-text-editor/pf-rich-text-editor.d.ts +99 -0
  1598. package/dist/types/components/pf-scroll-area/pf-scroll-area.d.ts +28 -0
  1599. package/dist/types/components/pf-section-footer/pf-section-footer.d.ts +30 -0
  1600. package/dist/types/components/pf-section-header/pf-section-header.d.ts +35 -0
  1601. package/dist/types/components/pf-select/pf-select.d.ts +110 -0
  1602. package/dist/types/components/pf-sidebar-navigation/pf-sidebar-navigation.d.ts +77 -0
  1603. package/dist/types/components/pf-slideout-menu/pf-slideout-menu.d.ts +103 -0
  1604. package/dist/types/components/pf-slider/pf-slider.d.ts +66 -0
  1605. package/dist/types/components/pf-sparkline/pf-sparkline.d.ts +54 -0
  1606. package/dist/types/components/pf-switch/pf-switch.d.ts +62 -0
  1607. package/dist/types/components/pf-tab/pf-tab.d.ts +83 -0
  1608. package/dist/types/components/pf-tab-panel/pf-tab-panel.d.ts +24 -0
  1609. package/dist/types/components/pf-table/pf-table.d.ts +76 -0
  1610. package/dist/types/components/pf-table-cell/pf-table-cell.d.ts +43 -0
  1611. package/dist/types/components/pf-table-row/pf-table-row.d.ts +31 -0
  1612. package/dist/types/components/pf-tabs/pf-tabs.d.ts +149 -0
  1613. package/dist/types/components/pf-tag/pf-tag.d.ts +26 -0
  1614. package/dist/types/components/pf-tag-input/pf-tag-input.d.ts +92 -0
  1615. package/dist/types/components/pf-textarea/pf-textarea.d.ts +89 -0
  1616. package/dist/types/components/pf-time-picker/pf-time-picker.d.ts +105 -0
  1617. package/dist/types/components/pf-timeline/pf-timeline.d.ts +27 -0
  1618. package/dist/types/components/pf-timeline-item/pf-timeline-item.d.ts +40 -0
  1619. package/dist/types/components/pf-toaster/pf-toaster.d.ts +66 -0
  1620. package/dist/types/components/pf-toolbar/pf-toolbar.d.ts +37 -0
  1621. package/dist/types/components/pf-toolbar-separator/pf-toolbar-separator.d.ts +14 -0
  1622. package/dist/types/components/pf-tooltip/pf-tooltip.d.ts +74 -0
  1623. package/dist/types/components/pf-tree-item/pf-tree-item.d.ts +75 -0
  1624. package/dist/types/components/pf-tree-view/pf-tree-view.d.ts +94 -0
  1625. package/dist/types/components/pf-utility-button/pf-utility-button.d.ts +41 -0
  1626. package/dist/types/components/pf-video-player/pf-video-player.d.ts +72 -0
  1627. package/dist/types/components/pf-visually-hidden/pf-visually-hidden.d.ts +20 -0
  1628. package/dist/types/components.d.ts +11987 -0
  1629. package/dist/types/control-label.d.ts +24 -0
  1630. package/dist/types/form-validity.d.ts +24 -0
  1631. package/dist/types/index.d.ts +1 -0
  1632. package/dist/types/place-popover.d.ts +16 -0
  1633. package/dist/types/stencil-public-runtime.d.ts +1879 -0
  1634. package/loader/cdn.js +1 -0
  1635. package/loader/index.cjs.js +1 -0
  1636. package/loader/index.d.ts +24 -0
  1637. package/loader/index.es2017.js +1 -0
  1638. package/loader/index.js +2 -0
  1639. package/package.json +95 -4
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatFileSize","bytes","Number","isFinite","Math","round","toFixed","fileKey","file","name","size","lastModified","mergeFileSelection","existing","incoming","multiple","slice","byKey","Map","key","has","set","values","fileMatchesAccept","accept","tokens","split","map","token","trim","toLowerCase","filter","Boolean","length","type","some","startsWith","endsWith","validateFileSelection","files","maxFiles","maxFileSize","wrongKind","find","oversized","fileLimitsHint","parts","push","join","pfFileUploaderCss","PfFileUploader","internals","label","description","error","required","disabled","pfChange","pfReject","rejection","dragDepth","initialFiles","input","componentWillLoad","this","syncFormState","held","data","FormData","append","setFormValue","applyControlValidity","checkValidity","reportValidity","getValidationMessage","validationMessage","open","click","formResetCallback","undefined","limits","addFiles","selected","next","Array","from","value","emit","message","removeAt","index","_","position","onDragEnter","event","preventDefault","onDragLeave","max","onDrop","dataTransfer","render","hint","describedBy","composeDescribedBy","h","Host","class","part","htmlFor","ref","node","id","tabindex","onChange","target","dropzone","onClick","onDragOver"],"sources":["../core/dist/files.js","src/components/pf-file-uploader/pf-file-uploader.css?tag=pf-file-uploader&encapsulation=shadow","src/components/pf-file-uploader/pf-file-uploader.tsx"],"sourcesContent":["//#region src/files.ts\n/**\n* A size in the units a person reads.\n*\n* Binary steps with decimal names, which is what every file manager does.\n* `GB` is included because stopping at `MB` reads a 3 GB upload as\n* \"3072.0 MB\", and the whole point of the function is to be read.\n*/\nfunction formatFileSize(bytes) {\n\tif (!Number.isFinite(bytes) || bytes < 0) return \"0 B\";\n\tif (bytes < 1024) return `${Math.round(bytes)} B`;\n\tif (bytes < 1024 ** 2) return `${(bytes / 1024).toFixed(1)} KB`;\n\tif (bytes < 1024 ** 3) return `${(bytes / 1024 ** 2).toFixed(1)} MB`;\n\treturn `${(bytes / 1024 ** 3).toFixed(1)} GB`;\n}\n/**\n* What makes two selections the same file.\n*\n* Name, size and modification time together, because a browser gives no file\n* identity of its own: picking the same file twice produces two distinct\n* `File` objects, and a consumer who adds `report.pdf` from two folders is\n* adding two files. `lastModified` is optional only so a plain object can\n* stand in for a `File` in a test.\n*/\nfunction fileKey(file) {\n\treturn `${file.name}-${file.size}-${file.lastModified ?? 0}`;\n}\n/**\n* The files a new selection leaves you holding.\n*\n* Appends for a multiple picker and replaces for a single one, then drops\n* duplicates by `fileKey` keeping the **first** of each — so re-picking a\n* file already held is a no-op rather than a reordering.\n*\n* Deliberately does not truncate to `maxFiles`. The React `FileUploader`\n* truncated first and validated afterwards, which made its \"You can upload up\n* to N files\" message unreachable: the list was already short enough by the\n* time it was checked, so the extra files vanished with nothing said. Merging\n* and validating are separate so the caller can refuse a selection instead of\n* quietly losing part of it.\n*/\nfunction mergeFileSelection(existing, incoming, { multiple = true } = {}) {\n\tif (!multiple) return incoming.slice(0, 1);\n\tconst byKey = /* @__PURE__ */ new Map();\n\tfor (const file of [...existing, ...incoming]) {\n\t\tconst key = fileKey(file);\n\t\tif (!byKey.has(key)) byKey.set(key, file);\n\t}\n\treturn [...byKey.values()];\n}\n/**\n* Whether a file is one of the kinds an `accept` list allows.\n*\n* The three forms a file input takes, and nothing else: an extension\n* (`.pdf`), a type (`image/png`) and a wildcard type (`image/*`). No list at\n* all allows everything.\n*\n* It exists because `accept` only filters the file *picker*. A **dropped**\n* file is never filtered by anything, so a dropzone that trusts the attribute\n* accepts whatever is dragged onto it — which is what both layers did.\n*/\nfunction fileMatchesAccept(file, accept) {\n\tconst tokens = (accept ?? \"\").split(\",\").map((token) => token.trim().toLowerCase()).filter(Boolean);\n\tif (tokens.length === 0) return true;\n\tconst name = file.name.toLowerCase();\n\tconst type = (file.type ?? \"\").toLowerCase();\n\treturn tokens.some((token) => {\n\t\tif (token.startsWith(\".\")) return name.endsWith(token);\n\t\tif (token.endsWith(\"/*\")) return type.startsWith(`${token.slice(0, -1)}`);\n\t\treturn type === token;\n\t});\n}\n/**\n* What is wrong with a selection, as a sentence to show, or `null`.\n*\n* Each check names the offending file, because \"one of these is wrong\" is not\n* something a person can act on, and the kind is reported before the size\n* because it is the more specific complaint. `maxFileSize` and `maxFiles` are\n* honoured whenever they are finite and non-negative — the React version\n* tested them for truthiness, so a limit of `0`, which is a way of saying\n* \"nothing may be uploaded\", silently allowed everything.\n*/\nfunction validateFileSelection(files, { maxFiles, maxFileSize, accept } = {}) {\n\tif (accept) {\n\t\tconst wrongKind = files.find((file) => !fileMatchesAccept(file, accept));\n\t\tif (wrongKind) return `\"${wrongKind.name}\" is not an accepted file type.`;\n\t}\n\tif (typeof maxFileSize === \"number\" && maxFileSize >= 0) {\n\t\tconst oversized = files.find((file) => file.size > maxFileSize);\n\t\tif (oversized) return `\"${oversized.name}\" exceeds the ${formatFileSize(maxFileSize)} size limit.`;\n\t}\n\tif (typeof maxFiles === \"number\" && maxFiles >= 0 && files.length > maxFiles) return `You can upload up to ${maxFiles} file${maxFiles === 1 ? \"\" : \"s\"}.`;\n\treturn null;\n}\n/**\n* The hint under a dropzone: what is accepted, how big, how many.\n*\n* In core rather than in each layer because it is the one place the three\n* limits are described to a person, and two layers describing them\n* differently is worse than either wording.\n*/\nfunction fileLimitsHint(accept, { maxFiles, maxFileSize } = {}) {\n\tconst parts = [];\n\tif (accept) parts.push(`Accepted: ${accept}`);\n\tif (typeof maxFileSize === \"number\" && maxFileSize >= 0) parts.push(`Max size: ${formatFileSize(maxFileSize)}`);\n\tif (typeof maxFiles === \"number\" && maxFiles >= 0) parts.push(`Max files: ${maxFiles}`);\n\treturn parts.join(\" | \");\n}\n//#endregion\nexport { fileKey, fileLimitsHint, fileMatchesAccept, formatFileSize, mergeFileSelection, validateFileSelection };\n",":host {\n display: block;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.field {\n display: grid;\n gap: var(--space-2);\n}\n\n.label {\n color: var(--pf-field-label);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n}\n\n.required {\n color: var(--pf-field-required);\n margin-inline-start: var(--space-1);\n}\n\n.description {\n color: var(--pf-field-description);\n font-size: var(--font-size-sm);\n margin: 0;\n}\n\n.error {\n color: var(--pf-field-error);\n font-size: var(--font-size-sm);\n margin: 0;\n}\n\n/*\n * The input is reached only through the dropzone, never directly: it is out of\n * the tab order and out of the accessibility tree, and the button is the\n * control. Hidden with the clip-path idiom rather than `display: none`,\n * because a `display: none` file input cannot be opened with `.click()` in\n * every browser.\n */\n.input {\n border: 0;\n clip-path: inset(50%);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.dropzone {\n align-items: center;\n background: var(--pf-file-uploader-bg);\n border: 1px dashed var(--pf-file-uploader-border-strong);\n border-radius: var(--radius-md);\n color: var(--pf-file-uploader-text);\n cursor: pointer;\n display: grid;\n font: inherit;\n gap: var(--space-1);\n justify-items: center;\n padding: var(--space-5) var(--space-4);\n text-align: center;\n transition: all var(--pf-transition-fast);\n width: 100%;\n}\n\n.dropzone:hover:not(:disabled) {\n background: var(--pf-file-uploader-bg-subtle);\n}\n\n.dropzone:focus-visible {\n box-shadow: var(--pf-file-uploader-focus-ring, var(--pf-focus-ring));\n outline: none;\n}\n\n.dropzone--active {\n background: var(--pf-file-uploader-bg-subtle);\n border-color: var(--pf-file-uploader-active-border);\n}\n\n.dropzone--invalid {\n border-color: var(--pf-file-uploader-invalid-border);\n}\n\n.dropzone:disabled {\n cursor: not-allowed;\n opacity: var(--pf-file-uploader-disabled-opacity, 0.5);\n}\n\n.icon {\n color: var(--pf-file-uploader-text-muted);\n font-size: var(--font-size-xl);\n}\n\n.title {\n font-weight: var(--font-weight-semibold);\n}\n\n.subtitle,\n.hint {\n color: var(--pf-file-uploader-text-muted);\n font-size: var(--font-size-sm);\n}\n\n.hint {\n font-size: var(--font-size-xs);\n}\n\n.list {\n display: grid;\n gap: var(--space-1);\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.file {\n align-items: center;\n background: var(--pf-file-uploader-bg-subtle);\n border: 1px solid var(--pf-file-uploader-border);\n border-radius: var(--radius-sm);\n display: flex;\n gap: var(--space-2);\n justify-content: space-between;\n padding: var(--space-2) var(--space-3);\n}\n\n/* The name takes the slack, so the size and the button sit at the far edge. */\n.meta {\n display: flex;\n gap: var(--space-2);\n min-width: 0;\n}\n\n.file-name {\n color: var(--pf-file-uploader-text);\n font-size: var(--font-size-sm);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.file-size {\n color: var(--pf-file-uploader-text-muted);\n flex: 0 0 auto;\n font-size: var(--font-size-xs);\n}\n\n.remove {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: var(--radius-sm);\n color: var(--pf-file-uploader-text-muted);\n cursor: pointer;\n display: inline-flex;\n flex: 0 0 auto;\n justify-content: center;\n padding: var(--space-1);\n}\n\n.remove:hover:not(:disabled) {\n color: var(--pf-file-uploader-text);\n}\n\n.remove:focus-visible {\n box-shadow: var(--pf-file-uploader-focus-ring, var(--pf-focus-ring));\n outline: none;\n}\n\n.remove:disabled {\n cursor: not-allowed;\n opacity: var(--pf-file-uploader-disabled-opacity, 0.5);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dropzone {\n transition: none;\n }\n}\n","import {\n composeDescribedBy,\n fileKey,\n fileLimitsHint,\n formatFileSize,\n mergeFileSelection,\n validateFileSelection,\n} from '@pitchfork-ui/core';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { applyControlValidity } from '../../form-validity';\n\n/**\n * A form-associated file picker with a dropzone.\n *\n * All of the rules are core's — how a size is written, what makes two\n * selections the same file, which files a selection leaves you with, what is\n * wrong with the result and how the limits are described — so this and the\n * React `FileUploader` cannot drift on any of them.\n *\n * It deliberately has **no Angular `ControlValueAccessor`**. The generator\n * offers accessors that write `value`, a number or `checked`, and this\n * control's value is a `File[]`: a text accessor would store `[object File]`.\n * An Angular consumer binds `[files]` and `(pfChange)`, and the submission\n * still works, because that goes through `ElementInternals` rather than\n * through the accessor.\n *\n * @part field - the wrapper around label, dropzone and messages.\n * @part label - the label element.\n * @part dropzone - the button that opens the picker and takes the drop.\n * @part icon - the dropzone's icon.\n * @part list - the list of chosen files.\n * @part file - one row of that list.\n * @part remove - a row's remove button.\n * @part description - the hint text.\n * @part error - the error message.\n */\n@Component({\n tag: 'pf-file-uploader',\n styleUrl: 'pf-file-uploader.css',\n formAssociated: true,\n shadow: true,\n})\nexport class PfFileUploader {\n @AttachInternals() internals!: ElementInternals;\n\n @Element() el!: HTMLElement;\n\n /**\n * Submitted under this name.\n *\n * Reflected, because a form-associated custom element takes its submission\n * name from the `name` content attribute rather than from this property.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The files chosen. A property only — there is no attribute that could\n * carry a `File`.\n */\n @Prop({ mutable: true }) files: File[] = [];\n\n /** The `accept` list, in the form an `<input type=\"file\">` takes. */\n @Prop() accept?: string;\n\n @Prop({ reflect: true }) multiple = true;\n\n /** The most files that may be held at once. */\n @Prop() maxFiles?: number;\n\n /** The largest any one file may be, in bytes. */\n @Prop() maxFileSize?: number;\n\n @Prop() label?: string;\n\n @Prop() description?: string;\n\n /** Error message from the consumer. Its presence marks the control invalid. */\n @Prop() error?: string;\n\n @Prop({ reflect: true }) required = false;\n\n @Prop({ reflect: true }) disabled = false;\n\n /** Fires when the files held change, however they changed. */\n @Event() pfChange!: EventEmitter<{ files: File[] }>;\n\n /** Fires when a selection is refused, with the reason shown to the person. */\n @Event() pfReject!: EventEmitter<{ message: string }>;\n\n /** The uploader's own complaint about the last selection. */\n @State() rejection?: string;\n\n /**\n * How deep the drag is.\n *\n * A counter rather than a boolean: `dragenter` and `dragleave` both bubble\n * from the dropzone's own children, so moving the pointer from the icon to\n * the title fires a leave and then an enter and a boolean flickers off. The\n * React `FileUploader` has that flicker.\n */\n @State() dragDepth = 0;\n\n /** What a form reset restores, captured before `files` can be replaced. */\n private initialFiles: File[] = [];\n\n private input?: HTMLInputElement;\n\n componentWillLoad() {\n this.initialFiles = [...(this.files ?? [])];\n this.syncFormState();\n }\n\n @Watch('files')\n @Watch('error')\n @Watch('required')\n // The uploader's own complaint is a real constraint failure, not only a\n // message, so the validity has to follow it as well as the consumer's.\n @Watch('rejection')\n syncFormState() {\n const held = this.files ?? [];\n\n /*\n * A `FormData` rather than a string, because one control here submits one\n * entry per file — which is how a native multi-file input submits, and\n * the only shape a server handling the form can use. `setFormValue`\n * ignores the element's own `name` attribute when handed a `FormData`, so\n * the key has to be built into it.\n */\n if (this.name && held.length > 0) {\n const data = new FormData();\n for (const file of held) data.append(this.name, file);\n this.internals.setFormValue(data);\n } else {\n // `null`, not an empty string: a file input with nothing chosen is\n // absent from the submission entirely.\n this.internals.setFormValue(null);\n }\n\n applyControlValidity(\n this.internals,\n held.length > 0,\n this.required,\n this.error ?? this.rejection,\n );\n }\n\n @Method()\n async checkValidity(): Promise<boolean> {\n return this.internals.checkValidity();\n }\n\n @Method()\n async reportValidity(): Promise<boolean> {\n return this.internals.reportValidity();\n }\n\n @Method()\n async getValidationMessage(): Promise<string> {\n return this.internals.validationMessage;\n }\n\n /** Opens the file picker, as clicking the dropzone does. */\n @Method()\n async open() {\n if (!this.disabled) this.input?.click();\n }\n\n /**\n * A reset restores the files the control started with, not an empty list —\n * the rule a native `<input value=\"initial\">` follows.\n */\n formResetCallback() {\n this.files = [...this.initialFiles];\n this.rejection = undefined;\n this.dragDepth = 0;\n }\n\n private get limits() {\n return { maxFiles: this.maxFiles, maxFileSize: this.maxFileSize, accept: this.accept };\n }\n\n private addFiles(selected: FileList | null) {\n if (!selected || this.disabled) return;\n\n const next = mergeFileSelection(this.files ?? [], Array.from(selected), {\n multiple: this.multiple,\n });\n\n /*\n * `accept` is checked here as well as set on the input, because the\n * attribute filters the *picker* and nothing else: a dropped file passes\n * no filter at all.\n */\n const rejection = validateFileSelection(next, this.limits);\n\n /*\n * The input is cleared whichever way this goes. A file input fires no\n * `change` for an identical selection, so a rejected value left in place\n * means picking the same file again does nothing and the message stands\n * with no way to retry.\n */\n if (this.input) this.input.value = '';\n\n if (rejection) {\n this.rejection = rejection;\n this.pfReject.emit({ message: rejection });\n return;\n }\n\n this.rejection = undefined;\n this.files = next;\n this.pfChange.emit({ files: next });\n }\n\n private removeAt(index: number) {\n if (this.disabled) return;\n const next = (this.files ?? []).filter((_, position) => position !== index);\n this.rejection = undefined;\n this.files = next;\n this.pfChange.emit({ files: next });\n }\n\n private onDragEnter = (event: DragEvent) => {\n event.preventDefault();\n if (this.disabled) return;\n this.dragDepth += 1;\n };\n\n private onDragLeave = (event: DragEvent) => {\n event.preventDefault();\n this.dragDepth = Math.max(0, this.dragDepth - 1);\n };\n\n private onDrop = (event: DragEvent) => {\n event.preventDefault();\n this.dragDepth = 0;\n this.addFiles(event.dataTransfer?.files ?? null);\n };\n\n render() {\n const held = this.files ?? [];\n const message = this.error ?? this.rejection;\n const hint = fileLimitsHint(this.accept, this.limits);\n const describedBy = composeDescribedBy(\n this.description && 'description',\n message && 'error',\n hint && 'hint',\n );\n\n return (\n <Host>\n <div class=\"field\" part=\"field\">\n {this.label && (\n <label class=\"label\" part=\"label\" htmlFor=\"dropzone\">\n {this.label}\n {this.required && (\n <span class=\"required\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n {/*\n The input is in this shadow root, so it reaches no surrounding\n form of its own — and is given no `name` for that reason. The\n submission comes from `setFormValue` above.\n */}\n <input\n ref={(node) => (this.input = node)}\n id=\"input\"\n class=\"input\"\n type=\"file\"\n accept={this.accept}\n multiple={this.multiple}\n disabled={this.disabled}\n tabindex={-1}\n aria-hidden=\"true\"\n onChange={(event) => this.addFiles((event.target as HTMLInputElement).files)}\n />\n\n <button\n id=\"dropzone\"\n type=\"button\"\n class={{\n dropzone: true,\n 'dropzone--active': this.dragDepth > 0,\n 'dropzone--invalid': Boolean(message),\n }}\n part=\"dropzone\"\n disabled={this.disabled}\n aria-invalid={message ? 'true' : null}\n aria-describedby={describedBy}\n onClick={() => this.open()}\n onDragEnter={this.onDragEnter}\n onDragOver={(event: DragEvent) => event.preventDefault()}\n onDragLeave={this.onDragLeave}\n onDrop={this.onDrop}\n >\n <span class=\"icon\" part=\"icon\" aria-hidden=\"true\">\n <pf-icon name=\"file-arrow-up\"></pf-icon>\n </span>\n <span class=\"title\">Upload files</span>\n <span class=\"subtitle\">Drag and drop files here, or click to browse.</span>\n {hint && (\n <span class=\"hint\" id=\"hint\">\n {hint}\n </span>\n )}\n </button>\n\n {held.length > 0 && (\n <ul class=\"list\" part=\"list\" aria-label=\"Selected files\">\n {held.map((file, index) => (\n <li class=\"file\" part=\"file\" key={fileKey(file)}>\n <span class=\"meta\">\n <span class=\"file-name\">{file.name}</span>\n <span class=\"file-size\">{formatFileSize(file.size)}</span>\n </span>\n <button\n type=\"button\"\n class=\"remove\"\n part=\"remove\"\n aria-label={`Remove ${file.name}`}\n disabled={this.disabled}\n onClick={() => this.removeAt(index)}\n >\n <pf-icon name=\"circle-xmark\" aria-hidden=\"true\"></pf-icon>\n </button>\n </li>\n ))}\n </ul>\n )}\n\n {this.description && (\n <p class=\"description\" part=\"description\" id=\"description\">\n {this.description}\n </p>\n )}\n\n {message && (\n <p class=\"error\" part=\"error\" id=\"error\">\n {message}\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,a,h as s,H as r}from"./p-Bm6UxEit.js";function o(e,t){if(e?.key!==t)return{key:t,direction:"asc"};return{key:t,direction:e.direction==="asc"?"desc":"asc"}}function i(e,t){if(e?.key!==t)return"none";return e.direction==="asc"?"ascending":"descending"}const n=()=>`:host{background:var(--pf-table-bg);border:1px solid var(--pf-table-border);border-radius:var(--radius-md);display:block;overflow:auto}:host([hidden]){display:none}:host{--pf-table-cell-padding-block:14px;--pf-table-head-position:static;--pf-table-row-stripe:transparent;--pf-table-row-hover:transparent}:host([dense]){--pf-table-cell-padding-block:var(--space-3)}:host([sticky-header]){--pf-table-head-position:sticky}:host([striped]){--pf-table-row-stripe:color-mix(in srgb, var(--pf-table-bg-subtle) 55%, transparent)}:host([hoverable]){--pf-table-row-hover:color-mix(in srgb, var(--pf-table-bg-subtle) 70%, transparent)}.caption{align-items:center;border-bottom:1px solid var(--pf-table-border);color:var(--pf-table-text-muted);display:flex;font-size:var(--font-size-sm);min-height:56px;padding:var(--space-3) var(--space-4)}.caption.empty{display:none}.table{border-collapse:separate;border-spacing:0;display:table;min-width:620px;width:100%}.empty{caption-side:bottom;color:var(--pf-table-text-muted);display:table-caption;font-size:var(--font-size-sm);padding:var(--pf-table-cell-padding-block) var(--space-3);text-align:center}@media (min-width: 768px){.empty{padding-inline:var(--space-4)}}`;const c=class{constructor(a){e(this,a);this.pfSortChange=t(this,"pfSortChange")}get el(){return a(this)}dense=false;striped=false;hoverable=true;stickyHeader=false;sortKey;sortDirection="asc";label;pfSortChange;isEmpty=false;hasCaption=false;componentWillLoad(){this.sync()}componentDidLoad(){this.sync()}handleSortChange(){this.sync()}async refresh(){this.sync()}get rows(){return Array.from(this.el.querySelectorAll("pf-table-row")).filter((e=>e.parentElement===this.el))}isHead(e){return e.head??e.hasAttribute("head")}sync(){const e=this.rows;const t=e.filter((e=>!this.isHead(e)));this.isEmpty=t.length===0;this.hasCaption=Array.from(this.el.children).some((e=>e.getAttribute("slot")==="caption"));for(const[e,a]of t.entries()){const s=a;s.odd=e%2===1;s.last=e===t.length-1}const a=this.sortKey===undefined?undefined:{key:this.sortKey,direction:this.sortDirection};for(const t of e.filter((e=>this.isHead(e)))){for(const e of Array.from(t.querySelectorAll("pf-table-cell"))){const t=e;const s=e.sortKey;t.sort=s?i(a,s):"none"}}}handleSort(e){e.stopPropagation();const t=this.sortKey===undefined?undefined:{key:this.sortKey,direction:this.sortDirection};const a=o(t,e.detail.key);this.sortKey=a.key;this.sortDirection=a.direction;this.sync();this.pfSortChange.emit(a)}render(){return s(r,{key:"ee37a1921fc3c15710ec40a9844c4b2853efeecd"},s("div",{key:"ff1f94910828762a875636ff68e6dd60facaf495",class:{caption:true,empty:!this.hasCaption},part:"caption"},s("slot",{key:"f00c8a4351194b4af24c78dbdddbb66bcbdb9b57",name:"caption",onSlotchange:()=>this.refresh()})),s("div",{key:"28f6a3886f9452a0b36603d6d052dc1048045282",class:"table",part:"table",role:"table","aria-label":this.label},s("slot",{key:"17c9ce7882488a06f7b0a74c473cb60939883905",onSlotchange:()=>this.refresh()}),this.isEmpty&&s("div",{key:"4171c08a6fa2ad54b18431b9ea279517385970bf",class:"empty",part:"empty",role:"row"},s("span",{key:"a0b1638b64394db3cdcd4a29fabe77fbe4b6e222",role:"cell"},s("slot",{key:"9b0d26c64c13e136bc8f3a05b0bbfec8c750833d",name:"empty"},"No data available.")))))}static get watchers(){return{sortKey:[{handleSortChange:0}],sortDirection:[{handleSortChange:0}]}}};c.style=n();export{c as pf_table};
2
+ //# sourceMappingURL=p-068baf6d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nextSortState","current","key","direction","ariaSortFor","pfTableCss","PfTable","dense","striped","hoverable","stickyHeader","sortKey","sortDirection","label","pfSortChange","isEmpty","hasCaption","componentWillLoad","this","sync","componentDidLoad","handleSortChange","refresh","rows","Array","from","el","querySelectorAll","filter","row","parentElement","isHead","head","hasAttribute","bodyRows","length","children","some","child","getAttribute","index","entries","node","odd","last","undefined","candidate","cell","sort","handleSort","event","stopPropagation","next","detail","emit","render","h","Host","class","caption","empty","part","name","onSlotchange","role"],"sources":["../core/dist/table.js","src/components/pf-table/pf-table.css?tag=pf-table&encapsulation=shadow","src/components/pf-table/pf-table.tsx"],"sourcesContent":["//#region src/table.ts\n/**\n* Normalises a cell's value to something comparable: a `Date` becomes its\n* time, a number stays one, and everything else becomes text — with nothing\n* at all becoming the empty string, so a missing cell sorts to one end rather\n* than throwing.\n*/\nfunction normalizeSortValue(value) {\n\tif (value instanceof Date) return value.getTime();\n\tif (typeof value === \"number\") return value;\n\treturn value === null || value === void 0 ? \"\" : String(value);\n}\n/**\n* Compares two cell values in `direction`.\n*\n* Two numbers compare numerically; anything else goes through\n* `localeCompare` with `numeric: true` and a base sensitivity, which is what\n* sorts \"Item 2\" before \"Item 10\" and ignores case and accents. The two rules\n* together are why this is shared: a table that collated differently from its\n* own documentation would be worse than one that did not sort at all.\n*/\nfunction compareSortValues(left, right, direction = \"asc\") {\n\tconst factor = direction === \"asc\" ? 1 : -1;\n\tconst a = normalizeSortValue(left);\n\tconst b = normalizeSortValue(right);\n\tif (typeof a === \"number\" && typeof b === \"number\") return (a - b) * factor;\n\treturn String(a).localeCompare(String(b), void 0, {\n\t\tnumeric: true,\n\t\tsensitivity: \"base\"\n\t}) * factor;\n}\n/**\n* The sort state a click on `key` produces.\n*\n* A new column starts ascending — which is what a reader expects of a column\n* they have just asked about — and clicking the current column turns it round.\n*/\nfunction nextSortState(current, key) {\n\tif (current?.key !== key) return {\n\t\tkey,\n\t\tdirection: \"asc\"\n\t};\n\treturn {\n\t\tkey,\n\t\tdirection: current.direction === \"asc\" ? \"desc\" : \"asc\"\n\t};\n}\n/** The `aria-sort` value for a column, given the table's sort state. */\nfunction ariaSortFor(current, key) {\n\tif (current?.key !== key) return \"none\";\n\treturn current.direction === \"asc\" ? \"ascending\" : \"descending\";\n}\n/**\n* Sorts rows by a column, without disturbing the array it was given.\n*\n* `getValue` is the caller's, because only it knows where a cell's value\n* lives — a row object's key in React, a cell element's text in the custom\n* element.\n*/\nfunction sortRowsBy(rows, getValue, direction) {\n\treturn [...rows].sort((left, right) => compareSortValues(getValue(left), getValue(right), direction));\n}\n//#endregion\nexport { ariaSortFor, compareSortValues, nextSortState, normalizeSortValue, sortRowsBy };\n",":host {\n background: var(--pf-table-bg);\n border: 1px solid var(--pf-table-border);\n border-radius: var(--radius-md);\n display: block;\n overflow: auto;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/*\n * The cells read these rather than being told: a custom property inherits\n * through the shadow boundary, so one declaration here reaches every cell in\n * every row without the table walking them. The pf-option bridge again.\n */\n:host {\n --pf-table-cell-padding-block: 14px;\n --pf-table-head-position: static;\n --pf-table-row-stripe: transparent;\n --pf-table-row-hover: transparent;\n}\n\n:host([dense]) {\n --pf-table-cell-padding-block: var(--space-3);\n}\n\n:host([sticky-header]) {\n --pf-table-head-position: sticky;\n}\n\n:host([striped]) {\n --pf-table-row-stripe: color-mix(in srgb, var(--pf-table-bg-subtle) 55%, transparent);\n}\n\n:host([hoverable]) {\n --pf-table-row-hover: color-mix(in srgb, var(--pf-table-bg-subtle) 70%, transparent);\n}\n\n.caption {\n align-items: center;\n border-bottom: 1px solid var(--pf-table-border);\n color: var(--pf-table-text-muted);\n display: flex;\n font-size: var(--font-size-sm);\n min-height: 56px;\n padding: var(--space-3) var(--space-4);\n}\n\n/*\n * Hidden when nothing is slotted into it, from the class the component sets:\n * `:has(slot)` would always match, and two classes deep so this beats the\n * `display: flex` above whatever the order.\n */\n.caption.empty {\n display: none;\n}\n\n.table {\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n min-width: 620px;\n width: 100%;\n}\n\n/*\n * The one box in a CSS table that spans every column. There is no `colspan`\n * outside a real <table>, and a block child of a table box is wrapped in an\n * anonymous cell in the first column instead of stretching across.\n */\n.empty {\n caption-side: bottom;\n color: var(--pf-table-text-muted);\n display: table-caption;\n font-size: var(--font-size-sm);\n padding: var(--pf-table-cell-padding-block) var(--space-3);\n text-align: center;\n}\n\n@media (--md) {\n .empty {\n padding-inline: var(--space-4);\n }\n}\n","import { ariaSortFor, nextSortState, type SortDirection, type SortState } from '@pitchfork-ui/core';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\n/**\n * A table over `pf-table-row` and `pf-table-cell` children.\n *\n * **It reports a sort rather than performing one.** The rows are the\n * consumer's — they wrote the loop — and reordering them would mean moving\n * elements in their DOM, which their framework would undo on its next render\n * and which would break its reconciliation on the way. So this element owns\n * the header buttons, `aria-sort` and the indicator, and emits `pfSortChange`\n * for the consumer to sort their own data with. `compareSortValues` and\n * `sortRowsBy` are in core precisely so that the order they produce matches\n * the React `Table`, which does sort for itself.\n *\n * The layout is CSS tables rather than a grid, which is what lets a row be a\n * box: a grid needs its rows to be `display: contents` for the cells to line\n * up in columns, and an element with no box takes no `:hover` and no\n * background — so striping and row hover would both have to be pushed down in\n * JS. `display: table-row` gives them for nothing, and column widths size\n * themselves.\n *\n * @slot caption - a heading above the table.\n * @slot - the `pf-table-row` children.\n * @slot empty - what to show when there are no body rows.\n * @part caption - the caption's box.\n * @part table - the table itself.\n * @part empty - the box holding the empty slot.\n */\n@Component({\n tag: 'pf-table',\n styleUrl: 'pf-table.css',\n shadow: true,\n})\nexport class PfTable {\n @Element() el!: HTMLElement;\n\n /** Tighter rows. Reflected, and bridged down to the cells' padding. */\n @Prop({ reflect: true }) dense = false;\n\n /** Shade every other body row. Reflected, and bridged down. */\n @Prop({ reflect: true }) striped = false;\n\n /** Shade the row under the pointer. Reflected, and bridged down. */\n @Prop({ reflect: true }) hoverable = true;\n\n /** Keep the header visible while the body scrolls. Reflected and bridged. */\n @Prop({ reflect: true }) stickyHeader = false;\n\n /** The column being sorted on, by its `sort-key`. */\n @Prop({ mutable: true, reflect: true }) sortKey?: string;\n\n /** Which way that column is sorted. */\n @Prop({ mutable: true, reflect: true }) sortDirection: SortDirection = 'asc';\n\n /** The table's accessible name, for a table whose caption is not enough. */\n @Prop() label?: string;\n\n /**\n * Fires when a header is clicked, with the sort the table has moved to.\n * Sorting the rows is the consumer's to do.\n */\n @Event() pfSortChange!: EventEmitter<SortState>;\n\n /** Whether there are any body rows, which decides the empty state. */\n @State() isEmpty = false;\n\n /**\n * Whether anything is slotted into the caption, which decides whether its\n * box is drawn. Asked in JS because a box around a slot cannot be collapsed\n * from CSS: `:has(slot)` always matches, since the slot is itself a child.\n */\n @State() hasCaption = false;\n\n /** The light DOM is readable here, so first paint is already right. */\n componentWillLoad() {\n this.sync();\n }\n\n componentDidLoad() {\n this.sync();\n }\n\n @Watch('sortKey')\n @Watch('sortDirection')\n handleSortChange() {\n this.sync();\n }\n\n /** Re-reads the rows, for a consumer who changed one through a property. */\n @Method()\n async refresh() {\n this.sync();\n }\n\n /** Direct children only: a nested table owns its own rows. */\n private get rows(): HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('pf-table-row')).filter(\n (row) => row.parentElement === this.el,\n );\n }\n\n private isHead(row: HTMLElement) {\n return (row as HTMLElement & { head?: boolean }).head ?? row.hasAttribute('head');\n }\n\n private sync() {\n const rows = this.rows;\n const bodyRows = rows.filter((row) => !this.isHead(row));\n this.isEmpty = bodyRows.length === 0;\n\n this.hasCaption = Array.from(this.el.children).some(\n (child) => child.getAttribute('slot') === 'caption',\n );\n\n /*\n * Striping and the last row are the table's to work out: a row cannot\n * count its siblings without assuming where the header is, and the last\n * body row is the one whose cells drop their bottom border so the rule\n * does not double up with the table's own.\n */\n for (const [index, row] of bodyRows.entries()) {\n const node = row as HTMLElement & { odd: boolean; last: boolean };\n node.odd = index % 2 === 1;\n node.last = index === bodyRows.length - 1;\n }\n\n const current: SortState | undefined =\n this.sortKey === undefined ? undefined : { key: this.sortKey, direction: this.sortDirection };\n\n for (const row of rows.filter((candidate) => this.isHead(candidate))) {\n for (const cell of Array.from(row.querySelectorAll<HTMLElement>('pf-table-cell'))) {\n const node = cell as HTMLElement & { sort: 'ascending' | 'descending' | 'none' };\n const key = (cell as HTMLElement & { sortKey?: string }).sortKey;\n node.sort = key ? ariaSortFor(current, key) : 'none';\n }\n }\n }\n\n /**\n * A header asking to sort. The table decides which way — core's rule: a new\n * column starts ascending and the current one turns round — and reports it.\n */\n @Listen('pfTableSort')\n handleSort(event: CustomEvent<{ key: string }>) {\n event.stopPropagation();\n\n const current: SortState | undefined =\n this.sortKey === undefined ? undefined : { key: this.sortKey, direction: this.sortDirection };\n const next = nextSortState(current, event.detail.key);\n\n this.sortKey = next.key;\n this.sortDirection = next.direction;\n this.sync();\n this.pfSortChange.emit(next);\n }\n\n render() {\n return (\n <Host>\n <div class={{ caption: true, empty: !this.hasCaption }} part=\"caption\">\n <slot name=\"caption\" onSlotchange={() => this.refresh()} />\n </div>\n <div class=\"table\" part=\"table\" role=\"table\" aria-label={this.label}>\n <slot onSlotchange={() => this.refresh()} />\n {/*\n `display: table-caption` with `caption-side: bottom`, which is the\n one box in a CSS table that spans every column — there is no\n `colspan` outside a real <table>. It stays inside the role=\"table\"\n element, so a screen reader still finds it in the table.\n */}\n {this.isEmpty && (\n <div class=\"empty\" part=\"empty\" role=\"row\">\n <span role=\"cell\">\n <slot name=\"empty\">No data available.</slot>\n </span>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"2DAqCA,SAASA,EAAcC,EAASC,GAC/B,GAAID,GAASC,MAAQA,EAAK,MAAO,CAChCA,MACAC,UAAW,OAEZ,MAAO,CACND,MACAC,UAAWF,EAAQE,YAAc,MAAQ,OAAS,MAEpD,CAEA,SAASC,EAAYH,EAASC,GAC7B,GAAID,GAASC,MAAQA,EAAK,MAAO,OACjC,OAAOD,EAAQE,YAAc,MAAQ,YAAc,YACpD,CCnDA,MAAME,EAAa,IAAM,krC,MC8CZC,EAAO,M,0FAIOC,MAAQ,MAGRC,QAAU,MAGVC,UAAY,KAGZC,aAAe,MAGAC,QAGAC,cAA+B,MAG/DC,MAMCC,aAGAC,QAAU,MAOVC,WAAa,MAGtB,iBAAAC,GACEC,KAAKC,M,CAGP,gBAAAC,GACEF,KAAKC,M,CAKP,gBAAAE,GACEH,KAAKC,M,CAKP,aAAMG,GACJJ,KAAKC,M,CAIP,QAAYI,GACV,OAAOC,MAAMC,KAAKP,KAAKQ,GAAGC,iBAA8B,iBAAiBC,QACtEC,GAAQA,EAAIC,gBAAkBZ,KAAKQ,I,CAIhC,MAAAK,CAAOF,GACb,OAAQA,EAAyCG,MAAQH,EAAII,aAAa,O,CAGpE,IAAAd,GACN,MAAMI,EAAOL,KAAKK,KAClB,MAAMW,EAAWX,EAAKK,QAAQC,IAASX,KAAKa,OAAOF,KACnDX,KAAKH,QAAUmB,EAASC,SAAW,EAEnCjB,KAAKF,WAAaQ,MAAMC,KAAKP,KAAKQ,GAAGU,UAAUC,MAC5CC,GAAUA,EAAMC,aAAa,UAAY,YAS5C,IAAK,MAAOC,EAAOX,KAAQK,EAASO,UAAW,CAC7C,MAAMC,EAAOb,EACba,EAAKC,IAAMH,EAAQ,IAAM,EACzBE,EAAKE,KAAOJ,IAAUN,EAASC,OAAS,C,CAG1C,MAAMlC,EACJiB,KAAKP,UAAYkC,UAAYA,UAAY,CAAE3C,IAAKgB,KAAKP,QAASR,UAAWe,KAAKN,eAEhF,IAAK,MAAMiB,KAAON,EAAKK,QAAQkB,GAAc5B,KAAKa,OAAOe,KAAa,CACpE,IAAK,MAAMC,KAAQvB,MAAMC,KAAKI,EAAIF,iBAA8B,kBAAmB,CACjF,MAAMe,EAAOK,EACb,MAAM7C,EAAO6C,EAA4CpC,QACzD+B,EAAKM,KAAO9C,EAAME,EAAYH,EAASC,GAAO,M,GAUpD,UAAA+C,CAAWC,GACTA,EAAMC,kBAEN,MAAMlD,EACJiB,KAAKP,UAAYkC,UAAYA,UAAY,CAAE3C,IAAKgB,KAAKP,QAASR,UAAWe,KAAKN,eAChF,MAAMwC,EAAOpD,EAAcC,EAASiD,EAAMG,OAAOnD,KAEjDgB,KAAKP,QAAUyC,EAAKlD,IACpBgB,KAAKN,cAAgBwC,EAAKjD,UAC1Be,KAAKC,OACLD,KAAKJ,aAAawC,KAAKF,E,CAGzB,MAAAG,GACE,OACEC,EAACC,EAAI,CAAAvD,IAAA,4CACHsD,EAAA,OAAAtD,IAAA,2CAAKwD,MAAO,CAAEC,QAAS,KAAMC,OAAQ1C,KAAKF,YAAc6C,KAAK,WAC3DL,EAAA,QAAAtD,IAAA,2CAAM4D,KAAK,UAAUC,aAAc,IAAM7C,KAAKI,aAEhDkC,EAAA,OAAAtD,IAAA,2CAAKwD,MAAM,QAAQG,KAAK,QAAQG,KAAK,QAAO,aAAa9C,KAAKL,OAC5D2C,EAAA,QAAAtD,IAAA,2CAAM6D,aAAc,IAAM7C,KAAKI,YAO9BJ,KAAKH,SACJyC,EAAA,OAAAtD,IAAA,2CAAKwD,MAAM,QAAQG,KAAK,QAAQG,KAAK,OACnCR,EAAA,QAAAtD,IAAA,2CAAM8D,KAAK,QACTR,EAAA,QAAAtD,IAAA,2CAAM4D,KAAK,SAAO,yB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as a}from"./p-Bm6UxEit.js";const s=()=>`:host{color:var(--pf-tabs-text);display:block;line-height:1.5;min-width:0}:host([hidden]){display:none}`;const c=class{constructor(t){e(this,t)}value="";active=false;render(){return t(a,{key:"875b1e6db69fd49e1ffdeacb30eaa15fbd07a43e",role:"tabpanel",hidden:!this.active,tabindex:this.active?"0":null},t("slot",{key:"d5faccfbb49cc060fc64e1bf533ec85091842524"}))}};c.style=s();export{c as pf_tab_panel};
2
+ //# sourceMappingURL=p-0bbec059.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfTabPanelCss","PfTabPanel","value","active","render","h","Host","key","role","hidden","this","tabindex"],"sources":["src/components/pf-tab-panel/pf-tab-panel.css?tag=pf-tab-panel&encapsulation=shadow","src/components/pf-tab-panel/pf-tab-panel.tsx"],"sourcesContent":[":host {\n color: var(--pf-tabs-text);\n display: block;\n line-height: 1.5;\n min-width: 0;\n}\n\n/*\n * The group hides the panels that are not on show with `hidden`, so this is\n * the rule that does the hiding -- `:host` above would otherwise override the\n * UA stylesheet's `display: none` for `[hidden]`.\n */\n:host([hidden]) {\n display: none;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * One panel inside a `pf-tabs`, shown when the `pf-tab` carrying the same\n * `value` is selected.\n *\n * A sibling of its tab rather than a child of it, so that both live in the\n * consumer's tree: that is what lets the group point `aria-controls` at this\n * panel and `aria-labelledby` back at the tab, since a same-root IDREF is the\n * one that resolves.\n *\n * @slot - the panel's content.\n */\n@Component({\n tag: 'pf-tab-panel',\n styleUrl: 'pf-tab-panel.css',\n shadow: true,\n})\nexport class PfTabPanel {\n /**\n * Pairs the panel with its tab.\n *\n * Reflected because the generated bindings set props as properties, so\n * without it a consumer selecting `pf-tab-panel[value=\"...\"]` in a React or\n * Angular app finds nothing. The group reads the property.\n */\n @Prop({ reflect: true }) value = '';\n\n /** Set by the group: whether this is the panel on show. Reflected. */\n @Prop({ mutable: true, reflect: true }) active = false;\n\n render() {\n return (\n <Host\n role=\"tabpanel\"\n /*\n * `hidden` as well as the reflected `active`, because it hides the\n * panel through the UA stylesheet — so a consumer who has not loaded\n * this package's CSS still sees one panel rather than all of them.\n *\n * `false` is safe here although `hidden=\"false\"` would still hide the\n * element: Stencil writes an attribute it finds as a *property* on the\n * host, and `el.hidden = false` removes it. Measured both ways, in the\n * mock DOM and in Chromium.\n */\n hidden={!this.active}\n tabindex={this.active ? '0' : null}\n >\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAgB,IAAM,0G,MCkBfC,EAAU,M,yBAQIC,MAAQ,GAGOC,OAAS,MAEjD,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAK,WAWLC,QAASC,KAAKP,OACdQ,SAAUD,KAAKP,OAAS,IAAM,MAE9BE,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as r}from"./p-Bm6UxEit.js";const o=()=>`:host{display:flex;gap:var(--space-3)}:host([hidden]){display:none}:host([orientation='horizontal']){align-items:center;flex-direction:column;gap:var(--space-2)}:host([orientation='vertical']){align-items:flex-start;position:relative}.marker-wrap{align-items:center;display:flex;flex:0 0 auto}:host([orientation='horizontal']) .marker-wrap{justify-content:center}@media (min-width: 640px){:host([orientation='horizontal']) .marker-wrap{flex:1;position:relative;width:100%}}:host([orientation='vertical']) .marker-wrap{align-items:center;flex-direction:column}.marker{align-items:center;background:var(--pf-progress-steps-bg);border:1px solid var(--pf-progress-steps-border);border-radius:var(--radius-full);color:var(--pf-progress-steps-text-muted);display:inline-flex;flex:0 0 auto;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);height:28px;justify-content:center;position:relative;width:28px;z-index:1;transition:background-color var(--pf-transition-medium), border-color var(--pf-transition-medium), color var(--pf-transition-medium), box-shadow var(--pf-transition-medium)}.connector{background:var(--pf-progress-steps-border);display:block;flex:1;margin-inline-start:var(--space-2);transition:background-color var(--pf-transition-slow)}:host([orientation='horizontal']) .connector{display:none}@media (min-width: 640px){:host([orientation='horizontal']) .connector{display:block;height:1px;left:50%;margin-inline-start:0;position:absolute;top:50%;transform:translateY(-50%);width:calc(100% + var(--pf-progresssteps-progress-step-gap, var(--pf-progress-step-gap)));z-index:0}}:host([orientation='vertical']) .connector{bottom:calc(var(--space-3) * -1);inset-inline-start:14px;margin:0;position:absolute;top:28px;width:1px}.content{min-width:0}:host([orientation='horizontal']) .content{text-align:center}.title{color:var(--pf-progress-steps-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:var(--space-1) 0 0;transition:color var(--pf-transition-medium)}slot[name='description']::slotted(*){color:var(--pf-progress-steps-text-muted);display:block;font-size:var(--font-size-sm);line-height:1.4;margin:var(--space-1) 0 0}:host([state='complete']) .marker{background:var(--pf-progress-steps-complete-bg);border-color:var(--pf-progress-steps-complete-border);color:var(--pf-progress-steps-complete-text)}:host([state='current']) .marker{background:var(--pf-progress-steps-current-bg);border-color:var(--pf-progress-steps-current-border);box-shadow:var(--pf-focus-ring);color:var(--pf-progress-steps-current-text)}:host([state='complete']) .connector{background:var(--pf-progress-steps-complete-border)}:host([state='current']) .title{color:var(--pf-progress-steps-current-title)}@media (prefers-reduced-motion: reduce){.marker,.connector,.title{transition:none}}`;const a=class{constructor(t){e(this,t)}status;state="upcoming";position=1;last=false;orientation="horizontal";render(){return t(r,{key:"178b256dfa9df01c41cacddbd9e49c72beb2567f",role:"listitem","aria-current":this.state==="current"?"step":null},t("div",{key:"f8b100c14751727adaad8a604de7a900a7963086",class:"marker-wrap",part:"marker-wrap","aria-hidden":"true"},t("span",{key:"bcf15a8d42e80f56cd53da2a41513d90454d7c76",class:"marker",part:"marker"},this.position),!this.last&&t("span",{key:"eade849134d12e42e40cc8fb6dfe21c3c026ed5b",class:"connector",part:"connector"})),t("div",{key:"6b169c22f58a7c4eba922f19d969d7560fa71b9e",class:"content",part:"content"},t("p",{key:"b12aa29ae1dee718543f3ed7d586e2c901bb6562",class:"title",part:"title"},t("slot",{key:"a61cf4299dddc0e92a1b89cc6d21496b0519efef",name:"title"})),t("slot",{key:"b026c37e8600250f9df2e01b7704a60f0b876fd9",name:"description"})))}};a.style=o();export{a as pf_progress_step};
2
+ //# sourceMappingURL=p-1133b2fa.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfProgressStepCss","PfProgressStep","status","state","position","last","orientation","render","h","Host","key","role","this","class","part","name"],"sources":["src/components/pf-progress-step/pf-progress-step.css?tag=pf-progress-step&encapsulation=shadow","src/components/pf-progress-step/pf-progress-step.tsx"],"sourcesContent":[":host {\n display: flex;\n gap: var(--space-3);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([orientation='horizontal']) {\n align-items: center;\n flex-direction: column;\n gap: var(--space-2);\n}\n\n:host([orientation='vertical']) {\n align-items: flex-start;\n position: relative;\n}\n\n.marker-wrap {\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n}\n\n:host([orientation='horizontal']) .marker-wrap {\n justify-content: center;\n}\n\n@media (--sm) {\n :host([orientation='horizontal']) .marker-wrap {\n flex: 1;\n position: relative;\n width: 100%;\n }\n}\n\n:host([orientation='vertical']) .marker-wrap {\n align-items: center;\n flex-direction: column;\n}\n\n.marker {\n align-items: center;\n background: var(--pf-progress-steps-bg);\n border: 1px solid var(--pf-progress-steps-border);\n border-radius: var(--radius-full);\n color: var(--pf-progress-steps-text-muted);\n display: inline-flex;\n flex: 0 0 auto;\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-semibold);\n height: 28px;\n justify-content: center;\n position: relative;\n width: 28px;\n z-index: 1;\n /* The marker changes as the current step advances. */\n transition:\n background-color var(--pf-transition-medium),\n border-color var(--pf-transition-medium),\n color var(--pf-transition-medium),\n box-shadow var(--pf-transition-medium);\n}\n\n.connector {\n background: var(--pf-progress-steps-border);\n display: block;\n flex: 1;\n margin-inline-start: var(--space-2);\n /* The connector fills in as the step completes. */\n transition: background-color var(--pf-transition-slow);\n}\n\n:host([orientation='horizontal']) .connector {\n display: none;\n}\n\n@media (--sm) {\n :host([orientation='horizontal']) .connector {\n display: block;\n height: 1px;\n left: 50%;\n margin-inline-start: 0;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n /* Spans the group's own gap, which it reads through the bridge above. */\n width: calc(100% + var(--pf-progresssteps-progress-step-gap, var(--pf-progress-step-gap)));\n z-index: 0;\n }\n}\n\n:host([orientation='vertical']) .connector {\n bottom: calc(var(--space-3) * -1);\n inset-inline-start: 14px;\n margin: 0;\n position: absolute;\n top: 28px;\n width: 1px;\n}\n\n.content {\n min-width: 0;\n}\n\n:host([orientation='horizontal']) .content {\n text-align: center;\n}\n\n.title {\n color: var(--pf-progress-steps-text);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n margin: var(--space-1) 0 0;\n transition: color var(--pf-transition-medium);\n}\n\n/*\n * The description is styled through the slot rather than wrapped in a box of\n * its own, so that a step without one has no stray margin: a wrapper cannot be\n * collapsed from CSS, while an unassigned slot generates nothing at all.\n */\nslot[name='description']::slotted(*) {\n color: var(--pf-progress-steps-text-muted);\n display: block;\n font-size: var(--font-size-sm);\n line-height: 1.4;\n margin: var(--space-1) 0 0;\n}\n\n:host([state='complete']) .marker {\n background: var(--pf-progress-steps-complete-bg);\n border-color: var(--pf-progress-steps-complete-border);\n color: var(--pf-progress-steps-complete-text);\n}\n\n:host([state='current']) .marker {\n background: var(--pf-progress-steps-current-bg);\n border-color: var(--pf-progress-steps-current-border);\n /*\n * `--pf-focus-ring`, not the `--focus-ring-shadow` the React component asked\n * for: that one is defined nowhere, and an undefined custom property makes\n * the declaration invalid at computed-value time -- measured in Chromium,\n * `box-shadow: var(--focus-ring-shadow)` computes to `none`, so the ring had\n * never been drawn. Fixed in both layers.\n */\n box-shadow: var(--pf-focus-ring);\n color: var(--pf-progress-steps-current-text);\n}\n\n:host([state='complete']) .connector {\n background: var(--pf-progress-steps-complete-border);\n}\n\n:host([state='current']) .title {\n color: var(--pf-progress-steps-current-title);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .marker,\n .connector,\n .title {\n transition: none;\n }\n}\n","import type { StepStatus } from '@pitchfork-ui/core';\nimport { Component, h, Host, Prop } from '@stencil/core';\n\nimport type { PfProgressStepsOrientation } from '../pf-progress-steps/pf-progress-steps';\n\n/**\n * One step inside a `pf-progress-steps`.\n *\n * @slot title - the step's title.\n * @slot description - secondary text below the title.\n * @part marker-wrap - the box holding the marker and the connector.\n * @part marker - the numbered circle.\n * @part connector - the line to the next step. Absent on the last.\n * @part content - the box holding the title and description.\n * @part title - the title's box.\n */\n@Component({\n tag: 'pf-progress-step',\n styleUrl: 'pf-progress-step.css',\n shadow: true,\n})\nexport class PfProgressStep {\n /**\n * Set it to say where the trail has got to — usually `current` on one step,\n * and the group infers the rest.\n *\n * This is the *asking* half, which the group never writes; `state` below is\n * the answer. Keeping them apart is what lets the trail change: if the\n * answer were written back here, the first step of a trail that said nothing\n * would look explicitly `current`, and prepending a step would leave the\n * mark behind on it.\n */\n @Prop({ reflect: true }) status?: StepStatus;\n\n /**\n * Set by the group: the resolved status, which is what the stylesheet reads\n * and what carries `aria-current=\"step\"` for the one current step.\n */\n @Prop({ mutable: true, reflect: true }) state: StepStatus = 'upcoming';\n\n /** Set by the group: the step's number, counting from 1. */\n @Prop({ mutable: true }) position = 1;\n\n /** Set by the group: the last step draws no connector. */\n @Prop({ mutable: true, reflect: true }) last = false;\n\n /** Set by the group from its own `orientation`. Reflected for the stylesheet. */\n @Prop({ mutable: true, reflect: true }) orientation: PfProgressStepsOrientation = 'horizontal';\n\n render() {\n return (\n <Host role=\"listitem\" aria-current={this.state === 'current' ? 'step' : null}>\n {/* Decorative: the number repeats the step's position in the list. */}\n <div class=\"marker-wrap\" part=\"marker-wrap\" aria-hidden=\"true\">\n <span class=\"marker\" part=\"marker\">\n {this.position}\n </span>\n {!this.last && <span class=\"connector\" part=\"connector\" />}\n </div>\n\n <div class=\"content\" part=\"content\">\n <p class=\"title\" part=\"title\">\n <slot name=\"title\" />\n </p>\n {/*\n No wrapper around the description, deliberately: a box around a\n slot cannot be collapsed from CSS — `:not(:has(*))` never matches,\n because the slot is itself a child — so an empty one would leave\n its margin under every step without a description. An *unassigned*\n slot generates nothing, so the styling goes on `::slotted(*)` and\n the box goes away with the content.\n */}\n <slot name=\"description\" />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAoB,IAAM,kxF,MCqBnBC,EAAc,M,yBAWAC,OAMeC,MAAoB,WAGnCC,SAAW,EAGIC,KAAO,MAGPC,YAA0C,aAElF,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,WAAU,eAAeC,KAAKT,QAAU,UAAY,OAAS,MAEtEK,EAAA,OAAAE,IAAA,2CAAKG,MAAM,cAAcC,KAAK,cAAa,cAAa,QACtDN,EAAA,QAAAE,IAAA,2CAAMG,MAAM,SAASC,KAAK,UACvBF,KAAKR,WAENQ,KAAKP,MAAQG,EAAA,QAAAE,IAAA,2CAAMG,MAAM,YAAYC,KAAK,eAG9CN,EAAA,OAAAE,IAAA,2CAAKG,MAAM,UAAUC,KAAK,WACxBN,EAAA,KAAAE,IAAA,2CAAGG,MAAM,QAAQC,KAAK,SACpBN,EAAA,QAAAE,IAAA,2CAAMK,KAAK,WAUbP,EAAA,QAAAE,IAAA,2CAAMK,KAAK,iB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,a as e,h as t,H as n}from"./p-Bm6UxEit.js";import{r}from"./p-DToIJg5W.js";const s=()=>`:host{background:var(--pf-header-nav-bg);border:1px solid var(--pf-header-nav-border);border-radius:var(--pf-header-nav-radius, var(--radius-md));display:block;width:100%;--pf-nav-item-text:var(--pf-header-nav-text-muted);--pf-nav-item-hover-text:var(--pf-header-nav-text);--pf-nav-item-hover-bg:var(--pf-header-nav-bg-subtle);--pf-nav-item-current-text:var(--pf-header-nav-text);--pf-nav-item-current-bg:var(--pf-header-nav-bg-subtle)}:host([hidden]){display:none}.nav{align-items:center;display:grid;gap:var(--space-3);grid-template-columns:1fr;min-height:var(--pf-header-nav-min-height, 56px);padding:var(--space-3)}@media (min-width: 768px){.nav{grid-template-columns:auto 1fr auto;padding:0 var(--space-4)}}.brand{color:var(--pf-header-nav-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);white-space:nowrap}.list{align-items:center;display:flex;gap:var(--space-1);list-style:none;margin:0;overflow-x:auto;padding:0}.list slot{display:contents}.actions{align-items:center;display:inline-flex;gap:var(--space-2)}.brand.empty,.actions.empty{display:none}`;const i=class{constructor(e){a(this,e)}get el(){return e(this)}label="Header navigation";hasBrand=false;hasActions=false;componentWillLoad(){this.sync()}componentDidLoad(){this.sync()}handleStructureChange(a){a.stopPropagation();this.sync()}async refresh(){this.sync()}get items(){return Array.from(this.el.querySelectorAll("pf-nav-item")).filter((a=>a.parentElement===this.el))}isCurrent(a){return a.current??a.hasAttribute("current")}sync(){const a=a=>Array.from(this.el.children).some((e=>e.getAttribute("slot")===a));this.hasBrand=a("brand");this.hasActions=a("actions");const e=this.items;const t=r(e.map((a=>({current:this.isCurrent(a)}))));for(const[a,n]of e.entries()){const e=n;e.currentPage=a===t;e.orientation="horizontal"}}render(){return t(n,{key:"f3f8c91ba9eab4755b1e5e96adc7245e630bd7fa"},t("nav",{key:"7984894e4bcc395140ef229f351bbc037efa565e",class:"nav",part:"nav","aria-label":this.label},t("span",{key:"fc21f987ab7f5ac3c74779157f70a23c5375cb27",class:{brand:true,empty:!this.hasBrand},part:"brand"},t("slot",{key:"bb68a3a686be890c522671f3d6a569f438275631",name:"brand",onSlotchange:()=>this.refresh()})),t("ul",{key:"43f0bb0d2d82497373ac74bfda26d9e2e545932e",class:"list",part:"list"},t("slot",{key:"30be86d24556bd3521642ee79195a2af6a8c70c9",onSlotchange:()=>this.refresh()})),t("span",{key:"687115f0db5bb7f35a82bb1b5dd79234a0049c99",class:{actions:true,empty:!this.hasActions},part:"actions"},t("slot",{key:"f11f998414c8a424d64ddf759369a31b9ddbd0bb",name:"actions",onSlotchange:()=>this.refresh()}))))}};i.style=s();export{i as pf_header_navigation};
2
+ //# sourceMappingURL=p-19c0145c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfHeaderNavigationCss","PfHeaderNavigation","label","hasBrand","hasActions","componentWillLoad","this","sync","componentDidLoad","handleStructureChange","event","stopPropagation","refresh","items","Array","from","el","querySelectorAll","filter","item","parentElement","isCurrent","current","hasAttribute","slotted","name","children","some","child","getAttribute","currentIndex","resolveCurrentNavItem","map","index","entries","node","currentPage","orientation","render","h","Host","key","class","part","brand","empty","onSlotchange","actions"],"sources":["src/components/pf-header-navigation/pf-header-navigation.css?tag=pf-header-navigation&encapsulation=shadow","src/components/pf-header-navigation/pf-header-navigation.tsx"],"sourcesContent":[":host {\n background: var(--pf-header-nav-bg);\n border: 1px solid var(--pf-header-nav-border);\n border-radius: var(--pf-header-nav-radius, var(--radius-md));\n display: block;\n width: 100%;\n\n /*\n * The bridge to the shared item: custom properties inherit through a shadow\n * boundary, so a slotted `pf-nav-item` resolves these inside its own shadow\n * root. It is how one element serves two navigations without\n * `:host-context`, which Firefox does not support.\n */\n --pf-nav-item-text: var(--pf-header-nav-text-muted);\n --pf-nav-item-hover-text: var(--pf-header-nav-text);\n --pf-nav-item-hover-bg: var(--pf-header-nav-bg-subtle);\n --pf-nav-item-current-text: var(--pf-header-nav-text);\n --pf-nav-item-current-bg: var(--pf-header-nav-bg-subtle);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/* Mobile first: one column, the items wrapping under the brand. */\n.nav {\n align-items: center;\n display: grid;\n gap: var(--space-3);\n grid-template-columns: 1fr;\n min-height: var(--pf-header-nav-min-height, 56px);\n padding: var(--space-3);\n}\n\n@media (--md) {\n .nav {\n grid-template-columns: auto 1fr auto;\n padding: 0 var(--space-4);\n }\n}\n\n.brand {\n color: var(--pf-header-nav-text);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semibold);\n white-space: nowrap;\n}\n\n.list {\n align-items: center;\n display: flex;\n gap: var(--space-1);\n list-style: none;\n margin: 0;\n overflow-x: auto;\n padding: 0;\n}\n\n/*\n * The items have to be flex children of the list, not of a box inside it. The\n * UA stylesheet already gives a slot `display: contents`; this says so out\n * loud.\n */\n.list slot {\n display: contents;\n}\n\n.actions {\n align-items: center;\n display: inline-flex;\n gap: var(--space-2);\n}\n\n/*\n * Both classes rather than a bare `.empty`, so the rule does not depend on\n * sitting below the `display` a box sets on itself: specificity ties break on\n * source order, and `.empty` losing that way is how a bare `pf-metric-card`\n * came to draw all three of its boxes.\n */\n.brand.empty,\n.actions.empty {\n display: none;\n}\n","import { resolveCurrentNavItem } from '@pitchfork-ui/core';\nimport { Component, Element, h, Host, Listen, Method, Prop, State } from '@stencil/core';\n\n/**\n * A header navigation over `pf-nav-item` children.\n *\n * The group owns the one thing an item cannot know: which item is the current\n * page. Core's rule decides, so the React `HeaderNavigation` marks the same\n * one, and it is one index — which is what stops a navigation claiming two\n * current pages.\n *\n * The host is **not** a banner. The React component renders a `<header>`,\n * which is the banner landmark at the top level of a page, but an element\n * cannot know whether it is the page's header: a second banner is a defect,\n * not a decoration. So the shadow root renders only the `<nav>` landmark, and\n * a consumer who wants a banner puts this inside their own `<header>`.\n *\n * @slot - the `pf-nav-item` children.\n * @slot brand - a logo or product name, before the items.\n * @slot actions - controls after the items, such as a sign-in button.\n * @part nav - the navigation landmark.\n * @part brand - the brand's box.\n * @part list - the list the items are slotted into.\n * @part actions - the actions' box.\n */\n@Component({\n tag: 'pf-header-navigation',\n styleUrl: 'pf-header-navigation.css',\n shadow: true,\n})\nexport class PfHeaderNavigation {\n @Element() el!: HTMLElement;\n\n /** The navigation's accessible name. */\n @Prop() label = 'Header navigation';\n\n /**\n * Whether anything was slotted into `brand` and `actions`.\n *\n * Asked in JS because a wrapper around a slot cannot be collapsed from CSS\n * — `:not(:has(*))` never matches, since the `<slot>` is itself a child —\n * and these two boxes have to exist when they are used: they are grid\n * items, so an empty one still takes a column and a gap, which would push\n * every item along by one `--space-3` for no visible reason.\n */\n @State() hasBrand = false;\n @State() hasActions = false;\n\n /** The light DOM is readable here, so first paint is already right. */\n componentWillLoad() {\n this.sync();\n }\n\n componentDidLoad() {\n this.sync();\n }\n\n /**\n * An item's `current` changed, so the resolution has to run again.\n *\n * The items are this navigation's own light-DOM children, so nothing is\n * retargeted and a host listener is safe — the same reason the sidebar can\n * listen for a section's copy of this event. `refresh()` stays for a\n * consumer who changes something else the group reads.\n */\n @Listen('pfNavStructure')\n handleStructureChange(event: CustomEvent<void>) {\n event.stopPropagation();\n this.sync();\n }\n\n /**\n * Re-reads the items, for a consumer who changed something the group reads\n * and has no event for.\n */\n @Method()\n async refresh() {\n this.sync();\n }\n\n /** Direct children only: a nested navigation owns its own items. */\n private get items(): HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('pf-nav-item')).filter(\n (item) => item.parentElement === this.el,\n );\n }\n\n /**\n * The property if the item has upgraded, the attribute if it has not:\n * `componentWillLoad` can run before a child parsed from HTML upgrades.\n */\n private isCurrent(item: HTMLElement) {\n return (item as HTMLElement & { current?: boolean }).current ?? item.hasAttribute('current');\n }\n\n private sync() {\n /*\n * The children are read one by one rather than with a `:scope >`\n * selector, which Stencil's mock DOM does not support at all — it throws\n * from jQuery's selector engine rather than returning nothing.\n */\n const slotted = (name: string) =>\n Array.from(this.el.children).some((child) => child.getAttribute('slot') === name);\n\n this.hasBrand = slotted('brand');\n this.hasActions = slotted('actions');\n\n const items = this.items;\n const currentIndex = resolveCurrentNavItem(\n items.map((item) => ({ current: this.isCurrent(item) })),\n );\n\n for (const [index, item] of items.entries()) {\n const node = item as HTMLElement & { currentPage: boolean; orientation: string };\n node.currentPage = index === currentIndex;\n node.orientation = 'horizontal';\n }\n }\n\n render() {\n return (\n <Host>\n <nav class=\"nav\" part=\"nav\" aria-label={this.label}>\n {/*\n The slots stay in the tree whether or not they hold anything: a\n slot that is not rendered never fires `slotchange`, so content\n added later would stay invisible for good. The box is hidden\n instead.\n */}\n <span class={{ brand: true, empty: !this.hasBrand }} part=\"brand\">\n <slot name=\"brand\" onSlotchange={() => this.refresh()} />\n </span>\n\n <ul class=\"list\" part=\"list\">\n <slot onSlotchange={() => this.refresh()} />\n </ul>\n\n <span class={{ actions: true, empty: !this.hasActions }} part=\"actions\">\n <slot name=\"actions\" onSlotchange={() => this.refresh()} />\n </span>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"wFAAA,MAAMA,EAAwB,IAAM,+jC,MC8BvBC,EAAkB,M,iDAIrBC,MAAQ,oBAWPC,SAAW,MACXC,WAAa,MAGtB,iBAAAC,GACEC,KAAKC,M,CAGP,gBAAAC,GACEF,KAAKC,M,CAYP,qBAAAE,CAAsBC,GACpBA,EAAMC,kBACNL,KAAKC,M,CAQP,aAAMK,GACJN,KAAKC,M,CAIP,SAAYM,GACV,OAAOC,MAAMC,KAAKT,KAAKU,GAAGC,iBAA8B,gBAAgBC,QACrEC,GAASA,EAAKC,gBAAkBd,KAAKU,I,CAQlC,SAAAK,CAAUF,GAChB,OAAQA,EAA6CG,SAAWH,EAAKI,aAAa,U,CAG5E,IAAAhB,GAMN,MAAMiB,EAAWC,GACfX,MAAMC,KAAKT,KAAKU,GAAGU,UAAUC,MAAMC,GAAUA,EAAMC,aAAa,UAAYJ,IAE9EnB,KAAKH,SAAWqB,EAAQ,SACxBlB,KAAKF,WAAaoB,EAAQ,WAE1B,MAAMX,EAAQP,KAAKO,MACnB,MAAMiB,EAAeC,EACnBlB,EAAMmB,KAAKb,IAAI,CAAQG,QAAShB,KAAKe,UAAUF,QAGjD,IAAK,MAAOc,EAAOd,KAASN,EAAMqB,UAAW,CAC3C,MAAMC,EAAOhB,EACbgB,EAAKC,YAAcH,IAAUH,EAC7BK,EAAKE,YAAc,Y,EAIvB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,MAAMC,KAAK,MAAK,aAAarC,KAAKJ,OAO3CqC,EAAA,QAAAE,IAAA,2CAAMC,MAAO,CAAEE,MAAO,KAAMC,OAAQvC,KAAKH,UAAYwC,KAAK,SACxDJ,EAAA,QAAAE,IAAA,2CAAMhB,KAAK,QAAQqB,aAAc,IAAMxC,KAAKM,aAG9C2B,EAAA,MAAAE,IAAA,2CAAIC,MAAM,OAAOC,KAAK,QACpBJ,EAAA,QAAAE,IAAA,2CAAMK,aAAc,IAAMxC,KAAKM,aAGjC2B,EAAA,QAAAE,IAAA,2CAAMC,MAAO,CAAEK,QAAS,KAAMF,OAAQvC,KAAKF,YAAcuC,KAAK,WAC5DJ,EAAA,QAAAE,IAAA,2CAAMhB,KAAK,UAAUqB,aAAc,IAAMxC,KAAKM,c","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as a,h as r,H as t}from"./p-Bm6UxEit.js";import{K as i}from"./p-g4FlTDZx.js";const n=()=>`:host{border:1px solid var(--pf-collapsible-border);border-radius:var(--radius-md);display:block}:host([hidden]){display:none}.trigger{align-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--pf-collapsible-trigger-text);cursor:pointer;display:flex;font:inherit;font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:space-between;padding:var(--space-3);text-align:start;width:100%}.trigger:hover:not(:disabled){background:var(--pf-collapsible-trigger-hover-bg)}.trigger:focus-visible{box-shadow:var(--pf-collapsible-focus-ring, var(--pf-focus-ring));outline:none}.trigger:disabled{color:var(--pf-control-text-disabled);cursor:not-allowed}.label{min-width:0}.icon{align-items:center;color:var(--pf-collapsible-icon);display:inline-flex;flex-shrink:0;transition:transform var(--pf-transition-fast)}:host([open]) .icon{transform:rotate(180deg)}.panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--pf-transition-medium)}:host([open]) .panel{grid-template-rows:1fr}.content{min-height:0;overflow:hidden}.inner{border-top:1px solid var(--pf-collapsible-border);color:var(--pf-collapsible-content-text);padding:var(--space-3)}@media (prefers-reduced-motion: reduce){.icon,.panel{transition:none}}`;const s=class{constructor(r){e(this,r);this.pfOpenChange=a(this,"pfOpenChange")}open=false;disabled=false;showChevron=true;pfOpenChange;async show(){if(!this.disabled)this.open=true}async hide(){this.open=false}handleOpenChange(e,a){if(e!==a)this.pfOpenChange.emit({open:e})}onClick=()=>{if(this.disabled)return;this.open=!this.open};handleKeyDown(e){if(e.key!==i.Escape||!this.open)return;if(e.composedPath()[0]!==this.trigger)return;e.preventDefault();this.open=false}trigger;render(){return r(t,{key:"77ee32aa721e31b94607d5b0043e31a0127ab4cf"},r("button",{key:"daeb5f647e0ca576fe362a3e6338ce0ac8a353c1",type:"button",id:"trigger",class:"trigger",part:"trigger",ref:e=>this.trigger=e,disabled:this.disabled,"aria-expanded":this.open?"true":"false","aria-controls":"panel",onClick:this.onClick},r("span",{key:"e0d551ab30b4236451093ee3c9a8e167450c940f",class:"label",part:"label"},r("slot",{key:"d315563377bef41f59bc236d341be6931a590a36",name:"trigger"})),this.showChevron&&r("span",{key:"efb107225ace280b4fcf44ffef86d63455297364",class:"icon",part:"icon","aria-hidden":"true"},r("pf-icon",{key:"2f1aad62fd01624b3ef5dba75fc1114af6ac2fa2",name:"chevron-down"}))),r("div",{key:"f2e53680c1073b0d423bd3400376af3fa65773d2",class:"panel",part:"panel"},r("div",{key:"1290a6058f2cf2063b77bb564dca6889f2367a33",class:"content",part:"content",id:"panel",role:"region","aria-labelledby":"trigger",inert:!this.open},r("div",{key:"b8634f3e2cf28dec7a1dcea45c983894e4cca130",class:"inner",part:"inner"},r("slot",{key:"2745c65d5c2a8ed9c1863e1db4f40933a3fab5a2"})))))}static get watchers(){return{open:[{handleOpenChange:0}]}}};s.style=n();export{s as pf_collapsible};
2
+ //# sourceMappingURL=p-1bb6b456.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfCollapsibleCss","PfCollapsible","open","disabled","showChevron","pfOpenChange","show","this","hide","handleOpenChange","next","previous","emit","onClick","handleKeyDown","event","key","Keys","Escape","composedPath","trigger","preventDefault","render","h","Host","type","id","class","part","ref","el","name","role","inert"],"sources":["src/components/pf-collapsible/pf-collapsible.css?tag=pf-collapsible&encapsulation=shadow","src/components/pf-collapsible/pf-collapsible.tsx"],"sourcesContent":[":host {\n border: 1px solid var(--pf-collapsible-border);\n border-radius: var(--radius-md);\n display: block;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.trigger {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: var(--radius-md);\n color: var(--pf-collapsible-trigger-text);\n cursor: pointer;\n display: flex;\n font: inherit;\n font-weight: var(--font-weight-medium);\n gap: var(--space-2);\n justify-content: space-between;\n padding: var(--space-3);\n text-align: start;\n width: 100%;\n}\n\n.trigger:hover:not(:disabled) {\n background: var(--pf-collapsible-trigger-hover-bg);\n}\n\n.trigger:focus-visible {\n box-shadow: var(--pf-collapsible-focus-ring, var(--pf-focus-ring));\n outline: none;\n}\n\n.trigger:disabled {\n color: var(--pf-control-text-disabled);\n cursor: not-allowed;\n}\n\n.label {\n min-width: 0;\n}\n\n.icon {\n align-items: center;\n color: var(--pf-collapsible-icon);\n display: inline-flex;\n flex-shrink: 0;\n transition: transform var(--pf-transition-fast);\n}\n\n:host([open]) .icon {\n transform: rotate(180deg);\n}\n\n/* The 0fr -> 1fr technique, which animates to the content's own height. */\n.panel {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--pf-transition-medium);\n}\n\n:host([open]) .panel {\n grid-template-rows: 1fr;\n}\n\n.content {\n min-height: 0;\n overflow: hidden;\n}\n\n.inner {\n border-top: 1px solid var(--pf-collapsible-border);\n color: var(--pf-collapsible-content-text);\n padding: var(--space-3);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .icon,\n .panel {\n transition: none;\n }\n}\n","import { Keys } from '@pitchfork-ui/core';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\n\n/**\n * One disclosure: a header that shows and hides the content below it.\n *\n * The same panel mechanics as `pf-accordion-item` — a `0fr` → `1fr` grid row\n * so the height animates to the content's own, and `inert` on the closed panel\n * because that height still holds focusable content — but no group above it,\n * so this element owns `open` itself.\n *\n * Both IDREFs stay inside this one shadow root, which is where an IDREF\n * resolves: the header names the panel with `aria-controls` and the panel\n * names the header back with `aria-labelledby`.\n *\n * @slot trigger - the header's label.\n * @slot - the content.\n * @part trigger - the header button.\n * @part label - the label's box inside the header.\n * @part icon - the chevron.\n * @part panel - the animating box around the content.\n * @part content - the region holding the content.\n */\n@Component({\n tag: 'pf-collapsible',\n styleUrl: 'pf-collapsible.css',\n shadow: true,\n})\nexport class PfCollapsible {\n /** Whether the content is showing. Reflected so the stylesheet selects on it. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Reflected, so the stylesheet can mark the header. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Show the rotating chevron. Defaults to true. */\n @Prop() showChevron = true;\n\n /** Fires whenever the content opens or closes, whoever caused it. */\n @Event() pfOpenChange!: EventEmitter<{ open: boolean }>;\n\n /** Opens the content. */\n @Method()\n async show(): Promise<void> {\n if (!this.disabled) this.open = true;\n }\n\n /** Closes the content. */\n @Method()\n async hide(): Promise<void> {\n this.open = false;\n }\n\n /**\n * The one place the change is announced, whatever caused it: the header, a\n * method, or a consumer writing the prop. Announcing it from the click\n * handler instead would miss the other two — the same mistake `pf-popover`\n * and `pf-modal` both made from their DOM-event handlers.\n *\n * A consumer mirroring the value back sets `open` to what it already is,\n * which Stencil does not treat as a change, so there is no loop.\n */\n @Watch('open')\n handleOpenChange(next: boolean, previous: boolean) {\n if (next !== previous) this.pfOpenChange.emit({ open: next });\n }\n\n private onClick = () => {\n if (this.disabled) return;\n this.open = !this.open;\n };\n\n /**\n * Escape closes it from the header, which is what the React component does.\n * Only from the header: Escape inside the content belongs to whatever is in\n * there — a dialog, or a field clearing itself.\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (event.key !== Keys.Escape || !this.open) return;\n if (event.composedPath()[0] !== this.trigger) return;\n\n event.preventDefault();\n this.open = false;\n }\n\n private trigger?: HTMLButtonElement;\n\n render() {\n return (\n <Host>\n <button\n type=\"button\"\n id=\"trigger\"\n class=\"trigger\"\n part=\"trigger\"\n ref={(el) => (this.trigger = el)}\n disabled={this.disabled}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls=\"panel\"\n onClick={this.onClick}\n >\n <span class=\"label\" part=\"label\">\n <slot name=\"trigger\" />\n </span>\n {this.showChevron && (\n <span class=\"icon\" part=\"icon\" aria-hidden=\"true\">\n <pf-icon name=\"chevron-down\"></pf-icon>\n </span>\n )}\n </button>\n\n <div class=\"panel\" part=\"panel\">\n {/*\n `inert` as well as the collapsed height: a panel animating to zero\n still holds focusable content, so without it the next Tab from the\n header lands inside the box that just closed.\n */}\n <div\n class=\"content\"\n part=\"content\"\n id=\"panel\"\n role=\"region\"\n aria-labelledby=\"trigger\"\n inert={!this.open}\n >\n <div class=\"inner\" part=\"inner\">\n <slot />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAmB,IAAM,0vC,MCsClBC,EAAa,M,kEAEgBC,KAAO,MAGtBC,SAAW,MAG5BC,YAAc,KAGbC,aAIT,UAAMC,GACJ,IAAKC,KAAKJ,SAAUI,KAAKL,KAAO,I,CAKlC,UAAMM,GACJD,KAAKL,KAAO,K,CAad,gBAAAO,CAAiBC,EAAeC,GAC9B,GAAID,IAASC,EAAUJ,KAAKF,aAAaO,KAAK,CAAEV,KAAMQ,G,CAGhDG,QAAU,KAChB,GAAIN,KAAKJ,SAAU,OACnBI,KAAKL,MAAQK,KAAKL,IAAI,EASxB,aAAAY,CAAcC,GACZ,GAAIA,EAAMC,MAAQC,EAAKC,SAAWX,KAAKL,KAAM,OAC7C,GAAIa,EAAMI,eAAe,KAAOZ,KAAKa,QAAS,OAE9CL,EAAMM,iBACNd,KAAKL,KAAO,K,CAGNkB,QAER,MAAAE,GACE,OACEC,EAACC,EAAI,CAAAR,IAAA,4CACHO,EAAA,UAAAP,IAAA,2CACES,KAAK,SACLC,GAAG,UACHC,MAAM,UACNC,KAAK,UACLC,IAAMC,GAAQvB,KAAKa,QAAUU,EAC7B3B,SAAUI,KAAKJ,SAAQ,gBACRI,KAAKL,KAAO,OAAS,QAAO,gBAC7B,QACdW,QAASN,KAAKM,SAEdU,EAAA,QAAAP,IAAA,2CAAMW,MAAM,QAAQC,KAAK,SACvBL,EAAA,QAAAP,IAAA,2CAAMe,KAAK,aAEZxB,KAAKH,aACJmB,EAAA,QAAAP,IAAA,2CAAMW,MAAM,OAAOC,KAAK,OAAM,cAAa,QACzCL,EAAA,WAAAP,IAAA,2CAASe,KAAK,mBAKpBR,EAAA,OAAAP,IAAA,2CAAKW,MAAM,QAAQC,KAAK,SAMtBL,EAAA,OAAAP,IAAA,2CACEW,MAAM,UACNC,KAAK,UACLF,GAAG,QACHM,KAAK,SAAQ,kBACG,UAChBC,OAAQ1B,KAAKL,MAEbqB,EAAA,OAAAP,IAAA,2CAAKW,MAAM,QAAQC,KAAK,SACtBL,EAAA,QAAAP,IAAA,gD","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as i,a as t,h as n,H as a}from"./p-Bm6UxEit.js";import{c as r}from"./p-DSXauhXX.js";function o(e,{min:i=0,max:t=100}={}){if(!Number.isFinite(e))return r((i+t)/2,i,t);return r(e,i,t)}function s(e,i,t,n={}){if(!(t>0))return null;return o(Math.round((e-i)/t*100),n)}function h(e,i){const{orientation:t,size:n,step:a=2,min:r=0,max:s=100}=i;const h=o(n,{min:r,max:s});const l=t==="horizontal"?"ArrowLeft":"ArrowUp";const d=t==="horizontal"?"ArrowRight":"ArrowDown";if(e===l)return o(h-a,{min:r,max:s});if(e===d)return o(h+a,{min:r,max:s});if(e==="Home")return o(r,{min:r,max:s});if(e==="End")return o(s,{min:r,max:s});return null}const l=()=>`:host{display:flex;overflow:hidden;width:100%}:host([hidden]){display:none}:host([orientation='horizontal']){flex-direction:row}:host([orientation='vertical']){flex-direction:column}.panel{flex-grow:0;flex-shrink:0;min-height:0;min-width:0;overflow:auto}.end{flex:1 1 0}.handle{align-items:center;background:var(--pf-resizable-handle-bg);display:flex;flex-shrink:0;justify-content:center;position:relative;touch-action:none;transition:background var(--pf-transition-fast)}.handle:hover,.handle:focus-visible{background:var(--pf-resizable-handle-active-bg)}.handle:focus-visible{box-shadow:var(--pf-resizable-focus-ring, var(--pf-focus-ring));outline:none}:host([orientation='horizontal']) .handle{cursor:col-resize;width:var(--pf-resizable-handle-size, 6px)}:host([orientation='vertical']) .handle{cursor:row-resize;height:var(--pf-resizable-handle-size, 6px)}.grip{background:var(--pf-resizable-grip);border-radius:var(--radius-full)}:host([orientation='horizontal']) .grip{height:24px;width:2px}:host([orientation='vertical']) .grip{height:2px;width:24px}@media (prefers-reduced-motion: reduce){.handle{transition:none}}`;const d=class{constructor(t){e(this,t);this.pfChange=i(this,"pfChange")}get el(){return t(this)}orientation="horizontal";size=50;min=10;max=90;step=2;handleLabel="Resize panels";pfChange;dragging=false;handleBoundsChange(){const e=this.resolved;if(e!==this.size)this.size=e}get resolved(){return o(Number(this.size),{min:this.min,max:this.max})}get bounds(){return{min:this.min,max:this.max}}handlePointerEnd(e){if(!this.dragging)return;this.dragging=false;const i=this.handle;if(i?.hasPointerCapture(e.pointerId))i.releasePointerCapture(e.pointerId)}get handle(){return this.el.shadowRoot?.querySelector(".handle")??null}onPointerDown=e=>{e.preventDefault();this.dragging=true;const i=e.currentTarget;i.setPointerCapture(e.pointerId);i.focus()};onPointerMove=e=>{if(!this.dragging)return;const i=this.el.getBoundingClientRect();const t=this.orientation==="horizontal"?s(e.clientX,i.left,i.width,this.bounds):s(e.clientY,i.top,i.height,this.bounds);if(t!==null)this.commit(t)};onKeyDown=e=>{const i=h(e.key,{orientation:this.orientation,size:this.resolved,min:this.min,max:this.max,step:Number(this.step)});if(i===null)return;e.preventDefault();this.commit(i)};commit(e){if(e===this.resolved)return;this.size=e;this.pfChange.emit({size:e})}render(){const e=this.resolved;const i=this.orientation==="horizontal";return n(a,{key:"2ac1ef130571d8eea4d6443bdf154c30190c7f68"},n("div",{key:"acce0a5eac7e80d55f29094d349615e741544b9a",class:"panel start",part:"start",style:{flexBasis:`${e}%`}},n("slot",{key:"da6b586f6501216f9496172c359418b27bbe2dda",name:"start"})),n("div",{key:"0d36376c8f1916c6d302216d88a49399b2f1e983",class:"handle",part:"handle",role:"separator",tabindex:"0","aria-label":this.handleLabel,"aria-orientation":i?"vertical":"horizontal","aria-valuenow":String(e),"aria-valuemin":String(this.min),"aria-valuemax":String(this.max),onPointerDown:this.onPointerDown,onPointerMove:this.onPointerMove,onKeyDown:this.onKeyDown},n("span",{key:"5d90a73260ad56738b9d697faa86e1eb5cd6bda2",class:"grip",part:"grip","aria-hidden":"true"})),n("div",{key:"758514a9446b4f9be4164334c56c98cff4492d79",class:"panel end",part:"end"},n("slot",{key:"8361324119a9ab7b732128d9680125b99a13c6be",name:"end"})))}static get watchers(){return{min:[{handleBoundsChange:0}],max:[{handleBoundsChange:0}]}}};d.style=l();export{d as pf_resizable};
2
+ //# sourceMappingURL=p-1bc87b8c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clampSplitSize","size","min","max","Number","isFinite","clampNumber","splitSizeFromPointer","position","start","length","bounds","Math","round","resolveSplitterKey","key","state","orientation","step","current","decrease","increase","pfResizableCss","PfResizable","handleLabel","pfChange","dragging","handleBoundsChange","next","this","resolved","handlePointerEnd","event","handle","hasPointerCapture","pointerId","releasePointerCapture","el","shadowRoot","querySelector","onPointerDown","preventDefault","currentTarget","setPointerCapture","focus","onPointerMove","rect","getBoundingClientRect","clientX","left","width","clientY","top","height","commit","onKeyDown","emit","render","horizontal","h","Host","class","part","style","flexBasis","name","role","tabindex","String"],"sources":["../core/dist/splitter.js","src/components/pf-resizable/pf-resizable.css?tag=pf-resizable&encapsulation=shadow","src/components/pf-resizable/pf-resizable.tsx"],"sourcesContent":["import { clampNumber } from \"./number-field.js\";\n//#region src/splitter.ts\n/**\n* The arithmetic behind a two-panel splitter: what a pointer position means\n* as a percentage, what a key does to it, and what it is clamped into.\n*\n* Shared because every part of it is visible to a consumer, and because a\n* splitter's keys depend on its orientation — a React `Resizable` and a\n* `<pf-resizable>` that disagreed about which arrow grows the first panel\n* would be two controls wearing one name.\n*/\n/**\n* Keeps a size inside min..max, in percent.\n*\n* A size that is not a finite number becomes an even split *of the bounds*\n* rather than `NaN`. It matters because `NaN` survives arithmetic silently and\n* then reaches the DOM as `flex-basis: NaN%`, an invalid declaration that\n* collapses the panel — the same failure mode as an undefined custom property,\n* and just as hard to read back from the result.\n*/\nfunction clampSplitSize(size, { min = 0, max = 100 } = {}) {\n\tif (!Number.isFinite(size)) return clampNumber((min + max) / 2, min, max);\n\treturn clampNumber(size, min, max);\n}\n/**\n* Where a pointer sits along a container, as the first panel's share.\n*\n* `null` when the container has no length, which is not a hypothetical: a\n* splitter inside a closed disclosure, or one dragged before its first\n* layout, measures zero, and dividing by it gives `Infinity` — or `NaN` when\n* the pointer is at the container's own edge. The caller keeps the size it\n* had instead.\n*/\nfunction splitSizeFromPointer(position, start, length, bounds = {}) {\n\tif (!(length > 0)) return null;\n\treturn clampSplitSize(Math.round((position - start) / length * 100), bounds);\n}\n/**\n* What a key does to the size, or `null` for a key the splitter does not\n* handle — which is also the signal not to call `preventDefault`.\n*\n* Which arrows apply follows the orientation: side-by-side panels are grown\n* and shrunk with Left and Right, stacked ones with Up and Down. The other\n* pair is deliberately not handled, so Up and Down still scroll a page with a\n* horizontal splitter focused. Home and End jump to the bounds, which is the\n* only way to collapse a panel in one press.\n*/\nfunction resolveSplitterKey(key, state) {\n\tconst { orientation, size, step = 2, min = 0, max = 100 } = state;\n\tconst current = clampSplitSize(size, {\n\t\tmin,\n\t\tmax\n\t});\n\tconst decrease = orientation === \"horizontal\" ? \"ArrowLeft\" : \"ArrowUp\";\n\tconst increase = orientation === \"horizontal\" ? \"ArrowRight\" : \"ArrowDown\";\n\tif (key === decrease) return clampSplitSize(current - step, {\n\t\tmin,\n\t\tmax\n\t});\n\tif (key === increase) return clampSplitSize(current + step, {\n\t\tmin,\n\t\tmax\n\t});\n\tif (key === \"Home\") return clampSplitSize(min, {\n\t\tmin,\n\t\tmax\n\t});\n\tif (key === \"End\") return clampSplitSize(max, {\n\t\tmin,\n\t\tmax\n\t});\n\treturn null;\n}\n//#endregion\nexport { clampSplitSize, resolveSplitterKey, splitSizeFromPointer };\n",":host {\n display: flex;\n overflow: hidden;\n width: 100%;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([orientation='horizontal']) {\n flex-direction: row;\n}\n\n:host([orientation='vertical']) {\n flex-direction: column;\n}\n\n.panel {\n flex-grow: 0;\n flex-shrink: 0;\n min-height: 0;\n min-width: 0;\n overflow: auto;\n}\n\n/* The second panel takes whatever the first one leaves. */\n.end {\n flex: 1 1 0;\n}\n\n.handle {\n align-items: center;\n background: var(--pf-resizable-handle-bg);\n display: flex;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n /* Without this a touch drag scrolls the page instead of moving the split. */\n touch-action: none;\n transition: background var(--pf-transition-fast);\n}\n\n.handle:hover,\n.handle:focus-visible {\n background: var(--pf-resizable-handle-active-bg);\n}\n\n.handle:focus-visible {\n box-shadow: var(--pf-resizable-focus-ring, var(--pf-focus-ring));\n outline: none;\n}\n\n:host([orientation='horizontal']) .handle {\n cursor: col-resize;\n width: var(--pf-resizable-handle-size, 6px);\n}\n\n:host([orientation='vertical']) .handle {\n cursor: row-resize;\n height: var(--pf-resizable-handle-size, 6px);\n}\n\n.grip {\n background: var(--pf-resizable-grip);\n border-radius: var(--radius-full);\n}\n\n:host([orientation='horizontal']) .grip {\n height: 24px;\n width: 2px;\n}\n\n:host([orientation='vertical']) .grip {\n height: 2px;\n width: 24px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .handle {\n transition: none;\n }\n}\n","import { clampSplitSize, resolveSplitterKey, splitSizeFromPointer } from '@pitchfork-ui/core';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n Watch,\n} from '@stencil/core';\n\n/**\n * Two panels with a draggable separator between them.\n *\n * The panels are slotted — `start` and `end` rather than a default slot taking\n * exactly two children, because a slot cannot be told to take only the first\n * assigned node and a consumer looping in their own template would otherwise\n * find the third child silently ignored, which is what the React `Resizable`\n * does with `Children.toArray(children)`.\n *\n * All of the arithmetic is core's, so this and the React `Resizable` agree on\n * which arrow grows the first panel, on where a pointer sits, and on what a\n * size outside the bounds becomes.\n *\n * @slot start - the first panel: the one whose size this controls.\n * @slot end - the second panel, which takes the rest.\n * @part start - the first panel's box.\n * @part end - the second panel's box.\n * @part handle - the separator.\n * @part grip - the mark in the middle of the separator.\n */\n@Component({\n tag: 'pf-resizable',\n styleUrl: 'pf-resizable.css',\n shadow: true,\n})\nexport class PfResizable {\n @Element() el!: HTMLElement;\n\n /**\n * `horizontal` puts the panels side by side and drags left and right;\n * `vertical` stacks them. Reflected, because the stylesheet selects on it.\n */\n @Prop({ reflect: true }) orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /** The first panel's share, in percent. */\n @Prop({ mutable: true }) size = 50;\n\n /** The first panel's smallest share, in percent. */\n @Prop() min = 10;\n\n /** Its largest. */\n @Prop() max = 90;\n\n /** How far one key press moves it, in percent. */\n @Prop() step = 2;\n\n /** The separator's accessible name. */\n @Prop() handleLabel = 'Resize panels';\n\n /** Fires when the split changes, by pointer or by key. */\n @Event() pfChange!: EventEmitter<{ size: number }>;\n\n private dragging = false;\n\n @Watch('min')\n @Watch('max')\n handleBoundsChange() {\n // A consumer narrowing the bounds must not leave the panel outside them.\n const next = this.resolved;\n if (next !== this.size) this.size = next;\n }\n\n /**\n * The size actually in force. The consumer's `size` is left as they set it,\n * so narrowing the bounds and widening them again restores what they asked\n * for rather than what it was clamped to.\n */\n private get resolved(): number {\n return clampSplitSize(Number(this.size), { min: this.min, max: this.max });\n }\n\n private get bounds() {\n return { min: this.min, max: this.max };\n }\n\n /**\n * A pointer release anywhere ends the drag.\n *\n * On the host rather than the handle, and `pointercancel` as well as\n * `pointerup`: a drag interrupted by the browser — a touch turning into a\n * scroll gesture, a window losing focus mid-drag — fires only `pointercancel`,\n * and without it the splitter stays in a dragging state and follows the\n * pointer around with no button held.\n */\n @Listen('pointerup')\n @Listen('pointercancel')\n handlePointerEnd(event: PointerEvent) {\n if (!this.dragging) return;\n this.dragging = false;\n const handle = this.handle;\n if (handle?.hasPointerCapture(event.pointerId)) handle.releasePointerCapture(event.pointerId);\n }\n\n private get handle(): HTMLElement | null {\n return this.el.shadowRoot?.querySelector('.handle') ?? null;\n }\n\n private onPointerDown = (event: PointerEvent) => {\n event.preventDefault();\n this.dragging = true;\n const handle = event.currentTarget as HTMLElement;\n handle.setPointerCapture(event.pointerId);\n // The separator is the control, so a drag has to focus it.\n handle.focus();\n };\n\n private onPointerMove = (event: PointerEvent) => {\n if (!this.dragging) return;\n\n const rect = this.el.getBoundingClientRect();\n /*\n * `null` when the host has no length, which is not hypothetical: a\n * splitter inside a collapsed box measures zero and dividing by it gives\n * Infinity. The size it already had stands.\n */\n const next =\n this.orientation === 'horizontal'\n ? splitSizeFromPointer(event.clientX, rect.left, rect.width, this.bounds)\n : splitSizeFromPointer(event.clientY, rect.top, rect.height, this.bounds);\n\n if (next !== null) this.commit(next);\n };\n\n private onKeyDown = (event: KeyboardEvent) => {\n const next = resolveSplitterKey(event.key, {\n orientation: this.orientation,\n size: this.resolved,\n min: this.min,\n max: this.max,\n step: Number(this.step),\n });\n\n // Nothing is prevented for a key the splitter does not handle, so Up and\n // Down still scroll a page with a horizontal splitter focused.\n if (next === null) return;\n event.preventDefault();\n this.commit(next);\n };\n\n private commit(next: number) {\n if (next === this.resolved) return;\n this.size = next;\n this.pfChange.emit({ size: next });\n }\n\n render() {\n const size = this.resolved;\n const horizontal = this.orientation === 'horizontal';\n\n return (\n <Host>\n <div class=\"panel start\" part=\"start\" style={{ flexBasis: `${size}%` }}>\n <slot name=\"start\" />\n </div>\n\n <div\n class=\"handle\"\n part=\"handle\"\n role=\"separator\"\n tabindex=\"0\"\n aria-label={this.handleLabel}\n aria-orientation={horizontal ? 'vertical' : 'horizontal'}\n aria-valuenow={String(size)}\n aria-valuemin={String(this.min)}\n aria-valuemax={String(this.max)}\n onPointerDown={this.onPointerDown}\n onPointerMove={this.onPointerMove}\n onKeyDown={this.onKeyDown}\n >\n <span class=\"grip\" part=\"grip\" aria-hidden=\"true\"></span>\n </div>\n\n <div class=\"panel end\" part=\"end\">\n <slot name=\"end\" />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as a,H as s}from"./p-Bm6UxEit.js";import{i}from"./p-g4FlTDZx.js";const r=()=>`:host{align-items:center;border-radius:var(--radius-sm);color:var(--pf-menu-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--space-2);line-height:1.3;padding:var(--space-2) var(--space-3);user-select:none}:host([hidden]){display:none}:host(:hover:not([disabled])),:host(:focus-visible){background:var(--pf-menu-item-active-bg);outline:none}:host([destructive]){color:var(--pf-menu-text-danger)}:host([disabled]){cursor:not-allowed;opacity:0.5}slot[name='icon']::slotted(*){flex-shrink:0}slot[name='shortcut']::slotted(*){color:var(--pf-menu-text-muted);flex-shrink:0;font-size:var(--font-size-xs);margin-inline-start:auto}.label{flex:1;min-width:0}`;const o=class{constructor(a){e(this,a);this.pfMenuSelect=t(this,"pfMenuSelect")}value="";disabled=false;destructive=false;pfMenuSelect;handleClick(e){if(this.disabled){e.stopPropagation();return}this.pfMenuSelect.emit({value:this.value})}handleKeyDown(e){if(!i(e.key)||this.disabled)return;e.preventDefault();this.pfMenuSelect.emit({value:this.value})}render(){return a(s,{key:"ee6beb23778f9fb73dd5f97b2392aef59496f126",role:"menuitem","aria-disabled":this.disabled?"true":null},a("slot",{key:"a50a636f70d9466f61af00718dd98a8f3fe5695f",name:"icon"}),a("span",{key:"42c033ee45a78affe99ef8ca65e2a415f21612ac",class:"label",part:"label"},a("slot",{key:"bfc005d6fcc614b3a1e0ad1f2ed2338d27d97960"})),a("slot",{key:"43d807fad2b7d5f44ab7b1320b198f8dd79e3ab7",name:"shortcut"}))}};o.style=r();export{o as pf_menu_item};
2
+ //# sourceMappingURL=p-1e171d52.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfMenuItemCss","PfMenuItem","value","disabled","destructive","pfMenuSelect","handleClick","event","this","stopPropagation","emit","handleKeyDown","isActivationKey","key","preventDefault","render","h","Host","role","name","class","part"],"sources":["src/components/pf-menu-item/pf-menu-item.css?tag=pf-menu-item&encapsulation=shadow","src/components/pf-menu-item/pf-menu-item.tsx"],"sourcesContent":["/*\n * This element is shared by pf-dropdown and pf-context-menu, whose React\n * counterparts have two separate alias families (--pf-dropdown-* and\n * --pf-contextmenu-*) with different values. Rather than invent a third, or\n * pick one and diverge from the other layer, the item reads a generic set of\n * `--pf-menu-*` properties that each container defines on itself.\n *\n * Custom properties inherit through the shadow boundary, so a slotted item\n * picks up whichever menu it is inside. One element, two themings, no new\n * theme aliases, and exact parity with both React families.\n */\n:host {\n align-items: center;\n border-radius: var(--radius-sm);\n color: var(--pf-menu-text);\n cursor: pointer;\n display: flex;\n font-size: var(--font-size-sm);\n gap: var(--space-2);\n line-height: 1.3;\n padding: var(--space-2) var(--space-3);\n user-select: none;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host(:hover:not([disabled])),\n:host(:focus-visible) {\n background: var(--pf-menu-item-active-bg);\n outline: none;\n}\n\n:host([destructive]) {\n color: var(--pf-menu-text-danger);\n}\n\n:host([disabled]) {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/*\n * The icon and the shortcut are styled through `::slotted()` rather than\n * wrapped in a span each, because an *unassigned* slot generates no box at\n * all -- it is `display: contents` -- so the row's `gap` does not open beside\n * nothing.\n *\n * A wrapper cannot be collapsed from CSS. `.icon:not(:has(*))` reads as if it\n * does exactly that and never matches, because the `<slot>` inside the\n * wrapper is itself an element child -- measured. It was costing one\n * `--space-2` in front of the label of every item with no icon, so the labels\n * in a menu that mixed the two did not line up.\n */\nslot[name='icon']::slotted(*) {\n flex-shrink: 0;\n}\n\nslot[name='shortcut']::slotted(*) {\n color: var(--pf-menu-text-muted);\n flex-shrink: 0;\n font-size: var(--font-size-xs);\n margin-inline-start: auto;\n}\n\n.label {\n flex: 1;\n min-width: 0;\n}\n","import { isActivationKey } from '@pitchfork-ui/core';\nimport { Component, Event, EventEmitter, h, Host, Listen, Prop } from '@stencil/core';\n\n/**\n * One action inside a `pf-dropdown` or a `pf-context-menu`.\n *\n * Shared by both, because the React library's `DropdownItem` and\n * `ContextMenuItem` are the same shape and the two menus render them\n * identically — one element rather than two that would drift.\n *\n * It only reports that it was chosen. The menu owns focus, closing and the\n * keyboard pattern, exactly as `pf-radio-group` owns selection for its radios.\n *\n * @slot - the item's label.\n * @slot icon - a leading icon.\n * @slot shortcut - a trailing keyboard hint.\n * @part label - the label's box.\n */\n@Component({\n tag: 'pf-menu-item',\n styleUrl: 'pf-menu-item.css',\n shadow: true,\n})\nexport class PfMenuItem {\n /**\n * Identifies the item in the menu's select event.\n *\n * Reflected because the generated bindings set props as properties, so\n * without it a consumer selecting `pf-menu-item[value=\"...\"]` in a React or\n * Angular app finds nothing. The menus themselves read the property, so this\n * was not a live defect here -- it is the same trap that was one in\n * `pf-command-item`.\n */\n @Prop({ reflect: true }) value = '';\n\n /** Reflected so the stylesheet and the menu's item query can select on it. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Style as a destructive action. Reflected for the stylesheet. */\n @Prop({ reflect: true }) destructive = false;\n\n /** Asks the menu to act on this item. The menu decides and then closes. */\n @Event() pfMenuSelect!: EventEmitter<{ value: string }>;\n\n @Listen('click')\n handleClick(event: MouseEvent) {\n if (this.disabled) {\n // A disabled item swallows the click rather than letting the menu's own\n // handler see it as a selection.\n event.stopPropagation();\n return;\n }\n this.pfMenuSelect.emit({ value: this.value });\n }\n\n /**\n * Enter and Space activate, as they do on a menuitem. The arrows are the\n * menu's: only it knows the other items.\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (!isActivationKey(event.key) || this.disabled) return;\n event.preventDefault();\n this.pfMenuSelect.emit({ value: this.value });\n }\n\n render() {\n return (\n <Host role=\"menuitem\" aria-disabled={this.disabled ? 'true' : null}>\n <slot name=\"icon\" />\n <span class=\"label\" part=\"label\">\n <slot />\n </span>\n <slot name=\"shortcut\" />\n </Host>\n );\n }\n}\n"],"mappings":"wFAAA,MAAMA,EAAgB,IAAM,oqB,MCuBfC,EAAU,M,kEAUIC,MAAQ,GAGRC,SAAW,MAGXC,YAAc,MAG9BC,aAGT,WAAAC,CAAYC,GACV,GAAIC,KAAKL,SAAU,CAGjBI,EAAME,kBACN,M,CAEFD,KAAKH,aAAaK,KAAK,CAAER,MAAOM,KAAKN,O,CAQvC,aAAAS,CAAcJ,GACZ,IAAKK,EAAgBL,EAAMM,MAAQL,KAAKL,SAAU,OAClDI,EAAMO,iBACNN,KAAKH,aAAaK,KAAK,CAAER,MAAOM,KAAKN,O,CAGvC,MAAAa,GACE,OACEC,EAACC,EAAI,CAAAJ,IAAA,2CAACK,KAAK,WAAU,gBAAgBV,KAAKL,SAAW,OAAS,MAC5Da,EAAA,QAAAH,IAAA,2CAAMM,KAAK,SACXH,EAAA,QAAAH,IAAA,2CAAMO,MAAM,QAAQC,KAAK,SACvBL,EAAA,QAAAH,IAAA,8CAEFG,EAAA,QAAAH,IAAA,2CAAMM,KAAK,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,a as e,h as r,H as a}from"./p-Bm6UxEit.js";const o=()=>`:host{display:inline-flex}:host([hidden]){display:none}[part='button']{align-items:center;background:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-1);justify-content:center;line-height:1;white-space:nowrap;transition:background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease;width:100%}[part='button']:focus-visible{box-shadow:var(--pf-utilitybutton-focus-ring, var(--pf-focus-ring));outline:none}[part='button']:disabled{cursor:not-allowed;opacity:0.55}:host([size='sm']) [part='button']{min-height:32px;padding:0 var(--space-2)}:host([size='md']) [part='button']{min-height:36px;padding:0 var(--space-3)}:host([variant='neutral']) [part='button']{background:var(--pf-utility-btn-neutral-bg);border-color:var(--pf-utility-btn-neutral-border);color:var(--pf-utility-btn-neutral-text)}:host([variant='neutral']) [part='button']:hover:not(:disabled){background:var(--pf-utility-btn-neutral-bg-hover);border-color:var(--pf-utility-btn-neutral-border-hover)}:host([variant='brand']) [part='button']{background:var(--pf-utility-btn-brand-bg);border-color:var(--pf-utility-btn-brand-border);color:var(--pf-utility-btn-brand-text)}:host([variant='brand']) [part='button']:hover:not(:disabled){background:var(--pf-utility-btn-brand-bg-hover)}:host([variant='destructive']) [part='button']{background:var(--pf-utility-btn-destructive-bg);border-color:var(--pf-utility-btn-destructive-border);color:var(--pf-utility-btn-destructive-text)}:host([variant='destructive']) [part='button']:hover:not(:disabled){background:var(--pf-utility-btn-destructive-bg-hover)}slot[name='icon']::slotted(*){display:block;flex:0 0 auto;height:16px;width:16px}@media (prefers-reduced-motion: reduce){[part='button']{transition:none}}`;const n=class{constructor(e){t(this,e)}get el(){return e(this)}variant="neutral";size="md";disabled=false;type="button";label;tooltip;componentDidLoad(){if(this.label||this.el.getAttribute("aria-label"))return;const t=Array.from(this.el.childNodes).some((t=>t.nodeType===Node.TEXT_NODE&&t.textContent?.trim()||t.nodeType===Node.ELEMENT_NODE&&t.getAttribute("slot")!=="icon"));if(t)return;console.warn("[pf-utility-button] An icon-only button needs a `label` (or an `aria-label`) — this one has no accessible name.")}render(){return r(a,{key:"7086ccf4c93129e544c160cf2c4815f2a3c61484"},r("button",{key:"d938e6170a19ef49c2af1d9e784e42f4192bc530",part:"button",type:this.type,disabled:this.disabled,"aria-label":this.label,title:this.tooltip??this.label},r("slot",{key:"e59b5b03a80eecd37990c89bad5435c4cc0cc7f9",name:"icon"}),r("slot",{key:"ad287e4e52742a5c44eea10745163f065c79af07"})))}static get delegatesFocus(){return true}};n.style=o();export{n as pf_utility_button};
2
+ //# sourceMappingURL=p-1e7e8d25.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfUtilityButtonCss","PfUtilityButton","variant","size","disabled","type","label","tooltip","componentDidLoad","this","el","getAttribute","hasText","Array","from","childNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","ELEMENT_NODE","console","warn","render","h","Host","key","part","title","name"],"sources":["src/components/pf-utility-button/pf-utility-button.css?tag=pf-utility-button&encapsulation=shadow","src/components/pf-utility-button/pf-utility-button.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n[part='button'] {\n align-items: center;\n background: none;\n border: 1px solid transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: inline-flex;\n font-family: inherit;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n gap: var(--space-1);\n justify-content: center;\n line-height: 1;\n white-space: nowrap;\n transition:\n background-color 120ms ease,\n border-color 120ms ease,\n color 120ms ease,\n box-shadow 120ms ease;\n width: 100%;\n}\n\n[part='button']:focus-visible {\n box-shadow: var(--pf-utilitybutton-focus-ring, var(--pf-focus-ring));\n outline: none;\n}\n\n[part='button']:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n:host([size='sm']) [part='button'] {\n min-height: 32px;\n padding: 0 var(--space-2);\n}\n\n:host([size='md']) [part='button'] {\n min-height: 36px;\n padding: 0 var(--space-3);\n}\n\n:host([variant='neutral']) [part='button'] {\n background: var(--pf-utility-btn-neutral-bg);\n border-color: var(--pf-utility-btn-neutral-border);\n color: var(--pf-utility-btn-neutral-text);\n}\n\n:host([variant='neutral']) [part='button']:hover:not(:disabled) {\n background: var(--pf-utility-btn-neutral-bg-hover);\n border-color: var(--pf-utility-btn-neutral-border-hover);\n}\n\n:host([variant='brand']) [part='button'] {\n background: var(--pf-utility-btn-brand-bg);\n border-color: var(--pf-utility-btn-brand-border);\n color: var(--pf-utility-btn-brand-text);\n}\n\n:host([variant='brand']) [part='button']:hover:not(:disabled) {\n background: var(--pf-utility-btn-brand-bg-hover);\n}\n\n:host([variant='destructive']) [part='button'] {\n background: var(--pf-utility-btn-destructive-bg);\n border-color: var(--pf-utility-btn-destructive-border);\n color: var(--pf-utility-btn-destructive-text);\n}\n\n:host([variant='destructive']) [part='button']:hover:not(:disabled) {\n background: var(--pf-utility-btn-destructive-bg-hover);\n}\n\n/*\n * Sizes the icon the consumer slots in. The React library reaches it with a\n * descendant selector (`.pf-utility-button__icon svg`); across a shadow\n * boundary only `::slotted` can, and it reaches the assigned node itself\n * rather than inside it -- so a slotted `pf-icon` is sized here and sizes its\n * own svg.\n */\nslot[name='icon']::slotted(*) {\n display: block;\n flex: 0 0 auto;\n height: 16px;\n width: 16px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n [part='button'] {\n transition: none;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\nexport type PfUtilityButtonVariant = 'neutral' | 'brand' | 'destructive';\nexport type PfUtilityButtonSize = 'sm' | 'md';\n\n/**\n * A compact button for toolbars and table rows, where the affordance is often\n * an icon alone.\n *\n * @slot - the button's label. Omit it for an icon-only button, and give a\n * `label` so the button still has an accessible name.\n * @slot icon - a leading icon, usually `pf-icon`.\n * @part button - the native button element.\n */\n@Component({\n tag: 'pf-utility-button',\n styleUrl: 'pf-utility-button.css',\n // delegatesFocus so focusing <pf-utility-button> reaches the real button and\n // :focus-visible lands on the element the stylesheet rings.\n shadow: { delegatesFocus: true },\n})\nexport class PfUtilityButton {\n @Element() el!: HTMLElement;\n\n /** Colour treatment. Reflected so the stylesheet can select on it. */\n @Prop({ reflect: true }) variant: PfUtilityButtonVariant = 'neutral';\n\n /** Control size. Reflected so the stylesheet can select on it. */\n @Prop({ reflect: true }) size: PfUtilityButtonSize = 'md';\n\n /** Disable the button. Reflected so the stylesheet can select on it. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Mirrors the native attribute. */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Accessible name. Required for an icon-only button, and also used as the\n * native tooltip unless `tooltip` says otherwise.\n */\n @Prop() label?: string;\n\n /** Native tooltip text. Defaults to `label`. */\n @Prop() tooltip?: string;\n\n /**\n * An icon-only button with no name is invisible to a screen reader, and it is\n * the mistake this component invites.\n *\n * Once per element, in `componentDidLoad`. `pf-icon` dedupes its own warning\n * by icon name, but there is no equivalent key here, and a module-level flag\n * would make the warning depend on what else happened to render first. Fifty\n * nameless buttons are fifty real defects, and the React component is noisier\n * still -- it warns from the render body, so once per render.\n */\n componentDidLoad() {\n if (this.label || this.el.getAttribute('aria-label')) return;\n const hasText = Array.from(this.el.childNodes).some(\n (node) =>\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()) ||\n (node.nodeType === Node.ELEMENT_NODE && (node as Element).getAttribute('slot') !== 'icon'),\n );\n if (hasText) return;\n console.warn(\n '[pf-utility-button] An icon-only button needs a `label` (or an `aria-label`) — this one has no accessible name.',\n );\n }\n\n render() {\n return (\n <Host>\n <button\n part=\"button\"\n type={this.type}\n disabled={this.disabled}\n aria-label={this.label}\n title={this.tooltip ?? this.label}\n >\n {/*\n The slots sit directly in the flex container rather than inside\n wrapper spans. A `slot` is `display: contents` per the UA\n stylesheet, so an empty one contributes no flex item and the\n button's `gap` does not open beside it -- which a wrapper span\n would, being a zero-width item that still counts. There is no\n emptiness to detect.\n */}\n <slot name=\"icon\" />\n <slot />\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAqB,IAAM,y3D,MCqBpBC,EAAe,M,iDAIDC,QAAkC,UAGlCC,KAA4B,KAG5BC,SAAW,MAG5BC,KAAsC,SAMtCC,MAGAC,QAYR,gBAAAC,GACE,GAAIC,KAAKH,OAASG,KAAKC,GAAGC,aAAa,cAAe,OACtD,MAAMC,EAAUC,MAAMC,KAAKL,KAAKC,GAAGK,YAAYC,MAC5CC,GACEA,EAAKC,WAAaC,KAAKC,WAAaH,EAAKI,aAAaC,QACtDL,EAAKC,WAAaC,KAAKI,cAAiBN,EAAiBN,aAAa,UAAY,SAEvF,GAAIC,EAAS,OACbY,QAAQC,KACN,kH,CAIJ,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLzB,KAAMI,KAAKJ,KACXD,SAAUK,KAAKL,SAAQ,aACXK,KAAKH,MACjByB,MAAOtB,KAAKF,SAAWE,KAAKH,OAU5BqB,EAAA,QAAAE,IAAA,2CAAMG,KAAK,SACXL,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as s}from"./p-Bm6UxEit.js";const a=()=>`:host{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit, minmax(220px, 1fr))}:host([hidden]){display:none}slot{display:contents}`;const r=class{constructor(t){e(this,t)}render(){return t(s,{key:"cd17f60b2f8f7b5c3e6e0b3d692100b2bf9e0984"},t("slot",{key:"f8f804e6e990e4a969637dc8acea9d761c6d466b"}))}};r.style=a();export{r as pf_metric_grid};
2
+ //# sourceMappingURL=p-1fa3b37b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfMetricGridCss","PfMetricGrid","render","h","Host","key"],"sources":["src/components/pf-metric-grid/pf-metric-grid.css?tag=pf-metric-grid&encapsulation=shadow","src/components/pf-metric-grid/pf-metric-grid.tsx"],"sourcesContent":[":host {\n display: grid;\n gap: var(--space-4);\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/* The cards have to be grid items of the host, not of a box inside it. */\nslot {\n display: contents;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * A responsive grid of `pf-metric-card` children.\n *\n * Nothing but layout — the cards are independent, so there is no state to\n * push down and no group behaviour to own. It exists because the column\n * arithmetic (`auto-fit`, `minmax(220px, 1fr)`) is a decision rather than\n * something a consumer should have to repeat.\n *\n * @slot - the `pf-metric-card` children.\n */\n@Component({\n tag: 'pf-metric-grid',\n styleUrl: 'pf-metric-grid.css',\n shadow: true,\n})\nexport class PfMetricGrid {\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAkB,IAAM,uJ,MCiBjBC,EAAY,M,yBACvB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r,h as d,H as a}from"./p-Bm6UxEit.js";const o=()=>`:host{background:var(--pf-card-background);border:1px solid var(--pf-card-border);border-radius:var(--pf-card-radius, var(--radius-lg));box-shadow:var(--pf-card-shadow, var(--shadow-sm));display:block;overflow:hidden}:host([hidden]){display:none}`;const s=class{constructor(d){r(this,d)}render(){return d(a,{key:"dde68be01e7fc8e7773cf3b21153e2502f115df2"},d("slot",{key:"30bd9de2b4eaf837b40afa6161f18a823c78d683"}))}};s.style=o();export{s as pf_card};
2
+ //# sourceMappingURL=p-22c7e5b4.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfCardCss","PfCard","render","h","Host","key"],"sources":["src/components/pf-card/pf-card.css?tag=pf-card&encapsulation=shadow","src/components/pf-card/pf-card.tsx"],"sourcesContent":["/*\n * The host is the card. `overflow: hidden` is what makes a section's own\n * border-bottom stop at the rounded corner instead of crossing it, so the\n * sections need no corner-radius rules of their own.\n */\n:host {\n background: var(--pf-card-background);\n border: 1px solid var(--pf-card-border);\n border-radius: var(--pf-card-radius, var(--radius-lg));\n box-shadow: var(--pf-card-shadow, var(--shadow-sm));\n display: block;\n overflow: hidden;\n}\n\n:host([hidden]) {\n display: none;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * A surface that groups related content.\n *\n * The React library's `Card` / `CardHeader` / `CardContent` / `CardFooter` map\n * to four elements rather than to one element with named slots. Named slots\n * would need a slot controller to know whether to render each wrapper at all —\n * an unslotted `header` would otherwise leave a padded, bordered empty strip.\n * Separate elements have no such state: the consumer writing\n * `<pf-card-header>` *is* the signal.\n *\n * @slot - the card's sections, usually `pf-card-header`, `pf-card-content` and\n * `pf-card-footer`, though any content is allowed.\n */\n@Component({\n tag: 'pf-card',\n styleUrl: 'pf-card.css',\n shadow: true,\n})\nexport class PfCard {\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"6CAAA,MAAMA,EAAY,IAAM,yP,MCoBXC,EAAM,M,yBACjB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,a as i,h as o,H as s}from"./p-Bm6UxEit.js";import{o as r,p as a}from"./p-CC7AyfOt.js";import{c as n}from"./p-DfpCerXM.js";import{q as c,m as h}from"./p-Dkd7BUB5.js";import{K as l}from"./p-g4FlTDZx.js";import{g as d,r as p}from"./p-CAz7-p8y.js";import{a as f}from"./p-Cr6IXrUk.js";import{c as b}from"./p-Cy_kHPeC.js";const u=()=>`:host{display:block;--pf-option-text:var(--pf-combobox-text);--pf-option-text-disabled:var(--pf-combobox-placeholder);--pf-option-active-bg:var(--pf-combobox-option-active-bg);--pf-option-active-text:var(--pf-combobox-option-active-text)}:host([hidden]){display:none}.field{display:grid;gap:var(--space-1)}.label{color:var(--pf-combobox-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.required{color:var(--pf-combobox-invalid-border);margin-inline-start:var(--space-1)}.control{align-items:center;background:var(--pf-combobox-bg);border:1px solid var(--pf-combobox-border);border-radius:var(--radius-md);display:flex;gap:var(--space-1);padding-inline-end:var(--space-2)}.control:focus-within{border-color:var(--pf-combobox-focus-border);box-shadow:var(--pf-focus-ring)}.control--invalid{border-color:var(--pf-combobox-invalid-border)}.input{background:none;border:0;color:var(--pf-combobox-text);flex:1;font-family:inherit;font-size:var(--font-size-sm);min-width:0;outline:none;padding:var(--space-2) var(--space-3)}.input::placeholder{color:var(--pf-combobox-placeholder)}.input:disabled{cursor:not-allowed;opacity:0.6}.clear,.chevron{align-items:center;color:var(--pf-combobox-placeholder);display:inline-flex;flex-shrink:0;justify-content:center}.clear{background:none;border:0;border-radius:var(--radius-sm);cursor:pointer;padding:var(--space-1)}.clear:hover{color:var(--pf-combobox-text)}.chevron{transition:transform var(--pf-transition-fast)}:host([open]) .chevron{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.chevron{transition:none}}.description{color:var(--pf-combobox-placeholder);font-size:var(--font-size-xs);margin:0}.error{color:var(--pf-combobox-invalid-border);font-size:var(--font-size-xs);margin:0}.listbox{inset:auto;margin:0;background:var(--pf-combobox-menu-bg);border:1px solid var(--pf-combobox-menu-border);border-radius:var(--radius-md);box-shadow:var(--pf-elevation-popover-shadow);max-height:min(60vh, 320px);overflow-y:auto;padding:var(--space-1)}.listbox:popover-open{animation:pf-combobox-in var(--pf-transition-enter)}@keyframes pf-combobox-in{from{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.listbox:popover-open{animation:none}}.empty{color:var(--pf-combobox-placeholder);font-size:var(--font-size-sm);margin:0;padding:var(--space-3);text-align:center}`;const m={[l.ArrowDown]:"next",[l.ArrowUp]:"previous",[l.Home]:"first",[l.End]:"last"};const v=class{constructor(i){t(this,i);this.pfChange=e(this,"pfChange");this.pfOpenChange=e(this,"pfOpenChange");if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}}get el(){return i(this)}internals;name;value="";open=false;label;description;error;placeholder="Search…";emptyMessage="No matches";required=false;disabled=false;clearable=true;clearLabel="Clear";pfChange;pfOpenChange;query="";matchCount=0;initialValue="";stopObserving;activeOption=null;componentWillLoad(){this.initialValue=this.value??"";this.syncFormState();this.query=this.selectedLabel();this.applyQuery()}componentDidRender(){this.syncActiveDescendant()}disconnectedCallback(){this.stopObserving?.()}syncFormState(){this.internals.setFormValue(this.value||null);f(this.internals,Boolean(this.value),this.required,this.error)}syncSelection(){for(const t of this.options()){t.selected=this.optionValue(t)===this.value&&this.value!==""}this.query=this.selectedLabel();this.applyQuery()}syncOpen(t,e){if(t)this.showListbox();else this.hideListbox();if(t!==e)this.pfOpenChange.emit({open:t})}async show(){if(!this.disabled)this.open=true}async hide(){this.open=false}async checkValidity(){return this.internals.checkValidity()}async reportValidity(){return this.internals.reportValidity()}async getValidationMessage(){return this.internals.validationMessage}formResetCallback(){this.value=this.initialValue;this.query=this.selectedLabel();this.applyQuery()}async refresh(){this.syncSelection()}onSlotChange=()=>{this.syncSelection()};options(){return Array.from(this.el.querySelectorAll("pf-option"))}visible(){return this.options().filter((t=>!t.hasAttribute("hidden")))}optionValue(t){return t.value??t.getAttribute("value")??""}selectedLabel(){const t=this.options().find((t=>this.optionValue(t)===this.value));return this.value&&t?t.textContent?.trim()??"":""}get listbox(){return this.el.shadowRoot?.querySelector('[part="listbox"]')??null}get input(){return this.el.shadowRoot?.querySelector('[part="input"]')??null}get control(){return this.el.shadowRoot?.querySelector('[part="control"]')??null}applyQuery(){const t=c(this.query,this.selectedLabel());const e=this.options();for(const i of e){const e=t||h({label:i.textContent?.trim()??""},this.query);if(e)i.removeAttribute("hidden");else i.setAttribute("hidden","")}const i=this.visible();this.matchCount=i.length;const o=i.find((t=>!t.hasAttribute("disabled")))??null;if(!this.activeOption||this.activeOption.hasAttribute("hidden"))this.setActive(o)}showListbox(){const t=this.listbox;if(this.disabled||!t||t.matches(":popover-open"))return;t.showPopover();this.stopObserving?.();this.stopObserving=r({getAnchor:()=>this.control,getFloating:()=>t,matchAnchorWidth:true,flip:true,onChange:({left:e,top:i,width:o,minWidth:s})=>{a(t,e,i);if(o!==undefined)t.style.width=`${o}px`;if(s!==undefined)t.style.minWidth=`${s}px`}});this.applyQuery()}hideListbox(){this.stopObserving?.();this.stopObserving=undefined;const t=this.listbox;if(t?.matches(":popover-open"))t.hidePopover()}onToggle=t=>{const e=t.newState==="open";if(this.open!==e)this.open=e;if(!e){this.query=this.selectedLabel();this.applyQuery();this.input?.focus()}};setActive(t){for(const e of this.options()){if(e!==t)e.active=false}if(t)t.active=true;this.activeOption=t;this.syncActiveDescendant();if(t&&typeof t.scrollIntoView==="function"){t.scrollIntoView({block:"nearest"})}}syncActiveDescendant(){const t=this.input;if(!t||!("ariaActiveDescendantElement"in t))return;t.ariaActiveDescendantElement=this.open?this.activeOption:null}commit(t){if(t.hasAttribute("disabled"))return;const e=this.optionValue(t);this.open=false;if(e!==this.value){this.value=e;this.pfChange.emit({value:e})}this.query=this.selectedLabel();this.applyQuery();this.input?.focus()}handleOptionSelect(t){t.stopPropagation();if(this.disabled)return;const e=this.options().find((e=>this.optionValue(e)===t.detail.value));if(e)this.commit(e)}move(t){const e=this.visible();const i=d(e,(t=>t.hasAttribute("disabled")));const o=this.activeOption?e.indexOf(this.activeOption):-1;const s=p(t,i,o);if(s!==-1)this.setActive(e[s]??null)}onInput=t=>{this.query=t.target.value;this.applyQuery();if(!this.open)this.open=true};clear=()=>{this.query="";if(this.value!==""){this.value="";this.pfChange.emit({value:""})}this.applyQuery();this.open=true;this.input?.focus()};onKeyDown=t=>{if(this.disabled)return;const e=m[t.key];if(e){t.preventDefault();if(!this.open)this.open=true;else this.move(e);return}if(t.key===l.Enter&&this.open&&this.activeOption){t.preventDefault();this.commit(this.activeOption)}};render(){const t=n(this.description&&"description",this.error&&"error");const e=this.clearable&&!this.disabled&&(this.query!==""||this.value!=="");return o(s,{key:"4a948db9316e8174c9c7592afb9912deb59eecdd"},o("div",{key:"ac5e469f9c00ec843fdb7a485cb3cbe9ddc08573",class:"field",part:"field"},this.label&&o("label",{key:"eb610c213cfe510c229f5ffa81e9761bf7303476",class:"label",part:"label",htmlFor:"input"},this.label,this.required&&o("span",{key:"d942137e81be6007aafe2e1dfc43e97e2ab8af59",class:"required","aria-hidden":"true"},"*")),o("div",{key:"b9f4806e7882e5dc2c64abe87f48bb925173d7dc",class:{control:true,"control--invalid":Boolean(this.error)},part:"control"},o("input",{key:"9a10cc81ff212f3e279cfcc311886756d7ca76f1",id:"input","aria-label":b(this.el,this.label),part:"input",class:"input",type:"text",role:"combobox",autocomplete:"off",disabled:this.disabled,required:this.required,placeholder:this.placeholder,value:this.query,"aria-autocomplete":"list","aria-expanded":this.open?"true":"false","aria-controls":"listbox","aria-invalid":this.error?"true":null,"aria-describedby":t,onInput:this.onInput,onKeyDown:this.onKeyDown,onClick:()=>{if(!this.disabled)this.open=true}}),e&&o("button",{key:"bc9f8df667df57cbede3aa00a4119f6591faeb7d",class:"clear",part:"clear",type:"button","aria-label":this.clearLabel,tabindex:-1,onMouseDown:t=>t.preventDefault(),onClick:this.clear},o("pf-icon",{key:"580dab29c2631f79b7a611f7dd95a81fc5cffda2",name:"circle-xmark"})),o("span",{key:"06d06d1fcbae5937632cf2451ab97d42d1410c91",class:"chevron","aria-hidden":"true"},o("pf-icon",{key:"d30dd0a5d008cec99c1ec8fd25acc7fdfbdd68db",name:"chevron-down"}))),this.description&&o("p",{key:"09873008049536bb2eab61825ae95a2d92e3952a",class:"description",part:"description",id:"description"},this.description),this.error&&o("p",{key:"ee43b1e024ff0e6e052054278680e04651b55421",class:"error",part:"error",id:"error"},this.error)),o("div",{key:"5b221c6566bc6dd29dc3a5d9ee5268ec65fa296e",id:"listbox",part:"listbox",class:"listbox",popover:"auto",role:"listbox","aria-label":this.label??this.placeholder,onToggle:this.onToggle},o("slot",{key:"645c56c8dd776ddd013be68c2bfc544f35c05b35",onSlotchange:this.onSlotChange}),this.matchCount===0&&o("p",{key:"9a3aac572c41177b41be06f9986d0718756c7de3",class:"empty",part:"empty"},this.emptyMessage)))}static get formAssociated(){return true}static get watchers(){return{value:[{syncFormState:0},{syncSelection:0}],error:[{syncFormState:0}],required:[{syncFormState:0}],open:[{syncOpen:0}]}}};v.style=u();export{v as pf_combobox};
2
+ //# sourceMappingURL=p-22d8c69d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pfComboboxCss","MOVES","Keys","ArrowDown","ArrowUp","Home","End","PfCombobox","internals","name","value","open","label","description","error","placeholder","emptyMessage","required","disabled","clearable","clearLabel","pfChange","pfOpenChange","query","matchCount","initialValue","stopObserving","activeOption","componentWillLoad","this","syncFormState","selectedLabel","applyQuery","componentDidRender","syncActiveDescendant","disconnectedCallback","setFormValue","applyControlValidity","Boolean","syncSelection","option","options","selected","optionValue","syncOpen","next","previous","showListbox","hideListbox","emit","show","hide","checkValidity","reportValidity","getValidationMessage","validationMessage","formResetCallback","refresh","onSlotChange","Array","from","el","querySelectorAll","visible","filter","hasAttribute","getAttribute","chosen","find","textContent","trim","listbox","shadowRoot","querySelector","input","control","echoed","queryIsEchoedSelection","matches","matchesCommandQuery","removeAttribute","setAttribute","length","first","setActive","panel","showPopover","observeAnchoredPosition","getAnchor","getFloating","matchAnchorWidth","flip","onChange","left","top","width","minWidth","placePopover","undefined","style","hidePopover","onToggle","event","nowOpen","newState","focus","other","active","scrollIntoView","block","ariaActiveDescendantElement","commit","handleOptionSelect","stopPropagation","candidate","detail","move","action","enabledIndexes","getEnabledIndexes","current","indexOf","resolveListMove","onInput","target","clear","onKeyDown","key","preventDefault","Enter","render","describedBy","composeDescribedBy","showClear","h","Host","class","part","htmlFor","id","controlAriaLabel","type","role","autocomplete","onClick","tabindex","onMouseDown","popover","onSlotchange"],"sources":["src/components/pf-combobox/pf-combobox.css?tag=pf-combobox&encapsulation=shadow","src/components/pf-combobox/pf-combobox.tsx"],"sourcesContent":["/*\n * The generic set pf-option reads, mapped to this control's own family — see\n * pf-option.css. The same option element is themed by whichever listbox it is\n * slotted into.\n */\n:host {\n display: block;\n --pf-option-text: var(--pf-combobox-text);\n --pf-option-text-disabled: var(--pf-combobox-placeholder);\n --pf-option-active-bg: var(--pf-combobox-option-active-bg);\n --pf-option-active-text: var(--pf-combobox-option-active-text);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.field {\n display: grid;\n gap: var(--space-1);\n}\n\n.label {\n color: var(--pf-combobox-text);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n}\n\n.required {\n color: var(--pf-combobox-invalid-border);\n margin-inline-start: var(--space-1);\n}\n\n.control {\n align-items: center;\n background: var(--pf-combobox-bg);\n border: 1px solid var(--pf-combobox-border);\n border-radius: var(--radius-md);\n display: flex;\n gap: var(--space-1);\n padding-inline-end: var(--space-2);\n}\n\n.control:focus-within {\n border-color: var(--pf-combobox-focus-border);\n box-shadow: var(--pf-focus-ring);\n}\n\n.control--invalid {\n border-color: var(--pf-combobox-invalid-border);\n}\n\n.input {\n background: none;\n border: 0;\n color: var(--pf-combobox-text);\n flex: 1;\n font-family: inherit;\n font-size: var(--font-size-sm);\n min-width: 0;\n outline: none;\n padding: var(--space-2) var(--space-3);\n}\n\n.input::placeholder {\n color: var(--pf-combobox-placeholder);\n}\n\n.input:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.clear,\n.chevron {\n align-items: center;\n color: var(--pf-combobox-placeholder);\n display: inline-flex;\n flex-shrink: 0;\n justify-content: center;\n}\n\n.clear {\n background: none;\n border: 0;\n border-radius: var(--radius-sm);\n cursor: pointer;\n padding: var(--space-1);\n}\n\n.clear:hover {\n color: var(--pf-combobox-text);\n}\n\n.chevron {\n transition: transform var(--pf-transition-fast);\n}\n\n:host([open]) .chevron {\n transform: rotate(180deg);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .chevron {\n transition: none;\n }\n}\n\n.description {\n color: var(--pf-combobox-placeholder);\n font-size: var(--font-size-xs);\n margin: 0;\n}\n\n.error {\n color: var(--pf-combobox-invalid-border);\n font-size: var(--font-size-xs);\n margin: 0;\n}\n\n/* See src/place-popover.ts: the UA stylesheet centres a popover otherwise. */\n.listbox {\n inset: auto;\n margin: 0;\n background: var(--pf-combobox-menu-bg);\n border: 1px solid var(--pf-combobox-menu-border);\n border-radius: var(--radius-md);\n box-shadow: var(--pf-elevation-popover-shadow);\n max-height: min(60vh, 320px);\n overflow-y: auto;\n padding: var(--space-1);\n}\n\n.listbox:popover-open {\n animation: pf-combobox-in var(--pf-transition-enter);\n}\n\n/* Its own copy: @keyframes do not cross a shadow boundary. */\n@keyframes pf-combobox-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .listbox:popover-open {\n animation: none;\n }\n}\n\n.empty {\n color: var(--pf-combobox-placeholder);\n font-size: var(--font-size-sm);\n margin: 0;\n padding: var(--space-3);\n text-align: center;\n}\n","import {\n composeDescribedBy,\n getEnabledIndexes,\n Keys,\n matchesCommandQuery,\n observeAnchoredPosition,\n queryIsEchoedSelection,\n resolveListMove,\n type ListNavigationAction,\n} from '@pitchfork-ui/core';\n\nimport { applyControlValidity } from '../../form-validity';\nimport { controlAriaLabel } from '../../control-label';\nimport { placePopover } from '../../place-popover';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nconst MOVES: Record<string, ListNavigationAction> = {\n [Keys.ArrowDown]: 'next',\n [Keys.ArrowUp]: 'previous',\n [Keys.Home]: 'first',\n [Keys.End]: 'last',\n};\n\n/**\n * A form-associated combobox: an editable field that filters `pf-option`\n * children.\n *\n * It shares `pf-option` with `pf-select`, which is why the option reads a\n * generic `--pf-option-*` set that each container maps to its own family —\n * the same arrangement as `pf-menu-item` between the two menus.\n *\n * Filtering is core's `matchesCommandQuery`, and so is the rule that a query\n * which is only the chosen label echoed back does not filter: without it,\n * reopening the list to change your mind would show the one answer you already\n * had. Both shared with the React component, which is now rewired to them.\n *\n * Two things the React `Combobox` does not do, both gaps rather than choices:\n * Home and End, and arrows that wrap rather than stop at the ends — which is\n * what `pf-select` does, and one design system should not have two arrow\n * behaviours in neighbouring controls.\n *\n * @slot - the `pf-option` children.\n * @part field - the wrapper around label, control and messages.\n * @part label - the label element.\n * @part control - the box holding the input, clear button and chevron.\n * @part input - the editable field.\n * @part clear - the clear button.\n * @part listbox - the floating listbox the options are slotted into.\n * @part empty - the message shown when nothing matches.\n * @part description - the hint text below the control.\n * @part error - the error message below the control.\n */\n@Component({\n tag: 'pf-combobox',\n styleUrl: 'pf-combobox.css',\n formAssociated: true,\n shadow: true,\n})\nexport class PfCombobox {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n /** Submitted under this name. Reflected; the submission reads the attribute. */\n @Prop({ reflect: true }) name?: string;\n\n /** The chosen option's value, or empty. */\n @Prop({ mutable: true, reflect: true }) value = '';\n\n /** Whether the listbox is showing. Reflected for the stylesheet. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n @Prop() label?: string;\n\n @Prop() description?: string;\n\n @Prop() error?: string;\n\n @Prop() placeholder = 'Search…';\n\n /** Shown when the query matches nothing. */\n @Prop() emptyMessage = 'No matches';\n\n @Prop({ reflect: true }) required = false;\n\n @Prop({ reflect: true }) disabled = false;\n\n /** Offer a button that empties the field. */\n @Prop() clearable = true;\n\n /** Accessible name for that button. */\n @Prop() clearLabel = 'Clear';\n\n /** Fires when the chosen value changes. */\n @Event() pfChange!: EventEmitter<{ value: string }>;\n\n /** Fires whenever the listbox opens or closes, whoever caused it. */\n @Event() pfOpenChange!: EventEmitter<{ open: boolean }>;\n\n /** What the field holds, which is not the value until an option is chosen. */\n @State() query = '';\n\n @State() matchCount = 0;\n\n private initialValue = '';\n private stopObserving?: () => void;\n private activeOption: HTMLElement | null = null;\n\n componentWillLoad() {\n this.initialValue = this.value ?? '';\n this.syncFormState();\n this.query = this.selectedLabel();\n this.applyQuery();\n }\n\n componentDidRender() {\n this.syncActiveDescendant();\n }\n\n disconnectedCallback() {\n this.stopObserving?.();\n }\n\n @Watch('value')\n @Watch('error')\n @Watch('required')\n syncFormState() {\n this.internals.setFormValue(this.value || null);\n applyControlValidity(this.internals, Boolean(this.value), this.required, this.error);\n }\n\n /** A value set from outside puts its label in the field and marks the option. */\n @Watch('value')\n syncSelection() {\n for (const option of this.options()) {\n (option as HTMLElement & { selected: boolean }).selected =\n this.optionValue(option) === this.value && this.value !== '';\n }\n this.query = this.selectedLabel();\n this.applyQuery();\n }\n\n @Watch('open')\n syncOpen(next: boolean, previous: boolean) {\n if (next) this.showListbox();\n else this.hideListbox();\n if (next !== previous) this.pfOpenChange.emit({ open: next });\n }\n\n @Method()\n async show(): Promise<void> {\n if (!this.disabled) this.open = true;\n }\n\n @Method()\n async hide(): Promise<void> {\n this.open = false;\n }\n\n @Method()\n async checkValidity(): Promise<boolean> {\n return this.internals.checkValidity();\n }\n\n @Method()\n async reportValidity(): Promise<boolean> {\n return this.internals.reportValidity();\n }\n\n @Method()\n async getValidationMessage(): Promise<string> {\n return this.internals.validationMessage;\n }\n\n formResetCallback() {\n this.value = this.initialValue;\n this.query = this.selectedLabel();\n this.applyQuery();\n }\n\n /** Re-reads the options, for a label edited in place (no `slotchange` fires). */\n @Method()\n async refresh(): Promise<void> {\n this.syncSelection();\n }\n\n private onSlotChange = () => {\n this.syncSelection();\n };\n\n private options(): HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('pf-option'));\n }\n\n private visible(): HTMLElement[] {\n return this.options().filter((option) => !option.hasAttribute('hidden'));\n }\n\n /** The property, never the attribute: a binding may only have set the former. */\n private optionValue(option: HTMLElement): string {\n return (option as HTMLElement & { value?: string }).value ?? option.getAttribute('value') ?? '';\n }\n\n private selectedLabel(): string {\n const chosen = this.options().find((option) => this.optionValue(option) === this.value);\n return this.value && chosen ? (chosen.textContent?.trim() ?? '') : '';\n }\n\n private get listbox() {\n return this.el.shadowRoot?.querySelector<HTMLElement>('[part=\"listbox\"]') ?? null;\n }\n\n private get input() {\n return this.el.shadowRoot?.querySelector<HTMLInputElement>('[part=\"input\"]') ?? null;\n }\n\n private get control() {\n return this.el.shadowRoot?.querySelector<HTMLElement>('[part=\"control\"]') ?? null;\n }\n\n /**\n * Hides the options the query excludes.\n *\n * `hidden` plus `:host([hidden]) { display: none }` on the option, because\n * the attribute alone loses to the option's own `display: block`.\n */\n private applyQuery() {\n const echoed = queryIsEchoedSelection(this.query, this.selectedLabel());\n const options = this.options();\n\n for (const option of options) {\n const matches =\n echoed || matchesCommandQuery({ label: option.textContent?.trim() ?? '' }, this.query);\n if (matches) option.removeAttribute('hidden');\n else option.setAttribute('hidden', '');\n }\n\n const visible = this.visible();\n this.matchCount = visible.length;\n\n // A new query starts at the top of what is left.\n const first = visible.find((option) => !option.hasAttribute('disabled')) ?? null;\n if (!this.activeOption || this.activeOption.hasAttribute('hidden')) this.setActive(first);\n }\n\n private showListbox() {\n const panel = this.listbox;\n if (this.disabled || !panel || panel.matches(':popover-open')) return;\n\n panel.showPopover();\n this.stopObserving?.();\n this.stopObserving = observeAnchoredPosition({\n getAnchor: () => this.control,\n getFloating: () => panel,\n matchAnchorWidth: true,\n flip: true,\n onChange: ({ left, top, width, minWidth }) => {\n placePopover(panel, left, top);\n if (width !== undefined) panel.style.width = `${width}px`;\n if (minWidth !== undefined) panel.style.minWidth = `${minWidth}px`;\n },\n });\n\n this.applyQuery();\n }\n\n private hideListbox() {\n this.stopObserving?.();\n this.stopObserving = undefined;\n const panel = this.listbox;\n if (panel?.matches(':popover-open')) panel.hidePopover();\n }\n\n /**\n * A browser-driven close — light dismiss or Escape — reverts the field to\n * the chosen label, so a half-typed query never lingers over a different\n * value. Focus goes back to the input rather than the trigger, because here\n * the input *is* the control.\n */\n private onToggle = (event: ToggleEvent) => {\n const nowOpen = event.newState === 'open';\n if (this.open !== nowOpen) this.open = nowOpen;\n if (!nowOpen) {\n this.query = this.selectedLabel();\n this.applyQuery();\n this.input?.focus();\n }\n };\n\n private setActive(option: HTMLElement | null) {\n for (const other of this.options()) {\n if (other !== option) (other as HTMLElement & { active: boolean }).active = false;\n }\n if (option) (option as HTMLElement & { active: boolean }).active = true;\n\n this.activeOption = option;\n this.syncActiveDescendant();\n if (option && typeof option.scrollIntoView === 'function') {\n option.scrollIntoView({ block: 'nearest' });\n }\n }\n\n /**\n * Set as an element, not an IDREF: the input is in this shadow root and the\n * options are slotted light DOM, and a cross-root IDREF is absent from the\n * accessibility tree — measured. Feature-detected, because where element\n * reflection is missing there is no cross-root equivalent.\n */\n private syncActiveDescendant() {\n const input = this.input;\n if (!input || !('ariaActiveDescendantElement' in input)) return;\n (\n input as unknown as { ariaActiveDescendantElement: Element | null }\n ).ariaActiveDescendantElement = this.open ? this.activeOption : null;\n }\n\n private commit(option: HTMLElement) {\n if (option.hasAttribute('disabled')) return;\n\n const next = this.optionValue(option);\n this.open = false;\n\n if (next !== this.value) {\n this.value = next;\n this.pfChange.emit({ value: next });\n }\n\n // Set after the value, so it is the chosen label rather than the query.\n this.query = this.selectedLabel();\n this.applyQuery();\n this.input?.focus();\n }\n\n @Listen('pfOptionSelect')\n handleOptionSelect(event: CustomEvent<{ value: string }>) {\n event.stopPropagation();\n if (this.disabled) return;\n\n const option = this.options().find(\n (candidate) => this.optionValue(candidate) === event.detail.value,\n );\n if (option) this.commit(option);\n }\n\n private move(action: ListNavigationAction) {\n const visible = this.visible();\n const enabledIndexes = getEnabledIndexes(visible, (option) => option.hasAttribute('disabled'));\n const current = this.activeOption ? visible.indexOf(this.activeOption) : -1;\n const next = resolveListMove(action, enabledIndexes, current);\n if (next !== -1) this.setActive(visible[next] ?? null);\n }\n\n private onInput = (event: Event) => {\n this.query = (event.target as HTMLInputElement).value;\n this.applyQuery();\n if (!this.open) this.open = true;\n };\n\n private clear = () => {\n this.query = '';\n if (this.value !== '') {\n this.value = '';\n this.pfChange.emit({ value: '' });\n }\n this.applyQuery();\n this.open = true;\n this.input?.focus();\n };\n\n private onKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n const move = MOVES[event.key];\n if (move) {\n event.preventDefault();\n if (!this.open) this.open = true;\n else this.move(move);\n return;\n }\n\n /*\n * Enter only commits while the listbox is open. Closed, it is left alone\n * so a combobox inside a form still submits it.\n */\n if (event.key === Keys.Enter && this.open && this.activeOption) {\n event.preventDefault();\n this.commit(this.activeOption);\n }\n\n // Escape is the browser's: `popover=\"auto\"` closes, and `onToggle` reverts.\n };\n\n render() {\n const describedBy = composeDescribedBy(\n this.description && 'description',\n this.error && 'error',\n );\n const showClear = this.clearable && !this.disabled && (this.query !== '' || this.value !== '');\n\n return (\n <Host>\n <div class=\"field\" part=\"field\">\n {this.label && (\n <label class=\"label\" part=\"label\" htmlFor=\"input\">\n {this.label}\n {this.required && (\n <span class=\"required\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n <div class={{ control: true, 'control--invalid': Boolean(this.error) }} part=\"control\">\n <input\n id=\"input\"\n aria-label={controlAriaLabel(this.el, this.label)}\n part=\"input\"\n class=\"input\"\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n disabled={this.disabled}\n required={this.required}\n placeholder={this.placeholder}\n value={this.query}\n aria-autocomplete=\"list\"\n aria-expanded={this.open ? 'true' : 'false'}\n /* Same shadow root as the listbox, so this IDREF resolves. */\n aria-controls=\"listbox\"\n aria-invalid={this.error ? 'true' : null}\n aria-describedby={describedBy}\n onInput={this.onInput}\n onKeyDown={this.onKeyDown}\n onClick={() => {\n if (!this.disabled) this.open = true;\n }}\n />\n\n {showClear && (\n <button\n class=\"clear\"\n part=\"clear\"\n type=\"button\"\n aria-label={this.clearLabel}\n /* Out of the tab order, so it never interrupts the keyboard flow. */\n tabindex={-1}\n onMouseDown={(event) => event.preventDefault()}\n onClick={this.clear}\n >\n <pf-icon name=\"circle-xmark\"></pf-icon>\n </button>\n )}\n\n <span class=\"chevron\" aria-hidden=\"true\">\n <pf-icon name=\"chevron-down\"></pf-icon>\n </span>\n </div>\n\n {this.description && (\n <p class=\"description\" part=\"description\" id=\"description\">\n {this.description}\n </p>\n )}\n {this.error && (\n <p class=\"error\" part=\"error\" id=\"error\">\n {this.error}\n </p>\n )}\n </div>\n\n <div\n id=\"listbox\"\n part=\"listbox\"\n class=\"listbox\"\n popover=\"auto\"\n role=\"listbox\"\n aria-label={this.label ?? this.placeholder}\n onToggle={this.onToggle}\n >\n <slot onSlotchange={this.onSlotChange} />\n {this.matchCount === 0 && (\n <p class=\"empty\" part=\"empty\">\n {this.emptyMessage}\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,a as t,h as e,H as o}from"./p-Bm6UxEit.js";function r(a,t,e){const o=Number.isFinite(a)?Math.max(Math.floor(a),0):0;const r=Math.min(o,Number.isFinite(t)?Math.max(Math.floor(t),0):0);const s=e!==void 0&&Number.isFinite(e)?Math.max(Math.floor(e),0):o;return{shown:r,overflow:Math.max(s-r,0),total:s}}function s(a){const t=Number.isFinite(a)?Math.max(Math.floor(a),0):0;return`${t} ${t===1?"person":"people"}`}const n=()=>`:host{--pf-avatar-group-overlap:8px;align-items:center;display:inline-flex}:host([hidden]){display:none}:host([size='lg']),:host([size='xl']){--pf-avatar-group-overlap:12px}::slotted(pf-avatar),.overflow{box-shadow:0 0 0 2px var(--pf-avatar-group-ring);position:relative}::slotted(pf-avatar:not(:first-child)),.overflow{margin-inline-start:calc(-1 * var(--pf-avatar-group-overlap))}::slotted(pf-avatar[data-pf-overflow]){display:none}.overflow{--pf-avatar-bg:var(--pf-avatar-group-overflow-bg);--pf-avatar-text:var(--pf-avatar-group-overflow-text)}`;const i=class{constructor(t){a(this,t)}get el(){return t(this)}max=5;size="md";total;label;overflow=0;counted=0;componentWillLoad(){this.sync()}componentDidLoad(){this.sync()}handleStateChange(){this.sync()}async refresh(){this.sync()}get avatars(){return Array.from(this.el.querySelectorAll("pf-avatar")).filter((a=>a.parentElement===this.el))}sync(){const a=this.avatars;const t=r(a.length,Number(this.max),this.total);for(const[e,o]of a.entries()){o.size=this.size;if(e<t.shown)o.removeAttribute("data-pf-overflow");else o.setAttribute("data-pf-overflow","");o.style.zIndex=e<t.shown?`${t.shown-e}`:""}this.overflow=t.overflow;this.counted=t.total}render(){return e(o,{key:"42ec24fb2307fda7fee46622cab9cd04fd33626d",role:"group","aria-label":this.label??s(this.counted)},e("slot",{key:"774448c455e6aa400b050fde75831f1c9e66ac95",onSlotchange:()=>this.refresh()}),this.overflow>0&&e("pf-avatar",{key:"fee71535c6973de304a38761fb8db8ddb5734e3e",class:"overflow",part:"overflow",size:this.size,name:`${this.overflow} more`},"+",this.overflow))}static get watchers(){return{max:[{handleStateChange:0}],size:[{handleStateChange:0}],total:[{handleStateChange:0}]}}};i.style=n();export{i as pf_avatar_group};
2
+ //# sourceMappingURL=p-248bd301.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["splitAvatarGroup","count","max","total","safeCount","Number","isFinite","Math","floor","shown","min","resolvedTotal","overflow","avatarGroupLabel","safeTotal","pfAvatarGroupCss","PfAvatarGroup","size","label","counted","componentWillLoad","this","sync","componentDidLoad","handleStateChange","refresh","avatars","Array","from","el","querySelectorAll","filter","avatar","parentElement","split","length","index","entries","removeAttribute","setAttribute","style","zIndex","render","h","Host","key","role","onSlotchange","class","part","name"],"sources":["../core/dist/avatar-group.js","src/components/pf-avatar-group/pf-avatar-group.css?tag=pf-avatar-group&encapsulation=shadow","src/components/pf-avatar-group/pf-avatar-group.tsx"],"sourcesContent":["//#region src/avatar-group.ts\n/**\n* Splits `count` avatars into the ones shown and the overflow.\n*\n* `total` is for a group that knows how many people there are without being\n* handed an avatar for each — \"5 of 40\" shows five faces and `+35`. Without\n* it the count is simply how many avatars there are.\n*\n* A negative or fractional `max` cannot produce a negative row: it floors at\n* zero, which shows the chip alone.\n*/\nfunction splitAvatarGroup(count, max, total) {\n\tconst safeCount = Number.isFinite(count) ? Math.max(Math.floor(count), 0) : 0;\n\tconst shown = Math.min(safeCount, Number.isFinite(max) ? Math.max(Math.floor(max), 0) : 0);\n\tconst resolvedTotal = total !== void 0 && Number.isFinite(total) ? Math.max(Math.floor(total), 0) : safeCount;\n\treturn {\n\t\tshown,\n\t\toverflow: Math.max(resolvedTotal - shown, 0),\n\t\ttotal: resolvedTotal\n\t};\n}\n/**\n* What an unnamed avatar group is called: \"1 person\", \"4 people\".\n*\n* Here rather than in either layer because it is the group's accessible name,\n* and a group that announced itself differently in the two layers would be a\n* different control to a screen reader.\n*/\nfunction avatarGroupLabel(total) {\n\tconst safeTotal = Number.isFinite(total) ? Math.max(Math.floor(total), 0) : 0;\n\treturn `${safeTotal} ${safeTotal === 1 ? \"person\" : \"people\"}`;\n}\n//#endregion\nexport { avatarGroupLabel, splitAvatarGroup };\n",":host {\n /* How far each avatar laps over the one before it. */\n --pf-avatar-group-overlap: 8px;\n align-items: center;\n display: inline-flex;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([size='lg']),\n:host([size='xl']) {\n --pf-avatar-group-overlap: 12px;\n}\n\n/*\n * The ring is drawn in the surface colour, so overlapping avatars stay\n * separated. `position: relative` is what makes the z-index the group writes\n * on each avatar mean anything.\n */\n::slotted(pf-avatar),\n.overflow {\n box-shadow: 0 0 0 2px var(--pf-avatar-group-ring);\n position: relative;\n}\n\n/*\n * `:not(:first-child)` inside `::slotted()` rather than a sibling combinator:\n * the parens take a compound selector and no combinator, so `::slotted(a + a)`\n * cannot be written -- the same limit that keeps pf-accordion's rule in the\n * child. A pseudo-class is part of a compound selector, so this one is fine.\n */\n::slotted(pf-avatar:not(:first-child)),\n.overflow {\n margin-inline-start: calc(-1 * var(--pf-avatar-group-overlap));\n}\n\n/*\n * Collapsed by the group. A data attribute of the group's own, so an avatar\n * the *consumer* hid with `hidden` is a separate thing and still works.\n */\n::slotted(pf-avatar[data-pf-overflow]) {\n display: none;\n}\n\n/*\n * The chip's colours go through the properties pf-avatar already reads, which\n * inherit through the shadow boundary -- the pf-option bridge again, and the\n * way to colour a nested element without reaching into its shadow root.\n */\n.overflow {\n --pf-avatar-bg: var(--pf-avatar-group-overflow-bg);\n --pf-avatar-text: var(--pf-avatar-group-overflow-text);\n}\n","import { avatarGroupLabel, splitAvatarGroup } from '@pitchfork-ui/core';\nimport { Component, Element, h, Host, Method, Prop, State, Watch } from '@stencil/core';\n\nimport type { PfAvatarSize } from '../pf-avatar/pf-avatar';\n\n/**\n * A stack of overlapping `pf-avatar` children, with a `+N` chip for the ones\n * that did not fit.\n *\n * Children rather than an array of people, as everywhere else — a consumer\n * loops in their own template, and each avatar keeps its own `src`, `name` and\n * `status`.\n *\n * The chip is a `pf-avatar` of its own, in the shadow root: it needs an\n * avatar's shape, size and ring, and reusing the element is how it gets them\n * without a second copy of all three. Its colours come through the\n * `--pf-avatar-*` properties the avatar already reads, which inherit through\n * the shadow boundary.\n *\n * @slot - the `pf-avatar` children.\n * @part overflow - the `+N` chip, when something did not fit.\n */\n@Component({\n tag: 'pf-avatar-group',\n styleUrl: 'pf-avatar-group.css',\n shadow: true,\n})\nexport class PfAvatarGroup {\n @Element() el!: HTMLElement;\n\n /** How many avatars to show before collapsing the rest into the chip. */\n @Prop() max = 5;\n\n /** Applied to every avatar in the group. Reflected, and pushed down. */\n @Prop({ reflect: true }) size: PfAvatarSize = 'md';\n\n /**\n * The group's real size, for a group that knows how many people there are\n * without being handed an avatar for each: five faces and `+35`.\n */\n @Prop() total?: number;\n\n /** Overrides the generated name, which counts the people in the group. */\n @Prop() label?: string;\n\n /** How many did not fit, which is what the chip says. */\n @State() overflow = 0;\n\n /** How many the group counts, which is what its name says. */\n @State() counted = 0;\n\n /** The light DOM is readable here, so first paint is already right. */\n componentWillLoad() {\n this.sync();\n }\n\n componentDidLoad() {\n this.sync();\n }\n\n @Watch('max')\n @Watch('size')\n @Watch('total')\n handleStateChange() {\n this.sync();\n }\n\n /** Re-reads the children, for a consumer who changed one through a property. */\n @Method()\n async refresh() {\n this.sync();\n }\n\n /** Direct children only: a nested group owns its own avatars. */\n private get avatars(): HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('pf-avatar')).filter(\n (avatar) => avatar.parentElement === this.el,\n );\n }\n\n private sync() {\n const avatars = this.avatars;\n const split = splitAvatarGroup(avatars.length, Number(this.max), this.total);\n\n for (const [index, avatar] of avatars.entries()) {\n (avatar as HTMLElement & { size: PfAvatarSize }).size = this.size;\n\n /*\n * A data attribute of the group's own rather than `hidden`: `hidden` is\n * the consumer's to set, and overwriting it would lose an avatar they\n * had hidden themselves. This says \"the group collapsed you\", which is\n * a different thing, and the stylesheet selects on it.\n */\n if (index < split.shown) avatar.removeAttribute('data-pf-overflow');\n else avatar.setAttribute('data-pf-overflow', '');\n\n // Earlier avatars stack above later ones, and the chip sits under all\n // of them -- so the overlap reads as a stack rather than a ribbon.\n avatar.style.zIndex = index < split.shown ? `${split.shown - index}` : '';\n }\n\n this.overflow = split.overflow;\n this.counted = split.total;\n }\n\n render() {\n return (\n <Host role=\"group\" aria-label={this.label ?? avatarGroupLabel(this.counted)}>\n <slot onSlotchange={() => this.refresh()} />\n {this.overflow > 0 && (\n <pf-avatar\n class=\"overflow\"\n part=\"overflow\"\n size={this.size}\n name={`${this.overflow} more`}\n >\n +{this.overflow}\n </pf-avatar>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"yDAWA,SAASA,EAAiBC,EAAOC,EAAKC,GACrC,MAAMC,EAAYC,OAAOC,SAASL,GAASM,KAAKL,IAAIK,KAAKC,MAAMP,GAAQ,GAAK,EAC5E,MAAMQ,EAAQF,KAAKG,IAAIN,EAAWC,OAAOC,SAASJ,GAAOK,KAAKL,IAAIK,KAAKC,MAAMN,GAAM,GAAK,GACxF,MAAMS,EAAgBR,SAAU,GAAUE,OAAOC,SAASH,GAASI,KAAKL,IAAIK,KAAKC,MAAML,GAAQ,GAAKC,EACpG,MAAO,CACNK,QACAG,SAAUL,KAAKL,IAAIS,EAAgBF,EAAO,GAC1CN,MAAOQ,EAET,CAQA,SAASE,EAAiBV,GACzB,MAAMW,EAAYT,OAAOC,SAASH,GAASI,KAAKL,IAAIK,KAAKC,MAAML,GAAQ,GAAK,EAC5E,MAAO,GAAGW,KAAaA,IAAc,EAAI,SAAW,UACrD,CC/BA,MAAMC,EAAmB,IAAM,uiB,MC2BlBC,EAAa,M,iDAIhBd,IAAM,EAGWe,KAAqB,KAMtCd,MAGAe,MAGCN,SAAW,EAGXO,QAAU,EAGnB,iBAAAC,GACEC,KAAKC,M,CAGP,gBAAAC,GACEF,KAAKC,M,CAMP,iBAAAE,GACEH,KAAKC,M,CAKP,aAAMG,GACJJ,KAAKC,M,CAIP,WAAYI,GACV,OAAOC,MAAMC,KAAKP,KAAKQ,GAAGC,iBAA8B,cAAcC,QACnEC,GAAWA,EAAOC,gBAAkBZ,KAAKQ,I,CAItC,IAAAP,GACN,MAAMI,EAAUL,KAAKK,QACrB,MAAMQ,EAAQlC,EAAiB0B,EAAQS,OAAQ9B,OAAOgB,KAAKnB,KAAMmB,KAAKlB,OAEtE,IAAK,MAAOiC,EAAOJ,KAAWN,EAAQW,UAAW,CAC9CL,EAAgDf,KAAOI,KAAKJ,KAQ7D,GAAImB,EAAQF,EAAMzB,MAAOuB,EAAOM,gBAAgB,yBAC3CN,EAAOO,aAAa,mBAAoB,IAI7CP,EAAOQ,MAAMC,OAASL,EAAQF,EAAMzB,MAAQ,GAAGyB,EAAMzB,MAAQ2B,IAAU,E,CAGzEf,KAAKT,SAAWsB,EAAMtB,SACtBS,KAAKF,QAAUe,EAAM/B,K,CAGvB,MAAAuC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QAAO,aAAazB,KAAKH,OAASL,EAAiBQ,KAAKF,UACjEwB,EAAA,QAAAE,IAAA,2CAAME,aAAc,IAAM1B,KAAKI,YAC9BJ,KAAKT,SAAW,GACf+B,EAAA,aAAAE,IAAA,2CACEG,MAAM,WACNC,KAAK,WACLhC,KAAMI,KAAKJ,KACXiC,KAAM,GAAG7B,KAAKT,iBAAe,IAE3BS,KAAKT,U","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import{h as c,r as e,H as r}from"./p-Bm6UxEit.js";import{r as i,n as l,a,g as s}from"./p-CCln56Fj.js";var o=c=>({kind:"polyline",points:c});var t=c=>({kind:"path",d:c});var n=(c,e,r)=>({kind:"circle",cx:c,cy:e,r});var h="0 0 24 24";var f={"chevron-down":{viewBox:h,strokeWidth:3,shapes:[o("5 9 12 18 19 9")]},"chevron-up":{viewBox:h,strokeWidth:3,shapes:[o("5 15 12 6 19 15")]},"chevron-left":{viewBox:h,strokeWidth:3,shapes:[o("15 5 6 12 15 19")]},"chevron-right":{viewBox:h,strokeWidth:3,shapes:[o("9 5 18 12 9 19")]},"circle-info":{viewBox:h,strokeWidth:2,shapes:[n(12,12,10),t("M12 16v-4"),t("M12 8h.01")]},"triangle-exclamation":{viewBox:h,strokeWidth:2,shapes:[t("m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"),t("M12 9v4"),t("M12 17h.01")]},"file-arrow-down":{viewBox:h,strokeWidth:2,shapes:[t("M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"),t("M14 2v4a2 2 0 0 0 2 2h4"),t("M12 12v6"),t("m9 15 3 3 3-3")]},"file-arrow-up":{viewBox:h,strokeWidth:2,shapes:[t("M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"),t("M14 2v4a2 2 0 0 0 2 2h4"),t("M12 12v6"),t("m15 15-3-3-3 3")]},ellipsis:{viewBox:h,filled:true,shapes:[n(5,12,2),n(12,12,2),n(19,12,2)]},plus:{viewBox:h,strokeWidth:2.5,shapes:[t("M12 5v14"),t("M5 12h14")]},clock:{viewBox:h,strokeWidth:2,shapes:[n(12,12,9),t("M12 7v5l3 2")]},"magnifying-glass":{viewBox:h,strokeWidth:2,shapes:[n(11,11,8),t("m21 21-4.35-4.35")]},minus:{viewBox:h,strokeWidth:2.5,shapes:[t("M5 12h14")]}};var p=c=>f[c];function d(c){return{viewBox:c.viewBox,fill:c.filled?"currentColor":"none",stroke:c.filled?void 0:"currentColor",strokeWidth:c.filled?void 0:c.strokeWidth,strokeLinecap:c.filled?void 0:"round",strokeLinejoin:c.filled?void 0:"round"}}
2
+ /*!
3
+ * Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com
4
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
5
+ * Copyright 2026 Fonticons, Inc.
6
+ */var v={prefix:"far",iconName:"bell",icon:[448,512,[128276,61602],"f0f3","M224 0c-13.3 0-24 10.7-24 24l0 9.7C118.6 45.3 56 115.4 56 200l0 14.5c0 37.7-10 74.7-29 107.3L5.1 359.2C1.8 365 0 371.5 0 378.2 0 399.1 16.9 416 37.8 416l372.4 0c20.9 0 37.8-16.9 37.8-37.8 0-6.7-1.8-13.3-5.1-19L421 321.7c-19-32.6-29-69.6-29-107.3l0-14.5c0-84.6-62.6-154.7-144-166.3l0-9.7c0-13.3-10.7-24-24-24zM392.4 368l-336.9 0 12.9-22.1C91.7 306 104 260.6 104 214.5l0-14.5c0-66.3 53.7-120 120-120s120 53.7 120 120l0 14.5c0 46.2 12.3 91.5 35.5 131.4L392.4 368zM156.1 464c9.9 28 36.6 48 67.9 48s58-20 67.9-48l-135.8 0z"]};var m={prefix:"far",iconName:"folder-open",icon:[576,512,[128194,128449,61717],"f07c","M97.5 400l50-160 379.4 0-50 160-379.4 0zm190.7 48L477 448c21 0 39.6-13.6 45.8-33.7l50-160c9.7-30.9-13.4-62.3-45.8-62.3l-379.4 0c-21 0-39.6 13.6-45.8 33.7L80.2 294.4 80.2 96c0-8.8 7.2-16 16-16l138.7 0c3.5 0 6.8 1.1 9.6 3.2L282.9 112c13.8 10.4 30.7 16 48 16l117.3 0c8.8 0 16 7.2 16 16l48 0c0-35.3-28.7-64-64-64L330.9 80c-6.9 0-13.7-2.2-19.2-6.4L273.3 44.8C262.2 36.5 248.8 32 234.9 32L96.2 32c-35.3 0-64 28.7-64 64l0 288c0 35.3 28.7 64 64 64l192 0z"]};var u={prefix:"far",iconName:"square-check",icon:[448,512,[9745,9989,61510,"check-square"],"f14a","M384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zm230.7 89.9c7.8-10.7 22.8-13.1 33.5-5.3 10.7 7.8 13.1 22.8 5.3 33.5L211.4 366.1c-4.1 5.7-10.5 9.3-17.5 9.8-7 .5-13.9-2-18.8-6.9l-55.9-55.9c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l36 36 105.6-145.2z"]};var L={prefix:"far",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM167 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z"]};var z={prefix:"far",iconName:"square-caret-right",icon:[448,512,["caret-square-right"],"f152","M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4S160 369.5 160 360l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z"]};var M={prefix:"far",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm256-80c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5l0 3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zM224 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]};var x={prefix:"far",iconName:"file",icon:[384,512,[128196,128459,61462],"f15b","M176 48L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-240-88 0c-39.8 0-72-32.2-72-72l0-88zM316.1 160L224 67.9 224 136c0 13.3 10.7 24 24 24l68.1 0zM0 64C0 28.7 28.7 0 64 0L197.5 0c17 0 33.3 6.7 45.3 18.7L365.3 141.3c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64z"]};var k={prefix:"far",iconName:"calendar",icon:[448,512,[128197,128198],"f133","M120 0c13.3 0 24 10.7 24 24l0 40 160 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 32 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 128C0 92.7 28.7 64 64 64l32 0 0-40c0-13.3 10.7-24 24-24zm0 112l-56 0c-8.8 0-16 7.2-16 16l0 48 352 0 0-48c0-8.8-7.2-16-16-16l-264 0zM48 224l0 192c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-192-352 0z"]};var w={prefix:"far",iconName:"chart-bar",icon:[512,512,["bar-chart"],"f080","M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56L0 400c0 44.2 35.8 80 80 80l408 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L80 432c-17.7 0-32-14.3-32-32L48 56zm104 72l208 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L152 80c-13.3 0-24 10.7-24 24s10.7 24 24 24zm0 64c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0zm0 112c-13.3 0-24 10.7-24 24s10.7 24 24 24l272 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-272 0z"]};var g=w;var B={prefix:"far",iconName:"user",icon:[448,512,[128100,62144,62470,"user-alt","user-large"],"f007","M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM48 480c0-70.7 57.3-128 128-128l96 0c70.7 0 128 57.3 128 128l0 8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-8c0-97.2-78.8-176-176-176l-96 0C78.8 304 0 382.8 0 480l0 8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-8z"]};var C={prefix:"far",iconName:"square-caret-left",icon:[448,512,["caret-square-left"],"f191","M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm64-224c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4S288 142.5 288 152l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z"]};var N={prefix:"far",iconName:"circle-check",icon:[512,512,[61533,"check-circle"],"f058","M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zm0-464a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm70.7 121.9c7.8-10.7 22.8-13.1 33.5-5.3 10.7 7.8 13.1 22.8 5.3 33.5L243.4 366.1c-4.1 5.7-10.5 9.3-17.5 9.8-7 .5-13.9-2-18.8-6.9l-55.9-55.9c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l36 36 105.6-145.2z"]};var y={prefix:"far",iconName:"credit-card",icon:[512,512,[128179,62083,"credit-card-alt"],"f09d","M448 112c8.8 0 16 7.2 16 16l0 32-416 0 0-32c0-8.8 7.2-16 16-16l384 0zm16 112l0 160c0 8.8-7.2 16-16 16L64 400c-8.8 0-16-7.2-16-16l0-160 416 0zM64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zM80 344c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zm144 0c0 13.3 10.7 24 24 24l64 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-64 0c-13.3 0-24 10.7-24 24z"]};var W={prefix:"far",iconName:"star",icon:[576,512,[11088,61446],"f005","M288.1-32c9 0 17.3 5.1 21.4 13.1L383 125.3 542.9 150.7c8.9 1.4 16.3 7.7 19.1 16.3s.5 18-5.8 24.4L441.7 305.9 467 465.8c1.4 8.9-2.3 17.9-9.6 23.2s-17 6.1-25 2L288.1 417.6 143.8 491c-8 4.1-17.7 3.3-25-2s-11-14.2-9.6-23.2L134.4 305.9 20 191.4c-6.4-6.4-8.6-15.8-5.8-24.4s10.1-14.9 19.1-16.3l159.9-25.4 73.6-144.2c4.1-8 12.4-13.1 21.4-13.1zm0 76.8L230.3 158c-3.5 6.8-10 11.6-17.6 12.8l-125.5 20 89.8 89.9c5.4 5.4 7.9 13.1 6.7 20.7l-19.8 125.5 113.3-57.6c6.8-3.5 14.9-3.5 21.8 0l113.3 57.6-19.8-125.5c-1.2-7.6 1.3-15.3 6.7-20.7l89.8-89.9-125.5-20c-7.6-1.2-14.1-6-17.6-12.8L288.1 44.8z"]};var q={prefix:"far",iconName:"copy",icon:[448,512,[],"f0c5","M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l133.5 0c4.2 0 8.3 1.7 11.3 4.7l58.5 58.5c3 3 4.7 7.1 4.7 11.3L400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-197.5c0-17-6.7-33.3-18.7-45.3L370.7 18.7C358.7 6.7 342.5 0 325.5 0L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-48 0 0 16c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l16 0 0-48-16 0z"]};const b={bell:v,calendar:k,"chart-bar":g,"circle-check":N,"circle-question":M,"circle-xmark":L,copy:q,"credit-card":y,file:x,"folder-open":m,"square-caret-left":C,"square-caret-right":z,"square-check":u,star:W,user:B};const j=()=>i(b);const S=c=>{const e=p(c);return e?H(e):undefined};const H=e=>{const{viewBox:r,fill:i,stroke:l,strokeWidth:a,strokeLinecap:s,strokeLinejoin:o}=d(e);return c("svg",{part:"svg",width:"1em",height:"1em",viewBox:r,fill:i,stroke:l,"stroke-width":a,"stroke-linecap":s,"stroke-linejoin":o,focusable:"false","aria-hidden":"true"},e.shapes.map((e=>{if(e.kind==="polyline")return c("polyline",{points:e.points});if(e.kind==="circle")return c("circle",{cx:e.cx,cy:e.cy,r:e.r});return c("path",{d:e.d})})))};const Z=()=>`:host{display:inline-flex;align-items:center;justify-content:center;line-height:1}:host([hidden]){display:none}svg{display:block;height:1em;width:1em}`;j();const G=new Set;const V=c=>{if(G.has(c))return;G.add(c);console.warn(`[pitchfork-ui] <pf-icon name="${c}"> is not registered, so nothing was drawn. `+`Register it with registerIconGlyphs({ '${c}': <the icon> }) from @pitchfork-ui/core.`)};const $=class{constructor(c){e(this,c)}name;label;render(){const e=S(this.name)??S(l(this.name));const i=e?undefined:a(this.name);if(!e&&!i){V(this.name);return null}return c(r,{role:this.label?"img":null,"aria-label":this.label,"aria-hidden":this.label?null:"true"},e??this.renderGlyph(i))}renderGlyph(e){const{viewBox:r,paths:i}=s(e);return c("svg",{part:"svg",width:"1em",height:"1em",viewBox:r,fill:"currentColor",focusable:"false","aria-hidden":"true"},i.map((e=>c("path",{d:e}))))}};$.style=Z();export{$ as pf_icon};
7
+ //# sourceMappingURL=p-2577564c.entry.js.map