UNPKG

mycsslab

Version:

MyCSSLab Quantum v3.0 - Revolutionary CSS framework with AI-powered intelligence, holographic UI, neural networks, and quantum effects

491 lines (417 loc) 10.6 kB
/** * FluxCSS Form Utilities * Form styling and input utilities */ /* Form Elements */ .my-form-input { appearance: none; background-color: #ffffff; border: 1px solid #d1d5db; border-radius: 0.375rem; color: #111827; font-size: 1rem; line-height: 1.5rem; padding: 0.5rem 0.75rem; transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out; } .my-form-input:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); outline: none; } .my-form-input:disabled { background-color: #f9fafb; color: #6b7280; cursor: not-allowed; } .my-form-input:invalid { border-color: #ef4444; } .my-form-input:valid { border-color: #22c55e; } /* Input Sizes */ .my-form-input-sm { font-size: 0.875rem; line-height: 1.25rem; padding: 0.25rem 0.5rem; } .my-form-input-lg { font-size: 1.125rem; line-height: 1.75rem; padding: 0.75rem 1rem; } .my-form-input-xl { font-size: 1.25rem; line-height: 1.75rem; padding: 1rem 1.25rem; } /* Input Variants */ .my-form-input-primary { border-color: #3b82f6; } .my-form-input-primary:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .my-form-input-success { border-color: #22c55e; } .my-form-input-success:focus { border-color: #16a34a; box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.1); } .my-form-input-warning { border-color: #f59e0b; } .my-form-input-warning:focus { border-color: #d97706; box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1); } .my-form-input-error { border-color: #ef4444; } .my-form-input-error:focus { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); } /* Textarea */ .my-form-textarea { appearance: none; background-color: #ffffff; border: 1px solid #d1d5db; border-radius: 0.375rem; color: #111827; font-size: 1rem; line-height: 1.5rem; padding: 0.5rem 0.75rem; resize: vertical; transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out; } .my-form-textarea:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); outline: none; } .my-form-textarea:disabled { background-color: #f9fafb; color: #6b7280; cursor: not-allowed; } /* Select */ .my-form-select { appearance: none; background-color: #ffffff; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e"); background-position: right 0.5rem center; background-repeat: no-repeat; background-size: 1.5em 1.5em; border: 1px solid #d1d5db; border-radius: 0.375rem; color: #111827; font-size: 1rem; line-height: 1.5rem; padding: 0.5rem 2.5rem 0.5rem 0.75rem; transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out; } .my-form-select:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); outline: none; } .my-form-select:disabled { background-color: #f9fafb; color: #6b7280; cursor: not-allowed; } /* Checkbox */ .my-form-checkbox { appearance: none; background-color: #ffffff; border: 1px solid #d1d5db; border-radius: 0.25rem; color: #3b82f6; cursor: pointer; height: 1rem; width: 1rem; transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out, box-shadow 150ms ease-in-out; } .my-form-checkbox:checked { background-color: #3b82f6; background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3e%3c/svg%3e"); border-color: #3b82f6; } .my-form-checkbox:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); outline: none; } .my-form-checkbox:disabled { background-color: #f9fafb; border-color: #d1d5db; color: #6b7280; cursor: not-allowed; } /* Radio */ .my-form-radio { appearance: none; background-color: #ffffff; border: 1px solid #d1d5db; border-radius: 50%; color: #3b82f6; cursor: pointer; height: 1rem; width: 1rem; transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out, box-shadow 150ms ease-in-out; } .my-form-radio:checked { background-color: #3b82f6; background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); border-color: #3b82f6; } .my-form-radio:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); outline: none; } .my-form-radio:disabled { background-color: #f9fafb; border-color: #d1d5db; color: #6b7280; cursor: not-allowed; } /* Switch */ .my-form-switch { appearance: none; background-color: #d1d5db; border: none; border-radius: 9999px; cursor: pointer; height: 1.25rem; position: relative; transition: background-color 150ms ease-in-out; width: 2.5rem; } .my-form-switch:checked { background-color: #3b82f6; } .my-form-switch:focus { box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); outline: none; } .my-form-switch:disabled { background-color: #f3f4f6; cursor: not-allowed; } .my-form-switch::before { background-color: #ffffff; border-radius: 50%; content: ''; height: 1rem; left: 0.125rem; position: absolute; top: 0.125rem; transition: transform 150ms ease-in-out; width: 1rem; } .my-form-switch:checked::before { transform: translateX(1.25rem); } /* File Input */ .my-form-file { appearance: none; background-color: #ffffff; border: 1px solid #d1d5db; border-radius: 0.375rem; color: #111827; cursor: pointer; font-size: 1rem; line-height: 1.5rem; padding: 0.5rem 0.75rem; transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out; } .my-form-file:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); outline: none; } .my-form-file:disabled { background-color: #f9fafb; color: #6b7280; cursor: not-allowed; } /* Range Input */ .my-form-range { appearance: none; background-color: #d1d5db; border: none; border-radius: 9999px; cursor: pointer; height: 0.5rem; transition: background-color 150ms ease-in-out; width: 100%; } .my-form-range::-webkit-slider-thumb { appearance: none; background-color: #3b82f6; border: none; border-radius: 50%; cursor: pointer; height: 1.25rem; width: 1.25rem; } .my-form-range::-moz-range-thumb { background-color: #3b82f6; border: none; border-radius: 50%; cursor: pointer; height: 1.25rem; width: 1.25rem; } .my-form-range:focus { outline: none; } .my-form-range:focus::-webkit-slider-thumb { box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .my-form-range:focus::-moz-range-thumb { box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .my-form-range:disabled { background-color: #f3f4f6; cursor: not-allowed; } /* Form Labels */ .my-form-label { color: #374151; display: block; font-size: 0.875rem; font-weight: 500; line-height: 1.25rem; margin-bottom: 0.25rem; } .my-form-label-required::after { color: #ef4444; content: ' *'; } .my-form-label-optional::after { color: #6b7280; content: ' (optional)'; } /* Form Help Text */ .my-form-help { color: #6b7280; font-size: 0.875rem; line-height: 1.25rem; margin-top: 0.25rem; } .my-form-help-error { color: #ef4444; } .my-form-help-success { color: #22c55e; } .my-form-help-warning { color: #f59e0b; } /* Form Groups */ .my-form-group { margin-bottom: 1rem; } .my-form-group-inline { display: flex; gap: 1rem; } .my-form-group-inline .my-form-label { margin-bottom: 0; margin-right: 0.5rem; } /* Form Validation States */ .my-form-valid { border-color: #22c55e; } .my-form-valid:focus { border-color: #16a34a; box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.1); } .my-form-invalid { border-color: #ef4444; } .my-form-invalid:focus { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); } .my-form-warning { border-color: #f59e0b; } .my-form-warning:focus { border-color: #d97706; box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1); } /* Form Sizes */ .my-form-sm .my-form-input, .my-form-sm .my-form-textarea, .my-form-sm .my-form-select { font-size: 0.875rem; line-height: 1.25rem; padding: 0.25rem 0.5rem; } .my-form-lg .my-form-input, .my-form-lg .my-form-textarea, .my-form-lg .my-form-select { font-size: 1.125rem; line-height: 1.75rem; padding: 0.75rem 1rem; } .my-form-xl .my-form-input, .my-form-xl .my-form-textarea, .my-form-xl .my-form-select { font-size: 1.25rem; line-height: 1.75rem; padding: 1rem 1.25rem; } /* Form Variants */ .my-form-primary .my-form-input, .my-form-primary .my-form-textarea, .my-form-primary .my-form-select { border-color: #3b82f6; } .my-form-primary .my-form-input:focus, .my-form-primary .my-form-textarea:focus, .my-form-primary .my-form-select:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .my-form-success .my-form-input, .my-form-success .my-form-textarea, .my-form-success .my-form-select { border-color: #22c55e; } .my-form-success .my-form-input:focus, .my-form-success .my-form-textarea:focus, .my-form-success .my-form-select:focus { border-color: #16a34a; box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.1); } .my-form-warning .my-form-input, .my-form-warning .my-form-textarea, .my-form-warning .my-form-select { border-color: #f59e0b; } .my-form-warning .my-form-input:focus, .my-form-warning .my-form-textarea:focus, .my-form-warning .my-form-select:focus { border-color: #d97706; box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1); } .my-form-error .my-form-input, .my-form-error .my-form-textarea, .my-form-error .my-form-select { border-color: #ef4444; } .my-form-error .my-form-input:focus, .my-form-error .my-form-textarea:focus, .my-form-error .my-form-select:focus { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); }