@pitchfork-ui/elements 0.0.0-stage → 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +73 -2
- package/dist/cjs/aria-5oCPUGFo.js +25 -0
- package/dist/cjs/aria-5oCPUGFo.js.map +1 -0
- package/dist/cjs/cartesian-C7GC9oo_.js +198 -0
- package/dist/cjs/cartesian-C7GC9oo_.js.map +1 -0
- package/dist/cjs/command-Du9CowoS.js +42 -0
- package/dist/cjs/command-Du9CowoS.js.map +1 -0
- package/dist/cjs/date-CzVt5Lej.js +170 -0
- package/dist/cjs/date-CzVt5Lej.js.map +1 -0
- package/dist/cjs/form-validity-BCrcqnZ7.js +37 -0
- package/dist/cjs/form-validity-BCrcqnZ7.js.map +1 -0
- package/dist/cjs/icons-Db3Bk5fj.js +81 -0
- package/dist/cjs/icons-Db3Bk5fj.js.map +1 -0
- package/dist/cjs/index-CIskGKk1.js +2307 -0
- package/dist/cjs/index-CIskGKk1.js.map +1 -0
- package/dist/cjs/index.cjs.js +5 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/keys-S3YTuCcn.js +20 -0
- package/dist/cjs/keys-S3YTuCcn.js.map +1 -0
- package/dist/cjs/loader.cjs.js +15 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/motion-Bjlaq-ac.js +45 -0
- package/dist/cjs/motion-Bjlaq-ac.js.map +1 -0
- package/dist/cjs/nav-C4LaACXb.js +27 -0
- package/dist/cjs/nav-C4LaACXb.js.map +1 -0
- package/dist/cjs/navigation-CZce-g58.js +35 -0
- package/dist/cjs/navigation-CZce-g58.js.map +1 -0
- package/dist/cjs/number-field-DIVYv25j.js +76 -0
- package/dist/cjs/number-field-DIVYv25j.js.map +1 -0
- package/dist/cjs/pf-accordion-item.cjs.entry.js +62 -0
- package/dist/cjs/pf-accordion-item.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-accordion.cjs.entry.js +146 -0
- package/dist/cjs/pf-accordion.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-alert.cjs.entry.js +67 -0
- package/dist/cjs/pf-alert.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-avatar-group.cjs.entry.js +120 -0
- package/dist/cjs/pf-avatar-group.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-avatar.cjs.entry.js +30 -0
- package/dist/cjs/pf-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-badge-group.cjs.entry.js +36 -0
- package/dist/cjs/pf-badge-group.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-badge.cjs.entry.js +22 -0
- package/dist/cjs/pf-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-bar-chart.cjs.entry.js +112 -0
- package/dist/cjs/pf-bar-chart.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-breadcrumb.cjs.entry.js +43 -0
- package/dist/cjs/pf-breadcrumb.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-breadcrumbs.cjs.entry.js +96 -0
- package/dist/cjs/pf-breadcrumbs.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-button-group-item.cjs.entry.js +51 -0
- package/dist/cjs/pf-button-group-item.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-button-group.cjs.entry.js +102 -0
- package/dist/cjs/pf-button-group.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-button.cjs.entry.js +43 -0
- package/dist/cjs/pf-button.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-calendar.cjs.entry.js +222 -0
- package/dist/cjs/pf-calendar.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-card-content.cjs.entry.js +20 -0
- package/dist/cjs/pf-card-content.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-card-footer.cjs.entry.js +20 -0
- package/dist/cjs/pf-card-footer.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-card-header.cjs.entry.js +20 -0
- package/dist/cjs/pf-card-header.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-card.cjs.entry.js +20 -0
- package/dist/cjs/pf-card.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-carousel-slide.cjs.entry.js +33 -0
- package/dist/cjs/pf-carousel-slide.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-carousel.cjs.entry.js +170 -0
- package/dist/cjs/pf-carousel.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-chart-series.cjs.entry.js +33 -0
- package/dist/cjs/pf-chart-series.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-checkbox.cjs.entry.js +110 -0
- package/dist/cjs/pf-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-code-snippet.cjs.entry.js +157 -0
- package/dist/cjs/pf-code-snippet.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-collapsible.cjs.entry.js +76 -0
- package/dist/cjs/pf-collapsible.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-combobox.cjs.entry.js +339 -0
- package/dist/cjs/pf-combobox.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-command-group.cjs.entry.js +22 -0
- package/dist/cjs/pf-command-group.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-command-item.cjs.entry.js +50 -0
- package/dist/cjs/pf-command-item.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-command-palette.cjs.entry.js +273 -0
- package/dist/cjs/pf-command-palette.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-content-divider.cjs.entry.js +55 -0
- package/dist/cjs/pf-content-divider.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-context-menu.cjs.entry.js +159 -0
- package/dist/cjs/pf-context-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-credit-card.cjs.entry.js +40 -0
- package/dist/cjs/pf-credit-card.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-date-picker.cjs.entry.js +241 -0
- package/dist/cjs/pf-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-date-range-picker.cjs.entry.js +476 -0
- package/dist/cjs/pf-date-range-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-dropdown.cjs.entry.js +183 -0
- package/dist/cjs/pf-dropdown.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-empty-state.cjs.entry.js +55 -0
- package/dist/cjs/pf-empty-state.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-file-uploader.cjs.entry.js +312 -0
- package/dist/cjs/pf-file-uploader.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-gauge-chart.cjs.entry.js +41 -0
- package/dist/cjs/pf-gauge-chart.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-header-navigation.cjs.entry.js +77 -0
- package/dist/cjs/pf-header-navigation.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-heatmap.cjs.entry.js +252 -0
- package/dist/cjs/pf-heatmap.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-icon.cjs.entry.js +327 -0
- package/dist/cjs/pf-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-inline-cta.cjs.entry.js +86 -0
- package/dist/cjs/pf-inline-cta.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-input.cjs.entry.js +122 -0
- package/dist/cjs/pf-input.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-kbd.cjs.entry.js +27 -0
- package/dist/cjs/pf-kbd.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-line-chart.cjs.entry.js +117 -0
- package/dist/cjs/pf-line-chart.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-loading-dots.cjs.entry.js +24 -0
- package/dist/cjs/pf-loading-dots.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-loading-skeleton.cjs.entry.js +43 -0
- package/dist/cjs/pf-loading-skeleton.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-loading-spinner.cjs.entry.js +30 -0
- package/dist/cjs/pf-loading-spinner.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-menu-item.cjs.entry.js +57 -0
- package/dist/cjs/pf-menu-item.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-menu-separator.cjs.entry.js +20 -0
- package/dist/cjs/pf-menu-separator.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-metric-card.cjs.entry.js +54 -0
- package/dist/cjs/pf-metric-card.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-metric-grid.cjs.entry.js +20 -0
- package/dist/cjs/pf-metric-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-modal-body.cjs.entry.js +20 -0
- package/dist/cjs/pf-modal-body.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-modal-footer.cjs.entry.js +20 -0
- package/dist/cjs/pf-modal-footer.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-modal-header.cjs.entry.js +20 -0
- package/dist/cjs/pf-modal-header.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-modal.cjs.entry.js +141 -0
- package/dist/cjs/pf-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-multi-select.cjs.entry.js +316 -0
- package/dist/cjs/pf-multi-select.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-nav-item.cjs.entry.js +58 -0
- package/dist/cjs/pf-nav-item.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-nav-section.cjs.entry.js +54 -0
- package/dist/cjs/pf-nav-section.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-notification.cjs.entry.js +68 -0
- package/dist/cjs/pf-notification.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-number-input.cjs.entry.js +192 -0
- package/dist/cjs/pf-number-input.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-option.cjs.entry.js +50 -0
- package/dist/cjs/pf-option.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-page-header.cjs.entry.js +35 -0
- package/dist/cjs/pf-page-header.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-pagination.cjs.entry.js +113 -0
- package/dist/cjs/pf-pagination.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-pie-chart.cjs.entry.js +94 -0
- package/dist/cjs/pf-pie-chart.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-pie-slice.cjs.entry.js +36 -0
- package/dist/cjs/pf-pie-slice.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-popover.cjs.entry.js +157 -0
- package/dist/cjs/pf-popover.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-progress-bar.cjs.entry.js +32 -0
- package/dist/cjs/pf-progress-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-progress-circle.cjs.entry.js +40 -0
- package/dist/cjs/pf-progress-circle.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-progress-step.cjs.entry.js +42 -0
- package/dist/cjs/pf-progress-step.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-progress-steps.cjs.entry.js +99 -0
- package/dist/cjs/pf-progress-steps.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-radar-axis.cjs.entry.js +33 -0
- package/dist/cjs/pf-radar-axis.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-radar-chart.cjs.entry.js +185 -0
- package/dist/cjs/pf-radar-chart.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-radio-button.cjs.entry.js +73 -0
- package/dist/cjs/pf-radio-button.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-radio-group.cjs.entry.js +174 -0
- package/dist/cjs/pf-radio-group.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-rating-badge.cjs.entry.js +35 -0
- package/dist/cjs/pf-rating-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-rating-stars.cjs.entry.js +46 -0
- package/dist/cjs/pf-rating-stars.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-resizable.cjs.entry.js +205 -0
- package/dist/cjs/pf-resizable.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-rich-text-editor.cjs.entry.js +261 -0
- package/dist/cjs/pf-rich-text-editor.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-scroll-area.cjs.entry.js +43 -0
- package/dist/cjs/pf-scroll-area.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-section-footer.cjs.entry.js +41 -0
- package/dist/cjs/pf-section-footer.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-section-header.cjs.entry.js +37 -0
- package/dist/cjs/pf-section-header.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-select.cjs.entry.js +412 -0
- package/dist/cjs/pf-select.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-sidebar-navigation.cjs.entry.js +103 -0
- package/dist/cjs/pf-sidebar-navigation.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-slideout-menu.cjs.entry.js +155 -0
- package/dist/cjs/pf-slideout-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-slider.cjs.entry.js +125 -0
- package/dist/cjs/pf-slider.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-sparkline.cjs.entry.js +123 -0
- package/dist/cjs/pf-sparkline.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-switch.cjs.entry.js +110 -0
- package/dist/cjs/pf-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-tab-panel.cjs.entry.js +41 -0
- package/dist/cjs/pf-tab-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-tab.cjs.entry.js +96 -0
- package/dist/cjs/pf-tab.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-table-cell.cjs.entry.js +50 -0
- package/dist/cjs/pf-table-cell.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-table-row.cjs.entry.js +51 -0
- package/dist/cjs/pf-table-row.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-table.cjs.entry.js +145 -0
- package/dist/cjs/pf-table.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-tabs.cjs.entry.js +342 -0
- package/dist/cjs/pf-tabs.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-tag-input.cjs.entry.js +199 -0
- package/dist/cjs/pf-tag-input.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-tag.cjs.entry.js +32 -0
- package/dist/cjs/pf-tag.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-textarea.cjs.entry.js +140 -0
- package/dist/cjs/pf-textarea.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-time-picker.cjs.entry.js +328 -0
- package/dist/cjs/pf-time-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-timeline-item.cjs.entry.js +46 -0
- package/dist/cjs/pf-timeline-item.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-timeline.cjs.entry.js +55 -0
- package/dist/cjs/pf-timeline.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-toaster.cjs.entry.js +90 -0
- package/dist/cjs/pf-toaster.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-toolbar-separator.cjs.entry.js +22 -0
- package/dist/cjs/pf-toolbar-separator.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-toolbar.cjs.entry.js +75 -0
- package/dist/cjs/pf-toolbar.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-tooltip.cjs.entry.js +179 -0
- package/dist/cjs/pf-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-tree-item.cjs.entry.js +81 -0
- package/dist/cjs/pf-tree-item.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-tree-view.cjs.entry.js +342 -0
- package/dist/cjs/pf-tree-view.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-utility-button.cjs.entry.js +56 -0
- package/dist/cjs/pf-utility-button.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-video-player.cjs.entry.js +62 -0
- package/dist/cjs/pf-video-player.cjs.entry.js.map +1 -0
- package/dist/cjs/pf-visually-hidden.cjs.entry.js +25 -0
- package/dist/cjs/pf-visually-hidden.cjs.entry.js.map +1 -0
- package/dist/cjs/pie-Bf7gKQU2.js +117 -0
- package/dist/cjs/pie-Bf7gKQU2.js.map +1 -0
- package/dist/cjs/pitchfork.cjs.js +27 -0
- package/dist/cjs/pitchfork.cjs.js.map +1 -0
- package/dist/cjs/place-popover-CMqeolzZ.js +200 -0
- package/dist/cjs/place-popover-CMqeolzZ.js.map +1 -0
- package/dist/cjs/progress-DVUoQ3h5.js +87 -0
- package/dist/cjs/progress-DVUoQ3h5.js.map +1 -0
- package/dist/cjs/rating-B-EBGYMD.js +56 -0
- package/dist/cjs/rating-B-EBGYMD.js.map +1 -0
- package/dist/cjs/roving-BNDruU3m.js +71 -0
- package/dist/cjs/roving-BNDruU3m.js.map +1 -0
- package/dist/cjs/scroll-lock-DllDwdH9.js +46 -0
- package/dist/cjs/scroll-lock-DllDwdH9.js.map +1 -0
- package/dist/cjs/text-DQvgAqew.js +59 -0
- package/dist/cjs/text-DQvgAqew.js.map +1 -0
- package/dist/cjs/value-list-zSKmhcgH.js +109 -0
- package/dist/cjs/value-list-zSKmhcgH.js.map +1 -0
- package/dist/collection/collection-manifest.json +120 -0
- package/dist/collection/components/pf-accordion/pf-accordion.css +10 -0
- package/dist/collection/components/pf-accordion/pf-accordion.js +289 -0
- package/dist/collection/components/pf-accordion/pf-accordion.js.map +1 -0
- package/dist/collection/components/pf-accordion-item/pf-accordion-item.css +94 -0
- package/dist/collection/components/pf-accordion-item/pf-accordion-item.js +194 -0
- package/dist/collection/components/pf-accordion-item/pf-accordion-item.js.map +1 -0
- package/dist/collection/components/pf-alert/pf-alert.css +140 -0
- package/dist/collection/components/pf-alert/pf-alert.js +238 -0
- package/dist/collection/components/pf-alert/pf-alert.js.map +1 -0
- package/dist/collection/components/pf-avatar/pf-avatar.css +101 -0
- package/dist/collection/components/pf-avatar/pf-avatar.js +152 -0
- package/dist/collection/components/pf-avatar/pf-avatar.js.map +1 -0
- package/dist/collection/components/pf-avatar-group/pf-avatar-group.css +55 -0
- package/dist/collection/components/pf-avatar-group/pf-avatar-group.js +222 -0
- package/dist/collection/components/pf-avatar-group/pf-avatar-group.js.map +1 -0
- package/dist/collection/components/pf-badge/pf-badge.css +43 -0
- package/dist/collection/components/pf-badge/pf-badge.js +59 -0
- package/dist/collection/components/pf-badge/pf-badge.js.map +1 -0
- package/dist/collection/components/pf-badge-group/pf-badge-group.css +119 -0
- package/dist/collection/components/pf-badge-group/pf-badge-group.js +164 -0
- package/dist/collection/components/pf-badge-group/pf-badge-group.js.map +1 -0
- package/dist/collection/components/pf-bar-chart/pf-bar-chart.css +96 -0
- package/dist/collection/components/pf-bar-chart/pf-bar-chart.js +263 -0
- package/dist/collection/components/pf-bar-chart/pf-bar-chart.js.map +1 -0
- package/dist/collection/components/pf-breadcrumb/pf-breadcrumb.css +40 -0
- package/dist/collection/components/pf-breadcrumb/pf-breadcrumb.js +160 -0
- package/dist/collection/components/pf-breadcrumb/pf-breadcrumb.js.map +1 -0
- package/dist/collection/components/pf-breadcrumbs/pf-breadcrumbs.css +27 -0
- package/dist/collection/components/pf-breadcrumbs/pf-breadcrumbs.js +162 -0
- package/dist/collection/components/pf-breadcrumbs/pf-breadcrumbs.js.map +1 -0
- package/dist/collection/components/pf-button/pf-button.css +134 -0
- package/dist/collection/components/pf-button/pf-button.js +216 -0
- package/dist/collection/components/pf-button/pf-button.js.map +1 -0
- package/dist/collection/components/pf-button-group/pf-button-group.css +14 -0
- package/dist/collection/components/pf-button-group/pf-button-group.js +229 -0
- package/dist/collection/components/pf-button-group/pf-button-group.js.map +1 -0
- package/dist/collection/components/pf-button-group-item/pf-button-group-item.css +103 -0
- package/dist/collection/components/pf-button-group-item/pf-button-group-item.js +206 -0
- package/dist/collection/components/pf-button-group-item/pf-button-group-item.js.map +1 -0
- package/dist/collection/components/pf-calendar/pf-calendar.css +151 -0
- package/dist/collection/components/pf-calendar/pf-calendar.js +479 -0
- package/dist/collection/components/pf-calendar/pf-calendar.js.map +1 -0
- package/dist/collection/components/pf-card/pf-card.css +17 -0
- package/dist/collection/components/pf-card/pf-card.js +32 -0
- package/dist/collection/components/pf-card/pf-card.js.map +1 -0
- package/dist/collection/components/pf-card-content/pf-card-content.css +8 -0
- package/dist/collection/components/pf-card-content/pf-card-content.js +24 -0
- package/dist/collection/components/pf-card-content/pf-card-content.js.map +1 -0
- package/dist/collection/components/pf-card-footer/pf-card-footer.css +10 -0
- package/dist/collection/components/pf-card-footer/pf-card-footer.js +26 -0
- package/dist/collection/components/pf-card-footer/pf-card-footer.js.map +1 -0
- package/dist/collection/components/pf-card-header/pf-card-header.css +14 -0
- package/dist/collection/components/pf-card-header/pf-card-header.js +24 -0
- package/dist/collection/components/pf-card-header/pf-card-header.js.map +1 -0
- package/dist/collection/components/pf-carousel/pf-carousel.css +145 -0
- package/dist/collection/components/pf-carousel/pf-carousel.js +397 -0
- package/dist/collection/components/pf-carousel/pf-carousel.js.map +1 -0
- package/dist/collection/components/pf-carousel-slide/pf-carousel-slide.css +12 -0
- package/dist/collection/components/pf-carousel-slide/pf-carousel-slide.js +106 -0
- package/dist/collection/components/pf-carousel-slide/pf-carousel-slide.js.map +1 -0
- package/dist/collection/components/pf-chart-series/pf-chart-series.css +18 -0
- package/dist/collection/components/pf-chart-series/pf-chart-series.js +132 -0
- package/dist/collection/components/pf-chart-series/pf-chart-series.js.map +1 -0
- package/dist/collection/components/pf-checkbox/pf-checkbox.css +77 -0
- package/dist/collection/components/pf-checkbox/pf-checkbox.js +324 -0
- package/dist/collection/components/pf-checkbox/pf-checkbox.js.map +1 -0
- package/dist/collection/components/pf-code-snippet/pf-code-snippet.css +164 -0
- package/dist/collection/components/pf-code-snippet/pf-code-snippet.js +371 -0
- package/dist/collection/components/pf-code-snippet/pf-code-snippet.js.map +1 -0
- package/dist/collection/components/pf-collapsible/pf-collapsible.css +85 -0
- package/dist/collection/components/pf-collapsible/pf-collapsible.js +224 -0
- package/dist/collection/components/pf-collapsible/pf-collapsible.js.map +1 -0
- package/dist/collection/components/pf-combobox/pf-combobox.css +158 -0
- package/dist/collection/components/pf-combobox/pf-combobox.js +753 -0
- package/dist/collection/components/pf-combobox/pf-combobox.js.map +1 -0
- package/dist/collection/components/pf-command-group/pf-command-group.css +18 -0
- package/dist/collection/components/pf-command-group/pf-command-group.js +57 -0
- package/dist/collection/components/pf-command-group/pf-command-group.js.map +1 -0
- package/dist/collection/components/pf-command-item/pf-command-item.css +76 -0
- package/dist/collection/components/pf-command-item/pf-command-item.js +142 -0
- package/dist/collection/components/pf-command-item/pf-command-item.js.map +1 -0
- package/dist/collection/components/pf-command-palette/pf-command-palette.css +113 -0
- package/dist/collection/components/pf-command-palette/pf-command-palette.js +503 -0
- package/dist/collection/components/pf-command-palette/pf-command-palette.js.map +1 -0
- package/dist/collection/components/pf-content-divider/pf-content-divider.css +61 -0
- package/dist/collection/components/pf-content-divider/pf-content-divider.js +121 -0
- package/dist/collection/components/pf-content-divider/pf-content-divider.js.map +1 -0
- package/dist/collection/components/pf-context-menu/pf-context-menu.css +58 -0
- package/dist/collection/components/pf-context-menu/pf-context-menu.js +331 -0
- package/dist/collection/components/pf-context-menu/pf-context-menu.js.map +1 -0
- package/dist/collection/components/pf-credit-card/pf-credit-card.css +118 -0
- package/dist/collection/components/pf-credit-card/pf-credit-card.js +180 -0
- package/dist/collection/components/pf-credit-card/pf-credit-card.js.map +1 -0
- package/dist/collection/components/pf-date-picker/pf-date-picker.css +141 -0
- package/dist/collection/components/pf-date-picker/pf-date-picker.js +696 -0
- package/dist/collection/components/pf-date-picker/pf-date-picker.js.map +1 -0
- package/dist/collection/components/pf-date-range-picker/pf-date-range-picker.css +267 -0
- package/dist/collection/components/pf-date-range-picker/pf-date-range-picker.js +833 -0
- package/dist/collection/components/pf-date-range-picker/pf-date-range-picker.js.map +1 -0
- package/dist/collection/components/pf-dropdown/pf-dropdown.css +57 -0
- package/dist/collection/components/pf-dropdown/pf-dropdown.js +369 -0
- package/dist/collection/components/pf-dropdown/pf-dropdown.js.map +1 -0
- package/dist/collection/components/pf-empty-state/pf-empty-state.css +94 -0
- package/dist/collection/components/pf-empty-state/pf-empty-state.js +126 -0
- package/dist/collection/components/pf-empty-state/pf-empty-state.js.map +1 -0
- package/dist/collection/components/pf-file-uploader/pf-file-uploader.css +186 -0
- package/dist/collection/components/pf-file-uploader/pf-file-uploader.js +557 -0
- package/dist/collection/components/pf-file-uploader/pf-file-uploader.js.map +1 -0
- package/dist/collection/components/pf-gauge-chart/pf-gauge-chart.css +83 -0
- package/dist/collection/components/pf-gauge-chart/pf-gauge-chart.js +186 -0
- package/dist/collection/components/pf-gauge-chart/pf-gauge-chart.js.map +1 -0
- package/dist/collection/components/pf-header-navigation/pf-header-navigation.css +83 -0
- package/dist/collection/components/pf-header-navigation/pf-header-navigation.js +150 -0
- package/dist/collection/components/pf-header-navigation/pf-header-navigation.js.map +1 -0
- package/dist/collection/components/pf-heatmap/pf-heatmap.css +108 -0
- package/dist/collection/components/pf-heatmap/pf-heatmap.js +321 -0
- package/dist/collection/components/pf-heatmap/pf-heatmap.js.map +1 -0
- package/dist/collection/components/pf-icon/bundled-icons.js +40 -0
- package/dist/collection/components/pf-icon/bundled-icons.js.map +1 -0
- package/dist/collection/components/pf-icon/custom-icons.js +37 -0
- package/dist/collection/components/pf-icon/custom-icons.js.map +1 -0
- package/dist/collection/components/pf-icon/icon-names.js +9 -0
- package/dist/collection/components/pf-icon/icon-names.js.map +1 -0
- package/dist/collection/components/pf-icon/pf-icon.css +17 -0
- package/dist/collection/components/pf-icon/pf-icon.js +105 -0
- package/dist/collection/components/pf-icon/pf-icon.js.map +1 -0
- package/dist/collection/components/pf-inline-cta/pf-inline-cta.css +167 -0
- package/dist/collection/components/pf-inline-cta/pf-inline-cta.js +263 -0
- package/dist/collection/components/pf-inline-cta/pf-inline-cta.js.map +1 -0
- package/dist/collection/components/pf-input/pf-input.css +82 -0
- package/dist/collection/components/pf-input/pf-input.js +421 -0
- package/dist/collection/components/pf-input/pf-input.js.map +1 -0
- package/dist/collection/components/pf-kbd/pf-kbd.css +33 -0
- package/dist/collection/components/pf-kbd/pf-kbd.js +102 -0
- package/dist/collection/components/pf-kbd/pf-kbd.js.map +1 -0
- package/dist/collection/components/pf-line-chart/pf-line-chart.css +98 -0
- package/dist/collection/components/pf-line-chart/pf-line-chart.js +294 -0
- package/dist/collection/components/pf-line-chart/pf-line-chart.js.map +1 -0
- package/dist/collection/components/pf-loading-dots/pf-loading-dots.css +75 -0
- package/dist/collection/components/pf-loading-dots/pf-loading-dots.js +79 -0
- package/dist/collection/components/pf-loading-dots/pf-loading-dots.js.map +1 -0
- package/dist/collection/components/pf-loading-skeleton/pf-loading-skeleton.css +54 -0
- package/dist/collection/components/pf-loading-skeleton/pf-loading-skeleton.js +131 -0
- package/dist/collection/components/pf-loading-skeleton/pf-loading-skeleton.js.map +1 -0
- package/dist/collection/components/pf-loading-spinner/pf-loading-spinner.css +51 -0
- package/dist/collection/components/pf-loading-spinner/pf-loading-spinner.js +78 -0
- package/dist/collection/components/pf-loading-spinner/pf-loading-spinner.js.map +1 -0
- package/dist/collection/components/pf-menu-item/pf-menu-item.css +70 -0
- package/dist/collection/components/pf-menu-item/pf-menu-item.js +167 -0
- package/dist/collection/components/pf-menu-item/pf-menu-item.js.map +1 -0
- package/dist/collection/components/pf-menu-separator/pf-menu-separator.css +11 -0
- package/dist/collection/components/pf-menu-separator/pf-menu-separator.js +25 -0
- package/dist/collection/components/pf-menu-separator/pf-menu-separator.js.map +1 -0
- package/dist/collection/components/pf-metric-card/pf-metric-card.css +125 -0
- package/dist/collection/components/pf-metric-card/pf-metric-card.js +128 -0
- package/dist/collection/components/pf-metric-card/pf-metric-card.js.map +1 -0
- package/dist/collection/components/pf-metric-grid/pf-metric-grid.css +14 -0
- package/dist/collection/components/pf-metric-grid/pf-metric-grid.js +29 -0
- package/dist/collection/components/pf-metric-grid/pf-metric-grid.js.map +1 -0
- package/dist/collection/components/pf-modal/pf-modal.css +94 -0
- package/dist/collection/components/pf-modal/pf-modal.js +325 -0
- package/dist/collection/components/pf-modal/pf-modal.js.map +1 -0
- package/dist/collection/components/pf-modal-body/pf-modal-body.css +9 -0
- package/dist/collection/components/pf-modal-body/pf-modal-body.js +28 -0
- package/dist/collection/components/pf-modal-body/pf-modal-body.js.map +1 -0
- package/dist/collection/components/pf-modal-footer/pf-modal-footer.css +11 -0
- package/dist/collection/components/pf-modal-footer/pf-modal-footer.js +28 -0
- package/dist/collection/components/pf-modal-footer/pf-modal-footer.js.map +1 -0
- package/dist/collection/components/pf-modal-header/pf-modal-header.css +10 -0
- package/dist/collection/components/pf-modal-header/pf-modal-header.js +28 -0
- package/dist/collection/components/pf-modal-header/pf-modal-header.js.map +1 -0
- package/dist/collection/components/pf-multi-select/pf-multi-select.css +139 -0
- package/dist/collection/components/pf-multi-select/pf-multi-select.js +691 -0
- package/dist/collection/components/pf-multi-select/pf-multi-select.js.map +1 -0
- package/dist/collection/components/pf-nav-item/pf-nav-item.css +125 -0
- package/dist/collection/components/pf-nav-item/pf-nav-item.js +220 -0
- package/dist/collection/components/pf-nav-item/pf-nav-item.js.map +1 -0
- package/dist/collection/components/pf-nav-section/pf-nav-section.css +39 -0
- package/dist/collection/components/pf-nav-section/pf-nav-section.js +94 -0
- package/dist/collection/components/pf-nav-section/pf-nav-section.js.map +1 -0
- package/dist/collection/components/pf-notification/pf-notification.css +200 -0
- package/dist/collection/components/pf-notification/pf-notification.js +234 -0
- package/dist/collection/components/pf-notification/pf-notification.js.map +1 -0
- package/dist/collection/components/pf-number-input/pf-number-input.css +137 -0
- package/dist/collection/components/pf-number-input/pf-number-input.js +560 -0
- package/dist/collection/components/pf-number-input/pf-number-input.js.map +1 -0
- package/dist/collection/components/pf-option/pf-option.css +46 -0
- package/dist/collection/components/pf-option/pf-option.js +162 -0
- package/dist/collection/components/pf-option/pf-option.js.map +1 -0
- package/dist/collection/components/pf-page-header/pf-page-header.css +101 -0
- package/dist/collection/components/pf-page-header/pf-page-header.js +64 -0
- package/dist/collection/components/pf-page-header/pf-page-header.js.map +1 -0
- package/dist/collection/components/pf-pagination/pf-pagination.css +109 -0
- package/dist/collection/components/pf-pagination/pf-pagination.js +232 -0
- package/dist/collection/components/pf-pagination/pf-pagination.js.map +1 -0
- package/dist/collection/components/pf-pie-chart/pf-pie-chart.css +115 -0
- package/dist/collection/components/pf-pie-chart/pf-pie-chart.js +226 -0
- package/dist/collection/components/pf-pie-chart/pf-pie-chart.js.map +1 -0
- package/dist/collection/components/pf-pie-slice/pf-pie-slice.css +37 -0
- package/dist/collection/components/pf-pie-slice/pf-pie-slice.js +155 -0
- package/dist/collection/components/pf-pie-slice/pf-pie-slice.js.map +1 -0
- package/dist/collection/components/pf-popover/pf-popover.css +49 -0
- package/dist/collection/components/pf-popover/pf-popover.js +325 -0
- package/dist/collection/components/pf-popover/pf-popover.js.map +1 -0
- package/dist/collection/components/pf-progress-bar/pf-progress-bar.css +49 -0
- package/dist/collection/components/pf-progress-bar/pf-progress-bar.js +121 -0
- package/dist/collection/components/pf-progress-bar/pf-progress-bar.js.map +1 -0
- package/dist/collection/components/pf-progress-circle/pf-progress-circle.css +62 -0
- package/dist/collection/components/pf-progress-circle/pf-progress-circle.js +170 -0
- package/dist/collection/components/pf-progress-circle/pf-progress-circle.js.map +1 -0
- package/dist/collection/components/pf-progress-step/pf-progress-step.css +167 -0
- package/dist/collection/components/pf-progress-step/pf-progress-step.js +176 -0
- package/dist/collection/components/pf-progress-step/pf-progress-step.js.map +1 -0
- package/dist/collection/components/pf-progress-steps/pf-progress-steps.css +35 -0
- package/dist/collection/components/pf-progress-steps/pf-progress-steps.js +139 -0
- package/dist/collection/components/pf-progress-steps/pf-progress-steps.js.map +1 -0
- package/dist/collection/components/pf-radar-axis/pf-radar-axis.css +26 -0
- package/dist/collection/components/pf-radar-axis/pf-radar-axis.js +108 -0
- package/dist/collection/components/pf-radar-axis/pf-radar-axis.js.map +1 -0
- package/dist/collection/components/pf-radar-chart/pf-radar-chart.css +123 -0
- package/dist/collection/components/pf-radar-chart/pf-radar-chart.js +280 -0
- package/dist/collection/components/pf-radar-chart/pf-radar-chart.js.map +1 -0
- package/dist/collection/components/pf-radio-button/pf-radio-button.css +60 -0
- package/dist/collection/components/pf-radio-button/pf-radio-button.js +175 -0
- package/dist/collection/components/pf-radio-button/pf-radio-button.js.map +1 -0
- package/dist/collection/components/pf-radio-group/pf-radio-group.css +36 -0
- package/dist/collection/components/pf-radio-group/pf-radio-group.js +420 -0
- package/dist/collection/components/pf-radio-group/pf-radio-group.js.map +1 -0
- package/dist/collection/components/pf-rating-badge/pf-rating-badge.css +48 -0
- package/dist/collection/components/pf-rating-badge/pf-rating-badge.js +131 -0
- package/dist/collection/components/pf-rating-badge/pf-rating-badge.js.map +1 -0
- package/dist/collection/components/pf-rating-stars/pf-rating-stars.css +54 -0
- package/dist/collection/components/pf-rating-stars/pf-rating-stars.js +159 -0
- package/dist/collection/components/pf-rating-stars/pf-rating-stars.js.map +1 -0
- package/dist/collection/components/pf-resizable/pf-resizable.css +83 -0
- package/dist/collection/components/pf-resizable/pf-resizable.js +309 -0
- package/dist/collection/components/pf-resizable/pf-resizable.js.map +1 -0
- package/dist/collection/components/pf-rich-text-editor/pf-rich-text-editor.css +136 -0
- package/dist/collection/components/pf-rich-text-editor/pf-rich-text-editor.js +519 -0
- package/dist/collection/components/pf-rich-text-editor/pf-rich-text-editor.js.map +1 -0
- package/dist/collection/components/pf-scroll-area/pf-scroll-area.css +62 -0
- package/dist/collection/components/pf-scroll-area/pf-scroll-area.js +98 -0
- package/dist/collection/components/pf-scroll-area/pf-scroll-area.js.map +1 -0
- package/dist/collection/components/pf-section-footer/pf-section-footer.css +73 -0
- package/dist/collection/components/pf-section-footer/pf-section-footer.js +113 -0
- package/dist/collection/components/pf-section-footer/pf-section-footer.js.map +1 -0
- package/dist/collection/components/pf-section-header/pf-section-header.css +93 -0
- package/dist/collection/components/pf-section-header/pf-section-header.js +113 -0
- package/dist/collection/components/pf-section-header/pf-section-header.js.map +1 -0
- package/dist/collection/components/pf-select/pf-select.css +127 -0
- package/dist/collection/components/pf-select/pf-select.js +712 -0
- package/dist/collection/components/pf-select/pf-select.js.map +1 -0
- package/dist/collection/components/pf-sidebar-navigation/pf-sidebar-navigation.css +69 -0
- package/dist/collection/components/pf-sidebar-navigation/pf-sidebar-navigation.js +191 -0
- package/dist/collection/components/pf-sidebar-navigation/pf-sidebar-navigation.js.map +1 -0
- package/dist/collection/components/pf-slideout-menu/pf-slideout-menu.css +179 -0
- package/dist/collection/components/pf-slideout-menu/pf-slideout-menu.js +414 -0
- package/dist/collection/components/pf-slideout-menu/pf-slideout-menu.js.map +1 -0
- package/dist/collection/components/pf-slider/pf-slider.css +119 -0
- package/dist/collection/components/pf-slider/pf-slider.js +419 -0
- package/dist/collection/components/pf-slider/pf-slider.js.map +1 -0
- package/dist/collection/components/pf-sparkline/pf-sparkline.css +76 -0
- package/dist/collection/components/pf-sparkline/pf-sparkline.js +271 -0
- package/dist/collection/components/pf-sparkline/pf-sparkline.js.map +1 -0
- package/dist/collection/components/pf-switch/pf-switch.css +79 -0
- package/dist/collection/components/pf-switch/pf-switch.js +329 -0
- package/dist/collection/components/pf-switch/pf-switch.js.map +1 -0
- package/dist/collection/components/pf-tab/pf-tab.css +88 -0
- package/dist/collection/components/pf-tab/pf-tab.js +374 -0
- package/dist/collection/components/pf-tab/pf-tab.js.map +1 -0
- package/dist/collection/components/pf-tab-panel/pf-tab-panel.css +15 -0
- package/dist/collection/components/pf-tab-panel/pf-tab-panel.js +95 -0
- package/dist/collection/components/pf-tab-panel/pf-tab-panel.js.map +1 -0
- package/dist/collection/components/pf-table/pf-table.css +86 -0
- package/dist/collection/components/pf-table/pf-table.js +353 -0
- package/dist/collection/components/pf-table/pf-table.js.map +1 -0
- package/dist/collection/components/pf-table-cell/pf-table-cell.css +77 -0
- package/dist/collection/components/pf-table-cell/pf-table-cell.js +226 -0
- package/dist/collection/components/pf-table-cell/pf-table-cell.js.map +1 -0
- package/dist/collection/components/pf-table-row/pf-table-row.css +21 -0
- package/dist/collection/components/pf-table-row/pf-table-row.js +131 -0
- package/dist/collection/components/pf-table-row/pf-table-row.js.map +1 -0
- package/dist/collection/components/pf-tabs/pf-tabs.css +108 -0
- package/dist/collection/components/pf-tabs/pf-tabs.js +499 -0
- package/dist/collection/components/pf-tabs/pf-tabs.js.map +1 -0
- package/dist/collection/components/pf-tag/pf-tag.css +71 -0
- package/dist/collection/components/pf-tag/pf-tag.js +128 -0
- package/dist/collection/components/pf-tag/pf-tag.js.map +1 -0
- package/dist/collection/components/pf-tag-input/pf-tag-input.css +80 -0
- package/dist/collection/components/pf-tag-input/pf-tag-input.js +533 -0
- package/dist/collection/components/pf-tag-input/pf-tag-input.js.map +1 -0
- package/dist/collection/components/pf-textarea/pf-textarea.css +70 -0
- package/dist/collection/components/pf-textarea/pf-textarea.js +432 -0
- package/dist/collection/components/pf-textarea/pf-textarea.js.map +1 -0
- package/dist/collection/components/pf-time-picker/pf-time-picker.css +151 -0
- package/dist/collection/components/pf-time-picker/pf-time-picker.js +613 -0
- package/dist/collection/components/pf-time-picker/pf-time-picker.js.map +1 -0
- package/dist/collection/components/pf-timeline/pf-timeline.css +13 -0
- package/dist/collection/components/pf-timeline/pf-timeline.js +109 -0
- package/dist/collection/components/pf-timeline/pf-timeline.js.map +1 -0
- package/dist/collection/components/pf-timeline-item/pf-timeline-item.css +118 -0
- package/dist/collection/components/pf-timeline-item/pf-timeline-item.js +115 -0
- package/dist/collection/components/pf-timeline-item/pf-timeline-item.js.map +1 -0
- package/dist/collection/components/pf-toaster/pf-toaster.css +56 -0
- package/dist/collection/components/pf-toaster/pf-toaster.js +255 -0
- package/dist/collection/components/pf-toaster/pf-toaster.js.map +1 -0
- package/dist/collection/components/pf-toolbar/pf-toolbar.css +23 -0
- package/dist/collection/components/pf-toolbar/pf-toolbar.js +131 -0
- package/dist/collection/components/pf-toolbar/pf-toolbar.js.map +1 -0
- package/dist/collection/components/pf-toolbar-separator/pf-toolbar-separator.css +19 -0
- package/dist/collection/components/pf-toolbar-separator/pf-toolbar-separator.js +59 -0
- package/dist/collection/components/pf-toolbar-separator/pf-toolbar-separator.js.map +1 -0
- package/dist/collection/components/pf-tooltip/pf-tooltip.css +51 -0
- package/dist/collection/components/pf-tooltip/pf-tooltip.js +323 -0
- package/dist/collection/components/pf-tooltip/pf-tooltip.js.map +1 -0
- package/dist/collection/components/pf-tree-item/pf-tree-item.css +115 -0
- package/dist/collection/components/pf-tree-item/pf-tree-item.js +315 -0
- package/dist/collection/components/pf-tree-item/pf-tree-item.js.map +1 -0
- package/dist/collection/components/pf-tree-view/pf-tree-view.css +26 -0
- package/dist/collection/components/pf-tree-view/pf-tree-view.js +426 -0
- package/dist/collection/components/pf-tree-view/pf-tree-view.js.map +1 -0
- package/dist/collection/components/pf-utility-button/pf-utility-button.css +100 -0
- package/dist/collection/components/pf-utility-button/pf-utility-button.js +199 -0
- package/dist/collection/components/pf-utility-button/pf-utility-button.js.map +1 -0
- package/dist/collection/components/pf-video-player/pf-video-player.css +77 -0
- package/dist/collection/components/pf-video-player/pf-video-player.js +415 -0
- package/dist/collection/components/pf-video-player/pf-video-player.js.map +1 -0
- package/dist/collection/components/pf-visually-hidden/pf-visually-hidden.css +42 -0
- package/dist/collection/components/pf-visually-hidden/pf-visually-hidden.js +60 -0
- package/dist/collection/components/pf-visually-hidden/pf-visually-hidden.js.map +1 -0
- package/dist/collection/form-validity.js +31 -0
- package/dist/collection/form-validity.js.map +1 -0
- package/dist/collection/index.js +2 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/place-popover.js +22 -0
- package/dist/collection/place-popover.js.map +1 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/p-BA6CMosJ.js +2 -0
- package/dist/components/p-BA6CMosJ.js.map +1 -0
- package/dist/components/p-Bb-s2aqK.js +2 -0
- package/dist/components/p-Bb-s2aqK.js.map +1 -0
- package/dist/components/p-BmcsJLdy.js +2 -0
- package/dist/components/p-BmcsJLdy.js.map +1 -0
- package/dist/components/p-C-VLyxRR.js +2 -0
- package/dist/components/p-C-VLyxRR.js.map +1 -0
- package/dist/components/p-C4aE66tt.js +2 -0
- package/dist/components/p-C4aE66tt.js.map +1 -0
- package/dist/components/p-C9jNMqLs.js +2 -0
- package/dist/components/p-C9jNMqLs.js.map +1 -0
- package/dist/components/p-CAz7-p8y.js +2 -0
- package/dist/components/p-CAz7-p8y.js.map +1 -0
- package/dist/components/p-CC7AyfOt.js +2 -0
- package/dist/components/p-CC7AyfOt.js.map +1 -0
- package/dist/components/p-COAc4ZDB.js +2 -0
- package/dist/components/p-COAc4ZDB.js.map +1 -0
- package/dist/components/p-CSsYpnzu.js +2 -0
- package/dist/components/p-CSsYpnzu.js.map +1 -0
- package/dist/components/p-CkFjPRTe.js +7 -0
- package/dist/components/p-CkFjPRTe.js.map +1 -0
- package/dist/components/p-ClI1g7kx.js +2 -0
- package/dist/components/p-ClI1g7kx.js.map +1 -0
- package/dist/components/p-CmX-kVk-.js +2 -0
- package/dist/components/p-CmX-kVk-.js.map +1 -0
- package/dist/components/p-Cr6IXrUk.js +2 -0
- package/dist/components/p-Cr6IXrUk.js.map +1 -0
- package/dist/components/p-Cta76kgc.js +2 -0
- package/dist/components/p-Cta76kgc.js.map +1 -0
- package/dist/components/p-DSXauhXX.js +2 -0
- package/dist/components/p-DSXauhXX.js.map +1 -0
- package/dist/components/p-DToIJg5W.js +2 -0
- package/dist/components/p-DToIJg5W.js.map +1 -0
- package/dist/components/p-DVK0sUX2.js +2 -0
- package/dist/components/p-DVK0sUX2.js.map +1 -0
- package/dist/components/p-DfpCerXM.js +2 -0
- package/dist/components/p-DfpCerXM.js.map +1 -0
- package/dist/components/p-DhgtpS36.js +2 -0
- package/dist/components/p-DhgtpS36.js.map +1 -0
- package/dist/components/p-DkBJMi_M.js +2 -0
- package/dist/components/p-DkBJMi_M.js.map +1 -0
- package/dist/components/p-Dkd7BUB5.js +2 -0
- package/dist/components/p-Dkd7BUB5.js.map +1 -0
- package/dist/components/p-E7EWeR1F.js +2 -0
- package/dist/components/p-E7EWeR1F.js.map +1 -0
- package/dist/components/p-Fiuz9ck7.js +2 -0
- package/dist/components/p-Fiuz9ck7.js.map +1 -0
- package/dist/components/p-g4FlTDZx.js +2 -0
- package/dist/components/p-g4FlTDZx.js.map +1 -0
- package/dist/components/pf-accordion-item.d.ts +11 -0
- package/dist/components/pf-accordion-item.js +2 -0
- package/dist/components/pf-accordion-item.js.map +1 -0
- package/dist/components/pf-accordion.d.ts +11 -0
- package/dist/components/pf-accordion.js +2 -0
- package/dist/components/pf-accordion.js.map +1 -0
- package/dist/components/pf-alert.d.ts +11 -0
- package/dist/components/pf-alert.js +2 -0
- package/dist/components/pf-alert.js.map +1 -0
- package/dist/components/pf-avatar-group.d.ts +11 -0
- package/dist/components/pf-avatar-group.js +2 -0
- package/dist/components/pf-avatar-group.js.map +1 -0
- package/dist/components/pf-avatar.d.ts +11 -0
- package/dist/components/pf-avatar.js +2 -0
- package/dist/components/pf-avatar.js.map +1 -0
- package/dist/components/pf-badge-group.d.ts +11 -0
- package/dist/components/pf-badge-group.js +2 -0
- package/dist/components/pf-badge-group.js.map +1 -0
- package/dist/components/pf-badge.d.ts +11 -0
- package/dist/components/pf-badge.js +2 -0
- package/dist/components/pf-badge.js.map +1 -0
- package/dist/components/pf-bar-chart.d.ts +11 -0
- package/dist/components/pf-bar-chart.js +2 -0
- package/dist/components/pf-bar-chart.js.map +1 -0
- package/dist/components/pf-breadcrumb.d.ts +11 -0
- package/dist/components/pf-breadcrumb.js +2 -0
- package/dist/components/pf-breadcrumb.js.map +1 -0
- package/dist/components/pf-breadcrumbs.d.ts +11 -0
- package/dist/components/pf-breadcrumbs.js +2 -0
- package/dist/components/pf-breadcrumbs.js.map +1 -0
- package/dist/components/pf-button-group-item.d.ts +11 -0
- package/dist/components/pf-button-group-item.js +2 -0
- package/dist/components/pf-button-group-item.js.map +1 -0
- package/dist/components/pf-button-group.d.ts +11 -0
- package/dist/components/pf-button-group.js +2 -0
- package/dist/components/pf-button-group.js.map +1 -0
- package/dist/components/pf-button.d.ts +11 -0
- package/dist/components/pf-button.js +2 -0
- package/dist/components/pf-button.js.map +1 -0
- package/dist/components/pf-calendar.d.ts +11 -0
- package/dist/components/pf-calendar.js +2 -0
- package/dist/components/pf-calendar.js.map +1 -0
- package/dist/components/pf-card-content.d.ts +11 -0
- package/dist/components/pf-card-content.js +2 -0
- package/dist/components/pf-card-content.js.map +1 -0
- package/dist/components/pf-card-footer.d.ts +11 -0
- package/dist/components/pf-card-footer.js +2 -0
- package/dist/components/pf-card-footer.js.map +1 -0
- package/dist/components/pf-card-header.d.ts +11 -0
- package/dist/components/pf-card-header.js +2 -0
- package/dist/components/pf-card-header.js.map +1 -0
- package/dist/components/pf-card.d.ts +11 -0
- package/dist/components/pf-card.js +2 -0
- package/dist/components/pf-card.js.map +1 -0
- package/dist/components/pf-carousel-slide.d.ts +11 -0
- package/dist/components/pf-carousel-slide.js +2 -0
- package/dist/components/pf-carousel-slide.js.map +1 -0
- package/dist/components/pf-carousel.d.ts +11 -0
- package/dist/components/pf-carousel.js +2 -0
- package/dist/components/pf-carousel.js.map +1 -0
- package/dist/components/pf-chart-series.d.ts +11 -0
- package/dist/components/pf-chart-series.js +2 -0
- package/dist/components/pf-chart-series.js.map +1 -0
- package/dist/components/pf-checkbox.d.ts +11 -0
- package/dist/components/pf-checkbox.js +2 -0
- package/dist/components/pf-checkbox.js.map +1 -0
- package/dist/components/pf-code-snippet.d.ts +11 -0
- package/dist/components/pf-code-snippet.js +2 -0
- package/dist/components/pf-code-snippet.js.map +1 -0
- package/dist/components/pf-collapsible.d.ts +11 -0
- package/dist/components/pf-collapsible.js +2 -0
- package/dist/components/pf-collapsible.js.map +1 -0
- package/dist/components/pf-combobox.d.ts +11 -0
- package/dist/components/pf-combobox.js +2 -0
- package/dist/components/pf-combobox.js.map +1 -0
- package/dist/components/pf-command-group.d.ts +11 -0
- package/dist/components/pf-command-group.js +2 -0
- package/dist/components/pf-command-group.js.map +1 -0
- package/dist/components/pf-command-item.d.ts +11 -0
- package/dist/components/pf-command-item.js +2 -0
- package/dist/components/pf-command-item.js.map +1 -0
- package/dist/components/pf-command-palette.d.ts +11 -0
- package/dist/components/pf-command-palette.js +2 -0
- package/dist/components/pf-command-palette.js.map +1 -0
- package/dist/components/pf-content-divider.d.ts +11 -0
- package/dist/components/pf-content-divider.js +2 -0
- package/dist/components/pf-content-divider.js.map +1 -0
- package/dist/components/pf-context-menu.d.ts +11 -0
- package/dist/components/pf-context-menu.js +2 -0
- package/dist/components/pf-context-menu.js.map +1 -0
- package/dist/components/pf-credit-card.d.ts +11 -0
- package/dist/components/pf-credit-card.js +2 -0
- package/dist/components/pf-credit-card.js.map +1 -0
- package/dist/components/pf-date-picker.d.ts +11 -0
- package/dist/components/pf-date-picker.js +2 -0
- package/dist/components/pf-date-picker.js.map +1 -0
- package/dist/components/pf-date-range-picker.d.ts +11 -0
- package/dist/components/pf-date-range-picker.js +2 -0
- package/dist/components/pf-date-range-picker.js.map +1 -0
- package/dist/components/pf-dropdown.d.ts +11 -0
- package/dist/components/pf-dropdown.js +2 -0
- package/dist/components/pf-dropdown.js.map +1 -0
- package/dist/components/pf-empty-state.d.ts +11 -0
- package/dist/components/pf-empty-state.js +2 -0
- package/dist/components/pf-empty-state.js.map +1 -0
- package/dist/components/pf-file-uploader.d.ts +11 -0
- package/dist/components/pf-file-uploader.js +2 -0
- package/dist/components/pf-file-uploader.js.map +1 -0
- package/dist/components/pf-gauge-chart.d.ts +11 -0
- package/dist/components/pf-gauge-chart.js +2 -0
- package/dist/components/pf-gauge-chart.js.map +1 -0
- package/dist/components/pf-header-navigation.d.ts +11 -0
- package/dist/components/pf-header-navigation.js +2 -0
- package/dist/components/pf-header-navigation.js.map +1 -0
- package/dist/components/pf-heatmap.d.ts +11 -0
- package/dist/components/pf-heatmap.js +2 -0
- package/dist/components/pf-heatmap.js.map +1 -0
- package/dist/components/pf-icon.d.ts +11 -0
- package/dist/components/pf-icon.js +2 -0
- package/dist/components/pf-icon.js.map +1 -0
- package/dist/components/pf-inline-cta.d.ts +11 -0
- package/dist/components/pf-inline-cta.js +2 -0
- package/dist/components/pf-inline-cta.js.map +1 -0
- package/dist/components/pf-input.d.ts +11 -0
- package/dist/components/pf-input.js +2 -0
- package/dist/components/pf-input.js.map +1 -0
- package/dist/components/pf-kbd.d.ts +11 -0
- package/dist/components/pf-kbd.js +2 -0
- package/dist/components/pf-kbd.js.map +1 -0
- package/dist/components/pf-line-chart.d.ts +11 -0
- package/dist/components/pf-line-chart.js +2 -0
- package/dist/components/pf-line-chart.js.map +1 -0
- package/dist/components/pf-loading-dots.d.ts +11 -0
- package/dist/components/pf-loading-dots.js +2 -0
- package/dist/components/pf-loading-dots.js.map +1 -0
- package/dist/components/pf-loading-skeleton.d.ts +11 -0
- package/dist/components/pf-loading-skeleton.js +2 -0
- package/dist/components/pf-loading-skeleton.js.map +1 -0
- package/dist/components/pf-loading-spinner.d.ts +11 -0
- package/dist/components/pf-loading-spinner.js +2 -0
- package/dist/components/pf-loading-spinner.js.map +1 -0
- package/dist/components/pf-menu-item.d.ts +11 -0
- package/dist/components/pf-menu-item.js +2 -0
- package/dist/components/pf-menu-item.js.map +1 -0
- package/dist/components/pf-menu-separator.d.ts +11 -0
- package/dist/components/pf-menu-separator.js +2 -0
- package/dist/components/pf-menu-separator.js.map +1 -0
- package/dist/components/pf-metric-card.d.ts +11 -0
- package/dist/components/pf-metric-card.js +2 -0
- package/dist/components/pf-metric-card.js.map +1 -0
- package/dist/components/pf-metric-grid.d.ts +11 -0
- package/dist/components/pf-metric-grid.js +2 -0
- package/dist/components/pf-metric-grid.js.map +1 -0
- package/dist/components/pf-modal-body.d.ts +11 -0
- package/dist/components/pf-modal-body.js +2 -0
- package/dist/components/pf-modal-body.js.map +1 -0
- package/dist/components/pf-modal-footer.d.ts +11 -0
- package/dist/components/pf-modal-footer.js +2 -0
- package/dist/components/pf-modal-footer.js.map +1 -0
- package/dist/components/pf-modal-header.d.ts +11 -0
- package/dist/components/pf-modal-header.js +2 -0
- package/dist/components/pf-modal-header.js.map +1 -0
- package/dist/components/pf-modal.d.ts +11 -0
- package/dist/components/pf-modal.js +2 -0
- package/dist/components/pf-modal.js.map +1 -0
- package/dist/components/pf-multi-select.d.ts +11 -0
- package/dist/components/pf-multi-select.js +2 -0
- package/dist/components/pf-multi-select.js.map +1 -0
- package/dist/components/pf-nav-item.d.ts +11 -0
- package/dist/components/pf-nav-item.js +2 -0
- package/dist/components/pf-nav-item.js.map +1 -0
- package/dist/components/pf-nav-section.d.ts +11 -0
- package/dist/components/pf-nav-section.js +2 -0
- package/dist/components/pf-nav-section.js.map +1 -0
- package/dist/components/pf-notification.d.ts +11 -0
- package/dist/components/pf-notification.js +2 -0
- package/dist/components/pf-notification.js.map +1 -0
- package/dist/components/pf-number-input.d.ts +11 -0
- package/dist/components/pf-number-input.js +2 -0
- package/dist/components/pf-number-input.js.map +1 -0
- package/dist/components/pf-option.d.ts +11 -0
- package/dist/components/pf-option.js +2 -0
- package/dist/components/pf-option.js.map +1 -0
- package/dist/components/pf-page-header.d.ts +11 -0
- package/dist/components/pf-page-header.js +2 -0
- package/dist/components/pf-page-header.js.map +1 -0
- package/dist/components/pf-pagination.d.ts +11 -0
- package/dist/components/pf-pagination.js +2 -0
- package/dist/components/pf-pagination.js.map +1 -0
- package/dist/components/pf-pie-chart.d.ts +11 -0
- package/dist/components/pf-pie-chart.js +2 -0
- package/dist/components/pf-pie-chart.js.map +1 -0
- package/dist/components/pf-pie-slice.d.ts +11 -0
- package/dist/components/pf-pie-slice.js +2 -0
- package/dist/components/pf-pie-slice.js.map +1 -0
- package/dist/components/pf-popover.d.ts +11 -0
- package/dist/components/pf-popover.js +2 -0
- package/dist/components/pf-popover.js.map +1 -0
- package/dist/components/pf-progress-bar.d.ts +11 -0
- package/dist/components/pf-progress-bar.js +2 -0
- package/dist/components/pf-progress-bar.js.map +1 -0
- package/dist/components/pf-progress-circle.d.ts +11 -0
- package/dist/components/pf-progress-circle.js +2 -0
- package/dist/components/pf-progress-circle.js.map +1 -0
- package/dist/components/pf-progress-step.d.ts +11 -0
- package/dist/components/pf-progress-step.js +2 -0
- package/dist/components/pf-progress-step.js.map +1 -0
- package/dist/components/pf-progress-steps.d.ts +11 -0
- package/dist/components/pf-progress-steps.js +2 -0
- package/dist/components/pf-progress-steps.js.map +1 -0
- package/dist/components/pf-radar-axis.d.ts +11 -0
- package/dist/components/pf-radar-axis.js +2 -0
- package/dist/components/pf-radar-axis.js.map +1 -0
- package/dist/components/pf-radar-chart.d.ts +11 -0
- package/dist/components/pf-radar-chart.js +2 -0
- package/dist/components/pf-radar-chart.js.map +1 -0
- package/dist/components/pf-radio-button.d.ts +11 -0
- package/dist/components/pf-radio-button.js +2 -0
- package/dist/components/pf-radio-button.js.map +1 -0
- package/dist/components/pf-radio-group.d.ts +11 -0
- package/dist/components/pf-radio-group.js +2 -0
- package/dist/components/pf-radio-group.js.map +1 -0
- package/dist/components/pf-rating-badge.d.ts +11 -0
- package/dist/components/pf-rating-badge.js +2 -0
- package/dist/components/pf-rating-badge.js.map +1 -0
- package/dist/components/pf-rating-stars.d.ts +11 -0
- package/dist/components/pf-rating-stars.js +2 -0
- package/dist/components/pf-rating-stars.js.map +1 -0
- package/dist/components/pf-resizable.d.ts +11 -0
- package/dist/components/pf-resizable.js +2 -0
- package/dist/components/pf-resizable.js.map +1 -0
- package/dist/components/pf-rich-text-editor.d.ts +11 -0
- package/dist/components/pf-rich-text-editor.js +2 -0
- package/dist/components/pf-rich-text-editor.js.map +1 -0
- package/dist/components/pf-scroll-area.d.ts +11 -0
- package/dist/components/pf-scroll-area.js +2 -0
- package/dist/components/pf-scroll-area.js.map +1 -0
- package/dist/components/pf-section-footer.d.ts +11 -0
- package/dist/components/pf-section-footer.js +2 -0
- package/dist/components/pf-section-footer.js.map +1 -0
- package/dist/components/pf-section-header.d.ts +11 -0
- package/dist/components/pf-section-header.js +2 -0
- package/dist/components/pf-section-header.js.map +1 -0
- package/dist/components/pf-select.d.ts +11 -0
- package/dist/components/pf-select.js +2 -0
- package/dist/components/pf-select.js.map +1 -0
- package/dist/components/pf-sidebar-navigation.d.ts +11 -0
- package/dist/components/pf-sidebar-navigation.js +2 -0
- package/dist/components/pf-sidebar-navigation.js.map +1 -0
- package/dist/components/pf-slideout-menu.d.ts +11 -0
- package/dist/components/pf-slideout-menu.js +2 -0
- package/dist/components/pf-slideout-menu.js.map +1 -0
- package/dist/components/pf-slider.d.ts +11 -0
- package/dist/components/pf-slider.js +2 -0
- package/dist/components/pf-slider.js.map +1 -0
- package/dist/components/pf-sparkline.d.ts +11 -0
- package/dist/components/pf-sparkline.js +2 -0
- package/dist/components/pf-sparkline.js.map +1 -0
- package/dist/components/pf-switch.d.ts +11 -0
- package/dist/components/pf-switch.js +2 -0
- package/dist/components/pf-switch.js.map +1 -0
- package/dist/components/pf-tab-panel.d.ts +11 -0
- package/dist/components/pf-tab-panel.js +2 -0
- package/dist/components/pf-tab-panel.js.map +1 -0
- package/dist/components/pf-tab.d.ts +11 -0
- package/dist/components/pf-tab.js +2 -0
- package/dist/components/pf-tab.js.map +1 -0
- package/dist/components/pf-table-cell.d.ts +11 -0
- package/dist/components/pf-table-cell.js +2 -0
- package/dist/components/pf-table-cell.js.map +1 -0
- package/dist/components/pf-table-row.d.ts +11 -0
- package/dist/components/pf-table-row.js +2 -0
- package/dist/components/pf-table-row.js.map +1 -0
- package/dist/components/pf-table.d.ts +11 -0
- package/dist/components/pf-table.js +2 -0
- package/dist/components/pf-table.js.map +1 -0
- package/dist/components/pf-tabs.d.ts +11 -0
- package/dist/components/pf-tabs.js +2 -0
- package/dist/components/pf-tabs.js.map +1 -0
- package/dist/components/pf-tag-input.d.ts +11 -0
- package/dist/components/pf-tag-input.js +2 -0
- package/dist/components/pf-tag-input.js.map +1 -0
- package/dist/components/pf-tag.d.ts +11 -0
- package/dist/components/pf-tag.js +2 -0
- package/dist/components/pf-tag.js.map +1 -0
- package/dist/components/pf-textarea.d.ts +11 -0
- package/dist/components/pf-textarea.js +2 -0
- package/dist/components/pf-textarea.js.map +1 -0
- package/dist/components/pf-time-picker.d.ts +11 -0
- package/dist/components/pf-time-picker.js +2 -0
- package/dist/components/pf-time-picker.js.map +1 -0
- package/dist/components/pf-timeline-item.d.ts +11 -0
- package/dist/components/pf-timeline-item.js +2 -0
- package/dist/components/pf-timeline-item.js.map +1 -0
- package/dist/components/pf-timeline.d.ts +11 -0
- package/dist/components/pf-timeline.js +2 -0
- package/dist/components/pf-timeline.js.map +1 -0
- package/dist/components/pf-toaster.d.ts +11 -0
- package/dist/components/pf-toaster.js +2 -0
- package/dist/components/pf-toaster.js.map +1 -0
- package/dist/components/pf-toolbar-separator.d.ts +11 -0
- package/dist/components/pf-toolbar-separator.js +2 -0
- package/dist/components/pf-toolbar-separator.js.map +1 -0
- package/dist/components/pf-toolbar.d.ts +11 -0
- package/dist/components/pf-toolbar.js +2 -0
- package/dist/components/pf-toolbar.js.map +1 -0
- package/dist/components/pf-tooltip.d.ts +11 -0
- package/dist/components/pf-tooltip.js +2 -0
- package/dist/components/pf-tooltip.js.map +1 -0
- package/dist/components/pf-tree-item.d.ts +11 -0
- package/dist/components/pf-tree-item.js +2 -0
- package/dist/components/pf-tree-item.js.map +1 -0
- package/dist/components/pf-tree-view.d.ts +11 -0
- package/dist/components/pf-tree-view.js +2 -0
- package/dist/components/pf-tree-view.js.map +1 -0
- package/dist/components/pf-utility-button.d.ts +11 -0
- package/dist/components/pf-utility-button.js +2 -0
- package/dist/components/pf-utility-button.js.map +1 -0
- package/dist/components/pf-video-player.d.ts +11 -0
- package/dist/components/pf-video-player.js +2 -0
- package/dist/components/pf-video-player.js.map +1 -0
- package/dist/components/pf-visually-hidden.d.ts +11 -0
- package/dist/components/pf-visually-hidden.js +2 -0
- package/dist/components/pf-visually-hidden.js.map +1 -0
- package/dist/docs.d.ts +480 -0
- package/dist/docs.json +26352 -0
- package/dist/elements.json +9959 -0
- package/dist/esm/aria-DfpCerXM.js +22 -0
- package/dist/esm/aria-DfpCerXM.js.map +1 -0
- package/dist/esm/cartesian-rMXGMSEx.js +184 -0
- package/dist/esm/cartesian-rMXGMSEx.js.map +1 -0
- package/dist/esm/command-Dkd7BUB5.js +39 -0
- package/dist/esm/command-Dkd7BUB5.js.map +1 -0
- package/dist/esm/date-C9jNMqLs.js +154 -0
- package/dist/esm/date-C9jNMqLs.js.map +1 -0
- package/dist/esm/form-validity-Cr6IXrUk.js +35 -0
- package/dist/esm/form-validity-Cr6IXrUk.js.map +1 -0
- package/dist/esm/icons-CCln56Fj.js +75 -0
- package/dist/esm/icons-CCln56Fj.js.map +1 -0
- package/dist/esm/index-Bm6UxEit.js +2279 -0
- package/dist/esm/index-Bm6UxEit.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/keys-g4FlTDZx.js +17 -0
- package/dist/esm/keys-g4FlTDZx.js.map +1 -0
- package/dist/esm/loader.js +13 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/motion-Cta76kgc.js +43 -0
- package/dist/esm/motion-Cta76kgc.js.map +1 -0
- package/dist/esm/nav-DToIJg5W.js +25 -0
- package/dist/esm/nav-DToIJg5W.js.map +1 -0
- package/dist/esm/navigation-CAz7-p8y.js +32 -0
- package/dist/esm/navigation-CAz7-p8y.js.map +1 -0
- package/dist/esm/number-field-DSXauhXX.js +70 -0
- package/dist/esm/number-field-DSXauhXX.js.map +1 -0
- package/dist/esm/pf-accordion-item.entry.js +60 -0
- package/dist/esm/pf-accordion-item.entry.js.map +1 -0
- package/dist/esm/pf-accordion.entry.js +144 -0
- package/dist/esm/pf-accordion.entry.js.map +1 -0
- package/dist/esm/pf-alert.entry.js +65 -0
- package/dist/esm/pf-alert.entry.js.map +1 -0
- package/dist/esm/pf-avatar-group.entry.js +118 -0
- package/dist/esm/pf-avatar-group.entry.js.map +1 -0
- package/dist/esm/pf-avatar.entry.js +28 -0
- package/dist/esm/pf-avatar.entry.js.map +1 -0
- package/dist/esm/pf-badge-group.entry.js +34 -0
- package/dist/esm/pf-badge-group.entry.js.map +1 -0
- package/dist/esm/pf-badge.entry.js +20 -0
- package/dist/esm/pf-badge.entry.js.map +1 -0
- package/dist/esm/pf-bar-chart.entry.js +110 -0
- package/dist/esm/pf-bar-chart.entry.js.map +1 -0
- package/dist/esm/pf-breadcrumb.entry.js +41 -0
- package/dist/esm/pf-breadcrumb.entry.js.map +1 -0
- package/dist/esm/pf-breadcrumbs.entry.js +94 -0
- package/dist/esm/pf-breadcrumbs.entry.js.map +1 -0
- package/dist/esm/pf-button-group-item.entry.js +49 -0
- package/dist/esm/pf-button-group-item.entry.js.map +1 -0
- package/dist/esm/pf-button-group.entry.js +100 -0
- package/dist/esm/pf-button-group.entry.js.map +1 -0
- package/dist/esm/pf-button.entry.js +41 -0
- package/dist/esm/pf-button.entry.js.map +1 -0
- package/dist/esm/pf-calendar.entry.js +220 -0
- package/dist/esm/pf-calendar.entry.js.map +1 -0
- package/dist/esm/pf-card-content.entry.js +18 -0
- package/dist/esm/pf-card-content.entry.js.map +1 -0
- package/dist/esm/pf-card-footer.entry.js +18 -0
- package/dist/esm/pf-card-footer.entry.js.map +1 -0
- package/dist/esm/pf-card-header.entry.js +18 -0
- package/dist/esm/pf-card-header.entry.js.map +1 -0
- package/dist/esm/pf-card.entry.js +18 -0
- package/dist/esm/pf-card.entry.js.map +1 -0
- package/dist/esm/pf-carousel-slide.entry.js +31 -0
- package/dist/esm/pf-carousel-slide.entry.js.map +1 -0
- package/dist/esm/pf-carousel.entry.js +168 -0
- package/dist/esm/pf-carousel.entry.js.map +1 -0
- package/dist/esm/pf-chart-series.entry.js +31 -0
- package/dist/esm/pf-chart-series.entry.js.map +1 -0
- package/dist/esm/pf-checkbox.entry.js +108 -0
- package/dist/esm/pf-checkbox.entry.js.map +1 -0
- package/dist/esm/pf-code-snippet.entry.js +155 -0
- package/dist/esm/pf-code-snippet.entry.js.map +1 -0
- package/dist/esm/pf-collapsible.entry.js +74 -0
- package/dist/esm/pf-collapsible.entry.js.map +1 -0
- package/dist/esm/pf-combobox.entry.js +337 -0
- package/dist/esm/pf-combobox.entry.js.map +1 -0
- package/dist/esm/pf-command-group.entry.js +20 -0
- package/dist/esm/pf-command-group.entry.js.map +1 -0
- package/dist/esm/pf-command-item.entry.js +48 -0
- package/dist/esm/pf-command-item.entry.js.map +1 -0
- package/dist/esm/pf-command-palette.entry.js +271 -0
- package/dist/esm/pf-command-palette.entry.js.map +1 -0
- package/dist/esm/pf-content-divider.entry.js +53 -0
- package/dist/esm/pf-content-divider.entry.js.map +1 -0
- package/dist/esm/pf-context-menu.entry.js +157 -0
- package/dist/esm/pf-context-menu.entry.js.map +1 -0
- package/dist/esm/pf-credit-card.entry.js +38 -0
- package/dist/esm/pf-credit-card.entry.js.map +1 -0
- package/dist/esm/pf-date-picker.entry.js +239 -0
- package/dist/esm/pf-date-picker.entry.js.map +1 -0
- package/dist/esm/pf-date-range-picker.entry.js +474 -0
- package/dist/esm/pf-date-range-picker.entry.js.map +1 -0
- package/dist/esm/pf-dropdown.entry.js +181 -0
- package/dist/esm/pf-dropdown.entry.js.map +1 -0
- package/dist/esm/pf-empty-state.entry.js +53 -0
- package/dist/esm/pf-empty-state.entry.js.map +1 -0
- package/dist/esm/pf-file-uploader.entry.js +310 -0
- package/dist/esm/pf-file-uploader.entry.js.map +1 -0
- package/dist/esm/pf-gauge-chart.entry.js +39 -0
- package/dist/esm/pf-gauge-chart.entry.js.map +1 -0
- package/dist/esm/pf-header-navigation.entry.js +75 -0
- package/dist/esm/pf-header-navigation.entry.js.map +1 -0
- package/dist/esm/pf-heatmap.entry.js +250 -0
- package/dist/esm/pf-heatmap.entry.js.map +1 -0
- package/dist/esm/pf-icon.entry.js +325 -0
- package/dist/esm/pf-icon.entry.js.map +1 -0
- package/dist/esm/pf-inline-cta.entry.js +84 -0
- package/dist/esm/pf-inline-cta.entry.js.map +1 -0
- package/dist/esm/pf-input.entry.js +120 -0
- package/dist/esm/pf-input.entry.js.map +1 -0
- package/dist/esm/pf-kbd.entry.js +25 -0
- package/dist/esm/pf-kbd.entry.js.map +1 -0
- package/dist/esm/pf-line-chart.entry.js +115 -0
- package/dist/esm/pf-line-chart.entry.js.map +1 -0
- package/dist/esm/pf-loading-dots.entry.js +22 -0
- package/dist/esm/pf-loading-dots.entry.js.map +1 -0
- package/dist/esm/pf-loading-skeleton.entry.js +41 -0
- package/dist/esm/pf-loading-skeleton.entry.js.map +1 -0
- package/dist/esm/pf-loading-spinner.entry.js +28 -0
- package/dist/esm/pf-loading-spinner.entry.js.map +1 -0
- package/dist/esm/pf-menu-item.entry.js +55 -0
- package/dist/esm/pf-menu-item.entry.js.map +1 -0
- package/dist/esm/pf-menu-separator.entry.js +18 -0
- package/dist/esm/pf-menu-separator.entry.js.map +1 -0
- package/dist/esm/pf-metric-card.entry.js +52 -0
- package/dist/esm/pf-metric-card.entry.js.map +1 -0
- package/dist/esm/pf-metric-grid.entry.js +18 -0
- package/dist/esm/pf-metric-grid.entry.js.map +1 -0
- package/dist/esm/pf-modal-body.entry.js +18 -0
- package/dist/esm/pf-modal-body.entry.js.map +1 -0
- package/dist/esm/pf-modal-footer.entry.js +18 -0
- package/dist/esm/pf-modal-footer.entry.js.map +1 -0
- package/dist/esm/pf-modal-header.entry.js +18 -0
- package/dist/esm/pf-modal-header.entry.js.map +1 -0
- package/dist/esm/pf-modal.entry.js +139 -0
- package/dist/esm/pf-modal.entry.js.map +1 -0
- package/dist/esm/pf-multi-select.entry.js +314 -0
- package/dist/esm/pf-multi-select.entry.js.map +1 -0
- package/dist/esm/pf-nav-item.entry.js +56 -0
- package/dist/esm/pf-nav-item.entry.js.map +1 -0
- package/dist/esm/pf-nav-section.entry.js +52 -0
- package/dist/esm/pf-nav-section.entry.js.map +1 -0
- package/dist/esm/pf-notification.entry.js +66 -0
- package/dist/esm/pf-notification.entry.js.map +1 -0
- package/dist/esm/pf-number-input.entry.js +190 -0
- package/dist/esm/pf-number-input.entry.js.map +1 -0
- package/dist/esm/pf-option.entry.js +48 -0
- package/dist/esm/pf-option.entry.js.map +1 -0
- package/dist/esm/pf-page-header.entry.js +33 -0
- package/dist/esm/pf-page-header.entry.js.map +1 -0
- package/dist/esm/pf-pagination.entry.js +111 -0
- package/dist/esm/pf-pagination.entry.js.map +1 -0
- package/dist/esm/pf-pie-chart.entry.js +92 -0
- package/dist/esm/pf-pie-chart.entry.js.map +1 -0
- package/dist/esm/pf-pie-slice.entry.js +34 -0
- package/dist/esm/pf-pie-slice.entry.js.map +1 -0
- package/dist/esm/pf-popover.entry.js +155 -0
- package/dist/esm/pf-popover.entry.js.map +1 -0
- package/dist/esm/pf-progress-bar.entry.js +30 -0
- package/dist/esm/pf-progress-bar.entry.js.map +1 -0
- package/dist/esm/pf-progress-circle.entry.js +38 -0
- package/dist/esm/pf-progress-circle.entry.js.map +1 -0
- package/dist/esm/pf-progress-step.entry.js +40 -0
- package/dist/esm/pf-progress-step.entry.js.map +1 -0
- package/dist/esm/pf-progress-steps.entry.js +97 -0
- package/dist/esm/pf-progress-steps.entry.js.map +1 -0
- package/dist/esm/pf-radar-axis.entry.js +31 -0
- package/dist/esm/pf-radar-axis.entry.js.map +1 -0
- package/dist/esm/pf-radar-chart.entry.js +183 -0
- package/dist/esm/pf-radar-chart.entry.js.map +1 -0
- package/dist/esm/pf-radio-button.entry.js +71 -0
- package/dist/esm/pf-radio-button.entry.js.map +1 -0
- package/dist/esm/pf-radio-group.entry.js +172 -0
- package/dist/esm/pf-radio-group.entry.js.map +1 -0
- package/dist/esm/pf-rating-badge.entry.js +33 -0
- package/dist/esm/pf-rating-badge.entry.js.map +1 -0
- package/dist/esm/pf-rating-stars.entry.js +44 -0
- package/dist/esm/pf-rating-stars.entry.js.map +1 -0
- package/dist/esm/pf-resizable.entry.js +203 -0
- package/dist/esm/pf-resizable.entry.js.map +1 -0
- package/dist/esm/pf-rich-text-editor.entry.js +259 -0
- package/dist/esm/pf-rich-text-editor.entry.js.map +1 -0
- package/dist/esm/pf-scroll-area.entry.js +41 -0
- package/dist/esm/pf-scroll-area.entry.js.map +1 -0
- package/dist/esm/pf-section-footer.entry.js +39 -0
- package/dist/esm/pf-section-footer.entry.js.map +1 -0
- package/dist/esm/pf-section-header.entry.js +35 -0
- package/dist/esm/pf-section-header.entry.js.map +1 -0
- package/dist/esm/pf-select.entry.js +410 -0
- package/dist/esm/pf-select.entry.js.map +1 -0
- package/dist/esm/pf-sidebar-navigation.entry.js +101 -0
- package/dist/esm/pf-sidebar-navigation.entry.js.map +1 -0
- package/dist/esm/pf-slideout-menu.entry.js +153 -0
- package/dist/esm/pf-slideout-menu.entry.js.map +1 -0
- package/dist/esm/pf-slider.entry.js +123 -0
- package/dist/esm/pf-slider.entry.js.map +1 -0
- package/dist/esm/pf-sparkline.entry.js +121 -0
- package/dist/esm/pf-sparkline.entry.js.map +1 -0
- package/dist/esm/pf-switch.entry.js +108 -0
- package/dist/esm/pf-switch.entry.js.map +1 -0
- package/dist/esm/pf-tab-panel.entry.js +39 -0
- package/dist/esm/pf-tab-panel.entry.js.map +1 -0
- package/dist/esm/pf-tab.entry.js +94 -0
- package/dist/esm/pf-tab.entry.js.map +1 -0
- package/dist/esm/pf-table-cell.entry.js +48 -0
- package/dist/esm/pf-table-cell.entry.js.map +1 -0
- package/dist/esm/pf-table-row.entry.js +49 -0
- package/dist/esm/pf-table-row.entry.js.map +1 -0
- package/dist/esm/pf-table.entry.js +143 -0
- package/dist/esm/pf-table.entry.js.map +1 -0
- package/dist/esm/pf-tabs.entry.js +340 -0
- package/dist/esm/pf-tabs.entry.js.map +1 -0
- package/dist/esm/pf-tag-input.entry.js +197 -0
- package/dist/esm/pf-tag-input.entry.js.map +1 -0
- package/dist/esm/pf-tag.entry.js +30 -0
- package/dist/esm/pf-tag.entry.js.map +1 -0
- package/dist/esm/pf-textarea.entry.js +138 -0
- package/dist/esm/pf-textarea.entry.js.map +1 -0
- package/dist/esm/pf-time-picker.entry.js +326 -0
- package/dist/esm/pf-time-picker.entry.js.map +1 -0
- package/dist/esm/pf-timeline-item.entry.js +44 -0
- package/dist/esm/pf-timeline-item.entry.js.map +1 -0
- package/dist/esm/pf-timeline.entry.js +53 -0
- package/dist/esm/pf-timeline.entry.js.map +1 -0
- package/dist/esm/pf-toaster.entry.js +88 -0
- package/dist/esm/pf-toaster.entry.js.map +1 -0
- package/dist/esm/pf-toolbar-separator.entry.js +20 -0
- package/dist/esm/pf-toolbar-separator.entry.js.map +1 -0
- package/dist/esm/pf-toolbar.entry.js +73 -0
- package/dist/esm/pf-toolbar.entry.js.map +1 -0
- package/dist/esm/pf-tooltip.entry.js +177 -0
- package/dist/esm/pf-tooltip.entry.js.map +1 -0
- package/dist/esm/pf-tree-item.entry.js +79 -0
- package/dist/esm/pf-tree-item.entry.js.map +1 -0
- package/dist/esm/pf-tree-view.entry.js +340 -0
- package/dist/esm/pf-tree-view.entry.js.map +1 -0
- package/dist/esm/pf-utility-button.entry.js +54 -0
- package/dist/esm/pf-utility-button.entry.js.map +1 -0
- package/dist/esm/pf-video-player.entry.js +60 -0
- package/dist/esm/pf-video-player.entry.js.map +1 -0
- package/dist/esm/pf-visually-hidden.entry.js +23 -0
- package/dist/esm/pf-visually-hidden.entry.js.map +1 -0
- package/dist/esm/pie-COAc4ZDB.js +111 -0
- package/dist/esm/pie-COAc4ZDB.js.map +1 -0
- package/dist/esm/pitchfork.js +23 -0
- package/dist/esm/pitchfork.js.map +1 -0
- package/dist/esm/place-popover-CC7AyfOt.js +195 -0
- package/dist/esm/place-popover-CC7AyfOt.js.map +1 -0
- package/dist/esm/progress-BA6CMosJ.js +80 -0
- package/dist/esm/progress-BA6CMosJ.js.map +1 -0
- package/dist/esm/rating-DVK0sUX2.js +52 -0
- package/dist/esm/rating-DVK0sUX2.js.map +1 -0
- package/dist/esm/roving-BzRAGyFO.js +67 -0
- package/dist/esm/roving-BzRAGyFO.js.map +1 -0
- package/dist/esm/scroll-lock-C-VLyxRR.js +44 -0
- package/dist/esm/scroll-lock-C-VLyxRR.js.map +1 -0
- package/dist/esm/text-B8ulhYUJ.js +54 -0
- package/dist/esm/text-B8ulhYUJ.js.map +1 -0
- package/dist/esm/value-list-BmcsJLdy.js +100 -0
- package/dist/esm/value-list-BmcsJLdy.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/pitchfork/index.esm.js +2 -0
- package/dist/pitchfork/index.esm.js.map +1 -0
- package/dist/pitchfork/p-03db6bae.entry.js +2 -0
- package/dist/pitchfork/p-03db6bae.entry.js.map +1 -0
- package/dist/pitchfork/p-04869bdc.entry.js +2 -0
- package/dist/pitchfork/p-04869bdc.entry.js.map +1 -0
- package/dist/pitchfork/p-068baf6d.entry.js +2 -0
- package/dist/pitchfork/p-068baf6d.entry.js.map +1 -0
- package/dist/pitchfork/p-0bbec059.entry.js +2 -0
- package/dist/pitchfork/p-0bbec059.entry.js.map +1 -0
- package/dist/pitchfork/p-1133b2fa.entry.js +2 -0
- package/dist/pitchfork/p-1133b2fa.entry.js.map +1 -0
- package/dist/pitchfork/p-1bb6b456.entry.js +2 -0
- package/dist/pitchfork/p-1bb6b456.entry.js.map +1 -0
- package/dist/pitchfork/p-1bc87b8c.entry.js +2 -0
- package/dist/pitchfork/p-1bc87b8c.entry.js.map +1 -0
- package/dist/pitchfork/p-1dbea97f.entry.js +2 -0
- package/dist/pitchfork/p-1dbea97f.entry.js.map +1 -0
- package/dist/pitchfork/p-1e171d52.entry.js +2 -0
- package/dist/pitchfork/p-1e171d52.entry.js.map +1 -0
- package/dist/pitchfork/p-1e7e8d25.entry.js +2 -0
- package/dist/pitchfork/p-1e7e8d25.entry.js.map +1 -0
- package/dist/pitchfork/p-1fa3b37b.entry.js +2 -0
- package/dist/pitchfork/p-1fa3b37b.entry.js.map +1 -0
- package/dist/pitchfork/p-22c7e5b4.entry.js +2 -0
- package/dist/pitchfork/p-22c7e5b4.entry.js.map +1 -0
- package/dist/pitchfork/p-23b1be9b.entry.js +2 -0
- package/dist/pitchfork/p-23b1be9b.entry.js.map +1 -0
- package/dist/pitchfork/p-248bd301.entry.js +2 -0
- package/dist/pitchfork/p-248bd301.entry.js.map +1 -0
- package/dist/pitchfork/p-2577564c.entry.js +7 -0
- package/dist/pitchfork/p-2577564c.entry.js.map +1 -0
- package/dist/pitchfork/p-25d0a34b.entry.js +2 -0
- package/dist/pitchfork/p-25d0a34b.entry.js.map +1 -0
- package/dist/pitchfork/p-26e119df.entry.js +2 -0
- package/dist/pitchfork/p-26e119df.entry.js.map +1 -0
- package/dist/pitchfork/p-2798795f.entry.js +2 -0
- package/dist/pitchfork/p-2798795f.entry.js.map +1 -0
- package/dist/pitchfork/p-3133eb1a.entry.js +2 -0
- package/dist/pitchfork/p-3133eb1a.entry.js.map +1 -0
- package/dist/pitchfork/p-31e0fbc7.entry.js +2 -0
- package/dist/pitchfork/p-31e0fbc7.entry.js.map +1 -0
- package/dist/pitchfork/p-33857f80.entry.js +2 -0
- package/dist/pitchfork/p-33857f80.entry.js.map +1 -0
- package/dist/pitchfork/p-34f2df95.entry.js +2 -0
- package/dist/pitchfork/p-34f2df95.entry.js.map +1 -0
- package/dist/pitchfork/p-37ee290d.entry.js +2 -0
- package/dist/pitchfork/p-37ee290d.entry.js.map +1 -0
- package/dist/pitchfork/p-3843faa6.entry.js +2 -0
- package/dist/pitchfork/p-3843faa6.entry.js.map +1 -0
- package/dist/pitchfork/p-3cd7d421.entry.js +2 -0
- package/dist/pitchfork/p-3cd7d421.entry.js.map +1 -0
- package/dist/pitchfork/p-3fd3444b.entry.js +2 -0
- package/dist/pitchfork/p-3fd3444b.entry.js.map +1 -0
- package/dist/pitchfork/p-41d997d9.entry.js +2 -0
- package/dist/pitchfork/p-41d997d9.entry.js.map +1 -0
- package/dist/pitchfork/p-4217a92a.entry.js +2 -0
- package/dist/pitchfork/p-4217a92a.entry.js.map +1 -0
- package/dist/pitchfork/p-43c103bb.entry.js +2 -0
- package/dist/pitchfork/p-43c103bb.entry.js.map +1 -0
- package/dist/pitchfork/p-47cabc33.entry.js +2 -0
- package/dist/pitchfork/p-47cabc33.entry.js.map +1 -0
- package/dist/pitchfork/p-48b2d3f7.entry.js +2 -0
- package/dist/pitchfork/p-48b2d3f7.entry.js.map +1 -0
- package/dist/pitchfork/p-4959a556.entry.js +2 -0
- package/dist/pitchfork/p-4959a556.entry.js.map +1 -0
- package/dist/pitchfork/p-4b05851a.entry.js +2 -0
- package/dist/pitchfork/p-4b05851a.entry.js.map +1 -0
- package/dist/pitchfork/p-4b16ef92.entry.js +2 -0
- package/dist/pitchfork/p-4b16ef92.entry.js.map +1 -0
- package/dist/pitchfork/p-4b7c186f.entry.js +2 -0
- package/dist/pitchfork/p-4b7c186f.entry.js.map +1 -0
- package/dist/pitchfork/p-4df4eed8.entry.js +2 -0
- package/dist/pitchfork/p-4df4eed8.entry.js.map +1 -0
- package/dist/pitchfork/p-4e785310.entry.js +2 -0
- package/dist/pitchfork/p-4e785310.entry.js.map +1 -0
- package/dist/pitchfork/p-4e7c51e4.entry.js +2 -0
- package/dist/pitchfork/p-4e7c51e4.entry.js.map +1 -0
- package/dist/pitchfork/p-5064d2dd.entry.js +2 -0
- package/dist/pitchfork/p-5064d2dd.entry.js.map +1 -0
- package/dist/pitchfork/p-50ad12be.entry.js +2 -0
- package/dist/pitchfork/p-50ad12be.entry.js.map +1 -0
- package/dist/pitchfork/p-51528462.entry.js +2 -0
- package/dist/pitchfork/p-51528462.entry.js.map +1 -0
- package/dist/pitchfork/p-52eef7eb.entry.js +2 -0
- package/dist/pitchfork/p-52eef7eb.entry.js.map +1 -0
- package/dist/pitchfork/p-578db1a6.entry.js +2 -0
- package/dist/pitchfork/p-578db1a6.entry.js.map +1 -0
- package/dist/pitchfork/p-6066ce98.entry.js +2 -0
- package/dist/pitchfork/p-6066ce98.entry.js.map +1 -0
- package/dist/pitchfork/p-643f7e00.entry.js +2 -0
- package/dist/pitchfork/p-643f7e00.entry.js.map +1 -0
- package/dist/pitchfork/p-685f817b.entry.js +2 -0
- package/dist/pitchfork/p-685f817b.entry.js.map +1 -0
- package/dist/pitchfork/p-69d27f61.entry.js +2 -0
- package/dist/pitchfork/p-69d27f61.entry.js.map +1 -0
- package/dist/pitchfork/p-6cfacd82.entry.js +2 -0
- package/dist/pitchfork/p-6cfacd82.entry.js.map +1 -0
- package/dist/pitchfork/p-6d3c4094.entry.js +2 -0
- package/dist/pitchfork/p-6d3c4094.entry.js.map +1 -0
- package/dist/pitchfork/p-717b552a.entry.js +2 -0
- package/dist/pitchfork/p-717b552a.entry.js.map +1 -0
- package/dist/pitchfork/p-742f2cc4.entry.js +2 -0
- package/dist/pitchfork/p-742f2cc4.entry.js.map +1 -0
- package/dist/pitchfork/p-76f0f473.entry.js +2 -0
- package/dist/pitchfork/p-76f0f473.entry.js.map +1 -0
- package/dist/pitchfork/p-77168a0d.entry.js +2 -0
- package/dist/pitchfork/p-77168a0d.entry.js.map +1 -0
- package/dist/pitchfork/p-7e5ba1f9.entry.js +2 -0
- package/dist/pitchfork/p-7e5ba1f9.entry.js.map +1 -0
- package/dist/pitchfork/p-845c5252.entry.js +2 -0
- package/dist/pitchfork/p-845c5252.entry.js.map +1 -0
- package/dist/pitchfork/p-8718bb3a.entry.js +2 -0
- package/dist/pitchfork/p-8718bb3a.entry.js.map +1 -0
- package/dist/pitchfork/p-8a1e2ba8.entry.js +2 -0
- package/dist/pitchfork/p-8a1e2ba8.entry.js.map +1 -0
- package/dist/pitchfork/p-8e1a4b26.entry.js +2 -0
- package/dist/pitchfork/p-8e1a4b26.entry.js.map +1 -0
- package/dist/pitchfork/p-8e304481.entry.js +2 -0
- package/dist/pitchfork/p-8e304481.entry.js.map +1 -0
- package/dist/pitchfork/p-97dd4193.entry.js +2 -0
- package/dist/pitchfork/p-97dd4193.entry.js.map +1 -0
- package/dist/pitchfork/p-9d93b1ea.entry.js +2 -0
- package/dist/pitchfork/p-9d93b1ea.entry.js.map +1 -0
- package/dist/pitchfork/p-9dc1dd8a.entry.js +2 -0
- package/dist/pitchfork/p-9dc1dd8a.entry.js.map +1 -0
- package/dist/pitchfork/p-B8ulhYUJ.js +2 -0
- package/dist/pitchfork/p-B8ulhYUJ.js.map +1 -0
- package/dist/pitchfork/p-BA6CMosJ.js +2 -0
- package/dist/pitchfork/p-BA6CMosJ.js.map +1 -0
- package/dist/pitchfork/p-Bm6UxEit.js +3 -0
- package/dist/pitchfork/p-Bm6UxEit.js.map +1 -0
- package/dist/pitchfork/p-BmcsJLdy.js +2 -0
- package/dist/pitchfork/p-BmcsJLdy.js.map +1 -0
- package/dist/pitchfork/p-C-VLyxRR.js +2 -0
- package/dist/pitchfork/p-C-VLyxRR.js.map +1 -0
- package/dist/pitchfork/p-C9jNMqLs.js +2 -0
- package/dist/pitchfork/p-C9jNMqLs.js.map +1 -0
- package/dist/pitchfork/p-CAz7-p8y.js +2 -0
- package/dist/pitchfork/p-CAz7-p8y.js.map +1 -0
- package/dist/pitchfork/p-CC7AyfOt.js +2 -0
- package/dist/pitchfork/p-CC7AyfOt.js.map +1 -0
- package/dist/pitchfork/p-CCln56Fj.js +2 -0
- package/dist/pitchfork/p-CCln56Fj.js.map +1 -0
- package/dist/pitchfork/p-COAc4ZDB.js +2 -0
- package/dist/pitchfork/p-COAc4ZDB.js.map +1 -0
- package/dist/pitchfork/p-CmX-kVk-.js +2 -0
- package/dist/pitchfork/p-CmX-kVk-.js.map +1 -0
- package/dist/pitchfork/p-Cr6IXrUk.js +2 -0
- package/dist/pitchfork/p-Cr6IXrUk.js.map +1 -0
- package/dist/pitchfork/p-Cta76kgc.js +2 -0
- package/dist/pitchfork/p-Cta76kgc.js.map +1 -0
- package/dist/pitchfork/p-DSXauhXX.js +2 -0
- package/dist/pitchfork/p-DSXauhXX.js.map +1 -0
- package/dist/pitchfork/p-DToIJg5W.js +2 -0
- package/dist/pitchfork/p-DToIJg5W.js.map +1 -0
- package/dist/pitchfork/p-DVK0sUX2.js +2 -0
- package/dist/pitchfork/p-DVK0sUX2.js.map +1 -0
- package/dist/pitchfork/p-DfpCerXM.js +2 -0
- package/dist/pitchfork/p-DfpCerXM.js.map +1 -0
- package/dist/pitchfork/p-Dkd7BUB5.js +2 -0
- package/dist/pitchfork/p-Dkd7BUB5.js.map +1 -0
- package/dist/pitchfork/p-Fiuz9ck7.js +2 -0
- package/dist/pitchfork/p-Fiuz9ck7.js.map +1 -0
- package/dist/pitchfork/p-a1a7838d.entry.js +2 -0
- package/dist/pitchfork/p-a1a7838d.entry.js.map +1 -0
- package/dist/pitchfork/p-a24bf2bd.entry.js +2 -0
- package/dist/pitchfork/p-a24bf2bd.entry.js.map +1 -0
- package/dist/pitchfork/p-a4cc62e1.entry.js +2 -0
- package/dist/pitchfork/p-a4cc62e1.entry.js.map +1 -0
- package/dist/pitchfork/p-a4fad812.entry.js +2 -0
- package/dist/pitchfork/p-a4fad812.entry.js.map +1 -0
- package/dist/pitchfork/p-a5b5c09a.entry.js +2 -0
- package/dist/pitchfork/p-a5b5c09a.entry.js.map +1 -0
- package/dist/pitchfork/p-a7ce64b1.entry.js +2 -0
- package/dist/pitchfork/p-a7ce64b1.entry.js.map +1 -0
- package/dist/pitchfork/p-a864dae5.entry.js +2 -0
- package/dist/pitchfork/p-a864dae5.entry.js.map +1 -0
- package/dist/pitchfork/p-a9b77dbb.entry.js +2 -0
- package/dist/pitchfork/p-a9b77dbb.entry.js.map +1 -0
- package/dist/pitchfork/p-aa2acec3.entry.js +2 -0
- package/dist/pitchfork/p-aa2acec3.entry.js.map +1 -0
- package/dist/pitchfork/p-aa615fe9.entry.js +2 -0
- package/dist/pitchfork/p-aa615fe9.entry.js.map +1 -0
- package/dist/pitchfork/p-aa869013.entry.js +2 -0
- package/dist/pitchfork/p-aa869013.entry.js.map +1 -0
- package/dist/pitchfork/p-aac27e62.entry.js +2 -0
- package/dist/pitchfork/p-aac27e62.entry.js.map +1 -0
- package/dist/pitchfork/p-ac3fcb57.entry.js +2 -0
- package/dist/pitchfork/p-ac3fcb57.entry.js.map +1 -0
- package/dist/pitchfork/p-ad93b614.entry.js +2 -0
- package/dist/pitchfork/p-ad93b614.entry.js.map +1 -0
- package/dist/pitchfork/p-ae5fd08e.entry.js +2 -0
- package/dist/pitchfork/p-ae5fd08e.entry.js.map +1 -0
- package/dist/pitchfork/p-b26df5a0.entry.js +2 -0
- package/dist/pitchfork/p-b26df5a0.entry.js.map +1 -0
- package/dist/pitchfork/p-b2df1ecb.entry.js +2 -0
- package/dist/pitchfork/p-b2df1ecb.entry.js.map +1 -0
- package/dist/pitchfork/p-b442330b.entry.js +2 -0
- package/dist/pitchfork/p-b442330b.entry.js.map +1 -0
- package/dist/pitchfork/p-b4480baf.entry.js +2 -0
- package/dist/pitchfork/p-b4480baf.entry.js.map +1 -0
- package/dist/pitchfork/p-b4774cba.entry.js +2 -0
- package/dist/pitchfork/p-b4774cba.entry.js.map +1 -0
- package/dist/pitchfork/p-b6b18062.entry.js +2 -0
- package/dist/pitchfork/p-b6b18062.entry.js.map +1 -0
- package/dist/pitchfork/p-be2c6150.entry.js +2 -0
- package/dist/pitchfork/p-be2c6150.entry.js.map +1 -0
- package/dist/pitchfork/p-bf044fb5.entry.js +2 -0
- package/dist/pitchfork/p-bf044fb5.entry.js.map +1 -0
- package/dist/pitchfork/p-c07c5847.entry.js +2 -0
- package/dist/pitchfork/p-c07c5847.entry.js.map +1 -0
- package/dist/pitchfork/p-c6bdd9cd.entry.js +2 -0
- package/dist/pitchfork/p-c6bdd9cd.entry.js.map +1 -0
- package/dist/pitchfork/p-c82804d4.entry.js +2 -0
- package/dist/pitchfork/p-c82804d4.entry.js.map +1 -0
- package/dist/pitchfork/p-d0d2070b.entry.js +2 -0
- package/dist/pitchfork/p-d0d2070b.entry.js.map +1 -0
- package/dist/pitchfork/p-d248b027.entry.js +2 -0
- package/dist/pitchfork/p-d248b027.entry.js.map +1 -0
- package/dist/pitchfork/p-d4bbcba0.entry.js +2 -0
- package/dist/pitchfork/p-d4bbcba0.entry.js.map +1 -0
- package/dist/pitchfork/p-d6425298.entry.js +2 -0
- package/dist/pitchfork/p-d6425298.entry.js.map +1 -0
- package/dist/pitchfork/p-d7eb6335.entry.js +2 -0
- package/dist/pitchfork/p-d7eb6335.entry.js.map +1 -0
- package/dist/pitchfork/p-dcaaedeb.entry.js +2 -0
- package/dist/pitchfork/p-dcaaedeb.entry.js.map +1 -0
- package/dist/pitchfork/p-dd0e0d79.entry.js +2 -0
- package/dist/pitchfork/p-dd0e0d79.entry.js.map +1 -0
- package/dist/pitchfork/p-e882124b.entry.js +2 -0
- package/dist/pitchfork/p-e882124b.entry.js.map +1 -0
- package/dist/pitchfork/p-e944f504.entry.js +2 -0
- package/dist/pitchfork/p-e944f504.entry.js.map +1 -0
- package/dist/pitchfork/p-e9d767df.entry.js +2 -0
- package/dist/pitchfork/p-e9d767df.entry.js.map +1 -0
- package/dist/pitchfork/p-ea63c122.entry.js +2 -0
- package/dist/pitchfork/p-ea63c122.entry.js.map +1 -0
- package/dist/pitchfork/p-edb28479.entry.js +2 -0
- package/dist/pitchfork/p-edb28479.entry.js.map +1 -0
- package/dist/pitchfork/p-f0889512.entry.js +2 -0
- package/dist/pitchfork/p-f0889512.entry.js.map +1 -0
- package/dist/pitchfork/p-f3d80b42.entry.js +2 -0
- package/dist/pitchfork/p-f3d80b42.entry.js.map +1 -0
- package/dist/pitchfork/p-f5242cee.entry.js +2 -0
- package/dist/pitchfork/p-f5242cee.entry.js.map +1 -0
- package/dist/pitchfork/p-f689e353.entry.js +2 -0
- package/dist/pitchfork/p-f689e353.entry.js.map +1 -0
- package/dist/pitchfork/p-f855c9d4.entry.js +2 -0
- package/dist/pitchfork/p-f855c9d4.entry.js.map +1 -0
- package/dist/pitchfork/p-fa1302c7.entry.js +2 -0
- package/dist/pitchfork/p-fa1302c7.entry.js.map +1 -0
- package/dist/pitchfork/p-fd5a5ea1.entry.js +2 -0
- package/dist/pitchfork/p-fd5a5ea1.entry.js.map +1 -0
- package/dist/pitchfork/p-fe6f403c.entry.js +2 -0
- package/dist/pitchfork/p-fe6f403c.entry.js.map +1 -0
- package/dist/pitchfork/p-g4FlTDZx.js +2 -0
- package/dist/pitchfork/p-g4FlTDZx.js.map +1 -0
- package/dist/pitchfork/pitchfork.css +40 -0
- package/dist/pitchfork/pitchfork.esm.js +2 -0
- package/dist/pitchfork/pitchfork.esm.js.map +1 -0
- package/dist/types/components/pf-accordion/pf-accordion.d.ts +80 -0
- package/dist/types/components/pf-accordion-item/pf-accordion-item.d.ts +57 -0
- package/dist/types/components/pf-alert/pf-alert.d.ts +57 -0
- package/dist/types/components/pf-avatar/pf-avatar.d.ts +25 -0
- package/dist/types/components/pf-avatar-group/pf-avatar-group.d.ts +46 -0
- package/dist/types/components/pf-badge/pf-badge.d.ts +14 -0
- package/dist/types/components/pf-badge-group/pf-badge-group.d.ts +23 -0
- package/dist/types/components/pf-bar-chart/pf-bar-chart.d.ts +39 -0
- package/dist/types/components/pf-breadcrumb/pf-breadcrumb.d.ts +40 -0
- package/dist/types/components/pf-breadcrumbs/pf-breadcrumbs.d.ts +52 -0
- package/dist/types/components/pf-button/pf-button.d.ts +38 -0
- package/dist/types/components/pf-button-group/pf-button-group.d.ts +53 -0
- package/dist/types/components/pf-button-group-item/pf-button-group-item.d.ts +47 -0
- package/dist/types/components/pf-calendar/pf-calendar.d.ts +101 -0
- package/dist/types/components/pf-card/pf-card.d.ts +16 -0
- package/dist/types/components/pf-card-content/pf-card-content.d.ts +8 -0
- package/dist/types/components/pf-card-footer/pf-card-footer.d.ts +10 -0
- package/dist/types/components/pf-card-header/pf-card-header.d.ts +8 -0
- package/dist/types/components/pf-carousel/pf-carousel.d.ts +73 -0
- package/dist/types/components/pf-carousel-slide/pf-carousel-slide.d.ts +19 -0
- package/dist/types/components/pf-chart-series/pf-chart-series.d.ts +33 -0
- package/dist/types/components/pf-checkbox/pf-checkbox.d.ts +56 -0
- package/dist/types/components/pf-code-snippet/pf-code-snippet.d.ts +74 -0
- package/dist/types/components/pf-collapsible/pf-collapsible.d.ts +56 -0
- package/dist/types/components/pf-combobox/pf-combobox.d.ts +123 -0
- package/dist/types/components/pf-command-group/pf-command-group.d.ts +18 -0
- package/dist/types/components/pf-command-item/pf-command-item.d.ts +41 -0
- package/dist/types/components/pf-command-palette/pf-command-palette.d.ts +102 -0
- package/dist/types/components/pf-content-divider/pf-content-divider.d.ts +39 -0
- package/dist/types/components/pf-context-menu/pf-context-menu.d.ts +54 -0
- package/dist/types/components/pf-credit-card/pf-credit-card.d.ts +31 -0
- package/dist/types/components/pf-date-picker/pf-date-picker.d.ts +121 -0
- package/dist/types/components/pf-date-range-picker/pf-date-range-picker.d.ts +122 -0
- package/dist/types/components/pf-dropdown/pf-dropdown.d.ts +66 -0
- package/dist/types/components/pf-empty-state/pf-empty-state.d.ts +43 -0
- package/dist/types/components/pf-file-uploader/pf-file-uploader.d.ts +96 -0
- package/dist/types/components/pf-gauge-chart/pf-gauge-chart.d.ts +36 -0
- package/dist/types/components/pf-header-navigation/pf-header-navigation.d.ts +55 -0
- package/dist/types/components/pf-heatmap/pf-heatmap.d.ts +55 -0
- package/dist/types/components/pf-icon/bundled-icons.d.ts +3 -0
- package/dist/types/components/pf-icon/custom-icons.d.ts +3 -0
- package/dist/types/components/pf-icon/icon-names.d.ts +6 -0
- package/dist/types/components/pf-icon/pf-icon.d.ts +22 -0
- package/dist/types/components/pf-inline-cta/pf-inline-cta.d.ts +69 -0
- package/dist/types/components/pf-input/pf-input.d.ts +79 -0
- package/dist/types/components/pf-kbd/pf-kbd.d.ts +18 -0
- package/dist/types/components/pf-line-chart/pf-line-chart.d.ts +68 -0
- package/dist/types/components/pf-loading-dots/pf-loading-dots.d.ts +14 -0
- package/dist/types/components/pf-loading-skeleton/pf-loading-skeleton.d.ts +24 -0
- package/dist/types/components/pf-loading-spinner/pf-loading-spinner.d.ts +12 -0
- package/dist/types/components/pf-menu-item/pf-menu-item.d.ts +43 -0
- package/dist/types/components/pf-menu-separator/pf-menu-separator.d.ts +9 -0
- package/dist/types/components/pf-metric-card/pf-metric-card.d.ts +42 -0
- package/dist/types/components/pf-metric-grid/pf-metric-grid.d.ts +13 -0
- package/dist/types/components/pf-modal/pf-modal.d.ts +84 -0
- package/dist/types/components/pf-modal-body/pf-modal-body.d.ts +12 -0
- package/dist/types/components/pf-modal-footer/pf-modal-footer.d.ts +12 -0
- package/dist/types/components/pf-modal-header/pf-modal-header.d.ts +12 -0
- package/dist/types/components/pf-multi-select/pf-multi-select.d.ts +108 -0
- package/dist/types/components/pf-nav-item/pf-nav-item.d.ts +58 -0
- package/dist/types/components/pf-nav-section/pf-nav-section.d.ts +44 -0
- package/dist/types/components/pf-notification/pf-notification.d.ts +53 -0
- package/dist/types/components/pf-number-input/pf-number-input.d.ts +87 -0
- package/dist/types/components/pf-option/pf-option.d.ts +40 -0
- package/dist/types/components/pf-page-header/pf-page-header.d.ts +33 -0
- package/dist/types/components/pf-pagination/pf-pagination.d.ts +41 -0
- package/dist/types/components/pf-pie-chart/pf-pie-chart.d.ts +52 -0
- package/dist/types/components/pf-pie-slice/pf-pie-slice.d.ts +36 -0
- package/dist/types/components/pf-popover/pf-popover.d.ts +82 -0
- package/dist/types/components/pf-progress-bar/pf-progress-bar.d.ts +18 -0
- package/dist/types/components/pf-progress-circle/pf-progress-circle.d.ts +23 -0
- package/dist/types/components/pf-progress-step/pf-progress-step.d.ts +38 -0
- package/dist/types/components/pf-progress-steps/pf-progress-steps.d.ts +42 -0
- package/dist/types/components/pf-radar-axis/pf-radar-axis.d.ts +28 -0
- package/dist/types/components/pf-radar-chart/pf-radar-chart.d.ts +62 -0
- package/dist/types/components/pf-radio-button/pf-radio-button.d.ts +55 -0
- package/dist/types/components/pf-radio-group/pf-radio-group.d.ts +80 -0
- package/dist/types/components/pf-rating-badge/pf-rating-badge.d.ts +23 -0
- package/dist/types/components/pf-rating-stars/pf-rating-stars.d.ts +31 -0
- package/dist/types/components/pf-resizable/pf-resizable.d.ts +68 -0
- package/dist/types/components/pf-rich-text-editor/pf-rich-text-editor.d.ts +99 -0
- package/dist/types/components/pf-scroll-area/pf-scroll-area.d.ts +28 -0
- package/dist/types/components/pf-section-footer/pf-section-footer.d.ts +30 -0
- package/dist/types/components/pf-section-header/pf-section-header.d.ts +35 -0
- package/dist/types/components/pf-select/pf-select.d.ts +110 -0
- package/dist/types/components/pf-sidebar-navigation/pf-sidebar-navigation.d.ts +74 -0
- package/dist/types/components/pf-slideout-menu/pf-slideout-menu.d.ts +103 -0
- package/dist/types/components/pf-slider/pf-slider.d.ts +65 -0
- package/dist/types/components/pf-sparkline/pf-sparkline.d.ts +54 -0
- package/dist/types/components/pf-switch/pf-switch.d.ts +61 -0
- package/dist/types/components/pf-tab/pf-tab.d.ts +83 -0
- package/dist/types/components/pf-tab-panel/pf-tab-panel.d.ts +24 -0
- package/dist/types/components/pf-table/pf-table.d.ts +76 -0
- package/dist/types/components/pf-table-cell/pf-table-cell.d.ts +43 -0
- package/dist/types/components/pf-table-row/pf-table-row.d.ts +31 -0
- package/dist/types/components/pf-tabs/pf-tabs.d.ts +149 -0
- package/dist/types/components/pf-tag/pf-tag.d.ts +26 -0
- package/dist/types/components/pf-tag-input/pf-tag-input.d.ts +92 -0
- package/dist/types/components/pf-textarea/pf-textarea.d.ts +89 -0
- package/dist/types/components/pf-time-picker/pf-time-picker.d.ts +105 -0
- package/dist/types/components/pf-timeline/pf-timeline.d.ts +27 -0
- package/dist/types/components/pf-timeline-item/pf-timeline-item.d.ts +40 -0
- package/dist/types/components/pf-toaster/pf-toaster.d.ts +66 -0
- package/dist/types/components/pf-toolbar/pf-toolbar.d.ts +37 -0
- package/dist/types/components/pf-toolbar-separator/pf-toolbar-separator.d.ts +14 -0
- package/dist/types/components/pf-tooltip/pf-tooltip.d.ts +74 -0
- package/dist/types/components/pf-tree-item/pf-tree-item.d.ts +75 -0
- package/dist/types/components/pf-tree-view/pf-tree-view.d.ts +94 -0
- package/dist/types/components/pf-utility-button/pf-utility-button.d.ts +41 -0
- package/dist/types/components/pf-video-player/pf-video-player.d.ts +72 -0
- package/dist/types/components/pf-visually-hidden/pf-visually-hidden.d.ts +20 -0
- package/dist/types/components.d.ts +11948 -0
- package/dist/types/form-validity.d.ts +24 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/place-popover.d.ts +16 -0
- package/dist/types/stencil-public-runtime.d.ts +1879 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +95 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfProgressCircleCss","PfProgressCircle","value","max","size","strokeWidth","showValue","label","render","percent","clampProgressPercent","this","radius","circumference","dashOffset","center","getProgressCircleGeometry","h","Host","key","role","progressValueNow","style","class","part","viewBox","focusable","cx","cy","r","Math","round"],"sources":["src/components/pf-progress-circle/pf-progress-circle.css?tag=pf-progress-circle&encapsulation=shadow","src/components/pf-progress-circle/pf-progress-circle.tsx"],"sourcesContent":["/* Its own copy: @keyframes do not cross a shadow boundary. */\n@keyframes pf-progress-circle-in {\n from {\n stroke-dashoffset: var(--pf-progress-circ);\n }\n}\n\n:host {\n align-items: center;\n display: inline-flex;\n height: var(--pf-progress-circle-size, 64px);\n justify-content: center;\n position: relative;\n width: var(--pf-progress-circle-size, 64px);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.svg {\n display: block;\n height: 100%;\n /* Start the arc at twelve o'clock rather than three. */\n transform: rotate(-90deg);\n width: 100%;\n}\n\n.circle-track,\n.circle-fill {\n fill: none;\n}\n\n.circle-track {\n stroke: var(--pf-progress-track-bg);\n}\n\n.circle-fill {\n animation: pf-progress-circle-in var(--duration-slow) var(--easing-decelerate);\n stroke: var(--pf-progress-accent);\n stroke-dashoffset: var(--pf-progress-dashoffset);\n stroke-linecap: round;\n /* Animate in from empty on mount, and smoothly between values on change. */\n transition: stroke-dashoffset var(--pf-transition-slow);\n}\n\n.value {\n color: var(--pf-progress-text);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-semibold);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .circle-fill {\n animation: none;\n transition: none;\n }\n}\n","import {\n clampProgressPercent,\n getProgressCircleGeometry,\n progressValueNow,\n} from '@pitchfork-ui/core';\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * A circular determinate progress track.\n *\n * @part svg - the drawing surface.\n * @part track - the unfilled ring.\n * @part fill - the drawn arc.\n * @part value - the percentage readout.\n */\n@Component({\n tag: 'pf-progress-circle',\n styleUrl: 'pf-progress-circle.css',\n shadow: true,\n})\nexport class PfProgressCircle {\n /** How far along, on the 0..max scale. */\n @Prop() value = 0;\n\n /** The top of the scale. */\n @Prop() max = 100;\n\n /** Diameter in pixels. */\n @Prop() size = 64;\n\n /** Ring thickness in pixels. */\n @Prop() strokeWidth = 6;\n\n /** Show the percentage in the middle. Reflected for the stylesheet. */\n @Prop({ reflect: true }) showValue = true;\n\n /** Accessible name. */\n @Prop() label?: string;\n\n render() {\n const percent = clampProgressPercent(this.value, this.max);\n // The arc only lands on the right angle if the dash offset and the dash\n // array come from the same radius, which is why core returns them together.\n const { radius, circumference, dashOffset, center } = getProgressCircleGeometry(\n this.size,\n this.strokeWidth,\n percent,\n );\n\n return (\n <Host\n role=\"progressbar\"\n aria-label={this.label}\n aria-valuemin=\"0\"\n aria-valuemax={`${this.max}`}\n aria-valuenow={`${progressValueNow(percent, this.max)}`}\n style={{ '--pf-progress-circle-size': `${this.size}px` }}\n >\n <svg\n class=\"svg\"\n part=\"svg\"\n viewBox={`0 0 ${this.size} ${this.size}`}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <circle\n class=\"circle-track\"\n part=\"track\"\n cx={`${center}`}\n cy={`${center}`}\n r={`${radius}`}\n stroke-width={`${this.strokeWidth}`}\n />\n <circle\n class=\"circle-fill\"\n part=\"fill\"\n cx={`${center}`}\n cy={`${center}`}\n r={`${radius}`}\n stroke-width={`${this.strokeWidth}`}\n stroke-dasharray={`${circumference}`}\n style={{\n '--pf-progress-dashoffset': `${dashOffset}`,\n '--pf-progress-circ': `${circumference}`,\n }}\n />\n </svg>\n {this.showValue && (\n <span class=\"value\" part=\"value\">\n {Math.round(percent)}%\n </span>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAsB,IAAM,k7B,MCoBrBC,EAAgB,M,yBAEnBC,MAAQ,EAGRC,IAAM,IAGNC,KAAO,GAGPC,YAAc,EAGGC,UAAY,KAG7BC,MAER,MAAAC,GACE,MAAMC,EAAUC,EAAqBC,KAAKT,MAAOS,KAAKR,KAGtD,MAAMS,OAAEA,EAAMC,cAAEA,EAAaC,WAAEA,EAAUC,OAAEA,GAAWC,EACpDL,KAAKP,KACLO,KAAKN,YACLI,GAGF,OACEQ,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAK,cAAa,aACNT,KAAKJ,MAAK,gBACR,IAAG,gBACF,GAAGI,KAAKR,MAAK,gBACb,GAAGkB,EAAiBZ,EAASE,KAAKR,OACjDmB,MAAO,CAAE,4BAA6B,GAAGX,KAAKP,WAE9Ca,EAAA,OAAAE,IAAA,2CACEI,MAAM,MACNC,KAAK,MACLC,QAAS,OAAOd,KAAKP,QAAQO,KAAKP,OAAM,cAC5B,OACZsB,UAAU,SAEVT,EAAA,UAAAE,IAAA,2CACEI,MAAM,eACNC,KAAK,QACLG,GAAI,GAAGZ,IACPa,GAAI,GAAGb,IACPc,EAAG,GAAGjB,IAAQ,eACA,GAAGD,KAAKN,gBAExBY,EAAA,UAAAE,IAAA,2CACEI,MAAM,cACNC,KAAK,OACLG,GAAI,GAAGZ,IACPa,GAAI,GAAGb,IACPc,EAAG,GAAGjB,IAAQ,eACA,GAAGD,KAAKN,cAAa,mBACjB,GAAGQ,IACrBS,MAAO,CACL,2BAA4B,GAAGR,IAC/B,qBAAsB,GAAGD,QAI9BF,KAAKL,WACJW,EAAA,QAAAE,IAAA,2CAAMI,MAAM,QAAQC,KAAK,SACtBM,KAAKC,MAAMtB,GAAQ,K","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,a as e,h as i,H as s}from"./p-Bm6UxEit.js";import{a as o,p as n}from"./p-CC7AyfOt.js";import{K as a}from"./p-g4FlTDZx.js";const r=()=>`:host{display:inline-flex}:host([hidden]){display:none}.tooltip{inset:auto;margin:0;background:var(--pf-tooltip-bg);border:0;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--pf-tooltip-text);font-size:var(--font-size-sm);line-height:1.4;max-width:260px;padding:var(--space-2) var(--space-3);width:max-content}.tooltip:popover-open{animation:pf-tooltip-in var(--duration-fast) var(--easing-decelerate)}@keyframes pf-tooltip-in{from{opacity:0}}@media (prefers-reduced-motion: reduce){.tooltip:popover-open{animation:none}}`;const h=class{constructor(e){t(this,e)}get el(){return e(this)}placement="top";delay=120;open;disabled=false;resolvedSide="top";showTimer;stopObserving;contentObserver;componentDidLoad(){this.watchContent();this.syncDescription();if(this.open)this.show()}disconnectedCallback(){this.clearTimer();this.stopObserving?.();this.contentObserver?.disconnect()}watchContent(){this.contentObserver?.disconnect();this.contentObserver=new MutationObserver((()=>this.syncDescription()));this.contentObserver.observe(this.el,{characterData:true,childList:true,subtree:true})}syncDescription(){const t=this.el.firstElementChild;if(!t)return;const e=this.el.shadowRoot?.querySelector('slot[name="content"]');const i=e?.assignedNodes({flatten:true}).map((t=>t.textContent??"")).join(" ").trim();if(i)t.setAttribute("aria-description",i);else t.removeAttribute("aria-description")}syncOpen(t){if(t)this.show();else if(t===false)this.hide()}get panel(){return this.el.shadowRoot?.querySelector('[part="tooltip"]')??null}clearTimer(){if(this.showTimer!==undefined){window.clearTimeout(this.showTimer);this.showTimer=undefined}}show(){const t=this.panel;if(this.disabled||!t||t.matches(":popover-open"))return;t.showPopover();this.stopObserving?.();this.stopObserving=o({getAnchor:()=>this.el.firstElementChild,getFloating:()=>t,side:this.placement,onChange:({side:e,left:i,top:s})=>{this.resolvedSide=e;n(t,i,s)}})}hide(){this.clearTimer();this.stopObserving?.();this.stopObserving=undefined;const t=this.panel;if(t?.matches(":popover-open"))t.hidePopover()}get isControlled(){return this.open!==undefined}scheduleShow=()=>{if(this.disabled||this.isControlled)return;this.clearTimer();this.showTimer=window.setTimeout((()=>this.show()),this.delay)};cancel=()=>{if(this.isControlled)return;this.hide()};handlePointerEnter(){this.scheduleShow()}handlePointerLeave(){this.cancel()}handleFocusIn(){this.scheduleShow()}handleFocusOut(){this.cancel()}handleKeyDown(t){if(t.key!==a.Escape)return;const e=this.panel;if(!e?.matches(":popover-open"))return;t.stopPropagation();this.hide()}render(){return i(s,{key:"e127ade47feddf8eb99405236f4f97f4fc7d9068"},i("slot",{key:"28fc4e44a6bfe2060386f9454592b306bc1b2756",onSlotchange:()=>this.syncDescription()}),i("div",{key:"6a2f2cc60d2ecc38188a7084cae5a86c496fabda",class:"tooltip",part:"tooltip",popover:"manual",role:"tooltip","data-side":this.resolvedSide},i("slot",{key:"ef1b81321a49e69741bd8fe7f400838c399ccb18",name:"content",onSlotchange:()=>this.syncDescription()})))}static get watchers(){return{open:[{syncOpen:0}]}}};h.style=r();export{h as pf_tooltip};
|
|
2
|
+
//# sourceMappingURL=p-a864dae5.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfTooltipCss","PfTooltip","placement","delay","open","disabled","resolvedSide","showTimer","stopObserving","contentObserver","componentDidLoad","this","watchContent","syncDescription","show","disconnectedCallback","clearTimer","disconnect","MutationObserver","observe","el","characterData","childList","subtree","trigger","firstElementChild","slot","shadowRoot","querySelector","text","assignedNodes","flatten","map","node","textContent","join","trim","setAttribute","removeAttribute","syncOpen","next","hide","panel","undefined","window","clearTimeout","matches","showPopover","observeSidePosition","getAnchor","getFloating","side","onChange","left","top","placePopover","hidePopover","isControlled","scheduleShow","setTimeout","cancel","handlePointerEnter","handlePointerLeave","handleFocusIn","handleFocusOut","handleKeyDown","event","key","Keys","Escape","stopPropagation","render","h","Host","onSlotchange","class","part","popover","role","name"],"sources":["src/components/pf-tooltip/pf-tooltip.css?tag=pf-tooltip&encapsulation=shadow","src/components/pf-tooltip/pf-tooltip.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/*\n * `popover` puts this in the top layer, so it escapes any ancestor's overflow\n * and stacking context. left/top come from the observer.\n */\n/*\n * `inset: auto` and `margin: 0` are essential, not tidying -- see\n * `src/place-popover.ts`, which sets the same two inline and explains the\n * measurement. They are declared in both places deliberately: here so the\n * cascade carries them for the whole life of the panel, and inline so a panel\n * is still positioned where this stylesheet has not been applied.\n */\n.tooltip {\n inset: auto;\n margin: 0;\n background: var(--pf-tooltip-bg);\n border: 0;\n border-radius: var(--radius-md);\n box-shadow: var(--shadow-md);\n color: var(--pf-tooltip-text);\n font-size: var(--font-size-sm);\n line-height: 1.4;\n max-width: 260px;\n padding: var(--space-2) var(--space-3);\n width: max-content;\n}\n\n.tooltip:popover-open {\n /* Fade in from the side it sits on. */\n animation: pf-tooltip-in var(--duration-fast) var(--easing-decelerate);\n}\n\n/* Its own copy: @keyframes do not cross a shadow boundary. */\n@keyframes pf-tooltip-in {\n from {\n opacity: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tooltip:popover-open {\n animation: none;\n }\n}\n","import { Keys, observeSidePosition, type Side } from '@pitchfork-ui/core';\n\nimport { placePopover } from '../../place-popover';\nimport { Component, Element, h, Host, Listen, Prop, State, Watch } from '@stencil/core';\n\n/**\n * A tooltip anchored to whatever is slotted into it.\n *\n * The panel is a `popover`, which is how it escapes an ancestor's `overflow`\n * and stacking context — the thing `createPortal` does for the React\n * component, and the only equivalent available from inside a shadow root.\n * Verified: a popover opened from a shadow root inside an `overflow: hidden`\n * container beats a `z-index: 999` sibling, where a plain absolute element in\n * the same place loses.\n *\n * @slot - the trigger.\n * @slot content - the tooltip's content. Its text also becomes the trigger's\n * accessible description.\n * @part tooltip - the floating panel.\n */\n@Component({\n tag: 'pf-tooltip',\n styleUrl: 'pf-tooltip.css',\n shadow: true,\n})\nexport class PfTooltip {\n @Element() el!: HTMLElement;\n\n /** Preferred side. Reflected so the stylesheet can place the arrow. */\n @Prop({ reflect: true }) placement: Side = 'top';\n\n /** Milliseconds to wait before showing on hover or focus. */\n @Prop() delay = 120;\n\n /** Force the tooltip open or closed, rather than letting it react. */\n @Prop() open?: boolean;\n\n /** Never show. Reflected so the stylesheet can select on it. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The side actually in use, which the arrow follows. */\n @State() resolvedSide: Side = 'top';\n\n private showTimer?: number;\n private stopObserving?: () => void;\n private contentObserver?: MutationObserver;\n\n componentDidLoad() {\n this.watchContent();\n this.syncDescription();\n if (this.open) this.show();\n }\n\n disconnectedCallback() {\n this.clearTimer();\n this.stopObserving?.();\n this.contentObserver?.disconnect();\n }\n\n /**\n * `slotchange` fires when the *assignment* changes, not when text inside an\n * already-assigned node is edited — so a consumer setting\n * `span.textContent = 'Changed'` would update the visible tooltip and leave\n * the trigger's accessible description stale. That is a silent\n * accessibility bug rather than a cosmetic one, which is what earns the\n * observer.\n */\n private watchContent() {\n this.contentObserver?.disconnect();\n this.contentObserver = new MutationObserver(() => this.syncDescription());\n this.contentObserver.observe(this.el, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n\n /**\n * The trigger's accessible description, copied as text.\n *\n * It cannot be an IDREF: `aria-describedby` does not cross a shadow\n * boundary, and `ariaDescribedByElements` silently reads back empty when\n * handed an element from a root the trigger does not own — both measured.\n * `aria-description` is a plain string, so it crosses nothing, and the\n * accessibility tree reports it identically to a same-root IDREF.\n */\n private syncDescription() {\n const trigger = this.el.firstElementChild;\n if (!trigger) return;\n\n const slot = this.el.shadowRoot?.querySelector<HTMLSlotElement>('slot[name=\"content\"]');\n const text = slot\n ?.assignedNodes({ flatten: true })\n .map((node) => node.textContent ?? '')\n .join(' ')\n .trim();\n\n if (text) trigger.setAttribute('aria-description', text);\n else trigger.removeAttribute('aria-description');\n }\n\n @Watch('open')\n syncOpen(next?: boolean) {\n if (next) this.show();\n else if (next === false) this.hide();\n }\n\n private get panel() {\n return this.el.shadowRoot?.querySelector<HTMLElement>('[part=\"tooltip\"]') ?? null;\n }\n\n private clearTimer() {\n if (this.showTimer !== undefined) {\n window.clearTimeout(this.showTimer);\n this.showTimer = undefined;\n }\n }\n\n private show() {\n const panel = this.panel;\n if (this.disabled || !panel || panel.matches(':popover-open')) return;\n\n panel.showPopover();\n /*\n * Positioning waits until the panel is open, because the side is chosen by\n * how the panel's own size fits the viewport and a closed popover has no\n * size at all.\n */\n this.stopObserving?.();\n this.stopObserving = observeSidePosition({\n getAnchor: () => this.el.firstElementChild as HTMLElement | null,\n getFloating: () => panel,\n side: this.placement,\n onChange: ({ side, left, top }) => {\n this.resolvedSide = side;\n placePopover(panel, left, top);\n },\n });\n }\n\n private hide() {\n this.clearTimer();\n this.stopObserving?.();\n this.stopObserving = undefined;\n const panel = this.panel;\n if (panel?.matches(':popover-open')) panel.hidePopover();\n }\n\n /** Controlled mode means the consumer decides; hover and focus do nothing. */\n private get isControlled() {\n return this.open !== undefined;\n }\n\n private scheduleShow = () => {\n if (this.disabled || this.isControlled) return;\n this.clearTimer();\n this.showTimer = window.setTimeout(() => this.show(), this.delay);\n };\n\n private cancel = () => {\n if (this.isControlled) return;\n this.hide();\n };\n\n @Listen('pointerenter')\n handlePointerEnter() {\n this.scheduleShow();\n }\n\n @Listen('pointerleave')\n handlePointerLeave() {\n this.cancel();\n }\n\n /** `focusin`/`focusout` rather than `focus`/`blur`, so they bubble. */\n @Listen('focusin')\n handleFocusIn() {\n this.scheduleShow();\n }\n\n @Listen('focusout')\n handleFocusOut() {\n this.cancel();\n }\n\n /**\n * Escape dismisses even in controlled mode. A tooltip covering the content\n * you are trying to read is not something to need a prop for, and WAI-ARIA\n * requires it of any tooltip.\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (event.key !== Keys.Escape) return;\n const panel = this.panel;\n if (!panel?.matches(':popover-open')) return;\n event.stopPropagation();\n this.hide();\n }\n\n render() {\n return (\n <Host>\n <slot onSlotchange={() => this.syncDescription()} />\n <div\n class=\"tooltip\"\n part=\"tooltip\"\n popover=\"manual\"\n role=\"tooltip\"\n data-side={this.resolvedSide}\n >\n <slot name=\"content\" onSlotchange={() => this.syncDescription()} />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAAe,IAAM,iiB,MCyBdC,EAAS,M,iDAIKC,UAAkB,MAGnCC,MAAQ,IAGRC,KAGiBC,SAAW,MAG3BC,aAAqB,MAEtBC,UACAC,cACAC,gBAER,gBAAAC,GACEC,KAAKC,eACLD,KAAKE,kBACL,GAAIF,KAAKP,KAAMO,KAAKG,M,CAGtB,oBAAAC,GACEJ,KAAKK,aACLL,KAAKH,kBACLG,KAAKF,iBAAiBQ,Y,CAWhB,YAAAL,GACND,KAAKF,iBAAiBQ,aACtBN,KAAKF,gBAAkB,IAAIS,kBAAiB,IAAMP,KAAKE,oBACvDF,KAAKF,gBAAgBU,QAAQR,KAAKS,GAAI,CACpCC,cAAe,KACfC,UAAW,KACXC,QAAS,M,CAaL,eAAAV,GACN,MAAMW,EAAUb,KAAKS,GAAGK,kBACxB,IAAKD,EAAS,OAEd,MAAME,EAAOf,KAAKS,GAAGO,YAAYC,cAA+B,wBAChE,MAAMC,EAAOH,GACTI,cAAc,CAAEC,QAAS,OAC1BC,KAAKC,GAASA,EAAKC,aAAe,KAClCC,KAAK,KACLC,OAEH,GAAIP,EAAML,EAAQa,aAAa,mBAAoBR,QAC9CL,EAAQc,gBAAgB,mB,CAI/B,QAAAC,CAASC,GACP,GAAIA,EAAM7B,KAAKG,YACV,GAAI0B,IAAS,MAAO7B,KAAK8B,M,CAGhC,SAAYC,GACV,OAAO/B,KAAKS,GAAGO,YAAYC,cAA2B,qBAAuB,I,CAGvE,UAAAZ,GACN,GAAIL,KAAKJ,YAAcoC,UAAW,CAChCC,OAAOC,aAAalC,KAAKJ,WACzBI,KAAKJ,UAAYoC,S,EAIb,IAAA7B,GACN,MAAM4B,EAAQ/B,KAAK+B,MACnB,GAAI/B,KAAKN,WAAaqC,GAASA,EAAMI,QAAQ,iBAAkB,OAE/DJ,EAAMK,cAMNpC,KAAKH,kBACLG,KAAKH,cAAgBwC,EAAoB,CACvCC,UAAW,IAAMtC,KAAKS,GAAGK,kBACzByB,YAAa,IAAMR,EACnBS,KAAMxC,KAAKT,UACXkD,SAAU,EAAGD,OAAME,OAAMC,UACvB3C,KAAKL,aAAe6C,EACpBI,EAAab,EAAOW,EAAMC,EAAI,G,CAK5B,IAAAb,GACN9B,KAAKK,aACLL,KAAKH,kBACLG,KAAKH,cAAgBmC,UACrB,MAAMD,EAAQ/B,KAAK+B,MACnB,GAAIA,GAAOI,QAAQ,iBAAkBJ,EAAMc,a,CAI7C,gBAAYC,GACV,OAAO9C,KAAKP,OAASuC,S,CAGfe,aAAe,KACrB,GAAI/C,KAAKN,UAAYM,KAAK8C,aAAc,OACxC9C,KAAKK,aACLL,KAAKJ,UAAYqC,OAAOe,YAAW,IAAMhD,KAAKG,QAAQH,KAAKR,MAAM,EAG3DyD,OAAS,KACf,GAAIjD,KAAK8C,aAAc,OACvB9C,KAAK8B,MAAM,EAIb,kBAAAoB,GACElD,KAAK+C,c,CAIP,kBAAAI,GACEnD,KAAKiD,Q,CAKP,aAAAG,GACEpD,KAAK+C,c,CAIP,cAAAM,GACErD,KAAKiD,Q,CASP,aAAAK,CAAcC,GACZ,GAAIA,EAAMC,MAAQC,EAAKC,OAAQ,OAC/B,MAAM3B,EAAQ/B,KAAK+B,MACnB,IAAKA,GAAOI,QAAQ,iBAAkB,OACtCoB,EAAMI,kBACN3D,KAAK8B,M,CAGP,MAAA8B,GACE,OACEC,EAACC,EAAI,CAAAN,IAAA,4CACHK,EAAA,QAAAL,IAAA,2CAAMO,aAAc,IAAM/D,KAAKE,oBAC/B2D,EAAA,OAAAL,IAAA,2CACEQ,MAAM,UACNC,KAAK,UACLC,QAAQ,SACRC,KAAK,UAAS,YACHnE,KAAKL,cAEhBkE,EAAA,QAAAL,IAAA,2CAAMY,KAAK,UAAUL,aAAc,IAAM/D,KAAKE,qB","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as e,a as i,h as s,H as r}from"./p-Bm6UxEit.js";import{o as a,p as o}from"./p-CC7AyfOt.js";import{c as n}from"./p-DfpCerXM.js";import{i as l,K as c}from"./p-g4FlTDZx.js";import{g as h,r as d}from"./p-CAz7-p8y.js";import{a as p}from"./p-Cr6IXrUk.js";var f=500;function u(t){return t.length===1&&t!==" "}function b(t,e){if(!u(e))return t;return t+e.toLowerCase()}function v(t){return t.length>0&&[...t].every((e=>e===t[0]))}function g(t,e,i=-1,s=()=>false){if(!e||t.length===0)return-1;const r=v(e);const a=r?e[0]:e;const o=i<0?0:r?i+1:i;for(let e=0;e<t.length;e+=1){const i=(o+e)%t.length;if(s(i))continue;if(t[i]?.trim().toLowerCase().startsWith(a))return i}return-1}const m=()=>`:host{display:block;--pf-option-text:var(--pf-select-input-text, var(--pf-input-text));--pf-option-text-disabled:var(--pf-select-input-placeholder, var(--pf-input-placeholder));--pf-option-active-bg:var(--pf-select-option-active-bg);--pf-option-active-text:var(--pf-select-option-active-text)}:host([hidden]){display:none}.field{display:grid;gap:var(--space-1)}.label{color:var(--pf-input-label-text, var(--pf-input-text));font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.required{color:var(--pf-select-invalid-border);margin-inline-start:var(--space-1)}.trigger{align-items:center;background:var(--pf-input-bg);border:1px solid var(--pf-input-border);border-radius:var(--radius-md);color:var(--pf-input-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);gap:var(--space-2);justify-content:space-between;padding:var(--space-2) var(--space-3);text-align:start;width:100%}.trigger:hover:not(:disabled){border-color:var(--pf-input-border-hover)}.trigger:focus-visible{border-color:var(--pf-select-focus-border);box-shadow:var(--pf-focus-ring);outline:none}.trigger:disabled{cursor:not-allowed;opacity:0.6}.trigger--invalid{border-color:var(--pf-select-invalid-border)}.value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value--placeholder{color:var(--pf-input-placeholder)}.chevron{align-items:center;display:inline-flex;flex-shrink:0;transition:transform var(--pf-transition-fast)}:host([open]) .chevron{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.chevron{transition:none}}.listbox{inset:auto;margin:0;background:var(--pf-select-menu-bg);border:1px solid var(--pf-select-menu-border);border-radius:var(--radius-md);box-shadow:var(--pf-elevation-popover-shadow);padding:var(--space-1)}.listbox:popover-open{animation:pf-select-in var(--pf-transition-enter)}@keyframes pf-select-in{from{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.listbox:popover-open{animation:none}}`;const y={[c.ArrowDown]:"next",[c.ArrowUp]:"previous",[c.Home]:"first",[c.End]:"last"};const x=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="Select an option";required=false;disabled=false;maxVisibleOptions;pfChange;pfOpenChange;selectedLabel="";initialValue="";stopObserving;activeOption=null;typeahead="";typeaheadTimer;componentWillLoad(){this.initialValue=this.value??"";this.syncFormState();this.syncOptions()}componentDidRender(){this.syncActiveDescendant()}disconnectedCallback(){this.stopObserving?.();if(this.typeaheadTimer)clearTimeout(this.typeaheadTimer)}syncFormState(){this.internals.setFormValue(this.value||null);p(this.internals,Boolean(this.value),this.required,this.error)}syncOptions(){const t=this.options();let e="";for(const i of t){const t=this.optionValue(i)===this.value&&this.value!=="";i.selected=t;if(t)e=i.textContent?.trim()??""}this.selectedLabel=e}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}onSlotChange=()=>{this.syncOptions()};async refresh(){this.syncOptions()}options(){return Array.from(this.el.querySelectorAll("pf-option"))}enabled(){return this.options().filter((t=>!t.hasAttribute("disabled")))}optionValue(t){return t.value??t.getAttribute("value")??""}get listbox(){return this.el.shadowRoot?.querySelector('[part="listbox"]')??null}get trigger(){return this.el.shadowRoot?.querySelector('[part="trigger"]')??null}showListbox(){const t=this.listbox;if(this.disabled||!t||t.matches(":popover-open"))return;t.showPopover();this.stopObserving?.();this.stopObserving=a({getAnchor:()=>this.trigger,getFloating:()=>t,matchAnchorWidth:true,flip:true,onChange:({left:e,top:i,width:s,minWidth:r})=>{o(t,e,i);if(s!==undefined)t.style.width=`${s}px`;if(r!==undefined)t.style.minWidth=`${r}px`}});const e=this.options();const i=e.find((t=>this.optionValue(t)===this.value));this.setActive(i&&!i.hasAttribute("disabled")?i:this.enabled()[0]??null)}hideListbox(){this.stopObserving?.();this.stopObserving=undefined;this.clearTypeahead();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.trigger?.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.trigger;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;this.trigger?.focus();if(e===this.value)return;this.value=e;this.pfChange.emit({value:e})}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.options();const i=h(e,(t=>t.hasAttribute("disabled")));const s=this.activeOption?e.indexOf(this.activeOption):-1;const r=d(t,i,s);if(r!==-1)this.setActive(e[r]??null)}clearTypeahead(){if(this.typeaheadTimer)clearTimeout(this.typeaheadTimer);this.typeaheadTimer=undefined;this.typeahead=""}handleTypeahead(t){this.typeahead=b(this.typeahead,t);if(this.typeaheadTimer)clearTimeout(this.typeaheadTimer);this.typeaheadTimer=setTimeout((()=>this.clearTypeahead()),f);const e=this.options();const i=e.map((t=>t.textContent??""));const s=this.activeOption?e.indexOf(this.activeOption):-1;const r=g(i,this.typeahead,s,(t=>e[t].hasAttribute("disabled")));if(r===-1)return;if(this.open)this.setActive(e[r]);else this.commit(e[r])}handleKeyDown(t){if(this.disabled||t.defaultPrevented)return;const e=y[t.key];if(e){t.preventDefault();if(!this.open)this.open=true;else this.move(e);return}if(l(t.key)){t.preventDefault();if(!this.open){this.open=true}else if(this.activeOption){this.commit(this.activeOption)}return}if(u(t.key)){t.preventDefault();this.handleTypeahead(t.key)}}render(){const t=n(this.description&&"description",this.error&&"error");return s(r,{key:"24c97882ec87fd8dc346ab6b10efe9d6a23359e3"},s("div",{key:"d96e86483cad67270c6359f1594872f7638ec218",class:"field",part:"field"},this.label&&s("label",{key:"92736ce6664e9b107a85008cacccaf0e8b6175d4",class:"label",part:"label",htmlFor:"trigger"},this.label,this.required&&s("span",{key:"72c82fe29714e9c3ecca4bcad72318fb0e0dc217",class:"required","aria-hidden":"true"},"*")),s("button",{key:"c07e0f5ef7f202dc1239a6868d4c5360194889a4",id:"trigger",part:"trigger",class:{trigger:true,"trigger--invalid":Boolean(this.error)},type:"button",role:"combobox",disabled:this.disabled,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-controls":"listbox","aria-invalid":this.error?"true":null,"aria-required":this.required?"true":null,"aria-describedby":t,onClick:()=>{if(!this.disabled)this.open=!this.open}},s("span",{key:"a745f2fcce7fd7d3e2a8d0b245d4b6e38baf934d",class:{value:true,"value--placeholder":!this.selectedLabel}},this.selectedLabel||this.placeholder),s("span",{key:"f4fe94fb5877aa8b7a9442112d897368d208e108",class:"chevron","aria-hidden":"true"},s("pf-icon",{key:"0e9c5dbedc04f727fe9be09b56a5cebbec99607f",name:"chevron-down"}))),this.description&&s("p",{key:"80e491e4ce53b694803d0f8978af584cb418ea79",class:"description",part:"description",id:"description"},this.description),this.error&&s("p",{key:"1e8e8c4d46f746981f831ca8e7574f94bd9673bb",class:"error",part:"error",id:"error"},this.error)),s("div",{key:"9daf605fa081d9e2b3f4a07e9cb41e17cd142b42",id:"listbox",part:"listbox",class:"listbox",popover:"auto",role:"listbox","aria-label":this.label??this.placeholder,style:this.maxVisibleOptions?{maxHeight:`calc(${this.maxVisibleOptions} * 36px)`,overflowY:"auto"}:undefined,onToggle:this.onToggle},s("slot",{key:"f23712d710ef4aa13b186ef5a8f075494dc7b5ca",onSlotchange:this.onSlotChange})))}static get formAssociated(){return true}static get watchers(){return{value:[{syncFormState:0},{syncOptions:0}],error:[{syncFormState:0}],required:[{syncFormState:0}],open:[{syncOpen:0}]}}};x.style=m();export{x as pf_select};
|
|
2
|
+
//# sourceMappingURL=p-a9b77dbb.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TYPEAHEAD_TIMEOUT_MS","isTypeaheadKey","key","length","nextTypeaheadBuffer","buffer","toLowerCase","isCycling","every","char","findTypeaheadMatch","labels","fromIndex","isDisabled","cycling","needle","start","step","index","trim","startsWith","pfSelectCss","MOVES","Keys","ArrowDown","ArrowUp","Home","End","PfSelect","internals","name","value","open","label","description","error","placeholder","required","disabled","maxVisibleOptions","pfChange","pfOpenChange","selectedLabel","initialValue","stopObserving","activeOption","typeahead","typeaheadTimer","componentWillLoad","this","syncFormState","syncOptions","componentDidRender","syncActiveDescendant","disconnectedCallback","clearTimeout","setFormValue","applyControlValidity","Boolean","options","option","selected","optionValue","textContent","syncOpen","next","previous","showListbox","hideListbox","emit","show","hide","checkValidity","reportValidity","getValidationMessage","validationMessage","formResetCallback","onSlotChange","refresh","Array","from","el","querySelectorAll","enabled","filter","hasAttribute","getAttribute","listbox","shadowRoot","querySelector","trigger","panel","matches","showPopover","observeAnchoredPosition","getAnchor","getFloating","matchAnchorWidth","flip","onChange","left","top","width","minWidth","placePopover","undefined","style","chosen","find","setActive","clearTypeahead","hidePopover","onToggle","event","nowOpen","newState","focus","other","active","scrollIntoView","block","ariaActiveDescendantElement","commit","handleOptionSelect","stopPropagation","candidate","detail","move","action","enabledIndexes","getEnabledIndexes","current","indexOf","resolveListMove","handleTypeahead","setTimeout","map","match","handleKeyDown","defaultPrevented","preventDefault","isActivationKey","render","describedBy","composeDescribedBy","h","Host","class","part","htmlFor","id","type","role","onClick","popover","maxHeight","overflowY","onSlotchange"],"sources":["../core/dist/typeahead.js","src/components/pf-select/pf-select.css?tag=pf-select&encapsulation=shadow","src/components/pf-select/pf-select.tsx"],"sourcesContent":["//#region src/typeahead.ts\n/**\n* Printable-character typeahead for a listbox, menu or tree.\n*\n* The ARIA listbox pattern expects it: typing `b` jumps to the next option\n* beginning with `b`, and typing `br` narrows to `br`. The React `Select` has\n* none of this — `todo.md` has the fix — so the rules live here, where\n* `<pf-select>` and every later `pf-combobox` / `pf-multi-select` /\n* `pf-tree-view` read the same ones.\n*\n* Core owns the matching; the rendering layer owns the buffer and its timer,\n* because a timer is state and core is never a state container.\n*/\n/** How long a quiet gap ends one typeahead word, in milliseconds. */\nvar TYPEAHEAD_TIMEOUT_MS = 500;\n/**\n* Whether a key should go into the buffer at all.\n*\n* One character, so `Enter`, `ArrowDown` and `Escape` are excluded by length\n* rather than by a list that would need keeping up to date. A space is\n* deliberately *not* typeahead: in a listbox it selects.\n*/\nfunction isTypeaheadKey(key) {\n\treturn key.length === 1 && key !== \" \";\n}\n/**\n* The buffer after `key`: lower-cased and appended, nothing more.\n*\n* A repeat is *not* special-cased here. Pressing `b` four times means \"the\n* fourth option starting with b\" rather than \"an option starting with bbbb\",\n* but that is a matching question, so `findTypeaheadMatch` reads it off the\n* buffer's shape instead — which keeps this function a plain append and lets\n* the caller hold one string.\n*/\nfunction nextTypeaheadBuffer(buffer, key) {\n\tif (!isTypeaheadKey(key)) return buffer;\n\treturn buffer + key.toLowerCase();\n}\n/**\n* True when the buffer is one character repeated — including just once.\n*\n* The single-character case is the important one, and requiring two got it\n* wrong: pressing `b` while already on Banana has to move to Blackberry, the\n* way a native `<select>` does, not sit still because Banana also starts with\n* `b`. Found by a browser test on `pf-select`.\n*/\nfunction isCycling(buffer) {\n\treturn buffer.length > 0 && [...buffer].every((char) => char === buffer[0]);\n}\n/**\n* The index of the option the buffer points at, or -1.\n*\n* Searches from `fromIndex` and wraps, so a match behind the current option is\n* still found. Two modes:\n*\n* - **Narrowing** (`br`): the current option is included, because typing more\n* of the label you are already on should keep you there rather than skip to\n* the next `br`.\n* - **Cycling** (`b`, `bb`, `bbb`): one character repeated, searched from\n* *after* the current option — so pressing one letter walks through the\n* options beginning with it, which is what a native `<select>` does.\n*\n* A disabled option is never matched: the keyboard would land somewhere it\n* cannot act, which is worse than not moving.\n*/\nfunction findTypeaheadMatch(labels, buffer, fromIndex = -1, isDisabled = () => false) {\n\tif (!buffer || labels.length === 0) return -1;\n\tconst cycling = isCycling(buffer);\n\tconst needle = cycling ? buffer[0] : buffer;\n\tconst start = fromIndex < 0 ? 0 : cycling ? fromIndex + 1 : fromIndex;\n\tfor (let step = 0; step < labels.length; step += 1) {\n\t\tconst index = (start + step) % labels.length;\n\t\tif (isDisabled(index)) continue;\n\t\tif (labels[index]?.trim().toLowerCase().startsWith(needle)) return index;\n\t}\n\treturn -1;\n}\n//#endregion\nexport { TYPEAHEAD_TIMEOUT_MS, findTypeaheadMatch, isTypeaheadKey, nextTypeaheadBuffer };\n","/*\n * The generic set pf-option reads, mapped to this control's own family. They\n * inherit through the shadow boundary, so a slotted option is themed by the\n * listbox it sits in without knowing which that is.\n */\n:host {\n display: block;\n --pf-option-text: var(--pf-select-input-text, var(--pf-input-text));\n --pf-option-text-disabled: var(--pf-select-input-placeholder, var(--pf-input-placeholder));\n --pf-option-active-bg: var(--pf-select-option-active-bg);\n --pf-option-active-text: var(--pf-select-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-input-label-text, var(--pf-input-text));\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n}\n\n.required {\n color: var(--pf-select-invalid-border);\n margin-inline-start: var(--space-1);\n}\n\n.trigger {\n align-items: center;\n background: var(--pf-input-bg);\n border: 1px solid var(--pf-input-border);\n border-radius: var(--radius-md);\n color: var(--pf-input-text);\n cursor: pointer;\n display: flex;\n font-family: inherit;\n font-size: var(--font-size-sm);\n gap: var(--space-2);\n justify-content: space-between;\n padding: var(--space-2) var(--space-3);\n text-align: start;\n width: 100%;\n}\n\n.trigger:hover:not(:disabled) {\n border-color: var(--pf-input-border-hover);\n}\n\n.trigger:focus-visible {\n border-color: var(--pf-select-focus-border);\n box-shadow: var(--pf-focus-ring);\n outline: none;\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.trigger--invalid {\n border-color: var(--pf-select-invalid-border);\n}\n\n.value {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.value--placeholder {\n color: var(--pf-input-placeholder);\n}\n\n.chevron {\n align-items: center;\n display: inline-flex;\n flex-shrink: 0;\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/*\n * See src/place-popover.ts: `inset: auto; margin: 0` are what make the\n * coordinates mean what they say, since the UA stylesheet centres a popover.\n */\n.listbox {\n inset: auto;\n margin: 0;\n background: var(--pf-select-menu-bg);\n border: 1px solid var(--pf-select-menu-border);\n border-radius: var(--radius-md);\n box-shadow: var(--pf-elevation-popover-shadow);\n padding: var(--space-1);\n}\n\n.listbox:popover-open {\n animation: pf-select-in var(--pf-transition-enter);\n}\n\n/* Its own copy: @keyframes do not cross a shadow boundary. */\n@keyframes pf-select-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","import {\n composeDescribedBy,\n findTypeaheadMatch,\n getEnabledIndexes,\n isActivationKey,\n Keys,\n nextTypeaheadBuffer,\n observeAnchoredPosition,\n resolveListMove,\n TYPEAHEAD_TIMEOUT_MS,\n isTypeaheadKey,\n type ListNavigationAction,\n} from '@pitchfork-ui/core';\n\nimport { applyControlValidity } from '../../form-validity';\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 single-choice select over `pf-option` children.\n *\n * The first of Wave 5, and the worked example for §2.1: the options are child\n * elements, so a label is a slot and can hold anything, where the React\n * `Select`'s `options` array can only hold a string.\n *\n * **It has typeahead, which the React component does not.** Typing `b` jumps\n * to the next option beginning with `b`, `br` narrows, and `bbb` cycles — the\n * ARIA listbox pattern, and the matching is core's so a later `pf-combobox`\n * answers the same keystrokes. `todo.md` has the React fix.\n *\n * Form-associated, so the value submits by itself. The React component fakes\n * that with a hidden `<input>` beside the trigger.\n *\n * The active option is set as an *element*, not an IDREF: the trigger is in\n * this shadow root and the options are slotted light DOM, and a cross-root\n * IDREF is absent from the accessibility tree — measured. `aria-controls` does\n * work, because the listbox itself is in this same root.\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 trigger - the combobox button.\n * @part listbox - the floating listbox the options are slotted into.\n * @part description - the hint text below the control.\n * @part error - the error message below the control.\n */\n@Component({\n tag: 'pf-select',\n styleUrl: 'pf-select.css',\n formAssociated: true,\n shadow: true,\n})\nexport class PfSelect {\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 = 'Select an option';\n\n @Prop({ reflect: true }) required = false;\n\n @Prop({ reflect: true }) disabled = false;\n\n /** Options to show before the listbox scrolls. Unset means it fits them all. */\n @Prop() maxVisibleOptions?: number;\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 /** The label of the chosen option, for the trigger to show. */\n @State() selectedLabel = '';\n\n private initialValue = '';\n private stopObserving?: () => void;\n private activeOption: HTMLElement | null = null;\n private typeahead = '';\n private typeaheadTimer?: ReturnType<typeof setTimeout>;\n\n componentWillLoad() {\n this.initialValue = this.value ?? '';\n this.syncFormState();\n this.syncOptions();\n }\n\n componentDidRender() {\n this.syncActiveDescendant();\n }\n\n disconnectedCallback() {\n this.stopObserving?.();\n if (this.typeaheadTimer) clearTimeout(this.typeaheadTimer);\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 /** The value changed, so the children's `selected` and the trigger follow. */\n @Watch('value')\n syncOptions() {\n const options = this.options();\n let label = '';\n\n for (const option of options) {\n const selected = this.optionValue(option) === this.value && this.value !== '';\n (option as HTMLElement & { selected: boolean }).selected = selected;\n if (selected) label = option.textContent?.trim() ?? '';\n }\n\n this.selectedLabel = label;\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 /** A reset restores the value the control started with, not an empty one. */\n formResetCallback() {\n this.value = this.initialValue;\n }\n\n /** An option added or removed while mounted; re-mark the children. */\n private onSlotChange = () => {\n this.syncOptions();\n };\n\n /** Re-reads the options, for a label edited in place (which fires no slotchange). */\n @Method()\n async refresh(): Promise<void> {\n this.syncOptions();\n }\n\n private options(): HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('pf-option'));\n }\n\n private enabled(): HTMLElement[] {\n return this.options().filter((option) => !option.hasAttribute('disabled'));\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 get listbox() {\n return this.el.shadowRoot?.querySelector<HTMLElement>('[part=\"listbox\"]') ?? null;\n }\n\n private get trigger() {\n return this.el.shadowRoot?.querySelector<HTMLButtonElement>('[part=\"trigger\"]') ?? null;\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.trigger,\n getFloating: () => panel,\n // The listbox matches the trigger's width, as the React component does.\n matchAnchorWidth: true,\n flip: true,\n /*\n * `width` *and* `minWidth`: core reports whichever the mode calls for\n * and leaves the other undefined — `matchAnchorWidth: true` gives a\n * `width`, false gives a `minWidth`. Reading only `minWidth`, which is\n * what pf-dropdown needs, left the listbox at its intrinsic 156px beside\n * a 1216px trigger. The smoke test against a real build caught it.\n */\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 /*\n * Opens on the chosen option, or the first selectable one. Landing\n * anywhere else would make the arrows start from somewhere the user has\n * no reason to expect.\n */\n const options = this.options();\n const chosen = options.find((option) => this.optionValue(option) === this.value);\n this.setActive(\n chosen && !chosen.hasAttribute('disabled') ? chosen : (this.enabled()[0] ?? null),\n );\n }\n\n private hideListbox() {\n this.stopObserving?.();\n this.stopObserving = undefined;\n this.clearTypeahead();\n const panel = this.listbox;\n if (panel?.matches(':popover-open')) panel.hidePopover();\n }\n\n private onToggle = (event: ToggleEvent) => {\n const nowOpen = event.newState === 'open';\n if (this.open !== nowOpen) this.open = nowOpen;\n if (!nowOpen) this.trigger?.focus();\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 * Feature-detected. Where ARIA element reflection is missing there is no\n * cross-root equivalent, so the active option stops being *announced* while\n * the arrows and Enter still work — recorded in `todo.md`.\n */\n private syncActiveDescendant() {\n const trigger = this.trigger;\n if (!trigger || !('ariaActiveDescendantElement' in trigger)) return;\n (\n trigger 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 this.trigger?.focus();\n\n if (next === this.value) return;\n this.value = next;\n this.pfChange.emit({ value: next });\n }\n\n /** An option asked to be taken. The select decides, reports and closes. */\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 options = this.options();\n const enabledIndexes = getEnabledIndexes(options, (option) => option.hasAttribute('disabled'));\n const current = this.activeOption ? options.indexOf(this.activeOption) : -1;\n const next = resolveListMove(action, enabledIndexes, current);\n if (next !== -1) this.setActive(options[next] ?? null);\n }\n\n private clearTypeahead() {\n if (this.typeaheadTimer) clearTimeout(this.typeaheadTimer);\n this.typeaheadTimer = undefined;\n this.typeahead = '';\n }\n\n /**\n * Typeahead. The buffer and its timer live here, because a timer is state\n * and core is never a state container; the matching is core's.\n */\n private handleTypeahead(key: string) {\n this.typeahead = nextTypeaheadBuffer(this.typeahead, key);\n\n if (this.typeaheadTimer) clearTimeout(this.typeaheadTimer);\n this.typeaheadTimer = setTimeout(() => this.clearTypeahead(), TYPEAHEAD_TIMEOUT_MS);\n\n const options = this.options();\n const labels = options.map((option) => option.textContent ?? '');\n const from = this.activeOption ? options.indexOf(this.activeOption) : -1;\n const match = findTypeaheadMatch(labels, this.typeahead, from, (index) =>\n options[index].hasAttribute('disabled'),\n );\n\n if (match === -1) return;\n\n /*\n * Closed, typeahead *chooses* rather than merely highlighting: that is\n * what a native `<select>` does, and with no listbox on screen a\n * highlight nobody can see would be no feedback at all.\n */\n if (this.open) this.setActive(options[match]);\n else this.commit(options[match]);\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled || event.defaultPrevented) return;\n\n const move = MOVES[event.key];\n if (move) {\n event.preventDefault();\n // Down or Up on a closed select opens it, as a combobox should.\n if (!this.open) this.open = true;\n else this.move(move);\n return;\n }\n\n if (isActivationKey(event.key)) {\n event.preventDefault();\n if (!this.open) {\n this.open = true;\n } else if (this.activeOption) {\n this.commit(this.activeOption);\n }\n return;\n }\n\n // Escape is the browser's while the listbox is a `popover=\"auto\"`.\n if (isTypeaheadKey(event.key)) {\n event.preventDefault();\n this.handleTypeahead(event.key);\n }\n }\n\n render() {\n const describedBy = composeDescribedBy(\n this.description && 'description',\n this.error && 'error',\n );\n\n return (\n <Host>\n <div class=\"field\" part=\"field\">\n {this.label && (\n <label class=\"label\" part=\"label\" htmlFor=\"trigger\">\n {this.label}\n {this.required && (\n <span class=\"required\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n <button\n id=\"trigger\"\n part=\"trigger\"\n class={{ trigger: true, 'trigger--invalid': Boolean(this.error) }}\n type=\"button\"\n role=\"combobox\"\n disabled={this.disabled}\n aria-haspopup=\"listbox\"\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-required={this.required ? 'true' : null}\n aria-describedby={describedBy}\n onClick={() => {\n if (!this.disabled) this.open = !this.open;\n }}\n >\n <span class={{ value: true, 'value--placeholder': !this.selectedLabel }}>\n {this.selectedLabel || this.placeholder}\n </span>\n <span class=\"chevron\" aria-hidden=\"true\">\n <pf-icon name=\"chevron-down\"></pf-icon>\n </span>\n </button>\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 style={\n this.maxVisibleOptions\n ? { maxHeight: `calc(${this.maxVisibleOptions} * 36px)`, overflowY: 'auto' }\n : undefined\n }\n onToggle={this.onToggle}\n >\n <slot onSlotchange={this.onSlotChange} />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as a,c as r,h as s,H as e}from"./p-Bm6UxEit.js";const t=()=>`:host{align-items:center;border-radius:var(--radius-full);display:inline-flex;gap:var(--space-1);min-height:26px;padding:0 var(--space-2)}:host([hidden]){display:none}.label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1}:host([variant='neutral']){background:var(--pf-tag-neutral-bg);color:var(--pf-tag-neutral-text)}:host([variant='brand']){background:var(--pf-tag-brand-bg);color:var(--pf-tag-brand-text)}:host([variant='success']){background:var(--pf-tag-success-bg);color:var(--pf-tag-success-text)}:host([variant='warning']){background:var(--pf-tag-warning-bg);color:var(--pf-tag-warning-text)}:host([variant='danger']){background:var(--pf-tag-danger-bg);color:var(--pf-tag-danger-text)}.dismiss{align-items:center;background:transparent;border:0;border-radius:var(--radius-full);color:currentColor;cursor:pointer;display:inline-flex;height:18px;justify-content:center;margin-inline-end:-2px;padding:0;width:18px}.dismiss:hover{background:var(--pf-tag-subtle-hover-overlay, var(--pf-subtle-hover-overlay))}.dismiss:focus-visible{box-shadow:var(--pf-tag-focus-ring, var(--pf-focus-ring));outline:none}.dismiss pf-icon{font-size:12px}`;const i=class{constructor(s){a(this,s);this.pfDismiss=r(this,"pfDismiss")}variant="neutral";dismissible=false;dismissLabel="Remove tag";pfDismiss;render(){return s(e,{key:"5ccd32a10cb7fd0b8b29c9b11eb395a0909049c9"},s("span",{key:"0f820e192d5397525bae42c0a4bb5c98a33bdc94",class:"label",part:"label"},s("slot",{key:"47a783001412c88240099c74c8e414930dd1e5d9"})),this.dismissible&&s("button",{key:"8b9f7087199924b39ecf16f2a8c5c5f23bf90fd5",type:"button",class:"dismiss",part:"dismiss","aria-label":this.dismissLabel,onClick:()=>this.pfDismiss.emit()},s("pf-icon",{key:"52c0b4bcc7e09fe0c364c703cb04d5ebebbd370d",name:"circle-xmark"})))}};i.style=t();export{i as pf_tag};
|
|
2
|
+
//# sourceMappingURL=p-aa2acec3.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfTagCss","PfTag","variant","dismissible","dismissLabel","pfDismiss","render","h","Host","key","class","part","this","type","onClick","emit","name"],"sources":["src/components/pf-tag/pf-tag.css?tag=pf-tag&encapsulation=shadow","src/components/pf-tag/pf-tag.tsx"],"sourcesContent":[":host {\n align-items: center;\n border-radius: var(--radius-full);\n display: inline-flex;\n gap: var(--space-1);\n min-height: 26px;\n padding: 0 var(--space-2);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.label {\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n line-height: 1;\n}\n\n:host([variant='neutral']) {\n background: var(--pf-tag-neutral-bg);\n color: var(--pf-tag-neutral-text);\n}\n\n:host([variant='brand']) {\n background: var(--pf-tag-brand-bg);\n color: var(--pf-tag-brand-text);\n}\n\n:host([variant='success']) {\n background: var(--pf-tag-success-bg);\n color: var(--pf-tag-success-text);\n}\n\n:host([variant='warning']) {\n background: var(--pf-tag-warning-bg);\n color: var(--pf-tag-warning-text);\n}\n\n:host([variant='danger']) {\n background: var(--pf-tag-danger-bg);\n color: var(--pf-tag-danger-text);\n}\n\n.dismiss {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: var(--radius-full);\n color: currentColor;\n cursor: pointer;\n display: inline-flex;\n height: 18px;\n justify-content: center;\n margin-inline-end: -2px;\n padding: 0;\n width: 18px;\n}\n\n.dismiss:hover {\n background: var(--pf-tag-subtle-hover-overlay, var(--pf-subtle-hover-overlay));\n}\n\n.dismiss:focus-visible {\n box-shadow: var(--pf-tag-focus-ring, var(--pf-focus-ring));\n outline: none;\n}\n\n.dismiss pf-icon {\n font-size: 12px;\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\nexport type PfTagVariant = 'neutral' | 'brand' | 'success' | 'warning' | 'danger';\n\n/**\n * A label a person can remove, for a filter or a selection.\n *\n * It only reports that its dismiss button was pressed — removing it is the\n * consumer's, as it is for `pf-alert`.\n *\n * @slot - the tag's label.\n * @part label - the label wrapper.\n * @part dismiss - the remove button, when dismissible.\n */\n@Component({\n tag: 'pf-tag',\n styleUrl: 'pf-tag.css',\n shadow: true,\n})\nexport class PfTag {\n @Prop({ reflect: true }) variant: PfTagVariant = 'neutral';\n\n /** Show a button that removes the tag. */\n @Prop({ reflect: true }) dismissible = false;\n\n /** Accessible name for the remove button. */\n @Prop() dismissLabel = 'Remove tag';\n\n /**\n * Fired when the remove button is pressed. The tag does not remove itself —\n * whoever owns the list decides, exactly as the React `onDismiss` callback\n * leaves it to the caller.\n */\n @Event() pfDismiss!: EventEmitter<void>;\n\n render() {\n return (\n <Host>\n <span class=\"label\" part=\"label\">\n <slot />\n </span>\n {this.dismissible && (\n <button\n type=\"button\"\n class=\"dismiss\"\n part=\"dismiss\"\n aria-label={this.dismissLabel}\n onClick={() => this.pfDismiss.emit()}\n >\n <pf-icon name=\"circle-xmark\"></pf-icon>\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAW,IAAM,upC,MCmBVC,EAAK,M,4DACSC,QAAwB,UAGxBC,YAAc,MAG/BC,aAAe,aAOdC,UAET,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,2CAAMC,MAAM,QAAQC,KAAK,SACvBJ,EAAA,QAAAE,IAAA,8CAEDG,KAAKT,aACJI,EAAA,UAAAE,IAAA,2CACEI,KAAK,SACLH,MAAM,UACNC,KAAK,UAAS,aACFC,KAAKR,aACjBU,QAAS,IAAMF,KAAKP,UAAUU,QAE9BR,EAAA,WAAAE,IAAA,2CAASO,KAAK,kB","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as a,h as e,H as t}from"./p-Bm6UxEit.js";import{p as r,t as s,g as n,f as l}from"./p-C9jNMqLs.js";var i=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var o=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function c(a,e,t){const s=a.map((a=>a.date)).filter((a=>r(a)!==null)).sort();const n=r(e??s[0]);const l=r(t??s[s.length-1]);if(!n||!l)return null;if(l<n)return null;return{start:n,end:l}}function p(a,e,t=0){const r=s(a);const i=s(e);const o=(r.getDay()-t+7)%7;const c=[];let p=n(r,-o);while(p<=i&&c.length<400){const a=[];for(let e=0;e<7;e+=1){a.push({iso:l(p),date:p,inRange:p>=r&&p<=i});p=n(p,1)}c.push(a)}return c}function m(a){let e=0;let t=0;for(const r of a){if(!Number.isFinite(r.value))continue;e=Math.max(e,r.value);t+=r.value}return{max:e,total:t}}function d(a,e,t){const r=Math.max(2,Math.floor(t)||2);if(!Number.isFinite(a)||a<=0||!(e>0))return 0;return Math.min(r-1,Math.max(1,Math.ceil(a/e*(r-1))))}function h(a,e){if(a<=0)return"var(--pf-heatmap-empty)";const t=Math.max(2,Math.floor(e)||2);return`color-mix(in srgb, var(--pf-heatmap-color) ${Math.round(Math.min(a,t-1)/(t-1)*100)}%, var(--pf-heatmap-empty))`}function f(a){const e=[];let t=-1;for(const[r,s]of a.entries()){const a=s.find((a=>a.inRange));if(!a)continue;const n=a.date.getMonth();if(n!==t){e.push({column:r+1,label:i[n]});t=n}}return e}const u=()=>`:host{display:inline-block;font-family:var(--font-family-sans);max-width:100%;overflow-x:auto}:host([hidden]){display:none}.empty{color:var(--pf-heatmap-empty-text);font-size:var(--font-size-sm);padding:var(--space-4);text-align:center}.body{display:flex;gap:var(--pf-heatmap-cell-gap)}.weekdays{display:flex;flex-direction:column}.weekday-spacer{display:block;height:calc(var(--font-size-xs) + var(--space-1))}.weekday-grid{display:grid;gap:var(--pf-heatmap-cell-gap);grid-template-rows:repeat(7, var(--pf-heatmap-cell-size))}.weekday{align-items:center;color:var(--pf-heatmap-label-color);display:flex;font-size:var(--font-size-xs);line-height:1;padding-inline-end:var(--space-1)}.main{display:flex;flex-direction:column;gap:var(--space-1)}.months{display:grid;gap:var(--pf-heatmap-cell-gap);height:var(--font-size-xs)}.month{color:var(--pf-heatmap-label-color);font-size:var(--font-size-xs);line-height:1}.grid{display:grid;gap:var(--pf-heatmap-cell-gap);grid-auto-columns:var(--pf-heatmap-cell-size);grid-auto-flow:column;grid-template-rows:repeat(7, var(--pf-heatmap-cell-size))}.cell{animation:pf-heatmap-cell-in var(--duration-moderate) var(--easing-decelerate) both;border-radius:var(--pf-heatmap-cell-radius);height:var(--pf-heatmap-cell-size);width:var(--pf-heatmap-cell-size)}.cell--empty{background:transparent}@keyframes pf-heatmap-cell-in{from{opacity:0;transform:scale(0.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.cell{animation:none}}`;const g=class{constructor(e){a(this,e)}data=[];startDate;endDate;levels=5;weekStartsOn=0;cellSize=12;cellGap=3;showWeekdayLabels=true;showMonthLabels=true;label;get entries(){const a=this.data;if(Array.isArray(a))return a;try{const e=JSON.parse(String(a||"[]"));return Array.isArray(e)?e:[]}catch{return[]}}get weekStart(){return Number(this.weekStartsOn)===1?1:0}render(){const a=this.entries;const r=c(a,this.startDate,this.endDate);const s=Number(this.cellSize)||12;const n=Number(this.cellGap)||3;if(!r){return e(t,null,e("div",{class:"empty",part:"empty"},e("slot",{name:"empty"},"No data")))}const{start:i,end:u}=r;const g=Number(this.levels);const y=new Map(a.map((a=>[a.date,a.value])));const{max:v,total:b}=m(a);const w=p(i,u,this.weekStart);const x=f(w);return e(t,{role:"img","aria-label":this.label??`Activity heatmap from ${l(i)} to ${l(u)}, ${b} total`,style:{"--pf-heatmap-cell-size":`${s}px`,"--pf-heatmap-cell-gap":`${n}px`}},e("div",{class:"body"},this.showWeekdayLabels&&e("div",{class:"weekdays",part:"weekdays"},this.showMonthLabels&&e("span",{class:"weekday-spacer","aria-hidden":"true"}),e("div",{class:"weekday-grid"},Array.from({length:7},((a,t)=>e("span",{class:"weekday"},t%2===1?o[(this.weekStart+t)%7]:""))))),e("div",{class:"main"},this.showMonthLabels&&e("div",{class:"months",part:"months","aria-hidden":"true",style:{gridTemplateColumns:`repeat(${w.length}, var(--pf-heatmap-cell-size))`}},x.map((a=>e("span",{class:"month",style:{gridColumnStart:String(a.column)}},a.label)))),e("div",{class:"grid",part:"grid"},w.flatMap(((a,t)=>a.map((a=>a.inRange?e("span",{class:"cell",part:"cell",title:`${a.iso}: ${y.get(a.iso)??0}`,"data-level":String(d(y.get(a.iso)??0,v,g)),style:{background:h(d(y.get(a.iso)??0,v,g),g),animationDelay:`${t*8}ms`}}):e("span",{class:"cell cell--empty"})))))))))}};g.style=u();export{g as pf_heatmap};
|
|
2
|
+
//# sourceMappingURL=p-aa615fe9.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HEATMAP_MONTHS","HEATMAP_WEEKDAYS","heatmapRange","data","startDate","endDate","dates","map","item","date","filter","iso","parseISODate","sort","start","end","length","buildHeatmapWeeks","weekStartsOn","from","toMidday","to","offset","getDay","weeks","cursor","addDays","week","day","push","formatISODate","inRange","summariseHeatmap","max","total","Number","isFinite","value","Math","heatmapLevel","levelCount","levels","floor","min","ceil","heatmapCellColor","level","round","heatmapMonthLabels","labels","lastMonth","index","entries","first","find","cell","month","getMonth","column","label","pfHeatmapCss","PfHeatmap","cellSize","cellGap","showWeekdayLabels","showMonthLabels","raw","this","Array","isArray","parsed","JSON","parse","String","weekStart","render","range","h","Host","class","part","name","byDate","Map","entry","months","role","style","_","gridTemplateColumns","gridColumnStart","flatMap","title","get","background","animationDelay"],"sources":["../core/dist/heatmap.js","src/components/pf-heatmap/pf-heatmap.css?tag=pf-heatmap&encapsulation=shadow","src/components/pf-heatmap/pf-heatmap.tsx"],"sourcesContent":["import { addDays, formatISODate, parseISODate, toMidday } from \"./date.js\";\n//#region src/heatmap.ts\n/**\n* The grid behind a calendar heatmap: which days it covers, which column each\n* week is, and how dark a value makes a cell.\n*\n* Shared because all of it is date arithmetic and bucketing, and because the\n* date arithmetic is the part that is easy to get wrong in a way nobody sees\n* until a daylight-saving boundary. It goes through `date.ts`, which pins\n* every date to midday for exactly that reason.\n*/\n/** Short month names, in the order a `Date` reports them. */\nvar HEATMAP_MONTHS = [\n\t\"Jan\",\n\t\"Feb\",\n\t\"Mar\",\n\t\"Apr\",\n\t\"May\",\n\t\"Jun\",\n\t\"Jul\",\n\t\"Aug\",\n\t\"Sep\",\n\t\"Oct\",\n\t\"Nov\",\n\t\"Dec\"\n];\n/** Short weekday names, Sunday first, as `Date.getDay()` numbers them. */\nvar HEATMAP_WEEKDAYS = [\n\t\"Sun\",\n\t\"Mon\",\n\t\"Tue\",\n\t\"Wed\",\n\t\"Thu\",\n\t\"Fri\",\n\t\"Sat\"\n];\n/**\n* The first and last day to draw.\n*\n* The explicit bounds win; otherwise the earliest and latest dates in the\n* data. `null` when there is nothing to draw, which is the caller's signal to\n* show its empty state. A date that does not parse is ignored rather than\n* becoming an `Invalid Date` that poisons every comparison after it.\n*/\nfunction heatmapRange(data, startDate, endDate) {\n\tconst dates = data.map((item) => item.date).filter((iso) => parseISODate(iso) !== null).sort();\n\tconst start = parseISODate(startDate ?? dates[0]);\n\tconst end = parseISODate(endDate ?? dates[dates.length - 1]);\n\tif (!start || !end) return null;\n\tif (end < start) return null;\n\treturn {\n\t\tstart,\n\t\tend\n\t};\n}\n/**\n* The weeks to draw, as columns of seven days.\n*\n* The first column is aligned back to the configured week start, so every row\n* is the same weekday all the way across — which is the whole point of the\n* shape. Days before `start` and after `end` are present but not `inRange`,\n* because the grid has to stay rectangular.\n*\n* Capped at 400 columns: a `start`/`end` pair a consumer got the wrong way\n* round is caught by `heatmapRange`, but a range of twenty years is a\n* legitimate pair of dates and an unbounded loop building 1,040 columns of\n* seven cells each is a frozen tab rather than a chart.\n*/\nfunction buildHeatmapWeeks(start, end, weekStartsOn = 0) {\n\tconst from = toMidday(start);\n\tconst to = toMidday(end);\n\tconst offset = (from.getDay() - weekStartsOn + 7) % 7;\n\tconst weeks = [];\n\tlet cursor = addDays(from, -offset);\n\twhile (cursor <= to && weeks.length < 400) {\n\t\tconst week = [];\n\t\tfor (let day = 0; day < 7; day += 1) {\n\t\t\tweek.push({\n\t\t\t\tiso: formatISODate(cursor),\n\t\t\t\tdate: cursor,\n\t\t\t\tinRange: cursor >= from && cursor <= to\n\t\t\t});\n\t\t\tcursor = addDays(cursor, 1);\n\t\t}\n\t\tweeks.push(week);\n\t}\n\treturn weeks;\n}\n/**\n* The largest and the sum of the values, ignoring the ones that are not\n* numbers.\n*\n* The React `Heatmap` reduced with `Math.max(max, d.value)` and `sum +\n* d.value`, both of which carry one `NaN` through everything: every cell's\n* level came out `NaN` and the accessible summary read \"NaN total\".\n*/\nfunction summariseHeatmap(data) {\n\tlet max = 0;\n\tlet total = 0;\n\tfor (const item of data) {\n\t\tif (!Number.isFinite(item.value)) continue;\n\t\tmax = Math.max(max, item.value);\n\t\ttotal += item.value;\n\t}\n\treturn {\n\t\tmax,\n\t\ttotal\n\t};\n}\n/**\n* Which bucket a value falls in, from `0` (nothing) to `levelCount - 1`.\n*\n* Level 0 is reserved for \"no activity\", so any positive value is at least 1\n* however small — a day with one commit should not look like a day with none.\n*/\nfunction heatmapLevel(value, max, levelCount) {\n\tconst levels = Math.max(2, Math.floor(levelCount) || 2);\n\tif (!Number.isFinite(value) || value <= 0 || !(max > 0)) return 0;\n\treturn Math.min(levels - 1, Math.max(1, Math.ceil(value / max * (levels - 1))));\n}\n/**\n* The colour for a level, as a `color-mix` of the heatmap's own two aliases.\n*\n* A mix rather than a scale of tokens, so one `--pf-heatmap-color` override\n* re-tints the whole chart.\n*/\nfunction heatmapCellColor(level, levelCount) {\n\tif (level <= 0) return \"var(--pf-heatmap-empty)\";\n\tconst levels = Math.max(2, Math.floor(levelCount) || 2);\n\treturn `color-mix(in srgb, var(--pf-heatmap-color) ${Math.round(Math.min(level, levels - 1) / (levels - 1) * 100)}%, var(--pf-heatmap-empty))`;\n}\n/**\n* Where each month's name goes: the column of the first in-range day that\n* belongs to it.\n*\n* `column` is one-based, because it is used as a `grid-column-start`.\n*/\nfunction heatmapMonthLabels(weeks) {\n\tconst labels = [];\n\tlet lastMonth = -1;\n\tfor (const [index, week] of weeks.entries()) {\n\t\tconst first = week.find((cell) => cell.inRange);\n\t\tif (!first) continue;\n\t\tconst month = first.date.getMonth();\n\t\tif (month !== lastMonth) {\n\t\t\tlabels.push({\n\t\t\t\tcolumn: index + 1,\n\t\t\t\tlabel: HEATMAP_MONTHS[month]\n\t\t\t});\n\t\t\tlastMonth = month;\n\t\t}\n\t}\n\treturn labels;\n}\n//#endregion\nexport { HEATMAP_MONTHS, HEATMAP_WEEKDAYS, buildHeatmapWeeks, heatmapCellColor, heatmapLevel, heatmapMonthLabels, heatmapRange, summariseHeatmap };\n",":host {\n display: inline-block;\n font-family: var(--font-family-sans);\n max-width: 100%;\n /* A full year is wider than a small screen: scroll rather than overflow. */\n overflow-x: auto;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.empty {\n color: var(--pf-heatmap-empty-text);\n font-size: var(--font-size-sm);\n padding: var(--space-4);\n text-align: center;\n}\n\n.body {\n display: flex;\n gap: var(--pf-heatmap-cell-gap);\n}\n\n.weekdays {\n display: flex;\n flex-direction: column;\n}\n\n.weekday-spacer {\n display: block;\n height: calc(var(--font-size-xs) + var(--space-1));\n}\n\n.weekday-grid {\n display: grid;\n gap: var(--pf-heatmap-cell-gap);\n grid-template-rows: repeat(7, var(--pf-heatmap-cell-size));\n}\n\n.weekday {\n align-items: center;\n color: var(--pf-heatmap-label-color);\n display: flex;\n font-size: var(--font-size-xs);\n line-height: 1;\n padding-inline-end: var(--space-1);\n}\n\n.main {\n display: flex;\n flex-direction: column;\n gap: var(--space-1);\n}\n\n.months {\n display: grid;\n gap: var(--pf-heatmap-cell-gap);\n height: var(--font-size-xs);\n}\n\n.month {\n color: var(--pf-heatmap-label-color);\n font-size: var(--font-size-xs);\n line-height: 1;\n}\n\n/*\n * Columns of seven, filled top to bottom and then left to right, which is\n * what `grid-auto-flow: column` over seven fixed rows gives.\n */\n.grid {\n display: grid;\n gap: var(--pf-heatmap-cell-gap);\n grid-auto-columns: var(--pf-heatmap-cell-size);\n grid-auto-flow: column;\n grid-template-rows: repeat(7, var(--pf-heatmap-cell-size));\n}\n\n.cell {\n animation: pf-heatmap-cell-in var(--duration-moderate) var(--easing-decelerate) both;\n border-radius: var(--pf-heatmap-cell-radius);\n height: var(--pf-heatmap-cell-size);\n width: var(--pf-heatmap-cell-size);\n}\n\n.cell--empty {\n background: transparent;\n}\n\n/* Its own copy: `@keyframes` do not cross a shadow boundary. */\n@keyframes pf-heatmap-cell-in {\n from {\n opacity: 0;\n transform: scale(0.6);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .cell {\n animation: none;\n }\n}\n","import {\n HEATMAP_WEEKDAYS,\n buildHeatmapWeeks,\n formatISODate,\n heatmapCellColor,\n heatmapLevel,\n heatmapMonthLabels,\n heatmapRange,\n summariseHeatmap,\n type HeatmapDatumLike,\n} from '@pitchfork-ui/core';\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * A calendar heatmap: one cell per day, darker where the value is higher.\n *\n * All of the arithmetic is core's, and the date stepping goes through\n * `date.ts`, which pins every date to midday — a day step from midnight\n * across a daylight-saving boundary loses or repeats a day, which is\n * invisible under UTC and is why both test projects now run in a timezone\n * that has daylight saving.\n *\n * @slot empty - what to show when there is nothing to draw.\n * @part empty - the empty state's box.\n * @part weekdays - the column of weekday names.\n * @part months - the row of month names.\n * @part grid - the cells.\n * @part cell - one day.\n */\n@Component({\n tag: 'pf-heatmap',\n styleUrl: 'pf-heatmap.css',\n shadow: true,\n})\nexport class PfHeatmap {\n /**\n * One entry per day with a value, as `{ date: 'YYYY-MM-DD', value }`.\n *\n * An array for a framework consumer, or JSON for plain HTML, because\n * Stencil coerces an attribute only for the primitive types it recognises\n * and would otherwise hand this the string verbatim.\n */\n @Prop() data: HeatmapDatumLike[] | string = [];\n\n /** First day to draw. Defaults to the earliest in the data. */\n @Prop() startDate?: string;\n\n /** Last day to draw. Defaults to the latest in the data. */\n @Prop() endDate?: string;\n\n /** Colour buckets, counting the empty one. */\n @Prop() levels = 5;\n\n /** 0 = Sunday, 1 = Monday. Read through a getter, which coerces. */\n @Prop() weekStartsOn: 0 | 1 = 0;\n\n @Prop() cellSize = 12;\n\n @Prop() cellGap = 3;\n\n @Prop({ reflect: true }) showWeekdayLabels = true;\n\n @Prop({ reflect: true }) showMonthLabels = true;\n\n /** The chart's accessible name. One is generated when it has none. */\n @Prop() label?: string;\n\n /** The entries, however they arrived. */\n private get entries(): HeatmapDatumLike[] {\n const raw = this.data;\n if (Array.isArray(raw)) return raw;\n\n try {\n const parsed = JSON.parse(String(raw || '[]'));\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n // A malformed attribute is an empty heatmap, not a thrown render.\n return [];\n }\n }\n\n /**\n * `0 | 1`, coerced.\n *\n * Written out as `0 | 1` rather than as an imported alias, which is the\n * difference that decides whether Stencil coerces the attribute: measured\n * side by side, this arrives as the **number** `1` while\n * `pf-time-picker`'s imported `HourCycle` arrives as the string `\"12\"`.\n * The getter stays anyway — it costs nothing and covers a consumer who\n * sets the property to a string.\n */\n private get weekStart(): 0 | 1 {\n return Number(this.weekStartsOn) === 1 ? 1 : 0;\n }\n\n render() {\n const entries = this.entries;\n const range = heatmapRange(entries, this.startDate, this.endDate);\n const cellSize = Number(this.cellSize) || 12;\n const cellGap = Number(this.cellGap) || 3;\n\n if (!range) {\n return (\n <Host>\n <div class=\"empty\" part=\"empty\">\n <slot name=\"empty\">No data</slot>\n </div>\n </Host>\n );\n }\n\n const { start, end } = range;\n /*\n * Passed through rather than clamped here: `heatmapLevel` and\n * `heatmapCellColor` both floor it at two buckets, and a second copy of\n * that clamp is a second thing to keep in step.\n */\n const levelCount = Number(this.levels);\n const byDate = new Map(entries.map((entry) => [entry.date, entry.value]));\n const { max, total } = summariseHeatmap(entries);\n const weeks = buildHeatmapWeeks(start, end, this.weekStart);\n const months = heatmapMonthLabels(weeks);\n\n return (\n <Host\n role=\"img\"\n aria-label={\n this.label ??\n `Activity heatmap from ${formatISODate(start)} to ${formatISODate(end)}, ${total} total`\n }\n style={{\n '--pf-heatmap-cell-size': `${cellSize}px`,\n '--pf-heatmap-cell-gap': `${cellGap}px`,\n }}\n >\n <div class=\"body\">\n {this.showWeekdayLabels && (\n <div class=\"weekdays\" part=\"weekdays\">\n {this.showMonthLabels && <span class=\"weekday-spacer\" aria-hidden=\"true\"></span>}\n <div class=\"weekday-grid\">\n {Array.from({ length: 7 }, (_, index) => (\n <span class=\"weekday\">\n {/* Every other name, or seven three-letter labels in a\n 12px column overlap each other. */}\n {index % 2 === 1 ? HEATMAP_WEEKDAYS[(this.weekStart + index) % 7] : ''}\n </span>\n ))}\n </div>\n </div>\n )}\n\n <div class=\"main\">\n {this.showMonthLabels && (\n <div\n class=\"months\"\n part=\"months\"\n aria-hidden=\"true\"\n style={{\n gridTemplateColumns: `repeat(${weeks.length}, var(--pf-heatmap-cell-size))`,\n }}\n >\n {months.map((month) => (\n <span class=\"month\" style={{ gridColumnStart: String(month.column) }}>\n {month.label}\n </span>\n ))}\n </div>\n )}\n\n <div class=\"grid\" part=\"grid\">\n {weeks.flatMap((week, column) =>\n week.map((cell) =>\n cell.inRange ? (\n <span\n class=\"cell\"\n part=\"cell\"\n title={`${cell.iso}: ${byDate.get(cell.iso) ?? 0}`}\n data-level={String(heatmapLevel(byDate.get(cell.iso) ?? 0, max, levelCount))}\n style={{\n background: heatmapCellColor(\n heatmapLevel(byDate.get(cell.iso) ?? 0, max, levelCount),\n levelCount,\n ),\n // Staggered by column, so the grid wipes in oldest first.\n animationDelay: `${column * 8}ms`,\n }}\n ></span>\n ) : (\n <span class=\"cell cell--empty\"></span>\n ),\n ),\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as a,H as s}from"./p-Bm6UxEit.js";import{f as i,c as r}from"./p-DVK0sUX2.js";const t=()=>`:host{align-items:center;background:var(--pf-rating-badge-bg);border:1px solid var(--pf-rating-badge-border);border-radius:var(--radius-full);color:var(--pf-rating-badge-text);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--space-2);line-height:1}:host([hidden]){display:none}:host([size='sm']){min-height:24px;padding:0 var(--space-2)}:host([size='md']){min-height:28px;padding:0 var(--space-3)}.icon{display:block;fill:currentColor;height:14px;width:14px}.value{align-items:center;display:inline-flex;gap:var(--space-1)}.separator{opacity:0.65}.reviews{color:var(--pf-rating-badge-reviews);font-weight:var(--font-weight-medium)}`;const n=class{constructor(a){e(this,a)}value=0;max=5;reviews;size="md";render(){const e=Number(this.max);const t=r(Number(this.value),e);const n=this.reviews;return a(s,{key:"6136e9ef02a72ad066bcd78116ce754d539fcfae"},a("pf-icon",{key:"716cfacb32809c7baed7a0033175e243f4999ff6",class:"icon",part:"icon",name:"star","aria-hidden":"true"}),a("span",{key:"33ac2a3b281d0fb975f94aee3f1f15a7c4ed095c",class:"value",part:"value"},i(t),a("span",{key:"876cd76f0cd653874a258d12f2288ce92ed38f02",class:"separator"},"/"),i(e)),n!==undefined&&n!==null&&a("span",{key:"158525f1ceaf5f08ef158eef1e5e99a521c37620",class:"reviews",part:"reviews"},"(",Number(n).toLocaleString(),")"))}};n.style=t();export{n as pf_rating_badge};
|
|
2
|
+
//# sourceMappingURL=p-aa869013.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfRatingBadgeCss","PfRatingBadge","value","max","reviews","size","render","Number","this","clampRating","h","Host","key","class","part","name","formatRating","undefined","toLocaleString"],"sources":["src/components/pf-rating-badge/pf-rating-badge.css?tag=pf-rating-badge&encapsulation=shadow","src/components/pf-rating-badge/pf-rating-badge.tsx"],"sourcesContent":[":host {\n align-items: center;\n background: var(--pf-rating-badge-bg);\n border: 1px solid var(--pf-rating-badge-border);\n border-radius: var(--radius-full);\n color: var(--pf-rating-badge-text);\n display: inline-flex;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n gap: var(--space-2);\n line-height: 1;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([size='sm']) {\n min-height: 24px;\n padding: 0 var(--space-2);\n}\n\n:host([size='md']) {\n min-height: 28px;\n padding: 0 var(--space-3);\n}\n\n.icon {\n display: block;\n fill: currentColor;\n height: 14px;\n width: 14px;\n}\n\n.value {\n align-items: center;\n display: inline-flex;\n gap: var(--space-1);\n}\n\n.separator {\n opacity: 0.65;\n}\n\n.reviews {\n color: var(--pf-rating-badge-reviews);\n font-weight: var(--font-weight-medium);\n}\n","import { clampRating, formatRating } from '@pitchfork-ui/core';\nimport { Component, h, Host, Prop } from '@stencil/core';\n\nexport type PfRatingBadgeSize = 'sm' | 'md';\n\n/**\n * A rating as a compact pill: one star, the number out of the maximum, and\n * optionally how many reviews it came from.\n *\n * @part icon - the star.\n * @part value - the rating and the maximum.\n * @part reviews - the review count, when `reviews` is set.\n */\n@Component({\n tag: 'pf-rating-badge',\n styleUrl: 'pf-rating-badge.css',\n shadow: true,\n})\nexport class PfRatingBadge {\n /** The rating. Clamped into 0..max. */\n @Prop() value = 0;\n\n /** The top of the scale. */\n @Prop() max = 5;\n\n /**\n * How many reviews the rating came from. Omit it to show no count at all —\n * which is different from `0`, a product nobody has reviewed yet.\n */\n @Prop() reviews?: number;\n\n /** Padding and height. Reflected so the stylesheet can select on it. */\n @Prop({ reflect: true }) size: PfRatingBadgeSize = 'md';\n\n render() {\n const max = Number(this.max);\n const value = clampRating(Number(this.value), max);\n const reviews = this.reviews;\n\n return (\n <Host>\n <pf-icon class=\"icon\" part=\"icon\" name=\"star\" aria-hidden=\"true\"></pf-icon>\n <span class=\"value\" part=\"value\">\n {formatRating(value)}\n <span class=\"separator\">/</span>\n {formatRating(max)}\n </span>\n {reviews !== undefined && reviews !== null && (\n <span class=\"reviews\" part=\"reviews\">\n ({Number(reviews).toLocaleString()})\n </span>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAmB,IAAM,6qB,MCkBlBC,EAAa,M,yBAEhBC,MAAQ,EAGRC,IAAM,EAMNC,QAGiBC,KAA0B,KAEnD,MAAAC,GACE,MAAMH,EAAMI,OAAOC,KAAKL,KACxB,MAAMD,EAAQO,EAAYF,OAAOC,KAAKN,OAAQC,GAC9C,MAAMC,EAAUI,KAAKJ,QAErB,OACEM,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,WAAAE,IAAA,2CAASC,MAAM,OAAOC,KAAK,OAAOC,KAAK,OAAM,cAAa,SAC1DL,EAAA,QAAAE,IAAA,2CAAMC,MAAM,QAAQC,KAAK,SACtBE,EAAad,GACdQ,EAAA,QAAAE,IAAA,2CAAMC,MAAM,aAAW,KACtBG,EAAab,IAEfC,IAAYa,WAAab,IAAY,MACpCM,EAAA,QAAAE,IAAA,2CAAMC,MAAM,UAAUC,KAAK,WAAS,IAChCP,OAAOH,GAASc,iBAAgB,K","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as a,H as t}from"./p-Bm6UxEit.js";import{g as r,c as i}from"./p-BA6CMosJ.js";const s=()=>`:host{align-items:center;display:inline-flex;justify-content:center;position:relative}:host([hidden]){display:none}.svg{inset:0;position:absolute}.track{stroke:var(--pf-gauge-track-color)}.fill{animation:pf-gauge-fill var(--duration-slow) var(--easing-decelerate);stroke-dashoffset:var(--pf-gauge-offset);transition:stroke-dashoffset var(--pf-transition-medium)}@keyframes pf-gauge-fill{from{stroke-dashoffset:var(--pf-gauge-circumference)}}@media (prefers-reduced-motion: reduce){.fill{animation:none;transition:none}}.center{align-items:center;background:var(--pf-gauge-center-bg);border-radius:var(--radius-full);display:flex;flex-direction:column;gap:var(--space-1);justify-content:center;padding:var(--space-2);position:relative;text-align:center;z-index:1}.label{color:var(--pf-gauge-label-color);font-size:var(--pf-gauge-label-size);font-weight:var(--font-weight-semibold);line-height:1}::slotted([slot='sub']){color:var(--pf-gauge-sub-label-color);font-size:var(--font-size-sm);line-height:1}`;const c=class{constructor(a){e(this,a)}value=0;max=100;size=200;strokeWidth=16;color;label="Gauge";render(){const e=Number(this.size)||200;const s=Number(this.strokeWidth)||16;const c=Math.round(i(Number(this.value),Number(this.max)));const{radius:o,circumference:n,dashOffset:l,center:f}=r(e,s,c);const d=this.color??"var(--pf-gauge-color)";return a(t,{key:"4b68ce456d9e35a64fa2eb16dbcaf7b3d7d8c39a",role:"meter","aria-label":this.label,"aria-valuenow":String(this.value),"aria-valuemin":"0","aria-valuemax":String(this.max),"aria-valuetext":`${c}%`,style:{width:`${e}px`,height:`${e}px`}},a("svg",{key:"cfec8943ae89a32ebb53b7590a16a5cb9c7650bd",class:"svg",part:"svg",width:e,height:e,viewBox:`0 0 ${e} ${e}`,"aria-hidden":"true"},a("circle",{key:"1b582bd780e9eef61d64fd9422881c3bd2980410",class:"track",part:"track",cx:f,cy:f,r:o,fill:"none","stroke-width":s}),a("circle",{key:"f1b871cc4f6c0e30f1f0ed2f97ed947f0733d197",class:"fill",part:"fill",cx:f,cy:f,r:o,fill:"none",stroke:d,"stroke-width":s,"stroke-linecap":"round","stroke-dasharray":n,style:{transform:"rotate(-90deg)",transformOrigin:`${f}px ${f}px`,"--pf-gauge-circumference":String(n),"--pf-gauge-offset":String(l)}})),a("div",{key:"ca9e8e0cbad4c53bd7b6d1f2cb032ac0e655e728",class:"center",part:"center","aria-hidden":"true"},a("span",{key:"c41cc2ff253f428c8f5a23ec1d8e63aa905ac7d5",class:"label",part:"label"},a("slot",{key:"491591bff197590cf4dc3431603494879f24652e",name:"center"},c,"%")),a("slot",{key:"2027cd831a0e13b89616a3a2e667a1a952fcdf5d",name:"sub"})))}};c.style=s();export{c as pf_gauge_chart};
|
|
2
|
+
//# sourceMappingURL=p-aac27e62.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfGaugeChartCss","PfGaugeChart","value","max","size","strokeWidth","color","label","render","Number","this","percent","Math","round","clampProgressPercent","radius","circumference","dashOffset","center","getProgressCircleGeometry","stroke","h","Host","key","role","String","style","width","height","class","part","viewBox","cx","cy","r","fill","transform","transformOrigin","name"],"sources":["src/components/pf-gauge-chart/pf-gauge-chart.css?tag=pf-gauge-chart&encapsulation=shadow","src/components/pf-gauge-chart/pf-gauge-chart.tsx"],"sourcesContent":[":host {\n align-items: center;\n display: inline-flex;\n justify-content: center;\n position: relative;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.svg {\n inset: 0;\n position: absolute;\n}\n\n.track {\n stroke: var(--pf-gauge-track-color);\n}\n\n.fill {\n /*\n * The animation and the transition together: the first fills the arc in on\n * first paint, the second carries it between values afterwards. A\n * `--pf-transition-*` alias where the raw duration tokens would do, because\n * an alias cannot be half-right.\n */\n animation: pf-gauge-fill var(--duration-slow) var(--easing-decelerate);\n stroke-dashoffset: var(--pf-gauge-offset);\n transition: stroke-dashoffset var(--pf-transition-medium);\n}\n\n/*\n * Its own copy: `@keyframes` do not cross a shadow boundary, so the React\n * library's global declaration is invisible here.\n */\n@keyframes pf-gauge-fill {\n from {\n stroke-dashoffset: var(--pf-gauge-circumference);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fill {\n animation: none;\n transition: none;\n }\n}\n\n.center {\n align-items: center;\n background: var(--pf-gauge-center-bg);\n border-radius: var(--radius-full);\n display: flex;\n flex-direction: column;\n gap: var(--space-1);\n justify-content: center;\n padding: var(--space-2);\n position: relative;\n text-align: center;\n z-index: 1;\n}\n\n.label {\n color: var(--pf-gauge-label-color);\n font-size: var(--pf-gauge-label-size);\n font-weight: var(--font-weight-semibold);\n line-height: 1;\n}\n\n/*\n * The slotted sub-label itself, with no wrapper of ours around it: an\n * unassigned slot is `display: contents` and generates nothing, so a gauge\n * with no sub-label lays out nothing extra. A wrapper would still be a flex\n * item costing the `--space-1` gap, and could not be collapsed from CSS —\n * `:has()` cannot ask whether a slot has assigned content, because assigned\n * nodes are not the slot's children.\n */\n::slotted([slot='sub']) {\n color: var(--pf-gauge-sub-label-color);\n font-size: var(--font-size-sm);\n line-height: 1;\n}\n","import { clampProgressPercent, getProgressCircleGeometry } from '@pitchfork-ui/core';\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * A single value drawn as a filled arc, with a label in the middle.\n *\n * The geometry is `getProgressCircleGeometry`, which `pf-progress-circle` and\n * the React `ProgressCircle` already share: the dash offset only lands on the\n * right angle if it and the circumference came from the same radius, and the\n * radius has to be inset by half the stroke or half of it paints outside the\n * viewBox.\n *\n * It names itself with `label` where the React `GaugeChart` puts the\n * percentage in `aria-label`. A meter's name should say what is being\n * measured; the value belongs in `aria-valuetext`, which is where a reader\n * looks for it, and announcing \"73%\" as the name of a thing leaves a reader\n * with no idea what is 73% full.\n *\n * @slot center - replaces the percentage in the middle.\n * @slot sub - a second line under it.\n * @part svg - the arc's canvas.\n * @part track - the unfilled ring.\n * @part fill - the filled arc.\n * @part center - the box in the middle.\n * @part label - the big number.\n */\n@Component({\n tag: 'pf-gauge-chart',\n styleUrl: 'pf-gauge-chart.css',\n shadow: true,\n})\nexport class PfGaugeChart {\n @Prop() value = 0;\n\n @Prop() max = 100;\n\n /** Diameter, in pixels. */\n @Prop() size = 200;\n\n /** The arc's thickness, in pixels. */\n @Prop() strokeWidth = 16;\n\n /** Overrides the token colour. */\n @Prop() color?: string;\n\n /** What is being measured. The meter's accessible name. */\n @Prop() label = 'Gauge';\n\n render() {\n const size = Number(this.size) || 200;\n const strokeWidth = Number(this.strokeWidth) || 16;\n const percent = Math.round(clampProgressPercent(Number(this.value), Number(this.max)));\n const { radius, circumference, dashOffset, center } = getProgressCircleGeometry(\n size,\n strokeWidth,\n percent,\n );\n const stroke = this.color ?? 'var(--pf-gauge-color)';\n\n return (\n <Host\n role=\"meter\"\n aria-label={this.label}\n aria-valuenow={String(this.value)}\n aria-valuemin=\"0\"\n aria-valuemax={String(this.max)}\n aria-valuetext={`${percent}%`}\n style={{ width: `${size}px`, height: `${size}px` }}\n >\n <svg\n class=\"svg\"\n part=\"svg\"\n width={size}\n height={size}\n viewBox={`0 0 ${size} ${size}`}\n aria-hidden=\"true\"\n >\n <circle\n class=\"track\"\n part=\"track\"\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n stroke-width={strokeWidth}\n />\n {/* Rotated so the arc starts at twelve o'clock rather than at three. */}\n <circle\n class=\"fill\"\n part=\"fill\"\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n stroke={stroke}\n stroke-width={strokeWidth}\n stroke-linecap=\"round\"\n stroke-dasharray={circumference}\n style={{\n transform: 'rotate(-90deg)',\n transformOrigin: `${center}px ${center}px`,\n '--pf-gauge-circumference': String(circumference),\n '--pf-gauge-offset': String(dashOffset),\n }}\n />\n </svg>\n\n <div class=\"center\" part=\"center\" aria-hidden=\"true\">\n <span class=\"label\" part=\"label\">\n <slot name=\"center\">{percent}%</slot>\n </span>\n {/*\n No wrapper around this slot. An *unassigned* slot is\n `display: contents` and generates nothing, so nothing is laid out\n when there is no sub-label — where a wrapper would still be a flex\n item and still cost the `--space-1` gap above it, and could not be\n collapsed from CSS: `:has()` on a slot's assigned content is not\n expressible, because assigned nodes are not the slot's children.\n */}\n <slot name=\"sub\" />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAkB,IAAM,2+B,MC+BjBC,EAAY,M,yBACfC,MAAQ,EAERC,IAAM,IAGNC,KAAO,IAGPC,YAAc,GAGdC,MAGAC,MAAQ,QAEhB,MAAAC,GACE,MAAMJ,EAAOK,OAAOC,KAAKN,OAAS,IAClC,MAAMC,EAAcI,OAAOC,KAAKL,cAAgB,GAChD,MAAMM,EAAUC,KAAKC,MAAMC,EAAqBL,OAAOC,KAAKR,OAAQO,OAAOC,KAAKP,OAChF,MAAMY,OAAEA,EAAMC,cAAEA,EAAaC,WAAEA,EAAUC,OAAEA,GAAWC,EACpDf,EACAC,EACAM,GAEF,MAAMS,EAASV,KAAKJ,OAAS,wBAE7B,OACEe,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAK,QAAO,aACAd,KAAKH,MAAK,gBACPkB,OAAOf,KAAKR,OAAM,gBACnB,IAAG,gBACFuB,OAAOf,KAAKP,KAAI,iBACf,GAAGQ,KACnBe,MAAO,CAAEC,MAAO,GAAGvB,MAAUwB,OAAQ,GAAGxB,QAExCiB,EAAA,OAAAE,IAAA,2CACEM,MAAM,MACNC,KAAK,MACLH,MAAOvB,EACPwB,OAAQxB,EACR2B,QAAS,OAAO3B,KAAQA,IAAM,cAClB,QAEZiB,EAAA,UAAAE,IAAA,2CACEM,MAAM,QACNC,KAAK,QACLE,GAAId,EACJe,GAAIf,EACJgB,EAAGnB,EACHoB,KAAK,OAAM,eACG9B,IAGhBgB,EAAA,UAAAE,IAAA,2CACEM,MAAM,OACNC,KAAK,OACLE,GAAId,EACJe,GAAIf,EACJgB,EAAGnB,EACHoB,KAAK,OACLf,OAAQA,EAAM,eACAf,EAAW,iBACV,QAAO,mBACJW,EAClBU,MAAO,CACLU,UAAW,iBACXC,gBAAiB,GAAGnB,OAAYA,MAChC,2BAA4BO,OAAOT,GACnC,oBAAqBS,OAAOR,OAKlCI,EAAA,OAAAE,IAAA,2CAAKM,MAAM,SAASC,KAAK,SAAQ,cAAa,QAC5CT,EAAA,QAAAE,IAAA,2CAAMM,MAAM,QAAQC,KAAK,SACvBT,EAAA,QAAAE,IAAA,2CAAMe,KAAK,UAAU3B,EAAO,MAU9BU,EAAA,QAAAE,IAAA,2CAAMe,KAAK,S","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as e,a,h as s,H as i}from"./p-Bm6UxEit.js";import{i as n}from"./p-g4FlTDZx.js";const r=()=>`:host{align-items:center;background:transparent;border:0;color:var(--pf-tabs-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-2);min-width:0;position:relative;transition:color var(--pf-transition-medium);user-select:none;white-space:nowrap;z-index:1}:host([hidden]){display:none}:host([size='sm']){padding:var(--space-2) var(--space-3)}:host([size='md']){padding:var(--pf-tabs-tab-padding-y-md) var(--pf-tabs-tab-padding-x-md)}:host([full-width]){flex:1;justify-content:center}:host([variant='underline']){border-bottom:var(--pf-tabs-underline-width) solid transparent;margin-bottom:-1px}:host([variant='pills']){border-radius:var(--radius-sm)}:host(:hover:not([disabled])),:host([selected]),:host(:focus-visible){color:var(--pf-tabs-text)}:host([disabled]){cursor:not-allowed;opacity:0.45}:host(:focus-visible){outline:2px solid color-mix(in srgb, var(--pf-tabs-text) 32%, transparent);outline-offset:2px}.icon{flex-shrink:0;font-size:1em}.count{flex-shrink:0;font-size:var(--font-size-xs);min-height:18px;padding:0 var(--space-2)}@media (prefers-reduced-motion: reduce){:host{transition:none}}`;const o=class{constructor(a){t(this,a);this.pfTabSelect=e(this,"pfTabSelect")}get el(){return a(this)}value="";disabled=false;selected=false;variant="underline";size="md";fullWidth=false;icon;iconPlacement="start";count;badgePlacement="end";pfTabSelect;connectedCallback(){if(!this.el.hasAttribute("slot"))this.el.setAttribute("slot","tab")}handleClick(t){if(this.disabled){t.stopPropagation();return}this.pfTabSelect.emit({value:this.value})}handleKeyDown(t){if(!n(t.key)||this.disabled)return;t.preventDefault();this.pfTabSelect.emit({value:this.value})}render(){const t=this.icon?s("pf-icon",{key:"icon",class:"icon",part:"icon",name:this.icon,"aria-hidden":"true"}):null;const e=this.count===undefined?null:s("pf-badge",{key:"count",class:"count",part:"count",variant:"neutral"},this.count);return s(i,{key:"f9d5216db026a25bc8ee38d90dc146a1bfb33afa",role:"tab","aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":null},this.iconPlacement==="start"?t:null,this.badgePlacement==="start"?e:null,s("span",{key:"36ae347e9c8bf47eab5f071aef2068a40da1ca73",class:"label",part:"label"},s("slot",{key:"c70792d716dfacecd24eb466e7b4b7c729dd47e3"})),this.badgePlacement==="end"?e:null,this.iconPlacement==="end"?t:null)}};o.style=r();export{o as pf_tab};
|
|
2
|
+
//# sourceMappingURL=p-ac3fcb57.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfTabCss","PfTab","value","disabled","selected","variant","size","fullWidth","icon","iconPlacement","count","badgePlacement","pfTabSelect","connectedCallback","this","el","hasAttribute","setAttribute","handleClick","event","stopPropagation","emit","handleKeyDown","isActivationKey","key","preventDefault","render","h","class","part","name","undefined","Host","role"],"sources":["src/components/pf-tab/pf-tab.css?tag=pf-tab&encapsulation=shadow","src/components/pf-tab/pf-tab.tsx"],"sourcesContent":["/*\n * The host is the tab: it carries `role=\"tab\"`, takes the focus the group\n * hands it, and is the box the group measures for the indicator. So the\n * padding and the type scale live on `:host`, selected on the `variant` and\n * `size` attributes the group writes down.\n */\n:host {\n align-items: center;\n background: transparent;\n border: 0;\n color: var(--pf-tabs-text-muted);\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-2);\n min-width: 0;\n position: relative;\n transition: color var(--pf-transition-medium);\n user-select: none;\n white-space: nowrap;\n /* Above the shared indicator, which is a sibling inside the strip. */\n z-index: 1;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([size='sm']) {\n padding: var(--space-2) var(--space-3);\n}\n\n:host([size='md']) {\n padding: var(--pf-tabs-tab-padding-y-md) var(--pf-tabs-tab-padding-x-md);\n}\n\n:host([full-width]) {\n flex: 1;\n justify-content: center;\n}\n\n/* The indicator draws the underline; the transparent border holds the space. */\n:host([variant='underline']) {\n border-bottom: var(--pf-tabs-underline-width) solid transparent;\n margin-bottom: -1px;\n}\n\n:host([variant='pills']) {\n border-radius: var(--radius-sm);\n}\n\n:host(:hover:not([disabled])),\n:host([selected]),\n:host(:focus-visible) {\n color: var(--pf-tabs-text);\n}\n\n:host([disabled]) {\n cursor: not-allowed;\n opacity: 0.45;\n}\n\n:host(:focus-visible) {\n outline: 2px solid color-mix(in srgb, var(--pf-tabs-text) 32%, transparent);\n outline-offset: 2px;\n}\n\n/* Decorative, and inherits the tab's colour. */\n.icon {\n flex-shrink: 0;\n font-size: 1em;\n}\n\n/* Smaller than a default badge, and colour-neutral so it reads in both states. */\n.count {\n flex-shrink: 0;\n font-size: var(--font-size-xs);\n min-height: 18px;\n padding: 0 var(--space-2);\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host {\n transition: none;\n }\n}\n","import { isActivationKey } from '@pitchfork-ui/core';\nimport { Component, Element, Event, EventEmitter, h, Host, Listen, Prop } from '@stencil/core';\n\nimport type { PfTabsSize, PfTabsVariant } from '../pf-tabs/pf-tabs';\n\nexport type PfTabPlacement = 'start' | 'end';\n\n/**\n * One tab inside a `pf-tabs`.\n *\n * It only reports that it was chosen; the group owns the selection, the single\n * tab stop and the id wiring — the same division as `pf-radio-group` with its\n * radios and `pf-select` with its options. The group writes `selected`,\n * `variant`, `size` and `full-width` back onto it, so the stylesheet has\n * reflected attributes to select on without the tab knowing anything about its\n * container.\n *\n * The host is the `tab` itself rather than a wrapper around a button, so it is\n * the element the group focuses and the one `aria-controls` points from.\n *\n * @slot - the tab's label.\n * @part label - the label's box.\n * @part icon - the decorative icon, when `icon` is set.\n * @part count - the count badge, when `count` is set.\n */\n@Component({\n tag: 'pf-tab',\n styleUrl: 'pf-tab.css',\n shadow: true,\n})\nexport class PfTab {\n @Element() el!: HTMLElement;\n\n /**\n * Identifies the tab, and pairs it with the `pf-tab-panel` carrying the same\n * value.\n *\n * Reflected because the generated bindings set props as *properties*: an\n * unreflected prop leaves no attribute, and anything selecting on one — a\n * consumer's stylesheet, or a test — finds nothing.\n */\n @Prop({ reflect: true }) value = '';\n\n /** Reflected; the stylesheet and the group's own filtering both read it. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Set by the group. Reflected, so the stylesheet can mark the tab. */\n @Prop({ mutable: true, reflect: true }) selected = false;\n\n /** Set by the group from its own `variant`. Reflected for the stylesheet. */\n @Prop({ mutable: true, reflect: true }) variant: PfTabsVariant = 'underline';\n\n /** Set by the group from its own `size`. Reflected for the stylesheet. */\n @Prop({ mutable: true, reflect: true }) size: PfTabsSize = 'md';\n\n /** Set by the group from its own `fullWidth`. Reflected for the stylesheet. */\n @Prop({ mutable: true, reflect: true }) fullWidth = false;\n\n /** A decorative icon's name, from the same registry as `pf-icon`. */\n @Prop() icon?: string;\n\n /** Which side of the label the icon sits on. */\n @Prop() iconPlacement: PfTabPlacement = 'start';\n\n /**\n * A count rendered as a badge beside the label (GitHub-style, \"Issues 12\").\n * It is left in the tab's accessible name, so a screen reader announces it.\n * `0` shows a zero; omitting the prop shows no badge at all.\n */\n @Prop() count?: number;\n\n /** Which side of the label the count badge sits on. */\n @Prop() badgePlacement: PfTabPlacement = 'end';\n\n /** Asks the group to select this tab. The group decides. */\n @Event() pfTabSelect!: EventEmitter<{ value: string }>;\n\n /**\n * Puts itself in the group's `tab` slot.\n *\n * So that a consumer can write one `pf-tab` and one `pf-tab-panel` per item\n * — interleaved, which is what a loop over data produces — and still have\n * the tabs land in the strip and the panels in the stack below it. A slot\n * the consumer set themselves is left alone, so the explicit spelling keeps\n * working.\n *\n * Assigning `slot` moves the node between slots, which fires `slotchange` on\n * both; writing the same value again is not a mutation, so this does not\n * loop.\n */\n connectedCallback() {\n if (!this.el.hasAttribute('slot')) this.el.setAttribute('slot', 'tab');\n }\n\n @Listen('click')\n handleClick(event: MouseEvent) {\n if (this.disabled) {\n // Swallowed rather than left for the group to read as a selection.\n event.stopPropagation();\n return;\n }\n this.pfTabSelect.emit({ value: this.value });\n }\n\n /**\n * Enter and Space select, as they do on a tab. The arrows are the group's:\n * only it knows the other tabs.\n *\n * `preventDefault` because the host is a focusable element rather than a\n * button, so Space would scroll the page instead.\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (!isActivationKey(event.key) || this.disabled) return;\n event.preventDefault();\n this.pfTabSelect.emit({ value: this.value });\n }\n\n render() {\n const icon = this.icon ? (\n <pf-icon key=\"icon\" class=\"icon\" part=\"icon\" name={this.icon} aria-hidden=\"true\"></pf-icon>\n ) : null;\n const count =\n this.count === undefined ? null : (\n <pf-badge key=\"count\" class=\"count\" part=\"count\" variant=\"neutral\">\n {this.count}\n </pf-badge>\n );\n\n return (\n <Host\n role=\"tab\"\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : null}\n >\n {this.iconPlacement === 'start' ? icon : null}\n {this.badgePlacement === 'start' ? count : null}\n <span class=\"label\" part=\"label\">\n <slot />\n </span>\n {this.badgePlacement === 'end' ? count : null}\n {this.iconPlacement === 'end' ? icon : null}\n </Host>\n );\n }\n}\n"],"mappings":"+FAAA,MAAMA,EAAW,IAAM,grC,MC8BVC,EAAK,M,wFAWSC,MAAQ,GAGRC,SAAW,MAGIC,SAAW,MAGXC,QAAyB,YAGzBC,KAAmB,KAGnBC,UAAY,MAG5CC,KAGAC,cAAgC,QAOhCC,MAGAC,eAAiC,MAGhCC,YAeT,iBAAAC,GACE,IAAKC,KAAKC,GAAGC,aAAa,QAASF,KAAKC,GAAGE,aAAa,OAAQ,M,CAIlE,WAAAC,CAAYC,GACV,GAAIL,KAAKX,SAAU,CAEjBgB,EAAMC,kBACN,M,CAEFN,KAAKF,YAAYS,KAAK,CAAEnB,MAAOY,KAAKZ,O,CAWtC,aAAAoB,CAAcH,GACZ,IAAKI,EAAgBJ,EAAMK,MAAQV,KAAKX,SAAU,OAClDgB,EAAMM,iBACNX,KAAKF,YAAYS,KAAK,CAAEnB,MAAOY,KAAKZ,O,CAGtC,MAAAwB,GACE,MAAMlB,EAAOM,KAAKN,KAChBmB,EAAA,WAASH,IAAI,OAAOI,MAAM,OAAOC,KAAK,OAAOC,KAAMhB,KAAKN,KAAI,cAAc,SACxE,KACJ,MAAME,EACJI,KAAKJ,QAAUqB,UAAY,KACzBJ,EAAA,YAAUH,IAAI,QAAQI,MAAM,QAAQC,KAAK,QAAQxB,QAAQ,WACtDS,KAAKJ,OAIZ,OACEiB,EAACK,EAAI,CAAAR,IAAA,2CACHS,KAAK,MAAK,gBACKnB,KAAKV,SAAW,OAAS,QAAO,gBAChCU,KAAKX,SAAW,OAAS,MAEvCW,KAAKL,gBAAkB,QAAUD,EAAO,KACxCM,KAAKH,iBAAmB,QAAUD,EAAQ,KAC3CiB,EAAA,QAAAH,IAAA,2CAAMI,MAAM,QAAQC,KAAK,SACvBF,EAAA,QAAAH,IAAA,8CAEDV,KAAKH,iBAAmB,MAAQD,EAAQ,KACxCI,KAAKL,gBAAkB,MAAQD,EAAO,K","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as i}from"./p-Bm6UxEit.js";import{a as s}from"./p-B8ulhYUJ.js";const o=()=>`:host{display:inline-flex}:host([hidden]){display:none}kbd{align-items:center;background:var(--pf-kbd-bg);border:1px solid var(--pf-kbd-border);border-bottom-width:2px;border-radius:var(--radius-sm);color:var(--pf-kbd-text);display:inline-flex;font-family:var(--font-family-mono, ui-monospace, monospace);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}:host([size='md']) kbd{font-size:var(--font-size-xs);min-width:1.5em;padding:3px 6px}:host([size='sm']) kbd{font-size:var(--font-size-2xs);min-width:1.35em;padding:2px 5px}`;const t=class{constructor(i){e(this,i)}keys;size="md";separator="+";render(){const e=this.keys?.length?s(this.keys,this.separator):null;return i("kbd",{key:"dc9375fb271fa1b60e81c39ec69effd38c7e5723",part:"kbd"},e??i("slot",{key:"280a222509ba677e5ce6ad2afe99306a5a2bda09"}))}};t.style=o();export{t as pf_kbd};
|
|
2
|
+
//# sourceMappingURL=p-ad93b614.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfKbdCss","PfKbd","keys","size","separator","render","combination","this","length","formatKeyCombination","h","key","part"],"sources":["src/components/pf-kbd/pf-kbd.css?tag=pf-kbd&encapsulation=shadow","src/components/pf-kbd/pf-kbd.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n}\n\n:host([hidden]) {\n display: none;\n}\n\nkbd {\n align-items: center;\n background: var(--pf-kbd-bg);\n border: 1px solid var(--pf-kbd-border);\n border-bottom-width: 2px;\n border-radius: var(--radius-sm);\n color: var(--pf-kbd-text);\n display: inline-flex;\n font-family: var(--font-family-mono, ui-monospace, monospace);\n font-weight: var(--font-weight-medium);\n line-height: 1;\n white-space: nowrap;\n}\n\n:host([size='md']) kbd {\n font-size: var(--font-size-xs);\n min-width: 1.5em;\n padding: 3px 6px;\n}\n\n:host([size='sm']) kbd {\n font-size: var(--font-size-2xs);\n min-width: 1.35em;\n padding: 2px 5px;\n}\n","import { formatKeyCombination } from '@pitchfork-ui/core';\nimport { Component, h, Prop } from '@stencil/core';\n\nexport type PfKbdSize = 'sm' | 'md';\n\n/**\n * A keyboard key or a combination of them, as `<kbd>` elements.\n *\n * `keys` renders one cap per entry with separators between; a single key can\n * be slotted instead.\n *\n * @slot - a single key, when `keys` is not given.\n * @part kbd - the native kbd element.\n */\n@Component({\n tag: 'pf-kbd',\n styleUrl: 'pf-kbd.css',\n shadow: true,\n})\nexport class PfKbd {\n /** A key combination rendered as one cap, e.g. `[\"⌘\", \"K\"]`. */\n @Prop() keys?: string[];\n\n @Prop({ reflect: true }) size: PfKbdSize = 'md';\n\n /** Separator between keys in a combination. Defaults to `+`. */\n @Prop() separator = '+';\n\n render() {\n const combination = this.keys?.length ? formatKeyCombination(this.keys, this.separator) : null;\n\n return <kbd part=\"kbd\">{combination ?? <slot />}</kbd>;\n }\n}\n"],"mappings":"+EAAA,MAAMA,EAAW,IAAM,uiB,MCmBVC,EAAK,M,yBAERC,KAEiBC,KAAkB,KAGnCC,UAAY,IAEpB,MAAAC,GACE,MAAMC,EAAcC,KAAKL,MAAMM,OAASC,EAAqBF,KAAKL,KAAMK,KAAKH,WAAa,KAE1F,OAAOM,EAAA,OAAAC,IAAA,2CAAKC,KAAK,OAAON,GAAeI,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as a,c as t,h as e,H as i}from"./p-Bm6UxEit.js";function n(a,t){if(!(t>0))return 1;return Math.min(Math.max(a,1),t)}function s(a,t,e,i){const s=Math.max(t,1);const o=n(a,s);const r=Math.max(e,0);const p=Math.max(i,0);const c=new Set;const l=a=>{if(a>=1&&a<=s)c.add(a)};for(let a=1;a<=Math.min(p,s);a+=1)l(a);for(let a=s-p+1;a<=s;a+=1)l(a);for(let a=o-r;a<=o+r;a+=1)l(a);const d=[...c].sort(((a,t)=>a-t));for(let a=0;a<d.length-1;a+=1)if(d[a+1]-d[a]===2)l(d[a]+1);if(d[0]===2)l(1);if(d[d.length-1]===s-1)l(s);const f=[...c].sort(((a,t)=>a-t));const g=[];const h=a=>a<=o?"ellipsis-left":"ellipsis-right";if(f.length>0&&f[0]>1)g.push(h(f[0]));for(let a=0;a<f.length;a+=1){g.push(f[a]);const t=f[a+1];if(t!==void 0&&t-f[a]>1)g.push(h(t))}if(f.length>0&&f[f.length-1]<s)g.push("ellipsis-right");return g.length>0?g:[1]}const o=()=>`:host{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}:host([hidden]){display:none}@media (min-width: 640px){:host{gap:var(--space-3)}}:host([disabled]){opacity:0.65}.list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;list-style:none;margin:0;padding:0}.page,.nav{align-items:center;background:var(--pf-pagination-bg);border:1px solid var(--pf-pagination-border);border-radius:var(--radius-md);color:var(--pf-pagination-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:center;line-height:1;transition:box-shadow 140ms ease}.page{height:var(--pf-pagination-page-size);min-width:var(--pf-pagination-page-size);padding:0 var(--space-2);transition:none}.nav{height:var(--pf-control-height-sm);min-width:var(--pf-control-height-sm);padding:0 var(--space-2)}@media (min-width: 640px){.nav{padding:0 var(--space-3)}}.page:hover,.nav:hover{border-color:var(--pf-pagination-active-border)}.page:focus-visible,.nav:focus-visible{box-shadow:var(--pf-focus-ring);outline:none}.page--active{background:var(--pf-pagination-active-bg);border-color:var(--pf-pagination-active-border);color:var(--pf-pagination-active-text)}.page--active:hover{background:var(--pf-pagination-active-hover-bg)}.page:disabled,.nav:disabled{cursor:not-allowed;opacity:0.5}.ellipsis{color:var(--pf-pagination-text-muted);display:inline-flex;font-size:var(--font-size-sm);justify-content:center;min-width:20px}@media (prefers-reduced-motion: reduce){.page,.nav{transition:none}}`;const r=class{constructor(e){a(this,e);this.pfPageChange=t(this,"pfPageChange")}page=1;totalPages=1;siblingCount=1;boundaryCount=1;showPrevNext=true;disabled=false;label="Pagination";pfPageChange;goTo(a){if(this.disabled)return;const t=n(a,Math.max(this.totalPages,1));if(t===this.page)return;this.page=t;this.pfPageChange.emit({page:t})}render(){const a=Math.max(this.totalPages,1);const t=n(this.page,a);const o=s(t,a,this.siblingCount,this.boundaryCount);return e(i,{key:"7ddd3d35eb175a4ccedbebdbd75dba3046c94a01",role:"navigation","aria-label":this.label},this.showPrevNext&&e("button",{key:"c6ca9616468f6880fe2122f6f528faa26e43393a",class:"nav",part:"nav previous",type:"button",disabled:this.disabled||t<=1,onClick:()=>this.goTo(t-1)},e("slot",{key:"af06d4de8bc34089517c2aad15b8b08c8822743c",name:"previous"},"Previous")),e("ol",{key:"f82b6a3700a50ea0dad8d4416940428955a06c8f",class:"list",part:"list"},o.map(((a,i)=>typeof a==="number"?e("li",{key:a},e("button",{class:{page:true,"page--active":a===t},part:a===t?"page current":"page",type:"button",disabled:this.disabled,"aria-current":a===t?"page":null,onClick:()=>this.goTo(a)},a)):e("li",{key:`${a}-${i}`,class:"ellipsis",part:"ellipsis","aria-hidden":"true"},"...")))),this.showPrevNext&&e("button",{key:"7d6f1907a2b8ffd6cf8bfab1bc77f044d784bb94",class:"nav",part:"nav next",type:"button",disabled:this.disabled||t>=a,onClick:()=>this.goTo(t+1)},e("slot",{key:"5886d2d27c67b79f399e1bac4359a2cf3876c6c2",name:"next"},"Next")))}};r.style=o();export{r as pf_pagination};
|
|
2
|
+
//# sourceMappingURL=p-ae5fd08e.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clampPage","page","totalPages","Math","min","max","getPaginationItems","currentPage","siblingCount","boundaryCount","safeTotal","safeCurrent","safeSiblingCount","safeBoundaryCount","shown","Set","add","pages","sort","a","b","index","length","finalPages","items","gapFor","nextPage","push","next","pfPaginationCss","PfPagination","showPrevNext","disabled","label","pfPageChange","goTo","this","clamped","emit","render","total","current","h","Host","key","role","class","part","type","onClick","name","map","item"],"sources":["../core/dist/pagination.js","src/components/pf-pagination/pf-pagination.css?tag=pf-pagination&encapsulation=shadow","src/components/pf-pagination/pf-pagination.tsx"],"sourcesContent":["//#region src/pagination.ts\n/**\n* Keep `page` inside 1..totalPages. A total of zero or less has no page to\n* land on, so it reports page 1 — a pager always shows something.\n*/\nfunction clampPage(page, totalPages) {\n\tif (!(totalPages > 0)) return 1;\n\treturn Math.min(Math.max(page, 1), totalPages);\n}\n/**\n* The run of items to render: `boundaryCount` pages pinned at each end,\n* `siblingCount` pages either side of the current one, and an ellipsis\n* wherever that leaves pages genuinely hidden.\n*\n* Built by collecting the pages to show and then walking them, rather than by\n* placing gaps from the window's indexes. The index version got two cases\n* wrong, both of which this shape cannot express:\n*\n* - **A gap standing for nothing.** At 1 of 6 with `boundaryCount: 3` the two\n* boundaries meet in the middle, and it still emitted `1 2 3 … 4 5 6` — an\n* ellipsis between two consecutive pages, because it compared the window\n* against the boundary edges rather than asking which pages were actually\n* missing.\n* - **A gap hiding exactly one page.** An ellipsis costs the same room as the\n* page it stands for and says less, so `1 … 3 4 5 … 7` is strictly worse\n* than `1 2 3 4 5 6 7`. A single-page hole is filled instead.\n*\n* The `[1]` fallback at the end is insurance, not a path: the window always\n* contains the clamped current page, so `shown` is never empty. It stays\n* because a pager with no buttons would read as broken.\n*/\nfunction getPaginationItems(currentPage, totalPages, siblingCount, boundaryCount) {\n\tconst safeTotal = Math.max(totalPages, 1);\n\tconst safeCurrent = clampPage(currentPage, safeTotal);\n\tconst safeSiblingCount = Math.max(siblingCount, 0);\n\tconst safeBoundaryCount = Math.max(boundaryCount, 0);\n\tconst shown = /* @__PURE__ */ new Set();\n\tconst add = (page) => {\n\t\tif (page >= 1 && page <= safeTotal) shown.add(page);\n\t};\n\tfor (let page = 1; page <= Math.min(safeBoundaryCount, safeTotal); page += 1) add(page);\n\tfor (let page = safeTotal - safeBoundaryCount + 1; page <= safeTotal; page += 1) add(page);\n\tfor (let page = safeCurrent - safeSiblingCount; page <= safeCurrent + safeSiblingCount; page += 1) add(page);\n\tconst pages = [...shown].sort((a, b) => a - b);\n\tfor (let index = 0; index < pages.length - 1; index += 1) if (pages[index + 1] - pages[index] === 2) add(pages[index] + 1);\n\tif (pages[0] === 2) add(1);\n\tif (pages[pages.length - 1] === safeTotal - 1) add(safeTotal);\n\tconst finalPages = [...shown].sort((a, b) => a - b);\n\tconst items = [];\n\tconst gapFor = (nextPage) => nextPage <= safeCurrent ? \"ellipsis-left\" : \"ellipsis-right\";\n\tif (finalPages.length > 0 && finalPages[0] > 1) items.push(gapFor(finalPages[0]));\n\tfor (let index = 0; index < finalPages.length; index += 1) {\n\t\titems.push(finalPages[index]);\n\t\tconst next = finalPages[index + 1];\n\t\tif (next !== void 0 && next - finalPages[index] > 1) items.push(gapFor(next));\n\t}\n\tif (finalPages.length > 0 && finalPages[finalPages.length - 1] < safeTotal) items.push(\"ellipsis-right\");\n\treturn items.length > 0 ? items : [1];\n}\n//#endregion\nexport { clampPage, getPaginationItems };\n",":host {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-2);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n@media (--sm) {\n :host {\n gap: var(--space-3);\n }\n}\n\n:host([disabled]) {\n opacity: 0.65;\n}\n\n.list {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-2);\n justify-content: center;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.page,\n.nav {\n align-items: center;\n background: var(--pf-pagination-bg);\n border: 1px solid var(--pf-pagination-border);\n border-radius: var(--radius-md);\n color: var(--pf-pagination-text);\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 justify-content: center;\n line-height: 1;\n transition: box-shadow 140ms ease;\n}\n\n.page {\n height: var(--pf-pagination-page-size);\n min-width: var(--pf-pagination-page-size);\n padding: 0 var(--space-2);\n transition: none;\n}\n\n.nav {\n height: var(--pf-control-height-sm);\n min-width: var(--pf-control-height-sm);\n padding: 0 var(--space-2);\n}\n\n@media (--sm) {\n .nav {\n padding: 0 var(--space-3);\n }\n}\n\n.page:hover,\n.nav:hover {\n border-color: var(--pf-pagination-active-border);\n}\n\n.page:focus-visible,\n.nav:focus-visible {\n box-shadow: var(--pf-focus-ring);\n outline: none;\n}\n\n.page--active {\n background: var(--pf-pagination-active-bg);\n border-color: var(--pf-pagination-active-border);\n color: var(--pf-pagination-active-text);\n}\n\n.page--active:hover {\n background: var(--pf-pagination-active-hover-bg);\n}\n\n.page:disabled,\n.nav:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.ellipsis {\n color: var(--pf-pagination-text-muted);\n display: inline-flex;\n font-size: var(--font-size-sm);\n justify-content: center;\n min-width: 20px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .page,\n .nav {\n transition: none;\n }\n}\n","import { clampPage, getPaginationItems } from '@pitchfork-ui/core';\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\n/**\n * A pager: boundary pages pinned at each end, a window around the current\n * page, and an ellipsis wherever that leaves a gap.\n *\n * Controlled or not, like `pf-input`: `page` is mutable, so leaving it alone\n * lets the element advance itself, and setting it on every `pfPageChange`\n * keeps the consumer in charge.\n *\n * @slot previous - the previous button's label. Defaults to \"Previous\".\n * @slot next - the next button's label. Defaults to \"Next\".\n * @part nav - either of the previous/next buttons.\n * @part previous - the previous button.\n * @part next - the next button.\n * @part list - the ordered list of pages.\n * @part page - each page button.\n * @part current - the page button for the current page.\n * @part ellipsis - each gap.\n */\n@Component({\n tag: 'pf-pagination',\n styleUrl: 'pf-pagination.css',\n shadow: true,\n})\nexport class PfPagination {\n /** The current page, 1-based. Mutable so the element can advance itself. */\n @Prop({ mutable: true }) page = 1;\n\n /** How many pages there are in total. */\n @Prop() totalPages = 1;\n\n /** Pages to show either side of the current one. */\n @Prop() siblingCount = 1;\n\n /** Pages to pin at each end. */\n @Prop() boundaryCount = 1;\n\n /** Show the previous/next buttons. Reflected for the stylesheet. */\n @Prop({ reflect: true }) showPrevNext = true;\n\n /** Disable every button. Reflected for the stylesheet. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Accessible name for the navigation landmark. */\n @Prop() label = 'Pagination';\n\n /** Emitted with the page the user asked for, already clamped to the range. */\n @Event() pfPageChange!: EventEmitter<{ page: number }>;\n\n private goTo(next: number) {\n if (this.disabled) return;\n\n const clamped = clampPage(next, Math.max(this.totalPages, 1));\n if (clamped === this.page) return;\n\n this.page = clamped;\n this.pfPageChange.emit({ page: clamped });\n }\n\n render() {\n const total = Math.max(this.totalPages, 1);\n // Both layers go through core, so the same inputs offer the same pages.\n const current = clampPage(this.page, total);\n const items = getPaginationItems(current, total, this.siblingCount, this.boundaryCount);\n\n return (\n <Host role=\"navigation\" aria-label={this.label}>\n {this.showPrevNext && (\n <button\n class=\"nav\"\n part=\"nav previous\"\n type=\"button\"\n disabled={this.disabled || current <= 1}\n onClick={() => this.goTo(current - 1)}\n >\n {/*\n Slot fallback is the web-component answer to React's\n `prevLabel = 'Previous'` default: the consumer overrides it by\n slotting something, and gets the text if they do not.\n */}\n <slot name=\"previous\">Previous</slot>\n </button>\n )}\n\n <ol class=\"list\" part=\"list\">\n {items.map((item, index) =>\n typeof item === 'number' ? (\n <li key={item}>\n <button\n class={{ page: true, 'page--active': item === current }}\n part={item === current ? 'page current' : 'page'}\n type=\"button\"\n disabled={this.disabled}\n aria-current={item === current ? 'page' : null}\n onClick={() => this.goTo(item)}\n >\n {item}\n </button>\n </li>\n ) : (\n // The gap is decorative: a screen reader walking the list gets\n // the page numbers, and \"...\" would only interrupt them.\n <li key={`${item}-${index}`} class=\"ellipsis\" part=\"ellipsis\" aria-hidden=\"true\">\n ...\n </li>\n ),\n )}\n </ol>\n\n {this.showPrevNext && (\n <button\n class=\"nav\"\n part=\"nav next\"\n type=\"button\"\n disabled={this.disabled || current >= total}\n onClick={() => this.goTo(current + 1)}\n >\n <slot name=\"next\">Next</slot>\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"yDAKA,SAASA,EAAUC,EAAMC,GACxB,KAAMA,EAAa,GAAI,OAAO,EAC9B,OAAOC,KAAKC,IAAID,KAAKE,IAAIJ,EAAM,GAAIC,EACpC,CAuBA,SAASI,EAAmBC,EAAaL,EAAYM,EAAcC,GAClE,MAAMC,EAAYP,KAAKE,IAAIH,EAAY,GACvC,MAAMS,EAAcX,EAAUO,EAAaG,GAC3C,MAAME,EAAmBT,KAAKE,IAAIG,EAAc,GAChD,MAAMK,EAAoBV,KAAKE,IAAII,EAAe,GAClD,MAAMK,EAAwB,IAAIC,IAClC,MAAMC,EAAOf,IACZ,GAAIA,GAAQ,GAAKA,GAAQS,EAAWI,EAAME,IAAIf,EAAK,EAEpD,IAAK,IAAIA,EAAO,EAAGA,GAAQE,KAAKC,IAAIS,EAAmBH,GAAYT,GAAQ,EAAGe,EAAIf,GAClF,IAAK,IAAIA,EAAOS,EAAYG,EAAoB,EAAGZ,GAAQS,EAAWT,GAAQ,EAAGe,EAAIf,GACrF,IAAK,IAAIA,EAAOU,EAAcC,EAAkBX,GAAQU,EAAcC,EAAkBX,GAAQ,EAAGe,EAAIf,GACvG,MAAMgB,EAAQ,IAAIH,GAAOI,MAAK,CAACC,EAAGC,IAAMD,EAAIC,IAC5C,IAAK,IAAIC,EAAQ,EAAGA,EAAQJ,EAAMK,OAAS,EAAGD,GAAS,EAAG,GAAIJ,EAAMI,EAAQ,GAAKJ,EAAMI,KAAW,EAAGL,EAAIC,EAAMI,GAAS,GACxH,GAAIJ,EAAM,KAAO,EAAGD,EAAI,GACxB,GAAIC,EAAMA,EAAMK,OAAS,KAAOZ,EAAY,EAAGM,EAAIN,GACnD,MAAMa,EAAa,IAAIT,GAAOI,MAAK,CAACC,EAAGC,IAAMD,EAAIC,IACjD,MAAMI,EAAQ,GACd,MAAMC,EAAUC,GAAaA,GAAYf,EAAc,gBAAkB,iBACzE,GAAIY,EAAWD,OAAS,GAAKC,EAAW,GAAK,EAAGC,EAAMG,KAAKF,EAAOF,EAAW,KAC7E,IAAK,IAAIF,EAAQ,EAAGA,EAAQE,EAAWD,OAAQD,GAAS,EAAG,CAC1DG,EAAMG,KAAKJ,EAAWF,IACtB,MAAMO,EAAOL,EAAWF,EAAQ,GAChC,GAAIO,SAAS,GAAUA,EAAOL,EAAWF,GAAS,EAAGG,EAAMG,KAAKF,EAAOG,GACzE,CACC,GAAIL,EAAWD,OAAS,GAAKC,EAAWA,EAAWD,OAAS,GAAKZ,EAAWc,EAAMG,KAAK,kBACvF,OAAOH,EAAMF,OAAS,EAAIE,EAAQ,CAAC,EACpC,CC1DA,MAAMK,EAAkB,IAAM,+jD,MC0BjBC,EAAY,M,kEAEE7B,KAAO,EAGxBC,WAAa,EAGbM,aAAe,EAGfC,cAAgB,EAGCsB,aAAe,KAGfC,SAAW,MAG5BC,MAAQ,aAGPC,aAED,IAAAC,CAAKP,GACX,GAAIQ,KAAKJ,SAAU,OAEnB,MAAMK,EAAUrC,EAAU4B,EAAMzB,KAAKE,IAAI+B,KAAKlC,WAAY,IAC1D,GAAImC,IAAYD,KAAKnC,KAAM,OAE3BmC,KAAKnC,KAAOoC,EACZD,KAAKF,aAAaI,KAAK,CAAErC,KAAMoC,G,CAGjC,MAAAE,GACE,MAAMC,EAAQrC,KAAKE,IAAI+B,KAAKlC,WAAY,GAExC,MAAMuC,EAAUzC,EAAUoC,KAAKnC,KAAMuC,GACrC,MAAMhB,EAAQlB,EAAmBmC,EAASD,EAAOJ,KAAK5B,aAAc4B,KAAK3B,eAEzE,OACEiC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,aAAY,aAAaT,KAAKH,OACtCG,KAAKL,cACJW,EAAA,UAAAE,IAAA,2CACEE,MAAM,MACNC,KAAK,eACLC,KAAK,SACLhB,SAAUI,KAAKJ,UAAYS,GAAW,EACtCQ,QAAS,IAAMb,KAAKD,KAAKM,EAAU,IAOnCC,EAAA,QAAAE,IAAA,2CAAMM,KAAK,YAAU,aAIzBR,EAAA,MAAAE,IAAA,2CAAIE,MAAM,OAAOC,KAAK,QACnBvB,EAAM2B,KAAI,CAACC,EAAM/B,WACT+B,IAAS,SACdV,EAAA,MAAIE,IAAKQ,GACPV,EAAA,UACEI,MAAO,CAAE7C,KAAM,KAAM,eAAgBmD,IAASX,GAC9CM,KAAMK,IAASX,EAAU,eAAiB,OAC1CO,KAAK,SACLhB,SAAUI,KAAKJ,SAAQ,eACToB,IAASX,EAAU,OAAS,KAC1CQ,QAAS,IAAMb,KAAKD,KAAKiB,IAExBA,IAMLV,EAAA,MAAIE,IAAK,GAAGQ,KAAQ/B,IAASyB,MAAM,WAAWC,KAAK,WAAU,cAAa,QAAM,UAOrFX,KAAKL,cACJW,EAAA,UAAAE,IAAA,2CACEE,MAAM,MACNC,KAAK,WACLC,KAAK,SACLhB,SAAUI,KAAKJ,UAAYS,GAAWD,EACtCS,QAAS,IAAMb,KAAKD,KAAKM,EAAU,IAEnCC,EAAA,QAAAE,IAAA,2CAAMM,KAAK,QAAM,S","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as i,c as e,a as n,h as t,H as a}from"./p-Bm6UxEit.js";const o=()=>`:host{align-items:flex-start;background:var(--pf-inline-cta-bg);border:1px solid var(--pf-inline-cta-border);border-radius:var(--radius-md);display:grid;gap:var(--space-3);grid-template-columns:auto 1fr;padding:var(--space-3);position:relative}:host([hidden]){display:none}:host([dismissible]){padding-inline-end:var(--space-12)}@media (min-width: 768px){:host{align-items:center;grid-template-columns:auto 1fr auto}}.action.empty{display:none}.icon{align-items:center;color:var(--pf-inline-cta-text-muted);display:inline-flex;font-size:var(--font-size-md);justify-content:center}.content{display:grid;gap:2px;min-width:0}.heading{color:var(--pf-inline-cta-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}slot[name='description']::slotted(*){color:var(--pf-inline-cta-text-muted);display:block;font-size:var(--font-size-sm);margin:0}.action{align-items:center;display:inline-flex;gap:var(--space-2);grid-column:1 / -1;justify-content:flex-start}@media (min-width: 768px){.action{grid-column:auto;justify-content:initial}}.dismiss{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--pf-inline-cta-text-muted);cursor:pointer;display:inline-flex;height:28px;inset-inline-end:var(--space-3);justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:28px}.dismiss:hover,.dismiss:focus-visible{background:var(--pf-inline-cta-bg-subtle);color:var(--pf-inline-cta-text);outline:none}:host([exiting]){animation:pf-inline-cta-out var(--duration-moderate) var(--easing-accelerate) forwards;overflow:hidden;pointer-events:none}@keyframes pf-inline-cta-out{from{opacity:1;max-height:480px}to{margin-bottom:0;margin-top:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0}}@media (prefers-reduced-motion: reduce){:host([exiting]){animation:none}}:host([tone='info']){background:color-mix(in srgb, var(--pf-inline-cta-info-bg) 70%, var(--pf-mix-base));border-color:var(--pf-inline-cta-info-border)}:host([tone='info']) .icon{color:var(--pf-inline-cta-info-icon)}:host([tone='info']) .heading{color:var(--pf-inline-cta-info-heading)}:host([tone='info']) slot[name='description']::slotted(*){color:var(--pf-inline-cta-info-description)}:host([tone='success']){background:color-mix(in srgb, var(--pf-inline-cta-success-bg) 55%, var(--pf-mix-base));border-color:var(--pf-inline-cta-success-border)}:host([tone='warning']){background:color-mix(in srgb, var(--pf-inline-cta-warning-bg) 60%, var(--pf-mix-base));border-color:var(--pf-inline-cta-warning-border)}:host([tone='danger']){background:color-mix(in srgb, var(--pf-inline-cta-danger-bg) 55%, var(--pf-mix-base));border-color:var(--pf-inline-cta-danger-border)}`;const s=class{constructor(n){i(this,n);this.pfDismiss=e(this,"pfDismiss")}get el(){return n(this)}tone="default";icon="circle-question";dismissible=false;dismissLabel="Dismiss";pfDismiss;exiting=false;hasIcon=false;hasAction=false;componentWillLoad(){this.read()}read=()=>{const i=i=>Array.from(this.el.children).some((e=>e.getAttribute("slot")===i));this.hasIcon=i("icon");this.hasAction=i("action")};async dismiss(){if(this.exiting)return;this.exiting=true;await new Promise((i=>requestAnimationFrame(i)));await this.waitForExit();this.pfDismiss.emit()}async waitForExit(){if(typeof this.el.getAnimations!=="function")return;const i=this.el.getAnimations().filter((i=>i.playState!=="finished"));if(i.length===0)return;await Promise.all(i.map((i=>i.finished.catch((()=>undefined)))))}render(){return t(a,{key:"6b8a8263476927209ca5c1c05f24e58a7dd777ec"},t("span",{key:"9cd6869009c50e63ee36c0c287f7aefe3c019ca5",class:"icon",part:"icon","aria-hidden":"true"},!this.hasIcon&&t("pf-icon",{key:"059bdd88a62913b71b1f3e1fa63b89ce2b574609",name:this.icon}),t("slot",{key:"d5993b4894092a586edce721e8016df0b9c4697c",name:"icon",onSlotchange:this.read})),t("div",{key:"1ef82a343a25cae1e912f4e01e8523c46930eeff",class:"content",part:"content"},t("p",{key:"e317f0f4205bfff48c40909bb6418dc3f5c97018",class:"heading",part:"heading"},t("slot",{key:"5f3a555de994165444e256fd1149a50ce941e7b2"})),t("slot",{key:"423e8b3c9cd45fd43c065f8bc11e7e0f2a5ff910",name:"description"})),t("div",{key:"6bdbddc484b7efe0262b5f4d263a235d3bcfc689",class:{action:true,empty:!this.hasAction},part:"action"},t("slot",{key:"0bb52dec765e6511209e2837c3c50d6aa63e0c63",name:"action",onSlotchange:this.read})),this.dismissible&&t("button",{key:"d8d54c43bc7a5641aba52637dcc641eadfd51c92",type:"button",class:"dismiss",part:"dismiss","aria-label":this.dismissLabel,onClick:()=>void this.dismiss()},t("pf-icon",{key:"4208ea0b4e6c99ed4025bdd2db2b1df2bcd8ef5c",name:"circle-xmark","aria-hidden":"true"})))}};s.style=o();export{s as pf_inline_cta};
|
|
2
|
+
//# sourceMappingURL=p-b26df5a0.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfInlineCtaCss","PfInlineCta","tone","icon","dismissible","dismissLabel","pfDismiss","exiting","hasIcon","hasAction","componentWillLoad","this","read","slotted","name","Array","from","el","children","some","child","getAttribute","dismiss","Promise","resolve","requestAnimationFrame","waitForExit","emit","getAnimations","running","filter","animation","playState","length","all","map","finished","catch","undefined","render","h","Host","key","class","part","onSlotchange","action","empty","type","onClick"],"sources":["src/components/pf-inline-cta/pf-inline-cta.css?tag=pf-inline-cta&encapsulation=shadow","src/components/pf-inline-cta/pf-inline-cta.tsx"],"sourcesContent":[":host {\n align-items: flex-start;\n background: var(--pf-inline-cta-bg);\n border: 1px solid var(--pf-inline-cta-border);\n border-radius: var(--radius-md);\n display: grid;\n gap: var(--space-3);\n grid-template-columns: auto 1fr;\n padding: var(--space-3);\n position: relative;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/* Room for the centred dismiss button, so the content does not crowd it. */\n:host([dismissible]) {\n padding-inline-end: var(--space-12);\n}\n\n@media (--md) {\n :host {\n align-items: center;\n grid-template-columns: auto 1fr auto;\n }\n}\n\n/* Two classes deep, because the box sets its own `display` below. */\n.action.empty {\n display: none;\n}\n\n.icon {\n align-items: center;\n color: var(--pf-inline-cta-text-muted);\n display: inline-flex;\n font-size: var(--font-size-md);\n justify-content: center;\n}\n\n.content {\n display: grid;\n gap: 2px;\n min-width: 0;\n}\n\n.heading {\n color: var(--pf-inline-cta-text);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n margin: 0;\n}\n\nslot[name='description']::slotted(*) {\n color: var(--pf-inline-cta-text-muted);\n display: block;\n font-size: var(--font-size-sm);\n margin: 0;\n}\n\n.action {\n align-items: center;\n display: inline-flex;\n gap: var(--space-2);\n grid-column: 1 / -1;\n justify-content: flex-start;\n}\n\n@media (--md) {\n .action {\n grid-column: auto;\n justify-content: initial;\n }\n}\n\n.dismiss {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: var(--radius-sm);\n color: var(--pf-inline-cta-text-muted);\n cursor: pointer;\n display: inline-flex;\n height: 28px;\n inset-inline-end: var(--space-3);\n justify-content: center;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n width: 28px;\n}\n\n.dismiss:hover,\n.dismiss:focus-visible {\n background: var(--pf-inline-cta-bg-subtle);\n color: var(--pf-inline-cta-text);\n outline: none;\n}\n\n/*\n * The exit fades and collapses, so the page reflows as it goes. Each element\n * needs its own copy of the keyframes: they do not cross a shadow boundary.\n */\n:host([exiting]) {\n animation: pf-inline-cta-out var(--duration-moderate) var(--easing-accelerate) forwards;\n overflow: hidden;\n pointer-events: none;\n}\n\n@keyframes pf-inline-cta-out {\n from {\n opacity: 1;\n max-height: 480px;\n }\n to {\n margin-bottom: 0;\n margin-top: 0;\n max-height: 0;\n opacity: 0;\n padding-bottom: 0;\n padding-top: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host([exiting]) {\n animation: none;\n }\n}\n\n:host([tone='info']) {\n background: color-mix(in srgb, var(--pf-inline-cta-info-bg) 70%, var(--pf-mix-base));\n border-color: var(--pf-inline-cta-info-border);\n}\n\n/*\n * Only `info` tints its text in the React component, so only `info` does here\n * -- faithful rather than tidied, because changing the other three is a design\n * decision and not part of a port.\n */\n:host([tone='info']) .icon {\n color: var(--pf-inline-cta-info-icon);\n}\n\n:host([tone='info']) .heading {\n color: var(--pf-inline-cta-info-heading);\n}\n\n:host([tone='info']) slot[name='description']::slotted(*) {\n color: var(--pf-inline-cta-info-description);\n}\n\n:host([tone='success']) {\n background: color-mix(in srgb, var(--pf-inline-cta-success-bg) 55%, var(--pf-mix-base));\n border-color: var(--pf-inline-cta-success-border);\n}\n\n:host([tone='warning']) {\n background: color-mix(in srgb, var(--pf-inline-cta-warning-bg) 60%, var(--pf-mix-base));\n border-color: var(--pf-inline-cta-warning-border);\n}\n\n:host([tone='danger']) {\n background: color-mix(in srgb, var(--pf-inline-cta-danger-bg) 55%, var(--pf-mix-base));\n border-color: var(--pf-inline-cta-danger-border);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\n\nexport type PfInlineCtaTone = 'default' | 'info' | 'success' | 'warning' | 'danger';\n\n/**\n * A prompt in the flow of a page: an icon, a line or two, something to do, and\n * optionally a way to send it away.\n *\n * Dismissal waits on `Animation.finished` rather than a timeout. The React\n * `useExitAnimation` guesses 220ms and calls back then, which is wrong twice\n * over: it fires too early or too late if the stylesheet's duration changes,\n * and it fires at all when nothing animated. Reading `getAnimations()` after a\n * frame answers both — the same arrangement `pf-notification.dismiss()` uses,\n * and for the same measured reason: an `animationend` listener never fires\n * when no animation started, which is the ordinary case under\n * `prefers-reduced-motion` or with the stylesheet unloaded.\n *\n * @slot - the heading.\n * @slot description - a line below the heading.\n * @slot action - what to do about it, usually a button.\n * @slot icon - an icon, in place of the `icon` name.\n * @part icon - the icon's box.\n * @part heading - the heading's box.\n * @part content - the box holding the heading and the description.\n * @part action - the box holding the action slot.\n * @part dismiss - the dismiss button, when `dismissible` is set.\n */\n@Component({\n tag: 'pf-inline-cta',\n styleUrl: 'pf-inline-cta.css',\n shadow: true,\n})\nexport class PfInlineCta {\n @Element() el!: HTMLElement;\n\n /** Colour treatment. Reflected so the stylesheet can select on it. */\n @Prop({ reflect: true }) tone: PfInlineCtaTone = 'default';\n\n /** An icon name from the same registry as `pf-icon`. */\n @Prop() icon = 'circle-question';\n\n /** Offer a dismiss button. Reflected: it changes the padding. */\n @Prop({ reflect: true }) dismissible = false;\n\n /** The dismiss button's accessible name. */\n @Prop() dismissLabel = 'Dismiss';\n\n /** Fires once the prompt has finished leaving. */\n @Event() pfDismiss!: EventEmitter<void>;\n\n /** Whether the exit animation is running. Reflected for the stylesheet. */\n @Prop({ mutable: true, reflect: true }) exiting = false;\n\n /** Whether anything is slotted into the boxes that carry layout. */\n @State() hasIcon = false;\n @State() hasAction = false;\n\n /** Read from the light DOM, so first paint is right without `slotchange`. */\n componentWillLoad() {\n this.read();\n }\n\n private read = () => {\n const slotted = (name: string) =>\n Array.from(this.el.children).some((child) => child.getAttribute('slot') === name);\n\n this.hasIcon = slotted('icon');\n this.hasAction = slotted('action');\n };\n\n /**\n * Plays the exit animation and resolves once it has finished, then reports.\n *\n * `getAnimations()` read after a frame, so the class the stylesheet animates\n * has landed; an empty list resolves at once, which is what makes this\n * correct with no stylesheet, under `prefers-reduced-motion`, and in both\n * test projects.\n */\n @Method()\n async dismiss(): Promise<void> {\n if (this.exiting) return;\n this.exiting = true;\n\n // A frame, so the reflected `exiting` attribute has landed and the\n // animation it starts has actually been created.\n await new Promise((resolve) => requestAnimationFrame(resolve));\n await this.waitForExit();\n\n this.pfDismiss.emit();\n }\n\n /**\n * Waits for the exit animation, or returns straight away when there is not\n * one.\n *\n * The `typeof` guard is for the mock DOM, which has no `getAnimations` at\n * all — one more of its gaps, alongside the missing `toggleAttribute`. It\n * surfaced here rather than vanishing because a `TypeError` inside an\n * `@Method` rejects the promise it returned, where Stencil's `safeCall`\n * swallows one thrown from a lifecycle method.\n *\n * A cancelled animation rejects, which is still \"done leaving\".\n */\n private async waitForExit(): Promise<void> {\n if (typeof this.el.getAnimations !== 'function') return;\n\n const running = this.el\n .getAnimations()\n .filter((animation) => animation.playState !== 'finished');\n if (running.length === 0) return;\n\n await Promise.all(running.map((animation) => animation.finished.catch(() => undefined)));\n }\n\n render() {\n return (\n <Host>\n {/*\n The icon box always has something in it — the named icon stands in\n when nothing is slotted — so it needs no hiding. The action box does.\n */}\n <span class=\"icon\" part=\"icon\" aria-hidden=\"true\">\n {!this.hasIcon && <pf-icon name={this.icon}></pf-icon>}\n <slot name=\"icon\" onSlotchange={this.read} />\n </span>\n\n <div class=\"content\" part=\"content\">\n <p class=\"heading\" part=\"heading\">\n <slot />\n </p>\n <slot name=\"description\" />\n </div>\n\n <div class={{ action: true, empty: !this.hasAction }} part=\"action\">\n <slot name=\"action\" onSlotchange={this.read} />\n </div>\n\n {this.dismissible && (\n <button\n type=\"button\"\n class=\"dismiss\"\n part=\"dismiss\"\n aria-label={this.dismissLabel}\n onClick={() => void this.dismiss()}\n >\n <pf-icon name=\"circle-xmark\" aria-hidden=\"true\"></pf-icon>\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAiB,IAAM,kpF,MC0ChBC,EAAW,M,oFAIGC,KAAwB,UAGzCC,KAAO,kBAGUC,YAAc,MAG/BC,aAAe,UAGdC,UAG+BC,QAAU,MAGzCC,QAAU,MACVC,UAAY,MAGrB,iBAAAC,GACEC,KAAKC,M,CAGCA,KAAO,KACb,MAAMC,EAAWC,GACfC,MAAMC,KAAKL,KAAKM,GAAGC,UAAUC,MAAMC,GAAUA,EAAMC,aAAa,UAAYP,IAE9EH,KAAKH,QAAUK,EAAQ,QACvBF,KAAKF,UAAYI,EAAQ,SAAS,EAYpC,aAAMS,GACJ,GAAIX,KAAKJ,QAAS,OAClBI,KAAKJ,QAAU,WAIT,IAAIgB,SAASC,GAAYC,sBAAsBD,WAC/Cb,KAAKe,cAEXf,KAAKL,UAAUqB,M,CAeT,iBAAMD,GACZ,UAAWf,KAAKM,GAAGW,gBAAkB,WAAY,OAEjD,MAAMC,EAAUlB,KAAKM,GAClBW,gBACAE,QAAQC,GAAcA,EAAUC,YAAc,aACjD,GAAIH,EAAQI,SAAW,EAAG,aAEpBV,QAAQW,IAAIL,EAAQM,KAAKJ,GAAcA,EAAUK,SAASC,OAAM,IAAMC,c,CAG9E,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CAKHF,EAAA,QAAAE,IAAA,2CAAMC,MAAM,OAAOC,KAAK,OAAM,cAAa,SACvCjC,KAAKH,SAAWgC,EAAA,WAAAE,IAAA,2CAAS5B,KAAMH,KAAKR,OACtCqC,EAAA,QAAAE,IAAA,2CAAM5B,KAAK,OAAO+B,aAAclC,KAAKC,QAGvC4B,EAAA,OAAAE,IAAA,2CAAKC,MAAM,UAAUC,KAAK,WACxBJ,EAAA,KAAAE,IAAA,2CAAGC,MAAM,UAAUC,KAAK,WACtBJ,EAAA,QAAAE,IAAA,8CAEFF,EAAA,QAAAE,IAAA,2CAAM5B,KAAK,iBAGb0B,EAAA,OAAAE,IAAA,2CAAKC,MAAO,CAAEG,OAAQ,KAAMC,OAAQpC,KAAKF,WAAamC,KAAK,UACzDJ,EAAA,QAAAE,IAAA,2CAAM5B,KAAK,SAAS+B,aAAclC,KAAKC,QAGxCD,KAAKP,aACJoC,EAAA,UAAAE,IAAA,2CACEM,KAAK,SACLL,MAAM,UACNC,KAAK,UAAS,aACFjC,KAAKN,aACjB4C,QAAS,SAAWtC,KAAKW,WAEzBkB,EAAA,WAAAE,IAAA,2CAAS5B,KAAK,eAAc,cAAa,U","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,a as e,h as s,H as a}from"./p-Bm6UxEit.js";import{c as i,n as r,b as n,C as l,p as o,a as c,d,f as h,e as p}from"./p-CmX-kVk-.js";import"./p-COAc4ZDB.js";const f=()=>`:host{display:flex;flex-direction:column;gap:var(--space-3);width:100%}:host([hidden]){display:none}.svg{display:block;height:auto;overflow:visible;width:100%}.empty{align-items:center;color:var(--pf-chart-text-muted);display:flex;font-size:var(--font-size-sm);height:120px;justify-content:center}.grid{stroke:var(--pf-chart-grid);stroke-width:1}.tick{fill:var(--pf-chart-text-muted);font-family:inherit;font-size:var(--font-size-2xs)}.tick--y{dominant-baseline:middle;text-anchor:end}.tick--x{dominant-baseline:hanging;text-anchor:middle}.axis-label{fill:var(--pf-chart-text-muted);font-family:inherit;font-size:var(--font-size-2xs);text-anchor:middle}.bar{transition:opacity 80ms ease}.bar:hover{opacity:0.75}.legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);list-style:none;margin:0;padding:0;padding-inline-start:var(--pf-chart-plot-inset-left, 0)}.legend.legend--hidden{display:none}.legend slot{display:contents}@media (prefers-reduced-motion: reduce){.bar{transition:none}}`;const g=class{constructor(e){t(this,e)}get el(){return e(this)}data=[];stacked=false;showLegend=true;yAxisLabel;label;series=[];componentWillLoad(){this.sync()}componentDidLoad(){this.sync()}async refresh(){this.sync()}get seriesElements(){return Array.from(this.el.children).filter((t=>t.tagName.toLowerCase()==="pf-chart-series"))}get rows(){const t=this.data;if(Array.isArray(t))return t;try{const e=JSON.parse(String(t||"[]"));return Array.isArray(e)?e:[]}catch{return[]}}sync(){this.series=this.seriesElements.map(((t,e)=>{const s=t;const a=i(e,s.color??t.getAttribute("color")??undefined);t.swatch=a;return{key:s.seriesKey??t.getAttribute("series-key")??"",color:a}}))}render(){const t=this.rows;const e=this.series;if(t.length===0||e.length===0){return s(a,null,s("div",{class:"empty",part:"empty"},s("slot",{name:"empty"},"No data")),s("ul",{class:"legend legend--hidden",part:"legend"},s("slot",{onSlotchange:()=>this.refresh()})))}const i=(t,e)=>Math.max(0,Number(t[e]??0)||0);const f=this.stacked?t.map((t=>e.reduce(((e,s)=>e+i(t,s.key)),0))):e.flatMap((e=>t.map((t=>i(t,e.key)))));const g=r(Math.max(0,...f));const y=g[g.length-1];const m=n(t.length,e.length,this.stacked);const u=p(t.length);const x=c.top+d.height;return s(a,{style:{"--pf-chart-plot-inset-left":`${c.left/l.width*100}%`}},s("svg",{class:"svg",part:"svg",viewBox:`0 0 ${l.width} ${l.height}`,role:"img","aria-label":this.label??this.yAxisLabel??"Bar chart"},g.map((t=>{const e=o(t,y);return s("g",null,s("line",{class:"grid",part:"grid",x1:c.left,y1:e,x2:c.left+d.width,y2:e}),s("text",{class:"tick tick--y",part:"tick",x:c.left-8,y:e},h(t)))})),t.map(((t,e)=>e%u===0?s("text",{class:"tick tick--x",part:"tick",x:m.groupCenters[e],y:x+20},t.label):null)),this.yAxisLabel&&s("text",{class:"axis-label",x:-112,y:14,transform:"rotate(-90)"},this.yAxisLabel),t.map(((t,a)=>{let r=0;return s("g",null,e.map(((e,n)=>{const l=i(t,e.key);const c=l/(y>0?y:1)*d.height;const p=this.stacked?m.groupLefts[a]:m.groupLefts[a]+n*(m.barWidth+m.gap);const f=this.stacked?o(r+l,y):x-c;if(this.stacked)r+=l;return s("rect",{class:"bar",part:"bar",x:p,y:f,width:m.barWidth,height:c,rx:"2",fill:e.color},s("title",null,`${t.label} — ${e.key}: ${h(l)}`))})))}))),s("ul",{class:{legend:true,"legend--hidden":!this.showLegend||e.length<2},part:"legend"},s("slot",{onSlotchange:()=>this.refresh()})))}static get watchers(){return{data:[{sync:0}]}}};g.style=f();export{g as pf_bar_chart};
|
|
2
|
+
//# sourceMappingURL=p-b2df1ecb.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pfBarChartCss","PfBarChart","data","stacked","showLegend","yAxisLabel","label","series","componentWillLoad","this","sync","componentDidLoad","refresh","seriesElements","Array","from","el","children","filter","child","tagName","toLowerCase","rows","raw","isArray","parsed","JSON","parse","String","map","element","index","node","color","chartSeriesColor","getAttribute","undefined","swatch","key","seriesKey","render","length","h","Host","class","part","name","onSlotchange","valueAt","row","Math","max","Number","totals","reduce","sum","item","flatMap","ticks","niceAxisTicks","maxTick","geometry","barGeometry","labelStep","axisLabelStep","floor","CHART_PADDING","top","CHART_PLOT","height","style","left","CHART_VIEW","width","viewBox","role","tick","y","plotY","x1","y1","x2","y2","x","formatAxisTick","groupCenters","transform","groupIndex","base","seriesIndex","value","groupLefts","barWidth","gap","rx","fill","legend"],"sources":["src/components/pf-bar-chart/pf-bar-chart.css?tag=pf-bar-chart&encapsulation=shadow","src/components/pf-bar-chart/pf-bar-chart.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n width: 100%;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.svg {\n display: block;\n height: auto;\n /* The y-axis label is drawn outside the plot, so the box must not clip. */\n overflow: visible;\n width: 100%;\n}\n\n.empty {\n align-items: center;\n color: var(--pf-chart-text-muted);\n display: flex;\n font-size: var(--font-size-sm);\n height: 120px;\n justify-content: center;\n}\n\n.grid {\n stroke: var(--pf-chart-grid);\n stroke-width: 1;\n}\n\n.tick {\n fill: var(--pf-chart-text-muted);\n font-family: inherit;\n font-size: var(--font-size-2xs);\n}\n\n.tick--y {\n dominant-baseline: middle;\n text-anchor: end;\n}\n\n.tick--x {\n dominant-baseline: hanging;\n text-anchor: middle;\n}\n\n.axis-label {\n fill: var(--pf-chart-text-muted);\n font-family: inherit;\n font-size: var(--font-size-2xs);\n text-anchor: middle;\n}\n\n.bar {\n transition: opacity 80ms ease;\n}\n\n.bar:hover {\n opacity: 0.75;\n}\n\n.legend {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-2) var(--space-4);\n list-style: none;\n margin: 0;\n /*\n * Lines the legend's start edge up with the plot area: the SVG is inset by\n * the y-axis gutter, and the inset is set inline from the chart's geometry.\n */\n padding: 0;\n padding-inline-start: var(--pf-chart-plot-inset-left, 0);\n}\n\n/*\n * Hidden rather than dropped, so the series stay slotted and `slotchange`\n * still fires. Two classes deep, because the tie breaks on source order.\n */\n.legend.legend--hidden {\n display: none;\n}\n\n/* The series are flex children of the list, not of a box inside it. */\n.legend slot {\n display: contents;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .bar {\n transition: none;\n }\n}\n","import {\n CHART_PADDING,\n CHART_PLOT,\n CHART_VIEW,\n axisLabelStep,\n barGeometry,\n chartSeriesColor,\n formatAxisTick,\n niceAxisTicks,\n plotY,\n} from '@pitchfork-ui/core';\nimport { Component, Element, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport type { PfChartRow } from '../pf-line-chart/pf-line-chart';\n\n/**\n * A grouped or stacked bar chart over `pf-chart-series` children.\n *\n * The same split as `pf-line-chart`: the rows are bulk numbers in a property,\n * the series are named and coloured and live in the light DOM so the legend\n * can reach their labels.\n *\n * @slot - the `pf-chart-series` children.\n * @slot empty - what to show when there is nothing to draw.\n * @part svg - the drawing.\n * @part grid - one gridline.\n * @part tick - one axis label.\n * @part bar - one bar.\n * @part legend - the list the series are slotted into.\n * @part empty - the empty state's box.\n */\n@Component({\n tag: 'pf-bar-chart',\n styleUrl: 'pf-bar-chart.css',\n shadow: true,\n})\nexport class PfBarChart {\n @Element() el!: HTMLElement;\n\n /** The rows to plot. An array, or JSON for plain HTML. */\n @Prop() data: PfChartRow[] | string = [];\n\n /** Stack each group's series rather than standing them side by side. */\n @Prop({ reflect: true }) stacked = false;\n\n @Prop({ reflect: true }) showLegend = true;\n\n @Prop() yAxisLabel?: string;\n\n @Prop() label?: string;\n\n @State() series: { key: string; color: string }[] = [];\n\n componentWillLoad() {\n this.sync();\n }\n\n componentDidLoad() {\n this.sync();\n }\n\n @Method()\n async refresh() {\n this.sync();\n }\n\n /** Direct children only; named to avoid shadowing `Element.children`. */\n private get seriesElements(): HTMLElement[] {\n return Array.from(this.el.children).filter(\n (child) => child.tagName.toLowerCase() === 'pf-chart-series',\n ) as HTMLElement[];\n }\n\n private get rows(): PfChartRow[] {\n const raw = this.data;\n if (Array.isArray(raw)) return raw;\n\n try {\n const parsed = JSON.parse(String(raw || '[]'));\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n return [];\n }\n }\n\n @Watch('data')\n sync() {\n this.series = this.seriesElements.map((element, index) => {\n const node = element as HTMLElement & { seriesKey?: string; color?: string };\n const color = chartSeriesColor(\n index,\n node.color ?? element.getAttribute('color') ?? undefined,\n );\n\n (element as HTMLElement & { swatch: string }).swatch = color;\n\n return { key: node.seriesKey ?? element.getAttribute('series-key') ?? '', color };\n });\n }\n\n render() {\n const rows = this.rows;\n const series = this.series;\n\n if (rows.length === 0 || series.length === 0) {\n return (\n <Host>\n <div class=\"empty\" part=\"empty\">\n <slot name=\"empty\">No data</slot>\n </div>\n <ul class=\"legend legend--hidden\" part=\"legend\">\n <slot onSlotchange={() => this.refresh()} />\n </ul>\n </Host>\n );\n }\n\n /*\n * Clamped here and nowhere else. A negative value must not pull a stack\n * down, and it must not give a `<rect>` a negative `height` — which is\n * an error the browser drops the element for. One clamp rather than two,\n * so there is one thing to keep right.\n */\n const valueAt = (row: PfChartRow, key: string) => Math.max(0, Number(row[key] ?? 0) || 0);\n /*\n * A stacked chart's scale is the tallest *stack*, not the tallest bar —\n * otherwise the top of the stack is drawn above the plot.\n */\n const totals = this.stacked\n ? rows.map((row) => series.reduce((sum, item) => sum + valueAt(row, item.key), 0))\n : series.flatMap((item) => rows.map((row) => valueAt(row, item.key)));\n\n const ticks = niceAxisTicks(Math.max(0, ...totals));\n const maxTick = ticks[ticks.length - 1];\n const geometry = barGeometry(rows.length, series.length, this.stacked);\n const labelStep = axisLabelStep(rows.length);\n const floor = CHART_PADDING.top + CHART_PLOT.height;\n\n return (\n <Host\n style={{\n '--pf-chart-plot-inset-left': `${(CHART_PADDING.left / CHART_VIEW.width) * 100}%`,\n }}\n >\n <svg\n class=\"svg\"\n part=\"svg\"\n viewBox={`0 0 ${CHART_VIEW.width} ${CHART_VIEW.height}`}\n role=\"img\"\n aria-label={this.label ?? this.yAxisLabel ?? 'Bar chart'}\n >\n {ticks.map((tick) => {\n const y = plotY(tick, maxTick);\n return (\n <g>\n <line\n class=\"grid\"\n part=\"grid\"\n x1={CHART_PADDING.left}\n y1={y}\n x2={CHART_PADDING.left + CHART_PLOT.width}\n y2={y}\n />\n <text class=\"tick tick--y\" part=\"tick\" x={CHART_PADDING.left - 8} y={y}>\n {formatAxisTick(tick)}\n </text>\n </g>\n );\n })}\n\n {rows.map((row, index) =>\n index % labelStep === 0 ? (\n <text\n class=\"tick tick--x\"\n part=\"tick\"\n x={geometry.groupCenters[index]}\n y={floor + 20}\n >\n {row.label}\n </text>\n ) : null,\n )}\n\n {this.yAxisLabel && (\n <text\n class=\"axis-label\"\n x={-(CHART_PADDING.top + CHART_PLOT.height / 2)}\n y={14}\n transform=\"rotate(-90)\"\n >\n {this.yAxisLabel}\n </text>\n )}\n\n {rows.map((row, groupIndex) => {\n let base = 0;\n\n return (\n <g>\n {series.map((item, seriesIndex) => {\n const value = valueAt(row, item.key);\n const height = (value / (maxTick > 0 ? maxTick : 1)) * CHART_PLOT.height;\n const x = this.stacked\n ? geometry.groupLefts[groupIndex]\n : geometry.groupLefts[groupIndex] +\n seriesIndex * (geometry.barWidth + geometry.gap);\n const y = this.stacked ? plotY(base + value, maxTick) : floor - height;\n\n if (this.stacked) base += value;\n\n return (\n <rect\n class=\"bar\"\n part=\"bar\"\n x={x}\n y={y}\n width={geometry.barWidth}\n height={height}\n rx=\"2\"\n fill={item.color}\n >\n <title>{`${row.label} — ${item.key}: ${formatAxisTick(value)}`}</title>\n </rect>\n );\n })}\n </g>\n );\n })}\n </svg>\n\n <ul\n class={{ legend: true, 'legend--hidden': !this.showLegend || series.length < 2 }}\n part=\"legend\"\n >\n <slot onSlotchange={() => this.refresh()} />\n </ul>\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";import{s as n,t as i,p as o,c as d,i as c,f as l,m as h,r as u,a as p,b as f,W as b,C as y,d as v}from"./p-C9jNMqLs.js";import{K as g}from"./p-g4FlTDZx.js";const m=()=>`:host{display:inline-block}:host([hidden]){display:none}.calendar{background:var(--pf-calendar-bg);border:1px solid var(--pf-calendar-border);border-radius:var(--radius-md);color:var(--pf-calendar-text);display:grid;gap:var(--space-3);padding:var(--space-3)}.header{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.controls{display:flex;gap:var(--space-2);min-width:0}.select{background:var(--pf-calendar-bg);border:1px solid var(--pf-calendar-border);border-radius:var(--radius-sm);color:var(--pf-calendar-text);font-family:inherit;font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2)}.select:focus-visible{box-shadow:var(--pf-focus-ring);outline:none}.nav{align-items:center;background:none;border:0;border-radius:var(--radius-sm);color:var(--pf-calendar-text-muted);cursor:pointer;display:inline-flex;justify-content:center;padding:var(--space-1)}.nav:hover:not(:disabled){background:var(--pf-calendar-bg-subtle);color:var(--pf-calendar-text)}.nav:disabled{cursor:not-allowed;opacity:0.4}.nav:focus-visible{box-shadow:var(--pf-focus-ring);outline:none}.grid{display:grid;gap:2px}.row{display:contents}.grid{grid-template-columns:repeat(7, 1fr)}.weekday{color:var(--pf-calendar-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-1) 0;text-align:center}.day,.empty{aspect-ratio:1;display:flex;min-width:var(--space-8)}.day{align-items:center;background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--pf-calendar-text);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);justify-content:center}.day:hover:not([aria-disabled='true']){background:var(--pf-calendar-bg-subtle)}.day:focus-visible{box-shadow:var(--pf-focus-ring);outline:none}.day--outside{color:var(--pf-calendar-text-muted)}.day--today{background:var(--pf-calendar-today-bg);border-color:var(--pf-calendar-today-border)}.day--selected{background:var(--pf-calendar-selected-bg);border-color:var(--pf-calendar-selected-bg);color:var(--pf-calendar-selected-text)}.day--selected:hover{background:var(--pf-calendar-selected-bg-hover)}.day[aria-disabled='true']{cursor:not-allowed;opacity:0.4}`;const w=class{constructor(a){e(this,a);this.pfChange=t(this,"pfChange")}get el(){return a(this)}value;min;max;startYear;endYear;showOutsideDays=true;label="Calendar";isDateDisabled;pfChange;displayMonth=n(new Date);focusedDate=i(new Date);shouldRestoreFocus=false;componentWillLoad(){const e=this.selectedDate();const t=e??i(new Date);this.focusedDate=t;this.displayMonth=this.clamp(n(t))}componentDidRender(){if(!this.shouldRestoreFocus)return;this.shouldRestoreFocus=false;this.el.shadowRoot?.querySelector('button[data-day][tabindex="0"]')?.focus()}syncValue(){const e=this.selectedDate();if(!e)return;this.focusedDate=e;this.displayMonth=this.clamp(n(e))}async goToMonth(e){const t=typeof e==="string"?o(e):i(e);if(!t)return;this.displayMonth=this.clamp(n(t));this.focusedDate=t}async focusSelectedDay(){this.el.shadowRoot?.querySelector('button[data-day][tabindex="0"]')?.focus()}selectedDate(){return o(this.value)}get years(){const e=(new Date).getFullYear();const t=this.startYear??e-50;const a=this.endYear??e+50;return{start:Math.min(t,a),end:Math.max(t,a)}}clamp(e){const{start:t,end:a}=this.years;return d(e,t,a)}isDisabled(e){const t=o(this.min);const a=o(this.max);if(c(e,t,a))return true;return this.isDateDisabled?.(e)??false}select(e){if(this.isDisabled(e))return;this.value=l(e);this.focusedDate=e;this.displayMonth=this.clamp(n(e));this.pfChange.emit({value:this.value})}moveFocus(e){const t=h(this.focusedDate,e);const{start:a,end:s}=this.years;if(t.getFullYear()<a||t.getFullYear()>s)return;this.focusedDate=t;this.displayMonth=this.clamp(n(t));this.shouldRestoreFocus=true}onKeyDown=e=>{const t=u(e.key);if(t){e.preventDefault();this.moveFocus(t);return}if(e.key===g.Enter||e.key===g.Space){e.preventDefault();this.select(this.focusedDate);this.shouldRestoreFocus=true}};showMonth(e){const t=this.clamp(n(e));const a=new Date(t.getFullYear(),t.getMonth()+1,0,12).getDate();this.displayMonth=t;this.focusedDate=new Date(t.getFullYear(),t.getMonth(),Math.min(this.focusedDate.getDate(),a),12)}stepMonth(e){this.showMonth(p(this.displayMonth,e))}renderHeader(){const{start:e,end:t}=this.years;const a=Array.from({length:t-e+1},((t,a)=>e+a));const r=Array.from({length:12},((e,t)=>new Intl.DateTimeFormat("en-US",{month:"long"}).format(new Date(2024,t,1))));const n=this.displayMonth.getFullYear()===e&&this.displayMonth.getMonth()===0;const i=this.displayMonth.getFullYear()===t&&this.displayMonth.getMonth()===11;return s("div",{class:"header",part:"header"},s("button",{type:"button",class:"nav","aria-label":"Previous month",disabled:n,onClick:()=>this.stepMonth(-1)},s("pf-icon",{name:"square-caret-left"})),s("div",{class:"controls"},s("select",{class:"select","aria-label":"Month",onChange:e=>{const t=Number(e.target.value);this.showMonth(new Date(this.displayMonth.getFullYear(),t,1,12))}},r.map(((e,t)=>s("option",{key:e,value:String(t),selected:t===this.displayMonth.getMonth()},e)))),s("select",{class:"select","aria-label":"Year",onChange:e=>{const t=Number(e.target.value);this.showMonth(new Date(t,this.displayMonth.getMonth(),1,12))}},a.map((e=>s("option",{key:e,value:String(e),selected:e===this.displayMonth.getFullYear()},e))))),s("button",{type:"button",class:"nav","aria-label":"Next month",disabled:i,onClick:()=>this.stepMonth(1)},s("pf-icon",{name:"square-caret-right"})))}render(){const e=f(this.displayMonth);const t=this.selectedDate();const a=i(new Date);const n=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric"}).format(this.displayMonth);return s(r,{key:"1fe86f7b2c22bd62d06e6f2ea54c0a59e747fab1"},s("div",{key:"d073839e9b2dfb4d4de7c688590462d992f95944",class:"calendar",part:"calendar"},this.renderHeader(),s("div",{key:"56fe4cb44559fd5bf43cff0eb8575178f7dc47ea",class:"grid",part:"grid",role:"grid","aria-label":`${this.label}, ${n}`,onKeyDown:this.onKeyDown},s("div",{key:"d5d7d1afee29cb39f6640da24829ec85def3c886",class:"row",role:"row"},b.map((e=>s("span",{key:e,class:"weekday",role:"columnheader","aria-label":e},e)))),Array.from({length:y/7},((r,n)=>s("div",{key:n,class:"row",role:"row"},e.slice(n*7,n*7+7).map((({date:e,inCurrentMonth:r})=>{if(!this.showOutsideDays&&!r){return s("span",{key:l(e),class:"empty",role:"gridcell"})}const n=t?v(t,e):false;const i=v(a,e);const o=v(this.focusedDate,e);const d=this.isDisabled(e);return s("button",{key:l(e),type:"button",role:"gridcell","data-day":l(e),part:`day${n?" selected":""}${i?" today":""}`,class:{day:true,"day--outside":!r,"day--today":i,"day--selected":n},tabindex:o?0:-1,"aria-selected":n?"true":"false","aria-current":i?"date":null,"aria-disabled":d?"true":null,"aria-label":new Intl.DateTimeFormat("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"}).format(e),onClick:()=>{this.select(e);this.shouldRestoreFocus=true}},e.getDate())}))))))))}static get watchers(){return{value:[{syncValue:0}]}}};w.style=m();export{w as pf_calendar};
|
|
2
|
+
//# sourceMappingURL=p-b442330b.entry.js.map
|