diff options
| author | Armand Philippot <git@armandphilippot.com> | 2023-09-22 19:34:01 +0200 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2023-10-24 12:23:48 +0200 |
| commit | a6ff5eee45215effb3344cb5d631a27a7c0369aa (patch) | |
| tree | 5051747acf72318b4fc5c18d603e3757fbefdfdb /src/components/organisms/forms/search-form/search-form.module.scss | |
| parent | 651ea4fc992e77d2f36b3c68f8e7a70644246067 (diff) | |
refactor(components): rewrite form components
Diffstat (limited to 'src/components/organisms/forms/search-form/search-form.module.scss')
| -rw-r--r-- | src/components/organisms/forms/search-form/search-form.module.scss | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/components/organisms/forms/search-form/search-form.module.scss b/src/components/organisms/forms/search-form/search-form.module.scss new file mode 100644 index 0000000..e485380 --- /dev/null +++ b/src/components/organisms/forms/search-form/search-form.module.scss @@ -0,0 +1,67 @@ +@use "../../../../styles/abstracts/functions" as fun; +@use "../../../../styles/abstracts/mixins" as mix; + +.wrapper { + display: flex; + align-items: center; + position: relative; + + @include mix.media("screen") { + @include mix.dimensions("sm") { + max-width: 35ch; + } + } +} + +.btn { + align-self: stretch; + background: var(--color-bg-tertiary); + border: fun.convert-px(2) solid var(--color-border); + border-left: none; + box-shadow: fun.convert-px(3) fun.convert-px(3) 0 0 var(--color-shadow); + transition: all 0.25s linear 0s; + + &__icon { + transform: scale(0.85); + transition: all 0.3s ease-in-out 0s; + } + + &:focus { + outline: var(--color-primary-light) solid fun.convert-px(3); + } + + &:active { + outline: none; + } + + &:hover &, + &:focus & { + &__icon { + transform: scale(0.85) rotate(20deg) translateY(#{fun.convert-px(3)}); + } + } + + &:active & { + &__icon { + transform: scale(0.7); + } + } +} + +.field { + &:focus-within ~ .btn { + background: var(--color-bg); + border-color: var(--color-primary); + box-shadow: none; + transform: translate(fun.convert-px(3), fun.convert-px(3)); + transition: + all 0.2s ease-in-out 0s, + transform 0.3s ease-out 0s; + } + + &:hover:not(:focus-within) ~ .btn { + box-shadow: fun.convert-px(5) fun.convert-px(5) 0 fun.convert-px(1) + var(--color-shadow); + transform: translate(fun.convert-px(-3), fun.convert-px(-3)); + } +} |
