gin-form.css

Same filename and directory in other branches
  1. 11.x core/themes/default_admin/migration/css/base/gin-form.css
/*
 * DO NOT EDIT THIS FILE.
 * See the following change record for more information,
 * https://www.drupal.org/node/3084859
 * @preserve
 */
/* cspell:ignore Darkmode, tablesaw */
.form-element {
  box-sizing: border-box;
  min-height: calc((var(--input-padding-vertical) * 2) + var(--input-line-height));
  color: var(--gin-color-text);
  border: 1px solid var(--gin-border-color-form-element);
  border-radius: var(--gin-border-m);
  background-color: var(--gin-bg-input);
  line-height: var(--input-line-height);
  padding-block: calc(var(--input-padding-vertical) - 1px);
  padding-inline: var(--input-padding-horizontal);

  &:hover {
    border-color: var(--gin-color-text);
    box-shadow: inset 0 0 0 1px var(--gin-color-text);
  }

  &[disabled],
  &[disabled]:hover {
    cursor: not-allowed;
    color: var(--gin-color-disabled);
    border-color: var(--gin-color-disabled-border);
    background-color: var(--gin-color-disabled-bg) !important;
    box-shadow: none;
  }

  .gin--dark-mode & {
    color-scheme: dark;
  }

  @media (prefers-reduced-motion: no-preference) {
    transition: var(--gin-transition);
  }
}
.form-element--small,
.form-element--extrasmall {
  border-radius: var(--gin-border-s);
  font-size: var(--gin-font-size-s);
  line-height: 1.5;
}
.form-textarea-wrapper {
  /* box-shadow: 0 1px 2px rgba(0, 0, 0, .15); */
  border-radius: var(--gin-border-m);

  textarea {
    max-width: 100%;
  }
}
.form-item--editor-format,
.form-element--editor-format {
  width: auto;

  .form-item__label {
    inset-block-start: 0.1875rem;
    padding-block-end: 0;
  }
}
/* Password */
.password-field {
  width: 100%;
}
.password-confirm {
  width: 100%;
  max-width: var(--gin-max-line-length);
}
.password-strength__title {
  color: var(--gin-color-text-light);
}
.password-strength__text {
  color: var(--gin-color-title);
}
.password-suggestions {
  color: var(--gin-color-text-light);
  border: 1px solid var(--gin-border-color-layer2);
  background-color: transparent;
}
.subfield-option {
  border: 1px solid var(--gin-border-color-layer2);
  border-radius: var(--gin-border-m);
}
/* Select */
.form-element--type-select {
  padding-inline-end: calc(var(--gin-spacing-xs) + var(--gin-spacing-xl) - 1px);

  .gin--dark-mode & {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke-width='1.5' d='M1 1L7 7L13 1' stroke='%23ffffff'/%3E%3C/svg%3E%0A");
  }
}
.form-element--type-select--small {
  min-height: 2.25rem;
  background-position: 100% 52%;
  font-size: var(--gin-font-size-xs);
  line-height: 1.4;
  padding-block: 0.474rem; /* 0.79rem * 1.2 / 2 */

  &:dir(rtl) {
    background-position: 0% 52%;
  }
}
.form-boolean {
  width: 1.3125rem;
  height: 1.3125rem;
  border-color: var(--gin-border-color-form-element);
  border-radius: var(--gin-border-xs);
}
/* Darkmode Checkbox */
.form-boolean--type-checkbox {
  &:not(:checked) {
    .gin--dark-mode & {
      background: var(--gin-bg-input);
    }
  }

  &:checked {
    background-color: var(--gin-color-primary);

    &:not(:disabled) {
      .gin--dark-mode & {
        background-image: var(--admin-icon-checked);
      }
    }

    &:hover {
      background-color: var(--gin-color-primary-hover);
    }

    &:active {
      background-color: var(--gin-color-primary-active);
    }
  }
}
/* Single Checkbox: show as toggle */
:not(.form-checkboxes, td, .tabledrag-cell-content__item, .media-library-item__click-to-select-checkbox, .field-content, .ajax-new-content, .tablesaw-cell-content) > .form-type--checkbox {
  position: relative;
  margin-inline-start: 0;

  input {
    all: unset;
    appearance: none;
    position: relative;
    display: inline-block;
    overflow: hidden;
    box-sizing: border-box;
    width: 2.5rem;
    height: 1.5rem;
    cursor: pointer;
    vertical-align: top;
    border: 3px solid transparent;
    border-radius: var(--gin-border-l);
    background-color: var(--gin-color-disabled);
    clip-path: circle(var(--gin-spacing-l) at 50% 50%); /* Fix Safari bug */

    .gin--dark-mode & {
      background-color: var(--gin-bg-input);
    }

    &::before {
      position: absolute;
      width: 100%;
      height: 100%;
      content: "";
      transform: translateX(-1rem);
      border-radius: 1.3125rem;
      background-color: #fff;

      &:dir(rtl) {
        transform: translateX(1rem);
      }

      .gin--dark-mode & {
        background-color: var(--gin-border-color-form-element);
      }

      @media (prefers-reduced-motion: no-preference) {
        transition: transform 0.3s;
      }

      @media (forced-colors: active) {
        background-color: CanvasText;
      }
    }

    /* Disabled state: set cursor to not-allowed */
    &:disabled {
      cursor: not-allowed;
    }

    /* Hover state */
    &:hover {
      opacity: 0.9;
      box-shadow: 0 0 2px rgb(0, 0, 0, 0.2);
    }

    /* Hover/Focus state */
    &:active,
    &:focus {
      box-shadow:
        0 0 0 1px var(--gin-color-focus-border),
        0 0 0 4px var(--gin-color-focus);
    }

    /* Active state */
    &:checked {
      background-color: var(--gin-switch);

      .gin--dark-mode & {
        background-color: var(--gin-color-primary-light-active);
      }

      &::before {
        transform: translateX(1rem);
        background-color: #fff;

        &:dir(rtl) {
          transform: translateX(-1rem);
        }

        .gin--dark-mode & {
          background-color: var(--gin-color-primary-hover);
        }

        .gin--high-contrast-mode & {
          background-color: var(--gin-border-color);
        }

        @media (forced-colors: active) {
          padding-inline-start: var(--gin-spacing-xs);
          background-color: LinkText !important;
        }
      }

      @media (forced-colors: active) {
        &::after {
          transform: translateX(1rem);
          mask-image: var(--admin-icon-checked);
          mask-position: 2px 2px;

          &:dir(rtl) {
            transform: translateX(-1rem);
          }
        }
      }
    }

    /* Disabled state */
    &:disabled {
      opacity: 0.75;
      background-color: var(--gin-color-disabled);
      box-shadow: none;

      &::before {
        opacity: 0.6;
        background-color: #fff;
      }
    }

    @media (forced-colors: active) {
      border-width: 2px;
    }

    @media (forced-colors: active) {
      &::after {
        position: absolute;
        width: 100%;
        height: 100%;
        content: "";
        transform: translateX(-1rem);
        background-color: Canvas;
        mask-image: var(--admin-icon-toggle-unchecked);
        mask-size: 1rem 1rem;
        mask-position: 1.0625rem 2px;
        mask-repeat: no-repeat;

        &:dir(rtl) {
          transform: translateX(1rem);
        }

        @media (prefers-reduced-motion: no-preference) {
          transition: transform 0.3s;
        }
      }
    }
  }

  label {
    position: relative;
    z-index: 1;
    padding-block-end: 0;
    padding-inline-start: var(--gin-spacing-xxs);
    color: var(--gin-color-text);
  }
}
/* Correctly align bulk action checkboxes when used in combination with tabledrag */
table:has(.tabledrag-cell-content__item .form-checkbox) th.select-all .form-checkbox {
  margin-inline-start: calc(var(--tabledrag-handle-icon-size, calc(17rem / 16)) + var(--gin-spacing-m));
}
.form-boolean {
  &:hover,
  &:active {
    .gin--dark-mode & {
      border-color: var(--gin-color-text);
      box-shadow: none;
    }
  }
}
.form-boolean--type-radio {
  &,
  &:hover,
  &:active,
  &:focus,
  &:hover:focus {
    border-color: var(--gin-border-color-form-element);
    border-radius: 50%;
    background-color: var(--gin-bg-input);
    background-image: none;
  }

  &:hover {
    box-shadow: inset 0 0 0 1px var(--gin-border-color-layer2);

    &,
    .gin--dark-mode & {
      border-color: var(--gin-color-text);
    }
  }

  &:active,
  &:focus {
    box-shadow:
      inset 0 0 0 1px var(--gin-border-color-layer2),
      0 0 0 1px var(--gin-color-focus-border),
      0 0 0 4px var(--gin-color-focus);
  }

  &:checked:not(:disabled) {
    &,
    &:hover {
      background-color: var(--gin-bg-layer);
      background-image: none;
      box-shadow: inset 0 0 0 5px var(--gin-color-primary);
    }

    &:active,
    &:focus,
    &:hover:focus {
      border-color: var(--gin-color-focus-border);
      box-shadow:
        inset 0 0 0 5px var(--gin-color-primary),
        0 0 0 1px var(--gin-color-focus-border),
        0 0 0 4px var(--gin-color-focus);
    }
  }

  &:disabled {
    &,
    &:hover {
      cursor: not-allowed;
      border-color: var(--gin-color-disabled-border);
      background: var(--gin-color-disabled-bg);
    }
  }

  &:checked:disabled {
    &,
    &:hover {
      background: var(--gin-color-disabled);
      box-shadow: inset 0 0 0 5px var(--gin-color-disabled-bg);
    }
  }
}
.form-boolean--type-checkbox[disabled] {
  &,
  &:hover {
    cursor: not-allowed;
    border-color: var(--gin-color-disabled-border);
    background-color: var(--gin-color-disabled-bg);

    &:checked {
      border-color: var(--gin-color-disabled-border);
      background-color: var(--gin-color-disabled-bg);
      box-shadow: none;
    }
  }
}
.form-radios,
.form-checkboxes {
  .form-type--boolean {
    margin-block: var(--gin-spacing-xs);
  }
}
.form-actions {
  margin-block-end: 0;
}
.form-edit .form-actions {
  margin-block-end: 0;
  padding: 0;
  border: 0 none;
  background-color: transparent;
}
/* Fieldgroup */
fieldset:not(.fieldgroup) {
  padding-block-start: var(--gin-spacing-xs);
  color: var(--gin-color-text-light);
  border-color: var(--gin-border-color);
  border-radius: var(--gin-border-m);
  background: transparent;
  box-shadow: none;
  padding-inline: 0;

  > legend {
    inset-block-start: 1.25rem;
  }

  > .fieldset-wrapper {
    margin-block-start: 1.25rem;
  }

  &.error {
    border: 2px solid var(--gin-color-danger);
  }
}
.fieldset__label,
.fieldset__label--group,
.form-item__label {
  margin-block-start: 0;
  margin-block-end: var(--gin-spacing-xs);
  color: var(--gin-color-title);
  font-size: var(--gin-font-size-s);
  font-weight: var(--gin-font-weight-semibold);
}
.form-item__label.has-error,
.form-item__error-message {
  color: var(--gin-color-danger);
}
.form-item__description,
.fieldset__description,
.filter-guidelines__item {
  max-width: var(--gin-max-line-length);
  color: var(--gin-color-text-light);
}
.form-item__label.form-required::after,
.fieldset__label.form-required::after,
.form-required > .fieldset__label::after,
.horizontal-tab-button .form-required::after,
.vertical-tabs__menu-link .form-required::after {
  content: "*";
  vertical-align: text-top;
  color: var(--gin-color-danger);
  background: none;
  line-height: 1;
  margin-inline: 0.15em;
}
.gin-details.error {
  border: 2px solid var(--gin-color-danger);
}
.gin-details__summary:not(.form-required) {
  .required-mark {
    display: none;
  }
}
.form-item__warning {
  display: inline-block;
  margin-block-start: var(--gin-spacing-xs);
}
html.js .form-autocomplete {
  padding-inline-end: 2.25rem;
}
.entity-form-display-form {
  > .form-actions {
    margin-block: 0;
  }
}
.required-mark {
  &::after {
    background: var(--gin-color-danger);
    mask-image: var(--admin-icon-asterisk);
    mask-position: center center;
    mask-size: 100% 100%;
  }
}
.form-wrapper,
.form-composite {
  .form-item__label {
    position: relative;
  }
}
.field--type-text-with-summary,
.field--widget-text-textarea {
  .form-item {
    margin-block-end: 0;
  }

  .filter-wrapper {
    border: 0 none;
    padding-inline: 0;
  }
}
.claro-autocomplete {
  width: calc(100% - var(--gin-spacing-m));

  .form-autocomplete {
    width: 100%;
  }
}
.no-touchevents .form-element--type-select.form-element--extrasmall {
  min-height: 1.75rem;
  font-size: var(--gin-font-size-s);
  line-height: 1.5;
}
/* Special case, form starts with a form item, remove margin-block-start. */
#block-gin-content > form > .form-item:first-of-type {
  margin-block-start: 0;
}
.image-style-new {
  .form-item {
    margin-inline-end: var(--gin-spacing-xxs);
  }
}
tr .form-item {
  margin-block: 0;
}
.container-inline .form-item {
  margin-block: var(--gin-spacing-density-s);
}
.field-plugin-settings-edit-form {
  margin-block-start: var(--gin-spacing-s);

  .form-item {
    margin-block: var(--gin-spacing-m);
  }

  .form-boolean-group .form-item {
    margin-block: var(--gin-spacing-xs);
  }
}
/* Length indicator */
.length-indicator {
  margin-block-end: var(--gin-spacing-l);
}

