@patternfly/elements 3.0.2 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -89
- 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 -1006
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-panel.e2e.js","sourceRoot":"","sources":["pf-panel.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-panel.e2e.js","sourceRoot":"","sources":["pf-panel.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,UAAU,CAAC;AAE3B,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-panel';\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,9 +1,8 @@
|
|
|
1
|
-
import { LitElement, type PropertyValues } from 'lit';
|
|
2
|
-
import { ComposedEvent } from '@patternfly/pfe-core/core.js';
|
|
3
1
|
import type { Placement } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';
|
|
2
|
+
import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
import { ComposedEvent } from '@patternfly/pfe-core/core.js';
|
|
4
4
|
import '@patternfly/elements/pf-button/pf-button.js';
|
|
5
|
-
|
|
6
|
-
type HeadingLevel = (typeof headingLevels)[number];
|
|
5
|
+
type HeadingLevel = 2 | 3 | 4 | 5 | 6;
|
|
7
6
|
type AlertSeverity = 'default' | 'info' | 'warning' | 'success' | 'danger';
|
|
8
7
|
export declare class PopoverHideEvent extends ComposedEvent {
|
|
9
8
|
constructor();
|
|
@@ -41,111 +40,93 @@ export declare class PopoverShownEvent extends ComposedEvent {
|
|
|
41
40
|
* @csspart close-button - The close button
|
|
42
41
|
* @csspart body - The container for the body content
|
|
43
42
|
* @csspart footer - The container for the footer content
|
|
44
|
-
* @cssprop {<length>} --pf-c-popover__arrow--Height
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* @cssprop {<
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* @cssprop
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* @cssprop {<
|
|
54
|
-
* Heading icon font color
|
|
55
|
-
* {@default `#151515`}
|
|
56
|
-
* @cssprop {<color>} --pf-c-popover__arrow--BackgroundColor
|
|
57
|
-
* Arrow background color
|
|
58
|
-
* {@default `#fff`}
|
|
59
|
-
* @cssprop --pf-c-popover__arrow--BoxShadow
|
|
60
|
-
* Arrow box shadow
|
|
61
|
-
* {@default `0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)`}
|
|
62
|
-
* @cssprop --pf-c-popover--BoxShadow
|
|
63
|
-
* Popover box shadow
|
|
64
|
-
* {@default `0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)`}
|
|
65
|
-
* @cssprop {<length>} --pf-c-tooltip__content--PaddingTop
|
|
66
|
-
* Popover top padding
|
|
67
|
-
* {@default `1rem`}
|
|
68
|
-
* @cssprop {<length>} --pf-c-tooltip__content--PaddingRight
|
|
69
|
-
* Popover right padding
|
|
70
|
-
* {@default `1rem`}
|
|
71
|
-
* @cssprop {<length>} --pf-c-tooltip__content--PaddingBottom
|
|
43
|
+
* @cssprop {<length>} [--pf-c-popover__arrow--Height=1.5625rem] Height of the arrow
|
|
44
|
+
* @cssprop {<length>} [--pf-c-popover__arrow--Width=1.5625rem] Width of the arrow
|
|
45
|
+
* @cssprop {<color>} [--pf-c-popover__title-text--Color=inherit] Heading font color
|
|
46
|
+
* @cssprop {<color>} [--pf-c-popover__title-icon--Color=#151515] Heading icon font color
|
|
47
|
+
* @cssprop {<color>} [--pf-c-popover__arrow--BackgroundColor=#fff] Arrow background color
|
|
48
|
+
* @cssprop [--pf-c-popover__arrow--BoxShadow=0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)] Arrow box shadow
|
|
49
|
+
* @cssprop [--pf-c-popover--BoxShadow=0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)] Popover box shadow
|
|
50
|
+
* @cssprop {<length>} [--pf-c-tooltip__content--PaddingTop=1rem] Popover top padding
|
|
51
|
+
* @cssprop {<length>} [--pf-c-tooltip__content--PaddingRight=1rem] Popover right padding
|
|
52
|
+
* @cssprop {<length>} [--pf-c-tooltip__content--PaddingBottom=1rem]
|
|
72
53
|
* Popover bottom padding
|
|
73
|
-
*
|
|
74
|
-
* @cssprop {<length>} --pf-c-tooltip__content--PaddingLeft
|
|
54
|
+
*
|
|
55
|
+
* @cssprop {<length>} [--pf-c-tooltip__content--PaddingLeft=1rem]
|
|
75
56
|
* Popover left padding
|
|
76
|
-
*
|
|
77
|
-
* @cssprop {<number>} --pf-c-popover--line-height
|
|
57
|
+
*
|
|
58
|
+
* @cssprop {<number>} [--pf-c-popover--line-height=1.5]
|
|
78
59
|
* Popover line height
|
|
79
|
-
*
|
|
80
|
-
* @cssprop {<length>} --pf-c-popover__content--FontSize
|
|
60
|
+
*
|
|
61
|
+
* @cssprop {<length>} [--pf-c-popover__content--FontSize=0.875rem]
|
|
81
62
|
* Popover font-size
|
|
82
|
-
*
|
|
83
|
-
* @cssprop {<color>} --pf-c-popover__content--BackgroundColor
|
|
63
|
+
*
|
|
64
|
+
* @cssprop {<color>} [--pf-c-popover__content--BackgroundColor=#fff]
|
|
84
65
|
* Popover background color
|
|
85
|
-
*
|
|
86
|
-
* @cssprop {<length>} --pf-c-popover--MaxWidth
|
|
66
|
+
*
|
|
67
|
+
* @cssprop {<length>} [--pf-c-popover--MaxWidth=20.75rem]
|
|
87
68
|
* Popover max-width
|
|
88
|
-
*
|
|
89
|
-
* @cssprop {<length>} --pf-c-popover--MinWidth
|
|
69
|
+
*
|
|
70
|
+
* @cssprop {<length>} [--pf-c-popover--MinWidth=20.75rem]
|
|
90
71
|
* Popover min-width
|
|
91
|
-
*
|
|
92
|
-
* @cssprop {<number>} --pf-c-popover--c-button--Right
|
|
72
|
+
*
|
|
73
|
+
* @cssprop {<number>} [--pf-c-popover--c-button--Right=`0]
|
|
93
74
|
* Close button right position
|
|
94
|
-
*
|
|
95
|
-
* @cssprop {<number>} --pf-c-popover--c-button--Top
|
|
75
|
+
*
|
|
76
|
+
* @cssprop {<number>} [--pf-c-popover--c-button--Top=0]
|
|
96
77
|
* Close button top position
|
|
97
|
-
*
|
|
98
|
-
* @cssprop {<length>} --pf-c-popover--c-button--sibling--PaddingRight
|
|
78
|
+
*
|
|
79
|
+
* @cssprop {<length>} [--pf-c-popover--c-button--sibling--PaddingRight=3rem]
|
|
99
80
|
* Padding between close button and its immediate sibling
|
|
100
|
-
*
|
|
101
|
-
* @cssprop {<length>} --pf-c-popover__title-icon--MarginRight
|
|
81
|
+
*
|
|
82
|
+
* @cssprop {<length>} [--pf-c-popover__title-icon--MarginRight=0.5rem]
|
|
102
83
|
* Heading icon right margin
|
|
103
|
-
*
|
|
104
|
-
* @cssprop {<length>} --pf-c-popover__title--FontSize
|
|
84
|
+
*
|
|
85
|
+
* @cssprop {<length>} [--pf-c-popover__title--FontSize=1rem]
|
|
105
86
|
* Header font-size
|
|
106
|
-
*
|
|
107
|
-
* @cssprop {<length>} --pf-c-popover__title--MarginBottom
|
|
87
|
+
*
|
|
88
|
+
* @cssprop {<length>} [--pf-c-popover__title--MarginBottom=0.5rem]
|
|
108
89
|
* Header bottom margin
|
|
109
|
-
*
|
|
110
|
-
* @cssprop {<number>} --pf-c-popover__title--LineHeight
|
|
90
|
+
*
|
|
91
|
+
* @cssprop {<number>} [--pf-c-popover__title--LineHeight=1.5]
|
|
111
92
|
* Header line height
|
|
112
|
-
*
|
|
113
|
-
* @cssprop {<string>} --pf-c-popover__title--FontFamily
|
|
93
|
+
*
|
|
94
|
+
* @cssprop {<string>} [--pf-c-popover__title--FontFamily='RedHatDisplay', 'Overpass', overpass, helvetica, arial, sans-serif]
|
|
114
95
|
* Header font-family
|
|
115
|
-
*
|
|
116
|
-
* @cssprop {<length>} --pf-c-popover__footer--MarginTop
|
|
96
|
+
*
|
|
97
|
+
* @cssprop {<length>} [--pf-c-popover__footer--MarginTop=1rem]
|
|
117
98
|
* Footer top margin
|
|
118
|
-
*
|
|
119
|
-
* @cssprop {<color>} --pf-c-popover--m-default__title-text--Color
|
|
99
|
+
*
|
|
100
|
+
* @cssprop {<color>} [--pf-c-popover--m-default__title-text--Color=#003737]
|
|
120
101
|
* Default alert heading color
|
|
121
|
-
*
|
|
122
|
-
* @cssprop {<color>} --pf-c-popover--m-default__title-icon--Color
|
|
102
|
+
*
|
|
103
|
+
* @cssprop {<color>} [--pf-c-popover--m-default__title-icon--Color=#009596]
|
|
123
104
|
* Default alert icon color
|
|
124
|
-
*
|
|
125
|
-
* @cssprop {<color>} --pf-c-popover--m-info__title-text--Color
|
|
105
|
+
*
|
|
106
|
+
* @cssprop {<color>} [--pf-c-popover--m-info__title-text--Color=#002952]
|
|
126
107
|
* Default alert heading color
|
|
127
|
-
*
|
|
128
|
-
* @cssprop {<color>} --pf-c-popover--m-info__title-icon--Color
|
|
108
|
+
*
|
|
109
|
+
* @cssprop {<color>} [--pf-c-popover--m-info__title-icon--Color=#2b9af3]
|
|
129
110
|
* Default alert icon color
|
|
130
|
-
*
|
|
131
|
-
* @cssprop {<color>} --pf-c-popover--m-warning__title-text--Color
|
|
111
|
+
*
|
|
112
|
+
* @cssprop {<color>} [--pf-c-popover--m-warning__title-text--Color=#795600]
|
|
132
113
|
* Default alert heading color
|
|
133
|
-
*
|
|
134
|
-
* @cssprop {<color>} --pf-c-popover--m-warning__title-icon--Color
|
|
114
|
+
*
|
|
115
|
+
* @cssprop {<color>} [--pf-c-popover--m-warning__title-icon--Color=#f0ab00]
|
|
135
116
|
* Default alert icon color
|
|
136
|
-
*
|
|
137
|
-
* @cssprop {<color>} --pf-c-popover--m-success__title-text--Color
|
|
117
|
+
*
|
|
118
|
+
* @cssprop {<color>} [--pf-c-popover--m-success__title-text--Color=#1e4f18]
|
|
138
119
|
* Default alert heading color
|
|
139
|
-
*
|
|
140
|
-
* @cssprop {<color>} --pf-c-popover--m-success__title-icon--Color
|
|
120
|
+
*
|
|
121
|
+
* @cssprop {<color>} [--pf-c-popover--m-success__title-icon--Color=#3e8635]
|
|
141
122
|
* Default alert icon color
|
|
142
|
-
*
|
|
143
|
-
* @cssprop {<color>} --pf-c-popover--m-danger__title-text--Color
|
|
123
|
+
*
|
|
124
|
+
* @cssprop {<color>} [--pf-c-popover--m-danger__title-text--Color=#a30000]
|
|
144
125
|
* Default alert heading color
|
|
145
|
-
*
|
|
146
|
-
* @cssprop {<color>} --pf-c-popover--m-danger__title-icon--Color
|
|
126
|
+
*
|
|
127
|
+
* @cssprop {<color>} [--pf-c-popover--m-danger__title-icon--Color=#c9190b]
|
|
147
128
|
* Default alert icon color
|
|
148
|
-
*
|
|
129
|
+
*
|
|
149
130
|
*/
|
|
150
131
|
export declare class PfPopover extends LitElement {
|
|
151
132
|
#private;
|
|
@@ -237,11 +218,12 @@ export declare class PfPopover extends LitElement {
|
|
|
237
218
|
private _slottedTrigger?;
|
|
238
219
|
private _arrow;
|
|
239
220
|
constructor();
|
|
240
|
-
render():
|
|
221
|
+
render(): TemplateResult<1>;
|
|
241
222
|
disconnectedCallback(): void;
|
|
242
223
|
/**
|
|
243
224
|
* Removes event listeners from the old trigger element and attaches
|
|
244
225
|
* them to the new trigger element.
|
|
226
|
+
* @param changed changed props
|
|
245
227
|
*/
|
|
246
228
|
willUpdate(changed: PropertyValues<this>): void;
|
|
247
229
|
/**
|
package/pf-popover/pf-popover.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
var _PfPopover_instances, _PfPopover_hideDialog, _PfPopover_referenceTrigger, _PfPopover_float, _PfPopover_slots, _PfPopover_getReferenceTrigger, _PfPopover_triggerChanged, _PfPopover_onKeydown, _PfPopover_outsideClick;
|
|
2
|
-
var PfPopover_1;
|
|
3
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet, __decorate } from "tslib";
|
|
4
|
-
import { LitElement, nothing, html } from 'lit';
|
|
3
|
+
import { LitElement, nothing, html, isServer } from 'lit';
|
|
5
4
|
import { customElement } from 'lit/decorators/custom-element.js';
|
|
6
5
|
import { property } from 'lit/decorators/property.js';
|
|
7
6
|
import { query } from 'lit/decorators/query.js';
|
|
@@ -10,13 +9,12 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
|
10
9
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
11
10
|
import { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';
|
|
12
11
|
import { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';
|
|
12
|
+
import { deprecation } from '@patternfly/pfe-core/decorators/deprecation.js';
|
|
13
13
|
import { bound } from '@patternfly/pfe-core/decorators/bound.js';
|
|
14
14
|
import { ComposedEvent, StringListConverter } from '@patternfly/pfe-core/core.js';
|
|
15
15
|
import '@patternfly/elements/pf-button/pf-button.js';
|
|
16
16
|
import { css } from "lit";
|
|
17
17
|
const styles = css `:host {\n display: inline;\n --_floating-arrow-size: var(--pf-c-popover__arrow--Width, var(--pf-global--arrow--width-lg, 1.5625rem));\n --_header-text-color: var(--pf-c-popover__title-text--Color, inherit);\n --_header-icon-color: var(--pf-c-popover__title-icon--Color, var(--pf-global--Color--100, #151515));\n --_animation-speed: var(--pf-popover--animation-speed, 300ms);\n --_z-index: var(--pf-popover--z-index, 9999);\n}\n\n.visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n[hidden] {\n display: none !important;\n}\n\n#container {\n display: inline-flex;\n position: relative;\n}\n\n#trigger {\n display: inline-block;\n position: relative;\n}\n\n#arrow {\n display: block;\n position: absolute;\n background-color: var(--pf-c-popover__arrow--BackgroundColor, var(--pf-global--BackgroundColor--100, #fff));\n box-shadow: var(\n --pf-c-popover__arrow--BoxShadow,\n var(--pf-global--BoxShadow--lg, 0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08))\n );\n content: '';\n height: var(--pf-c-popover__arrow--Height, var(--pf-global--arrow--width-lg, 1.5625rem));\n width: var(--pf-c-popover__arrow--Width, var(--pf-global--arrow--width-lg, 1.5625rem));\n rotate: 45deg;\n z-index: -1;\n pointer-events: none;\n}\n\n#popover {\n display: block;\n position: absolute;\n opacity: 0;\n z-index: -1;\n transition: visibility 0s, opacity var(--_animation-speed) cubic-bezier(0.54, 1.5, 0.38, 1.11) 0s;\n left: 0;\n top: 0;\n translate: var(--_floating-content-translate);\n box-shadow: var(\n --pf-c-popover--BoxShadow,\n var(--pf-global--BoxShadow--lg, 0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08))\n );\n border: 0;\n padding: 0;\n visibility: hidden;\n}\n\n#popover[open] {\n opacity: 1;\n z-index: var(--_z-index);\n visibility: visible;\n}\n\n[part='content'] {\n position: relative;\n padding: var(--pf-c-popover__content--PaddingTop, var(--pf-global--spacer--md, 1rem))\n var(--pf-c-popover__content--PaddingRight, var(--pf-global--spacer--md, 1rem))\n var(--pf-c-popover__content--PaddingBottom, var(--pf-global--spacer--md, 1rem))\n var(--pf-c-popover__content--PaddingLeft, var(--pf-global--spacer--md, 1rem));\n word-break: break-word;\n line-height: var(--pf-c-popover--line-height, 1.5);\n font-size: var(--pf-c-popover__content--FontSize, var(--pf-global--FontSize--sm, 0.875rem));\n color: var(--pf-c-popover__content--Color, var(--pf-global--Color--100, #151515));\n background-color: var(--pf-c-popover__content--BackgroundColor, var(--pf-global--BackgroundColor--100, #fff));\n max-width: var(\n --pf-c-popover--MaxWidth,\n calc(var(--pf-c-popover__content--PaddingLeft, 1rem) + var(--pf-c-popover__content--PaddingRight, 1rem) + 18.75rem)\n );\n min-width: var(\n --pf-c-popover--MinWidth,\n calc(var(--pf-c-popover__content--PaddingLeft, 1rem) + var(--pf-c-popover__content--PaddingRight, 1rem) + 18.75rem)\n );\n width: max-content;\n}\n\n[part='close-button'] {\n cursor: pointer;\n position: absolute;\n right: var(\n --pf-c-popover--c-button--Right,\n calc(var(--pf-c-popover__content--PaddingRight, 1rem) - var(--pf-global--spacer--md, 1rem))\n );\n top: var(\n --pf-c-popover--c-button--Top,\n calc(var(--pf-c-popover__content--PaddingTop, 1rem) - var(--pf-global--spacer--form-element, 0.375rem))\n );\n}\n\n[part='content'] > [part='close-button']:not([hidden]) ~ *:not([hidden]) {\n padding-right: var(--pf-c-popover--c-button--sibling--PaddingRight, var(--pf-global--spacer--2xl, 3rem));\n}\n\n[part='header'] {\n display: flex;\n align-items: baseline;\n}\n\n[part='icon'] {\n color: var(--_header-icon-color);\n margin-right: var(--pf-c-popover__title-icon--MarginRight, var(--pf-global--spacer--sm, 0.5rem));\n}\n\n[part='icon'] ::slotted(*),\n[part='icon'] * {\n vertical-align: -0.125em;\n}\n\n[part='icon'],\n[part='heading']::slotted(:is(h2, h3, h4, h5, h6)),\n[part='heading'] :is(h2, h3, h4, h5, h6) {\n font-size: var(--pf-c-popover__title--FontSize, var(--pf-global--FontSize--md, 1rem));\n font-weight: var(--pf-global--FontWeight--normal, 400);\n --pf-icon--size: var(\n --pf-c-popover__title--FontSize,\n var(--pf-global--FontSize--md, var(--pf-global--icon--FontSize--md, 1em))\n );\n}\n\n[part='heading']::slotted(:is(h2, h3, h4, h5, h6)),\n[part='heading'] :is(h2, h3, h4, h5, h6) {\n color: var(--_header-text-color);\n margin-top: 0;\n margin-bottom: var(--pf-c-popover__title--MarginBottom, var(--pf-global--spacer--sm, 0.5rem));\n line-height: var(--pf-c-popover__title--LineHeight, var(--pf-global--LineHeight--md, 1.5));\n font-family: var(\n --pf-c-popover__title--FontFamily,\n var(\n --pf-global--FontFamily--heading--sans-serif,\n 'RedHatDisplay',\n 'Overpass',\n overpass,\n helvetica,\n arial,\n sans-serif\n )\n );\n}\n\n[part='body'] {\n display: block;\n word-wrap: break-word;\n}\n\n[part='footer'] {\n margin-top: var(--pf-c-popover__footer--MarginTop, var(--pf-global--spacer--md, 1rem));\n}\n\n:host([alert-severity='default']) {\n --_header-text-color: var(--pf-c-popover--m-default__title-text--Color, var(--pf-global--default-color--300, #003737));\n --_header-icon-color: var(--pf-c-popover--m-default__title-icon--Color, var(--pf-global--default-color--200, #009596));\n}\n\n:host([alert-severity='info']) {\n --_header-text-color: var(--pf-c-popover--m-info__title-text--Color, var(--pf-global--info-color--200, #002952));\n --_header-icon-color: var(--pf-c-popover--m-info__title-icon--Color, var(--pf-global--info-color--100, #2b9af3));\n}\n\n:host([alert-severity='warning']) {\n --_header-icon-color: var(--pf-c-popover--m-warning__title-icon--Color, var(--pf-global--warning-color--100, #f0ab00));\n --_header-text-color: var(--pf-c-popover--m-warning__title-text--Color, var(--pf-global--warning-color--200, #795600));\n}\n\n:host([alert-severity='success']) {\n --_header-icon-color: var(--pf-c-popover--m-success__title-icon--Color, var(--pf-global--success-color--100, #3e8635));\n --_header-text-color: var(--pf-c-popover--m-success__title-text--Color, var(--pf-global--success-color--200, #1e4f18));\n}\n\n:host([alert-severity='danger']) {\n --_header-icon-color: var(--pf-c-popover--m-danger__title-icon--Color, var(--pf-global--danger-color--100, #c9190b));\n --_header-text-color: var(--pf-c-popover--m-danger__title-text--Color, var(--pf-global--danger-color--200, #a30000));\n}\n`;
|
|
18
|
-
import { deprecation } from '@patternfly/pfe-core/decorators/deprecation.js';
|
|
19
|
-
const headingLevels = [2, 3, 4, 5, 6];
|
|
20
18
|
export class PopoverHideEvent extends ComposedEvent {
|
|
21
19
|
constructor() {
|
|
22
20
|
super('hide');
|
|
@@ -37,137 +35,7 @@ export class PopoverShownEvent extends ComposedEvent {
|
|
|
37
35
|
super('shown');
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
|
-
|
|
41
|
-
* A **Popover** displays content in a non-modal dialog and adds contextual information or provides resources via text and links.
|
|
42
|
-
* @summary Toggle the visibility of helpful or contextual information.
|
|
43
|
-
* @slot -
|
|
44
|
-
* The default slot holds invoking element.
|
|
45
|
-
* Typically this would be an icon, button, or other small sized element.
|
|
46
|
-
* @slot heading
|
|
47
|
-
* This slot renders the content that will be displayed inside of the header of the popover.
|
|
48
|
-
* Typically this would be a heading element.
|
|
49
|
-
* @slot icon
|
|
50
|
-
* This slot renders the icon that will be displayed inside the header of the popover,
|
|
51
|
-
* before the heading.
|
|
52
|
-
* @slot body
|
|
53
|
-
* This slot renders the content that will be displayed inside of the body of the popover.
|
|
54
|
-
* @slot footer
|
|
55
|
-
* This slot renders the content that will be displayed inside of the footer of the popover.
|
|
56
|
-
* @csspart container - The component wrapper
|
|
57
|
-
* @csspart content - The content wrapper
|
|
58
|
-
* @csspart header - The header element; only visible if both an icon annd heading are provided.
|
|
59
|
-
* @csspart heading - The heading element
|
|
60
|
-
* @csspart icon - The header icon
|
|
61
|
-
* @csspart close-button - The close button
|
|
62
|
-
* @csspart body - The container for the body content
|
|
63
|
-
* @csspart footer - The container for the footer content
|
|
64
|
-
* @cssprop {<length>} --pf-c-popover__arrow--Height
|
|
65
|
-
* Height of the arrow
|
|
66
|
-
* {@default `1.5625rem`}
|
|
67
|
-
* @cssprop {<length>} --pf-c-popover__arrow--Width
|
|
68
|
-
* Width of the arrow
|
|
69
|
-
* {@default `1.5625rem`}
|
|
70
|
-
* @cssprop {<color>} --pf-c-popover__title-text--Color
|
|
71
|
-
* Heading font color
|
|
72
|
-
* {@default `inherit`}
|
|
73
|
-
* @cssprop {<color>} --pf-c-popover__title-icon--Color
|
|
74
|
-
* Heading icon font color
|
|
75
|
-
* {@default `#151515`}
|
|
76
|
-
* @cssprop {<color>} --pf-c-popover__arrow--BackgroundColor
|
|
77
|
-
* Arrow background color
|
|
78
|
-
* {@default `#fff`}
|
|
79
|
-
* @cssprop --pf-c-popover__arrow--BoxShadow
|
|
80
|
-
* Arrow box shadow
|
|
81
|
-
* {@default `0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)`}
|
|
82
|
-
* @cssprop --pf-c-popover--BoxShadow
|
|
83
|
-
* Popover box shadow
|
|
84
|
-
* {@default `0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)`}
|
|
85
|
-
* @cssprop {<length>} --pf-c-tooltip__content--PaddingTop
|
|
86
|
-
* Popover top padding
|
|
87
|
-
* {@default `1rem`}
|
|
88
|
-
* @cssprop {<length>} --pf-c-tooltip__content--PaddingRight
|
|
89
|
-
* Popover right padding
|
|
90
|
-
* {@default `1rem`}
|
|
91
|
-
* @cssprop {<length>} --pf-c-tooltip__content--PaddingBottom
|
|
92
|
-
* Popover bottom padding
|
|
93
|
-
* {@default `1rem`}
|
|
94
|
-
* @cssprop {<length>} --pf-c-tooltip__content--PaddingLeft
|
|
95
|
-
* Popover left padding
|
|
96
|
-
* {@default `1rem`}
|
|
97
|
-
* @cssprop {<number>} --pf-c-popover--line-height
|
|
98
|
-
* Popover line height
|
|
99
|
-
* {@default `1.5`}
|
|
100
|
-
* @cssprop {<length>} --pf-c-popover__content--FontSize
|
|
101
|
-
* Popover font-size
|
|
102
|
-
* {@default `0.875rem`}
|
|
103
|
-
* @cssprop {<color>} --pf-c-popover__content--BackgroundColor
|
|
104
|
-
* Popover background color
|
|
105
|
-
* {@default `#fff`}
|
|
106
|
-
* @cssprop {<length>} --pf-c-popover--MaxWidth
|
|
107
|
-
* Popover max-width
|
|
108
|
-
* {@default `20.75rem`}
|
|
109
|
-
* @cssprop {<length>} --pf-c-popover--MinWidth
|
|
110
|
-
* Popover min-width
|
|
111
|
-
* {@default `20.75rem`}
|
|
112
|
-
* @cssprop {<number>} --pf-c-popover--c-button--Right
|
|
113
|
-
* Close button right position
|
|
114
|
-
* {@default `0}
|
|
115
|
-
* @cssprop {<number>} --pf-c-popover--c-button--Top
|
|
116
|
-
* Close button top position
|
|
117
|
-
* {@default `0`}
|
|
118
|
-
* @cssprop {<length>} --pf-c-popover--c-button--sibling--PaddingRight
|
|
119
|
-
* Padding between close button and its immediate sibling
|
|
120
|
-
* {@default `3rem`}
|
|
121
|
-
* @cssprop {<length>} --pf-c-popover__title-icon--MarginRight
|
|
122
|
-
* Heading icon right margin
|
|
123
|
-
* {@default `0.5rem`}
|
|
124
|
-
* @cssprop {<length>} --pf-c-popover__title--FontSize
|
|
125
|
-
* Header font-size
|
|
126
|
-
* {@default `1rem`}
|
|
127
|
-
* @cssprop {<length>} --pf-c-popover__title--MarginBottom
|
|
128
|
-
* Header bottom margin
|
|
129
|
-
* {@default `0.5rem`}
|
|
130
|
-
* @cssprop {<number>} --pf-c-popover__title--LineHeight
|
|
131
|
-
* Header line height
|
|
132
|
-
* {@default `1.5`}
|
|
133
|
-
* @cssprop {<string>} --pf-c-popover__title--FontFamily
|
|
134
|
-
* Header font-family
|
|
135
|
-
* {@default `'RedHatDisplay', 'Overpass', overpass, helvetica, arial, sans-serif`}
|
|
136
|
-
* @cssprop {<length>} --pf-c-popover__footer--MarginTop
|
|
137
|
-
* Footer top margin
|
|
138
|
-
* {@default `1rem`}
|
|
139
|
-
* @cssprop {<color>} --pf-c-popover--m-default__title-text--Color
|
|
140
|
-
* Default alert heading color
|
|
141
|
-
* {@default `#003737`}
|
|
142
|
-
* @cssprop {<color>} --pf-c-popover--m-default__title-icon--Color
|
|
143
|
-
* Default alert icon color
|
|
144
|
-
* {@default `#009596`}
|
|
145
|
-
* @cssprop {<color>} --pf-c-popover--m-info__title-text--Color
|
|
146
|
-
* Default alert heading color
|
|
147
|
-
* {@default `#002952`}
|
|
148
|
-
* @cssprop {<color>} --pf-c-popover--m-info__title-icon--Color
|
|
149
|
-
* Default alert icon color
|
|
150
|
-
* {@default `#2b9af3`}
|
|
151
|
-
* @cssprop {<color>} --pf-c-popover--m-warning__title-text--Color
|
|
152
|
-
* Default alert heading color
|
|
153
|
-
* {@default `#795600`}
|
|
154
|
-
* @cssprop {<color>} --pf-c-popover--m-warning__title-icon--Color
|
|
155
|
-
* Default alert icon color
|
|
156
|
-
* {@default `#f0ab00`}
|
|
157
|
-
* @cssprop {<color>} --pf-c-popover--m-success__title-text--Color
|
|
158
|
-
* Default alert heading color
|
|
159
|
-
* {@default `#1e4f18`}
|
|
160
|
-
* @cssprop {<color>} --pf-c-popover--m-success__title-icon--Color
|
|
161
|
-
* Default alert icon color
|
|
162
|
-
* {@default `#3e8635`}
|
|
163
|
-
* @cssprop {<color>} --pf-c-popover--m-danger__title-text--Color
|
|
164
|
-
* Default alert heading color
|
|
165
|
-
* {@default `#a30000`}
|
|
166
|
-
* @cssprop {<color>} --pf-c-popover--m-danger__title-icon--Color
|
|
167
|
-
* Default alert icon color
|
|
168
|
-
* {@default `#c9190b`}
|
|
169
|
-
*/
|
|
170
|
-
let PfPopover = PfPopover_1 = class PfPopover extends LitElement {
|
|
38
|
+
let PfPopover = class PfPopover extends LitElement {
|
|
171
39
|
constructor() {
|
|
172
40
|
super();
|
|
173
41
|
_PfPopover_instances.add(this);
|
|
@@ -206,7 +74,9 @@ let PfPopover = PfPopover_1 = class PfPopover extends LitElement {
|
|
|
206
74
|
return;
|
|
207
75
|
}
|
|
208
76
|
});
|
|
209
|
-
|
|
77
|
+
if (!isServer) {
|
|
78
|
+
this.addEventListener('keydown', __classPrivateFieldGet(this, _PfPopover_onKeydown, "f"));
|
|
79
|
+
}
|
|
210
80
|
}
|
|
211
81
|
render() {
|
|
212
82
|
const { alignment, anchor, styles } = __classPrivateFieldGet(this, _PfPopover_float, "f");
|
|
@@ -233,7 +103,7 @@ let PfPopover = PfPopover_1 = class PfPopover extends LitElement {
|
|
|
233
103
|
<slot id="heading" name="heading" part="heading" ?hidden=${!hasHeading}>${headingContent}</slot>
|
|
234
104
|
`;
|
|
235
105
|
const headerIcon = this.icon
|
|
236
|
-
??
|
|
106
|
+
?? PfPopover.alertIcons.get(this.alertSeverity)
|
|
237
107
|
?? '';
|
|
238
108
|
return html `
|
|
239
109
|
<div id="container"
|
|
@@ -284,13 +154,14 @@ let PfPopover = PfPopover_1 = class PfPopover extends LitElement {
|
|
|
284
154
|
}
|
|
285
155
|
disconnectedCallback() {
|
|
286
156
|
super.disconnectedCallback();
|
|
287
|
-
|
|
157
|
+
PfPopover.instances.delete(this);
|
|
288
158
|
__classPrivateFieldGet(this, _PfPopover_referenceTrigger, "f")?.removeEventListener('click', this.toggle);
|
|
289
159
|
__classPrivateFieldGet(this, _PfPopover_referenceTrigger, "f")?.removeEventListener('keydown', __classPrivateFieldGet(this, _PfPopover_onKeydown, "f"));
|
|
290
160
|
}
|
|
291
161
|
/**
|
|
292
162
|
* Removes event listeners from the old trigger element and attaches
|
|
293
163
|
* them to the new trigger element.
|
|
164
|
+
* @param changed changed props
|
|
294
165
|
*/
|
|
295
166
|
willUpdate(changed) {
|
|
296
167
|
if (changed.has('trigger')) {
|
|
@@ -301,7 +172,12 @@ let PfPopover = PfPopover_1 = class PfPopover extends LitElement {
|
|
|
301
172
|
* Toggle the popover
|
|
302
173
|
*/
|
|
303
174
|
async toggle() {
|
|
304
|
-
__classPrivateFieldGet(this, _PfPopover_float, "f").open
|
|
175
|
+
if (__classPrivateFieldGet(this, _PfPopover_float, "f").open) {
|
|
176
|
+
this.hide();
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
this.show();
|
|
180
|
+
}
|
|
305
181
|
}
|
|
306
182
|
/**
|
|
307
183
|
* Opens the popover
|
|
@@ -319,7 +195,7 @@ let PfPopover = PfPopover_1 = class PfPopover extends LitElement {
|
|
|
319
195
|
});
|
|
320
196
|
this._popover?.show();
|
|
321
197
|
this.dispatchEvent(new PopoverShownEvent());
|
|
322
|
-
|
|
198
|
+
PfPopover.instances.add(this);
|
|
323
199
|
}
|
|
324
200
|
/**
|
|
325
201
|
* Closes the popover
|
|
@@ -329,7 +205,7 @@ let PfPopover = PfPopover_1 = class PfPopover extends LitElement {
|
|
|
329
205
|
await __classPrivateFieldGet(this, _PfPopover_float, "f").hide();
|
|
330
206
|
this._popover?.close();
|
|
331
207
|
this.dispatchEvent(new PopoverHiddenEvent());
|
|
332
|
-
|
|
208
|
+
PfPopover.instances.delete(this);
|
|
333
209
|
__classPrivateFieldSet(this, _PfPopover_hideDialog, true, "f");
|
|
334
210
|
this.requestUpdate();
|
|
335
211
|
}
|
|
@@ -341,8 +217,12 @@ _PfPopover_slots = new WeakMap();
|
|
|
341
217
|
_PfPopover_onKeydown = new WeakMap();
|
|
342
218
|
_PfPopover_instances = new WeakSet();
|
|
343
219
|
_PfPopover_getReferenceTrigger = function _PfPopover_getReferenceTrigger() {
|
|
344
|
-
|
|
345
|
-
|
|
220
|
+
if (isServer || !this.trigger) {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
return this.getRootNode().getElementById(this.trigger);
|
|
225
|
+
}
|
|
346
226
|
};
|
|
347
227
|
_PfPopover_triggerChanged = function _PfPopover_triggerChanged() {
|
|
348
228
|
const oldReferenceTrigger = __classPrivateFieldGet(this, _PfPopover_referenceTrigger, "f");
|
|
@@ -370,14 +250,17 @@ PfPopover.alertIcons = new Map(Object.entries({
|
|
|
370
250
|
danger: 'circle-exclamation',
|
|
371
251
|
}));
|
|
372
252
|
(() => {
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
253
|
+
if (!isServer) {
|
|
254
|
+
document.addEventListener('click', function (event) {
|
|
255
|
+
for (const instance of PfPopover.instances) {
|
|
256
|
+
if (!instance.noOutsideClick) {
|
|
257
|
+
__classPrivateFieldGet(instance, _PfPopover_instances, "m", _PfPopover_outsideClick).call(instance, event);
|
|
258
|
+
}
|
|
377
259
|
}
|
|
378
|
-
}
|
|
379
|
-
}
|
|
260
|
+
});
|
|
261
|
+
}
|
|
380
262
|
})();
|
|
263
|
+
PfPopover.version = "4.0.1";
|
|
381
264
|
__decorate([
|
|
382
265
|
property({ reflect: true })
|
|
383
266
|
], PfPopover.prototype, "position", void 0);
|
|
@@ -464,7 +347,7 @@ __decorate([
|
|
|
464
347
|
__decorate([
|
|
465
348
|
bound
|
|
466
349
|
], PfPopover.prototype, "hide", null);
|
|
467
|
-
PfPopover =
|
|
350
|
+
PfPopover = __decorate([
|
|
468
351
|
customElement('pf-popover')
|
|
469
352
|
], PfPopover);
|
|
470
353
|
export { PfPopover };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-popover.js","sourceRoot":"","sources":["pf-popover.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, nothing, html, type PropertyValues } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { bound } from '@patternfly/pfe-core/decorators/bound.js';\nimport { ComposedEvent, StringListConverter } from '@patternfly/pfe-core/core.js';\nimport type { Placement } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport '@patternfly/elements/pf-button/pf-button.js';\nimport styles from './pf-popover.css';\nimport { deprecation } from '@patternfly/pfe-core/decorators/deprecation.js';\n\nconst headingLevels = [2, 3, 4, 5, 6] as const;\n\ntype HeadingLevel = (typeof headingLevels)[number];\n\ntype AlertSeverity = 'default' | 'info' | 'warning' | 'success' | 'danger';\n\nexport class PopoverHideEvent extends ComposedEvent {\n constructor() {\n super('hide');\n }\n}\n\nexport class PopoverHiddenEvent extends ComposedEvent {\n constructor() {\n super('hidden');\n }\n}\n\nexport class PopoverShowEvent extends ComposedEvent {\n constructor() {\n super('show');\n }\n}\n\nexport class PopoverShownEvent extends ComposedEvent {\n constructor() {\n super('shown');\n }\n}\n\n/**\n * A **Popover** displays content in a non-modal dialog and adds contextual information or provides resources via text and links.\n * @summary Toggle the visibility of helpful or contextual information.\n * @slot -\n * The default slot holds invoking element.\n * Typically this would be an icon, button, or other small sized element.\n * @slot heading\n * This slot renders the content that will be displayed inside of the header of the popover.\n * Typically this would be a heading element.\n * @slot icon\n * This slot renders the icon that will be displayed inside the header of the popover,\n * before the heading.\n * @slot body\n * This slot renders the content that will be displayed inside of the body of the popover.\n * @slot footer\n * This slot renders the content that will be displayed inside of the footer of the popover.\n * @csspart container - The component wrapper\n * @csspart content - The content wrapper\n * @csspart header - The header element; only visible if both an icon annd heading are provided.\n * @csspart heading - The heading element\n * @csspart icon - The header icon\n * @csspart close-button - The close button\n * @csspart body - The container for the body content\n * @csspart footer - The container for the footer content\n * @cssprop {<length>} --pf-c-popover__arrow--Height\n * Height of the arrow\n * {@default `1.5625rem`}\n * @cssprop {<length>} --pf-c-popover__arrow--Width\n * Width of the arrow\n * {@default `1.5625rem`}\n * @cssprop {<color>} --pf-c-popover__title-text--Color\n * Heading font color\n * {@default `inherit`}\n * @cssprop {<color>} --pf-c-popover__title-icon--Color\n * Heading icon font color\n * {@default `#151515`}\n * @cssprop {<color>} --pf-c-popover__arrow--BackgroundColor\n * Arrow background color\n * {@default `#fff`}\n * @cssprop --pf-c-popover__arrow--BoxShadow\n * Arrow box shadow\n * {@default `0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)`}\n * @cssprop --pf-c-popover--BoxShadow\n * Popover box shadow\n * {@default `0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)`}\n * @cssprop {<length>} --pf-c-tooltip__content--PaddingTop\n * Popover top padding\n * {@default `1rem`}\n * @cssprop {<length>} --pf-c-tooltip__content--PaddingRight\n * Popover right padding\n * {@default `1rem`}\n * @cssprop {<length>} --pf-c-tooltip__content--PaddingBottom\n * Popover bottom padding\n * {@default `1rem`}\n * @cssprop {<length>} --pf-c-tooltip__content--PaddingLeft\n * Popover left padding\n * {@default `1rem`}\n * @cssprop {<number>} --pf-c-popover--line-height\n * Popover line height\n * {@default `1.5`}\n * @cssprop {<length>} --pf-c-popover__content--FontSize\n * Popover font-size\n * {@default `0.875rem`}\n * @cssprop {<color>} --pf-c-popover__content--BackgroundColor\n * Popover background color\n * {@default `#fff`}\n * @cssprop {<length>} --pf-c-popover--MaxWidth\n * Popover max-width\n * {@default `20.75rem`}\n * @cssprop {<length>} --pf-c-popover--MinWidth\n * Popover min-width\n * {@default `20.75rem`}\n * @cssprop {<number>} --pf-c-popover--c-button--Right\n * Close button right position\n * {@default `0}\n * @cssprop {<number>} --pf-c-popover--c-button--Top\n * Close button top position\n * {@default `0`}\n * @cssprop {<length>} --pf-c-popover--c-button--sibling--PaddingRight\n * Padding between close button and its immediate sibling\n * {@default `3rem`}\n * @cssprop {<length>} --pf-c-popover__title-icon--MarginRight\n * Heading icon right margin\n * {@default `0.5rem`}\n * @cssprop {<length>} --pf-c-popover__title--FontSize\n * Header font-size\n * {@default `1rem`}\n * @cssprop {<length>} --pf-c-popover__title--MarginBottom\n * Header bottom margin\n * {@default `0.5rem`}\n * @cssprop {<number>} --pf-c-popover__title--LineHeight\n * Header line height\n * {@default `1.5`}\n * @cssprop {<string>} --pf-c-popover__title--FontFamily\n * Header font-family\n * {@default `'RedHatDisplay', 'Overpass', overpass, helvetica, arial, sans-serif`}\n * @cssprop {<length>} --pf-c-popover__footer--MarginTop\n * Footer top margin\n * {@default `1rem`}\n * @cssprop {<color>} --pf-c-popover--m-default__title-text--Color\n * Default alert heading color\n * {@default `#003737`}\n * @cssprop {<color>} --pf-c-popover--m-default__title-icon--Color\n * Default alert icon color\n * {@default `#009596`}\n * @cssprop {<color>} --pf-c-popover--m-info__title-text--Color\n * Default alert heading color\n * {@default `#002952`}\n * @cssprop {<color>} --pf-c-popover--m-info__title-icon--Color\n * Default alert icon color\n * {@default `#2b9af3`}\n * @cssprop {<color>} --pf-c-popover--m-warning__title-text--Color\n * Default alert heading color\n * {@default `#795600`}\n * @cssprop {<color>} --pf-c-popover--m-warning__title-icon--Color\n * Default alert icon color\n * {@default `#f0ab00`}\n * @cssprop {<color>} --pf-c-popover--m-success__title-text--Color\n * Default alert heading color\n * {@default `#1e4f18`}\n * @cssprop {<color>} --pf-c-popover--m-success__title-icon--Color\n * Default alert icon color\n * {@default `#3e8635`}\n * @cssprop {<color>} --pf-c-popover--m-danger__title-text--Color\n * Default alert heading color\n * {@default `#a30000`}\n * @cssprop {<color>} --pf-c-popover--m-danger__title-icon--Color\n * Default alert icon color\n * {@default `#c9190b`}\n */\n@customElement('pf-popover')\nexport class PfPopover extends LitElement {\n static readonly styles = [styles];\n\n private static instances = new Set<PfPopover>();\n\n private static alertIcons = new Map(Object.entries({\n default: 'bell',\n info: 'circle-info',\n success: 'circle-check',\n warning: 'triangle-exclamation',\n danger: 'circle-exclamation',\n } satisfies Record<AlertSeverity, string>) as [AlertSeverity, string][]);\n\n static {\n document.addEventListener('click', function(event) {\n for (const instance of PfPopover.instances) {\n if (!instance.noOutsideClick) {\n instance.#outsideClick(event);\n }\n }\n });\n }\n\n /**\n * Indicates the initial popover position.\n * There are 12 options: `top`, `bottom`, `left`, `right`, `top-start`, `top-end`,\n * `bottom-start`, `bottom-end`, `left-start`, `left-end`,`right-start`, `right-end`.\n * The default is `top`.\n */\n @property({ reflect: true }) position: Placement = 'top';\n\n /**\n * The content rendered in the popover's heading.\n */\n @property({ reflect: true }) heading?: string;\n\n /**\n * The content rendered in the popover's body.\n */\n @property({ reflect: true }) body?: string;\n\n /**\n * The content rendered in the popover's footer.\n */\n @property({ reflect: true }) footer?: string;\n\n /**\n * The icon placed before the popover's heading.\n */\n @property({ reflect: true }) icon?: string;\n\n /**\n * The accessible label for the popover. This is required if the no heading is set.\n */\n @property({ reflect: true }) label?: string;\n\n /**\n * The distance to set between the popover and its trigger element.\n */\n @property({ type: Number, reflect: true }) distance?: number;\n\n /**\n * The flip order when flip is enabled and the initial position is not possible.\n * There are 12 options: `top`, `bottom`, `left`, `right`, `top-start`, `top-end`,\n * `bottom-start`, `bottom-end`, `left-start`, `left-end`,`right-start`, `right-end`.\n * The default is [oppositePlacement], where only the opposite placement is tried.\n */\n @property({\n attribute: 'flip-behavior',\n converter: StringListConverter,\n }) flipBehavior?: Placement[];\n\n /**\n * Disable the flip behavior. The default is `false`.\n */\n @property({ type: Boolean, reflect: true, attribute: 'no-flip' }) noFlip = false;\n\n /**\n * The heading level to use for the popover's header. The default is `h6`.\n */\n @property({\n type: Number,\n reflect: true,\n attribute: 'heading-level',\n }) headingLevel?: HeadingLevel;\n\n /**\n * Indicates which icon set to use for the header's icon.\n * The default is `fas` (Font Awesome Free Solid).\n */\n @property({ reflect: true, attribute: 'icon-set' }) iconSet?: string;\n\n /**\n * Hide the close button. The default is `false`.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-close' }) hideClose?: boolean;\n\n /**\n * Indicates the severity variant to use for the alert popover.\n * There are five options: `default`, `info`, `warning`, `success`, and `danger`.\n */\n @property({ reflect: true, attribute: 'alert-severity' }) alertSeverity?: AlertSeverity;\n\n /**\n * The accessible label for the popover's close button. The default is `Close popover`.\n */\n @property({ reflect: true, attribute: 'accessible-close-label' }) accessibleCloseLabel?: string;\n\n /**\n * @deprecated do not use the color-palette attribute, which was added by mistake. use context-providing containers (e.g. rh-card) instead\n */\n @deprecation({\n alias: 'accessible-close-label',\n attribute: 'close-label',\n }) closeButtonLabel?: string;\n\n /**\n * The text announced by the screen reader to indicate the popover's severity.\n * The default is `${alertSeverity} alert:`.\n */\n @property({ reflect: true, attribute: 'alert-severity-text' }) alertSeverityText?: string;\n\n /**\n * Don't hide the popover when clicking ouside of it.\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'no-outside-click',\n }) noOutsideClick?: boolean;\n\n /**\n * The ID of the element to attach the popover to.\n */\n @property({ reflect: true }) trigger?: string;\n\n @query('#popover') private _popover!: HTMLDialogElement;\n @query('#trigger') private _slottedTrigger?: HTMLElement | null;\n @query('#arrow') private _arrow!: HTMLDivElement;\n\n /** True before the show animation begins and after the hide animation ends */\n #hideDialog = true;\n\n #referenceTrigger?: HTMLElement | null = null;\n\n #float = new FloatingDOMController(this, {\n content: () => this._popover,\n arrow: () => this._arrow,\n invoker: () => this.#referenceTrigger || this._slottedTrigger,\n });\n\n #slots = new SlotController(this, null, 'icon', 'heading', 'body', 'footer');\n\n constructor() {\n super();\n this.addEventListener('keydown', this.#onKeydown);\n }\n\n render() {\n const { alignment, anchor, styles } = this.#float;\n const hasFooter = this.#slots.hasSlotted('footer') || !!this.footer;\n const hasHeading = this.#slots.hasSlotted('heading') || !!this.heading;\n const hasIcon = this.#slots.hasSlotted('icon') || !!this.icon || !!this.alertSeverity;\n\n // https://github.com/asyncLiz/minify-html-literals/issues/37\n let headingContent = html`<h6>${this.heading ?? ''}</h6>`;\n switch (this.headingLevel) {\n case 2: headingContent = html`<h2>${this.heading ?? ''}</h2>`; break;\n case 3: headingContent = html`<h3>${this.heading ?? ''}</h3>`; break;\n case 4: headingContent = html`<h4>${this.heading ?? ''}</h4>`; break;\n case 5: headingContent = html`<h5>${this.heading ?? ''}</h5>`; break;\n }\n\n const headingSlotWithFallback = html`\n <slot id=\"heading\" name=\"heading\" part=\"heading\" ?hidden=${!hasHeading}>${headingContent}</slot>\n `;\n\n const headerIcon = this.icon\n ?? PfPopover.alertIcons.get(this.alertSeverity as AlertSeverity)\n ?? '';\n\n return html`\n <div id=\"container\"\n style=\"${styleMap(styles)}\"\n class=\"${classMap({ [anchor]: !!anchor, [alignment]: !!alignment })}\">\n <slot id=\"trigger\"\n @slotchange=\"${this.#triggerChanged}\"\n @keydown=\"${this.#onKeydown}\"\n @click=\"${this.toggle}\"></slot>\n <dialog id=\"popover\"\n ?hidden=\"${this.#hideDialog}\"\n aria-labelledby=\"heading\"\n aria-describedby=\"body\"\n aria-label=${ifDefined(this.label)}>\n <div id=\"arrow\"></div>\n <div id=\"content\" part=\"content\">\n <pf-button id=\"close-button\"\n part=\"close-button\"\n plain\n label=\"${this.accessibleCloseLabel ?? this.closeButtonLabel ?? 'Close popover'}\"\n @click=\"${this.hide}\"\n @keydown=\"${this.#onKeydown}\"\n ?hidden=\"${this.hideClose}\">\n <svg fill=\"currentColor\" height=\"1em\" width=\"1em\" viewBox=\"0 0 352 512\">\n <path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"/>\n </svg>\n </pf-button>\n ${!(hasHeading && hasIcon) ? headingSlotWithFallback : html`\n <header part=\"header\">\n <span part=\"icon\">\n <slot name=\"icon\">\n <pf-icon icon=\"${headerIcon}\"\n set=\"${ifDefined(this.iconSet)}\"\n size=\"md\"></pf-icon>\n </slot>\n </span>${!this.alertSeverity ? nothing : html`\n <span class=\"visually-hidden\">${this.alertSeverityText ?? `${this.alertSeverity} alert:`}</span>`}\n ${headingSlotWithFallback}\n </header>`}\n <slot id=\"body\" part=\"body\" name=\"body\">${this.body ?? ''}</slot>\n <footer part=\"footer\" ?hidden=${!hasFooter}>\n <slot name=\"footer\">${this.footer}</slot>\n </footer>\n </div>\n </dialog>\n </div>\n `;\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n PfPopover.instances.delete(this);\n this.#referenceTrigger?.removeEventListener('click', this.toggle);\n this.#referenceTrigger?.removeEventListener('keydown', this.#onKeydown);\n }\n\n #getReferenceTrigger() {\n const root = this.getRootNode() as Document | ShadowRoot;\n return !this.trigger ? null : root.getElementById(this.trigger);\n }\n\n #triggerChanged() {\n const oldReferenceTrigger = this.#referenceTrigger;\n this.#referenceTrigger = this.#getReferenceTrigger();\n if (oldReferenceTrigger !== this.#referenceTrigger) {\n oldReferenceTrigger?.removeEventListener('click', this.toggle);\n oldReferenceTrigger?.removeEventListener('keydown', this.#onKeydown);\n this.#referenceTrigger?.addEventListener('click', this.toggle);\n this.#referenceTrigger?.addEventListener('keydown', this.#onKeydown);\n }\n }\n\n #onKeydown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape':\n case 'Esc':\n event.preventDefault();\n this.hide();\n return;\n case 'Enter':\n if (event.target === this.#referenceTrigger || event.target === this._slottedTrigger) {\n event.preventDefault();\n this.show();\n }\n return;\n }\n };\n\n #outsideClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this) && !path.includes(this.#referenceTrigger as HTMLElement)) {\n this.hide();\n }\n }\n\n /**\n * Removes event listeners from the old trigger element and attaches\n * them to the new trigger element.\n */\n override willUpdate(changed: PropertyValues<this>) {\n if (changed.has('trigger')) {\n this.#triggerChanged();\n }\n }\n\n /**\n * Toggle the popover\n */\n @bound async toggle() {\n this.#float.open ? this.hide() : this.show();\n }\n\n /**\n * Opens the popover\n */\n @bound async show() {\n this.#hideDialog = false;\n this.requestUpdate();\n this.dispatchEvent(new PopoverShowEvent());\n await this.updateComplete;\n await this.#float.show({\n offset: this.distance ?? 25,\n placement: this.position,\n flip: !this.noFlip,\n fallbackPlacements: this.flipBehavior,\n });\n this._popover?.show();\n this.dispatchEvent(new PopoverShownEvent());\n PfPopover.instances.add(this);\n }\n\n /**\n * Closes the popover\n */\n @bound async hide() {\n this.dispatchEvent(new PopoverHideEvent());\n await this.#float.hide();\n this._popover?.close();\n this.dispatchEvent(new PopoverHiddenEvent());\n PfPopover.instances.delete(this);\n this.#hideDialog = true;\n this.requestUpdate();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-popover': PfPopover;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pf-popover.js","sourceRoot":"","sources":["pf-popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Placement } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\n\nimport { LitElement, nothing, html, type PropertyValues, isServer, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { deprecation } from '@patternfly/pfe-core/decorators/deprecation.js';\nimport { bound } from '@patternfly/pfe-core/decorators/bound.js';\nimport { ComposedEvent, StringListConverter } from '@patternfly/pfe-core/core.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-popover.css';\n\ntype HeadingLevel = 2 | 3 | 4 | 5 | 6;\n\ntype AlertSeverity = 'default' | 'info' | 'warning' | 'success' | 'danger';\n\nexport class PopoverHideEvent extends ComposedEvent {\n constructor() {\n super('hide');\n }\n}\n\nexport class PopoverHiddenEvent extends ComposedEvent {\n constructor() {\n super('hidden');\n }\n}\n\nexport class PopoverShowEvent extends ComposedEvent {\n constructor() {\n super('show');\n }\n}\n\nexport class PopoverShownEvent extends ComposedEvent {\n constructor() {\n super('shown');\n }\n}\n\n/**\n * A **Popover** displays content in a non-modal dialog and adds contextual information or provides resources via text and links.\n * @summary Toggle the visibility of helpful or contextual information.\n * @slot -\n * The default slot holds invoking element.\n * Typically this would be an icon, button, or other small sized element.\n * @slot heading\n * This slot renders the content that will be displayed inside of the header of the popover.\n * Typically this would be a heading element.\n * @slot icon\n * This slot renders the icon that will be displayed inside the header of the popover,\n * before the heading.\n * @slot body\n * This slot renders the content that will be displayed inside of the body of the popover.\n * @slot footer\n * This slot renders the content that will be displayed inside of the footer of the popover.\n * @csspart container - The component wrapper\n * @csspart content - The content wrapper\n * @csspart header - The header element; only visible if both an icon annd heading are provided.\n * @csspart heading - The heading element\n * @csspart icon - The header icon\n * @csspart close-button - The close button\n * @csspart body - The container for the body content\n * @csspart footer - The container for the footer content\n * @cssprop {<length>} [--pf-c-popover__arrow--Height=1.5625rem] Height of the arrow\n * @cssprop {<length>} [--pf-c-popover__arrow--Width=1.5625rem] Width of the arrow\n * @cssprop {<color>} [--pf-c-popover__title-text--Color=inherit] Heading font color\n * @cssprop {<color>} [--pf-c-popover__title-icon--Color=#151515] Heading icon font color\n * @cssprop {<color>} [--pf-c-popover__arrow--BackgroundColor=#fff] Arrow background color\n * @cssprop [--pf-c-popover__arrow--BoxShadow=0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)] Arrow box shadow\n * @cssprop [--pf-c-popover--BoxShadow=0 0.5rem 1rem 0 rgba(3, 3, 3, 0.16), 0 0 0.375rem 0 rgba(3, 3, 3, 0.08)] Popover box shadow\n * @cssprop {<length>} [--pf-c-tooltip__content--PaddingTop=1rem] Popover top padding\n * @cssprop {<length>} [--pf-c-tooltip__content--PaddingRight=1rem] Popover right padding\n * @cssprop {<length>} [--pf-c-tooltip__content--PaddingBottom=1rem]\n * Popover bottom padding\n *\n * @cssprop {<length>} [--pf-c-tooltip__content--PaddingLeft=1rem]\n * Popover left padding\n *\n * @cssprop {<number>} [--pf-c-popover--line-height=1.5]\n * Popover line height\n *\n * @cssprop {<length>} [--pf-c-popover__content--FontSize=0.875rem]\n * Popover font-size\n *\n * @cssprop {<color>} [--pf-c-popover__content--BackgroundColor=#fff]\n * Popover background color\n *\n * @cssprop {<length>} [--pf-c-popover--MaxWidth=20.75rem]\n * Popover max-width\n *\n * @cssprop {<length>} [--pf-c-popover--MinWidth=20.75rem]\n * Popover min-width\n *\n * @cssprop {<number>} [--pf-c-popover--c-button--Right=`0]\n * Close button right position\n *\n * @cssprop {<number>} [--pf-c-popover--c-button--Top=0]\n * Close button top position\n *\n * @cssprop {<length>} [--pf-c-popover--c-button--sibling--PaddingRight=3rem]\n * Padding between close button and its immediate sibling\n *\n * @cssprop {<length>} [--pf-c-popover__title-icon--MarginRight=0.5rem]\n * Heading icon right margin\n *\n * @cssprop {<length>} [--pf-c-popover__title--FontSize=1rem]\n * Header font-size\n *\n * @cssprop {<length>} [--pf-c-popover__title--MarginBottom=0.5rem]\n * Header bottom margin\n *\n * @cssprop {<number>} [--pf-c-popover__title--LineHeight=1.5]\n * Header line height\n *\n * @cssprop {<string>} [--pf-c-popover__title--FontFamily='RedHatDisplay', 'Overpass', overpass, helvetica, arial, sans-serif]\n * Header font-family\n *\n * @cssprop {<length>} [--pf-c-popover__footer--MarginTop=1rem]\n * Footer top margin\n *\n * @cssprop {<color>} [--pf-c-popover--m-default__title-text--Color=#003737]\n * Default alert heading color\n *\n * @cssprop {<color>} [--pf-c-popover--m-default__title-icon--Color=#009596]\n * Default alert icon color\n *\n * @cssprop {<color>} [--pf-c-popover--m-info__title-text--Color=#002952]\n * Default alert heading color\n *\n * @cssprop {<color>} [--pf-c-popover--m-info__title-icon--Color=#2b9af3]\n * Default alert icon color\n *\n * @cssprop {<color>} [--pf-c-popover--m-warning__title-text--Color=#795600]\n * Default alert heading color\n *\n * @cssprop {<color>} [--pf-c-popover--m-warning__title-icon--Color=#f0ab00]\n * Default alert icon color\n *\n * @cssprop {<color>} [--pf-c-popover--m-success__title-text--Color=#1e4f18]\n * Default alert heading color\n *\n * @cssprop {<color>} [--pf-c-popover--m-success__title-icon--Color=#3e8635]\n * Default alert icon color\n *\n * @cssprop {<color>} [--pf-c-popover--m-danger__title-text--Color=#a30000]\n * Default alert heading color\n *\n * @cssprop {<color>} [--pf-c-popover--m-danger__title-icon--Color=#c9190b]\n * Default alert icon color\n *\n */\n@customElement('pf-popover')\nexport class PfPopover extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n private static instances = new Set<PfPopover>();\n\n private static alertIcons = new Map(Object.entries({\n default: 'bell',\n info: 'circle-info',\n success: 'circle-check',\n warning: 'triangle-exclamation',\n danger: 'circle-exclamation',\n } satisfies Record<AlertSeverity, string>) as [AlertSeverity, string][]);\n\n static {\n if (!isServer) {\n document.addEventListener('click', function(event) {\n for (const instance of PfPopover.instances) {\n if (!instance.noOutsideClick) {\n instance.#outsideClick(event);\n }\n }\n });\n }\n }\n\n /**\n * Indicates the initial popover position.\n * There are 12 options: `top`, `bottom`, `left`, `right`, `top-start`, `top-end`,\n * `bottom-start`, `bottom-end`, `left-start`, `left-end`,`right-start`, `right-end`.\n * The default is `top`.\n */\n @property({ reflect: true }) position: Placement = 'top';\n\n /**\n * The content rendered in the popover's heading.\n */\n @property({ reflect: true }) heading?: string;\n\n /**\n * The content rendered in the popover's body.\n */\n @property({ reflect: true }) body?: string;\n\n /**\n * The content rendered in the popover's footer.\n */\n @property({ reflect: true }) footer?: string;\n\n /**\n * The icon placed before the popover's heading.\n */\n @property({ reflect: true }) icon?: string;\n\n /**\n * The accessible label for the popover. This is required if the no heading is set.\n */\n @property({ reflect: true }) label?: string;\n\n /**\n * The distance to set between the popover and its trigger element.\n */\n @property({ type: Number, reflect: true }) distance?: number;\n\n /**\n * The flip order when flip is enabled and the initial position is not possible.\n * There are 12 options: `top`, `bottom`, `left`, `right`, `top-start`, `top-end`,\n * `bottom-start`, `bottom-end`, `left-start`, `left-end`,`right-start`, `right-end`.\n * The default is [oppositePlacement], where only the opposite placement is tried.\n */\n @property({\n attribute: 'flip-behavior',\n converter: StringListConverter,\n }) flipBehavior?: Placement[];\n\n /**\n * Disable the flip behavior. The default is `false`.\n */\n @property({ type: Boolean, reflect: true, attribute: 'no-flip' }) noFlip = false;\n\n /**\n * The heading level to use for the popover's header. The default is `h6`.\n */\n @property({\n type: Number,\n reflect: true,\n attribute: 'heading-level',\n }) headingLevel?: HeadingLevel;\n\n /**\n * Indicates which icon set to use for the header's icon.\n * The default is `fas` (Font Awesome Free Solid).\n */\n @property({ reflect: true, attribute: 'icon-set' }) iconSet?: string;\n\n /**\n * Hide the close button. The default is `false`.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-close' }) hideClose?: boolean;\n\n /**\n * Indicates the severity variant to use for the alert popover.\n * There are five options: `default`, `info`, `warning`, `success`, and `danger`.\n */\n @property({ reflect: true, attribute: 'alert-severity' }) alertSeverity?: AlertSeverity;\n\n /**\n * The accessible label for the popover's close button. The default is `Close popover`.\n */\n @property({ reflect: true, attribute: 'accessible-close-label' }) accessibleCloseLabel?: string;\n\n /**\n * @deprecated do not use the color-palette attribute, which was added by mistake. use context-providing containers (e.g. rh-card) instead\n */\n @deprecation({\n alias: 'accessible-close-label',\n attribute: 'close-label',\n }) closeButtonLabel?: string;\n\n /**\n * The text announced by the screen reader to indicate the popover's severity.\n * The default is `${alertSeverity} alert:`.\n */\n @property({ reflect: true, attribute: 'alert-severity-text' }) alertSeverityText?: string;\n\n /**\n * Don't hide the popover when clicking ouside of it.\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'no-outside-click',\n }) noOutsideClick?: boolean;\n\n /**\n * The ID of the element to attach the popover to.\n */\n @property({ reflect: true }) trigger?: string;\n\n @query('#popover') private _popover!: HTMLDialogElement;\n @query('#trigger') private _slottedTrigger?: HTMLElement | null;\n @query('#arrow') private _arrow!: HTMLDivElement;\n\n /** True before the show animation begins and after the hide animation ends */\n #hideDialog = true;\n\n #referenceTrigger?: HTMLElement | null = null;\n\n #float = new FloatingDOMController(this, {\n content: () => this._popover,\n arrow: () => this._arrow,\n invoker: () => this.#referenceTrigger || this._slottedTrigger,\n });\n\n #slots = new SlotController(this, null, 'icon', 'heading', 'body', 'footer');\n\n constructor() {\n super();\n if (!isServer) {\n this.addEventListener('keydown', this.#onKeydown);\n }\n }\n\n render(): TemplateResult<1> {\n const { alignment, anchor, styles } = this.#float;\n const hasFooter = this.#slots.hasSlotted('footer') || !!this.footer;\n const hasHeading = this.#slots.hasSlotted('heading') || !!this.heading;\n const hasIcon = this.#slots.hasSlotted('icon') || !!this.icon || !!this.alertSeverity;\n\n // https://github.com/asyncLiz/minify-html-literals/issues/37\n let headingContent = html`<h6>${this.heading ?? ''}</h6>`;\n switch (this.headingLevel) {\n case 2: headingContent = html`<h2>${this.heading ?? ''}</h2>`; break;\n case 3: headingContent = html`<h3>${this.heading ?? ''}</h3>`; break;\n case 4: headingContent = html`<h4>${this.heading ?? ''}</h4>`; break;\n case 5: headingContent = html`<h5>${this.heading ?? ''}</h5>`; break;\n }\n\n const headingSlotWithFallback = html`\n <slot id=\"heading\" name=\"heading\" part=\"heading\" ?hidden=${!hasHeading}>${headingContent}</slot>\n `;\n\n const headerIcon = this.icon\n ?? PfPopover.alertIcons.get(this.alertSeverity as AlertSeverity)\n ?? '';\n\n return html`\n <div id=\"container\"\n style=\"${styleMap(styles)}\"\n class=\"${classMap({ [anchor]: !!anchor, [alignment]: !!alignment })}\">\n <slot id=\"trigger\"\n @slotchange=\"${this.#triggerChanged}\"\n @keydown=\"${this.#onKeydown}\"\n @click=\"${this.toggle}\"></slot>\n <dialog id=\"popover\"\n ?hidden=\"${this.#hideDialog}\"\n aria-labelledby=\"heading\"\n aria-describedby=\"body\"\n aria-label=${ifDefined(this.label)}>\n <div id=\"arrow\"></div>\n <div id=\"content\" part=\"content\">\n <pf-button id=\"close-button\"\n part=\"close-button\"\n plain\n label=\"${this.accessibleCloseLabel ?? this.closeButtonLabel ?? 'Close popover'}\"\n @click=\"${this.hide}\"\n @keydown=\"${this.#onKeydown}\"\n ?hidden=\"${this.hideClose}\">\n <svg fill=\"currentColor\" height=\"1em\" width=\"1em\" viewBox=\"0 0 352 512\">\n <path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"/>\n </svg>\n </pf-button>\n ${!(hasHeading && hasIcon) ? headingSlotWithFallback : html`\n <header part=\"header\">\n <span part=\"icon\">\n <slot name=\"icon\">\n <pf-icon icon=\"${headerIcon}\"\n set=\"${ifDefined(this.iconSet)}\"\n size=\"md\"></pf-icon>\n </slot>\n </span>${!this.alertSeverity ? nothing : html`\n <span class=\"visually-hidden\">${this.alertSeverityText ?? `${this.alertSeverity} alert:`}</span>`}\n ${headingSlotWithFallback}\n </header>`}\n <slot id=\"body\" part=\"body\" name=\"body\">${this.body ?? ''}</slot>\n <footer part=\"footer\" ?hidden=${!hasFooter}>\n <slot name=\"footer\">${this.footer}</slot>\n </footer>\n </div>\n </dialog>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n PfPopover.instances.delete(this);\n this.#referenceTrigger?.removeEventListener('click', this.toggle);\n this.#referenceTrigger?.removeEventListener('keydown', this.#onKeydown);\n }\n\n #getReferenceTrigger() {\n if (isServer || !this.trigger) {\n return null;\n } else {\n return (this.getRootNode() as Document | ShadowRoot).getElementById(this.trigger);\n }\n }\n\n #triggerChanged() {\n const oldReferenceTrigger = this.#referenceTrigger;\n this.#referenceTrigger = this.#getReferenceTrigger();\n if (oldReferenceTrigger !== this.#referenceTrigger) {\n oldReferenceTrigger?.removeEventListener('click', this.toggle);\n oldReferenceTrigger?.removeEventListener('keydown', this.#onKeydown);\n this.#referenceTrigger?.addEventListener('click', this.toggle);\n this.#referenceTrigger?.addEventListener('keydown', this.#onKeydown);\n }\n }\n\n #onKeydown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape':\n case 'Esc':\n event.preventDefault();\n this.hide();\n return;\n case 'Enter':\n if (event.target === this.#referenceTrigger || event.target === this._slottedTrigger) {\n event.preventDefault();\n this.show();\n }\n return;\n }\n };\n\n #outsideClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this) && !path.includes(this.#referenceTrigger as HTMLElement)) {\n this.hide();\n }\n }\n\n /**\n * Removes event listeners from the old trigger element and attaches\n * them to the new trigger element.\n * @param changed changed props\n */\n override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('trigger')) {\n this.#triggerChanged();\n }\n }\n\n /**\n * Toggle the popover\n */\n @bound async toggle(): Promise<void> {\n if (this.#float.open) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Opens the popover\n */\n @bound async show(): Promise<void> {\n this.#hideDialog = false;\n this.requestUpdate();\n this.dispatchEvent(new PopoverShowEvent());\n await this.updateComplete;\n await this.#float.show({\n offset: this.distance ?? 25,\n placement: this.position,\n flip: !this.noFlip,\n fallbackPlacements: this.flipBehavior,\n });\n this._popover?.show();\n this.dispatchEvent(new PopoverShownEvent());\n PfPopover.instances.add(this);\n }\n\n /**\n * Closes the popover\n */\n @bound async hide(): Promise<void> {\n this.dispatchEvent(new PopoverHideEvent());\n await this.#float.hide();\n this._popover?.close();\n this.dispatchEvent(new PopoverHiddenEvent());\n PfPopover.instances.delete(this);\n this.#hideDialog = true;\n this.requestUpdate();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-popover': PfPopover;\n }\n}\n"]}
|