Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
17b1361
chore: pf-search-input component created
ArathyKumar Feb 23, 2025
03d0269
chore: search input updated
ArathyKumar Feb 23, 2025
d567bf5
chore: search input option added
ArathyKumar Mar 19, 2025
36875aa
chore: pf-search input created
ArathyKumar Mar 20, 2025
4e69215
chore: code cleanup
ArathyKumar Mar 24, 2025
34900a4
chore: search autocomplete style added
ArathyKumar Mar 24, 2025
a332552
chore: close button functionality implemented
ArathyKumar Mar 26, 2025
e8f5bfb
chore: CSS variables updated
ArathyKumar Mar 26, 2025
6573703
chore: styles updated
ArathyKumar Apr 2, 2025
a8a4b35
chore: outside click implementation
ArathyKumar Apr 3, 2025
a4491fd
chore: added pf-option instead of pf-search-input-option
ArathyKumar Apr 3, 2025
6eaa40c
chore: style issues resolved
ArathyKumar Apr 3, 2025
fe4c0ef
chore: style issues resolved
ArathyKumar Apr 3, 2025
901990f
chore: code cleanup
ArathyKumar Apr 3, 2025
95431ac
chore: code cleanup
ArathyKumar Apr 3, 2025
0d919c0
chore: search icon fix
ArathyKumar Apr 3, 2025
3338f8b
chore: merge main to pf-text-input-autocomplete
ArathyKumar Apr 3, 2025
6cf967b
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar Apr 3, 2025
8d6991e
chore: Limit number of autocomplete options shown to the user
ArathyKumar Apr 15, 2025
6cf6705
chore: selected suggestion styling removed
ArathyKumar Apr 15, 2025
3e1e8cd
fix: resolved style issues
ArathyKumar Apr 15, 2025
d1eec5e
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar May 11, 2025
22f4e9a
chore: resolved lint errors
ArathyKumar May 11, 2025
b1baf62
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar May 12, 2025
eb70f39
chore: reverted combobox controller changes
ArathyKumar May 22, 2025
7ce25ed
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar May 22, 2025
5a9de0e
chore: added static initialization block for outside click
ArathyKumar May 22, 2025
f180d02
chore: fix SSR issues
ArathyKumar May 22, 2025
32e1afa
chore: removed mock data
ArathyKumar May 22, 2025
913b681
chore: hide close button
ArathyKumar May 22, 2025
88a0a57
chore: inline styles removed
ArathyKumar May 22, 2025
9136ae3
chore: replaced svg with pf-icon
ArathyKumar May 22, 2025
a413c2a
chore: pf-option selected background color variable added
ArathyKumar May 22, 2025
c9a62d3
chore: removed unnecessary style
ArathyKumar May 22, 2025
201693a
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar Jun 3, 2025
84c19bd
feat(search-input): add pf-search-input element
ArathyKumar Jun 4, 2025
1d96eec
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar Jun 5, 2025
616475b
chore: search change event updated
ArathyKumar Jun 5, 2025
d0fc1a7
chore: replace native input with pf-text-input
ArathyKumar Jun 5, 2025
621b442
chore: added search functionality on enter and space key press
ArathyKumar Jun 5, 2025
83b65d6
chore: screenshot updated
ArathyKumar Jun 5, 2025
a0ca681
chore: demo files updated
ArathyKumar Jun 5, 2025
8f5d6f3
chore: updated readme
ArathyKumar Jun 19, 2025
011a221
chore: removed duplicate style
ArathyKumar Jun 30, 2025
c8ad1ac
chore: test cases added - draft
ArathyKumar Jul 6, 2025
a363caa
chore: draft spec file added
ArathyKumar Jul 6, 2025
1ae7863
chore: spec file updated
ArathyKumar Jul 7, 2025
4268ecf
chore: updated test cases
ArathyKumar Jul 10, 2025
40ec9df
chore: style fix
ArathyKumar Jul 10, 2025
cfc1389
chore: submit button variant added
ArathyKumar Jul 11, 2025
f9198e5
chore: code cleanup
ArathyKumar Jul 11, 2025
fc1bcba
chore: submit button function updated
ArathyKumar Jul 14, 2025
83faa65
chore: search input with submit button variant added
ArathyKumar Jul 15, 2025
b00c9ad
chore: display listbox only when input is entered in the textbox
ArathyKumar Jul 15, 2025
7a8ac31
chore: test cases updated
ArathyKumar Jul 19, 2025
8d27b71
chore: updated documentation
ArathyKumar Jul 19, 2025
dac2e45
chore: updated arrow-down functionality
ArathyKumar Jul 21, 2025
0333d28
chore: updated documentation
ArathyKumar Jul 22, 2025
1035574
chore: variable added for listbox max-height
ArathyKumar Jul 22, 2025
e085a4d
chore: updated to css logical properties
ArathyKumar Jul 22, 2025
844d1b2
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar Jul 22, 2025
05ab612
chore: added negative tab index to prevent focus
ArathyKumar Jul 22, 2025
ae3724a
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar Jul 23, 2025
3d60e49
Update elements/pf-search-input/docs/pf-search-input.md
ArathyKumar Jul 23, 2025
71425bb
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar Jul 23, 2025
008164f
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar Jul 23, 2025
0fc1cd1
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar Jul 23, 2025
485a8d8
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar Jul 23, 2025
4ce4511
chore: resolved tab indentation issues
ArathyKumar Jul 23, 2025
dc98108
Merge branch '2887-pf-text-input-autocomplete' of github.com:patternf…
ArathyKumar Jul 23, 2025
831c66f
chore: documentation update
ArathyKumar Jul 23, 2025
9c6b207
chore: set selected option function updated
ArathyKumar Jul 23, 2025
fe699bf
chore: set focus back to toggle input on clicking close button
ArathyKumar Jul 23, 2025
e343b81
Update elements/pf-search-input/docs/pf-search-input.md
ArathyKumar Jul 23, 2025
27911f3
chore: added type button for hidden button
ArathyKumar Jul 24, 2025
60e50c9
docs: changeset
ArathyKumar Jul 24, 2025
f90a262
chore: update cem dependency
bennypowers Jul 25, 2025
faf70a4
style: formatting, docs
bennypowers Jul 25, 2025
46bfb59
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar Jul 25, 2025
f2c6d5e
fix: selected property removed
ArathyKumar Jul 25, 2025
dcad921
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar Jul 25, 2025
b034fcf
fix: move focusout handling into ComboboxController
ArathyKumar Jul 28, 2025
22e9d39
fix: ssr issue
ArathyKumar Jul 28, 2025
175f56b
chore: extend toggle button to support close functionality
ArathyKumar Jul 30, 2025
50354c7
fix: updated this.value state management
ArathyKumar Jul 31, 2025
4ab93a5
chore: added test cases for search input in disabled state
ArathyKumar Aug 1, 2025
9b62b5b
chore: test cases added for close button functionality
ArathyKumar Aug 4, 2025
0b61fc9
chore: test cases added for outside click and on focus out
ArathyKumar Aug 4, 2025
6410dec
chore: updated documentation
ArathyKumar Aug 4, 2025
3e2d8ed
fix: close button functionality
ArathyKumar Aug 4, 2025
4ceabc2
chore: added test cases for form submission
ArathyKumar Aug 5, 2025
6c23f3e
chore: code cleanup
ArathyKumar Aug 5, 2025
c8fc771
fix: reset combobox selected state
bennypowers Aug 6, 2025
7a7e8aa
Merge branch 'main' into 2887-pf-text-input-autocomplete
bennypowers Aug 6, 2025
5bc1ecd
test(search-input): reorganize suites
bennypowers Aug 6, 2025
27c9694
test(search-input): correct test cases
bennypowers Aug 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .changeset/famous-parts-add.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
"@patternfly/elements": minor
---

✨ Added `<pf-search-input>`.

A search input consists of a text field where users can type to find specific content or items. Unlike selects or dropdowns, which offer predefined options, a search input lets users enter their own keywords to filter or locate results. It includes a clear (×) button to easily remove the current input, allowing users to start a new search quickly.

Use this when users need to search freely using their own terms — ideal for large or frequently changing sets of content.
Do not use when the options are limited and known ahead of time — consider a dropdown or select instead

```html
<pf-search-input>
<pf-option value="Alabama"> Alabama </pf-option>
<pf-option value="New Jersey"> New Jersey </pf-option>
<pf-option value="New York"> New York </pf-option>
<pf-option value="New Mexico"> New Mexico </pf-option>
<pf-option value="North Carolina"> North Carolina </pf-option>
</pf-search-input>
```
46 changes: 40 additions & 6 deletions core/pfe-core/controllers/combobox-controller.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { nothing, type ReactiveController, type ReactiveControllerHost } from 'lit';
import { isServer, nothing, type ReactiveController, type ReactiveControllerHost } from 'lit';
import type { ActivedescendantControllerOptions } from './activedescendant-controller.js';
import type { RovingTabindexControllerOptions } from './roving-tabindex-controller.js';
import type { ATFocusController } from './at-focus-controller';
Expand Down Expand Up @@ -188,6 +188,10 @@ export class ComboboxController<

