// ============================================ // BILLIT - Utility Classes // ============================================ @use 'variables' as *; // Display .hidden { display: none !important; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } .flex { display: flex; } .inline-flex { display: inline-flex; } .grid { display: grid; } // Flex utilities .flex-row { flex-direction: row; } .flex-col { flex-direction: column; } .flex-wrap { flex-wrap: wrap; } .flex-1 { flex: 1; } .flex-grow { flex-grow: 1; } .flex-shrink-0 { flex-shrink: 0; } .items-start { align-items: flex-start; } .items-center { align-items: center; } .items-end { align-items: flex-end; } .items-stretch { align-items: stretch; } .justify-start { justify-content: flex-start; } .justify-center { justify-content: center; } .justify-end { justify-content: flex-end; } .justify-between { justify-content: space-between; } .gap-1 { gap: $spacing-1; } .gap-2 { gap: $spacing-2; } .gap-3 { gap: $spacing-3; } .gap-4 { gap: $spacing-4; } .gap-6 { gap: $spacing-6; } .gap-8 { gap: $spacing-8; } // Text .text-xs { font-size: $font-size-xs; } .text-sm { font-size: $font-size-sm; } .text-base { font-size: $font-size-base; } .text-md { font-size: $font-size-md; } .text-lg { font-size: $font-size-lg; } .text-xl { font-size: $font-size-xl; } .text-2xl { font-size: $font-size-2xl; } .text-3xl { font-size: $font-size-3xl; } .font-normal { font-weight: $font-weight-normal; } .font-medium { font-weight: $font-weight-medium; } .font-semibold { font-weight: $font-weight-semibold; } .font-bold { font-weight: $font-weight-bold; } .text-left { text-align: left; } .text-center { text-align: center; } .text-right { text-align: right; } .uppercase { text-transform: uppercase; } .lowercase { text-transform: lowercase; } .capitalize { text-transform: capitalize; } .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .whitespace-nowrap { white-space: nowrap; } // Colors .text-black { color: $color-black; } .text-white { color: $color-white; } .text-gray { color: $color-gray-600; } .text-gray-dark { color: $color-gray-800; } .text-gray-light { color: $color-gray-500; } .text-primary { color: $color-primary; } .text-accent { color: $color-accent; } .text-success { color: $color-success; } .text-warning { color: $color-warning; } .text-error { color: $color-error; } .bg-white { background-color: $color-white; } .bg-gray-50 { background-color: $color-gray-50; } .bg-gray-100 { background-color: $color-gray-100; } .bg-gray-200 { background-color: $color-gray-200; } .bg-black { background-color: $color-black; } .bg-primary { background-color: $color-primary; } // Spacing - Margin .m-0 { margin: $spacing-0; } .m-2 { margin: $spacing-2; } .m-4 { margin: $spacing-4; } .m-8 { margin: $spacing-8; } .mt-0 { margin-top: $spacing-0; } .mt-2 { margin-top: $spacing-2; } .mt-4 { margin-top: $spacing-4; } .mt-6 { margin-top: $spacing-6; } .mt-8 { margin-top: $spacing-8; } .mt-12 { margin-top: $spacing-12; } .mb-0 { margin-bottom: $spacing-0; } .mb-2 { margin-bottom: $spacing-2; } .mb-4 { margin-bottom: $spacing-4; } .mb-6 { margin-bottom: $spacing-6; } .mb-8 { margin-bottom: $spacing-8; } .ml-2 { margin-left: $spacing-2; } .ml-4 { margin-left: $spacing-4; } .mr-2 { margin-right: $spacing-2; } .mr-4 { margin-right: $spacing-4; } .mx-auto { margin-left: auto; margin-right: auto; } // Spacing - Padding .p-0 { padding: $spacing-0; } .p-2 { padding: $spacing-2; } .p-3 { padding: $spacing-3; } .p-4 { padding: $spacing-4; } .p-6 { padding: $spacing-6; } .p-8 { padding: $spacing-8; } .px-2 { padding-left: $spacing-2; padding-right: $spacing-2; } .px-4 { padding-left: $spacing-4; padding-right: $spacing-4; } .px-6 { padding-left: $spacing-6; padding-right: $spacing-6; } .px-8 { padding-left: $spacing-8; padding-right: $spacing-8; } .py-2 { padding-top: $spacing-2; padding-bottom: $spacing-2; } .py-3 { padding-top: $spacing-3; padding-bottom: $spacing-3; } .py-4 { padding-top: $spacing-4; padding-bottom: $spacing-4; } .py-6 { padding-top: $spacing-6; padding-bottom: $spacing-6; } .py-8 { padding-top: $spacing-8; padding-bottom: $spacing-8; } // Width/Height .w-full { width: 100%; } .w-auto { width: auto; } .h-full { height: 100%; } .h-screen { height: 100vh; } .min-h-screen { min-height: 100vh; } // Borders .border { border: $border-width solid $border-color; } .border-0 { border: none; } .border-t { border-top: $border-width solid $border-color; } .border-b { border-bottom: $border-width solid $border-color; } .border-l { border-left: $border-width solid $border-color; } .border-r { border-right: $border-width solid $border-color; } .border-dark { border-color: $border-color-dark; } .border-2 { border-width: $border-width-2; } // Position .relative { position: relative; } .absolute { position: absolute; } .fixed { position: fixed; } .sticky { position: sticky; } .top-0 { top: 0; } .right-0 { right: 0; } .bottom-0 { bottom: 0; } .left-0 { left: 0; } .inset-0 { top: 0; right: 0; bottom: 0; left: 0; } // Z-index .z-10 { z-index: 10; } .z-20 { z-index: 20; } .z-50 { z-index: 50; } .z-100 { z-index: 100; } // Overflow .overflow-hidden { overflow: hidden; } .overflow-auto { overflow: auto; } .overflow-x-auto { overflow-x: auto; } .overflow-y-auto { overflow-y: auto; } // Shadows .shadow { box-shadow: $shadow-sm; } .shadow-md { box-shadow: $shadow-md; } .shadow-lg { box-shadow: $shadow-lg; } .shadow-none { box-shadow: none; } // Cursor .cursor-pointer { cursor: pointer; } .cursor-default { cursor: default; } // Opacity .opacity-50 { opacity: 0.5; } .opacity-75 { opacity: 0.75; } // Print utilities @media print { .no-print { display: none !important; } .print-only { display: block !important; } } .print-only { display: none; }