list.css 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680
  1. .list {
  2. box-sizing: border-box;
  3. display: flex;
  4. flex-direction: column;
  5. position: relative;
  6. background: #dedede;
  7. border-left: 1px solid #ccc;
  8. padding: 0;
  9. float: left;
  10. }
  11. [id^="swimlane-"] .list:first-child {
  12. min-width: 2.5vw;
  13. }
  14. .list.list-auto-width {
  15. flex: 1;
  16. }
  17. .list:first-child {
  18. border-left: none;
  19. flex: none;
  20. }
  21. .card-details + .list {
  22. border-left: none;
  23. }
  24. .list.ui-sortable-helper {
  25. box-shadow: -2px 2px 8px rgba(0,0,0,0.3), 0 0 1px rgba(0,0,0,0.5);
  26. transform: rotate(4deg);
  27. cursor: grabbing;
  28. }
  29. .list.ui-sortable-helper .list-header.ui-sortable-handle {
  30. cursor: grabbing;
  31. }
  32. .list.placeholder {
  33. background-color: rgba(0,0,0,0.2);
  34. border-color: transparent;
  35. box-shadow: none;
  36. height: 15vh;
  37. }
  38. .list.list-collapsed {
  39. flex: none;
  40. }
  41. .list.list-composer .open-list-composer,
  42. .list .list-composer .open-list-composer {
  43. color: #8c8c8c;
  44. }
  45. .list.list-composer .list-name-input,
  46. .list .list-composer .list-name-input {
  47. background: #fff;
  48. margin: -0.4vh 0 1vh;
  49. }
  50. .list-header-add {
  51. flex: 0 0 auto;
  52. padding: 1.5vh 1.5vw;
  53. position: relative;
  54. min-height: 2.5vh;
  55. }
  56. .list-header {
  57. flex: 0 0 auto;
  58. padding: 2.5vh 1.5vw 0.5vh;
  59. position: relative;
  60. min-height: 2.5vh;
  61. background-color: #e4e4e4;
  62. border-bottom: 0.8vh solid #e4e4e4;
  63. }
  64. .list-header.list-header-card-count {
  65. min-height: 4.5vh;
  66. height: auto;
  67. }
  68. .list-header.ui-sortable-handle {
  69. cursor: grab;
  70. }
  71. .list-header .list-header-left-icon {
  72. display: none;
  73. }
  74. .list-header .list-header-name {
  75. display: inline;
  76. font-size: clamp(14px, 3vw, 18px);
  77. line-height: 1.2;
  78. margin: 0;
  79. font-weight: bold;
  80. min-height: 1.2vh;
  81. min-width: 4vw;
  82. overflow: hidden;
  83. text-overflow: ellipsis;
  84. word-wrap: break-word;
  85. }
  86. .list-rotated {
  87. width: 1.3vw;
  88. height: 35vh;
  89. margin-top: -12vh;
  90. margin-left: -14vw;
  91. margin-right: 0;
  92. transform: rotate(90deg);
  93. position: relative;
  94. text-overflow: ellipsis;
  95. white-space: nowrap;
  96. }
  97. .list-header .list-rotated {
  98. }
  99. .list-header .list-header-watch-icon {
  100. padding-left: 10px;
  101. color: #a6a6a6;
  102. }
  103. .list-header .list-header-menu {
  104. float: right;
  105. }
  106. @media print {
  107. .list-header .list-header-menu,
  108. .list-header .list-header-menu-icon {
  109. display: none;
  110. }
  111. }
  112. .list-header .list-header-plus-top {
  113. color: #a6a6a6;
  114. margin-right: 15px;
  115. }
  116. .list-header .list-header-collapse-right {
  117. color: #a6a6a6;
  118. }
  119. .list-header .list-header-collapse-left {
  120. color: #a6a6a6;
  121. margin-right: 15px;
  122. }
  123. .list-header .list-header-uncollapse-left {
  124. color: #a6a6a6;
  125. }
  126. .list-header .list-header-uncollapse-right {
  127. color: #a6a6a6;
  128. }
  129. .list-header .list-header-collapse {
  130. color: #a6a6a6;
  131. margin-right: 15px;
  132. }
  133. .list-header .highlight {
  134. color: #ce1414;
  135. }
  136. .list-header .cardCount {
  137. color: #8c8c8c;
  138. font-size: 12px;
  139. font-weight: bold;
  140. }
  141. .list-header .list-header-plus-top,
  142. .js-open-list-menu,
  143. .list-header-menu a {
  144. color: #4d4d4d;
  145. padding-left: 4px;
  146. }
  147. .js-open-list-menu {
  148. font-size: 18px;
  149. }
  150. .list-body {
  151. flex: 1 1 auto;
  152. flex-direction: column;
  153. display: flex;
  154. overflow-y: auto;
  155. padding: 5px 11px;
  156. }
  157. .list-body .minicards {
  158. flex-grow: 1;
  159. flex-shrink: 0;
  160. /** get card drag/drop working for empty swimlanes */
  161. min-height: 32px;
  162. }
  163. .list-body .minicards form {
  164. margin-bottom: 9px;
  165. }
  166. .list-body .minicards .add-controls button {
  167. min-height: 50px;
  168. }
  169. .list-body .open-minicard-composer {
  170. border-radius: 2px;
  171. color: #8c8c8c;
  172. display: block;
  173. padding: 7px 10px;
  174. position: relative;
  175. text-decoration: none;
  176. animation: fadeIn 0.3s;
  177. }
  178. @media print {
  179. .list-body .open-minicard-composer {
  180. display: none;
  181. }
  182. }
  183. .list-body .open-minicard-composer i.fa {
  184. margin-right: 7px;
  185. }
  186. .list-body .open-minicard-composer:hover {
  187. background: #fafafa;
  188. color: #222;
  189. box-shadow: 0 1px 2px rgba(0,0,0,0.2);
  190. }
  191. #js-wip-limit-edit {
  192. padding-top: 2%;
  193. }
  194. #js-wip-limit-edit p {
  195. margin-bottom: 0;
  196. }
  197. #js-wip-limit-edit input {
  198. display: inline-block;
  199. }
  200. #js-wip-limit-edit .wip-limit-value {
  201. width: 20%;
  202. margin-right: 5%;
  203. }
  204. #js-wip-limit-edit .wip-limit-error {
  205. display: none;
  206. }
  207. #js-wip-limit-edit .soft-wip-limit {
  208. margin-right: 8px;
  209. }
  210. #js-wip-limit-edit div {
  211. float: left;
  212. }
  213. #js-list-width-edit .list-width-error {
  214. display: none;
  215. }
  216. /* Mobile view styles - applied when isMiniScreen is true (iPhone, etc.) */
  217. .mini-list.mobile-view {
  218. flex: 0 0 60px;
  219. height: auto;
  220. width: 100%;
  221. min-width: 100%;
  222. border-left: 0px;
  223. border-bottom: 1px solid #ccc;
  224. }
  225. .list.mobile-view {
  226. display: contents;
  227. flex-basis: auto;
  228. width: 100%;
  229. min-width: 100%;
  230. border-left: 0px;
  231. }
  232. .list.mobile-view:first-child {
  233. margin-left: 0px;
  234. }
  235. .list.mobile-view.ui-sortable-helper {
  236. flex: 0 0 60px;
  237. height: 60px;
  238. width: 100%;
  239. border-left: 0px;
  240. border-bottom: 1px solid #ccc;
  241. }
  242. .list.mobile-view.ui-sortable-helper .list-header.ui-sortable-handle {
  243. cursor: grabbing;
  244. }
  245. .list.mobile-view.placeholder {
  246. flex: 0 0 60px;
  247. height: 60px;
  248. width: 100%;
  249. border-left: 0px;
  250. border-bottom: 1px solid #ccc;
  251. }
  252. .list.mobile-view .list-body {
  253. padding: 15px 19px;
  254. width: 100%;
  255. min-width: 100%;
  256. }
  257. .list.mobile-view .list-header {
  258. /*Updated padding values for mobile devices, this should fix text grouping issue*/
  259. padding: 20px 0px 20px 0px;
  260. border-bottom: 0px solid #e4e4e4;
  261. min-height: 30px;
  262. margin-top: 10px;
  263. align-items: center;
  264. width: 100%;
  265. min-width: 100%;
  266. /* Force grid layout for iPhone */
  267. display: grid !important;
  268. grid-template-columns: 30px 1fr auto auto !important;
  269. gap: 10px !important;
  270. }
  271. .list.mobile-view .list-header .list-header-left-icon {
  272. padding: 7px;
  273. padding-right: 27px;
  274. margin-top: 1px;
  275. top: -7px;
  276. left: -7px;
  277. }
  278. .list.mobile-view .list-header .list-header-menu-icon {
  279. padding: 14px;
  280. font-size: 40px !important;
  281. text-align: center;
  282. /* Force positioning for iPhone */
  283. position: absolute !important;
  284. right: 60px !important;
  285. top: 50% !important;
  286. transform: translateY(-50%) !important;
  287. z-index: 10;
  288. }
  289. .list.mobile-view .list-header .list-header-handle {
  290. padding: 14px;
  291. font-size: 48px !important;
  292. text-align: center;
  293. /* Force positioning for iPhone */
  294. position: absolute !important;
  295. right: 10px !important;
  296. top: 50% !important;
  297. transform: translateY(-50%) !important;
  298. z-index: 10;
  299. }
  300. .list.mobile-view .list-header .list-header-left-icon {
  301. display: grid;
  302. grid-row: 1/3;
  303. grid-column: 1;
  304. }
  305. .list.mobile-view .list-header .list-header-name {
  306. grid-row: 1;
  307. grid-column: 2;
  308. align-self: end;
  309. font-size: 20px !important;
  310. font-weight: bold;
  311. line-height: 1.2;
  312. padding-bottom: 2px;
  313. }
  314. .list.mobile-view .list-header .cardCount {
  315. grid-row: 2;
  316. grid-column: 2;
  317. align-self: start;
  318. font-size: 16px !important;
  319. line-height: 1.2;
  320. }
  321. .list.mobile-view .list-header .list-header-menu {
  322. grid-row: 1/3;
  323. grid-column: 3;
  324. }
  325. .list.mobile-view .list-header .list-header-menu-icon {
  326. grid-row: 1/3;
  327. grid-column: 3;
  328. }
  329. .list.mobile-view .list-header .list-header-handle {
  330. grid-row: 1/3;
  331. grid-column: 4;
  332. }
  333. .list.mobile-view .list-header .inlined-form {
  334. grid-row: 1/3;
  335. grid-column: 1/4;
  336. }
  337. .list.mobile-view .list-header .edit-controls {
  338. align-items: initial;
  339. }
  340. @media screen and (max-width: 800px) {
  341. .mini-list {
  342. flex: 0 0 60px;
  343. height: auto;
  344. width: 100%;
  345. min-width: 100%;
  346. border-left: 0px;
  347. border-bottom: 1px solid #ccc;
  348. }
  349. .list {
  350. display: contents;
  351. flex-basis: auto;
  352. width: 100%;
  353. min-width: 100%;
  354. border-left: 0px;
  355. }
  356. .list:first-child {
  357. margin-left: 0px;
  358. }
  359. .list.ui-sortable-helper {
  360. flex: 0 0 60px;
  361. height: 60px;
  362. width: 100%;
  363. border-left: 0px;
  364. border-bottom: 1px solid #ccc;
  365. }
  366. .list.ui-sortable-helper .list-header.ui-sortable-handle {
  367. cursor: grabbing;
  368. }
  369. .list.placeholder {
  370. flex: 0 0 60px;
  371. height: 60px;
  372. width: 100%;
  373. border-left: 0px;
  374. border-bottom: 1px solid #ccc;
  375. }
  376. .list-body {
  377. padding: 15px 19px;
  378. width: 100%;
  379. min-width: 100%;
  380. }
  381. .list-header {
  382. /*Updated padding values for mobile devices, this should fix text grouping issue*/
  383. padding: 20px 0px 20px 0px;
  384. border-bottom: 0px solid #e4e4e4;
  385. min-height: 30px;
  386. margin-top: 10px;
  387. align-items: center;
  388. width: 100%;
  389. min-width: 100%;
  390. }
  391. .list-header .list-header-left-icon {
  392. padding: 7px;
  393. padding-right: 27px;
  394. margin-top: 1px;
  395. top: -7px;
  396. left: -7px;
  397. }
  398. .list-header .list-header-menu-icon {
  399. padding: 14px;
  400. font-size: 40px;
  401. text-align: center;
  402. /* iOS Safari fallback positioning */
  403. position: absolute;
  404. right: 60px;
  405. top: 50%;
  406. transform: translateY(-50%);
  407. }
  408. .list-header .list-header-handle {
  409. padding: 14px;
  410. font-size: 48px;
  411. text-align: center;
  412. /* iOS Safari fallback positioning */
  413. position: absolute;
  414. right: 10px;
  415. top: 50%;
  416. transform: translateY(-50%);
  417. }
  418. .list-header {
  419. display: grid;
  420. grid-template-columns: 30px 1fr auto auto;
  421. gap: 10px;
  422. }
  423. .list-header .list-header-left-icon {
  424. display: grid;
  425. grid-row: 1/3;
  426. grid-column: 1;
  427. }
  428. .list-header .list-header-name {
  429. grid-row: 1;
  430. grid-column: 2;
  431. align-self: end;
  432. font-size: 20px;
  433. font-weight: bold;
  434. line-height: 1.2;
  435. padding-bottom: 2px;
  436. }
  437. .list-header .cardCount {
  438. grid-row: 2;
  439. grid-column: 2;
  440. align-self: start;
  441. font-size: 16px;
  442. line-height: 1.2;
  443. }
  444. .list-header .list-header-menu {
  445. grid-row: 1/3;
  446. grid-column: 3;
  447. }
  448. .list-header .list-header-menu-icon {
  449. grid-row: 1/3;
  450. grid-column: 3;
  451. }
  452. .list-header .list-header-handle {
  453. grid-row: 1/3;
  454. grid-column: 4;
  455. }
  456. .list-header .inlined-form {
  457. grid-row: 1/3;
  458. grid-column: 1/4;
  459. }
  460. .list-header .edit-controls {
  461. align-items: initial;
  462. }
  463. }
  464. /* iPhone 12 Mini specific - fix icon positioning in stacked lists view */
  465. @media screen and (device-width: 375px) and (device-height: 812px), /* iPhone 12 Mini exact */
  466. screen and (max-width: 375px) and (max-height: 812px), /* iPhone 12 Mini viewport */
  467. screen and (-webkit-min-device-pixel-ratio: 3) and (max-width: 375px) /* iPhone 12 Mini Retina */ {
  468. .list.mobile-view .list-header {
  469. /* Force grid layout for iPhone 12 Mini */
  470. display: grid !important;
  471. grid-template-columns: 30px 1fr auto auto !important;
  472. gap: 10px !important;
  473. align-items: center !important;
  474. }
  475. .list.mobile-view .list-header .list-header-menu-icon {
  476. /* Remove absolute positioning for iPhone 12 Mini */
  477. position: static !important;
  478. right: auto !important;
  479. top: auto !important;
  480. transform: none !important;
  481. /* Use grid positioning */
  482. grid-row: 1/3 !important;
  483. grid-column: 3 !important;
  484. padding: 14px !important;
  485. font-size: 40px !important;
  486. text-align: center !important;
  487. }
  488. .list.mobile-view .list-header .list-header-handle {
  489. /* Remove absolute positioning for iPhone 12 Mini */
  490. position: static !important;
  491. right: auto !important;
  492. top: auto !important;
  493. transform: none !important;
  494. /* Use grid positioning */
  495. grid-row: 1/3 !important;
  496. grid-column: 4 !important;
  497. padding: 14px !important;
  498. font-size: 48px !important;
  499. text-align: center !important;
  500. }
  501. .list.mobile-view .list-header .list-header-name {
  502. grid-row: 1 !important;
  503. grid-column: 2 !important;
  504. align-self: end !important;
  505. font-size: 20px !important;
  506. font-weight: bold !important;
  507. line-height: 1.2 !important;
  508. padding-bottom: 2px !important;
  509. }
  510. .list.mobile-view .list-header .cardCount {
  511. grid-row: 2 !important;
  512. grid-column: 2 !important;
  513. align-self: start !important;
  514. font-size: 16px !important;
  515. line-height: 1.2 !important;
  516. }
  517. .list.mobile-view .list-header .list-header-left-icon {
  518. display: grid !important;
  519. grid-row: 1/3 !important;
  520. grid-column: 1 !important;
  521. }
  522. }
  523. /* iPhone device JavaScript detection fallback - fix icon positioning */
  524. .iphone-device .list.mobile-view .list-header {
  525. /* Force grid layout for iPhone devices */
  526. display: grid !important;
  527. grid-template-columns: 30px 1fr auto auto !important;
  528. gap: 10px !important;
  529. align-items: center !important;
  530. }
  531. .iphone-device .list.mobile-view .list-header .list-header-menu-icon {
  532. /* Remove absolute positioning for iPhone devices */
  533. position: static !important;
  534. right: auto !important;
  535. top: auto !important;
  536. transform: none !important;
  537. /* Use grid positioning */
  538. grid-row: 1/3 !important;
  539. grid-column: 3 !important;
  540. padding: 14px !important;
  541. font-size: 40px !important;
  542. text-align: center !important;
  543. }
  544. .iphone-device .list.mobile-view .list-header .list-header-handle {
  545. /* Remove absolute positioning for iPhone devices */
  546. position: static !important;
  547. right: auto !important;
  548. top: auto !important;
  549. transform: none !important;
  550. /* Use grid positioning */
  551. grid-row: 1/3 !important;
  552. grid-column: 4 !important;
  553. padding: 14px !important;
  554. font-size: 48px !important;
  555. text-align: center !important;
  556. }
  557. .iphone-device .list.mobile-view .list-header .list-header-name {
  558. grid-row: 1 !important;
  559. grid-column: 2 !important;
  560. align-self: end !important;
  561. font-size: 20px !important;
  562. font-weight: bold !important;
  563. line-height: 1.2 !important;
  564. padding-bottom: 2px !important;
  565. }
  566. .iphone-device .list.mobile-view .list-header .cardCount {
  567. grid-row: 2 !important;
  568. grid-column: 2 !important;
  569. align-self: start !important;
  570. font-size: 16px !important;
  571. line-height: 1.2 !important;
  572. }
  573. .iphone-device .list.mobile-view .list-header .list-header-left-icon {
  574. display: grid !important;
  575. grid-row: 1/3 !important;
  576. grid-column: 1 !important;
  577. }
  578. .link-board-wrapper {
  579. display: flex;
  580. align-items: baseline;
  581. }
  582. .link-board-wrapper .js-link-board {
  583. margin-left: 15px;
  584. }
  585. .search-card-results {
  586. max-height: 250px;
  587. overflow: hidden;
  588. }
  589. .sk-spinner-list {
  590. margin-top: unset !important;
  591. }
  592. .list-header-white {
  593. border-bottom: 6px solid #fff;
  594. }
  595. .list-header-green {
  596. border-bottom: 6px solid #3cb500;
  597. }
  598. .list-header-yellow {
  599. border-bottom: 6px solid #fad900;
  600. }
  601. .list-header-orange {
  602. border-bottom: 6px solid #ff9f19;
  603. }
  604. .list-header-red {
  605. border-bottom: 6px solid #eb4646;
  606. }
  607. .list-header-purple {
  608. border-bottom: 6px solid #a632db;
  609. }
  610. .list-header-blue {
  611. border-bottom: 6px solid #0079bf;
  612. }
  613. .list-header-pink {
  614. border-bottom: 6px solid #ff78cb;
  615. }
  616. .list-header-sky {
  617. border-bottom: 6px solid #00c2e0;
  618. }
  619. .list-header-black {
  620. border-bottom: 6px solid #4d4d4d;
  621. }
  622. .list-header-lime {
  623. border-bottom: 6px solid #51e898;
  624. }
  625. .list-header-silver {
  626. border-bottom: 6px solid #e4e4e4;
  627. }
  628. .list-header-peachpuff {
  629. border-bottom: 6px solid #ffdab9;
  630. }
  631. .list-header-crimson {
  632. border-bottom: 6px solid #dc143c;
  633. }
  634. .list-header-plum {
  635. border-bottom: 6px solid #dda0dd;
  636. }
  637. .list-header-darkgreen {
  638. border-bottom: 6px solid #006400;
  639. }
  640. .list-header-slateblue {
  641. border-bottom: 6px solid #6a5acd;
  642. }
  643. .list-header-magenta {
  644. border-bottom: 6px solid #f0f;
  645. }
  646. .list-header-gold {
  647. border-bottom: 6px solid #ffd700;
  648. }
  649. .list-header-navy {
  650. border-bottom: 6px solid #000080;
  651. }
  652. .list-header-gray {
  653. border-bottom: 6px solid #808080;
  654. }
  655. .list-header-saddlebrown {
  656. border-bottom: 6px solid #8b4513;
  657. }
  658. .list-header-paleturquoise {
  659. border-bottom: 6px solid #afeeee;
  660. }
  661. .list-header-mistyrose {
  662. border-bottom: 6px solid #ffe4e1;
  663. }
  664. .list-header-indigo {
  665. border-bottom: 6px solid #4b0082;
  666. }