You are here

gridstack.admin.css in GridStack 8

File

css/gridstack.admin.css
View source
  1. /**
  2. * @file
  3. */
  4. .form--gridstack {
  5. margin-left: auto;
  6. margin-right: auto;
  7. }
  8. .form--gridstack .details--settings {
  9. background: #f9f9f9;
  10. border: 1px solid #dbe1e9;
  11. box-shadow: 0 0 0 4px #f9f9f9;
  12. clear: both;
  13. float: left;
  14. overflow: visible;
  15. position: relative;
  16. margin: 30px auto;
  17. width: 100%;
  18. }
  19. .form--gridstack details.form-wrapper {
  20. clear: both;
  21. }
  22. .gridstack--ui {
  23. background: lightgoldenrodyellow;
  24. margin-bottom: 30px;
  25. margin-top: 30px;
  26. }
  27. .gridstack--ui .gridstack {
  28. background: none;
  29. margin: 0;
  30. }
  31. .gridstack--ui .box__content {
  32. color: #2c3e50;
  33. text-align: center;
  34. background-color: #18bc9c;
  35. }
  36. .gridstack--ui .gridstack--nested .box__content {
  37. background-color: #18bc9c;
  38. background-color: rgba(24, 288, 156, .4);
  39. }
  40. .gridstack--ui .gridstack--nested .gridstack .box__content {
  41. background-color: #18bc9c;
  42. background-color: rgba(24, 288, 156, .6);
  43. }
  44. .gridstack-preview {
  45. clear: both;
  46. }
  47. .form--gridstack .gridstack-preview .form-type-textarea {
  48. float: none;
  49. width: 100% !important;
  50. }
  51. .form--gridstack .gridstack-actions {
  52. padding: 15px;
  53. text-align: center;
  54. }
  55. .form--gridstack .gridstack-actions .btn {
  56. margin: 0 5px;
  57. }
  58. .form--gridstack .box .btn-group {
  59. display: block;
  60. margin: 0;
  61. left: 0;
  62. position: absolute;
  63. text-align: center;
  64. top: 0;
  65. width: 100%;
  66. }
  67. .form--gridstack .box .btn {
  68. display: block;
  69. font-size: 22px;
  70. padding: 0;
  71. width: 28px;
  72. }
  73. .form--gridstack .box .box__content .form-item {
  74. width: auto;
  75. }
  76. .form--gridstack .box .box__content .form-select {
  77. border: 1px solid #dadada;
  78. font-size: 13px;
  79. font-weight: 400;
  80. height: 28px;
  81. max-width: 80px;
  82. min-width: 80px;
  83. position: relative;
  84. text-indent: 12px;
  85. -moz-appearance: none;
  86. -webkit-appearance: none;
  87. appearance: none;
  88. text-indent: .01px;
  89. text-overflow: "";
  90. white-space: nowrap; /* Fix for Bartik */
  91. }
  92. .form--gridstack .box .box__content .form-select,
  93. .form--gridstack .box .box__content .form-text {
  94. display: inline-block;
  95. float: none;
  96. margin: 0 2px;
  97. min-height: 32px;
  98. visibility: hidden;
  99. }
  100. .form--gridstack #edit-json .form-item {
  101. width: 100%;
  102. }
  103. .form--optionset .gridstack--nomargin > .gridstack__box > .box__content,
  104. .form--optionset .gridstack--nomargin > .gridstack__box > .placeholder-content {
  105. -webkit-box-shadow: 0 0 1px 0 #fff inset;
  106. box-shadow: 0 0 1px 0 #fff inset;
  107. }
  108. .gridstack--ui .box::before,
  109. .gridstack--nested .box::before,
  110. .form--gridstack .box::after {
  111. background: rgba(0, 0, 0, 0.8);
  112. color: #fff;
  113. display: block;
  114. font-size: 13px;
  115. line-height: 1.2;
  116. left: 10px;
  117. min-width: 28px;
  118. padding: 5px 10px;
  119. position: absolute;
  120. text-align: center;
  121. top: 0;
  122. z-index: 8;
  123. }
  124. .gridstack.gridstack--nested .box::before {
  125. background: rgba(0, 0, 0, 0.6);
  126. }
  127. .gridstack.gridstack--nested .box[data-gs-x="0"]:first-child::before {
  128. left: 40px;
  129. }
  130. .form--gridstack .gridstack--nested .box::after {
  131. background: #777;
  132. }
  133. .gridstack--ui .box::before,
  134. .gridstack--nested .box::before {
  135. content: attr(data-ordinal);
  136. pointer-events: none;
  137. }
  138. .form--gridstack .box::after {
  139. bottom: 0;
  140. content: attr(data-dimension);
  141. left: 50%;
  142. padding: 5px;
  143. top: auto;
  144. transform: translateX(-50%);
  145. visibility: hidden;
  146. }
  147. .form--gridstack .box .btn--add,
  148. .form--gridstack .box .btn--nested,
  149. .form--gridstack .box .btn--remove {
  150. position: absolute;
  151. right: 10px;
  152. top: 0;
  153. z-index: 10;
  154. }
  155. .form--gridstack .box .btn--add,
  156. .form--gridstack .box .btn--nested {
  157. right: 40px;
  158. }
  159. .form--gridstack .box:hover::after,
  160. .form--gridstack .box:hover .form-select,
  161. .form--gridstack .box:hover .form-text {
  162. visibility: visible;
  163. }
  164. .gridstack--ui .btn-group {
  165. z-index: 9;
  166. }
  167. .gridstack--ui .box .btn-group div {
  168. background: none;
  169. border: 0;
  170. display: inline-block;
  171. float: none;
  172. min-height: 22px;
  173. padding: 0;
  174. width: auto;
  175. }
  176. .form--optionset .gridstack--nomargin .box::before {
  177. left: 0;
  178. }
  179. .form--optionset .gridstack--nomargin .box .btn--remove {
  180. right: 0;
  181. }
  182. .form--gridstack #edit-add-grids {
  183. display: block;
  184. margin: 0 auto;
  185. visibility: hidden;
  186. }
  187. .form--gridstack .gridstack-preview .ajax-progress-throbber .throbber,
  188. .form--gridstack .gridstack-preview .ajax-progress-throbber .message {
  189. display: inline-block;
  190. float: none;
  191. margin: 0 auto;
  192. max-width: 210px;
  193. }
  194. .form--gridstack .gridstack-preview .ajax-progress {
  195. display: block;
  196. margin-top: -40px;
  197. text-align: center;
  198. }
  199. .form--gridstack .gridstack-wrapper {
  200. min-height: 210px;
  201. overflow: auto;
  202. padding: 20px;
  203. }
  204. .form-wrapper--table-gridstack-responsive th:first-child {
  205. text-align: right;
  206. }
  207. .form-wrapper--table-gridstack-responsive th:last-child {
  208. display: none;
  209. }
  210. /**
  211. * Canvas for dynamic icon/ screenshot.
  212. *
  213. * @todo use background: -moz-element(#gridstack-1), gray; when cross-browser.
  214. */
  215. .form--gridstack .gridstack-screenshot {
  216. background-color: #fff;
  217. background-size: 100% auto;
  218. background-repeat: no-repeat;
  219. background-position: center center;
  220. border: 1px solid #000;
  221. display: block;
  222. margin: 0 auto;
  223. padding: 5px;
  224. text-align: center;
  225. width: 165px;
  226. height: 232px;
  227. z-index: 9;
  228. }
  229. .form--gridstack #gridstack-canvas {
  230. bottom: 0;
  231. display: block;
  232. height: 100%;
  233. left: -100%;
  234. line-height: 0;
  235. margin: auto;
  236. padding: 0;
  237. position: absolute;
  238. right: 0;
  239. top: 0;
  240. visibility: hidden;
  241. width: 100%;
  242. }
  243. .gridstack-list-form .media img {
  244. height: auto;
  245. max-width: 140px;
  246. }
  247. .gridstack-list-form td:nth-child(3) {
  248. text-transform: capitalize;
  249. }
  250. .gridstack__box--placeholder > .placeholder-content {
  251. border: 2px dashed #ccc;
  252. background: red;
  253. height: inherit;
  254. }
  255. .gridstack__box .box__handle {
  256. color: #fff;
  257. cursor: grab;
  258. display: block;
  259. font-size: 22px;
  260. left: 50%;
  261. letter-spacing: 4px;
  262. position: absolute;
  263. text-align: center;
  264. top: 50%;
  265. transform: translate(-50%, -50%);
  266. z-index: 9;
  267. }
  268. /**
  269. * Static grid with intentional !important to avoid issues with admin themes.
  270. */
  271. .is-framework .form-wrapper-box,
  272. .is-framework .form-wrapper--gridstack-settings,
  273. .is-framework .form-item--image-style,
  274. .is-framework .form-item--column,
  275. .form--gridstack.is-framework .btn--clear,
  276. .form--gridstack.is-framework .btn--load,
  277. .form--optionset--default .gridstack-actions,
  278. .form--optionset--default .gridstack-screenshot,
  279. .form--gridstack.form--optionset .gridstack--nested .gridstack--nested,
  280. .form--gridstack.form--optionset .btn--nested,
  281. .form--gridstack.form--optionset .box .btn--add,
  282. .form--gridstack.form--optionset .gridstack--nested .btn--nested,
  283. .form--gridstack.form--optionset .vertical-tabs__menu-item-summary,
  284. .form--gridstack.is-framework .visible-js {
  285. display: none !important;
  286. }
  287. .form--gridstack.is-framework .gridstack--nested,
  288. .form--gridstack.is-framework .btn--nested,
  289. .form--gridstack.is-framework .box .btn--add,
  290. .form--gridstack.form--optionset .gridstack--main .btn--content,
  291. .form--gridstack.form--optionset .gridstack--main > .box > .box__content > .btn-group > .btn--remove,
  292. .form--gridstack.is-framework .box .btn--content.btn--remove {
  293. display: block !important;
  294. }
  295. .form--gridstack.form--gridstack-js .gridstack .btn--content,
  296. .form--gridstack.form--gridstack-js .gridstack .btn--root.btn--add,
  297. /* .form--gridstack.form--optionset .gridstack.gridstack--nested .btn--add,
  298. .form--gridstack.form--optionset .gridstack.gridstack--nested .gridstack--nested .btn, */
  299. .form--gridstack.form--optionset .gridstack.gridstack--sub .box .btn,
  300. .form--gridstack.form--optionset .gridstack.gridstack--nested .box .btn--nested,
  301. .form--gridstack.form--optionset .gridstack.gridstack--main .box .btn--content.btn--add,
  302. .form--gridstack.form--optionset .gridstack-preview--sub.form-disabled .btn {
  303. display: none !important;
  304. }
  305. .form--gridstack.form--optionset .gridstack-preview--sub.form-disabled {
  306. position: relative;
  307. }
  308. .form--gridstack.form--optionset .gridstack-preview--sub.form-disabled::before {
  309. content: '';
  310. cursor: not-allowed;
  311. display: block;
  312. height: 100%;
  313. left: 0;
  314. position: absolute;
  315. top: 0;
  316. width: 100%;
  317. z-index: 99;
  318. }
  319. .form--gridstack.form--optionset .gridstack-preview--sub .btn--main {
  320. left: -100%;
  321. position: absolute;
  322. visibility: hidden;
  323. }
  324. /** Fix for Bootstrap vs. Seven too small font sizes.*/
  325. .form--slick.form--framework {
  326. font-size: 16px;
  327. }
  328. .form--framework .has-tooltip .form-item > .description,
  329. .form--framework .has-tooltip .form-composite > .fieldset-wrapper > .description {
  330. font-size: 13px;
  331. }
  332. .form--slick.form--framework small,
  333. .form--slick.form--framework .form-item,
  334. .form--slick.form--framework .form-item label,
  335. .form--slick.form--framework .form-item label.option,
  336. .form--slick.form--framework .form-item .form-text,
  337. .form--slick.form--framework .form-item .form-select,
  338. .form--slick.form--framework .form-item .form-textarea {
  339. font-size: 14px;
  340. }
  341. .form--slick.form--framework .form__title {
  342. font-size: 22px;
  343. }
  344. .form--gridstack.is-framework .form-item-options-use-framework {
  345. float: none;
  346. width: 100% !important;
  347. }
  348. .form-item-options-use-framework label {
  349. width: auto;
  350. }
  351. .form-item-options-use-framework label span {
  352. text-transform: capitalize;
  353. }
  354. /**
  355. * Nested grids.
  356. */
  357. .gridstack.gridstack--nested {
  358. min-height: 60px;
  359. }
  360. .gridstack.gridstack--nested .btn {
  361. background: #18bc9c;
  362. }
  363. .gridstack.gridstack--nested .btn--remove {
  364. border: 0;
  365. left: 32px;
  366. top: 26px;
  367. }
  368. .is-framework .gridstack > .box > .box__content {
  369. left: 0;
  370. right: 0;
  371. margin: 0 -8px;
  372. position: relative;
  373. }
  374. .is-framework .gridstack--nested > .box > .box__content {
  375. margin: 0 auto;
  376. }
  377. .is-framework .gridstack > .box,
  378. .is-framework .gridstack--nested > .box {
  379. padding: 0 8px;
  380. }
  381. .is-framework .gridstack > .box > .box__content {
  382. box-shadow: 0 0 1px 0 #fff inset;
  383. }
  384. .is-framework .gridstack--nested > .box > .box__content {
  385. box-shadow: none;
  386. }
  387. .form--gridstack.form--optionset .form-item-options-use-framework {
  388. border: 0;
  389. height: 42px;
  390. position: absolute;
  391. top: -48px;
  392. left: 0;
  393. min-height: 42px;
  394. padding: 12px 0 0;
  395. width: 80% !important;
  396. z-index: 6;
  397. }
  398. .form--gridstack.form--optionset .form-wrapper--gridstack-settings > .details-wrapper {
  399. padding: 15px 0;
  400. }
  401. /**
  402. * Vertical tabs.
  403. */
  404. .form--gridstack.form--optionset .form-type-vertical-tabs {
  405. background: none;
  406. border: 0;
  407. padding: 0;
  408. }
  409. .form--gridstack.form--optionset .vertical-tabs {
  410. border: 0;
  411. box-shadow: none;
  412. margin-top: 0;
  413. padding: 0;
  414. }
  415. .form--gridstack.form--optionset .vertical-tabs__panes .form__title,
  416. .form--gridstack.form--optionset .vertical-tabs__panes details.form-wrapper,
  417. .form--gridstack.form--optionset .vertical-tabs__panes .form-actions,
  418. .form--gridstack.form--optionset .vertical-tabs__panes .gridstack-preview {
  419. clear: none;
  420. }
  421. .form--gridstack.form--optionset .vertical-tabs__panes .gridstack-preview {
  422. float: left;
  423. width: 100%;
  424. }
  425. .form--gridstack.form--optionset .vertical-tabs__menu-item {
  426. background: none;
  427. }
  428. .form--gridstack.form--optionset .vertical-tabs__menu {
  429. background: #ccc;
  430. border: 0;
  431. float: none;
  432. margin: 0;
  433. text-align: center;
  434. text-transform: uppercase;
  435. width: 100%;
  436. }
  437. .form--gridstack.form--optionset .vertical-tabs__menu-item,
  438. .form--gridstack.form--optionset .vertical-tabs__menu-item.is-selected {
  439. border: 0;
  440. box-shadow: none;
  441. display: inline-block;
  442. float: none;
  443. margin: 0;
  444. vertical-align: top;
  445. width: auto;
  446. }
  447. .form--gridstack.form--optionset .vertical-tabs__menu-item a {
  448. font-size: 22px;
  449. }
  450. .form--gridstack.form--optionset .vertical-tabs__menu-item a,
  451. .form--gridstack.form--optionset .vertical-tabs__menu-item a:hover,
  452. .form--gridstack.form--optionset .vertical-tabs__menu-item a:focus {
  453. background: none;
  454. border: 0;
  455. outline: 0;
  456. }
  457. .form--gridstack.form--optionset .vertical-tabs__menu-item.is-selected a {
  458. background: #f9f9f9;
  459. }
  460. .form--gridstack.form--optionset .vertical-tabs__panes {
  461. background: #f9f9f9;
  462. border: 0;
  463. margin: 0;
  464. padding: 0;
  465. }
  466. .form--gridstack.form--optionset .vertical-tabs details.vertical-tabs__pane,
  467. .form--gridstack.form--optionset .vertical-tabs__panes .gridstack-wrapper,
  468. .form--gridstack.form--optionset .vertical-tabs__pane > .details-wrapper {
  469. padding: 0;
  470. }
  471. .form--gridstack.form--optionset.is-saving .vertical-tabs__pane {
  472. display: block !important;
  473. }
  474. .form--gridstack .gridstack--root {
  475. transition: width 1s ease-in;
  476. }
  477. .form-wrapper--icon img {
  478. height: auto;
  479. max-width: 100%;
  480. }
  481. /** Prevents non-expandable box with too small size. */
  482. .form--gridstack .gridstack-preview--sub .gridstack--nested .box[data-gs-width="1"],
  483. .form--gridstack .gridstack-preview--sub .gridstack--nested .box[data-gs-width="2"] {
  484. min-width: 60px;
  485. }
  486. .layout-builder--layout .gridstack__box {
  487. min-height: 64px;
  488. }
  489. .layout-builder--layout .gridstack__box .gridstack__box {
  490. outline: 1px dashed #2f91da;
  491. }
  492. .gridstack-list-form [data-drupal-selector="edit-entities-default"] {
  493. display: none;
  494. }
  495. .form--slick .form-disabled.form-item-options-use-framework {
  496. opacity: 1;
  497. }
  498. @media screen and (min-width: 1024px) {
  499. .form-wrapper.form-wrapper--inline {
  500. display: inline-block;
  501. float: none;
  502. margin: 2px 0;
  503. vertical-align: top;
  504. width: 49%;
  505. }
  506. .layout-builder-configure-section .form-wrapper.form-wrapper--inline {
  507. width: 100%;
  508. }
  509. .form--gridstack .gridstack-screenshot {
  510. position: absolute;
  511. right: 0;
  512. top: -80px;
  513. }
  514. .form--gridstack.form--optionset .form-item--width .description {
  515. left: 0;
  516. min-width: 480px;
  517. }
  518. }
  519. @media screen and (min-width: 1280px) {
  520. .form--optionset .form-wrapper--gridstack-grid .form-item,
  521. .toolbar-tray-open .form--optionset .form-wrapper--gridstack-grid .form-item {
  522. width: 20%;
  523. }
  524. .form--optionset .form-wrapper--gridstack-grids .form-item label {
  525. width: 100px;
  526. }
  527. .form--optionset .form-wrapper--gridstack-grids .form-select {
  528. max-width: 100px;
  529. min-height: 28px;
  530. min-width: 100px;
  531. }
  532. .form--gridstack #edit-json .form-item {
  533. width: 100%;
  534. }
  535. }
  536. @media screen and (min-width: 1400px) {
  537. .form--gridstack {
  538. max-width: 1400px;
  539. }
  540. .form-wrapper.form-wrapper--inline {
  541. width: 32%;
  542. }
  543. .layout-builder-configure-section .form-wrapper.form-wrapper--inline {
  544. width: 100%;
  545. }
  546. }