Advertisement
Guest User

Matte bubbles for Messages on OS X

a guest
Dec 26th, 2013
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 13.16 KB | None | 0 0
  1. chatitem {
  2.     width: 100%;
  3.     display: -webkit-box;
  4.     -webkit-box-orient:vertical;
  5. }
  6.  
  7. header {
  8.     padding-top: 8px;
  9. }
  10.  
  11. error-button {
  12.     padding: 0px 11px 6px 0px;
  13.     margin-left: -8px;
  14. }
  15.  
  16. /* receipts and receipt animations */
  17.  
  18. receipt {
  19.     overflow:hidden;
  20.     text-align: right !important;
  21.     display:-webkit-box;
  22.     -webkit-box-orient:vertical;
  23.     padding-right:12px;
  24.     position: absolute;
  25.     right: 0px;
  26.     bottom: 1px;
  27.     opacity:0;
  28. }
  29.  
  30. [receipt-fade="none"] message:nth-last-of-type(1)[emote="no"],
  31. [receipt-fade="swap"] message:nth-last-of-type(1)[emote="no"]{
  32.     padding-bottom:13px;
  33. }
  34.  
  35. [receipt-fade="none"] receipt {
  36.     opacity:1;
  37. }
  38.  
  39. /* fade in */
  40.  
  41. @-webkit-keyframes padding-animation-in {
  42.     from {
  43.         padding-bottom:0px;
  44.     }
  45.     to {
  46.         padding-bottom:13px;
  47.     }
  48. }
  49.  
  50. [receipt-fade="in"] receipt {
  51.     -webkit-animation-name:fade-in;
  52.     -webkit-animation-fill-mode:both;
  53.     -webkit-animation-duration:150ms;
  54.     -webkit-animation-delay:300ms;
  55. }
  56.  
  57. [receipt-fade="in"] message:nth-last-of-type(1)[emote="no"] {
  58.     -webkit-animation:padding-animation-in;
  59.     -webkit-animation-fill-mode:forwards;
  60.     -webkit-animation-duration:150ms;
  61.     -webkit-animation-delay:150ms;
  62.     -webkit-animation-timing-function:steps(14,start);
  63. }
  64.  
  65. /* fade out */
  66.  
  67. @-webkit-keyframes padding-animation-out {
  68.     from {
  69.         padding-bottom:13px;
  70.     }
  71.     to {
  72.         padding-bottom:0px;
  73.     }
  74. }
  75.  
  76. /* delay animation finish to allow the other animations to finish before removing receipt */
  77. @-webkit-keyframes fade-out-delay {
  78.     0% {
  79.         opacity:1;
  80.     }
  81.     50% {
  82.         opacity:0;
  83.     }
  84.     100% {
  85.         opacity:0;
  86.     }
  87. }
  88.  
  89. [receipt-fade="out"] receipt {
  90.     -webkit-animation-name:fade-out-delay;
  91.     -webkit-animation-fill-mode:both;
  92.     -webkit-animation-duration:300ms;
  93. }
  94.  
  95. [receipt-fade="out"] message:nth-last-of-type(1)[emote="no"] {
  96.     -webkit-animation:padding-animation-out;
  97.     -webkit-animation-fill-mode:backwards;
  98.     -webkit-animation-duration:150ms;
  99.     -webkit-animation-delay:150ms;
  100.     -webkit-animation-timing-function:steps(14,start);
  101. }
  102.  
  103. date {
  104. display: inline-block;
  105.     font-family: "Helvetica Neue";
  106.     font-size: 11px;
  107.     color: rgb(139,146,165);
  108.     font-weight: normal !important;
  109.     margin-left:3px;
  110.     margin-right:3px;
  111. }
  112. receipt date {
  113.     margin-right: -1px;
  114. }
  115.  
  116. rollover-date {
  117.     -webkit-box-flex: 1;
  118.     -webkit-transition: opacity 200ms;
  119.     display:block;
  120.     opacity:0;
  121.     padding-bottom:4px;
  122. }
  123. [from-me="yes"] rollover-date {
  124.     text-align:right;
  125. }
  126. messagetext:hover ~ rollover-date  {
  127.     opacity:1;
  128. }
  129.  
  130. message {
  131.     display:-webkit-box;
  132.     -webkit-box-orient: horizontal;
  133.     position: relative;
  134. }
  135. messagetext {
  136.     display:block;
  137.     word-wrap:break-word;
  138.     text-align:left;
  139.     overflow: hidden;
  140.     cursor: auto;
  141.     max-width: 60%;
  142. }
  143.  
  144. messagetext * {
  145.     text-shadow: none !important;
  146. }
  147. messagesubject {
  148.     display:block;
  149. }
  150. messagesubject+messagetext {
  151.     border-top:solid 1px rgba(0,0,0,0.3);
  152. }
  153.  
  154. messagebody {
  155.     display:block;
  156. }
  157.  
  158. buddyicon div,
  159. .buddyicon {
  160.     background-size: 32px 33px;
  161.     width: 32px;
  162.     height: 33px;
  163. }
  164.  
  165. spacer {
  166.     display: none;
  167. }
  168.  
  169. [from-me="yes"] {
  170.     -webkit-box-direction: reverse;
  171.     -webkit-box-align: end;
  172.     -webkit-box-pack: end;
  173.     -webkit-box-orient: horizontal;
  174. }
  175. [from-me="no"] {
  176.     -webkit-box-direction: normal;
  177.     -webkit-box-align: end;
  178.     -webkit-box-pack: start;
  179.     -webkit-box-orient: horizontal;
  180. }
  181. [from-me="yes"][emote="no"] buddyicon,
  182. [from-me="yes"][emote="no"] .buddyicon {
  183.     padding-right:12px;
  184. }
  185. [from-me="no"][emote="no"] buddyicon,
  186. [from-me="no"][emote="no"] .buddyicon {
  187.     padding-left:13px;
  188. }
  189. [emote="no"] buddyname:before {
  190.     font-family: "Helvetica Neue";
  191.     font-size: 11px;
  192.     color: rgb(139, 146, 165);
  193.     /*text-shadow: 0 1px 0 rgba(255,255,255,0.7);*/
  194.     -webkit-user-select: none;
  195.     cursor: default;
  196. }
  197.  
  198. [shownamesandpictures] [emote="no"] buddyicon,
  199. [showpictures] [emote="no"] buddyicon,
  200. [shownamesandpictures] [emote="no"] .buddyicon,
  201. [showpictures] [emote="no"] .buddyicon {
  202.     display: block;
  203.     padding-bottom: 2px;
  204. }
  205. [shownamesandpictures] [emote="no"] buddyname {
  206.     display: inline-block;
  207. }
  208. [shownamesandpictures] [emote="no"] buddyname:before {
  209.     position: absolute;
  210. }
  211. [shownamesandpictures] [emote="no"][from-me="yes"] buddyname {
  212.     display: none;
  213. }
  214. [shownamesandpictures] [from-me="no"][emote="no"] {
  215.     margin-bottom: 16px;
  216. }
  217. [shownamesandpictures] [from-me="no"][emote="no"] buddyname {
  218.     margin-left: -32px;
  219. }
  220.  
  221. [showpictures] [emote="no"] buddyicon,
  222. [showpictures] [emote="no"] .buddyicon {
  223.     display: block;
  224. }
  225. [showpictures] [emote="no"] buddyname {
  226.     display: none;
  227. }
  228. [shownamesandpictures] [emote="no"][from-me="yes"] buddyname {
  229.     display: none;
  230. }
  231.  
  232. [shownames] [emote="no"] buddyicon,
  233. [shownames] [emote="no"] .buddyicon {
  234.     display: none;
  235. }
  236. [shownames] [emote="no"] buddyname {
  237.     display: inline-block;
  238. }
  239. [shownames] [from-me="no"][emote="no"] buddyname {
  240.     padding: 0px 0px 2px 12px;
  241. }
  242. [shownames] [from-me="yes"][emote="no"] buddyname {
  243.     padding: 0px 12px 2px 0px;
  244. }
  245.  
  246. [from-me="yes"][emote="no"] messagetext {
  247.     -webkit-border-fit:lines;
  248.     margin: 5px 5px 3px 5px;
  249.     padding: 10px 15px;
  250.     border-radius: 15px 15px 0 15px;
  251. }
  252.  
  253. [from-me="no"][emote="no"] messagetext {
  254.     -webkit-border-fit:lines;
  255.     margin: 5px 5px 3px 5px;
  256.     padding: 10px 15px;
  257.     border-radius: 15px 15px 15px 0;
  258. }
  259.  
  260. [local-balloon-color="automatic"] [service="imessage"][from-me="yes"][emote="no"] span::selection,
  261. [local-balloon-color="9158907"] [from-me="yes"][emote="no"] span::selection, [remote-balloon-color="9158907"] [from-me="no"][emote="no"] span::selection,
  262. [remote-balloon-color="automatic"] [from-me="no"][emote="no"][balloon-color="9158907"] span::selection,
  263. [remote-balloon-color="random"] [from-me="no"][emote="no"][random-balloon-color="9158907"] span::selection {
  264.     background: #d1d1d1; /* silver selection color */
  265. }
  266.  
  267.  
  268. @media screen {
  269.     /* TODO: when we get CSS variables, we can replace the following rules with just one! */
  270.     /* 101 */
  271.     [local-balloon-color="9158907"] [from-me="yes"] messagetext, [local-balloon-color="automatic"] [from-me="yes"] messagetext {
  272.        background-color: rgb(15,135,235);
  273.     }
  274.     /* 102 */
  275.     [local-balloon-color="14530047"] [from-me="yes"][typing-indicator="no"] messagetext {
  276.       background-color: rgb(222,183,255);
  277.     }
  278.     /* 103 */
  279.     [local-balloon-color="16752340"] [from-me="yes"][typing-indicator="no"] messagetext {
  280.         background-color: rgb(255,161,213);    
  281.     }
  282.     /* 104 */
  283.     [local-balloon-color="16429620"] [from-me="yes"][typing-indicator="no"] messagetext {
  284.         background-color: rgb(250,180,58);    
  285.     }
  286.     /* 105 */
  287.     [local-balloon-color="16770620"] [from-me="yes"][typing-indicator="no"] messagetext {
  288.         background-color: rgb(255,231,66);    
  289.     }
  290.     /* 106 */
  291.     [local-balloon-color="8573511"] [from-me="yes"][typing-indicator="no"] messagetext,
  292.     [local-balloon-color="automatic"] [from-me="yes"][service="legacy"][typing-indicator="no"] messagetext {
  293.         background-color: rgb(132,198,83);    
  294.     }
  295.     /* 107 */
  296.     [local-balloon-color="12240850"] [from-me="yes"][typing-indicator="no"] messagetext {
  297.         background-color: rgb(171,181,188);    
  298.     }
  299.     /* 108 */
  300.     [local-balloon-color="15329769"] [from-me="yes"][typing-indicator="no"] messagetext {
  301.         background-color: rgb(250,250,250);    
  302.     }
  303.     /* 101 */
  304.     [remote-balloon-color="random"] [random-balloon-color="9158907"][from-me="no"][typing-indicator="no"] messagetext,
  305. [remote-balloon-color="automatic"] [balloon-color="9158907"][from-me="no"][typing-indicator="no"] messagetext,
  306. [remote-balloon-color="9158907"] [from-me="no"][typing-indicator="no"] messagetext {
  307.        background-color: rgb(15,135,235);
  308.     }
  309.     /* 102 */
  310.     [remote-balloon-color="random"] [random-balloon-color="14530047"][from-me="no"][typing-indicator="no"] messagetext,
  311. [remote-balloon-color="automatic"] [balloon-color="14530047"][from-me="no"][typing-indicator="no"] messagetext,
  312. [remote-balloon-color="14530047"] [from-me="no"][typing-indicator="no"] messagetext {
  313.       background-color: rgb(222,183,255);
  314.     }
  315.     /* 103 */
  316.     [remote-balloon-color="random"] [random-balloon-color="16752340"][from-me="no"][typing-indicator="no"] messagetext,
  317. [remote-balloon-color="automatic"] [balloon-color="16752340"][from-me="no"][typing-indicator="no"] messagetext,
  318. [remote-balloon-color="16752340"] [from-me="no"][typing-indicator="no"] messagetext {
  319.         background-color: rgb(255,161,213);    
  320.     }
  321.     /* 104 */
  322.     [remote-balloon-color="random"] [random-balloon-color="16429620"][from-me="no"][typing-indicator="no"] messagetext,
  323. [remote-balloon-color="automatic"] [balloon-color="16429620"][from-me="no"][typing-indicator="no"] messagetext,
  324. [remote-balloon-color="16429620"] [from-me="no"][typing-indicator="no"] messagetext {
  325.         background-color: rgb(250,180,58);    
  326.     }
  327.     /* 105 */
  328.     [remote-balloon-color="random"] [random-balloon-color="16770620"][from-me="no"][typing-indicator="no"] messagetext,
  329. [remote-balloon-color="automatic"] [balloon-color="16770620"][from-me="no"][typing-indicator="no"] messagetext,
  330. [remote-balloon-color="16770620"] [from-me="no"][typing-indicator="no"] messagetext {
  331.         background-color: rgb(255,231,66);    
  332.     }
  333.     /* 106 */
  334.     [remote-balloon-color="random"] [random-balloon-color="8573511"][from-me="no"][typing-indicator="no"] messagetext,
  335. [remote-balloon-color="automatic"] [balloon-color="8573511"][from-me="no"][typing-indicator="no"] messagetext,
  336. [remote-balloon-color="8573511"] [from-me="no"][typing-indicator="no"] messagetext {
  337.         background-color: rgb(132,198,83);    
  338.     }
  339.     /* 107 */
  340.     [remote-balloon-color="random"] [random-balloon-color="12240850"][from-me="no"][typing-indicator="no"] messagetext,
  341. [remote-balloon-color="automatic"] [balloon-color="12240850"][from-me="no"][typing-indicator="no"] messagetext,
  342. [remote-balloon-color="12240850"] [from-me="no"][typing-indicator="no"] messagetext {
  343.         background-color: rgb(171,181,188);    
  344.     }
  345.     /* 108 */
  346.     [remote-balloon-color="random"] [random-balloon-color="15329769"][from-me="no"][typing-indicator="no"] messagetext,
  347. [remote-balloon-color="automatic"] [balloon-color="15329769"][from-me="no"][typing-indicator="no"] messagetext,
  348. [remote-balloon-color="15329769"] [from-me="no"][typing-indicator="no"] messagetext {
  349.         background-color: rgb(250,250,250);    
  350.     }
  351.    
  352.     [from-me="yes"][emote="no"][typing-indicator="no"].selected-message messagetext {
  353.     }
  354.     [from-me="no"][emote="no"][typing-indicator="no"].selected-message messagetext {
  355.     }
  356.     [local-use-alternate-selection] [from-me="yes"][emote="no"][typing-indicator="no"].selected-message messagetext,
  357. [local-use-alternate-selection] [from-me="yes"][emote="no"].selected-message messagetext {
  358.     }
  359.     [remote-use-alternate-selection] [from-me="no"][emote="no"][typing-indicator="no"].selected-message messagetext,
  360. [remote-balloon-color="automatic"] [from-me="no"][emote="no"][typing-indicator="no"][use-alternate-selection].selected-message messagetext {
  361.     }
  362.  
  363.     [typing-indicator="yes"] messagetext {
  364.         content:url(transcript-resource://left-thought-2x);
  365.     }
  366.    
  367.     [from-me="yes"] .overlay {
  368.         -webkit-mask-box-image:url(transcript-resource://coreui/ImageBubbleGloss-2x) 43.478261% 51.282051% 52.173913% 30.769231%;
  369.     }
  370.     [from-me="no"] .overlay {
  371.         -webkit-mask-box-image:url(transcript-resource://coreui/mirror/ImageBubbleGloss-2x) 43.478261% 30.769231% 52.173913% 51.282051%;
  372.     }
  373.     [from-me="yes"] .inline-image {
  374.         margin: -10px -15px !important;
  375.     }
  376.     [from-me="no"] .inline-image {
  377.         margin: -10px -15px !important;
  378.     }
  379. }
  380.  
  381.  
  382. @media print {
  383.     [from-me="yes"] .inline-image {
  384.         margin:0px;
  385.         -webkit-mask-box-image:none;
  386.     }
  387.     [from-me="yes"] .overlay {
  388.         -webkit-mask-box-image:none;
  389.         border-width: 0px;
  390.     }
  391.     [from-me="no"] .inline-image {
  392.         margin:0px;
  393.         -webkit-mask-box-image:none;
  394.     }
  395.     [from-me="no"] .overlay {
  396.         -webkit-mask-box-image:none;
  397.         border-width: 0px;
  398.     }
  399.     .inline-image {
  400.         top: 0px;
  401.     }
  402. }
  403.  
  404.  
  405. .selected-message .overlay {
  406.    background-image: -webkit-gradient(linear, left bottom,left top, color-stop(0, rgba(0,32,194,0.5)),color-stop(1, rgba(103,126,207,0.5))) !important;
  407.    background-origin: border-box;
  408.    background-size: auto;
  409. }
  410.  
  411. .transfer {
  412.     padding-bottom: 2px;
  413. }
  414.  
  415. [remote-use-alternate-selection] [from-me="no"].selected-message .overlay,
  416. [local-use-alternate-selection] [from-me="yes"].selected-message .overlay,
  417. [remote-balloon-color="automatic"] [use-alternate-selection].selected-message .overlay {
  418.    background-image: -webkit-gradient(linear, left bottom,left top, color-stop(0, rgba(231,231,231,0.5)),color-stop(1, rgba(246,246,246,0.5))) !important;
  419. }
  420.  
  421. [typing-indicator="yes"] messagetext {
  422.     width: 46px;
  423.     height: 22px;
  424.     content:url(transcript-resource://left-thought);
  425.     -webkit-user-select:none;
  426.     padding: 0px 0px 4px 0px;
  427.     border: 0px 0px 0px 0px !important;
  428.     margin: 5px 0px 3px 4px;
  429. }
  430.  
  431. .boxes,
  432. .compact {
  433.     display: none !important;
  434. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement