-
Notifications
You must be signed in to change notification settings - Fork 106
feat(search-input): pf-search-input element #2899
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
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 03d0269
chore: search input updated
ArathyKumar d567bf5
chore: search input option added
ArathyKumar 36875aa
chore: pf-search input created
ArathyKumar 4e69215
chore: code cleanup
ArathyKumar 34900a4
chore: search autocomplete style added
ArathyKumar a332552
chore: close button functionality implemented
ArathyKumar e8f5bfb
chore: CSS variables updated
ArathyKumar 6573703
chore: styles updated
ArathyKumar a8a4b35
chore: outside click implementation
ArathyKumar a4491fd
chore: added pf-option instead of pf-search-input-option
ArathyKumar 6eaa40c
chore: style issues resolved
ArathyKumar fe4c0ef
chore: style issues resolved
ArathyKumar 901990f
chore: code cleanup
ArathyKumar 95431ac
chore: code cleanup
ArathyKumar 0d919c0
chore: search icon fix
ArathyKumar 3338f8b
chore: merge main to pf-text-input-autocomplete
ArathyKumar 6cf967b
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar 8d6991e
chore: Limit number of autocomplete options shown to the user
ArathyKumar 6cf6705
chore: selected suggestion styling removed
ArathyKumar 3e1e8cd
fix: resolved style issues
ArathyKumar d1eec5e
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar 22f4e9a
chore: resolved lint errors
ArathyKumar b1baf62
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar eb70f39
chore: reverted combobox controller changes
ArathyKumar 7ce25ed
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar 5a9de0e
chore: added static initialization block for outside click
ArathyKumar f180d02
chore: fix SSR issues
ArathyKumar 32e1afa
chore: removed mock data
ArathyKumar 913b681
chore: hide close button
ArathyKumar 88a0a57
chore: inline styles removed
ArathyKumar 9136ae3
chore: replaced svg with pf-icon
ArathyKumar a413c2a
chore: pf-option selected background color variable added
ArathyKumar c9a62d3
chore: removed unnecessary style
ArathyKumar 201693a
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar 84c19bd
feat(search-input): add pf-search-input element
ArathyKumar 1d96eec
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar 616475b
chore: search change event updated
ArathyKumar d0fc1a7
chore: replace native input with pf-text-input
ArathyKumar 621b442
chore: added search functionality on enter and space key press
ArathyKumar 83b65d6
chore: screenshot updated
ArathyKumar a0ca681
chore: demo files updated
ArathyKumar 8f5d6f3
chore: updated readme
ArathyKumar 011a221
chore: removed duplicate style
ArathyKumar c8ad1ac
chore: test cases added - draft
ArathyKumar a363caa
chore: draft spec file added
ArathyKumar 1ae7863
chore: spec file updated
ArathyKumar 4268ecf
chore: updated test cases
ArathyKumar 40ec9df
chore: style fix
ArathyKumar cfc1389
chore: submit button variant added
ArathyKumar f9198e5
chore: code cleanup
ArathyKumar fc1bcba
chore: submit button function updated
ArathyKumar 83faa65
chore: search input with submit button variant added
ArathyKumar b00c9ad
chore: display listbox only when input is entered in the textbox
ArathyKumar 7a8ac31
chore: test cases updated
ArathyKumar 8d27b71
chore: updated documentation
ArathyKumar dac2e45
chore: updated arrow-down functionality
ArathyKumar 0333d28
chore: updated documentation
ArathyKumar 1035574
chore: variable added for listbox max-height
ArathyKumar e085a4d
chore: updated to css logical properties
ArathyKumar 844d1b2
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar 05ab612
chore: added negative tab index to prevent focus
ArathyKumar ae3724a
Merge branch 'main' into 2887-pf-text-input-autocomplete
ArathyKumar 3d60e49
Update elements/pf-search-input/docs/pf-search-input.md
ArathyKumar 71425bb
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar 008164f
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar 0fc1cd1
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar 485a8d8
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar 4ce4511
chore: resolved tab indentation issues
ArathyKumar dc98108
Merge branch '2887-pf-text-input-autocomplete' of github.com:patternf…
ArathyKumar 831c66f
chore: documentation update
ArathyKumar 9c6b207
chore: set selected option function updated
ArathyKumar fe699bf
chore: set focus back to toggle input on clicking close button
ArathyKumar e343b81
Update elements/pf-search-input/docs/pf-search-input.md
ArathyKumar 27911f3
chore: added type button for hidden button
ArathyKumar 60e50c9
docs: changeset
ArathyKumar f90a262
chore: update cem dependency
bennypowers faf70a4
style: formatting, docs
bennypowers 46bfb59
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar f2c6d5e
fix: selected property removed
ArathyKumar dcad921
Update elements/pf-search-input/pf-search-input.ts
ArathyKumar b034fcf
fix: move focusout handling into ComboboxController
ArathyKumar 22e9d39
fix: ssr issue
ArathyKumar 175f56b
chore: extend toggle button to support close functionality
ArathyKumar 50354c7
fix: updated this.value state management
ArathyKumar 4ab93a5
chore: added test cases for search input in disabled state
ArathyKumar 9b62b5b
chore: test cases added for close button functionality
ArathyKumar 0b61fc9
chore: test cases added for outside click and on focus out
ArathyKumar 6410dec
chore: updated documentation
ArathyKumar 3e2d8ed
fix: close button functionality
ArathyKumar 4ceabc2
chore: added test cases for form submission
ArathyKumar 6c23f3e
chore: code cleanup
ArathyKumar c8fc771
fix: reset combobox selected state
bennypowers 7a7e8aa
Merge branch 'main' into 2887-pf-text-input-autocomplete
bennypowers 5bc1ecd
test(search-input): reorganize suites
bennypowers 27c9694
test(search-input): correct test cases
bennypowers File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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> | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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> | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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
62
elements/pf-search-input/demo/pf-search-input-with-submit.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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> |
adamjohnson marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | ||
bennypowers marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| 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 %} | ||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.