UNPKG

@patternfly/elements

Version:
1 lines 40.2 kB
{"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"]}