@patternfly/elements 4.1.0 → 4.3.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 +14909 -12588
- package/package.json +26 -17
- package/pf-accordion/pf-accordion-header.css +37 -0
- package/pf-accordion/pf-accordion-header.d.ts +0 -61
- package/pf-accordion/pf-accordion-header.js +180 -2
- package/pf-accordion/pf-accordion-header.js.map +1 -1
- package/pf-accordion/pf-accordion-panel.css +12 -0
- package/pf-accordion/pf-accordion-panel.d.ts +0 -34
- package/pf-accordion/pf-accordion-panel.js +87 -2
- package/pf-accordion/pf-accordion-panel.js.map +1 -1
- package/pf-accordion/pf-accordion.css +62 -0
- package/pf-accordion/pf-accordion.d.ts +1 -64
- package/pf-accordion/pf-accordion.js +156 -2
- package/pf-accordion/pf-accordion.js.map +1 -1
- package/pf-alert/pf-alert.css +193 -0
- package/pf-alert/pf-alert.d.ts +95 -0
- package/pf-alert/pf-alert.js +406 -0
- package/pf-alert/pf-alert.js.map +1 -0
- package/pf-alert/test/pf-alert.e2e.d.ts +1 -0
- package/pf-alert/test/pf-alert.e2e.js +45 -0
- package/pf-alert/test/pf-alert.e2e.js.map +1 -0
- package/pf-alert/test/pf-alert.spec.d.ts +1 -0
- package/pf-alert/test/pf-alert.spec.js +42 -0
- package/pf-alert/test/pf-alert.spec.js.map +1 -0
- package/pf-avatar/pf-avatar.css +14 -0
- package/pf-avatar/pf-avatar.d.ts +1 -14
- package/pf-avatar/pf-avatar.js +82 -2
- package/pf-avatar/pf-avatar.js.map +1 -1
- package/pf-back-to-top/pf-back-to-top.css +12 -0
- package/pf-back-to-top/pf-back-to-top.d.ts +1 -17
- package/pf-back-to-top/pf-back-to-top.js +87 -3
- package/pf-back-to-top/pf-back-to-top.js.map +1 -1
- package/pf-back-to-top/test/pf-back-to-top.spec.js +3 -2
- package/pf-back-to-top/test/pf-back-to-top.spec.js.map +1 -1
- package/pf-background-image/pf-background-image.css +7 -0
- package/pf-background-image/pf-background-image.d.ts +1 -8
- package/pf-background-image/pf-background-image.js +76 -2
- package/pf-background-image/pf-background-image.js.map +1 -1
- package/pf-badge/pf-badge.css +13 -0
- package/pf-badge/pf-badge.d.ts +1 -13
- package/pf-badge/pf-badge.js +53 -2
- package/pf-badge/pf-badge.js.map +1 -1
- package/pf-banner/pf-banner.css +21 -0
- package/pf-banner/pf-banner.d.ts +1 -19
- package/pf-banner/pf-banner.js +122 -2
- package/pf-banner/pf-banner.js.map +1 -1
- package/pf-button/pf-button-tokens.css +38 -0
- package/pf-button/pf-button.d.ts +1 -106
- package/pf-button/pf-button.js +837 -4
- package/pf-button/pf-button.js.map +1 -1
- package/pf-card/pf-card.css +24 -0
- package/pf-card/pf-card.d.ts +1 -38
- package/pf-card/pf-card.js +248 -2
- package/pf-card/pf-card.js.map +1 -1
- package/pf-chip/pf-chip-group.css +15 -0
- package/pf-chip/pf-chip-group.d.ts +0 -15
- package/pf-chip/pf-chip-group.js +111 -2
- package/pf-chip/pf-chip-group.js.map +1 -1
- package/pf-chip/pf-chip.css +30 -1
- package/pf-chip/pf-chip.d.ts +1 -20
- package/pf-chip/pf-chip.js +135 -2
- package/pf-chip/pf-chip.js.map +1 -1
- package/pf-clipboard-copy/pf-clipboard-copy.css +25 -0
- package/pf-clipboard-copy/pf-clipboard-copy.d.ts +1 -27
- package/pf-clipboard-copy/pf-clipboard-copy.js +318 -3
- package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
- package/pf-code-block/pf-code-block.css +11 -1
- package/pf-code-block/pf-code-block.js +70 -18
- package/pf-code-block/pf-code-block.js.map +1 -1
- package/pf-dropdown/pf-dropdown-group.js +40 -2
- package/pf-dropdown/pf-dropdown-group.js.map +1 -1
- package/pf-dropdown/pf-dropdown-item.css +10 -0
- package/pf-dropdown/pf-dropdown-item.d.ts +0 -27
- package/pf-dropdown/pf-dropdown-item.js +155 -2
- package/pf-dropdown/pf-dropdown-item.js.map +1 -1
- package/pf-dropdown/pf-dropdown-menu.js +39 -2
- package/pf-dropdown/pf-dropdown-menu.js.map +1 -1
- package/pf-dropdown/pf-dropdown.css +13 -1
- package/pf-dropdown/pf-dropdown.d.ts +1 -9
- package/pf-dropdown/pf-dropdown.js +357 -2
- package/pf-dropdown/pf-dropdown.js.map +1 -1
- package/pf-helper-text/pf-helper-text.css +35 -0
- package/pf-helper-text/pf-helper-text.d.ts +41 -0
- package/pf-helper-text/pf-helper-text.js +107 -0
- package/pf-helper-text/pf-helper-text.js.map +1 -0
- package/pf-helper-text/test/pf-helper-text.e2e.d.ts +1 -0
- package/pf-helper-text/test/pf-helper-text.e2e.js +23 -0
- package/pf-helper-text/test/pf-helper-text.e2e.js.map +1 -0
- package/pf-helper-text/test/pf-helper-text.spec.d.ts +1 -0
- package/pf-helper-text/test/pf-helper-text.spec.js +57 -0
- package/pf-helper-text/test/pf-helper-text.spec.js.map +1 -0
- package/pf-hint/pf-hint.css +120 -0
- package/pf-hint/pf-hint.d.ts +19 -0
- package/pf-hint/pf-hint.js +180 -0
- package/pf-hint/pf-hint.js.map +1 -0
- package/pf-hint/test/pf-hint.e2e.d.ts +1 -0
- package/pf-hint/test/pf-hint.e2e.js +23 -0
- package/pf-hint/test/pf-hint.e2e.js.map +1 -0
- package/pf-hint/test/pf-hint.spec.d.ts +1 -0
- package/pf-hint/test/pf-hint.spec.js +87 -0
- package/pf-hint/test/pf-hint.spec.js.map +1 -0
- package/pf-icon/pf-icon.css +1 -0
- package/pf-icon/pf-icon.d.ts +1 -3
- package/pf-icon/pf-icon.js +44 -4
- package/pf-icon/pf-icon.js.map +1 -1
- package/pf-jump-links/pf-jump-links-item.css +7 -1
- package/pf-jump-links/pf-jump-links-item.d.ts +0 -8
- package/pf-jump-links/pf-jump-links-item.js +77 -2
- package/pf-jump-links/pf-jump-links-item.js.map +1 -1
- package/pf-jump-links/pf-jump-links-list.css +3 -0
- package/pf-jump-links/pf-jump-links-list.d.ts +0 -5
- package/pf-jump-links/pf-jump-links-list.js +20 -2
- package/pf-jump-links/pf-jump-links-list.js.map +1 -1
- package/pf-jump-links/pf-jump-links.css +36 -0
- package/pf-jump-links/pf-jump-links.d.ts +1 -38
- package/pf-jump-links/pf-jump-links.js +179 -2
- package/pf-jump-links/pf-jump-links.js.map +1 -1
- package/pf-label/pf-label.css +51 -1
- package/pf-label/pf-label.d.ts +1 -58
- package/pf-label/pf-label.js +257 -2
- package/pf-label/pf-label.js.map +1 -1
- package/pf-modal/pf-modal.css +11 -0
- package/pf-modal/pf-modal.d.ts +2 -25
- package/pf-modal/pf-modal.js +215 -2
- package/pf-modal/pf-modal.js.map +1 -1
- package/pf-panel/pf-panel.css +29 -0
- package/pf-panel/pf-panel.d.ts +1 -32
- package/pf-panel/pf-panel.js +204 -2
- package/pf-panel/pf-panel.js.map +1 -1
- package/pf-popover/pf-popover.css +33 -0
- package/pf-popover/pf-popover.d.ts +1 -108
- package/pf-popover/pf-popover.js +251 -3
- package/pf-popover/pf-popover.js.map +1 -1
- package/pf-progress/pf-progress.css +19 -0
- package/pf-progress/pf-progress.d.ts +1 -57
- package/pf-progress/pf-progress.js +231 -2
- package/pf-progress/pf-progress.js.map +1 -1
- package/pf-progress-stepper/pf-progress-step.js +126 -2
- package/pf-progress-stepper/pf-progress-step.js.map +1 -1
- package/pf-progress-stepper/pf-progress-stepper.css +96 -0
- package/pf-progress-stepper/pf-progress-stepper.d.ts +1 -115
- package/pf-progress-stepper/pf-progress-stepper.js +326 -2
- package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
- package/pf-search-input/pf-search-input.css +308 -0
- package/pf-search-input/pf-search-input.d.ts +75 -0
- package/pf-search-input/pf-search-input.js +630 -0
- package/pf-search-input/pf-search-input.js.map +1 -0
- package/pf-search-input/test/pf-search-input.e2e.d.ts +1 -0
- package/pf-search-input/test/pf-search-input.e2e.js +23 -0
- package/pf-search-input/test/pf-search-input.e2e.js.map +1 -0
- package/pf-search-input/test/pf-search-input.spec.d.ts +1 -0
- package/pf-search-input/test/pf-search-input.spec.js +1021 -0
- package/pf-search-input/test/pf-search-input.spec.js.map +1 -0
- package/pf-select/pf-option-group.js +27 -2
- package/pf-select/pf-option-group.js.map +1 -1
- package/pf-select/pf-option.css +9 -1
- package/pf-select/pf-option.js +83 -2
- package/pf-select/pf-option.js.map +1 -1
- package/pf-select/pf-select.css +157 -0
- package/pf-select/pf-select.d.ts +1 -158
- package/pf-select/pf-select.js +542 -5
- package/pf-select/pf-select.js.map +1 -1
- package/pf-spinner/pf-spinner.css +13 -0
- package/pf-spinner/pf-spinner.d.ts +1 -14
- package/pf-spinner/pf-spinner.js +101 -2
- package/pf-spinner/pf-spinner.js.map +1 -1
- package/pf-switch/pf-switch.css +22 -0
- package/pf-switch/pf-switch.d.ts +1 -30
- package/pf-switch/pf-switch.js +156 -2
- package/pf-switch/pf-switch.js.map +1 -1
- package/pf-table/pf-caption.js +10 -2
- package/pf-table/pf-caption.js.map +1 -1
- package/pf-table/pf-table.css +211 -0
- package/pf-table/pf-table.d.ts +1 -635
- package/pf-table/pf-table.js +437 -2
- package/pf-table/pf-table.js.map +1 -1
- package/pf-table/pf-tbody.js +18 -2
- package/pf-table/pf-tbody.js.map +1 -1
- package/pf-table/pf-td.js +107 -2
- package/pf-table/pf-td.js.map +1 -1
- package/pf-table/pf-th.js +95 -2
- package/pf-table/pf-th.js.map +1 -1
- package/pf-table/pf-thead.js +20 -2
- package/pf-table/pf-thead.js.map +1 -1
- package/pf-table/pf-tr.js +89 -2
- package/pf-table/pf-tr.js.map +1 -1
- package/pf-tabs/pf-tab-panel.css +1 -0
- package/pf-tabs/pf-tab-panel.d.ts +0 -2
- package/pf-tabs/pf-tab-panel.js +19 -3
- package/pf-tabs/pf-tab-panel.js.map +1 -1
- package/pf-tabs/pf-tab.css +33 -0
- package/pf-tabs/pf-tab.d.ts +0 -40
- package/pf-tabs/pf-tab.js +231 -2
- package/pf-tabs/pf-tab.js.map +1 -1
- package/pf-tabs/pf-tabs.css +26 -0
- package/pf-tabs/pf-tabs.d.ts +1 -34
- package/pf-tabs/pf-tabs.js +307 -2
- package/pf-tabs/pf-tabs.js.map +1 -1
- package/pf-text-area/pf-text-area.css +125 -0
- package/pf-text-area/pf-text-area.d.ts +1 -125
- package/pf-text-area/pf-text-area.js +320 -2
- package/pf-text-area/pf-text-area.js.map +1 -1
- package/pf-text-input/pf-text-input.css +126 -0
- package/pf-text-input/pf-text-input.d.ts +1 -126
- package/pf-text-input/pf-text-input.js +395 -2
- package/pf-text-input/pf-text-input.js.map +1 -1
- package/pf-tile/pf-tile.css +28 -8
- package/pf-tile/pf-tile.d.ts +1 -24
- package/pf-tile/pf-tile.js +156 -2
- package/pf-tile/pf-tile.js.map +1 -1
- package/pf-timestamp/pf-timestamp.d.ts +1 -0
- package/pf-timestamp/pf-timestamp.js +10 -2
- package/pf-timestamp/pf-timestamp.js.map +1 -1
- package/pf-tooltip/pf-tooltip.css +10 -0
- package/pf-tooltip/pf-tooltip.d.ts +1 -79
- package/pf-tooltip/pf-tooltip.js +113 -3
- package/pf-tooltip/pf-tooltip.js.map +1 -1
- package/pfe.min.js +0 -7439
- package/pfe.min.js.LEGAL.txt +0 -57
- package/pfe.min.js.map +0 -7
- package/react/pf-accordion/pf-accordion-header.d.ts +0 -5
- package/react/pf-accordion/pf-accordion-header.js +0 -12
- package/react/pf-accordion/pf-accordion-panel.d.ts +0 -5
- package/react/pf-accordion/pf-accordion-panel.js +0 -10
- package/react/pf-accordion/pf-accordion.d.ts +0 -5
- package/react/pf-accordion/pf-accordion.js +0 -13
- package/react/pf-avatar/pf-avatar.d.ts +0 -5
- package/react/pf-avatar/pf-avatar.js +0 -12
- package/react/pf-back-to-top/pf-back-to-top.d.ts +0 -5
- package/react/pf-back-to-top/pf-back-to-top.js +0 -10
- package/react/pf-background-image/pf-background-image.d.ts +0 -5
- package/react/pf-background-image/pf-background-image.js +0 -10
- package/react/pf-badge/pf-badge.d.ts +0 -5
- package/react/pf-badge/pf-badge.js +0 -10
- package/react/pf-banner/pf-banner.d.ts +0 -5
- package/react/pf-banner/pf-banner.js +0 -10
- package/react/pf-button/pf-button.d.ts +0 -5
- package/react/pf-button/pf-button.js +0 -12
- package/react/pf-card/pf-card.d.ts +0 -5
- package/react/pf-card/pf-card.js +0 -10
- package/react/pf-chip/pf-chip-group.d.ts +0 -5
- package/react/pf-chip/pf-chip-group.js +0 -13
- package/react/pf-chip/pf-chip.d.ts +0 -5
- package/react/pf-chip/pf-chip.js +0 -13
- package/react/pf-clipboard-copy/pf-clipboard-copy.d.ts +0 -5
- package/react/pf-clipboard-copy/pf-clipboard-copy.js +0 -12
- package/react/pf-code-block/pf-code-block.d.ts +0 -5
- package/react/pf-code-block/pf-code-block.js +0 -10
- package/react/pf-dropdown/pf-dropdown-group.d.ts +0 -5
- package/react/pf-dropdown/pf-dropdown-group.js +0 -10
- package/react/pf-dropdown/pf-dropdown-item.d.ts +0 -5
- package/react/pf-dropdown/pf-dropdown-item.js +0 -10
- package/react/pf-dropdown/pf-dropdown-menu.d.ts +0 -5
- package/react/pf-dropdown/pf-dropdown-menu.js +0 -10
- package/react/pf-dropdown/pf-dropdown.d.ts +0 -5
- package/react/pf-dropdown/pf-dropdown.js +0 -14
- package/react/pf-icon/pf-icon.d.ts +0 -5
- package/react/pf-icon/pf-icon.js +0 -13
- package/react/pf-jump-links/pf-jump-links-item.d.ts +0 -5
- package/react/pf-jump-links/pf-jump-links-item.js +0 -13
- package/react/pf-jump-links/pf-jump-links-list.d.ts +0 -5
- package/react/pf-jump-links/pf-jump-links-list.js +0 -10
- package/react/pf-jump-links/pf-jump-links.d.ts +0 -5
- package/react/pf-jump-links/pf-jump-links.js +0 -12
- package/react/pf-label/pf-label.d.ts +0 -5
- package/react/pf-label/pf-label.js +0 -12
- package/react/pf-modal/pf-modal.d.ts +0 -5
- package/react/pf-modal/pf-modal.js +0 -13
- package/react/pf-panel/pf-panel.d.ts +0 -5
- package/react/pf-panel/pf-panel.js +0 -10
- package/react/pf-popover/pf-popover.d.ts +0 -5
- package/react/pf-popover/pf-popover.js +0 -10
- package/react/pf-progress/pf-progress.d.ts +0 -5
- package/react/pf-progress/pf-progress.js +0 -10
- package/react/pf-progress-stepper/pf-progress-step.d.ts +0 -5
- package/react/pf-progress-stepper/pf-progress-step.js +0 -10
- package/react/pf-progress-stepper/pf-progress-stepper.d.ts +0 -5
- package/react/pf-progress-stepper/pf-progress-stepper.js +0 -10
- package/react/pf-select/pf-option-group.d.ts +0 -5
- package/react/pf-select/pf-option-group.js +0 -10
- package/react/pf-select/pf-option.d.ts +0 -5
- package/react/pf-select/pf-option.js +0 -10
- package/react/pf-select/pf-select.d.ts +0 -5
- package/react/pf-select/pf-select.js +0 -13
- package/react/pf-spinner/pf-spinner.d.ts +0 -5
- package/react/pf-spinner/pf-spinner.js +0 -10
- package/react/pf-switch/pf-switch.d.ts +0 -5
- package/react/pf-switch/pf-switch.js +0 -12
- package/react/pf-table/pf-caption.d.ts +0 -5
- package/react/pf-table/pf-caption.js +0 -10
- package/react/pf-table/pf-table.d.ts +0 -5
- package/react/pf-table/pf-table.js +0 -10
- package/react/pf-table/pf-tbody.d.ts +0 -5
- package/react/pf-table/pf-tbody.js +0 -10
- package/react/pf-table/pf-td.d.ts +0 -5
- package/react/pf-table/pf-td.js +0 -10
- package/react/pf-table/pf-th.d.ts +0 -5
- package/react/pf-table/pf-th.js +0 -10
- package/react/pf-table/pf-thead.d.ts +0 -5
- package/react/pf-table/pf-thead.js +0 -10
- package/react/pf-table/pf-tr.d.ts +0 -5
- package/react/pf-table/pf-tr.js +0 -10
- package/react/pf-tabs/pf-tab-panel.d.ts +0 -5
- package/react/pf-tabs/pf-tab-panel.js +0 -10
- package/react/pf-tabs/pf-tab.d.ts +0 -5
- package/react/pf-tabs/pf-tab.js +0 -12
- package/react/pf-tabs/pf-tabs.d.ts +0 -5
- package/react/pf-tabs/pf-tabs.js +0 -10
- package/react/pf-text-area/pf-text-area.d.ts +0 -5
- package/react/pf-text-area/pf-text-area.js +0 -10
- package/react/pf-text-input/pf-text-input.d.ts +0 -5
- package/react/pf-text-input/pf-text-input.js +0 -10
- package/react/pf-tile/pf-tile.d.ts +0 -5
- package/react/pf-tile/pf-tile.js +0 -10
- package/react/pf-timestamp/pf-timestamp.d.ts +0 -5
- package/react/pf-timestamp/pf-timestamp.js +0 -10
- package/react/pf-tooltip/pf-tooltip.d.ts +0 -5
- package/react/pf-tooltip/pf-tooltip.js +0 -10
|
@@ -15,7 +15,358 @@ import { PfDropdownItem } from './pf-dropdown-item.js';
|
|
|
15
15
|
import { PfDropdownMenu } from './pf-dropdown-menu.js';
|
|
16
16
|
import '@patternfly/elements/pf-button/pf-button.js';
|
|
17
17
|
import { css } from "lit";
|
|
18
|
-
const styles = css `:host {\n display: inline-block;\n position: relative;\n --pf-c-dropdown__toggle--PaddingTop: var(--pf-global--spacer--form-element, 0.375rem);\n --pf-c-dropdown__toggle--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle--PaddingBottom: var(--pf-global--spacer--form-element, 0.375rem);\n --pf-c-dropdown__toggle--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle--MinWidth: 0;\n --pf-c-dropdown__toggle--FontSize: var(--pf-global--FontSize--md, 1rem);\n --pf-c-dropdown__toggle--FontWeight: var(--pf-global--FontWeight--normal, 400);\n --pf-c-dropdown__toggle--Color: var(--pf-global--Color--100, #151515);\n --pf-c-dropdown__toggle--LineHeight: var(--pf-global--LineHeight--md, 1.5);\n --pf-c-dropdown__toggle--BackgroundColor: transparent;\n --pf-c-dropdown__toggle--before--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);\n --pf-c-dropdown__toggle--before--BorderTopColor: var(--pf-global--BorderColor--300, #f0f0f0);\n --pf-c-dropdown__toggle--before--BorderRightColor: var(--pf-global--BorderColor--300, #f0f0f0);\n --pf-c-dropdown__toggle--before--BorderBottomColor: var(--pf-global--BorderColor--200, #8a8d90);\n --pf-c-dropdown__toggle--before--BorderLeftColor: var(--pf-global--BorderColor--300, #f0f0f0);\n --pf-c-dropdown__toggle--hover--before--BorderBottomColor: var(--pf-global--active-color--100, #06c);\n --pf-c-dropdown__toggle--focus--before--BorderBottomWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--focus--before--BorderBottomColor: var(--pf-global--active-color--100, #06c);\n --pf-c-dropdown__toggle--active--before--BorderBottomWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--active--before--BorderBottomColor: var(--pf-global--active-color--100, #06c);\n --pf-c-dropdown--m-expanded__toggle--before--BorderBottomWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown--m-expanded__toggle--before--BorderBottomColor: var(--pf-global--active-color--100, #06c);\n --pf-c-dropdown__toggle--disabled--BackgroundColor: var(--pf-global--disabled-color--300, #f0f0f0);\n --pf-c-dropdown__toggle--m-plain--Color: var(--pf-global--Color--200, #6a6e73);\n --pf-c-dropdown__toggle--m-plain--hover--Color: var(--pf-global--Color--100, #151515);\n --pf-c-dropdown__toggle--m-plain--disabled--Color: var(--pf-global--disabled-color--200, #d2d2d2);\n --pf-c-dropdown__toggle--m-plain--PaddingRight: var(--pf-global--spacer--md, 1rem);\n --pf-c-dropdown__toggle--m-plain--PaddingLeft: var(--pf-global--spacer--md, 1rem);\n --pf-c-dropdown__toggle--m-plain--child--LineHeight: normal;\n --pf-c-dropdown__toggle--m-primary--Color: var(--pf-global--Color--light-100, #fff);\n --pf-c-dropdown__toggle--m-primary--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);\n --pf-c-dropdown__toggle--m-primary--BackgroundColor: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle--m-primary--hover--BackgroundColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown__toggle--m-primary--focus--BackgroundColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown__toggle--m-primary--active--BackgroundColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown--m-expanded__toggle--m-primary--BackgroundColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown__toggle--m-primary--disabled--Color: var(--pf-global--Color--100, #151515);\n --pf-c-dropdown__toggle--m-secondary--Color: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle--m-secondary--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);\n --pf-c-dropdown__toggle--m-secondary--BackgroundColor: transparent;\n --pf-c-dropdown__toggle--m-secondary--before--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);\n --pf-c-dropdown__toggle--m-secondary--hover--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--focus--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--active--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--before--BorderColor: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle--m-secondary--hover--before--BorderColor: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle--m-secondary--focus--before--BorderColor: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle--m-secondary--active--before--BorderColor: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown--m-expanded__toggle--m-secondary--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown--m-expanded__toggle--m-secondary--before--BorderColor: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle-button--Color: var(--pf-global--Color--100, #151515);\n --pf-c-dropdown__toggle-progress--Visibility: hidden;\n --pf-c-dropdown__toggle-progress--c-spinner--diameter: var(--pf-global--FontSize--sm, 0.875rem);\n --pf-c-dropdown__toggle--m-split-button--child--PaddingTop: var(--pf-global--spacer--form-element, 0.375rem);\n --pf-c-dropdown__toggle--m-split-button--child--PaddingRight: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-dropdown__toggle--m-split-button--child--PaddingBottom: var(--pf-global--spacer--form-element, 0.375rem);\n --pf-c-dropdown__toggle--m-split-button--child--PaddingLeft: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-dropdown__toggle--m-split-button--child--BackgroundColor: transparent;\n --pf-c-dropdown__toggle--m-split-button--first-child--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle--m-split-button--last-child--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle--m-split-button--m-action--child--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle--m-split-button--m-action--child--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle--m-split-button--m-action__toggle-button--MarginRight: calc(-1 * var(--pf-global--BorderWidth--sm, 1px));\n --pf-c-dropdown__toggle--m-split-button__toggle-check__input--TranslateY: -0.0625rem;\n --pf-c-dropdown__toggle--m-split-button__toggle-text--MarginLeft: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle--m-split-button--child--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);\n --pf-c-dropdown__toggle--m-split-button--m-primary--child--BorderRadius: var(--pf-c-dropdown__toggle--m-split-button--child--BorderRadius);\n --pf-c-dropdown__toggle--m-split-button--m-primary--child--BackgroundColor: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle--m-split-button--m-primary--child--hover--BackgroundColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown__toggle--m-split-button--m-primary--child--focus--BackgroundColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown__toggle--m-split-button--m-primary--child--active--BackgroundColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown__toggle--m-split-button--m-primary--child--m-expanded--BackgroundColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown__toggle--m-split-button--m-primary--m-action--child--BorderLeftColor: var(--pf-global--primary-color--200, #004080);\n --pf-c-dropdown__toggle--m-split-button--m-primary--m-action--child--BorderLeftWidth: var(--pf-global--BorderWidth--sm, 1px);\n --pf-c-dropdown--m-expanded__toggle--m-secondary--m-split-button--child--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--Color: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--hover--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--focus--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--active--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderWidth--base: var(--pf-global--BorderWidth--sm, 1px);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderColor--base: var(--pf-global--primary-color--100, #06c);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderColor: var(--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderColor--base);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderWidth: var(--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderWidth--base);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--hover--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--focus--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--active--BorderWidth: var(--pf-global--BorderWidth--md, 2px);\n --pf-c-dropdown__toggle-icon--LineHeight: var(--pf-global--LineHeight--md, 1.5);\n --pf-c-dropdown__toggle-icon--MarginRight: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle-icon--MarginLeft: var(--pf-global--spacer--md, 1rem);\n --pf-c-dropdown--m-top--m-expanded__toggle-icon--Rotate: 180deg;\n --pf-c-dropdown--m-plain__toggle-icon--Color: var(--pf-global--Color--200, #6a6e73);\n --pf-c-dropdown--m-plain--hover__toggle-icon--Color: var(--pf-global--Color--100, #151515);\n --pf-c-dropdown__menu--BackgroundColor: var(--pf-global--BackgroundColor--light-100, #fff);\n --pf-c-dropdown__menu--BoxShadow: var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06));\n --pf-c-dropdown__menu--PaddingTop: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__menu--PaddingBottom: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__menu--Top: calc(100% + var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-dropdown__menu--ZIndex: var(--pf-global--ZIndex--sm, 200);\n --pf-c-dropdown--m-top__menu--Top: 0;\n --pf-c-dropdown--m-top__menu--TranslateY: calc(-100% - var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-dropdown__menu-item--BackgroundColor: transparent;\n --pf-c-dropdown__menu-item--PaddingTop: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__menu-item--PaddingRight: var(--pf-global--spacer--md, 1rem);\n --pf-c-dropdown__menu-item--PaddingBottom: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__menu-item--PaddingLeft: var(--pf-global--spacer--md, 1rem);\n --pf-c-dropdown__menu-item--FontSize: var(--pf-global--FontSize--md, 1rem);\n --pf-c-dropdown__menu-item--FontWeight: var(--pf-global--FontWeight--normal, 400);\n --pf-c-dropdown__menu-item--LineHeight: var(--pf-global--LineHeight--md, 1.5);\n --pf-c-dropdown__menu-item--Color: var(--pf-global--Color--dark-100, #151515);\n --pf-c-dropdown__menu-item--hover--Color: var(--pf-global--Color--dark-100, #151515);\n --pf-c-dropdown__menu-item--disabled--Color: var(--pf-global--Color--dark-200, #6a6e73);\n --pf-c-dropdown__menu-item--hover--BackgroundColor: var(--pf-global--BackgroundColor--light-300, #f0f0f0);\n --pf-c-dropdown__menu-item--disabled--BackgroundColor: transparent;\n --pf-c-dropdown__menu-item--m-text--Color: var(--pf-global--Color--dark-200, #6a6e73);\n --pf-c-dropdown__menu-item-icon--MarginRight: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__menu-item-icon--Width: var(--pf-global--icon--FontSize--lg, 1.5rem);\n --pf-c-dropdown__menu-item-icon--Height: var(--pf-global--icon--FontSize--lg, 1.5rem);\n --pf-c-dropdown__menu-item-description--FontSize: var(--pf-global--FontSize--xs, 0.75rem);\n --pf-c-dropdown__menu-item-description--Color: var(--pf-global--Color--dark-200, #6a6e73);\n --pf-c-dropdown__group--group--PaddingTop: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__group-title--PaddingTop: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__group-title--PaddingRight: var(--pf-c-dropdown__menu-item--PaddingRight);\n --pf-c-dropdown__group-title--PaddingBottom: var(--pf-c-dropdown__menu-item--PaddingBottom);\n --pf-c-dropdown__group-title--PaddingLeft: var(--pf-c-dropdown__menu-item--PaddingLeft);\n --pf-c-dropdown__group-title--FontSize: var(--pf-global--FontSize--xs, 0.75rem);\n --pf-c-dropdown__group-title--FontWeight: var(--pf-global--FontWeight--normal, 400);\n --pf-c-dropdown__group-title--Color: var(--pf-global--Color--dark-200, #6a6e73);\n --pf-c-dropdown__toggle-image--MarginTop: 0;\n --pf-c-dropdown__toggle-image--MarginBottom: 0;\n --pf-c-dropdown__toggle-image--MarginRight: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown--c-divider--MarginTop: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown--c-divider--MarginBottom: var(--pf-global--spacer--sm, 0.5rem);\n --pf-c-dropdown__toggle--c-badge__toggle-icon--MarginLeft: var(--pf-global--spacer--xs, 0.25rem);\n --pf-c-dropdown__toggle--c-badge__toggle-icon--MarginRight: 0;\n --pf-c-dropdown--c-menu--Top: calc(100% + var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-dropdown--c-menu--ZIndex: var(--pf-global--ZIndex--sm, 200);\n --pf-c-dropdown--m-top--c-menu--Top: 0;\n --pf-c-dropdown--m-top--c-menu--TranslateY: calc(-100% - var(--pf-global--spacer--xs, 0.25rem));\n --pf-c-dropdown--m-full-height__toggle--before--BorderTopWidth: 0;\n --pf-c-dropdown--m-full-height__toggle--expanded--before--BorderBottomWidth: var(--pf-global--BorderWidth--xl, 4px);\n --pf-c-dropdown--m-full-height__toggle--hover--before--BorderBottomWidth: var(--pf-global--BorderWidth--xl, 4px);\n --pf-c-dropdown--m-full-height__toggle--active--before--BorderBottomWidth: var(--pf-global--BorderWidth--xl, 4px);\n --pf-c-dropdown--m-full-height__toggle--focus--before--BorderBottomWidth: var(--pf-global--BorderWidth--xl, 4px);\n --pf-c-dropdown--m-full-height__toggle--PaddingRight: var(--pf-global--spacer--lg, 1.5rem);\n --pf-c-dropdown--m-full-height__toggle--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem);\n --_font-size: var(\n --pf-c-dropdown__menu-item--FontSize,\n var(--pf-global--FontSize--md, 1rem)\n );\n --_font-weight: var(\n --pf-c-dropdown__menu-item--FontWeight,\n var(--pf-global--FontWeight--normal, 400)\n );\n --_line-height: var(\n --pf-c-dropdown__menu-item--LineHeight,\n var(--pf-global--LineHeight--md, 1.5)\n );\n --_color: var(\n --pf-c-dropdown__menu-item--Color,\n var(--pf-global--Color--dark-100, #151515)\n );\n --_background-color: var(\n --pf-c-dropdown__menu-item--BackgroundColor,\n transparent\n );\n}\n\n:host([disabled]) {\n color: var(--pf-global--Color--dark-200, #6a6e73);\n}\n\n:host([hidden]),\n[hidden] {\n display: none !important;\n}\n\nslot[name="toggle"] {\n cursor: pointer;\n}\n\npf-button#default-toggle,\n::slotted([slot="toggle"]) {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-width: var(--pf-c-dropdown__toggle--MinWidth);\n max-width: 100%;\n padding:\n var(--pf-c-dropdown__toggle--PaddingTop)\n var(--pf-c-dropdown__toggle--PaddingRight)\n var(--pf-c-dropdown__toggle--PaddingBottom)\n var(--pf-c-dropdown__toggle--PaddingLeft);\n font-size: var(--pf-c-dropdown__toggle--FontSize);\n font-weight: var(--pf-c-dropdown__toggle--FontWeight);\n line-height: var(--pf-c-dropdown__toggle--LineHeight);\n color: var(--pf-c-dropdown__toggle--Color);\n background-color: var(--pf-c-dropdown__toggle--BackgroundColor);\n border: none;\n}\n\npf-dropdown-menu,\n::slotted(pf-dropdown-menu) {\n position: absolute !important;\n top: var(\n --pf-c-dropdown__menu--Top,\n calc(100% + var(--pf-global--spacer--xs, 0.25rem))\n ) !important;\n left: 0 !important;\n z-index: var(\n --pf-c-dropdown__menu--ZIndex,\n var(--pf-global--ZIndex--sm, 200)\n ) !important;\n padding-top: var(\n --pf-c-dropdown__menu--PaddingTop,\n var(--pf-global--spacer--sm, 0.5rem)\n ) !important;\n padding-bottom: var(\n --pf-c-dropdown__menu--PaddingBottom,\n var(--pf-global--spacer--sm, 0.5rem)\n ) !important;\n background: var(--pf-c-dropdown__menu--BackgroundColor, #fff) !important;\n background-clip: padding-box !important;\n box-shadow: var(\n --pf-c-dropdown__menu--BoxShadow,\n var(\n --pf-global--BoxShadow--md,\n 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12),\n 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)\n )\n ) !important;\n min-width: 100% !important;\n margin: 0 !important;\n}\n\npf-button svg {\n width: 1em;\n height: 1em;\n flex: 0 0 auto;\n margin-inline-start: 1em;\n}\n\n::slotted(hr) {\n margin: 0;\n border-color: var(--pf-c-divider--BackgroundColor, var(--pf-global--BorderColor--100, #d2d2d2));\n border-style: solid;\n}\n\n::slotted([role="separator"]:not(hr)) {\n width: 100%;\n height: 1px;\n background-color: var(--pf-c-divider--BackgroundColor, var(--pf-global--BorderColor--100, #d2d2d2));\n padding: 0px;\n margin: 0px;\n border: 0;\n display: block;\n}\n\n.disabled {\n & pf-dropdown-menu,\n & ::slotted(pf-dropdown-menu) {\n background-color: var(--pf-theme--color--surface--lighter, #f0f0f0) !important;\n cursor: not-allowed !important;\n }\n & pf-button#default-toggle,\n & ::slotted([slot="toggle"]) {\n --pf-c-button--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--after--BorderColor: var(--pf-c-button--disabled--after--BorderColor);\n\n --pf-c-button--m-primary--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-primary--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n\n --pf-c-button--m-secondary--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-secondary--focus--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-secondary--hover--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-secondary--active--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-secondary--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-secondary--after--BorderColor: transparent;\n --pf-c-button--m-secondary--hover--after--BorderColor: transparent;\n --pf-c-button--m-secondary--focus--after--BorderColor: transparent;\n --pf-c-button--m-secondary--active--after--BorderColor: transparent;\n --pf-c-button--m-secondary--focus--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-secondary--hover--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-secondary--active--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-secondary--focus--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n\n --pf-c-button--m-control--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-control--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-control--focus--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-control--hover--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-control--active--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-control--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-control--after--BorderColor: transparent;\n --pf-c-button--m-control--hover--after--BorderColor: transparent;\n --pf-c-button--m-control--focus--after--BorderColor: transparent;\n --pf-c-button--m-control--active--after--BorderColor: transparent;\n --pf-c-button--m-control--focus--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-control--hover--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-control--active--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-control--focus--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-control--after--BorderBottomColor: transparent;\n --pf-c-button--m-control--focus--after--BorderBottomColor: transparent;\n --pf-c-button--m-control--hover--after--BorderBottomColor: transparent;\n --pf-c-button--m-control--active--after--BorderBottomColor: transparent;\n\n --pf-c-button--m-plain--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-plain--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-plain--focus--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-plain--hover--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-plain--active--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-plain--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-plain--after--BorderColor: transparent;\n --pf-c-button--m-plain--hover--after--BorderColor: transparent;\n --pf-c-button--m-plain--focus--after--BorderColor: transparent;\n --pf-c-button--m-plain--active--after--BorderColor: transparent;\n --pf-c-button--m-plain--focus--Color: var(--pf-c-button--disabled--Color);\n --pf-c-button--m-plain--hover--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-plain--active--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n --pf-c-button--m-plain--focus--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);\n }\n\n & pf-button:focus,\n & ::slotted([slot="toggle"]:focus) {\n outline: 3px solid var(--pf-global--link--Color, #0066cc);\n }\n}\n\npf-button#default-toggle,\n::slotted(pf-button[variant="control"]) {\n --_button-icon-vertical-align: -0.25em;\n --_button-icon-padding-inline-start: var(--pf-c-dropdown__toggle--PaddingLeft,\n var(--pf-global--spacer--md, 1rem));\n --_button-icon-padding-inline-end: var(-pf-c-dropdown__toggle--PaddingRight,\n var(--pf-global--spacer--sm, 0.5rem));\n}\n`;
|
|
18
|
+
const styles = css `:host {
|
|
19
|
+
display: inline-block;
|
|
20
|
+
position: relative;
|
|
21
|
+
--pf-c-dropdown__toggle--PaddingTop: var(--pf-global--spacer--form-element, 0.375rem);
|
|
22
|
+
--pf-c-dropdown__toggle--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);
|
|
23
|
+
--pf-c-dropdown__toggle--PaddingBottom: var(--pf-global--spacer--form-element, 0.375rem);
|
|
24
|
+
--pf-c-dropdown__toggle--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);
|
|
25
|
+
--pf-c-dropdown__toggle--MinWidth: 0;
|
|
26
|
+
--pf-c-dropdown__toggle--FontSize: var(--pf-global--FontSize--md, 1rem);
|
|
27
|
+
--pf-c-dropdown__toggle--FontWeight: var(--pf-global--FontWeight--normal, 400);
|
|
28
|
+
--pf-c-dropdown__toggle--Color: var(--pf-global--Color--100, #151515);
|
|
29
|
+
--pf-c-dropdown__toggle--LineHeight: var(--pf-global--LineHeight--md, 1.5);
|
|
30
|
+
--pf-c-dropdown__toggle--BackgroundColor: transparent;
|
|
31
|
+
--pf-c-dropdown__toggle--before--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);
|
|
32
|
+
--pf-c-dropdown__toggle--before--BorderTopColor: var(--pf-global--BorderColor--300, #f0f0f0);
|
|
33
|
+
--pf-c-dropdown__toggle--before--BorderRightColor: var(--pf-global--BorderColor--300, #f0f0f0);
|
|
34
|
+
--pf-c-dropdown__toggle--before--BorderBottomColor: var(--pf-global--BorderColor--200, #8a8d90);
|
|
35
|
+
--pf-c-dropdown__toggle--before--BorderLeftColor: var(--pf-global--BorderColor--300, #f0f0f0);
|
|
36
|
+
--pf-c-dropdown__toggle--hover--before--BorderBottomColor: var(--pf-global--active-color--100, #06c);
|
|
37
|
+
--pf-c-dropdown__toggle--focus--before--BorderBottomWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
38
|
+
--pf-c-dropdown__toggle--focus--before--BorderBottomColor: var(--pf-global--active-color--100, #06c);
|
|
39
|
+
--pf-c-dropdown__toggle--active--before--BorderBottomWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
40
|
+
--pf-c-dropdown__toggle--active--before--BorderBottomColor: var(--pf-global--active-color--100, #06c);
|
|
41
|
+
--pf-c-dropdown--m-expanded__toggle--before--BorderBottomWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
42
|
+
--pf-c-dropdown--m-expanded__toggle--before--BorderBottomColor: var(--pf-global--active-color--100, #06c);
|
|
43
|
+
--pf-c-dropdown__toggle--disabled--BackgroundColor: var(--pf-global--disabled-color--300, #f0f0f0);
|
|
44
|
+
--pf-c-dropdown__toggle--m-plain--Color: var(--pf-global--Color--200, #6a6e73);
|
|
45
|
+
--pf-c-dropdown__toggle--m-plain--hover--Color: var(--pf-global--Color--100, #151515);
|
|
46
|
+
--pf-c-dropdown__toggle--m-plain--disabled--Color: var(--pf-global--disabled-color--200, #d2d2d2);
|
|
47
|
+
--pf-c-dropdown__toggle--m-plain--PaddingRight: var(--pf-global--spacer--md, 1rem);
|
|
48
|
+
--pf-c-dropdown__toggle--m-plain--PaddingLeft: var(--pf-global--spacer--md, 1rem);
|
|
49
|
+
--pf-c-dropdown__toggle--m-plain--child--LineHeight: normal;
|
|
50
|
+
--pf-c-dropdown__toggle--m-primary--Color: var(--pf-global--Color--light-100, #fff);
|
|
51
|
+
--pf-c-dropdown__toggle--m-primary--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);
|
|
52
|
+
--pf-c-dropdown__toggle--m-primary--BackgroundColor: var(--pf-global--primary-color--100, #06c);
|
|
53
|
+
--pf-c-dropdown__toggle--m-primary--hover--BackgroundColor: var(--pf-global--primary-color--200, #004080);
|
|
54
|
+
--pf-c-dropdown__toggle--m-primary--focus--BackgroundColor: var(--pf-global--primary-color--200, #004080);
|
|
55
|
+
--pf-c-dropdown__toggle--m-primary--active--BackgroundColor: var(--pf-global--primary-color--200, #004080);
|
|
56
|
+
--pf-c-dropdown--m-expanded__toggle--m-primary--BackgroundColor: var(--pf-global--primary-color--200, #004080);
|
|
57
|
+
--pf-c-dropdown__toggle--m-primary--disabled--Color: var(--pf-global--Color--100, #151515);
|
|
58
|
+
--pf-c-dropdown__toggle--m-secondary--Color: var(--pf-global--primary-color--100, #06c);
|
|
59
|
+
--pf-c-dropdown__toggle--m-secondary--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);
|
|
60
|
+
--pf-c-dropdown__toggle--m-secondary--BackgroundColor: transparent;
|
|
61
|
+
--pf-c-dropdown__toggle--m-secondary--before--BorderWidth: var(--pf-global--BorderWidth--sm, 1px);
|
|
62
|
+
--pf-c-dropdown__toggle--m-secondary--hover--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
63
|
+
--pf-c-dropdown__toggle--m-secondary--focus--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
64
|
+
--pf-c-dropdown__toggle--m-secondary--active--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
65
|
+
--pf-c-dropdown__toggle--m-secondary--before--BorderColor: var(--pf-global--primary-color--100, #06c);
|
|
66
|
+
--pf-c-dropdown__toggle--m-secondary--hover--before--BorderColor: var(--pf-global--primary-color--100, #06c);
|
|
67
|
+
--pf-c-dropdown__toggle--m-secondary--focus--before--BorderColor: var(--pf-global--primary-color--100, #06c);
|
|
68
|
+
--pf-c-dropdown__toggle--m-secondary--active--before--BorderColor: var(--pf-global--primary-color--100, #06c);
|
|
69
|
+
--pf-c-dropdown--m-expanded__toggle--m-secondary--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
70
|
+
--pf-c-dropdown--m-expanded__toggle--m-secondary--before--BorderColor: var(--pf-global--primary-color--100, #06c);
|
|
71
|
+
--pf-c-dropdown__toggle-button--Color: var(--pf-global--Color--100, #151515);
|
|
72
|
+
--pf-c-dropdown__toggle-progress--Visibility: hidden;
|
|
73
|
+
--pf-c-dropdown__toggle-progress--c-spinner--diameter: var(--pf-global--FontSize--sm, 0.875rem);
|
|
74
|
+
--pf-c-dropdown__toggle--m-split-button--child--PaddingTop: var(--pf-global--spacer--form-element, 0.375rem);
|
|
75
|
+
--pf-c-dropdown__toggle--m-split-button--child--PaddingRight: var(--pf-global--spacer--xs, 0.25rem);
|
|
76
|
+
--pf-c-dropdown__toggle--m-split-button--child--PaddingBottom: var(--pf-global--spacer--form-element, 0.375rem);
|
|
77
|
+
--pf-c-dropdown__toggle--m-split-button--child--PaddingLeft: var(--pf-global--spacer--xs, 0.25rem);
|
|
78
|
+
--pf-c-dropdown__toggle--m-split-button--child--BackgroundColor: transparent;
|
|
79
|
+
--pf-c-dropdown__toggle--m-split-button--first-child--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);
|
|
80
|
+
--pf-c-dropdown__toggle--m-split-button--last-child--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);
|
|
81
|
+
--pf-c-dropdown__toggle--m-split-button--m-action--child--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem);
|
|
82
|
+
--pf-c-dropdown__toggle--m-split-button--m-action--child--PaddingRight: var(--pf-global--spacer--sm, 0.5rem);
|
|
83
|
+
--pf-c-dropdown__toggle--m-split-button--m-action__toggle-button--MarginRight: calc(-1 * var(--pf-global--BorderWidth--sm, 1px));
|
|
84
|
+
--pf-c-dropdown__toggle--m-split-button__toggle-check__input--TranslateY: -0.0625rem;
|
|
85
|
+
--pf-c-dropdown__toggle--m-split-button__toggle-text--MarginLeft: var(--pf-global--spacer--sm, 0.5rem);
|
|
86
|
+
--pf-c-dropdown__toggle--m-split-button--child--BorderRadius: var(--pf-global--BorderRadius--sm, 3px);
|
|
87
|
+
--pf-c-dropdown__toggle--m-split-button--m-primary--child--BorderRadius: var(--pf-c-dropdown__toggle--m-split-button--child--BorderRadius);
|
|
88
|
+
--pf-c-dropdown__toggle--m-split-button--m-primary--child--BackgroundColor: var(--pf-global--primary-color--100, #06c);
|
|
89
|
+
--pf-c-dropdown__toggle--m-split-button--m-primary--child--hover--BackgroundColor: var(--pf-global--primary-color--200, #004080);
|
|
90
|
+
--pf-c-dropdown__toggle--m-split-button--m-primary--child--focus--BackgroundColor: var(--pf-global--primary-color--200, #004080);
|
|
91
|
+
--pf-c-dropdown__toggle--m-split-button--m-primary--child--active--BackgroundColor: var(--pf-global--primary-color--200, #004080);
|
|
92
|
+
--pf-c-dropdown__toggle--m-split-button--m-primary--child--m-expanded--BackgroundColor: var(--pf-global--primary-color--200, #004080);
|
|
93
|
+
--pf-c-dropdown__toggle--m-split-button--m-primary--m-action--child--BorderLeftColor: var(--pf-global--primary-color--200, #004080);
|
|
94
|
+
--pf-c-dropdown__toggle--m-split-button--m-primary--m-action--child--BorderLeftWidth: var(--pf-global--BorderWidth--sm, 1px);
|
|
95
|
+
--pf-c-dropdown--m-expanded__toggle--m-secondary--m-split-button--child--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
96
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--Color: var(--pf-global--primary-color--100, #06c);
|
|
97
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--hover--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
98
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--focus--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
99
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--active--before--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
100
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderWidth--base: var(--pf-global--BorderWidth--sm, 1px);
|
|
101
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderColor--base: var(--pf-global--primary-color--100, #06c);
|
|
102
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderColor: var(--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderColor--base);
|
|
103
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderWidth: var(--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--BorderWidth--base);
|
|
104
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--hover--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
105
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--focus--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
106
|
+
--pf-c-dropdown__toggle--m-secondary--m-split-button--child--before--active--BorderWidth: var(--pf-global--BorderWidth--md, 2px);
|
|
107
|
+
--pf-c-dropdown__toggle-icon--LineHeight: var(--pf-global--LineHeight--md, 1.5);
|
|
108
|
+
--pf-c-dropdown__toggle-icon--MarginRight: var(--pf-global--spacer--sm, 0.5rem);
|
|
109
|
+
--pf-c-dropdown__toggle-icon--MarginLeft: var(--pf-global--spacer--md, 1rem);
|
|
110
|
+
--pf-c-dropdown--m-top--m-expanded__toggle-icon--Rotate: 180deg;
|
|
111
|
+
--pf-c-dropdown--m-plain__toggle-icon--Color: var(--pf-global--Color--200, #6a6e73);
|
|
112
|
+
--pf-c-dropdown--m-plain--hover__toggle-icon--Color: var(--pf-global--Color--100, #151515);
|
|
113
|
+
--pf-c-dropdown__menu--BackgroundColor: var(--pf-global--BackgroundColor--light-100, #fff);
|
|
114
|
+
/** Dropdown box shadow */
|
|
115
|
+
--pf-c-dropdown__menu--BoxShadow: var(--pf-global--BoxShadow--md, 0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06));
|
|
116
|
+
/** Dropdown top padding */
|
|
117
|
+
--pf-c-dropdown__menu--PaddingTop: var(--pf-global--spacer--sm, 0.5rem);
|
|
118
|
+
--pf-c-dropdown__menu--PaddingBottom: var(--pf-global--spacer--sm, 0.5rem);
|
|
119
|
+
/** Dropdown top position */
|
|
120
|
+
--pf-c-dropdown__menu--Top: calc(100% + var(--pf-global--spacer--xs, 0.25rem));
|
|
121
|
+
/** Dropdown z-index */
|
|
122
|
+
--pf-c-dropdown__menu--ZIndex: var(--pf-global--ZIndex--sm, 200);
|
|
123
|
+
--pf-c-dropdown--m-top__menu--Top: 0;
|
|
124
|
+
--pf-c-dropdown--m-top__menu--TranslateY: calc(-100% - var(--pf-global--spacer--xs, 0.25rem));
|
|
125
|
+
--pf-c-dropdown__menu-item--BackgroundColor: transparent;
|
|
126
|
+
--pf-c-dropdown__menu-item--PaddingTop: var(--pf-global--spacer--sm, 0.5rem);
|
|
127
|
+
/** Dropdown menu item right padding */
|
|
128
|
+
--pf-c-dropdown__menu-item--PaddingRight: var(--pf-global--spacer--md, 1rem);
|
|
129
|
+
--pf-c-dropdown__menu-item--PaddingBottom: var(--pf-global--spacer--sm, 0.5rem);
|
|
130
|
+
--pf-c-dropdown__menu-item--PaddingLeft: var(--pf-global--spacer--md, 1rem);
|
|
131
|
+
--pf-c-dropdown__menu-item--FontSize: var(--pf-global--FontSize--md, 1rem);
|
|
132
|
+
--pf-c-dropdown__menu-item--FontWeight: var(--pf-global--FontWeight--normal, 400);
|
|
133
|
+
--pf-c-dropdown__menu-item--LineHeight: var(--pf-global--LineHeight--md, 1.5);
|
|
134
|
+
--pf-c-dropdown__menu-item--Color: var(--pf-global--Color--dark-100, #151515);
|
|
135
|
+
--pf-c-dropdown__menu-item--hover--Color: var(--pf-global--Color--dark-100, #151515);
|
|
136
|
+
--pf-c-dropdown__menu-item--disabled--Color: var(--pf-global--Color--dark-200, #6a6e73);
|
|
137
|
+
--pf-c-dropdown__menu-item--hover--BackgroundColor: var(--pf-global--BackgroundColor--light-300, #f0f0f0);
|
|
138
|
+
--pf-c-dropdown__menu-item--disabled--BackgroundColor: transparent;
|
|
139
|
+
--pf-c-dropdown__menu-item--m-text--Color: var(--pf-global--Color--dark-200, #6a6e73);
|
|
140
|
+
--pf-c-dropdown__menu-item-icon--MarginRight: var(--pf-global--spacer--sm, 0.5rem);
|
|
141
|
+
--pf-c-dropdown__menu-item-icon--Width: var(--pf-global--icon--FontSize--lg, 1.5rem);
|
|
142
|
+
--pf-c-dropdown__menu-item-icon--Height: var(--pf-global--icon--FontSize--lg, 1.5rem);
|
|
143
|
+
--pf-c-dropdown__menu-item-description--FontSize: var(--pf-global--FontSize--xs, 0.75rem);
|
|
144
|
+
--pf-c-dropdown__menu-item-description--Color: var(--pf-global--Color--dark-200, #6a6e73);
|
|
145
|
+
--pf-c-dropdown__group--group--PaddingTop: var(--pf-global--spacer--sm, 0.5rem);
|
|
146
|
+
--pf-c-dropdown__group-title--PaddingTop: var(--pf-global--spacer--sm, 0.5rem);
|
|
147
|
+
--pf-c-dropdown__group-title--PaddingRight: var(--pf-c-dropdown__menu-item--PaddingRight);
|
|
148
|
+
--pf-c-dropdown__group-title--PaddingBottom: var(--pf-c-dropdown__menu-item--PaddingBottom);
|
|
149
|
+
--pf-c-dropdown__group-title--PaddingLeft: var(--pf-c-dropdown__menu-item--PaddingLeft);
|
|
150
|
+
--pf-c-dropdown__group-title--FontSize: var(--pf-global--FontSize--xs, 0.75rem);
|
|
151
|
+
--pf-c-dropdown__group-title--FontWeight: var(--pf-global--FontWeight--normal, 400);
|
|
152
|
+
--pf-c-dropdown__group-title--Color: var(--pf-global--Color--dark-200, #6a6e73);
|
|
153
|
+
--pf-c-dropdown__toggle-image--MarginTop: 0;
|
|
154
|
+
--pf-c-dropdown__toggle-image--MarginBottom: 0;
|
|
155
|
+
--pf-c-dropdown__toggle-image--MarginRight: var(--pf-global--spacer--sm, 0.5rem);
|
|
156
|
+
--pf-c-dropdown--c-divider--MarginTop: var(--pf-global--spacer--sm, 0.5rem);
|
|
157
|
+
--pf-c-dropdown--c-divider--MarginBottom: var(--pf-global--spacer--sm, 0.5rem);
|
|
158
|
+
--pf-c-dropdown__toggle--c-badge__toggle-icon--MarginLeft: var(--pf-global--spacer--xs, 0.25rem);
|
|
159
|
+
--pf-c-dropdown__toggle--c-badge__toggle-icon--MarginRight: 0;
|
|
160
|
+
--pf-c-dropdown--c-menu--Top: calc(100% + var(--pf-global--spacer--xs, 0.25rem));
|
|
161
|
+
--pf-c-dropdown--c-menu--ZIndex: var(--pf-global--ZIndex--sm, 200);
|
|
162
|
+
--pf-c-dropdown--m-top--c-menu--Top: 0;
|
|
163
|
+
--pf-c-dropdown--m-top--c-menu--TranslateY: calc(-100% - var(--pf-global--spacer--xs, 0.25rem));
|
|
164
|
+
--pf-c-dropdown--m-full-height__toggle--before--BorderTopWidth: 0;
|
|
165
|
+
--pf-c-dropdown--m-full-height__toggle--expanded--before--BorderBottomWidth: var(--pf-global--BorderWidth--xl, 4px);
|
|
166
|
+
--pf-c-dropdown--m-full-height__toggle--hover--before--BorderBottomWidth: var(--pf-global--BorderWidth--xl, 4px);
|
|
167
|
+
--pf-c-dropdown--m-full-height__toggle--active--before--BorderBottomWidth: var(--pf-global--BorderWidth--xl, 4px);
|
|
168
|
+
--pf-c-dropdown--m-full-height__toggle--focus--before--BorderBottomWidth: var(--pf-global--BorderWidth--xl, 4px);
|
|
169
|
+
--pf-c-dropdown--m-full-height__toggle--PaddingRight: var(--pf-global--spacer--lg, 1.5rem);
|
|
170
|
+
--pf-c-dropdown--m-full-height__toggle--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem);
|
|
171
|
+
--_font-size: var(
|
|
172
|
+
--pf-c-dropdown__menu-item--FontSize,
|
|
173
|
+
var(--pf-global--FontSize--md, 1rem)
|
|
174
|
+
);
|
|
175
|
+
--_font-weight: var(
|
|
176
|
+
--pf-c-dropdown__menu-item--FontWeight,
|
|
177
|
+
var(--pf-global--FontWeight--normal, 400)
|
|
178
|
+
);
|
|
179
|
+
--_line-height: var(
|
|
180
|
+
--pf-c-dropdown__menu-item--LineHeight,
|
|
181
|
+
var(--pf-global--LineHeight--md, 1.5)
|
|
182
|
+
);
|
|
183
|
+
--_color: var(
|
|
184
|
+
--pf-c-dropdown__menu-item--Color,
|
|
185
|
+
var(--pf-global--Color--dark-100, #151515)
|
|
186
|
+
);
|
|
187
|
+
--_background-color: var(
|
|
188
|
+
--pf-c-dropdown__menu-item--BackgroundColor,
|
|
189
|
+
transparent
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
:host([disabled]) {
|
|
194
|
+
color: var(--pf-global--Color--dark-200, #6a6e73);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
:host([hidden]),
|
|
198
|
+
[hidden] {
|
|
199
|
+
display: none !important;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
slot[name="toggle"] {
|
|
203
|
+
cursor: pointer;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
pf-button#default-toggle,
|
|
207
|
+
::slotted([slot="toggle"]) {
|
|
208
|
+
position: relative;
|
|
209
|
+
display: flex;
|
|
210
|
+
align-items: center;
|
|
211
|
+
justify-content: space-between;
|
|
212
|
+
min-width: var(--pf-c-dropdown__toggle--MinWidth);
|
|
213
|
+
max-width: 100%;
|
|
214
|
+
padding:
|
|
215
|
+
var(--pf-c-dropdown__toggle--PaddingTop)
|
|
216
|
+
var(--pf-c-dropdown__toggle--PaddingRight)
|
|
217
|
+
var(--pf-c-dropdown__toggle--PaddingBottom)
|
|
218
|
+
var(--pf-c-dropdown__toggle--PaddingLeft);
|
|
219
|
+
font-size: var(--pf-c-dropdown__toggle--FontSize);
|
|
220
|
+
font-weight: var(--pf-c-dropdown__toggle--FontWeight);
|
|
221
|
+
line-height: var(--pf-c-dropdown__toggle--LineHeight);
|
|
222
|
+
color: var(--pf-c-dropdown__toggle--Color);
|
|
223
|
+
background-color: var(--pf-c-dropdown__toggle--BackgroundColor);
|
|
224
|
+
border: none;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
pf-dropdown-menu,
|
|
228
|
+
::slotted(pf-dropdown-menu) {
|
|
229
|
+
position: absolute !important;
|
|
230
|
+
top: var(
|
|
231
|
+
--pf-c-dropdown__menu--Top,
|
|
232
|
+
calc(100% + var(--pf-global--spacer--xs, 0.25rem))
|
|
233
|
+
) !important;
|
|
234
|
+
left: var(
|
|
235
|
+
--pf-c-dropdown__menu--Left,
|
|
236
|
+
0
|
|
237
|
+
) !important;
|
|
238
|
+
right: var(
|
|
239
|
+
--pf-c-dropdown__menu--Right,
|
|
240
|
+
auto
|
|
241
|
+
) !important;
|
|
242
|
+
z-index: var(
|
|
243
|
+
--pf-c-dropdown__menu--ZIndex,
|
|
244
|
+
var(--pf-global--ZIndex--sm, 200)
|
|
245
|
+
) !important;
|
|
246
|
+
padding-top: var(
|
|
247
|
+
--pf-c-dropdown__menu--PaddingTop,
|
|
248
|
+
var(--pf-global--spacer--sm, 0.5rem)
|
|
249
|
+
) !important;
|
|
250
|
+
padding-bottom: var(
|
|
251
|
+
--pf-c-dropdown__menu--PaddingBottom,
|
|
252
|
+
var(--pf-global--spacer--sm, 0.5rem)
|
|
253
|
+
) !important;
|
|
254
|
+
background: var(--pf-c-dropdown__menu--BackgroundColor, #fff) !important;
|
|
255
|
+
background-clip: padding-box !important;
|
|
256
|
+
box-shadow: var(
|
|
257
|
+
--pf-c-dropdown__menu--BoxShadow,
|
|
258
|
+
var(
|
|
259
|
+
--pf-global--BoxShadow--md,
|
|
260
|
+
0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12),
|
|
261
|
+
0 0 0.25rem 0 rgba(3, 3, 3, 0.06)
|
|
262
|
+
)
|
|
263
|
+
) !important;
|
|
264
|
+
min-width: 100% !important;
|
|
265
|
+
margin: 0 !important;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
pf-button svg {
|
|
269
|
+
width: 1em;
|
|
270
|
+
height: 1em;
|
|
271
|
+
flex: 0 0 auto;
|
|
272
|
+
margin-inline-start: 1em;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
::slotted(hr) {
|
|
276
|
+
margin: 0;
|
|
277
|
+
border-color: var(--pf-c-divider--BackgroundColor, var(--pf-global--BorderColor--100, #d2d2d2));
|
|
278
|
+
border-style: solid;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
::slotted([role="separator"]:not(hr)) {
|
|
282
|
+
width: 100%;
|
|
283
|
+
height: 1px;
|
|
284
|
+
background-color: var(--pf-c-divider--BackgroundColor, var(--pf-global--BorderColor--100, #d2d2d2));
|
|
285
|
+
padding: 0px;
|
|
286
|
+
margin: 0px;
|
|
287
|
+
border: 0;
|
|
288
|
+
display: block;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.disabled {
|
|
292
|
+
& pf-dropdown-menu,
|
|
293
|
+
& ::slotted(pf-dropdown-menu) {
|
|
294
|
+
background-color: var(--pf-theme--color--surface--lighter, #f0f0f0) !important;
|
|
295
|
+
cursor: not-allowed !important;
|
|
296
|
+
}
|
|
297
|
+
& pf-button#default-toggle,
|
|
298
|
+
& ::slotted([slot="toggle"]) {
|
|
299
|
+
--pf-c-button--Color: var(--pf-c-button--disabled--Color);
|
|
300
|
+
--pf-c-button--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
301
|
+
--pf-c-button--after--BorderColor: var(--pf-c-button--disabled--after--BorderColor);
|
|
302
|
+
|
|
303
|
+
--pf-c-button--m-primary--Color: var(--pf-c-button--disabled--Color);
|
|
304
|
+
--pf-c-button--m-primary--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
305
|
+
|
|
306
|
+
--pf-c-button--m-secondary--Color: var(--pf-c-button--disabled--Color);
|
|
307
|
+
--pf-c-button--m-secondary--focus--Color: var(--pf-c-button--disabled--Color);
|
|
308
|
+
--pf-c-button--m-secondary--hover--Color: var(--pf-c-button--disabled--Color);
|
|
309
|
+
--pf-c-button--m-secondary--active--Color: var(--pf-c-button--disabled--Color);
|
|
310
|
+
--pf-c-button--m-secondary--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
311
|
+
--pf-c-button--m-secondary--after--BorderColor: transparent;
|
|
312
|
+
--pf-c-button--m-secondary--hover--after--BorderColor: transparent;
|
|
313
|
+
--pf-c-button--m-secondary--focus--after--BorderColor: transparent;
|
|
314
|
+
--pf-c-button--m-secondary--active--after--BorderColor: transparent;
|
|
315
|
+
--pf-c-button--m-secondary--focus--Color: var(--pf-c-button--disabled--Color);
|
|
316
|
+
--pf-c-button--m-secondary--hover--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
317
|
+
--pf-c-button--m-secondary--active--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
318
|
+
--pf-c-button--m-secondary--focus--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
319
|
+
|
|
320
|
+
--pf-c-button--m-control--Color: var(--pf-c-button--disabled--Color);
|
|
321
|
+
--pf-c-button--m-control--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
322
|
+
--pf-c-button--m-control--focus--Color: var(--pf-c-button--disabled--Color);
|
|
323
|
+
--pf-c-button--m-control--hover--Color: var(--pf-c-button--disabled--Color);
|
|
324
|
+
--pf-c-button--m-control--active--Color: var(--pf-c-button--disabled--Color);
|
|
325
|
+
--pf-c-button--m-control--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
326
|
+
--pf-c-button--m-control--after--BorderColor: transparent;
|
|
327
|
+
--pf-c-button--m-control--hover--after--BorderColor: transparent;
|
|
328
|
+
--pf-c-button--m-control--focus--after--BorderColor: transparent;
|
|
329
|
+
--pf-c-button--m-control--active--after--BorderColor: transparent;
|
|
330
|
+
--pf-c-button--m-control--focus--Color: var(--pf-c-button--disabled--Color);
|
|
331
|
+
--pf-c-button--m-control--hover--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
332
|
+
--pf-c-button--m-control--active--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
333
|
+
--pf-c-button--m-control--focus--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
334
|
+
--pf-c-button--m-control--after--BorderBottomColor: transparent;
|
|
335
|
+
--pf-c-button--m-control--focus--after--BorderBottomColor: transparent;
|
|
336
|
+
--pf-c-button--m-control--hover--after--BorderBottomColor: transparent;
|
|
337
|
+
--pf-c-button--m-control--active--after--BorderBottomColor: transparent;
|
|
338
|
+
|
|
339
|
+
--pf-c-button--m-plain--Color: var(--pf-c-button--disabled--Color);
|
|
340
|
+
--pf-c-button--m-plain--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
341
|
+
--pf-c-button--m-plain--focus--Color: var(--pf-c-button--disabled--Color);
|
|
342
|
+
--pf-c-button--m-plain--hover--Color: var(--pf-c-button--disabled--Color);
|
|
343
|
+
--pf-c-button--m-plain--active--Color: var(--pf-c-button--disabled--Color);
|
|
344
|
+
--pf-c-button--m-plain--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
345
|
+
--pf-c-button--m-plain--after--BorderColor: transparent;
|
|
346
|
+
--pf-c-button--m-plain--hover--after--BorderColor: transparent;
|
|
347
|
+
--pf-c-button--m-plain--focus--after--BorderColor: transparent;
|
|
348
|
+
--pf-c-button--m-plain--active--after--BorderColor: transparent;
|
|
349
|
+
--pf-c-button--m-plain--focus--Color: var(--pf-c-button--disabled--Color);
|
|
350
|
+
--pf-c-button--m-plain--hover--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
351
|
+
--pf-c-button--m-plain--active--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
352
|
+
--pf-c-button--m-plain--focus--BackgroundColor: var(--pf-c-button--disabled--BackgroundColor);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
& pf-button:focus,
|
|
356
|
+
& ::slotted([slot="toggle"]:focus) {
|
|
357
|
+
outline: 3px solid var(--pf-global--link--Color, #0066cc);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
pf-button#default-toggle,
|
|
362
|
+
::slotted(pf-button[variant="control"]) {
|
|
363
|
+
--_button-icon-vertical-align: -0.25em;
|
|
364
|
+
--_button-icon-padding-inline-start: var(--pf-c-dropdown__toggle--PaddingLeft,
|
|
365
|
+
var(--pf-global--spacer--md, 1rem));
|
|
366
|
+
--_button-icon-padding-inline-end: var(-pf-c-dropdown__toggle--PaddingRight,
|
|
367
|
+
var(--pf-global--spacer--sm, 0.5rem));
|
|
368
|
+
}
|
|
369
|
+
`;
|
|
19
370
|
export class PfDropdownSelectEvent extends Event {
|
|
20
371
|
constructor(originalEvent, value) {
|
|
21
372
|
super('select', { bubbles: true, cancelable: true });
|
|
@@ -65,6 +416,7 @@ let PfDropdown = class PfDropdown extends LitElement {
|
|
|
65
416
|
[alignment ?? '']: !!alignment })}"
|
|
66
417
|
style="${styleMap(styles)}"
|
|
67
418
|
@slotchange="${__classPrivateFieldGet(this, _PfDropdown_instances, "m", _PfDropdown_onSlotchange)}">
|
|
419
|
+
<!-- Custom toggle button -->
|
|
68
420
|
<slot name="toggle"
|
|
69
421
|
@keydown="${__classPrivateFieldGet(this, _PfDropdown_instances, "m", _PfDropdown_onButtonKeydown)}"
|
|
70
422
|
@click="${() => this.toggle()}">
|
|
@@ -73,12 +425,15 @@ let PfDropdown = class PfDropdown extends LitElement {
|
|
|
73
425
|
<pf-icon icon="caret-down" size="md"></pf-icon>
|
|
74
426
|
</pf-button>
|
|
75
427
|
</slot>
|
|
428
|
+
<!-- when using a custom toggle, you must slot a \`<pf-dropdown-menu>\` in alongside it -->
|
|
76
429
|
<slot name="menu"
|
|
77
430
|
?hidden="${!this.expanded}"
|
|
78
431
|
@focusout="${__classPrivateFieldGet(this, _PfDropdown_instances, "m", _PfDropdown_onMenuFocusout)}"
|
|
79
432
|
@keydown="${__classPrivateFieldGet(this, _PfDropdown_instances, "m", _PfDropdown_onMenuKeydown)}"
|
|
80
433
|
@click="${__classPrivateFieldGet(this, _PfDropdown_instances, "m", _PfDropdown_onSelect)}">
|
|
434
|
+
<!-- The dropdown menu wrapper -->
|
|
81
435
|
<pf-dropdown-menu id="menu" part="menu" ?disabled="${disabled}">
|
|
436
|
+
<!-- Must contain one or more \`<pf-dropdown-item>\` or \`<pf-dropdown-group>\` -->
|
|
82
437
|
<slot></slot>
|
|
83
438
|
</pf-dropdown-menu>
|
|
84
439
|
</slot>
|
|
@@ -214,7 +569,7 @@ PfDropdown.shadowRootOptions = {
|
|
|
214
569
|
...LitElement.shadowRootOptions,
|
|
215
570
|
delegatesFocus: true,
|
|
216
571
|
};
|
|
217
|
-
PfDropdown.version = "4.
|
|
572
|
+
PfDropdown.version = "4.3.0";
|
|
218
573
|
__decorate([
|
|
219
574
|
property({ type: Boolean, reflect: true })
|
|
220
575
|
], PfDropdown.prototype, "disabled", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-dropdown.js","sourceRoot":"","sources":["pf-dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type PropertyValues, type TemplateResult } from 'lit';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport { provide } from '@lit/context';\n\nimport { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { context, type PfDropdownContext } from './context.js';\nimport { PfDropdownItem } from './pf-dropdown-item.js';\nimport { PfDropdownMenu } from './pf-dropdown-menu.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-dropdown.css';\n\n\nexport class PfDropdownSelectEvent extends Event {\n constructor(\n public originalEvent: Event | KeyboardEvent,\n public value: string\n ) {\n super('select', { bubbles: true, cancelable: true });\n }\n}\n\n/**\n * A **dropdown** presents a menu of actions or links in a constrained space that\n * will trigger a process or navigate to a new location.\n * @slot - Must contain one or more `<pf-dropdown-item>` or `<pf-dropdown-group>`\n * @slot toggle - Custom toggle button\n * @slot menu - when using a custom toggle, you must slot a `<pf-dropdown-menu>` in alongside it\n * @csspart menu - The dropdown menu wrapper\n * @cssprop {<length>} [--pf-c-dropdown__menu--PaddingTop=0.5rem] Dropdown top padding\n * @cssprop {<length>} [--pf-c-tooltip__content--PaddingRight=0.5rem] Dropdown right padding\n * @cssprop {<length>} [--pf-c-dropdown__menu--ZIndex=200] Dropdown z-index\n * @cssprop [--pf-c-dropdown__menu--BoxShadow=0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)] Dropdown box shadow\n * @cssprop {<length>} [--pf-c-dropdown__menu--Top=100% + 0.25rem] Dropdown top\n * @fires {PfDropdownSelectEvent} select - when a user select dropdown value\n * @fires open - when the dropdown toggles open\n * @fires close - when the dropdown toggles closed\n */\n@customElement('pf-dropdown')\nexport class PfDropdown 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 * When disabled, the dropdown can still be toggled open and closed via keyboard, but menu items cannot be activated.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Whether the dropdown is expanded\n */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n @queryAssignedElements({ slot: 'toggle', flatten: true })\n private _toggleElements!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'menu', flatten: true })\n private _menuElements!: HTMLElement[];\n\n @provide({ context }) private ctx: PfDropdownContext = { disabled: false };\n\n #logger = new Logger(this);\n\n #float = new FloatingDOMController(this, {\n content: () => this._menuElements?.at(0),\n });\n\n protected override async getUpdateComplete(): Promise<boolean> {\n const ps = await Promise.all([\n super.getUpdateComplete(),\n this._menuElements?.map(x => (x as LitElement).updateComplete),\n ]);\n return ps.every(x=>!!x);\n }\n\n willUpdate(changed: PropertyValues): void {\n if (changed.has('disabled')) {\n const { disabled } = this;\n this.ctx = { disabled };\n }\n }\n\n render(): TemplateResult<1> {\n const { expanded } = this;\n const { anchor, alignment, styles = {} } = this.#float;\n const { disabled } = this;\n return html`\n <div class=\"${classMap({ disabled,\n expanded,\n [anchor ?? '']: !!anchor,\n [alignment ?? '']: !!alignment })}\"\n style=\"${styleMap(styles)}\"\n @slotchange=\"${this.#onSlotchange}\">\n <slot name=\"toggle\"\n @keydown=\"${this.#onButtonKeydown}\"\n @click=\"${() => this.toggle()}\">\n <pf-button id=\"default-toggle\" variant=\"control\">\n Dropdown\n <pf-icon icon=\"caret-down\" size=\"md\"></pf-icon>\n </pf-button>\n </slot>\n <slot name=\"menu\"\n ?hidden=\"${!this.expanded}\"\n @focusout=\"${this.#onMenuFocusout}\"\n @keydown=\"${this.#onMenuKeydown}\"\n @click=\"${this.#onSelect}\">\n <pf-dropdown-menu id=\"menu\" part=\"menu\" ?disabled=\"${disabled}\">\n <slot></slot>\n </pf-dropdown-menu>\n </slot>\n </div>`;\n }\n\n override firstUpdated(): void {\n this.#onSlotchange();\n }\n\n updated(changed: PropertyValues<this>): void {\n if (changed.has('expanded')) {\n this.#expandedChanged();\n }\n if (changed.has('disabled')) {\n this.#disabledChanged();\n }\n }\n\n #validateDOM() {\n const [toggle] = this._toggleElements;\n const [menu] = this._menuElements;\n if (!toggle) {\n this.#logger.warn('no toggle found');\n return false;\n } else if (!menu) {\n this.#logger.warn('no menu found');\n return false;\n } else if (![toggle, menu].map(x => this.shadowRoot?.contains(x))\n .every((p, _, a) => p === a[0])) {\n this.#logger.warn('toggle and menu must be located in the same root');\n return false;\n } else {\n return true;\n }\n }\n\n #onSlotchange() {\n if (this.#validateDOM()) {\n const [menu] = this._menuElements;\n const [toggle] = this._toggleElements;\n menu.id ||= getRandomId('menu');\n toggle.setAttribute('aria-controls', menu.id);\n toggle.setAttribute('aria-haspopup', menu.id);\n toggle.setAttribute('aria-expanded', String(this.expanded) as 'true' | 'false');\n }\n }\n\n async #expandedChanged() {\n const will = this.expanded ? 'close' : 'open';\n const [menu] = this._menuElements;\n const [toggle] = this._toggleElements;\n toggle.setAttribute('aria-expanded', `${String(this.expanded) as 'true' | 'false'}`);\n this.dispatchEvent(new Event(will));\n if (this.expanded) {\n await this.#float.show();\n if (menu instanceof PfDropdownMenu) {\n menu.activeItem?.focus();\n }\n } else {\n await this.#float.hide();\n }\n }\n\n #disabledChanged() {\n if (this.#validateDOM()) {\n const [toggle] = this._toggleElements;\n toggle.setAttribute('aria-disabled', String(!!this.disabled));\n }\n }\n\n #onSelect(event: KeyboardEvent | Event & { target: PfDropdownItem }) {\n const [menu] = this._menuElements;\n if (menu instanceof PfDropdownMenu) {\n const target = event.target as PfDropdownItem || menu.activeItem;\n this.dispatchEvent(new PfDropdownSelectEvent(event, `${target?.value}`));\n this.hide();\n }\n }\n\n #onButtonKeydown(event: KeyboardEvent) {\n switch (event.key) {\n case 'ArrowDown': {\n this.show();\n }\n }\n }\n\n #onMenuFocusout(event: FocusEvent) {\n if (this.expanded) {\n const root = this.getRootNode();\n const [menu] = this._menuElements;\n if (root instanceof ShadowRoot\n || root instanceof Document\n && event.relatedTarget instanceof PfDropdownItem\n && menu instanceof PfDropdownMenu\n && !menu.items.includes(event.relatedTarget)\n ) {\n this.hide();\n }\n }\n }\n\n #onMenuKeydown(event: KeyboardEvent) {\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n this.#onSelect(event);\n break;\n case 'Escape':\n this.hide();\n this._toggleElements?.at(0)?.focus();\n }\n }\n\n /**\n * Opens the dropdown\n */\n async show(): Promise<void> {\n this.expanded = true;\n await this.updateComplete;\n }\n\n /**\n * Closes the dropdown\n */\n async hide(): Promise<void> {\n this.expanded = false;\n await this.updateComplete;\n }\n\n async toggle(): Promise<void> {\n this.expanded = !this.expanded;\n await this.updateComplete;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-dropdown': PfDropdown;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pf-dropdown.js","sourceRoot":"","sources":["pf-dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, type PropertyValues, type TemplateResult } from 'lit';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport { provide } from '@lit/context';\n\nimport { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { context, type PfDropdownContext } from './context.js';\nimport { PfDropdownItem } from './pf-dropdown-item.js';\nimport { PfDropdownMenu } from './pf-dropdown-menu.js';\n\nimport '@patternfly/elements/pf-button/pf-button.js';\n\nimport styles from './pf-dropdown.css';\n\n\nexport class PfDropdownSelectEvent extends Event {\n constructor(\n public originalEvent: Event | KeyboardEvent,\n public value: string\n ) {\n super('select', { bubbles: true, cancelable: true });\n }\n}\n\n/**\n * A **dropdown** presents a menu of actions or links in a constrained space that\n * will trigger a process or navigate to a new location.\n * @alias Dropdown\n * @fires {PfDropdownSelectEvent} select - when a user select dropdown value\n * @fires open - when the dropdown toggles open\n * @fires close - when the dropdown toggles closed\n */\n@customElement('pf-dropdown')\nexport class PfDropdown 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 * When disabled, the dropdown can still be toggled open and closed via keyboard, but menu items cannot be activated.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Whether the dropdown is expanded\n */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n @queryAssignedElements({ slot: 'toggle', flatten: true })\n private _toggleElements!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'menu', flatten: true })\n private _menuElements!: HTMLElement[];\n\n @provide({ context }) private ctx: PfDropdownContext = { disabled: false };\n\n #logger = new Logger(this);\n\n #float = new FloatingDOMController(this, {\n content: () => this._menuElements?.at(0),\n });\n\n protected override async getUpdateComplete(): Promise<boolean> {\n const ps = await Promise.all([\n super.getUpdateComplete(),\n this._menuElements?.map(x => (x as LitElement).updateComplete),\n ]);\n return ps.every(x=>!!x);\n }\n\n willUpdate(changed: PropertyValues): void {\n if (changed.has('disabled')) {\n const { disabled } = this;\n this.ctx = { disabled };\n }\n }\n\n render(): TemplateResult<1> {\n const { expanded } = this;\n const { anchor, alignment, styles = {} } = this.#float;\n const { disabled } = this;\n return html`\n <div class=\"${classMap({ disabled,\n expanded,\n [anchor ?? '']: !!anchor,\n [alignment ?? '']: !!alignment })}\"\n style=\"${styleMap(styles)}\"\n @slotchange=\"${this.#onSlotchange}\">\n <!-- Custom toggle button -->\n <slot name=\"toggle\"\n @keydown=\"${this.#onButtonKeydown}\"\n @click=\"${() => this.toggle()}\">\n <pf-button id=\"default-toggle\" variant=\"control\">\n Dropdown\n <pf-icon icon=\"caret-down\" size=\"md\"></pf-icon>\n </pf-button>\n </slot>\n <!-- when using a custom toggle, you must slot a \\`<pf-dropdown-menu>\\` in alongside it -->\n <slot name=\"menu\"\n ?hidden=\"${!this.expanded}\"\n @focusout=\"${this.#onMenuFocusout}\"\n @keydown=\"${this.#onMenuKeydown}\"\n @click=\"${this.#onSelect}\">\n <!-- The dropdown menu wrapper -->\n <pf-dropdown-menu id=\"menu\" part=\"menu\" ?disabled=\"${disabled}\">\n <!-- Must contain one or more \\`<pf-dropdown-item>\\` or \\`<pf-dropdown-group>\\` -->\n <slot></slot>\n </pf-dropdown-menu>\n </slot>\n </div>`;\n }\n\n override firstUpdated(): void {\n this.#onSlotchange();\n }\n\n updated(changed: PropertyValues<this>): void {\n if (changed.has('expanded')) {\n this.#expandedChanged();\n }\n if (changed.has('disabled')) {\n this.#disabledChanged();\n }\n }\n\n #validateDOM() {\n const [toggle] = this._toggleElements;\n const [menu] = this._menuElements;\n if (!toggle) {\n this.#logger.warn('no toggle found');\n return false;\n } else if (!menu) {\n this.#logger.warn('no menu found');\n return false;\n } else if (![toggle, menu].map(x => this.shadowRoot?.contains(x))\n .every((p, _, a) => p === a[0])) {\n this.#logger.warn('toggle and menu must be located in the same root');\n return false;\n } else {\n return true;\n }\n }\n\n #onSlotchange() {\n if (this.#validateDOM()) {\n const [menu] = this._menuElements;\n const [toggle] = this._toggleElements;\n menu.id ||= getRandomId('menu');\n toggle.setAttribute('aria-controls', menu.id);\n toggle.setAttribute('aria-haspopup', menu.id);\n toggle.setAttribute('aria-expanded', String(this.expanded) as 'true' | 'false');\n }\n }\n\n async #expandedChanged() {\n const will = this.expanded ? 'close' : 'open';\n const [menu] = this._menuElements;\n const [toggle] = this._toggleElements;\n toggle.setAttribute('aria-expanded', `${String(this.expanded) as 'true' | 'false'}`);\n this.dispatchEvent(new Event(will));\n if (this.expanded) {\n await this.#float.show();\n if (menu instanceof PfDropdownMenu) {\n menu.activeItem?.focus();\n }\n } else {\n await this.#float.hide();\n }\n }\n\n #disabledChanged() {\n if (this.#validateDOM()) {\n const [toggle] = this._toggleElements;\n toggle.setAttribute('aria-disabled', String(!!this.disabled));\n }\n }\n\n #onSelect(event: KeyboardEvent | Event & { target: PfDropdownItem }) {\n const [menu] = this._menuElements;\n if (menu instanceof PfDropdownMenu) {\n const target = event.target as PfDropdownItem || menu.activeItem;\n this.dispatchEvent(new PfDropdownSelectEvent(event, `${target?.value}`));\n this.hide();\n }\n }\n\n #onButtonKeydown(event: KeyboardEvent) {\n switch (event.key) {\n case 'ArrowDown': {\n this.show();\n }\n }\n }\n\n #onMenuFocusout(event: FocusEvent) {\n if (this.expanded) {\n const root = this.getRootNode();\n const [menu] = this._menuElements;\n if (root instanceof ShadowRoot\n || root instanceof Document\n && event.relatedTarget instanceof PfDropdownItem\n && menu instanceof PfDropdownMenu\n && !menu.items.includes(event.relatedTarget)\n ) {\n this.hide();\n }\n }\n }\n\n #onMenuKeydown(event: KeyboardEvent) {\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n this.#onSelect(event);\n break;\n case 'Escape':\n this.hide();\n this._toggleElements?.at(0)?.focus();\n }\n }\n\n /**\n * Opens the dropdown\n */\n async show(): Promise<void> {\n this.expanded = true;\n await this.updateComplete;\n }\n\n /**\n * Closes the dropdown\n */\n async hide(): Promise<void> {\n this.expanded = false;\n await this.updateComplete;\n }\n\n async toggle(): Promise<void> {\n this.expanded = !this.expanded;\n await this.updateComplete;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-dropdown': PfDropdown;\n }\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
gap: var(--pf-c-helper-text--Gap, 0.25rem);
|
|
5
|
+
font-size: var(--pf-c-helper-text--FontSize, 0.875rem);
|
|
6
|
+
color: var(--pf-c-helper-text__item-text--Color, #151515);
|
|
7
|
+
line-height: 1.4;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Color variants */
|
|
11
|
+
:host([variant='indeterminate']) {
|
|
12
|
+
color: var(--pf-c-helper-text__item-text--m-indeterminate--Color, #6a6e73);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:host([variant='warning']) {
|
|
16
|
+
color: var(--pf-c-helper-text__item-text--m-warning--Color, #795600);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
:host([variant='success']) {
|
|
20
|
+
color: var(--pf-c-helper-text__item-text--m-success--Color, #1e4f18);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:host([variant='error']) {
|
|
24
|
+
color: var(--pf-c-helper-text__item-text--m-error--Color, #a30000);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
::slotted(ul) {
|
|
28
|
+
margin: 0;
|
|
29
|
+
padding: 0;
|
|
30
|
+
list-style-type: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
pf-icon {
|
|
34
|
+
fill: currentColor;
|
|
35
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { LitElement, type TemplateResult } from 'lit';
|
|
2
|
+
import '@patternfly/elements/pf-icon/pf-icon.js';
|
|
3
|
+
/**
|
|
4
|
+
* Displays contextual feedback for form fields with optional icon and status color.
|
|
5
|
+
*
|
|
6
|
+
* @slot icon - Optional custom icon to override the default icon.
|
|
7
|
+
* @slot - Default slot for the helper text content.
|
|
8
|
+
*
|
|
9
|
+
* @fires icon-load - Fired when the icon successfully loads.
|
|
10
|
+
* @fires icon-error - Fired if loading the icon fails.
|
|
11
|
+
*
|
|
12
|
+
* @csspart icon - The container for the icon.
|
|
13
|
+
* @csspart text - The container for the text.
|
|
14
|
+
*/
|
|
15
|
+
export declare class PfHelperText extends LitElement {
|
|
16
|
+
#private;
|
|
17
|
+
static readonly styles: CSSStyleSheet[];
|
|
18
|
+
/**
|
|
19
|
+
* Defines the helper text status and its corresponding color and icon.
|
|
20
|
+
*/
|
|
21
|
+
variant: 'default' | 'success' | 'warning' | 'error' | 'indeterminate';
|
|
22
|
+
/**
|
|
23
|
+
* Custom icon name to override the default icon.
|
|
24
|
+
* Requires `<pf-icon>` to be imported.
|
|
25
|
+
*/
|
|
26
|
+
icon?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Icon set for custom icons (e.g., 'fas', 'patternfly').
|
|
29
|
+
*/
|
|
30
|
+
iconSet?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Determine the effective icon to display.
|
|
33
|
+
*/
|
|
34
|
+
private get _resolvedIcon();
|
|
35
|
+
protected render(): TemplateResult<1>;
|
|
36
|
+
}
|
|
37
|
+
declare global {
|
|
38
|
+
interface HTMLElementTagNameMap {
|
|
39
|
+
'pf-helper-text': PfHelperText;
|
|
40
|
+
}
|
|
41
|
+
}
|