@patternfly/elements 3.0.1 → 4.0.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/custom-elements.json +8857 -8783
- package/form-control.css +127 -0
- package/package.json +12 -25
- package/pf-accordion/pf-accordion-header.css +23 -0
- package/pf-accordion/pf-accordion-header.d.ts +52 -43
- package/pf-accordion/pf-accordion-header.js +130 -87
- package/pf-accordion/pf-accordion-header.js.map +1 -1
- package/pf-accordion/pf-accordion-panel.css +15 -0
- package/pf-accordion/pf-accordion-panel.d.ts +27 -25
- package/pf-accordion/pf-accordion-panel.js +29 -43
- package/pf-accordion/pf-accordion-panel.js.map +1 -1
- package/pf-accordion/pf-accordion.d.ts +122 -65
- package/pf-accordion/pf-accordion.js +283 -94
- package/pf-accordion/pf-accordion.js.map +1 -1
- package/pf-accordion/test/pf-accordion.e2e.js +12 -0
- package/pf-accordion/test/pf-accordion.e2e.js.map +1 -1
- package/pf-accordion/test/pf-accordion.spec.js +366 -350
- package/pf-accordion/test/pf-accordion.spec.js.map +1 -1
- package/pf-avatar/pf-avatar.css +50 -24
- package/pf-avatar/pf-avatar.d.ts +29 -3
- package/pf-avatar/pf-avatar.js +51 -9
- package/pf-avatar/pf-avatar.js.map +1 -1
- package/pf-avatar/test/pf-avatar.e2e.js +12 -0
- package/pf-avatar/test/pf-avatar.e2e.js.map +1 -1
- package/pf-avatar/test/pf-avatar.spec.js +2 -3
- package/pf-avatar/test/pf-avatar.spec.js.map +1 -1
- package/pf-back-to-top/pf-back-to-top.css +10 -0
- package/pf-back-to-top/pf-back-to-top.d.ts +14 -18
- package/pf-back-to-top/pf-back-to-top.js +9 -30
- package/pf-back-to-top/pf-back-to-top.js.map +1 -1
- package/pf-back-to-top/test/pf-back-to-top.e2e.js +12 -0
- package/pf-back-to-top/test/pf-back-to-top.e2e.js.map +1 -1
- package/pf-background-image/pf-background-image.d.ts +4 -4
- package/pf-background-image/pf-background-image.js +1 -12
- package/pf-background-image/pf-background-image.js.map +1 -1
- package/pf-background-image/test/pf-background-image.e2e.js +12 -0
- package/pf-background-image/test/pf-background-image.e2e.js.map +1 -1
- package/pf-badge/pf-badge.css +4 -0
- package/pf-badge/pf-badge.d.ts +26 -22
- package/pf-badge/pf-badge.js +14 -27
- package/pf-badge/pf-badge.js.map +1 -1
- package/pf-badge/test/pf-badge.e2e.js +12 -0
- package/pf-badge/test/pf-badge.e2e.js.map +1 -1
- package/pf-banner/pf-banner.d.ts +16 -16
- package/pf-banner/pf-banner.js +1 -24
- package/pf-banner/pf-banner.js.map +1 -1
- package/pf-banner/test/pf-banner.e2e.js +12 -0
- package/pf-banner/test/pf-banner.e2e.js.map +1 -1
- package/pf-button/pf-button.css +22 -12
- package/pf-button/pf-button.d.ts +128 -122
- package/pf-button/pf-button.js +95 -172
- package/pf-button/pf-button.js.map +1 -1
- package/pf-button/test/pf-button.e2e.js +12 -0
- package/pf-button/test/pf-button.e2e.js.map +1 -1
- package/pf-card/pf-card.css +172 -43
- package/pf-card/pf-card.d.ts +41 -38
- package/pf-card/pf-card.js +37 -54
- package/pf-card/pf-card.js.map +1 -1
- package/pf-card/test/pf-card.e2e.js +12 -0
- package/pf-card/test/pf-card.e2e.js.map +1 -1
- package/pf-chip/pf-chip-group.css +9 -6
- package/pf-chip/pf-chip-group.d.ts +27 -14
- package/pf-chip/pf-chip-group.js +65 -94
- package/pf-chip/pf-chip-group.js.map +1 -1
- package/pf-chip/pf-chip.d.ts +20 -9
- package/pf-chip/pf-chip.js +1 -8
- package/pf-chip/pf-chip.js.map +1 -1
- package/pf-chip/test/pf-chip-group.spec.js +42 -22
- package/pf-chip/test/pf-chip-group.spec.js.map +1 -1
- package/pf-chip/test/pf-chip.e2e.js +12 -0
- package/pf-chip/test/pf-chip.e2e.js.map +1 -1
- package/pf-clipboard-copy/pf-clipboard-copy.css +83 -85
- package/pf-clipboard-copy/pf-clipboard-copy.d.ts +53 -18
- package/pf-clipboard-copy/pf-clipboard-copy.js +55 -44
- package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
- package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js +12 -0
- package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js.map +1 -1
- package/pf-code-block/pf-code-block.css +7 -4
- package/pf-code-block/pf-code-block.d.ts +4 -25
- package/pf-code-block/pf-code-block.js +44 -23
- package/pf-code-block/pf-code-block.js.map +1 -1
- package/pf-code-block/test/pf-code-block.e2e.js +12 -0
- package/pf-code-block/test/pf-code-block.e2e.js.map +1 -1
- package/pf-dropdown/context.d.ts +2 -3
- package/pf-dropdown/context.js.map +1 -1
- package/pf-dropdown/pf-dropdown-group.d.ts +3 -9
- package/pf-dropdown/pf-dropdown-group.js +1 -5
- package/pf-dropdown/pf-dropdown-group.js.map +1 -1
- package/pf-dropdown/pf-dropdown-item.d.ts +21 -27
- package/pf-dropdown/pf-dropdown-item.js +1 -37
- package/pf-dropdown/pf-dropdown-item.js.map +1 -1
- package/pf-dropdown/pf-dropdown-menu.d.ts +4 -10
- package/pf-dropdown/pf-dropdown-menu.js +23 -23
- package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
- package/pf-dropdown/pf-dropdown.d.ts +8 -24
- package/pf-dropdown/pf-dropdown.js +1 -26
- package/pf-dropdown/pf-dropdown.js.map +1 -1
- package/pf-dropdown/test/pf-dropdown.e2e.js +12 -0
- package/pf-dropdown/test/pf-dropdown.e2e.js.map +1 -1
- package/pf-icon/pf-icon.css +22 -0
- package/pf-icon/pf-icon.d.ts +93 -4
- package/pf-icon/pf-icon.js +191 -13
- package/pf-icon/pf-icon.js.map +1 -1
- package/pf-icon/test/pf-icon.e2e.js +12 -0
- package/pf-icon/test/pf-icon.e2e.js.map +1 -1
- package/pf-icon/test/pf-icon.spec.js +102 -88
- package/pf-icon/test/pf-icon.spec.js.map +1 -1
- package/pf-jump-links/pf-jump-links-item.d.ts +4 -11
- package/pf-jump-links/pf-jump-links-item.js +8 -15
- package/pf-jump-links/pf-jump-links-item.js.map +1 -1
- package/pf-jump-links/pf-jump-links-list.d.ts +2 -2
- package/pf-jump-links/pf-jump-links-list.js +1 -5
- package/pf-jump-links/pf-jump-links-list.js.map +1 -1
- package/pf-jump-links/pf-jump-links.d.ts +2 -2
- package/pf-jump-links/pf-jump-links.js +23 -62
- package/pf-jump-links/pf-jump-links.js.map +1 -1
- package/pf-jump-links/test/pf-jump-links.e2e.js +12 -0
- package/pf-jump-links/test/pf-jump-links.e2e.js.map +1 -1
- package/pf-label/pf-label.css +38 -5
- package/pf-label/pf-label.d.ts +65 -69
- package/pf-label/pf-label.js +49 -90
- package/pf-label/pf-label.js.map +1 -1
- package/pf-label/test/pf-label.e2e.js +12 -0
- package/pf-label/test/pf-label.e2e.js.map +1 -1
- package/pf-label/test/pf-label.spec.js +26 -16
- package/pf-label/test/pf-label.spec.js.map +1 -1
- package/pf-modal/pf-modal.d.ts +17 -22
- package/pf-modal/pf-modal.js +13 -39
- package/pf-modal/pf-modal.js.map +1 -1
- package/pf-modal/test/pf-modal.e2e.js +12 -0
- package/pf-modal/test/pf-modal.e2e.js.map +1 -1
- package/pf-panel/pf-panel.d.ts +31 -3
- package/pf-panel/pf-panel.js +1 -10
- package/pf-panel/pf-panel.js.map +1 -1
- package/pf-panel/test/pf-panel.e2e.js +12 -0
- package/pf-panel/test/pf-panel.e2e.js.map +1 -1
- package/pf-popover/pf-popover.d.ts +66 -84
- package/pf-popover/pf-popover.js +33 -150
- package/pf-popover/pf-popover.js.map +1 -1
- package/pf-popover/test/pf-popover.e2e.js +12 -0
- package/pf-popover/test/pf-popover.e2e.js.map +1 -1
- package/pf-popover/test/pf-popover.spec.js +0 -11
- package/pf-popover/test/pf-popover.spec.js.map +1 -1
- package/pf-progress/pf-progress.d.ts +40 -40
- package/pf-progress/pf-progress.js +1 -61
- package/pf-progress/pf-progress.js.map +1 -1
- package/pf-progress/test/pf-progress.e2e.js +12 -0
- package/pf-progress/test/pf-progress.e2e.js.map +1 -1
- package/pf-progress-stepper/pf-progress-step.d.ts +2 -3
- package/pf-progress-stepper/pf-progress-step.js +4 -14
- package/pf-progress-stepper/pf-progress-step.js.map +1 -1
- package/pf-progress-stepper/pf-progress-stepper.d.ts +118 -2
- package/pf-progress-stepper/pf-progress-stepper.js +10 -12
- package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
- package/pf-progress-stepper/test/pf-progress-stepper.e2e.js +12 -0
- package/pf-progress-stepper/test/pf-progress-stepper.e2e.js.map +1 -1
- package/pf-select/pf-option-group.d.ts +2 -2
- package/pf-select/pf-option-group.js +1 -5
- package/pf-select/pf-option-group.js.map +1 -1
- package/pf-select/pf-option.css +1 -1
- package/pf-select/pf-option.d.ts +4 -4
- package/pf-select/pf-option.js +20 -30
- package/pf-select/pf-option.js.map +1 -1
- package/pf-select/pf-select.css +14 -6
- package/pf-select/pf-select.d.ts +183 -40
- package/pf-select/pf-select.js +185 -260
- package/pf-select/pf-select.js.map +1 -1
- package/pf-select/test/pf-select.e2e.js +12 -0
- package/pf-select/test/pf-select.e2e.js.map +1 -1
- package/pf-select/test/pf-select.spec.js +1292 -613
- package/pf-select/test/pf-select.spec.js.map +1 -1
- package/pf-spinner/pf-spinner.css +27 -17
- package/pf-spinner/pf-spinner.d.ts +21 -17
- package/pf-spinner/pf-spinner.js +20 -24
- package/pf-spinner/pf-spinner.js.map +1 -1
- package/pf-spinner/test/pf-spinner.e2e.js +12 -0
- package/pf-spinner/test/pf-spinner.e2e.js.map +1 -1
- package/pf-switch/pf-switch.css +39 -13
- package/pf-switch/pf-switch.d.ts +48 -34
- package/pf-switch/pf-switch.js +114 -43
- package/pf-switch/pf-switch.js.map +1 -1
- package/pf-switch/test/pf-switch.e2e.js +12 -0
- package/pf-switch/test/pf-switch.e2e.js.map +1 -1
- package/pf-table/pf-caption.d.ts +2 -2
- package/pf-table/pf-caption.js +1 -4
- package/pf-table/pf-caption.js.map +1 -1
- package/pf-table/pf-table.d.ts +424 -424
- package/pf-table/pf-table.js +7 -645
- package/pf-table/pf-table.js.map +1 -1
- package/pf-table/pf-tbody.d.ts +2 -2
- package/pf-table/pf-tbody.js +1 -4
- package/pf-table/pf-tbody.js.map +1 -1
- package/pf-table/pf-td.d.ts +2 -2
- package/pf-table/pf-td.js +1 -4
- package/pf-table/pf-td.js.map +1 -1
- package/pf-table/pf-th.d.ts +2 -2
- package/pf-table/pf-th.js +1 -4
- package/pf-table/pf-th.js.map +1 -1
- package/pf-table/pf-thead.d.ts +2 -2
- package/pf-table/pf-thead.js +1 -4
- package/pf-table/pf-thead.js.map +1 -1
- package/pf-table/pf-tr.d.ts +1 -1
- package/pf-table/pf-tr.js +1 -4
- package/pf-table/pf-tr.js.map +1 -1
- package/pf-table/test/pf-table.e2e.js +12 -0
- package/pf-table/test/pf-table.e2e.js.map +1 -1
- package/pf-tabs/context.d.ts +2 -3
- package/pf-tabs/context.js.map +1 -1
- package/pf-tabs/pf-tab-panel.d.ts +3 -5
- package/pf-tabs/pf-tab-panel.js +1 -7
- package/pf-tabs/pf-tab-panel.js.map +1 -1
- package/pf-tabs/pf-tab.d.ts +37 -37
- package/pf-tabs/pf-tab.js +16 -54
- package/pf-tabs/pf-tab.js.map +1 -1
- package/pf-tabs/pf-tabs.d.ts +36 -37
- package/pf-tabs/pf-tabs.js +40 -78
- package/pf-tabs/pf-tabs.js.map +1 -1
- package/pf-tabs/test/pf-tabs.e2e.js +12 -0
- package/pf-tabs/test/pf-tabs.e2e.js.map +1 -1
- package/pf-tabs/test/pf-tabs.spec.js +11 -12
- package/pf-tabs/test/pf-tabs.spec.js.map +1 -1
- package/pf-text-area/pf-text-area.d.ts +128 -134
- package/pf-text-area/pf-text-area.js +7 -131
- package/pf-text-area/pf-text-area.js.map +1 -1
- package/pf-text-area/test/pf-text-area.e2e.js +12 -0
- package/pf-text-area/test/pf-text-area.e2e.js.map +1 -1
- package/pf-text-input/pf-text-input.d.ts +129 -135
- package/pf-text-input/pf-text-input.js +7 -132
- package/pf-text-input/pf-text-input.js.map +1 -1
- package/pf-text-input/test/pf-text-input.e2e.js +12 -0
- package/pf-text-input/test/pf-text-input.e2e.js.map +1 -1
- package/pf-tile/pf-tile.d.ts +21 -20
- package/pf-tile/pf-tile.js +18 -35
- package/pf-tile/pf-tile.js.map +1 -1
- package/pf-tile/test/pf-tile.e2e.js +12 -0
- package/pf-tile/test/pf-tile.e2e.js.map +1 -1
- package/pf-timestamp/pf-timestamp.d.ts +2 -2
- package/pf-timestamp/pf-timestamp.js +1 -3
- package/pf-timestamp/pf-timestamp.js.map +1 -1
- package/pf-timestamp/test/pf-timestamp.e2e.js +12 -0
- package/pf-timestamp/test/pf-timestamp.e2e.js.map +1 -1
- package/pf-tooltip/pf-tooltip.d.ts +51 -50
- package/pf-tooltip/pf-tooltip.js +26 -106
- package/pf-tooltip/pf-tooltip.js.map +1 -1
- package/pf-tooltip/test/pf-tooltip.e2e.js +12 -0
- package/pf-tooltip/test/pf-tooltip.e2e.js.map +1 -1
- package/pfe.min.js +1194 -1002
- package/pfe.min.js.map +4 -4
- package/react/pf-accordion/pf-accordion-header.js +2 -2
- package/react/pf-accordion/pf-accordion-panel.js +2 -2
- package/react/pf-accordion/pf-accordion.js +2 -2
- package/react/pf-avatar/pf-avatar.d.ts +1 -1
- package/react/pf-avatar/pf-avatar.js +5 -3
- package/react/pf-back-to-top/pf-back-to-top.js +2 -2
- package/react/pf-background-image/pf-background-image.js +2 -2
- package/react/pf-badge/pf-badge.js +2 -2
- package/react/pf-banner/pf-banner.js +2 -2
- package/react/pf-button/pf-button.js +2 -2
- package/react/pf-card/pf-card.js +2 -2
- package/react/pf-chip/pf-chip-group.js +2 -2
- package/react/pf-chip/pf-chip.js +2 -2
- package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -1
- package/react/pf-clipboard-copy/pf-clipboard-copy.js +5 -3
- package/react/pf-code-block/pf-code-block.js +2 -2
- package/react/pf-dropdown/pf-dropdown-group.js +2 -2
- package/react/pf-dropdown/pf-dropdown-item.js +2 -2
- package/react/pf-dropdown/pf-dropdown-menu.js +2 -2
- package/react/pf-dropdown/pf-dropdown.js +2 -2
- package/react/pf-icon/pf-icon.js +2 -2
- package/react/pf-jump-links/pf-jump-links-item.js +2 -2
- package/react/pf-jump-links/pf-jump-links-list.js +2 -2
- package/react/pf-jump-links/pf-jump-links.js +2 -2
- package/react/pf-label/pf-label.js +2 -2
- package/react/pf-modal/pf-modal.js +2 -2
- package/react/pf-panel/pf-panel.js +2 -2
- package/react/pf-popover/pf-popover.js +2 -2
- package/react/pf-progress/pf-progress.js +2 -2
- package/react/pf-progress-stepper/pf-progress-step.js +2 -2
- package/react/pf-progress-stepper/pf-progress-stepper.js +2 -2
- package/react/pf-select/pf-option-group.js +2 -2
- package/react/pf-select/pf-option.js +2 -2
- package/react/pf-select/pf-select.d.ts +1 -1
- package/react/pf-select/pf-select.js +2 -3
- package/react/pf-spinner/pf-spinner.js +2 -2
- package/react/pf-switch/pf-switch.js +2 -2
- package/react/pf-table/pf-caption.js +2 -2
- package/react/pf-table/pf-table.js +2 -2
- package/react/pf-table/pf-tbody.js +2 -2
- package/react/pf-table/pf-td.js +2 -2
- package/react/pf-table/pf-th.js +2 -2
- package/react/pf-table/pf-thead.js +2 -2
- package/react/pf-table/pf-tr.js +2 -2
- package/react/pf-tabs/pf-tab-panel.js +2 -2
- package/react/pf-tabs/pf-tab.js +2 -2
- package/react/pf-tabs/pf-tabs.js +2 -2
- package/react/pf-text-area/pf-text-area.js +2 -2
- package/react/pf-text-input/pf-text-input.js +2 -2
- package/react/pf-tile/pf-tile.js +2 -2
- package/react/pf-timestamp/pf-timestamp.js +2 -2
- package/react/pf-tooltip/pf-tooltip.js +2 -2
- package/pf-accordion/BaseAccordion.d.ts +0 -61
- package/pf-accordion/BaseAccordion.js +0 -269
- package/pf-accordion/BaseAccordion.js.map +0 -1
- package/pf-accordion/BaseAccordionHeader.css +0 -39
- package/pf-accordion/BaseAccordionHeader.d.ts +0 -29
- package/pf-accordion/BaseAccordionHeader.js +0 -128
- package/pf-accordion/BaseAccordionHeader.js.map +0 -1
- package/pf-accordion/BaseAccordionPanel.css +0 -27
- package/pf-accordion/BaseAccordionPanel.d.ts +0 -7
- package/pf-accordion/BaseAccordionPanel.js +0 -33
- package/pf-accordion/BaseAccordionPanel.js.map +0 -1
- package/pf-avatar/BaseAvatar.css +0 -13
- package/pf-avatar/BaseAvatar.d.ts +0 -23
- package/pf-avatar/BaseAvatar.js +0 -62
- package/pf-avatar/BaseAvatar.js.map +0 -1
- package/pf-back-to-top/demo/demo.css +0 -25
- package/pf-badge/BaseBadge.css +0 -6
- package/pf-badge/BaseBadge.d.ts +0 -18
- package/pf-badge/BaseBadge.js +0 -16
- package/pf-badge/BaseBadge.js.map +0 -1
- package/pf-button/BaseButton.css +0 -68
- package/pf-button/BaseButton.d.ts +0 -51
- package/pf-button/BaseButton.js +0 -84
- package/pf-button/BaseButton.js.map +0 -1
- package/pf-card/BaseCard.css +0 -36
- package/pf-card/BaseCard.d.ts +0 -24
- package/pf-card/BaseCard.js +0 -51
- package/pf-card/BaseCard.js.map +0 -1
- package/pf-clipboard-copy/BaseClipboardCopy.css +0 -6
- package/pf-clipboard-copy/BaseClipboardCopy.d.ts +0 -18
- package/pf-clipboard-copy/BaseClipboardCopy.js +0 -25
- package/pf-clipboard-copy/BaseClipboardCopy.js.map +0 -1
- package/pf-code-block/BaseCodeBlock.css +0 -7
- package/pf-code-block/BaseCodeBlock.d.ts +0 -8
- package/pf-code-block/BaseCodeBlock.js +0 -22
- package/pf-code-block/BaseCodeBlock.js.map +0 -1
- package/pf-icon/BaseIcon.css +0 -22
- package/pf-icon/BaseIcon.d.ts +0 -41
- package/pf-icon/BaseIcon.js +0 -144
- package/pf-icon/BaseIcon.js.map +0 -1
- package/pf-label/BaseLabel.css +0 -44
- package/pf-label/BaseLabel.d.ts +0 -30
- package/pf-label/BaseLabel.js +0 -29
- package/pf-label/BaseLabel.js.map +0 -1
- package/pf-spinner/BaseSpinner.css +0 -20
- package/pf-spinner/BaseSpinner.d.ts +0 -27
- package/pf-spinner/BaseSpinner.js +0 -45
- package/pf-spinner/BaseSpinner.js.map +0 -1
- package/pf-switch/BaseSwitch.css +0 -36
- package/pf-switch/BaseSwitch.d.ts +0 -19
- package/pf-switch/BaseSwitch.js +0 -109
- package/pf-switch/BaseSwitch.js.map +0 -1
- package/pf-tabs/BaseTab.css +0 -60
- package/pf-tabs/BaseTab.d.ts +0 -32
- package/pf-tabs/BaseTab.js +0 -83
- package/pf-tabs/BaseTab.js.map +0 -1
- package/pf-tabs/BaseTabPanel.css +0 -7
- package/pf-tabs/BaseTabPanel.d.ts +0 -7
- package/pf-tabs/BaseTabPanel.js +0 -36
- package/pf-tabs/BaseTabPanel.js.map +0 -1
- package/pf-tabs/BaseTabs.css +0 -86
- package/pf-tabs/BaseTabs.d.ts +0 -38
- package/pf-tabs/BaseTabs.js +0 -221
- package/pf-tabs/BaseTabs.js.map +0 -1
- package/pf-tile/BaseTile.d.ts +0 -13
- package/pf-tile/BaseTile.js +0 -28
- package/pf-tile/BaseTile.js.map +0 -1
- package/pf-tooltip/BaseTooltip.css +0 -70
- package/pf-tooltip/BaseTooltip.d.ts +0 -16
- package/pf-tooltip/BaseTooltip.js +0 -54
- package/pf-tooltip/BaseTooltip.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { test } from '@playwright/test';
|
|
2
2
|
import { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';
|
|
3
|
+
import { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';
|
|
3
4
|
const tagName = 'pf-popover';
|
|
4
5
|
test.describe(tagName, () => {
|
|
5
6
|
test('snapshot', async ({ page }) => {
|
|
@@ -7,5 +8,16 @@ test.describe(tagName, () => {
|
|
|
7
8
|
await componentPage.navigate();
|
|
8
9
|
await componentPage.snapshot();
|
|
9
10
|
});
|
|
11
|
+
test('ssr', async ({ browser }) => {
|
|
12
|
+
const fixture = new SSRPage({
|
|
13
|
+
tagName,
|
|
14
|
+
browser,
|
|
15
|
+
demoDir: new URL('../demo/', import.meta.url),
|
|
16
|
+
importSpecifiers: [
|
|
17
|
+
`@patternfly/elements/${tagName}/${tagName}.js`,
|
|
18
|
+
],
|
|
19
|
+
});
|
|
20
|
+
await fixture.snapshots();
|
|
21
|
+
});
|
|
10
22
|
});
|
|
11
23
|
//# sourceMappingURL=pf-popover.e2e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-popover.e2e.js","sourceRoot":"","sources":["pf-popover.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"pf-popover.e2e.js","sourceRoot":"","sources":["pf-popover.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,kDAAkD,CAAC;AAE3E,MAAM,OAAO,GAAG,YAAY,CAAC;AAE7B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,OAAO;YACP,OAAO;YACP,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7C,gBAAgB,EAAE;gBAChB,wBAAwB,OAAO,IAAI,OAAO,KAAK;aAChD;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\nimport { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';\n\nconst tagName = 'pf-popover';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate();\n await componentPage.snapshot();\n });\n\n test('ssr', async ({ browser }) => {\n const fixture = new SSRPage({\n tagName,\n browser,\n demoDir: new URL('../demo/', import.meta.url),\n importSpecifiers: [\n `@patternfly/elements/${tagName}/${tagName}.js`,\n ],\n });\n await fixture.snapshots();\n });\n});\n"]}
|
|
@@ -23,17 +23,6 @@ describe('<pf-popover>', function () {
|
|
|
23
23
|
async function expectA11yAxe() {
|
|
24
24
|
await expect(element).to.be.accessible();
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Assert that the accessibility tree reports the expected snapshot
|
|
28
|
-
* e.g. for a closed popover, does not announce popover child content
|
|
29
|
-
* e.g. for an opened popover, it does announce popover child content
|
|
30
|
-
* If the expected children snapshot is undefined, then assistive technology
|
|
31
|
-
* reports nothing at all, e.g. a popover element with no attrs and no children
|
|
32
|
-
*/
|
|
33
|
-
async function expectA11ySnapshot(expected = { role: 'WebArea', name: '' }) {
|
|
34
|
-
const snapshot = await a11ySnapshot();
|
|
35
|
-
expect(snapshot).to.deep.equal(expected);
|
|
36
|
-
}
|
|
37
26
|
function resetElement() {
|
|
38
27
|
document.querySelectorAll('pf-popover').forEach(e => e.remove());
|
|
39
28
|
// @ts-expect-error: resetting test state, so we don't mind the ts error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-popover.spec.js","sourceRoot":"","sources":["pf-popover.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, html, fixture, fixtureCleanup, nextFrame } from '@open-wc/testing';\nimport { a11ySnapshot, type A11yTreeSnapshot } from '@patternfly/pfe-tools/test/a11y-snapshot.js';\nimport { clickElementAtCenter } from '@patternfly/pfe-tools/test/utils.js';\nimport { sendKeys, resetMouse } from '@web/test-runner-commands';\nimport { PfPopover } from '@patternfly/elements/pf-popover/pf-popover.js';\nimport { PfButton } from '@patternfly/elements/pf-button/pf-button.js';\n\nfunction press(key: string) {\n return async function() {\n await sendKeys({ press: key });\n };\n}\n\ndescribe('<pf-popover>', function() {\n let element: PfPopover;\n\n /** create a simple test fixture */\n async function setupSimpleInstance() {\n element = await fixture<PfPopover>(html`<pf-popover></pf-popover>`);\n }\n\n /** Wait on the element's update cycle */\n async function updateComplete() {\n await element.updateComplete;\n }\n\n /** Asserts that an aXe audit on the page passes */\n async function expectA11yAxe() {\n await expect(element).to.be.accessible();\n }\n\n /**\n * Assert that the accessibility tree reports the expected snapshot\n * e.g. for a closed popover, does not announce popover child content\n * e.g. for an opened popover, it does announce popover child content\n * If the expected children snapshot is undefined, then assistive technology\n * reports nothing at all, e.g. a popover element with no attrs and no children\n */\n async function expectA11ySnapshot(expected: A11yTreeSnapshot = { role: 'WebArea', name: '' }) {\n const snapshot = await a11ySnapshot();\n expect(snapshot).to.deep.equal(expected);\n }\n\n function resetElement() {\n document.querySelectorAll('pf-popover').forEach(e => e.remove());\n // @ts-expect-error: resetting test state, so we don't mind the ts error.\n element = undefined;\n }\n\n afterEach(resetElement);\n afterEach(fixtureCleanup);\n\n describe('simply instantiating', function() {\n beforeEach(setupSimpleInstance);\n it('should upgrade', async function() {\n const klass = customElements.get('pf-popover');\n expect(element)\n .to.be.an.instanceOf(klass)\n .and\n .to.be.an.instanceOf(PfPopover);\n });\n it('should be accessible', expectA11yAxe);\n it('imperatively instantiates', function() {\n expect(document.createElement('pf-popover'))\n .to.be.an.instanceof(PfPopover);\n });\n it('should not report anything to assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children).to.not.be.ok;\n });\n });\n\n describe('with a slotted trigger; and with heading, body, and footer attributes', function() {\n // these tests are flaky, soo...\n beforeEach(resetElement);\n beforeEach(nextFrame);\n beforeEach(resetElement);\n beforeEach(nextFrame);\n beforeEach(resetElement);\n beforeEach(nextFrame);\n\n /** create a test fixture with slotted trigger and content attrs */\n beforeEach(async function setupPopoverWithSlottedTriggerAndContentAttrs() {\n element = await fixture<PfPopover>(html`\n <pf-popover heading=\"Popover heading\"\n body=\"Popovers are triggered by click rather than hover.\"\n footer=\"Popover footer\">\n <pf-button>Toggle popover</pf-button>\n </pf-popover>\n `);\n });\n\n it('should be accessible', expectA11yAxe);\n\n it('should hide popover content from assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.not.be.ok;\n });\n\n describe('tabbing to the trigger', function() {\n beforeEach(resetElement);\n beforeEach(async function setupPopoverWithSlottedTriggerAndContentAttrs() {\n element = await fixture<PfPopover>(html`\n <pf-popover heading=\"Popover heading\"\n body=\"Popovers are triggered by click rather than hover.\"\n footer=\"Popover footer\">\n <pf-button>Toggle popover</pf-button>\n </pf-popover>\n `);\n });\n\n beforeEach(updateComplete);\n beforeEach(press('Tab'));\n beforeEach(updateComplete);\n\n it('doesn\\'t steal tab order', function() {\n expect(document.activeElement).to.be.an.instanceof(PfButton);\n });\n\n describe('and pressing Enter', function() {\n beforeEach(updateComplete);\n beforeEach(press('Enter'));\n beforeEach(updateComplete);\n it('should show popover content to assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.be.ok;\n });\n describe('then pressing Enter again', function() {\n beforeEach(updateComplete);\n beforeEach(press('Enter'));\n beforeEach(updateComplete);\n it('should hide popover content from assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot?.children?.length).to.equal(1);\n const dialog = snapshot.children?.find(x => x.role === 'dialog');\n expect(dialog).to.not.be.ok;\n });\n });\n describe('then pressing Escape', function() {\n beforeEach(updateComplete);\n beforeEach(press('Escape'));\n beforeEach(updateComplete);\n it('should hide popover content from assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot?.children?.length).to.equal(1);\n const dialog = snapshot.children?.find(x => x.role === 'dialog');\n expect(dialog).to.not.be.ok;\n });\n });\n });\n });\n });\n\n describe('with a trigger and a sibling button', function() {\n let btn1: HTMLButtonElement;\n let btn2: HTMLButtonElement;\n\n async function clickButton1() {\n await clickElementAtCenter(btn1);\n await resetMouse();\n }\n\n async function clickButton2() {\n await clickElementAtCenter(btn2);\n await resetMouse();\n }\n\n beforeEach(async function() {\n const container = await fixture(html`\n <div>\n <pf-popover id=\"popover\"\n trigger=\"btn-1\"\n heading=\"Popover heading\"\n body=\"Popovers are triggered by click rather than hover.\"\n footer=\"Popover footer\"></pf-popover>\n <button id=\"btn-1\">Toggle popover 1</button>\n <button id=\"btn-2\">Toggle popover 2</button>\n </div>\n `);\n element = container.querySelector('pf-popover')!;\n btn1 = container.querySelector('#btn-1')!;\n btn2 = container.querySelector('#btn-2')!;\n });\n\n it('starts closed', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.not.be.ok;\n });\n\n describe('clicking the trigger', function() {\n beforeEach(updateComplete);\n beforeEach(clickButton1);\n beforeEach(updateComplete);\n it('shows the popover', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.be.ok;\n });\n });\n\n describe('setting the trigger to the sibling button', function() {\n beforeEach(updateComplete);\n beforeEach(function() {\n element.setAttribute('trigger', 'btn-2');\n });\n beforeEach(updateComplete);\n describe('clicking the first button', function() {\n beforeEach(updateComplete);\n beforeEach(clickButton1);\n beforeEach(updateComplete);\n it('remains closed', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot).to.deep.equal({\n name: '',\n role: 'WebArea',\n children: [\n { role: 'button', name: 'Toggle popover 1', focused: true },\n { role: 'button', name: 'Toggle popover 2' },\n ],\n });\n });\n });\n describe('clicking the sibling button', function() {\n beforeEach(updateComplete);\n beforeEach(clickButton2);\n beforeEach(updateComplete);\n it('shows the popover', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.be.ok;\n });\n });\n });\n describe('then pressing the Enter key', function() {\n beforeEach(updateComplete);\n // Close the popover\n beforeEach(press('Enter'));\n beforeEach(updateComplete);\n it('closes the popover', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot).to.deep.equal({\n role: 'WebArea',\n name: '',\n children: [\n {\n name: 'Toggle popover 1',\n role: 'button',\n },\n {\n name: 'Toggle popover 2',\n role: 'button',\n },\n ],\n });\n });\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"pf-popover.spec.js","sourceRoot":"","sources":["pf-popover.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAEvE,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,KAAK;QACV,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,cAAc,EAAE;IACvB,IAAI,OAAkB,CAAC;IAEvB,mCAAmC;IACnC,KAAK,UAAU,mBAAmB;QAChC,OAAO,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA,2BAA2B,CAAC,CAAC;IACtE,CAAC;IAED,yCAAyC;IACzC,KAAK,UAAU,cAAc;QAC3B,MAAM,OAAO,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,mDAAmD;IACnD,KAAK,UAAU,aAAa;QAC1B,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,SAAS,YAAY;QACnB,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,yEAAyE;QACzE,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,YAAY,CAAC,CAAC;IACxB,SAAS,CAAC,cAAc,CAAC,CAAC;IAE1B,QAAQ,CAAC,sBAAsB,EAAE;QAC/B,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAChC,EAAE,CAAC,gBAAgB,EAAE,KAAK;YACxB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC;iBACV,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;iBAC1B,GAAG;iBACH,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QAC1C,EAAE,CAAC,2BAA2B,EAAE;YAC9B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;iBACvC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,oDAAoD,EAAE,KAAK;YAC5D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;YACtC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uEAAuE,EAAE;QAChF,gCAAgC;QAChC,UAAU,CAAC,YAAY,CAAC,CAAC;QACzB,UAAU,CAAC,SAAS,CAAC,CAAC;QACtB,UAAU,CAAC,YAAY,CAAC,CAAC;QACzB,UAAU,CAAC,SAAS,CAAC,CAAC;QACtB,UAAU,CAAC,YAAY,CAAC,CAAC;QACzB,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtB,mEAAmE;QACnE,UAAU,CAAC,KAAK,UAAU,6CAA6C;YACrE,OAAO,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA;;;;;;OAMtC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QAE1C,EAAE,CAAC,uDAAuD,EAAE,KAAK;YAC/D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;YACtC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,wBAAwB,EAAE;YACjC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzB,UAAU,CAAC,KAAK,UAAU,6CAA6C;gBACrE,OAAO,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA;;;;;;SAMtC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3B,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACzB,UAAU,CAAC,cAAc,CAAC,CAAC;YAE3B,EAAE,CAAC,0BAA0B,EAAE;gBAC7B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,oBAAoB,EAAE;gBAC7B,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC3B,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3B,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC3B,EAAE,CAAC,qDAAqD,EAAE,KAAK;oBAC7D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;oBACtC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrE,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,2BAA2B,EAAE;oBACpC,UAAU,CAAC,cAAc,CAAC,CAAC;oBAC3B,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3B,UAAU,CAAC,cAAc,CAAC,CAAC;oBAC3B,EAAE,CAAC,uDAAuD,EAAE,KAAK;wBAC/D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;wBACtC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;wBACjE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,sBAAsB,EAAE;oBAC/B,UAAU,CAAC,cAAc,CAAC,CAAC;oBAC3B,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5B,UAAU,CAAC,cAAc,CAAC,CAAC;oBAC3B,EAAE,CAAC,uDAAuD,EAAE,KAAK;wBAC/D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;wBACtC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;wBACjE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qCAAqC,EAAE;QAC9C,IAAI,IAAuB,CAAC;QAC5B,IAAI,IAAuB,CAAC;QAE5B,KAAK,UAAU,YAAY;YACzB,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,UAAU,EAAE,CAAC;QACrB,CAAC;QAED,KAAK,UAAU,YAAY;YACzB,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,UAAU,EAAE,CAAC;QACrB,CAAC;QAED,UAAU,CAAC,KAAK;YACd,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;;;;;;;;;OAUnC,CAAC,CAAC;YACH,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAE,CAAC;YACjD,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAE,CAAC;YAC1C,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,eAAe,EAAE,KAAK;YACvB,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;YACtC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,sBAAsB,EAAE;YAC/B,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3B,UAAU,CAAC,YAAY,CAAC,CAAC;YACzB,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3B,EAAE,CAAC,mBAAmB,EAAE,KAAK;gBAC3B,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;gBACtC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,2CAA2C,EAAE;YACpD,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3B,UAAU,CAAC;gBACT,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3B,QAAQ,CAAC,2BAA2B,EAAE;gBACpC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC3B,UAAU,CAAC,YAAY,CAAC,CAAC;gBACzB,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC3B,EAAE,CAAC,gBAAgB,EAAE,KAAK;oBACxB,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;oBACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC7B,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE;4BACR,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE;4BAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE;yBAC7C;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,6BAA6B,EAAE;gBACtC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC3B,UAAU,CAAC,YAAY,CAAC,CAAC;gBACzB,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC3B,EAAE,CAAC,mBAAmB,EAAE,KAAK;oBAC3B,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;oBACtC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrE,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,6BAA6B,EAAE;YACtC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3B,oBAAoB;YACpB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3B,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3B,EAAE,CAAC,oBAAoB,EAAE,KAAK;gBAC5B,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;gBACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,kBAAkB;4BACxB,IAAI,EAAE,QAAQ;yBACf;wBACD;4BACE,IAAI,EAAE,kBAAkB;4BACxB,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect, html, fixture, fixtureCleanup, nextFrame } from '@open-wc/testing';\nimport { a11ySnapshot } from '@patternfly/pfe-tools/test/a11y-snapshot.js';\nimport { clickElementAtCenter } from '@patternfly/pfe-tools/test/utils.js';\nimport { sendKeys, resetMouse } from '@web/test-runner-commands';\nimport { PfPopover } from '@patternfly/elements/pf-popover/pf-popover.js';\nimport { PfButton } from '@patternfly/elements/pf-button/pf-button.js';\n\nfunction press(key: string) {\n return async function() {\n await sendKeys({ press: key });\n };\n}\n\ndescribe('<pf-popover>', function() {\n let element: PfPopover;\n\n /** create a simple test fixture */\n async function setupSimpleInstance() {\n element = await fixture<PfPopover>(html`<pf-popover></pf-popover>`);\n }\n\n /** Wait on the element's update cycle */\n async function updateComplete() {\n await element.updateComplete;\n }\n\n /** Asserts that an aXe audit on the page passes */\n async function expectA11yAxe() {\n await expect(element).to.be.accessible();\n }\n\n function resetElement() {\n document.querySelectorAll('pf-popover').forEach(e => e.remove());\n // @ts-expect-error: resetting test state, so we don't mind the ts error.\n element = undefined;\n }\n\n afterEach(resetElement);\n afterEach(fixtureCleanup);\n\n describe('simply instantiating', function() {\n beforeEach(setupSimpleInstance);\n it('should upgrade', async function() {\n const klass = customElements.get('pf-popover');\n expect(element)\n .to.be.an.instanceOf(klass)\n .and\n .to.be.an.instanceOf(PfPopover);\n });\n it('should be accessible', expectA11yAxe);\n it('imperatively instantiates', function() {\n expect(document.createElement('pf-popover'))\n .to.be.an.instanceof(PfPopover);\n });\n it('should not report anything to assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children).to.not.be.ok;\n });\n });\n\n describe('with a slotted trigger; and with heading, body, and footer attributes', function() {\n // these tests are flaky, soo...\n beforeEach(resetElement);\n beforeEach(nextFrame);\n beforeEach(resetElement);\n beforeEach(nextFrame);\n beforeEach(resetElement);\n beforeEach(nextFrame);\n\n /** create a test fixture with slotted trigger and content attrs */\n beforeEach(async function setupPopoverWithSlottedTriggerAndContentAttrs() {\n element = await fixture<PfPopover>(html`\n <pf-popover heading=\"Popover heading\"\n body=\"Popovers are triggered by click rather than hover.\"\n footer=\"Popover footer\">\n <pf-button>Toggle popover</pf-button>\n </pf-popover>\n `);\n });\n\n it('should be accessible', expectA11yAxe);\n\n it('should hide popover content from assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.not.be.ok;\n });\n\n describe('tabbing to the trigger', function() {\n beforeEach(resetElement);\n beforeEach(async function setupPopoverWithSlottedTriggerAndContentAttrs() {\n element = await fixture<PfPopover>(html`\n <pf-popover heading=\"Popover heading\"\n body=\"Popovers are triggered by click rather than hover.\"\n footer=\"Popover footer\">\n <pf-button>Toggle popover</pf-button>\n </pf-popover>\n `);\n });\n\n beforeEach(updateComplete);\n beforeEach(press('Tab'));\n beforeEach(updateComplete);\n\n it('doesn\\'t steal tab order', function() {\n expect(document.activeElement).to.be.an.instanceof(PfButton);\n });\n\n describe('and pressing Enter', function() {\n beforeEach(updateComplete);\n beforeEach(press('Enter'));\n beforeEach(updateComplete);\n it('should show popover content to assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.be.ok;\n });\n describe('then pressing Enter again', function() {\n beforeEach(updateComplete);\n beforeEach(press('Enter'));\n beforeEach(updateComplete);\n it('should hide popover content from assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot?.children?.length).to.equal(1);\n const dialog = snapshot.children?.find(x => x.role === 'dialog');\n expect(dialog).to.not.be.ok;\n });\n });\n describe('then pressing Escape', function() {\n beforeEach(updateComplete);\n beforeEach(press('Escape'));\n beforeEach(updateComplete);\n it('should hide popover content from assistive technology', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot?.children?.length).to.equal(1);\n const dialog = snapshot.children?.find(x => x.role === 'dialog');\n expect(dialog).to.not.be.ok;\n });\n });\n });\n });\n });\n\n describe('with a trigger and a sibling button', function() {\n let btn1: HTMLButtonElement;\n let btn2: HTMLButtonElement;\n\n async function clickButton1() {\n await clickElementAtCenter(btn1);\n await resetMouse();\n }\n\n async function clickButton2() {\n await clickElementAtCenter(btn2);\n await resetMouse();\n }\n\n beforeEach(async function() {\n const container = await fixture(html`\n <div>\n <pf-popover id=\"popover\"\n trigger=\"btn-1\"\n heading=\"Popover heading\"\n body=\"Popovers are triggered by click rather than hover.\"\n footer=\"Popover footer\"></pf-popover>\n <button id=\"btn-1\">Toggle popover 1</button>\n <button id=\"btn-2\">Toggle popover 2</button>\n </div>\n `);\n element = container.querySelector('pf-popover')!;\n btn1 = container.querySelector('#btn-1')!;\n btn2 = container.querySelector('#btn-2')!;\n });\n\n it('starts closed', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.not.be.ok;\n });\n\n describe('clicking the trigger', function() {\n beforeEach(updateComplete);\n beforeEach(clickButton1);\n beforeEach(updateComplete);\n it('shows the popover', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.be.ok;\n });\n });\n\n describe('setting the trigger to the sibling button', function() {\n beforeEach(updateComplete);\n beforeEach(function() {\n element.setAttribute('trigger', 'btn-2');\n });\n beforeEach(updateComplete);\n describe('clicking the first button', function() {\n beforeEach(updateComplete);\n beforeEach(clickButton1);\n beforeEach(updateComplete);\n it('remains closed', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot).to.deep.equal({\n name: '',\n role: 'WebArea',\n children: [\n { role: 'button', name: 'Toggle popover 1', focused: true },\n { role: 'button', name: 'Toggle popover 2' },\n ],\n });\n });\n });\n describe('clicking the sibling button', function() {\n beforeEach(updateComplete);\n beforeEach(clickButton2);\n beforeEach(updateComplete);\n it('shows the popover', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot.children?.find(x => x.role === 'dialog')).to.be.ok;\n });\n });\n });\n describe('then pressing the Enter key', function() {\n beforeEach(updateComplete);\n // Close the popover\n beforeEach(press('Enter'));\n beforeEach(updateComplete);\n it('closes the popover', async function() {\n const snapshot = await a11ySnapshot();\n expect(snapshot).to.deep.equal({\n role: 'WebArea',\n name: '',\n children: [\n {\n name: 'Toggle popover 1',\n role: 'button',\n },\n {\n name: 'Toggle popover 2',\n role: 'button',\n },\n ],\n });\n });\n });\n });\n});\n"]}
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import type { PropertyValues } from 'lit';
|
|
1
|
+
import type { PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
import { LitElement } from 'lit';
|
|
3
3
|
/**
|
|
4
4
|
* A progress bar gives the user a visual representation of their completion status of an ongoing process or task.
|
|
5
5
|
* @summary Display completion status of ongoing process or task.
|
|
6
|
-
* @cssprop {<length>} --pf-c-progress--GridGap
|
|
6
|
+
* @cssprop {<length>} [--pf-c-progress--GridGap=1rem]
|
|
7
7
|
* Gap between the sections of the progress bar.
|
|
8
|
-
*
|
|
9
|
-
* @cssprop {<color>} --pf-c-progress__bar--before--BackgroundColor
|
|
8
|
+
*
|
|
9
|
+
* @cssprop {<color>} [--pf-c-progress__bar--before--BackgroundColor=#06c]
|
|
10
10
|
* Color of the progress bar.
|
|
11
|
-
*
|
|
12
|
-
* @cssprop {<length>} --pf-c-progress__bar--Height
|
|
11
|
+
*
|
|
12
|
+
* @cssprop {<length>} [--pf-c-progress__bar--Height=1rem]
|
|
13
13
|
* Height of the progress bar.
|
|
14
|
-
*
|
|
15
|
-
* @cssprop {<color>} --pf-c-progress__bar--BackgroundColor
|
|
14
|
+
*
|
|
15
|
+
* @cssprop {<color>} [--pf-c-progress__bar--BackgroundColor=#ffffff]
|
|
16
16
|
* Background color of the progress bar.
|
|
17
|
-
*
|
|
18
|
-
* @cssprop {<color>} --pf-c-progress__status-icon--Color
|
|
17
|
+
*
|
|
18
|
+
* @cssprop {<color>} [--pf-c-progress__status-icon--Color=#151515]
|
|
19
19
|
* Color of the status icon.
|
|
20
|
-
*
|
|
21
|
-
* @cssprop {<length>} --pf-c-progress__status-icon--MarginLeft
|
|
20
|
+
*
|
|
21
|
+
* @cssprop {<length>} [--pf-c-progress__status-icon--MarginLeft=0.5rem]
|
|
22
22
|
* Margin left of the status icon.
|
|
23
|
-
*
|
|
24
|
-
* @cssprop {<length>} --pf-c-progress__indicator--Height
|
|
23
|
+
*
|
|
24
|
+
* @cssprop {<length>} [--pf-c-progress__indicator--Height=1rem]
|
|
25
25
|
* Height of the progress bar indicator.
|
|
26
|
-
*
|
|
27
|
-
* @cssprop {<color>} --pf-c-progress__indicator--BackgroundColor
|
|
26
|
+
*
|
|
27
|
+
* @cssprop {<color>} [--pf-c-progress__indicator--BackgroundColor=#ffffff]
|
|
28
28
|
* Background color of the progress bar indicator.
|
|
29
|
-
*
|
|
30
|
-
* @cssprop {<color>} --pf-c-progress--m-success__bar--BackgroundColor
|
|
29
|
+
*
|
|
30
|
+
* @cssprop {<color>} [--pf-c-progress--m-success__bar--BackgroundColor=#3e8635]
|
|
31
31
|
* Background color of the progress bar when variant is success.
|
|
32
|
-
*
|
|
33
|
-
* @cssprop {<color>} --pf-c-progress--m-warning__bar--BackgroundColor
|
|
32
|
+
*
|
|
33
|
+
* @cssprop {<color>} [--pf-c-progress--m-warning__bar--BackgroundColor=#f0ab00]
|
|
34
34
|
* Background color of the progress bar when variant is warning.
|
|
35
|
-
*
|
|
36
|
-
* @cssprop {<color>} --pf-c-progress--m-danger__bar--BackgroundColor
|
|
35
|
+
*
|
|
36
|
+
* @cssprop {<color>} [--pf-c-progress--m-danger__bar--BackgroundColor=#c9190b]
|
|
37
37
|
* Background color of the progress bar when variant is danger.
|
|
38
|
-
*
|
|
39
|
-
* @cssprop {<color>} --pf-c-progress--m-success__status-icon--Color
|
|
38
|
+
*
|
|
39
|
+
* @cssprop {<color>} [--pf-c-progress--m-success__status-icon--Color=#3e8635]
|
|
40
40
|
* Color of the status icon when variant is success.
|
|
41
|
-
*
|
|
42
|
-
* @cssprop {<color>} --pf-c-progress--m-warning__status-icon--Color
|
|
41
|
+
*
|
|
42
|
+
* @cssprop {<color>} [--pf-c-progress--m-warning__status-icon--Color=#f0ab00]
|
|
43
43
|
* Color of the status icon when variant is warning.
|
|
44
|
-
*
|
|
45
|
-
* @cssprop {<color>} --pf-c-progress--m-danger__status-icon--Color
|
|
44
|
+
*
|
|
45
|
+
* @cssprop {<color>} [--pf-c-progress--m-danger__status-icon--Color=#c9190b]
|
|
46
46
|
* Color of the status icon when variant is danger.
|
|
47
|
-
*
|
|
48
|
-
* @cssprop {<color>} --pf-c-progress--m-success--m-inside__measure--Color
|
|
47
|
+
*
|
|
48
|
+
* @cssprop {<color>} [--pf-c-progress--m-success--m-inside__measure--Color=#ffffff]
|
|
49
49
|
* Color of the progress bar measure when variant is success and measure location is inside.
|
|
50
|
-
*
|
|
51
|
-
* @cssprop {<length>} --pf-c-progress--m-outside__measure--FontSize
|
|
50
|
+
*
|
|
51
|
+
* @cssprop {<length>} [--pf-c-progress--m-outside__measure--FontSize=0.875rem]
|
|
52
52
|
* Font size of the progress bar measure when measure location is outside.
|
|
53
|
-
*
|
|
54
|
-
* @cssprop {<length>} --pf-c-progress--m-sm__bar--Height
|
|
53
|
+
*
|
|
54
|
+
* @cssprop {<length>} [--pf-c-progress--m-sm__bar--Height=0.5rem]
|
|
55
55
|
* Height of the progress bar when the size is small.
|
|
56
|
-
*
|
|
57
|
-
* @cssprop {<length>} --pf-c-progress--m-sm__description--FontSize
|
|
56
|
+
*
|
|
57
|
+
* @cssprop {<length>} [--pf-c-progress--m-sm__description--FontSize=0.875rem]
|
|
58
58
|
* Font size of the progress bar description when the size is small.
|
|
59
|
-
*
|
|
60
|
-
* @cssprop {<length>} --pf-c-progress--m-lg__bar--Height
|
|
59
|
+
*
|
|
60
|
+
* @cssprop {<length>} [--pf-c-progress--m-lg__bar--Height=1.5rem]
|
|
61
61
|
* Height of the progress bar when the size is large.
|
|
62
|
-
*
|
|
62
|
+
*
|
|
63
63
|
*/
|
|
64
64
|
export declare class PfProgress extends LitElement {
|
|
65
65
|
#private;
|
|
@@ -81,7 +81,7 @@ export declare class PfProgress extends LitElement {
|
|
|
81
81
|
/** Variant of the progress bar */
|
|
82
82
|
variant?: 'success' | 'danger' | 'warning';
|
|
83
83
|
willUpdate(changed: PropertyValues<this>): void;
|
|
84
|
-
render():
|
|
84
|
+
render(): TemplateResult<1>;
|
|
85
85
|
}
|
|
86
86
|
declare global {
|
|
87
87
|
interface HTMLElementTagNameMap {
|
|
@@ -13,67 +13,6 @@ const ICONS = new Map(Object.entries({
|
|
|
13
13
|
danger: { icon: 'circle-xmark' },
|
|
14
14
|
warning: { icon: 'triangle-exclamation' },
|
|
15
15
|
}));
|
|
16
|
-
/**
|
|
17
|
-
* A progress bar gives the user a visual representation of their completion status of an ongoing process or task.
|
|
18
|
-
* @summary Display completion status of ongoing process or task.
|
|
19
|
-
* @cssprop {<length>} --pf-c-progress--GridGap
|
|
20
|
-
* Gap between the sections of the progress bar.
|
|
21
|
-
* {@default `1rem`}
|
|
22
|
-
* @cssprop {<color>} --pf-c-progress__bar--before--BackgroundColor
|
|
23
|
-
* Color of the progress bar.
|
|
24
|
-
* {@default `#06c`}
|
|
25
|
-
* @cssprop {<length>} --pf-c-progress__bar--Height
|
|
26
|
-
* Height of the progress bar.
|
|
27
|
-
* {@default `1rem`}
|
|
28
|
-
* @cssprop {<color>} --pf-c-progress__bar--BackgroundColor
|
|
29
|
-
* Background color of the progress bar.
|
|
30
|
-
* {@default `#ffffff`}
|
|
31
|
-
* @cssprop {<color>} --pf-c-progress__status-icon--Color
|
|
32
|
-
* Color of the status icon.
|
|
33
|
-
* {@default `#151515`}
|
|
34
|
-
* @cssprop {<length>} --pf-c-progress__status-icon--MarginLeft
|
|
35
|
-
* Margin left of the status icon.
|
|
36
|
-
* {@default `0.5rem`}
|
|
37
|
-
* @cssprop {<length>} --pf-c-progress__indicator--Height
|
|
38
|
-
* Height of the progress bar indicator.
|
|
39
|
-
* {@default `1rem`}
|
|
40
|
-
* @cssprop {<color>} --pf-c-progress__indicator--BackgroundColor
|
|
41
|
-
* Background color of the progress bar indicator.
|
|
42
|
-
* {@default `#ffffff`}
|
|
43
|
-
* @cssprop {<color>} --pf-c-progress--m-success__bar--BackgroundColor
|
|
44
|
-
* Background color of the progress bar when variant is success.
|
|
45
|
-
* {@default `#3e8635`}
|
|
46
|
-
* @cssprop {<color>} --pf-c-progress--m-warning__bar--BackgroundColor
|
|
47
|
-
* Background color of the progress bar when variant is warning.
|
|
48
|
-
* {@default `#f0ab00`}
|
|
49
|
-
* @cssprop {<color>} --pf-c-progress--m-danger__bar--BackgroundColor
|
|
50
|
-
* Background color of the progress bar when variant is danger.
|
|
51
|
-
* {@default `#c9190b`}
|
|
52
|
-
* @cssprop {<color>} --pf-c-progress--m-success__status-icon--Color
|
|
53
|
-
* Color of the status icon when variant is success.
|
|
54
|
-
* {@default `#3e8635`}
|
|
55
|
-
* @cssprop {<color>} --pf-c-progress--m-warning__status-icon--Color
|
|
56
|
-
* Color of the status icon when variant is warning.
|
|
57
|
-
* {@default `#f0ab00`}
|
|
58
|
-
* @cssprop {<color>} --pf-c-progress--m-danger__status-icon--Color
|
|
59
|
-
* Color of the status icon when variant is danger.
|
|
60
|
-
* {@default `#c9190b`}
|
|
61
|
-
* @cssprop {<color>} --pf-c-progress--m-success--m-inside__measure--Color
|
|
62
|
-
* Color of the progress bar measure when variant is success and measure location is inside.
|
|
63
|
-
* {@default `#ffffff`}
|
|
64
|
-
* @cssprop {<length>} --pf-c-progress--m-outside__measure--FontSize
|
|
65
|
-
* Font size of the progress bar measure when measure location is outside.
|
|
66
|
-
* {@default `0.875rem`}
|
|
67
|
-
* @cssprop {<length>} --pf-c-progress--m-sm__bar--Height
|
|
68
|
-
* Height of the progress bar when the size is small.
|
|
69
|
-
* {@default `0.5rem`}
|
|
70
|
-
* @cssprop {<length>} --pf-c-progress--m-sm__description--FontSize
|
|
71
|
-
* Font size of the progress bar description when the size is small.
|
|
72
|
-
* {@default `0.875rem`}
|
|
73
|
-
* @cssprop {<length>} --pf-c-progress--m-lg__bar--Height
|
|
74
|
-
* Height of the progress bar when the size is large.
|
|
75
|
-
* {@default `1.5rem`}
|
|
76
|
-
*/
|
|
77
16
|
let PfProgress = class PfProgress extends LitElement {
|
|
78
17
|
constructor() {
|
|
79
18
|
super(...arguments);
|
|
@@ -162,6 +101,7 @@ _PfProgress_icon_get = function _PfProgress_icon_get() {
|
|
|
162
101
|
return ICONS.get(this.variant ?? '')?.icon;
|
|
163
102
|
};
|
|
164
103
|
PfProgress.styles = [styles];
|
|
104
|
+
PfProgress.version = "4.0.0";
|
|
165
105
|
__decorate([
|
|
166
106
|
property({ reflect: true, type: Number })
|
|
167
107
|
], PfProgress.prototype, "value", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-progress.js","sourceRoot":"","sources":["pf-progress.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyValues } from 'lit';\nimport { LitElement, html } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport styles from './pf-progress.css';\n\nconst ICONS = new Map(Object.entries({\n success: { icon: 'circle-check' },\n danger: { icon: 'circle-xmark' },\n warning: { icon: 'triangle-exclamation' },\n}));\n\n/**\n * A progress bar gives the user a visual representation of their completion status of an ongoing process or task.\n * @summary Display completion status of ongoing process or task.\n * @cssprop {<length>} --pf-c-progress--GridGap\n * Gap between the sections of the progress bar.\n * {@default `1rem`}\n * @cssprop {<color>} --pf-c-progress__bar--before--BackgroundColor\n * Color of the progress bar.\n * {@default `#06c`}\n * @cssprop {<length>} --pf-c-progress__bar--Height\n * Height of the progress bar.\n * {@default `1rem`}\n * @cssprop {<color>} --pf-c-progress__bar--BackgroundColor\n * Background color of the progress bar.\n * {@default `#ffffff`}\n * @cssprop {<color>} --pf-c-progress__status-icon--Color\n * Color of the status icon.\n * {@default `#151515`}\n * @cssprop {<length>} --pf-c-progress__status-icon--MarginLeft\n * Margin left of the status icon.\n * {@default `0.5rem`}\n * @cssprop {<length>} --pf-c-progress__indicator--Height\n * Height of the progress bar indicator.\n * {@default `1rem`}\n * @cssprop {<color>} --pf-c-progress__indicator--BackgroundColor\n * Background color of the progress bar indicator.\n * {@default `#ffffff`}\n * @cssprop {<color>} --pf-c-progress--m-success__bar--BackgroundColor\n * Background color of the progress bar when variant is success.\n * {@default `#3e8635`}\n * @cssprop {<color>} --pf-c-progress--m-warning__bar--BackgroundColor\n * Background color of the progress bar when variant is warning.\n * {@default `#f0ab00`}\n * @cssprop {<color>} --pf-c-progress--m-danger__bar--BackgroundColor\n * Background color of the progress bar when variant is danger.\n * {@default `#c9190b`}\n * @cssprop {<color>} --pf-c-progress--m-success__status-icon--Color\n * Color of the status icon when variant is success.\n * {@default `#3e8635`}\n * @cssprop {<color>} --pf-c-progress--m-warning__status-icon--Color\n * Color of the status icon when variant is warning.\n * {@default `#f0ab00`}\n * @cssprop {<color>} --pf-c-progress--m-danger__status-icon--Color\n * Color of the status icon when variant is danger.\n * {@default `#c9190b`}\n * @cssprop {<color>} --pf-c-progress--m-success--m-inside__measure--Color\n * Color of the progress bar measure when variant is success and measure location is inside.\n * {@default `#ffffff`}\n * @cssprop {<length>} --pf-c-progress--m-outside__measure--FontSize\n * Font size of the progress bar measure when measure location is outside.\n * {@default `0.875rem`}\n * @cssprop {<length>} --pf-c-progress--m-sm__bar--Height\n * Height of the progress bar when the size is small.\n * {@default `0.5rem`}\n * @cssprop {<length>} --pf-c-progress--m-sm__description--FontSize\n * Font size of the progress bar description when the size is small.\n * {@default `0.875rem`}\n * @cssprop {<length>} --pf-c-progress--m-lg__bar--Height\n * Height of the progress bar when the size is large.\n * {@default `1.5rem`}\n */\n@customElement('pf-progress')\nexport class PfProgress extends LitElement {\n static readonly styles = [styles];\n\n #internals = this.attachInternals();\n\n /** Represents the value of the progress bar */\n @property({ reflect: true, type: Number }) value = 0;\n\n /** Description (title) above the progress bar */\n @property() description?: string;\n\n /** Indicate whether to truncate the string description (title) */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'description-truncated',\n }) descriptionTruncated = false;\n\n /** Maximum value for the progress bar */\n @property({ type: Number, reflect: true }) max = 100;\n\n /** Minimum value for the progress bar */\n @property({ type: Number, reflect: true }) min = 0;\n\n /** Size of the progress bar (height) */\n @property() size?: 'sm' | 'lg';\n\n /** Where the percentage will be displayed with the progress element */\n @property({ attribute: 'measure-location' }) measureLocation?: 'outside' | 'inside' | 'none';\n\n /** Variant of the progress bar */\n @property() variant?: 'success' | 'danger' | 'warning';\n\n get #calculatedPercentage(): number {\n const { value, min, max } = this;\n const percentage = Math.round((value - min) / (max - min) * 100);\n if (Number.isNaN(percentage) || percentage < 0) {\n return 0;\n }\n return Math.min(percentage, 100);\n }\n\n get #icon() {\n return ICONS.get(this.variant ?? '')?.icon;\n }\n\n override willUpdate(changed: PropertyValues<this>) {\n if (changed.has('value') || changed.has('min') || changed.has('max')) {\n this.#internals.ariaValueNow = this.#calculatedPercentage.toString();\n }\n if (this.#icon) {\n import('@patternfly/elements/pf-icon/pf-icon.js');\n }\n if (this.descriptionTruncated) {\n import('@patternfly/elements/pf-tooltip/pf-tooltip.js');\n }\n }\n\n render() {\n const { size, measureLocation, variant, description, descriptionTruncated } = this;\n const icon = this.#icon;\n const singleLine = description?.length === 0;\n const pct = this.#calculatedPercentage;\n const width = `${pct}%`;\n\n return html`\n <div id=\"container\" class=\"${classMap({\n [size ?? '']: !!size,\n [measureLocation ?? '']: !!measureLocation,\n [variant ?? '']: !!variant,\n singleLine,\n descriptionTruncated,\n })}\">\n\n <div id=\"description\" aria-hidden=\"true\">${description ?? ''}</div>\n\n ${!descriptionTruncated ? '' : html`\n <pf-tooltip content=\"${this.description ?? ''}\"\n trigger=\"description\"></pf-tooltip>\n `}\n\n ${measureLocation === 'none' ? '' : html`\n <div id=\"status\" aria-hidden=\"true\">\n ${measureLocation !== 'inside' ? '' : width}\n <pf-icon set=\"fas\"\n icon=\"${ifDefined(icon)}\"\n size=\"md\"\n ?hidden=\"${!icon}\"\n ></pf-icon>\n </div>\n `}\n\n <progress id=\"progress\"\n max=\"100\"\n value=\"${pct}\"\n aria-valuemin=\"0\"\n aria-valuenow=\"${pct}\"\n aria-valuemax=\"100\"\n ></progress>\n\n ${measureLocation !== 'inside' ? '' : html`\n <span id=\"progress-span\"\n style=\"${styleMap({ width })}\"\n data-value=\"${width}\"></span>\n `}\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-progress': PfProgress;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pf-progress.js","sourceRoot":"","sources":["pf-progress.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyValues, TemplateResult } from 'lit';\nimport { LitElement, html } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport styles from './pf-progress.css';\n\nconst ICONS = new Map(Object.entries({\n success: { icon: 'circle-check' },\n danger: { icon: 'circle-xmark' },\n warning: { icon: 'triangle-exclamation' },\n}));\n\n/**\n * A progress bar gives the user a visual representation of their completion status of an ongoing process or task.\n * @summary Display completion status of ongoing process or task.\n * @cssprop {<length>} [--pf-c-progress--GridGap=1rem]\n * Gap between the sections of the progress bar.\n *\n * @cssprop {<color>} [--pf-c-progress__bar--before--BackgroundColor=#06c]\n * Color of the progress bar.\n *\n * @cssprop {<length>} [--pf-c-progress__bar--Height=1rem]\n * Height of the progress bar.\n *\n * @cssprop {<color>} [--pf-c-progress__bar--BackgroundColor=#ffffff]\n * Background color of the progress bar.\n *\n * @cssprop {<color>} [--pf-c-progress__status-icon--Color=#151515]\n * Color of the status icon.\n *\n * @cssprop {<length>} [--pf-c-progress__status-icon--MarginLeft=0.5rem]\n * Margin left of the status icon.\n *\n * @cssprop {<length>} [--pf-c-progress__indicator--Height=1rem]\n * Height of the progress bar indicator.\n *\n * @cssprop {<color>} [--pf-c-progress__indicator--BackgroundColor=#ffffff]\n * Background color of the progress bar indicator.\n *\n * @cssprop {<color>} [--pf-c-progress--m-success__bar--BackgroundColor=#3e8635]\n * Background color of the progress bar when variant is success.\n *\n * @cssprop {<color>} [--pf-c-progress--m-warning__bar--BackgroundColor=#f0ab00]\n * Background color of the progress bar when variant is warning.\n *\n * @cssprop {<color>} [--pf-c-progress--m-danger__bar--BackgroundColor=#c9190b]\n * Background color of the progress bar when variant is danger.\n *\n * @cssprop {<color>} [--pf-c-progress--m-success__status-icon--Color=#3e8635]\n * Color of the status icon when variant is success.\n *\n * @cssprop {<color>} [--pf-c-progress--m-warning__status-icon--Color=#f0ab00]\n * Color of the status icon when variant is warning.\n *\n * @cssprop {<color>} [--pf-c-progress--m-danger__status-icon--Color=#c9190b]\n * Color of the status icon when variant is danger.\n *\n * @cssprop {<color>} [--pf-c-progress--m-success--m-inside__measure--Color=#ffffff]\n * Color of the progress bar measure when variant is success and measure location is inside.\n *\n * @cssprop {<length>} [--pf-c-progress--m-outside__measure--FontSize=0.875rem]\n * Font size of the progress bar measure when measure location is outside.\n *\n * @cssprop {<length>} [--pf-c-progress--m-sm__bar--Height=0.5rem]\n * Height of the progress bar when the size is small.\n *\n * @cssprop {<length>} [--pf-c-progress--m-sm__description--FontSize=0.875rem]\n * Font size of the progress bar description when the size is small.\n *\n * @cssprop {<length>} [--pf-c-progress--m-lg__bar--Height=1.5rem]\n * Height of the progress bar when the size is large.\n *\n */\n@customElement('pf-progress')\nexport class PfProgress extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n #internals = this.attachInternals();\n\n /** Represents the value of the progress bar */\n @property({ reflect: true, type: Number }) value = 0;\n\n /** Description (title) above the progress bar */\n @property() description?: string;\n\n /** Indicate whether to truncate the string description (title) */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'description-truncated',\n }) descriptionTruncated = false;\n\n /** Maximum value for the progress bar */\n @property({ type: Number, reflect: true }) max = 100;\n\n /** Minimum value for the progress bar */\n @property({ type: Number, reflect: true }) min = 0;\n\n /** Size of the progress bar (height) */\n @property() size?: 'sm' | 'lg';\n\n /** Where the percentage will be displayed with the progress element */\n @property({ attribute: 'measure-location' }) measureLocation?: 'outside' | 'inside' | 'none';\n\n /** Variant of the progress bar */\n @property() variant?: 'success' | 'danger' | 'warning';\n\n get #calculatedPercentage(): number {\n const { value, min, max } = this;\n const percentage = Math.round((value - min) / (max - min) * 100);\n if (Number.isNaN(percentage) || percentage < 0) {\n return 0;\n }\n return Math.min(percentage, 100);\n }\n\n get #icon() {\n return ICONS.get(this.variant ?? '')?.icon;\n }\n\n override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('value') || changed.has('min') || changed.has('max')) {\n this.#internals.ariaValueNow = this.#calculatedPercentage.toString();\n }\n if (this.#icon) {\n import('@patternfly/elements/pf-icon/pf-icon.js');\n }\n if (this.descriptionTruncated) {\n import('@patternfly/elements/pf-tooltip/pf-tooltip.js');\n }\n }\n\n render(): TemplateResult<1> {\n const { size, measureLocation, variant, description, descriptionTruncated } = this;\n const icon = this.#icon;\n const singleLine = description?.length === 0;\n const pct = this.#calculatedPercentage;\n const width = `${pct}%`;\n\n return html`\n <div id=\"container\" class=\"${classMap({\n [size ?? '']: !!size,\n [measureLocation ?? '']: !!measureLocation,\n [variant ?? '']: !!variant,\n singleLine,\n descriptionTruncated,\n })}\">\n\n <div id=\"description\" aria-hidden=\"true\">${description ?? ''}</div>\n\n ${!descriptionTruncated ? '' : html`\n <pf-tooltip content=\"${this.description ?? ''}\"\n trigger=\"description\"></pf-tooltip>\n `}\n\n ${measureLocation === 'none' ? '' : html`\n <div id=\"status\" aria-hidden=\"true\">\n ${measureLocation !== 'inside' ? '' : width}\n <pf-icon set=\"fas\"\n icon=\"${ifDefined(icon)}\"\n size=\"md\"\n ?hidden=\"${!icon}\"\n ></pf-icon>\n </div>\n `}\n\n <progress id=\"progress\"\n max=\"100\"\n value=\"${pct}\"\n aria-valuemin=\"0\"\n aria-valuenow=\"${pct}\"\n aria-valuemax=\"100\"\n ></progress>\n\n ${measureLocation !== 'inside' ? '' : html`\n <span id=\"progress-span\"\n style=\"${styleMap({ width })}\"\n data-value=\"${width}\"></span>\n `}\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-progress': PfProgress;\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { test } from '@playwright/test';
|
|
2
2
|
import { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';
|
|
3
|
+
import { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';
|
|
3
4
|
const tagName = 'pf-progress';
|
|
4
5
|
test.describe(tagName, () => {
|
|
5
6
|
test('snapshot', async ({ page }) => {
|
|
@@ -7,5 +8,16 @@ test.describe(tagName, () => {
|
|
|
7
8
|
await componentPage.navigate();
|
|
8
9
|
await componentPage.snapshot();
|
|
9
10
|
});
|
|
11
|
+
test('ssr', async ({ browser }) => {
|
|
12
|
+
const fixture = new SSRPage({
|
|
13
|
+
tagName,
|
|
14
|
+
browser,
|
|
15
|
+
demoDir: new URL('../demo/', import.meta.url),
|
|
16
|
+
importSpecifiers: [
|
|
17
|
+
`@patternfly/elements/${tagName}/${tagName}.js`,
|
|
18
|
+
],
|
|
19
|
+
});
|
|
20
|
+
await fixture.snapshots();
|
|
21
|
+
});
|
|
10
22
|
});
|
|
11
23
|
//# sourceMappingURL=pf-progress.e2e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-progress.e2e.js","sourceRoot":"","sources":["pf-progress.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"pf-progress.e2e.js","sourceRoot":"","sources":["pf-progress.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,kDAAkD,CAAC;AAE3E,MAAM,OAAO,GAAG,aAAa,CAAC;AAE9B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,OAAO;YACP,OAAO;YACP,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7C,gBAAgB,EAAE;gBAChB,wBAAwB,OAAO,IAAI,OAAO,KAAK;aAChD;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from '@playwright/test';\nimport { PfeDemoPage } from '@patternfly/pfe-tools/test/playwright/PfeDemoPage.js';\nimport { SSRPage } from '@patternfly/pfe-tools/test/playwright/SSRPage.js';\n\nconst tagName = 'pf-progress';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate();\n await componentPage.snapshot();\n });\n\n test('ssr', async ({ browser }) => {\n const fixture = new SSRPage({\n tagName,\n browser,\n demoDir: new URL('../demo/', import.meta.url),\n importSpecifiers: [\n `@patternfly/elements/${tagName}/${tagName}.js`,\n ],\n });\n await fixture.snapshots();\n });\n});\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PropertyValues } from 'lit';
|
|
1
|
+
import type { PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
import { LitElement } from 'lit';
|
|
3
3
|
/**
|
|
4
4
|
* @slot -
|
|
@@ -7,7 +7,6 @@ import { LitElement } from 'lit';
|
|
|
7
7
|
* Longer description of the current step.
|
|
8
8
|
* @slot icon
|
|
9
9
|
* Overrides the icon property
|
|
10
|
-
*
|
|
11
10
|
*/
|
|
12
11
|
export declare class PfProgressStep extends LitElement {
|
|
13
12
|
#private;
|
|
@@ -23,7 +22,7 @@ export declare class PfProgressStep extends LitElement {
|
|
|
23
22
|
variant?: 'pending' | 'info' | 'success' | 'warning' | 'danger';
|
|
24
23
|
/** Indicates if this item is the current active item. */
|
|
25
24
|
current: boolean;
|
|
26
|
-
render():
|
|
25
|
+
render(): TemplateResult<1>;
|
|
27
26
|
updated(changed: PropertyValues<this>): void;
|
|
28
27
|
}
|
|
29
28
|
declare global {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
var _PfProgressStep_slots, _PfProgressStep_internals;
|
|
2
|
-
var PfProgressStep_1;
|
|
3
2
|
import { __classPrivateFieldGet, __decorate } from "tslib";
|
|
4
3
|
import { LitElement, html } from 'lit';
|
|
5
4
|
import { customElement } from 'lit/decorators/custom-element.js';
|
|
@@ -16,16 +15,7 @@ const ICONS = new Map(Object.entries({
|
|
|
16
15
|
warning: { icon: 'exclamation-triangle' },
|
|
17
16
|
info: { icon: 'resources-full', set: 'patternfly' },
|
|
18
17
|
}));
|
|
19
|
-
|
|
20
|
-
* @slot -
|
|
21
|
-
* Short description of the current step.
|
|
22
|
-
* @slot description
|
|
23
|
-
* Longer description of the current step.
|
|
24
|
-
* @slot icon
|
|
25
|
-
* Overrides the icon property
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
let PfProgressStep = PfProgressStep_1 = class PfProgressStep extends LitElement {
|
|
18
|
+
let PfProgressStep = class PfProgressStep extends LitElement {
|
|
29
19
|
constructor() {
|
|
30
20
|
super(...arguments);
|
|
31
21
|
/** Indicates if this item is the current active item. */
|
|
@@ -38,7 +28,7 @@ let PfProgressStep = PfProgressStep_1 = class PfProgressStep extends LitElement
|
|
|
38
28
|
const icon = this.icon ?? ICONS.get(this.variant ?? 'default')?.icon;
|
|
39
29
|
const set = this.iconSet ?? ICONS.get(this.variant ?? 'default')?.set;
|
|
40
30
|
const { parentTagName } = this.constructor;
|
|
41
|
-
const { compact = false } = this.closest(parentTagName) ?? {};
|
|
31
|
+
const { compact = false } = this.closest?.(parentTagName) ?? {};
|
|
42
32
|
return html `
|
|
43
33
|
<div id="connector" class="${classMap({ compact })}">
|
|
44
34
|
<slot id="icon" name="icon">
|
|
@@ -54,7 +44,6 @@ let PfProgressStep = PfProgressStep_1 = class PfProgressStep extends LitElement
|
|
|
54
44
|
`;
|
|
55
45
|
}
|
|
56
46
|
updated(changed) {
|
|
57
|
-
super.updated?.(changed);
|
|
58
47
|
if (changed.has('current')) {
|
|
59
48
|
__classPrivateFieldGet(this, _PfProgressStep_internals, "f").ariaCurrent = String(!!this.current);
|
|
60
49
|
}
|
|
@@ -64,6 +53,7 @@ _PfProgressStep_slots = new WeakMap();
|
|
|
64
53
|
_PfProgressStep_internals = new WeakMap();
|
|
65
54
|
PfProgressStep.parentTagName = 'pf-progress-stepper';
|
|
66
55
|
PfProgressStep.styles = [style];
|
|
56
|
+
PfProgressStep.version = "4.0.0";
|
|
67
57
|
__decorate([
|
|
68
58
|
property()
|
|
69
59
|
], PfProgressStep.prototype, "description", void 0);
|
|
@@ -79,7 +69,7 @@ __decorate([
|
|
|
79
69
|
__decorate([
|
|
80
70
|
property({ type: Boolean, reflect: true })
|
|
81
71
|
], PfProgressStep.prototype, "current", void 0);
|
|
82
|
-
PfProgressStep =
|
|
72
|
+
PfProgressStep = __decorate([
|
|
83
73
|
customElement('pf-progress-step')
|
|
84
74
|
], PfProgressStep);
|
|
85
75
|
export { PfProgressStep };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-progress-step.js","sourceRoot":"","sources":["pf-progress-step.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pf-progress-step.js","sourceRoot":"","sources":["pf-progress-step.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyValues, TemplateResult } from 'lit';\nimport type { PfProgressStepper } from './pf-progress-stepper.js';\n\nimport { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport style from './pf-progress-step.css';\n\nconst ICONS = new Map(Object.entries({\n success: { icon: 'check-circle' },\n danger: { icon: 'exclamation-circle' },\n warning: { icon: 'exclamation-triangle' },\n info: { icon: 'resources-full', set: 'patternfly' },\n}));\n\n/**\n * @slot -\n * Short description of the current step.\n * @slot description\n * Longer description of the current step.\n * @slot icon\n * Overrides the icon property\n */\n@customElement('pf-progress-step')\nexport class PfProgressStep extends LitElement {\n protected static parentTagName = 'pf-progress-stepper';\n\n static readonly styles: CSSStyleSheet[] = [style];\n\n /** Optional extended description of the step */\n @property() description?: string;\n\n /** Step Icon */\n @property() icon?: string;\n\n /** Step icon set */\n @property({ attribute: 'icon-set' }) iconSet?: string;\n\n /** Describes the state of the current item */\n @property({ reflect: true }) variant?: 'pending' | 'info' | 'success' | 'warning' | 'danger';\n\n /** Indicates if this item is the current active item. */\n @property({ type: Boolean, reflect: true }) current = false;\n\n #slots = new SlotController(this, 'title', 'description');\n\n #internals = InternalsController.of(this, { role: 'listitem' });\n\n render(): TemplateResult<1> {\n const hasDescription = !!(this.description ?? this.#slots.hasSlotted('description'));\n const icon = this.icon ?? ICONS.get(this.variant ?? 'default')?.icon;\n const set = this.iconSet ?? ICONS.get(this.variant ?? 'default')?.set;\n const { parentTagName } = (this.constructor as typeof PfProgressStep);\n const { compact = false } = this.closest?.<PfProgressStepper>(parentTagName) ?? {};\n return html`\n <div id=\"connector\" class=\"${classMap({ compact })}\">\n <slot id=\"icon\" name=\"icon\">\n <pf-icon ?hidden=\"${!icon}\"\n icon=\"${ifDefined(icon)}\"\n set=\"${ifDefined(set)}\"></pf-icon>\n </slot>\n </div>\n <div id=\"main\" class=\"${classMap({ compact })}\">\n <slot id=\"title\"></slot>\n <slot id=\"description\" name=\"description\" ?hidden=\"${!hasDescription}\">${this.description}</slot>\n </div>\n `;\n }\n\n updated(changed: PropertyValues<this>): void {\n if (changed.has('current')) {\n this.#internals.ariaCurrent = String(!!this.current);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-progress-step': PfProgressStep;\n }\n}\n"]}
|