/* Components and utilities that are good candidates for extraction to StyleKit. */ .border-2 { border-width: 2px; } .border-b-1 { border-bottom-width: 1px; } .border-background { border-color: var(--sn-stylekit-background-color); } .border-transparent { border-color: transparent; } .border-info { border-color: var(--sn-stylekit-info-color); } .border-neutral { border-color: var(--sn-stylekit-neutral-color); } .bg-border { background-color: var(--sn-stylekit-border-color); } .bg-clip-padding { background-clip: padding-box; } .bg-neutral { background-color: var(--sn-stylekit-neutral-color); } .focus-within\:border-background:focus-within { border-color: var(--sn-stylekit-background-color); } .focus\:border-bottom:focus { border-bottom: 2px solid var(--sn-stylekit-info-color); } .grid { display: grid; } .justify-start { justify-content: flex-start; } .my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; } .ml-1 { margin-left: 0.25rem; } .mr-1 { margin-right: 0.25rem; } .mr-10 { margin-right: 2.5rem; } .-mt-1 { margin-top: -0.25rem; } .-mr-1 { margin-right: -0.25rem; } .-mr-2 { margin-right: -0.5rem; } .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; } .pl-1 { padding-left: 0.25rem; } .pr-2 { padding-right: 0.5rem; } .px-1 { padding-left: 0.25rem; padding-right: 0.25rem; } .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; } .py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; } .py-8 { padding-top: 2rem; padding-bottom: 2rem; } .outline-none { outline: none; } .color-foreground { color: var(--sn-stylekit-foreground-color); } .color-danger { color: var(--sn-stylekit-danger-color); } .color-info { color: var(--sn-stylekit-info-color); } .ring-info { box-shadow: 0 0 0 2px var(--sn-stylekit-info-color); } .inner-ring-info { box-shadow: inset 0 0 0 2px var(--sn-stylekit-info-color); } .focus\:bg-contrast:focus { @extend .bg-contrast; } .hover\:color-text:hover { @extend .color-text; } .focus\:color-text:focus { @extend .color-text; } .hover\:bg-secondary-contrast:hover { @extend .bg-secondary-contrast; } .focus\:bg-secondary-contrast:focus { @extend .bg-secondary-contrast; } .focus\:inner-ring-info:focus { @extend .inner-ring-info; } .focus\:ring-info:focus { @extend .ring-info; } .focus-within\:ring-info:focus-within { @extend .ring-info; } .text-left { text-align: left; } .text-3xl { font-size: 1.875rem; line-height: 2.25rem; } .w-0 { width: 0; } .w-3\.5 { width: 0.875rem; } .w-5 { width: 1.25rem; } .w-8 { width: 2rem; } .max-w-290px { max-width: 290px; } .max-w-xs { max-width: 20rem; } .max-w-40 { max-width: 10rem; } .min-w-5 { min-width: 1.25rem; } .min-w-40 { min-width: 10rem; } .h-1px { height: 1px; } .h-0 { height: 0; } .h-3\.5 { height: 0.875rem; } .h-4\.5 { height: 1.125rem; } .h-5 { height: 1.25rem; } .h-6 { height: 1.5rem; } .h-7 { height: 1.75rem; } .h-8 { height: 2rem; } .h-9 { height: 2.25rem; } .h-10 { height: 2.5rem; } .h-18 { height: 4.5rem; } .h-screen { height: 100vh; } .max-h-120 { max-height: 30rem; } .min-h-5 { min-height: 1.25rem; } .fixed { position: fixed; } .overflow-y-scroll { overflow-y: scroll; } .overflow-auto { overflow: auto; } .overflow-hidden { overflow: hidden; } .overflow-ellipsis { text-overflow: ellipsis; } .items-start { align-items: flex-start; } .p-2 { padding: 0.5rem; } .flex-wrap { flex-wrap: wrap; } .whitespace-pre-wrap { white-space: pre-wrap; } .whitespace-nowrap { white-space: nowrap; } .w-80 { width: 20rem; } .w-70 { width: 17.5rem; } /** * A button that is just an icon. Separated from .sn-button because there * is almost no style overlap. */ .sn-icon-button { @extend .w-8; @extend .h-8; @extend .flex; @extend .justify-center; @extend .items-center; @extend .border-solid; @extend .border-1; @extend .border-neutral; @extend .bg-clip-padding; @extend .m-0; @extend .p-0; @extend .bg-transparent; @extend .cursor-pointer; @extend .rounded-full; @extend .color-neutral; @extend .hover\:color-text; @extend .focus\:color-text; @extend .hover\:bg-contrast; @extend .focus\:bg-contrast; @extend .focus\:outline-none; @extend .focus\:ring-info; } .sn-icon { @extend .h-5; @extend .w-5; @extend .fill-current; &.sn-icon--small { @extend .h-3\.5 ; @extend .w-3\.5 ; } } .sn-dropdown { @extend .bg-default; // @extend .min-w-80; @extend .rounded; @extend .box-shadow; z-index: $z-index-dropdown-menu; &.sn-dropdown--anchor-right { right: 0; } &[data-state='collapsed'] { display: none; } &.sn-dropdown--animated { @extend .transition-transform; @extend .duration-150; @extend .slide-down-animation; } &.sn-dropdown--small { @extend .min-w-40; } } /** Lesser specificity will give priority to reach's styles */ [data-reach-custom-checkbox-container].sn-switch { @extend .duration-150; @extend .ease-out; @extend .rounded-full; @extend .transition-background; @extend .bg-clip-padding; @extend .cursor-pointer; @extend .border-transparent; @extend .w-8; @extend .h-4\.5; @extend .border-2; @extend .border-solid; @extend .focus-within\:ring-info; @extend .focus-within\:outline-none; @extend .focus-within\:border-background; box-sizing: content-box; } .sn-switch-handle { @extend .absolute; @extend .block; @extend .bg-default; @extend .rounded-full; @extend .ease-out; @extend .transition-transform; @extend .duration-150; left: 2px; @extend .w-3\.5; @extend .h-3\.5; top: 50%; transform: translate(0px, -50%); &.sn-switch-handle--right { transform: translate( calc(2rem - 1.125rem), -50% ); } } .sn-component .sk-app-bar .sk-app-bar-item { justify-content: flex-start; } .sn-dropdown-item { @extend .flex; @extend .items-center; @extend .border-0; @extend .focus\:inner-ring-info; @extend .cursor-pointer; @extend .hover\:bg-contrast; @extend .color-text; @extend .bg-transparent; @extend .px-3; @extend .py-1\.5; @extend .text-left; @extend .w-full; &.sn-dropdown-item--no-icon { @extend .py-2; } } .sn-tag { @extend .h-6; @extend .bg-contrast; @extend .border-0; @extend .rounded; @extend .text-xs; @extend .color-text; @extend .py-1; @extend .py-2; @extend .pr-2; @extend .flex; @extend .items-center; @extend .mt-2; @extend .cursor-pointer; @extend .hover\:bg-secondary-contrast; @extend .focus\:bg-secondary-contrast; }