form-control.scss 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. @use 'sass:math';
  2. @import '../mixins';
  3. .form-control-ds,
  4. .form-group-ds,
  5. .form-text-ds,
  6. .form-label-ds,
  7. .form-group-ds label,
  8. .website-redesign .form-group-ds label,
  9. .website-redesign .form-label-ds {
  10. @include ds-body-sm-semibold;
  11. --bs-body-font-family: var(--ds-font-family-sans), sans-serif;
  12. --bs-success-rgb: 25, 117, 76; // #19754c
  13. --bs-danger-rgb: 195, 9, 43; // #c3092b
  14. --content-placeholder: var(--ds-color-text-disabled);
  15. font-family:
  16. var(--ds-font-family-sans), sans-serif; // Without this, it inherits the body's --bs-body-font-family which isn't the DS font
  17. color: var(--ds-color-text-primary);
  18. margin-bottom: var(--ds-spacing-100);
  19. }
  20. .form-group-ds {
  21. margin-bottom: var(--ds-spacing-400);
  22. }
  23. input.form-control.form-control-ds {
  24. border-radius: var(--ds-border-radius-200);
  25. border-color: var(--ds-color-neutral-300);
  26. color: var(--ds-color-neutral-950);
  27. padding: calc(var(--ds-spacing-250) - 1px) calc(var(--ds-spacing-300) - 1px);
  28. &.form-control-lg {
  29. padding: calc(var(--ds-spacing-350) - 1px) calc(var(--ds-spacing-300) - 1px);
  30. }
  31. &:read-only {
  32. background: var(--ds-color-neutral-200);
  33. color: var(--ds-color-text-secondary);
  34. }
  35. &:disabled {
  36. color: var(--ds-color-text-disabled);
  37. background: var(--ds-color-neutral-100);
  38. }
  39. &:not(:disabled, :focus-visible) {
  40. &:hover,
  41. &.hover {
  42. border-color: var(--ds-color-neutral-400);
  43. }
  44. }
  45. &:focus-visible,
  46. &:focus {
  47. @include ds-focus-outline;
  48. border-color: var(--ds-color-neutral-950);
  49. }
  50. &.is-invalid,
  51. .was-validated &:invalid {
  52. border-color: var(--ds-color-red-500);
  53. }
  54. }
  55. .form-label.form-label-ds {
  56. @include ds-body-md-semibold;
  57. color: var(--ds-color-text-primary);
  58. &:has(+ .form-control:read-only) {
  59. color: var(--ds-color-text-secondary);
  60. }
  61. &:has(+ .form-control:disabled) {
  62. color: var(--ds-color-text-disabled);
  63. }
  64. }
  65. .form-text.form-text-ds {
  66. color: var(--ds-color-text-secondary);
  67. .form-text-inner-ds {
  68. display: flex;
  69. gap: var(--ds-spacing-200);
  70. margin-top: var(--ds-spacing-150);
  71. @include ds-body-sm-regular;
  72. }
  73. .ciam-form-text-icon {
  74. font-size: math.div(20em, 14);
  75. }
  76. }
  77. .form-complex-input-container {
  78. position: relative;
  79. }
  80. .ciam-form-input-icon {
  81. font-size: var(--ds-font-size-600);
  82. }