Button.module.css 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /* Capsule geometry from the figma Button component (1:155 instances:
  2. * h36, pad 14/7, gap 4, r18; the wide New Session form is r24 at h38 —
  3. * owners with the wide form set their own radius/width). */
  4. .button {
  5. display: inline-flex;
  6. align-items: center;
  7. justify-content: center;
  8. gap: 4px;
  9. border: none;
  10. border-radius: 18px;
  11. cursor: pointer;
  12. font-size: 14px;
  13. line-height: 22px;
  14. color: var(--dsw-alias-label-primary);
  15. background: transparent;
  16. padding: 0 14px;
  17. }
  18. .button:disabled {
  19. cursor: not-allowed;
  20. opacity: 0.4;
  21. }
  22. .md {
  23. height: 36px;
  24. }
  25. /* Compact height for dense rows; no dedicated figma node (Icon_container
  26. * 28x28 is the icon-only form) — geometry is ours. */
  27. .sm {
  28. height: 28px;
  29. font-size: 12px;
  30. line-height: 18px;
  31. padding: 0 10px;
  32. border-radius: 14px;
  33. }
  34. .primary {
  35. background: var(--dsw-alias-button-primary-fill);
  36. color: var(--dsw-alias-label-primary-foreground);
  37. }
  38. .primary:hover:not(:disabled) {
  39. background: var(--dsw-alias-button-primary-hover);
  40. }
  41. .ghost:hover:not(:disabled) {
  42. background: var(--dsw-alias-interactive-bg-hover);
  43. }
  44. .ghost:active:not(:disabled) {
  45. background: var(--dsw-alias-interactive-bg-active);
  46. }
  47. /* Dialog Cancel (figma 451:18655): bordered capsule on transparent fill. */
  48. .outline {
  49. border: 0.5px solid var(--dsw-alias-border-l3);
  50. background: transparent;
  51. }
  52. .outline:hover:not(:disabled) {
  53. background: var(--dsw-alias-interactive-bg-hover);
  54. }
  55. .toolbar {
  56. background: var(--dsw-alias-button-tool-bar-fill);
  57. }
  58. .toolbar:hover:not(:disabled) {
  59. background: var(--dsw-alias-button-tool-bar-hover);
  60. }
  61. .icon {
  62. display: inline-flex;
  63. width: 16px;
  64. height: 16px;
  65. align-items: center;
  66. justify-content: center;
  67. }