private static langsRE = new RegExp(ComboboxController.langs.join('|'));

private static instances = new WeakMap<ReactiveControllerHost, ComboboxController<HTMLElement>>();

private static hosts = new Set<ReactiveControllerHost>();

static {
// apply visually-hidden styles
this.#alertTemplate.innerHTML = `
Expand All @@ -205,6 +209,21 @@ export class ComboboxController<
`;
}

// Hide listbox on focusout
static {
if (!isServer) {
document.addEventListener('focusout', event => {
const target = event.target as HTMLElement;
for (const host of ComboboxController.hosts) {
if (host instanceof Node && host.contains(target)) {
const instance = ComboboxController.instances.get(host);
instance?._onFocusoutElement();
}
}
});
}
}

private options: RequireProps<ComboboxControllerOptions<Item>,
| 'isItemDisabled'
| 'isItem'
Expand Down Expand Up @@ -333,6 +352,8 @@ export class ComboboxController<
isItemDisabled: this.options.isItemDisabled,
setItemSelected: this.options.setItemSelected,
});
ComboboxController.instances.set(host, this);
ComboboxController.hosts.add(host);
}

async hostConnected(): Promise<void> {
Expand All @@ -347,18 +368,31 @@ export class ComboboxController<
const expanded = this.options.isExpanded();
this.#button?.setAttribute('aria-expanded', String(expanded));
this.#input?.setAttribute('aria-expanded', String(expanded));
if (this.#hasTextInput) {
this.#button?.setAttribute('tabindex', '-1');
} else {
this.#button?.removeAttribute('tabindex');
}
this.#initLabels();
}

hostDisconnected(): void {
this.#fc?.hostDisconnected();
}

disconnect(): void {
ComboboxController.instances.delete(this.host);
ComboboxController.hosts.delete(this.host);
}

async _onFocusoutElement(): Promise<void> {
if (this.#hasTextInput && this.options.isExpanded()) {
const root = this.#element?.getRootNode();
await new Promise(requestAnimationFrame);
if (root instanceof ShadowRoot || root instanceof Document) {
const { activeElement } = root;
if (!this.#element?.contains(activeElement)) {
this.#hide();
}
}
}
}

/**
* Order of operations is important
*/
Expand Down
18 changes: 9 additions & 9 deletions core/pfe-core/controllers/test/combobox-controller.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,15 +108,15 @@ abstract class TestCombobox extends ReactiveElement {
expect(await a11ySnapshot()).axTreeFocusedNode.to.have.axRole('combobox');
});

describe('Tab', function() {
beforeEach(press('Tab'));
beforeEach(updateComplete);
beforeEach(nextFrame);

it('does not focus the toggle button', async function() {
expect(await a11ySnapshot()).to.not.axContainQuery({ focused: true });
});
});
// describe('Tab', function() {
// beforeEach(press('Tab'));
// beforeEach(updateComplete);
// beforeEach(nextFrame);

// it('does not focus the toggle button', async function() {
// expect(await a11ySnapshot()).to.not.axContainQuery({ focused: true });
// });
// });

describe('ArrowDown', function() {
beforeEach(press('ArrowDown'));
Expand Down
1 change: 1 addition & 0 deletions elements/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
"./pf-progress-stepper/pf-progress-step.js": "./pf-progress-stepper/pf-progress-step.js",
"./pf-progress-stepper/pf-progress-stepper.js": "./pf-progress-stepper/pf-progress-stepper.js",
"./pf-progress/pf-progress.js": "./pf-progress/pf-progress.js",
"./pf-search-input/pf-search-input.js": "./pf-search-input/pf-search-input.js",
"./pf-spinner/pf-spinner.js": "./pf-spinner/pf-spinner.js",
"./pf-switch/pf-switch.js": "./pf-switch/pf-switch.js",
"./pf-table/context.js": "./pf-table/context.js",
Expand Down
15 changes: 15 additions & 0 deletions elements/pf-search-input/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Search Input
A search input lets users type in words to find specific items or information. As they type, it can show matching results to help them quickly find what they are looking for.

## Usage
A search input consists of a text field where users can type to find specific content or items. Unlike selects or dropdowns, which offer predefined options, a search input lets users enter their own keywords to filter or locate results. It includes a clear (×) button to easily remove the current input, allowing users to start a new search quickly.

```html
<pf-search-input>
<pf-option value="Alabama"> Alabama </pf-option>
<pf-option value="New Jersey"> New Jersey </pf-option>
<pf-option value="New York"> New York </pf-option>
<pf-option value="New Mexico"> New Mexico </pf-option>
<pf-option value="North Carolina"> North Carolina </pf-option>
</pf-search-input>
```
34 changes: 34 additions & 0 deletions elements/pf-search-input/demo/disabled.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<form class="container">
<div class="search-input-container">
<pf-search-input disabled id="search-input" name="search" placeholder="Search">
<pf-option>Blue</pf-option>
<pf-option>Green</pf-option>
<pf-option>Magenta</pf-option>
<pf-option>Orange</pf-option>
<pf-option>Purple</pf-option>
<pf-option>Periwinkle</pf-option>
<pf-option>Pink</pf-option>
<pf-option>Red</pf-option>
<pf-option>Yellow</pf-option>
</pf-search-input>
<pf-button> Search</pf-button>
</div>
</form>

<script type="module">
import '@patternfly/elements/pf-search-input/pf-search-input.js';
</script>

<style>
.container {
padding: 40px;
.search-input-container {
display: flex;
align-items: center;
justify-content: flex-start;
#search-input {
margin-right: 1rem;
}
}
}
</style>
62 changes: 62 additions & 0 deletions elements/pf-search-input/demo/pf-search-input-with-submit.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<form class="container">
<div class="search-input-container">
<pf-search-input id="search-input" name="search" placeholder="Search">
<pf-option value="Alabama"> Alabama </pf-option>
<pf-option value="New Jersey"> New Jersey </pf-option>
<pf-option value="New York"> New York </pf-option>
<pf-option value="New Mexico"> New Mexico </pf-option>
<pf-option value="North Carolina"> North Carolina </pf-option>
<pf-option value="Alabama1"> Alabama 1 </pf-option>
<pf-option value="New Jersey1"> New Jersey 1 </pf-option>
<pf-option value="New York1"> New York 1 </pf-option>
<pf-option value="New Mexico1"> New Mexico 1</pf-option>
<pf-option value="North Carolina1"> North Carolina 1</pf-option>
<pf-option value="Alabama2"> Alabama 2 </pf-option>
<pf-option value="New Jersey2"> New Jersey 2 </pf-option>
<pf-option value="New York2"> New York 2 </pf-option>
<pf-option value="New Mexico2"> New Mexico 2 </pf-option>
<pf-option value="North Carolina2"> North Carolina 2 </pf-option>
<pf-option value="Alabama3"> Alabama 3 </pf-option>
<pf-option value="New Jersey3"> New Jersey 3 </pf-option>
<pf-option value="New York3"> New York 3 </pf-option>
<pf-option value="New Mexico3"> New Mexico 3 </pf-option>
<pf-option value="North Carolina3"> North Carolina 3 </pf-option>
</pf-search-input>
<pf-button> Search</pf-button>
</div>
</form>


<script type="module">
import '@patternfly/elements/pf-search-input/pf-search-input.js';

const searchInput = document.getElementById('search-input');

searchInput.addEventListener('change', (event) => {
/* eslint-disable no-console */
console.log('Selected:', event.target.value);
/* eslint-disable no-console */
});

const form = document.querySelector('form.container');
form.addEventListener('submit', (event) =>{
event.preventDefault();
/* eslint-disable no-console */
console.log("Value:", form.elements.search?.value);
/* eslint-disable no-console */
})
</script>

<style>
.container {
padding: 40px;
.search-input-container {
display: flex;
align-items: center;
justify-content: flex-start;
#search-input {
margin-right: 1rem;
}
}
}
</style>
42 changes: 42 additions & 0 deletions elements/pf-search-input/demo/pf-search-input.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<div class="container">
<pf-search-input id="search-input" placeholder="Search">
<pf-option>What is Red Hat Enterprise Linux?</pf-option>
<pf-option>How does Red Hat OpenShift work?</pf-option>
<pf-option>Why use Red Hat Ansible for automation?</pf-option>
<pf-option>Where can Red Hat OpenShift be deployed?</pf-option>
<pf-option>When should you use Red Hat Enterprise Linux?</pf-option>
<pf-option>What is Red Hat Satellite?</pf-option>
<pf-option>How does Red Hat integrate with AWS and other clouds?</pf-option>
<pf-option>Why choose Red Hat over other Linux vendors?</pf-option>
<pf-option>Where can I learn Red Hat technologies?</pf-option>
<pf-option>When does support end for RHEL versions?</pf-option>
<pf-option>What are Red Hat certifications?</pf-option>
<pf-option>How do you secure a RHEL server?</pf-option>
<pf-option>Why use OpenShift instead of vanilla Kubernetes?</pf-option>
<pf-option>Where is Red Hat headquartered?</pf-option>
<pf-option>When should you use Red Hat CoreOS?</pf-option>
<pf-option>What is Red Hat Insights?</pf-option>
<pf-option>How do you manage Red Hat subscriptions?</pf-option>
<pf-option>Why is RHEL considered enterprise-grade?</pf-option>
<pf-option>Where can I download RHEL for testing?</pf-option>
<pf-option>When was Red Hat founded?</pf-option>
</pf-search-input>
</div>

<script type="module">
import '@patternfly/elements/pf-search-input/pf-search-input.js';

const searchInput = document.getElementById('search-input');

searchInput.addEventListener('change', (event) => {
/* eslint-disable no-console */
console.log('Selected:', event.target.value);
/* eslint-disable no-console */
});
</script>

<style>
.container {
padding: 40px;
}
</style>
91 changes: 91 additions & 0 deletions elements/pf-search-input/docs/pf-search-input.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
{% renderInstallation %} {% endrenderInstallation %}

<script type="module">
import '@patternfly/elements/pf-search-input/pf-search-input.js';
</script>

{% renderOverview %}
<pf-search-input>
<pf-option>Blue</pf-option>
<pf-option>Black</pf-option>
<pf-option>Brown</pf-option>
<pf-option>Bronze</pf-option>
<pf-option>Green</pf-option>
<pf-option>Magenta</pf-option>
<pf-option>Orange</pf-option>
<pf-option>Purple</pf-option>
<pf-option>Periwinkle</pf-option>
<pf-option>Pink</pf-option>
<pf-option>Red</pf-option>
<pf-option>Yellow</pf-option>
</pf-search-input>
{% endrenderOverview %}

{% band header="Usage" %}

#### Search Input

{% htmlexample %}
{% renderFile "./elements/pf-search-input/demo/pf-search-input.html" %}
{% endhtmlexample %}

#### Search Input Form
{% htmlexample %}
{% renderFile "./elements/pf-search-input/demo/pf-search-input-with-submit.html" %}
{% endhtmlexample %}

#### Disabled
{% htmlexample %}
{% renderFile "./elements/pf-search-input/demo/disabled.html" %}
{% endhtmlexample %}

{% endband %}

{% band header="Accessibility" %}

The search input uses the [Combobox Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/combobox/) recommendations from the WAI ARIA [Authoring Best Practices Guide (APG)](https://www.w3.org/WAI/ARIA/apg).

When the dropdown is disabled it follows [WAI ARIA focusability recommendations](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#focusabilityofdisabledcontrols) for composite widget elements, where dropdown items are still focusable even when the dropdown is disabled.

#### Toggle and typeahead input

When focus is on the toggle, the following keyboard interactions apply:

| Key | Function |
| ---------------------- | -------------------------------------------------------------------------------------- |
| <kbd>Down Arrow</kbd> | Opens the listbox and moves focus to the first listbox item. |
| <kbd>Tab</kbd> | Moves focus to the close button if visible; otherwise, moves to the next focusable element, then closes the listbox.|
| <kbd>Shift + Tab</kbd> | Moves focus out of element onto the previous focusable item and closes listbox. |

#### Listbox options

Listbox options use the [APG's Roving tabindex](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_roving_tabindex) recommendation. When focus is on the listbox, the following keyboard interactions apply:

| Key | Function |
| ---------------------- | ------------------------------------------------------------------------------------- |
| <kbd>Enter</kbd> | Selects the options and closes the listbox. |
| <kbd>Space</kbd> | Selects the options and closes the listbox. |
| <kbd>Tab</kbd> | Moves focus out of element onto the next focusable options and closes listbox. |
| <kbd>Shift + Tab</kbd> | Moves focus to the toggle button and closes listbox. |
| <kbd>Up Arrow</kbd> | Moves focus to the previous option, optionally wrapping from the first to the last. |
| <kbd>Down Arrow</kbd> | Moves focus to the next option, optionally wrapping from the last to the first. |
| <kbd>Left Arrow</kbd> | Returns focus to the combobox without closing the popup and moves the input cursor one character to the left. If the input cursor is on the left-most character, the cursor does not move. |
| <kbd>Right Arrow</kbd> | Returns focus to the combobox without closing the popup and moves the input cursor one character to the right. If the input cursor is on the right-most character, the cursor does not move. |
| <kbd>Escape</kbd> | Close the listbox that contains focus and return focus to the input. |
| <kbd>Any letter</kbd> | Navigates to the next option that starts with the letter. |

{% endband %}

{% renderSlots for="pf-search-input", header="Slots on `pf-search-input`" %}{% endrenderSlots %}
{% renderAttributes for="pf-search-input", header="Attributes on `pf-search-input`" %}{% endrenderAttributes %}
{% renderMethods for="pf-search-input", header="Methods on `pf-search-input`" %}{% endrenderMethods %}
{% renderEvents for="pf-search-input", header="Events on `pf-search-input`" %}{% endrenderEvents %}
{% renderCssCustomProperties for="pf-search-input", header="CSS Custom Properties on `pf-search-input`" %}{% endrenderCssCustomProperties %}
{% renderCssParts for="pf-search-input", header="CSS Parts on `pf-search-input`" %}{% endrenderCssParts %}

{% renderSlots for="pf-option", header="Slots on `pf-option`" %}{% endrenderSlots %}
{% renderAttributes for="pf-option", header="Attributes on `pf-option`" %}{% endrenderAttributes %}
{% renderMethods for="pf-option", header="Methods on `pf-option`" %}{% endrenderMethods %}
{% renderEvents for="pf-option", header="Events on `pf-option`" %}{% endrenderEvents %}
{% renderCssCustomProperties for="pf-option", header="CSS Custom Properties on `pf-option`" %}{% endrenderCssCustomProperties %}
{% renderCssParts for="pf-option", header="CSS Parts on `pf-option`" %}{% endrenderCssParts %}
Binary file added elements/pf-search-input/docs/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading