Skip to main content
Glama
deleonio
by deleonio
input-checkbox.scss5.83 kB
@use '../mixins/to-rem' as *; @use '../mixins/focus-outline' as *; @use '../mixins/alert-wc' as *; @use '../mixins/typography' as *; @use '../@shared/input-core' as *; @use '../mixins/field-control' as *; @layer kol-theme-component { :host { --theme-visibility-delay: 0.5s; } .kol-form-field { $root: &; &--disabled { #{$root}__input { outline: none; } } } @include kol-field-control-theme; .kol-field-control { $root: &; &--label-align-left:not(.kol-input-checkbox__field-control--variant-button) &__label { padding-right: to-rem(6.4); } &--label-align-right:not(.kol-input-checkbox__field-control--variant-button) &__label { padding-left: to-rem(6.4); } } .kol-checkbox { .kol-input { @include kol-typography-body; background-color: white; border-color: var(--color-subtle); border-style: solid; border-radius: var(--border-radius); width: 100%; margin: 0; border-width: 2px; order: 1; appearance: none; transition: 0.5s; &:checked, &:indeterminate { background-color: var(--color-primary); border-color: var(--color-primary); } &:focus { @include focus-outline; } &:focus:hover { box-shadow: none; } &:active { box-shadow: none; } &:not(:disabled):hover { box-shadow: 0 2px 8px 2px rgb(8, 35, 48, 0.24); border-color: var(--color-primary); } } &.kol-checkbox--disabled { opacity: 0.5; } } .kol-checkbox--variant-default { width: initial; min-width: initial; .kol-input { border-radius: var(--border-radius); width: calc(6 * to-rem(4)); min-width: calc(6 * to-rem(4)); height: calc(6 * to-rem(4)); } .kol-icon { color: var(--color-light); } } .kol-checkbox--variant-switch { .kol-icon { left: to-rem(2); width: 1.25em; height: 1.25em; } .kol-input { background-color: var(--color-subtle); /* Visible with forced colors */ outline: transparent solid to-rem(1); border-radius: 1.25em; display: block; position: relative; width: 3.5em; min-width: 3.5em; height: 1.5em; border-width: 0; &:focus { @include switch-outline; border-radius: 1.25em; } &:before { background-color: white; border-radius: 1.25em; position: absolute; top: calc(0.25em - to-rem(2)); left: calc(0.25em - to-rem(2)); width: 1.25em; height: 1.25em; } &:checked { background-color: var(--color-primary); } &:checked::before { transform: translateX(2em); } &:indeterminate::before { transform: translateX(1em); } } &.kol-checkbox--checked .kol-icon { transform: translate(2em, -50%); } &.kol-checkbox--indeterminate .kol-icon { transform: translate(1em, -50%); } } .kol-input-checkbox__field-control { $root: &; &--variant-button { .kol-field-control { &__input, &__label { color: var(--color-primary); background-color: var(--color-light); border-color: var(--color-primary); } &__input { border-style: solid none solid solid; border-radius: var(--border-radius) 0 0 var(--border-radius); height: 100%; border-width: 1px 0 1px 1px; } &__label { border-style: solid solid solid none; border-radius: 0 var(--border-radius) var(--border-radius) 0; display: flex; padding-right: to-rem(16); border-width: 1px 1px 1px 0; align-self: stretch; justify-self: stretch; &-text { margin: auto auto; font-weight: 700; } } } &.kol-input-checkbox__field-control { &--indeterminate { & .kol-field-control { &__input, &__label { color: var(--color-primary); background-color: var(--color-mute); border-color: var(--color-primary); } } } &--checked { & .kol-field-control { &__input, &__label { color: var(--color-light); background-color: var(--color-primary); border-color: var(--color-primary); } } } } &:is(:active, :hover):not(.kol-field-control--disabled) { .kol-field-control { &__input, &__label { color: var(--color-light); background-color: var(--color-primary-variant); box-shadow: 0 2px 8px 2px rgb(8, 35, 48, 0.24); border-color: var(--color-primary-variant); } } &:not(.kol-field-control--hide-label) { .kol-field-control { &__label { clip-path: inset(to-rem(-10) to-rem(-10) to-rem(-10) 0); } &__input { clip-path: inset(to-rem(-10) 0 to-rem(-10) to-rem(-10)); } } } } &:focus-within { @include focus-outline; } &.kol-field-control { &--label-align-left { .kol-field-control { &__input { border-style: solid solid solid none; border-radius: 0 var(--border-radius) var(--border-radius) 0; border-width: 1px 1px 1px 0; } &__label { border-style: solid none solid solid; border-radius: var(--border-radius) 0 0 var(--border-radius); border-width: 1px 0 1px 1px; } } &:is(:active, :hover):not(.kol-field-control--disabled) { &:not(.kol-field-control--hide-label) { .kol-field-control { &__label { clip-path: inset(to-rem(-10) 0 to-rem(-10) to-rem(-10)); } &__input { clip-path: inset(to-rem(-10) to-rem(-10) to-rem(-10) 0); } } } } } &--hide-label { .kol-field-control { &__input { border-style: solid; border-radius: var(--border-radius); border-width: 1px; } } } &--disabled { .kol-field-control { &__input { opacity: 0.5; outline: none; } } } } } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deleonio/public-ui-kolibri'

If you have feedback or need assistance with the MCP directory API, please join our Discord server