File

core/themes/default_admin/migration/css/base/gin-form.css

View source
  1. /*
  2. * DO NOT EDIT THIS FILE.
  3. * See the following change record for more information,
  4. * https://www.drupal.org/node/3084859
  5. * @preserve
  6. */
  7. /* cspell:ignore Darkmode, tablesaw */
  8. .form-element {
  9. box-sizing: border-box;
  10. min-height: calc((var(--input-padding-vertical) * 2) + var(--input-line-height));
  11. color: var(--gin-color-text);
  12. border: 1px solid var(--gin-border-color-form-element);
  13. border-radius: var(--gin-border-m);
  14. background-color: var(--gin-bg-input);
  15. line-height: var(--input-line-height);
  16. padding-block: calc(var(--input-padding-vertical) - 1px);
  17. padding-inline: var(--input-padding-horizontal);
  18. &:hover {
  19. border-color: var(--gin-color-text);
  20. box-shadow: inset 0 0 0 1px var(--gin-color-text);
  21. }
  22. &[disabled],
  23. &[disabled]:hover {
  24. cursor: not-allowed;
  25. color: var(--gin-color-disabled);
  26. border-color: var(--gin-color-disabled-border);
  27. background-color: var(--gin-color-disabled-bg) !important;
  28. box-shadow: none;
  29. }
  30. .gin--dark-mode
  31. @media (prefers-reduced-motion: no-preference) {
  32. transition: var(--gin-transition);
  33. }
  34. }
  35. .form-element--small,
  36. .form-element--extrasmall {
  37. border-radius: var(--gin-border-s);
  38. font-size: var(--gin-font-size-s);
  39. line-height: 1.5;
  40. }
  41. .form-textarea-wrapper {
  42. /* box-shadow: 0 1px 2px rgba(0, 0, 0, .15); */
  43. border-radius: var(--gin-border-m);
  44. textarea {
  45. max-width: 100%;
  46. }
  47. }
  48. .form-item--editor-format,
  49. .form-element--editor-format {
  50. width: auto;
  51. .form-item__label {
  52. inset-block-start: 0.1875rem;
  53. padding-block-end: 0;
  54. }
  55. }
  56. /* Password */
  57. .password-field {
  58. width: 100%;
  59. }
  60. .password-confirm {
  61. width: 100%;
  62. max-width: var(--gin-max-line-length);
  63. }
  64. .password-strength__title {
  65. color: var(--gin-color-text-light);
  66. }
  67. .password-strength__text {
  68. color: var(--gin-color-title);
  69. }
  70. .password-suggestions {
  71. color: var(--gin-color-text-light);
  72. border: 1px solid var(--gin-border-color-layer2);
  73. background-color: transparent;
  74. }
  75. .subfield-option {
  76. border: 1px solid var(--gin-border-color-layer2);
  77. border-radius: var(--gin-border-m);
  78. }
  79. /* Select */
  80. .form-element--type-select {
  81. padding-inline-end: calc(var(--gin-spacing-xs) + var(--gin-spacing-xl) - 1px);
  82. .gin--dark-mode
  83. }
  84. .form-element--type-select--small {
  85. min-height: 2.25rem;
  86. background-position: 100% 52%;
  87. font-size: var(--gin-font-size-xs);
  88. line-height: 1.4;
  89. padding-block: 0.474rem; /* 0.79rem * 1.2 / 2 */
  90. &:dir(rtl) {
  91. background-position: 0% 52%;
  92. }
  93. }
  94. .form-boolean {
  95. width: 1.3125rem;
  96. height: 1.3125rem;
  97. border-color: var(--gin-border-color-form-element);
  98. border-radius: var(--gin-border-xs);
  99. }
  100. /* Darkmode Checkbox */
  101. .form-boolean--type-checkbox {
  102. &:not(:checked) {
  103. .gin--dark-mode
  104. }
  105. &:checked {
  106. background-color: var(--gin-color-primary);
  107. &:not(:disabled) {
  108. .gin--dark-mode
  109. }
  110. &:hover {
  111. background-color: var(--gin-color-primary-hover);
  112. }
  113. &:active {
  114. background-color: var(--gin-color-primary-active);
  115. }
  116. }
  117. }
  118. /* Single Checkbox: show as toggle */
  119. :not(.form-checkboxes, td, .tabledrag-cell-content__item, .media-library-item__click-to-select-checkbox, .field-content, .ajax-new-content, .tablesaw-cell-content) > .form-type--checkbox {
  120. position: relative;
  121. margin-inline-start: 0;
  122. input {
  123. all: unset;
  124. appearance: none;
  125. position: relative;
  126. display: inline-block;
  127. overflow: hidden;
  128. box-sizing: border-box;
  129. width: 2.5rem;
  130. height: 1.5rem;
  131. cursor: pointer;
  132. vertical-align: top;
  133. border: 3px solid transparent;
  134. border-radius: var(--gin-border-l);
  135. background-color: var(--gin-color-disabled);
  136. clip-path: circle(var(--gin-spacing-l) at 50% 50%); /* Fix Safari bug */
  137. .gin--dark-mode
  138. &::before {
  139. position: absolute;
  140. width: 100%;
  141. height: 100%;
  142. content: "";
  143. transform: translateX(-1rem);
  144. border-radius: 1.3125rem;
  145. background-color: #fff;
  146. &:dir(rtl) {
  147. transform: translateX(1rem);
  148. }
  149. .gin--dark-mode
  150. @media (prefers-reduced-motion: no-preference) {
  151. transition: transform 0.3s;
  152. }
  153. @media (forced-colors: active) {
  154. background-color: CanvasText;
  155. }
  156. }
  157. /* Disabled state: set cursor to not-allowed */
  158. &:disabled {
  159. cursor: not-allowed;
  160. }
  161. /* Hover state */
  162. &:hover {
  163. opacity: 0.9;
  164. box-shadow: 0 0 2px rgb(0, 0, 0, 0.2);
  165. }
  166. /* Hover/Focus state */
  167. &:active,
  168. &:focus {
  169. box-shadow:
  170. 0 0 0 1px var(--gin-color-focus-border),
  171. 0 0 0 4px var(--gin-color-focus);
  172. }
  173. /* Active state */
  174. &:checked {
  175. background-color: var(--gin-switch);
  176. .gin--dark-mode
  177. &::before {
  178. transform: translateX(1rem);
  179. background-color: #fff;
  180. &:dir(rtl) {
  181. transform: translateX(-1rem);
  182. }
  183. .gin--dark-mode
  184. .gin--high-contrast-mode
  185. @media (forced-colors: active) {
  186. padding-inline-start: var(--gin-spacing-xs);
  187. background-color: LinkText !important;
  188. }
  189. }
  190. @media (forced-colors: active) {
  191. &::after {
  192. transform: translateX(1rem);
  193. mask-image: var(--admin-icon-checked);
  194. mask-position: 2px 2px;
  195. &:dir(rtl) {
  196. transform: translateX(-1rem);
  197. }
  198. }
  199. }
  200. }
  201. /* Disabled state */
  202. &:disabled {
  203. opacity: 0.75;
  204. background-color: var(--gin-color-disabled);
  205. box-shadow: none;
  206. &::before {
  207. opacity: 0.6;
  208. background-color: #fff;
  209. }
  210. }
  211. @media (forced-colors: active) {
  212. border-width: 2px;
  213. }
  214. @media (forced-colors: active) {
  215. &::after {
  216. position: absolute;
  217. width: 100%;
  218. height: 100%;
  219. content: "";
  220. transform: translateX(-1rem);
  221. background-color: Canvas;
  222. mask-image: var(--admin-icon-toggle-unchecked);
  223. mask-size: 1rem 1rem;
  224. mask-position: 1.0625rem 2px;
  225. mask-repeat: no-repeat;
  226. &:dir(rtl) {
  227. transform: translateX(1rem);
  228. }
  229. @media (prefers-reduced-motion: no-preference) {
  230. transition: transform 0.3s;
  231. }
  232. }
  233. }
  234. }
  235. label {
  236. position: relative;
  237. z-index: 1;
  238. padding-block-end: 0;
  239. padding-inline-start: var(--gin-spacing-xxs);
  240. color: var(--gin-color-text);
  241. }
  242. }
  243. /* Correctly align bulk action checkboxes when used in combination with tabledrag */
  244. table:has(.tabledrag-cell-content__item .form-checkbox) th.select-all .form-checkbox {
  245. margin-inline-start: calc(var(--tabledrag-handle-icon-size, calc(17rem / 16)) + var(--gin-spacing-m));
  246. }
  247. .form-boolean {
  248. &:hover,
  249. &:active {
  250. .gin--dark-mode
  251. }
  252. }
  253. .form-boolean--type-radio {
  254. &,
  255. &:hover,
  256. &:active,
  257. &:focus,
  258. &:hover:focus {
  259. border-color: var(--gin-border-color-form-element);
  260. border-radius: 50%;
  261. background-color: var(--gin-bg-input);
  262. background-image: none;
  263. }
  264. &:hover {
  265. box-shadow: inset 0 0 0 1px var(--gin-border-color-layer2);
  266. &,
  267. .gin--dark-mode
  268. }
  269. &:active,
  270. &:focus {
  271. box-shadow:
  272. inset 0 0 0 1px var(--gin-border-color-layer2),
  273. 0 0 0 1px var(--gin-color-focus-border),
  274. 0 0 0 4px var(--gin-color-focus);
  275. }
  276. &:checked:not(:disabled) {
  277. &,
  278. &:hover {
  279. background-color: var(--gin-bg-layer);
  280. background-image: none;
  281. box-shadow: inset 0 0 0 5px var(--gin-color-primary);
  282. }
  283. &:active,
  284. &:focus,
  285. &:hover:focus {
  286. border-color: var(--gin-color-focus-border);
  287. box-shadow:
  288. inset 0 0 0 5px var(--gin-color-primary),
  289. 0 0 0 1px var(--gin-color-focus-border),
  290. 0 0 0 4px var(--gin-color-focus);
  291. }
  292. }
  293. &:disabled {
  294. &,
  295. &:hover {
  296. cursor: not-allowed;
  297. border-color: var(--gin-color-disabled-border);
  298. background: var(--gin-color-disabled-bg);
  299. }
  300. }
  301. &:checked:disabled {
  302. &,
  303. &:hover {
  304. background: var(--gin-color-disabled);
  305. box-shadow: inset 0 0 0 5px var(--gin-color-disabled-bg);
  306. }
  307. }
  308. }
  309. .form-boolean--type-checkbox[disabled] {
  310. &,
  311. &:hover {
  312. cursor: not-allowed;
  313. border-color: var(--gin-color-disabled-border);
  314. background-color: var(--gin-color-disabled-bg);
  315. &:checked {
  316. border-color: var(--gin-color-disabled-border);
  317. background-color: var(--gin-color-disabled-bg);
  318. box-shadow: none;
  319. }
  320. }
  321. }
  322. .form-radios,
  323. .form-checkboxes {
  324. .form-type--boolean {
  325. margin-block: var(--gin-spacing-xs);
  326. }
  327. }
  328. .form-actions {
  329. margin-block-end: 0;
  330. }
  331. .form-edit .form-actions {
  332. margin-block-end: 0;
  333. padding: 0;
  334. border: 0 none;
  335. background-color: transparent;
  336. }
  337. /* Fieldgroup */
  338. fieldset:not(.fieldgroup) {
  339. padding-block-start: var(--gin-spacing-xs);
  340. color: var(--gin-color-text-light);
  341. border-color: var(--gin-border-color);
  342. border-radius: var(--gin-border-m);
  343. background: transparent;
  344. box-shadow: none;
  345. padding-inline: 0;
  346. > legend {
  347. inset-block-start: 1.25rem;
  348. }
  349. > .fieldset-wrapper {
  350. margin-block-start: 1.25rem;
  351. }
  352. &.error {
  353. border: 2px solid var(--gin-color-danger);
  354. }
  355. }
  356. .fieldset__label,
  357. .fieldset__label--group,
  358. .form-item__label {
  359. margin-block-start: 0;
  360. margin-block-end: var(--gin-spacing-xs);
  361. color: var(--gin-color-title);
  362. font-size: var(--gin-font-size-s);
  363. font-weight: var(--gin-font-weight-semibold);
  364. }
  365. .form-item__label.has-error,
  366. .form-item__error-message {
  367. color: var(--gin-color-danger);
  368. }
  369. .form-item__description,
  370. .fieldset__description,
  371. .filter-guidelines__item {
  372. max-width: var(--gin-max-line-length);
  373. color: var(--gin-color-text-light);
  374. }
  375. .form-item__label.form-required::after,
  376. .fieldset__label.form-required::after,
  377. .form-required > .fieldset__label::after,
  378. .horizontal-tab-button .form-required::after,
  379. .vertical-tabs__menu-link .form-required::after {
  380. content: "*";
  381. vertical-align: text-top;
  382. color: var(--gin-color-danger);
  383. background: none;
  384. line-height: 1;
  385. margin-inline: 0.15em;
  386. }
  387. .gin-details.error {
  388. border: 2px solid var(--gin-color-danger);
  389. }
  390. .gin-details__summary:not(.form-required) {
  391. .required-mark {
  392. display: none;
  393. }
  394. }
  395. .form-item__warning {
  396. display: inline-block;
  397. margin-block-start: var(--gin-spacing-xs);
  398. }
  399. html.js .form-autocomplete {
  400. padding-inline-end: 2.25rem;
  401. }
  402. .entity-form-display-form {
  403. > .form-actions {
  404. margin-block: 0;
  405. }
  406. }
  407. .required-mark {
  408. &::after {
  409. background: var(--gin-color-danger);
  410. mask-image: var(--admin-icon-asterisk);
  411. mask-position: center center;
  412. mask-size: 100% 100%;
  413. }
  414. }
  415. .form-wrapper,
  416. .form-composite {
  417. .form-item__label {
  418. position: relative;
  419. }
  420. }
  421. .field--type-text-with-summary,
  422. .field--widget-text-textarea {
  423. .form-item {
  424. margin-block-end: 0;
  425. }
  426. .filter-wrapper {
  427. border: 0 none;
  428. padding-inline: 0;
  429. }
  430. }
  431. .claro-autocomplete {
  432. width: calc(100% - var(--gin-spacing-m));
  433. .form-autocomplete {
  434. width: 100%;
  435. }
  436. }
  437. .no-touchevents .form-element--type-select.form-element--extrasmall {
  438. min-height: 1.75rem;
  439. font-size: var(--gin-font-size-s);
  440. line-height: 1.5;
  441. }
  442. /* Special case, form starts with a form item, remove margin-block-start. */
  443. #block-gin-content > form > .form-item:first-of-type {
  444. margin-block-start: 0;
  445. }
  446. .image-style-new {
  447. .form-item {
  448. margin-inline-end: var(--gin-spacing-xxs);
  449. }
  450. }
  451. tr .form-item {
  452. margin-block: 0;
  453. }
  454. .container-inline .form-item {
  455. margin-block: var(--gin-spacing-density-s);
  456. }
  457. .field-plugin-settings-edit-form {
  458. margin-block-start: var(--gin-spacing-s);
  459. .form-item {
  460. margin-block: var(--gin-spacing-m);
  461. }
  462. .form-boolean-group .form-item {
  463. margin-block: var(--gin-spacing-xs);
  464. }
  465. }
  466. /* Length indicator */
  467. .length-indicator {
  468. margin-block-end: var(--gin-spacing-l);
  469. }

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