ajax-progress.module.pcss.css

Same filename in this branch
  1. main core/themes/olivero/css/components/ajax-progress.module.pcss.css
  2. main core/themes/claro/css/components/ajax-progress.module.pcss.css
  3. main core/themes/admin/css/components/ajax-progress.module.pcss.css
Same filename and directory in other branches
  1. 10 core/themes/olivero/css/components/ajax-progress.module.pcss.css
  2. 10 core/themes/claro/css/components/ajax-progress.module.pcss.css
  3. 11.x core/themes/olivero/css/components/ajax-progress.module.pcss.css
  4. 11.x core/themes/claro/css/components/ajax-progress.module.pcss.css
  5. 9 core/themes/olivero/css/components/ajax-progress.module.pcss.css
  6. 9 core/themes/claro/css/components/ajax-progress.module.pcss.css
  7. 8.9.x core/themes/claro/css/components/ajax-progress.module.pcss.css
  8. 11.x core/themes/admin/css/components/ajax-progress.module.pcss.css
  9. 11.x core/themes/default_admin/css/components/ajax-progress.module.pcss.css

Throbber.

File

core/themes/default_admin/css/components/ajax-progress.module.pcss.css

View source
  1. /**
  2. * @file
  3. * Throbber.
  4. */
  5. .ajax-progress {
  6. display: inline-block;
  7. }
  8. /**
  9. * Progress bar.
  10. */
  11. .ajax-progress-bar {
  12. width: 13em;
  13. padding: 0 0.3125rem; /* 0 5px */
  14. }
  15. /**
  16. * Throbber.
  17. */
  18. .ajax-progress--throbber {
  19. position: relative;
  20. display: inline-flex;
  21. align-content: center;
  22. height: 1.125rem;
  23. margin: -3px var(--ajax-progress-margin-horizontal) 0;
  24. vertical-align: middle;
  25. white-space: nowrap;
  26. line-height: 1.125rem;
  27. }
  28. /**
  29. * Remove margin from ajax throbbers following buttons because buttons already
  30. * have a large margin set.
  31. */
  32. .js .action-link:not(.js-hide, .button--action) + .ajax-progress--throbber,
  33. .js .button:not(.js-hide, .button--action) + .ajax-progress--throbber {
  34. margin-inline-start: 0;
  35. }
  36. /**
  37. * Restore start margin for ajax throbbers inside a managed file widget.
  38. */
  39. .js .form-type--managed-file .button:not(.js-hide) + .ajax-progress--throbber,
  40. .js .file-operations-cell .button:not(.js-hide) + .ajax-progress--throbber {
  41. margin-inline-start: var(--ajax-progress-margin-horizontal); /* LTR */
  42. }
  43. .ajax-progress__throbber {
  44. box-sizing: border-box;
  45. width: 1.125rem;
  46. height: 1.125rem;
  47. animation: claro-throbber 0.75s linear infinite;
  48. border: 2px solid var(--color-absolutezero);
  49. border-right: 2px dotted transparent;
  50. border-radius: 50%;
  51. }
  52. .ajax-progress__message {
  53. display: inline-block;
  54. padding-inline-start: var(--ajax-progress-margin-horizontal);
  55. font-size: var(--font-size-label);
  56. }
  57. /**
  58. * Full screen throbber.
  59. */
  60. .ajax-progress--fullscreen,
  61. .ui-dialog .ajax-progress--throbber {
  62. position: fixed;
  63. z-index: 1261;
  64. inset-block-start: 50%;
  65. inset-inline-start: 50%;
  66. box-sizing: border-box;
  67. width: 3.5rem; /* 56px */
  68. height: 3.5rem;
  69. margin: -1.75rem;
  70. border: var(--input-border-size) solid var(--jui-dropdown-border-color);
  71. border-radius: 3.5rem;
  72. background: var(--color-white);
  73. box-shadow: 0 0.25rem 0.625rem var(--jui-dropdown-shadow-color);
  74. }
  75. .ajax-progress__throbber--fullscreen,
  76. .ui-dialog .ajax-progress__throbber {
  77. position: absolute;
  78. inset-block-start: 50%;
  79. inset-inline-start: 50%;
  80. width: 1.75rem; /* 28px */
  81. height: 1.75rem; /* 28px */
  82. margin: -0.875rem;
  83. content: "";
  84. border: 3px solid var(--color-absolutezero);
  85. border-right: 3px dotted transparent;
  86. }
  87. .ui-dialog .ajax-progress__message {
  88. display: none;
  89. }
  90. @keyframes claro-throbber {
  91. 0% {
  92. transform: rotateZ(0);
  93. }
  94. 100% {
  95. transform: rotateZ(360deg);
  96. }
  97. }
  98. /**
  99. * Default Admin throbber overrides.
  100. */
  101. @keyframes gin-throbber {
  102. 0% {
  103. transform: rotateZ(0);
  104. }
  105. 100% {
  106. transform: rotateZ(360deg);
  107. }
  108. }
  109. .ajax-progress__throbber,
  110. .ajax-progress__throbber--fullscreen,
  111. .ui-dialog .ajax-progress__throbber,
  112. .media-library-item .ajax-progress__throbber {
  113. border: 3px solid var(--gin-color-primary);
  114. border-inline-end: 3px dotted transparent;
  115. }
  116. .ajax-progress .ajax-progress__message {
  117. color: var(--gin-color-text);
  118. }
  119. [dir].gin--dark-mode .ajax-progress--fullscreen {
  120. border-color: transparent;
  121. background-color: var(--gin-color-primary);
  122. box-shadow: 0 2px 6px 0 var(--gin-bg-app);
  123. .ajax-progress__throbber,
  124. .ajax-progress__throbber--fullscreen {
  125. border: 3px solid var(--gin-bg-app);
  126. border-inline-end: 3px dotted transparent;
  127. }
  128. }
  129. .media-library-widget {
  130. .ajax-progress__throbber,
  131. .ajax-progress__throbber--fullscreen {
  132. border: 2px solid var(--gin-color-primary);
  133. border-inline-end: 2px dotted transparent;
  134. }
  135. }
  136. .ui-dialog .ajax-progress-throbber {
  137. padding: var(--space-xs);
  138. border: 1px solid rgb(216, 217, 224, 0.8);
  139. border-radius: 50%;
  140. background: var(--gin-bg-app);
  141. box-shadow: 0 2px 6px 0 rgb(34, 35, 48, 0.1);
  142. .gin--dark-mode
  143. &::before {
  144. position: absolute;
  145. display: block;
  146. width: 1.125rem;
  147. height: 1.125rem;
  148. content: "";
  149. animation: gin-throbber 0.75s linear infinite;
  150. border: 2px solid var(--gin-color-primary);
  151. border-inline-end: 2px dotted transparent;
  152. border-radius: 50%;
  153. inset-block-start: var(--space-xs);
  154. inset-inline-start: var(--space-xs);
  155. }
  156. }
  157. .gin--dark-mode .ui-dialog .ajax-progress,
  158. .gin--dark-mode .media-library-item .ajax-progress.ajax-progress.ajax-progress {
  159. border-color: var(--gin-bg-app);
  160. background-color: var(--gin-bg-app);
  161. }
  162. .contextual-links li {
  163. position: relative;
  164. }
  165. .contextual-links .ajax-progress-throbber {
  166. position: absolute;
  167. inset-block-start: 0;
  168. inset-inline-end: var(--space-xxs);
  169. width: 24px;
  170. height: 24px;
  171. &::before {
  172. inset-block-start: 0;
  173. inset-inline-start: 0.25em;
  174. }
  175. }

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.