@patternfly/elements 4.1.0 → 4.2.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 +13726 -12682
- package/package.json +17 -14
- 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-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-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 +5 -0
- package/pf-dropdown/pf-dropdown.d.ts +1 -9
- package/pf-dropdown/pf-dropdown.js +350 -2
- package/pf-dropdown/pf-dropdown.js.map +1 -1
- 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 +1 -24
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-select.js","sourceRoot":"","sources":["pf-select.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PfChipGroup } from '../pf-chip/pf-chip-group.js';\nimport type { Placement } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport type { TemplateResult } from 'lit';\n\nimport { LitElement, html, isServer } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { ComboboxController } from '@patternfly/pfe-core/controllers/combobox-controller.js';\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\nimport { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\n\nimport { arraysAreEquivalent } from '@patternfly/pfe-core/functions/arraysAreEquivalent.js';\nimport { observes } from '@patternfly/pfe-core/decorators/observes.js';\n\nimport { PfOption } from './pf-option.js';\nimport { type PfChip, PfChipRemoveEvent } from '../pf-chip/pf-chip.js';\n\nimport styles from './pf-select.css';\n\nexport class PfSelectChangeEvent extends Event {\n constructor() {\n super('change', { bubbles: true });\n }\n}\n\n/**\n * A select list enables users to select one or more items from a list.\n *\n * A select component consists of a toggle control to open and close a menu of actions or links.\n * Selects differ from dropdowns in that they persist selection,\n * whereas dropdowns are typically used to present a list of actions or links.\n * @slot - insert `pf-option` and/or `pf-option-groups` here\n * @slot placeholder - placeholder text for the select. Overrides the `placeholder` attribute.\n * @fires open - when the menu toggles open\n * @fires close - when the menu toggles closed\n * @cssprop [--pf-c-select__toggle--PaddingTop=var(--pf-global--spacer--form-element, 0.375rem)]\n * @cssprop [--pf-c-select__toggle--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle--PaddingBottom=var(--pf-global--spacer--form-element, 0.375rem)]\n * @cssprop [--pf-c-select__toggle--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle--MinWidth=var(--pf-global--target-size--MinWidth, 44px)]\n * @cssprop [--pf-c-select__toggle--FontSize=var(--pf-global--FontSize--md, 1rem)]\n * @cssprop [--pf-c-select__toggle--FontWeight=var(--pf-global--FontWeight--normal, 400)]\n * @cssprop [--pf-c-select__toggle--LineHeight=var(--pf-global--LineHeight--md, 1.5)]\n * @cssprop [--pf-c-select__toggle--BackgroundColor=var(--pf-global--BackgroundColor--100, #fff)]\n * @cssprop [--pf-c-select__toggle--before--BorderTopWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-select__toggle--before--BorderRightWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-select__toggle--before--BorderBottomWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-select__toggle--before--BorderLeftWidth=var(--pf-global--BorderWidth--sm, 1px)]\n * @cssprop [--pf-c-select__toggle--before--BorderWidth=initial]\n * @cssprop [--pf-c-select__toggle--before--BorderTopColor=var(--pf-global--BorderColor--300, #f0f0f0)]\n * @cssprop [--pf-c-select__toggle--before--BorderRightColor=var(--pf-global--BorderColor--300, #f0f0f0)]\n * @cssprop [--pf-c-select__toggle--before--BorderBottomColor=var(--pf-global--BorderColor--200, #8a8d90)]\n * @cssprop [--pf-c-select__toggle--before--BorderLeftColor=var(--pf-global--BorderColor--300, #f0f0f0)]\n * @cssprop [--pf-c-select__toggle--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__toggle--hover--before--BorderBottomColor=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__toggle--focus--before--BorderBottomColor=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__toggle--focus--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select__toggle--active--before--BorderBottomColor=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__toggle--active--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select__toggle--m-expanded--before--BorderBottomColor=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__toggle--m-expanded--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select__toggle--disabled--BackgroundColor=var(--pf-global--disabled-color--300, #f0f0f0)]\n * @cssprop [--pf-c-select__toggle--m-plain--before--BorderColor=transparent]\n * @cssprop [--pf-c-select__toggle--m-placeholder--Color=transparent]\n * @cssprop [--pf-c-select--m-invalid__toggle--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select--m-invalid__toggle--hover--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle--focus--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle--active--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle--m-expanded--before--BorderBottomColor=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-invalid__toggle-status-icon--Color=var(--pf-global--danger-color--100, #c9190b)]\n * @cssprop [--pf-c-select--m-success__toggle--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select--m-success__toggle--hover--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle--focus--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle--active--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle--m-expanded--before--BorderBottomColor=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-success__toggle-status-icon--Color=var(--pf-global--success-color--100, #3e8635)]\n * @cssprop [--pf-c-select--m-warning__toggle--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle--before--BorderBottomWidth=var(--pf-global--BorderWidth--md, 2px)]\n * @cssprop [--pf-c-select--m-warning__toggle--hover--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle--focus--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle--active--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle--m-expanded--before--BorderBottomColor=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select--m-warning__toggle-status-icon--Color=var(--pf-global--warning-color--100, #f0ab00)]\n * @cssprop [--pf-c-select__toggle-wrapper--not-last-child--MarginRight=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-select__toggle-wrapper--MaxWidth=calc(100% - var(--pf-global--spacer--lg, 1.5rem))]\n * @cssprop [--pf-c-select__toggle-wrapper--c-chip-group--MarginTop=0.3125rem]\n * @cssprop [--pf-c-select__toggle-wrapper--c-chip-group--MarginBottom=0.3125rem]\n * @cssprop [--pf-c-select__toggle-typeahead--FlexBasis=10em]\n * @cssprop [--pf-c-select__toggle-typeahead--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__toggle-typeahead--BorderTop=var(--pf-global--BorderWidth--sm, 1px) solid transparent]\n * @cssprop [--pf-c-select__toggle-typeahead--BorderRight=none]\n * @cssprop [--pf-c-select__toggle-typeahead--BorderLeft=none]\n * @cssprop [--pf-c-select__toggle-typeahead--MinWidth=7.5rem]\n * @cssprop [--pf-c-select__toggle-typeahead--focus--PaddingBottom=calc(var(--pf-global--spacer--form-element, 0.375rem) - var(--pf-global--BorderWidth--md))]\n * @cssprop [--pf-c-select__toggle--m-placeholder__toggle-text--Color=var(--pf-global--Color--dark-200, #6a6e73)]\n * @cssprop [--pf-c-select__toggle-icon--toggle-text--MarginLeft=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-select__toggle-badge--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-status-icon--MarginLeft=var(--pf-global--spacer--xs, 0.25rem)]\n * @cssprop [--pf-c-select__toggle-status-icon--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__toggle-arrow--MarginLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__toggle-arrow--MarginRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-arrow--with-clear--MarginLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-arrow--m-top--m-expanded__toggle-arrow--Rotate=180deg]\n * @cssprop [--pf-c-select--m-plain__toggle-arrow--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select--m-plain--hover__toggle-arrow--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__toggle-clear--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-clear--PaddingLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__toggle-clear--toggle-button--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__toggle-button--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu--BackgroundColor=var(--pf-global--BackgroundColor--light-100, #fff)]\n * @cssprop [--pf-c-select__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 * @cssprop [--pf-c-select__menu--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu--PaddingBottom=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu--Top=calc(100% + var(--pf-global--spacer--xs, 0.25rem))]\n * @cssprop [--pf-c-select__menu--ZIndex=var(--pf-global--ZIndex--sm, 200)]\n * @cssprop [--pf-c-select__menu--Width=auto]\n * @cssprop [--pf-c-select__menu--MinWidth=100%]\n * @cssprop [--pf-c-select__menu--m-top--TranslateY=calc(-100% - var(--pf-global--spacer--xs, 0.25rem))]\n * @cssprop [--pf-c-select__list-item--m-loading--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-item--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-item--PaddingRight=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item--m-selected--PaddingRight=var(--pf-global--spacer--2xl, 3rem)]\n * @cssprop [--pf-c-select__menu-item--PaddingBottom=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-item--PaddingLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item--FontSize=var(--pf-global--FontSize--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item--FontWeight=var(--pf-global--FontWeight--normal, 400)]\n * @cssprop [--pf-c-select__menu-item--LineHeight=var(--pf-global--LineHeight--md, 1.5)]\n * @cssprop [--pf-c-select__menu-item--Color=var(--pf-global--Color--dark-100, #151515)]\n * @cssprop [--pf-c-select__menu-item--disabled--Color=var(--pf-global--Color--dark-200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--Width=100%]\n * @cssprop [--pf-c-select__menu-item--hover--BackgroundColor=var(--pf-global--BackgroundColor--light-300, #f0f0f0)]\n * @cssprop [--pf-c-select__menu-item--focus--BackgroundColor=var(--pf-global--BackgroundColor--light-300, #f0f0f0)]\n * @cssprop [--pf-c-select__menu-item--disabled--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--m-link--Width=auto]\n * @cssprop [--pf-c-select__menu-item--m-link--hover--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--m-link--focus--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--m-action--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--m-action--hover--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu-item--m-action--focus--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu-item--m-action--disabled--Color=var(--pf-global--disabled-color--200, #d2d2d2)]\n * @cssprop [--pf-c-select__menu-item--m-action--Width=auto]\n * @cssprop [--pf-c-select__menu-item--m-action--FontSize=var(--pf-global--icon--FontSize--sm, 0.625rem)]\n * @cssprop [--pf-c-select__menu-item--m-action--hover--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--m-action--focus--BackgroundColor=transparent]\n * @cssprop [--pf-c-select__menu-item--hover__menu-item--m-action--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--m-favorite-action--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--m-favorite-action--hover--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu-item--m-favorite-action--focus--Color=var(--pf-global--Color--100, #151515)]\n * @cssprop [--pf-c-select__menu-wrapper--m-favorite__menu-item--m-favorite-action--Color=var(--pf-global--palette--gold-400, #f0ab00)]\n * @cssprop [--pf-c-select__menu-wrapper--m-favorite__menu-item--m-favorite-action--hover--Color=var(--pf-global--palette--gold-500, #c58c00)]\n * @cssprop [--pf-c-select__menu-wrapper--m-favorite__menu-item--m-favorite-action--focus--Color=var(--pf-global--palette--gold-500, #c58c00)]\n * @cssprop [--pf-c-select__menu-item--m-load--Color=var(--pf-global--link--Color, #06c)]\n * @cssprop [--pf-c-select__menu-item-icon--Color=var(--pf-global--active-color--100, #06c)]\n * @cssprop [--pf-c-select__menu-item-icon--FontSize=var(--pf-global--icon--FontSize--sm, 0.625rem)]\n * @cssprop [--pf-c-select__menu-item-icon--Right=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item-icon--Top=50%]\n * @cssprop [--pf-c-select__menu-item-icon--TranslateY=-50%]\n * @cssprop [--pf-c-select__menu-item-action-icon--MinHeight=calc(var(--pf-c-select__menu-item--FontSize) * var(--pf-c-select__menu-item--LineHeight))]\n * @cssprop [--pf-c-select__menu-item--match--FontWeight=var(--pf-global--FontWeight--bold, 700)]\n * @cssprop [--pf-c-select__menu-search--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-search--PaddingRight=var(--pf-c-select__menu-item--PaddingRight)]\n * @cssprop [--pf-c-select__menu-search--PaddingBottom=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-search--PaddingLeft=var(--pf-c-select__menu-item--PaddingLeft)]\n * @cssprop [--pf-c-select__menu-group--menu-group--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-group-title--PaddingTop=var(--pf-c-select__menu-item--PaddingTop)]\n * @cssprop [--pf-c-select__menu-group-title--PaddingRight=var(--pf-c-select__menu-item--PaddingRight)]\n * @cssprop [--pf-c-select__menu-group-title--PaddingBottom=var(--pf-c-select__menu-item--PaddingBottom)]\n * @cssprop [--pf-c-select__menu-group-title--PaddingLeft=var(--pf-c-select__menu-item--PaddingLeft)]\n * @cssprop [--pf-c-select__menu-group-title--FontSize=var(--pf-global--FontSize--xs, 0.75rem)]\n * @cssprop [--pf-c-select__menu-group-title--FontWeight=var(--pf-global--FontWeight--normal, 400)]\n * @cssprop [--pf-c-select__menu-group-title--Color=var(--pf-global--Color--dark-200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item-count--MarginLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-item-count--FontSize=var(--pf-global--FontSize--sm, 0.875rem)]\n * @cssprop [--pf-c-select__menu-item-count--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item--disabled__menu-item-count--Color=var(--pf-global--Color--dark-200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item-description--FontSize=var(--pf-global--FontSize--xs, 0.75rem)]\n * @cssprop [--pf-c-select__menu-item-description--Color=var(--pf-global--Color--200, #6a6e73)]\n * @cssprop [--pf-c-select__menu-item-description--PaddingRight=var(--pf-c-select__menu-item--PaddingRight)]\n * @cssprop [--pf-c-select__menu-item-main--PaddingRight=var(--pf-c-select__menu-item--PaddingRight)]\n * @cssprop [--pf-c-select__menu-item--m-selected__menu-item-main--PaddingRight=var(--pf-c-select__menu-item--m-selected--PaddingRight)]\n * @cssprop [--pf-c-select__menu-footer--BoxShadow=var(--pf-global--BoxShadow--sm-top, 0 -0.125rem 0.25rem -0.0625rem rgba(3, 3, 3, 0.16))]\n * @cssprop [--pf-c-select__menu-footer--PaddingTop=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-footer--PaddingRight=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-footer--PaddingBottom=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-footer--PaddingLeft=var(--pf-global--spacer--md, 1rem)]\n * @cssprop [--pf-c-select__menu-footer--MarginTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select__menu-footer--MarginBottom=calc(var(--pf-global--spacer--sm, 0.5rem) * -1)]\n * @cssprop [--pf-c-select-menu--c-divider--MarginTop=var(--pf-global--spacer--sm, 0.5rem)]\n * @cssprop [--pf-c-select-menu--c-divider--MarginBottom=var(--pf-global--spacer--sm, 0.5rem)]\n */\n@customElement('pf-select')\nexport class PfSelect extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static readonly formAssociated = true;\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Variant of rendered Select */\n @property() variant: 'single' | 'checkbox' | 'typeahead' | 'typeaheadmulti' = 'single';\n\n /** Accessible label for the select */\n @property({ attribute: 'accessible-label' }) accessibleLabel?: string;\n\n /** Accessible label for chip group used to describe chips */\n @property({\n attribute: 'accessible-current-selections-label',\n }) accessibleCurrentSelectionsLabel = 'Current selections';\n\n /** Multi listbox button text */\n @property({ attribute: 'items-selected-text' }) itemsSelectedText = 'items selected';\n\n /** Whether the select is disabled */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Whether the select listbox is expanded */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /**\n * Enable to flip listbox when it reaches boundary\n */\n @property({ attribute: 'enable-flip', type: Boolean }) enableFlip = false;\n\n /** Current form value */\n @property() value?: string;\n\n /** Placeholder entry. Overridden by the `placeholder` slot */\n @property() placeholder?: string;\n\n /**\n * Indicates initial popover position.\n * There are 6 options: `bottom`, `top`, `top-start`, `top-end`, `bottom-start`, `bottom-end`.\n * Default is `bottom`.\n */\n @property({ reflect: true }) position: Placement = 'bottom';\n\n /** Flag indicating if selection badge should be hidden for checkbox variant,default false */\n @property({\n attribute: 'checkbox-selection-badge-hidden',\n type: Boolean,\n }) checkboxSelectionBadgeHidden = false;\n\n @query('pf-chip-group') private _chipGroup?: PfChipGroup;\n\n @query('#toggle-input') private _toggleInput?: HTMLInputElement;\n\n @query('#toggle-button') private _toggleButton?: HTMLButtonElement;\n\n @query('#listbox') private _listbox?: HTMLElement;\n\n @query('#listbox-container') private _listboxContainer?: HTMLElement;\n\n @query('#placeholder') private _placeholder?: PfOption;\n\n #isNotPlaceholderOption = (option: PfOption) => option !== this._placeholder;\n\n #internals = InternalsController.of(this);\n\n #float = new FloatingDOMController(this, { content: () => this._listboxContainer });\n\n #slots = new SlotController(this, null, 'placeholder');\n\n #combobox = ComboboxController.of(this, {\n multi: this.variant === 'typeaheadmulti' || this.variant === 'checkbox',\n getItems: () => this.options,\n getFallbackLabel: () => this.accessibleLabel\n || this.#internals.computedLabelText\n || this.placeholder\n || this.#slots.getSlotted('placeholder').map(x => x.textContent).join(''),\n getListboxElement: () => this._listbox ?? null,\n getToggleButton: () => this._toggleButton ?? null,\n getComboboxInput: () => this._toggleInput ?? null,\n isExpanded: () => this.expanded,\n requestShowListbox: () => void (this.expanded ||= true),\n requestHideListbox: () => void (this.expanded &&= false),\n setItemHidden: (item, hidden) => (item.id !== 'placeholder') && void (item.hidden = hidden),\n isItem: item => item instanceof PfOption,\n setItemActive: (item, active) => item.active = active,\n setItemSelected: (item, selected) => item.selected = selected,\n });\n\n /**\n * Single select option value for single select menus,\n * or array of select option values for multi select.\n */\n @property({ hasChanged: (a, b) => !arraysAreEquivalent(a, b) })\n set selected(selected: PfOption | PfOption[]) {\n const list = Array.isArray(selected) ? selected : [selected];\n this.#combobox.selected = list;\n }\n\n get selected(): PfOption[] {\n return this.#combobox.selected;\n }\n\n /** List of options */\n get options(): PfOption[] {\n if (isServer) {\n return []; // TODO: expose a DOM property to allow setting options in SSR scenarios\n } else {\n return [\n this._placeholder,\n ...Array.from(this.querySelectorAll('pf-option')),\n ].filter((x): x is PfOption => !!x && !x.hidden);\n }\n }\n\n /** Whether select has badge for number of selected items */\n get #hasBadge() {\n // NOTE: revisit this in v5\n return this.variant === 'checkbox' && !this.checkboxSelectionBadgeHidden;\n }\n\n get #buttonLabel(): string {\n const { selected } = this.#combobox;\n switch (this.variant) {\n case 'typeaheadmulti':\n return `${selected?.length ?? 0} ${this.itemsSelectedText}`;\n case 'checkbox':\n return this.#computePlaceholderText()\n || 'Options';\n default:\n return (selected ? this.value : '')\n || this.#computePlaceholderText()\n || 'Select a value';\n }\n }\n\n override render(): TemplateResult<1> {\n const { disabled, expanded, variant, placeholder } = this;\n const { anchor = 'bottom', alignment = 'start', styles = {} } = this.#float;\n const { height, width } = this.getBoundingClientRect?.() || {};\n const hasBadge = this.#hasBadge;\n const selectedOptions = this.#combobox.selected ?? [];\n const typeahead = variant.startsWith('typeahead');\n const checkboxes = variant === 'checkbox';\n const badge = hasBadge && 'badge';\n const hasSelection = !!(Array.isArray(this.selected) ? this.selected.length : this.selected);\n const hideLightDomItems = typeahead && !ComboboxController.supportsCrossRootActiveDescendant;\n const placeholderIsInert = !placeholder && this.#slots.isEmpty('placeholder');\n\n return html`\n <div id=\"outer\"\n style=\"${styleMap(styles)}\"\n class=\"${classMap({ disabled, typeahead, expanded, [anchor]: !!anchor, [alignment]: !!alignment })}\">\n <div id=\"toggle\">\n ${!(typeahead && selectedOptions.length < 1) ? '' : html`\n <pf-chip-group label=\"${this.accessibleCurrentSelectionsLabel}\">\n ${repeat(selectedOptions, opt => opt.id, opt => html`\n <pf-chip id=\"chip-${opt.textContent}\"\n .readonly=\"${this.disabled}\"\n @remove=\"${this.#onChipRemove.bind(this, opt)}\">${opt.textContent}</pf-chip>`)}\n </pf-chip-group>`}\n ${!typeahead ? '' : html`\n <input id=\"toggle-input\"\n ?hidden=\"${!typeahead}\"\n ?disabled=\"${disabled}\"\n placeholder=\"${placeholder || this.#buttonLabel}\">`}\n <button id=\"toggle-button\">\n <span id=\"button-text\" style=\"display: contents;\">\n <span id=\"toggle-text\"\n class=\"${classMap({ 'visually-hidden': !!typeahead, badge })}\">${this.#buttonLabel}</span>${!hasBadge ? '' : html`\n <span id=\"toggle-badge\">\n <pf-badge number=\"${selectedOptions.length}\">${selectedOptions.length}</pf-badge>\n </span>`}\n </span>\n <svg viewBox=\"0 0 320 512\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"></path>\n </svg>\n </button>\n </div>\n <div id=\"listbox-container\"\n ?hidden=\"${!expanded}\"\n style=\"${styleMap({\n marginTop: `${height || 0}px`,\n width: width ? `${width}px` : 'auto',\n })}\">\n <div id=\"listbox\" class=\"${classMap({ checkboxes })}\">\n <pf-option id=\"placeholder\"\n disabled\n ?inert=\"${placeholderIsInert}\"\n aria-hidden=\"${ifDefined(placeholderIsInert ? undefined : String(!!hasSelection))}\"\n ?hidden=\"${!placeholder && this.#slots.isEmpty('placeholder')}\"\n ><slot name=\"placeholder\">${placeholder ?? ''}</slot></pf-option>\n ${this.#combobox.renderItemsToShadowRoot()}\n <slot ?hidden=\"${hideLightDomItems}\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n @observes('disabled')\n private disabledChanged() {\n this.#combobox.disabled = this.disabled;\n }\n\n @observes('expanded')\n private async expandedChanged(old: boolean, expanded: boolean) {\n if (this.dispatchEvent(new Event(this.expanded ? 'close' : 'open'))) {\n if (expanded) {\n this.#doExpand();\n } else {\n this.#doCollapse();\n }\n }\n }\n\n @observes('selected')\n private async selectedChanged(_: PfOption[], selected: PfOption[]) {\n this.value = selected.map(x => x.value).join();\n await this.updateComplete;\n switch (this.variant) {\n case 'single':\n this.hide();\n this._toggleButton?.focus();\n break;\n case 'typeahead':\n this._toggleInput!.value = this.value;\n }\n }\n\n @observes('variant')\n private async variantChanged() {\n this.#combobox.hostDisconnected();\n this.#combobox.multi = this.variant === 'typeaheadmulti' || this.variant === 'checkbox';\n this.#combobox.hostConnected();\n if (this.variant === 'checkbox') {\n import('@patternfly/elements/pf-badge/pf-badge.js');\n }\n }\n\n @observes('value')\n private valueChanged() {\n this.#internals.setFormValue(this.value ?? '');\n this.dispatchEvent(new PfSelectChangeEvent());\n }\n\n @observes('variant')\n @observes('value')\n private focusChips(): void {\n // whether select has removable chips for selected items\n // NOTE: revisit this in v5\n // reset input if chip has been added\n const hasChips = this.variant === 'typeaheadmulti';\n if (hasChips && this._toggleInput?.value) {\n const chip =\n this.shadowRoot?.querySelector(`pf-chip#chip-${this._toggleInput?.value}`) as PfChip;\n if (chip && this._chipGroup) {\n this._chipGroup.focusOnChip(chip);\n this._toggleInput.value = '';\n }\n }\n }\n\n async #doExpand() {\n try {\n await this.#float.show({ placement: this.position || 'bottom', flip: !!this.enableFlip });\n return true;\n } catch {\n return false;\n }\n }\n\n async #doCollapse() {\n try {\n await this.#float.hide();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * handles chip's remove button clicking\n * @param event remove event\n * @param opt pf-option\n */\n #onChipRemove(opt: PfOption, event: Event) {\n if (event instanceof PfChipRemoveEvent) {\n opt.selected = false;\n this._toggleInput?.focus();\n }\n }\n\n #computePlaceholderText() {\n return this.placeholder\n || this.querySelector?.<HTMLSlotElement>('[slot=placeholder]')\n ?.assignedNodes()\n ?.reduce((acc, node) => `${acc}${node.textContent}`, '')\n ?.trim()\n || this.#combobox.items\n .filter(this.#isNotPlaceholderOption)\n .at(0)\n ?.value\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 listbox\n */\n async hide(): Promise<void> {\n this.expanded = false;\n await this.updateComplete;\n }\n\n /**\n * toggles popup based on current state\n */\n async toggle(): Promise<void> {\n if (this.expanded) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-select': PfSelect;\n }\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"pf-select.js","sourceRoot":"","sources":["pf-select.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PfChipGroup } from '../pf-chip/pf-chip-group.js';\nimport type { Placement } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\nimport type { TemplateResult } from 'lit';\n\nimport { LitElement, html, isServer, nothing } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { ComboboxController } from '@patternfly/pfe-core/controllers/combobox-controller.js';\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\nimport { FloatingDOMController } from '@patternfly/pfe-core/controllers/floating-dom-controller.js';\n\nimport { arraysAreEquivalent } from '@patternfly/pfe-core/functions/arraysAreEquivalent.js';\nimport { observes } from '@patternfly/pfe-core/decorators/observes.js';\n\nimport { PfOption } from './pf-option.js';\nimport { type PfChip, PfChipRemoveEvent } from '../pf-chip/pf-chip.js';\n\nimport styles from './pf-select.css';\n\nexport class PfSelectChangeEvent extends Event {\n constructor() {\n super('change', { bubbles: true });\n }\n}\n\n/**\n * A select list enables users to select one or more items from a list.\n *\n * A select component consists of a toggle control to open and close a menu of actions or links.\n * Selects differ from dropdowns in that they persist selection,\n * whereas dropdowns are typically used to present a list of actions or links.\n * @alias Select\n * @fires open - when the menu toggles open\n * @fires close - when the menu toggles closed\n */\n@customElement('pf-select')\nexport class PfSelect extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n static readonly formAssociated = true;\n\n static override readonly shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Variant of rendered Select */\n @property() variant: 'single' | 'checkbox' | 'typeahead' | 'typeaheadmulti' = 'single';\n\n /** Accessible label for the select */\n @property({ attribute: 'accessible-label' }) accessibleLabel?: string;\n\n /** Accessible label for chip group used to describe chips */\n @property({\n attribute: 'accessible-current-selections-label',\n }) accessibleCurrentSelectionsLabel = 'Current selections';\n\n /** Multi listbox button text */\n @property({ attribute: 'items-selected-text' }) itemsSelectedText = 'items selected';\n\n /** Whether the select is disabled */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Whether the select listbox is expanded */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /**\n * Enable to flip listbox when it reaches boundary\n */\n @property({ attribute: 'enable-flip', type: Boolean }) enableFlip = false;\n\n /** Current form value */\n @property() value?: string;\n\n /** Placeholder entry. Overridden by the `placeholder` slot */\n @property() placeholder?: string;\n\n /**\n * Indicates initial popover position.\n * There are 6 options: `bottom`, `top`, `top-start`, `top-end`, `bottom-start`, `bottom-end`.\n * Default is `bottom`.\n */\n @property({ reflect: true }) position: Placement = 'bottom';\n\n /** Flag indicating if selection badge should be hidden for checkbox variant,default false */\n @property({\n attribute: 'checkbox-selection-badge-hidden',\n type: Boolean,\n }) checkboxSelectionBadgeHidden = false;\n\n @query('pf-chip-group') private _chipGroup?: PfChipGroup;\n\n @query('#toggle-input') private _toggleInput?: HTMLInputElement;\n\n @query('#toggle-button') private _toggleButton?: HTMLButtonElement;\n\n @query('#listbox') private _listbox?: HTMLElement;\n\n @query('#listbox-container') private _listboxContainer?: HTMLElement;\n\n @query('#placeholder') private _placeholder?: PfOption;\n\n #isNotPlaceholderOption = (option: PfOption) => option !== this._placeholder;\n\n #internals = InternalsController.of(this);\n\n #float = new FloatingDOMController(this, { content: () => this._listboxContainer });\n\n #slots = new SlotController(this, null, 'placeholder');\n\n #combobox = ComboboxController.of(this, {\n multi: this.variant === 'typeaheadmulti' || this.variant === 'checkbox',\n getItems: () => this.options,\n getFallbackLabel: () => this.accessibleLabel\n || this.#internals.computedLabelText\n || this.placeholder\n || this.#slots.getSlotted('placeholder').map(x => x.textContent).join(''),\n getListboxElement: () => this._listbox ?? null,\n getToggleButton: () => this._toggleButton ?? null,\n getComboboxInput: () => this._toggleInput ?? null,\n isExpanded: () => this.expanded,\n requestShowListbox: () => void (this.expanded ||= true),\n requestHideListbox: () => void (this.expanded &&= false),\n setItemHidden: (item, hidden) => (item.id !== 'placeholder') && void (item.hidden = hidden),\n isItem: item => item instanceof PfOption,\n setItemActive: (item, active) => item.active = active,\n setItemSelected: (item, selected) => item.selected = selected,\n });\n\n /**\n * Single select option value for single select menus,\n * or array of select option values for multi select.\n */\n @property({ hasChanged: (a, b) => !arraysAreEquivalent(a, b) })\n set selected(selected: PfOption | PfOption[]) {\n const list = Array.isArray(selected) ? selected : [selected];\n this.#combobox.selected = list;\n }\n\n get selected(): PfOption[] {\n return this.#combobox.selected;\n }\n\n /** List of options */\n get options(): PfOption[] {\n if (isServer) {\n return []; // TODO: expose a DOM property to allow setting options in SSR scenarios\n } else {\n return [\n this._placeholder,\n ...Array.from(this.querySelectorAll('pf-option')),\n ].filter((x): x is PfOption => !!x && !x.hidden);\n }\n }\n\n /** Whether select has badge for number of selected items */\n get #hasBadge() {\n // NOTE: revisit this in v5\n return this.variant === 'checkbox' && !this.checkboxSelectionBadgeHidden;\n }\n\n get #buttonLabel(): string {\n const { selected } = this.#combobox;\n switch (this.variant) {\n case 'typeaheadmulti':\n return `${selected?.length ?? 0} ${this.itemsSelectedText}`;\n case 'checkbox':\n return this.#computePlaceholderText()\n || 'Options';\n default:\n return (selected ? this.value : '')\n || this.#computePlaceholderText()\n || 'Select a value';\n }\n }\n\n override render(): TemplateResult<1> {\n const { disabled, expanded, variant, placeholder } = this;\n const { anchor = 'bottom', alignment = 'start', styles = {} } = this.#float;\n const { height, width } = this.getBoundingClientRect?.() || {};\n const hasBadge = this.#hasBadge;\n const selectedOptions = this.#combobox.selected ?? [];\n const typeahead = variant.startsWith('typeahead');\n const checkboxes = variant === 'checkbox';\n const badge = hasBadge && 'badge';\n const hasSelection = !!(Array.isArray(this.selected) ? this.selected.length : this.selected);\n const hideLightDomItems = typeahead && !ComboboxController.supportsCrossRootActiveDescendant;\n const placeholderIsInert = !placeholder && this.#slots.isEmpty('placeholder');\n\n return html`\n <div id=\"outer\"\n style=\"${styleMap(styles)}\"\n class=\"${classMap({ disabled, typeahead, expanded, [anchor]: !!anchor, [alignment]: !!alignment })}\">\n <div id=\"toggle\">\n ${!(typeahead && selectedOptions.length < 1) ? '' : html`\n <pf-chip-group label=\"${this.accessibleCurrentSelectionsLabel}\">\n ${repeat(selectedOptions, opt => opt.id, opt => html`\n <pf-chip id=\"chip-${opt.textContent}\"\n .readonly=\"${this.disabled}\"\n @remove=\"${this.#onChipRemove.bind(this, opt)}\">${opt.textContent}</pf-chip>`)}\n </pf-chip-group>`}\n ${!typeahead ? '' : html`\n <input id=\"toggle-input\"\n ?hidden=\"${!typeahead}\"\n ?disabled=\"${disabled}\"\n placeholder=\"${placeholder || this.#buttonLabel}\">`}\n <button tabindex=${typeahead ? '-1' : nothing} id=\"toggle-button\">\n <span id=\"button-text\" style=\"display: contents;\">\n <span id=\"toggle-text\"\n class=\"${classMap({ 'visually-hidden': !!typeahead, badge })}\">${this.#buttonLabel}</span>${!hasBadge ? '' : html`\n <span id=\"toggle-badge\">\n <pf-badge number=\"${selectedOptions.length}\">${selectedOptions.length}</pf-badge>\n </span>`}\n </span>\n <svg viewBox=\"0 0 320 512\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"></path>\n </svg>\n </button>\n </div>\n <div id=\"listbox-container\"\n ?hidden=\"${!expanded}\"\n style=\"${styleMap({\n marginTop: `${height || 0}px`,\n width: width ? `${width}px` : 'auto',\n })}\">\n <div id=\"listbox\" class=\"${classMap({ checkboxes })}\">\n <pf-option id=\"placeholder\"\n disabled\n ?inert=\"${placeholderIsInert}\"\n aria-hidden=\"${ifDefined(placeholderIsInert ? undefined : String(!!hasSelection))}\"\n ?hidden=\"${!placeholder && this.#slots.isEmpty('placeholder')}\"\n ><!-- placeholder text for the select. Overrides the \\`placeholder\\` attribute. --><slot name=\"placeholder\">${placeholder ?? ''}</slot></pf-option>\n ${this.#combobox.renderItemsToShadowRoot()}\n <!-- insert \\`pf-option\\` and/or \\`pf-option-groups\\` here -->\n <slot ?hidden=\"${hideLightDomItems}\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n @observes('disabled')\n private disabledChanged() {\n this.#combobox.disabled = this.disabled;\n }\n\n @observes('expanded')\n private async expandedChanged(old: boolean, expanded: boolean) {\n if (this.dispatchEvent(new Event(this.expanded ? 'close' : 'open'))) {\n if (expanded) {\n this.#doExpand();\n } else {\n this.#doCollapse();\n }\n }\n }\n\n @observes('selected')\n private async selectedChanged(_: PfOption[], selected: PfOption[]) {\n this.value = selected.map(x => x.value).join();\n await this.updateComplete;\n switch (this.variant) {\n case 'single':\n this.hide();\n this._toggleButton?.focus();\n break;\n case 'typeahead':\n this._toggleInput!.value = this.value;\n }\n }\n\n @observes('variant')\n private async variantChanged() {\n this.#combobox.hostDisconnected();\n this.#combobox.multi = this.variant === 'typeaheadmulti' || this.variant === 'checkbox';\n this.#combobox.hostConnected();\n if (this.variant === 'checkbox') {\n import('@patternfly/elements/pf-badge/pf-badge.js');\n }\n }\n\n @observes('value')\n private valueChanged() {\n this.#internals.setFormValue(this.value ?? '');\n this.dispatchEvent(new PfSelectChangeEvent());\n }\n\n @observes('variant')\n @observes('value')\n private focusChips(): void {\n // whether select has removable chips for selected items\n // NOTE: revisit this in v5\n // reset input if chip has been added\n const hasChips = this.variant === 'typeaheadmulti';\n if (hasChips && this._toggleInput?.value) {\n const chip =\n this.shadowRoot?.querySelector(`pf-chip#chip-${this._toggleInput?.value}`) as PfChip;\n if (chip && this._chipGroup) {\n this._chipGroup.focusOnChip(chip);\n this._toggleInput.value = '';\n }\n }\n }\n\n async #doExpand() {\n try {\n await this.#float.show({ placement: this.position || 'bottom', flip: !!this.enableFlip });\n return true;\n } catch {\n return false;\n }\n }\n\n async #doCollapse() {\n try {\n await this.#float.hide();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * handles chip's remove button clicking\n * @param event remove event\n * @param opt pf-option\n */\n #onChipRemove(opt: PfOption, event: Event) {\n if (event instanceof PfChipRemoveEvent) {\n opt.selected = false;\n this._toggleInput?.focus();\n }\n }\n\n #computePlaceholderText() {\n return this.placeholder\n || this.querySelector?.<HTMLSlotElement>('[slot=placeholder]')\n ?.assignedNodes()\n ?.reduce((acc, node) => `${acc}${node.textContent}`, '')\n ?.trim()\n || this.#combobox.items\n .filter(this.#isNotPlaceholderOption)\n .at(0)\n ?.value\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 listbox\n */\n async hide(): Promise<void> {\n this.expanded = false;\n await this.updateComplete;\n }\n\n /**\n * toggles popup based on current state\n */\n async toggle(): Promise<void> {\n if (this.expanded) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-select': PfSelect;\n }\n}\n\n"]}
|
|
@@ -11,15 +11,20 @@
|
|
|
11
11
|
|
|
12
12
|
svg {
|
|
13
13
|
overflow: hidden;
|
|
14
|
+
/** Width for spinner */
|
|
14
15
|
width: var(--pf-c-spinner--Width,
|
|
16
|
+
/** Diameter for spinner */
|
|
15
17
|
var(--pf-c-spinner--diameter,
|
|
16
18
|
var(--pf-global--icon--FontSize--xl, 3.375rem)));
|
|
19
|
+
/** Height for spinner */
|
|
17
20
|
height: var(--pf-c-spinner--Height,
|
|
18
21
|
var(--pf-c-spinner--diameter,
|
|
19
22
|
var(--pf-global--icon--FontSize--xl, 3.375rem)));
|
|
20
23
|
animation:
|
|
21
24
|
pf-c-spinner-animation-rotate
|
|
25
|
+
/** Animation duration for spinner */
|
|
22
26
|
calc(var(--pf-c-spinner--AnimationDuration, 1.4s) * 2)
|
|
27
|
+
/** Animation timing function for spinner */
|
|
23
28
|
var(--pf-c-spinner--AnimationTimingFunction, linear) infinite;
|
|
24
29
|
}
|
|
25
30
|
|
|
@@ -30,30 +35,37 @@ circle {
|
|
|
30
35
|
stroke-linecap: round;
|
|
31
36
|
stroke-dasharray: 283;
|
|
32
37
|
stroke-dashoffset: 280;
|
|
38
|
+
/** Color for spinner */
|
|
33
39
|
stroke: var(--pf-c-spinner--Color, var(--pf-global--primary-color--100, #06c));
|
|
40
|
+
/** Stroke width for spinner */
|
|
34
41
|
stroke-width: var(--pf-c-spinner--stroke-width, 10);
|
|
35
42
|
animation:
|
|
36
43
|
pf-c-spinner-animation-dash
|
|
37
44
|
var(--pf-c-spinner--AnimationDuration, 1.4s)
|
|
45
|
+
/** Path animation timing function for spinner */
|
|
38
46
|
var(--pf-c-spinner__path--AnimationTimingFunction, ease-in-out) infinite;
|
|
39
47
|
}
|
|
40
48
|
|
|
41
49
|
:host([size="sm"]) svg {
|
|
50
|
+
/** Diameter for small spinner */
|
|
42
51
|
--pf-c-spinner--diameter: var(--pf-c-spinner--m-sm--diameter,
|
|
43
52
|
var(--pf-global--icon--FontSize--sm, 0.625rem));
|
|
44
53
|
}
|
|
45
54
|
|
|
46
55
|
:host([size="md"]) svg {
|
|
56
|
+
/** Diameter for medium spinner */
|
|
47
57
|
--pf-c-spinner--diameter: var(--pf-c-spinner--m-md--diameter,
|
|
48
58
|
var(--pf-global--icon--FontSize--md, 1.125rem));
|
|
49
59
|
}
|
|
50
60
|
|
|
51
61
|
:host([size="lg"]) svg {
|
|
62
|
+
/** Diameter for large spinner */
|
|
52
63
|
--pf-c-spinner--diameter: var(--pf-c-spinner--m-lg--diameter,
|
|
53
64
|
var(--pf-global--icon--FontSize--lg, 1.5rem));
|
|
54
65
|
}
|
|
55
66
|
|
|
56
67
|
:host([size="xl"]) svg {
|
|
68
|
+
/** Diameter for extra large spinner */
|
|
57
69
|
--pf-c-spinner--diameter: var(--pf-c-spinner--m-xl--diameter,
|
|
58
70
|
var(--pf-global--icon--FontSize--xl, 3.375rem));
|
|
59
71
|
}
|
|
@@ -73,6 +85,7 @@ circle {
|
|
|
73
85
|
transform: rotate(0);
|
|
74
86
|
}
|
|
75
87
|
15% {
|
|
88
|
+
/** Path stroke width for spinner */
|
|
76
89
|
stroke-width: calc(var(--pf-c-spinner__path--StrokeWidth, 10) - 4);
|
|
77
90
|
}
|
|
78
91
|
40% {
|
|
@@ -2,20 +2,7 @@ import { LitElement, type TemplateResult } from 'lit';
|
|
|
2
2
|
/**
|
|
3
3
|
* A **spinner** is used to indicate to users that an action is in progress. For actions
|
|
4
4
|
* that may take a long time, use a progress bar instead.
|
|
5
|
-
* @
|
|
6
|
-
* @cssprop {<length>} [--pf-c-spinner--Width=3.375rem]
|
|
7
|
-
* @cssprop {<length>} [--pf-c-spinner--Height=3.375rem]
|
|
8
|
-
* @cssprop {<color>} [--pf-c-spinner--Color=#06c]
|
|
9
|
-
* @cssprop {<length>} [--pf-c-spinner--m-sm--diameter=0.625rem]
|
|
10
|
-
* @cssprop {<length>} [--pf-c-spinner--m-md--diameter=1.125rem]
|
|
11
|
-
* @cssprop {<length>} [--pf-c-spinner--m-lg--diameter=1.5rem]
|
|
12
|
-
* @cssprop {<length>} [--pf-c-spinner--m-xl--diameter=3.375rem]
|
|
13
|
-
* @cssprop {<time>} [--pf-c-spinner--AnimationDuration=1.4s]
|
|
14
|
-
* @cssprop {<string>} [--pf-c-spinner--AnimationTimingFunction=linear]
|
|
15
|
-
* @cssprop {<number>} [--pf-c-spinner--stroke-width=10]
|
|
16
|
-
* @cssprop {<color>} [--pf-c-spinner__path--Stroke=#06c]
|
|
17
|
-
* @cssprop {<number>} [--pf-c-spinner__path--StrokeWidth=10]
|
|
18
|
-
* @cssprop {<string>} [--pf-c-spinner__path--AnimationTimingFunction=ease-in-out]
|
|
5
|
+
* @alias Spinner
|
|
19
6
|
*/
|
|
20
7
|
export declare class PfSpinner extends LitElement {
|
|
21
8
|
#private;
|
package/pf-spinner/pf-spinner.js
CHANGED
|
@@ -6,7 +6,106 @@ import { styleMap } from 'lit/directives/style-map.js';
|
|
|
6
6
|
import { property } from 'lit/decorators/property.js';
|
|
7
7
|
import { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';
|
|
8
8
|
import { css } from "lit";
|
|
9
|
-
const styles = css `:host {
|
|
9
|
+
const styles = css `:host {
|
|
10
|
+
display: inline-block;
|
|
11
|
+
width: min-content;
|
|
12
|
+
min-height: 0;
|
|
13
|
+
aspect-ratio: 1 / 1;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[hidden] {
|
|
17
|
+
display: none !important;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
svg {
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
/** Width for spinner */
|
|
23
|
+
width: var(--pf-c-spinner--Width,
|
|
24
|
+
/** Diameter for spinner */
|
|
25
|
+
var(--pf-c-spinner--diameter,
|
|
26
|
+
var(--pf-global--icon--FontSize--xl, 3.375rem)));
|
|
27
|
+
/** Height for spinner */
|
|
28
|
+
height: var(--pf-c-spinner--Height,
|
|
29
|
+
var(--pf-c-spinner--diameter,
|
|
30
|
+
var(--pf-global--icon--FontSize--xl, 3.375rem)));
|
|
31
|
+
animation:
|
|
32
|
+
pf-c-spinner-animation-rotate
|
|
33
|
+
/** Animation duration for spinner */
|
|
34
|
+
calc(var(--pf-c-spinner--AnimationDuration, 1.4s) * 2)
|
|
35
|
+
/** Animation timing function for spinner */
|
|
36
|
+
var(--pf-c-spinner--AnimationTimingFunction, linear) infinite;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
circle {
|
|
40
|
+
width: 100%;
|
|
41
|
+
height: 100%;
|
|
42
|
+
transform-origin: 50% 50%;
|
|
43
|
+
stroke-linecap: round;
|
|
44
|
+
stroke-dasharray: 283;
|
|
45
|
+
stroke-dashoffset: 280;
|
|
46
|
+
/** Color for spinner */
|
|
47
|
+
stroke: var(--pf-c-spinner--Color, var(--pf-global--primary-color--100, #06c));
|
|
48
|
+
/** Stroke width for spinner */
|
|
49
|
+
stroke-width: var(--pf-c-spinner--stroke-width, 10);
|
|
50
|
+
animation:
|
|
51
|
+
pf-c-spinner-animation-dash
|
|
52
|
+
var(--pf-c-spinner--AnimationDuration, 1.4s)
|
|
53
|
+
/** Path animation timing function for spinner */
|
|
54
|
+
var(--pf-c-spinner__path--AnimationTimingFunction, ease-in-out) infinite;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:host([size="sm"]) svg {
|
|
58
|
+
/** Diameter for small spinner */
|
|
59
|
+
--pf-c-spinner--diameter: var(--pf-c-spinner--m-sm--diameter,
|
|
60
|
+
var(--pf-global--icon--FontSize--sm, 0.625rem));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:host([size="md"]) svg {
|
|
64
|
+
/** Diameter for medium spinner */
|
|
65
|
+
--pf-c-spinner--diameter: var(--pf-c-spinner--m-md--diameter,
|
|
66
|
+
var(--pf-global--icon--FontSize--md, 1.125rem));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:host([size="lg"]) svg {
|
|
70
|
+
/** Diameter for large spinner */
|
|
71
|
+
--pf-c-spinner--diameter: var(--pf-c-spinner--m-lg--diameter,
|
|
72
|
+
var(--pf-global--icon--FontSize--lg, 1.5rem));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
:host([size="xl"]) svg {
|
|
76
|
+
/** Diameter for extra large spinner */
|
|
77
|
+
--pf-c-spinner--diameter: var(--pf-c-spinner--m-xl--diameter,
|
|
78
|
+
var(--pf-global--icon--FontSize--xl, 3.375rem));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@keyframes pf-c-spinner-animation-rotate {
|
|
82
|
+
0% {
|
|
83
|
+
transform: rotate(0deg);
|
|
84
|
+
}
|
|
85
|
+
100% {
|
|
86
|
+
transform: rotate(360deg);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@keyframes pf-c-spinner-animation-dash {
|
|
91
|
+
0% {
|
|
92
|
+
stroke-dashoffset: 280;
|
|
93
|
+
transform: rotate(0);
|
|
94
|
+
}
|
|
95
|
+
15% {
|
|
96
|
+
/** Path stroke width for spinner */
|
|
97
|
+
stroke-width: calc(var(--pf-c-spinner__path--StrokeWidth, 10) - 4);
|
|
98
|
+
}
|
|
99
|
+
40% {
|
|
100
|
+
stroke-dashoffset: 150;
|
|
101
|
+
stroke-dasharray: 220;
|
|
102
|
+
}
|
|
103
|
+
100% {
|
|
104
|
+
stroke-dashoffset: 280;
|
|
105
|
+
transform: rotate(720deg);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
`;
|
|
10
109
|
let PfSpinner = class PfSpinner extends LitElement {
|
|
11
110
|
constructor() {
|
|
12
111
|
super(...arguments);
|
|
@@ -26,7 +125,7 @@ let PfSpinner = class PfSpinner extends LitElement {
|
|
|
26
125
|
};
|
|
27
126
|
_PfSpinner_internals = new WeakMap();
|
|
28
127
|
PfSpinner.styles = [styles];
|
|
29
|
-
PfSpinner.version = "4.
|
|
128
|
+
PfSpinner.version = "4.2.0";
|
|
30
129
|
__decorate([
|
|
31
130
|
property({ reflect: true })
|
|
32
131
|
], PfSpinner.prototype, "size", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-spinner.js","sourceRoot":"","sources":["pf-spinner.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,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC
|
|
1
|
+
{"version":3,"file":"pf-spinner.js","sourceRoot":"","sources":["pf-spinner.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,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWxF,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QAGL,2DAA2D;QAC3D,+BAAa,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAC;QAEnE,mCAAmC;QACN,SAAI,GAA8B,IAAI,CAAC;;IAK3D,MAAM;QACb,OAAO,IAAI,CAAA;;oBAEK,QAAQ,CAAC,EAAE,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;;KAGtE,CAAC;IACJ,CAAC;;;AAlBe,gBAAM,GAAoB,CAAC,MAAM,CAAC,AAA5B,CAA6B;;AAMtB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAAwC;AAGvC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAkE;AAVnF,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS","sourcesContent":["import { LitElement, html, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { property } from 'lit/decorators/property.js';\n\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport styles from './pf-spinner.css';\n\n/**\n * A **spinner** is used to indicate to users that an action is in progress. For actions\n * that may take a long time, use a progress bar instead.\n * @alias Spinner\n */\n\n@customElement('pf-spinner')\nexport class PfSpinner extends LitElement {\n static readonly styles: CSSStyleSheet[] = [styles];\n\n // eslint-disable-next-line no-unused-private-class-members\n #internals = InternalsController.of(this, { role: 'progressbar' });\n\n /** Preset sizes for the spinner */\n @property({ reflect: true }) size: 'sm' | 'md' | 'lg' | 'xl' = 'xl';\n\n /** Custom diameter of spinner set as CSS variable */\n @property({ reflect: true }) diameter?: `${string}${'px' | '%' | 'rem' | 'em' | 'fr' | 'pt'}`;\n\n override render(): TemplateResult<1> {\n return html`\n <svg viewBox=\"0 0 100 100\"\n style=\"${styleMap({ '--pf-c-spinner--diameter': this.diameter })}\">\n <circle cx=\"50\" cy=\"50\" r=\"45\" fill=\"none\" />\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-spinner': PfSpinner;\n }\n}\n"]}
|
package/pf-switch/pf-switch.css
CHANGED
|
@@ -12,21 +12,26 @@ svg {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
:host([checked]) #container {
|
|
15
|
+
/** Color of the label when switch is checked */
|
|
15
16
|
color: var(--pf-c-switch__input--checked__label--Color,
|
|
16
17
|
var(--pf-global--Color--dark-100, #151515));
|
|
18
|
+
/** Background color of the toggle when switch is checked */
|
|
17
19
|
background-color: var(--pf-c-switch__input--checked__toggle--BackgroundColor,
|
|
18
20
|
var(--pf-global--primary-color--100, #06c));
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
:host([checked]) #container::before {
|
|
24
|
+
/** Translation of the toggle knob when checked */
|
|
22
25
|
translate: var(--pf-c-switch__input--checked__toggle--before--TranslateX,
|
|
23
26
|
calc(100% + var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
:host(:is(:focus,:focus-within)) #container {
|
|
30
|
+
/** Focus outline width */
|
|
27
31
|
outline: var(--pf-c-switch__input--focus__toggle--OutlineWidth,
|
|
28
32
|
var(--pf-global--BorderWidth--md, 2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,
|
|
29
33
|
var(--pf-global--primary-color--100, #06c));
|
|
34
|
+
/** Focus outline offset */
|
|
30
35
|
outline-offset: var(--pf-c-switch__input--focus__toggle--OutlineOffset,
|
|
31
36
|
var(--pf-global--spacer--sm, 0.5rem));
|
|
32
37
|
}
|
|
@@ -39,13 +44,16 @@ svg {
|
|
|
39
44
|
:host(:disabled) #container {
|
|
40
45
|
cursor: not-allowed;
|
|
41
46
|
|
|
47
|
+
/** Color of the label when switch is disabled */
|
|
42
48
|
color: var(--pf-c-switch__input--disabled__label--Color,
|
|
43
49
|
var(--pf-global--disabled-color--100, #6a6e73));
|
|
50
|
+
/** Background color when switch is disabled */
|
|
44
51
|
background-color: var(--pf-c-switch__input--disabled__toggle--BackgroundColor,
|
|
45
52
|
var(--pf-global--disabled-color--200, #d2d2d2));
|
|
46
53
|
}
|
|
47
54
|
|
|
48
55
|
:host(:disabled) #container::before {
|
|
56
|
+
/** Background color of the toggle knob when disabled */
|
|
49
57
|
background-color: var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,
|
|
50
58
|
var(--pf-global--palette--black-150, #f5f5f5));
|
|
51
59
|
}
|
|
@@ -63,6 +71,7 @@ svg {
|
|
|
63
71
|
position: relative;
|
|
64
72
|
display: inline-flex;
|
|
65
73
|
align-items: center;
|
|
74
|
+
/** Width of the toggle */
|
|
66
75
|
width: var(--pf-c-switch__toggle--Width,
|
|
67
76
|
calc(var(--pf-c-switch__toggle--Height,
|
|
68
77
|
calc(var(--pf-c-switch--FontSize,
|
|
@@ -74,8 +83,10 @@ svg {
|
|
|
74
83
|
calc(var(--pf-c-switch--FontSize,
|
|
75
84
|
var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
|
|
76
85
|
var(--pf-global--LineHeight--md, 1.5))));
|
|
86
|
+
/** Background color of the toggle */
|
|
77
87
|
background-color: var(--pf-c-switch__toggle--BackgroundColor,
|
|
78
88
|
var(--pf-global--palette--black-500, #8a8d90));
|
|
89
|
+
/** Border radius of the toggle */
|
|
79
90
|
border-radius: var(--pf-c-switch__toggle--BorderRadius,
|
|
80
91
|
var(--pf-c-switch__toggle--Height, calc(var(--pf-c-switch--FontSize,
|
|
81
92
|
var(--pf-global--FontSize--md, 1rem)) * var(--pf-c-switch--LineHeight,
|
|
@@ -86,6 +97,7 @@ svg {
|
|
|
86
97
|
position: absolute;
|
|
87
98
|
display: block;
|
|
88
99
|
content: "";
|
|
100
|
+
/** Top position of the toggle knob */
|
|
89
101
|
top: var(--pf-c-switch__toggle--before--Top,
|
|
90
102
|
calc((var(--pf-c-switch__toggle--Height,
|
|
91
103
|
calc(var(--pf-c-switch--FontSize,
|
|
@@ -94,6 +106,7 @@ svg {
|
|
|
94
106
|
var(--pf-c-switch__toggle--before--Width,
|
|
95
107
|
calc(var(--pf-c-switch--FontSize,
|
|
96
108
|
var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2));
|
|
109
|
+
/** Left position of the toggle knob */
|
|
97
110
|
left: var(--pf-c-switch__toggle--before--Left,
|
|
98
111
|
var(--pf-c-switch__toggle--before--Top,
|
|
99
112
|
calc((var(--pf-c-switch__toggle--Height,
|
|
@@ -103,30 +116,39 @@ svg {
|
|
|
103
116
|
var(--pf-c-switch__toggle--before--Width,
|
|
104
117
|
calc(var(--pf-c-switch--FontSize,
|
|
105
118
|
var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))))) / 2)));
|
|
119
|
+
/** Width of the toggle knob */
|
|
106
120
|
width: var(--pf-c-switch__toggle--before--Width,
|
|
107
121
|
calc(var(--pf-c-switch--FontSize,
|
|
108
122
|
var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem)));
|
|
123
|
+
/** Height of the toggle knob */
|
|
109
124
|
height: var(--pf-c-switch__toggle--before--Height,
|
|
110
125
|
var(--pf-c-switch__toggle--before--Width,
|
|
111
126
|
calc(var(--pf-c-switch--FontSize,
|
|
112
127
|
var(--pf-global--FontSize--md, 1rem)) - var(--pf-c-switch__toggle-icon--Offset, 0.125rem))));
|
|
128
|
+
/** Background color of the toggle knob */
|
|
113
129
|
background-color: var(--pf-c-switch__toggle--before--backgroundcolor,
|
|
114
130
|
var(--pf-global--backgroundcolor--100, #fff));
|
|
131
|
+
/** Border radius of the toggle knob */
|
|
115
132
|
border-radius: var(--pf-c-switch__toggle--before--BorderRadius,
|
|
116
133
|
var(--pf-global--BorderRadius--lg, 30em));
|
|
134
|
+
/** Box shadow of the toggle knob */
|
|
117
135
|
box-shadow: var(--pf-c-switch__toggle--before--BoxShadow,
|
|
118
136
|
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)));
|
|
137
|
+
/** Transition of the toggle knob */
|
|
119
138
|
transition: var(--pf-c-switch__toggle--before--Transition,
|
|
120
139
|
var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s));
|
|
121
140
|
}
|
|
122
141
|
|
|
123
142
|
svg {
|
|
143
|
+
/** Horizontal margin of the toggle icon */
|
|
124
144
|
margin-inline: var(--pf-c-switch__toggle-icon--Left,
|
|
125
145
|
calc(var(--pf-c-switch--FontSize,
|
|
126
146
|
var(--pf-global--FontSize--md, 1rem)) * .4));
|
|
147
|
+
/** Font size of the toggle icon */
|
|
127
148
|
font-size: var(--pf-c-switch__toggle-icon--FontSize,
|
|
128
149
|
calc(var(--pf-c-switch--FontSize,
|
|
129
150
|
var(--pf-global--FontSize--md, 1rem)) * .625));
|
|
151
|
+
/** Color of the toggle icon */
|
|
130
152
|
color: var(--pf-c-switch__toggle-icon--Color,
|
|
131
153
|
var(--pf-global--Color--light-100, #fff));
|
|
132
154
|
}
|
package/pf-switch/pf-switch.d.ts
CHANGED
|
@@ -3,37 +3,8 @@ import { LitElement, type TemplateResult } from 'lit';
|
|
|
3
3
|
* A **switch** toggles the state of a setting (between on and off). Switches and
|
|
4
4
|
* checkboxes can often be used interchangeably, but the switch provides a more
|
|
5
5
|
* explicit, visible representation on a setting.
|
|
6
|
+
* @alias Switch
|
|
6
7
|
* @fires {Event} change - Fires when the switch selection changes.
|
|
7
|
-
* @cssprop [--pf-c-switch--FontSize=1rem]
|
|
8
|
-
* @cssprop {<length>} [--pf-c-switch--ColumnGap=1rem]
|
|
9
|
-
* @cssprop [--pf-c-switch__toggle-icon--FontSize=calc(1rem * .625)]
|
|
10
|
-
* @cssprop {<color>} [--pf-c-switch__toggle-icon--Color=#fff]
|
|
11
|
-
* @cssprop {<length>} [--pf-c-switch__toggle-icon--Left=1rem]
|
|
12
|
-
* @cssprop {<length>} [--pf-c-switch__toggle-icon--Offset=0.125rem]
|
|
13
|
-
* @cssprop {<number>} [--pf-c-switch--LineHeight=1.5]
|
|
14
|
-
* @cssprop {<length>} [--pf-c-switch--Height=auto]
|
|
15
|
-
* @cssprop {<color>} [--pf-c-switch__input--checked__toggle--BackgroundColor=#06c]
|
|
16
|
-
* @cssprop {<length>} [--pf-c-switch__input--checked__toggle--before--TranslateX=calc(100 + 0.125rem)]
|
|
17
|
-
* @cssprop {<color>} [--pf-c-switch__input--checked__label--Color=#151515]
|
|
18
|
-
* @cssprop {<color>} [--pf-c-switch__input--not-checked__label--Color=#6a6e73]
|
|
19
|
-
* @cssprop {<color>} [--pf-c-switch__input--disabled__label--Color=#6a6e73]
|
|
20
|
-
* @cssprop {<color>} [--pf-c-switch__input--disabled__toggle--BackgroundColor=#d2d2d2]
|
|
21
|
-
* @cssprop {<color>} [--pf-c-switch__input--disabled__toggle--before--BackgroundColor=#f5f5f5]
|
|
22
|
-
* @cssprop {<length>} [--pf-c-switch__input--focus__toggle--OutlineWidth=2px]
|
|
23
|
-
* @cssprop {<length>} [--pf-c-switch__input--focus__toggle--OutlineOffset=0.5rem]
|
|
24
|
-
* @cssprop {<color>} [--pf-c-switch__input--focus__toggle--OutlineColor=#06c]
|
|
25
|
-
* @cssprop {<length>} [--pf-c-switch__toggle--Height=calc(1rem * 1.5)]
|
|
26
|
-
* @cssprop {<color>} [--pf-c-switch__toggle--BackgroundColor=#8a8d90]
|
|
27
|
-
* @cssprop {<length>} [--pf-c-switch__toggle--BorderRadius=calc(1rem * 1.5)]
|
|
28
|
-
* @cssprop {<length>} [--pf-c-switch__toggle--before--Width=calc(1rem - 0.125rem)]
|
|
29
|
-
* @cssprop {<length>} [--pf-c-switch__toggle--before--Height=calc(1rem - 0.125rem)]
|
|
30
|
-
* @cssprop {<length>} [--pf-c-switch__toggle--before--Top=calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`]
|
|
31
|
-
* @cssprop {<length>} [--pf-c-switch__toggle--before--Left=calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)]
|
|
32
|
-
* @cssprop {<color>} [--pf-c-switch__toggle--before--BackgroundColor=#fff]
|
|
33
|
-
* @cssprop {<length>} [--pf-c-switch__toggle--before--BorderRadius=30em]
|
|
34
|
-
* @cssprop [--pf-c-switch__toggle--before--BoxShadow=0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)]
|
|
35
|
-
* @cssprop [--pf-c-switch__toggle--before--Transition=transform .25s ease 0s]
|
|
36
|
-
* @cssprop {<length>} [--pf-c-switch__toggle--Width=calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))]
|
|
37
8
|
*/
|
|
38
9
|
export declare class PfSwitch extends LitElement {
|
|
39
10
|
#private;
|