diff --git a/app/assets/images/close.svg b/app/assets/images/close.svg
index 878343d21..c3066ce69 100644
--- a/app/assets/images/close.svg
+++ b/app/assets/images/close.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/assets/stylesheets/bar.css b/app/assets/stylesheets/bar.css
index 8370ef900..be5eb6a2e 100644
--- a/app/assets/stylesheets/bar.css
+++ b/app/assets/stylesheets/bar.css
@@ -3,6 +3,7 @@
--row-gap: 0.2lh;
background-color: var(--color-terminal-bg);
+ block-size: var(--footer-height);
color: var(--color-terminal-text);
display: flex;
flex-direction: column;
@@ -17,14 +18,18 @@
@media (prefers-color-scheme: dark) {
border-block: 1px solid var(--color-ink-lighter);
}
+
+ &:has(.bar__placeholder[hidden]) {
+ padding-inline: 1ch;
+ }
}
.bar__input {
- transform: translateX(50%);
+ transform: translateY(50%);
transition: transform 350ms cubic-bezier(0.25, 1.25, 0.5, 1);
.bar:has(.bar__placeholder[hidden]) & {
- transform: translateX(0);
+ transform: translateY(0);
}
}
diff --git a/app/assets/stylesheets/buttons.css b/app/assets/stylesheets/buttons.css
index b8a30c7f6..11e52668c 100644
--- a/app/assets/stylesheets/buttons.css
+++ b/app/assets/stylesheets/buttons.css
@@ -64,6 +64,7 @@
.btn[aria-label]:where(:has(.icon)),
.btn:where(:has(.for-screen-reader):has(.icon)) {
--btn-padding: 0;
+ --icon-size: 75%;
aspect-ratio: 1;
block-size: var(--btn-size);
diff --git a/app/assets/stylesheets/search.css b/app/assets/stylesheets/search.css
index 49e466b39..4ce4fc214 100644
--- a/app/assets/stylesheets/search.css
+++ b/app/assets/stylesheets/search.css
@@ -16,7 +16,7 @@
/* Form
/* ------------------------------------------------------------------------ */
- .search__form-input {
+ .search__input {
--clear-icon-size: 1em;
--focus-ring-size: 0;
--input-border-color: var(--color-ink-light);
@@ -28,26 +28,22 @@
position: relative;
&::-webkit-search-cancel-button {
- --clear-icon-size: 0.66rem;
+ display: none;
+ }
+ }
- -webkit-appearance: none;
- appearance: none;
- background-image: url('data:image/svg+xml;utf8,');
- background-repeat: no-repeat;
- background-size: var(--clear-icon-size);
- block-size: var(--clear-icon-size);
- cursor: pointer;
- inline-size: var(--clear-icon-size);
- inset: 50% 0 auto auto;
- position: absolute;
- translate: 0 -50%;
+ .search__reset {
+ --btn-background: var(--color-terminal-bg);
+ --btn-size: 1.25lh;
- @media (prefers-color-scheme: dark) {
- background-image: url('data:image/svg+xml;utf8,');
+ @media (min-width: 800px) {
+ .search__input:placeholder-shown ~ & {
+ opacity: 0;
}
}
}
+
/* Content
/* ------------------------------------------------------------------------ */
diff --git a/app/javascript/controllers/bar_controller.js b/app/javascript/controllers/bar_controller.js
index 5ceed089c..31fc11e3f 100644
--- a/app/javascript/controllers/bar_controller.js
+++ b/app/javascript/controllers/bar_controller.js
@@ -18,6 +18,7 @@ export default class extends Controller {
this.dialogOutlet.close()
this.#clearTurboFrame()
+ this.searchInputTarget.querySelector("input").value = ""
this.#showItem(this.buttonsContainerTarget)
this.#hideItem(this.searchInputTarget)
if (this.hasAskInputTarget) {
diff --git a/app/views/searches/_form.html.erb b/app/views/searches/_form.html.erb
index a0f8b3448..bc2c9cb4f 100644
--- a/app/views/searches/_form.html.erb
+++ b/app/views/searches/_form.html.erb
@@ -1,11 +1,15 @@
<%= form_with url: search_path, method: :get, class: "search__form flex align-center justify-center gap-half", data: { turbo_frame: "bar-content" } do |form| %>
<%= form.label :q, "Search Fizzy", class: "font-weight-black txt-nowrap" %>
<%= text_field_tag :q, query_terms,
- class: "search__form-input input",
+ class: "search__input input",
type: "search",
placeholder: "Find something…",
autocomplete: "off",
autofocus: true,
data: {
action: "keydown.enter->bar#showModalAndSubmit keydown.esc->bar#reset" } %>
+
<% end %>