@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-jump-links.js","sourceRoot":"","sources":["pf-jump-links.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { ScrollSpyController } from '@patternfly/pfe-core/controllers/scroll-spy-controller.js';\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\n\nimport { PfJumpLinksItem } from './pf-jump-links-item.js';\n\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\nimport style from './pf-jump-links.css';\n\n/**\n * **Jump links** allow users to navigate to sections within a page.\n * @fires toggle - when the `expanded` disclosure widget is toggled\n * @slot - Place pf-jump-links-items here\n * @cssprop --pf-c-jump-links__list--Display\n * @cssprop --pf-c-jump-links__list--FlexDirection\n * @cssprop --pf-c-jump-links__list--PaddingTop -- padding around the list of links\n * @cssprop --pf-c-jump-links__list--PaddingRight\n * @cssprop --pf-c-jump-links__list--PaddingBottom\n * @cssprop --pf-c-jump-links__list--PaddingLeft\n * @cssprop --pf-c-jump-links__list--Visibility\n * @cssprop --pf-c-jump-links__list--before--BorderColor\n * @cssprop --pf-c-jump-links__list--before--BorderTopWidth\n * @cssprop --pf-c-jump-links__list--before--BorderRightWidth\n * @cssprop --pf-c-jump-links__list--before--BorderBottomWidth\n * @cssprop --pf-c-jump-links__list--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links__toggle--MarginBottom--base\n * @cssprop --pf-c-jump-links__toggle--MarginTop -- padding around the expandable jump links disclosure widget.\n * @cssprop --pf-c-jump-links__toggle--MarginBottom\n * @cssprop --pf-c-jump-links__toggle--MarginBottom--base\n * @cssprop --pf-c-jump-links__toggle--MarginLeft\n * @cssprop --pf-c-jump-links__toggle-text--Color\n * @cssprop --pf-c-button--PaddingTop -- padding around the expandable jump links disclosure widget.\n * @cssprop --pf-c-button--PaddingRight\n * @cssprop --pf-c-button--PaddingBottom\n * @cssprop --pf-c-button--PaddingLeft\n * @cssprop --pf-c-jump-links__toggle-icon--Rotate\n * @cssprop --pf-c-jump-links__toggle-icon--Transition\n * @cssprop --pf-c-jump-links__toggle-text--MarginLeft\n * @cssprop --pf-c-jump-links--m-expanded__toggle--MarginBottom\n * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Rotate\n * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Color\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingTop\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingRight\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingBottom\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingLeft\n * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderTopWidth\n * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth\n * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links--m-vertical__list--FlexDirection\n */\n@customElement('pf-jump-links')\nexport class PfJumpLinks extends LitElement {\n static readonly styles = [style];\n\n /** Whether the element features a disclosure widget around the nav items */\n @property({ reflect: true, type: Boolean }) expandable = false;\n\n /** Whether the expandable element's disclosure widget is expanded */\n @property({ reflect: true, type: Boolean }) expanded = false;\n\n /** Whether the layout of children is vertical or horizontal. */\n @property({ reflect: true, type: Boolean }) vertical = false;\n\n /** Whether to center children. */\n @property({ reflect: true, type: Boolean }) centered = false;\n\n /** Offset to add to the scroll position, potentially for a masthead which content scrolls under. */\n @property({ type: Number }) offset = 0;\n\n /** Label to add to nav element. */\n @property() label?: string;\n\n #kids = this.querySelectorAll<LitElement>(':is(pf-jump-links-item, pf-jump-links-list)');\n\n #tabindex?: RovingTabindexController<HTMLAnchorElement>;\n\n #spy = new ScrollSpyController(this, {\n rootMargin: `${this.offset}px 0px 0px 0px`,\n tagNames: ['pf-jump-links-item'],\n });\n\n protected override async getUpdateComplete(): Promise<boolean> {\n const here = await super.getUpdateComplete();\n const ps = await Promise.all(Array.from(this.#kids, x => x.updateComplete));\n return here && ps.every(x => !!x);\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('slotchange', this.#updateItems);\n this.addEventListener('select', this.#onSelect);\n }\n\n override firstUpdated() {\n this.#tabindex = new RovingTabindexController<HTMLAnchorElement>(this, {\n getItems: () => {\n const items = Array.from(this.#kids)\n .flatMap(i => [\n ...i.shadowRoot?.querySelectorAll('a') ?? [],\n ...i.querySelectorAll('a') ?? [],\n ]);\n return items;\n },\n });\n const active = this.querySelector<PfJumpLinksItem>('pf-jump-links-item[active]');\n if (active) {\n this.#setActiveItem(active);\n }\n }\n\n override updated(changed: Map<string, unknown>) {\n if (changed.has('offset')) {\n this.#spy.rootMargin = `${this.offset ?? 0}px 0px 0px 0px`;\n }\n }\n\n render() {\n return html`\n <nav id=\"container\">${this.expandable ? html`\n <details ?open=\"${this.expanded}\" @toggle=\"${this.#onToggle}\">\n <summary>\n <pf-icon icon=\"chevron-right\"></pf-icon>\n <span id=\"label\">${this.label}</span>\n </summary>\n <div role=\"listbox\" aria-labelledby=\"label\">\n <slot></slot>\n </div>\n </details>` : html`\n <span id=\"label\">${this.label}</span>\n <div role=\"listbox\" aria-labelledby=\"label\">\n <slot></slot>\n </div>`}\n </nav>\n `;\n }\n\n #updateItems() {\n this.#tabindex?.updateItems();\n }\n\n #onSelect(event: Event) {\n if (event.target instanceof PfJumpLinksItem) {\n this.#setActiveItem(event.target);\n }\n }\n\n #setActiveItem(item: PfJumpLinksItem) {\n this.#tabindex?.setActiveItem(item.shadowRoot?.querySelector('a') ?? undefined);\n this.#spy.setActive(item);\n }\n\n #onToggle(event: Event) {\n if (event.target instanceof HTMLDetailsElement) {\n this.expanded = event.target.open;\n }\n this.dispatchEvent(new Event('toggle'));\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-jump-links': PfJumpLinks;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pf-jump-links.js","sourceRoot":"","sources":["pf-jump-links.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { ScrollSpyController } from '@patternfly/pfe-core/controllers/scroll-spy-controller.js';\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\n\nimport { PfJumpLinksItem } from './pf-jump-links-item.js';\n\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\nimport style from './pf-jump-links.css';\n\n/**\n * **Jump links** allow users to navigate to sections within a page.\n * @fires toggle - when the `expanded` disclosure widget is toggled\n * @slot - Place pf-jump-links-items here\n * @cssprop --pf-c-jump-links__list--Display\n * @cssprop --pf-c-jump-links__list--FlexDirection\n * @cssprop --pf-c-jump-links__list--PaddingTop -- padding around the list of links\n * @cssprop --pf-c-jump-links__list--PaddingRight\n * @cssprop --pf-c-jump-links__list--PaddingBottom\n * @cssprop --pf-c-jump-links__list--PaddingLeft\n * @cssprop --pf-c-jump-links__list--Visibility\n * @cssprop --pf-c-jump-links__list--before--BorderColor\n * @cssprop --pf-c-jump-links__list--before--BorderTopWidth\n * @cssprop --pf-c-jump-links__list--before--BorderRightWidth\n * @cssprop --pf-c-jump-links__list--before--BorderBottomWidth\n * @cssprop --pf-c-jump-links__list--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links__toggle--MarginBottom--base\n * @cssprop --pf-c-jump-links__toggle--MarginTop -- padding around the expandable jump links disclosure widget.\n * @cssprop --pf-c-jump-links__toggle--MarginBottom\n * @cssprop --pf-c-jump-links__toggle--MarginBottom--base\n * @cssprop --pf-c-jump-links__toggle--MarginLeft\n * @cssprop --pf-c-jump-links__toggle-text--Color\n * @cssprop --pf-c-button--PaddingTop -- padding around the expandable jump links disclosure widget.\n * @cssprop --pf-c-button--PaddingRight\n * @cssprop --pf-c-button--PaddingBottom\n * @cssprop --pf-c-button--PaddingLeft\n * @cssprop --pf-c-jump-links__toggle-icon--Rotate\n * @cssprop --pf-c-jump-links__toggle-icon--Transition\n * @cssprop --pf-c-jump-links__toggle-text--MarginLeft\n * @cssprop --pf-c-jump-links--m-expanded__toggle--MarginBottom\n * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Rotate\n * @cssprop --pf-c-jump-links--m-expanded__toggle-icon--Color\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingTop\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingRight\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingBottom\n * @cssprop --pf-c-jump-links--m-vertical__list--PaddingLeft\n * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderTopWidth\n * @cssprop --pf-c-jump-links--m-vertical__list--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderTopWidth\n * @cssprop --pf-c-jump-links--m-vertical__item--m-current__link--before--BorderLeftWidth\n * @cssprop --pf-c-jump-links--m-vertical__list--FlexDirection\n */\n@customElement('pf-jump-links')\nexport class PfJumpLinks extends LitElement {\n static readonly styles: CSSStyleSheet[] = [style];\n\n /** Whether the element features a disclosure widget around the nav items */\n @property({ reflect: true, type: Boolean }) expandable = false;\n\n /** Whether the expandable element's disclosure widget is expanded */\n @property({ reflect: true, type: Boolean }) expanded = false;\n\n /** Whether the layout of children is vertical or horizontal. */\n @property({ reflect: true, type: Boolean }) vertical = false;\n\n /** Whether to center children. */\n @property({ reflect: true, type: Boolean }) centered = false;\n\n /** Offset to add to the scroll position, potentially for a masthead which content scrolls under. */\n @property({ type: Number }) offset = 0;\n\n /** Label to add to nav element. */\n @property() label?: string;\n\n #kids = this.querySelectorAll?.<LitElement>(':is(pf-jump-links-item, pf-jump-links-list)');\n\n get #items() {\n return Array.from(this.#kids ?? [])\n .flatMap(i => [\n ...i.shadowRoot?.querySelectorAll?.('a') ?? [],\n ...i.querySelectorAll?.('a') ?? [],\n ]);\n }\n\n #tabindex = RovingTabindexController.of<HTMLAnchorElement>(this, {\n getItems: () => this.#items,\n });\n\n #spy = new ScrollSpyController(this, {\n rootMargin: `${this.offset}px 0px 0px 0px`,\n tagNames: ['pf-jump-links-item'],\n });\n\n protected override async getUpdateComplete(): Promise<boolean> {\n const here = await super.getUpdateComplete();\n const ps = await Promise.all(Array.from(this.#kids, x => x.updateComplete));\n return here && ps.every(x => !!x);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('slotchange', this.#onSlotChange);\n this.addEventListener('select', this.#onSelect);\n }\n\n override firstUpdated(): void {\n const active = this.querySelector?.<PfJumpLinksItem>('pf-jump-links-item[active]');\n if (active) {\n this.#setActiveItem(active);\n }\n }\n\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('offset')) {\n this.#spy.rootMargin = `${this.offset ?? 0}px 0px 0px 0px`;\n }\n }\n\n render(): TemplateResult<1> {\n return html`\n <nav id=\"container\">${this.expandable ? html`\n <details ?open=\"${this.expanded}\" @toggle=\"${this.#onToggle}\">\n <summary>\n <pf-icon icon=\"chevron-right\"></pf-icon>\n <span id=\"label\">${this.label}</span>\n </summary>\n <div role=\"listbox\" aria-labelledby=\"label\">\n <slot></slot>\n </div>\n </details>` : html`\n <span id=\"label\">${this.label}</span>\n <div role=\"listbox\" aria-labelledby=\"label\">\n <slot></slot>\n </div>`}\n </nav>\n `;\n }\n\n #onSlotChange() {\n this.#tabindex.items = this.#items;\n }\n\n #onSelect(event: Event) {\n if (event.target instanceof PfJumpLinksItem) {\n this.#setActiveItem(event.target);\n }\n }\n\n #setActiveItem(item: PfJumpLinksItem) {\n const itemLink = item.shadowRoot?.querySelector?.('a') ?? null;\n if (itemLink) {\n this.#tabindex.atFocusedItemIndex = this.#tabindex.items.indexOf(itemLink);\n this.#spy.setActive(item);\n }\n }\n\n #onToggle(event: Event) {\n if (event.target instanceof HTMLDetailsElement) {\n this.expanded = event.target.open;\n }\n this.dispatchEvent(new Event('toggle'));\n }\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-jump-links': PfJumpLinks;\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-jump-links';
|
|
4
5
|
test.describe(tagName, () => {
|
|
5
6
|
test('snapshot', async ({ page }) => {
|
|
@@ -7,5 +8,16 @@ test.describe(tagName, () => {
|
|
|
7
8
|
await componentPage.navigate({ selector: 'pf-jump-links-nav' });
|
|
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-jump-links.e2e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-jump-links.e2e.js","sourceRoot":"","sources":["pf-jump-links.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-jump-links.e2e.js","sourceRoot":"","sources":["pf-jump-links.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,eAAe,CAAC;AAEhC,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,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,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-jump-links';\n\ntest.describe(tagName, () => {\n test('snapshot', async ({ page }) => {\n const componentPage = new PfeDemoPage(page, tagName);\n await componentPage.navigate({ selector: 'pf-jump-links-nav' });\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"]}
|
package/pf-label/pf-label.css
CHANGED
|
@@ -1,27 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
:host {
|
|
2
|
+
position: relative;
|
|
3
|
+
white-space: nowrap;
|
|
4
|
+
border: 0;
|
|
3
5
|
}
|
|
4
6
|
|
|
7
|
+
pf-icon, ::slotted(pf-icon) {
|
|
8
|
+
color: currentColor;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
:host,
|
|
5
12
|
#container {
|
|
6
|
-
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
vertical-align: middle;
|
|
16
|
+
}
|
|
7
17
|
|
|
18
|
+
#container {
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
text-overflow: ellipsis;
|
|
21
|
+
white-space: nowrap;
|
|
22
|
+
border-width: 0;
|
|
8
23
|
padding-top: var(--pf-c-label--PaddingTop, var(--pf-global--spacer--xs, 0.25rem));
|
|
9
24
|
padding-left: var(--pf-c-label--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem));
|
|
10
25
|
padding-bottom: var(--pf-c-label--PaddingBottom, var(--pf-global--spacer--xs, 0.25rem));
|
|
11
26
|
padding-right: var(--pf-c-label--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));
|
|
12
|
-
font-size: var(--pf-c-label--FontSize, 0.
|
|
27
|
+
font-size: var(--pf-c-label--FontSize, var(--pf-global--FontSize--sm, 0.875rem));
|
|
13
28
|
color: var(--pf-c-label--Color, var(--pf-global--Color--100, #151515));
|
|
14
29
|
background-color: var(--pf-c-label--BackgroundColor, var(--pf-global--palette--black-150, #f5f5f5));
|
|
15
30
|
border-radius: var(--pf-c-label--BorderRadius, 30em);
|
|
16
31
|
max-width: var(--pf-c-label__content--MaxWidth, 100%);
|
|
17
32
|
color: var(--pf-c-label__content--Color, var(--pf-global--Color--100, #151515));
|
|
33
|
+
|
|
34
|
+
--pf-global--icon--FontSize--sm: 14px;
|
|
18
35
|
}
|
|
19
36
|
|
|
20
37
|
#container::before {
|
|
38
|
+
position: absolute;
|
|
39
|
+
top: 0;
|
|
40
|
+
right: 0;
|
|
41
|
+
bottom: 0;
|
|
42
|
+
left: 0;
|
|
43
|
+
pointer-events: none;
|
|
44
|
+
content: "";
|
|
21
45
|
border-radius: var(--pf-c-label--BorderRadius, 30em);
|
|
22
46
|
border: var(--pf-c-label__content--before--BorderWidth, 1px) solid var(--pf-c-label__content--before--BorderColor, var(--pf-global--palette--black-300, #d2d2d2));
|
|
23
47
|
}
|
|
24
48
|
|
|
49
|
+
[part=icon] {
|
|
50
|
+
display: none;
|
|
51
|
+
pointer-events: none;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.hasIcon [part=icon] {
|
|
55
|
+
display: inline-flex;
|
|
56
|
+
width: 1em;
|
|
57
|
+
}
|
|
58
|
+
|
|
25
59
|
.compact {
|
|
26
60
|
--pf-c-label--PaddingTop: var(--pf-c-label--m-compact--PaddingTop, 0);
|
|
27
61
|
--pf-c-label--PaddingRight: var(--pf-c-label--m-compact--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));
|
|
@@ -30,7 +64,6 @@
|
|
|
30
64
|
--pf-global--icon--FontSize--sm: 12px;
|
|
31
65
|
}
|
|
32
66
|
|
|
33
|
-
|
|
34
67
|
.blue {
|
|
35
68
|
--pf-c-label__content--Color: var(--pf-c-label--m-blue__content--Color, var(--pf-global--info-color--200, #002952));
|
|
36
69
|
--pf-c-label--BackgroundColor: var(--pf-c-label--m-blue--BackgroundColor, var(--pf-global--palette--blue-50, #e7f1fa));
|
package/pf-label/pf-label.d.ts
CHANGED
|
@@ -1,90 +1,86 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LitElement, type TemplateResult } from 'lit';
|
|
2
2
|
import '@patternfly/elements/pf-button/pf-button.js';
|
|
3
|
-
export
|
|
4
|
-
|
|
3
|
+
export declare class LabelCloseEvent extends Event {
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
5
6
|
/**
|
|
6
7
|
* The **label** component allows users to add specific element captions for user
|
|
7
8
|
* clarity and convenience.
|
|
8
9
|
* @summary Allows users to display meta data in a stylized form.
|
|
9
|
-
* @fires close - when a removable label's close button is clicked
|
|
10
|
-
* @cssprop {<length>} --pf-c-label--FontSize
|
|
11
|
-
* @cssprop {<length>} --pf-c-label--PaddingTop
|
|
12
|
-
* @cssprop {<length>} --pf-c-label--PaddingRight
|
|
13
|
-
* @cssprop {<length>} --pf-c-label--PaddingBottom
|
|
14
|
-
* @cssprop {<length>} --pf-c-label--PaddingLeft
|
|
15
|
-
* @cssprop {<color>} --pf-c-label--Color
|
|
16
|
-
* @cssprop {<color>} --pf-c-label--BackgroundColor
|
|
17
|
-
* @cssprop {<length>} --pf-c-label--BorderRadius
|
|
18
|
-
* @cssprop {<length>} --pf-c-label__content--MaxWidth
|
|
19
|
-
* @cssprop {<color>} --pf-c-label__content--Color
|
|
20
|
-
* @cssprop {<length>} --pf-c-label__content--before--BorderWidth
|
|
21
|
-
* @cssprop {<color>} --pf-c-label__content--before--BorderColor
|
|
22
|
-
* @cssprop {<color>} --pf-c-label--m-outline__content--Color
|
|
23
|
-
* @cssprop {<color>} --pf-c-label--m-outline--BackgroundColor
|
|
24
|
-
* @cssprop {<color>} --pf-c-label--m-blue__content--Color
|
|
25
|
-
* @cssprop {<color>} --pf-c-label--m-blue--BackgroundColor
|
|
26
|
-
* @cssprop {<color>} --pf-c-label--m-blue__content--before--BorderColor
|
|
27
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-blue__content--Color
|
|
28
|
-
* @cssprop {<color>} --pf-c-label--m-cyan__content--Color
|
|
29
|
-
* @cssprop {<color>} --pf-c-label--m-cyan--BackgroundColor
|
|
30
|
-
* @cssprop {<color>} --pf-c-label--m-cyan__content--before--BorderColor
|
|
31
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-cyan__content--Color
|
|
32
|
-
* @cssprop {<color>} --pf-c-label--m-green__content--Color
|
|
33
|
-
* @cssprop {<color>} --pf-c-label--m-green--BackgroundColor
|
|
34
|
-
* @cssprop {<color>} --pf-c-label--m-green__content--before--BorderColor
|
|
35
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-green__content--Color
|
|
36
|
-
* @cssprop {<color>} --pf-c-label--m-orange__content--Color
|
|
37
|
-
* @cssprop {<color>} --pf-c-label--m-orange--BackgroundColor
|
|
38
|
-
* @cssprop {<color>} --pf-c-label--m-orange__content--before--BorderColor
|
|
39
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-orange__content--Color
|
|
40
|
-
* @cssprop {<color>} --pf-c-label--m-purple__content--Color
|
|
41
|
-
* @cssprop {<color>} --pf-c-label--m-purple--BackgroundColor
|
|
42
|
-
* @cssprop {<color>} --pf-c-label--m-purple__content--before--BorderColor
|
|
43
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-purple__content--Color
|
|
44
|
-
* @cssprop {<color>} --pf-c-label--m-red__content--Color
|
|
45
|
-
* @cssprop {<color>} --pf-c-label--m-red--BackgroundColor
|
|
46
|
-
* @cssprop {<color>} --pf-c-label--m-red__content--before--BorderColor
|
|
47
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-red__content--Color
|
|
48
|
-
* @cssprop {<color>} --pf-c-label--m-gold__content--Color
|
|
49
|
-
* @cssprop {<color>} --pf-c-label--m-gold--BackgroundColor
|
|
50
|
-
* @cssprop {<color>} --pf-c-label--m-gold__content--before--BorderColor
|
|
51
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-gold__content--Color
|
|
52
|
-
* @cssprop {<color>} --pf-c-label--m-blue__icon--Color
|
|
53
|
-
* @cssprop {<color>} --pf-c-label--m-cyan__icon--Color
|
|
54
|
-
* @cssprop {<color>} --pf-c-label--m-green__icon--Color
|
|
55
|
-
* @cssprop {<color>} --pf-c-label--m-orange__icon--Color
|
|
56
|
-
* @cssprop {<color>} --pf-c-label--m-red__icon--Color
|
|
57
|
-
* @cssprop {<color>} --pf-c-label--m-gold__icon--Color
|
|
10
|
+
* @fires {LabelCloseEvent} close - when a removable label's close button is clicked
|
|
11
|
+
* @cssprop {<length>} [--pf-c-label--FontSize=0.875em]
|
|
12
|
+
* @cssprop {<length>} [--pf-c-label--PaddingTop=0.25rem]
|
|
13
|
+
* @cssprop {<length>} [--pf-c-label--PaddingRight=0.5rem]
|
|
14
|
+
* @cssprop {<length>} [--pf-c-label--PaddingBottom=0.25rem]
|
|
15
|
+
* @cssprop {<length>} [--pf-c-label--PaddingLeft=0.5rem]
|
|
16
|
+
* @cssprop {<color>} [--pf-c-label--Color=#151515]
|
|
17
|
+
* @cssprop {<color>} [--pf-c-label--BackgroundColor=#f5f5f5]
|
|
18
|
+
* @cssprop {<length>} [--pf-c-label--BorderRadius=30em]
|
|
19
|
+
* @cssprop {<length>} [--pf-c-label__content--MaxWidth=100]
|
|
20
|
+
* @cssprop {<color>} [--pf-c-label__content--Color=#151515]
|
|
21
|
+
* @cssprop {<length>} [--pf-c-label__content--before--BorderWidth=1px]
|
|
22
|
+
* @cssprop {<color>} [--pf-c-label__content--before--BorderColor=#d2d2d2]
|
|
23
|
+
* @cssprop {<color>} [--pf-c-label--m-outline__content--Color=#151515]
|
|
24
|
+
* @cssprop {<color>} [--pf-c-label--m-outline--BackgroundColor=#ffffff]
|
|
25
|
+
* @cssprop {<color>} [--pf-c-label--m-blue__content--Color=#002952]
|
|
26
|
+
* @cssprop {<color>} [--pf-c-label--m-blue--BackgroundColor=#e7f1fa]
|
|
27
|
+
* @cssprop {<color>} [--pf-c-label--m-blue__content--before--BorderColor=#bee1f4]
|
|
28
|
+
* @cssprop {<color>} [--pf-c-label--m-outline--m-blue__content--Color=#06c]
|
|
29
|
+
* @cssprop {<color>} [--pf-c-label--m-cyan__content--Color=#3b1f00]
|
|
30
|
+
* @cssprop {<color>} [--pf-c-label--m-cyan--BackgroundColor=#f2f9f9]
|
|
31
|
+
* @cssprop {<color>} [--pf-c-label--m-cyan__content--before--BorderColor=#a2d9d9]
|
|
32
|
+
* @cssprop {<color>} [--pf-c-label--m-outline--m-cyan__content--Color=#005f60]
|
|
33
|
+
* @cssprop {<color>} [--pf-c-label--m-green__content--Color=#1e4f18]
|
|
34
|
+
* @cssprop {<color>} [--pf-c-label--m-green--BackgroundColor=#f3faf2]
|
|
35
|
+
* @cssprop {<color>} [--pf-c-label--m-green__content--before--BorderColor=#bde5b8]
|
|
36
|
+
* @cssprop {<color>} [--pf-c-label--m-outline--m-green__content--Color=#3e8635]
|
|
37
|
+
* @cssprop {<color>} [--pf-c-label--m-orange__content--Color=#003737]
|
|
38
|
+
* @cssprop {<color>} [--pf-c-label--m-orange--BackgroundColor=#fff6ec]
|
|
39
|
+
* @cssprop {<color>} [--pf-c-label--m-orange__content--before--BorderColor=#f4b678]
|
|
40
|
+
* @cssprop {<color>} [--pf-c-label--m-outline--m-orange__content--Color=#8f4700]
|
|
41
|
+
* @cssprop {<color>} [--pf-c-label--m-purple__content--Color=#1f0066]
|
|
42
|
+
* @cssprop {<color>} [--pf-c-label--m-purple--BackgroundColor=#f2f0fc]
|
|
43
|
+
* @cssprop {<color>} [--pf-c-label--m-purple__content--before--BorderColor=#cbc1ff]
|
|
44
|
+
* @cssprop {<color>} [--pf-c-label--m-outline--m-purple__content--Color=#6753ac]
|
|
45
|
+
* @cssprop {<color>} [--pf-c-label--m-red__content--Color=#7d1007]
|
|
46
|
+
* @cssprop {<color>} [--pf-c-label--m-red--BackgroundColor=#faeae8]
|
|
47
|
+
* @cssprop {<color>} [--pf-c-label--m-red__content--before--BorderColor=#c9190b]
|
|
48
|
+
* @cssprop {<color>} [--pf-c-label--m-outline--m-red__content--Color=#c9190b]
|
|
49
|
+
* @cssprop {<color>} [--pf-c-label--m-gold__content--Color=#3d2c00]
|
|
50
|
+
* @cssprop {<color>} [--pf-c-label--m-gold--BackgroundColor=#fdf7e7]
|
|
51
|
+
* @cssprop {<color>} [--pf-c-label--m-gold__content--before--BorderColor=#f9e0a2]
|
|
52
|
+
* @cssprop {<color>} [--pf-c-label--m-outline--m-gold__content--Color=#795600]
|
|
53
|
+
* @cssprop {<color>} [--pf-c-label--m-blue__icon--Color=#06c]
|
|
54
|
+
* @cssprop {<color>} [--pf-c-label--m-cyan__icon--Color=#009596]
|
|
55
|
+
* @cssprop {<color>} [--pf-c-label--m-green__icon--Color=#3e8635]
|
|
56
|
+
* @cssprop {<color>} [--pf-c-label--m-orange__icon--Color=#ec7a08]
|
|
57
|
+
* @cssprop {<color>} [--pf-c-label--m-red__icon--Color=#c9190b]
|
|
58
|
+
* @cssprop {<color>} [--pf-c-label--m-gold__icon--Color=#f0ab00]
|
|
58
59
|
* @csspart icon - container for the label icon
|
|
59
60
|
* @csspart close-button - container for removable labels' close button
|
|
60
61
|
* @slot icon
|
|
61
62
|
* Contains the labels's icon, e.g. web-icon-alert-success.
|
|
62
63
|
* @slot
|
|
63
64
|
* Must contain the text for the label.
|
|
64
|
-
* @cssprop {<length>} --pf-c-label--m-compact--PaddingTop
|
|
65
|
-
* @cssprop {<length>} --pf-c-label--m-compact--PaddingRight
|
|
66
|
-
* @cssprop {<length>} --pf-c-label--m-compact--PaddingBottom
|
|
67
|
-
* @cssprop {<length>} --pf-c-label--m-compact--PaddingLeft
|
|
65
|
+
* @cssprop {<length>} [--pf-c-label--m-compact--PaddingTop=0]
|
|
66
|
+
* @cssprop {<length>} [--pf-c-label--m-compact--PaddingRight=0.5rem]
|
|
67
|
+
* @cssprop {<length>} [--pf-c-label--m-compact--PaddingBottom=0]
|
|
68
|
+
* @cssprop {<length>} [--pf-c-label--m-compact--PaddingLeft=0.5rem]
|
|
68
69
|
*/
|
|
69
|
-
export declare class PfLabel extends
|
|
70
|
+
export declare class PfLabel extends LitElement {
|
|
71
|
+
#private;
|
|
70
72
|
static readonly styles: CSSStyleSheet[];
|
|
71
|
-
static readonly shadowRootOptions:
|
|
72
|
-
delegatesFocus: boolean;
|
|
73
|
-
mode: ShadowRootMode;
|
|
74
|
-
slotAssignment?: SlotAssignmentMode | undefined;
|
|
75
|
-
customElements?: CustomElementRegistry | undefined;
|
|
76
|
-
registry?: CustomElementRegistry | undefined;
|
|
77
|
-
};
|
|
73
|
+
static readonly shadowRootOptions: ShadowRootInit;
|
|
78
74
|
/**
|
|
79
75
|
* Changes the style of the label.
|
|
80
76
|
* - Filled: Colored background with colored border.
|
|
81
77
|
* - Outline: White background with colored border.
|
|
82
78
|
*/
|
|
83
|
-
variant:
|
|
79
|
+
variant: 'filled' | 'outline';
|
|
84
80
|
/**
|
|
85
81
|
* Changes the color of the label
|
|
86
82
|
*/
|
|
87
|
-
color:
|
|
83
|
+
color: 'blue' | 'cyan' | 'green' | 'orange' | 'purple' | 'red' | 'grey' | 'gold';
|
|
88
84
|
/** Shorthand for the `icon` slot, the value is icon name */
|
|
89
85
|
icon?: string;
|
|
90
86
|
/** Flag indicating the label is compact */
|
|
@@ -95,10 +91,10 @@ export declare class PfLabel extends BaseLabel {
|
|
|
95
91
|
removable: boolean;
|
|
96
92
|
/** Text label for a removable label's close button */
|
|
97
93
|
closeButtonLabel?: string;
|
|
98
|
-
render():
|
|
99
|
-
protected renderDefaultIcon(): import("lit-html").TemplateResult<1> | "";
|
|
100
|
-
protected renderSuffix(): import("lit-html").TemplateResult<1> | "";
|
|
94
|
+
render(): TemplateResult<1>;
|
|
101
95
|
}
|
|
96
|
+
export type LabelVariant = PfLabel['variant'];
|
|
97
|
+
export type LabelColor = PfLabel['color'];
|
|
102
98
|
declare global {
|
|
103
99
|
interface HTMLElementTagNameMap {
|
|
104
100
|
'pf-label': PfLabel;
|
package/pf-label/pf-label.js
CHANGED
|
@@ -1,80 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
var _PfLabel_instances, _PfLabel_slots, _PfLabel_onClickClose;
|
|
2
|
+
import { __classPrivateFieldGet, __decorate } from "tslib";
|
|
3
|
+
import { LitElement, html } from 'lit';
|
|
3
4
|
import { customElement } from 'lit/decorators/custom-element.js';
|
|
4
5
|
import { property } from 'lit/decorators/property.js';
|
|
5
6
|
import { classMap } from 'lit/directives/class-map.js';
|
|
6
|
-
import {
|
|
7
|
-
import { BaseLabel } from './BaseLabel.js';
|
|
7
|
+
import { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';
|
|
8
8
|
import '@patternfly/elements/pf-button/pf-button.js';
|
|
9
9
|
import { css } from "lit";
|
|
10
|
-
const styles = css
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* @cssprop {<length>} --pf-c-label--PaddingTop {@default `0.25rem`}
|
|
18
|
-
* @cssprop {<length>} --pf-c-label--PaddingRight {@default `0.5rem`}
|
|
19
|
-
* @cssprop {<length>} --pf-c-label--PaddingBottom {@default `0.25rem`}
|
|
20
|
-
* @cssprop {<length>} --pf-c-label--PaddingLeft {@default `0.5rem`}
|
|
21
|
-
* @cssprop {<color>} --pf-c-label--Color {@default `#151515`}
|
|
22
|
-
* @cssprop {<color>} --pf-c-label--BackgroundColor {@default `#f5f5f5`}
|
|
23
|
-
* @cssprop {<length>} --pf-c-label--BorderRadius {@default `30em`}
|
|
24
|
-
* @cssprop {<length>} --pf-c-label__content--MaxWidth {@default `100%`}
|
|
25
|
-
* @cssprop {<color>} --pf-c-label__content--Color {@default `#151515`}
|
|
26
|
-
* @cssprop {<length>} --pf-c-label__content--before--BorderWidth {@default `1px`}
|
|
27
|
-
* @cssprop {<color>} --pf-c-label__content--before--BorderColor {@default `#d2d2d2`}
|
|
28
|
-
* @cssprop {<color>} --pf-c-label--m-outline__content--Color {@default `#151515`}
|
|
29
|
-
* @cssprop {<color>} --pf-c-label--m-outline--BackgroundColor {@default `#ffffff`}
|
|
30
|
-
* @cssprop {<color>} --pf-c-label--m-blue__content--Color {@default `#002952`}
|
|
31
|
-
* @cssprop {<color>} --pf-c-label--m-blue--BackgroundColor {@default `#e7f1fa`}
|
|
32
|
-
* @cssprop {<color>} --pf-c-label--m-blue__content--before--BorderColor {@default `#bee1f4`}
|
|
33
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-blue__content--Color {@default `#06c`}
|
|
34
|
-
* @cssprop {<color>} --pf-c-label--m-cyan__content--Color {@default `#3b1f00`}
|
|
35
|
-
* @cssprop {<color>} --pf-c-label--m-cyan--BackgroundColor {@default `#f2f9f9`}
|
|
36
|
-
* @cssprop {<color>} --pf-c-label--m-cyan__content--before--BorderColor {@default `#a2d9d9`}
|
|
37
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-cyan__content--Color {@default `#005f60`}
|
|
38
|
-
* @cssprop {<color>} --pf-c-label--m-green__content--Color {@default `#1e4f18`}
|
|
39
|
-
* @cssprop {<color>} --pf-c-label--m-green--BackgroundColor {@default `#f3faf2`}
|
|
40
|
-
* @cssprop {<color>} --pf-c-label--m-green__content--before--BorderColor {@default `#bde5b8`}
|
|
41
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-green__content--Color {@default `#3e8635`}
|
|
42
|
-
* @cssprop {<color>} --pf-c-label--m-orange__content--Color {@default `#003737`}
|
|
43
|
-
* @cssprop {<color>} --pf-c-label--m-orange--BackgroundColor {@default `#fff6ec`}
|
|
44
|
-
* @cssprop {<color>} --pf-c-label--m-orange__content--before--BorderColor {@default `#f4b678`}
|
|
45
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-orange__content--Color {@default `#8f4700`}
|
|
46
|
-
* @cssprop {<color>} --pf-c-label--m-purple__content--Color {@default `#1f0066`}
|
|
47
|
-
* @cssprop {<color>} --pf-c-label--m-purple--BackgroundColor {@default `#f2f0fc`}
|
|
48
|
-
* @cssprop {<color>} --pf-c-label--m-purple__content--before--BorderColor {@default `#cbc1ff`}
|
|
49
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-purple__content--Color {@default `#6753ac`}
|
|
50
|
-
* @cssprop {<color>} --pf-c-label--m-red__content--Color {@default `#7d1007`}
|
|
51
|
-
* @cssprop {<color>} --pf-c-label--m-red--BackgroundColor {@default `#faeae8`}
|
|
52
|
-
* @cssprop {<color>} --pf-c-label--m-red__content--before--BorderColor {@default `#c9190b`}
|
|
53
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-red__content--Color {@default `#c9190b`}
|
|
54
|
-
* @cssprop {<color>} --pf-c-label--m-gold__content--Color {@default `#3d2c00`}
|
|
55
|
-
* @cssprop {<color>} --pf-c-label--m-gold--BackgroundColor {@default `#fdf7e7`}
|
|
56
|
-
* @cssprop {<color>} --pf-c-label--m-gold__content--before--BorderColor {@default `#f9e0a2`}
|
|
57
|
-
* @cssprop {<color>} --pf-c-label--m-outline--m-gold__content--Color {@default `#795600`}
|
|
58
|
-
* @cssprop {<color>} --pf-c-label--m-blue__icon--Color {@default `#06c`}
|
|
59
|
-
* @cssprop {<color>} --pf-c-label--m-cyan__icon--Color {@default `#009596`}
|
|
60
|
-
* @cssprop {<color>} --pf-c-label--m-green__icon--Color {@default `#3e8635`}
|
|
61
|
-
* @cssprop {<color>} --pf-c-label--m-orange__icon--Color {@default `#ec7a08`}
|
|
62
|
-
* @cssprop {<color>} --pf-c-label--m-red__icon--Color {@default `#c9190b`}
|
|
63
|
-
* @cssprop {<color>} --pf-c-label--m-gold__icon--Color {@default `#f0ab00`}
|
|
64
|
-
* @csspart icon - container for the label icon
|
|
65
|
-
* @csspart close-button - container for removable labels' close button
|
|
66
|
-
* @slot icon
|
|
67
|
-
* Contains the labels's icon, e.g. web-icon-alert-success.
|
|
68
|
-
* @slot
|
|
69
|
-
* Must contain the text for the label.
|
|
70
|
-
* @cssprop {<length>} --pf-c-label--m-compact--PaddingTop {@default `0`}
|
|
71
|
-
* @cssprop {<length>} --pf-c-label--m-compact--PaddingRight {@default `0.5rem`}
|
|
72
|
-
* @cssprop {<length>} --pf-c-label--m-compact--PaddingBottom {@default `0`}
|
|
73
|
-
* @cssprop {<length>} --pf-c-label--m-compact--PaddingLeft {@default `0.5rem`}
|
|
74
|
-
*/
|
|
75
|
-
let PfLabel = class PfLabel extends BaseLabel {
|
|
10
|
+
const styles = css `:host {\n position: relative;\n white-space: nowrap;\n border: 0;\n}\n\npf-icon, ::slotted(pf-icon) {\n color: currentColor;\n}\n\n:host,\n#container {\n display: inline-flex;\n align-items: center;\n vertical-align: middle;\n}\n\n#container {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-width: 0;\n padding-top: var(--pf-c-label--PaddingTop, var(--pf-global--spacer--xs, 0.25rem));\n padding-left: var(--pf-c-label--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem));\n padding-bottom: var(--pf-c-label--PaddingBottom, var(--pf-global--spacer--xs, 0.25rem));\n padding-right: var(--pf-c-label--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));\n font-size: var(--pf-c-label--FontSize, var(--pf-global--FontSize--sm, 0.875rem));\n color: var(--pf-c-label--Color, var(--pf-global--Color--100, #151515));\n background-color: var(--pf-c-label--BackgroundColor, var(--pf-global--palette--black-150, #f5f5f5));\n border-radius: var(--pf-c-label--BorderRadius, 30em);\n max-width: var(--pf-c-label__content--MaxWidth, 100%);\n color: var(--pf-c-label__content--Color, var(--pf-global--Color--100, #151515));\n\n --pf-global--icon--FontSize--sm: 14px;\n}\n\n#container::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n content: "";\n border-radius: var(--pf-c-label--BorderRadius, 30em);\n border: var(--pf-c-label__content--before--BorderWidth, 1px) solid var(--pf-c-label__content--before--BorderColor, var(--pf-global--palette--black-300, #d2d2d2));\n}\n\n[part=icon] {\n display: none;\n pointer-events: none;\n}\n\n.hasIcon [part=icon] {\n display: inline-flex;\n width: 1em;\n}\n\n.compact {\n --pf-c-label--PaddingTop: var(--pf-c-label--m-compact--PaddingTop, 0);\n --pf-c-label--PaddingRight: var(--pf-c-label--m-compact--PaddingRight, var(--pf-global--spacer--sm, 0.5rem));\n --pf-c-label--PaddingBottom: var(--pf-c-label--m-compact--PaddingBottom, 0);\n --pf-c-label--PaddingLeft: var(--pf-c-label--m-compact--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem));\n --pf-global--icon--FontSize--sm: 12px;\n}\n\n.blue {\n --pf-c-label__content--Color: var(--pf-c-label--m-blue__content--Color, var(--pf-global--info-color--200, #002952));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-blue--BackgroundColor, var(--pf-global--palette--blue-50, #e7f1fa));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-blue__content--before--BorderColor, var(--pf-global--palette--blue-100, #bee1f4));\n}\n\n.blue.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-blue__content--Color, var(--pf-global--primary-color--100, #06c)));\n}\n\n.cyan {\n --pf-c-label__content--Color: var(--pf-c-label--m-cyan__content--Color, var(--pf-global--default-color--300, #003737));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-cyan--BackgroundColor, var(--pf-global--palette--cyan-50, #f2f9f9));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-cyan__content--before--BorderColor, var(--pf-global--palette--cyan-100, #a2d9d9));\n}\n\n.cyan.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-cyan__content--Color, var(--pf-global--palette--cyan-400, #005f60)))\n}\n\n.green {\n --pf-c-label__content--Color: var(--pf-c-label--m-green__content--Color,var(--pf-global--success-color--200, #1e4f18));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-green--BackgroundColor, var(--pf-global--palette--green-50, #f3faf2));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-green__content--before--BorderColor, var(--pf-global--palette--green-100, #bde5b8));\n}\n\n.green.outline{\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-green__content--Color, var(--pf-global--success-color--100, #3e8635)))\n}\n\n.orange {\n --pf-c-label__content--Color: var(--pf-c-label--m-orange__content--Color, var(--pf-global--palette--orange-700, #3b1f00));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-orange--BackgroundColor, var(--pf-global--palette--orange-50, #fff6ec));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-orange__content--before--BorderColor, var(--pf-global--palette--orange-100, #f4b678));\n}\n\n.orange.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-orange__content--Color, var(--pf-global--palette--orange-500, #8f4700)))\n}\n\n.purple {\n --pf-c-label__content--Color: var(--pf-c-label--m-purple__content--Color, var(--pf-global--palette--purple-700, #1f0066));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-purple--BackgroundColor, var(--pf-global--palette--purple-50, #f2f0fc));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-purple__content--before--BorderColor, var(--pf-global--palette--purple-100, #cbc1ff));\n}\n\n.purple.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-purple__content--Color, var(--pf-global--palette--purple-500, #6753ac));\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-purple__content--Color, var(--pf-global--palette--purple-500, #6753ac)))\n}\n\n.red {\n --pf-c-label__content--Color: var(--pf-c-label--m-red__content--Color, var(--pf-global--palette--red-300, #7d1007));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-red--BackgroundColor, var(--pf-global--palette--red-50, #faeae8));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-red__content--before--BorderColor, var(--pf-global--palette--red-100, #c9190b));\n}\n\n.red.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-red__content--Color, var(--pf-global--danger-color--100, #c9190b)))\n}\n\n.gold {\n --pf-c-label__content--Color: var(--pf-c-label--m-gold__content--Color, var(--pf-global--palette--gold-700, #3d2c00));\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-gold--BackgroundColor, var(--pf-global--palette--gold-50, #fdf7e7));\n --pf-c-label__content--before--BorderColor: var(--pf-c-label--m-gold__content--before--BorderColor, var(--pf-global--palette--gold-100, #f9e0a2));\n}\n\n.gold.outline {\n --pf-c-label__content--Color: var(--pf-c-label--m-outline__content--Color, var(--pf-c-label--m-outline--m-gold__content--Color, var(--pf-global--palette--gold-600, #795600)))\n}\n\n.outline {\n --pf-c-label--BackgroundColor: var(--pf-c-label--m-outline--BackgroundColor, #ffffff);\n --pf-c-label__content--before--BorderColor: var(--pf-global--palette--black-300, #d2d2d2);\n}\n\n.hasIcon [part=icon] {\n left: var(--pf-c-label--PaddingLeft, var(--pf-global--spacer--md, 1rem));\n margin-inline-end: var(--pf-c-label__icon--MarginRight, var(--pf-global--spacer--xs, 0.25rem));\n}\n\n.blue .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-blue__icon--Color, var(--pf-global--primary-color--100, #06c)));\n}\n\n.cyan .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-cyan__icon--Color, var(--pf-global--default-color--200, #009596)));\n}\n\n.green .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-green__icon--Color, var(--pf-global--success-color--100, #3e8635)));\n}\n\n.orange .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-orange__icon--Color, var(--pf-global--palette--orange-300, #ec7a08)));\n}\n\n.purple .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-purple__icon--Color, var(--pf-global--palette--purple-500, #6753ac)));\n}\n\n.red .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-red__icon--Color, var(--pf-global--danger-color--100, #c9190b)));\n}\n\n.gold .hasIcon [part=icon] {\n color: var(--pf-c-label__icon--Color, var(--pf-c-label--m-gold__icon--Color, var(--pf-global--palette--gold-400, #f0ab00)));\n}\n\npf-button {\n --pf-c-button--FontSize: var(--pf-c-label__c-button--FontSize,\n var(--pf-global--FontSize--xs, 0.75rem));\n --pf-c-button--PaddingTop: var(--pf-c-label__c-button--PaddingTop,\n var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-button--PaddingRight: var(--pf-c-label__c-button--PaddingRight,\n var(--pf-global--spacer--sm, 0.5rem));\n --pf-c-button--PaddingBottom: var(--pf-c-label__c-button--PaddingBottom,\n var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-button--PaddingLeft: var(--pf-c-label__c-button--PaddingLeft,\n var(--pf-global--spacer--sm, 0.5rem));\n margin-top: var(--pf-c-label__c-button--MarginTop, -0.5rem);\n margin-right: var(--pf-c-label__c-button--MarginRight, -0.5rem);\n margin-bottom: var(--pf-c-label__c-button--MarginBottom, -0.5rem);\n margin-left: var(--pf-c-label__c-button--MarginLeft, 0.25rem);\n}\n\nsvg {\n vertical-align:-0.125em;\n fill: currentColor;\n height: 1em;\n width: 1em;\n}\n`;
|
|
11
|
+
export class LabelCloseEvent extends Event {
|
|
12
|
+
constructor() {
|
|
13
|
+
super('close', { bubbles: true, cancelable: true });
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
let PfLabel = class PfLabel extends LitElement {
|
|
76
17
|
constructor() {
|
|
77
18
|
super(...arguments);
|
|
19
|
+
_PfLabel_instances.add(this);
|
|
78
20
|
/**
|
|
79
21
|
* Changes the style of the label.
|
|
80
22
|
* - Filled: Colored background with colored border.
|
|
@@ -91,37 +33,54 @@ let PfLabel = class PfLabel extends BaseLabel {
|
|
|
91
33
|
this.truncated = false;
|
|
92
34
|
/** Flag indicating the label is removable */
|
|
93
35
|
this.removable = false;
|
|
36
|
+
/** Represents the state of the anonymous and icon slots */
|
|
37
|
+
_PfLabel_slots.set(this, new SlotController(this, null, 'icon'));
|
|
94
38
|
}
|
|
95
39
|
render() {
|
|
96
40
|
const { compact, truncated } = this;
|
|
41
|
+
const { variant, color, icon } = this;
|
|
42
|
+
const hasIcon = !!icon || __classPrivateFieldGet(this, _PfLabel_slots, "f").hasSlotted('icon');
|
|
97
43
|
return html `
|
|
98
|
-
<span id="
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
44
|
+
<span id="container"
|
|
45
|
+
class="${classMap({
|
|
46
|
+
hasIcon,
|
|
47
|
+
compact,
|
|
48
|
+
truncated,
|
|
49
|
+
[variant ?? '']: !!variant,
|
|
50
|
+
[color ?? '']: !!color
|
|
51
|
+
})}">
|
|
52
|
+
<slot name="icon" part="icon">
|
|
53
|
+
<pf-icon ?hidden="${!icon}"
|
|
54
|
+
size="sm"
|
|
55
|
+
.icon="${this.icon || undefined}"></pf-icon>
|
|
56
|
+
</slot>
|
|
57
|
+
<slot id="text"></slot>
|
|
58
|
+
<span part="close-button" ?hidden=${!this.removable}>
|
|
59
|
+
<pf-button plain
|
|
60
|
+
@click="${__classPrivateFieldGet(this, _PfLabel_instances, "m", _PfLabel_onClickClose)}"
|
|
61
|
+
label="${this.closeButtonLabel ?? 'remove'}">
|
|
62
|
+
<svg viewBox="0 0 352 512">
|
|
63
|
+
<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"/>
|
|
64
|
+
</svg>
|
|
65
|
+
</pf-button>
|
|
66
|
+
</span>
|
|
116
67
|
</span>
|
|
117
68
|
`;
|
|
118
69
|
}
|
|
119
70
|
};
|
|
120
|
-
|
|
71
|
+
_PfLabel_slots = new WeakMap();
|
|
72
|
+
_PfLabel_instances = new WeakSet();
|
|
73
|
+
_PfLabel_onClickClose = function _PfLabel_onClickClose() {
|
|
74
|
+
if (this.removable && this.dispatchEvent(new LabelCloseEvent())) {
|
|
75
|
+
this.remove();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
PfLabel.styles = [styles];
|
|
121
79
|
PfLabel.shadowRootOptions = {
|
|
122
|
-
...
|
|
80
|
+
...LitElement.shadowRootOptions,
|
|
123
81
|
delegatesFocus: true,
|
|
124
82
|
};
|
|
83
|
+
PfLabel.version = "4.0.0";
|
|
125
84
|
__decorate([
|
|
126
85
|
property()
|
|
127
86
|
], PfLabel.prototype, "variant", void 0);
|
package/pf-label/pf-label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-label.js","sourceRoot":"","sources":["pf-label.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pf-label.js","sourceRoot":"","sources":["pf-label.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAErF,OAAO,6CAA6C,CAAC;;;AAIrD,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC;QACE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;CACF;AAmEM,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;;QAQL;;;;WAIG;QACS,YAAO,GAEH,QAAQ,CAAC;QAEzB;;WAEG;QACS,UAAK,GAQJ,MAAM,CAAC;QAKpB,2CAA2C;QACd,YAAO,GAAG,KAAK,CAAC;QAE7C,yDAAyD;QAC5B,cAAS,GAAG,KAAK,CAAC;QAE/C,6CAA6C;QAChB,cAAS,GAAG,KAAK,CAAC;QAK/C,2DAA2D;QAC3D,yBAAS,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAC;;IAEvC,MAAM;QACb,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,uBAAA,IAAI,sBAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,IAAI,CAAA;;qBAEM,QAAQ,CAAC;YAChB,OAAO;YACP,OAAO;YACP,SAAS;YACT,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO;YAC1B,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK;SAAE,CAAC;;8BAET,CAAC,IAAI;;4BAEP,IAAI,CAAC,IAAI,IAAI,SAA8B;;;4CAG3B,CAAC,IAAI,CAAC,SAAS;;+BAE5B,uBAAA,IAAI,iDAAc;8BACnB,IAAI,CAAC,gBAAgB,IAAI,QAAQ;;;;;;;KAO1D,CAAC;IACJ,CAAC;;;;;IAGC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAlFe,cAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;AAE1B,yBAAiB,GAAmB;IAC3D,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHyC,CAGxC;;AAOU;IAAX,QAAQ,EAAE;wCAEc;AAKb;IAAX,QAAQ,EAAE;sCAQS;AAGR;IAAX,QAAQ,EAAE;qCAAe;AAGG;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCAAiB;AAGhB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAmB;AAGlB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAmB;AAGA;IAA9C,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;iDAA2B;AA3C9D,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-label.css';\n\nexport class LabelCloseEvent extends Event {\n constructor() {\n super('close', { bubbles: true, cancelable: true });\n }\n}\n\n/**\n * The **label** component allows users to add specific element captions for user\n * clarity and convenience.\n * @summary Allows users to display meta data in a stylized form.\n * @fires {LabelCloseEvent} close - when a removable label's close button is clicked\n * @cssprop {<length>} [--pf-c-label--FontSize=0.875em]\n * @cssprop {<length>} [--pf-c-label--PaddingTop=0.25rem]\n * @cssprop {<length>} [--pf-c-label--PaddingRight=0.5rem]\n * @cssprop {<length>} [--pf-c-label--PaddingBottom=0.25rem]\n * @cssprop {<length>} [--pf-c-label--PaddingLeft=0.5rem]\n * @cssprop {<color>} [--pf-c-label--Color=#151515]\n * @cssprop {<color>} [--pf-c-label--BackgroundColor=#f5f5f5]\n * @cssprop {<length>} [--pf-c-label--BorderRadius=30em]\n * @cssprop {<length>} [--pf-c-label__content--MaxWidth=100]\n * @cssprop {<color>} [--pf-c-label__content--Color=#151515]\n * @cssprop {<length>} [--pf-c-label__content--before--BorderWidth=1px]\n * @cssprop {<color>} [--pf-c-label__content--before--BorderColor=#d2d2d2]\n * @cssprop {<color>} [--pf-c-label--m-outline__content--Color=#151515]\n * @cssprop {<color>} [--pf-c-label--m-outline--BackgroundColor=#ffffff]\n * @cssprop {<color>} [--pf-c-label--m-blue__content--Color=#002952]\n * @cssprop {<color>} [--pf-c-label--m-blue--BackgroundColor=#e7f1fa]\n * @cssprop {<color>} [--pf-c-label--m-blue__content--before--BorderColor=#bee1f4]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-blue__content--Color=#06c]\n * @cssprop {<color>} [--pf-c-label--m-cyan__content--Color=#3b1f00]\n * @cssprop {<color>} [--pf-c-label--m-cyan--BackgroundColor=#f2f9f9]\n * @cssprop {<color>} [--pf-c-label--m-cyan__content--before--BorderColor=#a2d9d9]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-cyan__content--Color=#005f60]\n * @cssprop {<color>} [--pf-c-label--m-green__content--Color=#1e4f18]\n * @cssprop {<color>} [--pf-c-label--m-green--BackgroundColor=#f3faf2]\n * @cssprop {<color>} [--pf-c-label--m-green__content--before--BorderColor=#bde5b8]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-green__content--Color=#3e8635]\n * @cssprop {<color>} [--pf-c-label--m-orange__content--Color=#003737]\n * @cssprop {<color>} [--pf-c-label--m-orange--BackgroundColor=#fff6ec]\n * @cssprop {<color>} [--pf-c-label--m-orange__content--before--BorderColor=#f4b678]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-orange__content--Color=#8f4700]\n * @cssprop {<color>} [--pf-c-label--m-purple__content--Color=#1f0066]\n * @cssprop {<color>} [--pf-c-label--m-purple--BackgroundColor=#f2f0fc]\n * @cssprop {<color>} [--pf-c-label--m-purple__content--before--BorderColor=#cbc1ff]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-purple__content--Color=#6753ac]\n * @cssprop {<color>} [--pf-c-label--m-red__content--Color=#7d1007]\n * @cssprop {<color>} [--pf-c-label--m-red--BackgroundColor=#faeae8]\n * @cssprop {<color>} [--pf-c-label--m-red__content--before--BorderColor=#c9190b]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-red__content--Color=#c9190b]\n * @cssprop {<color>} [--pf-c-label--m-gold__content--Color=#3d2c00]\n * @cssprop {<color>} [--pf-c-label--m-gold--BackgroundColor=#fdf7e7]\n * @cssprop {<color>} [--pf-c-label--m-gold__content--before--BorderColor=#f9e0a2]\n * @cssprop {<color>} [--pf-c-label--m-outline--m-gold__content--Color=#795600]\n * @cssprop {<color>} [--pf-c-label--m-blue__icon--Color=#06c]\n * @cssprop {<color>} [--pf-c-label--m-cyan__icon--Color=#009596]\n * @cssprop {<color>} [--pf-c-label--m-green__icon--Color=#3e8635]\n * @cssprop {<color>} [--pf-c-label--m-orange__icon--Color=#ec7a08]\n * @cssprop {<color>} [--pf-c-label--m-red__icon--Color=#c9190b]\n * @cssprop {<color>} [--pf-c-label--m-gold__icon--Color=#f0ab00]\n * @csspart icon - container for the label icon\n * @csspart close-button - container for removable labels' close button\n * @slot icon\n * Contains the labels's icon, e.g. web-icon-alert-success.\n * @slot\n * Must contain the text for the label.\n * @cssprop {<length>} [--pf-c-label--m-compact--PaddingTop=0]\n * @cssprop {<length>} [--pf-c-label--m-compact--PaddingRight=0.5rem]\n * @cssprop {<length>} [--pf-c-label--m-compact--PaddingBottom=0]\n * @cssprop {<length>} [--pf-c-label--m-compact--PaddingLeft=0.5rem]\n */\n@customElement('pf-label')\nexport class PfLabel extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Changes the style of the label.\n * - Filled: Colored background with colored border.\n * - Outline: White background with colored border.\n */\n @property() variant:\n | 'filled'\n | 'outline' = 'filled';\n\n /**\n * Changes the color of the label\n */\n @property() color:\n | 'blue'\n | 'cyan'\n | 'green'\n | 'orange'\n | 'purple'\n | 'red'\n | 'grey'\n | 'gold' = 'grey';\n\n /** Shorthand for the `icon` slot, the value is icon name */\n @property() icon?: string;\n\n /** Flag indicating the label is compact */\n @property({ type: Boolean }) compact = false;\n\n /** Flag indicating the label text should be truncated */\n @property({ type: Boolean }) truncated = false;\n\n /** Flag indicating the label is removable */\n @property({ type: Boolean }) removable = false;\n\n /** Text label for a removable label's close button */\n @property({ attribute: 'close-button-label' }) closeButtonLabel?: string;\n\n /** Represents the state of the anonymous and icon slots */\n #slots = new SlotController(this, null, 'icon');\n\n override render(): TemplateResult<1> {\n const { compact, truncated } = this;\n const { variant, color, icon } = this;\n const hasIcon = !!icon || this.#slots.hasSlotted('icon');\n return html`\n <span id=\"container\"\n class=\"${classMap({\n hasIcon,\n compact,\n truncated,\n [variant ?? '']: !!variant,\n [color ?? '']: !!color })}\">\n <slot name=\"icon\" part=\"icon\">\n <pf-icon ?hidden=\"${!icon}\"\n size=\"sm\"\n .icon=\"${this.icon || undefined as unknown as string}\"></pf-icon>\n </slot>\n <slot id=\"text\"></slot>\n <span part=\"close-button\" ?hidden=${!this.removable}>\n <pf-button plain\n @click=\"${this.#onClickClose}\"\n label=\"${this.closeButtonLabel ?? 'remove'}\">\n <svg 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 </span>\n </span>\n `;\n }\n\n #onClickClose() {\n if (this.removable && this.dispatchEvent(new LabelCloseEvent())) {\n this.remove();\n }\n }\n}\n\nexport type LabelVariant = PfLabel['variant'];\n\nexport type LabelColor = PfLabel['color'];\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-label': PfLabel;\n }\n}\n"]}
|